diff --git a/.gitignore b/.gitignore index 5e43b6d9ba83..9dc5ec3c2314 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ /config/* !/config/formats.ts -/logs/* +/logs/**/* /test/modlogs /test/replays/*.html /node_modules diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index fbca55dcdc13..c90dc3ec2b2e 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -3,12 +3,11 @@ Pokemon Showdown architecture At the highest level, PS is split into three parts: -- Client -- Login server -- Game server - -The game server is in this repository, **[smogon/pokemon-showdown](https://github.com/smogon/pokemon-showdown)**, while the client and login server are in **[smogon/pokemon-showdown-client](https://github.com/smogon/pokemon-showdown-client)**. All three communicate directly with each other. +- Game server (**[smogon/pokemon-showdown](https://github.com/smogon/pokemon-showdown)**) +- Client (**[smogon/pokemon-showdown-client](https://github.com/smogon/pokemon-showdown-client)**) +- Login server (**[smogon/pokemon-showdown-loginserver](https://github.com/smogon/pokemon-showdown-loginserver)**) +All three communicate directly with each other. Game server ----------- @@ -25,22 +24,20 @@ Its entry point is [server/index.ts](./server/index.ts), which launches several - [server/chat.ts](./server/chat.ts) sets up `Chat`, which handles chat commands and messages coming in from users (all client-to-server commands are routed through there) -`Rooms` also includes support for battle rooms, which is where the game simulation itself is done. Game simulation code is in [sim/](./sim/). - +`Rooms` also includes support for battle rooms, which is where the server connects to the game simulator itself. Game simulation code is in [sim/](./sim/). Client ------ The client is built in a mix of TypeScript and JavaScript, with a mostly hand-rolled framework built on Backbone. There’s a rewrite to migrate it to Preact but it’s very stalled. -Its entry point is [index.template.html](https://github.com/smogon/pokemon-showdown-client/blob/master/index.template.html). - -It was written long ago, so instead of a single JS entry point, it includes a lot of JS files. Everything important is launched from [js/client.js](https://github.com/smogon/pokemon-showdown-client/blob/master/js/client.js). +Its entry point is [index.template.html](https://github.com/smogon/pokemon-showdown-client/blob/master/play.pokemonshowdown.com/index.template.html) +It was written long ago, so instead of a single JS entry point, it includes a lot of JS files. Everything important is launched from [js/client.js](https://github.com/smogon/pokemon-showdown-client/blob/master/play.pokemonshowdown.com/js/client.js) Login server ------------ -The client’s login server, which handles logins and most database interaction, is written in PHP, with a rewrite to TypeScript in progress. The backend is split between a MySQL InnoDB database and a Percona database, with a migration to Postgres planned. +The client’s login server, which handles logins and most database interaction, is written in TypeScript in progress. The backend is split between a MySQL InnoDB database (for most things) and a Postgres database (for Replays). -Its entry point is [action.php](https://github.com/smogon/pokemon-showdown-client/blob/master/action.php). +Its entry point is [server.ts](https://github.com/smogon/pokemon-showdown-loginserver/blob/master/src/server.ts). diff --git a/CODEOWNERS b/CODEOWNERS index 64e398195f35..a309c8f878fd 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,6 +1,6 @@ config/formats.ts @KrisXV @Marty-D data/mods/*/random-teams.ts @AnnikaCodes -data/mods/ssb/ @HoeenCoder @KrisXV +data/mods/gen9ssb/ @HoeenCoder @HisuianZoroark @KrisXV data/random-sets.json @MathyFurret @ACakeWearingAHat @livid-washed @adrivrie data/random-teams.ts @AnnikaCodes @KrisXV @MathyFurret @ACakeWearingAHat @livid-washed @adrivrie data/text/ @Marty-D @@ -24,7 +24,6 @@ server/chat-plugins/sample-teams.ts @KrisXV server/chat-plugins/scavenger*.ts @xfix @sparkychildcharlie @PartMan7 sever/chat-plugins/teams.ts @mia-pi-git server/chat-plugins/the-studio.ts @KrisXV -server/chat-plugins/trivia/ @AnnikaCodes server/friends.ts @mia-pi-git server/private-messages/* @mia-pi-git server/chat-plugins/username-prefixes.ts @AnnikaCodes diff --git a/COMMANDLINE.md b/COMMANDLINE.md index 58114e1410b8..ef9dcbe89dac 100644 --- a/COMMANDLINE.md +++ b/COMMANDLINE.md @@ -47,7 +47,7 @@ Note: Commands that ask for a team want the team in [packed team format](./sim/T - Simulates a battle, taking input to stdin and writing output to stdout Using Pokémon Showdown as a command-line simulator is documented at: - [sim/README.md](./README.md) + [sim/README.md](./sim/README.md) `./pokemon-showdown json-team` diff --git a/LICENSE b/LICENSE index 251ec2a03ddb..f1bc80d3702a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2011-2022 Guangcong Luo and other contributors http://pokemonshowdown.com/ +Copyright (c) 2011-2024 Guangcong Luo and other contributors http://pokemonshowdown.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/config/formats.ts b/config/formats.ts index 468d67aae101..02dc33be488d 100644 --- a/config/formats.ts +++ b/config/formats.ts @@ -79,25 +79,25 @@ export const Formats: FormatList = [ { name: "[Gen 9] OU", threads: [ - `• SV OU Metagame Discussion`, + `• SV OU Metagame Discussion`, `• SV OU Sample Teams`, - `• SV OU Viability Rankings`, + `• SV OU Viability Rankings`, ], mod: 'gen9', - ruleset: ['Standard'], + ruleset: ['Standard', 'Sleep Moves Clause', '!Sleep Clause Mod'], banlist: ['Uber', 'AG', 'Arena Trap', 'Moody', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Shed Tail'], }, { name: "[Gen 9] Ubers", threads: [ - `• Ubers Metagame Discussion`, + `• Ubers Metagame Discussion`, `• Ubers Viability Rankings`, ], mod: 'gen9', ruleset: ['Standard'], - banlist: ['AG', 'Moody', 'King\'s Rock', 'Razor Fang', 'Baton Pass'], + banlist: ['AG', 'Moody', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Last Respects'], }, { name: "[Gen 9] UU", @@ -133,7 +133,7 @@ export const Formats: FormatList = [ mod: 'gen9', ruleset: ['[Gen 9] RU'], - banlist: ['RU', 'NUBL'], + banlist: ['RU', 'NUBL', 'Quick Claw'], }, { name: "[Gen 9] PU", @@ -141,9 +141,10 @@ export const Formats: FormatList = [ `• PU Viability Rankings`, `• PU Sample Teams`, ], + mod: 'gen9', ruleset: ['[Gen 9] NU'], - banlist: ['NU', 'PUBL'], + banlist: ['NU', 'PUBL', 'Damp Rock'], }, { name: "[Gen 9] LC", @@ -156,9 +157,9 @@ export const Formats: FormatList = [ mod: 'gen9', ruleset: ['Little Cup', 'Standard'], banlist: [ - 'Aipom', 'Basculin-White-Striped', 'Cutiefly', 'Diglett-Base', 'Dunsparce', 'Flittle', 'Gastly', 'Girafarig', 'Gligar', 'Growlithe-Hisui', - 'Meditite', 'Misdreavus', 'Murkrow', 'Qwilfish-Hisui', 'Rufflet', 'Scyther', 'Sneasel', 'Sneasel-Hisui', 'Stantler', 'Vulpix', 'Vulpix-Alola', - 'Yanma', 'Moody', 'Baton Pass', 'Sticky Web', + 'Aipom', 'Basculin-White-Striped', 'Cutiefly', 'Diglett-Base', 'Dunsparce', 'Duraludon', 'Flittle', 'Gastly', 'Girafarig', 'Gligar', + 'Meditite', 'Misdreavus', 'Murkrow', 'Porygon', 'Qwilfish-Hisui', 'Rufflet', 'Scraggy', 'Scyther', 'Sneasel', 'Sneasel-Hisui', + 'Snivy', 'Stantler', 'Vulpix', 'Vulpix-Alola', 'Yanma', 'Moody', 'Baton Pass', 'Sticky Web', ], }, { @@ -172,90 +173,12 @@ export const Formats: FormatList = [ mod: 'gen9', ruleset: ['Standard', 'Evasion Abilities Clause', 'Same Type Clause', 'Terastal Clause'], banlist: [ - 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Giratina', 'Giratina-Origin', - 'Groudon', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Magearna', 'Mewtwo', 'Miraidon', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', - 'Shaymin-Sky', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Moody', 'Shadow Tag', 'Booster Energy', 'Damp Rock', 'Focus Band', - 'King\'s Rock', 'Razor Fang', 'Quick Claw', 'Acupressure', 'Baton Pass', 'Last Respects', - ], - }, - { - name: "[Gen 9] Monothreat Fairy", - desc: `Monotype where every Pokémon is required to be part Fairy.`, - - mod: 'gen9', - searchShow: false, - ruleset: ['[Gen 9] Monotype', 'Force Monotype = Fairy'], - }, - { - name: "[Gen 9] 1v1", - desc: `Bring three Pokémon to Team Preview and choose one to battle.`, - threads: [ - `• 1v1 Metagame Discussion`, - `• 1v1 Viability Rankings`, - ], - - mod: 'gen9', - ruleset: [ - 'Picked Team Size = 1', 'Max Team Size = 3', - 'Standard', 'Terastal Clause', 'Sleep Moves Clause', 'Accuracy Moves Clause', '!Sleep Clause Mod', - ], - banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Cinderace', 'Dialga', 'Dialga-Origin', 'Dragonite', 'Eternatus', 'Flutter Mane', - 'Gholdengo', 'Giratina', 'Giratina-Origin', 'Groudon', 'Hoopa-Unbound', 'Jirachi', 'Koraidon', 'Kyogre', 'Magearna', 'Meloetta', 'Mew', - 'Mewtwo', 'Mimikyu', 'Miraidon', 'Ogerpon-Cornerstone', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Scream Tail', 'Shaymin-Sky', 'Snorlax', - 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Moody', 'Focus Band', 'Focus Sash', 'King\'s Rock', 'Razor Fang', - 'Quick Claw', 'Acupressure', 'Perish Song', - ], - }, - { - name: "[Gen 9] Anything Goes", - threads: [ - `• AG Metagame Discussion`, - `• AG Viability Rankings`, - `• AG Sample Teams`, - ], - - mod: 'gen9', - ruleset: ['Min Source Gen = 9', 'Obtainable', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'], - }, - { - name: "[Gen 9] NFE", - desc: `Only Pokémon that can evolve are allowed.`, - threads: [ - `• NFE`, - `• NFE Resources`, - ], - - mod: 'gen9', - searchShow: false, - ruleset: ['Standard OMs', 'Not Fully Evolved', 'Sleep Moves Clause', 'Terastal Clause', 'Min Source Gen = 9'], - banlist: [ - 'Basculin-White-Striped', 'Bisharp', 'Chansey', 'Haunter', 'Magneton', 'Primeape', 'Scyther', 'Sneasel-Hisui', 'Ursaring', 'Arena Trap', 'Magnet Pull', 'Shadow Tag', 'Baton Pass', - ], - }, - { - name: "[Gen 9] ZU", - threads: [ - `• ZU Metagame Discussion`, - ], - - mod: 'gen9', - ruleset: ['[Gen 9] PU'], - banlist: ['PU'], - }, - { - name: "[Gen 9] LC UU", - threads: [ - `• LC UU Metagame Discussion`, - ], - - mod: 'gen9', - searchShow: false, - ruleset: ['[Gen 9] LC'], - banlist: [ - 'Corphish', 'Diglett-Alola', 'Drifloon', 'Foongus', 'Glimmet', 'Gothita', 'Grimer-Alola', 'Grookey', 'Impidimp', 'Koffing', - 'Larvesta', 'Magnemite', 'Mienfoo', 'Mudbray', 'Numel', 'Pawniard', 'Sandshrew', 'Sandshrew-Alola', 'Shellder', 'Shroodle', - 'Snover', 'Stunky', 'Timburr', 'Tinkatink', 'Toedscool', 'Voltorb-Hisui', 'Vullaby', 'Wattrel', 'Zorua-Hisui', + 'Annihilape', 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Blaziken', 'Deoxys-Base', 'Deoxys-Attack', + 'Dialga', 'Dialga-Origin', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Koraidon', 'Kyogre', + 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', + 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Solgaleo', 'Ursaluna-Bloodmoon', 'Urshifu-Base', + 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', 'Moody', 'Shadow Tag', 'Booster Energy', 'Damp Rock', 'Focus Band', + 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Smooth Rock', 'Acupressure', 'Baton Pass', 'Last Respects', 'Shed Tail', ], }, { @@ -271,44 +194,12 @@ export const Formats: FormatList = [ banlist: ['Crucibellite'], }, { - name: "[Gen 9] Free-For-All", - threads: [ - `• Free-For-All`, - ], - - mod: 'gen9', - gameType: 'freeforall', - rated: false, - tournamentShow: false, - ruleset: ['Standard', '!Evasion Items Clause'], - banlist: [ - 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Flutter Mane', 'Giratina', - 'Giratina-Origin', 'Groudon', 'Hoopa-Unbound', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Magearna', 'Mewtwo', 'Miraidon', 'Palafin', - 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Shaymin-Sky', 'Spectrier', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', - 'Moody', 'Shadow Tag', 'Toxic Chain', 'Toxic Debris', 'Acupressure', 'Aromatic Mist', 'Baton Pass', 'Court Change', 'Final Gambit', 'Flatter', - 'Follow Me', 'Heal Pulse', 'Last Respects', 'Poison Fang', 'Rage Powder', 'Spicy Extract', 'Swagger', 'Toxic', 'Toxic Spikes', - ], - }, - { - name: "[Gen 9] Battle Stadium Singles Regulation D", - - mod: 'gen9predlc', - searchShow: false, - ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer'], - banlist: ['Walking Wake', 'Iron Leaves'], - }, - { - name: "[Gen 9] Battle Stadium Singles Regulation E", - - mod: 'gen9', - ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer'], - banlist: ['Walking Wake', 'Iron Leaves'], - }, - { - name: "[Gen 9] Trick Magic", + name: "[Gen 9] BSS Reg G", mod: 'gen9', - ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Force Monotype = Ghost', 'Min Source Gen = 9', 'VGC Timer'], + bestOfDefault: true, + ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer', 'Limit One Restricted'], + restricted: ['Restricted Legendary'], }, { name: "[Gen 9] Custom Game", @@ -333,7 +224,7 @@ export const Formats: FormatList = [ mod: 'gen9', gameType: 'doubles', team: 'random', - ruleset: ['PotD', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Illusion Level Mod'], + ruleset: ['PotD', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Illusion Level Mod', 'Sleep Clause Mod'], }, { name: "[Gen 9] Doubles OU", @@ -377,30 +268,10 @@ export const Formats: FormatList = [ gameType: 'doubles', searchShow: false, ruleset: ['Standard Doubles', 'Little Cup', 'Sleep Clause Mod'], - banlist: ['Basculin-White-Striped', 'Dunsparce', 'Gligar', 'Murkrow', 'Qwilfish-Hisui', 'Scyther', 'Sneasel', 'Sneasel-Hisui', 'Vulpix', 'Vulpix-Alola', 'Yanma'], - }, - { - name: "[Gen 9] 2v2 Doubles", - desc: `Double battle where you bring four Pokémon to Team Preview and choose only two.`, - threads: [ - `• 2v2 Doubles`, - ], - - mod: 'gen9', - gameType: 'doubles', - ruleset: [ - 'Picked Team Size = 2', 'Max Team Size = 4', - 'Standard Doubles', 'Accuracy Moves Clause', 'Terastal Clause', 'Sleep Clause Mod', 'Evasion Items Clause', - ], - banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Iron Hands', - 'Koraidon', 'Kyogre', 'Magearna', 'Mewtwo', 'Miraidon', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Tornadus-Base', 'Urshifu', 'Urshifu-Rapid-Strike', - 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Commander', 'Moody', 'Focus Sash', 'King\'s Rock', 'Razor Fang', 'Ally Switch', - 'Final Gambit', 'Perish Song', 'Swagger', - ], + banlist: ['Basculin-White-Striped', 'Dunsparce', 'Duraludon', 'Gligar', 'Murkrow', 'Qwilfish-Hisui', 'Scyther', 'Sneasel', 'Sneasel-Hisui', 'Vulpix', 'Vulpix-Alola', 'Yanma'], }, { - name: "[Gen 9] VGC 2023 Regulation D", + name: "[Gen 9] VGC 2023 Reg D", mod: 'gen9predlc', gameType: 'doubles', @@ -410,22 +281,22 @@ export const Formats: FormatList = [ banlist: ['Walking Wake', 'Iron Leaves'], }, { - name: "[Gen 9] VGC 2023 Regulation E", + name: "[Gen 9] VGC 2024 Reg G", mod: 'gen9', gameType: 'doubles', bestOfDefault: true, - ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer', 'Open Team Sheets'], - banlist: ['Walking Wake', 'Iron Leaves'], + ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer', 'Open Team Sheets', 'Limit One Restricted'], + restricted: ['Restricted Legendary'], }, { - name: "[Gen 9] VGC 2023 Regulation E (Bo3)", + name: "[Gen 9] VGC 2024 Reg G (Bo3)", mod: 'gen9', gameType: 'doubles', challengeShow: false, - ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer', 'Force Open Team Sheets', 'Best of = 3'], - banlist: ['Walking Wake', 'Iron Leaves'], + ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer', 'Force Open Team Sheets', 'Best of = 3', 'Limit One Restricted'], + restricted: ['Restricted Legendary'], }, { name: "[Gen 9] Doubles Custom Game", @@ -439,6 +310,150 @@ export const Formats: FormatList = [ ruleset: ['Team Preview', 'Cancel Mod', 'Max Team Size = 24', 'Max Move Count = 24', 'Max Level = 9999', 'Default Level = 100'], }, + // S/V Doubles + /////////////////////////////////////////////////////////////////// + + { + section: "Unofficial Metagames", + }, + { + name: "[Gen 9] 1v1", + desc: `Bring three Pokémon to Team Preview and choose one to battle.`, + threads: [ + `• 1v1 Metagame Discussion`, + `• 1v1 Viability Rankings`, + ], + + mod: 'gen9', + ruleset: [ + 'Picked Team Size = 1', 'Max Team Size = 3', + 'Standard', 'Terastal Clause', 'Sleep Moves Clause', 'Accuracy Moves Clause', '!Sleep Clause Mod', + ], + banlist: [ + 'Arceus', 'Archaludon', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Cinderace', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', + 'Dialga', 'Dialga-Origin', 'Dragonite', 'Eternatus', 'Flutter Mane', 'Gholdengo', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Jirachi', + 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Meloetta', 'Mew', 'Mewtwo', 'Mimikyu', 'Miraidon', 'Necrozma', + 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Ogerpon-Cornerstone', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Scream Tail', 'Shaymin-Sky', + 'Snorlax', 'Solgaleo', 'Terapagos', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Moody', 'Focus Band', 'Focus Sash', + 'King\'s Rock', 'Razor Fang', 'Quick Claw', 'Acupressure', 'Perish Song', + ], + }, + { + name: "[Gen 9] 2v2 Doubles", + desc: `Double battle where you bring four Pokémon to Team Preview and choose only two.`, + threads: [ + `• 2v2 Doubles`, + ], + + mod: 'gen9', + gameType: 'doubles', + ruleset: [ + 'Picked Team Size = 2', 'Max Team Size = 4', + 'Standard Doubles', 'Accuracy Moves Clause', 'Terastal Clause', 'Sleep Clause Mod', 'Evasion Items Clause', + ], + banlist: [ + 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Giratina', 'Giratina-Origin', + 'Groudon', 'Ho-Oh', 'Iron Hands', 'Koraidon', 'Kyogre', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', + 'Necrozma-Dusk-Mane', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Urshifu', 'Urshifu-Rapid-Strike', 'Zacian', 'Zacian-Crowned', + 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Commander', 'Moody', 'Focus Sash', 'King\'s Rock', 'Razor Fang', 'Ally Switch', 'Final Gambit', + 'Perish Song', 'Swagger', + ], + }, + { + name: "[Gen 9] Anything Goes", + threads: [ + `• AG Metagame Discussion`, + `• AG Viability Rankings`, + `• AG Sample Teams`, + ], + + mod: 'gen9', + ruleset: ['Min Source Gen = 9', 'Obtainable', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'], + }, + { + name: "[Gen 9] Ubers UU", + threads: [ + `• Ubers UU Metagame Discussion`, + `• Ubers UU Viability Rankings`, + `• Ubers UU Sample Teams`, + ], + + mod: 'gen9', + ruleset: ['[Gen 9] Ubers'], + banlist: [ + // Ubers OU + 'Arceus-Base', 'Arceus-Fairy', 'Arceus-Ground', 'Calyrex-Ice', 'Clodsire', 'Deoxys-Attack', 'Eternatus', 'Flutter Mane', + 'Giratina-Origin', 'Glimmora', 'Gliscor', 'Grimmsnarl', 'Groudon', 'Hatterene', 'Ho-Oh', 'Iron Bundle', 'Kingambit', + 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Miraidon', 'Necrozma-Dusk-Mane', 'Rayquaza', 'Ribombee', 'Skeledirge', 'Ting-Lu', + 'Zacian-Crowned', + // Ubers UUBL + 'Arceus-Fire', 'Arceus-Flying', 'Arceus-Ghost', 'Arceus-Steel', 'Arceus-Water', 'Lunala', 'Shaymin-Sky', 'Zekrom', + ], + }, + { + name: "[Gen 9] ZU", + threads: [ + `• ZU Metagame Discussion`, + ], + + mod: 'gen9', + ruleset: ['[Gen 9] PU'], + banlist: ['PU', 'ZUBL'], + }, + { + name: "[Gen 9] Free-For-All", + threads: [ + `• Free-For-All`, + ], + + mod: 'gen9', + gameType: 'freeforall', + rated: false, + tournamentShow: false, + ruleset: ['Standard', 'Sleep Moves Clause', '!Sleep Clause Mod', '!Evasion Items Clause'], + banlist: [ + 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', + 'Dondozo', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Iron Bundle', 'Koraidon', 'Kyogre', + 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Ogerpon-Hearthflame', + 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Terapagos', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Urshifu', + 'Urshifu-Rapid-Strike', 'Zacian', 'Zacian-Crowned', 'Zekrom', 'Moody', 'Shadow Tag', 'Toxic Chain', 'Toxic Debris', 'Acupressure', 'Aromatic Mist', + 'Baton Pass', 'Coaching', 'Court Change', 'Decorate', 'Dragon Cheer', 'Final Gambit', 'Flatter', 'Floral Healing', 'Follow Me', 'Heal Pulse', + 'Last Respects', 'Malignant Chain', 'Poison Fang', 'Rage Powder', 'Spicy Extract', 'Swagger', 'Toxic', 'Toxic Spikes', + ], + }, + { + name: "[Gen 9] LC UU", + threads: [ + `• LC UU Metagame Discussion`, + ], + + mod: 'gen9', + searchShow: false, + ruleset: ['[Gen 9] LC'], + banlist: [ + 'Chinchou', 'Diglett-Alola', 'Elekid', 'Foongus', 'Glimmet', 'Gothita', 'Grimer-Alola', 'Grookey', 'Growlithe-Hisui', 'Impidimp', + 'Koffing', 'Magby', 'Mareanie', 'Mienfoo', 'Minccino', 'Mudbray', 'Pawniard', 'Sandshrew-Alola', 'Shellder', 'Shellos', 'Snubbull', + 'Stunky', 'Timburr', 'Tinkatink', 'Toedscool', 'Trapinch', 'Voltorb-Hisui', 'Vullaby', + ], + }, + { + name: "[Gen 9] NFE", + desc: `Only Pokémon that can evolve are allowed.`, + threads: [ + `• NFE`, + `• NFE Resources`, + ], + + mod: 'gen9', + searchShow: false, + ruleset: ['Standard OMs', 'Not Fully Evolved', 'Sleep Moves Clause', 'Terastal Clause'], + banlist: [ + 'Basculin-White-Striped', 'Bisharp', 'Chansey', 'Dipplin', 'Duraludon', 'Gurdurr', 'Haunter', 'Magmar', 'Magneton', 'Porygon2', 'Primeape', + 'Qwilfish-Hisui', 'Rhydon', 'Scyther', 'Sneasel', 'Sneasel-Hisui', 'Ursaring', 'Vulpix-Base', 'Arena Trap', 'Magnet Pull', 'Shadow Tag', + 'Baton Pass', + ], + }, + // Pet Mods /////////////////////////////////////////////////////////////////// @@ -446,27 +461,38 @@ export const Formats: FormatList = [ section: "Pet Mods", }, { - name: "[Gen 3] Hoenn Gaiden", - desc: `A Gen 3 Pet Mod that aims to devamp Gen 4-8 Pokémon, moves, and items into the Gen 3 mechanics.`, + name: "[Gen 9] Do Not Use", + desc: `A National Dex solomod where only Pokémon with 280 BST or less are allowed.`, threads: [ - `• Hoenn Gaiden on Smogon Forums`, + `• Do Not Use`, ], - mod: 'gen3hoenngaiden', - ruleset: ['HG Standard', 'Freeze Clause Mod'], - banlist: ['Uber'], - unbanlist: ['Sand Veil'], + mod: 'gen9', + ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Evasion Items Clause', 'Species Clause', 'Sleep Clause Mod', 'Terastal Clause', 'Z-Move Clause'], + banlist: ['Dewpider', 'Diglett-Alola', 'Flittle', 'Nidoran-M', 'Smeargle', 'Wingull', 'Wishiwashi', 'Zigzagoon-Base', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power', 'Shadow Tag', 'Baton Pass'], + onBegin() { + this.add('-message', `Welcome to Do Not Use!`); + this.add('-message', `This is a National Dex metagame where only Pokemon with less than 280 BST are allowed, plus a select few others!`); + this.add('-message', `You can find our thread and metagame resources here:`); + this.add('-message', `https://www.smogon.com/forums/threads/3734326/`); + }, + onValidateSet(set) { + const species = this.dex.species.get(set.species); + if (species.bst > 280 && !['Luvdisc', 'Unown', 'Capsakid', 'Snorunt'].includes(species.baseSpecies)) { + return [`Only Pok\u00e9mon with a BST of 280 or lower are allowed.`, `(${species.name}'s BST is ${species.bst}.)`]; + } + }, }, { - name: "[Gen 8] JolteMons Random Battle", - desc: `Pokémon, items, abilities, and moves are redesigned for OU, and new items, abilities, and moves are added, all without changing base stats.`, + name: "[Gen 2] Modern Gen 2", + desc: `A Gen 2 solomod where all Pokémon and moves from future generations are legal.`, threads: [ - `• JolteMons`, - `• Spreadsheet`, + `• Modern Gen 2`, ], - mod: 'gen8joltemons', - team: 'random', - ruleset: ['Dynamax Clause', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Mega Data Mod', 'Z-Move Clause', 'Illusion Level Mod'], + + mod: 'moderngen2', + ruleset: ['Standard', 'Useless Items Clause', 'Useless Moves Clause', 'MG2 Mod', 'Sleep Moves Clause', '+No Ability', '-All Abilities'], + banlist: ['AG', 'Uber', 'Fake Out', 'Shell Smash', 'Last Respects', 'Baton Pass', 'Alakazite', 'Soul Dew'], }, { name: "[Gen 6] NEXT OU", @@ -489,18 +515,18 @@ export const Formats: FormatList = [ column: 1, }, { - name: "[Gen 9] Paldea Dex Draft", + name: "[Gen 9] Draft", mod: 'gen9', searchShow: false, - ruleset: ['Draft', 'Min Source Gen = 9'], + ruleset: ['Standard Draft', 'Min Source Gen = 9'], }, { - name: "[Gen 9] Tera Preview Paldea Dex Draft", + name: "[Gen 9] Tera Preview Draft", mod: 'gen9', searchShow: false, - ruleset: ['[Gen 9] Paldea Dex Draft', 'Tera Type Preview'], + ruleset: ['[Gen 9] Draft', 'Tera Type Preview'], }, { name: "[Gen 9] 6v6 Doubles Draft", @@ -508,7 +534,7 @@ export const Formats: FormatList = [ mod: 'gen9', gameType: 'doubles', searchShow: false, - ruleset: ['Draft', '!Sleep Clause Mod', '!Evasion Clause', 'Min Source Gen = 9'], + ruleset: ['Standard Draft', '!Sleep Clause Mod', '!Evasion Clause', 'Min Source Gen = 9'], }, { name: "[Gen 9] 4v4 Doubles Draft", @@ -516,14 +542,15 @@ export const Formats: FormatList = [ mod: 'gen9', gameType: 'doubles', searchShow: false, - ruleset: ['Draft', 'Item Clause', 'VGC Timer', '!Sleep Clause Mod', '!OHKO Clause', '!Evasion Clause', 'Adjust Level = 50', 'Picked Team Size = 4', 'Min Source Gen = 9'], + bestOfDefault: true, + ruleset: ['Standard Draft', 'Item Clause', 'VGC Timer', '!Sleep Clause Mod', '!OHKO Clause', '!Evasion Clause', 'Adjust Level = 50', 'Picked Team Size = 4', 'Min Source Gen = 9'], }, { name: "[Gen 9] NatDex Draft", mod: 'gen9', searchShow: false, - ruleset: ['Draft', '+Unobtainable', '+Past'], + ruleset: ['Standard Draft', '+Unobtainable', '+Past'], }, { name: "[Gen 9] Tera Preview NatDex Draft", @@ -548,41 +575,19 @@ export const Formats: FormatList = [ ruleset: ['[Gen 9] NatDex Draft', 'Double Item Clause', 'Little Cup'], banlist: ['Dragon Rage', 'Sonic Boom'], }, - { - name: "[Gen 9 Pre-DLC] Paldea Dex Draft", - - mod: 'gen9predlc', - searchShow: false, - ruleset: ['Draft', 'Min Source Gen = 9'], - }, - { - name: "[Gen 9 Pre-DLC] Tera Preview Paldea Dex Draft", - - mod: 'gen9predlc', - searchShow: false, - ruleset: ['[Gen 9] Paldea Dex Draft', 'Tera Type Preview'], - }, - { - name: "[Gen 9 Pre-DLC] NatDex LC Draft", - - mod: 'gen9predlc', - searchShow: false, - ruleset: ['[Gen 9] NatDex Draft', 'Double Item Clause', 'Little Cup'], - banlist: ['Dragon Rage', 'Sonic Boom'], - }, { name: "[Gen 8] Galar Dex Draft", mod: 'gen8', searchShow: false, - ruleset: ['Draft', 'Dynamax Clause'], + ruleset: ['Standard Draft', 'Dynamax Clause'], }, { name: "[Gen 8] NatDex Draft", mod: 'gen8', searchShow: false, - ruleset: ['Draft', 'Dynamax Clause', '+Past'], + ruleset: ['Standard Draft', 'Dynamax Clause', '+Past'], }, { name: "[Gen 8] NatDex 4v4 Doubles Draft", @@ -590,21 +595,21 @@ export const Formats: FormatList = [ mod: 'gen8', gameType: 'doubles', searchShow: false, - ruleset: ['Draft', 'Item Clause', '!Sleep Clause Mod', '!OHKO Clause', '!Evasion Moves Clause', 'Adjust Level = 50', 'Picked Team Size = 4', '+Past'], + ruleset: ['Standard Draft', 'Item Clause', '!Sleep Clause Mod', '!OHKO Clause', '!Evasion Moves Clause', 'Adjust Level = 50', 'Picked Team Size = 4', '+Past'], }, { name: "[Gen 7] Draft", mod: 'gen7', searchShow: false, - ruleset: ['Draft', '+LGPE'], + ruleset: ['Standard Draft', '+LGPE'], }, { name: "[Gen 6] Draft", mod: 'gen6', searchShow: false, - ruleset: ['Draft', 'Moody Clause', 'Swagger Clause'], + ruleset: ['Standard Draft', 'Moody Clause', 'Swagger Clause'], banlist: ['Soul Dew'], }, @@ -616,81 +621,319 @@ export const Formats: FormatList = [ column: 2, }, { - name: "[Gen 9] Shared Power", - desc: `Once a Pokémon switches in, its ability is shared with the rest of the team.`, + name: "[Gen 9] Cross Evolution", + desc: `Give a Pokémon a Pokémon name of the next evolution stage as a nickname to inherit stat changes, typing, abilities, and moves from the next stage Pokémon.`, threads: [ - `• Shared Power`, + `• Cross Evolution`, ], - mod: 'sharedpower', + mod: 'gen9', // searchShow: false, - ruleset: ['Standard OMs', 'Evasion Abilities Clause', 'Evasion Items Clause', 'Sleep Moves Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Arceus', 'Basculegion', 'Calyrex-Shadow', 'Chien-Pao', 'Gholdengo', 'Koraidon', 'Komala', 'Miraidon', 'Numel', 'Persian-Alola', 'Raichu-Alola', - 'Rayquaza', 'Shaymin-Sky', 'Slowbro-Galar', 'Zacian', 'Zacian-Crowned', 'Arena Trap', 'Armor Tail', 'Chlorophyll', 'Contrary', 'Dazzling', - 'Huge Power', 'Illusion', 'Imposter', 'Magic Bounce', 'Magic Guard', 'Magnet Pull', 'Mold Breaker', 'Moody', 'Neutralizing Gas', 'Poison Heal', - 'Prankster', 'Protosynthesis', 'Pure Power', 'Purifying Salt', 'Queenly Majesty', 'Quick Feet', 'Regenerator', 'Sand Rush', 'Shadow Tag', - 'Slush Rush', 'Speed Boost', 'Stakeout', 'Stench', 'Sturdy', 'Swift Swim', 'Tinted Lens', 'Unaware', 'Unburden', 'Starf Berry', 'King\'s Rock', - 'Razor Fang', 'Baton Pass', 'Extreme Speed', - ], - unbanlist: ['Arceus-Bug', 'Arceus-Dragon', 'Arceus-Fire', 'Arceus-Ice', 'Arceus-Psychic'], - onValidateRule() { - if (this.format.gameType !== 'singles') { - throw new Error(`Shared Power currently does not support ${this.format.gameType} battles.`); + 'Basculin-White-Striped', 'Duraludon', 'Kyogre', 'Miraidon', 'Scyther', 'Sneasel', 'Sneasel-Hisui', 'Ursaring', 'Arena Trap', + 'Huge Power', 'Pure Power', 'Shadow Tag', 'Moody', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Shed Tail', + ], + restricted: ['Espathra', 'Frosmoth', 'Gallade', 'Lilligant-Hisui', 'Lunala', 'Solgaleo'], + onValidateTeam(team) { + const nums = new Set(); + for (const set of team) { + const name = set.name; + const species = this.dex.species.get(name); + if (nums.has(species.num)) { + return [ + `Your Pok\u00e9mon must have different nicknames.`, + `(You have more than one Pok\u00e9mon named after a form of '${species.name}')`, + ]; + } + if (species.exists && species.name !== set.species) nums.add(species.num); + } + if (!nums.size) { + return [ + `${this.format.name} works using nicknames; your team has 0 nicknamed Pok\u00e9mon.`, + `(If this was intentional, add a nickname to one Pok\u00e9mon that isn't the name of a Pok\u00e9mon species.)`, + ]; } }, - getSharedPower(pokemon) { - const sharedPower = new Set(); - for (const ally of pokemon.side.pokemon) { - if (ally.previouslySwitchedIn > 0) { - if (pokemon.battle.dex.currentMod !== 'sharedpower' && ['trace', 'mirrorarmor'].includes(ally.baseAbility)) { - sharedPower.add('noability'); - continue; - } - sharedPower.add(ally.baseAbility); + checkCanLearn(move, species, lsetData, set) { + // @ts-ignore + if (!set.sp?.exists || !set.crossSpecies?.exists) { + return this.checkCanLearn(move, species, lsetData, set); + } + // @ts-ignore + const problem = this.checkCanLearn(move, set.sp); + if (!problem) return null; + // @ts-ignore + if (this.checkCanLearn(move, set.crossSpecies)) return problem; + return null; + }, + validateSet(set, teamHas) { + const crossSpecies = this.dex.species.get(set.name); + let problems = this.dex.formats.get('Obtainable Misc').onChangeSet?.call(this, set, this.format) || null; + if (Array.isArray(problems) && problems.length) return problems; + const crossNonstandard = (!this.ruleTable.has('standardnatdex') && crossSpecies.isNonstandard === 'Past') || + crossSpecies.isNonstandard === 'Future'; + const crossIsCap = !this.ruleTable.has('+pokemontag:cap') && crossSpecies.isNonstandard === 'CAP'; + if (!crossSpecies.exists || crossNonstandard || crossIsCap) return this.validateSet(set, teamHas); + const species = this.dex.species.get(set.species); + const check = this.checkSpecies(set, species, species, {}); + if (check) return [check]; + const nonstandard = !this.ruleTable.has('standardnatdex') && species.isNonstandard === 'Past'; + const isCap = !this.ruleTable.has('+pokemontag:cap') && species.isNonstandard === 'CAP'; + if (!species.exists || nonstandard || isCap || species === crossSpecies) return this.validateSet(set, teamHas); + if (!species.nfe) return [`${species.name} cannot cross evolve because it doesn't evolve.`]; + const crossIsUnreleased = (crossSpecies.tier === "Unreleased" && crossSpecies.isNonstandard === "Unobtainable" && + !this.ruleTable.has('+unobtainable')); + if (crossSpecies.battleOnly || crossIsUnreleased || !crossSpecies.prevo) { + return [`${species.name} cannot cross evolve into ${crossSpecies.name} because it isn't an evolution.`]; + } + if (this.ruleTable.isRestrictedSpecies(crossSpecies)) { + return [`${species.name} cannot cross evolve into ${crossSpecies.name} because it is banned.`]; + } + const crossPrevoSpecies = this.dex.species.get(crossSpecies.prevo); + if (!crossPrevoSpecies.prevo !== !species.prevo) { + return [ + `${species.name} cannot cross evolve into ${crossSpecies.name} because they are not consecutive evolution stages.`, + ]; + } + const item = this.dex.items.get(set.item); + if (item.itemUser?.length) { + if (!item.itemUser.includes(crossSpecies.name) || crossSpecies.name !== species.name) { + return [`${species.name} cannot use ${item.name} because it is cross evolved into ${crossSpecies.name}.`]; } } - sharedPower.delete(pokemon.baseAbility); - return sharedPower; + const ability = this.dex.abilities.get(set.ability); + if (!this.ruleTable.isRestricted(`ability:${ability.id}`) || Object.values(species.abilities).includes(ability.name)) { + set.species = crossSpecies.name; + } + + // @ts-ignore + set.sp = species; + // @ts-ignore + set.crossSpecies = crossSpecies; + problems = this.validateSet(set, teamHas); + set.name = crossSpecies.name; + set.species = species.name; + return problems; }, - onBeforeSwitchIn(pokemon) { - let format = this.format; - if (!format.getSharedPower) format = this.dex.formats.get('gen9sharedpower'); - for (const ability of format.getSharedPower!(pokemon)) { - const effect = 'ability:' + ability; - pokemon.volatiles[effect] = {id: this.toID(effect), target: pokemon}; - if (!pokemon.m.abils) pokemon.m.abils = []; - if (!pokemon.m.abils.includes(effect)) pokemon.m.abils.push(effect); + onModifySpecies(species, target, source, effect) { + if (!target) return; // chat + if (effect && ['imposter', 'transform'].includes(effect.id)) return; + if (target.set.name === target.set.species) return; + const crossSpecies = this.dex.species.get(target.set.name); + if (!crossSpecies.exists) return; + if (species.battleOnly || !species.nfe) return; + const crossIsUnreleased = (crossSpecies.tier === "Unreleased" && crossSpecies.isNonstandard === "Unobtainable" && + !this.ruleTable.has('+unobtainable')); + if (crossSpecies.battleOnly || crossIsUnreleased || !crossSpecies.prevo) return; + const crossPrevoSpecies = this.dex.species.get(crossSpecies.prevo); + if (!crossPrevoSpecies.prevo !== !species.prevo) return; + + const mixedSpecies = this.dex.deepClone(species); + mixedSpecies.weightkg = + Math.max(0.1, +(species.weightkg + crossSpecies.weightkg - crossPrevoSpecies.weightkg)).toFixed(1); + mixedSpecies.nfe = false; + mixedSpecies.evos = []; + mixedSpecies.eggGroups = crossSpecies.eggGroups; + mixedSpecies.abilities = crossSpecies.abilities; + mixedSpecies.bst = 0; + let i: StatID; + for (i in species.baseStats) { + const statChange = crossSpecies.baseStats[i] - crossPrevoSpecies.baseStats[i]; + mixedSpecies.baseStats[i] = this.clampIntRange(species.baseStats[i] + statChange, 1, 255); + mixedSpecies.bst += mixedSpecies.baseStats[i]; + } + if (crossSpecies.types[0] !== crossPrevoSpecies.types[0]) mixedSpecies.types[0] = crossSpecies.types[0]; + if (crossSpecies.types[1] !== crossPrevoSpecies.types[1]) { + mixedSpecies.types[1] = crossSpecies.types[1] || crossSpecies.types[0]; } + if (mixedSpecies.types[0] === mixedSpecies.types[1]) mixedSpecies.types = [mixedSpecies.types[0]]; + + return mixedSpecies; }, - onSwitchInPriority: 2, - onSwitchIn(pokemon) { - let format = this.format; - if (!format.getSharedPower) format = this.dex.formats.get('gen9sharedpower'); - for (const ability of format.getSharedPower!(pokemon)) { - if (ability === 'noability') { - this.hint(`Mirror Armor and Trace break in Shared Power formats that don't use Shared Power as a base, so they get removed from non-base users.`); + onBegin() { + for (const pokemon of this.getAllPokemon()) { + pokemon.baseSpecies = pokemon.species; + } + }, + }, + { + name: "[Gen 9] Type Split", + desc: `The Physical/Special split is reverted; All non-Status moves are Physical or Special depending on their type, no exceptions.`, + threads: [ + `Physical types: `, + `Special types: `, + `Dependent on the user's higher attacking stat:
Type Split`, + ], + + mod: 'gen9', + // searchShow: false, + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Evasion Abilities Clause'], + banlist: [ + 'Annihilape', 'Arceus', 'Archaludon', 'Calyrex-Shadow', 'Chi-Yu', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Espathra', + 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Kyurem-White', 'Landorus-Base', + 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', + 'Reshiram', 'Shaymin-Sky', 'Sneasler', 'Solgaleo', 'Terapagos', 'Volcarona', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Arena Trap', 'Moody', 'Shadow Tag', + 'Bright Powder', 'Damp Rock', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Shed Tail', + ], + onModifyMovePriority: -1000, + onModifyMove(move, pokemon, target) { + if (move.category === 'Status') return; + const specialTypes = ['Dark', 'Dragon', 'Electric', 'Fairy', 'Fire', 'Grass', 'Ice', 'Psychic', 'Water']; + if (specialTypes.includes(move.type)) { + move.category = 'Special'; + } else if (move.type === 'Stellar') { + move.category = pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true) ? 'Physical' : 'Special'; + } else { + move.category = 'Physical'; + } + }, + }, + { + name: "[Gen 9] Partners in Crime", + desc: `Doubles-based metagame where both active ally Pokémon share abilities and moves.`, + threads: [ + `• Partners in Crime`, + ], + + mod: 'partnersincrime', + gameType: 'doubles', + ruleset: ['Standard Doubles'], + banlist: [ + 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Cresselia', 'Darkrai', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Flutter Mane', + 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', + 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Smeargle', 'Solgaleo', 'Terapagos', 'Urshifu', 'Urshifu-Rapid-Strike', + 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Contrary', 'Dancer', 'Huge Power', 'Moody', 'Pure Power', 'Serene Grace', 'Shadow Tag', + 'Bright Powder', 'King\'s Rock', 'Razor Fang', 'Ally Switch', 'Dragon Cheer', 'Last Respects', 'Revival Blessing', 'Swagger', + ], + onBegin() { + for (const pokemon of this.getAllPokemon()) { + pokemon.m.trackPP = new Map(); + } + }, + onBeforeSwitchIn(pokemon) { + pokemon.m.curMoves = this.dex.deepClone(pokemon.moves); + let ngas = false; + for (const poke of this.getAllActive()) { + if (this.toID(poke.ability) === ('neutralizinggas' as ID)) { + ngas = true; + break; } - const effect = 'ability:' + ability; - delete pokemon.volatiles[effect]; - pokemon.addVolatile(effect); + } + const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas', 'illusion', 'wanderingspirit']; + const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); + if (ally && ally.ability !== pokemon.ability) { + if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability))) { + pokemon.m.innate = 'ability:' + ally.ability; + if (!ngas || ally.getAbility().flags['cantsuppress'] || pokemon.hasItem('Ability Shield')) { + pokemon.volatiles[pokemon.m.innate] = {id: pokemon.m.innate, target: pokemon}; + pokemon.m.startVolatile = true; + } + } + if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability))) { + ally.m.innate = 'ability:' + pokemon.ability; + if (!ngas || pokemon.getAbility().flags['cantsuppress'] || ally.hasItem('Ability Shield')) { + ally.volatiles[ally.m.innate] = {id: ally.m.innate, target: ally}; + ally.m.startVolatile = true; + } + } + } + }, + // Starting innate abilities in scripts#actions + onSwitchOut(pokemon) { + if (pokemon.m.innate) { + pokemon.removeVolatile(pokemon.m.innate); + delete pokemon.m.innate; + } + const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); + if (ally && ally.m.innate) { + ally.removeVolatile(ally.m.innate); + delete ally.m.innate; } }, + onFaint(pokemon) { + if (pokemon.m.innate) { + pokemon.removeVolatile(pokemon.m.innate); + delete pokemon.m.innate; + } + const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); + if (ally && ally.m.innate) { + ally.removeVolatile(ally.m.innate); + delete ally.m.innate; + } + }, + }, + + // Other Metagames + /////////////////////////////////////////////////////////////////// + + { + section: "Other Metagames", + column: 2, }, { - name: "[Gen 9] Protean Palace", - desc: `Every Pokémon innately has Protean on top of their current ability.`, + name: "[Gen 9] Almost Any Ability", + desc: `Pokémon have access to almost any ability.`, threads: [ - `• Protean Palace`, + `• Almost Any Ability`, + `• AAA Resources`, ], - mod: "gen9", - ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Protean Palace Mod', 'Min Source Gen = 9'], + mod: 'gen9', + ruleset: ['Standard OMs', '!Obtainable Abilities', 'Ability Clause = 1', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Espathra', 'Eternatus', - 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Mewtwo', 'Miraidon', - 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', 'Spectrier', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', - 'Arena Trap', 'Moody', 'Shadow Tag', 'Baton Pass', 'Last Respects', 'Shed Tail', + 'Annihilape', 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Dragapult', + 'Enamorus-Base', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Gouging Fire', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Iron Bundle', 'Iron Valiant', + 'Keldeo', 'Koraidon', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', + 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Palkia-Origin', 'Raging Bolt', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shaymin-Sky', 'Slaking', 'Sneasler', + 'Solgaleo', 'Spectrier', 'Urshifu', 'Urshifu-Rapid-Strike', 'Weavile', 'Zacian', 'Zacian-Crowned', 'Zekrom', 'Arena Trap', 'Comatose', 'Contrary', + 'Fur Coat', 'Good as Gold', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out', 'Magic Bounce', 'Magnet Pull', 'Moody', + 'Neutralizing Gas', 'Orichalcum Pulse', 'Parental Bond', 'Poison Heal', 'Pure Power', 'Shadow Tag', 'Simple', 'Speed Boost', 'Stakeout', 'Toxic Debris', + 'Triage', 'Unburden', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Revival Blessing', 'Shed Tail', + ], + }, + { + name: "[Gen 9] Balanced Hackmons", + desc: `Anything directly hackable onto a set (EVs, IVs, forme, ability, item, and move) and is usable in local battles is allowed.`, + threads: [ + `• Balanced Hackmons`, + `• BH Resources`, + ], + + mod: 'gen9', + ruleset: [ + 'OHKO Clause', 'Evasion Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', + 'Endless Battle Clause', 'Hackmons Forme Legality', 'Species Reveal Clause', 'Terastal Clause', + ], + banlist: [ + 'Calyrex-Shadow', 'Deoxys-Attack', 'Diancie-Mega', 'Gengar-Mega', 'Groudon-Primal', 'Kartana', 'Mewtwo-Mega-X', 'Mewtwo-Mega-Y', 'Rayquaza-Mega', + 'Regigigas', 'Shedinja', 'Slaking', 'Arena Trap', 'Comatose', 'Contrary', 'Gorilla Tactics', 'Hadron Engine', 'Huge Power', 'Illusion', 'Innards Out', + 'Libero', 'Liquid Ooze', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Orichalcum Pulse', 'Parental Bond', 'Poison Heal', 'Protean', 'Pure Power', + 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard', 'Baton Pass', 'Belly Drum', 'Ceaseless Edge', 'Dire Claw', 'Electro Shot', 'Fillet Away', + 'Imprison', 'Last Respects', 'Lumina Crash', 'Photon Geyser', 'Quiver Dance', 'Rage Fist', 'Revival Blessing', 'Shed Tail', 'Substitute', 'Shell Smash', + 'Tail Glow', + ], + }, + { + name: "[Gen 9] Godly Gift", + desc: `Each Pokémon receives one base stat from a God (Restricted Pokémon) depending on its position in the team. If there is no restricted Pokémon, it uses the Pokémon in the first slot.`, + threads: [ + `• Godly Gift`, + `• Godly Gift Resources`, + ], + + mod: 'gen9', + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Godly Gift Mod'], + banlist: [ + 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Deoxys-Attack', 'Koraidon', 'Miraidon', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power', 'Shadow Tag', + 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Shed Tail', + ], + restricted: [ + 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Chi-Yu', 'Crawdaunt', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Dialga-Origin', 'Dragapult', 'Espathra', 'Eternatus', + 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Gliscor', 'Groudon', 'Hawlucha', 'Ho-Oh', 'Iron Bundle', 'Kingambit', 'Kyogre', 'Kyurem', 'Kyurem-Black', + 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Ogerpon-Hearthflame', 'Palafin', 'Palkia', 'Palkia-Origin', + 'Rayquaza', 'Regieleki', 'Reshiram', 'Shaymin-Sky', 'Smeargle', 'Solgaleo', 'Terapagos', 'Toxapex', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Volcarona', 'Zacian', + 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', ], }, { @@ -701,14 +944,15 @@ export const Formats: FormatList = [ ], mod: 'gen9', - ruleset: ['Standard OMs', 'Ability Clause = 1', 'Sleep Moves Clause', 'Terastal Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Ability Clause = 1', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Cresselia', 'Dialga', 'Dialga-Origin', 'Dondozo', 'Dragapult', 'Enamorus-Base', 'Espathra', 'Eternatus', - 'Flittle', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Hoopa-Unbound', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Magearna', 'Mewtwo', - 'Miraidon', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Sableye', 'Samurott-Hisui', 'Scream Tail', 'Shaymin-Sky', 'Slaking', 'Spectrier', - 'Torkoal', 'Ursaluna-Base', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Arena Trap', 'Huge Power', 'Imposter', - 'Magnet Pull', 'Moody', 'Poison Heal', 'Pure Power', 'Shadow Tag', 'Stakeout', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Fillet Away', - 'Last Respects', 'Rage Fist', 'Shed Tail', 'Shell Smash', + 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chien-Pao', 'Cresselia', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Dondozo', 'Dragapult', + 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Hoopa-Unbound', 'Ho-Oh', 'Iron Bundle', 'Iron Valiant', 'Koraidon', 'Kyogre', + 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Palkia-Origin', + 'Pecharunt', 'Rayquaza', 'Regieleki', 'Regigigas', 'Reshiram', 'Sableye', 'Samurott-Hisui', 'Scream Tail', 'Shaymin-Sky', 'Slaking', 'Smeargle', 'Solgaleo', + 'Spectrier', 'Urshifu-Base', 'Ursaluna-Base', 'Weavile', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Drizzle', + 'Drought', 'Good as Gold', 'Huge Power', 'Imposter', 'Magic Bounce', 'Magnet Pull', 'Moody', 'Poison Heal', 'Pure Power', 'Shadow Tag', 'Speed Boost', + 'Stakeout', 'Water Bubble', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Fillet Away', 'Last Respects', 'Rage Fist', 'Shed Tail', 'Shell Smash', ], getEvoFamily(speciesid) { let species = Dex.species.get(speciesid); @@ -720,11 +964,10 @@ export const Formats: FormatList = [ return species.id; }, validateSet(set, teamHas) { - const unreleased = (pokemon: Species) => pokemon.tier === "Unreleased" && pokemon.isNonstandard === "Unobtainable"; if (!teamHas.abilityMap) { teamHas.abilityMap = Object.create(null); for (const pokemon of Dex.species.all()) { - if (pokemon.isNonstandard || (unreleased(pokemon) && !this.ruleTable.has('+unobtainable'))) continue; + if (pokemon.isNonstandard && !this.ruleTable.has(`+pokemontag:${this.toID(pokemon.isNonstandard)}`)) continue; if (pokemon.battleOnly) continue; if (this.ruleTable.isBannedSpecies(pokemon)) continue; @@ -744,7 +987,7 @@ export const Formats: FormatList = [ const species = this.dex.species.get(set.species); if (!species.exists || species.num < 1) return [`The Pok\u00e9mon "${set.species}" does not exist.`]; - if (species.isNonstandard || (unreleased(species) && !this.ruleTable.has('+unobtainable'))) { + if (species.isNonstandard && !this.ruleTable.has(`+pokemontag:${this.toID(species.isNonstandard)}`)) { return [`${species.name} is not obtainable in Generation ${this.dex.gen}.`]; } @@ -775,8 +1018,8 @@ export const Formats: FormatList = [ set.species = donorSpecies.name; set.name = donorSpecies.baseSpecies; - if (["Iron Leaves", "Walking Wake"].includes(donorSpecies.name) || - ["Iron Leaves", "Walking Wake"].includes(species.name)) { + const annoyingPokemon = ["Iron Leaves", "Walking Wake", "Iron Boulder", "Gouging Fire", "Iron Crown", "Raging Bolt"]; + if (annoyingPokemon.includes(donorSpecies.name) || annoyingPokemon.includes(species.name)) { set.hpType = "Dark"; } const problems = this.validateSet(set, teamHas); @@ -797,9 +1040,9 @@ export const Formats: FormatList = [ return [`${name} has an illegal set with an ability from ${this.dex.species.get(pokemonWithAbility[0]).name}.`]; } - // Protocol: Include the data of the donor species in the `ability` data slot. + // Protocol: Include the data of the donor species in the `pokeball` data slot. // Afterwards, we are going to reset the name to what the user intended. - set.ability = `${set.ability}0${canonicalSource}`; + set.pokeball = `${set.pokeball}0${canonicalSource}`; return null; }, onValidateTeam(team, f, teamHas) { @@ -871,11 +1114,11 @@ export const Formats: FormatList = [ }, onBegin() { for (const pokemon of this.getAllPokemon()) { - if (pokemon.baseAbility.includes('0')) { - const donor = pokemon.baseAbility.split('0')[1]; + if (pokemon.pokeball.includes('0')) { + const donor = pokemon.pokeball.split('0')[1]; pokemon.m.donor = this.toID(donor); - pokemon.baseAbility = this.toID(pokemon.baseAbility.split('0')[0]); - pokemon.ability = pokemon.baseAbility; + // @ts-ignore + pokemon.pokeball = this.toID(pokemon.pokeball.split('0')[0]); } } }, @@ -887,76 +1130,6 @@ export const Formats: FormatList = [ this.add('-start', pokemon, donorTemplate.name, '[silent]'); }, }, - - // Other Metagames - /////////////////////////////////////////////////////////////////// - - { - section: "Other Metagames", - column: 2, - }, - { - name: "[Gen 9] Almost Any Ability", - desc: `Pokémon have access to almost any ability.`, - threads: [ - `• Almost Any Ability`, - `• AAA Resources`, - ], - - mod: 'gen9', - ruleset: ['Standard OMs', '!Obtainable Abilities', 'Ability Clause = 1', 'Sleep Moves Clause', 'Terastal Clause', 'Min Source Gen = 9'], - banlist: [ - 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Dragapult', 'Enamorus-Base', 'Eternatus', - 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Hariyama', 'Hoopa-Unbound', 'Iron Bundle', 'Iron Hands', 'Iron Valiant', - 'Koraidon', 'Kyogre', 'Magearna', 'Mewtwo', 'Miraidon', 'Noivern', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Shaymin-Sky', 'Slaking', - 'Sneasler', 'Spectrier', 'Ursaluna-Base', 'Urshifu', 'Urshifu-Rapid-Strike', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zoroark-Hisui', - 'Arena Trap', 'Comatose', 'Contrary', 'Fur Coat', 'Good as Gold', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', - 'Innards Out', 'Magic Bounce', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Orichalcum Pulse', 'Parental Bond', 'Poison Heal', 'Pure Power', - 'Shadow Tag', 'Simple', 'Speed Boost', 'Stakeout', 'Unburden', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Razor Fang', 'Baton Pass', - 'Last Respects', 'Revival Blessing', 'Shed Tail', - ], - }, - { - name: "[Gen 9] Balanced Hackmons", - desc: `Anything directly hackable onto a set (EVs, IVs, forme, ability, item, and move) and is usable in local battles is allowed.`, - threads: [ - `• Balanced Hackmons`, - `• BH Resources`, - ], - - mod: 'gen9', - ruleset: [ - 'OHKO Clause', 'Evasion Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', - 'Endless Battle Clause', 'Hackmons Forme Legality', 'Species Reveal Clause', 'Terastal Clause', - ], - banlist: [ - 'Calyrex-Shadow', 'Gengar-Mega', 'Groudon-Primal', 'Mewtwo-Mega-Y', 'Rayquaza-Mega', 'Regigigas', 'Shedinja', 'Slaking', 'Arena Trap', - 'Comatose', 'Contrary', 'Gorilla Tactics', 'Hadron Engine', 'Huge Power', 'Illusion', 'Innards Out', 'Libero', 'Magnet Pull', 'Moody', - 'Neutralizing Gas', 'Orichalcum Pulse', 'Parental Bond', 'Poison Heal', 'Protean', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble', - 'Wonder Guard', 'Baton Pass', 'Belly Drum', 'Ceaseless Edge', 'Dire Claw', 'Fillet Away', 'Imprison', 'Last Respects', 'Lumina Crash', - 'Quiver Dance', 'Rage Fist', 'Revival Blessing', 'Shed Tail', 'Substitute', 'Shell Smash', 'Tail Glow', - ], - }, - { - name: "[Gen 9] Godly Gift", - desc: `Each Pokémon receives one base stat from a God (Restricted Pokémon) depending on its position in the team. If there is no restricted Pokémon, it uses the Pokémon in the first slot.`, - threads: [ - `• Godly Gift`, - `• Godly Gift Resources`, - ], - - mod: 'gen9', - ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Godly Gift Mod', 'Min Source Gen = 9'], - banlist: [ - 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Miraidon', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power', 'Shadow Tag', 'Swift Swim', - 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Shed Tail', - ], - restricted: [ - 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Iron Bundle', 'Kingambit', 'Koraidon', - 'Kyogre', 'Magearna', 'Mewtwo', 'Ogerpon-Hearthflame', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', 'Toxapex', 'Ursaluna', - 'Ursaluna-Bloodmoon', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', - ], - }, { name: "[Gen 9] Mix and Mega", desc: `Mega evolve any Pokémon with any mega stone, or transform them with Primal orbs, Origin orbs, and Rusted items with no limit. Mega and Primal boosts based on form changes from gen 7.`, @@ -966,14 +1139,16 @@ export const Formats: FormatList = [ ], mod: 'mixandmega', - ruleset: ['Standard OMs', 'Evasion Items Clause', 'Evasion Abilities Clause', 'Sleep Moves Clause', 'Terastal Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Evasion Items Clause', 'Evasion Abilities Clause', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Calyrex-Shadow', 'Eternatus', 'Koraidon', 'Kyogre', 'Miraidon', 'Moody', 'Rusted Sword', 'Shadow Tag', 'Beedrillite', 'Blazikenite', 'Gengarite', + 'Calyrex-Shadow', 'Koraidon', 'Kyogre', 'Miraidon', 'Moody', 'Rusted Sword', 'Shadow Tag', 'Beedrillite', 'Blazikenite', 'Gengarite', 'Kangaskhanite', 'Mawilite', 'Medichamite', 'Pidgeotite', 'Baton Pass', 'Shed Tail', ], restricted: [ - 'Arceus', 'Basculegion-Base', 'Calyrex-Ice', 'Dialga', 'Dragapult', 'Flutter Mane', 'Gengar', 'Gholdengo', 'Giratina', 'Groudon', 'Iron Bundle', - 'Kilowattrel', 'Manaphy', 'Mewtwo', 'Palkia', 'Rayquaza', 'Slaking', 'Sneasler', 'Ursaluna-Bloodmoon', 'Urshifu', 'Urshifu-Rapid-Strike', 'Zacian', + 'Arceus', 'Basculegion-Base', 'Calyrex-Ice', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dragapult', 'Enamorus-Base', 'Eternatus', + 'Flutter Mane', 'Gengar', 'Gholdengo', 'Giratina', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Jolteon', 'Kilowattrel', 'Kyurem-Black', + 'Kyurem-White', 'Lunala', 'Manaphy', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Regigigas', + 'Reshiram', 'Slaking', 'Sneasler', 'Ursaluna-Bloodmoon', 'Urshifu-Base', 'Zacian', 'Zekrom', ], onValidateTeam(team) { const itemTable = new Set(); @@ -1028,6 +1203,74 @@ export const Formats: FormatList = [ } }, }, + { + name: "[Gen 9] Shared Power", + desc: `Once a Pokémon switches in, its ability is shared with the rest of the team.`, + threads: [ + `• Shared Power`, + ], + + mod: 'sharedpower', + ruleset: ['Standard OMs', 'Evasion Abilities Clause', 'Evasion Items Clause', 'Sleep Moves Clause'], + banlist: [ + 'Arceus', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Clefable', 'Deoxys-Base', 'Deoxys-Attack', 'Dondozo', 'Eternatus', 'Flutter Mane', 'Greninja', + 'Iron Crown', 'Kingambit', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Koraidon', 'Landorus-Base', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', + 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Ogerpon-Hearthflame', 'Rayquaza', 'Regieleki', 'Reshiram', 'Shaymin-Sky', 'Spectrier', 'Terapagos', + 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Chlorophyll', 'Moody', 'Neutralizing Gas', 'Regenerator', 'Shadow Tag', + 'Speed Boost', 'Stench', 'Swift Swim', 'Unburden', 'King\'s Rock', 'Leppa Berry', 'Razor Fang', 'Starf Berry', 'Baton Pass', 'Extreme Speed', + 'Last Respects', + ], + unbanlist: ['Arceus-Bug', 'Arceus-Dragon', 'Arceus-Fire', 'Arceus-Ice'], + restricted: [ + 'Armor Tail', 'Comatose', 'Contrary', 'Dazzling', 'Fur Coat', 'Gale Wings', 'Good as Gold', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', + 'Magic Bounce', 'Magic Guard', 'Magnet Pull', 'Mold Breaker', 'Multiscale', 'Poison Heal', 'Prankster', 'Protosynthesis', 'Pure Power', 'Purifying Salt', + 'Queenly Majesty', 'Quick Draw', 'Quick Feet', 'Sand Rush', 'Simple', 'Slush Rush', 'Stakeout', 'Stamina', 'Sturdy', 'Surge Surfer', 'Tinted Lens', + 'Triage', 'Unaware', 'Water Bubble', + ], + onValidateRule() { + if (this.format.gameType !== 'singles') { + throw new Error(`Shared Power currently does not support ${this.format.gameType} battles.`); + } + }, + getSharedPower(pokemon) { + const sharedPower = new Set(); + for (const ally of pokemon.side.pokemon) { + if (pokemon.battle.ruleTable.isRestricted(`ability:${ally.baseAbility}`)) continue; + if (ally.previouslySwitchedIn > 0) { + if (pokemon.battle.dex.currentMod !== 'sharedpower' && ['trace', 'mirrorarmor'].includes(ally.baseAbility)) { + sharedPower.add('noability'); + continue; + } + sharedPower.add(ally.baseAbility); + } + } + sharedPower.delete(pokemon.baseAbility); + return sharedPower; + }, + onBeforeSwitchIn(pokemon) { + let format = this.format; + if (!format.getSharedPower) format = this.dex.formats.get('gen9sharedpower'); + for (const ability of format.getSharedPower!(pokemon)) { + const effect = 'ability:' + ability; + pokemon.volatiles[effect] = {id: this.toID(effect), target: pokemon}; + if (!pokemon.m.abils) pokemon.m.abils = []; + if (!pokemon.m.abils.includes(effect)) pokemon.m.abils.push(effect); + } + }, + onSwitchInPriority: 2, + onSwitchIn(pokemon) { + let format = this.format; + if (!format.getSharedPower) format = this.dex.formats.get('gen9sharedpower'); + for (const ability of format.getSharedPower!(pokemon)) { + if (ability === 'noability') { + this.hint(`Mirror Armor and Trace break in Shared Power formats that don't use Shared Power as a base, so they get removed from non-base users.`); + } + const effect = 'ability:' + ability; + delete pokemon.volatiles[effect]; + pokemon.addVolatile(effect); + } + }, + }, { name: "[Gen 9] STABmons", desc: `Pokémon can use any move of their typing, in addition to the moves they can normally learn.`, @@ -1037,103 +1280,30 @@ export const Formats: FormatList = [ ], mod: 'gen9', - ruleset: ['Standard OMs', 'STABmons Move Legality', 'Sleep Moves Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'STABmons Move Legality', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Arceus', 'Azumarill', 'Basculegion', 'Basculegion-F', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Cloyster', - 'Darkrai', 'Dialga', 'Dialga-Origin', 'Dragapult', 'Dragonite', 'Enamorus-Base', 'Eternatus', 'Flutter Mane', 'Garchomp', 'Giratina', - 'Giratina-Origin', 'Groudon', 'Iron Bundle', 'Komala', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Lilligant-Hisui', 'Magearna', 'Mewtwo', - 'Miraidon', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', 'Spectrier', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Urshifu-Base', - 'Walking Wake', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zoroark-Hisui', 'Arena Trap', 'Moody', 'Shadow Tag', - 'Damp Rock', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Shed Tail', + 'Araquanid', 'Arceus', 'Azumarill', 'Basculegion', 'Basculegion-F', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Deoxys-Base', + 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Dragapult', 'Dragonite', 'Enamorus-Base', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', + 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Komala', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', + 'Manaphy', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Palkia-Origin', 'Pecharunt', 'Porygon-Z', 'Rayquaza', + 'Reshiram', 'Roaring Moon', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Terapagos', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Urshifu-Base', 'Zacian', + 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', 'Zoroark-Hisui', 'Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass', + 'Shed Tail', ], restricted: [ - 'Acupressure', 'Astral Barrage', 'Belly Drum', 'Clangorous Soul', 'Dire Claw', 'Extreme Speed', 'Fillet Away', 'Gigaton Hammer', 'Last Respects', - 'No Retreat', 'Revival Blessing', 'Shell Smash', 'Shift Gear', 'Triple Arrows', 'V-create', 'Victory Dance', 'Wicked Blow', - ], - }, - { - name: "[Gen 9] Partners in Crime", - desc: `Doubles-based metagame where both active ally Pokémon share abilities and moves.`, - threads: [ - `• Partners in Crime`, - ], - - mod: 'partnersincrime', - gameType: 'doubles', - ruleset: ['Standard Doubles'], - banlist: [ - 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Cresselia', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Enamorus-Base', - 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Koraidon', 'Kyogre', 'Magearna', 'Mewtwo', 'Miraidon', 'Palkia', - 'Palkia-Origin', 'Rayquaza', 'Urshifu', 'Urshifu-Rapid-Strike', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Dancer', - 'Huge Power', 'Moody', 'Pure Power', 'Serene Grace', 'Shadow Tag', 'Bright Powder', 'King\'s Rock', 'Razor Fang', 'Ally Switch', - 'Last Respects', 'Revival Blessing', 'Swagger', + 'Acupressure', 'Belly Drum', 'Clangorous Soul', 'Dire Claw', 'Extreme Speed', 'Fillet Away', 'Gigaton Hammer', 'Last Respects', 'No Retreat', + 'Revival Blessing', 'Shell Smash', 'Shift Gear', 'Triple Arrows', 'V-create', 'Victory Dance', 'Wicked Blow', ], - onBegin() { - for (const pokemon of this.getAllPokemon()) { - pokemon.m.trackPP = new Map(); - } - }, - onBeforeSwitchIn(pokemon) { - pokemon.m.curMoves = this.dex.deepClone(pokemon.moves); - let ngas = false; - for (const poke of this.getAllActive()) { - if (this.toID(poke.ability) === ('neutralizinggas' as ID)) { - ngas = true; - break; - } - } - const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas', 'illusion', 'wanderingspirit']; - const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); - if (ally && ally.ability !== pokemon.ability) { - if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability))) { - pokemon.m.innate = 'ability:' + ally.ability; - if (!ngas || ally.getAbility().isPermanent || pokemon.hasItem('Ability Shield')) { - pokemon.volatiles[pokemon.m.innate] = {id: pokemon.m.innate, target: pokemon}; - pokemon.m.startVolatile = true; - } - } - if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability))) { - ally.m.innate = 'ability:' + pokemon.ability; - if (!ngas || pokemon.getAbility().isPermanent || ally.hasItem('Ability Shield')) { - ally.volatiles[ally.m.innate] = {id: ally.m.innate, target: ally}; - ally.m.startVolatile = true; - } - } - } - }, - // Starting innate abilities in scripts#actions - onSwitchOut(pokemon) { - if (pokemon.m.innate) { - pokemon.removeVolatile(pokemon.m.innate); - delete pokemon.m.innate; - } - const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); - if (ally && ally.m.innate) { - ally.removeVolatile(ally.m.innate); - delete ally.m.innate; - } - }, - onFaint(pokemon) { - if (pokemon.m.innate) { - pokemon.removeVolatile(pokemon.m.innate); - delete pokemon.m.innate; - } - const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); - if (ally && ally.m.innate) { - ally.removeVolatile(ally.m.innate); - delete ally.m.innate; - } - }, }, { - name: "[Gen 6] Pure Hackmons", + name: "[Gen 7] Pure Hackmons", desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`, threads: [ - `• ORAS Pure Hackmons`, + `• USUM Pure Hackmons`, ], - mod: 'gen6', - ruleset: ['-Nonexistent', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause', 'EV limit = 510'], + mod: 'gen7', + ruleset: ['-Nonexistent', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'], }, // Challengeable OMs @@ -1152,13 +1322,14 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Clause Mod', 'Evasion Items Clause', 'Evasion Abilities Clause', 'Terastal Clause', 'Camomons Mod', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Clause Mod', 'Evasion Items Clause', 'Evasion Abilities Clause', 'Terastal Clause', 'Camomons Mod'], banlist: [ - 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Dragonite', 'Drednaw', - 'Enamorus-Base', 'Espathra', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Iron Bundle', 'Kommo-o', 'Koraidon', 'Kyogre', - 'Landorus-Base', 'Magearna', 'Mewtwo', 'Miraidon', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Roaring Moon', 'Shaymin-Sky', 'Sneasler', 'Spectrier', - 'Tornadus-Therian', 'Volcarona', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Light Clay', - 'Razor Fang', 'Baton Pass', 'Last Respects', 'Shed Tail', + 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Speed', 'Dialga', + 'Dialga-Origin', 'Dragonite', 'Drednaw', 'Enamorus-Base', 'Espathra', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', + 'Iron Bundle', 'Kommo-o', 'Koraidon', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Manaphy', + 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Roaring Moon', 'Shaymin-Sky', + 'Sneasler', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Ursaluna-Bloodmoon', 'Volcarona', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', + 'Arena Trap', 'Moody', 'Shadow Tag', 'Booster Energy', 'King\'s Rock', 'Light Clay', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Shed Tail', ], }, { @@ -1170,150 +1341,84 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Clause Mod', 'Convergence Legality', 'Terastal Clause', '!Obtainable Abilities', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Clause Mod', 'Convergence Legality', 'Terastal Clause', '!Obtainable Abilities'], banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Dondozo', 'Eternatus', 'Flutter Mane', - 'Giratina', 'Giratina-Origin', 'Groudon', 'Inteleon', 'Iron Bundle', 'Iron Hands', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Lilligant-Hisui', - 'Magearna', 'Manaphy', 'Mewtwo', 'Miraidon', 'Ogerpon-Hearthflame', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', - 'Slaking', 'Spectrier', 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Walking Wake', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', - 'Arena Trap', 'Comatose', 'Drizzle', 'Imposter', 'Moody', 'Pure Power', 'Shadow Tag', 'Speed Boost', 'Heat Rock', 'King\'s Rock', 'Light Clay', - 'Razor Fang', 'Baton Pass', 'Extreme Speed', 'Last Respects', 'Population Bomb', 'Quiver Dance', 'Rage Fist', 'Shed Tail', 'Shell Smash', 'Spore', - 'Transform', + 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Speed', 'Dialga', 'Dialga-Origin', + 'Dondozo', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-oh', 'Inteleon', 'Iron Bundle', 'Iron Hands', 'Koraidon', + 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lilligant-Hisui', 'Lugia', 'Lunala', 'Magearna', 'Manaphy', 'Mewtwo', 'Miraidon', + 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Ogerpon-Hearthflame', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Regigigas', + 'Reshiram', 'Shaymin-Sky', 'Solgaleo', 'Slaking', 'Smeargle', 'Spectrier', 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Walking Wake', 'Zacian', + 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Comatose', 'Contrary', 'Drizzle', 'Imposter', 'Moody', 'Pure Power', + 'Shadow Tag', 'Speed Boost', 'Heat Rock', 'King\'s Rock', 'Light Clay', 'Razor Fang', 'Baton Pass', 'Extreme Speed', 'Last Respects', 'Population Bomb', + 'Quiver Dance', 'Rage Fist', 'Shed Tail', 'Shell Smash', 'Spore', 'Transform', ], }, { - name: "[Gen 9] Cross Evolution", - desc: `Give a Pokémon a Pokémon name of the next evolution stage as a nickname to inherit stat changes, typing, abilities, and moves from the next stage Pokémon.`, + name: "[Gen 9] Fervent Impersonation", + desc: `Nickname a Pokémon after another Pokémon that it shares a moveset with, and it will transform into the Pokémon it's nicknamed after once it drops to or below 50% health.`, threads: [ - `• Cross Evolution`, + `• Fervent Impersonation`, ], mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', 'Ability Clause = 2', 'Sleep Moves Clause', 'Terastal Clause', 'Min Source Gen = 9'], - banlist: [ - 'Basculin-White-Striped', 'Kyogre', 'Miraidon', 'Sneasel', 'Sneasel-Hisui', 'Ursaring', 'Arena Trap', 'Huge Power', 'Pure Power', - 'Shadow Tag', 'Speed Boost', 'Moody', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Revival Blessing', + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Fervent Impersonation Mod', '!Nickname Clause'], + banlist: ['Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Dire Claw', 'Shed Tail', 'Last Respects'], + restricted: [ + 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Espathra', 'Eternatus', + 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', + 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Reshiram', 'Shaymin-Sky', + 'Solgaleo', 'Terapagos', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', + ], + // Implemented the mechanics as a Rule because I'm too lazy to make battles read base format for `onResidual` at the moment + }, + { + name: "[Gen 9] Foresighters", + desc: `Moves in the first moveslot will be delayed by two turns.`, + threads: [ + `• Foresighters`, ], - restricted: ['Gallade', 'Gholdengo', 'Frosmoth'], - onValidateTeam(team) { - const names = new Set(); - for (const set of team) { - const name = set.name; - if (names.has(this.dex.toID(name))) { - return [ - `Your Pok\u00e9mon must have different nicknames.`, - `(You have more than one Pok\u00e9mon named '${name}')`, - ]; - } - names.add(this.dex.toID(name)); - } - if (!names.size) { - return [ - `${this.format.name} works using nicknames; your team has 0 nicknamed Pok\u00e9mon.`, - `(If this was intentional, add a nickname to one Pok\u00e9mon that isn't the name of a Pok\u00e9mon species.)`, - ]; - } - }, - checkCanLearn(move, species, lsetData, set) { - // @ts-ignore - if (!set.sp?.exists || !set.crossSpecies?.exists) { - return this.checkCanLearn(move, species, lsetData, set); - } - // @ts-ignore - const problem = this.checkCanLearn(move, set.sp); - if (!problem) return null; - // @ts-ignore - if (this.checkCanLearn(move, set.crossSpecies)) return problem; - return null; - }, - validateSet(set, teamHas) { - const crossSpecies = this.dex.species.get(set.name); - let problems = this.dex.formats.get('Obtainable Misc').onChangeSet?.call(this, set, this.format) || null; - if (Array.isArray(problems) && problems.length) return problems; - const crossNonstandard = (!this.ruleTable.has('standardnatdex') && crossSpecies.isNonstandard === 'Past') || - crossSpecies.isNonstandard === 'Future'; - const crossIsCap = !this.ruleTable.has('+pokemontag:cap') && crossSpecies.isNonstandard === 'CAP'; - if (!crossSpecies.exists || crossNonstandard || crossIsCap) return this.validateSet(set, teamHas); - const species = this.dex.species.get(set.species); - const check = this.checkSpecies(set, species, species, {}); - if (check) return [check]; - const nonstandard = !this.ruleTable.has('standardnatdex') && species.isNonstandard === 'Past'; - const isCap = !this.ruleTable.has('+pokemontag:cap') && species.isNonstandard === 'CAP'; - if (!species.exists || nonstandard || isCap || species === crossSpecies) return this.validateSet(set, teamHas); - if (!species.nfe) return [`${species.name} cannot cross evolve because it doesn't evolve.`]; - const crossIsUnreleased = (crossSpecies.tier === "Unreleased" && crossSpecies.isNonstandard === "Unobtainable" && - !this.ruleTable.has('+unobtainable')); - if (crossSpecies.battleOnly || crossIsUnreleased || !crossSpecies.prevo) { - return [`${species.name} cannot cross evolve into ${crossSpecies.name} because it isn't an evolution.`]; - } - if (this.ruleTable.isRestrictedSpecies(crossSpecies)) { - return [`${species.name} cannot cross evolve into ${crossSpecies.name} because it is banned.`]; - } - const crossPrevoSpecies = this.dex.species.get(crossSpecies.prevo); - if (!crossPrevoSpecies.prevo !== !species.prevo) { - return [ - `${species.name} cannot cross evolve into ${crossSpecies.name} because they are not consecutive evolution stages.`, - ]; - } - const item = this.dex.items.get(set.item); - if (item.itemUser?.length) { - if (!item.itemUser.includes(crossSpecies.name) || crossSpecies.name !== species.name) { - return [`${species.name} cannot use ${item.name} because it is cross evolved into ${crossSpecies.name}.`]; - } - } - const ability = this.dex.abilities.get(set.ability); - if (!this.ruleTable.isRestricted(`ability:${ability.id}`) || Object.values(species.abilities).includes(ability.name)) { - set.species = crossSpecies.name; - } - - // @ts-ignore - set.sp = species; - // @ts-ignore - set.crossSpecies = crossSpecies; - problems = this.validateSet(set, teamHas); - set.name = crossSpecies.name; - set.species = species.name; - return problems; - }, - onModifySpecies(species, target, source, effect) { - if (!target) return; // chat - if (effect && ['imposter', 'transform'].includes(effect.id)) return; - if (target.set.name === target.set.species) return; - const crossSpecies = this.dex.species.get(target.set.name); - if (!crossSpecies.exists) return; - if (species.battleOnly || !species.nfe) return; - const crossIsUnreleased = (crossSpecies.tier === "Unreleased" && crossSpecies.isNonstandard === "Unobtainable" && - !this.ruleTable.has('+unobtainable')); - if (crossSpecies.battleOnly || crossIsUnreleased || !crossSpecies.prevo) return; - const crossPrevoSpecies = this.dex.species.get(crossSpecies.prevo); - if (!crossPrevoSpecies.prevo !== !species.prevo) return; - const mixedSpecies = this.dex.deepClone(species); - mixedSpecies.weightkg = - Math.max(0.1, +(species.weightkg + crossSpecies.weightkg - crossPrevoSpecies.weightkg)).toFixed(1); - mixedSpecies.nfe = false; - mixedSpecies.evos = []; - mixedSpecies.eggGroups = crossSpecies.eggGroups; - mixedSpecies.abilities = crossSpecies.abilities; - mixedSpecies.bst = 0; - let i: StatID; - for (i in species.baseStats) { - const statChange = crossSpecies.baseStats[i] - crossPrevoSpecies.baseStats[i]; - mixedSpecies.baseStats[i] = this.clampIntRange(species.baseStats[i] + statChange, 1, 255); - mixedSpecies.bst += mixedSpecies.baseStats[i]; - } - if (crossSpecies.types[0] !== crossPrevoSpecies.types[0]) mixedSpecies.types[0] = crossSpecies.types[0]; - if (crossSpecies.types[1] !== crossPrevoSpecies.types[1]) { - mixedSpecies.types[1] = crossSpecies.types[1] || crossSpecies.types[0]; + mod: 'gen9', + searchShow: false, + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Terastal Clause'], + banlist: [ + 'Annihilape', 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chien-Pao', 'Chi-Yu', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Espathra', + 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', + 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', + 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Ursaluna-Bloodmoon', 'Urshifu', 'Urshifu-Rapid-Strike', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', + 'Moody', 'Shadow Tag', 'Sand Veil', 'Snow Cloak', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Dire Claw', 'Last Respects', 'Shed Tail', + ], + restricted: [ + 'Beat Up', 'Belly Drum', 'Clangorous Soul', 'Dragon Dance', 'Endeavor', 'Quiver Dance', 'Shell Smash', 'Shift Gear', 'Tail Glow', 'Tidy Up', 'Victory Dance', + ], + onValidateSet(set) { + const fsMove = this.dex.moves.get(set.moves[0]); + if (this.ruleTable.isRestricted(`move:${fsMove.id}`)) { + return [`${set.name}'s move ${fsMove.name} cannot be used as a future move.`]; } - if (mixedSpecies.types[0] === mixedSpecies.types[1]) mixedSpecies.types = [mixedSpecies.types[0]]; - - return mixedSpecies; }, - onBegin() { - for (const pokemon of this.getAllPokemon()) { - pokemon.baseSpecies = pokemon.species; + onModifyMove(move, pokemon) { + if (move.id === pokemon.moveSlots[0].id && !move.flags['futuremove']) { + move.flags['futuremove'] = 1; + delete move.flags['protect']; + move.onTry = function (source, t) { + if (!t.side.addSlotCondition(t, 'futuremove')) { + this.hint('Future moves fail when the targeted slot already has a future move focused on it.'); + return false; + } + const moveData = this.dex.getActiveMove(move.id); + moveData.flags['futuremove'] = 1; + delete moveData.flags['protect']; + Object.assign(t.side.slotConditions[t.position]['futuremove'], { + duration: 3, + move: moveData.id, + source: source, + moveData: moveData, + }); + this.add('-message', `${source.name} foresaw an attack!`); + return this.NOT_FAIL; + }; } }, }, @@ -1326,17 +1431,19 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Clause Mod', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Cloyster', 'Darkrai', 'Dialga-Base', 'Dragonite', 'Espathra', - 'Eternatus', 'Flutter Mane', 'Giratina-Base', 'Great Tusk', 'Groudon', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Magearna', 'Mewtwo', 'Miraidon', - 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', 'Skeledirge', 'Spectrier', 'Sneasler', 'Urshifu-Base', 'Zacian', - 'Zacian-Crowned', 'Zamazenta-Base', 'Arena Trap', 'Moody', 'Serene Grace', 'Shadow Tag', 'Damp Rock', 'Heat Rock', 'Baton Pass', 'Beat Up', - 'Last Respects', + 'Annihilape', 'Arceus', 'Archaludon', 'Azumarill', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Cloyster', 'Comfey', 'Deoxys-Base', 'Deoxys-Attack', + 'Dialga-Base', 'Espathra', 'Eternatus', 'Flutter Mane', 'Giratina-Base', 'Great Tusk', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Iron Treads', 'Koraidon', 'Kyogre', + 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Meowscarada', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palafin', + 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Samurott-Hisui', 'Shaymin-Sky', 'Skeledirge', 'Smeargle', 'Solgaleo', 'Spectrier', 'Sneasler', 'Terapagos', + 'Urshifu', 'Urshifu-Rapid-Strike', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Moody', 'Serene Grace', 'Shadow Tag', + 'Damp Rock', 'Heat Rock', 'Light Clay', 'Baton Pass', 'Beat Up', 'Fake Out', 'Last Respects', 'Shed Tail', ], restricted: [ - 'Dynamic Punch', 'Flail', 'Flip Turn', 'Fury Cutter', 'Grass Knot', 'Grassy Glide', 'Heavy Slam', 'Inferno', - 'Low Kick', 'Nuzzle', 'Power Trip', 'Reversal', 'Spit Up', 'Stored Power', 'Volt Switch', 'Zap Cannon', + 'Doom Desire', 'Dynamic Punch', 'Electro Ball', 'Explosion', 'Gyro Ball', 'Final Gambit', 'Flail', 'Flip Turn', 'Fury Cutter', 'Future Sight', 'Grass Knot', + 'Grassy Glide', 'Hard Press', 'Heavy Slam', 'Heat Crash', 'Inferno', 'Low Kick', 'Misty Explosion', 'Nuzzle', 'Power Trip', 'Reversal', 'Self-Destruct', + 'Spit Up', 'Stored Power', 'Tera Blast', 'U-turn', 'Weather Ball', 'Zap Cannon', ], onValidateTeam(team) { const itemTable = new Set(); @@ -1510,34 +1617,36 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', '!Nickname Clause', '!Obtainable Abilities', 'Sleep Moves Clause', 'Frantic Fusions Mod', 'Terastal Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', '!Nickname Clause', '!Obtainable Abilities', 'Sleep Moves Clause', 'Frantic Fusions Mod', 'Terastal Clause'], banlist: [ - 'Annihilape', 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chien-Pao', 'Chi-Yu', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Ditto', - 'Dragapult', 'Enamorus-Base', 'Eternatus', 'Flutter Mane', 'Gholdengo', 'Giratina', 'Giratina-Origin', 'Groudon', 'Hoopa-Unbound', 'Iron Bundle', - 'Iron Hands', 'Iron Moth', 'Iron Valiant', 'Koraidon', 'Komala', 'Kyogre', 'Landorus-Base', 'Magearna', 'Manaphy', 'Mewtwo', 'Miraidon', 'Numel', - 'Ogerpon-Hearthflame', 'Palafin', 'Palkia', 'Palkia-Origin', 'Persian-Alola', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', 'Slaking', 'Sneasler', - 'Spectrier', 'Toxapex', 'Urshifu', 'Urshifu-Rapid-Strike', 'Walking Wake', 'Weavile', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', - 'Arena Trap', 'Contrary', 'Huge Power', 'Ice Scales', 'Illusion', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Poison Heal', 'Pure Power', - 'Shadow Tag', 'Stakeout', 'Stench', 'Speed Boost', 'Unburden', 'Damp Rock', 'Heat Rock', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Baton Pass', - 'Last Respects', 'Revival Blessing', 'Shed Tail', + 'Annihilape', 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Comfey', 'Cresselia', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', + 'Deoxys-Speed', 'Dialga', 'Dialga-Origin', 'Ditto', 'Dragapult', 'Enamorus-Base', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Gouging Fire', + 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Iron Boulder', 'Iron Bundle', 'Iron Moth', 'Iron Valiant', 'Keldeo', 'Koraidon', 'Komala', 'Kyogre', 'Kyurem', 'Kyurem-Black', + 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Numel', 'Ogerpon-Hearthflame', + 'Palafin', 'Palkia', 'Palkia-Origin', 'Persian-Alola', 'Rayquaza', 'Regieleki', 'Regigigas', 'Reshiram', 'Shaymin-Sky', 'Slaking', 'Solgaleo', 'Spectrier', 'Toxapex', + 'Urshifu', 'Urshifu-Rapid-Strike', 'Volcarona', 'Walking Wake', 'Weavile', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', + 'Contrary', 'Huge Power', 'Ice Scales', 'Illusion', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Poison Heal', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Stench', + 'Speed Boost', 'Unburden', 'Water Bubble', 'Damp Rock', 'Heat Rock', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Revival Blessing', + 'Shed Tail', ], }, { name: "[Gen 9] Full Potential", - desc: `Pokémon's moves hit off of their highest stat.`, + desc: `Pokémon's moves hit off of their highest stat, except HP.`, threads: [ `• Full Potential`, ], mod: 'fullpotential', searchShow: false, - ruleset: ['Standard OMs', 'Evasion Abilities Clause', 'Evasion Items Clause', 'Sleep Moves Clause', 'Terastal Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Evasion Abilities Clause', 'Evasion Items Clause', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dialga-Origin', 'Dragapult', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', - 'Iron Bundle', 'Koraidon', 'Kyogre', 'Mewtwo', 'Miraidon', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Scream Tail', 'Shaymin-Sky', - 'Spectrier', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Arena Trap', 'Chlorophyll', 'Drought', 'Moody', 'Sand Rush', - 'Shadow Tag', 'Slush Rush', 'Swift Swim', 'Unburden', 'Booster Energy', 'Choice Scarf', 'Heat Rock', 'King\'s Rock', 'Razor Fang', 'Baton Pass', - 'Shed Tail', 'Tailwind', + 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Dialga', 'Dialga-Origin', 'Dragapult', + 'Eternatus', 'Giratina', 'Giratina-Origin', 'Goodra-Hisui', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', + 'Lugia', 'Lunala', 'Mewtwo', 'Miraidon', 'Necrozma-Dusk-Mane', 'Necrozma-Dawn-Wings', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Scream Tail', + 'Shaymin-Sky', 'Spectrier', 'Solgaleo', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Chlorophyll', 'Drought', + 'Moody', 'Sand Rush', 'Shadow Tag', 'Slush Rush', 'Speed Boost', 'Surge Surfer', 'Swift Swim', 'Unburden', 'Booster Energy', 'Choice Scarf', 'Heat Rock', + 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Shed Tail', 'Tailwind', ], }, { @@ -1548,12 +1657,14 @@ export const Formats: FormatList = [ ], mod: 'pokebilities', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Clause Mod', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Moves Clause'], banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Dialga', 'Dialga-Origin', 'Espathra', 'Eternatus', 'Flutter Mane', 'Giratina', - 'Giratina-Origin', 'Groudon', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Miraidon', 'Mewtwo', 'Palafin', 'Palkia', - 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Spectrier', 'Zacian', 'Zacian-Crowned', 'Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', - 'Razor Fang', 'Baton Pass', 'Shed Tail', 'Last Respects', + 'Arceus', 'Annihilape', 'Basculegion', 'Basculegion-F', 'Baxcalibur', 'Braviary-Hisui', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Conkeldurr', 'Deoxys-Base', + 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Espathra', 'Eternatus', 'Excadrill', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Koraidon', + 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Miraidon', 'Mewtwo', 'Necrozma-Dusk-Mane', 'Necrozma-Dawn-Wings', 'Ogerpon-Hearthflame', + 'Palafin', 'Palkia', 'Palkia-Origin', 'Porygon-Z', 'Rayquaza', 'Regieleki', 'Reshiram', 'Shaymin-Sky', 'Smeargle', 'Sneasler', 'Solgaleo', 'Spectrier', 'Terapagos', + 'Ursaluna-Bloodmoon', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', + 'Baton Pass', 'Shed Tail', 'Last Respects', ], onValidateSet(set) { const species = this.dex.species.get(set.species); @@ -1643,12 +1754,14 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Revelationmons Mod', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Revelationmons Mod', 'Terastal Clause'], banlist: [ - 'Arceus', 'Barraskewda', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Dialga', 'Dialga-Origin', 'Dragonite', 'Espathra', 'Eternatus', - 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Mewtwo', 'Miraidon', - 'Noivern', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Spectrier', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', - 'Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Last Respects', + 'Arceus', 'Barraskewda', 'Basculegion-Base', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Deoxys-Base', + 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Dragapult', 'Dragonite', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', + 'Ho-Oh', 'Iron Bundle', 'Kommo-o', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', + 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Ogerpon-Hearthflame', 'Palafin', 'Palkia', 'Palkia-Origin', + 'Polteageist', 'Rayquaza', 'Reshiram', 'Roaring Moon', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', + 'Zekrom', 'Arena Trap', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass', 'Last Respects', ], restricted: ['U-turn', 'Volt Switch'], }, @@ -1661,13 +1774,14 @@ export const Formats: FormatList = [ mod: 'sharingiscaring', searchShow: false, - ruleset: ['Standard OMs', 'Evasion Items Clause', 'Sleep Moves Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Evasion Items Clause', 'Sleep Moves Clause', 'Terastal Clause'], banlist: [ - 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Espathra', 'Eternatus', 'Flutter Mane', - 'Giratina', 'Giratina-Origin', 'Groudon', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Magearna', 'Mewtwo', 'Miraidon', 'Palafin', 'Palkia', - 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', 'Spectrier', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', - 'Arena Trap', 'Moody', 'Shadow Tag', 'Choice Scarf', 'Focus Band', 'Focus Sash', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Baton Pass', - 'Last Respects', 'Revival Blessing', 'Shed Tail', + 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', 'Espathra', + 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', + 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palafin', 'Palkia', 'Palkia-Origin', + 'Rayquaza', 'Regieleki', 'Reshiram', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Terapagos', 'Urshifu-Base', 'Zacian', 'Zacian-Crowned', 'Zamazenta', + 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Moody', 'Scope Lens', 'Shadow Tag', 'Choice Band', 'Choice Scarf', 'Choice Specs', 'Focus Band', + 'Focus Sash', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Baton Pass', 'Last Respects', 'Revival Blessing', 'Shed Tail', ], onValidateRule() { if (this.format.gameType !== 'singles') { @@ -1677,7 +1791,7 @@ export const Formats: FormatList = [ getSharedItems(pokemon) { const items = new Set(); for (const ally of pokemon.side.pokemon) { - if (!ally.item) continue; + if (!ally.item || ally.fainted) continue; items.add(ally.item); } items.delete(pokemon.item); @@ -1686,7 +1800,9 @@ export const Formats: FormatList = [ onBeforeSwitchIn(pokemon) { let format = this.format; if (!format.getSharedItems) format = this.dex.formats.get('gen9sharingiscaring'); + if (!pokemon.m.sharedItemsUsed) pokemon.m.sharedItemsUsed = []; for (const item of format.getSharedItems!(pokemon)) { + if (pokemon.m.sharedItemsUsed.includes(item)) continue; const effect = 'item:' + item; pokemon.volatiles[effect] = {id: this.toID(effect), target: pokemon}; if (!pokemon.m.items) pokemon.m.items = []; @@ -1698,6 +1814,7 @@ export const Formats: FormatList = [ let format = this.format; if (!format.getSharedItems) format = this.dex.formats.get('gen9sharingiscaring'); for (const item of format.getSharedItems!(pokemon)) { + if (pokemon.m.sharedItemsUsed.includes(item)) continue; const effect = 'item:' + item; delete pokemon.volatiles[effect]; pokemon.addVolatile(effect); @@ -1713,14 +1830,21 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Moves CLause', 'Tera Type Preview', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Tera Type Preview'], banlist: [ - 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Dialga', 'Dialga-Origin', 'Espathra', 'Eternatus', - 'Giratina', 'Giratina-Origin', 'Groudon', 'Flutter Mane', 'Hoopa-Unbound', 'Iron Bundle', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Magearna', - 'Mewtwo', 'Miraidon', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Shaymin-Sky', 'Spectrier', 'Urshifu', 'Urshifu-Rapid-Strike', - 'Volcarona', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', 'Arena Trap', 'Moody', 'Shadow Tag', 'Booster Energy', 'Heat Rock', 'King\'s Rock', - 'Razor Fang', 'Baton Pass', 'Last Respects', 'Shed Tail', + 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Speed', + 'Dialga', 'Dialga-Origin', 'Espathra', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Flutter Mane', 'Ho-Oh', 'Hoopa-Unbound', + 'Iron Bundle', 'Koraidon', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Mewtwo', + 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regieleki', 'Reshiram', + 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Terapagos', 'Urshifu', 'Urshifu-Rapid-Strike', 'Volcarona', 'Zacian', 'Zacian-Crowned', + 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Moody', 'Shadow Tag', 'Booster Energy', 'Heat Rock', 'King\'s Rock', 'Razor Fang', + 'Baton Pass', 'Last Respects', 'Shed Tail', ], + onValidateRule() { + if (this.dex.gen !== 9) { + throw new Error(`Tera Donation is not supported in generations without terastallization.`); + } + }, onSwitchIn(pokemon) { if (this.turn === 0) { this.actions.terastallize(pokemon); @@ -1736,8 +1860,19 @@ export const Formats: FormatList = [ onModifyMove(move, pokemon, target) { if (move.id === 'terablast') { const teraType = pokemon.m.thirdType; - if (teraType && pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) { - move.category = 'Physical'; + move.basePowerCallback = function (p, t, m) { + if ((p.terastallized || teraType) === 'Stellar') { + return 100; + } + return 80; + }; + if (teraType) { + if (pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) { + move.category = 'Physical'; + } + if (teraType === "Stellar") { + move.self = {boosts: {atk: -1, spa: -1}}; + } } } }, @@ -1749,9 +1884,130 @@ export const Formats: FormatList = [ } } }, + onPrepareHit(target, source, move) { + if (move.id === 'terablast' && source.m.thirdType) { + this.attrLastMove('[anim] Tera Blast ' + source.m.thirdType); + } + }, + actions: { + modifyDamage(baseDamage, pokemon, target, move, suppressMessages) { + const tr = this.battle.trunc; + if (!move.type) move.type = '???'; + const type = move.type; + + baseDamage += 2; + + if (move.spreadHit) { + // multi-target modifier (doubles only) + const spreadModifier = move.spreadModifier || (this.battle.gameType === 'freeforall' ? 0.5 : 0.75); + this.battle.debug('Spread modifier: ' + spreadModifier); + baseDamage = this.battle.modify(baseDamage, spreadModifier); + } else if (move.multihitType === 'parentalbond' && move.hit > 1) { + // Parental Bond modifier + const bondModifier = this.battle.gen > 6 ? 0.25 : 0.5; + this.battle.debug(`Parental Bond modifier: ${bondModifier}`); + baseDamage = this.battle.modify(baseDamage, bondModifier); + } + + // weather modifier + baseDamage = this.battle.runEvent('WeatherModifyDamage', pokemon, target, move, baseDamage); + + // crit - not a modifier + const isCrit = target.getMoveHitData(move).crit; + if (isCrit) { + baseDamage = tr(baseDamage * (move.critModifier || (this.battle.gen >= 6 ? 1.5 : 2))); + } + + // random factor - also not a modifier + baseDamage = this.battle.randomizer(baseDamage); + + // STAB + // The "???" type never gets STAB + // Not even if you Roost in Gen 4 and somehow manage to use + // Struggle in the same turn. + // (On second thought, it might be easier to get a MissingNo.) + if (type !== '???') { + let stab: number | [number, number] = 1; + + const isSTAB = move.forceSTAB || pokemon.hasType(type) || pokemon.getTypes(false, true).includes(type); + if (isSTAB) { + stab = 1.5; + } + + // The Stellar tera type makes this incredibly confusing + // If the move's type does not match one of the user's base types, + // the Stellar tera type applies a one-time 1.2x damage boost for that type. + // + // If the move's type does match one of the user's base types, + // then the Stellar tera type applies a one-time 2x STAB boost for that type, + // and then goes back to using the regular 1.5x STAB boost for those types. + if ((pokemon.terastallized || pokemon.m.thirdType) === 'Stellar') { + if (!pokemon.stellarBoostedTypes.includes(type)) { + stab = isSTAB ? 2 : [4915, 4096]; + if (pokemon.species.name !== 'Terapagos-Stellar') { + pokemon.stellarBoostedTypes.push(type); + } + } + } else { + if (pokemon.terastallized === type && pokemon.getTypes(false, true).includes(type)) { + stab = 2; + } + stab = this.battle.runEvent('ModifySTAB', pokemon, target, move, stab); + } + + baseDamage = this.battle.modify(baseDamage, stab); + } + + // types + let typeMod = target.runEffectiveness(move); + typeMod = this.battle.clampIntRange(typeMod, -6, 6); + target.getMoveHitData(move).typeMod = typeMod; + if (typeMod > 0) { + if (!suppressMessages) this.battle.add('-supereffective', target); + + for (let i = 0; i < typeMod; i++) { + baseDamage *= 2; + } + } + if (typeMod < 0) { + if (!suppressMessages) this.battle.add('-resisted', target); + + for (let i = 0; i > typeMod; i--) { + baseDamage = tr(baseDamage / 2); + } + } + + if (isCrit && !suppressMessages) this.battle.add('-crit', target); + + if (pokemon.status === 'brn' && move.category === 'Physical' && !pokemon.hasAbility('guts')) { + if (this.battle.gen < 6 || move.id !== 'facade') { + baseDamage = this.battle.modify(baseDamage, 0.5); + } + } + + // Generation 5, but nothing later, sets damage to 1 before the final damage modifiers + if (this.battle.gen === 5 && !baseDamage) baseDamage = 1; + + // Final modifier. Modifiers that modify damage after min damage check, such as Life Orb. + baseDamage = this.battle.runEvent('ModifyDamage', pokemon, target, move, baseDamage); + + if (move.isZOrMaxPowered && target.getMoveHitData(move).zBrokeProtect) { + baseDamage = this.battle.modify(baseDamage, 0.25); + this.battle.add('-zbroken', target); + } + + // Generation 6-7 moves the check for minimum 1 damage after the final modifier... + if (this.battle.gen !== 5 && !baseDamage) return 1; + + // ...but 16-bit truncation happens even later, and can truncate to 0 + return tr(baseDamage, 16); + }, + }, pokemon: { getTypes(excludeAdded, preterastallized) { - if (!preterastallized && this.terastallized) return [this.terastallized]; + if (!preterastallized && this.terastallized && this.terastallized !== 'Stellar') { + return [this.terastallized]; + } const types = this.battle.runEvent('Type', this, null, null, this.types); if (!excludeAdded && this.addedType) return types.concat(this.addedType); const addTeraType = this.m.thirdType; @@ -1759,7 +2015,17 @@ export const Formats: FormatList = [ if (addTeraType) return Array.from(new Set([...types, addTeraType])); return types; } - return [this.battle.gen >= 5 ? 'Normal' : '???']; + return [this.battle.gen >= 5 ? 'Normal' : '???']; + }, + runEffectiveness(move) { + if ((this.terastallized || this.m.thirdType) && move.type === 'Stellar') return 1; + let totalTypeMod = 0; + for (const type of this.getTypes()) { + let typeMod = this.battle.dex.getEffectiveness(move, type); + typeMod = this.battle.singleEvent('Effectiveness', move, null, this, type, move, typeMod); + totalTypeMod += this.battle.runEvent('Effectiveness', this, type, move, typeMod); + } + return totalTypeMod; }, }, }, @@ -1772,13 +2038,14 @@ export const Formats: FormatList = [ mod: 'thecardgame', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Evasion Abilities Clause', 'Evasion Items Clause', 'Terastal Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Evasion Abilities Clause', 'Evasion Items Clause', 'Terastal Clause'], banlist: [ - 'Annihilape', 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Dialga', 'Dialga-Origin', 'Dragapult', 'Dragonite', - 'Dudunsparce', 'Eternatus', 'Garchomp', 'Giratina', 'Giratina-Origin', 'Groudon', 'Haxorus', 'Hydreigon', 'Iron Valiant', 'Kommo-o', 'Koraidon', - 'Kyogre', 'Landorus-Base', 'Mewtwo', 'Miraidon', 'Noivern', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regidrago', 'Regieleki', 'Roaring Moon', - 'Salamence', 'Shaymin-Sky', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Urshifu-Base', 'Walking Wake', 'Zacian', 'Zacian-Crowned', 'Arena Trap', 'Moody', - 'Shadow Tag', 'Baton Pass', 'Last Respects', 'Shed Tail', + 'Annihilape', 'Arceus', 'Baxcalibur', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dialga-Origin', + 'Dragapult', 'Dragonite', 'Dudunsparce', 'Eternatus', 'Garchomp', 'Giratina', 'Giratina-Origin', 'Gouging Fire', 'Groudon', 'Haxorus', 'Ho-Oh', 'Hydreigon', + 'Iron Valiant', 'Kommo-o', 'Koraidon', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia', 'Lunala', 'Mewtwo', + 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palafin', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Regidrago', 'Regieleki', 'Reshiram', + 'Roaring Moon', 'Salamence', 'Shaymin-Sky', 'Solgaleo', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Urshifu-Base', 'Walking Wake', 'Zacian', 'Zacian-Crowned', 'Zekrom', + 'Arena Trap', 'Moody', 'Shadow Tag', 'Baton Pass', 'Last Respects', 'Shed Tail', ], onBegin() { for (const pokemon of this.getAllPokemon()) { @@ -1814,7 +2081,7 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Clause Mod', '!OHKO Clause', 'Picked Team Size = 6', 'Adjust Level = 100', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Clause Mod', '!OHKO Clause', 'Picked Team Size = 6', 'Adjust Level = 100'], banlist: ['Infiltrator', 'Choice Scarf', 'Explosion', 'Final Gambit', 'Healing Wish', 'Lunar Dance', 'Magic Room', 'Memento', 'Misty Explosion', 'Self-Destruct'], onValidateTeam(team) { const familyTable = new Set(); @@ -1900,7 +2167,7 @@ export const Formats: FormatList = [ mod: 'trademarked', searchShow: false, - ruleset: ['Standard OMs', 'Sleep Moves Clause', 'Min Source Gen = 9'], + ruleset: ['Standard OMs', 'Sleep Moves Clause'], banlist: [ 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Flutter Mane', 'Giratina', 'Giratina-Origin', 'Groudon', 'Koraidon', 'Kyogre', 'Landorus-Base', 'Magearna', 'Mewtwo', 'Miraidon', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Slaking', 'Spectrier', @@ -1959,6 +2226,17 @@ export const Formats: FormatList = [ return problems.length ? problems : null; }, }, + { + name: "[Gen 6] Pure Hackmons", + desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`, + threads: [ + `• ORAS Pure Hackmons`, + ], + + mod: 'gen6', + searchShow: false, + ruleset: ['-Nonexistent', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause', 'EV limit = 510'], + }, // National Dex /////////////////////////////////////////////////////////////////// @@ -1970,8 +2248,8 @@ export const Formats: FormatList = [ name: "[Gen 9] National Dex", threads: [ `• National Dex Metagame Discussion`, - `• National Dex Ubers Viability Rankings`, - `• National Dex Ubers Sample Teams`, + `• National Dex Viability Rankings`, + `• National Dex Sample Teams`, ], mod: 'gen9', @@ -2003,7 +2281,7 @@ export const Formats: FormatList = [ mod: 'gen9', ruleset: ['[Gen 9] National Dex', 'Terastal Clause'], - banlist: ['ND OU', 'ND UUBL', 'Battle Bond', 'Drizzle', 'Drought'], + banlist: ['ND OU', 'ND UUBL', 'Drizzle', 'Drought', 'Light Clay'], }, { name: "[Gen 9] National Dex RU", @@ -2015,7 +2293,7 @@ export const Formats: FormatList = [ mod: 'gen9', searchShow: false, ruleset: ['[Gen 9] National Dex UU'], - banlist: ['ND UU', 'ND RUBL', 'Heat Rock', 'Light Clay'], + banlist: ['ND UU', 'ND RUBL', 'Slowbro-Base + Slowbronite', 'Heat Rock'], }, { name: "[Gen 9] National Dex Monotype", @@ -2028,16 +2306,15 @@ export const Formats: FormatList = [ mod: 'gen9', ruleset: ['Standard NatDex', 'Same Type Clause', 'Terastal Clause', 'Species Clause', 'OHKO Clause', 'Evasion Clause', 'Sleep Clause Mod'], banlist: [ - 'Annihilape', 'Arceus', 'Baxcalibur', 'Blastoise-Mega', 'Blaziken', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', - 'Chien-Pao', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dracovish', 'Dragapult', 'Espathra', 'Eternatus', 'Flutter Mane', - 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Iron Bundle', 'Kangaskhan-Mega', - 'Kartana', 'Kingambit', 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', - 'Marshadow', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Miraidon', 'Naganadel', 'Necrozma-Dawn-Wings', - 'Necrozma-Dusk-Mane', 'Palafin', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', - 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', - 'Zygarde-Base', 'Zygarde-Complete', 'Moody', 'Shadow Tag', 'Power Construct', 'Booster Energy', 'Damp Rock', 'Focus Band', - 'Icy Rock', 'King\'s Rock', 'Leppa Berry', 'Quick Claw', 'Razor Fang', 'Smooth Rock', 'Terrain Extender', 'Acupressure', - 'Baton Pass', 'Last Respects', + 'Annihilape', 'Arceus', 'Baxcalibur', 'Blastoise-Mega', 'Blaziken', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chi-Yu', 'Chien-Pao', + 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dracovish', 'Dragapult', 'Espathra', 'Eternatus', 'Flutter Mane', 'Genesect', 'Gengar-Mega', + 'Giratina', 'Giratina-Origin', 'Gouging Fire', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Iron Bundle', 'Kangaskhan-Mega', 'Kartana', 'Kingambit', + 'Koraidon', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mawile-Mega', 'Medicham-Mega', + 'Metagross-Mega', 'Mewtwo', 'Miraidon', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Ogerpon-Hearthflame', 'Palafin', 'Palkia', + 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Ursaluna-Bloodmoon', 'Urshifu-Base', 'Xerneas', + 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Zygarde-Complete', 'Moody', 'Shadow Tag', + 'Power Construct', 'Booster Energy', 'Damp Rock', 'Focus Band', 'Icy Rock', 'King\'s Rock', 'Leppa Berry', 'Quick Claw', 'Razor Fang', 'Smooth Rock', + 'Terrain Extender', 'Acupressure', 'Baton Pass', 'Last Respects', 'Shed Tail', ], }, { @@ -2051,10 +2328,26 @@ export const Formats: FormatList = [ gameType: 'doubles', ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Evasion Abilities Clause', 'Species Clause', 'Gravity Sleep Clause'], banlist: [ - 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Groudon', - 'Ho-Oh', 'Koraidon', 'Kyogre', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Melmetal', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', - 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Shedinja', 'Solgaleo', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Crowned', - 'Zekrom', 'Commander', 'Power Construct', 'Assist', 'Dark Void', 'Swagger', + 'Annihilape', 'Arceus', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dialga-Origin', 'Eternatus', 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', + 'Groudon', 'Ho-Oh', 'Koraidon', 'Kyogre', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Melmetal', 'Metagross-Mega', 'Mewtwo', 'Miraidon', 'Necrozma-Dawn-Wings', + 'Necrozma-Dusk-Mane', 'Palkia', 'Palkia-Origin', 'Rayquaza', 'Reshiram', 'Shedinja', 'Solgaleo', 'Terapagos', 'Urshifu', 'Urshifu-Rapid-Strike', 'Xerneas', + 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Commander', 'Power Construct', 'Assist', 'Coaching', 'Dark Void', 'Swagger', + ], + }, + { + name: "[Gen 9] National Dex Ubers UU", + threads: [ + `• National Dex Ubers UU`, + ], + + mod: 'gen9', + ruleset: ['[Gen 9] National Dex Ubers'], + banlist: [ + 'Arceus-Base', 'Arceus-Dark', 'Arceus-Ground', 'Calyrex-Ice', 'Deoxys-Attack', 'Deoxys-Speed', 'Ditto', 'Eternatus', 'Giratina-Origin', 'Glimmora', + 'Groudon-Primal', 'Hatterene', 'Ho-Oh', 'Kyogre-Primal', 'Lunala', 'Marshadow', 'Melmetal', 'Mewtwo-Mega-Y', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra', + 'Rayquaza', 'Salamence-Mega', 'Yveltal', 'Zacian-Crowned', 'Zygarde-Base', + // UUBL + 'Arceus-Fairy', 'Arceus-Ghost', 'Chi-Yu', 'Flutter Mane', 'Kyurem-Black', 'Shaymin-Sky', 'Zacian', 'Power Construct', 'Light Clay', 'Ultranecrozium Z', 'Last Respects', ], }, { @@ -2137,12 +2430,13 @@ export const Formats: FormatList = [ searchShow: false, ruleset: ['Standard NatDex', 'Same Type Clause', 'Species Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Evasion Items Clause', 'Dynamax Clause', 'Sleep Clause Mod'], banlist: [ - 'Arceus', 'Blastoise-Mega', 'Blaziken', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dracovish', 'Dragapult', - 'Eternatus', 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Greninja-Bond', 'Greninja-Ash', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kartana', 'Kyogre', - 'Kyurem-Black', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Moltres-Galar', - 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', - 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Zygarde-Complete', 'Battle Bond', - 'Power Construct', 'Moody', 'Shadow Tag', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Smooth Rock', 'Terrain Extender', 'Baton Pass', + 'Arceus', 'Blastoise-Mega', 'Blaziken', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dracovish', + 'Dragapult', 'Eternatus', 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Greninja-Bond', 'Greninja-Ash', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', + 'Kangaskhan-Mega', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mawile-Mega', 'Medicham-Mega', + 'Metagross-Mega', 'Mewtwo', 'Moltres-Galar', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', + 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', + 'Zygarde-Complete', 'Battle Bond', 'Power Construct', 'Moody', 'Shadow Tag', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Smooth Rock', + 'Terrain Extender', 'Baton Pass', ], }, @@ -2154,68 +2448,13 @@ export const Formats: FormatList = [ column: 3, }, { - name: "[Gen 9] Partners in Crime Random Battle", - desc: `Doubles-based metagame where both active ally Pokémon share abilities and moves.`, + name: "[Gen 9] Chimera 1v1 Random Battle", + desc: "Merges a team of six into a single Pok\u00e9mon depending on the order chosen at team preview: It gains the typing of the first, item of the second, ability of the third, stats of the fourth, the first two moves of the fifth, and the last two moves of the sixth.", - mod: 'partnersincrime', - gameType: 'doubles', team: 'random', - ruleset: ['[Gen 9] Random Doubles Battle'], + ruleset: ['[Gen 9] Random Battle', 'Chimera 1v1 Rule', 'Terastal Clause', 'Adjust Level = 100'], onBegin() { - for (const pokemon of this.getAllPokemon()) { - pokemon.m.trackPP = new Map(); - } - }, - onBeforeSwitchIn(pokemon) { - pokemon.m.curMoves = this.dex.deepClone(pokemon.moves); - let ngas = false; - for (const poke of this.getAllActive()) { - if (this.toID(poke.ability) === ('neutralizinggas' as ID)) { - ngas = true; - break; - } - } - const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas', 'illusion', 'wanderingspirit']; - const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); - if (ally && ally.ability !== pokemon.ability) { - if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability))) { - pokemon.m.innate = 'ability:' + ally.ability; - if (!ngas || ally.getAbility().isPermanent || pokemon.hasItem('Ability Shield')) { - pokemon.volatiles[pokemon.m.innate] = {id: pokemon.m.innate, target: pokemon}; - pokemon.m.startVolatile = true; - } - } - if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability))) { - ally.m.innate = 'ability:' + pokemon.ability; - if (!ngas || pokemon.getAbility().isPermanent || ally.hasItem('Ability Shield')) { - ally.volatiles[ally.m.innate] = {id: ally.m.innate, target: ally}; - ally.m.startVolatile = true; - } - } - } - }, - // Starting innate abilities in scripts#actions - onSwitchOut(pokemon) { - if (pokemon.m.innate) { - pokemon.removeVolatile(pokemon.m.innate); - delete pokemon.m.innate; - } - const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); - if (ally && ally.m.innate) { - ally.removeVolatile(ally.m.innate); - delete ally.m.innate; - } - }, - onFaint(pokemon) { - if (pokemon.m.innate) { - pokemon.removeVolatile(pokemon.m.innate); - delete pokemon.m.innate; - } - const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted); - if (ally && ally.m.innate) { - ally.removeVolatile(ally.m.innate); - delete ally.m.innate; - } + this.add(`raw|
Chimera Rands is a 1v1 format where you combine your 6 Pokemon into one "Chimera." The order you select during team preview is important! In sequence, your picks determine your Chimera's Type, Item, Ability, Stats, Moves 1 & 2, then finally Moves 3 & 4.
`); }, }, { @@ -2234,6 +2473,59 @@ export const Formats: FormatList = [ section: "Randomized Metas", column: 3, }, + { + name: "[Gen 9] Super Staff Bros Ultimate", + desc: "The fifth iteration of Super Staff Bros is here! Battle with a random team of pokemon created by the sim staff.", + threads: [ + `• Introduction & Roster`, + `• Patch Notes`, + `• Discussion Thread`, + ], + + mod: 'gen9ssb', + debug: true, + team: 'randomStaffBros', + ruleset: ['HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'], + onBegin() { + // TODO look into making an event to put this right after turn|1 + // https://discordapp.com/channels/630837856075513856/630845310033330206/716126469528485909 + // Requires client change + this.add(`raw|
Wondering what all these custom moves, abilities, and items do?
Check out the Super Staff Bros: Ultimate Guide or use /ssb to find out!
`); + if (this.ruleTable.has('dynamaxclause')) { + // Old joke format we're bringing back + this.add('message', 'Fox only'); + this.add('message', 'No items'); + this.add('message', 'Final Destination'); + return; + } + + this.add('message', 'EVERYONE IS HERE!'); + this.add('message', 'FIGHT!'); + }, + onSwitchInPriority: 100, + onSwitchIn(pokemon) { + let name: string = this.toID(pokemon.illusion ? pokemon.illusion.name : pokemon.name); + if (this.dex.species.get(name).exists || this.dex.moves.get(name).exists || + this.dex.abilities.get(name).exists || name === 'blitz') { + // Certain pokemon have volatiles named after their id + // To prevent overwriting those, and to prevent accidentaly leaking + // that a pokemon is on a team through the onStart even triggering + // at the start of a match, users with pokemon names will need their + // statuses to end in "user". + name = name + 'user'; + } + // Add the mon's status effect to it as a volatile. + const status = this.dex.conditions.get(name); + if (status?.exists) { + pokemon.addVolatile(name, pokemon); + } + if ((pokemon.illusion || pokemon).getTypes(true, true).join('/') !== + this.dex.forGen(9).species.get((pokemon.illusion || pokemon).species.name).types.join('/') && + !pokemon.terastallized) { + this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]'); + } + }, + }, { name: "[Gen 9] Monotype Random Battle", @@ -2317,111 +2609,108 @@ export const Formats: FormatList = [ ruleset: ['HP Percentage Mod', 'Cancel Mod'], banlist: ['All Pokemon', 'All Abilities', 'All Items', 'All Moves'], unbanlist: [ - '10,000,000 Volt Thunderbolt', 'Abomasnow-Mega', 'Absol-Mega', 'Accelerock', 'Acid Spray', 'Adaptability', - 'Aeroblast', 'Aerodactyl-Mega', 'Aggron', 'Aggron-Mega', 'Aguav Berry', 'Air Balloon', 'Air Slash', 'Alakazam-Mega', - 'Altaria-Mega', 'Ampharos-Mega', 'Analytic', 'Anchor Shot', 'Anger Shell', 'Annihilape', 'Anticipation', 'Apple Acid', - 'Aqua Step', 'Arcanine', 'Arcanine-Hisui', 'Archeops', 'Arena Trap', 'Armarouge', 'Armor Cannon', 'Aromatherapy', - 'Articuno', 'Articuno-Galar', 'Assault Vest', 'Astral Barrage', 'Attack Order', 'Audino-Mega', 'Aura Sphere', - 'Axe Kick', 'Azelf', 'Baddy Bad', 'Baneful Bunker', 'Banette-Mega', 'Barb Barrage', 'Basculegion', 'Basculegion-F', - 'Baton Pass', 'Baxcalibur', 'Beads of Ruin', 'Beak Blast', 'Beast Boost', 'Behemoth Bash', 'Behemoth Blade', - 'Belly Drum', 'Berserk', 'Bitter Blade', 'Bitter Malice', 'Blacephalon', 'Blastoise', 'Blastoise-Mega', 'Blaziken', - 'Blaziken-Mega', 'Blazing Torque', 'Bleakwind Storm', 'Blissey', 'Blizzard', 'Blood Moon', 'Blue Flare', 'Blunder Policy', - 'Body Press', 'Body Slam', 'Bolt Beak', 'Bolt Strike', 'Boomburst', 'Bouncy Bubble', 'Brave Bird', 'Bright Powder', - 'Brute Bonnet', 'Bug Buzz', 'Buginium Z', 'Bullet Punch', 'Buzzwole', 'Buzzy Buzz', 'Calm Mind', 'Calyrex-Ice', - 'Calyrex-Shadow', 'Camerupt-Mega', 'Catastropika', 'Ceaseless Edge', 'Celebi', 'Celesteela', 'Centiskorch', - 'Ceruledge', 'Charizard', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Chatter', 'Chesnaught', 'Chesto Berry', 'Chi-Yu', - 'Chien-Pao', 'Chilan Berry', 'Chilly Reception', 'Choice Band', 'Choice Scarf', 'Choice Specs', 'Cinderace', - 'Circle Throw', 'Clanging Scales', 'Clangorous Soul', 'Clangorous Soulblaze', 'Clear Amulet', 'Close Combat', - 'Cloyster', 'Cobalion', 'Coil', 'Collision Course', 'Comatose', 'Combat Torque', 'Competitive', 'Compound Eyes', - 'Contrary', 'Core Enforcer', 'Cosmic Power', 'Cotton Guard', 'Court Change', 'Covert Cloak', 'Crabhammer', - 'Cresselia', 'Crobat', 'Custap Berry', 'Dark Pulse', 'Darkest Lariat', 'Darkinium Z', 'Darkrai', 'Darmanitan-Galar-Zen', - 'Darmanitan-Zen', 'Decidueye', 'Decidueye-Hisui', 'Defend Order', 'Defiant', 'Defog', 'Delphox', 'Deoxys', - 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Desolate Land', 'Dialga', 'Dialga-Origin', 'Diamond Storm', - 'Diancie', 'Diancie-Mega', 'Dire Claw', 'Disable', 'Discharge', 'Dondozo', 'Doom Desire', 'Double Iron Bash', - 'Download', 'Draco Meteor', 'Draco Plate', 'Dragapult', 'Dragon Ascent', 'Dragon Dance', 'Dragon Darts', - 'Dragon Energy', 'Dragon Hammer', 'Dragon Pulse', 'Dragon Tail', 'Dragonite', 'Dragonium Z', 'Drain Punch', - 'Dread Plate', 'Drill Peck', 'Drizzle', 'Drought', 'Drum Beating', 'Dry Skin', 'Duraludon', 'Dusknoir', - 'Dynamax Cannon', 'Earth Eater', 'Earth Plate', 'Earth Power', 'Earthquake', 'Eerie Spell', 'Effect Spore', - 'Eject Pack', 'Electivire', 'Electric Surge', 'Electrium Z', 'Electro Drift', 'Emboar', 'Empoleon', 'Enamorus', - 'Enamorus-Therian', 'Encore', 'Energy Ball', 'Entei', 'Eruption', 'Espeon', 'Esper Wing', 'Eternatus', - 'Eternatus-Eternamax', 'Exeggutor', 'Exeggutor-Alola', 'Expanding Force', 'Expert Belt', 'Explosion', - 'Extreme Evoboost', 'Extreme Speed', 'Fairium Z', 'Fake Out', 'Feraligatr', 'Fezandipiti', 'Fiery Wrath', 'Fightinium Z', - 'Figy Berry', 'Filter', 'Fire Blast', 'Fire Lash', 'Firium Z', 'First Impression', 'Fishious Rend', 'Fist Plate', - 'Flame Body', 'Flame Charge', 'Flame Plate', 'Flamethrower', 'Flare Blitz', 'Flareon', 'Flash Cannon', 'Fleur Cannon', - 'Flip Turn', 'Floaty Fall', 'Florges', 'Flower Trick', 'Fluffy', 'Flutter Mane', 'Flyinium Z', 'Focus Blast', - 'Focus Sash', 'Forewarn', 'Foul Play', 'Freeze-Dry', 'Freezing Glare', 'Freezy Frost', 'Frost Breath', 'Fur Coat', - 'Fusion Bolt', 'Fusion Flare', 'Future Sight', 'G-Max Cannonade', 'G-Max Centiferno', 'G-Max Resonance', 'G-Max Steelsurge', - 'G-Max Stonesurge', 'G-Max Sweetness', 'G-Max Vine Lash', 'G-Max Volcalith', 'G-Max Wildfire', 'G-Max Wind Rage', - 'Gallade-Mega', 'Garchomp', 'Garchomp-Mega', 'Gardevoir-Mega', 'Gear Grind', 'Genesect', 'Genesis Supernova', - 'Gengar-Mega', 'Gholdengo', 'Ghostium Z', 'Giga Drain', 'Gigaton Hammer', 'Giratina', 'Giratina-Origin', - 'Glaceon', 'Glacial Lance', 'Glaive Rush', 'Glalie-Mega', 'Glare', 'Glastrier', 'Glimmora', 'Glitzy Glow', 'Gogoat', - 'Golisopod', 'Good as Gold', 'Goodra', 'Goodra-Hisui', 'Gooey', 'Gorilla Tactics', 'Grassium Z', 'Grassy Surge', - 'Grav Apple', 'Great Tusk', 'Greninja', 'Greninja-Ash', 'Groudon', 'Groudon-Primal', 'Groundium Z', + '10,000,000 Volt Thunderbolt', 'Abomasnow-Mega', 'Absol-Mega', 'Accelerock', 'Acid Spray', 'Adaptability', 'Aeroblast', + 'Aerodactyl-Mega', 'Aftermath', 'Aggron', 'Aggron-Mega', 'Aguav Berry', 'Air Balloon', 'Air Slash', 'Alakazam-Mega', + 'Alluring Voice', 'Altaria-Mega', 'Ampharos-Mega', 'Analytic', 'Anchor Shot', 'Anger Shell', 'Annihilape', 'Anticipation', + 'Apple Acid', 'Aqua Step', 'Arcanine', 'Arcanine-Hisui', 'Archaludon', 'Archeops', 'Arena Trap', 'Armarouge', 'Armor Cannon', + 'Aromatherapy', 'Articuno', 'Articuno-Galar', 'As One (Glastrier)', 'As One (Spectrier)', 'Assault Vest', 'Astral Barrage', + 'Attack Order', 'Audino-Mega', 'Aura Sphere', 'Axe Kick', 'Azelf', 'Baddy Bad', 'Baneful Bunker', 'Banette-Mega', + 'Barb Barrage', 'Basculegion', 'Basculegion-F', 'Baton Pass', 'Baxcalibur', 'Beads of Ruin', 'Beak Blast', 'Beast Boost', + 'Behemoth Bash', 'Behemoth Blade', 'Belly Drum', 'Berserk', 'Bitter Blade', 'Bitter Malice', 'Blacephalon', 'Blastoise', + 'Blastoise-Mega', 'Blaziken', 'Blaziken-Mega', 'Blazing Torque', 'Bleakwind Storm', 'Blissey', 'Blizzard', 'Blood Moon', + 'Blue Flare', 'Blunder Policy', 'Body Press', 'Body Slam', 'Bolt Beak', 'Bolt Strike', 'Boomburst', 'Bouncy Bubble', + 'Brave Bird', 'Bright Powder', 'Brute Bonnet', 'Bug Buzz', 'Bullet Punch', 'Burning Bulwark', 'Buzzwole', 'Buzzy Buzz', + 'Calm Mind', 'Calyrex-Ice', 'Calyrex-Shadow', 'Camerupt-Mega', 'Catastropika', 'Ceaseless Edge', 'Celebi', 'Celesteela', + 'Centiskorch', 'Ceruledge', 'Charizard', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Chatter', 'Chesnaught', 'Chesto Berry', + 'Chi-Yu', 'Chien-Pao', 'Chilan Berry', 'Chilling Neigh', 'Chilly Reception', 'Choice Band', 'Choice Scarf', 'Choice Specs', + 'Cinderace', 'Circle Throw', 'Clanging Scales', 'Clangorous Soul', 'Clangorous Soulblaze', 'Clear Amulet', 'Clear Body', + 'Clear Smog', 'Close Combat', 'Cloyster', 'Cobalion', 'Coil', 'Collision Course', 'Comatose', 'Combat Torque', 'Competitive', + 'Compound Eyes', 'Contrary', 'Core Enforcer', 'Cosmic Power', 'Cotton Guard', 'Court Change', 'Covert Cloak', 'Crabhammer', + 'Cresselia', 'Crobat', 'Cross Chop', 'Curse', 'Custap Berry', 'Dark Pulse', 'Darkest Lariat', 'Darkrai', + 'Darmanitan-Galar-Zen', 'Darmanitan-Zen', 'Decidueye', 'Decidueye-Hisui', 'Defend Order', 'Defiant', 'Defog', 'Delphox', + 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Desolate Land', 'Dialga', 'Dialga-Origin', 'Diamond Storm', + 'Diancie', 'Diancie-Mega', 'Dire Claw', 'Disable', 'Discharge', 'Dondozo', 'Doom Desire', 'Double Iron Bash', 'Download', + 'Draco Meteor', 'Draco Plate', 'Dragapult', 'Dragon Ascent', 'Dragon Dance', 'Dragon Darts', 'Dragon Energy', 'Dragon Hammer', + 'Dragon Pulse', 'Dragon Tail', 'Dragonite', 'Drain Punch', 'Dread Plate', 'Drill Peck', 'Drizzle', 'Drought', 'Drum Beating', + 'Dry Skin', 'Duraludon', 'Dusknoir', 'Dynamax Cannon', 'Earth Eater', 'Earth Plate', 'Earth Power', 'Earthquake', + 'Eerie Spell', 'Effect Spore', 'Eject Pack', 'Electivire', 'Electric Surge', 'Electro Drift', 'Emboar', 'Empoleon', + 'Enamorus', 'Enamorus-Therian', 'Encore', 'Energy Ball', 'Entei', 'Eruption', 'Espeon', 'Esper Wing', 'Eternatus', + 'Eternatus-Eternamax', 'Exeggutor', 'Exeggutor-Alola', 'Expanding Force', 'Expert Belt', 'Explosion', 'Extreme Evoboost', + 'Extreme Speed', 'Fake Out', 'Feraligatr', 'Fezandipiti', 'Fickle Beam', 'Fiery Wrath', 'Figy Berry', 'Filter', + 'Fire Blast', 'Fire Lash', 'First Impression', 'Fishious Rend', 'Fist Plate', 'Flame Body', 'Flame Charge', 'Flame Plate', + 'Flamethrower', 'Flare Blitz', 'Flareon', 'Flash Cannon', 'Fleur Cannon', 'Flip Turn', 'Floaty Fall', 'Florges', + 'Flower Trick', 'Fluffy', 'Flutter Mane', 'Focus Blast', 'Focus Sash', 'Forewarn', 'Foul Play', 'Freeze-Dry', 'Freezing Glare', + 'Freezy Frost', 'Frost Breath', 'Full Metal Body', 'Fur Coat', 'Fusion Bolt', 'Fusion Flare', 'Future Sight', 'G-Max Befuddle', + 'G-Max Cannonade', 'G-Max Centiferno', 'G-Max Resonance', 'G-Max Steelsurge', 'G-Max Stonesurge', 'G-Max Sweetness', + 'G-Max Vine Lash', 'G-Max Volcalith', 'G-Max Wildfire', 'G-Max Wind Rage', 'Gallade-Mega', 'Garchomp', 'Garchomp-Mega', + 'Gardevoir-Mega', 'Gear Grind', 'Genesect', 'Genesis Supernova', 'Gengar-Mega', 'Gholdengo', 'Giga Drain', 'Gigaton Hammer', + 'Giratina', 'Giratina-Origin', 'Glaceon', 'Glacial Lance', 'Glaive Rush', 'Glalie-Mega', 'Glare', 'Glastrier', 'Glimmora', + 'Glitzy Glow', 'Gogoat', 'Golisopod', 'Good as Gold', 'Goodra', 'Goodra-Hisui', 'Gooey', 'Gorilla Tactics', 'Gouging Fire', + 'Grassy Surge', 'Grav Apple', 'Great Tusk', 'Greninja', 'Greninja-Ash', 'Grim Neigh', 'Groudon', 'Groudon-Primal', 'Guardian of Alola', 'Gunk Shot', 'Guzzlord', 'Gyarados', 'Gyarados-Mega', 'Hadron Engine', 'Hammer Arm', 'Haxorus', - 'Haze', 'Head Charge', 'Head Smash', 'Headlong Rush', 'Heal Bell', 'Heal Order', 'Healing Wish', 'Heart Swap', - 'Heat Crash', 'Heat Wave', 'Heatran', 'Heavy-Duty Boots', 'Heracross-Mega', 'High Horsepower', 'High Jump Kick', - 'Hippowdon', 'Ho-Oh', 'Hoopa', 'Hoopa-Unbound', 'Horn Leech', 'Houndoom-Mega', 'Huge Power', 'Hurricane', 'Hydreigon', - 'Hydro Steam', 'Hyper Drill', 'Iapapa Berry', 'Ice Beam', 'Ice Hammer', 'Ice Scales', 'Ice Shard', 'Ice Spinner', - 'Icicle Plate', 'Icium Z', 'Illusion', 'Imposter', 'Incineroar', 'Infernape', 'Innards Out', 'Insect Plate', - 'Inteleon', 'Intimidate', 'Intrepid Sword', 'Iron Barbs', 'Iron Bundle', 'Iron Hands', 'Iron Head', 'Iron Jugulis', - 'Iron Leaves', 'Iron Moth', 'Iron Plate', 'Iron Thorns', 'Iron Treads', 'Iron Valiant', 'Ivy Cudgel', 'Jet Punch', 'Jirachi', - 'Jolteon', 'Judgment', 'Kangaskhan-Mega', 'Kartana', 'Keldeo', 'Keldeo-Resolute', 'King\'s Rock', 'King\'s Shield', - 'Kingambit', 'Kingdra', 'Knock Off', 'Kommo-o', 'Koraidon', 'Kyogre', 'Kyogre-Primal', 'Kyurem', 'Kyurem-Black', - 'Kyurem-White', 'Landorus', 'Landorus-Therian', 'Lapras', 'Last Respects', 'Latias', 'Latias-Mega', 'Latios', - 'Latios-Mega', 'Lava Plume', 'Leaf Blade', 'Leaf Storm', 'Leafeon', 'Leech Life', 'Leech Seed', 'Leftovers', - 'Leppa Berry', 'Let\'s Snuggle Forever', 'Levitate', 'Libero', 'Liechi Berry', 'Life Orb', 'Light Screen', - 'Light That Burns the Sky', 'Light of Ruin', 'Lightning Rod', 'Liquidation', 'Lopunny-Mega', 'Lovely Kiss', - 'Low Kick', 'Lucario', 'Lucario-Mega', 'Lugia', 'Lum Berry', 'Lumina Crash', 'Lunala', 'Lunar Blessing', - 'Lunar Dance', 'Lunge', 'Mach Punch', 'Magearna', 'Magic Bounce', 'Magic Guard', 'Magical Torque', 'Magma Storm', - 'Magmortar', 'Magnezone', 'Mago Berry', 'Make It Rain', 'Malicious Moonsault', 'Mamoswine', 'Manaphy', - 'Manectric-Mega', 'Marshadow', 'Matcha Gotcha', 'Max Guard', 'Meadow Plate', 'Megahorn', 'Meganium', 'Melmetal', 'Meloetta', + 'Haze', 'Head Charge', 'Head Smash', 'Headlong Rush', 'Heal Bell', 'Heal Order', 'Healing Wish', 'Heart Swap', 'Heat Crash', + 'Heat Wave', 'Heatran', 'Heavy-Duty Boots', 'Heracross-Mega', 'High Horsepower', 'High Jump Kick', 'Hippowdon', 'Ho-Oh', + 'Hone Claws', 'Hoopa', 'Hoopa-Unbound', 'Horn Leech', 'Houndoom-Mega', 'Huge Power', 'Hurricane', 'Hustle', 'Hydreigon', + 'Hydrapple', 'Hydro Pump', 'Hydro Steam', 'Hyper Drill', 'Iapapa Berry', 'Ice Beam', 'Ice Hammer', 'Ice Scales', 'Ice Shard', + 'Ice Spinner', 'Icicle Plate', 'Illusion', 'Imposter', 'Incineroar', 'Infernape', 'Innards Out', 'Insect Plate', 'Inteleon', + 'Intimidate', 'Intrepid Sword', 'Iron Barbs', 'Iron Boulder', 'Iron Bundle', 'Iron Crown', 'Iron Hands', 'Iron Head', + 'Iron Jugulis', 'Iron Leaves', 'Iron Moth', 'Iron Plate', 'Iron Tail', 'Iron Thorns', 'Iron Treads', 'Iron Valiant', + 'Ivy Cudgel', 'Jet Punch', 'Jirachi', 'Jolteon', 'Judgment', 'Jungle Healing', 'Kangaskhan-Mega', 'Kartana', 'Keldeo', + 'Keldeo-Resolute', 'King\'s Rock', 'King\'s Shield', 'Kingambit', 'Kingdra', 'Knock Off', 'Kommo-o', 'Koraidon', 'Kyogre', + 'Kyogre-Primal', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus', 'Landorus-Therian', 'Lapras', 'Last Respects', 'Latias', + 'Latias-Mega', 'Latios', 'Latios-Mega', 'Lava Plume', 'Leaf Blade', 'Leaf Storm', 'Leafeon', 'Leech Life', 'Leech Seed', + 'Leftovers', 'Leppa Berry', 'Let\'s Snuggle Forever', 'Levitate', 'Libero', 'Liechi Berry', 'Life Orb', 'Light Screen', + 'Light That Burns the Sky', 'Light of Ruin', 'Lightning Rod', 'Liquidation', 'Lopunny-Mega', 'Lovely Kiss', 'Low Kick', + 'Lucario', 'Lucario-Mega', 'Lugia', 'Lum Berry', 'Lumina Crash', 'Lunala', 'Lunar Blessing', 'Lunar Dance', 'Lunge', + 'Luster Purge', 'Mach Punch', 'Magearna', 'Magic Bounce', 'Magic Guard', 'Magical Torque', 'Magma Storm', 'Magmortar', + 'Magnezone', 'Mago Berry', 'Make It Rain', 'Malicious Moonsault', 'Malignant Chain', 'Mamoswine', 'Manaphy', 'Manectric-Mega', + 'Marshadow', 'Marvel Scale', 'Matcha Gotcha', 'Max Guard', 'Meadow Plate', 'Megahorn', 'Meganium', 'Melmetal', 'Meloetta', 'Meloetta-Pirouette', 'Memento', 'Menacing Moonraze Maelstrom', 'Mental Herb', 'Meowscarada', 'Mesprit', 'Metagross', - 'Metagross-Mega', 'Meteor Beam', 'Meteor Mash', 'item: Metronome', 'Mew', 'Mewtwo', 'Mewtwo-Mega-X', 'Mewtwo-Mega-Y', - 'Milk Drink', 'Milotic', 'Mind Plate', 'Mind\'s Eye', 'Minimize', 'Miraidon', 'Mirror Herb', 'Misty Explosion', 'Misty Surge', - 'Mold Breaker', 'Moltres', 'Moltres-Galar', 'Moody', 'Moonblast', 'Moongeist Beam', 'Moonlight', 'Morning Sun', - 'Mortal Spin', 'Mountain Gale', 'Moxie', 'Multiscale', 'Munkidori', 'Muscle Band', 'Mystical Fire', 'Mystical Power', - 'Naganadel', 'Nasty Plot', 'Nature\'s Madness', 'Necrozma', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra', - 'Neutralizing Gas', 'Night Daze', 'Night Shade', 'Nihilego', 'No Retreat', 'Noivern', 'Normalium Z', 'Noxious Torque', - 'Nuzzle', 'Oblivion Wing', 'Obstruct', 'Oceanic Operetta', 'Octolock', 'Ogerpon', 'Ogerpon-Cornerstone', - 'Ogerpon-Hearthflame', 'Ogerpon-Wellspring', 'Okidogi', 'Opportunist', 'Orichalcum Pulse', 'Origin Pulse', - 'Outrage', 'Overdrive', 'Overheat', 'Palafin-Hero', 'Palkia', 'Palkia-Origin', 'Parental Bond', - 'Parting Shot', 'Perish Body', 'Petaya Berry', 'Pheromosa', 'Photon Geyser', 'Pidgeot-Mega', 'Pinsir-Mega', - 'Pixie Plate', 'Plasma Fists', 'Play Rough', 'Poison Heal', 'Poisonium Z', 'Pollen Puff', 'Poltergeist', - 'Population Bomb', 'Porygon-Z', 'Power Gem', 'Power Trip', 'Power Whip', 'Prankster', 'Precipice Blades', 'Primarina', - 'Primordial Sea', 'Probopass', 'Protean', 'Protect', 'Psyblade', 'Psychic Fangs', 'Psychic Surge', 'Psychic', - 'Psychium Z', 'Psycho Boost', 'Psyshield Bash', 'Psystrike', 'Pulverizing Pancake', 'Pure Power', 'Purifying Salt', - 'Pursuit', 'Pyro Ball', 'Quaquaval', 'Quick Claw', 'Quiver Dance', 'Rage Fist', 'Raging Bull', 'Raging Fury', 'Raikou', - 'Rapid Spin', 'Rayquaza', 'Rayquaza-Mega', 'Razor Claw', 'Recover', 'Red Card', 'Reflect', 'Regenerator', 'Regice', - 'Regidrago', 'Regieleki', 'Regigigas', 'Regirock', 'Registeel', 'Reshiram', 'Rest', 'Revelation Dance', - 'Revival Blessing', 'Rhyperior', 'Rillaboom', 'Roaring Moon', 'Rockium Z', 'Rocky Helmet', 'Roost', 'Rough Skin', - 'Ruination', 'Sacred Fire', 'Sacred Sword', 'Salac Berry', 'Salamence', 'Salamence-Mega', 'Salt Cure', 'Samurott', - 'Samurott-Hisui', 'Sandsear Storm', 'Sandy Shocks', 'Sap Sipper', 'Sappy Seed', 'Scald', 'Sceptile', 'Sceptile-Mega', - 'Scizor-Mega', 'Scope Lens', 'Scream Tail', 'Searing Shot', 'Searing Sunraze Smash', 'Secret Sword', 'Seed Flare', - 'Seismic Toss', 'Serene Grace', 'Serperior', 'Shadow Ball', 'Shadow Bone', 'Shadow Shield', 'Shadow Sneak', - 'Shadow Tag', 'Sharpedo-Mega', 'Shaymin', 'Shaymin-Sky', 'Shed Tail', 'Sheer Force', 'Shell Side Arm', + 'Metagross-Mega', 'Meteor Mash', 'item: Metronome', 'Mew', 'Mewtwo', 'Mewtwo-Mega-X', 'Mewtwo-Mega-Y', 'Mighty Cleave', + 'Milk Drink', 'Milotic', 'Mind Plate', 'Mind\'s Eye', 'Minimize', 'Miraidon', 'Mirror Herb', 'Mist Ball', 'Misty Surge', + 'Mold Breaker', 'Moltres', 'Moltres-Galar', 'Moody', 'Moonblast', 'Moongeist Beam', 'Moonlight', 'Morning Sun', 'Mortal Spin', + 'Mountain Gale', 'Moxie', 'Multiscale', 'Munkidori', 'Muscle Band', 'Mystical Fire', 'Mystical Power', 'Naganadel', + 'Nasty Plot', 'Natural Cure', 'Nature\'s Madness', 'Necrozma', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra', + 'Neuroforce', 'Neutralizing Gas', 'Night Daze', 'Night Shade', 'Nihilego', 'No Retreat', 'Noivern', 'Noxious Torque', + 'Nuzzle', 'Oblivion Wing', 'Obstruct', 'Oceanic Operetta', 'Octolock', 'Ogerpon', 'Ogerpon-Cornerstone', 'Ogerpon-Hearthflame', + 'Ogerpon-Wellspring', 'Okidogi', 'Opportunist', 'Orichalcum Pulse', 'Origin Pulse', 'Outrage', 'Overdrive', 'Overheat', + 'Pain Split', 'Palafin-Hero', 'Palkia', 'Palkia-Origin', 'Parental Bond', 'Parting Shot', 'Pecharunt', 'Perish Body', + 'Perish Song', 'Petaya Berry', 'Pheromosa', 'Photon Geyser', 'Pidgeot-Mega', 'Pinsir-Mega', 'Pixie Plate', 'Plasma Fists', + 'Play Rough', 'Poison Heal', 'Poison Point', 'Poison Touch', 'Pollen Puff', 'Poltergeist', 'Population Bomb', 'Porygon-Z', + 'Power Gem', 'Power Trip', 'Power Whip', 'Prankster', 'Precipice Blades', 'Primarina', 'Primordial Sea', 'Prism Armor', + 'Probopass', 'Protean', 'Protect', 'Psyblade', 'Psychic Fangs', 'Psychic Surge', 'Psychic', 'Psycho Boost', 'Psyshield Bash', + 'Psystrike', 'Pulverizing Pancake', 'Pure Power', 'Purifying Salt', 'Pursuit', 'Pyro Ball', 'Quaquaval', 'Quick Claw', + 'Quiver Dance', 'Rage Fist', 'Raging Bolt', 'Raging Bull', 'Raging Fury', 'Raikou', 'Rapid Spin', 'Rayquaza', 'Rayquaza-Mega', + 'Razor Claw', 'Recover', 'Red Card', 'Reflect', 'Regenerator', 'Regice', 'Regidrago', 'Regieleki', 'Regigigas', 'Regirock', + 'Registeel', 'Reshiram', 'Rest', 'Revelation Dance', 'Revival Blessing', 'Rhyperior', 'Rillaboom', 'Roar', 'Roaring Moon', + 'Rocky Helmet', 'Roost', 'Rough Skin', 'Ruination', 'Sacred Fire', 'Sacred Sword', 'Salac Berry', 'Salamence', 'Salamence-Mega', + 'Salt Cure', 'Samurott', 'Samurott-Hisui', 'Sandsear Storm', 'Sandy Shocks', 'Sap Sipper', 'Sappy Seed', 'Scald', 'Sceptile', + 'Sceptile-Mega', 'Scizor-Mega', 'Scope Lens', 'Scream Tail', 'Searing Shot', 'Searing Sunraze Smash', 'Secret Sword', + 'Seed Flare', 'Seismic Toss', 'Serene Grace', 'Serperior', 'Shadow Ball', 'Shadow Bone', 'Shadow Shield', 'Shadow Sneak', + 'Shadow Tag', 'Sharpedo-Mega', 'Shaymin', 'Shaymin-Sky', 'Shed Skin', 'Shed Tail', 'Sheer Force', 'Shell Side Arm', 'Shell Smash', 'Shield Dust', 'Shift Gear', 'Silk Scarf', 'Silk Trap', 'Silvally', 'Simple', 'Sinister Arrow Raid', 'Sitrus Berry', 'Sizzly Slide', 'Skeledirge', 'Sky Plate', 'Slack Off', 'Slaking', 'Sleep Powder', 'Slither Wing', - 'Slowbro-Mega', 'Sludge Bomb', 'Sludge Wave', 'Snarl', 'Snipe Shot', 'Snorlax', 'Soft-Boiled', 'Solgaleo', - 'Solid Rock', 'Soul-Heart', 'Soul-Stealing 7-Star Strike', 'Spacial Rend', 'Sparkly Swirl', 'Spectral Thief', - 'Spectrier', 'Speed Boost', 'Spikes', 'Spiky Shield', 'Spin Out', 'Spirit Break', 'Spirit Shackle', 'Splash Plate', - 'Splintered Stormshards', 'Splishy Splash', 'Spooky Plate', 'Spore', 'Springtide Storm', 'Stakataka', 'Stakeout', - 'Stamina', 'Stealth Rock', 'Steam Eruption', 'Steelium Z', 'Steelix-Mega', 'Sticky Web', 'Stoked Sparksurfer', - 'Stone Axe', 'Stone Edge', 'Stone Plate', 'Stored Power', 'Storm Drain', 'Storm Throw', 'Strange Steam', - 'Strength Sap', 'Sucker Punch', 'Suicune', 'Sunsteel Strike', 'Super Fang', 'Superpower', 'Supersweet Syrup', - 'Supreme Overlord', 'Surf', 'Surging Strikes', 'Swampert', 'Swampert-Mega', 'Sword of Ruin', 'Swords Dance', 'Sylveon', - 'Synthesis', 'Tablets of Ruin', 'Tail Glow', 'Tangrowth', 'Tapu Bulu', 'Tapu Fini', 'Tapu Koko', 'Tapu Lele', 'Taunt', - 'Techno Blast', 'Teleport', 'Tera Blast', 'Teravolt', 'Terrakion', 'Thick Fat', 'Thousand Arrows', 'Thousand Waves', - 'Throat Spray', 'Thunder Cage', 'Thunder Wave', 'Thunder', 'Thunderbolt', 'Thunderous Kick', 'Thundurus', 'Thundurus-Therian', - 'Tidy Up', 'Ting-Lu', 'Tinted Lens', 'Togekiss', 'Topsy-Turvy', 'Torch Song', 'Tornadus', 'Tornadus-Therian', 'Torterra', - 'Tough Claws', 'Toxic Chain', 'Toxic Debris', 'Toxic Plate', 'Toxic Spikes', 'Toxic', 'Tri Attack', 'Triage', 'Triple Arrows', - 'Triple Axel', 'Turboblaze', 'Type: Null', 'Typhlosion', 'Typhlosion-Hisui', 'Tyranitar', 'Tyranitar-Mega', 'U-turn', - 'Umbreon', 'Unaware', 'Unburden', 'Ursaluna', 'Ursaluna-Bloodmoon', 'Urshifu', 'Urshifu-Rapid-Strike', 'Uxie', 'V-create', - 'Vanilluxe', 'Vaporeon', 'Venusaur', 'Venusaur-Mega', 'Vessel of Ruin', 'Victini', 'Victory Dance', 'Virizion', 'Volcanion', - 'Volcarona', 'Volt Absorb', 'Volt Switch', 'Volt Tackle', 'Walking Wake', 'Walrein', 'Water Absorb', 'Water Bubble', - 'Water Shuriken', 'Water Spout', 'Waterfall', 'Waterium Z', 'Wave Crash', 'Weakness Policy', 'Well-Baked Body', - 'White Herb', 'Wicked Blow', 'Wicked Torque', 'Wide Lens', 'Wiki Berry', 'Wild Charge', 'Wildbolt Storm', - 'Will-O-Wisp', 'Wise Glasses', 'Wish', 'Wishiwashi-School', 'Wo-Chien', 'Wonder Guard', 'Wood Hammer', 'Wyrdeer', - 'Xerneas', 'Xurkitree', 'Yawn', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zap Plate', + 'Slowbro-Mega', 'Sludge Bomb', 'Sludge Wave', 'Snarl', 'Snipe Shot', 'Snorlax', 'Soft-Boiled', 'Solgaleo', 'Solid Rock', + 'Soul-Heart', 'Soul-Stealing 7-Star Strike', 'Spacial Rend', 'Sparkly Swirl', 'Spectral Thief', 'Spectrier', 'Speed Boost', + 'Spikes', 'Spiky Shield', 'Spin Out', 'Spirit Break', 'Spirit Shackle', 'Splash Plate', 'Splintered Stormshards', + 'Splishy Splash', 'Spooky Plate', 'Spore', 'Springtide Storm', 'Stakataka', 'Stakeout', 'Stamina', 'Static', 'Stealth Rock', + 'Steam Eruption', 'Steelix-Mega', 'Sticky Web', 'Stoked Sparksurfer', 'Stone Axe', 'Stone Edge', 'Stone Plate', 'Stored Power', + 'Storm Drain', 'Storm Throw', 'Strange Steam', 'Strength Sap', 'Sturdy', 'Sucker Punch', 'Suicune', 'Sunsteel Strike', + 'Super Fang', 'Supercell Slam', 'Superpower', 'Supreme Overlord', 'Surf', 'Surging Strikes', 'Swampert', 'Swampert-Mega', + 'Sword of Ruin', 'Swords Dance', 'Sylveon', 'Synthesis', 'Tablets of Ruin', 'Tachyon Cutter', 'Tail Glow', 'Tangling Hair', + 'Tangrowth', 'Tapu Bulu', 'Tapu Fini', 'Tapu Koko', 'Tapu Lele', 'Taunt', 'Techno Blast', 'Teleport', 'Tera Blast', + 'Tera Starstorm', 'Terapagos-Stellar', 'Terapagos-Terastal', 'Teravolt', 'Terrakion', 'Thermal Exchange', 'Thick Fat', + 'Thousand Arrows', 'Thousand Waves', 'Throat Spray', 'Thunder Cage', 'Thunder Wave', 'Thunder', 'Thunderbolt', 'Thunderclap', + 'Thunderous Kick', 'Thundurus', 'Thundurus-Therian', 'Tidy Up', 'Ting-Lu', 'Tinted Lens', 'Togekiss', 'Topsy-Turvy', + 'Torch Song', 'Tornadus', 'Tornadus-Therian', 'Torterra', 'Tough Claws', 'Toxic Chain', 'Toxic Debris', 'Toxic Plate', + 'Toxic Spikes', 'Toxic', 'Tri Attack', 'Triage', 'Triple Arrows', 'Triple Axel', 'Turboblaze', 'Type: Null', 'Typhlosion', + 'Typhlosion-Hisui', 'Tyranitar', 'Tyranitar-Mega', 'U-turn', 'Umbreon', 'Unaware', 'Unburden', 'Ursaluna', 'Ursaluna-Bloodmoon', + 'Urshifu', 'Urshifu-Rapid-Strike', 'Uxie', 'V-create', 'Vanilluxe', 'Vaporeon', 'Venusaur', 'Venusaur-Mega', 'Vessel of Ruin', + 'Victini', 'Victory Dance', 'Virizion', 'Volcanion', 'Volcarona', 'Volt Absorb', 'Volt Switch', 'Volt Tackle', 'Walking Wake', + 'Walrein', 'Water Absorb', 'Water Bubble', 'Water Shuriken', 'Water Spout', 'Waterfall', 'Wave Crash', 'Weakness Policy', + 'Well-Baked Body', 'Whirlwind', 'White Herb', 'Wicked Blow', 'Wicked Torque', 'Wide Lens', 'Wiki Berry', 'Wild Charge', + 'Wildbolt Storm', 'Will-O-Wisp', 'Wise Glasses', 'Wish', 'Wishiwashi-School', 'Wo-Chien', 'Wonder Guard', 'Wood Hammer', + 'Wyrdeer', 'Xerneas', 'Xurkitree', 'Yawn', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zap Plate', 'Zapdos', 'Zapdos-Galar', 'Zarude', 'Zekrom', 'Zeraora', 'Zing Zap', 'Zippy Zap', 'Zygarde', 'Zygarde-Complete', ], }, @@ -2461,13 +2750,12 @@ export const Formats: FormatList = [ gameType: 'doubles', ruleset: ['Max Team Size = 2', 'HP Percentage Mod', 'Cancel Mod'], banlist: [ - 'Pokestar Spirit', 'Shedinja + Sturdy', 'Cheek Pouch', 'Commander', 'Cursed Body', 'Dry Skin', 'Earth Eater', 'Fur Coat', 'Gorilla Tactics', + 'Pokestar Spirit', 'Terapagos', 'Shedinja + Sturdy', 'Cheek Pouch', 'Commander', 'Cursed Body', 'Dry Skin', 'Earth Eater', 'Fur Coat', 'Gorilla Tactics', 'Grassy Surge', 'Huge Power', 'Ice Body', 'Iron Barbs', 'Moody', 'Neutralizing Gas', 'Opportunist', 'Parental Bond', 'Perish Body', 'Poison Heal', - 'Power Construct', 'Pressure', 'Pure Power', 'Rain Dish', 'Rough Skin', 'Sand Spit', 'Sand Stream', 'Seed Sower', 'Stamina', - 'Volt Absorb', 'Water Absorb', 'Wonder Guard', 'Aguav Berry', 'Assault Vest', 'Berry', 'Berry Juice', 'Berserk Gene', - 'Black Sludge', 'Enigma Berry', 'Figy Berry', 'Gold Berry', 'Iapapa Berry', 'Kangaskhanite', 'Leftovers', 'Mago Berry', 'Medichamite', - 'Steel Memory', 'Oran Berry', 'Rocky Helmet', 'Shell Bell', 'Sitrus Berry', 'Wiki Berry', 'Harvest + Jaboca Berry', - 'Harvest + Rowap Berry', + 'Power Construct', 'Pressure', 'Pure Power', 'Rain Dish', 'Rough Skin', 'Sand Spit', 'Sand Stream', 'Seed Sower', 'Stamina', 'Volt Absorb', 'Water Absorb', + 'Wonder Guard', 'Harvest + Jaboca Berry', 'Harvest + Rowap Berry', 'Aguav Berry', 'Assault Vest', 'Berry', 'Berry Juice', 'Berserk Gene', 'Black Sludge', + 'Enigma Berry', 'Figy Berry', 'Gold Berry', 'Iapapa Berry', 'Kangaskhanite', 'Leftovers', 'Mago Berry', 'Medichamite', 'Steel Memory', 'Oran Berry', + 'Rocky Helmet', 'Shell Bell', 'Sitrus Berry', 'Wiki Berry', ], onValidateSet(set) { const species = this.dex.species.get(set.species); @@ -2561,68 +2849,6 @@ export const Formats: FormatList = [ searchShow: false, ruleset: ['Flat Rules'], }, - { - name: "[Gen 8] Super Staff Bros 4", - desc: `The fourth iteration of Super Staff Bros is here! Battle with a random team of Pokémon created by the sim staff.`, - threads: [ - `• Introduction & Roster`, - `• Discussion Thread`, - ], - - mod: 'ssb', - team: 'randomStaffBros', - ruleset: ['Dynamax Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'], - onBegin() { - if (!this.ruleTable.has('dynamaxclause')) { - // Old joke format we're bringing back - for (const side of this.sides) { - side.dynamaxUsed = true; - } - this.add('message', 'Delphox only'); - this.add('message', 'No items'); - this.add('message', 'Final Destination'); - return; - } - // TODO look into making an event to put this right after turn|1 - // https://discordapp.com/channels/630837856075513856/630845310033330206/716126469528485909 - // Requires client change - this.add(`raw|
Wondering what all these custom moves, abilities, and items do?
Check out the Super Staff Bros 4 Guide or use /ssb to find out!
`); - - this.add('message', [ - 'THE BATTLE FOR SURVIVAL BEGINS!', 'WHO WILL SURVIVE?', 'GET READY TO KEEP UP!', 'GET READY!', 'DARE TO BELIEVE YOU CAN SURVIVE!', 'THERE CAN BE ONLY ONE WINNER!', 'GET READY FOR THE FIGHT OF YOUR LIFE!', 'WHO WILL PREVAIL?', 'ONLY ONE TEAM WILL BE LEFT STANDING!', 'BATTLE WITHOUT LIMITS!', - ][this.random(10)]); - this.add('message', 'FIGHT!'); - }, - onSwitchInPriority: 100, - onSwitchIn(pokemon) { - let name: string = this.toID(pokemon.illusion ? pokemon.illusion.name : pokemon.name); - if (this.dex.species.get(name).exists || this.dex.moves.get(name).exists || this.dex.abilities.get(name).exists) { - // Certain pokemon have volatiles named after their id - // To prevent overwriting those, and to prevent accidentaly leaking - // that a pokemon is on a team through the onStart even triggering - // at the start of a match, users with pokemon names will need their - // statuses to end in "user". - name = name + 'user'; - } - // Add the mon's status effect to it as a volatile. - const status = this.dex.conditions.get(name); - if (status?.exists) { - pokemon.addVolatile(name, pokemon); - } - if (pokemon.m.hasBounty) this.add('-start', pokemon, 'bounty', '[silent]'); - const details = pokemon.species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + - (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); - if (pokemon.m.nowShiny) this.add('replace', pokemon, details); - }, - onFaint(target, source, effect) { - if (effect?.effectType !== 'Move') return; - if (!target.m.hasBounty) return; - if (source) { - this.add('-message', `${source.name} received the bounty!`); - this.boost({atk: 1, def: 1, spa: 1, spd: 1, spe: 1}, source, target, effect); - } - }, - }, { name: "[Gen 8] Hackmons Cup", desc: `Randomized teams of level-balanced Pokémon with absolutely any ability, moves, and item.`, @@ -2722,17 +2948,6 @@ export const Formats: FormatList = [ team: 'random', ruleset: ['Obtainable', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod', 'Illusion Level Mod'], }, - { - name: "[Gen 7] Random Doubles Battle", - threads: [`• Sets and Suggestions`], - - mod: 'gen7', - gameType: 'doubles', - team: 'random', - searchShow: false, - challengeShow: false, - ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod', 'Illusion Level Mod'], - }, { name: "[Gen 7] Battle Factory", desc: `Randomized teams of Pokémon for a generated Smogon tier with sets that are competitively viable.`, @@ -2870,35 +3085,41 @@ export const Formats: FormatList = [ column: 4, }, { - name: "[Gen 6] Ubers", + name: "[Gen 6] UU", threads: [ - `• ORAS Ubers`, + `• ORAS UU Banlist`, + `• ORAS UU Viability Rankings`, ], mod: 'gen6', // searchShow: false, - ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'], + ruleset: ['[Gen 6] OU'], + banlist: ['OU', 'UUBL', 'Drizzle', 'Drought'], }, { - name: "[Gen 3] ZU", + name: "[Gen 3] UUBL", threads: [ - `• ADV ZU`, + `• ADV UUBL Metagame Discussion`, ], mod: 'gen3', - ruleset: ['Standard', 'Baton Pass Stat Clause'], - banlist: ['Uber', 'OU', 'UUBL', 'UU', 'NUBL', 'NU', 'PUBL', 'PU', 'ZUBL'], + ruleset: ['Standard', 'One Boost Passer Clause'], + banlist: [ + 'Uber', 'OU', 'Smeargle + Baton Pass', 'Smeargle + Ingrain', 'Soundproof', 'Assist', + 'Baton Pass + Block', 'Baton Pass + Mean Look', 'Baton Pass + Spider Web', 'Swagger', + ], }, { - name: "[Gen 3] LC", + name: "[Gen 7] RU", threads: [ - `• ADV LC`, + `• USM RU Resources`, ], - mod: 'gen3', + mod: 'gen7', // searchShow: false, - ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'], - banlist: ['Chansey', 'Meditite', 'Omanyte', 'Scyther', 'Wynaut', 'Zigzagoon', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger'], + ruleset: ['[Gen 7] UU'], + banlist: ['UU', 'RUBL', 'Mimikyu', 'Aurora Veil'], + unbanlist: ['Drought'], }, // Past Gens OU @@ -2911,9 +3132,9 @@ export const Formats: FormatList = [ { name: "[Gen 8] OU", threads: [ - `• SS OU Metagame Discussion`, - `• SS OU Sample Teams`, - `• SS OU Viability Rankings`, + `• SS OU Metagame Discussion`, + `• SS OU Sample Teams`, + `• SS OU Viability Rankings`, ], mod: 'gen8', @@ -2923,8 +3144,8 @@ export const Formats: FormatList = [ { name: "[Gen 7] OU", threads: [ - `• USM OU Banlist`, - `• USM OU Sample Teams`, + `• USM OU Metagame Discussion`, + `• USM OU Sample Teams`, `• USM OU Viability Rankings`, ], @@ -2935,8 +3156,8 @@ export const Formats: FormatList = [ { name: "[Gen 6] OU", threads: [ - `• ORAS OU Banlist`, - `• ORAS OU Sample Teams`, + `• ORAS OU Metagame Discussion`, + `• ORAS OU Sample Teams`, `• ORAS OU Viability Rankings`, ], @@ -2947,41 +3168,44 @@ export const Formats: FormatList = [ { name: "[Gen 5] OU", threads: [ - `• BW2 Sample Teams`, + `• BW2 OU Metagame Discussion`, + `• BW2 OU Sample Teams`, `• BW2 OU Viability Rankings`, ], mod: 'gen5', ruleset: ['Standard', 'Evasion Abilities Clause', 'Sleep Moves Clause', 'Swagger Clause', 'Gems Clause', 'Baton Pass Stat Clause'], - banlist: ['Uber', 'Arena Trap', 'Drizzle ++ Swift Swim', 'Drought ++ Chlorophyll', 'Sand Rush', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Soul Dew', 'Assist'], + banlist: ['Uber', 'Arena Trap', 'Drizzle ++ Swift Swim', 'Drought ++ Chlorophyll', 'Sand Rush', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Soul Dew', 'Acupressure', 'Assist'], }, { name: "[Gen 4] OU", threads: [ `• DPP OU Metagame Discussion`, - `• DPP Sample Teams`, + `• DPP OU Sample Teams`, `• DPP OU Viability Rankings`, ], mod: 'gen4', - ruleset: ['Standard', 'Freeze Clause Mod'], - banlist: ['AG', 'Uber', 'Arena Trap', 'Sand Veil', 'Swinub + Snow Cloak', 'Piloswine + Snow Cloak', 'Mamoswine + Snow Cloak', 'Quick Claw', 'Soul Dew', 'Baton Pass', 'Swagger'], + ruleset: ['Standard', 'Evasion Abilities Clause', 'Baton Pass Stat Trap Clause', 'Freeze Clause Mod'], + banlist: ['AG', 'Uber', 'Arena Trap', 'Quick Claw', 'Soul Dew', 'Swagger'], }, { name: "[Gen 3] OU", threads: [ - `• ADV Sample Teams`, + `• ADV OU Metagame Discussion`, + `• ADV OU Sample Teams`, `• ADV OU Viability Rankings`, ], mod: 'gen3', ruleset: ['Standard', 'One Boost Passer Clause', 'Freeze Clause Mod'], - banlist: ['Uber', 'Sand Veil', 'Soundproof', 'Assist', 'Baton Pass + Block', 'Baton Pass + Mean Look', 'Baton Pass + Spider Web', 'Smeargle + Ingrain'], + banlist: ['Uber', 'Smeargle + Ingrain', 'Sand Veil', 'Soundproof', 'Assist', 'Baton Pass + Block', 'Baton Pass + Mean Look', 'Baton Pass + Spider Web', 'Swagger'], }, { name: "[Gen 2] OU", threads: [ - `• GSC Sample Teams`, + `• GSC OU Metagame Discussion`, + `• GSC OU Sample Teams`, `• GSC OU Viability Rankings`, ], @@ -2992,7 +3216,8 @@ export const Formats: FormatList = [ { name: "[Gen 1] OU", threads: [ - `• RBY Sample Teams`, + `• RBY OU Metagame Discussion`, + `• RBY OU Sample Teams`, `• RBY OU Viability Rankings`, ], @@ -3068,8 +3293,8 @@ export const Formats: FormatList = [ mod: 'gen4', gameType: 'doubles', searchShow: false, - ruleset: ['Standard'], - banlist: ['AG', 'Uber', 'Soul Dew', 'Dark Void', 'Sand Veil'], + ruleset: ['Standard', 'Evasion Abilities Clause'], + banlist: ['AG', 'Uber', 'Soul Dew', 'Dark Void'], unbanlist: ['Manaphy', 'Mew', 'Salamence', 'Wobbuffet', 'Wynaut'], }, { @@ -3082,8 +3307,8 @@ export const Formats: FormatList = [ gameType: 'doubles', searchShow: false, ruleset: ['Standard', '!Switch Priority Clause Mod'], - banlist: ['Uber', 'Soul Dew', 'Swagger'], - unbanlist: ['Latias', 'Wobbuffet', 'Wynaut'], + banlist: ['Uber', 'Quick Claw', 'Soul Dew', 'Swagger'], + unbanlist: ['Wobbuffet', 'Wynaut'], }, // Sw/Sh Singles @@ -3120,9 +3345,7 @@ export const Formats: FormatList = [ { name: "[Gen 8] RU", threads: [ - `• RU Metagame Discussion`, - `• RU Sample Teams`, - `• RU Viability Rankings`, + `• SS RU Resources`, ], mod: 'gen8', @@ -3146,8 +3369,7 @@ export const Formats: FormatList = [ { name: "[Gen 8] PU", threads: [ - `• PU Metagame Discussion`, - `• PU Viability Rankings`, + `• SS PU Resources`, ], mod: 'gen8', @@ -3158,9 +3380,7 @@ export const Formats: FormatList = [ { name: "[Gen 8] LC", threads: [ - `• SS LC Metagame Discussion`, - `• SS LC Sample Teams`, - `• SS LC Viability Rankings`, + `• SS LC Resources`, ], mod: 'gen8', @@ -3175,9 +3395,7 @@ export const Formats: FormatList = [ name: "[Gen 8] Monotype", desc: `All the Pokémon on a team must share a type.`, threads: [ - `• SS Monotype Metagame Discussion`, - `• SS Monotype Sample Teams`, - `• SS Monotype Viability Rankings`, + `• SS Monotype Resources`, ], mod: 'gen8', @@ -3195,9 +3413,7 @@ export const Formats: FormatList = [ name: "[Gen 8] 1v1", desc: `Bring three Pokémon to Team Preview and choose one to battle.`, threads: [ - `• SS 1v1 Metagame Discussion`, - `• SS 1v1 Sample Teams`, - `• SS 1v1 Viability Rankings`, + `• SS 1v1 Resources`, ], mod: 'gen8', @@ -3217,9 +3433,7 @@ export const Formats: FormatList = [ { name: "[Gen 8] Anything Goes", threads: [ - `• AG Metagame Discussion`, - `• AG Sample Teams`, - `• AG Viability Rankings`, + `• SS AG Resources`, ], mod: 'gen8', @@ -3230,19 +3444,13 @@ export const Formats: FormatList = [ name: "[Gen 8] ZU", desc: `The unofficial usage-based tier below PU.`, threads: [ - `• ZU Metagame Discussion`, - `• ZU Sample Teams`, - `• ZU Viability Rankings`, + `• SS ZU Resources`, ], mod: 'gen8', searchShow: false, ruleset: ['[Gen 8] PU'], - banlist: [ - 'PU', 'Arctovish', 'Aurorus', 'Basculin', 'Centiskorch', 'Drampa', 'Exeggutor-Alola', 'Gallade', 'Glastrier', 'Haunter', 'Magmortar', 'Magneton', - 'Malamar', 'Ninjask', 'Omastar', 'Perrserker', 'Rotom-Frost', 'Turtonator', 'Vanilluxe', 'Vikavolt', 'Silvally-Dragon', 'Silvally-Ground', 'Sneasel', - 'Damp Rock', 'Grassy Seed', - ], + banlist: ['PU', 'ZUBL', 'Damp Rock', 'Grassy Seed'], }, { name: "[Gen 8] CAP", @@ -3262,6 +3470,7 @@ export const Formats: FormatList = [ mod: 'gen8', searchShow: false, + bestOfDefault: true, ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit Two Restricted'], restricted: ['Restricted Legendary'], }, @@ -3417,24 +3626,10 @@ export const Formats: FormatList = [ ruleset: ['[Gen 7] OU'], banlist: ['OU', 'UUBL', 'Drizzle', 'Drought', 'Kommonium Z', 'Mewnium Z'], }, - { - name: "[Gen 7] RU", - threads: [ - `• USM RU Sample Teams`, - `• USM RU Viability Rankings`, - ], - - mod: 'gen7', - searchShow: false, - ruleset: ['[Gen 7] UU'], - banlist: ['UU', 'RUBL', 'Mimikyu', 'Aurora Veil'], - unbanlist: ['Drought'], - }, { name: "[Gen 7] NU", threads: [ - `• USM NU Sample Teams`, - `• USM NU Viability Rankings`, + `• USM NU Resources`, ], mod: 'gen7', @@ -3445,8 +3640,7 @@ export const Formats: FormatList = [ { name: "[Gen 7] PU", threads: [ - `• USM PU Sample Teams`, - `• USM PU Viability Rankings`, + `• USM PU Resources`, ], mod: 'gen7', @@ -3534,10 +3728,7 @@ export const Formats: FormatList = [ mod: 'gen7', searchShow: false, ruleset: ['[Gen 7] PU'], - banlist: [ - 'PU', 'Carracosta', 'Crabominable', 'Exeggutor-Base', 'Gorebyss', 'Jynx', 'Raticate-Alola', - 'Shiftry', 'Throh', 'Turtonator', 'Type: Null', 'Ursaring', 'Victreebel', - ], + banlist: ['PU', 'ZUBL'], }, { name: "[Gen 7] CAP", @@ -3562,6 +3753,7 @@ export const Formats: FormatList = [ mod: 'gen7', searchShow: false, + bestOfDefault: true, ruleset: ['Flat Rules', 'Min Source Gen = 6'], banlist: ['Battle Bond'], }, @@ -3679,6 +3871,7 @@ export const Formats: FormatList = [ mod: 'gen7', gameType: 'doubles', searchShow: false, + bestOfDefault: true, ruleset: ['Flat Rules', 'Min Source Gen = 6'], banlist: ['Battle Bond'], }, @@ -3714,22 +3907,19 @@ export const Formats: FormatList = [ column: 4, }, { - name: "[Gen 6] UU", + name: "[Gen 6] Ubers", threads: [ - `• ORAS UU Banlist`, - `• ORAS UU Viability Rankings`, + `• ORAS Ubers`, ], mod: 'gen6', searchShow: false, - ruleset: ['[Gen 6] OU'], - banlist: ['OU', 'UUBL', 'Drizzle', 'Drought'], + ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'], }, { name: "[Gen 6] RU", threads: [ - `• ORAS RU Banlist`, - `• ORAS RU Viability Rankings`, + `• ORAS RU Resources`, ], mod: 'gen6', @@ -3740,8 +3930,7 @@ export const Formats: FormatList = [ { name: "[Gen 6] NU", threads: [ - `• ORAS NU Banlist`, - `• ORAS NU Viability Rankings`, + `• ORAS NU Resources`, ], mod: 'gen6', @@ -3752,8 +3941,7 @@ export const Formats: FormatList = [ { name: "[Gen 6] PU", threads: [ - `• ORAS PU Banlist`, - `• ORAS PU Viability Rankings`, + `• ORAS PU Resources`, ], mod: 'gen6', @@ -3809,10 +3997,10 @@ export const Formats: FormatList = [ 'Cancel Mod', 'Team Preview', ], banlist: [ - 'Arceus', 'Blaziken', 'Charizard-Mega-Y', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', - 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo', - 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Snorlax', 'Xerneas', 'Yveltal', 'Zekrom', - 'Focus Sash', 'Soul Dew', 'Grass Whistle', 'Hypnosis', 'Perish Song', 'Sing', 'Sleep Powder', 'Yawn', + 'Arceus', 'Blaziken-Mega', 'Charizard-Mega-Y', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina', + 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', + 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Snorlax', 'Xerneas', 'Yveltal', 'Zekrom', 'Focus Sash', + 'Soul Dew', 'Dark Void', 'Grass Whistle', 'Hypnosis', 'Perish Song', 'Sing', 'Sleep Powder', 'Yawn', ], }, { @@ -3836,7 +4024,7 @@ export const Formats: FormatList = [ mod: 'gen6', searchShow: false, ruleset: ['[Gen 6] PU'], - banlist: ['PU', 'Fraxure', 'Purugly', 'Regigigas', 'Simisear'], + banlist: ['PU', 'ZUBL'], }, { name: "[Gen 6] CAP", @@ -3860,6 +4048,7 @@ export const Formats: FormatList = [ mod: 'gen6', searchShow: false, + bestOfDefault: true, ruleset: ['Flat Rules', 'Min Source Gen = 6'], banlist: ['Soul Dew'], }, @@ -3934,6 +4123,7 @@ export const Formats: FormatList = [ mod: 'gen6', gameType: 'doubles', searchShow: false, + bestOfDefault: true, ruleset: ['Flat Rules', 'Min Source Gen = 6'], banlist: ['Soul Dew'], }, @@ -4004,8 +4194,7 @@ export const Formats: FormatList = [ { name: "[Gen 5] RU", threads: [ - `• BW2 Sample Teams`, - `• BW2 RU Viability Rankings`, + `• BW2 RU Resources`, ], mod: 'gen5', @@ -4017,8 +4206,7 @@ export const Formats: FormatList = [ { name: "[Gen 5] NU", threads: [ - `• BW2 Sample Teams`, - `• BW2 NU Viability Rankings`, + `• BW2 NU Resources`, ], mod: 'gen5', @@ -4029,7 +4217,7 @@ export const Formats: FormatList = [ { name: "[Gen 5] PU", threads: [ - `• BW2 PU`, + `• BW2 PU Resources`, ], mod: 'gen5', @@ -4063,6 +4251,7 @@ export const Formats: FormatList = [ searchShow: false, ruleset: ['[Gen 5] OU', 'Same Type Clause', '!Gems Clause'], banlist: ['Latios'], + unbanlist: ['Cloyster'], }, { name: "[Gen 5] 1v1", @@ -4077,8 +4266,12 @@ export const Formats: FormatList = [ 'Picked Team Size = 1', 'Max Team Size = 3', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Accuracy Moves Clause', 'Sleep Moves Clause', ], - banlist: ['Uber', 'Cottonee', 'Dragonite', 'Jirachi', 'Kyurem-Black', 'Mew', 'Togekiss', 'Whimsicott', 'Victini', 'Focus Band', 'Focus Sash', 'Quick Claw', 'Soul Dew', 'Perish Song'], - unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian'], + banlist: [ + 'Arceus', 'Blaziken', 'Cottonee', 'Darkrai', 'Deoxys', 'Dialga', 'Dragonite', 'Giratina', 'Groudon', 'Ho-Oh', + 'Jirachi', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Mew', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', + 'Shaymin-Sky', 'Togekiss', 'Victini', 'Whimsicott', 'Zekrom', 'Focus Band', 'Focus Sash', 'Quick Claw', 'Soul Dew', + 'Perish Song', + ], }, { name: "[Gen 5] ZU", @@ -4089,7 +4282,17 @@ export const Formats: FormatList = [ mod: 'gen5', searchShow: false, ruleset: ['[Gen 5] PU'], - banlist: ['PU', 'Articuno', 'Dragonair', 'Glalie', 'Machoke', 'Marowak', 'Omanyte', 'Regigigas', 'Trubbish', 'Whirlipede', 'Baton Pass'], + banlist: [ + // PU + 'Audino', 'Banette', 'Beheeyem', 'Bronzor', 'Dodrio', 'Duosion', 'Dwebble', 'Fraxure', 'Gabite', 'Golduck', + 'Huntail', 'Jumpluff', 'Klang', 'Krokorok', 'Mantine', 'Maractus', 'Mawile', 'Monferno', 'Murkrow', 'Natu', + 'Purugly', 'Rampardos', 'Rapidash', 'Relicanth', 'Scraggy', 'Shiftry', 'Simisage', 'Sneasel', 'Stoutland', + 'Stunfisk', 'Swanna', 'Swoobat', 'Tentacool', 'Torterra', 'Ursaring', 'Victreebel', 'Vileplume', 'Volbeat', + 'Zebstrika', 'Zweilous', + // ZUBL + 'Articuno', 'Dragonair', 'Glalie', 'Machoke', 'Marowak', 'Omanyte', 'Regigigas', 'Trubbish', 'Whirlipede', + 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Baton Pass', + ], unbanlist: ['Damp Rock'], }, { @@ -4102,13 +4305,14 @@ export const Formats: FormatList = [ mod: 'gen5', searchShow: false, ruleset: ['[Gen 5] OU', '+CAP'], - banlist: ['Aurumoth', 'Cawmodore'], + banlist: ['Cawmodore'], }, { name: "[Gen 5] GBU Singles", mod: 'gen5', searchShow: false, + bestOfDefault: true, ruleset: ['Flat Rules'], banlist: ['Dark Void', 'Sky Drop', 'Soul Dew'], }, @@ -4210,15 +4414,14 @@ export const Formats: FormatList = [ mod: 'gen4', searchShow: false, - ruleset: ['[Gen 4] OU', '!Freeze Clause Mod'], - banlist: ['OU', 'UUBL'], - unbanlist: ['Arena Trap', 'Quick Claw', 'Swagger'], + ruleset: ['[Gen 4] OU', '!Baton Pass Stat Trap Clause', '!Freeze Clause Mod'], + banlist: ['OU', 'UUBL', 'Baton Pass'], + unbanlist: ['Arena Trap', 'Snow Cloak', 'Quick Claw', 'Swagger'], }, { name: "[Gen 4] NU", threads: [ - `• DPP NU Metagame Discussion`, - `• DPP NU Viability Rankings`, + `• DPP NU Resources`, ], mod: 'gen4', @@ -4230,7 +4433,7 @@ export const Formats: FormatList = [ { name: "[Gen 4] PU", threads: [ - `• DPP PU`, + `• DPP PU Resources`, ], mod: 'gen4', @@ -4239,9 +4442,10 @@ export const Formats: FormatList = [ banlist: [ 'Articuno', 'Cacturne', 'Charizard', 'Cradily', 'Dodrio', 'Drifblim', 'Dusclops', 'Electrode', 'Floatzel', 'Gardevoir', 'Gligar', 'Golem', 'Grumpig', 'Haunter', 'Hitmonchan', 'Hypno', 'Jumpluff', - 'Jynx', 'Lickilicky', 'Linoone', 'Magmortar', 'Magneton', 'Manectric', 'Medicham', 'Meganium', 'Nidoqueen', - 'Ninetales', 'Piloswine', 'Poliwrath', 'Porygon2', 'Regice', 'Regirock', 'Roselia', 'Sandslash', - 'Sharpedo', 'Shiftry', 'Skuntank', 'Slowking', 'Tauros', 'Typhlosion', 'Venomoth', 'Vileplume', + 'Jynx', 'Lickilicky', 'Linoone', 'Magmortar', 'Magneton', 'Manectric', 'Medicham', 'Meganium', + 'Nidoqueen', 'Ninetales', 'Piloswine', 'Poliwrath', 'Porygon2', 'Regice', 'Regirock', 'Roselia', + 'Sandslash', 'Sharpedo', 'Shiftry', 'Skuntank', 'Slowking', 'Tauros', 'Typhlosion', 'Venomoth', + 'Vileplume', ], }, { @@ -4277,10 +4481,14 @@ export const Formats: FormatList = [ searchShow: false, ruleset: [ 'Picked Team Size = 1', 'Max Team Size = 3', - '[Gen 4] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', '!Freeze Clause Mod', + 'Standard', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', + ], + banlist: [ + 'Arceus', 'Darkrai', 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Defense', 'Deoxys-Speed', 'Dialga', 'Garchomp', + 'Giratina', 'Groudon', 'Ho-Oh', 'Jirachi', 'Kyogre', 'Latias', 'Latios', 'Lugia', 'Machamp', 'Manaphy', 'Mew', + 'Mewtwo', 'Palkia', 'Porygon-Z', 'Rayquaza', 'Salamence', 'Shaymin', 'Shaymin-Sky', 'Snorlax', 'Togekiss', + 'Focus Band', 'Focus Sash', 'Quick Claw', 'Soul Dew', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct', ], - banlist: ['Latias', 'Machamp', 'Porygon-Z', 'Shaymin', 'Snorlax', 'Togekiss', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'], - unbanlist: ['Wobbuffet', 'Wynaut', 'Sand Veil', 'Swagger'], }, { name: "[Gen 4] ZU", @@ -4334,7 +4542,7 @@ export const Formats: FormatList = [ mod: 'gen4', gameType: 'doubles', searchShow: false, - ruleset: ['Flat Rules', 'Max Team Size = 4', 'Limit Two Restricted'], + ruleset: ['Flat Rules', 'Min Team Size = 4', 'Max Team Size = 4', 'Limit Two Restricted'], restricted: ['Restricted Legendary'], banlist: ['Soul Dew'], }, @@ -4344,7 +4552,7 @@ export const Formats: FormatList = [ mod: 'gen4pt', gameType: 'doubles', searchShow: false, - ruleset: ['Flat Rules', '! Adjust Level Down', 'Max Level = 50', 'Max Team Size = 4'], + ruleset: ['Flat Rules', '! Adjust Level Down', 'Max Level = 50', 'Min Team Size = 4', 'Max Team Size = 4'], banlist: ['Tyranitar', 'Rotom', 'Judgment', 'Soul Dew'], }, { @@ -4375,7 +4583,7 @@ export const Formats: FormatList = [ mod: 'gen3', searchShow: false, ruleset: ['Standard', 'Deoxys Camouflage Clause', 'One Baton Pass Clause'], - banlist: ['Wobbuffet + Leftovers'], + banlist: ['Wobbuffet + Leftovers', 'Wynaut + Leftovers', 'Baton Pass'], }, { name: "[Gen 3] UU", @@ -4389,10 +4597,26 @@ export const Formats: FormatList = [ ruleset: ['Standard'], banlist: ['Uber', 'OU', 'UUBL', 'Smeargle + Ingrain', 'Arena Trap', 'Baton Pass', 'Swagger'], }, + { + name: "[Gen 3] RU", + threads: [ + `• ADV RU Resources`, + ], + + mod: 'gen3', + searchShow: false, + ruleset: ['[Gen 3] UU'], + banlist: [ + 'Altaria', 'Ampharos', 'Arcanine', 'Blastoise', 'Clefable', 'Cradily', 'Electabuzz', 'Electrode', 'Fearow', 'Feraligatr', 'Gligar', 'Golduck', + 'Golem', 'Gorebyss', 'Granbull', 'Grumpig', 'Hitmonlee', 'Hitmontop', 'Jumpluff', 'Kangaskhan', 'Lanturn', 'Lunatone', 'Manectric', 'Misdreavus', + 'Muk', 'Nidoking', 'Nidoqueen', 'Ninjask', 'Omastar', 'Pinsir', 'Qwilfish', 'Sandslash', 'Scyther', 'Slowking', 'Solrock', 'Tentacruel', 'Vileplume', + 'Walrein', 'Xatu', + ], + }, { name: "[Gen 3] NU", threads: [ - `• ADV NU Viability Rankings`, + `• ADV NU Resources`, ], mod: 'gen3', @@ -4403,14 +4627,36 @@ export const Formats: FormatList = [ { name: "[Gen 3] PU", threads: [ - `• ADV PU`, + `• ADV PU`, ], mod: 'gen3', searchShow: false, - ruleset: ['Standard', 'Baton Pass Clause'], + ruleset: ['Standard', 'Baton Pass Stat Clause'], banlist: ['Uber', 'OU', 'UUBL', 'UU', 'NUBL', 'NU', 'PUBL'], }, + { + name: "[Gen 3] ZU", + threads: [ + `• ADV ZU`, + ], + + mod: 'gen3', + searchShow: false, + ruleset: ['Standard', 'Baton Pass Stat Trap Clause'], + banlist: ['Uber', 'OU', 'UUBL', 'UU', 'NUBL', 'NU', 'PUBL', 'PU', 'ZUBL', 'Baton Pass + Substitute'], + }, + { + name: "[Gen 3] LC", + threads: [ + `• ADV LC`, + ], + + mod: 'gen3', + searchShow: false, + ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause', 'Accuracy Moves Clause'], + banlist: ['Chansey', 'Meditite', 'Omanyte', 'Scyther', 'Wynaut', 'Zigzagoon', 'Deep Sea Tooth', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger'], + }, { name: "[Gen 3] 1v1", desc: `Bring three Pokémon to Team Preview and choose one to battle.`, @@ -4422,13 +4668,13 @@ export const Formats: FormatList = [ searchShow: false, ruleset: [ 'Picked Team Size = 1', 'Max Team Size = 3', - '[Gen 3] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', '!Freeze Clause Mod', + 'Standard', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', ], banlist: [ - 'Clefable', 'Slaking', 'Snorlax', 'Suicune', 'Zapdos', 'Destiny Bond', 'Explosion', 'Ingrain', 'Perish Song', + 'Clefable', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Groudon', 'Ho-Oh', 'Kyogre', 'Latias', 'Latios', + 'Lugia', 'Mew', 'Mewtwo', 'Rayquaza', 'Slaking', 'Snorlax', 'Suicune', 'Zapdos', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct', 'Focus Band', 'King\'s Rock', 'Quick Claw', ], - unbanlist: ['Mr. Mime', 'Wobbuffet', 'Wynaut', 'Sand Veil', 'Soundproof'], }, { name: "[Gen 3] Custom Game", @@ -4475,9 +4721,19 @@ export const Formats: FormatList = [ mod: 'gen2', searchShow: false, ruleset: ['[Gen 2] UU'], - banlist: ['UU', 'NUBL'], + banlist: ['UU', 'NUBL', 'Swagger'], unbanlist: ['Agility + Baton Pass'], }, + { + name: "[Gen 2] PU", + threads: [`• GSC PU`], + + mod: 'gen2', + searchShow: false, + ruleset: ['[Gen 2] NU'], + banlist: ['NU', 'PUBL'], + unbanlist: ['Swagger'], + }, { name: "[Gen 2] 1v1", threads: [`• GSC 1v1`], @@ -4486,25 +4742,26 @@ export const Formats: FormatList = [ searchShow: false, ruleset: [ 'Picked Team Size = 1', 'Max Team Size = 3', - '[Gen 2] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', + 'Standard', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', ], banlist: [ - 'Alakazam', 'Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Focus Band', 'King\'s Rock', 'Quick Claw', - 'Attract', 'Destiny Bond', 'Explosion', 'Perish Song', 'Present', 'Self-Destruct', 'Swagger', + 'Alakazam', 'Celebi', 'Clefable', 'Ho-Oh', 'Lugia', 'Mew', 'Mewtwo', 'Snorlax', 'Zapdos', + 'Berserk Gene', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Attract', 'Destiny Bond', + 'Explosion', 'Perish Song', 'Present', 'Self-Destruct', 'Swagger', ], }, { - name: "[Gen 2] Nintendo Cup 2000", + name: "[Gen 2] NC 2000", threads: [ - `• Nintendo Cup 2000 Resource Hub`, - `• Differences between Nintendo Cup 2000 and GSC OU`, + `• NC 2000 Resource Hub`, + `• Differences between NC 2000 and GSC OU`, ], mod: 'gen2stadium2', searchShow: false, ruleset: [ 'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155', - 'Obtainable', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Species Clause', 'Item Clause', 'Endless Battle Clause', 'Cancel Mod', 'Event Moves Clause', 'Nickname Clause', 'Team Preview', 'Nintendo Cup 2000 Move Legality', + 'Obtainable', 'Stadium Sleep Clause', 'Freeze Clause Mod', 'Species Clause', 'Item Clause', 'Endless Battle Clause', 'Cancel Mod', 'Event Moves Clause', 'Nickname Clause', 'Team Preview', 'NC 2000 Move Legality', ], banlist: ['Uber'], }, @@ -4582,9 +4839,9 @@ export const Formats: FormatList = [ searchShow: false, ruleset: [ 'Picked Team Size = 1', 'Max Team Size = 3', - '[Gen 1] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', + 'Standard', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview', ], - banlist: ['Bind', 'Clamp', 'Explosion', 'Fire Spin', 'Self-Destruct', 'Wrap'], + banlist: ['Mew', 'Mewtwo', 'Bind', 'Clamp', 'Explosion', 'Fire Spin', 'Self-Destruct', 'Wrap'], }, { name: "[Gen 1] Japanese OU", @@ -4621,16 +4878,16 @@ export const Formats: FormatList = [ ruleset: ['[Gen 1] OU', 'Allow Tradeback'], }, { - name: "[Gen 1] Nintendo Cup 1997", + name: "[Gen 1] NC 1997", threads: [ - `• Nintendo Cup 1997 Discussion & Resources`, + `• NC 1997 Discussion & Resources`, ], mod: 'gen1jpn', searchShow: false, ruleset: [ 'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155', - 'Obtainable', 'Team Preview', 'Stadium Sleep Clause', 'Species Clause', 'Nickname Clause', 'HP Percentage Mod', 'Cancel Mod', 'Nintendo Cup 1997 Move Legality', + 'Obtainable', 'Team Preview', 'Stadium Sleep Clause', 'Species Clause', 'Nickname Clause', 'HP Percentage Mod', 'Cancel Mod', 'NC 1997 Move Legality', ], banlist: ['Uber'], }, diff --git a/data/abilities.ts b/data/abilities.ts index a4b120ced894..22a93e26b12e 100644 --- a/data/abilities.ts +++ b/data/abilities.ts @@ -35,14 +35,21 @@ Ratings and how they work: export const Abilities: {[abilityid: string]: AbilityData} = { noability: { isNonstandard: "Past", + flags: {}, name: "No Ability", rating: 0.1, num: 0, }, adaptability: { - onModifyMove(move) { - move.stab = 2; + onModifySTAB(stab, source, target, move) { + if (move.forceSTAB || source.hasType(move.type)) { + if (stab === 2) { + return 2.25; + } + return 2; + } }, + flags: {}, name: "Adaptability", rating: 4, num: 91, @@ -63,18 +70,20 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onBasePower(basePower, pokemon, target, move) { if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); }, + flags: {}, name: "Aerilate", rating: 4, num: 184, }, aftermath: { - name: "Aftermath", onDamagingHitOrder: 1, onDamagingHit(damage, target, source, move) { if (!target.hp && this.checkMoveMakesContact(move, source, target, true)) { this.damage(source.baseMaxhp / 4, source, target); } }, + flags: {}, + name: "Aftermath", rating: 2, num: 106, }, @@ -84,6 +93,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }, onStart(pokemon) { // Air Lock does not activate when Skill Swapped or when Neutralizing Gas leaves the field + pokemon.abilityState.ending = false; // Clear the ending flag if (this.effectState.switchingIn) { this.add('-ability', pokemon, 'Air Lock'); this.effectState.switchingIn = false; @@ -91,9 +101,11 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.eachEvent('WeatherChange', this.effect); }, onEnd(pokemon) { + pokemon.abilityState.ending = true; this.eachEvent('WeatherChange', this.effect); }, suppressWeather: true, + flags: {}, name: "Air Lock", rating: 1.5, num: 76, @@ -114,6 +126,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5325, 4096]); } }, + flags: {}, name: "Analytic", rating: 2.5, num: 148, @@ -125,6 +138,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 12}, target, target); } }, + flags: {}, name: "Anger Point", rating: 1, num: 83, @@ -160,6 +174,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 1, spa: 1, spe: 1, def: -1, spd: -1}, target, target); } }, + flags: {}, name: "Anger Shell", rating: 3, num: 271, @@ -181,6 +196,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Anticipation", rating: 0.5, num: 107, @@ -199,6 +215,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.maybeTrapped = true; } }, + flags: {}, name: "Arena Trap", rating: 5, num: 71, @@ -217,7 +234,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Armor Tail", rating: 2.5, num: 296, @@ -232,7 +249,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Aroma Veil", rating: 2, num: 165, @@ -254,7 +271,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: length}, source, source, this.dex.abilities.get('chillingneigh')); } }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "As One (Glastrier)", rating: 3.5, num: 266, @@ -276,7 +293,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spa: length}, source, source, this.dex.abilities.get('grimneigh')); } }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "As One (Spectrier)", rating: 3.5, num: 267, @@ -290,7 +307,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (target === source || move.category === 'Status') return; move.hasAuraBreak = true; }, - isBreakable: true, + flags: {breakable: 1}, name: "Aura Break", rating: 1, num: 188, @@ -306,11 +323,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Bad Dreams", rating: 1.5, num: 123, }, ballfetch: { + flags: {}, name: "Ball Fetch", rating: 0, num: 237, @@ -323,13 +342,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5325, 4096]); } }, + flags: {}, name: "Battery", rating: 0, num: 217, }, battlearmor: { onCriticalHit: false, - isBreakable: true, + flags: {breakable: 1}, name: "Battle Armor", rating: 1, num: 4, @@ -344,7 +364,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { source.abilityState.battleBondTriggered = true; } }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Battle Bond", rating: 3.5, num: 210, @@ -362,6 +382,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.debug('Beads of Ruin SpD drop'); return this.chainModify(0.75); }, + flags: {}, name: "Beads of Ruin", rating: 4.5, num: 284, @@ -373,6 +394,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({[bestStat]: length}, source); } }, + flags: {}, name: "Beast Boost", rating: 3.5, num: 224, @@ -403,11 +425,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (!source || source === target || !target.hp || !move.totalDamage) return; const lastAttackedBy = target.getLastAttackedBy(); if (!lastAttackedBy) return; - const damage = move.multihit ? move.totalDamage : lastAttackedBy.damage; + const damage = move.multihit && !move.smartTarget ? move.totalDamage : lastAttackedBy.damage; if (target.hp <= target.maxhp / 2 && target.hp + damage > target.maxhp / 2) { this.boost({spa: 1}, target, target); } }, + flags: {}, name: "Berserk", rating: 2, num: 201, @@ -422,7 +445,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, - isBreakable: true, + flags: {breakable: 1}, name: "Big Pecks", rating: 0.5, num: 145, @@ -442,6 +465,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Blaze", rating: 2, num: 66, @@ -453,7 +477,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Bulletproof", rating: 3, num: 171, @@ -462,6 +486,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onEatItem(item, pokemon) { this.heal(pokemon.baseMaxhp / 3); }, + flags: {}, name: "Cheek Pouch", rating: 2, num: 167, @@ -472,6 +497,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: length}, source); } }, + flags: {}, name: "Chilling Neigh", rating: 3, num: 264, @@ -482,6 +508,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(2); } }, + flags: {}, name: "Chlorophyll", rating: 3, num: 34, @@ -501,7 +528,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add("-fail", target, "unboost", "[from] ability: Clear Body", "[of] " + target); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Clear Body", rating: 2, num: 29, @@ -512,6 +539,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }, onStart(pokemon) { // Cloud Nine does not activate when Skill Swapped or when Neutralizing Gas leaves the field + pokemon.abilityState.ending = false; // Clear the ending flag if (this.effectState.switchingIn) { this.add('-ability', pokemon, 'Cloud Nine'); this.effectState.switchingIn = false; @@ -519,9 +547,11 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.eachEvent('WeatherChange', this.effect); }, onEnd(pokemon) { + pokemon.abilityState.ending = true; this.eachEvent('WeatherChange', this.effect); }, suppressWeather: true, + flags: {}, name: "Cloud Nine", rating: 1.5, num: 13, @@ -546,6 +576,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Color Change", rating: 0, num: 16, @@ -561,7 +592,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; }, // Permanent sleep "status" implemented in the relevant sleep-checking effects - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Comatose", rating: 4, num: 213, @@ -570,8 +601,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onUpdate(pokemon) { if (this.gameType !== 'doubles') return; const ally = pokemon.allies()[0]; - if (!ally || pokemon.transformed || - pokemon.baseSpecies.baseSpecies !== 'Tatsugiri' || ally.baseSpecies.baseSpecies !== 'Dondozo') { + if (!ally || pokemon.baseSpecies.baseSpecies !== 'Tatsugiri' || ally.baseSpecies.baseSpecies !== 'Dondozo') { // Handle any edge cases if (pokemon.getVolatile('commanding')) pokemon.removeVolatile('commanding'); return; @@ -592,6 +622,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.removeVolatile('commanding'); } }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1}, name: "Commander", rating: 0, num: 279, @@ -599,9 +630,6 @@ export const Abilities: {[abilityid: string]: AbilityData} = { competitive: { onAfterEachBoost(boost, target, source, effect) { if (!source || target.isAlly(source)) { - if (effect.id === 'stickyweb') { - this.hint("Court Change Sticky Web counts as lowering your own Speed, and Competitive only affects stats lowered by foes.", true, source.side); - } return; } let statsLowered = false; @@ -615,6 +643,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spa: 2}, target, target, null, false, true); } }, + flags: {}, name: "Competitive", rating: 2.5, num: 172, @@ -626,6 +655,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.debug('compoundeyes - enhancing accuracy'); return this.chainModify([5325, 4096]); }, + flags: {}, name: "Compound Eyes", rating: 3, num: 14, @@ -638,13 +668,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { boost[i]! *= -1; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Contrary", rating: 4.5, num: 126, }, corrosion: { // Implemented in sim/pokemon.js:Pokemon#setStatus + flags: {}, name: "Corrosion", rating: 2.5, num: 212, @@ -669,6 +700,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.add('-copyboost', pokemon, ally, '[from] ability: Costar'); }, + flags: {}, name: "Costar", rating: 0, num: 294, @@ -685,6 +717,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spe: -1}, pokemon, target, null, true); } }, + flags: {}, name: "Cotton Down", rating: 2, num: 238, @@ -718,6 +751,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } }, }, + flags: {}, name: "Cud Chew", rating: 2, num: 291, @@ -729,6 +763,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-clearboost', ally, '[from] ability: Curious Medicine', '[of] ' + pokemon); } }, + flags: {}, name: "Curious Medicine", rating: 0, num: 261, @@ -742,6 +777,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Cursed Body", rating: 2, num: 130, @@ -754,6 +790,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Cute Charm", rating: 0.5, num: 56, @@ -771,12 +808,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Damp", rating: 0.5, num: 6, }, dancer: { + flags: {}, name: "Dancer", // implemented in runMove in scripts.js rating: 1.5, @@ -794,6 +832,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (move.auraBooster !== this.effectState.target) return; return this.chainModify([move.hasAuraBreak ? 3072 : 5448, 4096]); }, + flags: {}, name: "Dark Aura", rating: 3, num: 186, @@ -804,6 +843,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.shieldBoost = true; this.boost({def: 1}, pokemon); }, + flags: {}, name: "Dauntless Shield", rating: 3.5, num: 235, @@ -822,7 +862,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Dazzling", rating: 2.5, num: 219, @@ -840,6 +880,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, + flags: {}, name: "Defeatist", rating: -1, num: 129, @@ -847,9 +888,6 @@ export const Abilities: {[abilityid: string]: AbilityData} = { defiant: { onAfterEachBoost(boost, target, source, effect) { if (!source || target.isAlly(source)) { - if (effect.id === 'stickyweb') { - this.hint("Court Change Sticky Web counts as lowering your own Speed, and Defiant only affects stats lowered by foes.", true, source.side); - } return; } let statsLowered = false; @@ -863,6 +901,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 2}, target, target, null, false, true); } }, + flags: {}, name: "Defiant", rating: 3, num: 128, @@ -886,6 +925,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.field.clearWeather(); }, + flags: {}, name: "Delta Stream", rating: 4, num: 191, @@ -909,6 +949,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.field.clearWeather(); }, + flags: {}, name: "Desolate Land", rating: 4.5, num: 190, @@ -916,10 +957,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { disguise: { onDamagePriority: 1, onDamage(damage, target, source, effect) { - if ( - effect && effect.effectType === 'Move' && - ['mimikyu', 'mimikyutotem'].includes(target.species.id) && !target.transformed - ) { + if (effect?.effectType === 'Move' && ['mimikyu', 'mimikyutotem'].includes(target.species.id)) { this.add('-activate', target, 'ability: Disguise'); this.effectState.busted = true; return 0; @@ -927,7 +965,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }, onCriticalHit(target, source, move) { if (!target) return; - if (!['mimikyu', 'mimikyutotem'].includes(target.species.id) || target.transformed) { + if (!['mimikyu', 'mimikyutotem'].includes(target.species.id)) { return; } const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); @@ -938,7 +976,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }, onEffectiveness(typeMod, target, type, move) { if (!target || move.category === 'Status') return; - if (!['mimikyu', 'mimikyutotem'].includes(target.species.id) || target.transformed) { + if (!['mimikyu', 'mimikyutotem'].includes(target.species.id)) { return; } @@ -955,8 +993,10 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.damage(pokemon.baseMaxhp / 8, pokemon, pokemon, this.dex.species.get(speciesid)); } }, - isBreakable: true, - isPermanent: true, + flags: { + failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, + breakable: 1, notransform: 1, + }, name: "Disguise", rating: 3.5, num: 209, @@ -975,6 +1015,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 1}); } }, + flags: {}, name: "Download", rating: 3.5, num: 88, @@ -994,6 +1035,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Dragon's Maw", rating: 3.5, num: 263, @@ -1006,6 +1048,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.field.setWeather('raindance'); }, + flags: {}, name: "Drizzle", rating: 4, num: 2, @@ -1018,6 +1061,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.field.setWeather('sunnyday'); }, + flags: {}, name: "Drought", rating: 4, num: 70, @@ -1045,12 +1089,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.damage(target.baseMaxhp / 8, target, target); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Dry Skin", rating: 3, num: 87, }, earlybird: { + flags: {}, name: "Early Bird", // Implemented in statuses.js rating: 1.5, @@ -1065,7 +1110,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Earth Eater", rating: 3.5, num: 297, @@ -1083,6 +1128,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Effect Spore", rating: 2, num: 27, @@ -1091,6 +1137,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(source) { this.field.setTerrain('electricterrain'); }, + flags: {}, name: "Electric Surge", rating: 4, num: 226, @@ -1100,46 +1147,67 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onDamagingHit(damage, target, source, move) { target.addVolatile('charge'); }, + flags: {}, name: "Electromorphosis", rating: 3, num: 280, }, embodyaspectcornerstone: { onStart(pokemon) { - if (pokemon.baseSpecies.name === 'Ogerpon-Cornerstone-Tera' && !pokemon.transformed) { + if (pokemon.baseSpecies.name === 'Ogerpon-Cornerstone-Tera' && !this.effectState.embodied) { + this.effectState.embodied = true; this.boost({def: 1}, pokemon); } }, + onSwitchIn() { + delete this.effectState.embodied; + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Embody Aspect (Cornerstone)", rating: 3.5, num: 304, }, embodyaspecthearthflame: { onStart(pokemon) { - if (pokemon.baseSpecies.name === 'Ogerpon-Hearthflame-Tera' && !pokemon.transformed) { + if (pokemon.baseSpecies.name === 'Ogerpon-Hearthflame-Tera' && !this.effectState.embodied) { + this.effectState.embodied = true; this.boost({atk: 1}, pokemon); } }, + onSwitchIn() { + delete this.effectState.embodied; + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Embody Aspect (Hearthflame)", rating: 3.5, num: 303, }, embodyaspectteal: { onStart(pokemon) { - if (pokemon.baseSpecies.name === 'Ogerpon-Teal-Tera' && !pokemon.transformed) { + if (pokemon.baseSpecies.name === 'Ogerpon-Teal-Tera' && !this.effectState.embodied) { + this.effectState.embodied = true; this.boost({spe: 1}, pokemon); } }, + onSwitchIn() { + delete this.effectState.embodied; + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Embody Aspect (Teal)", rating: 3.5, num: 301, }, embodyaspectwellspring: { onStart(pokemon) { - if (pokemon.baseSpecies.name === 'Ogerpon-Wellspring-Tera' && !pokemon.transformed) { + if (pokemon.baseSpecies.name === 'Ogerpon-Wellspring-Tera' && !this.effectState.embodied) { + this.effectState.embodied = true; this.boost({spd: 1}, pokemon); } }, + onSwitchIn() { + delete this.effectState.embodied; + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Embody Aspect (Wellspring)", rating: 3.5, num: 302, @@ -1155,6 +1223,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { target.switchFlag = true; this.add('-activate', target, 'ability: Emergency Exit'); }, + flags: {}, name: "Emergency Exit", rating: 1, num: 194, @@ -1171,6 +1240,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (move.auraBooster !== this.effectState.target) return; return this.chainModify([move.hasAuraBreak ? 3072 : 5448, 4096]); }, + flags: {}, name: "Fairy Aura", rating: 3, num: 187, @@ -1182,7 +1252,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.75); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Filter", rating: 3, num: 111, @@ -1195,6 +1265,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Flame Body", rating: 2, num: 49, @@ -1206,6 +1277,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Flare Boost", rating: 2, num: 138, @@ -1246,7 +1318,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-end', target, 'ability: Flash Fire', '[silent]'); }, }, - isBreakable: true, + flags: {breakable: 1}, name: "Flash Fire", rating: 3.5, num: 18, @@ -1282,7 +1354,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, - isBreakable: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, breakable: 1}, name: "Flower Gift", rating: 1, num: 122, @@ -1321,7 +1393,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Flower Veil", rating: 0, num: 166, @@ -1333,7 +1405,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (move.flags['contact']) mod /= 2; return this.chainModify(mod); }, - isBreakable: true, + flags: {breakable: 1}, name: "Fluffy", rating: 3.5, num: 218, @@ -1366,6 +1438,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.formeChange(forme, this.effect, false, '[msg]'); } }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1}, name: "Forecast", rating: 2, num: 59, @@ -1394,19 +1467,20 @@ export const Abilities: {[abilityid: string]: AbilityData} = { const [warnMoveName, warnTarget] = this.sample(warnMoves); this.add('-activate', pokemon, 'ability: Forewarn', warnMoveName, '[of] ' + warnTarget); }, + flags: {}, name: "Forewarn", rating: 0.5, num: 108, }, friendguard: { - name: "Friend Guard", onAnyModifyDamage(damage, source, target, move) { if (target !== this.effectState.target && target.isAlly(this.effectState.target)) { this.debug('Friend Guard weaken'); return this.chainModify(0.75); } }, - isBreakable: true, + flags: {breakable: 1}, + name: "Friend Guard", rating: 0, num: 132, }, @@ -1418,6 +1492,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Frisk", rating: 1.5, num: 119, @@ -1437,6 +1512,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add("-fail", target, "unboost", "[from] ability: Full Metal Body", "[of] " + target); } }, + flags: {}, name: "Full Metal Body", rating: 2, num: 230, @@ -1446,7 +1522,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyDef(def) { return this.chainModify(2); }, - isBreakable: true, + flags: {breakable: 1}, name: "Fur Coat", rating: 4, num: 169, @@ -1455,6 +1531,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyPriority(priority, pokemon, target, move) { if (move?.type === 'Flying' && pokemon.hp === pokemon.maxhp) return priority + 1; }, + flags: {}, name: "Gale Wings", rating: 1.5, num: 177, @@ -1475,21 +1552,22 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onBasePower(basePower, pokemon, target, move) { if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); }, + flags: {}, name: "Galvanize", rating: 4, num: 206, }, gluttony: { - name: "Gluttony", - rating: 1.5, - num: 82, onStart(pokemon) { pokemon.abilityState.gluttony = true; }, onDamage(item, pokemon) { pokemon.abilityState.gluttony = true; }, - + flags: {}, + name: "Gluttony", + rating: 1.5, + num: 82, }, goodasgold: { onTryHit(target, source, move) { @@ -1498,7 +1576,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Good as Gold", rating: 5, num: 283, @@ -1510,6 +1588,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spe: -1}, source, target, null, true); } }, + flags: {}, name: "Gooey", rating: 2, num: 183, @@ -1552,6 +1631,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onEnd(pokemon) { pokemon.abilityState.choiceLock = ""; }, + flags: {}, name: "Gorilla Tactics", rating: 4.5, num: 255, @@ -1561,7 +1641,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyDef(pokemon) { if (this.field.isTerrain('grassyterrain')) return this.chainModify(1.5); }, - isBreakable: true, + flags: {breakable: 1}, name: "Grass Pelt", rating: 0.5, num: 179, @@ -1570,6 +1650,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(source) { this.field.setTerrain('grassyterrain'); }, + flags: {}, name: "Grassy Surge", rating: 4, num: 229, @@ -1580,6 +1661,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spa: length}, source); } }, + flags: {}, name: "Grim Neigh", rating: 3, num: 265, @@ -1596,14 +1678,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 1}, target, target, null, false, true); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Guard Dog", rating: 2, num: 275, }, gulpmissile: { onDamagingHit(damage, target, source, move) { - if (!source.hp || !source.isActive || target.transformed || target.isSemiInvulnerable()) return; + if (!source.hp || !source.isActive || target.isSemiInvulnerable()) return; if (['cramorantgulping', 'cramorantgorging'].includes(target.species.id)) { this.damage(source.baseMaxhp / 4, source, target); if (target.species.id === 'cramorantgulping') { @@ -1616,15 +1698,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }, // The Dive part of this mechanic is implemented in Dive's `onTryMove` in moves.ts onSourceTryPrimaryHit(target, source, effect) { - if ( - effect && effect.id === 'surf' && source.hasAbility('gulpmissile') && - source.species.name === 'Cramorant' && !source.transformed - ) { + if (effect?.id === 'surf' && source.hasAbility('gulpmissile') && source.species.name === 'Cramorant') { const forme = source.hp <= source.maxhp / 2 ? 'cramorantgorging' : 'cramorantgulping'; source.formeChange(forme, effect); } }, - isPermanent: true, + flags: {cantsuppress: 1, notransform: 1}, name: "Gulp Missile", rating: 2.5, num: 241, @@ -1636,6 +1715,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Guts", rating: 3.5, num: 62, @@ -1653,12 +1733,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5461, 4096]); } }, + flags: {}, name: "Hadron Engine", rating: 4.5, num: 289, }, harvest: { - name: "Harvest", onResidualOrder: 28, onResidualSubOrder: 2, onResidual(pokemon) { @@ -1670,11 +1750,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, + name: "Harvest", rating: 2.5, num: 139, }, healer: { - name: "Healer", onResidualOrder: 5, onResidualSubOrder: 3, onResidual(pokemon) { @@ -1685,6 +1766,8 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, + name: "Healer", rating: 0, num: 131, }, @@ -1708,7 +1791,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return damage / 2; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Heatproof", rating: 2, num: 85, @@ -1718,12 +1801,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyWeight(weighthg) { return weighthg * 2; }, - isBreakable: true, + flags: {breakable: 1}, name: "Heavy Metal", rating: 0, num: 134, }, honeygather: { + flags: {}, name: "Honey Gather", rating: 0, num: 118, @@ -1734,6 +1818,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.heal(ally.baseMaxhp / 4, ally, pokemon); } }, + flags: {}, name: "Hospitality", rating: 0, num: 299, @@ -1743,6 +1828,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyAtk(atk) { return this.chainModify(2); }, + flags: {}, name: "Huge Power", rating: 5, num: 37, @@ -1750,10 +1836,11 @@ export const Abilities: {[abilityid: string]: AbilityData} = { hungerswitch: { onResidualOrder: 29, onResidual(pokemon) { - if (pokemon.species.baseSpecies !== 'Morpeko' || pokemon.transformed || pokemon.terastallized) return; + if (pokemon.species.baseSpecies !== 'Morpeko' || pokemon.terastallized) return; const targetForme = pokemon.species.name === 'Morpeko' ? 'Morpeko-Hangry' : 'Morpeko'; pokemon.formeChange(targetForme); }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Hunger Switch", rating: 1, num: 258, @@ -1770,6 +1857,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([3277, 4096]); } }, + flags: {}, name: "Hustle", rating: 3.5, num: 55, @@ -1784,6 +1872,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.cureStatus(); } }, + flags: {}, name: "Hydration", rating: 1.5, num: 93, @@ -1798,7 +1887,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, - isBreakable: true, + flags: {breakable: 1}, name: "Hyper Cutter", rating: 1.5, num: 52, @@ -1812,14 +1901,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onImmunity(type, pokemon) { if (type === 'hail') return false; }, + flags: {}, name: "Ice Body", rating: 1, num: 115, }, iceface: { onStart(pokemon) { - if (this.field.isWeather(['hail', 'snow']) && - pokemon.species.id === 'eiscuenoice' && !pokemon.transformed) { + if (this.field.isWeather(['hail', 'snow']) && pokemon.species.id === 'eiscuenoice') { this.add('-activate', pokemon, 'ability: Ice Face'); this.effectState.busted = false; pokemon.formeChange('Eiscue', this.effect, true); @@ -1827,10 +1916,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }, onDamagePriority: 1, onDamage(damage, target, source, effect) { - if ( - effect && effect.effectType === 'Move' && effect.category === 'Physical' && - target.species.id === 'eiscue' && !target.transformed - ) { + if (effect?.effectType === 'Move' && effect.category === 'Physical' && target.species.id === 'eiscue') { this.add('-activate', target, 'ability: Ice Face'); this.effectState.busted = true; return 0; @@ -1838,14 +1924,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }, onCriticalHit(target, type, move) { if (!target) return; - if (move.category !== 'Physical' || target.species.id !== 'eiscue' || target.transformed) return; + if (move.category !== 'Physical' || target.species.id !== 'eiscue') return; if (target.volatiles['substitute'] && !(move.flags['bypasssub'] || move.infiltrates)) return; if (!target.runImmunity(move.type)) return; return false; }, onEffectiveness(typeMod, target, type, move) { if (!target) return; - if (move.category !== 'Physical' || target.species.id !== 'eiscue' || target.transformed) return; + if (move.category !== 'Physical' || target.species.id !== 'eiscue') return; const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); if (hitSub) return; @@ -1862,15 +1948,16 @@ export const Abilities: {[abilityid: string]: AbilityData} = { // snow/hail resuming because Cloud Nine/Air Lock ended does not trigger Ice Face if ((sourceEffect as Ability)?.suppressWeather) return; if (!pokemon.hp) return; - if (this.field.isWeather(['hail', 'snow']) && - pokemon.species.id === 'eiscuenoice' && !pokemon.transformed) { + if (this.field.isWeather(['hail', 'snow']) && pokemon.species.id === 'eiscuenoice') { this.add('-activate', pokemon, 'ability: Ice Face'); this.effectState.busted = false; pokemon.formeChange('Eiscue', this.effect, true); } }, - isBreakable: true, - isPermanent: true, + flags: { + failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, + breakable: 1, notransform: 1, + }, name: "Ice Face", rating: 3, num: 248, @@ -1881,7 +1968,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Ice Scales", rating: 4, num: 246, @@ -1899,7 +1986,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { move.ignoreEvasion = true; }, - isBreakable: true, + flags: {breakable: 1}, name: "Illuminate", rating: 0.5, num: 35, @@ -1941,6 +2028,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onFaint(pokemon) { pokemon.illusion = null; }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1}, name: "Illusion", rating: 4.5, num: 149, @@ -1959,7 +2047,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } return false; }, - isBreakable: true, + flags: {breakable: 1}, name: "Immunity", rating: 2, num: 17, @@ -1980,6 +2068,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.effectState.switchingIn = false; }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1}, name: "Imposter", rating: 5, num: 150, @@ -1988,18 +2077,20 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { move.infiltrates = true; }, + flags: {}, name: "Infiltrator", rating: 2.5, num: 151, }, innardsout: { - name: "Innards Out", onDamagingHitOrder: 1, onDamagingHit(damage, target, source, move) { if (!target.hp) { this.damage(target.getUndynamaxedHP(damage), source, target); } }, + flags: {}, + name: "Innards Out", rating: 4, num: 215, }, @@ -2013,7 +2104,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Inner Focus', '[of] ' + target); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Inner Focus", rating: 1, num: 39, @@ -2038,7 +2129,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Insomnia", rating: 1.5, num: 15, @@ -2058,6 +2149,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Intimidate", rating: 3.5, num: 22, @@ -2068,6 +2160,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.swordBoost = true; this.boost({atk: 1}, pokemon); }, + flags: {}, name: "Intrepid Sword", rating: 4, num: 234, @@ -2079,6 +2172,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.damage(source.baseMaxhp / 8, source, target); } }, + flags: {}, name: "Iron Barbs", rating: 2.5, num: 160, @@ -2091,6 +2185,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([4915, 4096]); } }, + flags: {}, name: "Iron Fist", rating: 3, num: 89, @@ -2101,6 +2196,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 1}); } }, + flags: {}, name: "Justified", rating: 2.5, num: 154, @@ -2118,7 +2214,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { move.ignoreEvasion = true; }, - isBreakable: true, + flags: {breakable: 1}, name: "Keen Eye", rating: 0.5, num: 51, @@ -2128,6 +2224,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(pokemon) { this.singleEvent('End', pokemon.getItem(), pokemon.itemState, pokemon); }, + flags: {}, name: "Klutz", rating: -1, num: 103, @@ -2147,14 +2244,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Leaf Guard", rating: 0.5, num: 102, }, levitate: { // airborneness implemented in sim/pokemon.js:Pokemon#isGrounded - isBreakable: true, + flags: {breakable: 1}, name: "Levitate", rating: 3.5, num: 26, @@ -2173,6 +2270,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onSwitchIn() { delete this.effectState.libero; }, + flags: {}, name: "Libero", rating: 4, num: 236, @@ -2181,7 +2279,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyWeight(weighthg) { return this.trunc(weighthg / 2); }, - isBreakable: true, + flags: {breakable: 1}, name: "Light Metal", rating: 1, num: 135, @@ -2206,7 +2304,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.effectState.target; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Lightning Rod", rating: 3, num: 31, @@ -2225,7 +2323,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } return false; }, - isBreakable: true, + flags: {breakable: 1}, name: "Limber", rating: 2, num: 7, @@ -2233,7 +2331,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { lingeringaroma: { onDamagingHit(damage, target, source, move) { const sourceAbility = source.getAbility(); - if (sourceAbility.isPermanent || sourceAbility.id === 'lingeringaroma') { + if (sourceAbility.flags['cantsuppress'] || sourceAbility.id === 'lingeringaroma') { return; } if (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) { @@ -2243,6 +2341,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Lingering Aroma", rating: 2, num: 268, @@ -2256,6 +2355,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return 0; } }, + flags: {}, name: "Liquid Ooze", rating: 2.5, num: 64, @@ -2267,6 +2367,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { move.type = 'Water'; } }, + flags: {}, name: "Liquid Voice", rating: 1.5, num: 204, @@ -2275,12 +2376,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { delete move.flags['contact']; }, + flags: {}, name: "Long Reach", rating: 1, num: 203, }, magicbounce: { - name: "Magic Bounce", onTryHitPriority: 1, onTryHit(target, source, move) { if (target === source || move.hasBounced || !move.flags['reflectable']) { @@ -2305,7 +2406,8 @@ export const Abilities: {[abilityid: string]: AbilityData} = { condition: { duration: 1, }, - isBreakable: true, + flags: {breakable: 1}, + name: "Magic Bounce", rating: 4, num: 156, }, @@ -2316,6 +2418,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; } }, + flags: {}, name: "Magic Guard", rating: 4, num: 98, @@ -2334,6 +2437,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-item', source, yourItem, '[from] ability: Magician', '[of] ' + target); } }, + flags: {}, name: "Magician", rating: 1, num: 170, @@ -2348,7 +2452,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onImmunity(type, pokemon) { if (type === 'frz') return false; }, - isBreakable: true, + flags: {breakable: 1}, name: "Magma Armor", rating: 0.5, num: 40, @@ -2366,6 +2470,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.maybeTrapped = true; } }, + flags: {}, name: "Magnet Pull", rating: 4, num: 42, @@ -2377,7 +2482,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Marvel Scale", rating: 2.5, num: 63, @@ -2389,6 +2494,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Mega Launcher", rating: 3, num: 178, @@ -2397,6 +2503,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyCritRatio(critRatio, source, target) { if (target && ['psn', 'tox'].includes(target.status)) return 5; }, + flags: {}, name: "Merciless", rating: 1.5, num: 196, @@ -2433,6 +2540,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-end', pokemon, 'typechange', '[silent]'); } }, + flags: {}, name: "Mimicry", rating: 0, num: 250, @@ -2456,6 +2564,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { move.ignoreImmunity['Normal'] = true; } }, + flags: {breakable: 1}, name: "Mind's Eye", rating: 0, num: 300, @@ -2469,6 +2578,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Minus", rating: 0, num: 58, @@ -2491,7 +2601,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, - isBreakable: true, + flags: {breakable: 1}, name: "Mirror Armor", rating: 2, num: 240, @@ -2500,6 +2610,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(source) { this.field.setTerrain('mistyterrain'); }, + flags: {}, name: "Misty Surge", rating: 3.5, num: 228, @@ -2511,6 +2622,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { move.ignoreAbility = true; }, + flags: {}, name: "Mold Breaker", rating: 3, num: 104, @@ -2544,6 +2656,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost(boost, pokemon, pokemon); }, + flags: {}, name: "Moody", rating: 5, num: 141, @@ -2557,7 +2670,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Motor Drive", rating: 3, num: 78, @@ -2568,6 +2681,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: length}, source); } }, + flags: {}, name: "Moxie", rating: 3, num: 153, @@ -2579,23 +2693,22 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Multiscale", rating: 3.5, num: 136, }, multitype: { // Multitype's type-changing itself is implemented in statuses.js - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Multitype", rating: 4, num: 121, }, mummy: { - name: "Mummy", onDamagingHit(damage, target, source, move) { const sourceAbility = source.getAbility(); - if (sourceAbility.isPermanent || sourceAbility.id === 'mummy') { + if (sourceAbility.flags['cantsuppress'] || sourceAbility.id === 'mummy') { return; } if (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) { @@ -2605,6 +2718,8 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, + name: "Mummy", rating: 2, num: 152, }, @@ -2620,6 +2735,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { move.ignoreAbility = true; } }, + flags: {}, name: "Mycelium Might", rating: 2, num: 298, @@ -2702,6 +2818,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { // (once you know a Pokemon has Natural Cure, its cures are always known) if (!pokemon.showCure) pokemon.showCure = undefined; }, + flags: {}, name: "Natural Cure", rating: 2.5, num: 30, @@ -2712,6 +2829,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5120, 4096]); } }, + flags: {}, name: "Neuroforce", rating: 2.5, num: 233, @@ -2719,7 +2837,6 @@ export const Abilities: {[abilityid: string]: AbilityData} = { neutralizinggas: { // Ability suppression implemented in sim/pokemon.ts:Pokemon#ignoringAbility onPreStart(pokemon) { - if (pokemon.transformed) return; this.add('-ability', pokemon, 'Neutralizing Gas'); pokemon.abilityState.ending = false; const strongWeathers = ['desolateland', 'primordialsea', 'deltastream']; @@ -2765,7 +2882,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.speedSort(sortedActive); for (const pokemon of sortedActive) { if (pokemon !== source) { - if (pokemon.getAbility().isPermanent) continue; // does not interact with e.g Ice Face, Zen Mode + if (pokemon.getAbility().flags['cantsuppress']) continue; // does not interact with e.g Ice Face, Zen Mode if (pokemon.hasItem('abilityshield')) continue; // don't restart abilities that weren't suppressed // Will be suppressed by Pokemon#ignoringAbility if needed @@ -2776,6 +2893,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Neutralizing Gas", rating: 3.5, num: 256, @@ -2791,6 +2909,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } return accuracy; }, + flags: {}, name: "No Guard", rating: 4, num: 99, @@ -2812,6 +2931,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onBasePower(basePower, pokemon, target, move) { if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); }, + flags: {}, name: "Normalize", rating: 0, num: 96, @@ -2844,7 +2964,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Oblivious', '[of] ' + target); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Oblivious", rating: 1.5, num: 12, @@ -2863,6 +2983,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (Object.keys(positiveBoosts).length < 1) return; this.boost(positiveBoosts, pokemon); }, + flags: {}, name: "Opportunist", rating: 3, num: 290, @@ -2882,6 +3003,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5461, 4096]); } }, + flags: {}, name: "Orichalcum Pulse", rating: 4.5, num: 288, @@ -2897,7 +3019,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Overcoat", rating: 2, num: 142, @@ -2917,6 +3039,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Overgrow", rating: 2, num: 65, @@ -2942,7 +3065,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Own Tempo', '[of] ' + target); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Own Tempo", rating: 1.5, num: 20, @@ -2961,6 +3084,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return secondaries.filter(effect => effect.volatileStatus === 'flinch'); } }, + flags: {}, name: "Parental Bond", rating: 4.5, num: 185, @@ -3001,7 +3125,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } return false; }, - isBreakable: true, + flags: {breakable: 1}, name: "Pastel Veil", rating: 2, num: 257, @@ -3020,6 +3144,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.addVolatile('perishsong'); } }, + flags: {}, name: "Perish Body", rating: 1, num: 253, @@ -3042,6 +3167,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-item', target, yourItem, '[from] ability: Pickpocket', '[of] ' + source); } }, + flags: {}, name: "Pickpocket", rating: 1, num: 124, @@ -3061,6 +3187,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-item', pokemon, this.dex.items.get(item), '[from] ability: Pickup'); pokemon.setItem(item); }, + flags: {}, name: "Pickup", rating: 0.5, num: 53, @@ -3081,6 +3208,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onBasePower(basePower, pokemon, target, move) { if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); }, + flags: {}, name: "Pixilate", rating: 4, num: 182, @@ -3094,6 +3222,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Plus", rating: 0, num: 57, @@ -3106,6 +3235,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; } }, + flags: {}, name: "Poison Heal", rating: 4, num: 90, @@ -3118,10 +3248,24 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Poison Point", rating: 1.5, num: 38, }, + poisonpuppeteer: { + onAnyAfterSetStatus(status, target, source, effect) { + if (source.baseSpecies.name !== "Pecharunt") return; + if (source !== this.effectState.target || target === source || effect.effectType !== 'Move') return; + if (status.id === 'psn' || status.id === 'tox') { + target.addVolatile('confusion'); + } + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1}, + name: "Poison Puppeteer", + rating: 3, + num: 310, + }, poisontouch: { onSourceDamagingHit(damage, target, source, move) { // Despite not being a secondary, Shield Dust / Covert Cloak block Poison Touch's effect @@ -3132,6 +3276,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Poison Touch", rating: 2, num: 143, @@ -3151,7 +3296,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.maxhp = newMaxHP; this.add('-heal', pokemon, pokemon.getHealth, '[silent]'); }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Power Construct", rating: 5, num: 211, @@ -3160,14 +3305,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onAllyFaint(target) { if (!this.effectState.target.hp) return; const ability = target.getAbility(); - const additionalBannedAbilities = [ - 'noability', 'commander', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', - ]; - if (target.getAbility().isPermanent || additionalBannedAbilities.includes(target.ability)) return; + if (ability.flags['noreceiver'] || ability.id === 'noability') return; if (this.effectState.target.setAbility(ability)) { this.add('-ability', this.effectState.target, ability, '[from] ability: Power of Alchemy', '[of] ' + target); } }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1}, name: "Power of Alchemy", rating: 0, num: 223, @@ -3180,6 +3323,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5325, 4096]); } }, + flags: {}, name: "Power Spot", rating: 0, num: 249, @@ -3191,6 +3335,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return priority + 1; } }, + flags: {}, name: "Prankster", rating: 4, num: 158, @@ -3203,6 +3348,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (target.isAlly(source)) return; return 1; }, + flags: {}, name: "Pressure", rating: 2.5, num: 46, @@ -3226,6 +3372,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.field.clearWeather(); }, + flags: {}, name: "Primordial Sea", rating: 4.5, num: 189, @@ -3237,6 +3384,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.75); } }, + flags: {}, name: "Prism Armor", rating: 3, num: 232, @@ -3247,6 +3395,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { // most of the implementation is in Battle#getTarget move.tracksTarget = move.target !== 'scripted'; }, + flags: {}, name: "Propeller Tail", rating: 0, num: 239, @@ -3265,6 +3414,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onSwitchIn(pokemon) { delete this.effectState.protean; }, + flags: {}, name: "Protean", rating: 4, num: 168, @@ -3274,11 +3424,11 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.singleEvent('WeatherChange', this.effect, this.effectState, pokemon); }, onWeatherChange(pokemon) { - if (pokemon.transformed) return; // Protosynthesis is not affected by Utility Umbrella if (this.field.isWeather('sunnyday')) { pokemon.addVolatile('protosynthesis'); - } else if (!pokemon.volatiles['protosynthesis']?.fromBooster) { + } else if (!pokemon.volatiles['protosynthesis']?.fromBooster && this.field.weather !== 'sunnyday') { + // Protosynthesis will not deactivite if Sun is suppressed, hence the direct ID check (isWeather respects supression) pokemon.removeVolatile('protosynthesis'); } }, @@ -3289,7 +3439,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { condition: { noCopy: true, onStart(pokemon, source, effect) { - if (effect?.id === 'boosterenergy') { + if (effect?.name === 'Booster Energy') { this.effectState.fromBooster = true; this.add('-activate', pokemon, 'ability: Protosynthesis', '[fromitem]'); } else { @@ -3299,31 +3449,31 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-start', pokemon, 'protosynthesis' + this.effectState.bestStat); }, onModifyAtkPriority: 5, - onModifyAtk(atk, source, target, move) { - if (this.effectState.bestStat !== 'atk') return; + onModifyAtk(atk, pokemon) { + if (this.effectState.bestStat !== 'atk' || pokemon.ignoringAbility()) return; this.debug('Protosynthesis atk boost'); return this.chainModify([5325, 4096]); }, onModifyDefPriority: 6, - onModifyDef(def, target, source, move) { - if (this.effectState.bestStat !== 'def') return; + onModifyDef(def, pokemon) { + if (this.effectState.bestStat !== 'def' || pokemon.ignoringAbility()) return; this.debug('Protosynthesis def boost'); return this.chainModify([5325, 4096]); }, onModifySpAPriority: 5, - onModifySpA(relayVar, source, target, move) { - if (this.effectState.bestStat !== 'spa') return; + onModifySpA(spa, pokemon) { + if (this.effectState.bestStat !== 'spa' || pokemon.ignoringAbility()) return; this.debug('Protosynthesis spa boost'); return this.chainModify([5325, 4096]); }, onModifySpDPriority: 6, - onModifySpD(relayVar, target, source, move) { - if (this.effectState.bestStat !== 'spd') return; + onModifySpD(spd, pokemon) { + if (this.effectState.bestStat !== 'spd' || pokemon.ignoringAbility()) return; this.debug('Protosynthesis spd boost'); return this.chainModify([5325, 4096]); }, onModifySpe(spe, pokemon) { - if (this.effectState.bestStat !== 'spe') return; + if (this.effectState.bestStat !== 'spe' || pokemon.ignoringAbility()) return; this.debug('Protosynthesis spe boost'); return this.chainModify(1.5); }, @@ -3331,7 +3481,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-end', pokemon, 'Protosynthesis'); }, }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Protosynthesis", rating: 3, num: 281, @@ -3340,6 +3490,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(source) { this.field.setTerrain('psychicterrain'); }, + flags: {}, name: "Psychic Surge", rating: 4, num: 227, @@ -3358,7 +3509,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Punk Rock", rating: 3.5, num: 244, @@ -3368,6 +3519,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyAtk(atk) { return this.chainModify(2); }, + flags: {}, name: "Pure Power", rating: 5, num: 74, @@ -3399,7 +3551,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Purifying Salt", rating: 4, num: 272, @@ -3409,7 +3561,6 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.singleEvent('TerrainChange', this.effect, this.effectState, pokemon); }, onTerrainChange(pokemon) { - if (pokemon.transformed) return; if (this.field.isTerrain('electricterrain')) { pokemon.addVolatile('quarkdrive'); } else if (!pokemon.volatiles['quarkdrive']?.fromBooster) { @@ -3423,7 +3574,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { condition: { noCopy: true, onStart(pokemon, source, effect) { - if (effect?.id === 'boosterenergy') { + if (effect?.name === 'Booster Energy') { this.effectState.fromBooster = true; this.add('-activate', pokemon, 'ability: Quark Drive', '[fromitem]'); } else { @@ -3433,31 +3584,31 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-start', pokemon, 'quarkdrive' + this.effectState.bestStat); }, onModifyAtkPriority: 5, - onModifyAtk(atk, source, target, move) { - if (this.effectState.bestStat !== 'atk') return; + onModifyAtk(atk, pokemon) { + if (this.effectState.bestStat !== 'atk' || pokemon.ignoringAbility()) return; this.debug('Quark Drive atk boost'); return this.chainModify([5325, 4096]); }, onModifyDefPriority: 6, - onModifyDef(def, target, source, move) { - if (this.effectState.bestStat !== 'def') return; + onModifyDef(def, pokemon) { + if (this.effectState.bestStat !== 'def' || pokemon.ignoringAbility()) return; this.debug('Quark Drive def boost'); return this.chainModify([5325, 4096]); }, onModifySpAPriority: 5, - onModifySpA(relayVar, source, target, move) { - if (this.effectState.bestStat !== 'spa') return; + onModifySpA(spa, pokemon) { + if (this.effectState.bestStat !== 'spa' || pokemon.ignoringAbility()) return; this.debug('Quark Drive spa boost'); return this.chainModify([5325, 4096]); }, onModifySpDPriority: 6, - onModifySpD(relayVar, target, source, move) { - if (this.effectState.bestStat !== 'spd') return; + onModifySpD(spd, pokemon) { + if (this.effectState.bestStat !== 'spd' || pokemon.ignoringAbility()) return; this.debug('Quark Drive spd boost'); return this.chainModify([5325, 4096]); }, onModifySpe(spe, pokemon) { - if (this.effectState.bestStat !== 'spe') return; + if (this.effectState.bestStat !== 'spe' || pokemon.ignoringAbility()) return; this.debug('Quark Drive spe boost'); return this.chainModify(1.5); }, @@ -3465,7 +3616,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-end', pokemon, 'Quark Drive'); }, }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, name: "Quark Drive", rating: 3, num: 282, @@ -3484,7 +3635,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Queenly Majesty", rating: 2.5, num: 214, @@ -3497,6 +3648,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return 0.1; } }, + flags: {}, name: "Quick Draw", rating: 2.5, num: 259, @@ -3507,6 +3659,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Quick Feet", rating: 2.5, num: 95, @@ -3518,6 +3671,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.heal(target.baseMaxhp / 16); } }, + flags: {}, name: "Rain Dish", rating: 1.5, num: 44, @@ -3529,10 +3683,11 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } }, onAfterBoost(boost, target, source, effect) { - if (effect?.name === 'Intimidate') { + if (effect?.name === 'Intimidate' && boost.atk) { this.boost({spe: 1}); } }, + flags: {}, name: "Rattled", rating: 1, num: 155, @@ -3541,14 +3696,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onAllyFaint(target) { if (!this.effectState.target.hp) return; const ability = target.getAbility(); - const additionalBannedAbilities = [ - 'noability', 'commander', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', - ]; - if (target.getAbility().isPermanent || additionalBannedAbilities.includes(target.ability)) return; + if (ability.flags['noreceiver'] || ability.id === 'noability') return; if (this.effectState.target.setAbility(ability)) { this.add('-ability', this.effectState.target, ability, '[from] ability: Receiver', '[of] ' + target); } }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1}, name: "Receiver", rating: 0, num: 222, @@ -3561,6 +3714,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([4915, 4096]); } }, + flags: {}, name: "Reckless", rating: 3, num: 120, @@ -3581,6 +3735,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onBasePower(basePower, pokemon, target, move) { if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); }, + flags: {}, name: "Refrigerate", rating: 4, num: 174, @@ -3589,6 +3744,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onSwitchOut(pokemon) { pokemon.heal(pokemon.baseMaxhp / 3); }, + flags: {}, name: "Regenerator", rating: 4.5, num: 144, @@ -3627,6 +3783,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { // Record if the pokemon ate a berry to resist the attack pokemon.abilityState.berryWeaken = weakenBerries.includes(item.name); }, + flags: {}, name: "Ripen", rating: 2, num: 247, @@ -3644,13 +3801,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Rivalry", rating: 0, num: 79, }, rkssystem: { // RKS System's type-changing itself is implemented in statuses.js - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "RKS System", rating: 4, num: 225, @@ -3662,6 +3820,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (this.activeMove.id !== 'struggle') return null; } }, + flags: {}, name: "Rock Head", rating: 3, num: 69, @@ -3681,6 +3840,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Rocky Payload", rating: 3.5, num: 276, @@ -3692,11 +3852,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.damage(source.baseMaxhp / 8, source, target); } }, + flags: {}, name: "Rough Skin", rating: 2.5, num: 24, }, runaway: { + flags: {}, name: "Run Away", rating: 0, num: 50, @@ -3714,6 +3876,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onImmunity(type, pokemon) { if (type === 'sandstorm') return false; }, + flags: {}, name: "Sand Force", rating: 2, num: 159, @@ -3727,6 +3890,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onImmunity(type, pokemon) { if (type === 'sandstorm') return false; }, + flags: {}, name: "Sand Rush", rating: 3, num: 146, @@ -3735,6 +3899,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onDamagingHit(damage, target, source, move) { this.field.setWeather('sandstorm'); }, + flags: {}, name: "Sand Spit", rating: 1, num: 245, @@ -3743,6 +3908,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(source) { this.field.setWeather('sandstorm'); }, + flags: {}, name: "Sand Stream", rating: 4, num: 45, @@ -3759,7 +3925,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([3277, 4096]); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Sand Veil", rating: 1.5, num: 8, @@ -3780,7 +3946,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 1}, this.effectState.target); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Sap Sipper", rating: 3, num: 157, @@ -3814,7 +3980,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Schooling", rating: 3, num: 208, @@ -3834,6 +4000,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Scrappy', '[of] ' + target); } }, + flags: {}, name: "Scrappy", rating: 3, num: 113, @@ -3853,6 +4020,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Screen Cleaner", rating: 2, num: 251, @@ -3861,6 +4029,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onDamagingHit(damage, target, source, move) { this.field.setTerrain('grassyterrain'); }, + flags: {}, name: "Seed Sower", rating: 2.5, num: 269, @@ -3876,6 +4045,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } if (move.self?.chance) move.self.chance *= 2; }, + flags: {}, name: "Serene Grace", rating: 3.5, num: 32, @@ -3887,6 +4057,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, + flags: {}, name: "Shadow Shield", rating: 3.5, num: 231, @@ -3904,6 +4075,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.maybeTrapped = true; } }, + flags: {}, name: "Shadow Tag", rating: 5, num: 23, @@ -3912,10 +4084,11 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onBasePowerPriority: 19, onBasePower(basePower, attacker, defender, move) { if (move.flags['slicing']) { - this.debug('Shapness boost'); + this.debug('Sharpness boost'); return this.chainModify(1.5); } }, + flags: {}, name: "Sharpness", rating: 3.5, num: 292, @@ -3930,6 +4103,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.cureStatus(); } }, + flags: {}, name: "Shed Skin", rating: 3, num: 61, @@ -3949,13 +4123,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onBasePower(basePower, pokemon, target, move) { if (move.hasSheerForce) return this.chainModify([5325, 4096]); }, + flags: {}, name: "Sheer Force", rating: 3.5, num: 125, }, shellarmor: { onCriticalHit: false, - isBreakable: true, + flags: {breakable: 1}, name: "Shell Armor", rating: 1, num: 75, @@ -3965,7 +4140,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.debug('Shield Dust prevent secondary'); return secondaries.filter(effect => !!(effect.self || effect.dustproof)); }, - isBreakable: true, + flags: {breakable: 1}, name: "Shield Dust", rating: 2, num: 19, @@ -4009,7 +4184,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-immune', target, '[from] ability: Shields Down'); return null; }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Shields Down", rating: 3, num: 197, @@ -4022,7 +4197,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { boost[i]! *= 2; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Simple", rating: 4, num: 86, @@ -4036,6 +4211,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { delete move.multiaccuracy; } }, + flags: {}, name: "Skill Link", rating: 3, num: 92, @@ -4066,6 +4242,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-end', target, 'Slow Start'); }, }, + flags: {}, name: "Slow Start", rating: -1, num: 112, @@ -4076,6 +4253,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(2); } }, + flags: {}, name: "Slush Rush", rating: 3, num: 202, @@ -4087,6 +4265,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Sniper", rating: 2, num: 97, @@ -4103,7 +4282,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([3277, 4096]); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Snow Cloak", rating: 1.5, num: 81, @@ -4112,6 +4291,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(source) { this.field.setWeather('snow'); }, + flags: {}, name: "Snow Warning", rating: 4, num: 117, @@ -4129,6 +4309,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.damage(target.baseMaxhp / 8, target, target); } }, + flags: {}, name: "Solar Power", rating: 2, num: 94, @@ -4140,7 +4321,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.75); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Solid Rock", rating: 3, num: 116, @@ -4150,6 +4331,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onAnyFaint() { this.boost({spa: 1}, this.effectState.target); }, + flags: {}, name: "Soul-Heart", rating: 3.5, num: 220, @@ -4166,7 +4348,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-immune', this.effectState.target, '[from] ability: Soundproof'); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Soundproof", rating: 2, num: 43, @@ -4179,6 +4361,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spe: 1}); } }, + flags: {}, name: "Speed Boost", rating: 4.5, num: 3, @@ -4198,12 +4381,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(2); } }, + flags: {}, name: "Stakeout", rating: 4.5, num: 198, }, stall: { onFractionalPriority: -0.1, + flags: {}, name: "Stall", rating: -1, num: 100, @@ -4214,6 +4399,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { // most of the implementation is in Battle#getTarget move.tracksTarget = move.target !== 'scripted'; }, + flags: {}, name: "Stalwart", rating: 0, num: 242, @@ -4222,8 +4408,9 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onDamagingHit(damage, target, source, effect) { this.boost({def: 1}); }, + flags: {}, name: "Stamina", - rating: 3.5, + rating: 4, num: 192, }, stancechange: { @@ -4234,7 +4421,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { const targetForme = (move.id === 'kingsshield' ? 'Aegislash' : 'Aegislash-Blade'); if (attacker.species.name !== targetForme) attacker.formeChange(targetForme); }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Stance Change", rating: 4, num: 176, @@ -4247,6 +4434,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Static", rating: 2, num: 9, @@ -4255,6 +4443,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onFlinch(pokemon) { this.boost({spe: 1}); }, + flags: {}, name: "Steadfast", rating: 1, num: 80, @@ -4265,6 +4454,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spe: 6}); } }, + flags: {}, name: "Steam Engine", rating: 2, num: 243, @@ -4284,6 +4474,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Steelworker", rating: 3.5, num: 200, @@ -4296,6 +4487,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Steely Spirit", rating: 3.5, num: 252, @@ -4315,6 +4507,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { }); } }, + flags: {}, name: "Stench", rating: 0.5, num: 1, @@ -4328,7 +4521,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return false; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Sticky Hold", rating: 1.5, num: 60, @@ -4353,7 +4546,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.effectState.target; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Storm Drain", rating: 3, num: 114, @@ -4365,6 +4558,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Strong Jaw", rating: 3.5, num: 173, @@ -4383,7 +4577,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return target.hp - 1; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Sturdy", rating: 3, num: 5, @@ -4394,7 +4588,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-activate', pokemon, 'ability: Suction Cups'); return null; }, - isBreakable: true, + flags: {breakable: 1}, name: "Suction Cups", rating: 1, num: 21, @@ -4403,6 +4597,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyCritRatio(critRatio) { return critRatio + 1; }, + flags: {}, name: "Super Luck", rating: 1.5, num: 105, @@ -4412,12 +4607,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { if (pokemon.syrupTriggered) return; pokemon.syrupTriggered = true; this.add('-ability', pokemon, 'Supersweet Syrup'); - let activated = false; for (const target of pokemon.adjacentFoes()) { - if (!activated) { - this.add('-ability', pokemon, 'Supersweet Syrup', 'boost'); - activated = true; - } if (target.volatiles['substitute']) { this.add('-immune', target); } else { @@ -4425,6 +4615,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } } }, + flags: {}, name: "Supersweet Syrup", rating: 1.5, num: 306, @@ -4449,6 +4640,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([powMod[this.effectState.fallen], 4096]); } }, + flags: {}, name: "Supreme Overlord", rating: 4, num: 293, @@ -4459,6 +4651,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(2); } }, + flags: {}, name: "Surge Surfer", rating: 3, num: 207, @@ -4478,12 +4671,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Swarm", rating: 2, num: 68, }, sweetveil: { - name: "Sweet Veil", onAllySetStatus(status, target, source, effect) { if (status.id === 'slp') { this.debug('Sweet Veil interrupts sleep'); @@ -4500,7 +4693,8 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, + name: "Sweet Veil", rating: 2, num: 175, }, @@ -4510,6 +4704,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(2); } }, + flags: {}, name: "Swift Swim", rating: 3, num: 33, @@ -4529,6 +4724,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } this.add('-activate', source, 'ability: Symbiosis', myItem, '[of] ' + pokemon); }, + flags: {}, name: "Symbiosis", rating: 0, num: 180, @@ -4543,6 +4739,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { // and show messages when activating against it. source.trySetStatus(status, target, {status: status.id, id: 'synchronize'} as Effect); }, + flags: {}, name: "Synchronize", rating: 2, num: 28, @@ -4560,6 +4757,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.debug('Sword of Ruin Def drop'); return this.chainModify(0.75); }, + flags: {}, name: "Sword of Ruin", rating: 4.5, num: 285, @@ -4577,6 +4775,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.debug('Tablets of Ruin Atk drop'); return this.chainModify(0.75); }, + flags: {}, name: "Tablets of Ruin", rating: 4.5, num: 284, @@ -4590,7 +4789,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Tangled Feet", rating: 1, num: 77, @@ -4602,6 +4801,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({spe: -1}, source, target, null, true); } }, + flags: {}, name: "Tangling Hair", rating: 2, num: 221, @@ -4616,6 +4816,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Technician", rating: 3.5, num: 101, @@ -4627,11 +4828,65 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Telepathy", rating: 0, num: 140, }, + teraformzero: { + onAfterTerastallization(pokemon) { + if (pokemon.baseSpecies.name !== 'Terapagos-Stellar') return; + if (this.field.weather || this.field.terrain) { + this.add('-ability', pokemon, 'Teraform Zero'); + this.field.clearWeather(); + this.field.clearTerrain(); + } + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1}, + name: "Teraform Zero", + rating: 3, + num: 309, + }, + terashell: { + onEffectiveness(typeMod, target, type, move) { + if (!target || target.species.name !== 'Terapagos-Terastal') return; + if (this.effectState.resisted) return -1; // all hits of multi-hit move should be not very effective + if (move.category === 'Status') return; + if (!target.runImmunity(move.type)) return; // immunity has priority + if (target.hp < target.maxhp) return; + + this.add('-activate', target, 'ability: Tera Shell'); + this.effectState.resisted = true; + return -1; + }, + onAnyAfterMove() { + this.effectState.resisted = false; + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, breakable: 1}, + name: "Tera Shell", + rating: 3.5, + num: 308, + }, + terashift: { + onPreStart(pokemon) { + if (pokemon.baseSpecies.baseSpecies !== 'Terapagos') return; + if (pokemon.species.forme !== 'Terastal') { + this.add('-activate', pokemon, 'ability: Tera Shift'); + pokemon.formeChange('Terapagos-Terastal', this.effect, true); + pokemon.baseMaxhp = Math.floor(Math.floor( + 2 * pokemon.species.baseStats['hp'] + pokemon.set.ivs['hp'] + Math.floor(pokemon.set.evs['hp'] / 4) + 100 + ) * pokemon.level / 100 + 10); + const newMaxHP = pokemon.baseMaxhp; + pokemon.hp = newMaxHP - (pokemon.maxhp - pokemon.hp); + pokemon.maxhp = newMaxHP; + this.add('-heal', pokemon, pokemon.getHealth, '[silent]'); + } + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1}, + name: "Tera Shift", + rating: 3, + num: 307, + }, teravolt: { onStart(pokemon) { this.add('-ability', pokemon, 'Teravolt'); @@ -4639,6 +4894,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { move.ignoreAbility = true; }, + flags: {}, name: "Teravolt", rating: 3, num: 164, @@ -4662,6 +4918,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } return false; }, + flags: {breakable: 1}, name: "Thermal Exchange", rating: 2.5, num: 270, @@ -4681,7 +4938,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(0.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Thick Fat", rating: 3.5, num: 47, @@ -4693,6 +4950,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(2); } }, + flags: {}, name: "Tinted Lens", rating: 4, num: 110, @@ -4712,6 +4970,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Torrent", rating: 2, num: 67, @@ -4723,6 +4982,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5325, 4096]); } }, + flags: {}, name: "Tough Claws", rating: 3.5, num: 181, @@ -4734,6 +4994,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify(1.5); } }, + flags: {}, name: "Toxic Boost", rating: 3, num: 137, @@ -4747,6 +5008,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { target.trySetStatus('tox', source); } }, + flags: {}, name: "Toxic Chain", rating: 4.5, num: 305, @@ -4760,6 +5022,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { side.addSideCondition('toxicspikes', target); } }, + flags: {}, name: "Toxic Debris", rating: 3.5, num: 295, @@ -4780,13 +5043,9 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onUpdate(pokemon) { if (!pokemon.isStarted || this.effectState.gaveUp) return; - const additionalBannedAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'commander', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', - ]; - const possibleTargets = pokemon.adjacentFoes().filter(target => ( - !target.getAbility().isPermanent && !additionalBannedAbilities.includes(target.ability) - )); + const possibleTargets = pokemon.adjacentFoes().filter( + target => !target.getAbility().flags['notrace'] && target.ability !== 'noability' + ); if (!possibleTargets.length) return; const target = this.sample(possibleTargets); @@ -4795,6 +5054,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add('-ability', pokemon, ability, '[from] ability: Trace', '[of] ' + target); } }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1}, name: "Trace", rating: 2.5, num: 36, @@ -4814,6 +5074,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([5325, 4096]); } }, + flags: {}, name: "Transistor", rating: 3.5, num: 262, @@ -4822,6 +5083,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyPriority(priority, pokemon, target, move) { if (move?.flags['heal']) return priority + 3; }, + flags: {}, name: "Triage", rating: 3.5, num: 205, @@ -4842,6 +5104,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.addVolatile('truant'); }, condition: {}, + flags: {}, name: "Truant", rating: -1, num: 54, @@ -4853,12 +5116,12 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { move.ignoreAbility = true; }, + flags: {}, name: "Turboblaze", rating: 3, num: 163, }, unaware: { - name: "Unaware", onAnyModifyBoost(boosts, pokemon) { const unawareUser = this.effectState.target; if (unawareUser === pokemon) return; @@ -4874,7 +5137,8 @@ export const Abilities: {[abilityid: string]: AbilityData} = { boosts['accuracy'] = 0; } }, - isBreakable: true, + flags: {breakable: 1}, + name: "Unaware", rating: 4, num: 109, }, @@ -4896,6 +5160,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } }, }, + flags: {}, name: "Unburden", rating: 3.5, num: 84, @@ -4916,6 +5181,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onFoeTryEatItem() { return !this.effectState.unnerved; }, + flags: {}, name: "Unnerve", rating: 1, num: 127, @@ -4924,6 +5190,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onModifyMove(move) { if (move.flags['contact']) delete move.flags['protect']; }, + flags: {}, name: "Unseen Fist", rating: 2, num: 260, @@ -4941,6 +5208,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.debug('Vessel of Ruin SpA drop'); return this.chainModify(0.75); }, + flags: {}, name: "Vessel of Ruin", rating: 4.5, num: 284, @@ -4952,6 +5220,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return this.chainModify([4506, 4096]); } }, + flags: {}, name: "Victory Star", rating: 2, num: 162, @@ -4976,7 +5245,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Vital Spirit", rating: 1.5, num: 72, @@ -4990,19 +5259,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Volt Absorb", rating: 3.5, num: 10, }, wanderingspirit: { onDamagingHit(damage, target, source, move) { - const additionalBannedAbilities = ['commander', 'hungerswitch', 'illusion', 'neutralizinggas', 'wonderguard']; - if (source.getAbility().isPermanent || additionalBannedAbilities.includes(source.ability) || - target.volatiles['dynamax'] - ) { - return; - } + if (source.getAbility().flags['failskillswap'] || target.volatiles['dynamax']) return; if (this.checkMoveMakesContact(move, source, target)) { const targetCanBeSet = this.runEvent('SetAbility', target, source, this.effect, source.ability); @@ -5017,6 +5281,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { target.setAbility(sourceAbility); } }, + flags: {}, name: "Wandering Spirit", rating: 2.5, num: 254, @@ -5030,7 +5295,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Water Absorb", rating: 3.5, num: 11, @@ -5071,7 +5336,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } return false; }, - isBreakable: true, + flags: {breakable: 1}, name: "Water Bubble", rating: 4.5, num: 199, @@ -5082,6 +5347,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({def: 2}); } }, + flags: {}, name: "Water Compaction", rating: 1.5, num: 195, @@ -5100,7 +5366,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } return false; }, - isBreakable: true, + flags: {breakable: 1}, name: "Water Veil", rating: 2, num: 41, @@ -5111,6 +5377,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({def: -1, spe: 2}, target, target); } }, + flags: {}, name: "Weak Armor", rating: 1, num: 133, @@ -5124,7 +5391,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Well-Baked Body", rating: 3.5, num: 273, @@ -5144,7 +5411,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.add("-fail", target, "unboost", "[from] ability: White Smoke", "[of] " + target); } }, - isBreakable: true, + flags: {breakable: 1}, name: "White Smoke", rating: 2, num: 73, @@ -5160,6 +5427,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { target.switchFlag = true; this.add('-activate', target, 'ability: Wimp Out'); }, + flags: {}, name: "Wimp Out", rating: 1, num: 193, @@ -5177,6 +5445,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { pokemon.addVolatile('charge'); } }, + flags: {}, name: "Wind Power", rating: 1, num: 277, @@ -5201,7 +5470,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { this.boost({atk: 1}, pokemon, pokemon); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Wind Rider", rating: 3.5, // We do not want Brambleghast to get Infiltrator in Randbats @@ -5221,7 +5490,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return null; } }, - isBreakable: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, failskillswap: 1, breakable: 1}, name: "Wonder Guard", rating: 5, num: 25, @@ -5234,7 +5503,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = { return 50; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Wonder Skin", rating: 2, num: 147, @@ -5274,14 +5543,14 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } }, }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, name: "Zen Mode", rating: 0, num: 161, }, zerotohero: { onSwitchOut(pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Palafin' || pokemon.transformed) return; + if (pokemon.baseSpecies.baseSpecies !== 'Palafin') return; if (pokemon.species.forme !== 'Hero') { pokemon.formeChange('Palafin-Hero', this.effect, true); } @@ -5292,13 +5561,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = { onStart(pokemon) { if (!this.effectState.switchingIn) return; this.effectState.switchingIn = false; - if (pokemon.baseSpecies.baseSpecies !== 'Palafin' || pokemon.transformed) return; + if (pokemon.baseSpecies.baseSpecies !== 'Palafin') return; if (!this.effectState.heroMessageDisplayed && pokemon.species.forme === 'Hero') { this.add('-activate', pokemon, 'ability: Zero to Hero'); this.effectState.heroMessageDisplayed = true; } }, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1}, name: "Zero to Hero", rating: 5, num: 278, @@ -5318,14 +5587,13 @@ export const Abilities: {[abilityid: string]: AbilityData} = { } }, isNonstandard: "CAP", - isBreakable: true, + flags: {breakable: 1}, name: "Mountaineer", rating: 3, num: -2, }, rebound: { isNonstandard: "CAP", - name: "Rebound", onTryHitPriority: 1, onTryHit(target, source, move) { if (this.effectState.target.activeTurns) return; @@ -5352,14 +5620,16 @@ export const Abilities: {[abilityid: string]: AbilityData} = { condition: { duration: 1, }, - isBreakable: true, + flags: {breakable: 1}, + name: "Rebound", rating: 3, num: -3, }, persistent: { isNonstandard: "CAP", - name: "Persistent", // implemented in the corresponding move + flags: {}, + name: "Persistent", rating: 3, num: -4, }, diff --git a/data/aliases.ts b/data/aliases.ts index 7c59faf51d45..083913c30fca 100644 --- a/data/aliases.ts +++ b/data/aliases.ts @@ -4,11 +4,13 @@ export const Aliases: {[alias: string]: string} = { uber: "[Gen 9] Ubers", anythinggoes: "[Gen 9] Anything Goes", ubers: "[Gen 9] Ubers", + uubers: "[Gen 9] Ubers UU", overused: "[Gen 9] OU", underused: "[Gen 9] UU", rarelyused: "[Gen 9] RU", neverused: "[Gen 9] NU", pu: "[Gen 9] PU", + zu: "[Gen 9] ZU", zeroused: "[Gen 9] ZU", mono: "[Gen 9] Monotype", ag: "[Gen 9] Anything Goes", @@ -62,8 +64,8 @@ export const Aliases: {[alias: string]: string} = { monorandom: "[Gen 8] Monotype Random Battle", bf: "[Gen 7] Battle Factory", bssf: "[Gen 8] BSS Factory", - ssb: "[Gen 8] Super Staff Bros 4", - ssb4: "[Gen 8] Super Staff Bros 4", + ssb: "[Gen 9] Super Staff Bros Ultimate", + ssbu: "[Gen 9] Super Staff Bros Ultimate", lgrandom: "[Gen 7] Let's Go Random Battle", gen6bf: "[Gen 6] Battle Factory", gen7mono: "[Gen 7] Monotype", @@ -83,8 +85,8 @@ export const Aliases: {[alias: string]: string} = { gen6ag: "[Gen 6] Anything Goes", crossevo: "[Gen 9] Cross Evolution", mayhem: "[Gen 9] Random Battle Mayhem", - omotm: "[Gen 9] Shared Power", - lcotm: "[Gen 9] Protean Palace", + omotm: "[Gen 9] Pokebilities", + lcotm: "[Gen 9] The Loser's Game", // mega evos fabio: "Ampharos-Mega", diff --git a/data/cg-team-data.ts b/data/cg-team-data.ts index 442b8bd7ad21..90dfde36fee4 100644 --- a/data/cg-team-data.ts +++ b/data/cg-team-data.ts @@ -8,11 +8,16 @@ export const MOVE_PAIRINGS: {[moveID: string]: string} = { // Bonuses to move ratings by ability export const ABILITY_MOVE_BONUSES: {[abilityID: string]: {[moveID: string]: number}} = { drought: {sunnyday: 0.2, solarbeam: 2}, + contrary: {terablast: 2}, }; // Bonuses to move ratings by move type export const ABILITY_MOVE_TYPE_BONUSES: {[abilityID: string]: {[typeID: string]: number}} = { darkaura: {Dark: 1.33}, + dragonsmaw: {Dragon: 1.5}, fairyaura: {Fairy: 1.33}, + steelworker: {Steel: 1.5}, + steelyspirit: {Steel: 1.5}, + transistor: {Electric: 1.3}, // -ate moves pixilate: {Normal: 1.5 * 1.2}, @@ -34,19 +39,16 @@ export const HARDCODED_MOVE_WEIGHTS: {[moveID: string]: number} = { // Useless without Berry + sucks even then belch: 0.2, - // Power increases in conditions within our control - acrobatics: 1.75, // not 2 because of the opportunity cost of forgoing an item - facade: 1.5, // not 2 because we forgo an item AND get badly poisoned - // Power increases in conditions out of our control that may occur avalanche: 1.2, + ficklebeam: 1.3, hex: 1.2, + stompingtantrum: 1.2, + temperflare: 1.2, // screens lightscreen: 3, reflect: 3, auroraveil: 3, // TODO: make sure AVeil always gets Snow? - - // hazard removal - defog: 2, rapidspin: 1.2, + tailwind: 2, // mess with the opponent taunt: 2, disable: 2, encore: 3, @@ -67,4 +69,4 @@ export const HARDCODED_MOVE_WEIGHTS: {[moveID: string]: number} = { }; export const WEIGHT_BASED_MOVES = ['heatcrash', 'heavyslam', 'lowkick', 'grassknot']; -export const SPEED_BASED_MOVES = ['gyroball', 'electroball']; +export const TARGET_HP_BASED_MOVES = ['crushgrip', 'hardpress']; diff --git a/data/cg-teams.ts b/data/cg-teams.ts index b384bdd75643..4982fc5f00ca 100644 --- a/data/cg-teams.ts +++ b/data/cg-teams.ts @@ -34,18 +34,20 @@ */ import {Dex, PRNG, SQL} from '../sim'; +import {EventMethods} from '../sim/dex-conditions'; import { ABILITY_MOVE_BONUSES, ABILITY_MOVE_TYPE_BONUSES, HARDCODED_MOVE_WEIGHTS, MOVE_PAIRINGS, - SPEED_BASED_MOVES, + TARGET_HP_BASED_MOVES, WEIGHT_BASED_MOVES, } from './cg-team-data'; interface TeamStats { hazardSetters: {[moveid: string]: number}; typeWeaknesses: {[type: string]: number}; + hazardRemovers: number; } // We put a limit on the number of Pokémon on a team that can be weak to a given type. @@ -92,6 +94,10 @@ export default class TeamGenerator { forceLevel?: number; prng: PRNG; itemPool: Item[]; + specialItems: {[pokemon: string]: string}; + + /** An estimate of the highest raw speed in the metagame */ + readonly TOP_SPEED = 300; constructor(format: Format | string, seed: PRNG | PRNGSeed | null) { this.dex = Dex.forFormat(format); @@ -99,6 +105,14 @@ export default class TeamGenerator { this.teamSize = this.format.ruleTable?.maxTeamSize || 6; this.prng = seed instanceof PRNG ? seed : new PRNG(seed); this.itemPool = this.dex.items.all().filter(i => i.exists && i.isNonstandard !== 'Past' && !i.isPokeball); + this.specialItems = {}; + for (const i of this.itemPool) { + if (i.itemUser && !i.isNonstandard) { + for (const user of i.itemUser) { + if (Dex.species.get(user).requiredItems?.[0] !== i.name) this.specialItems[user] = i.id; + } + } + } const rules = Dex.formats.getRuleTable(this.format); if (rules.adjustLevel) this.forceLevel = rules.adjustLevel; @@ -109,13 +123,14 @@ export default class TeamGenerator { if (!s.exists) return false; if (s.isNonstandard || s.isNonstandard === 'Unobtainable') return false; if (s.nfe) return false; - if (s.battleOnly && !s.requiredItems?.length) return false; + if (s.battleOnly && (!s.requiredItems?.length || s.name.endsWith('-Tera'))) return false; return true; }); const teamStats: TeamStats = { hazardSetters: {}, typeWeaknesses: {}, + hazardRemovers: 0, }; const team: PokemonSet[] = []; @@ -137,56 +152,55 @@ export default class TeamGenerator { const abilityPool = Object.values(species.abilities); const abilityWeights = abilityPool.map(a => this.getAbilityWeight(this.dex.abilities.get(a))); const ability = this.weightedRandomPick(abilityPool, abilityWeights); + const level = this.forceLevel || TeamGenerator.getLevel(species); const moves: Move[] = []; - let learnset = this.dex.species.getLearnset(species.id); - let movePool: string[] = []; - let learnsetSpecies = species; - if (!learnset || species.id === 'gastrodoneast') { - learnsetSpecies = this.dex.species.get(species.baseSpecies); - learnset = this.dex.species.getLearnset(learnsetSpecies.id); - } - if (learnset) { - movePool = Object.keys(learnset).filter( - moveid => learnset![moveid].find(learned => learned.startsWith('9')) - ); - } - if (learnset && learnsetSpecies === species && species.changesFrom) { - const changesFrom = this.dex.species.get(species.changesFrom); - learnset = this.dex.species.getLearnset(changesFrom.id); - for (const moveid in learnset) { - if (!movePool.includes(moveid) && learnset[moveid].some(source => source.startsWith('9'))) { - movePool.push(moveid); - } - } - } - const evoRegion = learnsetSpecies.evoRegion; - while (learnsetSpecies.prevo) { - learnsetSpecies = this.dex.species.get(learnsetSpecies.prevo); - for (const moveid in learnset) { - if (!movePool.includes(moveid) && - learnset[moveid].some(source => source.startsWith('9') && !evoRegion)) { - movePool.push(moveid); - } - } - } + let movePool: string[] = [...this.dex.species.getMovePool(species.id)]; if (!movePool.length) throw new Error(`No moves for ${species.id}`); // Consider either the top 15 moves or top 30% of moves, whichever is greater. const numberOfMovesToConsider = Math.min(movePool.length, Math.max(15, Math.trunc(movePool.length * 0.3))); let movePoolIsTrimmed = false; + // Many moves' weights, such as Swords Dance, are dependent on having other moves in the moveset already + // and end up very low when calculated with no moves chosen. This makes it difficult to add these moves without + // weighing every move 4 times, and trimming once after the initial weighing makes them impossible for most Pokemon. + // To get around this, after weighing against an empty moveset, trimming, and adding three moves, we weigh ALL + // moves again against the populated moveset, then put the chosen 3 moves back into the pool with their + // original empty-set weights, trim the pool again, and start over. This process results in about 15% fewer calls + // to getMoveWeight than considering every move every time does. + let isRound2 = false; + // this is just a second reference the array because movePool gets set to point to a new array before the old one + // gets mutated + const movePoolCopy = movePool; + let interimMovePool: {move: string, weight: number}[] = []; while (moves.length < 4 && movePool.length) { let weights; if (!movePoolIsTrimmed) { - const interimMovePool = []; - for (const move of movePool) { - const weight = this.getMoveWeight(this.dex.moves.get(move), teamStats, species, moves, ability); - interimMovePool.push({move, weight}); + if (!isRound2) { + for (const move of movePool) { + const weight = this.getMoveWeight(this.dex.moves.get(move), teamStats, species, moves, ability, level); + interimMovePool.push({move, weight}); + } + + interimMovePool.sort((a, b) => b.weight - a.weight); + } else { + const originalWeights: typeof interimMovePool = []; + for (const move of moves) { + originalWeights.push(interimMovePool.find(m => m.move === move.id)!); + } + interimMovePool = originalWeights; + + for (const moveID of movePoolCopy) { + const move = this.dex.moves.get(moveID); + if (moves.includes(move)) continue; + const weight = this.getMoveWeight(move, teamStats, species, moves, ability, level); + interimMovePool.push({move: moveID, weight}); + } + + interimMovePool.sort((a, b) => b.weight - a.weight); + moves.splice(0); } - - interimMovePool.sort((a, b) => b.weight - a.weight); - movePool = []; weights = []; @@ -196,44 +210,53 @@ export default class TeamGenerator { } movePoolIsTrimmed = true; } else { - weights = movePool.map(m => this.getMoveWeight(this.dex.moves.get(m), teamStats, species, moves, ability)); + weights = movePool.map(m => this.getMoveWeight(this.dex.moves.get(m), teamStats, species, moves, ability, level)); } const moveID = this.weightedRandomPick(movePool, weights, {remove: true}); + moves.push(this.dex.moves.get(moveID)); + if (TeamGenerator.moveIsHazard(moves[moves.length - 1])) { + teamStats.hazardSetters[moveID] = (teamStats.hazardSetters[moveID] || 0) + 1; + } + if (['defog', 'courtchange', 'tidyup', 'rapidspin', 'mortalspin'].includes(moveID)) teamStats.hazardRemovers++; + + if (!isRound2 && moves.length === 3) { + isRound2 = true; + movePoolIsTrimmed = false; + continue; + } + // add paired moves, like RestTalk const pairedMove = MOVE_PAIRINGS[moveID]; const alreadyHavePairedMove = moves.some(m => m.id === pairedMove); if ( - moves.length < 3 && + moves.length < 4 && pairedMove && !alreadyHavePairedMove && // We don't check movePool because sometimes paired moves are bad. - this.dex.species.getLearnset(species.id)?.[pairedMove] + this.dex.species.getLearnsetData(species.id).learnset?.[pairedMove] ) { moves.push(this.dex.moves.get(pairedMove)); - movePool.splice(movePool.indexOf(pairedMove), 1); + const pairedMoveIndex = movePool.indexOf(pairedMove); + if (pairedMoveIndex > -1) movePool.splice(pairedMoveIndex, 1); } - - moves.push(this.dex.moves.get(moveID)); } let item = ''; + const nonStatusMoves = moves.filter(move => this.dex.moves.get(move).category !== 'Status'); if (species.requiredItem) { item = species.requiredItem; } else if (species.requiredItems) { item = this.prng.sample(species.requiredItems.filter(i => !this.dex.items.get(i).isNonstandard)); + } else if (this.specialItems[species.name] && nonStatusMoves.length) { + // If the species has a special item, we should use it. + item = this.specialItems[species.name]; } else if (moves.every(m => m.id !== 'acrobatics')) { // Don't assign an item if the set includes Acrobatics... const weights = []; const items = []; for (const i of this.itemPool) { - // If the species has a special item, we should use it. - if (i.itemUser?.includes(species.name)) { - item = i.name; - break; - } - - const weight = this.getItemWeight(i, teamStats, species, moves, ability); + const weight = this.getItemWeight(i, teamStats, species, moves, ability, level); if (weight !== 0) { weights.push(weight); items.push(i.name); @@ -254,16 +277,32 @@ export default class TeamGenerator { spe: 31, }; - const level = this.forceLevel || TeamGenerator.getLevel(species); - - // For Tera Type, we just pick a random type if it's got Tera Blast or no attacking moves, + // For Tera Type, we just pick a random type if it's got Tera Blast, Revelation Dance, or no attacking moves, // and the type of one of its attacking moves otherwise (so it can take advantage of the boosts). + // Pokemon with 3 or more attack types and Pokemon with both Tera Blast and Contrary can also get Stellar type + // but Pokemon with Adaptability never get Stellar because Tera Stellar makes Adaptability have no effect + // Ogerpon's formes are forced to the Tera type that matches their forme + // Terapagos is forced to Stellar type + // Pokemon with Black Sludge don't generally want to tera to a type other than Poison + const hasTeraBlast = moves.some(m => m.id === 'terablast'); + const hasRevelationDance = moves.some(m => m.id === 'revelationdance'); let teraType; - const nonStatusMoves = moves.filter(move => this.dex.moves.get(move).category !== 'Status'); - if (!moves.some(m => m.id === 'terablast') && nonStatusMoves.length) { - teraType = this.prng.sample(nonStatusMoves.map(move => this.dex.moves.get(move).type)); + if (species.forceTeraType) { + teraType = species.forceTeraType; + } else if (item === 'blacksludge' && this.prng.randomChance(2, 3)) { + teraType = 'Poison'; + } else if (hasTeraBlast && ability === 'Contrary' && this.prng.randomChance(2, 3)) { + teraType = 'Stellar'; } else { - teraType = this.prng.sample([...this.dex.types.all()]).name; + let types = nonStatusMoves.map(move => TeamGenerator.moveType(this.dex.moves.get(move), species)); + const noStellar = ability === 'Adaptability' || new Set(types).size < 3; + if (hasTeraBlast || hasRevelationDance || !nonStatusMoves.length) { + types = [...this.dex.types.all().map(t => t.name)]; + if (noStellar) types.splice(types.indexOf('Stellar')); + } else { + if (!noStellar) types.push('Stellar'); + } + teraType = this.prng.sample(types); } return { @@ -317,6 +356,10 @@ export default class TeamGenerator { return ability.rating + 1; // Some ability ratings are -1 } + protected static moveIsHazard(move: Move): boolean { + return !!(move.sideCondition && move.target === 'foeSide'); + } + /** * @returns A weight for a given move on a given Pokémon. */ @@ -325,49 +368,82 @@ export default class TeamGenerator { teamStats: TeamStats, species: Species, movesSoFar: Move[], - ability: string + ability: string, + level: number, ): number { if (!move.exists) return 0; // this is NOT doubles, so there will be no adjacent ally if (move.target === 'adjacentAlly') return 0; + // There's an argument to be made for using Terapagos-Stellar's stats instead + // but the important thing is to not use Terapagos-Base's stats since it never battles in that forme + if (ability === 'Tera Shift') species = this.dex.species.get('Terapagos-Terastal'); + + // Attack and Special Attack are scaled by level^2 because in addition to stats themselves being scaled by level, + // damage dealt by attacks is also scaled by the user's level + const adjustedStats: StatsTable = { + hp: species.baseStats.hp * level / 100 + level, + atk: species.baseStats.atk * level * level / 10000, + def: species.baseStats.def * level / 100, + spa: species.baseStats.spa * level * level / 10000, + spd: species.baseStats.spd * level / 100, + spe: species.baseStats.spe * level / 100, + }; + if (move.category === 'Status') { // The initial value of this weight determines how valuable status moves are vs. attacking moves. // You can raise it to make random status moves more valuable or lower it and increase multipliers // to make only CERTAIN status moves valuable. - let weight = 2500; + let weight = 2400; // inflicts status if (move.status) weight *= TeamGenerator.statusWeight(move.status) * 2; // hazard setters: very important, but we don't need 2 pokemon to set the same hazard on a team - const isHazard = (m: Move) => m.sideCondition && m.target === 'foeSide'; - if (isHazard(move) && (teamStats.hazardSetters[move.id] || 0) < 1) { + if (TeamGenerator.moveIsHazard(move) && (teamStats.hazardSetters[move.id] || 0) < 1) { weight *= move.id === 'spikes' ? 12 : 16; // if we are ALREADY setting hazards, setting MORE is really good - if (movesSoFar.some(m => isHazard(m))) weight *= 2; - teamStats.hazardSetters[move.id]++; + if (movesSoFar.some(m => TeamGenerator.moveIsHazard(m))) weight *= 2; + } + + // hazard removers: even more important than hazard setters, since they remove everything at once + // we still don't need too many on one team, though + if (['defog', 'courtchange', 'tidyup'].includes(move.id) && !teamStats.hazardRemovers) { + weight *= 32; + + // these moves can also lessen the effectiveness of the user's team's own hazards + weight *= Math.pow(0.8, Object.values(teamStats.hazardSetters).reduce((total, num) => total + num, 0)); } // boosts - weight *= this.boostWeight(move, movesSoFar, species) * 2; - weight *= this.opponentDebuffWeight(move) * 2; + weight *= this.boostWeight(move, movesSoFar, species, ability, level); + weight *= this.opponentDebuffWeight(move); + + // nonstandard boosting moves + if (move.id === 'focusenergy' && ability !== 'Super Luck') { + const highCritMoves = movesSoFar.filter(m => m.critRatio && m.critRatio > 1); + weight *= 1 + highCritMoves.length * (ability === 'Sniper' ? 2 : 1); + } else if (move.id === 'tailwind' && ability === 'Wind Rider' && movesSoFar.some(m => m.category === 'Physical')) { + weight *= 2.5; // grants +1 attack, but isn't spammable + } // protection moves - useful for bulky/stally pokemon - if (species.baseStats.def >= 100 || species.baseStats.spd >= 100 || species.baseStats.hp >= 100) { - switch (move.volatileStatus) { - case 'endure': - weight *= 3; - break; - case 'protect': case 'kingsshield': case 'silktrap': - weight *= 4; - break; - case 'banefulbunker': case 'spikyshield': - weight *= 5; - break; - default: - break; + if (!movesSoFar.some(m => m.stallingMove)) { + if (adjustedStats.def >= 80 || adjustedStats.spd >= 80 || adjustedStats.hp >= 80) { + switch (move.volatileStatus) { + case 'endure': + weight *= 3; + break; + case 'protect': case 'kingsshield': case 'silktrap': + weight *= 4; + break; + case 'banefulbunker': case 'burningbulwark': case 'spikyshield': + weight *= 5; + break; + default: + break; + } } } @@ -376,113 +452,212 @@ export default class TeamGenerator { // Pokémon with high Attack and Special Attack stats shouldn't have too many status moves, // but on bulkier Pokémon it's more likely to be worth it. - const goodAttacker = species.baseStats.atk > 80 || species.baseStats.spa > 80; + const goodAttacker = adjustedStats.atk > 65 || adjustedStats.spa > 65; if (goodAttacker && movesSoFar.filter(m => m.category !== 'Status').length < 2) { weight *= 0.3; } + // don't need 2 healing moves + if (move.heal && movesSoFar.some(m => m.heal)) weight *= 0.5; + return weight; } + let basePower = move.basePower; // For Grass Knot and friends, let's just assume they average out to around 60 base power. - const isWeirdPowerMove = WEIGHT_BASED_MOVES.includes(move.id); - let basePower = isWeirdPowerMove ? 60 : move.basePower; + // Same with Crush Grip and Hard Press + if (WEIGHT_BASED_MOVES.includes(move.id) || TARGET_HP_BASED_MOVES.includes(move.id)) basePower = 60; // not how this calc works but it should be close enough - if (SPEED_BASED_MOVES.includes(move.id)) basePower = species.baseStats.spe / 2; - - const baseStat = move.category === 'Physical' ? species.baseStats.atk : species.baseStats.spa; + if (move.id === 'electroball') basePower = Math.min(150, adjustedStats.spe / 2); + /** A value from 0 to 1, where 0 is the fastest and 1 is the slowest */ + const slownessRating = Math.max(0, this.TOP_SPEED - adjustedStats.spe) / this.TOP_SPEED; + if (move.id === 'gyroball') basePower = 150 * slownessRating; + + let baseStat = move.category === 'Physical' ? adjustedStats.atk : adjustedStats.spa; + if (move.id === 'foulplay') baseStat = adjustedStats.spe * level / 100; + if (move.id === 'bodypress') baseStat = adjustedStats.def * level / 100; // 10% bonus for never-miss moves - const accuracy = move.accuracy === true ? 1.1 : move.accuracy / 100; + let accuracy = move.accuracy === true || ability === 'No Guard' ? 110 : move.accuracy; + if (accuracy < 100) { + if (ability === 'Compound Eyes') accuracy = Math.min(100, Math.round(accuracy * 1.3)); + if (ability === 'Victory Star') accuracy = Math.min(100, Math.round(accuracy * 1.1)); + } + accuracy /= 100; + + const moveType = TeamGenerator.moveType(move, species); let powerEstimate = basePower * baseStat * accuracy; // STAB - if (species.types.includes(move.type)) powerEstimate *= ability === 'Adaptability' ? 2 : 1.5; + if (species.types.includes(moveType)) powerEstimate *= ability === 'Adaptability' ? 2 : 1.5; if (ability === 'Technician' && move.basePower <= 60) powerEstimate *= 1.5; - if (ability === 'Steely Spirit' && move.type === 'Steel') powerEstimate *= 1.5; - if (move.multihit) { - const numberOfHits = Array.isArray(move.multihit) ? - (ability === 'Skill Link' ? move.multihit[1] : (move.multihit[0] + move.multihit[1]) / 2) : - move.multihit; - - powerEstimate *= numberOfHits; + if (ability === 'Sheer Force' && (move.secondary || move.secondaries)) powerEstimate *= 1.3; + const numberOfHits = Array.isArray(move.multihit) ? + (ability === 'Skill Link' ? move.multihit[1] : (move.multihit[0] + move.multihit[1]) / 2) : + move.multihit || 1; + powerEstimate *= numberOfHits; + + if (species.requiredItems) { + const item: Item & EventMethods = this.dex.items.get(this.specialItems[species.name]); + if (item.onBasePower && (species.types.includes(moveType) || item.name.endsWith('Mask'))) powerEstimate *= 1.2; + } else if (this.specialItems[species.name]) { + const item: Item & EventMethods = this.dex.items.get(this.specialItems[species.name]); + if (item.onBasePower && species.types.includes(moveType)) powerEstimate *= 1.2; + if (item.id === 'lightball') powerEstimate *= 2; } // If it uses the attacking stat that we don't boost, it's less useful! const hasSpecialSetup = movesSoFar.some(m => m.boosts?.spa || m.self?.boosts?.spa || m.selfBoost?.boosts?.spa); const hasPhysicalSetup = movesSoFar.some(m => m.boosts?.atk || m.self?.boosts?.atk || m.selfBoost?.boosts?.atk); - if (move.category === 'Physical' && hasSpecialSetup) powerEstimate *= 0.7; + if (move.category === 'Physical' && !['bodypress', 'foulplay'].includes(move.id) && hasSpecialSetup) { + powerEstimate *= 0.7; + } if (move.category === 'Special' && hasPhysicalSetup) powerEstimate *= 0.7; const abilityBonus = ( ((ABILITY_MOVE_BONUSES[ability] || {})[move.id] || 1) * - ((ABILITY_MOVE_TYPE_BONUSES[ability] || {})[move.type] || 1) + ((ABILITY_MOVE_TYPE_BONUSES[ability] || {})[moveType] || 1) ); let weight = powerEstimate * abilityBonus; if (move.id in HARDCODED_MOVE_WEIGHTS) weight *= HARDCODED_MOVE_WEIGHTS[move.id]; + // semi-hardcoded move weights that depend on having control over the item + if (!this.specialItems[species.name] && !species.requiredItem) { + if (move.id === 'acrobatics') weight *= 1.75; + if (move.id === 'facade') weight *= 1.5; + } // priority is more useful when you're slower - if (move.priority > 0) weight *= (Math.max(130 - species.baseStats.spe, 0) / 130) * 0.5 + 1; - if (move.priority < 0) weight *= Math.min((1 / species.baseStats.spe) * 30, 1); + // except Upper Hand, which is anti-priority and thus better on faster Pokemon + // TODO: make weight scale with priority + if (move.priority > 0 && move.id !== 'upperhand') weight *= (Math.max(105 - adjustedStats.spe, 0) / 105) * 0.5 + 1; + if (move.priority < 0 || move.id === 'upperhand') weight *= Math.min((1 / adjustedStats.spe) * 25, 1); // flags if (move.flags.charge || (move.flags.recharge && ability !== 'Truant')) weight *= 0.5; if (move.flags.contact) { if (ability === 'Tough Claws') weight *= 1.3; if (ability === 'Unseen Fist') weight *= 1.1; + if (ability === 'Poison Touch') weight *= TeamGenerator.statusWeight('psn', 1 - Math.pow(0.7, numberOfHits)); } if (move.flags.bite && ability === 'Strong Jaw') weight *= 1.5; - // 10% boost for ability to break subs - if (move.flags.bypasssub) weight *= 1.1; + // 5% boost for ability to break subs + if (move.flags.bypasssub) weight *= 1.05; if (move.flags.pulse && ability === 'Mega Launcher') weight *= 1.5; if (move.flags.punch && ability === 'Iron Fist') weight *= 1.2; - if (!move.flags.protect) weight *= 1.1; + if (!move.flags.protect) weight *= 1.05; if (move.flags.slicing && ability === 'Sharpness') weight *= 1.5; + if (move.flags.sound && ability === 'Punk Rock') weight *= 1.3; // boosts/secondaries // TODO: consider more possible secondaries - weight *= this.boostWeight(move, movesSoFar, species); - if (move.secondary?.status) { - weight *= TeamGenerator.statusWeight(move.secondary.status, (move.secondary.chance || 100) / 100); + weight *= this.boostWeight(move, movesSoFar, species, ability, level); + const secondaryChance = Math.min((move.secondary?.chance || 100) * (ability === 'Serene Grace' ? 2 : 1) / 100, 100); + if (move.secondary || move.secondaries) { + if (ability === 'Sheer Force') { + weight *= 1.3; + } else { + const secondaries = move.secondaries || [move.secondary!]; + for (const secondary of secondaries) { + if (secondary.status) { + weight *= TeamGenerator.statusWeight(secondary.status, secondaryChance, slownessRating); + if (ability === 'Poison Puppeteer' && ['psn', 'tox'].includes(secondary.status)) { + weight *= TeamGenerator.statusWeight('confusion', secondaryChance); + } + } + if (secondary.volatileStatus) { + weight *= TeamGenerator.statusWeight(secondary.volatileStatus, secondaryChance, slownessRating); + } + } + } } + if (ability === 'Toxic Chain') weight *= TeamGenerator.statusWeight('tox', 1 - Math.pow(0.7, numberOfHits)); + + // Special effect if something special happened earlier in the turn + // More useful on slower Pokemon + if (move.id === 'lashout') weight *= 1 + 0.2 * slownessRating; + if (move.id === 'burningjealousy') weight *= TeamGenerator.statusWeight('brn', 0.2 * slownessRating); + if (move.id === 'alluringvoice') weight *= TeamGenerator.statusWeight('confusion', 0.2 * slownessRating); // self-inflicted confusion or locking yourself in if (move.self?.volatileStatus) weight *= 0.8; // downweight moves if we already have an attacking move of the same type - if (movesSoFar.some(m => m.category !== 'Status' && m.type === move.type && m.basePower >= 60)) weight *= 0.3; + if (movesSoFar.some(m => m.category !== 'Status' && m.type === moveType && m.basePower >= 60)) weight *= 0.3; if (move.selfdestruct) weight *= 0.3; - if (move.recoil) weight *= 1 - (move.recoil[0] / move.recoil[1]); + if (move.recoil && ability !== 'Rock Head' && ability !== 'Magic Guard') { + weight *= 1 - (move.recoil[0] / move.recoil[1]); + if (ability === 'Reckless') weight *= 1.2; + } + if (move.hasCrashDamage && ability !== 'Magic Guard') { + weight *= 1 - 0.75 * (1.2 - accuracy); + if (ability === 'Reckless') weight *= 1.2; + } if (move.mindBlownRecoil) weight *= 0.25; if (move.flags['futuremove']) weight *= 0.3; - // TODO: account for normal higher-crit-chance moves - if (move.willCrit) weight *= 1.45; + + let critRate = move.willCrit ? 4 : move.critRatio || 1; + if (ability === 'Super Luck') critRate++; + if (movesSoFar.some(m => m.id === 'focusenergy')) { + critRate += 2; + weight *= 0.9; // a penalty the extra turn of setup + } + if (critRate > 4) critRate = 4; + weight *= 1 + [0, 1 / 24, 1 / 8, 1 / 2, 1][critRate] * (ability === 'Sniper' ? 1 : 0.5); + + // these two hazard removers don't clear hazards on the opponent's field, but can be blocked by type immunities + if (['rapidspin', 'mortalspin'].includes(move.id)) { + weight *= 1 + 20 * Math.pow(0.25, teamStats.hazardRemovers); + teamStats.hazardRemovers++; + } if (move.drain) { const drainedFraction = move.drain[0] / move.drain[1]; weight *= 1 + (drainedFraction * 0.5); } - // don't need 2 healing moves - if (move.heal && movesSoFar.some(m => m.heal)) weight *= 0.5; + // Oricorio should rarely get Tera Blast, as Revelation Dance is strictly better + // Tera Blast is also bad on species with forced Tera types, a.k.a. Ogerpon and Terapagos + if (move.id === 'terablast' && (species.baseSpecies === 'Oricorio' || species.forceTeraType)) weight *= 0.5; return weight; } + /** + * @returns The effective type of moves with variable types such as Judgment + */ + protected static moveType(move: Move, species: Species) { + switch (move.id) { + case 'judgment': + case 'revelationdance': + return species.types[0]; + case 'ivycudgel': + if (species.types.length > 1) return species.types[1]; + } + return move.type; + } + /** * @returns A multiplier to a move weighting based on the status it inflicts. */ - protected static statusWeight(status: string, chance = 1): number { + protected static statusWeight(status: string, chance = 1, slownessRating?: number): number { if (chance !== 1) return 1 + (TeamGenerator.statusWeight(status) - 1) * chance; switch (status) { - case 'brn': return 1.5; + case 'brn': return 2; case 'frz': return 5; - case 'par': return 1.5; - case 'psn': return 1.5; + // paralysis is especially valuable on slow pokemon that can become faster than an opponent by paralyzing it + // but some pokemon are so slow that most paralyzed pokemon would still outspeed them anyway + case 'par': return slownessRating && slownessRating > 0.25 ? 2 + slownessRating : 2; + case 'psn': return 1.75; case 'tox': return 4; case 'slp': return 4; + case 'confusion': return 1.5; + case 'healblock': return 1.75; + case 'flinch': return slownessRating ? slownessRating * 3 : 1; + case 'saltcure': return 2; + case 'sparklingaria': return 0.95; + case 'syrupbomb': return 1.5; } return 1; } @@ -490,41 +665,61 @@ export default class TeamGenerator { /** * @returns A multiplier to a move weighting based on the boosts it produces for the user. */ - protected boostWeight(move: Move, movesSoFar: Move[], species: Species): number { + protected boostWeight(move: Move, movesSoFar: Move[], species: Species, ability: string, level: number): number { const physicalIsRelevant = ( move.category === 'Physical' || - movesSoFar.some(m => m.category === 'Physical') + movesSoFar.some(m => m.category === 'Physical' && !m.overrideOffensiveStat && !m.overrideOffensivePokemon) ); const specialIsRelevant = ( move.category === 'Special' || movesSoFar.some(m => m.category === 'Special') ); - let weight = 1; + const adjustedStats: StatsTable = { + hp: species.baseStats.hp * level / 100 + level, + atk: species.baseStats.atk * level * level / 10000, + def: species.baseStats.def * level / 100, + spa: species.baseStats.spa * level * level / 10000, + spd: species.baseStats.spd * level / 100, + spe: species.baseStats.spe * level / 100, + }; + + let weight = 0; + const accuracy = move.accuracy === true ? 100 : move.accuracy / 100; + const secondaryChance = move.secondary && ability !== 'Sheer Force' ? + Math.min(((move.secondary.chance || 100) * (ability === 'Serene Grace' ? 2 : 1) / 100), 100) * accuracy : 0; + const abilityMod = ability === 'Simple' ? 2 : ability === 'Contrary' ? -1 : 1; + const bodyPressMod = movesSoFar.some(m => m.id === 'bodyPress') ? 2 : 1; + const electroBallMod = movesSoFar.some(m => m.id === 'electroball') ? 2 : 1; for (const {chance, boosts} of [ {chance: 1, boosts: move.boosts}, {chance: 1, boosts: move.self?.boosts}, {chance: 1, boosts: move.selfBoost?.boosts}, { - chance: move.secondary ? ((move.secondary.chance || 100) / 100) : 0, - boosts: move.target === 'self' ? move.secondary?.boosts : move.secondary?.self?.boosts, + chance: secondaryChance, + boosts: move.secondary?.self?.boosts, }, ]) { if (!boosts || chance === 0) continue; + const statusMod = move.category === 'Status' ? 1 : 0.5; - if (boosts.atk && physicalIsRelevant) weight += (chance || 1) * 0.5 * boosts.atk; - if (boosts.spa && specialIsRelevant) weight += (chance || 1) * 0.5 * boosts.spa; + if (boosts.atk && physicalIsRelevant) weight += chance * boosts.atk * abilityMod * 2 * statusMod; + if (boosts.spa && specialIsRelevant) weight += chance * boosts.spa * abilityMod * 2 * statusMod; // TODO: should these scale by base stat magnitude instead of using ternaries? // defense/special defense boost is less useful if we have some bulk to start with - if (boosts.def) weight += (chance || 1) * 0.5 * boosts.def * (species.baseStats.def > 75 ? 1 : 0.5); - if (boosts.spd) weight += (chance || 1) * 0.5 * boosts.spd * (species.baseStats.spd > 75 ? 1 : 0.5); + if (boosts.def) { + weight += chance * boosts.def * abilityMod * bodyPressMod * (adjustedStats.def > 60 ? 0.5 : 1) * statusMod; + } + if (boosts.spd) weight += chance * boosts.spd * abilityMod * (adjustedStats.spd > 60 ? 0.5 : 1) * statusMod; // speed boost is less useful for fast pokemon - if (boosts.spe) weight += (chance || 1) * 0.5 * boosts.spe * (species.baseStats.spe > 120 ? 0.5 : 1); + if (boosts.spe) { + weight += chance * boosts.spe * abilityMod * electroBallMod * (adjustedStats.spe > 95 ? 0.5 : 1) * statusMod; + } } - return weight; + return weight >= 0 ? 1 + weight : 1 / (1 - weight); } /** @@ -547,13 +742,24 @@ export default class TeamGenerator { averageNumberOfDebuffs += chance * numBoosts; } - return 1 + (0.25 * averageNumberOfDebuffs); + return 1 + (0.5 * averageNumberOfDebuffs); } /** * @returns A weight for an item. */ - protected getItemWeight(item: Item, teamStats: TeamStats, species: Species, moves: Move[], ability: string): number { + protected getItemWeight( + item: Item, teamStats: TeamStats, species: Species, moves: Move[], ability: string, level: number + ): number { + const adjustedStats: StatsTable = { + hp: species.baseStats.hp * level / 100 + level, + atk: species.baseStats.atk * level * level / 10000, + def: species.baseStats.def * level / 100, + spa: species.baseStats.spa * level * level / 10000, + spd: species.baseStats.spd * level / 100, + spe: species.baseStats.spe * level / 100, + }; + let weight; switch (item.id) { // Choice Items @@ -562,17 +768,17 @@ export default class TeamGenerator { case 'choicespecs': return moves.every(x => x.category === 'Special') ? 50 : 0; case 'choicescarf': - if (moves.some(x => x.category === 'Status')) return 0; - if (species.baseStats.spe > 65 && species.baseStats.spe < 120) return 50; + if (moves.some(x => x.category === 'Status' || x.secondary?.self?.boosts?.spe)) return 0; + if (adjustedStats.spe > 50 && adjustedStats.spe < 120) return 50; return 10; // Generally Decent Items case 'lifeorb': - return moves.filter(x => x.category !== 'Status').length * 8; + return moves.filter(x => x.category !== 'Status' && !x.damage && !x.damageCallback).length * 8; case 'focussash': if (ability === 'Sturdy') return 0; // frail - if (species.baseStats.hp < 80 && species.baseStats.def < 80 && species.baseStats.spd < 80) return 35; + if (adjustedStats.hp < 65 && adjustedStats.def < 65 && adjustedStats.spd < 65) return 35; return 10; case 'heavydutyboots': switch (this.dex.getEffectiveness('Rock', species)) { @@ -583,6 +789,21 @@ export default class TeamGenerator { case 'assaultvest': if (moves.some(x => x.category === 'Status')) return 0; return 30; + case 'scopelens': + const attacks = moves.filter(x => x.category !== 'Status' && !x.damage && !x.damageCallback && !x.willCrit); + if (moves.some(m => m.id === 'focusenergy')) { + if (ability === 'Super Luck') return 0; // we're already lucky enough, thank you + return attacks.length * (ability === 'Sniper' ? 16 : 12); + } else if (attacks.filter(x => (x.critRatio || 1) > 1).length || ability === 'Super Luck') { + return attacks.reduce((total, x) => { + let ratio = ability === 'Super Luck' ? 2 : 1; + if ((x.critRatio || 1) > 1) ratio++; + return total + [0, 3, 6, 12][ratio] * (ability === 'Sniper' ? 4 / 3 : 1); + }, 0); + } + return 0; + case 'eviolite': + return species.nfe || species.id === 'dipplin' ? 100 : 0; // status case 'flameorb': @@ -600,9 +821,11 @@ export default class TeamGenerator { // Healing case 'leftovers': - return 20; + return moves.some(m => m.stallingMove) ? 40 : 20; case 'blacksludge': - return species.types.includes('Poison') ? 40 : 0; + // Even poison types don't really like Black Sludge in Gen 9 because it discourages them from terastallizing + // to a type other than Poison, and thus reveals their Tera type when it activates + return species.types.includes('Poison') ? moves.some(m => m.stallingMove) ? 20 : 10 : 0; // berries case 'sitrusberry': case 'magoberry': @@ -646,6 +869,13 @@ export default class TeamGenerator { if (!choices.length) throw new Error(`Can't pick from an empty list`); if (choices.length !== weights.length) throw new Error(`Choices and weights must be the same length`); + /* console.log(choices.reduce((acc, element, index) => { + return { + ...acc, + [element as string]: weights[index], + }; + }, {})) */ + const totalWeight = weights.reduce((a, b) => a + b, 0); let randomWeight = this.prng.next(0, totalWeight); diff --git a/data/conditions.ts b/data/conditions.ts index d77d3a129e4f..bf25285685b2 100644 --- a/data/conditions.ts +++ b/data/conditions.ts @@ -27,6 +27,7 @@ export const Conditions: {[k: string]: ConditionData} = { this.add('-status', target, 'par'); } }, + onModifySpePriority: -101, onModifySpe(spe, pokemon) { // Paralysis occurs after all other Speed modifiers, so evaluate all modifiers up to this point first spe = this.finalModify(spe); @@ -164,6 +165,8 @@ export const Conditions: {[k: string]: ConditionData} = { onStart(target, source, sourceEffect) { if (sourceEffect?.id === 'lockedmove') { this.add('-start', target, 'confusion', '[fatigue]'); + } else if (sourceEffect?.effectType === 'Ability') { + this.add('-start', target, 'confusion', '[from] ability: ' + sourceEffect.name, '[of] ' + source); } else { this.add('-start', target, 'confusion'); } @@ -392,9 +395,6 @@ export const Conditions: {[k: string]: ConditionData} = { if (data.source.hasAbility('normalize') && this.gen >= 6) { data.moveData.type = 'Normal'; } - if (data.source.hasAbility('adaptability') && this.gen >= 6) { - data.moveData.stab = 2; - } const hitMove = new this.dex.Move(data.moveData) as ActiveMove; this.actions.trySpreadMoveHit([target], data.source, hitMove, true); @@ -821,11 +821,9 @@ export const Conditions: {[k: string]: ConditionData} = { onTrapPokemon(pokemon) { pokemon.trapped = true; }, - // Override No Guard - onInvulnerabilityPriority: 2, - onInvulnerability(target, source, move) { - return false; - }, + // Dodging moves is handled in BattleActions#hitStepInvulnerabilityEvent + // This is here for moves that manually call this event like Perish Song + onInvulnerability: false, onBeforeTurn(pokemon) { this.queue.cancelAction(pokemon); }, diff --git a/data/formats-data.ts b/data/formats-data.ts index fbcac115aca4..19a948484825 100644 --- a/data/formats-data.ts +++ b/data/formats-data.ts @@ -1,17 +1,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { bulbasaur: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, ivysaur: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, venusaur: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, venusaurmega: { @@ -30,7 +26,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, charizard: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -49,18 +45,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, squirtle: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, wartortle: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, blastoise: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RU", }, blastoisemega: { @@ -154,7 +146,6 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { raticatealolatotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, spearow: { isNonstandard: "Past", @@ -170,7 +161,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, arbok: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -182,7 +173,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, pikachu: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -211,37 +202,37 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, pikachuoriginal: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachuhoenn: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachusinnoh: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachuunova: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachukalos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachualola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachupartner: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -254,17 +245,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, pikachuworld: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, raichu: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, raichualola: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -275,12 +266,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, sandslash: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, sandslashalola: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -328,22 +319,20 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, vulpix: { - tier: "NUBL", - doublesTier: "NFE", - natDexTier: "LC", + tier: "NFE", }, vulpixalola: { tier: "NFE", }, ninetales: { - tier: "RU", + tier: "NU", doublesTier: "DUU", natDexTier: "RU", }, ninetalesalola: { - tier: "OU", + tier: "UU", doublesTier: "DOU", - natDexTier: "OU", + natDexTier: "RU", }, igglybuff: { tier: "LC", @@ -352,7 +341,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, wigglytuff: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -372,23 +361,19 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, oddish: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, gloom: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, vileplume: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, bellossom: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, paras: { @@ -405,7 +390,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, venomoth: { - tier: "NUBL", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -416,12 +401,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, dugtrio: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, dugtrioalola: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -439,17 +424,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, persian: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, persianalola: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, perrserker: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -457,7 +442,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, golduck: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -465,7 +450,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, primeape: { - tier: "PUBL", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, @@ -473,16 +458,16 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, growlithehisui: { - tier: "NFE", + tier: "LC", }, arcanine: { - tier: "RU", + tier: "PU", doublesTier: "DUU", natDexTier: "RU", }, arcaninehisui: { tier: "UU", - doublesTier: "DUU", + doublesTier: "DOU", natDexTier: "RU", }, poliwag: { @@ -492,7 +477,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, poliwrath: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -514,7 +499,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { alakazam: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RUBL", + natDexTier: "UU", }, alakazammega: { isNonstandard: "Past", @@ -547,18 +532,16 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, victreebel: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, tentacool: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, tentacruel: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, geodude: { @@ -574,12 +557,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, golem: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, golemalola: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -610,9 +593,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, slowbro: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", - natDexTier: "RU", + natDexTier: "UU", }, slowbromega: { isNonstandard: "Past", @@ -620,7 +603,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, slowbrogalar: { - tier: "NUBL", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -632,18 +615,18 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { slowkinggalar: { tier: "OU", doublesTier: "(DUU)", - natDexTier: "UU", + natDexTier: "OU", }, magnemite: { tier: "LC", }, magneton: { - tier: "PUBL", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, magnezone: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "UU", }, @@ -663,23 +646,19 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, doduo: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, dodrio: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, seel: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, dewgong: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, grimer: { @@ -689,12 +668,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, muk: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, mukalola: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -702,7 +681,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, cloyster: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -710,12 +689,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, haunter: { - tier: "PU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, gengar: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", natDexTier: "RUBL", }, @@ -747,7 +726,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, hypno: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -772,28 +751,26 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, electrode: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, electrodehisui: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, exeggcute: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, exeggutor: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, exeggutoralola: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, cubone: { @@ -814,26 +791,23 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { marowakalolatotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, tyrogue: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, hitmonlee: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZUBL", + doublesTier: "(DUU)", natDexTier: "RU", }, hitmonchan: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, hitmontop: { - isNonstandard: "Past", - tier: "Illegal", + tier: "PU", + doublesTier: "(DUU)", natDexTier: "RU", }, lickitung: { @@ -850,7 +824,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, weezing: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -860,25 +834,23 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, rhyhorn: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, rhydon: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "NFE", natDexTier: "NFE", }, rhyperior: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, happiny: { tier: "LC", }, chansey: { - tier: "PU", + tier: "RU", doublesTier: "NFE", natDexTier: "UU", }, @@ -908,18 +880,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, horsea: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, seadra: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, kingdra: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, goldeen: { @@ -963,14 +931,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, scyther: { - tier: "NU", + tier: "PU", doublesTier: "NFE", natDexTier: "NFE", }, scizor: { tier: "UU", doublesTier: "DUU", - natDexTier: "RU", + natDexTier: "UU", }, scizormega: { isNonstandard: "Past", @@ -978,8 +946,8 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "OU", }, kleavor: { - tier: "UU", - doublesTier: "DUU", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "UU", }, smoochum: { @@ -993,33 +961,25 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, elekid: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, electabuzz: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, electivire: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, magby: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, magmar: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, magmortar: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, pinsir: { @@ -1033,22 +993,22 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UUBL", }, tauros: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, taurospaldeacombat: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, taurospaldeablaze: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, taurospaldeaaqua: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1056,18 +1016,18 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, gyarados: { - tier: "RUBL", + tier: "NUBL", doublesTier: "DUU", natDexTier: "UUBL", }, gyaradosmega: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "OU", + natDexTier: "UUBL", }, lapras: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, laprasgmax: { @@ -1075,7 +1035,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, ditto: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1091,58 +1051,56 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, vaporeon: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, jolteon: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, flareon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, espeon: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, umbreon: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, leafeon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, glaceon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, sylveon: { - tier: "RU", - doublesTier: "DUU", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, porygon: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "NFE", }, porygon2: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "DUU", natDexTier: "NFE", }, porygonz: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RUBL", }, omanyte: { @@ -1179,7 +1137,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, snorlax: { - tier: "NUBL", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1188,32 +1146,32 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, articuno: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, articunogalar: { - tier: "NU", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, zapdos: { - tier: "OU", - doublesTier: "DUU", + tier: "UU", + doublesTier: "(DUU)", natDexTier: "OU", }, zapdosgalar: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", natDexTier: "UU", }, moltres: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", natDexTier: "OU", }, moltresgalar: { - tier: "RUBL", + tier: "UUBL", doublesTier: "(DUU)", natDexTier: "RUBL", }, @@ -1244,23 +1202,19 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, mew: { - tier: "RUBL", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RUBL", }, chikorita: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, bayleef: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, meganium: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, cyndaquil: { @@ -1270,35 +1224,31 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, typhlosion: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, typhlosionhisui: { - tier: "RU", - doublesTier: "DUU", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, totodile: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, croconaw: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, feraligatr: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, sentret: { tier: "LC", }, furret: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1306,7 +1256,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, noctowl: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1324,18 +1274,16 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, ariados: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, chinchou: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, lanturn: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, togepi: { @@ -1370,7 +1318,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, ampharos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1387,14 +1335,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, azumarill: { tier: "UU", - doublesTier: "DUU", - natDexTier: "RU", + doublesTier: "(DUU)", + natDexTier: "UU", }, bonsly: { tier: "LC", }, sudowoodo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1405,7 +1353,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, jumpluff: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1413,7 +1361,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, ambipom: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1421,7 +1369,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, sunflora: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1440,7 +1388,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, quagsire: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1449,7 +1397,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { doublesTier: "DUU", }, honchkrow: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1457,7 +1405,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, mismagius: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1480,7 +1428,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, farigiraf: { - tier: "PU", + tier: "ZU", doublesTier: "DOU", natDexTier: "RU", }, @@ -1496,37 +1444,35 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, dudunsparce: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, gligar: { - tier: "NU", + tier: "PU", doublesTier: "NFE", natDexTier: "NFE", }, gliscor: { tier: "OU", - doublesTier: "DUU", + doublesTier: "(DUU)", natDexTier: "OU", }, snubbull: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, granbull: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, qwilfish: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, qwilfishhisui: { - tier: "NU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, @@ -1541,7 +1487,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, heracross: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1551,48 +1497,46 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RUBL", }, sneasel: { - tier: "PU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, sneaselhisui: { - tier: "PU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, weavile: { - tier: "UU", + tier: "OU", doublesTier: "(DUU)", natDexTier: "UUBL", }, sneasler: { - tier: "OU", - doublesTier: "(DUU)", - natDexTier: "OU", + tier: "Uber", + doublesTier: "DUU", + natDexTier: "Uber", }, teddiursa: { tier: "LC", }, ursaring: { - tier: "PU", - doublesTier: "NFE", - natDexTier: "NFE", + tier: "NFE", }, ursaluna: { tier: "UU", doublesTier: "DOU", - natDexTier: "UU", + natDexTier: "OU", }, ursalunabloodmoon: { tier: "Uber", doublesTier: "DOU", - natDexTier: "OU", + natDexTier: "Uber", }, slugma: { tier: "LC", }, magcargo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1600,14 +1544,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, piloswine: { - tier: "NU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, mamoswine: { tier: "UU", doublesTier: "(DUU)", - natDexTier: "RU", + natDexTier: "RUBL", }, corsola: { isNonstandard: "Past", @@ -1635,7 +1579,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, delibird: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1650,15 +1594,15 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, skarmory: { - isNonstandard: "Past", - tier: "Illegal", + tier: "OU", + doublesTier: "(DUU)", natDexTier: "UU", }, houndour: { tier: "LC", }, houndoom: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1671,7 +1615,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, donphan: { - tier: "RU", + tier: "UU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1679,13 +1623,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, wyrdeer: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, smeargle: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, miltank: { @@ -1694,18 +1638,18 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, raikou: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, entei: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RU", }, suicune: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NUBL", + doublesTier: "(DUU)", natDexTier: "RU", }, larvitar: { @@ -1715,9 +1659,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, tyranitar: { - tier: "RU", - doublesTier: "DUU", - natDexTier: "UU", + tier: "UU", + doublesTier: "DOU", + natDexTier: "RU", }, tyranitarmega: { isNonstandard: "Past", @@ -1725,13 +1669,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, lugia: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, hooh: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, celebi: { @@ -1740,18 +1684,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, treecko: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, grovyle: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, sceptile: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZUBL", + doublesTier: "(DUU)", natDexTier: "RU", }, sceptilemega: { @@ -1760,18 +1700,16 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, torchic: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, combusken: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "NFE", natDexTier: "NFE", }, blaziken: { - isNonstandard: "Past", - tier: "Illegal", + tier: "UUBL", + doublesTier: "(DUU)", natDexTier: "UUBL", }, blazikenmega: { @@ -1780,30 +1718,26 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, mudkip: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, marshtomp: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, swampert: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, swampertmega: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "OU", + natDexTier: "UU", }, poochyena: { tier: "LC", }, mightyena: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1864,7 +1798,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, ludicolo: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1875,7 +1809,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, shiftry: { - tier: "RU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1893,7 +1827,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, pelipper: { - tier: "UU", + tier: "UUBL", doublesTier: "DOU", natDexTier: "OU", }, @@ -1914,8 +1848,8 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, gallade: { - tier: "RU", - doublesTier: "DUU", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, gallademega: { @@ -1927,7 +1861,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, masquerain: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1935,7 +1869,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, breloom: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1946,7 +1880,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, slaking: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1984,7 +1918,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, hariyama: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1992,7 +1926,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, probopass: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2007,14 +1941,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, sableye: { - tier: "PU", - doublesTier: "(DUU)", + tier: "ZU", + doublesTier: "DUU", natDexTier: "RU", }, sableyemega: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RUBL", + natDexTier: "UU", }, mawile: { isNonstandard: "Past", @@ -2024,7 +1958,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { mawilemega: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "UUBL", + natDexTier: "OU", }, aron: { isNonstandard: "Past", @@ -2050,7 +1984,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, medicham: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2075,22 +2009,22 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, plusle: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, minun: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, volbeat: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, illumise: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2113,7 +2047,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, swalot: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2146,7 +2080,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, camerupt: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2156,7 +2090,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, torkoal: { - tier: "UU", + tier: "OU", doublesTier: "DOU", natDexTier: "RU", }, @@ -2164,7 +2098,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, grumpig: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2174,25 +2108,21 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, trapinch: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, vibrava: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, flygon: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, cacnea: { tier: "LC", }, cacturne: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2200,7 +2130,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, altaria: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2210,12 +2140,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RUBL", }, zangoose: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, seviper: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2233,7 +2163,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, whiscash: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2241,7 +2171,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, crawdaunt: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2279,7 +2209,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, milotic: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2306,7 +2236,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, banette: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2322,12 +2252,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, dusknoir: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, tropius: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2335,7 +2265,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, chimecho: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2353,7 +2283,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, glalie: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2363,7 +2293,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, froslass: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2403,7 +2333,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, luvdisc: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2414,9 +2344,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, salamence: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", - natDexTier: "UU", + natDexTier: "RUBL", }, salamencemega: { isNonstandard: "Past", @@ -2424,18 +2354,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, beldum: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, metang: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, metagross: { - isNonstandard: "Past", - tier: "Illegal", + tier: "UU", + doublesTier: "DUU", natDexTier: "RU", }, metagrossmega: { @@ -2444,23 +2370,23 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, regirock: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, regice: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, registeel: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, latias: { - isNonstandard: "Past", - tier: "Illegal", + tier: "UUBL", + doublesTier: "(DUU)", natDexTier: "RU", }, latiasmega: { @@ -2469,14 +2395,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, latios: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "RUBL", + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UUBL", }, latiosmega: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RUBL", + natDexTier: "UUBL", }, kyogre: { tier: "Uber", @@ -2509,28 +2435,28 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "AG", }, jirachi: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", natDexTier: "RUBL", }, deoxys: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUU", natDexTier: "Uber", }, deoxysattack: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, deoxysdefense: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RUBL", }, deoxysspeed: { - isNonstandard: "Past", - tier: "Illegal", + tier: "OU", + doublesTier: "(DUU)", natDexTier: "Uber", }, turtwig: { @@ -2540,7 +2466,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, torterra: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2551,7 +2477,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, infernape: { - tier: "UU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2562,8 +2488,8 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, empoleon: { - tier: "UU", - doublesTier: "DUU", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RU", }, starly: { @@ -2573,7 +2499,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, staraptor: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2591,7 +2517,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, kricketune: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2602,28 +2528,24 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, luxray: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, cranidos: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, rampardos: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, shieldon: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, bastiodon: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, burmy: { @@ -2655,12 +2577,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, vespiquen: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pachirisu: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2668,7 +2590,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, floatzel: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2689,15 +2611,15 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, gastrodon: { - tier: "UU", - doublesTier: "DUU", + tier: "PU", + doublesTier: "(DUU)", natDexTier: "RU", }, drifloon: { tier: "LC", }, drifblim: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2738,7 +2660,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, bronzong: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2748,7 +2670,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, spiritomb: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2772,7 +2694,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, lucario: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2803,7 +2725,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, toxicroak: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2816,7 +2738,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, lumineon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2824,7 +2746,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, abomasnow: { - tier: "PU", + tier: "ZU", doublesTier: "DUU", natDexTier: "RU", }, @@ -2834,42 +2756,42 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, rotom: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, rotomheat: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, rotomwash: { tier: "UU", doublesTier: "(DUU)", - natDexTier: "OU", + natDexTier: "UU", }, rotomfrost: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, rotomfan: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, rotommow: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, uxie: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, mesprit: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2900,12 +2822,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, heatran: { tier: "OU", - doublesTier: "DOU", + doublesTier: "DUU", natDexTier: "OU", }, regigigas: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, giratina: { @@ -2919,27 +2841,27 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, cresselia: { - tier: "UU", + tier: "RU", doublesTier: "DOU", natDexTier: "RU", }, phione: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, manaphy: { - tier: "OU", + tier: "RUBL", doublesTier: "(DUU)", natDexTier: "UUBL", }, darkrai: { - tier: "Uber", + tier: "OU", doublesTier: "DUber", - natDexTier: "Uber", + natDexTier: "OU", }, shaymin: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2956,36 +2878,28 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { victini: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RUBL", + natDexTier: "UU", }, snivy: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "NFE", }, servine: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, serperior: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "UU", + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", }, tepig: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, pignite: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, emboar: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, oshawott: { @@ -2995,7 +2909,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, samurott: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3095,13 +3009,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, blitzle: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, zebstrika: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, roggenrola: { @@ -3130,13 +3042,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, drilbur: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, excadrill: { - isNonstandard: "Past", - tier: "Illegal", + tier: "UU", + doublesTier: "DUU", natDexTier: "UU", }, audino: { @@ -3153,13 +3063,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, gurdurr: { - tier: "PU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, conkeldurr: { - tier: "UU", - doublesTier: "DUU", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RU", }, tympole: { @@ -3194,7 +3104,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, leavanny: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3214,40 +3124,38 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, cottonee: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, whimsicott: { - isNonstandard: "Past", - tier: "Illegal", + tier: "PU", + doublesTier: "DOU", natDexTier: "RU", }, petilil: { tier: "LC", }, lilligant: { - tier: "PUBL", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, lilliganthisui: { - tier: "RU", - doublesTier: "(DUU)", + tier: "NUBL", + doublesTier: "DUU", natDexTier: "RUBL", }, basculin: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, basculegion: { - tier: "RU", + tier: "NU", doublesTier: "DUber", natDexTier: "RU", }, basculegionf: { - tier: "UU", + tier: "RU", doublesTier: "DUU", natDexTier: "RU", }, @@ -3258,7 +3166,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, krookodile: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3304,13 +3212,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, scraggy: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "NFE", }, scrafty: { - isNonstandard: "Past", - tier: "Illegal", + tier: "PU", + doublesTier: "(DUU)", natDexTier: "RU", }, sigilyph: { @@ -3379,7 +3285,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, zoroark: { - tier: "NUBL", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3389,13 +3295,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RUBL", }, minccino: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, cinccino: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RU", }, gothita: { @@ -3405,30 +3309,26 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, gothitelle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, solosis: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, duosion: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, reuniclus: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, ducklett: { tier: "LC", }, swanna: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3451,7 +3351,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, sawsbuck: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3474,9 +3374,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, amoonguss: { - tier: "UU", + tier: "RU", doublesTier: "DOU", - natDexTier: "RU", + natDexTier: "UU", }, frillish: { isNonstandard: "Past", @@ -3494,13 +3394,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "OU", }, joltik: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, galvantula: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, ferroseed: { @@ -3535,7 +3433,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, eelektross: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3556,8 +3454,8 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, chandelure: { - tier: "RU", - doublesTier: "DUU", + tier: "NU", + doublesTier: "(DUU)", natDexTier: "RU", }, axew: { @@ -3569,18 +3467,18 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { haxorus: { tier: "RUBL", doublesTier: "(DUU)", - natDexTier: "RU", + natDexTier: "UU", }, cubchoo: { tier: "LC", }, beartic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, cryogonal: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3608,7 +3506,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, mienshao: { - tier: "RUBL", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3618,13 +3516,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, golett: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, golurk: { - isNonstandard: "Past", - tier: "Illegal", + tier: "PU", + doublesTier: "(DUU)", natDexTier: "RU", }, pawniard: { @@ -3644,12 +3540,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, braviary: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, braviaryhisui: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3678,7 +3574,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, hydreigon: { - tier: "UU", + tier: "RUBL", doublesTier: "(DUU)", natDexTier: "UU", }, @@ -3687,26 +3583,26 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, volcarona: { tier: "Uber", - doublesTier: "DUU", + doublesTier: "(DUU)", natDexTier: "OU", }, cobalion: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RU", }, terrakion: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RUBL", }, virizion: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, tornadus: { - tier: "NUBL", + tier: "ZUBL", doublesTier: "DOU", natDexTier: "RU", }, @@ -3716,28 +3612,28 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UUBL", }, thundurus: { - tier: "RU", + tier: "NU", doublesTier: "DUU", natDexTier: "RU", }, thundurustherian: { - tier: "UU", + tier: "RUBL", doublesTier: "(DUU)", - natDexTier: "UU", + natDexTier: "UUBL", }, reshiram: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, zekrom: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, landorus: { tier: "Uber", - doublesTier: "DUU", + doublesTier: "DOU", natDexTier: "Uber", }, landorustherian: { @@ -3746,30 +3642,27 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "OU", }, kyurem: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "UUBL", + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", }, kyuremblack: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, kyuremwhite: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, keldeo: { - isNonstandard: "Past", - tier: "Illegal", + tier: "UU", + doublesTier: "(DUU)", natDexTier: "UU", }, - keldeoresolute: { - isNonstandard: "Past", - }, meloetta: { - tier: "NUBL", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3816,7 +3709,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, delphox: { - tier: "NUBL", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3827,9 +3720,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, greninja: { - tier: "OU", + tier: "UU", doublesTier: "(DUU)", - natDexTier: "OU", + natDexTier: "UU", }, greninjaash: { isNonstandard: "Past", @@ -3852,7 +3745,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, talonflame: { - tier: "RU", + tier: "NU", doublesTier: "DUU", natDexTier: "RU", }, @@ -3863,7 +3756,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, vivillon: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3871,7 +3764,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, pyroar: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3886,7 +3779,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, florges: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3894,7 +3787,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, gogoat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3914,18 +3807,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, espurr: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, meowstic: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "RU", - }, - meowsticf: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, honedge: { @@ -3967,13 +3853,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, inkay: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, malamar: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, binacle: { @@ -3990,7 +3874,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, dragalge: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3998,7 +3882,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, clawitzer: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4033,17 +3917,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, hawlucha: { - tier: "RUBL", + tier: "UU", doublesTier: "(DUU)", natDexTier: "RUBL", }, dedenne: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, carbink: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4057,13 +3941,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, goodra: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, goodrahisui: { tier: "UU", - doublesTier: "DUU", + doublesTier: "(DUU)", natDexTier: "RU", }, klefki: { @@ -4075,7 +3959,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, trevenant: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4116,7 +4000,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, avalugghisui: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4124,14 +4008,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, noivern: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, xerneas: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "Uber", + natDexTier: "AG", }, xerneasneutral: { isNonstandard: "Custom", // can't be used in battle @@ -4158,7 +4042,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, diancie: { - tier: "RU", + tier: "NU", doublesTier: "DOU", natDexTier: "RU", }, @@ -4168,17 +4052,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "OU", }, hoopa: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, hoopaunbound: { - tier: "UU", + tier: "RUBL", doublesTier: "(DUU)", natDexTier: "OU", }, volcanion: { - tier: "UU", + tier: "RU", doublesTier: "DOU", natDexTier: "RU", }, @@ -4189,72 +4073,59 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, decidueye: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, decidueyehisui: { - tier: "RU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, litten: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, torracat: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, incineroar: { - isNonstandard: "Past", - tier: "Illegal", + tier: "NU", + doublesTier: "DOU", natDexTier: "RU", }, popplio: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, brionne: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, primarina: { - isNonstandard: "Past", - tier: "Illegal", + tier: "OU", + doublesTier: "(DUU)", natDexTier: "RU", }, pikipek: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, trumbeak: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, toucannon: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, yungoos: { tier: "LC", }, gumshoos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, gumshoostotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, grubbin: { tier: "LC", @@ -4263,40 +4134,39 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, vikavolt: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, vikavolttotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, crabrawler: { tier: "LC", }, crabominable: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, oricorio: { - tier: "NUBL", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, oricoriopompom: { - tier: "NUBL", + tier: "PUBL", doublesTier: "(DUU)", natDexTier: "RU", }, oricoriopau: { - tier: "PUBL", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, oricoriosensu: { - tier: "NUBL", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4306,12 +4176,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { ribombee: { tier: "OU", doublesTier: "(DUU)", - natDexTier: "UU", + natDexTier: "RU", }, ribombeetotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, rockruff: { tier: "LC", @@ -4320,17 +4189,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, lycanroc: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, lycanrocmidnight: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, lycanrocdusk: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4346,7 +4215,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, toxapex: { - tier: "OU", + tier: "UU", doublesTier: "(DUU)", natDexTier: "OU", }, @@ -4354,35 +4223,33 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, mudsdale: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, dewpider: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, araquanid: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "DUU", natDexTier: "RU", }, araquanidtotem: { isNonstandard: "Past", + tier: "Illegal", }, fomantis: { tier: "LC", }, lurantis: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, lurantistotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, morelull: { isNonstandard: "Past", @@ -4398,14 +4265,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, salazzle: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, salazzletotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, stufful: { isNonstandard: "Past", @@ -4424,22 +4290,22 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, tsareena: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, comfey: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RUBL", + doublesTier: "DUU", natDexTier: "RU", }, oranguru: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, passimian: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4457,7 +4323,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, palossand: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4562,15 +4428,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, minior: { - isNonstandard: "Past", - tier: "Illegal", + tier: "PU", + doublesTier: "(DUU)", natDexTier: "RU", }, - miniormeteor: { - isNonstandard: "Past", - }, komala: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4586,6 +4449,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, togedemarutotem: { isNonstandard: "Past", + tier: "Illegal", }, mimikyu: { tier: "RU", @@ -4595,15 +4459,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { mimikyutotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, mimikyubustedtotem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", }, bruxish: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4624,14 +4486,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, kommoo: { - tier: "UUBL", - doublesTier: "DOU", - natDexTier: "OU", + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UUBL", }, kommoototem: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "OU", }, tapukoko: { isNonstandard: "Past", @@ -4654,23 +4515,19 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, cosmog: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, cosmoem: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "NFE", + tier: "NFE", }, solgaleo: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, lunala: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, nihilego: { @@ -4681,7 +4538,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { buzzwole: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", + natDexTier: "RUBL", }, pheromosa: { isNonstandard: "Past", @@ -4701,7 +4558,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { kartana: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "UUBL", + natDexTier: "OU", }, guzzlord: { isNonstandard: "Past", @@ -4709,18 +4566,18 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, necrozma: { - isNonstandard: "Past", - tier: "Illegal", + tier: "RU", + doublesTier: "(DUU)", natDexTier: "RU", }, necrozmaduskmane: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, necrozmadawnwings: { - isNonstandard: "Past", - tier: "Illegal", + tier: "Uber", + doublesTier: "DUber", natDexTier: "Uber", }, necrozmaultra: { @@ -4756,7 +4613,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { blacephalon: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "UU", + natDexTier: "RUBL", }, zeraora: { isNonstandard: "Past", @@ -4781,7 +4638,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, thwackey: { - tier: "PU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, @@ -4803,7 +4660,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { cinderace: { tier: "OU", doublesTier: "(DUU)", - natDexTier: "UU", + natDexTier: "UUBL", }, cinderacegmax: { isNonstandard: "Past", @@ -4816,7 +4673,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, inteleon: { - tier: "NUBL", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4828,7 +4685,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, greedent: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4900,7 +4757,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, drednaw: { - tier: "NUBL", + tier: "PUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4925,7 +4782,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, coalossal: { - tier: "NU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4937,7 +4794,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, flapple: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4946,7 +4803,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, appletun: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4955,7 +4812,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, dipplin: { - tier: "RU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4963,7 +4820,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, sandaconda: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4972,7 +4829,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, cramorant: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4988,7 +4845,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, toxtricity: { - tier: "NUBL", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5036,13 +4893,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, hattrem: { - tier: "PU", - doublesTier: "NFE", - natDexTier: "NFE", + tier: "NFE", }, hatterene: { tier: "OU", - doublesTier: "DUU", + doublesTier: "DOU", natDexTier: "OU", }, hatterenegmax: { @@ -5056,22 +4911,20 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, grimmsnarl: { - tier: "UU", + tier: "PU", doublesTier: "DOU", - natDexTier: "UU", + natDexTier: "RU", }, grimmsnarlgmax: { isNonstandard: "Past", tier: "Illegal", }, milcery: { - isNonstandard: "Past", - tier: "Illegal", - natDexTier: "LC", + tier: "LC", }, alcremie: { - isNonstandard: "Past", - tier: "Illegal", + tier: "ZU", + doublesTier: "(DUU)", natDexTier: "RU", }, alcremiegmax: { @@ -5079,12 +4932,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, falinks: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pincurchin: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5092,32 +4945,32 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, frosmoth: { - tier: "NUBL", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, stonjourner: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, eiscue: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, indeedee: { - tier: "PU", - doublesTier: "(DUU)", + tier: "UU", + doublesTier: "DUU", natDexTier: "RU", }, indeedeef: { - tier: "(PU)", + tier: "ZU", doublesTier: "DOU", natDexTier: "RU", }, morpeko: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5136,7 +4989,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { dracozolt: { isNonstandard: "Past", tier: "Illegal", - natDexTier: "RU", + natDexTier: "UU", }, arctozolt: { isNonstandard: "Past", @@ -5154,8 +5007,8 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, duraludon: { - isNonstandard: "Past", - tier: "Illegal", + tier: "PU", + doublesTier: "NFE", natDexTier: "RU", }, duraludongmax: { @@ -5186,7 +5039,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { zamazenta: { tier: "OU", doublesTier: "DUber", - natDexTier: "UUBL", + natDexTier: "OU", }, zamazentacrowned: { tier: "Uber", @@ -5234,12 +5087,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, regidrago: { - tier: "RUBL", - doublesTier: "(DUU)", + tier: "NUBL", + doublesTier: "DUU", natDexTier: "RU", }, glastrier: { - tier: "NU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5249,7 +5102,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, calyrex: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5266,10 +5119,10 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { enamorus: { tier: "OU", doublesTier: "DUU", - natDexTier: "UU", + natDexTier: "RUBL", }, enamorustherian: { - tier: "UU", + tier: "RU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5280,9 +5133,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, meowscarada: { - tier: "UU", + tier: "OU", doublesTier: "DUU", - natDexTier: "UU", + natDexTier: "UUBL", }, fuecoco: { tier: "LC", @@ -5299,23 +5152,25 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, quaxwell: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", }, quaquaval: { tier: "UU", doublesTier: "(DUU)", - natDexTier: "RU", + natDexTier: "UU", }, lechonk: { tier: "LC", }, oinkologne: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, oinkolognef: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5323,7 +5178,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, spidops: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5339,7 +5194,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, rabsca: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5363,7 +5218,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, wugtrio: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5373,7 +5228,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UUBL", }, veluza: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5382,7 +5237,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, palafin: { tier: "Uber", - doublesTier: "DOU", + doublesTier: "(DUU)", natDexTier: "Uber", }, smoliv: { @@ -5392,7 +5247,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, arboliva: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5400,7 +5255,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, scovillain: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5408,7 +5263,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, bellibolt: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5421,7 +5276,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, orthworm: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5437,7 +5292,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, cetitan: { - tier: "NUBL", + tier: "PUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5449,11 +5304,11 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, baxcalibur: { tier: "Uber", - doublesTier: "DUU", - natDexTier: "OU", + doublesTier: "(DUU)", + natDexTier: "Uber", }, tatsugiri: { - tier: "NU", + tier: "PU", doublesTier: "DUber", natDexTier: "RU", }, @@ -5469,7 +5324,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, pawmot: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5477,27 +5332,27 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, kilowattrel: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, bombirdier: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, squawkabilly: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, flamigo: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, klawf: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5505,12 +5360,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, naclstack: { - tier: "PU", + tier: "ZU", doublesTier: "NFE", natDexTier: "NFE", }, garganacl: { - tier: "UUBL", + tier: "OU", doublesTier: "DUU", natDexTier: "OU", }, @@ -5526,7 +5381,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, grafaiai: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5534,7 +5389,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, dachsbun: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5542,7 +5397,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, mabosstiff: { - tier: "PU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5550,7 +5405,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, brambleghast: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5571,7 +5426,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "OU", }, brutebonnet: { - tier: "NUBL", + tier: "NU", doublesTier: "DUU", natDexTier: "RU", }, @@ -5581,13 +5436,13 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, screamtail: { - tier: "RU", + tier: "PU", doublesTier: "(DUU)", natDexTier: "RU", }, fluttermane: { tier: "Uber", - doublesTier: "DOU", + doublesTier: "DUber", natDexTier: "Uber", }, slitherwing: { @@ -5596,49 +5451,49 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, roaringmoon: { - tier: "Uber", - doublesTier: "DOU", + tier: "OU", + doublesTier: "DBL", natDexTier: "Uber", }, irontreads: { - tier: "UU", + tier: "OU", doublesTier: "(DUU)", - natDexTier: "UU", + natDexTier: "OU", }, ironmoth: { tier: "OU", - doublesTier: "DUU", + doublesTier: "(DUU)", natDexTier: "UU", }, ironhands: { - tier: "UU", + tier: "UUBL", doublesTier: "DOU", - natDexTier: "UU", + natDexTier: "UUBL", }, ironjugulis: { - tier: "RU", + tier: "RUBL", doublesTier: "(DUU)", natDexTier: "RU", }, ironthorns: { - tier: "RU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, ironbundle: { tier: "Uber", - doublesTier: "DOU", + doublesTier: "DUU", natDexTier: "Uber", }, ironvaliant: { tier: "OU", - doublesTier: "DUU", + doublesTier: "(DUU)", natDexTier: "OU", }, tinglu: { tier: "OU", - doublesTier: "(DUU)", - natDexTier: "OU", + doublesTier: "DUU", + natDexTier: "UU", }, chienpao: { tier: "Uber", @@ -5646,7 +5501,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, wochien: { - tier: "RU", + tier: "PU", doublesTier: "DUU", natDexTier: "RU", }, @@ -5672,8 +5527,8 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, tinkaton: { - tier: "RU", - doublesTier: "DUU", + tier: "UU", + doublesTier: "(DUU)", natDexTier: "RU", }, charcadet: { @@ -5681,19 +5536,19 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, armarouge: { tier: "RU", - doublesTier: "DOU", + doublesTier: "DUU", natDexTier: "RU", }, ceruledge: { - tier: "OU", + tier: "UUBL", doublesTier: "(DUU)", - natDexTier: "UU", + natDexTier: "OU", }, toedscool: { tier: "LC", }, toedscruel: { - tier: "RU", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5703,7 +5558,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, clodsire: { - tier: "UU", + tier: "OU", doublesTier: "(DUU)", natDexTier: "OU", }, @@ -5714,7 +5569,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { }, walkingwake: { tier: "OU", - doublesTier: "DUU", + doublesTier: "DOU", natDexTier: "Uber", }, ironleaves: { @@ -5731,23 +5586,23 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, okidogi: { - tier: "UU", - doublesTier: "DUU", - natDexTier: "UU", + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", }, munkidori: { - tier: "UU", + tier: "NU", doublesTier: "(DUU)", natDexTier: "RU", }, fezandipiti: { tier: "RU", - doublesTier: "DUU", + doublesTier: "(DUU)", natDexTier: "RU", }, ogerpon: { tier: "UU", - doublesTier: "DUU", + doublesTier: "(DUU)", natDexTier: "RU", }, ogerponwellspring: { @@ -5761,10 +5616,50 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, ogerponcornerstone: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "UUBL", + }, + archaludon: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "OU", + }, + hydrapple: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + gougingfire: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + ragingbolt: { tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + ironboulder: { + tier: "UUBL", doublesTier: "DUU", natDexTier: "UU", }, + ironcrown: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "OU", + }, + terapagos: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + pecharunt: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "RU", + }, missingno: { isNonstandard: "Custom", tier: "Illegal", @@ -6061,6 +5956,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { isNonstandard: "CAP", tier: "CAP", }, + cresceidon: { + isNonstandard: "CAP", + tier: "CAP", + }, + chuggalong: { + isNonstandard: "CAP", + tier: "CAP", + }, pokestarsmeargle: { isNonstandard: "Custom", tier: "Illegal", diff --git a/data/items.ts b/data/items.ts index f301347d8c5c..60f77fd76ff1 100644 --- a/data/items.ts +++ b/data/items.ts @@ -324,7 +324,8 @@ export const Items: {[itemid: string]: ItemData} = { }, onDisableMove(pokemon) { for (const moveSlot of pokemon.moveSlots) { - if (this.dex.moves.get(moveSlot.move).category === 'Status') { + const move = this.dex.moves.get(moveSlot.id); + if (move.category === 'Status' && move.id !== 'mefirst') { pokemon.disableMove(moveSlot.id); } } @@ -452,7 +453,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1111, gen: 8, - isNonstandard: "Past", }, bignugget: { name: "Big Nugget", @@ -1050,7 +1050,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1112, gen: 8, - isNonstandard: "Past", }, cobaberry: { name: "Coba Berry", @@ -1431,7 +1430,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 235, gen: 2, - isNonstandard: "Past", }, dragoniumz: { name: "Dragonium Z", @@ -1480,7 +1478,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 324, gen: 4, - isNonstandard: "Past", }, durinberry: { name: "Durin Berry", @@ -1604,7 +1601,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 322, gen: 4, - isNonstandard: "Past", }, electricgem: { name: "Electric Gem", @@ -1700,13 +1696,13 @@ export const Items: {[itemid: string]: ItemData} = { }, onModifyDefPriority: 2, onModifyDef(def, pokemon) { - if (pokemon.baseSpecies.nfe || pokemon.baseSpecies.id === 'dipplin') { + if (pokemon.baseSpecies.nfe) { return this.chainModify(1.5); } }, onModifySpDPriority: 2, onModifySpD(spd, pokemon) { - if (pokemon.baseSpecies.nfe || pokemon.baseSpecies.id === 'dipplin') { + if (pokemon.baseSpecies.nfe) { return this.chainModify(1.5); } }, @@ -1985,7 +1981,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1113, gen: 8, - isNonstandard: "Past", }, flyinggem: { name: "Flying Gem", @@ -2128,7 +2123,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1582, gen: 8, - isNonstandard: "Unobtainable", }, galaricawreath: { name: "Galarica Wreath", @@ -2138,7 +2132,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1592, gen: 8, - isNonstandard: "Unobtainable", }, galladite: { name: "Galladite", @@ -3200,7 +3193,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1110, gen: 8, - isNonstandard: "Past", }, lucarionite: { name: "Lucarionite", @@ -3367,7 +3359,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 323, gen: 4, - isNonstandard: "Past", }, magnet: { name: "Magnet", @@ -3603,6 +3594,12 @@ export const Items: {[itemid: string]: ItemData} = { gen: 6, isNonstandard: "Past", }, + metalalloy: { + name: "Metal Alloy", + spritenum: 761, + num: 2482, + gen: 9, + }, metalcoat: { name: "Metal Coat", spritenum: 286, @@ -4486,7 +4483,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 321, gen: 4, - isNonstandard: "Past", }, psychicgem: { name: "Psychic Gem", @@ -4781,7 +4777,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1115, gen: 8, - isNonstandard: "Past", }, rindoberry: { name: "Rindo Berry", @@ -5038,7 +5033,6 @@ export const Items: {[itemid: string]: ItemData} = { num: 5, gen: 1, isPokeball: true, - isNonstandard: "Unobtainable", }, safetygoggles: { name: "Safety Goggles", @@ -5441,7 +5435,6 @@ export const Items: {[itemid: string]: ItemData} = { itemUser: ["Latios", "Latias"], num: 225, gen: 3, - isNonstandard: "Past", }, spelltag: { name: "Spell Tag", @@ -5517,7 +5510,6 @@ export const Items: {[itemid: string]: ItemData} = { num: 499, gen: 2, isPokeball: true, - isNonstandard: "Unobtainable", }, starfberry: { name: "Starf Berry", @@ -5559,7 +5551,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1114, gen: 8, - isNonstandard: "Past", }, steelixite: { name: "Steelixite", @@ -5691,7 +5682,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 1109, gen: 8, - isNonstandard: "Past", }, sunstone: { name: "Sun Stone", @@ -6948,7 +6938,6 @@ export const Items: {[itemid: string]: ItemData} = { }, num: 252, gen: 2, - isNonstandard: "Past", }, utilityumbrella: { name: "Utility Umbrella", diff --git a/data/learnsets.ts b/data/learnsets.ts index 5f65b1597a78..35cb913b03f3 100644 --- a/data/learnsets.ts +++ b/data/learnsets.ts @@ -31,92 +31,95 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, bulbasaur: { learnset: { + acidspray: ["9M"], amnesia: ["8M", "7E", "6E", "5E", "4E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], bind: ["7T", "6T", "5T"], block: ["5S3"], - bodyslam: ["8M", "7V", "3T"], - bulletseed: ["8M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], celebrate: ["6S5"], - charm: ["8M", "7E", "6E", "5E", "4E", "3E"], + charm: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], confide: ["7M", "6M"], - curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["7V", "3T"], - doubleedge: ["8L33", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3T"], + doubleedge: ["9M", "8L33", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - falseswipe: ["8M", "5S3"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M", "5S3"], flash: ["7V", "6M", "5M", "4M", "3M"], frenzyplant: ["5S3"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - gigadrain: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grasspledge: ["8T", "7T", "6T", "5T"], + gigadrain: ["9M", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "8T", "7T", "6T", "5T"], grasswhistle: ["7E", "6E", "5E", "4E", "3E"], - grassyglide: ["8T"], - grassyterrain: ["8M", "7E", "6E"], - growl: ["8L1", "8V", "7L3", "7V", "6L3", "6S4", "6S5", "5L3", "5S2", "4L3", "3L4", "3S1"], - growth: ["8L6", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L32", "3S0"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M", "7E", "6E"], + growl: ["9L1", "8L1", "8V", "7L3", "7V", "6L3", "6S4", "6S5", "5L3", "5S2", "4L3", "3L4", "3S1"], + growth: ["9L6", "8L6", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L32", "3S0"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - ingrain: ["8E", "7E", "6E", "5E", "4E"], - knockoff: ["7T", "6T", "5T", "4T"], - leafstorm: ["8M", "7E", "6E", "5E", "4E"], - leechseed: ["8L9", "8V", "7L7", "7V", "6L7", "6S4", "5L7", "5S2", "4L7", "3L7", "3S1"], + ingrain: ["9E", "8E", "7E", "6E", "5E", "4E"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + leafstorm: ["9M", "8M", "7E", "6E", "5E", "4E"], + leechseed: ["9L9", "8L9", "8V", "7L7", "7V", "6L7", "6S4", "5L7", "5S2", "4L7", "3L7", "3S1"], lightscreen: ["8M", "8V", "7M", "7V", "6M", "5M", "4E", "3E"], - magicalleaf: ["8M", "7E", "6E", "5E", "4E", "3E"], + magicalleaf: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], megadrain: ["8V", "7V"], mimic: ["7V", "3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], naturepower: ["8E", "7M", "7E", "6M", "6E", "5E", "4E"], outrage: ["8V"], - petaldance: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - poisonpowder: ["8L15", "8V", "7L13", "7V", "6L13", "6S4", "5L13", "4L13", "3L15"], - powerwhip: ["8M", "7E", "6E", "5E", "4E"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + petaldance: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + poisonpowder: ["9L15", "8L15", "8V", "7L13", "7V", "6L13", "6S4", "5L13", "4L13", "3L15"], + powerwhip: ["9L33", "8M", "7E", "6E", "5E", "4E"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - razorleaf: ["8L12", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L20"], + razorleaf: ["9L12", "8L12", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L20"], razorwind: ["7V"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "8L18", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L37"], + seedbomb: ["9M", "9L18", "8M", "8L18", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L37"], skullbash: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - sleeppowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeppowder: ["9L15", "8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludge: ["7E", "6E", "5E", "4E"], - sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sludgebomb: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8L36", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3L46", "3S0"], + solarbeam: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3L46", "3S0"], strength: ["6M", "5M", "4M", "3M"], stringshot: ["4T"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["8L24", "7L21", "7V", "6L21", "5L21", "4L21", "3L25", "3S0"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], - synthesis: ["8L27", "7T", "7L33", "7V", "6T", "6L33", "5T", "5L33", "4T", "4L33", "3L39", "3S0"], - tackle: ["8L1", "8V", "7L1", "7V", "6L1", "6S5", "5L1", "5S2", "4L1", "3L1", "3S1"], - takedown: ["8L21", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], - toxic: ["8E", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - venoshock: ["8M", "7M", "6M", "5M"], - vinewhip: ["8L3", "8V", "7L7", "7V", "6L9", "6S4", "5L9", "5S2", "4L9", "3L10", "3S1"], - weatherball: ["8M", "5S3"], + sweetscent: ["9L24", "8L24", "7L21", "7V", "6L21", "5L21", "4L21", "3L25", "3S0"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["9L27", "8L27", "7T", "7L33", "7V", "6T", "6L33", "5T", "5L33", "4T", "4L33", "3L39", "3S0"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S5", "5L1", "5S2", "4L1", "3L1", "3S1"], + takedown: ["9M", "9L21", "8L21", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + terablast: ["9M"], + toxic: ["9M", "9E", "8E", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + vinewhip: ["9L3", "8L3", "8V", "7L7", "7V", "6L9", "6S4", "5L9", "5S2", "4L9", "3L10", "3S1"], + weatherball: ["9M", "8M", "5S3"], workup: ["8M", "7M"], - worryseed: ["8L30", "7T", "7L31", "6T", "6L31", "5T", "5L31", "4T", "4L31"], + worryseed: ["9L30", "8L30", "7T", "7L31", "6T", "6L31", "5T", "5L31", "4T", "4L31"], }, eventData: [ {generation: 3, level: 70, moves: ["sweetscent", "growth", "solarbeam", "synthesis"], pokeball: "pokeball"}, @@ -132,177 +135,186 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, ivysaur: { learnset: { + acidspray: ["9M"], amnesia: ["8M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], bind: ["7T", "6T", "5T"], - bodyslam: ["8M", "7V", "3T"], - bulletseed: ["8M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], - charm: ["8M"], + charm: ["9M", "8M"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["7V", "3T"], - doubleedge: ["8L45", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3T"], + doubleedge: ["9M", "8L45", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - falseswipe: ["8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grasspledge: ["8T", "7T", "6T", "5T"], - grassyglide: ["8T"], - grassyterrain: ["8M"], - growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - growth: ["8L1", "8V", "7L28", "7V", "6L28", "5L28", "4L28", "3L38"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "8T", "7T", "6T", "5T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + growth: ["9L1", "8L1", "8V", "7L28", "7V", "6L28", "5L28", "4L28", "3L38"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - knockoff: ["7T", "6T", "5T", "4T"], - leafstorm: ["8M"], - leechseed: ["8L9", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + leafstorm: ["9M", "8M"], + leechseed: ["9L9", "8L9", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], lightscreen: ["8M", "8V", "7M", "6M", "5M"], - magicalleaf: ["8M"], + magicalleaf: ["9M", "8M"], megadrain: ["8V", "7V"], mimic: ["7V", "3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], naturepower: ["7M", "6M"], outrage: ["8V"], - poisonpowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], - powerwhip: ["8M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + poisonpowder: ["9L15", "8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + powerwhip: ["9L45", "8M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - razorleaf: ["8L12", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L22"], + razorleaf: ["9L12", "8L12", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L22"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M"], rocksmash: ["6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "8L20", "7T", "6T", "5T", "4T"], - sleeppowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + seedbomb: ["9M", "9L20", "8M", "8L20", "7T", "6T", "5T", "4T"], + sleeppowder: ["9L15", "8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8L50", "8V", "7M", "7L44", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L44", "3M", "3L56"], + solarbeam: ["9M", "9L50", "8M", "8L50", "8V", "7M", "7L44", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L44", "3M", "3L56"], strength: ["6M", "5M", "4M", "3M"], stringshot: ["4T"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["8L30", "7L23", "7V", "6L23", "5L23", "4L23", "3L29"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], - synthesis: ["8L35", "7T", "7L39", "7V", "6T", "6L39", "5T", "5L39", "4T", "4L39", "3L47"], - tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L25", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], - toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - venoshock: ["8M", "7M", "6M", "5M"], - vinewhip: ["8L1", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L10"], - weatherball: ["8M"], + sweetscent: ["9L30", "8L30", "7L23", "7V", "6L23", "5L23", "4L23", "3L29"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["9L35", "8L35", "7T", "7L39", "7V", "6T", "6L39", "5T", "5L39", "4T", "4L39", "3L47"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L25", "8L25", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + terablast: ["9M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + vinewhip: ["9L1", "8L1", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L10"], + weatherball: ["9M", "8M"], workup: ["8M", "7M"], - worryseed: ["8L40", "7T", "7L36", "6T", "6L36", "5T", "5L36", "4T", "4L36"], + worryseed: ["9L40", "8L40", "7T", "7L36", "6T", "6L36", "5T", "5L36", "4T", "4L36"], }, }, venusaur: { learnset: { - amnesia: ["8M", "8V"], + acidspray: ["9M"], + amnesia: ["9M", "8M", "8V"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], bind: ["7T", "6T", "5T"], block: ["7T", "6T", "5T", "4T"], - bodyslam: ["8M", "7V", "3T"], - bulldoze: ["8M", "7M", "6M", "5M"], - bulletseed: ["8M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], - charm: ["8M"], + charm: ["9M", "8M"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["7V", "3T"], - doubleedge: ["8L51", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3T"], + doubleedge: ["9M", "8L51", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - earthpower: ["8M"], - earthquake: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - falseswipe: ["8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M"], flash: ["7V", "6M", "5M", "4M", "3M"], - frenzyplant: ["8T", "7T", "6T", "6S0", "5T", "4T", "3T"], + frenzyplant: ["9M", "8T", "7T", "6T", "6S0", "5T", "4T", "3T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grasspledge: ["8T", "7T", "6T", "6S0", "5T"], - grassyglide: ["8T"], - grassyterrain: ["8M"], - growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - growth: ["8L1", "8V", "7L28", "7V", "6L28", "5L28", "4L28", "3L41"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "8T", "7T", "6T", "6S0", "5T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + growth: ["9L1", "8L1", "8V", "7L28", "7V", "6L28", "5L28", "4L28", "3L41"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - knockoff: ["7T", "6T", "5T", "4T"], - leafstorm: ["8M"], - leechseed: ["8L9", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + leafstorm: ["9M", "8M"], + leechseed: ["9L9", "8L9", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], lightscreen: ["8M", "8V", "7M", "6M", "5M"], - magicalleaf: ["8M"], + magicalleaf: ["9M", "8M"], megadrain: ["8V", "7V"], mimic: ["7V", "3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], naturepower: ["7M", "6M"], outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], - petalblizzard: ["8L0", "7L50", "6L50"], - petaldance: ["8L1", "8V", "7L1", "6L32", "5L32", "4L32"], - poisonpowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], - powerwhip: ["8M", "8V"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + petalblizzard: ["9M", "9L0", "8L0", "7L50", "6L50"], + petaldance: ["9L1", "8L1", "8V", "7L1", "6L32", "5L32", "4L32"], + poisonjab: ["9M"], + poisonpowder: ["9L15", "8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + powerwhip: ["9L51", "8M", "8V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - razorleaf: ["8L12", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L22"], + razorleaf: ["9L12", "8L12", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L22"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], rocksmash: ["6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "8L20", "7T", "6T", "5T", "4T"], - sleeppowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + seedbomb: ["9M", "9L20", "8M", "8L20", "7T", "6T", "5T", "4T"], + sleeppowder: ["9L15", "8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8L58", "8V", "7M", "7L53", "7V", "6M", "6L53", "6S0", "5M", "5L53", "4M", "4L53", "3M", "3L65"], - stompingtantrum: ["8M", "7T"], + solarbeam: ["9M", "9L58", "8M", "8L58", "8V", "7M", "7L53", "7V", "6M", "6L53", "6S0", "5M", "5L53", "4M", "4L53", "3M", "3L65"], + stompingtantrum: ["9M", "8M", "7T"], strength: ["6M", "5M", "4M", "3M"], stringshot: ["4T"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["8L30", "7L23", "7V", "6L23", "5L23", "4L23", "3L29"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], - synthesis: ["8L37", "7T", "7L45", "7V", "6T", "6L45", "6S0", "5T", "5L45", "4T", "4L45", "3L53"], - tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L25", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + sweetscent: ["9L30", "8L30", "7L23", "7V", "6L23", "5L23", "4L23", "3L29"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["9L37", "8L37", "7T", "7L45", "7V", "6T", "6L45", "6S0", "5T", "5L45", "4T", "4L45", "3L53"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L25", "8L25", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + terablast: ["9M"], terrainpulse: ["8T"], - toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - venoshock: ["8M", "7M", "6M", "5M"], - vinewhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - weatherball: ["8M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + vinewhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + weatherball: ["9M", "8M"], workup: ["8M", "7M"], - worryseed: ["8L44", "7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L39"], + worryseed: ["9L44", "8L44", "7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L39"], }, eventData: [ {generation: 6, level: 100, isHidden: true, moves: ["solarbeam", "frenzyplant", "synthesis", "grasspledge"], pokeball: "cherishball"}, @@ -322,6 +334,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blastburn: ["5S6"], block: ["5S6"], bodyslam: ["9M", "8M", "7V", "3T"], + breakingswipe: ["9M"], brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], celebrate: ["6S8"], @@ -411,6 +424,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "7V", "4T", "3T"], swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], takedown: ["9M", "7V"], + temperflare: ["9M"], terablast: ["9M"], thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -442,6 +456,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { beatup: ["8M"], bide: ["7V"], bodyslam: ["9M", "8M", "7V", "3T"], + breakingswipe: ["9M"], brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], confide: ["7M", "6M"], @@ -527,6 +542,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "7V", "4T", "3T"], swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], takedown: ["9M", "7V"], + temperflare: ["9M"], terablast: ["9M"], thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -548,7 +564,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blastburn: ["9M", "8T", "7T", "6T", "6S4", "5T", "4T", "3T"], blazekick: ["8M"], bodyslam: ["9M", "8M", "7V", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], @@ -561,9 +577,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { defensecurl: ["7V", "3T"], defog: ["7T", "4M"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["9L12", "8L12", "7V"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "7S6", "7S7", "6M", "6L1", "6S2", "5M", "5L1", "4M", "4L1", "3M"], dragondance: ["9M", "8M", "7S9"], dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], @@ -634,7 +651,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "7V"], scaleshot: ["8T"], scaryface: ["9M", "9L39", "8M", "8L39", "7L21", "7V", "6L21", "6S4", "5L21", "4L21", "3L27"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "8S10", "7V", "7S8", "3T"], @@ -656,6 +673,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], tailwind: ["7T", "6T", "5T", "4T"], takedown: ["9M", "7V"], + temperflare: ["9M"], terablast: ["9M"], thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -682,76 +700,80 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, squirtle: { learnset: { - aquajet: ["8E", "7E", "6E", "5E", "4E"], - aquaring: ["8E", "7E", "6E", "5E", "4E"], - aquatail: ["8L24", "7T", "7L28", "6T", "6L28", "5T", "5L28", "4T", "4L28"], + aquajet: ["9E", "8E", "7E", "6E", "5E", "4E"], + aquaring: ["9E", "8E", "7E", "6E", "5E", "4E"], + aquatail: ["9L24", "8L24", "7T", "7L28", "6T", "6L28", "5T", "5L28", "4T", "4L28"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], aurasphere: ["8M", "7E", "6E"], bide: ["7V"], - bite: ["8L12", "8V", "7L16", "7V", "6L16", "5L16", "4L16", "3L18"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["9L12", "8L12", "8V", "7L16", "7V", "6L16", "5L16", "4L16", "3L18"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], block: ["5S2"], - bodyslam: ["8M", "7V", "3T"], - brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], brine: ["8M", "7E", "6E", "5E", "4M"], bubble: ["8V", "7L13", "7V", "6L13", "6S3", "5L7", "5S1", "4L7", "3L7", "3S0"], bubblebeam: ["8V", "7V"], captivate: ["4M"], celebrate: ["6S4"], + chillingwater: ["9M"], confide: ["7M", "6M"], confusion: ["7V"], counter: ["7V", "3T"], curse: ["7V"], defensecurl: ["7V", "3T"], - dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonpulse: ["8M", "8V", "7T", "7E", "6T", "6E"], dynamicpunch: ["7V", "3T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - fakeout: ["8E", "7E", "6E", "5E", "4E"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9E", "8E", "7E", "6E", "5E", "4E"], falseswipe: ["8M", "5S2"], - flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - fling: ["8M", "7M", "6M", "5M", "4M"], - flipturn: ["8T"], - focuspunch: ["7T", "6T", "4M", "3M"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], followme: ["5S2"], foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gyroball: ["8M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], - haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + haze: ["9M", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], hydrocannon: ["5S2"], - hydropump: ["8M", "8L33", "8V", "7L40", "7V", "6L40", "5L40", "4L37", "3L47"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - irondefense: ["8M", "8L30", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4T", "4L34"], + hydropump: ["9M", "9L33", "8M", "8L33", "8V", "7L40", "7V", "6L40", "5L40", "4L37", "3L47"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "9L30", "8M", "8L30", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4T", "4L34"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], - lifedew: ["8E"], + lifedew: ["9E", "8E"], + liquidation: ["9M"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], mimic: ["7V", "3T"], - mirrorcoat: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - mist: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - muddywater: ["8M", "7E", "6E", "5E", "4E"], + mirrorcoat: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + mist: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + muddywater: ["9M", "8M", "7E", "6E", "5E", "4E"], + mudshot: ["9M"], mudslap: ["7V", "4T", "3T"], mudsport: ["7E", "6E", "5E", "4E", "3E"], naturalgift: ["4M"], outrage: ["8V"], poweruppunch: ["6M"], - protect: ["8M", "8L18", "8V", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L28"], + protect: ["9M", "9L18", "8M", "8L18", "8V", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L28"], rage: ["7V"], - raindance: ["8M", "8L21", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L34", "3M", "3L33"], - rapidspin: ["8L9", "7L19", "7V", "6L19", "5L19", "4L19", "3L23"], + raindance: ["9M", "9L21", "8M", "8L21", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L34", "3M", "3L33"], + rapidspin: ["9L9", "8L9", "7L19", "7V", "6L19", "5L19", "4L19", "3L23"], reflect: ["8V", "7V"], refresh: ["7E", "6E", "5E", "4E", "3E"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rockslide: ["8V"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], @@ -761,30 +783,32 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["8M", "8V", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], - shellsmash: ["8L27"], + shellsmash: ["9L27", "8L27"], skullbash: ["8L36", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3L40"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - tackle: ["8L1", "8V", "7L1", "7V", "6L1", "6S4", "5L1", "5S1", "4L1", "3L1", "3S0"], - tailwhip: ["8L1", "8V", "7L4", "7V", "6L4", "6S3", "6S4", "5L4", "5S1", "4L4", "3L4", "3S0"], - takedown: ["7V"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S4", "5L1", "5S1", "4L1", "3L1", "3S0"], + tailwhip: ["9L1", "8L1", "8V", "7L4", "7V", "6L4", "6S3", "6S4", "5L4", "5S1", "4L4", "3L4", "3S0"], + takedown: ["9M", "7V"], + terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L3", "8V", "7L7", "7V", "6L7", "6S3", "5L13", "4L13", "3L13"], - waterpledge: ["8T", "7T", "6T", "5T"], - waterpulse: ["8L15", "7T", "7L25", "6T", "6L25", "5L25", "4M", "4L25", "3M"], - waterspout: ["8E", "7E", "6E", "5E", "4E"], - weatherball: ["8M"], - whirlpool: ["8M", "7V", "4M"], - withdraw: ["8L6", "8V", "7L10", "7V", "6L10", "6S3", "5L10", "5S1", "4L10", "3L10", "3S0"], + watergun: ["9L3", "8L3", "8V", "7L7", "7V", "6L7", "6S3", "5L13", "4L13", "3L13"], + waterpledge: ["9M", "8T", "7T", "6T", "5T"], + waterpulse: ["9M", "9L15", "8L15", "7T", "7L25", "6T", "6L25", "5L25", "4M", "4L25", "3M"], + waterspout: ["9E", "8E", "7E", "6E", "5E", "4E"], + wavecrash: ["9L36"], + weatherball: ["9M", "8M"], + whirlpool: ["9M", "8M", "7V", "4M"], + withdraw: ["9L6", "8L6", "8V", "7L10", "7V", "6L10", "6S3", "5L10", "5S1", "4L10", "3L10", "3S0"], workup: ["8M", "7M"], - yawn: ["8E", "7E", "6E", "5E", "4E", "3E"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + yawn: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 3, level: 10, gender: "M", moves: ["tackle", "tailwhip", "bubble", "withdraw"], pokeball: "pokeball"}, @@ -799,60 +823,65 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, wartortle: { learnset: { - aquatail: ["8L30", "7T", "7L33", "6T", "6L32", "5T", "5L32", "4T", "4L32"], + aquatail: ["9L30", "8L30", "7T", "7L33", "6T", "6L32", "5T", "5L32", "4T", "4L32"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], aurasphere: ["8M"], bide: ["7V"], - bite: ["8L12", "8V", "7L17", "7V", "6L16", "5L16", "4L16", "3L19"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "7V", "3T"], - brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bite: ["9L12", "8L12", "8V", "7L17", "7V", "6L16", "5L16", "4L16", "3L19"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], brine: ["8M", "4M"], bubble: ["8V", "7L13", "7V", "6L13", "5L1", "4L1", "3L1"], bubblebeam: ["8V", "7V"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], counter: ["7V", "3T"], curse: ["7V"], defensecurl: ["7V", "3T"], - dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonpulse: ["8M", "8V", "7T", "6T"], dynamicpunch: ["7V", "3T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["8M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - flipturn: ["8T"], - focuspunch: ["7T", "6T", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gyroball: ["8M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L45", "8V", "7L49", "7V", "6L48", "5L48", "4L44", "3L53"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - irondefense: ["8M", "8L40", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40"], + hydropump: ["9M", "9L45", "8M", "8L45", "8V", "7L49", "7V", "6L48", "5L48", "4L44", "3L53"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "9L40", "8M", "8L40", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + liquidation: ["9M"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], mimic: ["7V", "3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], + mudshot: ["9M"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], outrage: ["8V"], poweruppunch: ["6M"], - protect: ["8M", "8L20", "8V", "7M", "7L25", "7V", "6M", "6L24", "5M", "5L24", "4M", "4L24", "3M", "3L31"], + protect: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25", "7V", "6M", "6L24", "5M", "5L24", "4M", "4L24", "3M", "3L31"], rage: ["7V"], - raindance: ["8M", "8L25", "7M", "7L45", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L40", "3M", "3L37"], - rapidspin: ["8L9", "7L21", "7V", "6L20", "5L20", "4L20", "3L25"], + raindance: ["9M", "9L25", "8M", "8L25", "7M", "7L45", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L40", "3M", "3L37"], + rapidspin: ["9L9", "8L9", "7L21", "7V", "6L20", "5L20", "4L20", "3L25"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rockslide: ["8V"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], @@ -862,138 +891,147 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["8M", "8V", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], - shellsmash: ["8L35"], + shellsmash: ["9L35", "8L35"], skullbash: ["8L50", "8V", "7L37", "7V", "6L36", "5L36", "4L36", "3L45"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["7V"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], - waterpledge: ["8T", "7T", "6T", "5T"], - waterpulse: ["8L15", "7T", "7L29", "6T", "6L28", "5L28", "4M", "4L28", "3M"], - weatherball: ["8M"], - whirlpool: ["8M", "7V", "4M"], - withdraw: ["8L1", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L10"], + watergun: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], + waterpledge: ["9M", "8T", "7T", "6T", "5T"], + waterpulse: ["9M", "9L15", "8L15", "7T", "7L29", "6T", "6L28", "5L28", "4M", "4L28", "3M"], + wavecrash: ["9L50"], + weatherball: ["9M", "8M"], + whirlpool: ["9M", "8M", "7V", "4M"], + withdraw: ["9L1", "8L1", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L10"], workup: ["8M", "7M"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, }, blastoise: { learnset: { aquajet: ["8V"], - aquatail: ["8L30", "7T", "7L33", "6T", "6L32", "5T", "5L32", "4T", "4L32"], + aquatail: ["9L30", "8L30", "7T", "7L33", "6T", "6L32", "5T", "5L32", "4T", "4L32"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - aurasphere: ["8M"], - avalanche: ["8M", "4M"], + aurasphere: ["9M", "8M"], + avalanche: ["9M", "8M", "4M"], bide: ["7V"], - bite: ["8L12", "8V", "7L17", "7V", "6L16", "5L16", "4L16", "3L19"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - bodypress: ["8M"], - bodyslam: ["8M", "7V", "3T"], - brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bite: ["9L12", "8L12", "8V", "7L17", "7V", "6L16", "5L16", "4L16", "3L19"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], brine: ["8M", "4M"], bubble: ["8V", "7L13", "7V", "6L13", "5L1", "4L1", "3L1"], bubblebeam: ["8V", "7V"], bulldoze: ["8M", "7M", "6M", "5M"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], counter: ["7V", "3T"], - crunch: ["8M"], + crunch: ["9M", "8M"], curse: ["7V"], - darkpulse: ["8M", "8V", "7M", "6M"], + darkpulse: ["9M", "8M", "8V", "7M", "6M"], defensecurl: ["7V", "3T"], - dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonpulse: ["8M", "8V", "7T", "6T"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T"], dragontail: ["8V", "7M", "6M", "5M"], dynamicpunch: ["7V", "3T"], - earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fakeout: ["8V"], falseswipe: ["8M"], fissure: ["7V"], - flashcannon: ["8M", "8L0", "8V", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], - fling: ["8M", "7M", "6M", "5M", "4M"], - flipturn: ["8T"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + flashcannon: ["9M", "9L0", "8M", "8L0", "8V", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gyroball: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydrocannon: ["8T", "7T", "6T", "6S1", "5T", "4T", "3T"], - hydropump: ["8M", "8L49", "8V", "7L60", "7V", "6L60", "6S1", "5L60", "4L53", "3L68", "3S0"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - irondefense: ["8M", "8L42", "7T", "7L47", "6T", "6L46", "6S1", "5T", "5L46", "4T", "4L46"], + hydrocannon: ["9M", "8T", "7T", "6T", "6S1", "5T", "4T", "3T"], + hydropump: ["9M", "9L49", "8M", "8L49", "8V", "7L60", "7V", "6L60", "6S1", "5L60", "4L53", "3L68", "3S0"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "9L42", "8M", "8L42", "7T", "7L47", "6T", "6L46", "6S1", "5T", "5L46", "4T", "4L46"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], - liquidation: ["8M", "7T"], + liquidation: ["9M", "8M", "7T"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], mimic: ["7V", "3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], + mudshot: ["9M"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], poweruppunch: ["6M"], - protect: ["8M", "8L20", "8V", "7M", "7L25", "7V", "6M", "6L24", "5M", "5L24", "4M", "4L24", "3M", "3L31", "3S0"], + protect: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25", "7V", "6M", "6L24", "5M", "5L24", "4M", "4L24", "3M", "3L31", "3S0"], rage: ["7V"], - raindance: ["8M", "8L25", "7M", "7L54", "7V", "6M", "6L53", "5M", "5L53", "4M", "4L46", "3M", "3L42", "3S0"], - rapidspin: ["8L9", "7L21", "7V", "6L20", "5L20", "4L20", "3L25"], + raindance: ["9M", "9L25", "8M", "8L25", "7M", "7L54", "7V", "6M", "6L53", "5M", "5L53", "4M", "4L46", "3M", "3L42", "3S0"], + rapidspin: ["9L9", "8L9", "7L21", "7V", "6L20", "5L20", "4L20", "3L25"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], - rockslide: ["8M", "8V", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], rollout: ["7V", "4T", "3T"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "8V", "7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], - shellsmash: ["8L35"], + shellsmash: ["9L35", "8L35"], signalbeam: ["7T", "6T", "5T", "4T"], skullbash: ["8L56", "8V", "7L40", "7V", "6L39", "5L39", "4L39", "3L55", "3S0"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smackdown: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["7V"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + terablast: ["9M"], terrainpulse: ["8T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], - waterpledge: ["8T", "7T", "6T", "6S1", "5T"], - waterpulse: ["8L15", "7T", "7L29", "6T", "6L28", "5L28", "4M", "4L28", "3M"], - weatherball: ["8M"], - whirlpool: ["8M", "7V", "4M"], - withdraw: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + watergun: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], + waterpledge: ["9M", "8T", "7T", "6T", "6S1", "5T"], + waterpulse: ["9M", "9L15", "8L15", "7T", "7L29", "6T", "6L28", "5L28", "4M", "4L28", "3M"], + wavecrash: ["9L56"], + weatherball: ["9M", "8M"], + whirlpool: ["9M", "8M", "7V", "4M"], + withdraw: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], workup: ["8M", "7M"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 3, level: 70, moves: ["protect", "raindance", "skullbash", "hydropump"], pokeball: "pokeball"}, @@ -2048,7 +2086,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "8V", "7M", "6M", "5T", "5D", "4M"], dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], disable: ["7E", "6E", "5E", "4E"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthquake: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], endure: ["9M", "7V", "4M", "3T"], @@ -2095,11 +2133,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { screech: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L25"], secretpower: ["6M", "4M", "3M"], seedbomb: ["9M", "7T", "6T", "5T", "4T"], + skittersmack: ["9M"], skullbash: ["7V"], slam: ["8V", "7E", "7V", "6E", "5E", "4E", "3E"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "9L33", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["7M", "6M", "5M"], + sludgewave: ["9M", "7M", "6M", "5M"], snarl: ["9M"], snatch: ["7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], @@ -2143,6 +2182,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bind: ["7T", "6T", "5T"], bite: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], bodyslam: ["9M", "7V", "3T"], + breakingswipe: ["9M"], brutalswing: ["7M"], bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], @@ -2152,7 +2192,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], darkpulse: ["9M", "8V", "7M", "6M", "5T", "4M"], dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragontail: ["9M", "8V", "7M", "6M", "5M"], earthquake: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -2183,6 +2223,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M"], mudslap: ["9M"], naturalgift: ["4M"], + painsplit: ["9M"], payback: ["7M", "6M", "5M", "4M"], poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], poisonsting: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], @@ -2202,11 +2243,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { screech: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L28"], secretpower: ["6M", "4M", "3M"], seedbomb: ["9M", "7T", "6T", "5T", "4T"], + skittersmack: ["9M"], skullbash: ["7V"], slam: ["8V"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "9L39", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], - sludgewave: ["7M", "6M", "5M"], + sludgewave: ["9M", "7M", "6M", "5M"], snarl: ["9M"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], @@ -2223,7 +2265,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M", "7V"], terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -2263,7 +2305,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M", "6M", "5M"], electricterrain: ["9M", "8M", "7E"], electroball: ["9M"], - electroweb: ["8M", "7T", "6T"], + electroweb: ["9M", "8M", "7T", "6T"], encore: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], endeavor: ["4S5"], endure: ["9M", "9S6", "8M", "7E", "7V", "6E", "5E", "4M", "4S5", "3T"], @@ -2394,6 +2436,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachu: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "8V", "7L45", "7V", "6L37", "6S41", "5L37", "4L34", "3L33", "3S0", "3S8"], + alluringvoice: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bestow: ["7S44", "6S42"], bide: ["7V"], @@ -2423,9 +2466,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "8S52", "7L13", "6L13", "6S32", "6S37", "5L18", "5S23", "5S24", "5S30"], - electroweb: ["8M", "7T", "6T"], + electroweb: ["9M", "8M", "7T", "6T"], encore: ["9M", "8M", "8S52", "6S39", "5S23"], - endeavor: ["6S39"], + endeavor: ["9M", "6S39"], endure: ["9M", "8M", "7V", "4M", "3T"], extremespeed: ["5S26"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -2505,6 +2548,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderwave: ["9M", "9L4", "8M", "8L4", "8V", "7M", "7L18", "7V", "6M", "6L13", "5M", "5L10", "5S28", "4M", "4L10", "4S9", "4S17", "3T", "3L8", "3S1", "3S2", "3S3", "3S4", "3S5", "3S10"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M", "6M", "5M", "5S29"], volttackle: ["7T", "6S39", "5S25", "5S29", "4S9", "4S21"], @@ -2672,6 +2716,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachuoriginal: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "7L45", "7S0"], + alluringvoice: ["9M"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], @@ -2689,8 +2734,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "7L13"], - electroweb: ["8M", "8S1", "7T"], + electroweb: ["9M", "8M", "8S1", "7T"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["8E"], @@ -2749,6 +2795,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["8E"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], volttackle: ["8S1", "7T"], @@ -2764,6 +2811,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachuhoenn: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "7L45"], + alluringvoice: ["9M"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], @@ -2781,8 +2829,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "7L13"], - electroweb: ["8M", "8S1", "7T"], + electroweb: ["9M", "8M", "8S1", "7T"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["8E"], @@ -2841,6 +2890,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["8E"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], volttackle: ["8S1", "7T"], @@ -2856,6 +2906,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachusinnoh: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "7L45"], + alluringvoice: ["9M"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], @@ -2873,8 +2924,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "7L13"], - electroweb: ["8M", "8S1", "7T"], + electroweb: ["9M", "8M", "8S1", "7T"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["8E"], @@ -2933,6 +2985,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["8E"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], volttackle: ["8S1", "7T", "7S0"], @@ -2948,6 +3001,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachuunova: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "7L45"], + alluringvoice: ["9M"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], @@ -2965,8 +3019,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "7L13"], - electroweb: ["8M", "8S1", "7T"], + electroweb: ["9M", "8M", "8S1", "7T"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["8E"], @@ -3025,6 +3080,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["8E"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], volttackle: ["8S1", "7T", "7S0"], @@ -3040,6 +3096,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachukalos: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "7L45"], + alluringvoice: ["9M"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], @@ -3057,8 +3114,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "7L13", "7S0"], - electroweb: ["8M", "8S1", "7T"], + electroweb: ["9M", "8M", "8S1", "7T"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["8E"], @@ -3117,6 +3175,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["8E"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], volttackle: ["8S1", "7T"], @@ -3132,6 +3191,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachualola: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "7L45"], + alluringvoice: ["9M"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], @@ -3149,8 +3209,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "7L13", "7S0"], - electroweb: ["8M", "8S1", "7T"], + electroweb: ["9M", "8M", "8S1", "7T"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["8E"], @@ -3209,6 +3270,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["8E"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], volttackle: ["8S1", "7T"], @@ -3224,6 +3286,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pikachupartner: { learnset: { agility: ["9M", "9L24", "8M", "8L24", "7L45"], + alluringvoice: ["9M"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], @@ -3241,8 +3304,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L12", "8M", "8L12", "7L13"], - electroweb: ["8M", "8S1", "7T"], + electroweb: ["9M", "8M", "8S1", "7T"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["8E"], @@ -3301,6 +3365,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["8E"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], volttackle: ["8S1", "7T"], @@ -3433,6 +3498,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { raichu: { learnset: { agility: ["9M", "9L1", "8M", "8L1"], + alluringvoice: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], bodyslam: ["9M", "8M", "7V", "3T"], @@ -3460,8 +3526,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L1", "8M", "8L1"], - electroweb: ["8M", "7T", "6T"], + electroweb: ["9M", "8M", "7T", "6T"], encore: ["9M", "8M", "8V"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fakeout: ["8V"], @@ -3535,6 +3602,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M", "6M", "5M"], wildcharge: ["9M", "8M", "7M", "6M", "5M"], @@ -3544,6 +3612,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { raichualola: { learnset: { agility: ["9M", "9L1", "8M", "8L1"], + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M"], bodyslam: ["9M", "8M"], @@ -3562,10 +3631,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L1", "8M", "8L1"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], encore: ["9M", "8M", "8V"], + endeavor: ["9M"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "8V", "7M"], fakeout: ["8V"], faketears: ["9M"], @@ -3598,6 +3668,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { playrough: ["9M", "8M"], protect: ["9M", "8M", "8V", "7M"], psychic: ["9M", "9L0", "8M", "8L0", "8V", "7M", "7L1"], + psychicnoise: ["9M"], psychicterrain: ["9M"], psyshock: ["9M", "8M", "7M"], quickattack: ["9L1", "8L1", "7L1"], @@ -3638,6 +3709,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M"], toxic: ["8V", "7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M"], voltswitch: ["9M", "8M", "7M"], wildcharge: ["9M", "8M", "7M"], @@ -3659,16 +3731,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], covet: ["7T", "6T", "5T"], crushclaw: ["7E", "6E", "5E", "4E", "3E"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], - defensecurl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L3", "4L3", "3T", "3L6", "3S0"], + defensecurl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L3", "3T", "3L6", "3S0"], detect: ["7V"], dig: ["9M", "9L33", "8M", "8L33", "8V", "7L30", "7V", "6M", "6L30", "5M", "5L30", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L45", "8M", "8L45", "8V", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M"], @@ -3677,7 +3750,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - furycutter: ["9L12", "8L12", "7L11", "7V", "6L11", "5L25", "4T", "4L25", "3T"], + furycutter: ["9L12", "8L12", "7L11", "7V", "6L11", "5L14", "4T", "4L25", "3T"], furyswipes: ["9L24", "8L24", "8V", "7L20", "7V", "6L20", "5L19", "4L19", "3L37"], gyroball: ["9M", "9L36", "8M", "8L36", "7M", "7L34", "6M", "6L34", "5M", "5L33", "4M", "4L33"], headbutt: ["8V", "7V", "4T"], @@ -3696,30 +3769,30 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightslash: ["9E", "8E", "7E", "6E", "5E", "4E"], poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], - poisonsting: ["9L3", "8L3", "8V", "7L5", "7V", "6L5", "5L9", "4L9", "3L17", "3S0"], + poisonsting: ["9L3", "8L3", "8V", "7L5", "7V", "6L5", "5L5", "4L9", "3L17", "3S0"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - rapidspin: ["9L15", "8L15", "7L9", "7E", "7V", "6L9", "6E", "5L13", "5E", "4L13", "4E", "3E"], + rapidspin: ["9L15", "8L15", "7L9", "7E", "7V", "6L9", "6E", "5L9", "5E", "4L13", "4E", "3E"], rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rockclimb: ["7E", "6E", "5E", "4M"], rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - rollout: ["9L9", "8L9", "7L7", "7V", "6L7", "5L21", "4T", "4L21", "3T"], + rollout: ["9L9", "8L9", "7L7", "7V", "6L7", "5L7", "4T", "4L21", "3T"], rototiller: ["7E", "6E"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], - sandattack: ["9L6", "8L6", "8V", "7L3", "7V", "6L3", "5L7", "5D", "4L7", "3L11", "3S0"], + sandattack: ["9L6", "8L6", "8V", "7L3", "7V", "6L3", "5L3", "5D", "4L7", "3L11", "3S0"], sandstorm: ["9M", "9L42", "8M", "8L42", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L37", "4M", "4L37", "3M", "3L53"], - sandtomb: ["9M", "8M", "7L23", "6L23", "5L27", "4L27", "3L45"], - scorchingsands: ["8T"], + sandtomb: ["9M", "8M", "7L23", "6L23", "5L23", "4L27", "3L45"], + scorchingsands: ["9M", "8T"], scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], skullbash: ["7V"], - slash: ["9L30", "8L30", "8V", "7L26", "7V", "6L26", "5L31", "4L31", "3L23"], + slash: ["9L30", "8L30", "8V", "7L26", "7V", "6L26", "5L26", "4L31", "3L23"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], smackdown: ["9M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -3734,12 +3807,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], superfang: ["9M", "7T", "6T", "5T", "5D", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["9M", "9L21", "8M", "8L21", "8V", "7L17", "7V", "6L11", "5L15", "4T", "4L15", "3T", "3L30"], + swift: ["9M", "9L21", "8M", "8L21", "8V", "7L17", "7V", "6L11", "5L11", "4T", "4L15", "3T", "3L30"], swordsdance: ["9M", "9L39", "8M", "8L39", "8V", "7M", "7L38", "7V", "6M", "6L38", "5M", "5L38", "4M", "4E", "3T", "3E"], takedown: ["9M", "7V"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], workup: ["8M"], xscissor: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], @@ -3769,11 +3842,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["9E", "8E", "7E"], covet: ["7T"], crushclaw: ["9E", "8E", "7E"], - curse: ["9E", "8E", "7E"], + curse: ["9M", "9E", "8E", "7E"], defensecurl: ["9L1", "8L1", "8V", "7L1"], dig: ["9M", "8M", "8V"], + doubleedge: ["9M"], doubleteam: ["7M"], earthquake: ["9M", "8M", "8V", "7M"], + endeavor: ["9M"], endure: ["9M", "8M", "7E"], facade: ["9M", "8M", "8V", "7M"], flail: ["9E", "8E", "7E"], @@ -3837,9 +3912,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], toxic: ["8V", "7M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], workup: ["8M", "7M"], xscissor: ["9M", "8M", "8V", "7M"], }, @@ -3862,17 +3937,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["8V", "3T"], covet: ["7T", "6T", "5T"], crushclaw: ["9L1", "8L1", "7L1", "6L22", "5L22", "4L22"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], detect: ["7V"], dig: ["9M", "9L41", "8M", "8L41", "8V", "7L33", "7V", "6M", "6L30", "5M", "5L30", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drillrun: ["9M", "8M", "8V"], dynamicpunch: ["7V", "3T"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L61", "8M", "8L61", "8V", "7M", "7L53", "7V", "6M", "6L46", "5M", "5L46", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M"], @@ -3881,11 +3957,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - furycutter: ["9L12", "8L12", "7L11", "7V", "6L11", "5L28", "4T", "4L28", "3T"], + furycutter: ["9L12", "8L12", "7L11", "7V", "6L11", "5L14", "4T", "4L28", "3T"], furyswipes: ["9L26", "8L26", "8V", "7L20", "7V", "6L20", "5L19", "4L19", "3L42"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gunkshot: ["9M"], - gyroball: ["9M", "9L46", "8M", "8L46", "7M", "7L38", "6M", "6L34", "5M", "5L45", "4M", "4L45"], + gyroball: ["9M", "9L46", "8M", "8L46", "7M", "7L38", "6M", "6L34", "5M", "5L34", "4M", "4L45"], headbutt: ["8V", "7V", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], highhorsepower: ["9M"], @@ -3903,29 +3979,29 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], pinmissile: ["8M"], poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], - poisonsting: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L9", "4L9", "3L17"], + poisonsting: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L5", "4L9", "3L17"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - rapidspin: ["9L15", "8L15", "7L9", "6L9", "5L13", "4L13"], + rapidspin: ["9L15", "8L15", "7L9", "6L9", "5L9", "4L13"], rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - rollout: ["9L9", "8L9", "7L7", "7V", "6L7", "5L21", "4T", "4L21", "3T"], + rollout: ["9L9", "8L9", "7L7", "7V", "6L7", "5L7", "4T", "4L21", "3T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], sandattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - sandstorm: ["9M", "9L56", "8M", "8L56", "7M", "7L48", "7V", "6M", "6L42", "5M", "5L52", "4M", "4L52", "3M", "3L62"], - sandtomb: ["9M", "9L31", "8M", "8L31", "7L24", "6L23", "5L33", "4L33", "3L52"], - scorchingsands: ["8T"], + sandstorm: ["9M", "9L56", "8M", "8L56", "7M", "7L48", "7V", "6M", "6L42", "5M", "5L42", "4M", "4L52", "3M", "3L62"], + sandtomb: ["9M", "9L31", "8M", "8L31", "7L24", "6L23", "5L23", "4L33", "3L52"], + scorchingsands: ["9M", "8T"], scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], skullbash: ["7V"], - slash: ["9L36", "8L36", "8V", "7L28", "7V", "6L26", "5L40", "4L40", "3L24"], + slash: ["9L36", "8L36", "8V", "7L28", "7V", "6L26", "5L26", "4L40", "3L24"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], smackdown: ["9M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -3940,12 +4016,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], superfang: ["9M", "7T", "6T", "5T", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["9M", "9L21", "8M", "8L21", "8V", "7L17", "7V", "6L11", "5L15", "4T", "4L15", "3T", "3L33"], + swift: ["9M", "9L21", "8M", "8L21", "8V", "7L17", "7V", "6L11", "5L11", "4T", "4L15", "3T", "3L33"], swordsdance: ["9M", "9L51", "8M", "8L51", "8V", "7M", "7L43", "7V", "6M", "6L38", "5M", "5L38", "4M", "3T"], takedown: ["9M", "7V"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], workup: ["8M"], xscissor: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], @@ -3972,11 +4048,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M"], counter: ["8V"], covet: ["7T"], + curse: ["9M"], defensecurl: ["9L1", "8L1", "8V", "7L1"], dig: ["9M", "8M", "8V"], + doubleedge: ["9M"], doubleteam: ["7M"], drillrun: ["9M", "8M", "8V", "7T"], earthquake: ["9M", "8M", "8V", "7M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "8V", "7M"], falseswipe: ["9M"], @@ -4043,9 +4122,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], toxic: ["8V", "7M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], workup: ["8M", "7M"], xscissor: ["9M", "8M", "8V", "7M"], }, @@ -4674,6 +4753,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cleffa: { learnset: { afteryou: ["7T", "6T", "5T"], + alluringvoice: ["9M"], amnesia: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], aromatherapy: ["8E", "7E", "6E", "5E", "5D", "4E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -4699,7 +4779,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "9L16", "8M", "8L16", "7L4", "7V", "6L4", "5L4", "5D", "4L4", "3L4"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M", "7E", "6E", "5E", "4E"], @@ -4782,11 +4862,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { clefairy: { learnset: { afteryou: ["9L12", "8L12", "7T", "7L58", "6T", "6L1", "5T", "5L52"], + alluringvoice: ["9M"], allyswitch: ["8M"], amnesia: ["9M", "8M", "8V"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], batonpass: ["9M", "8M"], - bestow: ["7L19", "6L19", "5L25"], + bestow: ["7L19", "6L19", "5L19"], bide: ["7V"], blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "8V", "7L40", "7V", "6L40", "5L40", "3T"], @@ -4809,7 +4890,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], disarmingvoice: ["9M", "9L1", "8L1", "7L1", "6L1"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleslap: ["8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L13"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "8M"], @@ -4819,7 +4900,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dynamicpunch: ["7V", "3T"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "9L8", "8M", "8L1", "8V", "7L1", "7V", "6L1", "5L4", "4L4", "3L5"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M"], @@ -4855,9 +4936,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T", "5T", "4T"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], - meteorbeam: ["8T"], - meteormash: ["9L32", "8L32", "7L50", "6L50", "5L55", "4L43", "3L45"], - metronome: ["9M", "9L20", "8M", "8L20", "8V", "8S1", "7L31", "7V", "6L31", "5L34", "4L31", "3T", "3L29"], + meteorbeam: ["9M", "8T"], + meteormash: ["9L32", "8L32", "7L50", "6L50", "5L52", "4L43", "3L45"], + metronome: ["9M", "9L20", "8M", "8L20", "8V", "8S1", "7L31", "7V", "6L31", "5L31", "4L31", "3T", "3L29"], mimic: ["7V", "3T"], minimize: ["8L8", "8V", "7L25", "7V", "6L25", "5L19", "4L19", "3L21"], mistyexplosion: ["9M", "8T"], @@ -4875,7 +4956,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "8V", "8S0", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7V"], rage: ["7V"], @@ -4906,7 +4987,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { splash: ["9L1", "8L1"], spotlight: ["7L1"], stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], - storedpower: ["9M", "9L4", "8M", "8L4", "7L28", "6L28", "5L43"], + storedpower: ["9M", "9L4", "8M", "8L4", "7L28", "6L28", "5L28"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], @@ -4946,6 +5027,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { clefable: { learnset: { afteryou: ["9L1", "8L1", "7T", "6T", "5T"], + alluringvoice: ["9M"], allyswitch: ["8M"], amnesia: ["9M", "8M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -4972,7 +5054,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], disarmingvoice: ["9M", "9L1", "8L1", "7L1", "6L1"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "8M"], @@ -4982,7 +5064,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dynamicpunch: ["7V", "3T"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "9L1", "8M", "8L1"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M"], @@ -4995,6 +5077,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M", "3M"], followme: ["9L1", "8L1"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "9L1", "8L1", "7T", "6T", "5T", "4T"], @@ -5021,7 +5104,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T", "5T", "4T"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], meteormash: ["9L1", "8L1"], metronome: ["9M", "9L1", "8M", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], mimic: ["7V", "3T"], @@ -5041,7 +5124,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7V"], rage: ["7V"], @@ -5113,31 +5196,31 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["7L47", "7E", "6L47", "6E", "5L41", "4M", "4L37"], charm: ["9M", "3S1"], confide: ["7M", "6M"], - confuseray: ["9M", "9L20", "8L20", "8V", "7L12", "7V", "6L12", "5L17", "4L17", "3L21"], + confuseray: ["9M", "9L20", "8L20", "8V", "7L12", "7V", "6L12", "5L15", "4L17", "3L21"], covet: ["7T", "6T", "5T"], curse: ["7V"], darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "5D", "4M"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M", "3S1"], disable: ["9L4", "8L4", "7E", "7V", "6E", "5E", "4E", "3E"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], ember: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], encore: ["9M", "8M"], endure: ["9M", "8M", "7V", "4M", "3T"], energyball: ["9M", "8M", "7M", "6M", "5M", "4E"], - extrasensory: ["9L28", "8L28", "7L31", "7E", "6L31", "6E", "5L51", "5E", "4L44", "4E"], + extrasensory: ["9L28", "8L28", "7L31", "7E", "6L31", "6E", "5L39", "5E", "4L44", "4E"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], feintattack: ["7L23", "7E", "7V", "6L20", "6E", "5L20", "5E", "4E", "3E"], - fireblast: ["9M", "9L52", "8M", "8L56", "8V", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L54", "4M", "4L47", "3M"], - firespin: ["9M", "9L40", "8M", "8L40", "8V", "7L15", "7V", "6L12", "5L14", "4L34", "3L41"], + fireblast: ["9M", "9L52", "8M", "8L56", "8V", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L42", "4M", "4L47", "3M"], + firespin: ["9M", "9L40", "8M", "8L40", "8V", "7L15", "7V", "6L12", "5L12", "4L34", "3L41"], flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], - flameburst: ["7L28", "6L23", "5L24"], + flameburst: ["7L28", "6L23", "5L23"], flamecharge: ["9M", "9E", "8E", "7M", "6M", "5M"], - flamethrower: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L36", "7V", "6M", "6L34", "5M", "5L37", "4M", "4L24", "3M", "3L29"], + flamethrower: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L36", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L24", "3M", "3L29"], flareblitz: ["9M", "8M", "7E", "6E", "5E", "4E"], foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - grudge: ["8L52", "7L44", "6L44", "5L47", "4L41", "3L37"], + grudge: ["8L52", "7L44", "6L44", "5L44", "4L41", "3L37"], headbutt: ["8V", "7V", "4T"], healingwish: ["9E"], heatwave: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E", "3S1"], @@ -5146,7 +5229,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], howl: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], hypnosis: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], - imprison: ["9M", "9L36", "8M", "8L36", "7L39", "6L18", "5L21", "4L21", "3L25"], + imprison: ["9M", "9L36", "8M", "8L36", "7L39", "6L18", "5L18", "4L21", "3L25"], incinerate: ["9L16", "8L16", "6M", "5M"], inferno: ["9L48", "8L48", "7L50", "6L50", "5L44"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], @@ -5157,12 +5240,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], ominouswind: ["4T"], overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - painsplit: ["7T", "6T", "5T", "4T"], - payback: ["8M", "7M", "7L18", "6M", "6L18", "5M", "5L34", "4M", "4L31"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "7L18", "6M", "6L18", "5M", "5L31", "4M", "4L31"], powerswap: ["8M", "7E", "6E", "5E", "4E"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "4E", "3E"], - quickattack: ["9L8", "8L8", "8V", "7L10", "7V", "6L10", "5L11", "4L11", "3L13", "3S0"], + psychup: ["9M", "7M", "6M", "5M", "4M", "4E", "3E"], + quickattack: ["9L8", "8L8", "8V", "7L10", "7V", "6L10", "5L10", "4L11", "3L13", "3S0"], rage: ["7V"], reflect: ["8V", "7V"], rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -5188,7 +5271,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], weatherball: ["9M", "8M"], - willowisp: ["9M", "9L24", "8M", "8L24", "8V", "7M", "7L20", "6M", "6L20", "5M", "5L31", "4M", "4L14", "3L17", "3S0"], + willowisp: ["9M", "9L24", "8M", "8L24", "8V", "7M", "7L20", "6M", "6L20", "5M", "5L26", "4M", "4L14", "3L17", "3S0"], zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ @@ -5222,6 +5305,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "8V"], disable: ["9L4", "8L4", "7E"], disarmingvoice: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M"], drainingkiss: ["9M", "8M"], encore: ["9M", "8M", "7E"], @@ -5254,13 +5338,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M"], moonblast: ["9E", "8E", "7E"], nastyplot: ["9M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["8M", "7M", "7L18"], playrough: ["9M"], powdersnow: ["9L1", "8L1", "7L1", "7S1"], powerswap: ["8M", "7E"], protect: ["9M", "8M", "8V", "7M"], - psychup: ["7M"], + psychup: ["9M", "7M"], raindance: ["9M", "8M", "7M"], reflect: ["8V"], rest: ["9M", "8M", "8V", "7M"], @@ -5311,7 +5395,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], disable: ["9L1", "8L1"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["8V", "7M", "6M", "5M", "4M"], ember: ["9L1", "8L1", "8V", "7V", "5L1", "4L1", "3L1"], @@ -5349,11 +5433,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightshade: ["9M"], ominouswind: ["4T"], overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], powerswap: ["8M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "7M", "6M", "5M", "5S0"], quickattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], rage: ["7V"], @@ -5364,7 +5448,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { roleplay: ["7T", "6T", "5T", "4T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["9L1", "8M", "8L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "8M"], skullbash: ["7V"], @@ -5414,6 +5498,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "8V"], disable: ["9L1", "8L1"], disarmingvoice: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M"], drainingkiss: ["9M", "8M"], dreameater: ["8V", "7M"], @@ -5446,13 +5531,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { mist: ["9L1", "8L1", "8V"], mistyterrain: ["9M", "8M"], nastyplot: ["9M", "9L1", "8M", "8L1", "8V", "7L1"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["8M", "7M"], playrough: ["9M"], powdersnow: ["9L1", "8L1"], powerswap: ["8M"], protect: ["9M", "8M", "8V", "7M"], - psychup: ["7M"], + psychup: ["9M", "7M"], psyshock: ["9M", "8M", "7M"], raindance: ["9M", "8M", "7M"], reflect: ["8V"], @@ -5478,7 +5563,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], toxic: ["8V", "7M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], weatherball: ["9M", "8M"], wonderroom: ["8M", "7T"], zenheadbutt: ["9M", "8M", "7T"], @@ -5486,6 +5571,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, igglybuff: { learnset: { + alluringvoice: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], bounce: ["8M", "7T", "6T", "5T", "4T"], @@ -5502,13 +5588,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "6M", "5M", "4M", "3M"], disable: ["9L16", "8L16"], disarmingvoice: ["9M", "9L12", "8L12"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "8M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M", "7E", "6E", "5E", "5D", "4E", "3E"], @@ -5538,14 +5624,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], nightmare: ["7V", "3T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], perishsong: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], playrough: ["9M", "8M"], pound: ["9L1", "8L1", "7L5", "7V", "6L5", "5L9", "4L9", "3L9"], present: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], punishment: ["7E", "6E", "5E"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "4M"], @@ -5589,6 +5675,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, jigglypuff: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], amnesia: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -5617,7 +5704,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], disable: ["9L1", "8L1", "8V", "7L14", "7V", "6L13", "5L13", "4L13", "3L14"], disarmingvoice: ["9M", "9L1", "8L1", "7L11", "6L11"], - doubleedge: ["9L44", "8L44", "8V", "7L45", "7V", "6L49", "5L53", "4L49", "3T", "3L49"], + doubleedge: ["9M", "9L44", "8L44", "8V", "7L45", "7V", "6L49", "5L53", "4L49", "3T", "3L49"], doubleslap: ["8V", "7L17", "7V", "6L18", "5L25", "4L21", "3L24"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "8M"], @@ -5626,7 +5713,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dynamicpunch: ["7V", "3T"], echoedvoice: ["9L4", "8L4", "7M", "6M", "5M"], encore: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], energyball: ["9M"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -5666,14 +5753,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { nastyplot: ["9M"], naturalgift: ["4M"], nightmare: ["7V", "3T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], playnice: ["7L9", "6L8"], playrough: ["9M", "8M", "8L40", "8V"], pound: ["9L1", "8L1", "8V", "7L5", "7V", "6L5", "5L9", "4L9", "3L9"], poweruppunch: ["6M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psyshock: ["9M"], psywave: ["7V"], rage: ["7V"], @@ -5744,6 +5832,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, wigglytuff: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], amnesia: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -5772,7 +5861,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], disable: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], disarmingvoice: ["9M", "9L1", "8L1"], - doubleedge: ["9L1", "8L1", "7L1", "7V", "6L1", "3T"], + doubleedge: ["9M", "9L1", "8L1", "7L1", "7V", "6L1", "3T"], doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "8M"], @@ -5781,10 +5870,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { dynamicpunch: ["7V", "3T"], echoedvoice: ["9L1", "8L1", "7M", "6M", "5M"], encore: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], energyball: ["9M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -5828,13 +5917,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { nastyplot: ["9M"], naturalgift: ["4M"], nightmare: ["7V", "3T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], playrough: ["9M", "9L5", "8M", "8L1", "8V", "7L1", "6L1"], pound: ["9L1", "8L1", "8V"], poweruppunch: ["6M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psyshock: ["9M"], psywave: ["7V"], rage: ["7V"], @@ -5903,20 +5993,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { zubat: { learnset: { absorb: ["8L1", "8V", "7L1"], - acrobatics: ["8M", "7M", "6M", "6L30", "5M", "5L33"], + acrobatics: ["8M", "7M", "6M", "6L30", "5M", "5L30"], aerialace: ["7M", "6M", "5M", "4M", "3M"], agility: ["8M"], aircutter: ["8L25", "7L19", "6L19", "5L25", "4T", "4L25", "3L31"], airslash: ["8M", "8L50", "8V", "7L41", "6L41", "5L45", "4L41"], assurance: ["8M"], - astonish: ["8L5", "7L7", "6L7", "5L9", "4L9", "3L6"], + astonish: ["8L5", "7L7", "6L7", "5L8", "4L9", "3L6"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bite: ["8L30", "8V", "7L11", "7V", "6L11", "5L13", "4L13", "3L16"], + bite: ["8L30", "8V", "7L11", "7V", "6L11", "5L12", "4L13", "3L16"], bravebird: ["8M", "7E", "6E", "5E", "4E"], captivate: ["4M"], confide: ["7M", "6M"], - confuseray: ["8L45", "8V", "7L17", "7V", "6L17", "5L21", "4L21", "3L26"], + confuseray: ["8L45", "8V", "7L17", "7V", "6L17", "5L19", "4L21", "3L26"], crunch: ["8M"], curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], defog: ["8E", "7T", "7E", "6E", "5E", "4M"], @@ -5967,9 +6057,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], superfang: ["7T", "6T", "5T", "5D", "4T"], - supersonic: ["8L1", "8V", "7L5", "7V", "6L4", "5L5", "5D", "4L5", "3L6"], + supersonic: ["8L1", "8V", "7L5", "7V", "6L4", "5L4", "5D", "4L5", "3L6"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "8V", "7L23", "7V", "6L23", "5L24", "4T", "3T"], + swift: ["8M", "8V", "7L23", "7V", "6L23", "5L23", "4T", "3T"], tailwind: ["7T", "6T", "5T", "4T"], takedown: ["7V"], taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -5982,7 +6072,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { venomdrench: ["8M", "7E", "6E"], venoshock: ["8M", "8L40", "7M", "7L37", "6M", "6L37", "5M"], whirlwind: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - wingattack: ["8E", "8V", "7L13", "7V", "6L13", "5L17", "4L17", "3L21"], + wingattack: ["8E", "8V", "7L13", "7V", "6L13", "5L15", "4L17", "3L21"], zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], }, encounters: [ @@ -5993,20 +6083,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { golbat: { learnset: { absorb: ["8L1", "8V", "7L1"], - acrobatics: ["8M", "7M", "6M", "6L33", "5M", "5L39"], + acrobatics: ["8M", "7M", "6M", "6L33", "5M", "5L33"], aerialace: ["7M", "6M", "5M", "4M", "3M"], agility: ["8M"], aircutter: ["8L27", "7L19", "6L19", "5L27", "4T", "4L27", "3L35"], - airslash: ["8M", "8L62", "8V", "7L48", "6L48", "5L57", "4L51"], + airslash: ["8M", "8L62", "8V", "7L48", "6L48", "5L52", "4L51"], assurance: ["8M"], astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bite: ["8L34", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L16"], + bite: ["8L34", "8V", "7L1", "7V", "6L1", "5L12", "4L13", "3L16"], bravebird: ["8M"], captivate: ["4M"], confide: ["7M", "6M"], - confuseray: ["8L55", "8V", "7L17", "7V", "6L17", "5L21", "4L21", "3L28"], + confuseray: ["8L55", "8V", "7L17", "7V", "6L17", "5L19", "4L21", "3L28"], crunch: ["8M", "8V"], curse: ["7V"], defog: ["7T", "4M"], @@ -6020,7 +6110,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - haze: ["8L41", "8V", "7L40", "7V", "6L40", "5L51", "4L45", "3L56"], + haze: ["8L41", "8V", "7L40", "7V", "6L40", "5L47", "4L45", "3L56"], headbutt: ["8V"], heatwave: ["8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -6034,7 +6124,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ominouswind: ["4T"], payback: ["8M", "7M", "6M", "5M", "4M"], pluck: ["5M", "4M"], - poisonfang: ["8L15", "7L27", "6L27", "5L45", "4L39", "3L49"], + poisonfang: ["8L15", "7L27", "6L27", "5L42", "4L39", "3L49"], protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], quickattack: ["8V"], quickguard: ["8L20", "7L51", "6L51"], @@ -6071,7 +6161,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { venomdrench: ["8M"], venoshock: ["8M", "8L48", "7M", "7L43", "6M", "6L43", "5M"], whirlwind: ["8V", "7V"], - wingattack: ["8V", "7L13", "7V", "6L13", "5L17", "4L17", "3L21"], + wingattack: ["8V", "7L13", "7V", "6L13", "5L15", "4L17", "3L21"], zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], }, encounters: [ @@ -6085,19 +6175,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { crobat: { learnset: { absorb: ["8L1", "7L1"], - acrobatics: ["8M", "7M", "6M", "6L33", "5M", "5L39"], + acrobatics: ["8M", "7M", "6M", "6L33", "5M", "5L33"], aerialace: ["7M", "6M", "5M", "4M", "3M"], agility: ["8M"], aircutter: ["8L27", "7L19", "6L19", "5L27", "4T", "4L27", "3L35"], - airslash: ["8M", "8L62", "7L48", "7S1", "6L48", "5L57", "4L51", "4S0"], + airslash: ["8M", "8L62", "7L48", "7S1", "6L48", "5L52", "4L51", "4S0"], assurance: ["8M"], astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - bite: ["8L34", "7L1", "7V", "6L1", "5L13", "4L13", "3L16"], + bite: ["8L34", "7L1", "7V", "6L1", "5L12", "4L13", "3L16"], bravebird: ["8M"], captivate: ["4M"], confide: ["7M", "6M"], - confuseray: ["8L55", "7L17", "7V", "6L17", "5L21", "4L21", "3L28"], + confuseray: ["8L55", "7L17", "7V", "6L17", "5L19", "4L21", "3L28"], crosspoison: ["8M", "8L0", "7L1", "6L1", "5L1", "4L1"], crunch: ["8M"], curse: ["7V"], @@ -6113,7 +6203,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - haze: ["8L41", "7L40", "7V", "6L40", "5L51", "4L45", "3L56"], + haze: ["8L41", "7L40", "7V", "6L40", "5L47", "4L45", "3L56"], heatwave: ["8M", "7T", "6T", "5T", "4T", "4S0"], hex: ["8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -6127,7 +6217,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ominouswind: ["4T"], payback: ["8M", "7M", "6M", "5M", "4M"], pluck: ["5M", "4M"], - poisonfang: ["8L15", "7L27", "6L27", "5L45", "4L39", "3L49"], + poisonfang: ["8L15", "7L27", "6L27", "5L42", "4L39", "3L49"], protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], quickguard: ["8L20", "7L51", "6L51"], raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -6160,7 +6250,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { uturn: ["8M", "7M", "6M", "5M", "4M"], venomdrench: ["8M"], venoshock: ["8M", "8L48", "7M", "7L43", "6M", "6L43", "5M"], - wingattack: ["7L13", "7V", "6L13", "5L17", "4L17", "3L21"], + wingattack: ["7L13", "7V", "6L13", "5L15", "4L17", "3L21"], xscissor: ["8M", "7M", "6M", "5M", "4M"], zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], }, @@ -6171,73 +6261,79 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, oddish: { learnset: { - absorb: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], - acid: ["8L4", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L23", "3S0"], - afteryou: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + absorb: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + acid: ["9L4", "8L4", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L23", "3S0"], + acidspray: ["9M"], + afteryou: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bulletseed: ["8M", "4M", "3M"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], - charm: ["8M", "7E", "6E", "5E", "4E", "3E"], + charm: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], confide: ["7M", "6M"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], dazzlinggleam: ["8M", "8V", "7M", "6M"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gastroacid: ["7T", "6T", "5T", "4T"], - gigadrain: ["8M", "8L20", "7T", "7L31", "7V", "6T", "6L31", "5T", "5L37", "5D", "4M", "4L37", "3M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grassyglide: ["8T"], - grassyterrain: ["8M", "8L32", "7L47", "6L45"], - growth: ["8L1", "8V", "7L1"], + gigadrain: ["9M", "9L20", "8M", "8L20", "7T", "7L31", "7V", "6T", "6L31", "5T", "5L37", "5D", "4M", "4L37", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "9L32", "8M", "8L32", "7L47", "6L45"], + growth: ["9L1", "8L1", "8V", "7L1"], headbutt: ["8V"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], infestation: ["7M", "6M"], - ingrain: ["8E", "7E", "6E", "5E", "4E", "3E"], - leechseed: ["8E", "3S1"], + ingrain: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + leafstorm: ["9M"], + leechseed: ["9E", "8E", "3S1"], luckychant: ["7L23", "6L23", "5L25", "4L25"], - megadrain: ["8L12", "8V", "7L19", "7V", "6L19", "5L21", "4L21"], + magicalleaf: ["9M"], + megadrain: ["9L12", "8L12", "8V", "7L19", "7V", "6L19", "5L21", "4L21"], mimic: ["7V", "3T"], - moonblast: ["8L28", "8V", "7L43", "6L43"], - moonlight: ["8L36", "7L27", "7V", "6L27", "5L33", "4L33", "3L32"], + moonblast: ["9L28", "8L28", "8V", "7L43", "6L43"], + moonlight: ["9L36", "8L36", "7L27", "7V", "6L27", "5L33", "4L33", "3L32"], naturalgift: ["7L39", "6L29", "5L29", "4M", "4L29"], naturepower: ["8E", "7M", "7E", "6M", "6E", "5E"], - petaldance: ["8L40", "7L51", "7V", "6L41", "5L41", "4L41", "3L39"], - poisonpowder: ["8L14", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L14", "3S0"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + petaldance: ["9L40", "8L40", "7L51", "7V", "6L41", "5L41", "4L41", "3L39"], + poisonpowder: ["9L14", "8L14", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L14", "3S0"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - razorleaf: ["8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], + razorleaf: ["9E", "8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], - sleeppowder: ["8L18", "8V", "7L15", "7V", "6L15", "5L17", "4L17", "3L18", "3S0"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["9L18", "8L18", "8V", "7L15", "7V", "6L15", "5L17", "4L17", "3L18", "3S0"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - strengthsap: ["8E", "7E"], - stunspore: ["8L16", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L16", "3S0"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + strengthsap: ["9E", "8E", "7E"], + stunspore: ["9L16", "8L16", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L16", "3S0"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["8L8", "7L5", "7V", "6L5", "5L5", "5D", "4L5", "3L7"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], - synthesis: ["8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + sweetscent: ["9L8", "8L8", "7L5", "7V", "6L5", "5L5", "5D", "4L5", "3L7"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + synthesis: ["9E", "8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], takedown: ["7V"], - teeterdance: ["8E", "7E", "6E", "5E", "5D", "4E"], - tickle: ["8E", "7E", "6E", "5E", "4E"], - toxic: ["8L24", "8V", "7M", "7L35", "7V", "6M", "6L35", "5M", "4M", "3M"], - venoshock: ["8M", "7M", "6M", "5M"], + teeterdance: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + terablast: ["9M"], + tickle: ["9E", "8E", "7E", "6E", "5E", "4E"], + toxic: ["9M", "9L24", "8L24", "8V", "7M", "7L35", "7V", "6M", "6L35", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], worryseed: ["7T", "6T", "5T", "4T"], }, eventData: [ @@ -6250,14 +6346,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, gloom: { learnset: { - absorb: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - acid: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L24", "3S0"], + absorb: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + acid: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L24", "3S0"], + acidspray: ["9M"], afteryou: ["7T", "6T", "5T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bulletseed: ["8M", "4M", "3M"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], - charm: ["8M"], + charm: ["9M", "8M"], confide: ["7M", "6M"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], @@ -6265,55 +6362,61 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["8M", "7T", "6T", "5T", "4M"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], fling: ["8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gastroacid: ["7T", "6T", "5T", "4T"], - gigadrain: ["8M", "8L20", "7T", "7L34", "7V", "6T", "6L34", "5T", "5L47", "4M", "4L47", "3M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grassyglide: ["8T"], - grassyterrain: ["8M", "8L38", "7L54", "6L54"], - growth: ["8L1", "8V", "7L1"], + gigadrain: ["9M", "9L20", "8M", "8L20", "7T", "7L34", "7V", "6T", "6L34", "5T", "5L47", "4M", "4L47", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "9L38", "8M", "8L38", "7L54", "6L54"], + growth: ["9L1", "8L1", "8V", "7L1"], headbutt: ["8V"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], infestation: ["7M", "6M"], + leafstorm: ["9M"], luckychant: ["7L24", "6L24", "5L29", "4L29"], - megadrain: ["8L12", "8V", "7L19", "7V", "6L19", "5L23", "4L23"], + magicalleaf: ["9M"], + megadrain: ["9L12", "8L12", "8V", "7L19", "7V", "6L19", "5L23", "4L23"], mimic: ["7V", "3T"], - moonblast: ["8L32", "8V"], - moonlight: ["8L44", "7L29", "7V", "6L29", "5L41", "4L41", "3L35", "3S0"], + moonblast: ["9L32", "8L32", "8V"], + moonlight: ["9L44", "8L44", "7L29", "7V", "6L29", "5L41", "4L41", "3L35", "3S0"], naturalgift: ["7L44", "6L35", "5L35", "4M", "4L35"], naturepower: ["7M", "6M"], - petalblizzard: ["7L49", "6L49"], - petaldance: ["8L50", "7L59", "7V", "6L53", "5L53", "4L53", "3L44", "3S0"], - poisonpowder: ["8L14", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L1"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + petalblizzard: ["9M", "7L49", "6L49"], + petaldance: ["9L50", "8L50", "7L59", "7V", "6L53", "5L53", "4L53", "3L44", "3S0"], + poisonpowder: ["9L14", "8L14", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L1"], + pollenpuff: ["9M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], razorleaf: ["8V"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], - sleeppowder: ["8L18", "8V", "7L15", "7V", "6L15", "5L17", "4L17", "3L18", "3S0"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["9L18", "8L18", "8V", "7L15", "7V", "6L15", "5L17", "4L17", "3L18", "3S0"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - stunspore: ["8L16", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L16"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stunspore: ["9L16", "8L16", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L16"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], synthesis: ["7T", "6T", "5T", "4T"], takedown: ["7V"], - toxic: ["8L26", "8V", "7M", "7L39", "7V", "6M", "6L39", "5M", "4M", "3M"], - venoshock: ["8M", "7M", "6M", "5M"], + terablast: ["9M"], + toxic: ["9M", "9L26", "8L26", "8V", "7M", "7L39", "7V", "6M", "6L39", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], worryseed: ["7T", "6T", "5T", "4T"], }, eventData: [ @@ -6327,150 +6430,167 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, vileplume: { learnset: { - absorb: ["8L1", "8V", "7V", "3L1"], - acid: ["8L1", "8V", "7V"], + absorb: ["9L1", "8L1", "8V", "7V", "3L1"], + acid: ["9L1", "8L1", "8V", "7V"], + acidspray: ["9M"], afteryou: ["7T", "6T", "5T"], aromatherapy: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bodyslam: ["8M", "7V", "3T"], - bulletseed: ["8M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], - charm: ["8M"], + charm: ["9M", "8M"], confide: ["7M", "6M"], corrosivegas: ["8T"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], - dazzlinggleam: ["8M", "8V", "7M", "6M"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["8M", "7T", "6T", "5T", "4M"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gastroacid: ["7T", "6T", "5T", "4T"], - gigadrain: ["8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grassyglide: ["8T"], - grassyterrain: ["8M", "8L1"], - growth: ["8L1", "8V"], + gigadrain: ["9M", "9L1", "8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "9L1", "8M", "8L1"], + growth: ["9L1", "8L1", "8V"], headbutt: ["8V"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], infestation: ["7M", "6M"], - megadrain: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + leafstorm: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], mimic: ["7V", "3T"], - moonblast: ["8L1"], - moonlight: ["8L1"], + moonblast: ["9L1", "8L1"], + moonlight: ["9L1", "8L1"], naturalgift: ["4M"], naturepower: ["7M", "6M"], - petalblizzard: ["8L0", "7L49", "6L49"], - petaldance: ["8L1", "8V", "7L59", "7V", "6L53", "5L53", "4L53", "3L44"], - poisonpowder: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], - pollenpuff: ["8M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + petalblizzard: ["9M", "9L0", "8L0", "7L49", "6L49"], + petaldance: ["9L1", "8L1", "8V", "7L59", "7V", "6L53", "5L53", "4L53", "3L44"], + poisonpowder: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], + pollenpuff: ["9M", "8M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], - sleeppowder: ["8L1", "7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["9L1", "8L1", "7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M", "8M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8V", "7M", "7L69", "7V", "6M", "6L64", "5M", "5L65", "4M", "4L65", "3M"], - stunspore: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "8V", "7M", "7L69", "7V", "6M", "6L64", "5M", "5L65", "4M", "4L65", "3M"], + solarblade: ["9M"], + stunspore: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["8L1", "7V"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["9L1", "8L1", "7V"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], synthesis: ["7T", "6T", "5T", "4T"], takedown: ["7V"], - toxic: ["8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - venoshock: ["8M", "7M", "6M", "5M"], + terablast: ["9M"], + toxic: ["9M", "9L1", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + weatherball: ["9M"], worryseed: ["7T", "6T", "5T", "4T"], }, }, bellossom: { learnset: { - absorb: ["8L1", "7V", "3L1"], - acid: ["8L1"], + absorb: ["9L1", "8L1", "7V", "3L1"], + acid: ["9L1", "8L1"], + acidspray: ["9M"], afteryou: ["7T", "6T", "5T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - batonpass: ["8M"], - bulletseed: ["8M", "4M", "3M"], + batonpass: ["9M", "8M"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], - charm: ["8M"], + charm: ["9M", "8M"], confide: ["7M", "6M"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], - dazzlinggleam: ["8M", "7M", "6M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drainpunch: ["8M", "7T", "6T", "5T", "4M"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gastroacid: ["7T", "6T", "5T", "4T"], - gigadrain: ["8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grassyglide: ["8T"], - grassyterrain: ["8M", "8L1"], - growth: ["8L1"], - helpinghand: ["8M"], + gigadrain: ["9M", "9L1", "8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "9L1", "8M", "8L1"], + growth: ["9L1", "8L1"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], infestation: ["7M", "6M"], laserfocus: ["7T"], leafblade: ["8M", "7L1", "6L1", "5L1", "4L1"], - leafstorm: ["8M", "7L1", "6L1", "5L53", "4L53"], - magicalleaf: ["8M", "7L1", "6L23", "5L23", "4L23", "3L1"], - megadrain: ["8L1", "7L1", "6L1", "5L1", "4L1"], + leafstorm: ["9M", "8M", "7L1", "6L1", "5L53", "4L53"], + magicalleaf: ["9M", "8M", "7L1", "6L23", "5L23", "4L23", "3L1"], + megadrain: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], mimic: ["3T"], - moonblast: ["8L1"], - moonlight: ["8L1"], + moonblast: ["9L1", "8L1"], + moonlight: ["9L1", "8L1"], naturalgift: ["4M"], naturepower: ["7M", "6M"], - petalblizzard: ["8L0", "7L49", "6L49"], - petaldance: ["8L1", "7L59", "7V", "3L44"], - playrough: ["8M"], - poisonpowder: ["8L1"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - quiverdance: ["8L1", "7L39"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + petalblizzard: ["9M", "9L0", "8L0", "7L49", "6L49"], + petaldance: ["9L1", "8L1", "7L59", "7V", "3L44"], + playrough: ["9M", "8M"], + poisonpowder: ["9L1", "8L1"], + pollenpuff: ["9M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quiverdance: ["9L1", "8L1", "7L39"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], - sleeppowder: ["8L1"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["9L1", "8L1"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M", "3L55"], - stunspore: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M"], + solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M", "3L55"], + solarblade: ["9M"], + stunspore: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + sweetscent: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], synthesis: ["7T", "6T", "5T", "4T"], - toxic: ["8L1", "7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "6T", "5T", "4T"], - venoshock: ["8M", "7M", "6M", "5M"], + terablast: ["9M"], + toxic: ["9M", "9L1", "8L1", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + tripleaxel: ["9M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + weatherball: ["9M"], worryseed: ["7T", "6T", "5T", "4T"], }, }, @@ -6676,6 +6796,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { disable: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], energyball: ["9M"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -6699,6 +6820,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L17", "8V", "7L17", "7V", "6L25", "5L25", "4L25", "3L33"], psychic: ["9M", "9L47", "8V", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L47", "4M", "4L47", "3M", "3L41"], + psychicnoise: ["9M"], psywave: ["7V"], rage: ["7V"], ragepowder: ["9E", "7E", "6E", "5E"], @@ -6710,6 +6832,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], signalbeam: ["7T", "7L25", "7E", "6T", "6L35", "6E", "5T", "5L35", "5E", "4T", "4L35", "4E", "3E"], skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + skittersmack: ["9M"], sleeppowder: ["9L29", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L36"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -6757,9 +6880,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], defog: ["7T", "4M"], disable: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["8V"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -6786,6 +6910,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L17", "8V", "7L17", "7V", "6L25", "5L25", "4L25", "3L36"], psychic: ["9M", "9L55", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L55", "3M", "3L52", "3S0"], + psychicnoise: ["9M"], psywave: ["7V"], quiverdance: ["9L1", "8V", "7L1", "6L1", "5L63"], rage: ["7V"], @@ -6801,9 +6926,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T", "7L25", "6T", "6L37", "5T", "5L37", "4T", "4L37"], silverwind: ["7L1", "6L1", "5L1", "4M", "4L1", "3L1", "3S0"], skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["9M"], sleeppowder: ["9L29", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L42"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], stringshot: ["4T"], @@ -6855,14 +6982,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], charm: ["9M"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], dig: ["9M", "9L32", "8M", "8L32", "8V", "7L31", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L18", "3M", "3L17"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "9L36", "8M", "8L36", "7T", "7L28", "6T", "6L29", "5T", "5L29", "4T", "4L26"], earthquake: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L39", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L37", "3M", "3L41"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], @@ -6897,7 +7025,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], sandstorm: ["9M", "9L28", "8M", "8L28", "7M", "6M", "5M", "4M"], sandtomb: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], secretpower: ["6M", "4M", "3M"], @@ -6918,6 +7046,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M", "7V"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], uproar: ["9M", "8M", "7E", "6E", "5T", "5E", "4E", "3E"], workup: ["8M"], @@ -6965,7 +7094,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magnitude: ["7L14"], memento: ["9E", "8E", "7E"], metalclaw: ["9M", "9L1", "8L1", "7L1", "7S0"], - metalsound: ["9E", "8E", "7E"], + metalsound: ["9M", "9E", "8E", "7E"], mudbomb: ["7L25"], mudshot: ["9M"], mudslap: ["9M", "9L12", "8L12", "7L10", "7S0"], @@ -6982,7 +7111,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "9L28", "8M", "8L28", "7M"], sandtomb: ["9M"], scaryface: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], scratch: ["8V"], screech: ["8M"], shadowclaw: ["9M", "8M", "7M"], @@ -7027,14 +7156,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], charm: ["9M", "3S0"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], dig: ["9M", "9L36", "8M", "8L36", "8V", "7L35", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L18", "3M", "3L17"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "9L42", "8M", "8L42", "7T", "7L30", "6T", "6L33", "5T", "5L33", "4T", "4L28"], earthquake: ["9M", "9L48", "8M", "8L48", "8V", "7M", "7L47", "7V", "6M", "6L50", "5M", "5L50", "4M", "4L45", "3M", "3L51", "3S0"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fissure: ["9L54", "8L54", "8V", "7L53", "7V", "6L57", "5L57", "4L50", "3L64"], @@ -7071,7 +7201,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "9L30", "8M", "8L30", "7M", "6M", "5M", "4M", "3S0"], sandtomb: ["9M", "9L0", "8M", "8L0", "7L1", "6L26", "5L26", "4L26", "3L26"], scaryface: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], screech: ["8M", "8V"], secretpower: ["6M", "4M", "3M"], @@ -7079,7 +7209,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slash: ["9L24", "8L24", "8V", "7L41", "7V", "6L45", "5L45", "4L40", "3L38"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], smackdown: ["9M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], @@ -7093,6 +7223,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M", "7V"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], triattack: ["9L1", "8M", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], uproar: ["9M", "8M", "5T"], @@ -7120,11 +7251,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "9L16", "8M", "8L16", "7M", "7L18"], charm: ["9M"], confide: ["7M"], + curse: ["9M"], dig: ["9M", "9L36", "8M", "8L36", "8V", "7L35"], + doubleedge: ["9M"], doubleteam: ["7M"], earthpower: ["9M", "9L42", "8M", "8L42", "7T", "7L30"], earthquake: ["9M", "9L48", "8M", "8L48", "8V", "7M", "7L47"], echoedvoice: ["7M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "8V", "7M"], fissure: ["9L54", "8L54", "8V", "7L53"], @@ -7143,6 +7277,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M", "9L24", "8M", "8L24", "7T", "7L41"], magnitude: ["7L14"], metalclaw: ["9M", "9L1", "8L1", "7L1"], + metalsound: ["9M"], mudbomb: ["7L25"], mudshot: ["9M"], mudslap: ["9M", "9L12", "8L12", "7L10"], @@ -7160,14 +7295,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "9L30", "8M", "8L30", "7M"], sandtomb: ["9M", "9L0", "8M", "8L0", "7L1"], scaryface: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], scratch: ["8V"], screech: ["8M", "8V"], shadowclaw: ["9M", "8M", "7M"], slash: ["8V"], sleeptalk: ["9M", "8M", "7M"], sludgebomb: ["9M", "8M", "8V", "7M"], - sludgewave: ["8M", "7M"], + sludgewave: ["9M", "8M", "7M"], smackdown: ["9M"], snore: ["8M", "7T"], stealthrock: ["9M", "8V", "7T"], @@ -7182,6 +7317,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M"], + throatchop: ["9M"], toxic: ["8V", "7M"], triattack: ["9L1", "8M", "8L1", "8V", "7L1"], uproar: ["9M", "8M"], @@ -7211,10 +7347,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { defensecurl: ["7V", "3T"], detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fakeout: ["9L1", "8L1", "8V", "7L9", "6L9", "6S7", "5L9", "4L9", "4S4", "4S5", "3L43"], @@ -7249,13 +7386,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7V", "3T"], nightslash: ["7L49", "6L49", "5L49", "4L49"], odorsleuth: ["7E", "6E", "5E", "4E"], + painsplit: ["9M"], payback: ["8M", "7M", "6M", "5M", "4M"], payday: ["9L12", "8M", "8L12", "8V", "7L30", "7V", "6L30", "5L30", "4L30", "4S5", "3L18", "3S3"], petaldance: ["3S0"], playrough: ["9M", "9L44", "8M", "8L44", "8V"], powergem: ["9M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], punishment: ["7E", "6E", "5E", "4E"], rage: ["7V"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -7287,7 +7425,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderwave: ["9M"], @@ -7332,12 +7470,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M"], confuseray: ["9M"], covet: ["9E", "8E", "7T", "7E"], + curse: ["9M"], darkpulse: ["9M", "8M", "8V", "7M", "7L55"], dig: ["9M", "8M"], + doubleedge: ["9M"], doubleteam: ["7M"], dreameater: ["8V", "7M"], echoedvoice: ["7M"], embargo: ["7M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "8V", "7M"], fakeout: ["9L1", "8L1", "8V", "7L9"], @@ -7370,7 +7511,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { playrough: ["9M", "9L44", "8M", "8L44", "8V"], powergem: ["9M"], protect: ["9M", "8M", "8V", "7M"], - psychup: ["7M"], + psychup: ["9M", "7M"], punishment: ["7E"], quash: ["7M"], raindance: ["9M", "8M", "7M"], @@ -7398,7 +7539,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25"], terablast: ["9M"], thief: ["9M", "8M", "7M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunder: ["9M", "8M", "8V", "7M"], thunderbolt: ["9M", "8M", "8V", "7M"], thunderwave: ["9M"], @@ -7422,10 +7563,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M"], covet: ["9E", "8E"], crunch: ["9M", "8M"], - curse: ["9E", "8E"], + curse: ["9M", "9E", "8E"], darkpulse: ["9M", "8M"], dig: ["9M", "8M"], - doubleedge: ["9E", "8E"], + doubleedge: ["9M", "9E", "8E"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], fakeout: ["9L1", "8L1", "8S0"], @@ -7448,7 +7590,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { knockoff: ["9M"], lashout: ["9M", "8T"], metalclaw: ["9M", "9L16", "8L16"], - metalsound: ["9L40", "8L40"], + metalsound: ["9M", "9L40", "8L40"], metronome: ["9M"], nastyplot: ["9M", "8M"], nightslash: ["9E", "8E"], @@ -7480,7 +7622,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M"], thrash: ["9L44", "8L44"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunder: ["9M", "8M"], thunderbolt: ["9M", "8M"], trailblaze: ["9M"], @@ -7515,11 +7657,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { defensecurl: ["7V", "3T"], detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], echoedvoice: ["7M", "6M", "5M"], embargo: ["7M", "6M", "5M", "4M"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fakeout: ["9L1", "8L1", "8V", "7L1", "6L1", "5L1", "4L1", "3L55"], @@ -7553,12 +7696,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightmare: ["7V", "3T"], nightslash: ["7L61", "6L61", "5L61", "4L61"], + painsplit: ["9M"], payback: ["8M", "7M", "6M", "5M", "4M"], payday: ["9L12", "8M", "8L12", "8V", "7V", "3L18"], playrough: ["9M", "9L54", "8M", "8L54", "8V", "7L1", "6L1"], powergem: ["9M", "9L0", "8M", "8L0", "7L32", "6L32", "5L32", "4L32"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], rage: ["7V"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -7573,7 +7717,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], skullbash: ["7V"], slash: ["9L42", "8L42", "8V", "7L37", "7V", "6L37", "5L37", "4L37", "3L49"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], @@ -7590,7 +7734,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderwave: ["9M"], @@ -7626,12 +7770,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M"], confuseray: ["9M"], covet: ["7T"], + curse: ["9M"], darkpulse: ["9M", "8M", "8V", "7M", "7L69"], dig: ["9M", "8M"], + doubleedge: ["9M"], doubleteam: ["7M"], dreameater: ["8V", "7M"], echoedvoice: ["7M"], embargo: ["7M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "8V", "7M"], fakeout: ["9L1", "8L1", "8V", "7L1"], @@ -7663,7 +7810,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { playrough: ["9M", "9L54", "8M", "8L54", "8V", "7L1"], powergem: ["9M", "9L0", "8M", "8L0", "7L32"], protect: ["9M", "8M", "8V", "7M"], - psychup: ["7M"], + psychup: ["9M", "7M"], quash: ["9L1", "8L1", "7M", "7L1"], raindance: ["9M", "8M", "7M"], rest: ["9M", "8M", "8V", "7M"], @@ -7677,7 +7824,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M", "8V", "7M"], shadowclaw: ["9M", "8M", "7M"], shockwave: ["7T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], slash: ["8V", "7L37"], sleeptalk: ["9M", "8M", "7M"], smackdown: ["9M"], @@ -7694,7 +7841,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25"], terablast: ["9M"], thief: ["9M", "8M", "7M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunder: ["9M", "8M", "8V", "7M"], thunderbolt: ["9M", "8M", "8V", "7M"], thunderwave: ["9M"], @@ -7720,8 +7867,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], closecombat: ["9M", "8M"], crunch: ["9M", "8M"], + curse: ["9M"], darkpulse: ["9M", "8M"], dig: ["9M", "8M"], + doubleedge: ["9M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], fakeout: ["9L1", "8L1"], @@ -7747,7 +7897,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lashout: ["9M", "8T"], metalburst: ["9L1", "8L1"], metalclaw: ["9M", "9L16", "8L16"], - metalsound: ["9L48", "8L48"], + metalsound: ["9M", "9L48", "8L48"], metronome: ["9M"], nastyplot: ["9M", "8M"], payback: ["8M"], @@ -7778,7 +7928,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M"], thrash: ["9L54", "8L54"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunder: ["9M", "8M"], thunderbolt: ["9M", "8M"], trailblaze: ["9M"], @@ -7791,7 +7941,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psyduck: { learnset: { aerialace: ["7M", "6M", "5M", "4M", "3M"], - amnesia: ["9M", "9L34", "8M", "8L34", "8V", "7L37", "6L43", "5L48", "4L44"], + amnesia: ["9M", "9L34", "8M", "8L34", "8V", "7L37", "6L43", "5L43", "4L44"], aquatail: ["9L24", "8L24", "7T", "7L28", "6T", "6L29", "5T", "5L32", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], @@ -7806,17 +7956,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { clearsmog: ["9E", "8E", "7E", "6E"], confide: ["7M", "6M"], confuseray: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], - confusion: ["9L6", "8L6", "8V", "7L10", "7V", "6L11", "5L18", "4L18", "3L16", "3S0"], + confusion: ["9L6", "8L6", "8V", "7L10", "7V", "6L11", "5L15", "4L18", "3L16", "3S0"], counter: ["7V", "3T"], crosschop: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], curse: ["7V"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], - disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L11", "5L14", "4L14", "3L10", "3S0"], + disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L11", "5L11", "4L14", "3L10", "3S0"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], encore: ["9M", "8M", "7E", "6E", "5E", "5D", "4E"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], @@ -7825,7 +7976,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M", "3M"], foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - furyswipes: ["9L9", "8L9", "8V", "7L13", "7V", "6L15", "5L27", "4L27", "3L40"], + furyswipes: ["9L9", "8L9", "8V", "7L13", "7V", "6L15", "5L22", "4L27", "3L40"], futuresight: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], haze: ["9M"], @@ -7833,7 +7984,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hydropump: ["9M", "8M", "8L36", "8V", "7L40", "7V", "6L46", "5L53", "4L48", "3L50"], + hydropump: ["9M", "8M", "8L36", "8V", "7L40", "7V", "6L46", "5L46", "4L48", "3L50"], hypnosis: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -7849,6 +8000,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { metronome: ["9M"], mimic: ["7V", "3T"], mudbomb: ["7E", "6E", "5E", "4E"], + muddywater: ["9M"], mudshot: ["9M"], mudslap: ["7V", "4T", "3T"], mudsport: ["3S1"], @@ -7859,7 +8011,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9E", "8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3E"], - psychup: ["9L30", "8L30", "7M", "7L34", "7V", "6M", "6L39", "5M", "5L40", "4M", "4L35", "3T", "3L31"], + psychicnoise: ["9M"], + psychup: ["9M", "9L30", "8L30", "7M", "7L34", "7V", "6M", "6L39", "5M", "5L39", "4M", "4L35", "3T", "3L31"], psyshock: ["9M", "8M", "7M", "6M", "5M"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -7871,7 +8024,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], scald: ["8M", "8V", "7M", "6M", "5M"], scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], - screech: ["9L21", "8M", "8L21", "8V", "7L22", "7V", "6L25", "5L31", "4L31", "3L23", "3S0"], + screech: ["9L21", "8M", "8L21", "8V", "7L22", "7V", "6L25", "5L25", "4L31", "3L23", "3S0"], secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -7889,7 +8042,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swift: ["9M", "8M", "7V", "4T", "3T"], synchronoise: ["7E", "6E", "5E"], - tailwhip: ["9L1", "8L1", "8V", "7L4", "7V", "6L4", "5L5", "4L5", "3L5", "3S0", "3S1"], + tailwhip: ["9L1", "8L1", "8V", "7L4", "7V", "6L4", "5L4", "4L5", "3L5", "3S0", "3S1"], takedown: ["9M", "7V"], taunt: ["9M"], telekinesis: ["7T", "5M"], @@ -7899,14 +8052,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], vacuumwave: ["9M"], waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["9L3", "8L3", "8V", "7L7", "7V", "6L8", "5L9", "4L9"], - waterpulse: ["9M", "9L12", "8L12", "7T", "7L16", "6T", "6L18", "5L22", "4M", "4L22", "3M"], + watergun: ["9L3", "8L3", "8V", "7L7", "7V", "6L8", "5L8", "4L9"], + waterpulse: ["9M", "9L12", "8L12", "7T", "7L16", "6T", "6L18", "5L18", "4M", "4L22", "3M"], watersport: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S1"], - whirlpool: ["8M", "7V", "4M"], - wonderroom: ["9L39", "8M", "8L39", "7T", "7L43", "6T", "6L50", "5T", "5L57"], + whirlpool: ["9M", "8M", "7V", "4M"], + wonderroom: ["9L39", "8M", "8L39", "7T", "7L43", "6T", "6L50", "5T", "5L50"], worryseed: ["7T", "6T", "5T", "4T"], yawn: ["9E", "8E", "7E", "6E", "5E", "4E"], - zenheadbutt: ["9M", "9L18", "8M", "8L18", "7T", "7L25", "6T", "6L29", "5T", "5L44", "4T", "4L40"], + zenheadbutt: ["9M", "9L18", "8M", "8L18", "7T", "7L25", "6T", "6L29", "5T", "5L29", "4T", "4L40"], }, eventData: [ {generation: 3, level: 27, gender: "M", nature: "Lax", ivs: {hp: 31, atk: 16, def: 12, spa: 29, spd: 31, spe: 14}, abilities: ["damp"], moves: ["tailwhip", "confusion", "disable", "screech"], pokeball: "pokeball"}, @@ -7919,7 +8072,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { golduck: { learnset: { aerialace: ["7M", "6M", "5M", "4M", "3M"], - amnesia: ["9M", "9L36", "8M", "8L36", "8V", "7L41", "6L49", "5L56", "4L50"], + amnesia: ["9M", "9L36", "8M", "8L36", "8V", "7L41", "6L49", "5L49", "4L50"], aquajet: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], aquatail: ["9L24", "8L24", "7T", "7L28", "6T", "6L32", "5T", "5L32", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -7935,16 +8088,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], confuseray: ["9M"], - confusion: ["9L1", "8L1", "8V", "7L10", "7V", "6L11", "5L18", "4L18", "3L16"], + confusion: ["9L1", "8L1", "8V", "7L10", "7V", "6L11", "5L15", "4L18", "3L16"], counter: ["7V", "3T"], curse: ["7V"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], - disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L11", "5L14", "4L14", "3L1"], + disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L11", "5L11", "4L14", "3L1"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], encore: ["9M", "8M", "8V", "7S1"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], @@ -7954,8 +8108,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - furyswipes: ["9L9", "8L9", "8V", "7L13", "7V", "6L15", "5L27", "4L27", "3L44"], - futuresight: ["8M"], + furyswipes: ["9L9", "8L9", "8V", "7L13", "7V", "6L15", "5L22", "4L27", "3L44"], + futuresight: ["9M", "8M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -7964,7 +8118,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hydropump: ["9M", "9L40", "8M", "8L40", "8V", "7L46", "7V", "7S1", "6L54", "5L63", "4L56", "3L58"], + hydropump: ["9M", "9L40", "8M", "8L40", "8V", "7L46", "7V", "7S1", "6L54", "5L54", "4L56", "3L58"], hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -7981,7 +8135,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megapunch: ["8M", "7V", "3T"], metronome: ["9M"], mimic: ["7V", "3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M"], mudslap: ["7V", "4T", "3T"], nastyplot: ["9M"], @@ -7992,7 +8146,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "8V", "7M", "7V", "7S1", "6M", "5M", "4M", "3M"], psybeam: ["9M", "8V"], psychic: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], - psychup: ["9L30", "8L30", "7M", "7L36", "7V", "6M", "6L43", "5M", "5L44", "4M", "4L37", "3T", "3L31", "3S0"], + psychicnoise: ["9M"], + psychup: ["9M", "9L30", "8L30", "7M", "7L36", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L37", "3T", "3L31", "3S0"], psyshock: ["9M", "8M", "7M", "6M", "5M"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -8004,7 +8159,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], scald: ["8M", "8V", "7M", "7S1", "6M", "5M"], scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - screech: ["9L21", "8M", "8L21", "8V", "7L22", "7V", "6L25", "5L31", "4L31", "3L23"], + screech: ["9L21", "8M", "8L21", "8V", "7L22", "7V", "6L25", "5L25", "4L31", "3L23"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -8031,13 +8186,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { vacuumwave: ["9M"], waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], watergun: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], - waterpulse: ["9M", "9L12", "8L12", "7T", "7L16", "6T", "6L18", "5L22", "4M", "4L22", "3M"], + waterpulse: ["9M", "9L12", "8L12", "7T", "7L16", "6T", "6L18", "5L18", "4M", "4L22", "3M"], watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], - whirlpool: ["8M", "7V", "4M"], - wonderroom: ["9L45", "8M", "8L45", "7T", "7L51", "6T", "6L60", "5T", "5L69"], + whirlpool: ["9M", "8M", "7V", "4M"], + wonderroom: ["9L45", "8M", "8L45", "7T", "7L51", "6T", "6L60", "5T", "5L60"], worryseed: ["7T", "6T", "5T", "4T"], yawn: ["8V"], - zenheadbutt: ["9M", "9L18", "8M", "8L18", "7T", "7L25", "6T", "6L25", "5T", "5L50", "4T", "4L44"], + zenheadbutt: ["9M", "9L18", "8M", "8L18", "7T", "7L25", "6T", "6L25", "5T", "5L29", "4T", "4L44"], }, eventData: [ {generation: 3, level: 33, moves: ["charm", "waterfall", "psychup", "brickbreak"]}, @@ -8068,18 +8223,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], covet: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1"], crosschop: ["9L22", "7L22", "7V", "6L37", "5L37", "4L37", "3L31"], - curse: ["9E", "7V"], + curse: ["9M", "9E", "7V"], defensecurl: ["7V", "3T"], detect: ["7V"], dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dualchop: ["7T", "6T", "5T"], dynamicpunch: ["7V", "3T"], earthquake: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], encore: ["9M", "9E", "7E", "6E", "5E", "4E"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], finalgambit: ["9L48", "7L50", "6L53", "5L53"], @@ -8161,6 +8316,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], thrash: ["9L29", "8V", "7L33", "7V", "6L41", "5L41", "4L41", "3L46"], + throatchop: ["9M"], thunder: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "8V", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], @@ -8192,18 +8348,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["8V", "7V", "3T"], covet: ["7T", "6T", "5T"], crosschop: ["9L22", "7L22", "7V", "6L41", "5L41", "4L41", "3L35", "3S0"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["7V", "3T"], detect: ["7V"], dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dualchop: ["7T", "6T", "5T"], dynamicpunch: ["7V", "3T"], earthquake: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], encore: ["9M", "8V"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], finalgambit: ["9L57", "7L1", "6L1", "5L63"], @@ -8283,7 +8439,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], thrash: ["9L30", "8V", "7L35", "7V", "6L47", "5L47", "4L47", "3L62"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunder: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -8310,12 +8466,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M"], bulldoze: ["9M"], closecombat: ["9M", "9L39"], + coaching: ["9M"], counter: ["9L1"], crosschop: ["9L22"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], drainpunch: ["9M"], earthquake: ["9M"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], finalgambit: ["9L57"], @@ -8370,6 +8530,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M"], thrash: ["9L30"], + throatchop: ["9M"], thunder: ["9M"], thunderbolt: ["9M"], thunderpunch: ["9M"], @@ -8381,7 +8542,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { growlithe: { learnset: { aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["9M", "9L20", "8M", "8L20", "8V", "7L30", "7V", "6L30", "5L42", "4L39", "3L43"], + agility: ["9M", "9L20", "8M", "8L20", "8V", "7L30", "7V", "6L30", "5L30", "4L39", "3L43"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], bite: ["9L8", "8L8", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S1", "3S2"], @@ -8392,10 +8553,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "8M", "7E", "6E", "5E"], confide: ["7M", "6M"], covet: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], - crunch: ["9M", "9L32", "8M", "8L32", "8V", "7L39", "7E", "7V", "6L39", "6E", "5L45", "5E", "4L42", "4E", "3E"], - curse: ["7V"], + crunch: ["9M", "9L32", "8M", "8L32", "8V", "7L39", "7E", "7V", "6L39", "6E", "5L39", "5E", "4L42", "4E", "3E"], + curse: ["9M", "7V"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T"], + doubleedge: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T"], doublekick: ["9E", "8E", "7E", "6E", "5E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["7V"], @@ -8404,27 +8565,27 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["9M", "8M", "7V", "5D", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - firefang: ["9M", "9L24", "8M", "8L24", "7L21", "6L21", "5L28", "4L28"], + firefang: ["9M", "9L24", "8M", "8L24", "7L21", "6L21", "5L21", "4L28"], firespin: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], - flameburst: ["7L28", "6L28", "5L31"], + flameburst: ["7L28", "6L28", "5L28"], flamecharge: ["9M", "7M", "6M", "5M"], - flamethrower: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L39", "4M", "4L34", "3M", "3L49", "3S2"], - flamewheel: ["9L12", "8L12", "7L17", "7V", "6L17", "5L20", "4L20", "3L31", "3S0"], - flareblitz: ["9M", "9L56", "8M", "8L56", "8V", "7L45", "7E", "6L45", "6E", "5L56", "5E", "4L48", "4E"], + flamethrower: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L34", "3M", "3L49", "3S2"], + flamewheel: ["9L12", "8L12", "7L17", "7V", "6L17", "5L17", "4L20", "3L31", "3S0"], + flareblitz: ["9M", "9L56", "8M", "8L56", "8V", "7L45", "7E", "6L45", "6E", "5L45", "5E", "4L48", "4E"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], headbutt: ["8V", "7V", "4T"], - heatwave: ["9M", "8M", "8V", "7T", "7L41", "7E", "6T", "6L41", "6E", "5T", "5L51", "5E", "4T", "4L45", "4E", "3E"], - helpinghand: ["9M", "9L16", "8M", "8L16", "8V", "7T", "7L12", "6T", "6L12", "5T", "5L17", "4T", "4L17", "3L37"], + heatwave: ["9M", "8M", "8V", "7T", "7L41", "7E", "6T", "6L41", "6E", "5T", "5L41", "5E", "4T", "4L45", "4E", "3E"], + helpinghand: ["9M", "9L16", "8M", "8L16", "8V", "7T", "7L12", "6T", "6L12", "5T", "5L12", "4T", "4L17", "3L37"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], howl: ["9L4", "8L4", "7E", "6E", "5E", "4E", "3E"], incinerate: ["6M", "5M"], irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], - leer: ["9L1", "8L1", "8V", "7L8", "7V", "6L8", "5L9", "4L9", "3L13", "3S0"], + leer: ["9L1", "8L1", "8V", "7L8", "7V", "6L8", "5L8", "4L9", "3L13", "3S0"], mimic: ["7V", "3T"], morningsun: ["9E", "8E", "7E", "6E", "5E", "4E"], mudslap: ["4T"], naturalgift: ["4M"], - odorsleuth: ["7L10", "6L10", "5L14", "4L14", "3L19", "3S0"], + odorsleuth: ["7L10", "6L10", "5L10", "4L14", "3L19", "3S0"], outrage: ["9M", "8M", "8V", "7T", "7L43", "6T", "6L43", "5T", "5L43"], overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], playrough: ["9M", "9L48", "8M", "8L48", "8V"], @@ -8434,9 +8595,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { ragingfury: ["9E"], reflect: ["8V", "7V"], rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - retaliate: ["9L28", "8M", "8L28", "7L32", "6M", "6L32", "5M", "5L48"], + retaliate: ["9L28", "8M", "8L28", "7L32", "6M", "6L32", "5M", "5L32"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - reversal: ["9M", "9L52", "8M", "8L52", "7L19", "6L19", "5L25", "4L25"], + reversal: ["9M", "9L52", "8M", "8L52", "7L19", "6L19", "5L19", "4L25"], roar: ["9M", "9L44", "8L44", "8V", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "5D", "4M", "4L1", "3M", "3L1", "3S1"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], @@ -8452,7 +8613,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swift: ["9M", "8M", "7V", "4T", "3T"], - takedown: ["9M", "9L36", "8L36", "8V", "7L23", "7V", "6L23", "5L34", "4L31", "3L25", "3S0", "3S2"], + takedown: ["9M", "9L36", "8L36", "8V", "7L23", "7V", "6L23", "5L23", "4L31", "3L25", "3S0", "3S2"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], thrash: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], @@ -8479,7 +8641,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["9E"], crunch: ["9M", "9L32"], dig: ["9M"], - doubleedge: ["9E"], + doubleedge: ["9M", "9E"], doublekick: ["9E"], ember: ["9L1", "9S0"], endure: ["9M"], @@ -8511,6 +8673,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M"], sandstorm: ["9M"], scaryface: ["9M"], + scorchingsands: ["9M"], sleeptalk: ["9M"], smackdown: ["9M"], smartstrike: ["9M"], @@ -8519,6 +8682,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M"], sunnyday: ["9M"], takedown: ["9M", "9L36"], + temperflare: ["9M"], terablast: ["9M"], thrash: ["9E"], thunderfang: ["9M"], @@ -8545,16 +8709,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], crunch: ["9M", "9L1", "8M", "8L1", "4S0"], - curse: ["7V"], + curse: ["9M", "7V"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["8V", "7V", "3T"], + doubleedge: ["9M", "8V", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["7V"], dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], dragonrage: ["7V"], ember: ["9L1", "8L1", "8V", "7V", "3L1"], endure: ["9M", "8M", "7V", "4M", "3T"], - extremespeed: ["9L0", "9S2", "8L0", "7L34", "7V", "7S1", "6L34", "5L39", "4L39", "4S0", "3L49"], + extremespeed: ["9L0", "9S2", "8L0", "7L34", "7V", "7S1", "6L34", "5L34", "4L39", "4S0", "3L49"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], firefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], @@ -8599,7 +8763,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], scaryface: ["9M", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], skullbash: ["7V"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], @@ -8614,6 +8778,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "7V", "4T", "3T"], takedown: ["9M", "9L1", "8L1", "7V"], teleport: ["8V", "7V"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], thunderfang: ["9M", "8M", "7L1", "6L1", "5L1", "4L1", "4S0"], @@ -8637,6 +8802,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M"], crunch: ["9M", "9L1"], dig: ["9M"], + doubleedge: ["9M"], dragonpulse: ["9M"], ember: ["9L1"], endure: ["9M"], @@ -8674,6 +8840,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M"], sandstorm: ["9M"], scaryface: ["9M"], + scorchingsands: ["9M"], sleeptalk: ["9M"], smackdown: ["9M"], smartstrike: ["9M"], @@ -8684,6 +8851,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M"], sunnyday: ["9M"], takedown: ["9M", "9L1"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], thunderfang: ["9M"], @@ -8709,12 +8877,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { defensecurl: ["7V", "3T"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L54", "8L54", "7V", "3T"], + doubleedge: ["9M", "9L54", "8L54", "7V", "3T"], doubleslap: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L19"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "9L36", "8M", "8L36"], encore: ["9M", "8M", "7E", "6E", "5E", "4E"], - endeavor: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + endeavor: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], focuspunch: ["9M"], @@ -8735,7 +8903,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mindreader: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], mist: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], mudbomb: ["7L41", "6L41", "5L41", "4L41"], - muddywater: ["9E", "8M"], + muddywater: ["9M", "9E", "8M"], mudshot: ["9M", "9L12", "8M", "8L12", "7L28", "7E", "6L28", "6E", "5L28", "5E", "4L28", "4E"], mudslap: ["9M"], naturalgift: ["4M"], @@ -8770,7 +8938,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], watersport: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E", "3E"], weatherball: ["9M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], }, eventData: [ {generation: 3, level: 5, shiny: 1, moves: ["bubble", "sweetkiss"], pokeball: "pokeball"}, @@ -8801,13 +8969,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L66", "8L66", "7V", "3T"], + doubleedge: ["9M", "9L66", "8L66", "7V", "3T"], doubleslap: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L19"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "9L40", "8M", "8L40"], earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], encore: ["9M", "8M"], - endeavor: ["7T", "6T", "5T"], + endeavor: ["9M", "7T", "6T", "5T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fissure: ["7V"], @@ -8832,7 +9000,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { metronome: ["9M", "8M", "7V", "3T"], mimic: ["7V", "3T"], mudbomb: ["7L53", "6L53", "5L53", "4L53"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "9L1", "8M", "8L1", "7L32", "6L32", "5L32", "4L32"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], @@ -8840,6 +9008,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["9M"], psywave: ["7V"], rage: ["7V"], raindance: ["9M", "9L24", "8M", "8L24", "7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L27"], @@ -8869,7 +9038,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "7T", "6T", "4M", "3M"], watersport: ["7L1", "6L1", "5L1", "4L1"], weatherball: ["9M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], }, encounters: [ {generation: 1, level: 15}, @@ -8898,7 +9067,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], circlethrow: ["9L1", "8L1", "7L1", "6L1", "5L53"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], counter: ["7V", "3T"], curse: ["7V"], @@ -8907,7 +9076,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L1", "8L1", "7V", "3T"], + doubleedge: ["9M", "9L1", "8L1", "7V", "3T"], doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M", "8M"], @@ -8916,7 +9085,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthpower: ["9M", "9L1", "8M", "8L1"], earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], encore: ["9M", "8M"], - endeavor: ["7T", "6T", "5T"], + endeavor: ["9M", "7T", "6T", "5T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fissure: ["7V"], @@ -8947,7 +9116,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mimic: ["7V", "3T"], mindreader: ["8L1", "7L43", "7V", "6L43", "5L43", "4L53", "3L51"], mist: ["8V"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "9L1", "8M", "8L1"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], @@ -8957,6 +9126,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["9M"], psywave: ["7V"], rage: ["7V"], raindance: ["9M", "9L1", "8M", "8L1", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], @@ -8986,14 +9156,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + upperhand: ["9M"], vacuumwave: ["9M", "4T"], waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], watergun: ["9L1", "8L1", "8V", "7V", "3L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], weatherball: ["9M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], workup: ["8M", "7M", "5M"], }, eventData: [ @@ -9020,7 +9191,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { detect: ["7V"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L1", "8L1", "3T"], + doubleedge: ["9M", "9L1", "8L1", "3T"], doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], @@ -9028,7 +9199,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthquake: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "8M"], - endeavor: ["7T", "6T", "5T"], + endeavor: ["9M", "7T", "6T", "5T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -9055,7 +9226,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megapunch: ["8M", "3T"], metronome: ["9M", "8M", "3T"], mimic: ["3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "9L1", "8M", "8L1"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], @@ -9065,6 +9236,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "5S0", "4M", "3M"], psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["9M"], raindance: ["9M", "9L1", "8M", "8L1", "7M", "7V", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -9090,7 +9262,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1", "7V", "3L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], }, eventData: [ {generation: 5, level: 50, gender: "M", nature: "Calm", ivs: {hp: 31, atk: 13, def: 31, spa: 5, spd: 31, spe: 5}, isHidden: true, moves: ["scald", "icebeam", "perishsong", "protect"], pokeball: "cherishball"}, @@ -9804,6 +9976,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeppowder: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], strengthsap: ["9E", "7E"], @@ -9896,6 +10069,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeppowder: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + sludgewave: ["9M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], stunspore: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L19"], @@ -9989,6 +10163,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeppowder: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], spitup: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], @@ -10017,88 +10192,97 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, tentacool: { learnset: { - acid: ["8L4", "8V", "7L10", "7V", "6L10", "5L12", "4L12", "3L19"], - acidarmor: ["8L32"], - acidspray: ["7L22", "6L22", "5L26"], - acupressure: ["8E", "7E", "6E", "5E", "5D", "4E"], - aquaring: ["8E", "7E", "6E", "5E"], + acid: ["9L4", "8L4", "8V", "7L10", "7V", "6L10", "5L12", "4L12", "3L19"], + acidarmor: ["9L32", "8L32"], + acidspray: ["9M", "7L22", "6L22", "5L26"], + acupressure: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + aquaring: ["9E", "8E", "7E", "6E", "5E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - aurorabeam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + aurorabeam: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], barrier: ["8V", "7L28", "7V", "6L28", "5L29", "4L26", "3L36"], bide: ["7V"], bind: ["7T", "6T", "5T"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], brine: ["8M", "7L34", "6L34", "4M"], brutalswing: ["8M"], bubble: ["7E", "6E", "5E"], - bubblebeam: ["8L24", "8V", "7L25", "7V", "6L19", "5L19", "4L19", "3L25"], + bubblebeam: ["9L24", "8L24", "8V", "7L25", "7V", "6L19", "5L19", "4L19", "3L25"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - confuseray: ["8E", "7E", "6E", "5E", "4E", "3E"], + confuseray: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], constrict: ["8V", "7L7", "7V", "6L7", "5L8", "4L8", "3L12"], crosspoison: ["8M"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], - dazzlinggleam: ["8M", "8V", "7M", "6M"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], dive: ["8M", "6M", "5M", "4T", "3M"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flipturn: ["9M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigadrain: ["8M", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + gunkshot: ["9M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], - haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + haze: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], headbutt: ["8V"], - hex: ["8M", "8L28", "7L40", "6L40", "5L43"], + hex: ["9M", "9L28", "8M", "8L28", "7L40", "6L40", "5L43"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L48", "8V", "7L46", "7V", "6L46", "5L47", "4L40", "3L49"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + hydropump: ["9M", "9L48", "8M", "8L48", "8V", "7L46", "7V", "6L46", "5L47", "4L40", "3L49"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], infestation: ["7M", "6M"], - knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + liquidation: ["9M"], magiccoat: ["7T", "6T", "5T", "4T"], megadrain: ["8V", "7V"], mimic: ["7V", "3T"], - mirrorcoat: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - muddywater: ["8M", "7E", "6E", "5E", "4E"], + mirrorcoat: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + muddywater: ["9M", "8M", "7E", "6E", "5E", "4E"], + mudshot: ["9M"], naturalgift: ["4M"], payback: ["8M", "7M", "6M", "5M", "4M"], - poisonjab: ["8M", "8L36", "8V", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L33"], - poisonsting: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + poisonjab: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L33"], + poisonsting: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pounce: ["9M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - rapidspin: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rapidspin: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], scald: ["8M", "8V", "7M", "6M", "5M"], - screech: ["8M", "8L20", "8V", "7L37", "7V", "6L37", "5L40", "4L36", "3L43"], + screech: ["9L20", "8M", "8L20", "8V", "7L37", "7V", "6L37", "5L40", "4L36", "3L43"], secretpower: ["6M", "4M", "3M"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "8L44", "7M", "7L43", "6M", "6L43", "5M", "5L50"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M", "9L44", "8M", "8L44", "7M", "7L43", "6M", "6L43", "5M", "5L50"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - supersonic: ["8L12", "8V", "7L4", "7V", "6L4", "5L5", "5D", "4L5", "3L6"], - surf: ["8M", "8L40", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["9L12", "8L12", "8V", "7L4", "7V", "6L4", "5L5", "5D", "4L5", "3L6"], + surf: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], takedown: ["7V"], - thief: ["8M", "7M", "6M", "5M", "4M", "3M"], - tickle: ["8E", "7E", "6E", "5E"], - toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - toxicspikes: ["8M", "7L13", "6L13", "5L15", "4L15"], - venoshock: ["8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["9M"], + tickle: ["9E", "8E", "7E", "6E", "5E"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "8M", "7L13", "6L13", "5L15", "4L15"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7V"], - waterpulse: ["8L16", "7T", "7L16", "6T", "6L16", "5L33", "4M", "4L29", "3M"], - whirlpool: ["8M", "7V", "4M"], - wrap: ["8L8", "8V", "7L19", "7V", "6L19", "5L22", "4L22", "3L30"], + watergun: ["9L1", "8L1", "7V"], + waterpulse: ["9M", "9L16", "8L16", "7T", "7L16", "6T", "6L16", "5L33", "4M", "4L29", "3M"], + whirlpool: ["9M", "8M", "7V", "4M"], + wrap: ["9L8", "8L8", "8V", "7L19", "7V", "6L19", "5L22", "4L22", "3L30"], wringout: ["7L49", "6L49", "5L54", "4L43"], }, encounters: [ @@ -10107,86 +10291,99 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, tentacruel: { learnset: { - acid: ["8L1", "8V", "7L1", "7V", "6L1", "5L12", "4L12", "3L19"], - acidarmor: ["8L34"], - acidspray: ["7L22", "6L22", "5L26"], + acid: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L12", "4L12", "3L19"], + acidarmor: ["9L34", "8L34"], + acidspray: ["9M", "7L22", "6L22", "5L26"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], barrier: ["8V", "7L28", "7V", "6L28", "5L29", "4L26", "3L38"], bide: ["7V"], bind: ["7T", "6T", "5T"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], brine: ["8M", "7L36", "6L36", "4M"], brutalswing: ["8M"], - bubblebeam: ["8L24", "8V", "7L25", "7V", "6L19", "5L19", "4L19", "3L25"], + bubblebeam: ["9L24", "8L24", "8V", "7L25", "7V", "6L19", "5L19", "4L19", "3L25"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], + confuseray: ["9M"], constrict: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], corrosivegas: ["8T"], crosspoison: ["8M"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], - dazzlinggleam: ["8M", "8V", "7M", "6M"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], dive: ["8M", "6M", "5M", "4T", "3M"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flipturn: ["9M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], - haze: ["8V"], + haze: ["9M", "8V"], headbutt: ["8V"], - hex: ["8M", "8L28", "7L44", "6L44", "5L47"], + hex: ["9M", "9L28", "8M", "8L28", "7L44", "6L44", "5L47"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L58", "8V", "7L52", "7V", "6L52", "5L52", "4L49", "3L55"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + hydropump: ["9M", "9L58", "8M", "8L58", "8V", "7L52", "7V", "6L52", "5L52", "4L49", "3L55"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], infestation: ["7M", "6M"], - knockoff: ["7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + liquidation: ["9M"], magiccoat: ["7T", "6T", "5T", "4T"], megadrain: ["8V", "7V"], mimic: ["7V", "3T"], mirrorcoat: ["8V"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], + mudshot: ["9M"], naturalgift: ["4M"], payback: ["8M", "7M", "6M", "5M", "4M"], - poisonjab: ["8M", "8L40", "8V", "7M", "7L32", "6M", "6L32", "5M", "5L38", "4M", "4L36"], - poisonsting: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + poisonjab: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L32", "6M", "6L32", "5M", "5L38", "4M", "4L36"], + poisonsting: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pounce: ["9M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["8V", "7V"], - reflecttype: ["8L1", "7L1", "6L1"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + reflecttype: ["9L1", "8L1", "7L1", "6L1"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], scald: ["8M", "8V", "7M", "6M", "5M"], - screech: ["8M", "8L20", "8V", "7L40", "7V", "6L40", "5L43", "4L42", "3L47"], + scaryface: ["9M"], + screech: ["9L20", "8M", "8L20", "8V", "7L40", "7V", "6L40", "5L43", "4L42", "3L47"], secretpower: ["6M", "4M", "3M"], + skittersmack: ["9M"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "8L52", "7M", "7L48", "6M", "6L48", "5M", "5L56"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M", "9L52", "8M", "8L52", "7M", "7L48", "6M", "6L48", "5M", "5L56"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - supersonic: ["8L12", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - surf: ["8M", "8L46", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["9L12", "8L12", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + surf: ["9M", "9L46", "8M", "8L46", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], takedown: ["7V"], - thief: ["8M", "7M", "6M", "5M", "4M", "3M"], - toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - toxicspikes: ["8M", "7L13", "6L13", "5L15", "4L15"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["9M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "8M", "7L13", "6L13", "5L15", "4L15"], venomdrench: ["8M"], - venoshock: ["8M", "7M", "6M", "5M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7V"], - waterpulse: ["8L16", "7T", "7L16", "6T", "6L16", "5L34", "4M", "4L29", "3M"], - whirlpool: ["8M", "7V", "4M"], - wrap: ["8L1", "8V", "7L19", "7V", "6L19", "5L22", "4L22", "3L30"], + watergun: ["9L1", "8L1", "7V"], + waterpulse: ["9M", "9L16", "8L16", "7T", "7L16", "6T", "6L16", "5L34", "4M", "4L29", "3M"], + weatherball: ["9M"], + whirlpool: ["9M", "8M", "7V", "4M"], + wrap: ["9L1", "8L1", "8V", "7L19", "7V", "6L19", "5L22", "4L22", "3L30"], wringout: ["7L1", "6L1", "5L61", "4L55"], }, encounters: [ @@ -10210,10 +10407,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], counter: ["7V", "3T"], - curse: ["9E", "7E", "7V", "6E", "5E", "4E"], + curse: ["9M", "9E", "7E", "7V", "6E", "5E", "4E"], defensecurl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3T", "3L1"], dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L40", "8V", "7L40", "7V", "6L40", "5L46", "4L36", "3T", "3L46"], + doubleedge: ["9M", "9L40", "8V", "7L40", "7V", "6L40", "5L46", "4L36", "3T", "3L46"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["9E", "7V", "3T"], earthpower: ["9M", "7T", "6T", "5T", "4T"], @@ -10238,7 +10435,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { incinerate: ["6M", "5M"], irondefense: ["9M", "7T", "6T", "5T"], magnitude: ["7L12", "7V", "6L12", "5L15", "4L15", "3L16"], - megapunch: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + megapunch: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], metronome: ["9M", "7V", "3T"], mimic: ["7V", "3T"], mudshot: ["9M"], @@ -10305,15 +10502,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M", "7M"], confide: ["7M"], counter: ["9E", "7E"], - curse: ["9E", "7E"], + curse: ["9M", "9E", "7E"], defensecurl: ["9L1", "8V", "7L1"], dig: ["9M", "8V"], discharge: ["9L34", "7L34"], - doubleedge: ["9L40", "8V", "7L40"], + doubleedge: ["9M", "9L40", "8V", "7L40"], doubleteam: ["7M"], earthpower: ["9M", "7T"], earthquake: ["9M", "8V", "7M"], - electroweb: ["7T"], + electroweb: ["9M", "7T"], endure: ["9M", "9E", "7E"], explosion: ["9L36", "8V", "7M", "7L36"], facade: ["9M", "8V", "7M"], @@ -10356,6 +10553,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M", "9L42", "7M", "7L42"], substitute: ["9M", "8V", "7M"], sunnyday: ["9M", "7M"], + supercellslam: ["9M"], superpower: ["8V", "7T"], swagger: ["7M"], tackle: ["9L1", "8V", "7L1"], @@ -10386,10 +10584,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], counter: ["7V", "3T"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L50", "8V", "7L50", "7V", "6L50", "5L58", "4L44", "3T", "3L62"], + doubleedge: ["9M", "9L50", "8V", "7L50", "7V", "6L50", "5L58", "4L44", "3T", "3L62"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], earthpower: ["9M", "7T", "6T", "5T", "4T"], @@ -10405,8 +10603,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M"], focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gyroball: ["7M", "6M", "5M", "4M"], + gyroball: ["9M", "7M", "6M", "5M", "4M"], harden: ["7V"], + hardpress: ["9M"], headbutt: ["8V", "7V", "4T"], heavyslam: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -10481,15 +10680,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L1", "7L1"], chargebeam: ["9M", "7M"], confide: ["7M"], + curse: ["9M"], defensecurl: ["9L1", "8V", "7L1"], dig: ["9M", "8V"], discharge: ["9L40", "7L40"], - doubleedge: ["9L50", "8V", "7L50"], + doubleedge: ["9M", "9L50", "8V", "7L50"], doubleteam: ["7M"], earthpower: ["9M", "7T"], earthquake: ["9M", "8V", "7M"], electricterrain: ["9M"], - electroweb: ["7T"], + electroweb: ["9M", "7T"], endure: ["9M"], explosion: ["9L44", "8V", "7M", "7L44"], facade: ["9M", "8V", "7M"], @@ -10501,6 +10701,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T"], frustration: ["7M"], gyroball: ["9M", "7M"], + hardpress: ["9M"], headbutt: ["8V"], hiddenpower: ["7M"], highhorsepower: ["9M"], @@ -10534,6 +10735,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M", "9L54", "7M", "7L54"], substitute: ["9M", "8V", "7M"], sunnyday: ["9M", "7M"], + supercellslam: ["9M"], superpower: ["8V", "7T"], swagger: ["7M"], tackle: ["9L1", "8V", "7L1"], @@ -10562,10 +10764,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], counter: ["7V", "3T"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L50", "8V", "7L50", "7V", "6L50", "5L58", "4L44", "3T", "3L62"], + doubleedge: ["9M", "9L50", "8V", "7L50", "7V", "6L50", "5L58", "4L44", "3T", "3L62"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], earthpower: ["9M", "7T", "6T", "5T", "4T"], @@ -10585,6 +10787,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "7M", "6M", "5M", "4M"], gyroball: ["9M", "7M", "6M", "5M", "4M"], harden: ["7V"], + hardpress: ["9M"], headbutt: ["8V", "7V", "4T"], heavyslam: ["9M", "9L1", "7L1", "6L1", "5L69"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -10659,16 +10862,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L1", "7L1"], chargebeam: ["9M", "7M"], confide: ["7M"], + curse: ["9M"], defensecurl: ["9L1", "8V", "7L1"], dig: ["9M", "8V"], discharge: ["9L40", "7L40"], - doubleedge: ["9L50", "8V", "7L50"], + doubleedge: ["9M", "9L50", "8V", "7L50"], doubleteam: ["7M"], earthpower: ["9M", "7T"], earthquake: ["9M", "8V", "7M"], echoedvoice: ["7M"], electricterrain: ["9M"], - electroweb: ["7T"], + electroweb: ["9M", "7T"], endure: ["9M"], explosion: ["9L44", "8V", "7M", "7L44"], facade: ["9M", "8V", "7M"], @@ -10681,6 +10885,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M"], gigaimpact: ["9M", "7M"], gyroball: ["9M", "7M"], + hardpress: ["9M"], headbutt: ["8V"], heavyslam: ["9M", "9L1", "7L1"], hiddenpower: ["7M"], @@ -10689,6 +10894,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M", "7T"], magnetrise: ["7T"], megapunch: ["8V"], + meteorbeam: ["9M"], metronome: ["9M"], mudshot: ["9M"], mudslap: ["9M"], @@ -10718,6 +10924,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M", "9L54", "7M", "7L54"], substitute: ["9M", "8V", "7M"], sunnyday: ["9M", "7M"], + supercellslam: ["9M"], superpower: ["8V", "7T"], swagger: ["7M"], tackle: ["9L1", "8V", "7L1"], @@ -11027,7 +11234,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], confusion: ["9L12", "8L12", "8V", "7L14", "7V", "6L14", "5L14", "5S2", "4L15", "3L17", "3S0"], - curse: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + curse: ["9M", "9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L19", "5L19", "5S2", "4L20", "3L24", "3S0"], dive: ["8M", "6M", "5M", "4T", "3M"], @@ -11037,7 +11244,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "7V", "4M", "3T"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], fissure: ["7V"], @@ -11074,7 +11281,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L48", "3M", "3L40"], psychicterrain: ["9M", "8M"], - psychup: ["9L39", "8L39", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L57", "3T", "3L47"], + psychup: ["9M", "9L39", "8L39", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L57", "3T", "3L47"], psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7V"], rage: ["7V"], @@ -11117,7 +11324,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L6", "8L6", "8V", "7L9", "7V", "6L9", "5L9", "4L11", "3L13", "3S0"], waterpulse: ["9M", "9L18", "8L18", "7T", "7L28", "6T", "6L28", "5L28", "5S2", "4M", "4L29", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], wonderroom: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], yawn: ["9L9", "8L9", "8V", "7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S1"], zapcannon: ["7V"], @@ -11148,13 +11355,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "8M"], chillingwater: ["9M"], confusion: ["9L12", "8L12"], - curse: ["9L1", "8L1"], + curse: ["9M", "9L1", "8L1"], dig: ["9M", "8M"], disable: ["9L15", "8L15"], dive: ["8M"], earthquake: ["9M", "8M"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], fireblast: ["9M", "8M"], flamethrower: ["9M", "8M"], @@ -11179,7 +11386,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M", "9L36", "8M", "8L36"], psychicterrain: ["9M", "8M"], - psychup: ["9L39", "8L39"], + psychup: ["9M", "9L39", "8L39"], psyshock: ["9M", "8M"], raindance: ["9M", "9L42", "8M", "8L42"], rest: ["9M", "8M"], @@ -11208,7 +11415,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M"], waterpulse: ["9M", "9L18", "8L18"], weatherball: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], wonderroom: ["8M"], yawn: ["9L9", "8L9"], zenheadbutt: ["9M", "9L24", "8M", "8L24"], @@ -11237,7 +11444,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confusion: ["9L12", "8L12", "8V", "7L14", "7V", "6L14", "5L14", "4L15", "3L17"], counter: ["7V", "3T"], - curse: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + curse: ["9M", "9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L19", "5L19", "4L20", "3L24"], dive: ["8M", "6M", "5M", "4T", "3M"], @@ -11249,7 +11456,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "7V", "4M", "3T"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], fissure: ["7V"], @@ -11261,7 +11468,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - futuresight: ["9L1", "8M"], + futuresight: ["9M", "9L1", "8M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], @@ -11286,7 +11493,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megapunch: ["8M", "7V", "3T"], metronome: ["9M"], mimic: ["7V", "3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["7V", "4T", "3T"], nastyplot: ["9M", "8M"], @@ -11296,8 +11503,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L54", "3M", "3L44"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M"], - psychup: ["9L41", "8L41", "7M", "7L62", "7V", "6M", "6L62", "5M", "5L62", "4M", "4L67", "3T", "3L55"], + psychup: ["9M", "9L41", "8L41", "7M", "7L62", "7V", "6M", "6L62", "5M", "5L62", "4M", "4L67", "3T", "3L55"], psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7V"], rage: ["7V"], @@ -11344,7 +11552,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1", "8V", "7L9", "7V", "6L9", "5L9", "4L11", "3L13"], waterpulse: ["9M", "9L18", "8L18", "7T", "7L28", "6T", "6L28", "5L28", "4M", "4L29", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], withdraw: ["9L1", "8L1", "8V", "7L1", "7V", "6L37", "5L37", "4L37", "3L37"], wonderroom: ["8M", "7T", "6T", "5T"], yawn: ["9L9", "8L9", "8V", "7L1", "6L1", "5L1", "4L1", "3L1"], @@ -11381,14 +11589,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "8M"], chillingwater: ["9M"], confusion: ["9L12", "8L12"], - curse: ["9L1", "8L1"], + curse: ["9M", "9L1", "8L1"], dig: ["9M", "8M"], disable: ["9L15", "8L15"], dive: ["8M"], + doubleedge: ["9M"], drainpunch: ["9M", "8M"], earthquake: ["9M", "8M"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], fireblast: ["9M", "8M"], flamethrower: ["9M", "8M"], @@ -11419,7 +11628,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M"], megapunch: ["8M"], metronome: ["9M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], nastyplot: ["9M", "8M"], payday: ["8M"], @@ -11429,7 +11638,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M", "9L36", "8M", "8L36"], psychicterrain: ["9M", "8M"], - psychup: ["9L39", "8L39"], + psychup: ["9M", "9L39", "8L39"], psyshock: ["9M", "8M"], raindance: ["9M", "9L42", "8M", "8L42"], razorshell: ["8M"], @@ -11446,7 +11655,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slackoff: ["9L33", "8L33"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], smackdown: ["9M"], snore: ["8M"], snowscape: ["9M"], @@ -11468,7 +11677,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["8L1"], waterpulse: ["9M", "9L18", "8L18"], weatherball: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], withdraw: ["9L1", "8L1"], wonderroom: ["8M"], yawn: ["9L9", "8L9"], @@ -11496,7 +11705,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confusion: ["9L12", "8L12", "7L14", "7V", "6L14", "5L14", "4L15", "3L17"], counter: ["3T"], - curse: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + curse: ["9M", "9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], disable: ["9L15", "8L15", "7L19", "7V", "6L19", "5L19", "4L20", "3L24"], dive: ["8M", "6M", "5M", "4T", "3M"], @@ -11509,7 +11718,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthquake: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "7V", "4M", "3T"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], firepunch: ["9M"], @@ -11521,7 +11730,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - futuresight: ["9L1", "8M"], + futuresight: ["9M", "9L1", "8M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1", "7L5", "7V", "6L5", "5L5", "4L6", "3L6"], @@ -11547,7 +11756,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megapunch: ["8M", "3T"], metronome: ["9M"], mimic: ["3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["7V", "4T", "3T"], nastyplot: ["9M", "9L1", "8M", "8L1", "7L36", "6L36", "5L36", "4L39"], @@ -11559,8 +11768,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "9L36", "8M", "8L36", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L48", "3M", "3L40"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M"], - psychup: ["9L39", "8L39", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L57", "3T", "3L47"], + psychup: ["9M", "9L39", "8L39", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L57", "3T", "3L47"], psyshock: ["9M", "8M", "7M", "6M", "5M"], quash: ["7M", "6M", "5M"], raindance: ["9M", "9L42", "8M", "8L42", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -11606,7 +11816,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1", "7L9", "7V", "6L9", "5L9", "4L11", "3L13"], waterpulse: ["9M", "9L18", "8L18", "7T", "7L28", "6T", "6L28", "5L28", "4M", "4L29", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], wonderroom: ["8M", "7T", "6T", "5T"], yawn: ["9L9", "8L9", "7L1", "6L1", "5L1", "4L1", "3L1"], zapcannon: ["7V"], @@ -11629,7 +11839,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], chillyreception: ["9L1"], confusion: ["9L12", "8L12"], - curse: ["9L1", "8L1"], + curse: ["9M", "9L1", "8L1"], dig: ["9M", "8M"], disable: ["9L15", "8L15"], dive: ["8M"], @@ -11637,7 +11847,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthquake: ["9M", "8M"], eeriespell: ["9L0", "8L0"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], fireblast: ["9M", "8M"], firepunch: ["9M"], @@ -11645,7 +11855,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M"], focusblast: ["9M", "8M"], foulplay: ["9M", "8M"], - futuresight: ["9L1", "8M"], + futuresight: ["9M", "9L1", "8M"], gigaimpact: ["9M", "8M"], grassknot: ["9M", "8M"], growl: ["9L1", "8L1"], @@ -11669,7 +11879,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M"], megapunch: ["8M"], metronome: ["9M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], nastyplot: ["9M", "9L1", "8M", "8L1"], payday: ["8M"], @@ -11678,8 +11888,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M"], psybeam: ["9M"], psychic: ["9M", "9L36", "8M", "8L36"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M"], - psychup: ["9L39", "8L39"], + psychup: ["9M", "9L39", "8L39"], psyshock: ["9M", "8M"], raindance: ["9M", "9L42", "8M", "8L42"], razorshell: ["8M"], @@ -11693,7 +11904,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slackoff: ["9L33", "8L33"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], snarl: ["9M"], snore: ["8M"], snowscape: ["9M"], @@ -11720,7 +11931,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "9L1"], waterpulse: ["9M", "9L18", "8L18"], weatherball: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], wonderroom: ["8M"], yawn: ["9L9", "8L9"], zenheadbutt: ["9M", "9L24", "8M", "8L24"], @@ -11740,7 +11951,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M", "9L12", "8M", "8L12", "7L29", "6L29", "5L27"], - electroweb: ["9E", "8M", "7T", "6T", "5T"], + electroweb: ["9M", "9E", "8M", "7T", "6T", "5T"], endure: ["9M", "8M", "7V", "4M", "3T"], explosion: ["9E", "7M", "6M", "5M", "4M"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -11748,7 +11959,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flashcannon: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L31", "6M", "6L31", "5M", "5L35", "4M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gravity: ["9M", "7T", "6T", "5T", "5D", "4T"], - gyroball: ["9M", "9L16", "8M", "8L16", "7M", "7L47", "6M", "6L47", "5M", "5L54", "4M", "4L49"], + gyroball: ["9M", "9L16", "8M", "8L16", "7M", "7L47", "6M", "6L47", "5M", "5L53", "4M", "4L49"], headbutt: ["8V"], heavyslam: ["9M"], helpinghand: ["9M"], @@ -11760,9 +11971,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T", "5T", "4T"], magnetbomb: ["7L11", "6L17", "5L18", "4L30"], magnetrise: ["9L28", "8L28", "7T", "7L43", "6T", "6L43", "5T", "5L49", "4T", "4L46"], - metalsound: ["9L40", "8L40", "7L25", "6L25", "5L1", "5D", "4L1", "3L1"], + metalsound: ["9M", "9L40", "8L40", "7L25", "6L25", "5L1", "5D", "4L1", "3L1"], mimic: ["7V", "3T"], - mirrorshot: ["7L23", "6L23", "5L46", "4L43"], + mirrorshot: ["7L23", "6L23", "5L25", "4L43"], naturalgift: ["4M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M"], @@ -11782,12 +11993,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T", "6T", "5T", "4T"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - sonicboom: ["8V", "7L17", "7V", "6L11", "5L14", "4L14", "3L16"], - spark: ["9L20", "8L20", "7L19", "6L19", "5L22", "4L22", "3L26"], + sonicboom: ["8V", "7L17", "7V", "6L11", "5L11", "4L14", "3L16"], + spark: ["9L20", "8L20", "7L19", "6L19", "5L21", "4L22", "3L26"], steelbeam: ["9M", "8T"], substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - supersonic: ["9L4", "8L4", "8V", "7L1", "7V", "6L4", "5L11", "4L11", "3L11"], + supersonic: ["9L4", "8L4", "8V", "7L1", "7V", "6L4", "5L4", "4L11", "3L11"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swift: ["9M", "8M", "7V", "4T", "3T", "3L38"], tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], @@ -11797,11 +12008,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thundershock: ["9L1", "8L1", "8V", "7L5", "7V", "6L7", "5L6", "5D", "4L6", "3L6"], - thunderwave: ["9M", "9L8", "8M", "8L8", "8V", "7M", "7L11", "7V", "6M", "6L13", "5M", "5L17", "4M", "4L17", "3T", "3L21"], + thunderwave: ["9M", "9L8", "8M", "8L8", "8V", "7M", "7L11", "7V", "6M", "6L13", "5M", "5L15", "4M", "4L17", "3T", "3L21"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], voltswitch: ["9M", "8M", "7M", "6M", "5M"], wildcharge: ["9M", "8M", "7M", "6M", "5M"], - zapcannon: ["9L52", "8L52", "7L49", "7V", "6L49", "5L59", "4L54", "3L50"], + zapcannon: ["9L52", "8L52", "7L49", "7V", "6L49", "5L57", "4L54", "3L50"], }, encounters: [ {generation: 1, level: 16}, @@ -11821,7 +12032,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], electroball: ["9M", "9L12", "8M", "8L12", "7L29", "6L29", "5L27"], - electroweb: ["8M", "7T", "6T", "5T"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], endure: ["9M", "8M", "7V", "4M", "3T"], explosion: ["7M", "6M", "5M", "4M"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -11841,11 +12052,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "9L52", "8M", "8L52", "8V", "7M", "7L13", "6M", "5M", "4M"], lockon: ["9L58", "8L58", "7L49", "7V", "6L49", "5L30", "4L27", "3L35"], magiccoat: ["7T", "6T", "5T", "4T"], - magnetbomb: ["7L1", "6L17", "5L34", "4L30"], + magnetbomb: ["7L1", "6L17", "5L18", "4L30"], magnetrise: ["9L28", "8L28", "7T", "7L53", "6T", "6L53", "5T", "5L54", "4T", "4L50"], - metalsound: ["9L46", "8L46", "7L25", "6L25", "5L1", "4L1", "3L1"], + metalsound: ["9M", "9L46", "8L46", "7L25", "6L25", "5L1", "4L1", "3L1"], mimic: ["7V", "3T"], - mirrorshot: ["7L23", "6L23", "5L50", "4L46"], + mirrorshot: ["7L23", "6L23", "5L25", "4L46"], naturalgift: ["4M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M"], @@ -11866,8 +12077,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T", "6T", "5T", "4T"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - sonicboom: ["8V", "7L17", "7V", "6L1", "5L14", "4L14", "3L16"], - spark: ["9L20", "8L20", "7L19", "6L19", "5L22", "4L22", "3L26"], + sonicboom: ["8V", "7L17", "7V", "6L1", "5L11", "4L14", "3L16"], + spark: ["9L20", "8L20", "7L19", "6L19", "5L21", "4L22", "3L26"], steelbeam: ["9M", "8T"], substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -11881,7 +12092,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thundershock: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L13", "5M", "5L17", "4M", "4L17", "3T", "3L21"], + thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L13", "5M", "5L15", "4M", "4L17", "3T", "3L21"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], triattack: ["9L0", "8M", "8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L44"], voltswitch: ["9M", "8M", "7M", "6M", "5M"], @@ -11908,11 +12119,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M"], discharge: ["9L40", "8L40", "7L43", "6L43", "5L46", "4L40"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], eerieimpulse: ["9M"], electricterrain: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], electroball: ["9M", "9L12", "8M", "8L12", "7L29", "6L29", "5L27"], - electroweb: ["8M", "7T", "6T", "5T"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], endure: ["9M", "8M", "4M"], explosion: ["7M", "6M", "5M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -11922,6 +12134,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], gyroball: ["9M", "9L16", "8M", "8L16", "7M", "7L59", "6M", "6L59", "5M", "5L60", "4M", "4L54"], + hardpress: ["9M"], heavyslam: ["9M", "8M"], helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M"], @@ -11931,12 +12144,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "9L52", "8M", "8L52", "7M", "7L13", "6M", "5M", "4M"], lockon: ["9L58", "8L58", "7L49", "6L49", "5L30", "4L27"], magiccoat: ["7T", "6T", "5T", "4T"], - magnetbomb: ["7L1", "6L17", "5L34", "4L30"], + magnetbomb: ["7L1", "6L17", "5L18", "4L30"], magneticflux: ["9L1", "8L1", "7L1", "6L1"], magnetrise: ["9L28", "8L28", "7T", "7L53", "6T", "6L53", "5T", "5L54", "4T", "4L50"], - metalsound: ["9L46", "8L46", "7L25", "6L25", "5L1", "4L1"], + metalsound: ["9M", "9L46", "8L46", "7L25", "6L25", "5L1", "4L1"], mirrorcoat: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], - mirrorshot: ["7L23", "6L23", "5L50", "4L46"], + mirrorshot: ["7L23", "6L23", "5L25", "4L46"], naturalgift: ["4M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psychup: ["7M", "6M", "5M", "4M"], @@ -11956,12 +12169,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T", "6T", "5T", "4T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], - sonicboom: ["7L17", "6L1", "5L14", "4L14"], - spark: ["9L20", "8L20", "7L19", "6L19", "5L22", "4L22"], + sonicboom: ["7L17", "6L1", "5L11", "4L14"], + spark: ["9L20", "8L20", "7L19", "6L19", "5L21", "4L22"], steelbeam: ["9M", "8T"], steelroller: ["8T"], substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + supercellslam: ["9M"], supersonic: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], swagger: ["7M", "6M", "5M", "4M"], swift: ["9M", "8M", "4T"], @@ -11971,7 +12185,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], thundershock: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], - thunderwave: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L13", "5M", "5L17", "4M", "4L17"], + thunderwave: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L13", "5M", "5L15", "4M", "4L17"], toxic: ["7M", "6M", "5M", "4M"], triattack: ["9L1", "8M", "8L1", "7L1"], voltswitch: ["9M", "8M", "7M", "6M", "5M"], @@ -12195,71 +12409,81 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, doduo: { learnset: { - acupressure: ["7L33", "6L28", "5L28", "4L28"], - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8V", "7L26", "7V", "6L33", "5L37", "4L37", "3L45"], + acrobatics: ["9M"], + acupressure: ["9L30", "7L33", "6L28", "5L28", "4L28"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L23", "8V", "7L26", "7V", "6L33", "5L37", "4L37", "3L45"], aircutter: ["4T"], - assurance: ["7E", "6E", "5E"], + assurance: ["9E", "7E", "6E", "5E"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], bide: ["7V"], - bodyslam: ["7V", "3T"], - bravebird: ["7E", "6E", "5E", "4E"], + bodyslam: ["9M", "7V", "3T"], + bravebird: ["9M", "7E", "6E", "5E", "4E"], captivate: ["4M"], confide: ["7M", "6M"], curse: ["7V"], - doubleedge: ["7V", "3T"], - doublehit: ["7L22", "6L25", "5L32", "4L32"], + doubleedge: ["9M", "7V", "3T"], + doublehit: ["9L19", "7L22", "6L25", "5L32", "4L32"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drillpeck: ["8V", "7L43", "7V", "6L37", "5L41", "4L41", "3L37"], + drillpeck: ["9L36", "8V", "7L43", "7V", "6L37", "5L41", "4L41", "3L37"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["7T", "7L47", "7E", "6T", "6L45", "6E", "5T", "5L46", "5E", "4T", "4L46", "4E", "3E"], - endure: ["7V", "4M", "3T"], - facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M", "9L39", "7T", "7L47", "7E", "6T", "6L45", "6E", "5T", "5L46", "5E", "4T", "4L46", "4E", "3E"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M"], feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], - flail: ["7E", "7V", "6E", "5E", "5D", "4E", "3E"], + flail: ["9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - furyattack: ["8V", "7L12", "7V", "6L13", "5L14", "4L14", "3L13"], - growl: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + furyattack: ["9L9", "8V", "7L12", "7V", "6L13", "5L14", "4L14", "3L13"], + growl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], haze: ["7E", "7V", "6E", "5E", "4E", "3E"], headbutt: ["8V"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], jumpkick: ["8V", "7L40"], - knockoff: ["7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lowkick: ["9M"], + lunge: ["9M"], mimic: ["7V", "3T"], mirrormove: ["7E", "6E", "5E", "4E"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["7E", "6E", "5E", "4M"], - peck: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - pluck: ["7L19", "6L21", "5M", "4M"], - protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + peck: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["9L14", "7L19", "6L21", "5M", "4M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], pursuit: ["7L15", "7V", "6L17", "5L19", "4L19", "3L9"], - quickattack: ["8V", "7L5", "7E", "7V", "6L5", "6E", "5L5", "5E", "4L5", "4E", "3E"], + quickattack: ["9L5", "8V", "7L5", "7E", "7V", "6L5", "6E", "5L5", "5E", "4L5", "4E", "3E"], rage: ["8V", "7L8", "7V", "6L9", "5L10", "4L10", "3L25"], + raindance: ["9M"], reflect: ["8V", "7V"], - rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], roost: ["8V", "7M", "6M", "5T", "5D", "4M"], round: ["7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], skullbash: ["7V"], - skyattack: ["7V", "3T"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + skyattack: ["9E", "7V", "3T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], steelwing: ["7M", "7V", "6M", "4M", "3M"], - substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], supersonic: ["7E", "7V", "6E", "5E", "4E", "3E"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["7V", "4T", "3T"], - swordsdance: ["8V", "7M", "7L36"], - takedown: ["7V"], - thief: ["7M", "7V", "6M", "5M", "4M", "3M"], - thrash: ["8V", "7L50", "6L49", "5L50"], + swift: ["9M", "7V", "4T", "3T"], + swordsdance: ["9M", "9L33", "8V", "7M", "7L36"], + tailwind: ["9M"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9L43", "8V", "7L50", "6L49", "5L50"], + throatchop: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], triattack: ["7V", "3L21"], - uproar: ["7T", "7L29", "6T", "6L23", "5T", "5L23", "4T", "4L23", "3L33"], - whirlwind: ["7V"], + uproar: ["9M", "9L27", "7T", "7L29", "6T", "6L23", "5T", "5L23", "4T", "4L23", "3L33"], + whirlwind: ["9E", "7V"], workup: ["7M", "5M"], }, encounters: [ @@ -12269,72 +12493,86 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, dodrio: { learnset: { - acupressure: ["7L34", "6L28", "5L28", "4L28"], - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8V", "7L26", "7V", "6L35", "5L41", "4L41", "3L60", "3S0"], + acrobatics: ["9M"], + acupressure: ["9L30", "7L34", "6L28", "5L28", "4L28"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L23", "8V", "7L26", "7V", "6L35", "5L41", "4L41", "3L60", "3S0"], aircutter: ["4T"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - batonpass: ["3S0"], + batonpass: ["9M", "3S0"], bide: ["7V"], - bodyslam: ["7V", "3T"], + bodyslam: ["9M", "7V", "3T"], + bravebird: ["9M"], captivate: ["4M"], confide: ["7M", "6M"], curse: ["7V"], - doubleedge: ["7V", "3T"], - doublehit: ["7L22"], + doubleedge: ["9M", "7V", "3T"], + doublehit: ["9L19", "7L22"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drillpeck: ["8V", "7L47", "7V", "6L41", "5L47", "4L47", "3L47", "3S0"], + drillpeck: ["9L38", "8V", "7L47", "7V", "6L41", "5L47", "4L47", "3L47", "3S0"], + drillrun: ["9M"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["7T", "7L52", "6T", "6L53", "5T", "5L54", "4T", "4L54"], - endure: ["7V", "4M", "3T"], - facade: ["8V", "7M", "6M", "5M", "4M", "3M"], - fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["9M", "9L43", "7T", "7L52", "6T", "6L53", "5T", "5L54", "4T", "4L54"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M"], + fly: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - furyattack: ["8V", "7L12", "7V", "6L13", "5L14", "4L14", "3L1"], - gigaimpact: ["7M", "6M", "5M", "4M"], - growl: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + furyattack: ["9L12", "8V", "7L12", "7V", "6L13", "5L14", "4L14", "3L1"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], headbutt: ["8V"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], jumpkick: ["8V", "7L43"], - knockoff: ["7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lowkick: ["9M"], + lunge: ["9M"], mimic: ["7V", "3T"], mirrormove: ["8V"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], payback: ["7M", "6M", "5M", "4M"], - peck: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - pluck: ["7L19", "6L1", "5M", "5L1", "4M", "4L1"], - protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + peck: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["9L15", "7L19", "6L1", "5M", "5L1", "4M", "4L1"], + pounce: ["9M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], pursuit: ["7L15", "7V", "6L17", "5L19", "4L19", "3L1"], - quickattack: ["8V", "7L1", "6L1", "5L1", "4L1"], + quickattack: ["9L1", "8V", "7L1", "6L1", "5L1", "4L1"], rage: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L25"], + raindance: ["9M"], reflect: ["8V", "7V"], - rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], roost: ["8V", "7M", "6M", "5T", "4M"], round: ["7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], skullbash: ["7V"], skyattack: ["7T", "7V", "6T", "5T", "4T", "3T"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], steelwing: ["7M", "7V", "6M", "4M", "3M"], - stompingtantrum: ["7T"], - substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + stompingtantrum: ["9M", "7T"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], supersonic: ["8V"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["7V", "4T", "3T"], - swordsdance: ["8V", "7M", "7L38"], - takedown: ["7V"], - taunt: ["8V", "7M", "6M", "5M", "4M", "3M"], - thief: ["7M", "7V", "6M", "5M", "4M", "3M"], - thrash: ["8V", "7L56", "6L59", "5L60"], + swift: ["9M", "7V", "4T", "3T"], + swordsdance: ["9M", "9L34", "8V", "7M", "7L38"], + tailwind: ["9M"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9L50", "8V", "7L56", "6L59", "5L60"], + throatchop: ["9M"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - triattack: ["8V", "7L1", "7V", "6L25", "5L34", "4L34", "3L21", "3S0"], - uproar: ["7T", "7L29", "6T", "6L23", "5T", "5L23", "4T", "4L23", "3L38"], + trailblaze: ["9M"], + triattack: ["9L0", "8V", "7L1", "7V", "6L25", "5L34", "4L34", "3L21", "3S0"], + uproar: ["9M", "9L26", "7T", "7L29", "6T", "6L23", "5T", "5L23", "4T", "4L23", "3L38"], whirlwind: ["7V"], workup: ["7M", "5M"], }, @@ -12351,80 +12589,93 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, seel: { learnset: { - aquajet: ["8V", "7L31", "6L31", "5L31", "4L31"], - aquaring: ["7L23", "6L23", "5L23", "4L23"], - aquatail: ["7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + aquajet: ["9L31", "8V", "7L31", "6L31", "5L31", "4L31"], + aquaring: ["9L23", "7L23", "6L23", "5L23", "4L23"], + aquatail: ["9L43", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - aurorabeam: ["8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L21"], - belch: ["7E", "6E"], + aurorabeam: ["9L27", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L21"], + avalanche: ["9M"], + belch: ["9E", "7E", "6E"], bide: ["7V"], - blizzard: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["7V", "3T"], - brine: ["7L33", "6L33", "5L33", "4M", "4L33"], + blizzard: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "7V", "3T"], + brine: ["9L33", "7L33", "6L33", "5L33", "4M", "4L33"], bubblebeam: ["7V"], captivate: ["4M"], + charm: ["9M", "9L7"], + chillingwater: ["9M"], confide: ["7M", "6M"], - curse: ["7V"], - disable: ["7E", "7V", "6E", "5E", "4E", "3E"], - dive: ["7L41", "6M", "6L41", "5M", "5L41", "4T", "4L41", "3M"], - doubleedge: ["8V", "7V", "3T"], + curse: ["9M", "7V"], + disable: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + dive: ["9L41", "7L41", "6M", "6L41", "5M", "5L41", "4T", "4L41", "3M"], + doubleedge: ["9M", "8V", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drillrun: ["8V", "7T", "6T", "5T"], + drillrun: ["9M", "8V", "7T", "6T", "5T"], echoedvoice: ["7M", "6M", "5M"], - encore: ["8V", "7L13", "7E", "7V", "6L13", "6E", "5L13", "5E", "4L13", "4E", "3E"], - endure: ["7V", "4M", "3T"], - entrainment: ["7E", "6E"], - facade: ["8V", "7M", "6M", "5M", "4M", "3M"], - fakeout: ["7E", "6E", "5E", "4E", "3E"], - fling: ["7M", "6M", "5M", "4M"], + encore: ["9M", "9L13", "8V", "7L13", "7E", "7V", "6L13", "6E", "5L13", "5E", "4L13", "4E", "3E"], + endure: ["9M", "7V", "4M", "3T"], + entrainment: ["9E", "7E", "6E"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9E", "7E", "6E", "5E", "4E", "3E"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - growl: ["8V", "7L3", "7V", "6L3", "5L3", "4L3", "3L9"], + growl: ["9L3", "8V", "7L3", "7V", "6L3", "5L3", "4L3", "3L9"], hail: ["7M", "7L53", "6M", "6L53", "5M", "5L53", "4M", "3M"], - headbutt: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4T", "4L1", "3L1"], - helpinghand: ["8V", "3S0"], + haze: ["9M"], + headbutt: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4T", "4L1", "3L1"], + helpinghand: ["9M", "8V", "3S0"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - horndrill: ["7E", "7V", "6E", "5E", "4E", "3E"], - icebeam: ["8V", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L47", "4M", "4L47", "3M", "3L41", "3S0"], - iceshard: ["8V", "7L17", "6L17", "5L17", "4L17"], - iciclespear: ["7E", "6E", "5E", "5D", "4E", "3E"], - icywind: ["7T", "7L11", "7V", "6T", "6L11", "5T", "5L11", "4T", "4L11", "3T", "3L17"], + horndrill: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + hydropump: ["9M"], + icebeam: ["9M", "9L47", "8V", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L47", "4M", "4L47", "3M", "3L41", "3S0"], + iceshard: ["9L17", "8V", "7L17", "6L17", "5L17", "4L17"], + icespinner: ["9M"], + iciclespear: ["9M", "7E", "6E", "5E", "5D", "4E", "3E"], + icywind: ["9M", "9L11", "7T", "7L11", "7V", "6T", "6L11", "5T", "5L11", "4T", "4L11", "3T", "3L17"], irontail: ["8V", "7T", "7E", "6T", "6E", "5T", "5E"], - lick: ["7E", "7V", "6E", "5E", "4E", "3E"], + lick: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], megahorn: ["8V"], mimic: ["7V", "3T"], + muddywater: ["9M"], naturalgift: ["4M"], payday: ["8V", "7V"], peck: ["7V"], - perishsong: ["7E", "7V", "6E", "5E", "4E", "3E"], - protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + perishsong: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8V", "7M", "7L21", "7V", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3M", "3L29"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L21", "8V", "7M", "7L21", "7V", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3M", "3L29"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], - safeguard: ["7M", "7L51", "7V", "6M", "6L51", "5M", "5L51", "4M", "4L51", "3M", "3L49", "3S0"], + safeguard: ["9L51", "7M", "7L51", "7V", "6M", "6L51", "5M", "5L51", "4M", "4L51", "3M", "3L49", "3S0"], secretpower: ["6M", "4M", "3M"], signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], skullbash: ["7V"], slam: ["7E", "7V", "6E", "5E", "4E", "3E"], - sleeptalk: ["7M", "7E", "7V", "6M", "6E", "5T", "5E", "5D", "4M", "3T"], - smartstrike: ["7M"], + sleeptalk: ["9M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "5D", "4M", "3T"], + smartstrike: ["9M", "7M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - spitup: ["7E", "6E", "5E", "4E"], - stockpile: ["7E", "6E", "5E", "4E"], + snowscape: ["9M", "9L53"], + spitup: ["9E", "7E", "6E", "5E", "4E"], + stockpile: ["9E", "7E", "6E", "5E", "4E"], strength: ["7V"], - substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], - surf: ["8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swallow: ["7E", "6E", "5E", "4E"], - takedown: ["8V", "7L37", "7V", "6L37", "5L37", "4L37", "3L37"], - thief: ["7M", "6M", "5M", "4M", "3M"], + swallow: ["9E", "7E", "6E", "5E", "4E"], + takedown: ["9M", "9L37", "8V", "7L37", "7V", "6L37", "5L37", "4L37", "3L37"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - waterfall: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + tripleaxel: ["9M"], + uproar: ["9M"], + waterfall: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], watergun: ["7V"], - waterpulse: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + waterpulse: ["9M", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], watersport: ["7L7", "6L7", "5L7", "4L7"], - whirlpool: ["7V", "4M"], + weatherball: ["9M"], + whirlpool: ["9M", "7V", "4M"], }, eventData: [ {generation: 3, level: 23, abilities: ["thickfat"], moves: ["helpinghand", "surf", "safeguard", "icebeam"]}, @@ -12435,74 +12686,91 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, dewgong: { learnset: { - aquajet: ["8V", "7L31", "6L31", "5L31", "4L31"], - aquaring: ["7L23", "6L23", "5L23", "4L23"], - aquatail: ["7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L43"], + alluringvoice: ["9M"], + aquajet: ["9L31", "8V", "7L31", "6L31", "5L31", "4L31"], + aquaring: ["9L23", "7L23", "6L23", "5L23", "4L23"], + aquatail: ["9L49", "7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L43"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - aurorabeam: ["8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L1"], - avalanche: ["4M"], + aurorabeam: ["9L27", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L1"], + avalanche: ["9M", "4M"], bide: ["7V"], - blizzard: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["7V", "3T"], - brine: ["7L33", "6L33", "5L33", "4M", "4L33"], + blizzard: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "7V", "3T"], + brine: ["9L33", "7L33", "6L33", "5L33", "4M", "4L33"], bubblebeam: ["7V"], captivate: ["4M"], + charm: ["9M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - curse: ["7V"], - dive: ["7L45", "6M", "6L45", "5M", "5L45", "4T", "4L41", "3M"], - doubleedge: ["8V", "7V", "3T"], + curse: ["9M", "7V"], + dive: ["9L45", "7L45", "6M", "6L45", "5M", "5L45", "4T", "4L41", "3M"], + doubleedge: ["9M", "8V", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drillrun: ["8V", "7T", "6T", "5T"], + drillrun: ["9M", "8V", "7T", "6T", "5T"], echoedvoice: ["7M", "6M", "5M"], - encore: ["8V", "7L13", "6L13", "5L13", "4L13"], - endure: ["7V", "4M", "3T"], - facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M", "9L13", "8V", "7L13", "6L13", "5L13", "4L13"], + endeavor: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], fakeout: ["8V"], - fling: ["7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], frostbreath: ["7M", "6M", "5M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["7M", "6M", "5M", "4M"], - growl: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], hail: ["7M", "7L65", "6M", "6L65", "5M", "5L65", "4M", "3M"], - headbutt: ["8V", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], - helpinghand: ["8V"], + haze: ["9M"], + headbutt: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + helpinghand: ["9M", "8V"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], horndrill: ["8V", "7V"], - hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L47", "3M", "3L51"], - iceshard: ["8V", "7L17", "6L17", "5L17", "4L17"], - icywind: ["7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], + hydropump: ["9M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "9L55", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L47", "3M", "3L51"], + iceshard: ["9L17", "8V", "7L17", "6L17", "5L17", "4L17"], + icespinner: ["9M"], + iciclespear: ["9M"], + icywind: ["9M", "9L1", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], irontail: ["8V", "7T", "6T", "5T"], - liquidation: ["7T"], + knockoff: ["9M"], + liquidation: ["9M", "7T"], megahorn: ["8V"], mimic: ["7V", "3T"], + muddywater: ["9M"], naturalgift: ["4M"], payday: ["8V", "7V"], - protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + playrough: ["9M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8V", "7M", "7L21", "7V", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3M", "3L29"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L21", "8V", "7M", "7L21", "7V", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3M", "3L29"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], - safeguard: ["7M", "7L61", "7V", "6M", "6L61", "5M", "5L61", "4M", "4L51", "3M", "3L64"], + safeguard: ["9L61", "7M", "7L61", "7V", "6M", "6L61", "5M", "5L61", "4M", "4L51", "3M", "3L64"], secretpower: ["6M", "4M", "3M"], - sheercold: ["7L1", "6L34", "5L34", "4L34", "3L34"], + sheercold: ["9L0", "7L1", "6L34", "5L34", "4L34", "3L34"], signalbeam: ["7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], skullbash: ["7V"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], - smartstrike: ["7M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smartstrike: ["9M", "7M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M", "9L65"], strength: ["7V"], - substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], - surf: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - takedown: ["8V", "7L39", "7V", "6L39", "5L39", "4L37", "3L42"], - thief: ["7M", "6M", "5M", "4M", "3M"], + takedown: ["9M", "9L39", "8V", "7L39", "7V", "6L39", "5L39", "4L37", "3L42"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - waterfall: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + tripleaxel: ["9M"], + uproar: ["9M"], + waterfall: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], watergun: ["7V"], - waterpulse: ["7T", "6T", "4M", "3M"], - whirlpool: ["7V", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["9M", "7V", "4M"], }, encounters: [ {generation: 1, level: 15}, @@ -12523,7 +12791,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], confuseray: ["9M"], - curse: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], dig: ["9M", "8V", "6M", "5M", "4M", "3M"], disable: ["9L12", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L8"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -12538,7 +12806,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "7M", "7L26", "6M", "6L26", "5M", "5L28", "4M", "4L28"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], - gunkshot: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L49", "4T", "4L44"], + gunkshot: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L43", "4T", "4L44"], harden: ["9L4", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3L4"], haze: ["9M", "9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], headbutt: ["8V"], @@ -12552,15 +12820,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { lick: ["7E", "7V", "6E", "5E", "4E", "3E"], meanlook: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], megadrain: ["8V", "7V"], - memento: ["9L48", "7L48", "6L48", "5L52", "4L49", "3L53"], + memento: ["9L48", "7L48", "6L48", "5L48", "4L49", "3L53"], metronome: ["9M"], mimic: ["7V", "3T"], minimize: ["9L21", "8V", "7L21", "7V", "6L18", "5L17", "4L17", "3L19", "3S0"], - mudbomb: ["7L18", "6L18", "5L23", "4L23"], + mudbomb: ["7L18", "6L18", "5L21", "4L23"], mudshot: ["9M", "9L18"], mudslap: ["9M", "9L7", "7L7", "7V", "6L7", "5L7", "4T", "4L7", "3T"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["7M", "6M", "5M", "4M"], poisongas: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], @@ -12576,7 +12844,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["7M", "6M", "5M"], sandstorm: ["9M"], scaryface: ["9M", "7E", "6E", "5E"], - screech: ["9L37", "8V", "7L37", "7V", "6L32", "5L33", "4L33", "3L26"], + screech: ["9L37", "8V", "7L37", "7V", "6L32", "5L32", "4L33", "3L26"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["8V", "7V", "3T"], shadowball: ["9M", "8V", "7M", "6M", "5M", "4M"], @@ -12584,9 +12852,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowsneak: ["9E", "7E", "6E", "5E", "5D", "4E"], shockwave: ["7T", "6T", "4M", "3M"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludge: ["9L15", "8V", "7L15", "7V", "6L15", "5L20", "4L20", "3L13"], - sludgebomb: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L36", "4M", "4L36", "3M", "3L43", "3S0"], - sludgewave: ["9L32", "7M", "7L32", "6M", "6L32", "5M", "5L44"], + sludge: ["9L15", "8V", "7L15", "7V", "6L15", "5L15", "4L20", "3L13"], + sludgebomb: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L36", "3M", "3L43", "3S0"], + sludgewave: ["9M", "9L32", "7M", "7L32", "6M", "6L32", "5M", "5L37"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], spitup: ["9E", "7E", "6E", "5E", "4E"], stockpile: ["9E", "7E", "6E", "5E", "4E"], @@ -12629,7 +12897,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { clearsmog: ["9E", "7E"], confide: ["7M"], crunch: ["9M", "9L32", "8V", "7L32"], - curse: ["9E", "7E"], + curse: ["9M", "9E", "7E"], darkpulse: ["9M"], dig: ["9M", "8V"], disable: ["9L12", "8V", "7L12"], @@ -12665,7 +12933,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { minimize: ["9L21", "8V", "7L21"], mudshot: ["9M"], mudslap: ["9M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["7M"], poisonfang: ["9L18", "7L18"], poisongas: ["9L1", "8V", "7L1", "7S0"], @@ -12692,7 +12960,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T"], sleeptalk: ["9M", "7M"], sludgebomb: ["9M", "8V", "7M"], - sludgewave: ["7M"], + sludgewave: ["9M", "7M"], snarl: ["9M", "7M"], snore: ["7T"], spite: ["9M", "9E", "7T", "7E"], @@ -12733,7 +13001,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], confuseray: ["9M"], - curse: ["7V"], + curse: ["9M", "7V"], darkpulse: ["9M", "8V", "7M", "6M", "5T", "4M"], dig: ["9M", "8V", "6M", "5M", "4M", "3M"], disable: ["9L12", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L8"], @@ -12752,7 +13020,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], - gunkshot: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L58", "4T", "4L54"], + gunkshot: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L49", "4T", "4L54"], harden: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], haze: ["9M", "8V"], headbutt: ["8V"], @@ -12768,16 +13036,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { lashout: ["9M"], lunge: ["9M"], megadrain: ["8V", "7V"], - memento: ["9L57", "7L57", "6L57", "5L64", "4L65", "3L61"], + memento: ["9L57", "7L57", "6L57", "5L57", "4L65", "3L61"], metronome: ["9M"], mimic: ["7V", "3T"], minimize: ["9L21", "8V", "7L21", "7V", "6L18", "5L17", "4L17", "3L19"], moonblast: ["8V"], - mudbomb: ["7L18", "6L18", "5L23", "4L23"], + mudbomb: ["7L18", "6L18", "5L21", "4L23"], mudshot: ["9M", "9L18"], mudslap: ["9M", "9L1", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3T"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["7M", "6M", "5M", "4M"], poisongas: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], @@ -12794,15 +13062,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["7M", "6M", "5M"], sandstorm: ["9M"], scaryface: ["9M"], - screech: ["9L37", "8V", "7L37", "7V", "6L32", "5L33", "4L33", "3L26"], + screech: ["9L37", "8V", "7L37", "7V", "6L32", "5L32", "4L33", "3L26"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["8V", "7V", "3T"], shadowball: ["9M", "8V", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludge: ["9L15", "8V", "7L15", "7V", "6L15", "5L20", "4L20", "3L13"], - sludgebomb: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L36", "4M", "4L36", "3M", "3L47"], - sludgewave: ["9L32", "7M", "7L32", "6M", "6L32", "5M", "5L50"], + sludge: ["9L15", "8V", "7L15", "7V", "6L15", "5L15", "4L20", "3L13"], + sludgebomb: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L36", "3M", "3L47"], + sludgewave: ["9M", "9L32", "7M", "7L32", "6M", "6L32", "5M", "5L37"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], spite: ["9M"], strength: ["6M", "5M", "4M", "3M"], @@ -12848,6 +13116,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { brutalswing: ["7M"], confide: ["7M"], crunch: ["9M", "9L32", "8V", "7L32"], + curse: ["9M"], darkpulse: ["9M", "8V", "7M"], dig: ["9M", "8V"], disable: ["9L12", "8V", "7L12"], @@ -12888,7 +13157,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { moonblast: ["8V"], mudshot: ["9M"], mudslap: ["9M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["7M"], poisonfang: ["9L18", "7L18"], poisongas: ["9L1", "8V", "7L1"], @@ -12912,7 +13181,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T"], sleeptalk: ["9M", "7M"], sludgebomb: ["9M", "8V", "7M"], - sludgewave: ["7M"], + sludgewave: ["9M", "7M"], snarl: ["9M", "7M"], snore: ["7T"], spite: ["9M", "7T"], @@ -13011,7 +13280,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M"], watergun: ["9L1", "8L1", "8V", "7L1", "7V"], waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], - whirlpool: ["9L16", "8M", "8L16", "7L40", "7V", "6L40", "5L40", "4M", "4L37"], + whirlpool: ["9M", "9L16", "8M", "8L16", "7L40", "7V", "6L40", "5L40", "4M", "4L37"], withdraw: ["9L4", "8L4", "8V", "7L4", "7V", "6L4", "5L4", "5D", "4L4", "3L1", "3S0", "3S1"], }, eventData: [ @@ -13111,7 +13380,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1", "8V", "7V"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["9L1", "8M", "8L1", "7V", "4M"], + whirlpool: ["9M", "9L1", "8M", "8L1", "7V", "4M"], withdraw: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], }, eventData: [ @@ -13130,7 +13399,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M", "9L1", "8L1", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L21"], corrosivegas: ["8T"], - curse: ["9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], + curse: ["9M", "9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], darkpulse: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L36", "6M", "6L36", "5T", "5L36", "4M", "4L36"], dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], destinybond: ["9L44", "8L44", "7L40", "7V", "6L40", "5L40", "4L40", "3L33"], @@ -13167,7 +13436,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7L47", "7V", "6L47", "5L47", "4L43", "3T", "3L41"], nightshade: ["9M", "9L28", "8L28", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L16"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["9L12", "8M", "8L12", "7M", "7L26", "6M", "6L26", "5M", "5L26", "4M", "4L26"], perishsong: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], poisongas: ["8V"], @@ -13175,7 +13444,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poltergeist: ["9M", "8T"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psywave: ["7E", "7V", "6E", "5E", "4E", "3E"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -13188,10 +13457,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { selfdestruct: ["8M", "8V", "7V", "3T"], shadowball: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L29", "4M", "4L29", "3M", "3L36"], skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "5D"], + sludgewave: ["9M", "8M", "5D"], smog: ["9E", "8E", "8V", "7E", "6E", "5E"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -13231,7 +13500,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M", "9L1", "8L1", "8V", "7L19", "7V", "6L19", "5L19", "5S0", "4L19", "3L21"], corrosivegas: ["8T"], - curse: ["9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], + curse: ["9M", "9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], darkpulse: ["9M", "9L42", "8M", "8L42", "8V", "7M", "7L44", "6M", "6L44", "5T", "5L44", "4M", "4L44"], dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], destinybond: ["9L54", "8L54", "7L50", "7V", "6L50", "5L50", "4L50", "3L39"], @@ -13270,7 +13539,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7L61", "7V", "6L61", "5L61", "4L55", "3T", "3L53"], nightshade: ["9M", "9L30", "8L30", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L16"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["9L12", "8M", "8L12", "7M", "7L28", "6M", "6L28", "5M", "5L28", "5S0", "4M", "4L28"], phantomforce: ["9M"], poisongas: ["8V"], @@ -13278,7 +13547,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poltergeist: ["9M", "8T"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psywave: ["7V"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -13292,10 +13561,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shadowpunch: ["9L0", "8L0", "7L1", "6L25", "5L25", "5S0", "4L25", "3L25"], skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], smog: ["8V"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -13346,7 +13615,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M", "9L1", "8L1", "8V", "7L19", "7V", "6L19", "6S1", "6S2", "6S4", "5L19", "4L19", "3L21", "3S0"], corrosivegas: ["8T"], counter: ["7V", "3T"], - curse: ["9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13", "3S0"], + curse: ["9M", "9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13", "3S0"], darkpulse: ["9M", "9L42", "8M", "8L42", "8V", "7M", "7L44", "6M", "6L44", "5T", "5L44", "4M", "4L44"], dazzlinggleam: ["9M", "8M", "8V", "8S7", "7M", "6M"], destinybond: ["9L54", "8L54", "7L50", "7V", "6L50", "6S3", "5L50", "4L50", "3L39"], @@ -13395,7 +13664,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7L61", "7V", "6L61", "5L61", "4L55", "3T", "3L53"], nightshade: ["9M", "9L30", "8L30", "8V", "7L15", "7V", "6L15", "6S2", "5L15", "4L15", "3L16", "3S0"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["9L12", "8M", "8L12", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28"], perishsong: ["9L1", "8L1"], phantomforce: ["9M", "8M"], @@ -13405,7 +13674,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "6S1", "6S5", "6S6", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psywave: ["7V"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -13423,11 +13693,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shadowpunch: ["9L1", "8L1", "7L1", "6L25", "6S1", "6S2", "5L25", "4L25", "3L25"], skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], skullbash: ["7V"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8M", "8V", "8S7", "7M", "6M", "6S3", "5M", "4M", "3M"], - sludgewave: ["8M", "6S4"], + sludgewave: ["9M", "8M", "6S4"], smog: ["8V"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -13483,12 +13753,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["8M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], - curse: ["8L16", "7L4", "7V", "6L4", "5L46", "4L38"], + curse: ["8L16", "7L4", "7V", "6L4", "5L4", "4L38"], defensecurl: ["8E", "7E", "6E", "5E", "4E"], dig: ["8M", "8L44", "8V", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "3M"], - doubleedge: ["8L56", "8V", "7L49", "7V", "6L49", "5L57", "4L46", "3T", "3L56"], + doubleedge: ["8L56", "8V", "7L49", "7V", "6L49", "5L49", "4L46", "3T", "3L56"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonbreath: ["8L12", "7L25", "6L25", "5L41", "4L33", "3L30"], + dragonbreath: ["8L12", "7L25", "6L25", "5L25", "4L33", "3L30"], dragondance: ["8M"], dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], dragontail: ["8E", "8V", "7M", "6M", "5M"], @@ -13510,7 +13780,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], highhorsepower: ["8M"], ironhead: ["8M", "7T", "6T", "5T", "4T"], - irontail: ["8M", "8L48", "8V", "7T", "7L40", "7V", "6T", "6L40", "5T", "5L49", "4M", "4L38", "3M", "3L45"], + irontail: ["8M", "8L48", "8V", "7T", "7L40", "7V", "6T", "6L40", "5T", "5L40", "4M", "4L38", "3M", "3L45"], meteorbeam: ["8T"], mimic: ["7V", "3T"], mudslap: ["7V", "4T", "3T"], @@ -13520,35 +13790,35 @@ export const Learnsets: {[k: string]: LearnsetData} = { payback: ["8M", "7M", "6M", "5M", "4M"], protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "3T"], - rage: ["8V", "7L13", "7V", "6L13", "5L14", "4L14", "3L23"], + rage: ["8V", "7L13", "7V", "6L13", "5L10", "4L14", "3L23"], rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], roar: ["7M", "7V", "6M", "5M", "4M", "3M"], rockblast: ["8M", "7E", "6E", "5E", "4E"], rockclimb: ["7E", "6E", "5E", "5D", "4M"], - rockpolish: ["8L8", "7M", "7L19", "6M", "6L19", "5M", "5L30", "4M", "4L30"], + rockpolish: ["8L8", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M", "4L30"], rockslide: ["8M", "8L20", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4E", "3T", "3E"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rockthrow: ["8L1", "8V", "7L7", "7V", "6L7", "5L9", "4L9", "3L12"], - rocktomb: ["8M", "7M", "7L10", "6M", "6L10", "5M", "5L17", "4M", "4L17", "3M"], + rockthrow: ["8L1", "8V", "7L7", "7V", "6L7", "5L7", "4L9", "3L12"], + rocktomb: ["8M", "7M", "7L10", "6M", "6L10", "5M", "5L13", "4M", "4L17", "3M"], rollout: ["8E", "7E", "6E", "5E", "4T", "4E"], rototiller: ["7E", "6E"], round: ["8M", "7M", "6M", "5M"], sandstorm: ["8M", "8L40", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L25", "4M", "4L22", "3M", "3L33"], - sandtomb: ["8M", "8L28", "7L37", "6L37", "5L54", "4L41", "3L49"], + sandtomb: ["8M", "8L28", "7L37", "6L37", "5L37", "4L41", "3L49"], scaryface: ["8M"], scorchingsands: ["8T"], screech: ["8M", "8L24", "8V", "7L31", "7V", "6L31", "5L6", "4L6", "3L1"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["8M", "8V", "7V", "3T"], skullbash: ["7V"], - slam: ["8L36", "8V", "7L28", "7V", "6L28", "5L33", "4L25", "3L37"], + slam: ["8L36", "8V", "7L28", "7V", "6L28", "5L28", "4L25", "3L37"], sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], smackdown: ["8L4", "7M", "7L22", "6M", "6L22", "5M", "5L22"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "8L32", "8V", "7T", "7L16", "7E", "6T", "6L16", "6E", "5T", "5L38", "5E", "5D", "4M"], + stealthrock: ["8M", "8L32", "8V", "7T", "7L16", "7E", "6T", "6L16", "6E", "5T", "5L16", "5E", "5D", "4M"], stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "8L52", "7M", "7L46", "6M", "6L46", "5M", "5L62", "4M", "4L49"], + stoneedge: ["8M", "8L52", "7M", "7L46", "6M", "6L46", "5M", "5L46", "4M", "4L49"], strength: ["7V", "6M", "5M", "4M", "3M"], substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -13570,7 +13840,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["4T"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - autotomize: ["8L8", "7L19", "6L19", "5L30"], + autotomize: ["8L8", "7L19", "6L19", "5L19"], bind: ["8L1", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4L1", "3L8"], block: ["7T", "6T", "5T", "4T"], bodypress: ["8M"], @@ -13580,15 +13850,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["8M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], - crunch: ["8M", "8L1", "7L37", "7V", "6L37", "5L54", "4L41", "3L49"], - curse: ["8L16", "7L4", "7V", "6L4", "5L46", "4L38"], + crunch: ["8M", "8L1", "7L37", "7V", "6L37", "5L37", "4L41", "3L49"], + curse: ["8L16", "7L4", "7V", "6L4", "5L4", "4L38"], cut: ["7V", "6M", "5M", "4M", "3M"], darkpulse: ["8M", "7M", "6M", "5T", "4M"], defensecurl: ["7V", "3T"], dig: ["8M", "8L44", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "3M"], - doubleedge: ["8L56", "7L49", "6L49", "5L57", "4L46", "3T", "3L56"], + doubleedge: ["8L56", "7L49", "6L49", "5L49", "4L46", "3T", "3L56"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonbreath: ["8L12", "7L25", "7V", "6L25", "5L41", "4L33", "3L30"], + dragonbreath: ["8L12", "7L25", "7V", "6L25", "5L25", "4L33", "3L30"], dragondance: ["8M"], dragonpulse: ["8M", "7T", "6T", "5T", "4M"], dragontail: ["7M", "6M", "5M"], @@ -13612,7 +13882,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], irondefense: ["8M"], ironhead: ["8M", "7T", "6T", "5T", "4T"], - irontail: ["8M", "8L48", "7T", "7L40", "7V", "6T", "6L40", "5T", "5L49", "4M", "4L38", "3M", "3L45"], + irontail: ["8M", "8L48", "7T", "7L40", "7V", "6T", "6L40", "5T", "5L40", "4M", "4L38", "3M", "3L45"], magnetrise: ["8L60", "7T", "6T", "5T", "4T"], meteorbeam: ["8T"], mimic: ["3T"], @@ -13624,7 +13894,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychicfangs: ["8M"], psychup: ["7M", "6M", "5M", "4M"], - rage: ["7L13", "7V", "6L13", "5L14", "4L14", "3L23"], + rage: ["7L13", "7V", "6L13", "5L10", "4L14", "3L23"], rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], roar: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -13633,8 +13903,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { rockpolish: ["8L1", "7M", "6M", "5M", "4M", "4L30"], rockslide: ["8M", "8L20", "7M", "7L34", "6M", "6L34", "5M", "5L34", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rockthrow: ["8L1", "7L7", "7V", "6L7", "5L9", "4L9", "3L12"], - rocktomb: ["8M", "7M", "7L10", "6M", "6L10", "5M", "5L17", "4M", "4L17", "3M"], + rockthrow: ["8L1", "7L7", "7V", "6L7", "5L7", "4L9", "3L12"], + rocktomb: ["8M", "7M", "7L10", "6M", "6L10", "5M", "5L13", "4M", "4L17", "3M"], rollout: ["7V", "4T", "3T"], round: ["8M", "7M", "6M", "5M"], sandstorm: ["8M", "8L40", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L25", "4M", "4L22", "3M", "3L33"], @@ -13644,15 +13914,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { screech: ["8M", "8L24", "7L31", "7V", "6L31", "5L6", "4L6", "3L1"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["8M", "3T"], - slam: ["8L36", "7L28", "7V", "6L28", "5L33", "4L25", "3L37"], + slam: ["8L36", "7L28", "7V", "6L28", "5L28", "4L25", "3L37"], sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], smackdown: ["8L4", "7M", "7L22", "6M", "6L22", "5M", "5L22"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "8L32", "7T", "7L16", "6T", "6L16", "5T", "5L38", "4M"], + stealthrock: ["8M", "8L32", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4M"], steelbeam: ["8T"], steelroller: ["8T"], stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "8L52", "7M", "7L46", "6M", "6L46", "5M", "5L62", "4M", "4L49"], + stoneedge: ["8M", "8L52", "7M", "7L46", "6M", "6L46", "5M", "5L46", "4M", "4L49"], strength: ["7V", "6M", "5M", "4M", "3M"], substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -13680,17 +13950,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confusion: ["9L9", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L11"], counter: ["7V", "3T"], - curse: ["7V"], + curse: ["9M", "7V"], dazzlinggleam: ["9M", "8V", "7M", "6M"], disable: ["9L5", "8V", "7L5", "7V", "6L5", "5L5", "4L7", "3L7"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M"], drainpunch: ["9M", "7T", "6T", "5T", "5D", "4M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], dynamicpunch: ["7V", "3T"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], + expandingforce: ["9M"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "9E", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], flash: ["7V", "6M", "5M", "4M", "3M"], @@ -13700,7 +13972,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M", "3M"], foulplay: ["9M", "8V", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["9L49", "7L61", "7V", "6L61", "5L61", "4L53", "3L45"], + futuresight: ["9M", "9L49", "7L61", "7V", "6L61", "5L61", "4L53", "3L45"], grassknot: ["9M", "7M", "6M", "5M", "4M"], guardswap: ["9E", "7E", "6E", "5E", "4E"], haze: ["9M"], @@ -13732,9 +14004,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L21", "8V", "7L25", "6L25", "5L25", "4L26"], psychic: ["9M", "9L37", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L40", "3M", "3L31"], + psychicnoise: ["9M"], psychicterrain: ["9M", "7E"], psychocut: ["9E", "7E", "6E", "5E", "5D", "4E"], - psychup: ["9L25", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L29", "3T", "3L37"], + psychup: ["9M", "9L25", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L29", "3T", "3L37"], psyshock: ["9M", "9L45", "7M", "7L57", "6M", "6L57", "5M", "5L57"], psywave: ["7V"], rage: ["7V"], @@ -13804,17 +14077,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], confusion: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], counter: ["7V", "3T"], - curse: ["7V"], + curse: ["9M", "7V"], dazzlinggleam: ["9M", "8V", "7M", "6M"], disable: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M"], drainpunch: ["9M", "7T", "6T", "5T", "4M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], dynamicpunch: ["7V", "3T"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], + expandingforce: ["9M"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], flash: ["7V", "6M", "5M", "4M", "3M"], @@ -13823,7 +14098,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M", "3M"], foulplay: ["9M", "8V", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["9L56", "7L1", "7V", "6L1", "5L61", "4L69", "3L57"], + futuresight: ["9M", "9L56", "7L1", "7V", "6L1", "5L61", "4L69", "3L57"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "7M", "6M", "5M", "4M"], haze: ["9M"], @@ -13856,8 +14131,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L21", "8V", "7L25", "6L25", "5L25", "4L28"], psychic: ["9M", "9L42", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L50", "3M", "3L35", "3S0"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["9L25", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L33", "3T", "3L43"], + psychup: ["9M", "9L25", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L33", "3T", "3L43"], psyshock: ["9M", "9L51", "7M", "7L57", "6M", "6L57", "5M", "5L57"], psywave: ["7V"], rage: ["7V"], @@ -14105,10 +14381,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], curse: ["7V"], discharge: ["9L37", "7L37", "6L37"], + doubleedge: ["9M"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], eerieimpulse: ["9M", "9L6", "7L6", "6L6"], electricterrain: ["9M"], electroball: ["9M", "9L22", "7L22", "6L22", "5L29"], + electroweb: ["9M"], endure: ["9M", "7V", "4M", "3T"], explosion: ["9L41", "8V", "7M", "7L41", "7V", "6M", "6L41", "5M", "5L47", "4M", "4L43", "3T", "3L46"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -14122,7 +14400,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L22", "3M", "3L37"], magiccoat: ["7T", "6T", "5T", "4T"], magnetrise: ["9L34", "7T", "7L34", "6T", "6L34", "5T", "5L40", "4T", "4L36"], - metalsound: ["9E"], + metalsound: ["9M", "9E"], mimic: ["7V", "3T"], mirrorcoat: ["9L50", "8V", "7L48", "7V", "6L48", "5L50", "4L47", "3L49", "3S0"], naturalgift: ["5D", "4M"], @@ -14180,8 +14458,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L1"], chargebeam: ["9M", "9L16"], discharge: ["9L34"], + doubleedge: ["9M"], electricterrain: ["9M"], electroball: ["9M", "9L22"], + electroweb: ["9M"], endure: ["9M"], energyball: ["9M", "9L29"], explosion: ["9L41"], @@ -14229,12 +14509,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], chargebeam: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L22", "4M", "4L26"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], discharge: ["9L41", "7L41", "6L41"], + doubleedge: ["9M"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], eerieimpulse: ["9M", "9L1", "7L1", "6L6"], electricterrain: ["9M"], electroball: ["9M", "9L22", "7L22", "6L22", "5L29"], + electroweb: ["9M"], endure: ["9M", "7V", "4M", "3T"], explosion: ["9L47", "8V", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L57", "4M", "4L51", "3T", "3L54"], facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -14251,6 +14533,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T", "5T", "4T"], magneticflux: ["9L1", "7L1", "6L1"], magnetrise: ["9L36", "7T", "7L36", "6T", "6L36", "5T", "5L46", "4T", "4L40"], + metalsound: ["9M"], mimic: ["7V", "3T"], mirrorcoat: ["9L58", "8V", "7L58", "7V", "6L58", "5L62", "4L57", "3L59"], naturalgift: ["4M"], @@ -14275,6 +14558,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { spark: ["9L9", "7L9", "6L1", "5L1", "4L1", "3L21"], substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], suckerpunch: ["4T"], + supercellslam: ["9M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swift: ["9M", "9L20", "8V", "7L20", "7V", "6L20", "5L40", "4T", "4L35", "3T", "3L48"], tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], @@ -14308,9 +14592,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L1"], chargebeam: ["9M", "9L16"], chloroblast: ["9L0"], + curse: ["9M"], discharge: ["9L34"], + doubleedge: ["9M"], electricterrain: ["9M"], electroball: ["9M", "9L22"], + electroweb: ["9M"], endure: ["9M"], energyball: ["9M", "9L29"], explosion: ["9L41"], @@ -14337,6 +14624,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { solarbeam: ["9M"], stunspore: ["9L6"], substitute: ["9M"], + supercellslam: ["9M"], swift: ["9M", "9L20"], tackle: ["9L1"], takedown: ["9M"], @@ -14353,88 +14641,96 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, exeggcute: { learnset: { - absorb: ["8L1"], - ancientpower: ["8E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], + absorb: ["9L1", "8L1"], + ancientpower: ["9E", "8E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], barrage: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], bestow: ["7L50", "6L50", "5L53"], bide: ["7V"], - block: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], - bulletseed: ["8M", "8L30", "7L17", "6L17", "5L17", "4M", "4L17", "3M"], + block: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + bulletseed: ["9M", "9L30", "8M", "8L30", "7L17", "6L17", "5L17", "4M", "4L17", "3M"], captivate: ["4M"], confide: ["7M", "6M"], - confusion: ["8L20", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L19"], - curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + confusion: ["9L20", "8L20", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L19"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], eggbomb: ["7V"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], - extrasensory: ["8L40", "7L47", "6L47", "5L47"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + extrasensory: ["9L40", "8L40", "7L47", "6L47", "5L47"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigadrain: ["8M", "8L35", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grassyglide: ["8T"], - grassyterrain: ["8M", "7E", "6E"], + gigadrain: ["9M", "9L35", "8M", "8L35", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M", "7E", "6E"], gravity: ["7T", "6T", "5T", "4T"], headbutt: ["8V"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hypnosis: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + hypnosis: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + imprison: ["9M"], infestation: ["7M", "6M"], - ingrain: ["8E", "7E", "6E", "5E", "4E", "3E"], - leafstorm: ["8M", "7E", "6E", "5E", "4E"], - leechseed: ["8L10", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L13"], - lightscreen: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + ingrain: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + leafstorm: ["9M", "8M", "7E", "6E", "5E", "4E"], + leechseed: ["9L10", "8L10", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L13"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], luckychant: ["7E", "6E", "5E", "4E"], - megadrain: ["8L15", "8V", "7V"], + megadrain: ["9L15", "8L15", "8V", "7V"], mimic: ["7V", "3T"], - moonlight: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + moonlight: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], naturalgift: ["7L37", "7E", "6L37", "6E", "5L37", "5E", "4M", "4L37"], naturepower: ["7M", "7E", "6M", "6E", "5E", "4E"], nightmare: ["7V", "3T"], - poisonpowder: ["8E", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L31"], + poisonpowder: ["9E", "8E", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L31"], powerswap: ["8M", "7E", "6E", "5E", "4E"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psybeam: ["8V"], - psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "5L47", "4M", "4L47", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "8V"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5L47", "4M", "4L47", "3M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshock: ["9M"], psywave: ["7V"], rage: ["7V"], - reflect: ["8M", "8L5", "8V", "7M", "7L7", "7V", "6M", "6L7", "5M", "5L7", "4M", "4L7", "4E", "3M", "3L7", "3E"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "9L5", "8M", "8L5", "8V", "7M", "7L7", "7V", "6M", "6L7", "5M", "5L7", "4M", "4L7", "4E", "3M", "3L7", "3E"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rollout: ["7V", "4T", "3T"], round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], selfdestruct: ["8M", "8V", "7V", "3T"], - skillswap: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], - sleeppowder: ["8E", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L37"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + skillswap: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + sleeppowder: ["9E", "8E", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L37"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8L55", "8V", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + solarbeam: ["9M", "9L55", "8M", "8L55", "8V", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + storedpower: ["9M"], strength: ["7V", "6M", "5M", "4M", "3M"], - stunspore: ["8E", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L25"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + stunspore: ["9E", "8E", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L25"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], sweetscent: ["3S0"], - swordsdance: ["8M", "7M", "6M", "5M", "4M"], - synthesis: ["8L25", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + synthesis: ["9L25", "8L25", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], takedown: ["7V"], telekinesis: ["7T", "5M"], teleport: ["8V", "7V"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["9M"], trickroom: ["8M", "7M", "6M", "5M", "4M"], - uproar: ["8M", "8L45", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + uproar: ["9M", "9L45", "8M", "8L45", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], wish: ["3S0"], - worryseed: ["8L50", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33"], + worryseed: ["9L50", "8L50", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33"], + zenheadbutt: ["9M"], }, eventData: [ {generation: 3, level: 5, shiny: 1, moves: ["sweetscent", "wish"], pokeball: "pokeball"}, @@ -14445,96 +14741,107 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, exeggutor: { learnset: { - absorb: ["8L1"], + absorb: ["9L1", "8L1"], ancientpower: ["4T", "3S0"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], barrage: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], bide: ["7V"], block: ["7T", "6T", "5T"], - bulldoze: ["8M"], - bulletseed: ["8M", "8L1", "4M", "3M"], - calmmind: ["8M"], + bodyslam: ["9M"], + bulldoze: ["9M", "8M"], + bulletseed: ["9M", "9L1", "8M", "8L1", "4M", "3M"], + calmmind: ["9M", "8M"], captivate: ["4M"], confide: ["7M", "6M"], - confusion: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - curse: ["7V"], - doubleedge: ["7V", "3T"], + confusion: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + curse: ["9M", "7V"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + earthquake: ["9M"], eggbomb: ["8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L31"], - endure: ["8M", "7V", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - expandingforce: ["8T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["9M", "8T"], explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], - extrasensory: ["8L1"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + extrasensory: ["9L1", "8L1"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["8M"], - gigadrain: ["8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grassyglide: ["8T"], - grassyterrain: ["8M"], - gravity: ["7T", "6T", "5T", "4T"], + futuresight: ["9M", "8M"], + gigadrain: ["9M", "9L1", "8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + growth: ["9L1"], headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - hypnosis: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + imprison: ["9M"], infestation: ["7M", "6M"], - leafstorm: ["8M", "8L1", "7L47", "6L47", "5L47", "4L47"], - leechseed: ["8L1"], - lightscreen: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - magicalleaf: ["8M"], - megadrain: ["8L1", "8V", "7V"], + leafstorm: ["9M", "9L1", "8M", "8L1", "7L47", "6L47", "5L47", "4L47"], + leechseed: ["9L1", "8L1"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + magicalleaf: ["9M", "8M"], + megadrain: ["9L1", "8L1", "8V", "7V"], mimic: ["7V", "3T"], naturalgift: ["4M"], naturepower: ["7M", "6M"], nightmare: ["7V", "3T"], powerswap: ["8M"], powerwhip: ["8V"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + psychicnoise: ["9M"], + psychicterrain: ["9M"], psychocut: ["8M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "8L1", "7M", "7L17", "6M", "6L17", "5M", "5L17"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "9L1", "8M", "8L1", "7M", "7L17", "6M", "6L17", "5M", "5L17"], psywave: ["7V"], rage: ["7V"], - reflect: ["8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], refresh: ["3S0"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rollout: ["7V", "4T", "3T"], round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + seedbomb: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], selfdestruct: ["8M", "8V", "7V", "3T"], - skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - stomp: ["8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L19"], - stompingtantrum: ["8M", "7T"], + solarbeam: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stomp: ["9L0", "8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L19"], + stompingtantrum: ["9M", "8M", "7T"], + storedpower: ["9M"], strength: ["7V", "6M", "5M", "4M", "3M"], stunspore: ["8V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M"], - synthesis: ["8L1", "7T", "6T", "5T", "4T"], - takedown: ["7V"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + synthesis: ["9L1", "8L1", "7T", "6T", "5T", "4T"], + takedown: ["9M", "7V"], telekinesis: ["7T", "5M"], teleport: ["8V", "7V"], + terablast: ["9M"], terrainpulse: ["8T"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - trickroom: ["8M", "7M", "6M", "5M", "4M"], - uproar: ["8M", "8L1"], - woodhammer: ["8L1", "7L37", "6L37", "5L37", "4L37"], - worryseed: ["8L1", "7T", "6T", "5T", "4T"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + trick: ["9M"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "9L1", "8M", "8L1"], + woodhammer: ["9L1", "8L1", "7L37", "6L37", "5L37", "4L37"], + worryseed: ["9L1", "8L1", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 3, level: 46, moves: ["refresh", "psychic", "hypnosis", "ancientpower"]}, @@ -14542,90 +14849,106 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, exeggutoralola: { learnset: { - absorb: ["8L1"], + absorb: ["9L1", "8L1"], attract: ["8M", "7M"], barrage: ["8V", "7L1"], block: ["7T"], - breakingswipe: ["8M"], - brickbreak: ["8M", "8V", "7M"], + bodyslam: ["9M"], + breakingswipe: ["9M", "8M"], + brickbreak: ["9M", "8M", "8V", "7M"], brutalswing: ["8M", "7M"], - bulldoze: ["8M", "7M"], - bulletseed: ["8M", "8L1"], + bulldoze: ["9M", "8M", "7M"], + bulletseed: ["9M", "9L1", "8M", "8L1"], + calmmind: ["9M"], celebrate: ["7S0"], confide: ["7M"], - confusion: ["8L1", "8V", "7L1"], + confusion: ["9L1", "8L1", "8V", "7L1"], + curse: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M"], - dracometeor: ["8T", "7T", "7S0"], - dragonhammer: ["8L0", "7L1"], - dragonpulse: ["8M", "8V", "7T"], - dragontail: ["8V", "7M"], + dracometeor: ["9M", "8T", "7T", "7S0"], + dragoncheer: ["9M"], + dragonhammer: ["9L0", "8L0", "7L1"], + dragonpulse: ["9M", "8M", "8V", "7T"], + dragontail: ["9M", "8V", "7M"], dreameater: ["8V", "7M"], - earthquake: ["8M", "8V", "7M"], + earthquake: ["9M", "8M", "8V", "7M"], eggbomb: ["8V", "7L27"], - endure: ["8M"], - energyball: ["8M", "7M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], explosion: ["7M"], - extrasensory: ["8L1"], - facade: ["8M", "8V", "7M"], - flamethrower: ["8M", "8V", "7M"], + extrasensory: ["9L1", "8L1"], + facade: ["9M", "8M", "8V", "7M"], + flamethrower: ["9M", "8M", "8V", "7M"], frustration: ["7M"], - gigadrain: ["8M", "8L1", "7T"], - gigaimpact: ["8M", "7M"], - grassknot: ["8M", "7M"], - grassyglide: ["8T"], - grassyterrain: ["8M"], - gravity: ["7T"], + gigadrain: ["9M", "9L1", "8M", "8L1", "7T"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + gravity: ["9M", "7T"], + growth: ["9L1"], headbutt: ["8V"], + helpinghand: ["9M"], hiddenpower: ["7M"], - hyperbeam: ["8M", "8V", "7M"], - hypnosis: ["8L1", "8V", "7L1"], + hyperbeam: ["9M", "8M", "8V", "7M"], + hypnosis: ["9L1", "8L1", "8V", "7L1"], + imprison: ["9M"], infestation: ["7M"], - ironhead: ["8M", "7T"], + ironhead: ["9M", "8M", "7T"], irontail: ["8M", "8V", "7T"], - knockoff: ["7T"], - leafstorm: ["8M", "8L1", "7L47", "7S0"], - leechseed: ["8L1"], - lightscreen: ["8M", "8V", "7M"], - lowkick: ["8M", "7T"], - magicalleaf: ["8M"], - megadrain: ["8L1", "8V"], + knockoff: ["9M", "7T"], + leafstorm: ["9M", "9L1", "8M", "8L1", "7L47", "7S0"], + leechseed: ["9L1", "8L1"], + lightscreen: ["9M", "8M", "8V", "7M"], + lowkick: ["9M", "8M", "7T"], + magicalleaf: ["9M", "8M"], + megadrain: ["9L1", "8L1", "8V"], naturepower: ["7M"], - outrage: ["8M", "8V", "7T"], + outrage: ["9M", "8M", "8V", "7T"], powerswap: ["8M", "7S0"], powerwhip: ["8M", "8V"], - protect: ["8M", "8V", "7M"], - psychic: ["8M", "8V", "7M"], - psychup: ["7M"], - psyshock: ["8M", "8L1", "7M", "7L17"], - reflect: ["8M", "8L1", "8V", "7M"], - rest: ["8M", "8V", "7M"], + protect: ["9M", "8M", "8V", "7M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "8V", "7M"], + psychicnoise: ["9M"], + psychicterrain: ["9M"], + psychup: ["9M", "7M"], + psyshock: ["9M", "9L1", "8M", "8L1", "7M", "7L17"], + reflect: ["9M", "9L1", "8M", "8L1", "8V", "7M"], + rest: ["9M", "8M", "8V", "7M"], return: ["7M"], round: ["8M", "7M"], - seedbomb: ["8M", "8L1", "7T", "7L1"], + seedbomb: ["9M", "9L1", "8M", "8L1", "7T", "7L1"], selfdestruct: ["8M", "8V"], - skillswap: ["8M", "7T"], - sleeptalk: ["8M", "7M"], - sludgebomb: ["8M", "8V", "7M"], + skillswap: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "8V", "7M"], snore: ["8M", "7T"], - solarbeam: ["8M", "8L1", "8V", "7M"], - stompingtantrum: ["8M", "7T"], + solarbeam: ["9M", "9L1", "8M", "8L1", "8V", "7M"], + stompingtantrum: ["9M", "8M", "7T"], + storedpower: ["9M"], stunspore: ["8V"], - substitute: ["8M", "8V", "7M"], - sunnyday: ["8M", "7M"], + substitute: ["9M", "8M", "8V", "7M"], + sunnyday: ["9M", "8M", "7M"], superpower: ["8M", "8V", "7T"], swagger: ["7M"], - swordsdance: ["8M", "7M"], - synthesis: ["8L1", "7T"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L1", "8L1", "7T"], + takedown: ["9M"], telekinesis: ["7T"], teleport: ["8V"], + terablast: ["9M"], terrainpulse: ["8T"], - thief: ["8M", "7M"], + thief: ["9M", "8M", "7M"], toxic: ["8V", "7M"], - trickroom: ["8M", "7M"], - uproar: ["8M", "8L1"], - woodhammer: ["8L1", "7L37"], - worryseed: ["8L1", "7T"], - zenheadbutt: ["8M", "7T"], + trailblaze: ["9M"], + trick: ["9M"], + trickroom: ["9M", "8M", "7M"], + uproar: ["9M", "9L1", "8M", "8L1"], + woodhammer: ["9L1", "8L1", "7L37"], + worryseed: ["9L1", "8L1", "7T"], + zenheadbutt: ["9M", "8M", "7T"], }, eventData: [ {generation: 7, level: 50, gender: "M", nature: "Modest", isHidden: true, moves: ["powerswap", "celebrate", "leafstorm", "dracometeor"], pokeball: "cherishball"}, @@ -15036,161 +15359,174 @@ export const Learnsets: {[k: string]: LearnsetData} = { tyrogue: { learnset: { attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulkup: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "7M", "6M", "5M"], - bulletpunch: ["8E", "7E", "6E", "5E", "4E"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletpunch: ["9E", "8E", "7E", "6E", "5E", "4E"], captivate: ["4M"], confide: ["7M", "6M"], - counter: ["8E", "7E", "6E", "5E", "4E", "3T"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E", "3T"], covet: ["7T", "6T", "5T"], curse: ["7V"], detect: ["7V"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - fakeout: ["8L1", "7L1", "6L1", "5L1", "5D", "4L1"], - feint: ["8E", "7E", "6E", "5E", "5D"], - focusenergy: ["8M", "8L1"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1"], + feint: ["9E", "8E", "7E", "6E", "5E", "5D"], + focusenergy: ["9L1", "8M", "8L1"], foresight: ["7L1", "6L1", "5L1", "4L1"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], - helpinghand: ["8M", "8L1", "7T", "7L1", "7E", "6T", "6L1", "6E", "5T", "5L1", "5E", "4T", "4L1", "4E", "3E"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "7E", "6T", "6L1", "6E", "5T", "5L1", "5E", "4T", "4L1", "4E", "3E"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - highjumpkick: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + highjumpkick: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], laserfocus: ["7T"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], - machpunch: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + machpunch: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], megakick: ["8M", "3T"], megapunch: ["8M"], mimic: ["3T"], mindreader: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], pursuit: ["7E", "6E", "5E"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rapidspin: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rapidspin: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], roleplay: ["7T", "6T", "5T", "4T"], round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], - tackle: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "6T", "5T", "4T"], - vacuumwave: ["8E", "7E", "6E", "5E", "4T", "4E"], + upperhand: ["9M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + vacuumwave: ["9M", "9E", "8E", "7E", "6E", "5E", "4T", "4E"], workup: ["8M", "7M", "5M"], }, }, hitmonlee: { learnset: { attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - aurasphere: ["8M"], + aurasphere: ["9M", "8M"], + axekick: ["9L50"], + batonpass: ["9M"], bide: ["7V"], - blazekick: ["8M", "8L24", "7L45", "6L45", "5L45", "4L41"], - bodyslam: ["8M", "7V", "3T"], + blazekick: ["9L24", "8M", "8L24", "7L45", "6L45", "5L45", "4L41"], + bodyslam: ["9M", "8M", "7V", "3T"], bounce: ["8M", "7T", "6T", "5T", "4T"], - brickbreak: ["8M", "8L0", "8V", "7M", "7L17", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L20"], - bulkup: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "7M", "6M", "5M"], + brickbreak: ["9M", "9L0", "8M", "8L0", "8V", "7M", "7L17", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L20"], + bulkup: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], - closecombat: ["8M", "8L36", "7L1", "6L1", "5L57", "4L53"], - coaching: ["8T"], + closecombat: ["9M", "9L36", "8M", "8L36", "7L1", "6L1", "5L57", "4L53"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], counter: ["7V", "3T"], covet: ["7T", "6T", "5T"], curse: ["7V"], detect: ["7V"], - doubleedge: ["7V", "3T"], - doublekick: ["8L4", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleedge: ["9M", "7V", "3T"], + doublekick: ["9L4", "8L4", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], - earthquake: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "8L12", "7L49", "7V", "6L49", "5L49", "4M", "4L45", "3T", "3L41"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - fakeout: ["8L1"], - feint: ["8L1", "8V", "7L25", "6L25", "5L25", "4L25"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focusenergy: ["8M", "8L1", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L21"], + earthquake: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M"], + endure: ["9M", "9L12", "8M", "8L12", "7L49", "7V", "6L49", "5L49", "4M", "4L45", "3T", "3L41"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1"], + feint: ["9L28", "8L1", "8V", "7L25", "6L25", "5L25", "4L25"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "8M", "8L1", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L21"], focuspunch: ["7T", "6T", "4M", "3M"], foresight: ["7L37", "7V", "6L37", "5L37", "4L37", "3L36"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M", "8L1", "8V", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - highjumpkick: ["8L44", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L26", "3S0"], + highjumpkick: ["9L44", "8L44", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L26", "3S0"], jumpkick: ["8V", "7L1", "7V", "6L13", "5L13", "4L13", "3L16"], - knockoff: ["7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], laserfocus: ["7T"], - lowkick: ["8M", "8L8", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "8L1", "7M", "6M", "5M"], + lowkick: ["9M", "9L8", "8M", "8L8", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + lunge: ["9M"], meditate: ["8V", "7L1", "7V", "6L5", "5L5", "4L5", "3L6"], - megakick: ["8M", "8L32", "8V", "7L1", "7V", "6L1", "5L53", "4L49", "3T", "3L46", "3S0"], + megakick: ["9L32", "8M", "8L32", "8V", "7L1", "7V", "6L1", "5L53", "4L49", "3T", "3L46", "3S0"], megapunch: ["8M", "7V", "3T"], - metronome: ["8M", "7V", "3T"], + metronome: ["9M", "8M", "7V", "3T"], mimic: ["7V", "3T"], mindreader: ["8L28", "7L33", "7V", "6L33", "5L33", "4L33", "3L31", "3S0"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], - poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], refresh: ["3S0"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], revenge: ["8M", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], - reversal: ["8M", "8L40", "7L1", "7V", "6L1", "5L61", "4L57", "3L51"], + reversal: ["9M", "9L40", "8M", "8L40", "7L1", "7V", "6L1", "5L61", "4L57", "3L51"], rockclimb: ["4M"], - rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], roleplay: ["7T", "6T", "5T", "4T"], rollingkick: ["8V", "7L1", "7V", "6L9", "5L9", "4L9", "3L11"], round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "7M", "6M", "5M", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - suckerpunch: ["4T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L16", "4T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], - tackle: ["8L1"], - takedown: ["7V"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "7V"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["9M", "8M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M"], - vacuumwave: ["4T"], - wideguard: ["8L21", "7L41", "6L41", "5L41"], + upperhand: ["9M"], + uproar: ["9M", "8M"], + vacuumwave: ["9M", "4T"], + wideguard: ["9L21", "8L21", "7L41", "6L41", "5L41"], workup: ["8M", "7M", "5M"], }, eventData: [ @@ -15202,93 +15538,106 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, hitmonchan: { learnset: { - agility: ["8M", "8L28", "8V", "7L1", "7V", "6L6", "5L6", "4L6", "3L7"], + agility: ["9M", "9L28", "8M", "8L28", "8V", "7L1", "7V", "6L6", "5L6", "4L6", "3L7"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - aurasphere: ["8M"], + aurasphere: ["9M", "8M"], + batonpass: ["9M"], bide: ["7V"], - bodyslam: ["8M", "7V", "3T"], - brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - bulkup: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "7M", "6M", "5M"], - bulletpunch: ["8L1", "7L16", "6L16", "5L16", "4L16"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletpunch: ["9L16", "8L1", "7L16", "6L16", "5L16", "4L16"], captivate: ["4M"], - closecombat: ["8M", "8L36", "7L1", "6L1", "5L66", "4L56"], - coaching: ["8T"], + closecombat: ["9M", "9L36", "8M", "8L36", "7L1", "6L1", "5L66", "4L56"], + coaching: ["9M", "8T"], cometpunch: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], confide: ["7M", "6M"], - counter: ["8L40", "8V", "7L1", "7V", "6L1", "5L61", "4L51", "3T", "3L50"], + counter: ["9L40", "8L40", "8V", "7L1", "7V", "6L1", "5L61", "4L51", "3T", "3L50"], covet: ["7T", "6T", "5T"], curse: ["7V"], - detect: ["8L12", "7L50", "7V", "6L50", "5L51", "4L46", "3L44"], + detect: ["9L12", "8L12", "7L50", "7V", "6L50", "5L51", "4L46", "3L44"], dizzypunch: ["8V"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drainpunch: ["8M", "8L0", "7T", "6T", "5T", "4M"], + drainpunch: ["9M", "9L0", "8M", "8L0", "7T", "6T", "5T", "4M"], dynamicpunch: ["7V", "3T"], - earthquake: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - fakeout: ["8L1"], - feint: ["8L1", "8V", "7L21", "6L21", "5L21", "4L21"], - firepunch: ["8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focusenergy: ["8M", "8L1", "8V"], - focuspunch: ["8L44", "7T", "7L1", "6T", "6L1", "5L56", "4M", "3M"], + earthquake: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1"], + feint: ["9L1", "8L1", "8V", "7L21", "6L21", "5L21", "4L21"], + firepunch: ["9M", "9L24", "8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "8M", "8L1", "8V"], + focuspunch: ["9M", "9L44", "8L44", "7T", "7L1", "6T", "6L1", "5L56", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M", "8L1", "8V", "7T", "6T", "5T", "4T", "3S0"], + helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "7T", "6T", "5T", "4T", "3S0"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - icepunch: ["8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], + icepunch: ["9M", "9L24", "8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], + knockoff: ["9M"], laserfocus: ["7T"], leer: ["8V"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], - machpunch: ["8L4", "7L1", "7V", "6L16", "5L16", "4L16", "3L20"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + machpunch: ["9L4", "8L4", "7L1", "7V", "6L16", "5L16", "4L16", "3L20"], megakick: ["8M", "7V", "3T"], - megapunch: ["8M", "8L32", "8V", "7L46", "7V", "6L46", "5L46", "4L41", "3T", "3L38", "3S0"], - metronome: ["8M", "7V", "3T"], + megapunch: ["9M", "9L32", "8M", "8L32", "8V", "7L46", "7V", "6L46", "5L46", "4L41", "3T", "3L38", "3S0"], + metronome: ["9M", "8M", "7V", "3T"], mimic: ["7V", "3T"], mindreader: ["3S0"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], + poisonjab: ["9M"], poweruppunch: ["8L8", "6M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], pursuit: ["7L1", "7V", "6L11", "5L11", "4L11", "3L13"], - quickguard: ["8L21", "7L31", "6L31", "5L31"], + quickguard: ["9L21", "8L21", "7L31", "6L31", "5L31"], rage: ["7V"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], revenge: ["8M", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], + reversal: ["9M"], rockclimb: ["4M"], - rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], roleplay: ["7T", "6T", "5T", "4T"], round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], skullbash: ["7V"], skyuppercut: ["7L41", "6L41", "5L41", "4L36", "3L32", "3S0"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - stoneedge: ["8M", "7M", "6M", "5M", "4M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "8V", "7V", "4T", "3T"], - tackle: ["8L1"], - takedown: ["7V"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M", "7T"], - thunderpunch: ["8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], + swift: ["9M", "8M", "8V", "7V", "4T", "3T"], + swordsdance: ["9M"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "7V"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["9M", "8M", "7T"], + thunderpunch: ["9M", "9L24", "8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M"], - vacuumwave: ["8L1", "7L26", "6L26", "5L26", "4T", "4L26"], + trailblaze: ["9M"], + upperhand: ["9M"], + uproar: ["9M", "8M"], + vacuumwave: ["9M", "9L8", "8L1", "7L26", "6L26", "5L26", "4T", "4L26"], workup: ["8M", "7M", "5M"], }, eventData: [ @@ -15300,84 +15649,91 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, hitmontop: { learnset: { - aerialace: ["7M", "6M", "5M", "4M"], - agility: ["8M", "8L28", "7L37", "7V", "6L37", "5L37", "4L37", "3L37"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M", "9L28", "8M", "8L28", "7L37", "7V", "6L37", "5L37", "4L37", "3L37"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M"], - bulkup: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "7M", "6M", "5M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], - closecombat: ["8M", "8L36", "7L1", "6L1", "5L55", "5S0", "4L51"], - coaching: ["8T"], + closecombat: ["9M", "9L36", "8M", "8L36", "7L1", "6L1", "5L55", "5S0", "4L51"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], - counter: ["8L40", "7L28", "7V", "6L28", "5L28", "4L28", "3T", "3L31"], + counter: ["9L40", "8L40", "7L28", "7V", "6L28", "5L28", "4L28", "3T", "3L31"], covet: ["7T", "6T", "5T"], curse: ["7V"], - detect: ["8L12", "7L1", "7V", "6L50", "5L51", "4L46", "3L43"], - dig: ["8M", "8L32", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + detect: ["9L12", "8L12", "7L1", "7V", "6L50", "5L51", "4L46", "3L43"], + dig: ["9M", "9L32", "8M", "8L32", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drillrun: ["8M", "5T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endeavor: ["8L44", "7T", "7L1", "6T", "6L1", "5T", "5L60", "4T", "4L55", "3L49"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - fakeout: ["8L1", "5S0"], - feint: ["8L1", "7L24", "6L33", "5L33", "4L33"], - focusblast: ["8M"], - focusenergy: ["8M", "8L1", "7L1", "7V", "6L6", "5L6", "4L6", "3L7"], + drillrun: ["9M", "8M", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M", "9L44", "8L44", "7T", "7L1", "6T", "6L1", "5T", "5L60", "4T", "4L55", "3L49"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1", "5S0"], + feint: ["9L1", "8L1", "7L24", "6L33", "5L33", "4L33"], + focusblast: ["9M", "8M"], + focusenergy: ["9L1", "8M", "8L1", "7L1", "7V", "6L6", "5L6", "4L6", "3L7"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gyroball: ["8M", "8L8", "7M", "7L42", "6M", "6L42", "5M", "5L42", "4M", "4L42"], + gigaimpact: ["9M"], + gyroball: ["9M", "9L8", "8M", "8L8", "7M", "7L42", "6M", "6L42", "5M", "5L42", "4M", "4L42"], headbutt: ["7V", "4T"], - helpinghand: ["8M", "8L1", "7T", "6T", "5T", "5S0", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T", "5S0", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icespinner: ["9M"], laserfocus: ["7T"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M", "3T"], megapunch: ["8M"], mimic: ["3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], pursuit: ["7L1", "7V", "6L10", "5L10", "4L10", "3L13"], - quickattack: ["8L4", "7L1", "7V", "6L15", "5L15", "4L15", "3L19"], - quickguard: ["8L21", "7L46", "6L46", "5L46"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rapidspin: ["8L1", "7L19", "7V", "6L24", "5L24", "4L24", "3L25"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L4", "8L4", "7L1", "7V", "6L15", "5L15", "4L15", "3L19"], + quickguard: ["9L21", "8L21", "7L46", "6L46", "5L46"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rapidspin: ["9L16", "8L1", "7L19", "7V", "6L24", "5L24", "4L24", "3L25"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], revenge: ["8M", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + reversal: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], roleplay: ["7T", "6T", "5T", "4T"], rollingkick: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], rollout: ["4T"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - stoneedge: ["8M", "7M", "6M", "5M", "4M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - suckerpunch: ["8L24", "5S0", "4T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L24", "8L24", "5S0", "4T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], - tackle: ["8L1"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - tripleaxel: ["8T"], - triplekick: ["8L0", "7L33", "7V", "6L19", "5L19", "4L19", "3L20"], + tripleaxel: ["9M", "8T"], + triplekick: ["9L0", "8L0", "7L33", "7V", "6L19", "5L19", "4L19", "3L20"], twister: ["4T"], - uproar: ["8M"], - vacuumwave: ["4T"], - wideguard: ["8L21", "7L46", "6L46", "5L46"], + upperhand: ["9M"], + uproar: ["9M", "8M"], + vacuumwave: ["9M", "4T"], + wideguard: ["9L21", "8L21", "7L46", "6L46", "5L46"], workup: ["8M", "7M", "5M"], }, eventData: [ @@ -15620,21 +15976,21 @@ export const Learnsets: {[k: string]: LearnsetData} = { koffing: { learnset: { acidspray: ["9M"], - assurance: ["9L16", "8M", "8L16", "7L12", "6L12", "5L15", "4L15"], + assurance: ["9L16", "8M", "8L16", "7L12", "6L12", "5L12", "4L15"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], belch: ["9L40", "8L40", "7L42", "6L42"], bide: ["7V"], bodyslam: ["9M"], captivate: ["4M"], - clearsmog: ["9L12", "8L12", "8V", "7L15", "6L15", "5L19"], + clearsmog: ["9L12", "8L12", "8V", "7L15", "6L15", "5L15"], confide: ["7M", "6M"], corrosivegas: ["8T"], - curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E"], darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "5D", "4M"], - destinybond: ["9L52", "8L52", "7L40", "7E", "7V", "6L40", "6E", "5L51", "5E", "4L46", "4E", "3L45", "3E"], + destinybond: ["9L52", "8L52", "7L40", "7E", "7V", "6L40", "6E", "5L40", "5E", "4L46", "4E", "3L45", "3E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], endure: ["9M", "8M", "7V", "4M", "3T"], - explosion: ["9L44", "8L44", "8V", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L42", "4M", "4L37", "3T", "3L41"], + explosion: ["9L44", "8L44", "8V", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3T", "3L41"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -15642,16 +15998,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], grudge: ["8E", "7E", "6E", "5E", "4E"], gunkshot: ["9M"], - gyroball: ["9M", "8M", "7M", "7L29", "6M", "6L29", "5M", "5L37", "4M", "4L33"], - haze: ["9M", "9L24", "8L24", "8V", "7L26", "7V", "6L26", "5L33", "4L28", "3L33"], + gyroball: ["9M", "8M", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L33"], + haze: ["9M", "9L24", "8L24", "8V", "7L26", "7V", "6L26", "5L26", "4L28", "3L33"], headbutt: ["8V"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], incinerate: ["6M", "5M"], infestation: ["7M", "6M"], - memento: ["9L48", "8L48", "7L45", "6L45", "5L55", "4L51", "3L49"], + memento: ["9L48", "8L48", "7L45", "6L45", "5L45", "4L51", "3L49"], mimic: ["7V", "3T"], naturalgift: ["4M"], - painsplit: ["9E", "8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + painsplit: ["9M", "9E", "8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], payback: ["8M", "7M", "6M", "5M", "4M"], poisongas: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -15666,15 +16022,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], secretpower: ["6M", "4M", "3M"], - selfdestruct: ["9L28", "8M", "8L28", "8V", "7L23", "7V", "6L23", "5L24", "4L19", "3T", "3L17"], + selfdestruct: ["9L28", "8M", "8L28", "8V", "7L23", "7V", "6L23", "5L23", "4L19", "3T", "3L17"], shadowball: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludge: ["9L20", "8L20", "8V", "7L18", "7V", "6L18", "5L28", "4L24", "3L21"], - sludgebomb: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L46", "4M", "4L42", "3M"], - sludgewave: ["8M", "5D"], - smog: ["9L4", "8L4", "8V", "7L4", "7V", "6L4", "5L6", "5D", "4L6", "3L9"], - smokescreen: ["9L8", "8L8", "7L7", "7V", "6L7", "5L10", "4L10", "3L25"], + sludge: ["9L20", "8L20", "8V", "7L18", "7V", "6L18", "5L18", "4L24", "3L21"], + sludgebomb: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L42", "3M"], + sludgewave: ["9M", "8M", "5D"], + smog: ["9L4", "8L4", "8V", "7L4", "7V", "6L4", "5L4", "5D", "4L6", "3L9"], + smokescreen: ["9L8", "8L8", "7L7", "7V", "6L7", "5L7", "4L10", "3L25"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], spite: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], spitup: ["9E", "8E", "7E", "6E", "5E"], @@ -15706,22 +16062,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { weezing: { learnset: { acidspray: ["9M"], - assurance: ["9L16", "8M", "8L16", "7L12", "6L12", "5L15", "4L15"], + assurance: ["9L16", "8M", "8L16", "7L12", "6L12", "5L12", "4L15"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], belch: ["9L44", "8L44", "7L51", "6L50"], bide: ["7V"], bodyslam: ["9M"], captivate: ["4M"], - clearsmog: ["9L12", "8L12", "8V", "7L15", "6L15", "5L19"], + clearsmog: ["9L12", "8L12", "8V", "7L15", "6L15", "5L15"], confide: ["7M", "6M"], corrosivegas: ["8T"], - curse: ["7V"], + curse: ["9M", "7V"], darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], - destinybond: ["9L62", "8L62", "7L46", "7V", "6L46", "5L59", "4L55", "3L51"], - doublehit: ["9L0", "8L0", "7L1", "6L29", "5L39", "4L33"], + destinybond: ["9L62", "8L62", "7L46", "7V", "6L46", "5L46", "4L55", "3L51"], + doublehit: ["9L0", "8L0", "7L1", "6L29", "5L29", "4L33"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], endure: ["9M", "8M", "7V", "4M", "3T"], - explosion: ["9L50", "8L50", "8V", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L46", "4M", "4L40", "3T", "3L44"], + explosion: ["9L50", "8L50", "8V", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3T", "3L44"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -15730,17 +16086,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gunkshot: ["9M"], gyroball: ["9M", "8M", "7M", "7L29", "6M", "5M", "4M"], - haze: ["9M", "9L24", "8L24", "8V", "7L26", "7V", "6L26", "5L33", "4L28", "3L33"], + haze: ["9M", "9L24", "8L24", "8V", "7L26", "7V", "6L26", "5L26", "4L28", "3L33"], headbutt: ["8V"], heatwave: ["9M", "9L1", "8M", "8L1"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], incinerate: ["6M", "5M"], infestation: ["7M", "6M"], - memento: ["9L56", "8L56", "7L57", "6L54", "5L65", "4L63", "3L58"], + memento: ["9L56", "8L56", "7L57", "6L54", "5L54", "4L63", "3L58"], mimic: ["7V", "3T"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], poisongas: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -15754,13 +16110,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], screech: ["8M", "8V"], secretpower: ["6M", "4M", "3M"], - selfdestruct: ["9L28", "8M", "8L28", "8V", "7L23", "7V", "6L23", "5L24", "4L19", "3T", "3L1"], + selfdestruct: ["9L28", "8M", "8L28", "8V", "7L23", "7V", "6L23", "5L23", "4L19", "3T", "3L1"], shadowball: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], - sludge: ["9L20", "8L20", "8V", "7L18", "7V", "6L18", "5L28", "4L24", "3L21"], - sludgebomb: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L52", "4M", "4L48", "3M"], - sludgewave: ["8M"], + sludge: ["9L20", "8L20", "8V", "7L18", "7V", "6L18", "5L18", "4L24", "3L21"], + sludgebomb: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L48", "3M"], + sludgewave: ["9M", "8M"], smog: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], smokescreen: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L25"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -15802,10 +16158,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { brutalswing: ["8M"], clearsmog: ["9L12", "8L12"], corrosivegas: ["8T"], + curse: ["9M"], darkpulse: ["9M", "8M"], dazzlinggleam: ["9M", "8M"], defog: ["9L1", "8L1"], destinybond: ["9L62", "8L62"], + doubleedge: ["9M"], doublehit: ["9L0", "8L0"], endure: ["9M", "8M"], explosion: ["9L50", "8L50"], @@ -15823,6 +16181,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "9L68", "8M", "8L68"], overheat: ["9M", "8M"], + painsplit: ["9M"], payback: ["8M"], playrough: ["9M", "8M"], poisongas: ["9L1", "8L1"], @@ -15838,7 +16197,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M"], sludge: ["9L20", "8L20"], sludgebomb: ["9M", "9L32", "8M", "8L32"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], smog: ["9L1", "8L1"], smokescreen: ["9L1", "8L1"], snore: ["8M"], @@ -15868,104 +16227,108 @@ export const Learnsets: {[k: string]: LearnsetData} = { aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "7V", "3T"], - bulldoze: ["8M", "8L10", "7M", "7L21", "6M", "6L21", "5M", "5L30"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["9M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulldoze: ["9M", "9L10", "8M", "8L10", "7M", "7L21", "6M", "6L21", "5M", "5L30"], captivate: ["4M"], chipaway: ["7L25", "6L25", "5L34"], confide: ["7M", "6M"], - counter: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], - crunch: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + counter: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], + crunch: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], crushclaw: ["7E", "6E", "5E", "4E", "3E"], - curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "5D", "3T"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "7V", "5D", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], - dragonrush: ["8E", "7E", "6E", "5E", "4E"], - drillrun: ["8M", "8L35", "8V", "7T", "7L33", "6T", "6L33", "5T", "5L45"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "8L45", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L56", "4M", "4L49", "3M", "3L52"], - endeavor: ["7T", "6T", "5T", "4T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - firefang: ["8M", "7E", "6E", "5E", "4E"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + dragonrush: ["9E", "8E", "7E", "6E", "5E", "4E"], + drillrun: ["9M", "9L35", "8M", "8L35", "8V", "7T", "7L33", "6T", "6L33", "5T", "5L45"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L45", "8M", "8L45", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L56", "4M", "4L49", "3M", "3L52"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "8M", "7E", "6E", "5E", "4E"], fissure: ["7V"], - flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furyattack: ["8V", "7L5", "7V", "6L5", "5L12", "4L13", "3L15"], - guardsplit: ["8E", "7E", "6E"], + guardsplit: ["9E", "8E", "7E", "6E"], headbutt: ["8V", "7V", "4T"], + heavyslam: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - highhorsepower: ["8M"], - hornattack: ["8L15", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], - horndrill: ["8L60", "8V", "7L53", "7V", "6L53", "5L63", "4L37", "3L38"], - icebeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - icefang: ["8M", "7E", "6E", "5E", "4E"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + highhorsepower: ["9M", "8M"], + hornattack: ["9L15", "8L15", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + horndrill: ["9L60", "8L60", "8V", "7L53", "7V", "6L53", "5L63", "4L37", "3L38"], + icebeam: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + icefang: ["9M", "8M", "7E", "6E", "5E", "4E"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], incinerate: ["6M", "5M"], irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], leer: ["7V"], magnitude: ["7E", "7V", "6E", "5E", "4E", "3E"], - megahorn: ["8M", "8L55", "8V", "7L49", "6L49", "5L67", "4L57", "3L57"], - metalburst: ["8E", "7E", "6E"], + megahorn: ["9L55", "8M", "8L55", "8V", "7L49", "6L49", "5L67", "4L57", "3L57"], + metalburst: ["9E", "8E", "7E", "6E"], mimic: ["7V", "3T"], - mudshot: ["8M"], - mudslap: ["7V", "4T", "3T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], payback: ["8M", "7M", "6M", "5M", "4M"], - poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], pursuit: ["7V"], rage: ["7V"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - reversal: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], - roar: ["7M", "7V", "6M", "5M", "4M", "3M"], - rockblast: ["8M", "8L30", "7L29", "6L23", "5L23", "4L25", "3L29"], + reversal: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "9L30", "8M", "8L30", "7L29", "6L23", "5L23", "4L25", "3L29"], rockclimb: ["7E", "6E", "5E", "4M"], - rockpolish: ["8E", "7M", "6M", "5M", "4M"], - rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rockpolish: ["9E", "8E", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], rockthrow: ["8V"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["7V", "4T", "3T"], rototiller: ["7E", "6E"], round: ["8M", "7M", "6M", "5M"], sandattack: ["8V"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scaryface: ["8M", "8L20", "7L9", "7V", "6L9", "5L19", "4L21", "3L24"], - scorchingsands: ["8T"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L9", "7V", "6L9", "5L19", "4L21", "3L24"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], skullbash: ["8E", "7E", "7V", "6E", "5E", "4E"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smackdown: ["8L5", "7M", "7L13", "6M", "6L13"], - smartstrike: ["8M", "7M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L5", "8L5", "7M", "7L13", "6M", "6L13"], + smartstrike: ["9M", "8M", "7M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], spite: ["7T", "6T", "5T", "4T"], - stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], - stomp: ["8L25", "8V", "7L17", "7V", "6L8", "5L8", "4L9", "3L10"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "8L50", "7M", "7L41", "6M", "6L41", "5M", "5L52", "4M", "4L45"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + stomp: ["9L25", "8L25", "8V", "7L17", "7V", "6L8", "5L8", "4L9", "3L10"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L50", "8M", "8L50", "7M", "7L41", "6M", "6L41", "5M", "5L52", "4M", "4L45"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supercellslam: ["9M"], superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], - tackle: ["8L1"], - tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L40", "8V", "7L37", "7V", "6L37", "5L41", "4L33", "3L43"], - thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + tackle: ["9L1", "8L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L40", "8L40", "8V", "7L37", "7V", "6L37", "5L41", "4L33", "3L43"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], thrash: ["7V"], - thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderfang: ["8M", "7E", "6E", "5E", "4E"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "8M", "7E", "6E", "5E", "4E"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "6T", "5T", "4T"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], zapcannon: ["7V"], }, encounters: [ @@ -15977,132 +16340,134 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["4T"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - avalanche: ["8M", "4M"], + avalanche: ["9M", "8M", "4M"], bide: ["7V"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], block: ["7T", "6T", "5T", "4T"], - bodypress: ["8M"], - bodyslam: ["8M", "7V", "3T"], - breakingswipe: ["8M"], - brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "7V", "3T"], + breakingswipe: ["9M", "8M"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M", "7M"], bubblebeam: ["7V"], - bulldoze: ["8M", "8L1", "7M", "7L21", "6M", "6L21", "5M", "5L30"], + bulldoze: ["9M", "9L1", "8M", "8L1", "7M", "7L21", "6M", "6L21", "5M", "5L30"], captivate: ["4M"], chipaway: ["7L25", "6L25", "5L34"], confide: ["7M", "6M"], counter: ["8V", "7V", "3T"], - crunch: ["8M", "8V"], - curse: ["7V"], + crunch: ["9M", "8M", "8V"], + curse: ["9M", "7V"], cut: ["6M", "5M", "4M", "3M"], - dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["7V", "3T"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], dragontail: ["8V", "7M", "6M", "5M"], - drillrun: ["8M", "8L35", "8V", "7T", "7L33", "6T", "6L33", "5T", "5L47"], + drillrun: ["9M", "9L35", "8M", "8L35", "8V", "7T", "7L33", "6T", "6L33", "5T", "5L47"], dynamicpunch: ["7V", "3T"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "8L47", "8V", "7M", "7L48", "7V", "6M", "6L48", "5M", "5L62", "4M", "4L49", "3M", "3L58", "3S0"], - endeavor: ["7T", "6T", "5T", "4T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - firefang: ["8M"], - firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L47", "8M", "8L47", "8V", "7M", "7L48", "7V", "6M", "6L48", "5M", "5L62", "4M", "4L49", "3M", "3L58", "3S0"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "8M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], fissure: ["7V"], - flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furyattack: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], furycutter: ["7V", "4T", "3T"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - hammerarm: ["8L0", "7L1", "6L42", "5L42", "4L42"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hammerarm: ["9L0", "8L0", "7L1", "6L42", "5L42", "4L42"], headbutt: ["8V", "7V", "4T"], - heatcrash: ["8M"], - heavyslam: ["8M"], - helpinghand: ["8M", "8V", "3S0"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M", "8M", "8V", "3S0"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - highhorsepower: ["8M"], - hornattack: ["8L15", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - horndrill: ["8L68", "8V", "7L1", "7V", "6L1", "5L71", "4L37", "3L38"], - hydropump: ["8M"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icefang: ["8M"], - icepunch: ["8M", "8V", "7T", "6T", "5T", "4T"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + highhorsepower: ["9M", "8M"], + hornattack: ["9L15", "8L15", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + horndrill: ["9L68", "8L68", "8V", "7L1", "7V", "6L1", "5L71", "4L37", "3L38"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], incinerate: ["6M", "5M"], - irondefense: ["8M"], + irondefense: ["9M", "8M"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], leer: ["7V"], - megahorn: ["8M", "8L61", "8V", "7L55", "6L1", "5L77", "4L57", "3L66", "3S0"], + megahorn: ["9L61", "8M", "8L61", "8V", "7L55", "6L1", "5L77", "4L57", "3L66", "3S0"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mimic: ["7V", "3T"], - mudshot: ["8M"], - mudslap: ["7V", "4T", "3T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], - outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], payday: ["8M", "8V", "7V"], - poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - reversal: ["8M"], - roar: ["7M", "7V", "6M", "5M", "4M", "3M"], - rockblast: ["8M", "8L30", "7L29", "6L23", "5L23", "4L25", "3L29"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "9L30", "8M", "8L30", "7L29", "6L23", "5L23", "4L25", "3L29"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], rockthrow: ["8V"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["7V", "4T", "3T"], round: ["8M", "7M", "6M", "5M"], sandattack: ["8V"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scaryface: ["8M", "8L20", "7L1", "7V", "6L1", "5L19", "4L21", "3L24", "3S0"], - scorchingsands: ["8T"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L1", "7V", "6L1", "5L19", "4L21", "3L24", "3S0"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smackdown: ["8L1", "7M", "7L13", "6M", "6L13", "5M"], - smartstrike: ["8M", "7M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L1", "8L1", "7M", "7L13", "6M", "6L13", "5M"], + smartstrike: ["9M", "8M", "7M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], spite: ["7T", "6T", "5T", "4T"], - stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], - stomp: ["8L25", "8V", "7L17", "7V", "6L1", "5L1", "4L1", "3L1"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "8L54", "7M", "7L41", "6M", "6L41", "5M", "5L56", "4M", "4L45"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + stomp: ["9L25", "8L25", "8V", "7L17", "7V", "6L1", "5L1", "4L1", "3L1"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L54", "8M", "8L54", "7M", "7L41", "6M", "6L41", "5M", "5L56", "4M", "4L45"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supercellslam: ["9M"], superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], - surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], - tackle: ["8L1"], - tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L40", "8V", "7L37", "7V", "6L37", "5L41", "4L33", "3L46"], - thief: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderfang: ["8M"], - thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L40", "8L40", "8V", "7L37", "7V", "6L37", "5L41", "4L33", "3L46"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "8M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "6T", "5T", "4T"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], watergun: ["7V"], whirlpool: ["8M", "4M"], zapcannon: ["7V"], @@ -16122,120 +16487,126 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["4T"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "6M", "5M", "4M"], - avalanche: ["8M", "4M"], - blizzard: ["8M", "7M", "6M", "5M", "4M"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], block: ["7T", "6T", "5T", "4T"], - bodypress: ["8M"], - bodyslam: ["8M"], - breakingswipe: ["8M"], - brickbreak: ["8M", "7M", "6M", "5M", "4M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + breakingswipe: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], brutalswing: ["8M", "7M"], - bulldoze: ["8M", "8L1", "7M", "7L21", "6M", "6L21", "5M"], + bulldoze: ["9M", "9L1", "8M", "8L1", "7M", "7L21", "6M", "6L21", "5M"], captivate: ["4M"], chipaway: ["7L25", "6L25", "5L30"], confide: ["7M", "6M"], - crunch: ["8M"], + crunch: ["9M", "8M"], + curse: ["9M"], cut: ["6M", "5M", "4M"], - dig: ["8M", "6M", "5M", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], - dragonpulse: ["8M", "7T", "6T", "5T", "4M"], - dragontail: ["7M", "6M", "5M"], - drillrun: ["8M", "8L35", "7T", "7L33", "6T", "6L33", "5T", "5L47"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "8L47", "7M", "7L48", "6M", "6L48", "5M", "5L62", "4M", "4L49"], - endeavor: ["7T", "6T", "5T", "4T"], - endure: ["8M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M"], - fireblast: ["8M", "7M", "6M", "5M", "4M"], - firefang: ["8M"], - firepunch: ["8M", "7T", "6T", "5T", "4T"], - flamethrower: ["8M", "7M", "6M", "5M", "4M"], - flashcannon: ["8M", "7M", "6M", "5M", "4M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragontail: ["9M", "7M", "6M", "5M"], + drillrun: ["9M", "9L35", "8M", "8L35", "7T", "7L33", "6T", "6L33", "5T", "5L47"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L47", "8M", "8L47", "7M", "7L48", "6M", "6L48", "5M", "5L62", "4M", "4L49"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firefang: ["9M", "8M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], frustration: ["7M", "6M", "5M", "4M"], furyattack: ["7L1", "6L1", "5L1", "4L1"], furycutter: ["4T"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - hammerarm: ["8L1", "7L1", "6L42", "5L42", "4L42"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hammerarm: ["9L1", "8L1", "7L1", "6L42", "5L42", "4L42"], headbutt: ["4T"], - heatcrash: ["8M"], - heavyslam: ["8M"], - helpinghand: ["8M"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M", "4M"], - highhorsepower: ["8M"], - hornattack: ["8L15", "7L1", "6L1", "5L1", "4L1"], - horndrill: ["8L68", "7L1", "6L1", "5L71", "4L37"], - hydropump: ["8M"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M"], - icebeam: ["8M", "7M", "6M", "5M", "4M"], - icefang: ["8M"], - icepunch: ["8M", "7T", "6T", "5T", "4T"], - icywind: ["8M", "7T", "6T", "5T", "4T"], + highhorsepower: ["9M", "8M"], + hornattack: ["9L15", "8L15", "7L1", "6L1", "5L1", "4L1"], + horndrill: ["9L68", "8L68", "7L1", "6L1", "5L71", "4L37"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], incinerate: ["6M", "5M"], - irondefense: ["8M"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "6T", "5T", "4M"], - megahorn: ["8M", "8L61", "7L55", "6L1", "5L77", "4L57"], + megahorn: ["9L61", "8M", "8L61", "7L55", "6L1", "5L77", "4L57"], megakick: ["8M"], megapunch: ["8M"], - meteorbeam: ["8T"], - mudshot: ["8M"], - mudslap: ["4T"], + metalclaw: ["9M"], + meteorbeam: ["9M", "8T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "4T"], naturalgift: ["4M"], - outrage: ["8M", "7T", "6T", "5T", "4T"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], payday: ["8M"], - poisonjab: ["8M", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + poisonjab: ["9M", "8M", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M"], - raindance: ["8M", "7M", "6M", "5M", "4M"], - rest: ["8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], - reversal: ["8M"], - roar: ["7M", "6M", "5M", "4M"], - rockblast: ["8M", "8L30", "7L29", "6L23", "5L23", "4L25"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockblast: ["9M", "9L30", "8M", "8L30", "7L29", "6L23", "5L23", "4L25"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M"], - rockwrecker: ["8L75", "7L1", "6L1", "5L86", "4L61"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + rockwrecker: ["9L75", "8L75", "7L1", "6L1", "5L86", "4L61"], rollout: ["4T"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "6M", "5M", "4M"], - scaryface: ["8M", "8L20", "7L1", "6L1", "5L19", "4L21"], - scorchingsands: ["8T"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L1", "6L1", "5L19", "4L21"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M"], - smackdown: ["8L1", "7M", "7L13", "6M", "6L13", "5M"], - smartstrike: ["8M", "7M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "9L1", "8L1", "7M", "7L13", "6M", "6L13", "5M"], + smartstrike: ["9M", "8M", "7M"], snore: ["8M", "7T", "6T", "5T", "4T"], spite: ["7T", "6T", "5T", "4T"], - stealthrock: ["8M", "7T", "6T", "5T", "4M"], - stomp: ["8L25", "7L17", "6L1", "5L1", "4L1"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "8L54", "7M", "7L41", "6M", "6L41", "5M", "5L56", "4M", "4L45"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stomp: ["9L25", "8L25", "7L17", "6L1", "5L1", "4L1"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L54", "8M", "8L54", "7M", "7L41", "6M", "6L41", "5M", "5L56", "4M", "4L45"], strength: ["6M", "5M", "4M"], - substitute: ["8M", "7M", "6M", "5M", "4M"], - sunnyday: ["8M", "7M", "6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + supercellslam: ["9M"], superpower: ["8M", "7T", "6T", "5T", "4T"], - surf: ["8M", "7M", "6M", "5M", "4M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M"], swagger: ["7M", "6M", "5M", "4M"], - swordsdance: ["8M", "7M", "6M", "5M", "4M"], - tackle: ["8L1"], - tailwhip: ["8L1", "7L1", "6L1", "5L1", "4L1"], - takedown: ["8L40", "7L37", "6L37", "5L41", "4L33"], - thief: ["8M", "7M", "6M", "5M", "4M"], - thunder: ["8M", "7M", "6M", "5M", "4M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M"], - thunderfang: ["8M"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + tackle: ["9L1", "8L1"], + tailwhip: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L40", "8L40", "7L37", "6L37", "5L41", "4L33"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderfang: ["9M", "8M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], toxic: ["7M", "6M", "5M", "4M"], - uproar: ["8M", "7T", "6T", "5T", "4T"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], whirlpool: ["8M", "4M"], }, }, @@ -16342,7 +16713,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], defensecurl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L31", "3T", "3L41"], disarmingvoice: ["9M", "9L1", "8L1"], - doubleedge: ["9L40", "8L40", "8V", "7L1", "7V", "6L1", "5L54", "4L46", "3T", "3L57"], + doubleedge: ["9M", "9L40", "8L40", "8V", "7L1", "7V", "6L1", "5L54", "4L46", "3T", "3L57"], doubleslap: ["8V", "7L12", "7V", "6L12", "5L12", "4L16", "3L17"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], @@ -16352,7 +16723,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["9L8", "8L8", "7M", "6M", "5M"], eggbomb: ["8V", "7L42", "7V", "6L42", "5L42", "4L38", "3L35"], electricterrain: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -16474,6 +16845,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, blissey: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], avalanche: ["9M", "8M", "4M"], @@ -16496,7 +16868,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M", "8M", "7M", "6M"], defensecurl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L31", "3T", "3L33"], disarmingvoice: ["9M", "9L1", "8L1"], - doubleedge: ["9L40", "8L40", "7L1", "7V", "6L1", "5L54", "4L46", "3T", "3L47"], + doubleedge: ["9M", "9L40", "8L40", "7L1", "7V", "6L1", "5L54", "4L46", "3T", "3L47"], doubleslap: ["7L12", "7V", "6L12", "5L12", "4L16", "3L13"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], @@ -16506,7 +16878,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["9L8", "8L8", "7M", "6M", "5M"], eggbomb: ["7L42", "7V", "6L42", "5L42", "4L38", "3L28"], electricterrain: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -16550,7 +16922,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "4M"], refresh: ["7L9", "6L9", "5L9", "5S0", "4L9", "3L7"], @@ -16617,7 +16989,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["8L24", "7L38", "6L38", "5L36", "4T", "4L33"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bind: ["8L1", "8V", "7T", "7L17", "7V", "6T", "6L17", "5T", "5L22", "4L22", "3L28"], + bind: ["8L1", "8V", "7T", "7L17", "7V", "6T", "6L17", "5T", "5L17", "4L22", "3L28"], bodyslam: ["8M", "7V", "3T"], bulletseed: ["8M", "4M", "3M"], captivate: ["4M"], @@ -16646,18 +17018,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], infestation: ["7M", "6M"], ingrain: ["8L52", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], - knockoff: ["8L28", "7T", "7L27", "6T", "6L27", "5T", "5L33", "4T", "4L36"], + knockoff: ["8L28", "7T", "7L27", "6T", "6L27", "5T", "5L27", "4T", "4L36"], leafstorm: ["8M", "7E", "6E", "5E", "4E"], leechseed: ["8E", "8V", "7E", "6E", "5E", "5D", "4E", "3E"], - megadrain: ["8L12", "8V", "7L23", "7E", "7V", "6L23", "6E", "5L26", "5E", "4L26", "4E", "3L31", "3E"], + megadrain: ["8L12", "8V", "7L23", "7E", "7V", "6L23", "6E", "5L23", "5E", "4L26", "4E", "3L31", "3E"], mimic: ["7V", "3T"], morningsun: ["3S0"], - naturalgift: ["7L33", "7E", "6L33", "6E", "5L40", "5E", "4M", "4L40"], + naturalgift: ["7L33", "7E", "6L33", "6E", "5L33", "5E", "4M", "4L40"], naturepower: ["8E", "7M", "7E", "6E", "5E", "4E", "3E"], painsplit: ["7T", "6T", "5T", "4T"], - poisonpowder: ["8L20", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L19"], + poisonpowder: ["8L20", "8V", "7L14", "7V", "6L14", "5L14", "4L15", "3L19"], powerswap: ["8M", "7E", "6E", "5E", "4E"], - powerwhip: ["8M", "8L48", "8V", "7L50", "6L50", "5L54", "4L54"], + powerwhip: ["8M", "8L48", "8V", "7L50", "6L50", "5L53", "4L54"], protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], rage: ["7V"], @@ -16672,7 +17044,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T", "6T", "4M"], skullbash: ["7V"], slam: ["8L40", "8V", "7L41", "7V", "6L41", "5L43", "4L43", "3L40"], - sleeppowder: ["8L36", "8V", "7L4", "7V", "6L4", "5L5", "5D", "4L5", "3L4"], + sleeppowder: ["8L36", "8V", "7L4", "7V", "6L4", "5L4", "5D", "4L5", "3L4"], sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -16686,12 +17058,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { synthesis: ["7T", "6T", "5T", "4T"], takedown: ["7V"], thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - tickle: ["8L44", "7L44", "6L44", "5L47", "4L47", "3L46"], + tickle: ["8L44", "7L44", "6L44", "5L46", "4L47", "3L46"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - vinewhip: ["8L16", "8V", "7L7", "7V", "6L7", "5L19", "4L19", "3L22"], + vinewhip: ["8L16", "8V", "7L7", "7V", "6L7", "5L7", "4L19", "3L22"], wakeupslap: ["7E"], worryseed: ["7T", "6T", "5T", "4T"], - wringout: ["7L46", "6L46", "5L50", "4L50"], + wringout: ["7L46", "6L46", "5L49", "4L50"], }, eventData: [ {generation: 3, level: 30, abilities: ["chlorophyll"], moves: ["morningsun", "solarbeam", "sunnyday", "ingrain"]}, @@ -16707,8 +17079,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { amnesia: ["8M"], ancientpower: ["8L24", "7L40", "6L40", "5L36", "4T", "4L33", "4S0"], attract: ["8M", "7M", "6M", "5M", "4M"], - bind: ["8L1", "7T", "7L17", "6T", "6L17", "5T", "5L22", "4L22"], - block: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L57", "4T", "4L57"], + bind: ["8L1", "7T", "7L17", "6T", "6L17", "5T", "5L17", "4L22"], + block: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L56", "4T", "4L57"], bodyslam: ["8M"], brickbreak: ["8M", "7M", "6M", "5M", "4M"], brutalswing: ["8M"], @@ -16739,19 +17111,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["8M", "7M", "6M", "5M", "4M"], infestation: ["7M", "6M"], ingrain: ["8L52", "7L1", "6L1", "5L1", "4L1"], - knockoff: ["8L28", "7T", "7L27", "6T", "6L27", "5T", "5L33", "4T", "4L36"], + knockoff: ["8L28", "7T", "7L27", "6T", "6L27", "5T", "5L27", "4T", "4L36"], leafstorm: ["8M"], - megadrain: ["8L12", "7L23", "6L23", "5L26", "4L26"], + megadrain: ["8L12", "7L23", "6L23", "5L23", "4L26"], morningsun: ["4S0"], mudslap: ["4T"], - naturalgift: ["7L33", "6L33", "5L40", "4M", "4L40", "4S0"], + naturalgift: ["7L33", "6L33", "5L33", "4M", "4L40", "4S0"], naturepower: ["7M", "6M"], painsplit: ["7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], poisonjab: ["8M", "7M", "6M", "5M", "4M"], - poisonpowder: ["8L20", "7L14", "6L14", "5L15", "4L15"], + poisonpowder: ["8L20", "7L14", "6L14", "5L14", "4L15"], powerswap: ["8M"], - powerwhip: ["8M", "8L48", "7L53", "6L53", "5L54", "4L54"], + powerwhip: ["8M", "8L48", "7L53", "6L53", "5L53", "4L54"], protect: ["8M", "7M", "6M", "5M", "4M"], psychup: ["7M", "6M", "5M", "4M"], reflect: ["8M", "7M", "6M", "5M", "4M"], @@ -16765,7 +17137,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { seedbomb: ["8M", "7T", "6T", "5T", "4T"], shockwave: ["7T", "6T", "4M"], slam: ["8L40", "7L43", "6L43", "5L43", "4L43"], - sleeppowder: ["8L36", "7L4", "6L4", "5L5", "4L5"], + sleeppowder: ["8L36", "7L4", "6L4", "5L4", "4L5"], sleeptalk: ["8M", "7M", "6M", "5T", "4M"], sludgebomb: ["8M", "7M", "6M", "5M", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], @@ -16780,11 +17152,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["8M", "7M", "6M", "5M", "4M"], synthesis: ["7T", "6T", "5T", "4T"], thief: ["8M", "7M", "6M", "5M", "4M"], - tickle: ["8L44", "7L46", "6L46", "5L47", "4L47"], + tickle: ["8L44", "7L46", "6L46", "5L46", "4L47"], toxic: ["7M", "6M", "5M", "4M"], - vinewhip: ["8L16", "7L7", "6L7", "5L19", "4L19"], + vinewhip: ["8L16", "7L7", "6L7", "5L7", "4L19"], worryseed: ["7T", "6T", "5T", "4T"], - wringout: ["7L49", "6L49", "5L50", "4L50"], + wringout: ["7L49", "6L49", "5L49", "4L50"], }, eventData: [ {generation: 4, level: 50, gender: "M", nature: "Brave", moves: ["sunnyday", "morningsun", "ancientpower", "naturalgift"], pokeball: "cherishball"}, @@ -16929,75 +17301,78 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, horsea: { learnset: { - agility: ["8M", "8L30", "8V", "7L36", "7V", "6L23", "5L23", "4L23", "3L36"], + agility: ["9M", "9L30", "8M", "8L30", "8V", "7L36", "7V", "6L23", "5L23", "4L23", "3L36"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - aurorabeam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + aurorabeam: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], bide: ["7V"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], bounce: ["8M", "7T", "6T", "5T", "4T"], brine: ["8M", "7L31", "6L30", "5L30", "5D", "4M", "4L30"], bubble: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "5S0", "4L1", "3L1"], - bubblebeam: ["8L25", "8V", "7L21", "7V", "6L18", "5L18", "4L18"], + bubblebeam: ["9L25", "8L25", "8V", "7L21", "7V", "6L18", "5L18", "4L18"], captivate: ["4M"], - clearsmog: ["8E", "7E", "6E", "5E"], + chillingwater: ["9M"], + clearsmog: ["9E", "8E", "7E", "6E", "5E"], confide: ["7M", "6M"], curse: ["7V"], - disable: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + disable: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], dive: ["8M", "6M", "5M", "4T", "3M"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonbreath: ["8L20", "7E", "7V", "6E", "5E", "4E", "3E"], - dragondance: ["8M", "8L50", "7L46", "6L38", "5L38", "4L38", "3L50"], - dragonpulse: ["8M", "8L40", "8V", "7T", "7L41", "6T", "6L41", "5T", "5L42", "4M", "4L42"], + dragonbreath: ["9L20", "8L20", "7E", "7V", "6E", "5E", "4E", "3E"], + dragondance: ["9M", "9L50", "8M", "8L50", "7L46", "6L38", "5L38", "4L38", "3L50"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "8V", "7T", "7L41", "6T", "6L41", "5T", "5L42", "4M", "4L42"], dragonrage: ["7E", "7V", "6E", "5E", "4E", "3E"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - flashcannon: ["8M", "8V", "7M", "6M", "5M", "4M"], - flipturn: ["8T"], - focusenergy: ["8M", "8L15", "8V", "7L26", "6L14", "5L14", "4L14"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + flashcannon: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focusenergy: ["9L15", "8M", "8L15", "8V", "7L26", "6L14", "5L14", "4L14"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["8V", "7V", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L45", "8V", "7L52", "7V", "6L35", "5L35", "4L35", "3L43"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + hydropump: ["9M", "9L45", "8M", "8L45", "8V", "7L52", "7V", "6L35", "5L35", "4L35", "3L43"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], laserfocus: ["8L35"], - leer: ["8L1", "8V", "7L9", "7V", "6L8", "5L8", "4L8", "3L15"], - liquidation: ["8M"], + leer: ["9L1", "8L1", "8V", "7L9", "7V", "6L8", "5L8", "4L8", "3L15"], + liquidation: ["9M", "8M"], mimic: ["7V", "3T"], - muddywater: ["8M", "7E", "6E", "5E", "4E"], + muddywater: ["9M", "8M", "7E", "6E", "5E", "4E"], naturalgift: ["4M"], octazooka: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], - outrage: ["8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + outrage: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["8M", "8L55", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L55", "8M", "8L55", "7M", "7V", "6M", "5M", "4M", "3M"], razorwind: ["7E", "6E", "5E", "4E"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "8V", "7M", "6M", "5M"], - scaleshot: ["8T"], + scaleshot: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smokescreen: ["8L5", "8V", "7L5", "7V", "6L4", "5L4", "4L4", "3L8"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L5", "8L5", "8V", "7L5", "7V", "6L4", "5L4", "4L4", "3L8"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - splash: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + splash: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], takedown: ["7V"], + terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - twister: ["8L10", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29"], - waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "8V", "7L13", "7V", "6L1", "5L11", "4L11", "3L22"], - waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], - whirlpool: ["8M", "7V", "4M"], + twister: ["9L10", "8L10", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "8V", "7L13", "7V", "6L1", "5L11", "4L11", "3L22"], + waterpulse: ["9M", "9L35", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["9M", "8M", "7V", "4M"], }, eventData: [ {generation: 5, level: 1, shiny: true, moves: ["bubble"], pokeball: "pokeball"}, @@ -17008,15 +17383,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, seadra: { learnset: { - agility: ["8M", "8L30", "8V", "7L38", "7V", "6L23", "5L23", "4L23", "3L40", "3S0"], + agility: ["9M", "9L30", "8M", "8L30", "8V", "7L38", "7V", "6L23", "5L23", "4L23", "3L40", "3S0"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], bounce: ["8M", "7T", "6T", "5T", "4T"], brine: ["8M", "7L31", "6L30", "5L30", "4M", "4L30"], bubble: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - bubblebeam: ["8L25", "8V", "7L21", "7V", "6L18", "5L18", "4L18"], + bubblebeam: ["9L25", "8L25", "8V", "7L21", "7V", "6L18", "5L18", "4L18"], captivate: ["4M"], + chillingwater: ["9M"], clearsmog: ["8V"], confide: ["7M", "6M"], curse: ["7V"], @@ -17024,55 +17400,59 @@ export const Learnsets: {[k: string]: LearnsetData} = { dive: ["8M", "6M", "5M", "4T", "3M"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonbreath: ["8L20", "7V"], - dragondance: ["8M", "8L58", "7L52", "6L48", "5L48", "4L48", "3L62"], - dragonpulse: ["8M", "8L44", "8V", "7T", "7L45", "6T", "6L45", "5T", "5L57", "4M", "4L57"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - flashcannon: ["8M", "8V", "7M", "6M", "5M", "4M"], - flipturn: ["8T"], - focusenergy: ["8M", "8L15", "8V", "7L26", "6L14", "5L14", "4L14"], + dragonbreath: ["9L20", "8L20", "7V"], + dragondance: ["9M", "9L58", "8M", "8L58", "7L52", "6L48", "5L48", "4L48", "3L62"], + dragonpulse: ["9M", "9L44", "8M", "8L44", "8V", "7T", "7L45", "6T", "6L45", "5T", "5L57", "4M", "4L57"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focusenergy: ["9L15", "8M", "8L15", "8V", "7L26", "6L14", "5L14", "4L14"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["8V", "7V", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L51", "8V", "7L1", "7V", "6L1", "5L40", "4L40", "3L51"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + hydropump: ["9M", "9L51", "8M", "8L51", "8V", "7L1", "7V", "6L1", "5L40", "4L40", "3L51"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], laserfocus: ["8L37", "7T"], - leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - liquidation: ["8M"], + leer: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + liquidation: ["9M", "8M"], mimic: ["7V", "3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], naturalgift: ["4M"], - outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7V"], - raindance: ["8M", "8L65", "7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L65", "8M", "8L65", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "8V", "7M", "6M", "5M"], - scaleshot: ["8T"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smokescreen: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snowscape: ["9M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], takedown: ["7V"], + terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - twister: ["8L1", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29", "3S0"], - waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - waterpulse: ["7T", "6T", "4M", "3M"], - whirlpool: ["8M", "7V", "4M"], + twister: ["9L1", "8L1", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29", "3S0"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + waterpulse: ["9M", "9L37", "7T", "6T", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["9M", "8M", "7V", "4M"], }, eventData: [ {generation: 3, level: 45, abilities: ["poisonpoint"], moves: ["leer", "watergun", "twister", "agility"], pokeball: "pokeball"}, @@ -17086,72 +17466,79 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, kingdra: { learnset: { - agility: ["8M", "8L30", "7L38", "7V", "6L23", "5L23", "4L23", "3L40", "3S0"], + agility: ["9M", "9L30", "8M", "8L30", "7L38", "7V", "6L23", "5L23", "4L23", "3L40", "3S0"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "3T"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], bounce: ["8M", "7T", "6T", "5T", "4T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brine: ["8M", "7L31", "6L30", "5L30", "4M", "4L30"], bubble: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - bubblebeam: ["8L25", "7L21", "6L18", "5L18", "4L18"], + bubblebeam: ["9L25", "8L25", "7L21", "6L18", "5L18", "4L18"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], curse: ["7V"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dracometeor: ["8T", "7T", "6T", "5T", "5S1", "4T"], - dragonbreath: ["8L20", "7V"], - dragondance: ["8M", "8L58", "7L52", "6L48", "5L48", "4L48", "3L62"], - dragonpulse: ["8M", "8L44", "7T", "7L45", "6T", "6L1", "5T", "5L57", "5S1", "4M", "4L57"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - flashcannon: ["8M", "7M", "6M", "5M", "4M"], - flipturn: ["8T"], - focusenergy: ["8M", "8L15", "7L26", "6L14", "5L14", "4L14"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "5S1", "4T"], + dragonbreath: ["9L20", "8L20", "7V"], + dragondance: ["9M", "9L58", "8M", "8L58", "7L52", "6L48", "5L48", "4L48", "3L62"], + dragonpulse: ["9M", "9L44", "8M", "8L44", "7T", "7L45", "6T", "6L1", "5T", "5L57", "5S1", "4M", "4L57"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focusenergy: ["9L15", "8M", "8L15", "7L26", "6L14", "5L14", "4L14"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hurricane: ["8M"], - hydropump: ["8M", "8L51", "7L1", "7V", "6L1", "5L40", "4L40", "3L51"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], + hurricane: ["9M", "8M"], + hydropump: ["9M", "9L51", "8M", "8L51", "7L1", "7V", "6L1", "5L40", "4L40", "3L51"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], laserfocus: ["8L37", "7T"], - leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - liquidation: ["8M"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + liquidation: ["9M", "8M"], mimic: ["3T"], - muddywater: ["8M", "5S1"], + muddywater: ["9M", "8M", "5S1"], naturalgift: ["4M"], - outrage: ["8M", "7T", "6T", "5T", "4T"], - protect: ["8M", "7M", "7V", "6M", "5M", "5S1", "4M", "3M"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "5S1", "4M", "3M"], quash: ["7M", "6M", "5M"], - raindance: ["8M", "8L65", "7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L65", "8M", "8L65", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - scald: ["8M", "7M", "6M", "5M"], - scaleshot: ["8T"], + scald: ["9M", "8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smokescreen: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + snowscape: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - twister: ["8L1", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29", "3S0"], - waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - waterpulse: ["7T", "6T", "4M", "3M"], - whirlpool: ["8M", "8L1", "7V", "4M"], - yawn: ["8L1", "7L1", "6L1", "5L1", "4L1"], + twister: ["9L1", "8L1", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29", "3S0"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + waterpulse: ["9M", "9L37", "7T", "6T", "4M", "3M"], + wavecrash: ["9L72"], + weatherball: ["9M"], + whirlpool: ["9M", "9L1", "8M", "8L1", "7V", "4M"], + yawn: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], }, eventData: [ {generation: 3, level: 50, abilities: ["swiftswim"], moves: ["leer", "watergun", "twister", "agility"], pokeball: "pokeball"}, @@ -17332,11 +17719,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { bide: ["7V"], blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], brine: ["8M", "8L28", "7L28", "6L28", "5L36", "4M"], - bubblebeam: ["8V", "7L18", "7V", "6L18", "5L28", "4L28", "3L28"], - camouflage: ["7L22", "6L15", "5L19", "4L19", "3L19"], + bubblebeam: ["8V", "7L18", "7V", "6L18", "5L22", "4L28", "3L28"], + camouflage: ["7L22", "6L15", "5L15", "4L19", "3L19"], confide: ["7M", "6M"], confuseray: ["8L8", "8V", "7L40", "6L40"], - cosmicpower: ["8M", "8L52", "7L49", "6L48", "5L55", "4L51", "3L42", "3S0"], + cosmicpower: ["8M", "8L52", "7L49", "6L48", "5L48", "4L51", "3L42", "3S0"], curse: ["7V"], dazzlinggleam: ["8M", "8V", "7M", "6M"], dive: ["8M", "6M", "5M", "4T", "3M"], @@ -17349,21 +17736,21 @@ export const Learnsets: {[k: string]: LearnsetData} = { flipturn: ["8T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gravity: ["7T", "6T", "5T", "4T"], - gyroball: ["8M", "7M", "7L24", "6M", "6L24", "5M", "5L37", "4M", "4L37"], + gyroball: ["8M", "7M", "7L24", "6M", "6L24", "5M", "5L30", "4M", "4L37"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], harden: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], headbutt: ["8V"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L56", "8V", "7L53", "7V", "6L52", "5L60", "4L55", "3L46", "3S0"], + hydropump: ["8M", "8L56", "8V", "7L53", "7V", "6L52", "5L52", "4L55", "3L46", "3S0"], icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], icywind: ["8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], - lightscreen: ["8M", "8L32", "8V", "7M", "7L46", "7V", "6M", "6L33", "5M", "5L42", "4M", "4L42", "3M", "3L37", "3S0"], + lightscreen: ["8M", "8L32", "8V", "7M", "7L46", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L42", "3M", "3L37", "3S0"], magiccoat: ["7T", "6T", "5T", "4T"], mimic: ["7V", "3T"], - minimize: ["8L16", "8V", "7L31", "7V", "6L25", "5L33", "4L33", "3L33", "3S0"], + minimize: ["8L16", "8V", "7L31", "7V", "6L25", "5L25", "4L33", "3L33", "3S0"], naturalgift: ["4M"], painsplit: ["7T", "6T", "5T", "4T"], - powergem: ["8M", "8L36", "7L37", "6L37", "5L51", "4L46"], + powergem: ["8M", "8L36", "7L37", "6L37", "5L43", "4L46"], protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["8L24"], psychic: ["8M", "8L40", "8V", "7M", "7L42", "7V", "6M", "6L42", "5M", "4M", "3M"], @@ -17372,10 +17759,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { rage: ["7V"], raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], rapidspin: ["8L12", "7L7", "7V", "6L7", "5L10", "4L10", "3L10", "3S1"], - recover: ["8L48", "8V", "7L10", "7V", "6L10", "5L15", "4L15", "3L15", "3S1"], + recover: ["8L48", "8V", "7L10", "7V", "6L10", "5L12", "4L15", "3L15", "3S1"], recycle: ["7T", "6T", "5T", "5D", "4M"], reflect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - reflecttype: ["7L35", "6L35", "5L46"], + reflecttype: ["7L35", "6L35", "5L40"], rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rollout: ["4T"], @@ -17389,7 +17776,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], surf: ["8M", "8L44", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "8L20", "8V", "7L16", "7V", "6L16", "5L24", "4T", "4L24", "3T", "3L24"], + swift: ["8M", "8L20", "8V", "7L16", "7V", "6L16", "5L18", "4T", "4L24", "3T", "3L24"], tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], takedown: ["7V"], teleport: ["8V", "7V"], @@ -17424,7 +17811,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { brine: ["8M", "8L1", "4M"], bubblebeam: ["7V"], confide: ["7M", "6M"], - confuseray: ["8L1", "7L40", "7V", "6L22", "5L28", "4L28", "3L33"], + confuseray: ["8L1", "7L40", "7V", "6L22", "5L22", "4L28", "3L33"], cosmicpower: ["8M", "8L1"], curse: ["7V"], dazzlinggleam: ["8M", "8V", "7M", "6M"], @@ -17530,7 +17917,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { copycat: ["8L1", "7L4", "6L4", "5L4", "4L4"], covet: ["7T", "6T", "5T"], dazzlinggleam: ["8M", "8L44"], - doubleslap: ["7L11", "6L11", "5L15", "4L15"], + doubleslap: ["7L11", "6L11", "5L11", "4L15"], doubleteam: ["7M", "6M", "5M", "4M"], drainpunch: ["8M", "7T", "6T", "5T", "4M"], dreameater: ["7M", "6M", "5M", "4M"], @@ -17555,7 +17942,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T", "5T", "4T"], magicroom: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], meditate: ["7L8", "6L8", "5L8", "4L8"], - mimic: ["8L32", "7L15", "7E", "6L15", "6E", "5L18", "5E", "4L18", "4E"], + mimic: ["8L32", "7L15", "7E", "6L15", "6E", "5L15", "5E", "4L18", "4E"], mistyterrain: ["8M"], mudslap: ["4T"], nastyplot: ["8M", "7E", "6E", "5E", "4E"], @@ -17630,7 +18017,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], dazzlinggleam: ["8M", "8L44", "8V", "7M", "6M"], doubleedge: ["7V", "3T"], - doubleslap: ["8V", "7L11", "7V", "6L11", "5L15", "4L15", "3L15"], + doubleslap: ["8V", "7L11", "7V", "6L11", "5L11", "4L15", "3L15"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["8M", "7T", "6T", "5T", "4M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], @@ -17670,7 +18057,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], metronome: ["8M", "7V", "3T"], - mimic: ["8L32", "8V", "7L15", "7E", "7V", "6L15", "6E", "5L18", "5E", "4L18", "4E", "3T", "3E"], + mimic: ["8L32", "8V", "7L15", "7E", "7V", "6L15", "6E", "5L15", "5E", "4L18", "4E", "3T", "3E"], mistyterrain: ["8M", "7L1", "6L1"], mudslap: ["7V", "4T", "3T"], mysticalfire: ["8M"], @@ -18003,6 +18390,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], silverwind: ["7E", "6E", "5E", "4M", "4E", "3E", "3S1"], + skittersmack: ["9M"], skullbash: ["7V"], slash: ["9L24", "8L24", "8V", "7L29", "7V", "6L29", "5L29", "5S2", "4L29", "3L31", "3S1"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], @@ -18055,11 +18443,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["3T"], crosspoison: ["8M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], defog: ["7T", "4M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doublehit: ["9L20", "8L20", "7L49", "6L49", "6S4", "5L49", "4L49"], doubleteam: ["9L16", "8L16", "7M", "7V", "6M", "5M", "4M", "3M", "3L41"], dualwingbeat: ["9M", "8T"], @@ -18073,6 +18461,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["9L1", "8L1", "7L25", "7V", "6L25", "6S5", "6S6", "5L25", "4T", "4L25", "3T", "3L46", "3S0"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hardpress: ["9M"], headbutt: ["7V", "4T"], helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -18108,6 +18497,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], silverwind: ["4M"], + skittersmack: ["9M"], slash: ["9L24", "8L24", "7L29", "7V", "6L29", "5L29", "4L29", "3L31", "3S0"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -18156,6 +18546,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bugbite: ["9M"], bugbuzz: ["9M"], closecombat: ["9M"], + doubleedge: ["9M"], doublehit: ["9L20"], doubleteam: ["9L16"], dualwingbeat: ["9M"], @@ -18181,6 +18572,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M"], sandstorm: ["9M"], scaryface: ["9M"], + skittersmack: ["9M"], slash: ["9L24"], sleeptalk: ["9M"], smackdown: ["9M", "9L12"], @@ -18434,78 +18826,89 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], barrier: ["7E", "7V", "6E", "5E", "4E", "3E"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], - charge: ["8L8"], - chargebeam: ["7M", "6M", "5M", "4M"], + charge: ["9M", "9L8", "8L8"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], counter: ["3T"], covet: ["7T", "6T", "5T"], - crosschop: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E", "3S0"], + crosschop: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E", "3S0"], curse: ["7V"], detect: ["7V"], - discharge: ["8L32", "7L33", "6L33", "5L41", "4L34"], - doubleedge: ["3T"], + discharge: ["9L32", "8L32", "7L33", "6L33", "5L33", "4L34"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dualchop: ["7T", "6T", "5T"], - dynamicpunch: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], - electroball: ["8M", "7L22", "6L22", "5L31"], - electroweb: ["8M", "7T", "6T", "5T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - feint: ["8E", "7E", "6E", "5E", "4E"], - firepunch: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E", "3S0"], + dynamicpunch: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "8M", "7L22", "6L22", "5L22"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9E", "8E", "7E", "6E", "5E", "4E"], + firepunch: ["9M", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E", "3S0"], flash: ["7V", "6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M"], + focuspunch: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + followme: ["9E"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - hammerarm: ["8E", "7E", "6E", "5E"], + hammerarm: ["9E", "8E", "7E", "6E", "5E"], headbutt: ["7V", "4T"], - helpinghand: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - icepunch: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E", "3S0"], + icepunch: ["9M", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E", "3S0"], karatechop: ["7E", "7V", "6E", "5E", "4E", "3E"], - leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - lightscreen: ["8M", "8L44", "7M", "7L26", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L25", "3M", "3L17"], - lowkick: ["8M", "8L36", "7T", "7L8", "6T", "6L8", "5T", "5L11", "4T", "4L10"], + knockoff: ["9M"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["9M", "9L44", "8M", "8L44", "7M", "7L26", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L25", "3M", "3L17"], + lowkick: ["9M", "9L36", "8M", "8L36", "7T", "7L8", "6T", "6L8", "5T", "5L8", "4T", "4L10"], magnetrise: ["7T", "6T", "5T", "5D", "4T"], meditate: ["7E", "7V", "6E", "5E", "4E", "3E"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], + metalsound: ["9M"], mimic: ["3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - quickattack: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M", "3M"], rollingkick: ["7E", "7V", "6E", "5E", "4E", "3E"], round: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L24", "7L36", "7V", "6L36", "5L51", "4L43", "3L33"], + screech: ["9L24", "8M", "8L24", "7L36", "7V", "6L36", "5L36", "4L43", "3L33"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shockwave: ["8L16", "7T", "7L15", "6T", "6L15", "5L21", "4M", "4L19", "3M"], + shockwave: ["9L16", "8L16", "7T", "7L15", "6T", "6L15", "5L15", "4M", "4L19", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + supercellslam: ["9M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "8L12", "7L12", "7V", "6L12", "5L16", "4T", "4L16", "3T", "3L25"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunder: ["8M", "8L48", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L56", "4M", "4L46", "3M", "3L49"], - thunderbolt: ["8M", "8L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L46", "4M", "4L37", "3M", "3L41"], - thunderpunch: ["8M", "8L28", "7T", "7L29", "7V", "6T", "6L29", "5T", "5L36", "4T", "4L28", "3T", "3L9", "3S0"], - thundershock: ["8L4", "7L5", "6L5", "5L6", "5D", "4L7"], - thunderwave: ["8M", "8L20", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M", "3T"], + swift: ["9M", "9L12", "8M", "8L12", "7L12", "7V", "6L12", "5L12", "4T", "4L16", "3T", "3L25"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "9L48", "8M", "8L48", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L46", "3M", "3L49"], + thunderbolt: ["9M", "9L40", "8M", "8L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L37", "3M", "3L41"], + thunderpunch: ["9M", "9L28", "8M", "8L28", "7T", "7L29", "7V", "6T", "6L29", "5T", "5L29", "4T", "4L28", "3T", "3L9", "3S0"], + thundershock: ["9L4", "8L4", "7L5", "6L5", "5L5", "5D", "4L7"], + thunderwave: ["9M", "9L20", "8M", "8L20", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M", "3T"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "6T", "5T", "4T"], - voltswitch: ["8M", "7M", "6M", "5M"], - wildcharge: ["8M", "7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], zapcannon: ["7V"], }, eventData: [ @@ -18516,91 +18919,99 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bodyslam: ["8M", "7V", "3T"], - brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M"], captivate: ["4M"], - charge: ["8L1"], - chargebeam: ["7M", "6M", "5M", "4M"], + charge: ["9M", "9L1", "8L1"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], counter: ["7V", "3T"], covet: ["7T", "6T", "5T"], crosschop: ["3S1"], curse: ["7V"], detect: ["7V"], - discharge: ["8L34", "7L36", "6L36", "5L44", "4L37"], - doubleedge: ["7V", "3T"], + discharge: ["9L34", "8L34", "7L36", "6L36", "5L36", "4L37"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dualchop: ["7T", "6T", "5T"], dynamicpunch: ["7V", "3T"], - electroball: ["8M", "7L22", "6L22", "5L32"], - electroweb: ["8M", "7T", "6T", "5T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "8M", "7L22", "6L22", "5L22"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], flash: ["7V", "6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], followme: ["3S1"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "8L64", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "9L64", "8M", "8L64", "7M", "6M", "5M", "4M"], headbutt: ["8V", "7V", "4T"], - helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], - leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - lightscreen: ["8M", "8L52", "8V", "7M", "7L26", "7V", "6M", "6L26", "6S4", "5M", "5L26", "5S3", "4M", "4L25", "4S2", "3M", "3L17"], - lowkick: ["8M", "8L40", "8V", "7T", "7L8", "6T", "6L8", "6S4", "5T", "5L11", "5S3", "4T", "4L10", "4S2"], - lowsweep: ["8M", "7M", "6M", "5M"], + knockoff: ["9M"], + leer: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + lightscreen: ["9M", "9L52", "8M", "8L52", "8V", "7M", "7L26", "7V", "6M", "6L26", "6S4", "5M", "5L26", "5S3", "4M", "4L25", "4S2", "3M", "3L17"], + lowkick: ["9M", "9L40", "8M", "8L40", "8V", "7T", "7L8", "6T", "6L8", "6S4", "5T", "5L8", "5S3", "4T", "4L10", "4S2"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], - metronome: ["7V"], + metalsound: ["9M"], + metronome: ["9M", "7V"], mimic: ["7V", "3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psywave: ["7V"], - quickattack: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + quickattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], rage: ["7V"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], risingvoltage: ["8T"], rockclimb: ["4M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L24", "8V", "7L42", "7V", "6L42", "5L56", "4L52", "3L36"], + screech: ["9L24", "8M", "8L24", "8V", "7L42", "7V", "6L42", "5L42", "4L52", "3L36"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], - shockwave: ["8L16", "7T", "7L15", "6T", "6L15", "6S4", "5L21", "5S3", "4M", "4L19", "4S2", "3M"], + shockwave: ["9L16", "8L16", "7T", "7L15", "6T", "6L15", "6S4", "5L15", "5S3", "4M", "4L19", "4S2", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supercellslam: ["9M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "8L12", "8V", "7L12", "7V", "6L12", "5L16", "5S3", "4T", "4L16", "3T", "3L25"], - takedown: ["7V"], - taunt: ["8V"], + swift: ["9M", "9L12", "8M", "8L12", "8V", "7L12", "7V", "6L12", "5L12", "5S3", "4T", "4L16", "3T", "3L25"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V"], teleport: ["8V", "7V"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunder: ["8M", "8L58", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L62", "4M", "4L58", "3M", "3L58"], - thunderbolt: ["8M", "8L46", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L50", "4M", "4L43", "3M", "3L47", "3S1"], - thunderpunch: ["8M", "8L28", "8V", "7T", "7L29", "7V", "6T", "6L29", "6S4", "5T", "5L38", "4T", "4L28", "4S2", "3T", "3L1", "3S0"], - thundershock: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], - thunderwave: ["8M", "8L20", "8V", "7M", "7L19", "7V", "6M", "6L19", "5M", "5L19", "4M", "3T", "3S1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "9L58", "8M", "8L58", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L58", "3M", "3L58"], + thunderbolt: ["9M", "9L46", "8M", "8L46", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L43", "3M", "3L47", "3S1"], + thunderpunch: ["9M", "9L28", "8M", "8L28", "8V", "7T", "7L29", "7V", "6T", "6L29", "6S4", "5T", "5L29", "4T", "4L28", "4S2", "3T", "3L1", "3S0"], + thundershock: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], + thunderwave: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L19", "7V", "6M", "6L19", "5M", "5L19", "4M", "3T", "3S1"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M"], - voltswitch: ["8M", "7M", "6M", "5M"], - wildcharge: ["8M", "7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["9M", "8M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], zapcannon: ["7V"], }, eventData: [ @@ -18620,87 +19031,98 @@ export const Learnsets: {[k: string]: LearnsetData} = { electivire: { learnset: { attract: ["8M", "7M", "6M", "5M", "4M"], - bodyslam: ["8M"], - brickbreak: ["8M", "7M", "6M", "5M", "4M"], - bulldoze: ["8M", "7M", "6M", "5M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], - charge: ["8L1"], - chargebeam: ["7M", "6M", "5M", "4M"], + charge: ["9M", "9L1", "8L1"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], crosschop: ["4S0"], darkestlariat: ["8M"], - dig: ["8M", "6M", "5M", "4M"], - discharge: ["8L34", "7L36", "6L36", "5L44", "4L37", "4S1"], + dig: ["9M", "8M", "6M", "5M", "4M"], + discharge: ["9L34", "8L34", "7L36", "6L36", "5L36", "4L37", "4S1"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dualchop: ["7T", "6T", "5T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "4S0"], - electricterrain: ["8M", "7L1", "6L1"], - electroball: ["8M", "7L22", "6L22", "5L32"], - electroweb: ["8M", "7T", "6T", "5T"], - endure: ["8M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M"], - firepunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], - flamethrower: ["8M", "7M", "6M", "5M", "4M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "4S0"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M", "7L1", "6L1"], + electroball: ["9M", "8M", "7L22", "6L22", "5L22"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], flash: ["6M", "5M", "4M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], frustration: ["7M", "6M", "5M", "4M"], - gigaimpact: ["8M", "8L64", "7M", "7L62", "6M", "6L62", "5M", "5L68", "4M", "4L67"], + gigaimpact: ["9M", "9L64", "8M", "8L64", "7M", "7L62", "6M", "6L62", "5M", "5L62", "4M", "4L67"], headbutt: ["4T"], - helpinghand: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "6M", "5M", "4M"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M"], - icepunch: ["8M", "7T", "6T", "5T", "4T", "4S0"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "4S0"], iondeluge: ["7L1", "6L1"], irontail: ["8M", "7T", "6T", "5T", "4M"], - leer: ["8L1", "7L1", "6L1", "5L1", "4L1"], - lightscreen: ["8M", "8L52", "7M", "7L26", "6M", "6L26", "5M", "5L26", "4M", "4L25", "4S1"], - lowkick: ["8M", "8L40", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], - lowsweep: ["8M", "7M", "6M", "5M"], + knockoff: ["9M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lightscreen: ["9M", "9L52", "8M", "8L52", "7M", "7L26", "6M", "6L26", "5M", "5L26", "4M", "4L25", "4S1"], + lowkick: ["9M", "9L40", "8M", "8L40", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["8M"], megapunch: ["8M"], + metalsound: ["9M"], + metronome: ["9M"], mudslap: ["4T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M"], - psychic: ["8M", "7M", "6M", "5M", "4M"], - quickattack: ["8L1", "7L1", "6L1", "5L1", "4L1"], - raindance: ["8M", "7M", "6M", "5M", "4M"], - rest: ["8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + reflect: ["9M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], risingvoltage: ["8T"], rockclimb: ["4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L24", "7L42", "6L42", "5L56", "4L52"], + screech: ["9L24", "8M", "8L24", "7L42", "6L42", "5L42", "4L52"], secretpower: ["6M", "4M"], - shockwave: ["8L16", "7T", "7L15", "6T", "6L15", "5L21", "4M", "4L19"], + shockwave: ["9L16", "8L16", "7T", "7L15", "6T", "6L15", "5L15", "4M", "4L19"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], - stompingtantrum: ["8M", "7T"], + stompingtantrum: ["9M", "8M", "7T"], strength: ["6M", "5M", "4M"], - substitute: ["8M", "7M", "6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + supercellslam: ["9M"], swagger: ["7M", "6M", "5M", "4M"], - swift: ["8M", "8L12", "7L12", "6L12", "5L16", "4T", "4L16"], - taunt: ["8M", "7M", "6M", "5M", "4M"], - thief: ["8M", "7M", "6M", "5M", "4M"], - thunder: ["8M", "8L58", "7M", "7L55", "6M", "6L55", "5M", "5L62", "4M", "4L58"], - thunderbolt: ["8M", "8L46", "7M", "7L49", "6M", "6L49", "5M", "5L50", "4M", "4L43", "4S1"], - thunderpunch: ["8M", "8L28", "7T", "7L29", "6T", "6L29", "5T", "5L38", "4T", "4L28", "4S0", "4S1"], - thundershock: ["8L1", "7L1", "6L1", "5L1", "4L1"], - thunderwave: ["8M", "8L20", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M"], + swift: ["9M", "9L12", "8M", "8L12", "7L12", "6L12", "5L12", "4T", "4L16"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "9L58", "8M", "8L58", "7M", "7L55", "6M", "6L55", "5M", "5L55", "4M", "4L58"], + thunderbolt: ["9M", "9L46", "8M", "8L46", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L43", "4S1"], + thunderpunch: ["9M", "9L28", "8M", "8L28", "7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L28", "4S0", "4S1"], + thundershock: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + thunderwave: ["9M", "9L20", "8M", "8L20", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M"], torment: ["7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], - uproar: ["8M"], - voltswitch: ["8M", "7M", "6M", "5M"], - weatherball: ["8M"], - wildcharge: ["8M", "7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["9M", "8M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + weatherball: ["9M", "8M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], }, eventData: [ {generation: 4, level: 50, gender: "M", nature: "Adamant", moves: ["thunderpunch", "icepunch", "crosschop", "earthquake"], pokeball: "pokeball"}, @@ -18709,175 +19131,189 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, magby: { learnset: { + acidspray: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], barrier: ["7E", "7V", "6E", "5E", "4E", "3E"], - belch: ["8E", "7E", "6E"], - bellydrum: ["7E", "6E", "5E", "4E"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + belch: ["9E", "8E", "7E", "6E"], + bellydrum: ["9E", "7E", "6E", "5E", "4E"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + burningjealousy: ["9M"], captivate: ["4M"], - clearsmog: ["8L12", "7L19", "6L19", "5L19"], + clearsmog: ["9L12", "8L12", "7L19", "6L19", "5L19"], confide: ["7M", "6M"], - confuseray: ["8L20", "7L26", "7V", "6L26", "5L25", "4L25", "3L43"], + confuseray: ["9M", "9L20", "8L20", "7L26", "7V", "6L26", "5L25", "4L25", "3L43"], counter: ["3T"], covet: ["7T", "6T", "5T"], - crosschop: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - curse: ["7V"], + crosschop: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "7V"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dualchop: ["7T", "6T", "5T"], - dynamicpunch: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], - ember: ["8L4", "7L5", "7V", "6L5", "5L7", "5D", "4L7", "3L1"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - feintattack: ["7L12", "6L12", "5L16", "4L16"], - fireblast: ["8M", "8L48", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L49", "4M", "4L46", "3M", "3L49"], - firepunch: ["8M", "8L28", "7T", "7L29", "7V", "6T", "6L29", "5T", "5L34", "4T", "4L28", "3T", "3L19"], - firespin: ["8M", "7L15", "6L15", "5L19", "4L19"], - flameburst: ["7L22", "6L22", "5L28"], - flamecharge: ["7M", "6M", "5M"], - flamethrower: ["8M", "8L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L43", "4M", "4L37", "3M", "3L37"], - flamewheel: ["8L16"], - flareblitz: ["8M", "7E", "6E", "5E", "4E"], - fling: ["8M", "7M", "6M", "5M", "4M"], + dynamicpunch: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T"], + ember: ["9L4", "8L4", "7L5", "7V", "6L5", "5L5", "5D", "4L7", "3L1"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L12", "6L12", "5L12", "4L16"], + fireblast: ["9M", "9L48", "8M", "8L48", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L46", "3M", "3L49"], + firepunch: ["9M", "9L28", "8M", "8L28", "7T", "7L29", "7V", "6T", "6L29", "5T", "5L29", "4T", "4L28", "3T", "3L19"], + firespin: ["9M", "8M", "7L15", "6L15", "5L15", "4L19"], + flameburst: ["7L22", "6L22", "5L22"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L40", "8M", "8L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L37", "3M", "3L37"], + flamewheel: ["9L16", "8L16"], + flareblitz: ["9M", "8M", "7E", "6E", "5E", "4E"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focusenergy: ["8M", "7E", "6E", "5E"], - focuspunch: ["8E", "7T", "6T", "4M", "3M"], + focuspunch: ["9M", "9E", "8E", "7T", "6T", "4M", "3M"], + followme: ["9E"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], - heatwave: ["8M", "7T", "6T", "5T", "5D", "4T"], - helpinghand: ["8M", "7T", "6T", "5T", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "5D", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], incinerate: ["6M", "5M"], irontail: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], karatechop: ["7E", "7V", "6E", "5E", "4E", "3E"], - lavaplume: ["8L32", "7L33", "6L33", "5L37", "4L34"], - leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L7"], - lowkick: ["8M", "8L36"], - machpunch: ["8E", "7E", "6E", "5E", "4E"], + lavaplume: ["9L32", "8L32", "7L33", "6L33", "5L33", "4L34"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L7"], + lowkick: ["9M", "9L36", "8M", "8L36"], + machpunch: ["9E", "8E", "7E", "6E", "5E", "4E"], megakick: ["8M", "3T"], megapunch: ["8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], mimic: ["3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], - overheat: ["8M", "7M", "6M", "5M", "4M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M"], powerswap: ["8M", "7E", "6E"], poweruppunch: ["6M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - scaryface: ["8M", "8L24"], + scaryface: ["9M", "9L24", "8M", "8L24"], screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smog: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L13"], - smokescreen: ["8L8", "7L8", "7V", "6L8", "5L10", "4L10", "3L25"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smog: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L13"], + smokescreen: ["9L8", "8L8", "7L8", "7V", "6L8", "5L8", "4L10", "3L25"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "8L44", "7M", "7L36", "7V", "6M", "6L36", "5M", "5L46", "4M", "4L43", "3M", "3L31"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "9L44", "8M", "8L44", "7M", "7L36", "7V", "6M", "6L36", "5M", "5L36", "4M", "4L43", "3M", "3L31"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderpunch: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3T", "3E"], + takedown: ["9M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3T", "3E"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], uproar: ["8M", "7T", "6T", "5T", "4T"], - willowisp: ["8M", "7M", "6M", "5M", "4M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], }, }, magmar: { learnset: { + acidspray: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bide: ["7V"], - bodyslam: ["8M", "7V", "3T"], - brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - burningjealousy: ["8T"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + burningjealousy: ["9M", "8T"], captivate: ["4M"], - clearsmog: ["8L12", "8V", "7L19", "6L19", "5L19"], + clearsmog: ["9L12", "8L12", "8V", "7L19", "6L19", "5L19"], confide: ["7M", "6M"], - confuseray: ["8L20", "8V", "7L26", "7V", "6L26", "6S4", "5L26", "5S3", "4L25", "4S2", "3L49"], + confuseray: ["9M", "9L20", "8L20", "8V", "7L26", "7V", "6L26", "6S4", "5L26", "5S3", "4L25", "4S2", "3L49"], counter: ["7V", "3T"], covet: ["7T", "6T", "5T"], crosschop: ["3S1"], - curse: ["7V"], + curse: ["9M", "7V"], detect: ["7V"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dualchop: ["7T", "6T", "5T"], dynamicpunch: ["7V", "3T"], - ember: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - feintattack: ["7L12", "6L12", "5L16", "5S3", "4L16"], - fireblast: ["8M", "8L58", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L62", "4M", "4L54", "3M", "3L57", "3S1"], - firepunch: ["8M", "8L28", "8V", "7T", "7L29", "7V", "6T", "6L29", "6S4", "5T", "5L38", "4T", "4L28", "4S2", "3T", "3L1", "3S0"], - firespin: ["8M", "8V", "7L15", "6L15", "6S4", "5L21", "5S3", "4L19", "4S2"], - flameburst: ["7L22", "6L22", "5L32"], - flamecharge: ["7M", "6M", "5M"], - flamethrower: ["8M", "8L46", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L50", "4M", "4L41", "3M", "3L41"], - flamewheel: ["8L16"], - flareblitz: ["8M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], + ember: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L12", "6L12", "5L12", "5S3", "4L16"], + fireblast: ["9M", "9L58", "8M", "8L58", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L54", "3M", "3L57", "3S1"], + firepunch: ["9M", "9L28", "8M", "8L28", "8V", "7T", "7L29", "7V", "6T", "6L29", "6S4", "5T", "5L29", "4T", "4L28", "4S2", "3T", "3L1", "3S0"], + firespin: ["9M", "8M", "8V", "7L15", "6L15", "6S4", "5L15", "5S3", "4L19", "4S2"], + flameburst: ["7L22", "6L22", "5L22"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L46", "8M", "8L46", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L41", "3M", "3L41"], + flamewheel: ["9L16", "8L16"], + flareblitz: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], focusenergy: ["8M"], - focuspunch: ["7T", "6T", "4M", "3M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], followme: ["3S1"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], headbutt: ["8V", "7V", "4T"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], - helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + heatcrash: ["9M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8L64", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "9L64", "8M", "8L64", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], incinerate: ["6M", "5M"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], - lavaplume: ["8L34", "7L36", "6L36", "5L44", "4L36"], - leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - lowkick: ["8M", "8L40", "8V", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], + knockoff: ["9M"], + lavaplume: ["9L34", "8L34", "7L36", "6L36", "5L36", "4L36"], + leer: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + lowkick: ["9M", "9L40", "8M", "8L40", "8V", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M", "7V", "3T"], megapunch: ["8M", "7V", "3T"], - metronome: ["7V"], + metronome: ["9M", "7V"], mimic: ["7V", "3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], - overheat: ["8M", "7M", "6M", "5M", "4M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M"], powerswap: ["8M"], poweruppunch: ["6M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psywave: ["7V"], rage: ["7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M"], rockclimb: ["4M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - scaryface: ["8M", "8L24"], - scorchingsands: ["8T"], + scaryface: ["9M", "9L24", "8M", "8L24"], + scorchingsands: ["9M", "8T"], screech: ["8M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["8V", "7V", "3T"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smog: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - smokescreen: ["8L1", "8V", "7L8", "7V", "6L8", "6S4", "5L11", "5S3", "4L10", "4S2", "3L25"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smog: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + smokescreen: ["9L1", "8L1", "8V", "7L8", "7V", "6L8", "6S4", "5L8", "5S3", "4L10", "4S2", "3L25"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], strength: ["7V", "6M", "5M", "4M", "3M"], submission: ["7V"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "8L52", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L56", "4M", "4L49", "3M", "3L33"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "9L52", "8M", "8L52", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L42", "4M", "4L49", "3M", "3L33"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - takedown: ["7V"], - taunt: ["8V"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V"], teleport: ["8V", "7V"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T", "3S1"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T", "3S1"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["8M"], - willowisp: ["8M", "8V", "7M", "6M", "5M", "4M"], + uproar: ["9M", "8M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], }, eventData: [ {generation: 3, level: 10, gender: "M", moves: ["leer", "smog", "firepunch", "ember"], pokeball: "pokeball"}, @@ -18895,88 +19331,100 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, magmortar: { learnset: { + acidspray: ["9M"], attract: ["8M", "7M", "6M", "5M", "4M"], - bodyslam: ["8M"], - brickbreak: ["8M", "7M", "6M", "5M", "4M"], - bulldoze: ["8M", "7M", "6M", "5M"], - burningjealousy: ["8T"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + burningjealousy: ["9M", "8T"], captivate: ["4M"], - clearsmog: ["8L12", "7L19", "6L19", "5L19"], + clearsmog: ["9L12", "8L12", "7L19", "6L19", "5L19"], confide: ["7M", "6M"], - confuseray: ["8L20", "7L26", "6L26", "5L26", "4L25", "4S1"], + confuseray: ["9M", "9L20", "8L20", "7L26", "6L26", "5L26", "4L25", "4S1"], covet: ["7T", "6T", "5T"], + curse: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dualchop: ["7T", "6T", "5T"], - earthquake: ["8M", "7M", "6M", "5M", "4M"], - ember: ["8L1", "7L1", "6L1", "5L1", "4L1"], - endure: ["8M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M"], - feintattack: ["7L12", "6L12", "5L16", "4L16"], - fireblast: ["8M", "8L58", "7M", "7L55", "6M", "6L55", "5M", "5L62", "4M", "4L58"], - firepunch: ["8M", "8L28", "7T", "7L29", "6T", "6L29", "5T", "5L38", "4T", "4L28", "4S1"], - firespin: ["8M", "7L15", "6L15", "5L21", "4L19"], - flameburst: ["7L22", "6L22", "5L32"], - flamecharge: ["7M", "6M", "5M"], - flamethrower: ["8M", "8L46", "7M", "7L49", "6M", "6L49", "5M", "5L50", "4M", "4L43", "4S0", "4S1"], - flamewheel: ["8L16"], - flareblitz: ["8M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feintattack: ["7L12", "6L12", "5L12", "4L16"], + fireblast: ["9M", "9L58", "8M", "8L58", "7M", "7L55", "6M", "6L55", "5M", "5L55", "4M", "4L58"], + firepunch: ["9M", "9L28", "8M", "8L28", "7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L28", "4S1"], + firespin: ["9M", "8M", "7L15", "6L15", "5L15", "4L19"], + flameburst: ["7L22", "6L22", "5L22"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L46", "8M", "8L46", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L43", "4S0", "4S1"], + flamewheel: ["9L16", "8L16"], + flareblitz: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], focusenergy: ["8M"], - focuspunch: ["7T", "6T", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], frustration: ["7M", "6M", "5M", "4M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], headbutt: ["4T"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], - helpinghand: ["8M", "7T", "6T", "5T", "4T"], + heatcrash: ["9M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "6M", "5M", "4M"], - hyperbeam: ["8M", "8L64", "7M", "7L62", "6M", "6L62", "5M", "5L68", "4M", "4L67", "4S0"], + hyperbeam: ["9M", "9L64", "8M", "8L64", "7M", "7L62", "6M", "6L62", "5M", "5L62", "4M", "4L67", "4S0"], + hypervoice: ["9M"], incinerate: ["6M", "5M"], irontail: ["8M", "7T", "6T", "5T", "4M"], - lavaplume: ["8L34", "7L36", "6L36", "5L44", "4L37", "4S1"], - leer: ["8L1", "7L1", "6L1", "5L1", "4L1"], - lowkick: ["8M", "8L40", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], + knockoff: ["9M"], + lavaplume: ["9L34", "8L34", "7L36", "6L36", "5L36", "4L37", "4S1"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lowkick: ["9M", "9L40", "8M", "8L40", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M"], megapunch: ["8M"], + metronome: ["9M"], mudslap: ["4T"], mysticalfire: ["8M"], naturalgift: ["4M"], - overheat: ["8M", "7M", "6M", "5M", "4M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M"], powerswap: ["8M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M"], - psychic: ["8M", "7M", "6M", "5M", "4M", "4S0"], - rest: ["8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "4S0"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], + roar: ["9M"], rockclimb: ["4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], - scaryface: ["8M", "8L24"], - scorchingsands: ["8T"], + scaryface: ["9M", "9L24", "8M", "8L24"], + scorchingsands: ["9M", "8T"], screech: ["8M"], secretpower: ["6M", "4M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M"], - smog: ["8L1", "7L1", "6L1", "5L1", "4L1"], - smokescreen: ["8L1", "7L1", "6L1", "5L1", "4L1"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smog: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + smokescreen: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], snore: ["8M", "7T", "6T", "5T", "4T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "4S0"], - stompingtantrum: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "4S0"], + stompingtantrum: ["9M", "8M", "7T"], strength: ["6M", "5M", "4M"], - substitute: ["8M", "7M", "6M", "5M", "4M"], - sunnyday: ["8M", "8L52", "7M", "7L42", "6M", "6L42", "5M", "5L56", "4M", "4L52"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "9L52", "8M", "8L52", "7M", "7L42", "6M", "6L42", "5M", "5L42", "4M", "4L52"], swagger: ["7M", "6M", "5M", "4M"], - taunt: ["8M", "7M", "6M", "5M", "4M"], - thief: ["8M", "7M", "6M", "5M", "4M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M"], - thunderpunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], torment: ["7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], - uproar: ["8M"], - weatherball: ["8M"], - willowisp: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "8M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], }, eventData: [ {generation: 4, level: 50, gender: "F", nature: "Modest", moves: ["flamethrower", "psychic", "hyperbeam", "solarbeam"], pokeball: "pokeball"}, @@ -18989,7 +19437,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bide: ["7V"], bind: ["8L8", "8V", "7T", "7L4", "7V", "6T", "6L4", "5T", "5L4", "4L4", "3L7"], bodyslam: ["8M", "7V", "3T"], - brickbreak: ["8M", "8V", "7M", "7L26", "6M", "6L18", "5M", "5L21", "4M", "4L21", "3M", "3L31"], + brickbreak: ["8M", "8V", "7M", "7L26", "6M", "6L18", "5M", "5L18", "4M", "4L21", "3M", "3L31"], brutalswing: ["8M", "7M"], bugbite: ["8L16", "7T", "7E", "6T", "6E", "5T", "5E"], bulkup: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], @@ -19019,7 +19467,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { furycutter: ["7V", "4T", "3T"], gigaimpact: ["8M", "7M", "6M", "5M", "4M"], guillotine: ["8L48", "8V", "7L50", "7V", "6L47", "5L47", "4L47", "3L37", "3S0"], - harden: ["8L1", "8V", "7L11", "7V", "6L11", "5L13", "4L13", "3L19"], + harden: ["8L1", "8V", "7L11", "7V", "6L11", "5L11", "4L13", "3L19"], headbutt: ["8V", "7V", "4T"], helpinghand: ["8M", "8V", "3S0"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -19037,7 +19485,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "6S1", "5M", "4M", "3M"], - revenge: ["8M", "7L15", "6L15", "5L18", "4L18", "3L25"], + revenge: ["8M", "7L15", "6L15", "5L15", "4L18", "3L25"], reversal: ["8M"], rockclimb: ["4M"], rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], @@ -19056,10 +19504,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { strength: ["8L36", "7V", "6M", "5M", "4M", "3M"], stringshot: ["4T"], strugglebug: ["6M", "5M"], - submission: ["8L44", "8V", "7L33", "7V", "6L26", "5L42", "4L42", "3L43", "3S0"], + submission: ["8L44", "8V", "7L33", "7V", "6L26", "5L26", "4L42", "3L43", "3S0"], substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - superpower: ["8M", "8L52", "8V", "7T", "7L47", "7E", "6T", "6L43", "6E", "5T", "5L52", "5E", "4T", "4L52"], + superpower: ["8M", "8L52", "8V", "7T", "7L47", "7E", "6T", "6L43", "6E", "5T", "5L43", "5E", "4T", "4L52"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swordsdance: ["8M", "8L40", "8V", "7M", "7L40", "7V", "6M", "6L40", "6S2", "5M", "5L38", "4M", "4L38", "3T", "3L49"], takedown: ["7V"], @@ -19068,8 +19516,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { throatchop: ["8M", "7T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], visegrip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], - vitalthrow: ["8L28", "7L18", "6L18", "5L25", "4L25"], - xscissor: ["8M", "8L32", "8V", "7M", "7L29", "6M", "6L29", "6S1", "5M", "5L30", "4M", "4L30"], + vitalthrow: ["8L28", "7L18", "6L18", "5L22", "4L25"], + xscissor: ["8M", "8L32", "8V", "7M", "7L29", "6M", "6L29", "6S1", "5M", "5L29", "4M", "4L30"], }, eventData: [ {generation: 3, level: 35, abilities: ["hypercutter"], moves: ["helpinghand", "guillotine", "falseswipe", "submission"]}, @@ -19092,12 +19540,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], closecombat: ["9M", "8M"], confide: ["7M", "6M"], - curse: ["9E", "7V"], + curse: ["9M", "9E", "7V"], dig: ["9M"], - doubleedge: ["9L55", "8L55", "8V", "7L63", "7V", "3T"], + doubleedge: ["9M", "9L55", "8L55", "8V", "7L63", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S2"], - endeavor: ["9E", "7T", "6T", "5T", "4T"], + endeavor: ["9M", "9E", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -19167,7 +19615,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M"], thrash: ["9L50", "8L50", "8V", "7L50", "7V", "6L50", "5L55", "4L48", "3L43"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -19197,13 +19645,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M"], bulldoze: ["9M"], closecombat: ["9M", "9L60"], - curse: ["9E"], + curse: ["9M", "9E"], dig: ["9M"], - doubleedge: ["9L55"], + doubleedge: ["9M", "9L55"], doublekick: ["9L10"], drillrun: ["9M"], earthquake: ["9M"], - endeavor: ["9E"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], gigaimpact: ["9M"], @@ -19236,6 +19684,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M"], thrash: ["9L50"], + throatchop: ["9M"], trailblaze: ["9M"], wildcharge: ["9M"], workup: ["9L5"], @@ -19249,12 +19698,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M"], bulldoze: ["9M"], closecombat: ["9M", "9L60"], - curse: ["9E"], + curse: ["9M", "9E"], dig: ["9M"], + doubleedge: ["9M"], doublekick: ["9L10"], drillrun: ["9M"], earthquake: ["9M"], - endeavor: ["9E"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], fireblast: ["9M"], @@ -19289,6 +19739,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1"], tailwhip: ["9L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], thrash: ["9L50"], @@ -19308,12 +19759,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M"], chillingwater: ["9M"], closecombat: ["9M", "9L60"], - curse: ["9E"], + curse: ["9M", "9E"], dig: ["9M"], + doubleedge: ["9M"], doublekick: ["9L10"], drillrun: ["9M"], earthquake: ["9M"], - endeavor: ["9E"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], gigaimpact: ["9M"], @@ -19350,6 +19802,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], waterpulse: ["9M"], wavecrash: ["9L55"], + whirlpool: ["9M"], wildcharge: ["9M"], workup: ["9L5"], zenheadbutt: ["9M", "9L30"], @@ -19401,14 +19854,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["7V"], + dragoncheer: ["9M"], dragondance: ["9M", "9L36", "8M", "8L36", "7L45", "6L44", "6S0", "5L44", "4L44", "3L50"], dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], dragonrage: ["8V", "7L36", "7V", "6L23", "5L23", "4L23", "3L25"], dragontail: ["9M", "8V", "7M", "6M", "5M"], earthquake: ["9M", "8M", "8V", "7M", "6M", "6S0", "5M", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -19432,7 +19887,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lashout: ["9M", "8T"], leer: ["9L1", "8L1", "8V", "7L21", "7V", "6L26", "5L26", "4L26", "3L30"], mimic: ["7V", "3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], naturalgift: ["4M"], outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], @@ -19465,6 +19920,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1", "7V"], takedown: ["9M", "7V"], taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + temperflare: ["9M"], terablast: ["9M"], thrash: ["9L48", "8L48", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -19477,7 +19933,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "9L21", "8M", "8L21", "8V", "7M", "7V", "6M", "6S0", "6S1", "5M", "4M", "3M"], watergun: ["7V"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], - whirlpool: ["9L4", "8M", "8L4", "7V", "4M"], + whirlpool: ["9M", "9L4", "8M", "8L4", "7V", "4M"], zapcannon: ["7V"], }, eventData: [ @@ -19495,107 +19951,118 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, lapras: { learnset: { - ancientpower: ["8E", "7E", "6E", "5E", "4T", "4E"], + alluringvoice: ["9M"], + ancientpower: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], aurorabeam: ["7V"], - avalanche: ["8M", "7E", "6E", "5E", "4M"], + avalanche: ["9M", "8M", "7E", "6E", "5E", "4M"], bide: ["7V"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], block: ["7T", "6T", "5T", "4T"], - bodypress: ["8M"], - bodyslam: ["8M", "8L40", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3T", "3L13"], - brine: ["8M", "8L35", "7L37", "6L37", "5L37", "4M", "4L37"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L40", "8M", "8L40", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3T", "3L13"], + brine: ["9L35", "8M", "8L35", "7L37", "6L37", "5L37", "4M", "4L37"], bubblebeam: ["7V"], - bulldoze: ["8M", "7M", "6M", "5M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], - charm: ["8M"], + charm: ["9M", "8M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - confuseray: ["8L25", "8V", "7L7", "7V", "6L7", "5L7", "5D", "4L7", "3L19"], - curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + confuseray: ["9M", "9L25", "8L25", "8V", "7L7", "7V", "6L7", "5L7", "5D", "4L7", "3L19"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + disarmingvoice: ["9M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["7V"], - dragondance: ["8M", "7E", "6E", "5E", "4E", "3E"], - dragonpulse: ["8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + dragoncheer: ["9M"], + dragondance: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + dragonpulse: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], dragonrage: ["7V"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], - drillrun: ["8M", "8V", "7T", "6T", "5T"], + drillrun: ["9M", "8M", "8V", "7T", "6T", "5T"], + earthquake: ["9M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - fissure: ["8E", "7E", "6E", "5E", "4E"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fissure: ["9E", "8E", "7E", "6E", "5E", "4E"], foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], - freezedry: ["8E", "7E", "6E"], + freezedry: ["9E", "8E", "7E", "6E"], frostbreath: ["7M", "6M", "5M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], futuresight: ["8M", "7E", "6E", "5E"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], headbutt: ["8V", "7V", "4T"], healbell: ["7T", "6T", "5T", "4T", "3S0"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - horndrill: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], - hydropump: ["8M", "8L55", "8V", "7L47", "7V", "6L47", "5L49", "4L49", "3L49", "3S0"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - hypervoice: ["8M", "7T", "6T", "5T"], - icebeam: ["8M", "8L45", "8V", "7M", "7L32", "7V", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3M", "3L31"], - iceshard: ["8L20", "8V", "7L10", "6L10", "5L10", "4L10"], - icywind: ["8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], + horndrill: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + hydropump: ["9M", "9L55", "8M", "8L55", "8V", "7L47", "7V", "6L47", "5L49", "4L49", "3L49", "3S0"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "9L45", "8M", "8L45", "8V", "7M", "7L32", "7V", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3M", "3L31"], + iceshard: ["9L20", "8L20", "8V", "7L10", "6L10", "5L10", "4L10"], + iciclespear: ["9M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], - lifedew: ["8L15"], - liquidation: ["8M"], + lifedew: ["9L15", "8L15"], + liquidation: ["9M", "8M"], megahorn: ["8M", "8V"], mimic: ["7V", "3T"], - mist: ["8L10", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3L7"], + mist: ["9L10", "8L10", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3L7"], + muddywater: ["9M"], naturalgift: ["4M"], nightmare: ["7V", "3T"], - outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], - perishsong: ["8L60", "7L27", "7V", "6L27", "5L27", "4L27", "3L25"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + perishsong: ["9L60", "8L60", "7L27", "7V", "6L27", "5L27", "4L27", "3L25"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicnoise: ["9M"], psywave: ["7V"], rage: ["7V"], - raindance: ["8M", "8L50", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L37", "3S0"], - reflect: ["8V", "7V"], + raindance: ["9M", "9L50", "8M", "8L50", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L37", "3S0"], + reflect: ["9M", "8V", "7V"], refresh: ["7E", "6E", "5E", "4E", "3E"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], roar: ["7M", "6M", "5M", "4M", "3M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], secretpower: ["6M", "4M", "3M"], - sheercold: ["8L65", "7L50", "6L50", "5L55", "4L55", "3L55"], + sheercold: ["9L65", "8L65", "7L50", "6L50", "5L55", "4L55", "3L55"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - sing: ["8L5", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sing: ["9L5", "8L5", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], - smartstrike: ["8M", "7M"], + sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + smartstrike: ["9M", "8M", "7M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], solarbeam: ["8V", "7V"], - sparklingaria: ["8E"], + sparklingaria: ["9E", "8E"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], - surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - takedown: ["7V"], - thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - tickle: ["8E", "7E", "6E", "5E", "4E", "3E"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + tickle: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - waterpulse: ["8L30", "7T", "7L14", "6T", "6L14", "5L14", "4M", "4L14", "3M"], - weatherball: ["8M"], - whirlpool: ["8M", "7E", "7V", "6E", "5E", "4M", "4E"], + waterfall: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["9M", "9L30", "8L30", "7T", "7L14", "6T", "6L14", "5L14", "4M", "4L14", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "4E"], zapcannon: ["7V"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 3, level: 44, moves: ["hydropump", "raindance", "blizzard", "healbell"]}, @@ -19623,11 +20090,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, eevee: { learnset: { + alluringvoice: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "5S2", "4M", "4S0", "3M"], babydolleyes: ["9L15", "8L15", "7L9", "7S5", "6L9", "6S3", "6S4"], - batonpass: ["9M", "9L35", "8M", "8L35", "7L33", "7V", "6L33", "5L36", "4L36", "3L36"], + batonpass: ["9M", "9L35", "8M", "8L35", "7L33", "7V", "6L33", "5L33", "4L36", "3L36"], bide: ["7V"], - bite: ["9L25", "8L25", "8V", "7L17", "7V", "6L17", "5L29", "4L29", "4S0", "3L30"], + bite: ["9L25", "8L25", "8V", "7L17", "7V", "6L17", "5L17", "4L29", "4S0", "3L30"], bodyslam: ["9M", "8M", "7V", "3T"], calmmind: ["9M"], captivate: ["7E", "6E", "4M"], @@ -19636,10 +20104,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], copycat: ["9L30", "8L30"], covet: ["9L1", "8L1", "8S6", "7T", "7L1", "7E", "6T", "6L23", "6E", "5T", "5L21", "5E", "4E", "4S0"], - curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], detect: ["9E", "8E", "7E", "7V", "6E", "5E", "4E"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L50", "8L50", "8V", "7L37", "7V", "6L37", "5L37", "3T"], + doubleedge: ["9M", "9L50", "8L50", "8V", "7L37", "7V", "6L37", "5L37", "3T"], doublekick: ["9E", "8E", "8V"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M", "5S2"], @@ -19649,7 +20117,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "4S1", "3E"], focusenergy: ["8M", "7V"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L15", "4L15", "3L16"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L9", "4L15", "3L16"], headbutt: ["8V", "7V", "4T"], healbell: ["7T", "6T", "5T", "4T"], helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "8S6", "7T", "7L1", "6T", "6L1", "6S4", "5T", "5L1", "4T", "4L1", "4S0", "3L1"], @@ -19657,13 +20125,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { hypervoice: ["9M", "8M", "7T", "6T", "5T"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "4S1", "3M"], laserfocus: ["7T"], - lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], mimic: ["7V", "3T"], mudslap: ["9M", "9E", "8E", "7V", "4T", "3T"], naturalgift: ["7E", "6E", "5E", "4M"], payday: ["8M", "8V"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "6S4", "5L22", "4L22", "4S1", "3L23"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "6S4", "5L13", "4L22", "4S1", "3L23"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["8V", "7V"], @@ -19673,7 +20141,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "7V", "6M", "5M", "5S2", "4M", "3M"], roar: ["9M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "7S5", "6L5", "6S3", "5L8", "5D", "4L8", "3L8"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "7S5", "6L5", "6S3", "5L5", "5D", "4L8", "3L8"], secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], sing: ["5S2"], @@ -19688,12 +20156,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { synchronoise: ["7E", "6E", "5E"], tackle: ["9L1", "8L1", "8V", "8S6", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["9M", "9L40", "8L40", "8V", "7L25", "7V", "6L25", "5L43", "4L43", "3L42"], + takedown: ["9M", "9L40", "8L40", "8V", "7L25", "7V", "6L25", "5L25", "4L43", "3L42"], terablast: ["9M"], tickle: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], - trumpcard: ["7L45", "6L45", "5L57", "4L57", "4S1"], + trumpcard: ["7L45", "6L45", "5L45", "4L57", "4S1"], weatherball: ["9M", "8M"], wish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], workup: ["8M", "7M", "5M"], @@ -19753,11 +20221,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, vaporeon: { learnset: { - acidarmor: ["9L45", "8L45", "8V", "7L29", "7V", "6L29", "5L64", "4L64", "3L47"], - aquaring: ["9L35", "8L35", "7L25", "6L25", "5L43", "4L43"], + acidarmor: ["9L45", "8L45", "8V", "7L29", "7V", "6L29", "5L29", "4L64", "3L47"], + alluringvoice: ["9M"], + aquaring: ["9L35", "8L35", "7L25", "6L25", "5L25", "4L43"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - aurorabeam: ["9L30", "8L30", "8V", "7L20", "7V", "6L20", "5L36", "4L36", "3L36"], + aurorabeam: ["9L30", "8L30", "8V", "7L20", "7V", "6L20", "5L21", "4L36", "3L36"], babydolleyes: ["9L15", "8L15", "7L9"], batonpass: ["9M", "9L1", "8M", "8L1"], bide: ["7V"], @@ -19774,11 +20243,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T", "5T"], - curse: ["7V"], + curse: ["9M", "7V"], detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L1", "8L1", "7V", "3T"], + doubleedge: ["9M", "9L1", "8L1", "7V", "3T"], doublekick: ["8V"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], @@ -19791,28 +20260,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1", "8V"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], - haze: ["9M", "9L20", "8L20", "8V", "7L33", "7V", "6L33", "5L57", "4L57", "3L42"], + haze: ["9M", "9L20", "8L20", "8V", "7L33", "7V", "6L33", "5L33", "4L57", "3L42"], headbutt: ["8V", "7V", "4T"], healbell: ["7T", "6T", "5T", "4T"], helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S0", "4T", "4L1", "3L1"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["9M", "9L50", "8M", "8L50", "8V", "7L45", "7V", "6L45", "5L71", "4L71", "3L52"], + hydropump: ["9M", "9L50", "8M", "8L50", "8V", "7L45", "7V", "6L45", "5L45", "4L71", "3L52"], hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], hypervoice: ["9M", "8M", "7T", "6T", "5T"], icebeam: ["9M", "8M", "8V", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], liquidation: ["9M", "8M"], mimic: ["7V", "3T"], mist: ["7V"], - muddywater: ["9L40", "8M", "8L40", "7L37", "6L37", "5L78", "4L78"], + muddywater: ["9M", "9L40", "8M", "8L40", "7L37", "6L37", "5L37", "4L78"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], payday: ["8M", "8V"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "5L22", "4L22", "3L23"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "5L13", "4L22", "3L23"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], reflect: ["8V", "7V"], @@ -19822,7 +20291,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L8", "5S0", "4L8", "3L8"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L5", "5S0", "4L8", "3L8"], scald: ["9M", "8M", "8V", "7M", "7S2", "6M", "5M"], secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -19844,10 +20313,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L15", "4L15", "3L16"], - waterpulse: ["9M", "9L25", "8L25", "7T", "7L17", "6T", "6L17", "4M", "3M"], + watergun: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L9", "4L15", "3L16"], + waterpulse: ["9M", "9L25", "8L25", "7T", "7L17", "6T", "6L17", "5L17", "4M", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], workup: ["8M", "7M", "5M"], yawn: ["8V"], }, @@ -19859,7 +20328,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, jolteon: { learnset: { - agility: ["9M", "9L45", "8M", "8L45", "8V", "7L29", "7V", "6L29", "5L64", "4L64", "3L47"], + agility: ["9M", "9L45", "8M", "8L45", "8V", "7L29", "7V", "6L29", "5L29", "4L64", "3L47"], + alluringvoice: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], babydolleyes: ["9L15", "8L15", "7L9"], batonpass: ["9M", "9L1", "8M", "8L1"], @@ -19875,17 +20345,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T", "5T"], - curse: ["7V"], + curse: ["9M", "7V"], detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], - discharge: ["9L40", "8L40", "7L37", "6L37", "5L78", "4L78"], - doubleedge: ["9L1", "8L1", "7V", "3T"], - doublekick: ["9L25", "8L25", "8V", "7L17", "7V", "6L17", "5L29", "4L29", "3L30"], + discharge: ["9L40", "8L40", "7L37", "6L37", "5L37", "4L78"], + doubleedge: ["9M", "9L1", "8L1", "7V", "3T"], + doublekick: ["9L25", "8L25", "8V", "7L17", "7V", "6L17", "5L17", "4L29", "3L30"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M", "8M"], + electroweb: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M"], @@ -19903,16 +20374,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { hypervoice: ["9M", "8M", "7T", "6T", "5T"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], lightscreen: ["9M", "8M", "8V", "7M", "7S2", "6M", "5M", "4M"], magnetrise: ["7T", "6T", "5T", "4T"], + metalsound: ["9M"], mimic: ["7V", "3T"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], payday: ["8M", "8V"], - pinmissile: ["9L35", "8M", "8L35", "8V", "7L25", "7V", "6L25", "5L36", "4L36", "3L36"], + pinmissile: ["9L35", "8M", "8L35", "8V", "7L25", "7V", "6L25", "5L25", "4L36", "3L36"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "5L22", "4L22", "3L23"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "5L13", "4L22", "3L23"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["8V", "7V"], @@ -19923,7 +20395,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L8", "5S0", "4L8", "3L8"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L5", "5S0", "4L8", "3L8"], secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "8M", "8V", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], @@ -19941,11 +20413,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S1", "5L1", "5S0", "4L1", "3L1"], takedown: ["9M", "9L1", "8L1", "7V"], terablast: ["9M"], - thunder: ["9M", "9L50", "8M", "8L50", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L71", "4M", "4L71", "3M", "3L52"], + thunder: ["9M", "9L50", "8M", "8L50", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L71", "3M", "3L52"], thunderbolt: ["9M", "8M", "8V", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], - thunderfang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L43", "4L43"], - thundershock: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L15", "4L15", "3L16"], - thunderwave: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L57", "4M", "4L57", "3T", "3L42"], + thunderfang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L21", "4L43"], + thundershock: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L9", "4L15", "3L16"], + thunderwave: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L57", "3T", "3L42"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], voltswitch: ["9M", "8M", "7M", "7S2", "6M", "5M"], @@ -19963,11 +20435,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, flareon: { learnset: { + alluringvoice: ["9M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], babydolleyes: ["9L15", "8L15", "7L9"], batonpass: ["9M", "9L1", "8M", "8L1"], bide: ["7V"], - bite: ["9L25", "8L25", "7L17", "7V", "6L17", "5L29", "4L29", "3L30"], + bite: ["9L25", "8L25", "7L17", "7V", "6L17", "5L17", "4L29", "3L30"], bodyslam: ["9M", "8M", "7V", "3T"], burningjealousy: ["9M", "8T"], calmmind: ["9M"], @@ -19977,20 +20450,21 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T", "5T"], - curse: ["7V"], + curse: ["9M", "7V"], detect: ["7V"], dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L1", "8L1", "7V", "3T"], + doubleedge: ["9M", "9L1", "8L1", "7V", "3T"], doublekick: ["8V"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - ember: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L15", "4L15", "3L16"], + ember: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L9", "4L15", "3L16"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "7S2", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M"], - fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5L71", "4M", "4L71", "3M"], - firefang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L43", "4L43"], - firespin: ["9M", "9L35", "8M", "8L35", "8V", "7L25", "7V", "6L25", "5L36", "4L36", "3L36"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5L45", "4M", "4L71", "3M"], + firefang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L21", "4L43"], + firespin: ["9M", "9L35", "8M", "8L35", "8V", "7L25", "7V", "6L25", "5L25", "4L36", "3L36"], flamecharge: ["9M", "7M", "6M", "5M"], flamethrower: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3L52"], flareblitz: ["9M", "9L50", "8M", "8L50", "8V", "7L45", "7S2", "6L45"], @@ -20008,8 +20482,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { incinerate: ["6M", "5M"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], - lavaplume: ["9L40", "8L40", "7L37", "6L37", "5L78", "4L78"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], + lavaplume: ["9L40", "8L40", "7L37", "6L37", "5L37", "4L78"], leer: ["7V", "3L47"], mimic: ["7V", "3T"], mudslap: ["9M", "7V", "4T", "3T"], @@ -20018,7 +20492,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], payday: ["8M", "8V"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "7S2", "6L13", "5L22", "4L22", "3L23"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "7S2", "6L13", "5L13", "4L22", "3L23"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["8V", "7V"], @@ -20028,14 +20502,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L8", "5S0", "4L8", "3L8"], - scaryface: ["9M", "9L45", "8M", "8L45", "7L29", "6L29", "5L64", "4L64"], - scorchingsands: ["8T"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L5", "5S0", "4L8", "3L8"], + scaryface: ["9M", "9L45", "8M", "8L45", "7L29", "6L29", "5L29", "4L64"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], skullbash: ["7V"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smog: ["9L20", "8L20", "8V", "7L33", "7V", "6L33", "5L57", "4L57", "3L42"], + smog: ["9L20", "8L20", "8V", "7L33", "7V", "6L33", "5L33", "4L57", "3L42"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], storedpower: ["9M", "8M"], strength: ["6M", "5M", "4M"], @@ -20047,6 +20521,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S1", "5L1", "5S0", "4L1", "3L1"], takedown: ["9M", "9L1", "8L1", "7V"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], @@ -20064,6 +20539,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, espeon: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], babydolleyes: ["9L15", "8L15", "7L9"], @@ -20076,27 +20552,27 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M", "9L1", "8M", "8L1"], confide: ["7M", "6M"], confuseray: ["9M"], - confusion: ["9L0", "8L0", "7L1", "7V", "6L9", "6S2", "5L15", "4L15", "3L16"], + confusion: ["9L0", "8L0", "7L1", "7V", "6L9", "6S2", "5L9", "4L15", "3L16"], copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T", "5T"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], dazzlinggleam: ["9M", "8M", "7M", "7S3", "6M"], detect: ["7V"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["9L1", "8L1", "3T"], + doubleedge: ["9M", "9L1", "8L1", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "7V", "4M", "3T"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "8M"], flash: ["7V", "6M", "5M", "4M", "3M"], focusenergy: ["8M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["9L50", "8M", "8L50", "7L25", "6L25", "5L43", "4L43"], + futuresight: ["9M", "9L50", "8M", "8L50", "7L25", "6L25", "5L25", "4L43"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M"], @@ -20110,27 +20586,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { imprison: ["9M"], irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], magicalleaf: ["9M"], magiccoat: ["7T", "6T", "5T", "4T"], magicroom: ["8M", "7T", "6T", "5T"], mimic: ["3T"], - morningsun: ["9L30", "8L30", "7L33", "7V", "6L33", "5L71", "4L71", "3L52", "3S0"], + morningsun: ["9L30", "8L30", "7L33", "7V", "6L33", "5L33", "4L71", "3L52", "3S0"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], nightmare: ["7V", "3T"], payday: ["8M"], powergem: ["9M"], - powerswap: ["9L35", "8M", "8L35", "7L45", "6L45", "5L78", "4L78"], + powerswap: ["9L35", "8M", "8L35", "7L45", "6L45", "5L45", "4L78"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psybeam: ["9M", "9L25", "8L25", "7L20", "7V", "6L20", "5L36", "4L36", "3L36", "3S0"], - psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L37", "7V", "7S3", "6M", "6L37", "5M", "5L64", "4M", "4L64", "3M", "3L47", "3S0"], + psybeam: ["9M", "9L25", "8L25", "7L20", "7V", "6L20", "5L21", "4L36", "3L36", "3S0"], + psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L37", "7V", "7S3", "6M", "6L37", "5M", "5L37", "4M", "4L64", "3M", "3L47", "3S0"], psychicfangs: ["9M", "8M"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["9L45", "8L45", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L57", "4M", "4L57", "3T", "3L42", "3S0"], + psychup: ["9M", "9L45", "8L45", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L29", "4M", "4L57", "3T", "3L42", "3S0"], psyshock: ["9M", "8M", "7M", "6M", "5M"], - quickattack: ["9L10", "8L10", "7L13", "7V", "6L13", "5L22", "4L22", "3L23"], + quickattack: ["9L10", "8L10", "7L13", "7V", "6L13", "5L13", "4L22", "3L23"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["9M", "8M", "7M", "7S3", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -20138,7 +20615,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "7V", "6M", "5M", "4M", "3M"], roar: ["9M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "7L5", "7V", "6L5", "6S2", "5L8", "5S1", "4L8", "3L8"], + sandattack: ["9L5", "8L5", "7L5", "7V", "6L5", "6S2", "5L5", "5S1", "4L8", "3L8"], secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "8M", "7M", "7V", "7S3", "6M", "5M", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], @@ -20149,7 +20626,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["9M", "9L20", "8M", "8L20", "7L17", "7V", "6L17", "5L29", "4T", "4L29", "3T", "3L30"], + swift: ["9M", "9L20", "8M", "8L20", "7L17", "7V", "6L17", "5L17", "4T", "4L29", "3T", "3L30"], tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S1", "4L1", "3L1"], tailwhip: ["9L1", "8L1", "7L1", "7V", "6L1", "6S2", "5L1", "5S1", "4L1", "3L1"], takedown: ["9M", "9L1", "8L1"], @@ -20174,6 +20651,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, umbreon: { learnset: { + alluringvoice: ["9M"], assurance: ["9L25", "8M", "8L25", "7L25", "6L25", "5L25", "4L43"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], babydolleyes: ["9L15", "8L15", "7L9"], @@ -20189,12 +20667,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T", "5T"], crunch: ["9M", "8M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], darkpulse: ["9M", "9L40", "8M", "8L40", "7M", "6M", "5T", "4M"], detect: ["7V"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["9L1", "8L1", "3T"], + doubleedge: ["9M", "9L1", "8L1", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], echoedvoice: ["7M", "6M", "5M"], @@ -20230,8 +20708,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { payday: ["8M"], protect: ["9M", "8M", "7M", "7V", "7S3", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], - pursuit: ["7L1", "7V", "6L9", "6S2", "5L15", "4L15", "3L16"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], + pursuit: ["7L1", "7V", "6L9", "6S2", "5L9", "4L15", "3L16"], quickattack: ["9L10", "8L10", "7L13", "7V", "6L13", "5L13", "4L22", "3L23"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["9M"], @@ -20240,7 +20718,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "7V", "6M", "5M", "4M", "3M"], roar: ["9M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "7L5", "7V", "6L5", "6S2", "5L8", "5S1", "4L8", "3L8"], + sandattack: ["9L5", "8L5", "7L5", "7V", "6L5", "6S2", "5L5", "5S1", "4L8", "3L8"], scaryface: ["9M"], screech: ["9L45", "8M", "8L45", "7L29", "7V", "6L29", "5L29", "4L64", "3L47", "3S0"], secretpower: ["6M", "4M", "3M"], @@ -20263,7 +20741,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], terablast: ["9M"], thief: ["9M", "8M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderwave: ["9M"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["9M", "7M", "7V", "7S3", "6M", "5M", "4M", "3M"], @@ -20283,6 +20761,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leafeon: { learnset: { aerialace: ["9M", "7M", "6M", "5M", "4M"], + alluringvoice: ["9M"], attract: ["8M", "7M", "6M", "5M", "4M"], babydolleyes: ["9L15", "8L15", "7L9"], batonpass: ["9M", "9L1", "8M", "8L1"], @@ -20296,8 +20775,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["9M"], dig: ["9M", "8M", "6M", "5M", "4M"], - doubleedge: ["9L1", "8L1"], + doubleedge: ["9M", "9L1", "8L1"], doubleteam: ["7M", "6M", "5M", "4M"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "4M"], @@ -20308,10 +20788,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusenergy: ["8M"], frustration: ["7M", "6M", "5M", "4M"], furycutter: ["4T"], - gigadrain: ["9M", "9L40", "8M", "8L40", "7T", "7L25", "6T", "6L25", "5T", "5L43", "4M", "4L43"], + gigadrain: ["9M", "9L40", "8M", "8L40", "7T", "7L25", "6T", "6L25", "5T", "5L25", "4M", "4L43"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], - grasswhistle: ["7L17", "6L17", "5L57", "4L57"], + grasswhistle: ["7L17", "6L17", "5L17", "4L57"], grassyglide: ["9M", "8T"], growl: ["9L1", "8L1"], headbutt: ["4T"], @@ -20323,27 +20803,27 @@ export const Learnsets: {[k: string]: LearnsetData} = { irontail: ["8M", "7T", "6T", "5T", "4M"], knockoff: ["9M", "7T", "6T", "5T", "4T"], laserfocus: ["7T"], - lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], - leafblade: ["9L50", "8M", "8L50", "7L45", "7S2", "6L45", "5L71", "4L71"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], + leafblade: ["9L50", "8M", "8L50", "7L45", "7S2", "6L45", "5L45", "4L71"], leafstorm: ["9M", "8M"], leechseed: ["9L20", "8L20"], - magicalleaf: ["9M", "9L25", "8M", "8L25", "7L20", "6L20", "5L36", "4L36"], + magicalleaf: ["9M", "9L25", "8M", "8L25", "7L20", "6L20", "5L21", "4L36"], mudshot: ["9M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], naturepower: ["7M", "6M"], payday: ["8M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], - quickattack: ["9L10", "8L10", "7L13", "6L13", "5L22", "4L22"], + quickattack: ["9L10", "8L10", "7L13", "6L13", "5L13", "4L22"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], - razorleaf: ["9L0", "8L0", "7L1", "6L9", "6S1", "5L15", "4L15"], + razorleaf: ["9L0", "8L0", "7L1", "6L9", "6S1", "5L9", "4L15"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M", "4M"], roar: ["9M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "7L5", "6L5", "6S1", "5L8", "5S0", "4L8"], + sandattack: ["9L5", "8L5", "7L5", "6L5", "6S1", "5L5", "5S0", "4L8"], secretpower: ["6M", "4M"], seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -20354,10 +20834,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { storedpower: ["9M", "8M"], strength: ["6M", "5M", "4M"], substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], - sunnyday: ["9M", "9L35", "8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L64", "4M", "4L64"], + sunnyday: ["9M", "9L35", "8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L37", "4M", "4L64"], swagger: ["7M", "6M", "5M", "4M"], swift: ["9M", "9L1", "8M", "8L1", "4T"], - swordsdance: ["9M", "9L45", "8M", "8L45", "7M", "7L29", "7S2", "6M", "6L29", "5M", "5L78", "4M", "4L78"], + swordsdance: ["9M", "9L45", "8M", "8L45", "7M", "7L29", "7S2", "6M", "6L29", "5M", "5L29", "4M", "4L78"], synthesis: ["9L30", "8L30", "7T", "7L33", "7S2", "6T", "6L33", "5T", "5L29", "4T", "4L29"], tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0", "4L1"], tailwhip: ["9L1", "8L1", "7L1", "6L1", "6S1", "5L1", "5S0", "4L1"], @@ -20378,15 +20858,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, glaceon: { learnset: { + alluringvoice: ["9M"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "6M", "5M", "4M"], auroraveil: ["7M", "7S2"], avalanche: ["9M", "8M", "4M"], babydolleyes: ["9L15", "8L15", "7L9"], - barrier: ["7L29", "6L29", "5L78", "4L78"], + barrier: ["7L29", "6L29", "5L29", "4L78"], batonpass: ["9M", "9L1", "8M", "8L1"], - bite: ["9L25", "8L25", "7L17", "6L17", "5L29", "4L29"], - blizzard: ["9M", "9L50", "8M", "8L50", "7M", "7L45", "7S2", "6M", "6L45", "5M", "5L71", "4M", "4L71"], + bite: ["9L25", "8L25", "7L17", "6L17", "5L17", "4L29"], + blizzard: ["9M", "9L50", "8M", "8L50", "7M", "7L45", "7S2", "6M", "6L45", "5M", "5L45", "4M", "4L71"], bodyslam: ["9M", "8M"], calmmind: ["9M"], captivate: ["4M"], @@ -20396,8 +20877,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["9M"], dig: ["9M", "8M", "6M", "5M", "4M"], - doubleedge: ["9L1", "8L1"], + doubleedge: ["9M", "9L1", "8L1"], doubleteam: ["7M", "6M", "5M", "4M"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "4M"], @@ -20410,7 +20892,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M"], growl: ["9L1", "8L1"], - hail: ["8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L64", "4M", "4L64"], + hail: ["8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L37", "4M", "4L64"], haze: ["9M"], headbutt: ["4T"], healbell: ["7T", "6T", "5T", "4T"], @@ -20419,20 +20901,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], hypervoice: ["9M", "8M", "7T", "6T", "5T"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], - icefang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L43", "4L43"], - iceshard: ["9L20", "8L20", "7L25", "6L25", "5L36", "4L36"], + icefang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L21", "4L43"], + iceshard: ["9L20", "8L20", "7L25", "6L25", "5L25", "4L36"], iciclespear: ["9M", "8M"], - icywind: ["9M", "9L0", "8M", "8L0", "7T", "7L1", "6T", "6L9", "6S1", "5T", "5L15", "4T", "4L15"], + icywind: ["9M", "9L0", "8M", "8L0", "7T", "7L1", "6T", "6L9", "6S1", "5T", "5L9", "4T", "4L15"], irontail: ["8M", "7T", "6T", "5T", "4M"], laserfocus: ["7T"], - lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], - mirrorcoat: ["9L45", "8L45", "7L33", "6L33", "5L57", "4L57"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], + mirrorcoat: ["9L45", "8L45", "7L33", "6L33", "5L33", "4L57"], mudshot: ["9M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], payday: ["8M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], - quickattack: ["9L10", "8L10", "7L13", "6L13", "5L22", "4L22"], + quickattack: ["9L10", "8L10", "7L13", "6L13", "5L13", "4L22"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], retaliate: ["8M", "6M", "5M"], @@ -20440,7 +20922,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { roar: ["9M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["9L5", "8L5", "7L5", "6L5", "6S1", "5L8", "5S0", "4L8"], + sandattack: ["9L5", "8L5", "7L5", "6L5", "6S1", "5L5", "5S0", "4L8"], secretpower: ["6M", "4M"], shadowball: ["9M", "8M", "7M", "7S2", "6M", "5M", "4M"], signalbeam: ["7T", "6T", "5T", "4T"], @@ -20459,7 +20941,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], waterpulse: ["9M", "7T", "6T", "4M"], weatherball: ["9M", "8M"], workup: ["8M", "7M", "5M"], @@ -20473,90 +20955,92 @@ export const Learnsets: {[k: string]: LearnsetData} = { porygon: { learnset: { aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "8L30", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L9"], + agility: ["9M", "9L30", "8M", "8L30", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L9"], allyswitch: ["8M", "7T"], barrier: ["8V"], bide: ["7V"], - blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - chargebeam: ["7M", "6M", "5M", "4M"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], - conversion: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], - conversion2: ["8L25", "8S1", "7L1", "6L1", "5L1", "4L1", "3L1"], + conversion: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + conversion2: ["9L25", "8L25", "8S1", "7L1", "6L1", "5L1", "4L1", "3L1"], curse: ["7V"], defensecurl: ["7V"], - discharge: ["8L40", "7L40", "6L40", "5L40", "4L40"], - doubleedge: ["7V", "3T"], + discharge: ["9L40", "8L40", "7L40", "6L40", "5L40", "4L40"], + doubleedge: ["9M", "9L50", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], - eerieimpulse: ["8M"], - electroweb: ["8M", "7T", "6T", "5T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + eerieimpulse: ["9M", "8M"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], - foulplay: ["8M", "8V", "7T", "6T", "5T"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], guardswap: ["8M"], headbutt: ["8V"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], lastresort: ["7T", "6T", "5T", "4T"], - lockon: ["8L55", "7L45", "7V", "6L45", "5L45", "4L45", "3L32"], + lockon: ["9L55", "8L55", "7L45", "7V", "6L45", "5L45", "4L45", "3L32"], magiccoat: ["8L50", "7T", "7L56", "6T", "6L56", "5T", "5L56", "4T", "4L56"], - magnetrise: ["8L10", "8S1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], + magnetrise: ["9L10", "8L10", "8S1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], mimic: ["7V", "3T"], naturalgift: ["4M"], nightmare: ["7V", "3T"], painsplit: ["7T", "6T", "5T", "4T"], powerswap: ["8M"], - protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - psybeam: ["8L20", "8V", "8S1", "7L7", "7V", "6L7", "5L7", "5S0", "4L7", "3L12"], - psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L20", "8L20", "8V", "8S1", "7L7", "7V", "6L7", "5L7", "5S0", "4L7", "3L12"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "7M", "6M", "5M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7V"], rage: ["7V"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - recover: ["8L35", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3L20"], - recycle: ["8L5", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4M", "4L34", "3L44"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["9L35", "8L35", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3L20"], + recycle: ["9L5", "8L5", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4M", "4L34", "3L44"], reflect: ["8V", "7V"], - rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], sharpen: ["8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L24"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L29"], skullbash: ["7V"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], speedswap: ["8M"], - substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], - tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], - takedown: ["7V"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + takedown: ["9M", "7V"], telekinesis: ["7T"], teleport: ["8V", "7V"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - thundershock: ["8L15", "8S1"], - thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thundershock: ["9L15", "8L15", "8S1"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - triattack: ["8M", "8L45", "8V", "7L50", "7V", "6L50", "5L51", "4L51", "3L36"], - trick: ["8M", "7T", "6T", "5T", "4T"], - trickroom: ["8M", "7M", "6M", "5M", "4M"], + triattack: ["9L45", "8M", "8L45", "8V", "7L50", "7V", "6L50", "5L51", "4L51", "3L36"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], wonderroom: ["8M", "7T", "6T", "5T"], - zapcannon: ["8L60", "7L62", "7V", "6L62", "5L62", "4L62", "3L48"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zapcannon: ["9L60", "8L60", "7L62", "7V", "6L62", "5L62", "4L62", "3L48"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 5, level: 10, isHidden: true, moves: ["tackle", "conversion", "sharpen", "psybeam"]}, @@ -20569,80 +21053,83 @@ export const Learnsets: {[k: string]: LearnsetData} = { porygon2: { learnset: { aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "8L30", "7L12", "7V", "6L12", "5L12", "4L12", "3L9"], + agility: ["9M", "9L30", "8M", "8L30", "7L12", "7V", "6L12", "5L12", "4L12", "3L9"], allyswitch: ["8M", "7T"], - blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - chargebeam: ["7M", "6M", "5M", "4M"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], - conversion: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - conversion2: ["8L25", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + conversion: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + conversion2: ["9L25", "8L25", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], curse: ["7V"], - defensecurl: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L24"], - discharge: ["8L40", "7L40", "6L40", "5L40", "4L40"], - doubleedge: ["3T"], + defensecurl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L24"], + discharge: ["9L40", "8L40", "7L40", "6L40", "5L40", "4L40"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], - eerieimpulse: ["8M"], - electroweb: ["8M", "7T", "6T", "5T"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + eerieimpulse: ["9M", "8M"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], - foulplay: ["8M", "7T", "6T", "5T"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], guardswap: ["8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8L65", "7M", "7L67", "7V", "6M", "6L67", "5M", "5L67", "4M", "4L67", "3M"], - icebeam: ["8M", "8S0", "7M", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + hyperbeam: ["9M", "9L60", "8M", "8L65", "7M", "7L67", "7V", "6M", "6L67", "5M", "5L67", "4M", "4L67", "3M"], + icebeam: ["9M", "8M", "8S0", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], lastresort: ["7T", "6T", "5T", "4T"], - lockon: ["8L55", "7L45", "7V", "6L45", "5L45", "4L45", "3L32"], + lockon: ["9L50", "8L55", "7L45", "7V", "6L45", "5L45", "4L45", "3L32"], magiccoat: ["8L50", "7T", "7L1", "6T", "6L1", "5T", "5L56", "4T", "4L56"], - magnetrise: ["8L1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], + magnetrise: ["9L1", "8L1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], mimic: ["3T"], naturalgift: ["4M"], nightmare: ["7V", "3T"], painsplit: ["7T", "6T", "5T", "4T"], powerswap: ["8M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psybeam: ["8L20", "7L7", "7V", "6L7", "5L7", "4L7", "3L12"], - psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L20", "8L20", "7L7", "7V", "6L7", "5L7", "4L7", "3L12"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - recover: ["8L35", "8S0", "7L18", "7V", "6L18", "5L18", "4L18", "3L20"], - recycle: ["8L1", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4M", "4L34", "3L44"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["9L35", "8L35", "8S0", "7L18", "7V", "6L18", "5L18", "4L18", "3L20"], + recycle: ["9L1", "8L1", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4M", "4L34", "3L44"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L29"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], speedswap: ["8M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], - tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], telekinesis: ["7T"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "8S0", "7M", "6M", "5M", "4M", "3M"], - thundershock: ["8L15"], - thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8S0", "7M", "6M", "5M", "4M", "3M"], + thundershock: ["9L15", "8L15"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - triattack: ["8M", "8L45", "7L50", "7V", "6L50", "5L51", "4L51", "3L36"], - trick: ["8M", "7T", "6T", "5T", "4T"], - trickroom: ["8M", "8S0", "7M", "6M", "5M", "4M"], + triattack: ["9L45", "8M", "8L45", "7L50", "7V", "6L50", "5L51", "4L51", "3L36"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "8S0", "7M", "6M", "5M", "4M"], wonderroom: ["8M", "7T", "6T", "5T"], - zapcannon: ["8L60", "7L1", "7V", "6L1", "5L62", "4L62", "3L48"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zapcannon: ["9L55", "8L60", "7L1", "7V", "6L1", "5L62", "4L62", "3L48"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 8, level: 50, nature: "Sassy", abilities: ["download"], ivs: {hp: 31, atk: 0, spe: 0}, moves: ["recover", "trickroom", "icebeam", "thunderbolt"], pokeball: "cherishball"}, @@ -20651,80 +21138,84 @@ export const Learnsets: {[k: string]: LearnsetData} = { porygonz: { learnset: { aerialace: ["7M", "6M", "5M", "4M"], - agility: ["8M", "8L30", "7L12", "6L12", "5L12", "4L12"], + agility: ["9M", "9L30", "8M", "8L30", "7L12", "6L12", "5L12", "4L12"], allyswitch: ["8M", "7T"], - blizzard: ["8M", "7M", "6M", "5M", "4M"], - chargebeam: ["7M", "6M", "5M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], - conversion: ["8L1", "7L1", "6L1", "5L1", "4L1"], - conversion2: ["8L25", "7L1", "6L1", "5L1", "4L1"], - darkpulse: ["8M", "7M", "6M", "5T", "4M"], - defensecurl: ["8L1"], - discharge: ["8L40", "7L40", "6L40", "5L40", "4L40"], + conversion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + conversion2: ["9L25", "8L25", "7L1", "6L1", "5L1", "4L1"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defensecurl: ["9L1", "8L1"], + discharge: ["9L40", "8L40", "7L40", "6L40", "5L40", "4L40"], + doubleedge: ["9M", "9L50"], doubleteam: ["7M", "6M", "5M", "4M"], dreameater: ["7M", "6M", "5M", "4M"], - eerieimpulse: ["8M"], - electroweb: ["8M", "7T", "6T", "5T"], + eerieimpulse: ["9M", "8M"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L34", "4M", "4L34"], - endure: ["8M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], flash: ["6M", "5M", "4M"], - foulplay: ["8M", "7T", "6T", "5T"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], guardswap: ["8M"], hiddenpower: ["7M", "6M", "5M", "4M"], - hyperbeam: ["8M", "8L65", "7M", "7L67", "6M", "6L67", "5M", "5L67", "4M", "4L67"], - icebeam: ["8M", "7M", "6M", "5M", "4M"], - icywind: ["8M", "7T", "6T", "5T", "4T"], + hyperbeam: ["9M", "9L65", "8M", "8L65", "7M", "7L67", "6M", "6L67", "5M", "5L67", "4M", "4L67"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "6T", "5T", "4M"], lastresort: ["7T", "6T", "5T", "4T"], - lockon: ["8L55", "7L45", "6L45", "5L45", "4L45"], + lockon: ["9L55", "8L55", "7L45", "6L45", "5L45", "4L45"], magiccoat: ["8L50", "7T", "7L1", "6T", "6L1", "5T", "5L56", "4T", "4L56"], - magnetrise: ["8L1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], - nastyplot: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + magnetrise: ["9L1", "8L1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], + nastyplot: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], naturalgift: ["4M"], painsplit: ["7T", "6T", "5T", "4T"], powerswap: ["8M"], - protect: ["8M", "7M", "6M", "5M", "4M"], - psybeam: ["8L20", "7L7", "6L7", "5L7", "4L7"], - psychic: ["8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M", "9L20", "8L20", "7L7", "6L7", "5L7", "4L7"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], psychup: ["7M", "6M", "5M", "4M"], - psyshock: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M", "4M"], - recover: ["8L35", "7L18", "6L18", "5L18", "4L18"], - recycle: ["8L1", "7T", "6T", "5T", "4M"], - rest: ["8M", "7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recover: ["9L35", "8L35", "7L18", "6L18", "5L18", "4L18"], + recycle: ["9L1", "8L1", "7T", "6T", "5T", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M"], - shadowball: ["8M", "7M", "6M", "5M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M"], signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L29"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], speedswap: ["8M"], - substitute: ["8M", "7M", "6M", "5M", "4M"], - sunnyday: ["8M", "7M", "6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], swagger: ["7M", "6M", "5M", "4M"], - swift: ["8M", "4T"], - tackle: ["8L1", "7L1", "6L1", "5L1", "4L1"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], telekinesis: ["7T"], - thief: ["8M", "7M", "6M", "5M", "4M"], - thunder: ["8M", "7M", "6M", "5M", "4M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M"], - thundershock: ["8L15"], - thunderwave: ["8M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thundershock: ["9L15", "8L15"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], - triattack: ["8M", "8L45", "7L50", "6L50", "5L51", "4L51"], - trick: ["8M", "7T", "6T", "5T", "4T"], - trickroom: ["8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], - uproar: ["8M", "7T", "6T", "5T", "4T"], + triattack: ["9L45", "8M", "8L45", "7L50", "6L50", "5L51", "4L51"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], wonderroom: ["8M", "7T", "5T"], - zapcannon: ["8L60", "7L1", "6L1", "5L62", "4L62"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zapcannon: ["9L60", "8L60", "7L1", "6L1", "5L62", "4L62"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, }, omanyte: { @@ -21237,10 +21728,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["9E", "8E", "7E", "6E", "5E", "4E"], covet: ["9L12", "8L12", "7T", "6T", "5T"], crunch: ["9M"], - curse: ["9E", "8E", "7E", "6E", "5E", "4E", "4S1"], + curse: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "4S1"], defensecurl: ["9L4", "8L4", "7L4", "6L4", "5L4", "4L4", "4S0"], dig: ["9M"], - doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], encore: ["9M", "8M"], @@ -21358,11 +21849,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], covet: ["9L1", "8L1", "7T", "6T", "5T", "3L42"], crunch: ["9M", "9L24", "8M", "8L24", "8V", "7L49", "6L49", "5L49", "4L44"], - curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E", "3S0"], + curse: ["9M", "8E", "7E", "7V", "6E", "5E", "4E", "3E", "3S0"], darkestlariat: ["8M"], defensecurl: ["9L1", "8L1", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3T", "3L9"], dig: ["9M"], - doubleedge: ["8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + doubleedge: ["9M", "8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -21383,6 +21874,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], hammerarm: ["9L44", "8L44"], harden: ["7V"], + hardpress: ["9M"], headbutt: ["8V", "7V", "4T", "3L17"], heatcrash: ["9M", "8M"], heavyslam: ["9M", "9L32", "8M", "8L32", "7L50", "6L50", "5L52"], @@ -21448,6 +21940,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { submission: ["7V"], substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], sunnyday: ["9M", "8M", "7M", "7V", "7S1", "6M", "5M", "4M", "3M"], + supercellslam: ["9M"], superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], @@ -21490,19 +21983,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { auroraveil: ["7M"], avalanche: ["9M", "8M", "4M"], bide: ["7V"], - blizzard: ["9M", "9L65", "8M", "8L65", "8V", "7M", "7L78", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M", "3L73"], + blizzard: ["9M", "9L65", "9S9", "8M", "8L65", "8V", "7M", "7L78", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M", "3L73"], bravebird: ["9M", "8M"], bubblebeam: ["7V"], confide: ["7M", "6M"], curse: ["7V"], defog: ["7T", "4M"], detect: ["7V"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dualwingbeat: ["9M", "8T"], endure: ["9M", "8M", "7V", "4M", "3T"], extrasensory: ["3S2"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M"], fly: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], freezedry: ["9L35", "8L35", "8S8", "7L43", "7S7", "6L1", "6S6"], frostbreath: ["7M", "6M", "5M"], @@ -21510,12 +22004,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gust: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], hail: ["8M", "8L50", "7M", "7L57", "7S7", "6M", "6L57", "6S5", "6S6", "5M", "5L85", "4M", "4L85", "3M"], - haze: ["9M", "9L60", "3S2"], + haze: ["9M", "9L60", "9S9", "3S2"], headbutt: ["8V"], healbell: ["3S2"], helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hurricane: ["9M", "9L55", "8M", "8L55", "8S8", "7L92", "6L1", "5L92"], + hurricane: ["9M", "9L55", "9S9", "8M", "8L55", "8S8", "7L92", "6L1", "5L92"], hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], icebeam: ["9M", "9L45", "8M", "8L45", "8V", "8S8", "7M", "7L71", "7V", "6M", "6L43", "6S5", "6S6", "5M", "5L43", "4M", "4L43", "4S3", "4S4", "3M", "3L49", "3S0", "3S1", "3S2"], iceshard: ["9L15", "8L15", "8V", "7L15", "6L15", "5L15", "4L15"], @@ -21548,7 +22042,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], secretpower: ["6M", "4M", "3M"], - sheercold: ["9L70", "8L70", "7L99", "6L1", "5L78", "4L78", "3L85"], + sheercold: ["9L70", "9S9", "8L70", "7L99", "6L1", "5L78", "4L78", "3L85"], signalbeam: ["7T", "6T", "5T", "4T"], skyattack: ["8V", "7T", "7V", "6T", "5T", "4T", "3T"], skydrop: ["7M", "6M", "5M"], @@ -21564,7 +22058,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M", "7V"], terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], twister: ["4T"], uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], watergun: ["7V"], @@ -21582,6 +22076,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 70, isHidden: true, moves: ["freezedry", "icebeam", "hail", "reflect"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["ancientpower", "freezedry", "reflect", "hail"]}, {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "freezedry", "hurricane", "mist"]}, + {generation: 9, level: 70, moves: ["sheercold", "blizzard", "hurricane", "haze"]}, ], encounters: [ {generation: 1, level: 50}, @@ -21602,11 +22097,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["9L50", "8L50"], dualwingbeat: ["9M", "8T"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], fly: ["9M", "8M"], freezingglare: ["9L45", "8L45", "8S0", "8S1"], - futuresight: ["9L65", "8M", "8L65"], + futuresight: ["9M", "9L65", "8M", "8L65"], gigaimpact: ["9M", "8M"], guardswap: ["8M"], gust: ["9L1", "8L1"], @@ -21622,6 +22117,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M"], psybeam: ["9M"], psychic: ["9M", "8M"], + psychicnoise: ["9M"], psychocut: ["9L35", "8M", "8L35", "8S0", "8S1"], psychoshift: ["8L1", "8S0", "8S1"], psyshock: ["9M", "8M"], @@ -21669,7 +22165,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], curse: ["7V"], defog: ["7T", "4M"], - detect: ["9L60", "8L60", "7L15", "7V", "6L15", "5L15", "4L15", "4S4", "3L37", "3S0", "3S1"], + detect: ["9L60", "9S9", "8L60", "7L15", "7V", "6L15", "5L15", "4L15", "4S4", "3L37", "3S0", "3S1"], discharge: ["9L45", "8L45", "7L50", "7S7", "6L50", "6S5", "6S6", "5L50", "4L50", "4S3"], doubleedge: ["7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -21695,8 +22191,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { laserfocus: ["7T"], leer: ["8V"], lightscreen: ["9M", "9L10", "8M", "8L10", "8V", "7M", "7L64", "7V", "6M", "6L64", "6S5", "5M", "5L64", "4M", "4L64", "3M", "3L73"], - magneticflux: ["9L65", "8L65", "7L92"], - metalsound: ["3S2"], + magneticflux: ["9L65", "9S9", "8L65", "7L92"], + metalsound: ["9M", "3S2"], mimic: ["7V", "3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], @@ -21726,12 +22222,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supercellslam: ["9M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swift: ["9M", "8M", "7V", "4T", "3T"], tailwind: ["9M", "7T", "6T", "5T", "4T"], takedown: ["9M", "7V"], terablast: ["9M"], - thunder: ["9M", "9L55", "8M", "8L55", "8V", "8S8", "7M", "7L78", "7V", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L85"], + thunder: ["9M", "9L55", "9S9", "8M", "8L55", "8V", "8S8", "7M", "7L78", "7V", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L85"], thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S2"], thundershock: ["9L5", "8L5", "8V", "7L1", "7V", "6L1", "6S6", "5L1", "4L1", "3L1"], thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L8", "7V", "6M", "6L8", "5M", "5L8", "4M", "4L8", "4S4", "3T", "3L13", "3S0"], @@ -21742,7 +22239,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { weatherball: ["9M", "8M"], whirlwind: ["7V"], wildcharge: ["9M", "8M", "7M", "6M", "5M"], - zapcannon: ["9L70", "8L70", "7L99", "7V", "6L1", "5L92"], + zapcannon: ["9L70", "9S9", "8L70", "7L99", "7V", "6L1", "5L92"], }, eventData: [ {generation: 3, level: 50, shiny: 1, moves: ["thunderwave", "agility", "detect", "drillpeck"]}, @@ -21754,6 +22251,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 70, isHidden: true, moves: ["discharge", "thundershock", "raindance", "agility"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["ancientpower", "discharge", "pluck", "raindance"]}, {generation: 8, level: 70, shiny: 1, moves: ["thunder", "drillpeck", "bravebird", "agility"]}, + {generation: 9, level: 70, moves: ["zapcannon", "magneticflux", "detect", "thunder"]}, ], encounters: [ {generation: 1, level: 50}, @@ -21773,11 +22271,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "9L30", "8M", "8L30"], bulkup: ["9M", "9L50", "8M", "8L50"], closecombat: ["9M", "9L65", "8M", "8L65"], - coaching: ["8T"], + coaching: ["9M", "8T"], counter: ["9L55", "8L55"], detect: ["9L60", "8L60"], + doubleedge: ["9M"], drillpeck: ["9L35", "8L35", "8S0", "8S1"], dualwingbeat: ["9M", "8T"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], fly: ["9M", "8M"], @@ -21818,7 +22318,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M", "8M"], terablast: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunderouskick: ["9L45", "8L45", "8S0", "8S1"], trailblaze: ["9M"], uturn: ["9M", "8M"], @@ -21845,11 +22345,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], defog: ["7T", "4M"], detect: ["7V"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dualwingbeat: ["9M", "8T"], ember: ["9L5", "8L5", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - endure: ["9M", "9L60", "8M", "8L60", "7L22", "7V", "6L22", "5L22", "4M", "4L22", "4S4", "3T", "3L37", "3S0", "3S1"], + endure: ["9M", "9L60", "9S9", "8M", "8L60", "7L22", "7V", "6L22", "5L22", "4M", "4L22", "4S4", "3T", "3L37", "3S0", "3S1"], extrasensory: ["3S2"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -21865,7 +22365,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { heatwave: ["9M", "9L45", "8M", "8L45", "8V", "8S8", "7T", "7L64", "6T", "6L1", "6S5", "6S6", "5T", "5L64", "4T", "4L64", "3L73"], helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hurricane: ["9M", "9L55", "8M", "8L55", "7L92", "6L1", "5L92"], + hurricane: ["9M", "9L55", "9S9", "8M", "8L55", "7L92", "6L1", "5L92"], hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], incinerate: ["9L30", "8L30", "6M", "5M"], laserfocus: ["7T"], @@ -21876,7 +22376,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mysticalfire: ["8M"], naturalgift: ["4M"], ominouswind: ["4T"], - overheat: ["9M", "9L65", "8M", "7M", "6M", "5M", "4M", "3M"], + overheat: ["9M", "9L65", "9S9", "8M", "7M", "6M", "5M", "4M", "3M"], peck: ["7V"], pluck: ["5M", "4M"], protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -21892,9 +22392,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], safeguard: ["9L10", "8M", "8L10", "7M", "7L43", "7V", "6M", "6L43", "6S5", "6S6", "5M", "5L43", "4M", "4L43", "4S3", "3M", "3L61", "3S1"], sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], - skyattack: ["9L70", "8L70", "8V", "7T", "7L78", "7V", "6T", "6L1", "6S6", "5T", "5L78", "4T", "4L78", "3T", "3L85"], + skyattack: ["9L70", "9S9", "8L70", "8V", "7T", "7L78", "7V", "6T", "6L1", "6S6", "5T", "5L78", "4T", "4L78", "3T", "3L85"], skydrop: ["7M", "6M", "5M"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -21906,6 +22406,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "7V", "4T", "3T"], tailwind: ["9M", "7T", "6T", "5T", "4T"], takedown: ["9M", "7V"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], twister: ["4T"], @@ -21925,6 +22426,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 70, isHidden: true, moves: ["skyattack", "heatwave", "sunnyday", "safeguard"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["ancientpower", "flamethrower", "airslash", "sunnyday"]}, {generation: 8, level: 70, shiny: 1, moves: ["heatwave", "wingattack", "leer", "firespin"]}, + {generation: 9, level: 70, moves: ["skyattack", "overheat", "endure", "hurricane"]}, ], encounters: [ {generation: 1, level: 50}, @@ -21960,6 +22462,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leer: ["9L1", "8L1"], memento: ["9L65", "8L65"], nastyplot: ["9M", "9L50", "8M", "8L50", "8S0", "8S1"], + painsplit: ["9M"], payback: ["9L5", "8M", "8L5"], protect: ["9M", "8M"], raindance: ["9M"], @@ -22003,7 +22506,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bind: ["7T", "6T", "5T"], blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "7V", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], bubblebeam: ["7V"], captivate: ["4M"], @@ -22015,6 +22518,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + dragoncheer: ["9M"], dragondance: ["9M", "9L50", "8M", "8L50", "7L51", "7E", "6L51", "6E", "5L51", "5E", "4L45", "4E", "3E"], dragonpulse: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], dragonrage: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L22"], @@ -22094,7 +22598,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bind: ["7T", "6T", "5T"], blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "7V", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], bubblebeam: ["7V"], captivate: ["4M"], @@ -22106,6 +22610,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["7V"], + dragoncheer: ["9M"], dragondance: ["9M", "9L60", "8M", "8L60", "7L61", "6L61", "5L61", "4L53"], dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], dragonrage: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L22"], @@ -22194,7 +22699,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], bodypress: ["9M", "8M"], bodyslam: ["9M", "8M", "7V", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M", "7M"], bubblebeam: ["7V"], @@ -22211,6 +22716,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "8S9", "7T", "6T", "5T", "4T", "4S2"], dragonbreath: ["7V"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M", "8S9", "7M", "6M", "5M", "4M", "3M"], dragondance: ["9M", "9L62", "8M", "8L62", "8S9", "7L61", "6L61", "6S7", "5L61", "5S3", "4L53", "4S2", "3S1"], dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], @@ -22345,7 +22851,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { amnesia: ["9M", "9L32", "8M", "8L32", "8V", "7L79", "7V", "6L79", "5L50", "4L57", "4S1", "3L77"], ancientpower: ["9L8", "8L8"], aquatail: ["7T", "6T", "5T", "4T"], - aurasphere: ["9M", "9L40", "8M", "8L40", "7L70", "6L70", "6S4", "6S5", "5L93", "5S2", "4L100"], + aurasphere: ["9M", "9L40", "9S8", "8M", "8L40", "7L70", "6L70", "6S4", "6S5", "5L93", "5S2", "4L100"], avalanche: ["9M", "8M", "4M"], barrier: ["8V", "7L64", "7V", "6L64", "6S4", "5L1", "4L8", "3L11"], bide: ["7V"], @@ -22356,19 +22862,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { bubblebeam: ["7V"], bulkup: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], - calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + calmmind: ["9M", "9S8", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], chargebeam: ["7M", "6M", "5M", "4M"], chillingwater: ["9M"], confide: ["7M", "6M"], confuseray: ["9M", "8V"], confusion: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], counter: ["7V", "3T"], - curse: ["7V"], + curse: ["9M", "7V"], darkpulse: ["9M"], detect: ["7V"], disable: ["9L1", "8L1", "8V", "8S7", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], dive: ["8M", "6M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], @@ -22379,7 +22885,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { embargo: ["7M", "6M", "5M", "4M"], endure: ["9M", "8M", "7V", "4M", "3T"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -22390,7 +22896,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M", "3M"], foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["9L88", "8M", "8L88", "7L15", "7V", "6L15", "5L15", "4L22", "3L44"], + futuresight: ["9M", "9L88", "8M", "8L88", "7L15", "7V", "6L15", "5L15", "4L22", "3L44"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], @@ -22403,7 +22909,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], hurricane: ["9M", "8M", "5S3"], hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5S3", "4M", "3M"], + icebeam: ["9M", "9S8", "8M", "8V", "7M", "7V", "6M", "5M", "5S3", "4M", "3M"], icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], imprison: ["9M"], @@ -22438,11 +22944,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M", "8V"], psychic: ["9M", "9L48", "8M", "8L48", "8V", "8S7", "7M", "7L57", "7V", "7S6", "6M", "6L57", "6S4", "6S5", "5M", "5L64", "4M", "4L71", "3M", "3L66", "3S0"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M"], psychocut: ["9L16", "8M", "8L16", "7L36", "7S6", "6L36", "5L43", "4L50", "4S1"], - psychup: ["7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L29", "3T", "3L33"], + psychup: ["9M", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L29", "3T", "3L33"], psyshock: ["9M", "8M", "7M", "6M", "5M"], - psystrike: ["9L72", "8L72", "7L100", "6L100", "6S5", "5L100", "5S2", "5S3"], + psystrike: ["9L72", "9S8", "8L72", "7L100", "6L100", "6S5", "5L100", "5S2", "5S3"], psywave: ["8V", "7L1", "7V"], rage: ["7V"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -22516,6 +23023,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 100, shiny: true, isHidden: true, moves: ["psystrike", "psychic", "recover", "aurasphere"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["psychic", "recover", "swift", "psychocut"]}, {generation: 8, level: 70, shiny: 1, moves: ["psychic", "disable", "recover", "blizzard"]}, + {generation: 9, level: 100, nature: "Modest", perfectIVs: 6, isHidden: true, moves: ["psystrike", "aurasphere", "icebeam", "calmmind"]}, ], encounters: [ {generation: 1, level: 70}, @@ -22531,6 +23039,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M", "8M"], aircutter: ["9M", "4T"], airslash: ["9M", "9S26", "8M"], + alluringvoice: ["9M"], allyswitch: ["8M", "7T", "5M"], amnesia: ["9M", "9L10", "8M", "8L10", "8V", "7L60", "6L60", "5L60", "4L60", "4S17"], ancientpower: ["9L30", "8L30", "7L50", "7V", "6L50", "5L50", "4T", "4L50", "4S14", "3L50"], @@ -22553,7 +23062,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "8M", "7V", "3T"], bounce: ["8M", "7T", "6T", "5T", "4T"], bravebird: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], brine: ["8M", "4M"], brutalswing: ["8M", "7M"], @@ -22571,7 +23080,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M", "8M"], chillingwater: ["9M"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], confuseray: ["9M"], confusion: ["8V"], @@ -22581,7 +23090,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["7T", "6T", "5T"], crosspoison: ["8M"], crunch: ["9M", "8M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], darkestlariat: ["8M"], darkpulse: ["9M", "9S26", "8M", "8V", "7M", "6M", "5T", "4M"], @@ -22592,10 +23101,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], disarmingvoice: ["9M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["7V", "3T"], + doubleedge: ["9M", "7V", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dracometeor: ["9M"], dragonbreath: ["7V"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], dragondance: ["9M", "8M"], dragonpulse: ["9M", "9S26", "8M", "8V", "7T", "6T", "5T", "4M"], @@ -22615,18 +23125,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { eggbomb: ["7V"], electricterrain: ["9M", "8M"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T", "6T", "5T"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], embargo: ["7M", "6M", "5M", "4M"], encore: ["9M", "8M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "7V", "4M", "3T"], energyball: ["9M", "9S26", "8M", "7M", "6M", "5M", "4M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], fakeout: ["3S2", "3S3"], faketears: ["9M", "8M"], falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], + featherdance: ["9M"], feintattack: ["3S4", "3S5"], fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], firefang: ["9M", "8M"], @@ -22650,7 +23161,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frostbreath: ["7M", "6M", "5M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - futuresight: ["8M"], + futuresight: ["9M", "8M"], gastroacid: ["7T", "6T", "5T", "4T"], gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -22663,6 +23174,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + hardpress: ["9M"], haze: ["9M"], headbutt: ["8V", "7V", "4T"], healbell: ["7T", "6T", "5T", "4T"], @@ -22716,12 +23228,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M", "7V", "3T"], megapunch: ["8M", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "4S16", "3T", "3L20", "3S0"], metalclaw: ["9M"], - meteorbeam: ["8T"], + metalsound: ["9M"], + meteorbeam: ["9M", "8T"], metronome: ["9M", "9L60", "8M", "8L60", "8V", "7L20", "7V", "7S24", "6L20", "5L20", "4L20", "4S14", "4S15", "4S16", "4S17", "4S18", "4S19", "3T", "3L30", "3S0"], mimic: ["8V", "7V", "3T"], mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "8M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["9M", "7V", "4T", "3T"], mysticalfire: ["8M"], @@ -22733,9 +23246,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { ominouswind: ["4T"], outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], payday: ["8M", "8V", "7V"], + petalblizzard: ["9M"], phantomforce: ["9M", "8M"], pinmissile: ["8M"], playrough: ["9M", "8M", "8V"], @@ -22754,9 +23268,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M", "9L100", "8M", "8L100", "8V", "7M", "7L30", "7V", "7S24", "6M", "6L30", "5M", "5L30", "4M", "4L30", "4S19", "3M", "3L40"], psychicfangs: ["9M", "8M"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M"], psychocut: ["8M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], psyshock: ["9M", "9S26", "8M", "7M", "6M", "5M"], psywave: ["8V", "7V"], quash: ["7M", "6M", "5M"], @@ -22790,7 +23305,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["9M", "8M", "8V", "7M", "6M", "5M"], scaleshot: ["9M", "8T"], scaryface: ["9M", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], screech: ["8M"], secretpower: ["6M", "4M", "3M"], seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -22802,13 +23317,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T", "6T", "5T", "4T"], silverwind: ["4M"], skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], skullbash: ["7V"], skyattack: ["7T", "7V", "6T", "5T", "4T", "3T"], skydrop: ["7M", "6M", "5M"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], smackdown: ["9M", "7M", "6M", "5M"], smartstrike: ["9M", "8M", "7M"], snarl: ["9M", "8M", "7M", "6M", "5M"], @@ -22835,6 +23350,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], suckerpunch: ["4T"], sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supercellslam: ["9M"], superfang: ["9M", "7T", "6T", "5T", "4T"], superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], surf: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -22849,10 +23365,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], telekinesis: ["7T", "5M"], teleport: ["8V", "7V", "4S14", "4S15", "4S16", "4S17", "4S18", "4S19", "4S20"], + temperflare: ["9M"], terablast: ["9M"], terrainpulse: ["8T"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], thunderfang: ["9M", "8M"], @@ -22866,8 +23383,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { triattack: ["8M", "8V", "7V"], trick: ["9M", "8M", "7T", "6T", "5T", "4T"], trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], twister: ["4T"], + upperhand: ["9M"], uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], vacuumwave: ["9M", "4T"], @@ -22879,7 +23397,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpledge: ["9M"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], whirlwind: ["7V"], wildcharge: ["9M", "8M", "7M", "6M", "5M"], willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], @@ -22923,71 +23441,80 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, chikorita: { learnset: { - ancientpower: ["7E", "7V", "6E", "5E", "4T", "4E", "3E", "3S1"], + ancientpower: ["9E", "7E", "7V", "6E", "5E", "4T", "4E", "3E", "3S1"], aromatherapy: ["7L42", "7E", "6L42", "6E", "5L42", "5E", "4L42", "4E"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["7L34", "7E", "7V", "6L34", "6E", "5L34", "5E", "4L34", "4E", "3T", "3L29"], - bulletseed: ["4M", "3M"], + bodyslam: ["9M", "9L34", "7L34", "7E", "7V", "6L34", "6E", "5L34", "5E", "4L34", "4E", "3T", "3L29"], + bulletseed: ["9M", "4M", "3M"], captivate: ["4M"], + charm: ["9M"], confide: ["7M", "6M"], - counter: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], - curse: ["7V"], + counter: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["7V", "4M", "3T"], - energyball: ["7M", "6M", "5M", "4M"], - facade: ["7M", "6M", "5M", "4M", "3M"], - flail: ["7E", "7V", "6E", "5E", "4E", "3E"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + flail: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], flash: ["7V", "6M", "5M", "4M", "3M"], frenzyplant: ["3S1"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["4T"], - gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], - grassknot: ["7M", "6M", "5M", "4M"], - grasspledge: ["7T", "6T", "5T"], + gigadrain: ["9M", "9L42", "7T", "7V", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "7T", "6T", "5T"], grasswhistle: ["7E", "6E", "5E", "4E", "3E"], - grassyterrain: ["7E", "6E"], - growl: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + grassyglide: ["9M"], + grassyterrain: ["9M", "7E", "6E"], + growl: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], headbutt: ["7V", "4T"], - healpulse: ["7E", "6E", "5E"], + healpulse: ["9E", "7E", "6E", "5E"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - ingrain: ["7E", "6E", "5E", "4E", "3E"], + ingrain: ["9E", "7E", "6E", "5E", "4E", "3E"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], - leafstorm: ["7E", "6E", "5E", "4E"], - leechseed: ["7E", "7V", "6E", "5E", "4E", "3E"], - lightscreen: ["7M", "7L31", "7V", "6M", "6L31", "5M", "5L31", "4M", "4L31", "3M", "3L36"], - magicalleaf: ["7L20", "6L20", "5L20", "4L20"], + leafstorm: ["9M", "7E", "6E", "5E", "4E"], + leechseed: ["9L23", "7E", "7V", "6E", "5E", "4E", "3E"], + lightscreen: ["9M", "9L31", "7M", "7L31", "7V", "6M", "6L31", "5M", "5L31", "4M", "4L31", "3M", "3L36"], + magicalleaf: ["9M", "9L20", "7L20", "6L20", "5L20", "4L20"], magiccoat: ["7T", "6T", "5T", "4T"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["7L23", "6L23", "5L23", "4M", "4L23"], naturepower: ["7M", "7E", "6M", "6E", "5E", "4E", "3E"], - poisonpowder: ["7L9", "7V", "6L9", "5L9", "4L9", "3L15"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], - razorleaf: ["7L6", "7V", "6L6", "5L6", "4L6", "3L8", "3S0"], - reflect: ["7M", "7L17", "7V", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L12"], + poisonpowder: ["9L9", "7L9", "7V", "6L9", "5L9", "4L9", "3L15"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorleaf: ["9L6", "7L6", "7V", "6L6", "5L6", "4L6", "3L8", "3S0"], + reflect: ["9M", "9L17", "7M", "7L17", "7V", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L12"], refresh: ["7E", "6E", "5E"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], - safeguard: ["7M", "7L39", "7V", "6M", "6L39", "5M", "5L39", "4M", "4L39", "3M", "3L43"], + safeguard: ["9L39", "7M", "7L39", "7V", "6M", "6L39", "5M", "5L39", "4M", "4L39", "3M", "3L43"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["7T", "6T", "5T", "4T"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L45", "3M", "3L50"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "9L45", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L45", "3M", "3L50"], + solarblade: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["7L28", "7V", "6L28", "5L28", "4L28"], - swordsdance: ["7M", "7V", "6M", "5M", "4M", "3T"], - synthesis: ["7T", "7L12", "7V", "6T", "6L12", "5T", "5L12", "4T", "4L12", "3L22"], - tackle: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + sweetscent: ["9L28", "7L28", "7V", "6L28", "5L28", "4L28"], + swordsdance: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["9L12", "7T", "7L12", "7V", "6T", "6L12", "5T", "5L12", "4T", "4L12", "3L22"], + tackle: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - vinewhip: ["7E", "7V", "6E", "5E", "4E", "3E"], + trailblaze: ["9M"], + vinewhip: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], workup: ["7M"], worryseed: ["7T", "6T", "5T", "4T"], wringout: ["7E", "6E", "5E", "4E"], @@ -23003,61 +23530,75 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["4T"], aromatherapy: ["7L50", "6L50", "5L50", "4L50"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["7L40", "7V", "6L40", "5L40", "4L40", "3T", "3L31"], - bulletseed: ["4M", "3M"], + bodyslam: ["9M", "9L40", "7L40", "7V", "6L40", "5L40", "4L40", "3T", "3L31"], + bulletseed: ["9M", "4M", "3M"], captivate: ["4M"], + charm: ["9M"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["7V", "4M", "3T"], - energyball: ["7M", "6M", "5M", "4M"], - facade: ["7M", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], - grassknot: ["7M", "6M", "5M", "4M"], - grasspledge: ["7T", "6T", "5T"], - growl: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + gigadrain: ["9M", "9L50", "7T", "7V", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], headbutt: ["7V", "4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M"], laserfocus: ["7T"], - lightscreen: ["7M", "7L36", "7V", "6M", "6L36", "5M", "5L36", "4M", "4L36", "3M", "3L39"], - magicalleaf: ["7L22", "6L22", "5L22", "4L22"], + leafstorm: ["9M"], + leechseed: ["9L26"], + lightscreen: ["9M", "9L36", "7M", "7L36", "7V", "6M", "6L36", "5M", "5L36", "4M", "4L36", "3M", "3L39"], + magicalleaf: ["9M", "9L22", "7L22", "6L22", "5L22", "4L22"], magiccoat: ["7T", "6T", "5T", "4T"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["7L26", "6L26", "5L26", "4M", "4L26"], naturepower: ["7M", "6M"], - poisonpowder: ["7L1", "7V", "6L1", "5L1", "4L1", "3L15"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], - razorleaf: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - reflect: ["7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L1"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + poisonpowder: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L15"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorleaf: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + reflect: ["9M", "9L18", "7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L1"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], - safeguard: ["7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L47"], + safeguard: ["9L46", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L47"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["7T", "6T", "5T", "4T"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L54", "3M", "3L55"], + solarbeam: ["9M", "9L54", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L54", "3M", "3L55"], + solarblade: ["9M"], + stompingtantrum: ["9M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["7L32", "7V", "6L32", "5L32", "4L32"], - swordsdance: ["7M", "6M", "5M", "4M", "3T"], - synthesis: ["7T", "7L12", "7V", "6T", "6L12", "5T", "5L12", "4T", "4L12", "3L23"], - tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sweetscent: ["9L32", "7L32", "7V", "6L32", "5L32", "4L32"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L12", "7T", "7L12", "7V", "6T", "6L12", "5T", "5L12", "4T", "4L12", "3L23"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], workup: ["7M"], worryseed: ["7T", "6T", "5T", "4T"], }, @@ -23067,74 +23608,91 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["4T"], aromatherapy: ["7L60", "6L60", "5L60", "4L60"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["7L46", "7V", "6L46", "6S0", "5L46", "4L46", "3T", "3L31"], - bulldoze: ["7M", "6M", "5M"], - bulletseed: ["4M", "3M"], + bodypress: ["9M"], + bodyslam: ["9M", "9L46", "7L46", "7V", "6L46", "6S0", "5L46", "4L46", "3T", "3L31"], + bulldoze: ["9M", "7M", "6M", "5M"], + bulletseed: ["9M", "4M", "3M"], captivate: ["4M"], + charm: ["9M"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragontail: ["7M", "6M", "5M"], - earthquake: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragontail: ["9M", "7M", "6M", "5M"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["7V", "4M", "3T"], - energyball: ["7M", "6M", "5M", "4M"], - facade: ["7M", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], flash: ["7V", "6M", "5M", "4M", "3M"], - frenzyplant: ["7T", "6T", "5T", "4T"], + frenzyplant: ["9M", "7T", "6T", "5T", "4T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["7M", "6M", "5M", "4M"], - grassknot: ["7M", "6M", "5M", "4M"], - grasspledge: ["7T", "6T", "5T"], - growl: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + gigadrain: ["9M", "9L60", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], headbutt: ["7V", "4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M"], laserfocus: ["7T"], - lightscreen: ["7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3M", "3L41"], - magicalleaf: ["7L22", "6L22", "5L22", "4L22"], + leafstorm: ["9M"], + leechseed: ["9L26"], + lightscreen: ["9M", "9L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3M", "3L41"], + magicalleaf: ["9M", "9L22", "7L22", "6L22", "5L22", "4L22"], magiccoat: ["7T", "6T", "5T", "4T"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["7L26", "6L26", "5L26", "4M", "4L26"], naturepower: ["7M", "6M"], - outrage: ["7T", "6T", "5T", "4T"], - petalblizzard: ["7L1", "6L1"], - petaldance: ["7L1", "6L32", "5L32", "4L32"], - poisonpowder: ["7L1", "7V", "6L1", "5L1", "4L1", "3L15"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], - razorleaf: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - reflect: ["7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L1"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + outrage: ["9M", "7T", "6T", "5T", "4T"], + petalblizzard: ["9M", "9L1", "7L1", "6L1"], + petaldance: ["9L0", "7L1", "6L32", "5L32", "4L32"], + poisonpowder: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L15"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorleaf: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + reflect: ["9M", "9L18", "7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L1"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], - safeguard: ["7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L54", "3M", "3L51"], + safeguard: ["9L54", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L54", "3M", "3L51"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["7T", "6T", "5T", "4T"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["7M", "7L66", "7V", "6M", "6L66", "6S0", "5M", "5L66", "4M", "4L66", "3M", "3L61"], - stompingtantrum: ["7T"], + solarbeam: ["9M", "9L65", "7M", "7L66", "7V", "6M", "6L66", "6S0", "5M", "5L66", "4M", "4L66", "3M", "3L61"], + solarblade: ["9M"], + stompingtantrum: ["9M", "7T"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7V", "6M", "6S0", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "6S0", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - sweetscent: ["7L34", "7V", "6L34", "5L34", "4L34"], - swordsdance: ["7M", "6M", "5M", "4M", "3T"], - synthesis: ["7T", "7L12", "7V", "6T", "6L12", "6S0", "5T", "5L12", "4T", "4L12", "3L23"], - tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sweetscent: ["9L34", "7L34", "7V", "6L34", "5L34", "4L34"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L12", "7T", "7L12", "7V", "6T", "6L12", "6S0", "5T", "5L12", "4T", "4L12", "3L23"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + weatherball: ["9M"], workup: ["7M"], worryseed: ["7T", "6T", "5T", "4T"], + zenheadbutt: ["9M"], }, eventData: [ {generation: 6, level: 50, isHidden: true, moves: ["solarbeam", "sunnyday", "synthesis", "bodyslam"], pokeball: "pokeball"}, @@ -23152,12 +23710,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], covet: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], crushclaw: ["7E", "6E", "5E", "4E", "3E"], - curse: ["9E", "7V"], + curse: ["9M", "9E", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["9L22", "7L22", "7V", "6L22", "5L22", "4L22", "3T"], detect: ["7V"], dig: ["9M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L55", "7L55", "7E", "6L55", "6E", "5L55", "5E", "4L46", "4E", "3T"], + doubleedge: ["9M", "9L55", "7L55", "7E", "6L55", "6E", "5L55", "5E", "4L46", "4E", "3T"], doublekick: ["9E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], ember: ["9L10", "7L10", "7V", "6L10", "5L10", "4L10", "3L12"], @@ -23212,6 +23770,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "9L31", "7L31", "7V", "6L31", "5L31", "4T", "4L28", "3T", "3L36"], tackle: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thrash: ["7E", "7V", "6E", "5E", "4E", "3E"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -23237,14 +23796,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["9L24", "7L24", "7V", "6L24", "5L24", "4L24", "3T"], detect: ["7V"], dig: ["9M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L64", "7L64", "6L64", "5L64", "4L53", "3T"], + doubleedge: ["9M", "9L64", "7L64", "6L64", "5L64", "4L53", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], ember: ["9L10", "7L10", "7V", "6L10", "5L10", "4L10", "3L12"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], eruption: ["9L75", "7L75", "6L68", "5L68", "4L57"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -23294,6 +23854,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "9L31", "7L31", "7V", "6L31", "5L31", "4T", "4L31", "3T", "3L42"], tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], wildcharge: ["9M", "7M", "6M", "5M"], @@ -23316,16 +23877,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["3T"], covet: ["7T", "6T", "5T"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["9L24", "7L24", "7V", "6L24", "5L24", "4L24", "3T"], detect: ["7V"], dig: ["9M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L1", "7L1", "6L1", "5L69", "4L53", "3T"], + doubleedge: ["9M", "9L1", "7L1", "6L1", "5L69", "4L53", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], ember: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], eruption: ["9L1", "7L1", "6L1", "5L74", "4L57"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -23379,6 +23941,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M", "7M", "6M", "5M", "4M"], rollout: ["9L61", "7L61", "7V", "6L61", "5L61", "4T", "4L46", "3T"], round: ["7M", "6M", "5M"], + scorchingsands: ["9M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], shadowball: ["9M"], @@ -23395,8 +23958,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "9L31", "7L31", "7V", "6L31", "6S1", "5L31", "4T", "4L31", "3T", "3L45", "3S0"], tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], wildcharge: ["9M", "7M", "6M", "5M"], @@ -23419,11 +23983,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { burningjealousy: ["9M"], calmmind: ["9M"], confuseray: ["9M"], + curse: ["9M"], defensecurl: ["9L24"], dig: ["9M"], - doubleedge: ["9L1"], + doubleedge: ["9M", "9L1"], earthquake: ["9M"], ember: ["9L1"], + endeavor: ["9M"], endure: ["9M"], eruption: ["9L1"], facade: ["9M"], @@ -23472,6 +24038,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "9L31"], tackle: ["9L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunderpunch: ["9M"], wildcharge: ["9M"], @@ -23481,94 +24048,104 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, totodile: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - ancientpower: ["7E", "7V", "6E", "5E", "4T", "4E", "3E"], - aquajet: ["7E", "6E", "5E", "4E"], - aquatail: ["7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L36"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + ancientpower: ["9E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], + aquajet: ["9E", "7E", "6E", "5E", "4E"], + aquatail: ["9L41", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L36"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - bite: ["7L13", "7V", "6L13", "5L13", "4L13", "3L20"], - blizzard: ["7M", "7V", "6M", "5M", "4M", "3M"], - block: ["7T", "7E", "6T", "6E", "5T", "5E"], + bite: ["9L9", "7L13", "7V", "6L13", "5L13", "4L13", "3L20"], + blizzard: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], bodyslam: ["3T"], - brickbreak: ["7M", "6M", "5M", "4M", "3M"], + breakingswipe: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], + chillingwater: ["9M"], chipaway: ["7L29", "6L29", "5L29"], confide: ["7M", "6M"], - counter: ["3T"], - crunch: ["7L27", "7E", "7V", "6L27", "6E", "5L27", "5E", "4L27", "4E", "3E", "3S1"], - curse: ["7V"], + counter: ["9E", "3T"], + crunch: ["9M", "9L27", "7L27", "7E", "7V", "6L27", "6E", "5L27", "5E", "4L27", "4E", "3E", "3S1"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], - dig: ["7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], dive: ["6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonclaw: ["7M", "6M", "5M", "4E", "3E"], - dragondance: ["7E", "6E", "5E", "4E"], + dragonclaw: ["9M", "7M", "6M", "5M", "4E", "3E"], + dragondance: ["9M", "7E", "6E", "5E", "4E"], dynamicpunch: ["7V", "3T"], - endure: ["7V", "4M", "3T"], - facade: ["7M", "6M", "5M", "4M", "3M"], - faketears: ["7E", "6E", "5E"], - flail: ["7L22", "6L22", "5L22", "4L22"], - flatter: ["7E", "6E"], - fling: ["7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + endeavor: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "7E", "6E", "5E"], + flail: ["9L22", "7L22", "6L22", "5L22", "4L22"], + flatter: ["9E", "7E", "6E"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], hail: ["7M", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], hydrocannon: ["3S1"], - hydropump: ["7L50", "7E", "7V", "6L50", "6E", "5L50", "5E", "4L43", "4E", "3L52", "3E"], - icebeam: ["7M", "6M", "5M", "4M", "3M"], - icefang: ["7L20", "6L20", "5L20", "4L20"], - icepunch: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], - icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + hydropump: ["9M", "9L50", "7L50", "7E", "7V", "6L50", "6E", "5L50", "5E", "4L43", "4E", "3L52", "3E"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["9M", "9L19", "7L20", "6L20", "5L20", "4L20"], + icepunch: ["9M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + icywind: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], - leer: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], - lowkick: ["7T", "6T", "5T", "4T"], + leer: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + liquidation: ["9M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], - metalclaw: ["7E", "6E", "5E", "4E"], + metalclaw: ["9M", "7E", "6E", "5E", "4E"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + muddywater: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], mudsport: ["7E", "6E", "5E", "4E", "3E"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], rage: ["7L8", "7V", "6L8", "5L8", "4L8", "3L7", "3S0"], - raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], razorwind: ["7V"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - rockslide: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], - rocktomb: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], round: ["7M", "6M", "5M"], scald: ["7M", "6M", "5M"], - scaryface: ["7L15", "7V", "6L15", "5L15", "4L15", "3L27"], - scratch: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], - screech: ["7L36", "7V", "6L36", "5L36", "4L34", "3L43"], + scaryface: ["9M", "9L13", "7L15", "7V", "6L15", "5L15", "4L15", "3L27"], + scratch: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + screech: ["9L33", "7L36", "7V", "6L36", "5L36", "4L34", "3L43"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowclaw: ["7M", "6M", "5M", "4M"], - slash: ["7L34", "7V", "6L34", "5L34", "4L29", "3L35"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slash: ["9L30", "7L34", "7V", "6L34", "5L34", "4L29", "3L35"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - spite: ["7T", "6T", "5T", "4T"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - superpower: ["7T", "7L48", "6T", "6L48", "5T", "5L48", "4T", "4L41"], - surf: ["7M", "7V", "6M", "5M", "4M", "3M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["9L45", "7T", "7L48", "6T", "6L48", "5T", "5L48", "4T", "4L41"], + surf: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["7M", "6M", "5M", "4M", "3T"], - thrash: ["7L41", "7E", "7V", "6L41", "6E", "5L41", "5E", "4L22", "4E", "3E"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L37", "7L41", "7E", "7V", "6L41", "6E", "5L41", "5E", "4L22", "4E", "3E"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["7T", "6T", "5T", "4T"], - waterfall: ["7M", "6M", "5M", "4M", "3M"], - watergun: ["7L6", "7V", "6L6", "5L6", "4L6", "3L13"], - waterpledge: ["7T", "6T", "5T"], - waterpulse: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + waterfall: ["9M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L6", "7L6", "7V", "6L6", "5L6", "4L6", "3L13"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], watersport: ["7E", "6E", "5E", "4E", "3E"], - whirlpool: ["7V", "4M"], + whirlpool: ["9M", "7V", "4M"], workup: ["7M"], }, eventData: [ @@ -23579,190 +24156,222 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, croconaw: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], ancientpower: ["4T"], - aquatail: ["7T", "7L51", "6T", "6L51", "5T", "5L51", "4L42"], + aquatail: ["9L47", "7T", "7L51", "6T", "6L51", "5T", "5L51", "4L42"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - bite: ["7L13", "7V", "6L13", "5L13", "4L13", "3L21"], - blizzard: ["7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L21"], + blizzard: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], block: ["7T", "6T", "5T"], bodyslam: ["3T"], - brickbreak: ["7M", "6M", "5M", "4M", "3M"], + breakingswipe: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], + chillingwater: ["9M"], chipaway: ["7L33", "6L33", "5L33"], confide: ["7M", "6M"], counter: ["3T"], - crunch: ["7L30", "6L30", "5L30", "4L30"], - curse: ["7V"], + crunch: ["9M", "9L30", "7L30", "6L30", "5L30", "4L30"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], - dig: ["7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], dive: ["6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonclaw: ["7M", "6M", "5M"], + dragonclaw: ["9M", "7M", "6M", "5M"], + dragondance: ["9M"], dynamicpunch: ["7V", "3T"], - endure: ["7V", "4M", "3T"], - facade: ["7M", "6M", "5M", "4M", "3M"], - flail: ["7L24", "6L24", "5L24", "4L24"], - fling: ["7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + endeavor: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + flail: ["9L24", "7L24", "6L24", "5L24", "4L24"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], hail: ["7M", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hydropump: ["7L60", "7V", "6L60", "5L60", "4L51", "3L55"], - icebeam: ["7M", "6M", "5M", "4M", "3M"], - icefang: ["7L21", "6L21", "5L21", "4L21"], - icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], - icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + hydropump: ["9M", "9L55", "7L60", "7V", "6L60", "5L60", "4L51", "3L55"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["9M", "9L21", "7L21", "6L21", "5L21", "4L21"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], - leer: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - lowkick: ["7T", "6T", "5T", "4T"], + leer: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["9M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], + metalclaw: ["9M"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + muddywater: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], rage: ["7L8", "7V", "6L8", "5L8", "4L8", "3L1"], - raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["7M", "7V", "6M", "5M", "4M", "3M"], - rockslide: ["7M", "6M", "5M", "4M", "3T"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rocktomb: ["7M", "6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], round: ["7M", "6M", "5M"], scald: ["7M", "6M", "5M"], - scaryface: ["7L15", "7V", "6L15", "5L15", "4L15", "3L28"], - scratch: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - screech: ["7L42", "7V", "6L42", "5L42", "4L39", "3L45"], + scaryface: ["9M", "9L15", "7L15", "7V", "6L15", "5L15", "4L15", "3L28"], + scratch: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["9L37", "7L42", "7V", "6L42", "5L42", "4L39", "3L45"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowclaw: ["7M", "6M", "5M", "4M"], - slash: ["7L39", "7V", "6L39", "5L39", "4L33", "3L37"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slash: ["9L34", "7L39", "7V", "6L39", "5L39", "4L33", "3L37"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - spite: ["7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - superpower: ["7T", "7L57", "6T", "6L57", "5T", "5L57", "4T", "4L48"], - surf: ["7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["9L50", "7T", "7L57", "6T", "6L57", "5T", "5L57", "4T", "4L48"], + surf: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["7M", "6M", "5M", "4M", "3T"], - thrash: ["7L48", "6L48", "5L48", "4L24"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L42", "7L48", "6L48", "5L48", "4L24"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["7T", "6T", "5T", "4T"], - waterfall: ["7M", "6M", "5M", "4M", "3M"], - watergun: ["7L1", "7V", "6L1", "5L1", "4L1", "3L13"], - waterpledge: ["7T", "6T", "5T"], - waterpulse: ["7T", "6T", "4M", "3M"], - whirlpool: ["7V", "4M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + waterfall: ["9M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L13"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["9M", "7V", "4M"], workup: ["7M"], }, }, feraligatr: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["7L1", "6L30", "5L30", "4L30"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L1", "7L1", "6L30", "5L30", "4L30"], ancientpower: ["4T"], - aquatail: ["7T", "7L63", "6T", "6L63", "5T", "5L63", "4T", "4L50"], + aquatail: ["9L59", "7T", "7L63", "6T", "6L63", "5T", "5L63", "4T", "4L50"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - avalanche: ["4M"], - bite: ["7L13", "7V", "6L13", "5L13", "4L13", "3L21"], - blizzard: ["7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "4M"], + bite: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L21"], + blizzard: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], block: ["7T", "6T", "5T"], - bodyslam: ["3T"], - brickbreak: ["7M", "6M", "5M", "4M", "3M"], - bulldoze: ["7M", "6M", "5M"], + bodyslam: ["9M", "3T"], + breakingswipe: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], + chillingwater: ["9M"], chipaway: ["7L37", "6L37", "5L37"], confide: ["7M", "6M"], counter: ["3T"], - crunch: ["7L32", "6L32", "6S0", "5L32", "4L32"], - curse: ["7V"], + crunch: ["9M", "9L32", "7L32", "6L32", "6S0", "5L32", "4L32"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], - dig: ["7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], dive: ["6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - dragonclaw: ["7M", "6M", "5M", "4M", "3M"], + dragonclaw: ["9M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M"], dragonpulse: ["7T", "6T", "5T", "4M"], - dragontail: ["7M", "6M", "5M"], + dragontail: ["9M", "7M", "6M", "5M"], dynamicpunch: ["7V", "3T"], - earthquake: ["7M", "7V", "6M", "5M", "4M", "3M"], - endure: ["7V", "4M", "3T"], - facade: ["7M", "6M", "5M", "4M", "3M"], - flail: ["7L24", "6L24", "5L24", "4L24"], - fling: ["7M", "6M", "5M", "4M"], - focusblast: ["7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + flail: ["9L24", "7L24", "6L24", "5L24", "4L24"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - gigaimpact: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], hail: ["7M", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hydrocannon: ["7T", "6T", "5T", "4T"], - hydropump: ["7L76", "7V", "6L76", "5L76", "4L63", "3L58"], - hyperbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["7M", "6M", "5M", "4M", "3M"], - icefang: ["7L21", "6L21", "5L21", "4L21"], - icepunch: ["7T", "7V", "6T", "6S0", "5T", "4T", "3T"], - icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + hydrocannon: ["9M", "7T", "6T", "5T", "4T"], + hydropump: ["9M", "9L70", "7L76", "7V", "6L76", "5L76", "4L63", "3L58"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["9M", "9L21", "7L21", "6L21", "5L21", "4L21"], + icepunch: ["9M", "7T", "7V", "6T", "6S0", "5T", "4T", "3T"], + icywind: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], - leer: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - liquidation: ["7T"], - lowkick: ["7T", "6T", "5T", "4T"], + lashout: ["9M"], + leer: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["9M", "7T"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], + metalclaw: ["9M"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + muddywater: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], - outrage: ["7T", "6T", "5T", "4T"], + outrage: ["9M", "7T", "6T", "5T", "4T"], poweruppunch: ["6M"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], rage: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], - rockslide: ["7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rocktomb: ["7M", "6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], round: ["7M", "6M", "5M"], scald: ["7M", "6M", "5M"], - scaryface: ["7L15", "7V", "6L15", "5L15", "4L15", "3L28"], - scratch: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - screech: ["7L50", "7V", "6L50", "6S0", "5L50", "4L45", "3L47"], + scaleshot: ["9M"], + scaryface: ["9M", "9L15", "7L15", "7V", "6L15", "5L15", "4L15", "3L28"], + scratch: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["9L44", "7L50", "7V", "6L50", "6S0", "5L50", "4L45", "3L47"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowclaw: ["7M", "6M", "5M", "4M"], - slash: ["7L45", "7V", "6L45", "5L45", "4L37", "3L38"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slash: ["9L37", "7L45", "7V", "6L45", "5L45", "4L37", "3L38"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - spite: ["7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stompingtantrum: ["9M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - superpower: ["7T", "7L71", "6T", "6L71", "5T", "5L71", "4T", "4L58"], - surf: ["7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["9L65", "7T", "7L71", "6T", "6L71", "5T", "5L71", "4T", "4L58"], + surf: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swordsdance: ["7M", "6M", "5M", "4M", "3T"], - thrash: ["7L58", "6L58", "5L58", "4L24"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L51", "7L58", "6L58", "5L58", "4L24"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - uproar: ["7T", "6T", "5T", "4T"], - waterfall: ["7M", "6M", "6S0", "5M", "4M", "3M"], - watergun: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - waterpledge: ["7T", "6T", "5T"], - waterpulse: ["7T", "6T", "4M", "3M"], - whirlpool: ["7V", "4M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + waterfall: ["9M", "7M", "6M", "6S0", "5M", "4M", "3M"], + watergun: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["9M", "7V", "4M"], workup: ["7M"], }, eventData: [ @@ -23792,10 +24401,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { defensecurl: ["9L4", "7L4", "7V", "6L4", "5L4", "4L4", "3T", "3L4"], detect: ["7V"], dig: ["9M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L42", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + doubleedge: ["9M", "9L42", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "7V", "5D", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -23897,10 +24507,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { defensecurl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], detect: ["7V"], dig: ["9M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L50", "3T"], + doubleedge: ["9M", "9L50", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -24007,7 +24618,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["9M", "8M", "7V", "4M", "3T"], extrasensory: ["9L21", "8L21", "7L22", "6L45", "5L45", "4L37"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - featherdance: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + featherdance: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], flash: ["7V", "3M"], fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -24038,7 +24649,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychoshift: ["8L15", "7L19", "6L49", "5L49", "4L41"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "5D", "4M"], reflect: ["9M", "9L12", "8M", "8L12", "7M", "7L28", "7V", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L22"], @@ -24099,10 +24710,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M"], confusion: ["9L9", "8L9", "7L10", "7V", "6L22", "5L22", "4L22", "3L41"], - curse: ["7V"], - defog: ["7T", "4M"], + curse: ["9M", "7V"], + defog: ["9L15", "7T", "4M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["9L53", "8L53", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L67", "4M", "4L57", "3T", "3L57"], dualwingbeat: ["9M", "8T"], @@ -24110,11 +24721,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["9M", "8M", "7V", "4M", "3T"], extrasensory: ["9L23", "8L23", "7L23", "6L52", "5L52", "4L42"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M"], flash: ["7V", "3M"], fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], foresight: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["8M"], + futuresight: ["9M", "8M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], haze: ["9M"], @@ -24140,8 +24752,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychicnoise: ["9M"], psychoshift: ["8L15", "7L19", "6L57", "5L57", "4L47"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "4M"], reflect: ["9M", "9L12", "8M", "8L12", "7M", "7L31", "7V", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L25"], @@ -24368,7 +24981,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { disable: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - electroweb: ["7T", "7E", "6T", "6E", "5T", "5E", "5D"], + electroweb: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], @@ -24406,8 +25019,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], shadowsneak: ["9L19", "7L19", "6L19", "5L19", "4L19"], signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E", "3S0"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M"], snore: ["7T", "7V", "6T", "3T"], solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], sonicboom: ["7E", "7V", "6E", "5E", "4E", "3E"], @@ -24456,7 +25071,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "7V", "6M", "5M", "4M", "3M"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - electroweb: ["7T", "6T", "5T"], + electroweb: ["9M", "7T", "6T", "5T"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], fellstinger: ["9L1", "7L1", "6L1"], @@ -24492,8 +25107,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], shadowsneak: ["9L19", "7L19", "6L19", "5L19", "4L19"], signalbeam: ["7T", "6T", "5T", "4T"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["9M"], smartstrike: ["9M", "7M"], snore: ["7T", "7V", "6T", "3T"], solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -24510,7 +25127,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M", "9L0", "7M", "7L1"], terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], toxicspikes: ["9M"], toxicthread: ["9L59", "9S0", "7L63"], @@ -24530,152 +25147,168 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, chinchou: { learnset: { - agility: ["8M", "7E", "6E", "5E", "4E"], - amnesia: ["8M", "7E", "6E", "5E", "5D", "4E", "3E"], - aquaring: ["8L32", "7L42", "6L42", "5L42", "4L39"], + agility: ["9M", "8M", "7E", "6E", "5E", "4E"], + amnesia: ["9M", "8M", "7E", "6E", "5E", "5D", "4E", "3E"], + aquaring: ["9L32", "8L32", "7L42", "6L42", "5L42", "4L39"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], bounce: ["8M", "7T", "6T", "5T", "4T"], brine: ["8M", "7E", "6E", "5E", "4M"], bubble: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - bubblebeam: ["8L12", "7L20", "6L20", "5L31", "4L28"], + bubblebeam: ["9L12", "8L12", "7L20", "6L20", "5L31", "4L28"], captivate: ["4M"], - charge: ["8L24", "7L50", "6L50", "5L50", "4L45", "3L49"], - chargebeam: ["7M", "6M", "5M", "4M"], + charge: ["9M", "9L24", "8L24", "7L50", "6L50", "5L50", "4L45", "3L49"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - confuseray: ["8L16", "7L17", "7V", "6L17", "5L12", "4L17", "3L29"], - curse: ["7V"], - dazzlinggleam: ["8M", "7M", "6M"], - discharge: ["8L28", "7L34", "6L34", "5L39", "4L34"], + confuseray: ["9M", "9L16", "8L16", "7L17", "7V", "6L17", "5L12", "4L17", "3L29"], + curse: ["9M", "7V"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + discharge: ["9L28", "8L28", "7L34", "6L34", "5L39", "4L34"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - electroball: ["8M", "8L4", "7L9", "6L9", "5L28"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - flail: ["8L36", "7L31", "7E", "7V", "6L9", "6E", "5L9", "5E", "4L9", "4E", "3L13", "3E"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "9L4", "8M", "8L4", "7L9", "6L9", "5L28"], + electroweb: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L36", "8L36", "7L31", "7E", "7V", "6L9", "6E", "5L9", "5E", "4L9", "4E", "3L13", "3E"], flash: ["7V", "6M", "5M", "4M", "3M"], + flipturn: ["9M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], healbell: ["7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L44", "7L45", "7V", "6L45", "5L45", "4L42", "3L41"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "6T", "5T", "4T"], + hydropump: ["9M", "9L44", "8M", "8L44", "7L45", "7V", "6L45", "5L45", "4L42", "3L41"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], iondeluge: ["7L47", "6L47"], + liquidation: ["9M"], mimic: ["3T"], - mist: ["8E", "7E", "6E", "5E", "4E"], + mist: ["9E", "8E", "7E", "6E", "5E", "4E"], + muddywater: ["9M"], naturalgift: ["4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psybeam: ["8E", "7E", "6E", "5E", "4E"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], risingvoltage: ["8T"], round: ["8M", "7M", "6M", "5M"], - scald: ["8M", "7M", "6M", "5M"], + scald: ["9M", "8M", "7M", "6M", "5M"], screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], secretpower: ["6M", "4M", "3M"], shockwave: ["7T", "7E", "6T", "6E", "5E", "5D", "4M", "3M"], signalbeam: ["7T", "7L28", "6T", "6L28", "5T", "5L34", "4T", "4L31"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - soak: ["8E", "7E", "6E"], - spark: ["8L20", "7L23", "7V", "6L20", "5L20", "4L20", "3L25"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - suckerpunch: ["4T"], - supersonic: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L5"], - surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + soak: ["9E", "8E", "7E", "6E"], + spark: ["9L20", "8L20", "7L23", "7V", "6L20", "5L20", "4L20", "3L25"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9E", "4T"], + supersonic: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L5"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - takedown: ["8L40", "7L39", "7V", "6L23", "5L23", "4L23", "3L37"], - thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderwave: ["8M", "8L8", "7M", "7L6", "7V", "6M", "6L6", "5M", "5L6", "5D", "4M", "4L6", "3T", "3L1"], + takedown: ["9M", "9L40", "8L40", "7L39", "7V", "6L23", "5L23", "4L23", "3L37"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "9L8", "8M", "8L8", "7M", "7L6", "7V", "6M", "6L6", "5M", "5L6", "5D", "4M", "4L6", "3T", "3L1"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - voltswitch: ["8M", "7M", "6M", "5M"], - waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7L12", "7V", "6L1", "5L17", "4L12", "3L17"], - waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], - whirlpool: ["8M", "7E", "7V", "6E", "5E", "4M", "4E"], - wildcharge: ["8M", "7M", "6M", "5M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L12", "7V", "6L1", "5L17", "4L12", "3L17"], + waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "4E"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], zapcannon: ["7V"], }, }, lanturn: { learnset: { - agility: ["8M"], - amnesia: ["8M"], - aquaring: ["8L36", "7L47", "6L47", "5L52", "4L47"], + agility: ["9M", "8M"], + amnesia: ["9M", "8M"], + aquaring: ["9L36", "8L36", "7L47", "6L47", "5L52", "4L47"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], bounce: ["8M", "7T", "6T", "5T", "4T"], brine: ["8M", "4M"], bubble: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - bubblebeam: ["8L12", "7L20", "6L20", "5L35", "4L30"], + bubblebeam: ["9L12", "8L12", "7L20", "6L20", "5L35", "4L30"], captivate: ["4M"], - charge: ["8L24", "7L58", "6L58", "5L64", "4L57", "3L61"], - chargebeam: ["7M", "6M", "5M", "4M"], + charge: ["9M", "9L24", "8L24", "7L58", "6L58", "5L64", "4L57", "3L61"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - confuseray: ["8L16", "7L17", "7V", "6L17", "5L17", "4L17", "3L32"], - curse: ["7V"], - dazzlinggleam: ["8M", "7M", "6M"], - discharge: ["8L30", "7L37", "6L37", "5L47", "4L40"], + confuseray: ["9M", "9L16", "8L16", "7L17", "7V", "6L17", "5L17", "4L17", "3L32"], + curse: ["9M", "7V"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + discharge: ["9L30", "8L30", "7L37", "6L37", "5L47", "4L40"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - eerieimpulse: ["8M", "8L1", "7L1", "6L1"], - electroball: ["8M", "8L1", "7L1", "6L1", "5L30"], - endure: ["8M", "7V", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - flail: ["8L42", "7L33", "7V", "6L9", "5L9", "4L9", "3L13"], + eerieimpulse: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + electricterrain: ["9M"], + electroball: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L30"], + electroweb: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L42", "8L42", "7L33", "7V", "6L9", "5L9", "4L9", "3L13"], flash: ["7V", "6M", "5M", "4M", "3M"], + flipturn: ["9M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], healbell: ["7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L54", "7L51", "7V", "6L51", "5L57", "4L52", "3L50"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "6T", "5T", "4T"], + hydropump: ["9M", "9L54", "8M", "8L54", "7L51", "7V", "6L51", "5L57", "4L52", "3L50"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], iondeluge: ["7L54", "6L54"], + liquidation: ["9M"], mimic: ["3T"], + muddywater: ["9M"], naturalgift: ["4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], risingvoltage: ["8T"], round: ["8M", "7M", "6M", "5M"], - scald: ["8M", "7M", "6M", "5M"], + scald: ["9M", "8M", "7M", "6M", "5M"], screech: ["8M"], secretpower: ["6M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L40", "4T", "4L35"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - spark: ["8L20", "7L23", "7V", "6L20", "5L20", "4L20", "3L25"], - spitup: ["8L0", "7L1", "6L27", "5L27", "4L27"], + spark: ["9L20", "8L20", "7L23", "7V", "6L20", "5L20", "4L20", "3L25"], + spitup: ["9L0", "8L0", "7L1", "6L27", "5L27", "4L27"], spotlight: ["7L1"], - stockpile: ["8L0", "7L1", "6L27", "5L27", "4L27"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + stockpile: ["9L0", "8L0", "7L1", "6L27", "5L27", "4L27"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], suckerpunch: ["4T"], - supersonic: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swallow: ["8L0", "7L1", "6L27", "5L27", "4L27"], - takedown: ["8L48", "7L43", "7V", "6L23", "5L23", "4L23", "3L43"], - thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderwave: ["8M", "8L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + swallow: ["9L0", "8L0", "7L1", "6L27", "5L27", "4L27"], + takedown: ["9M", "9L48", "8L48", "7L43", "7V", "6L23", "5L23", "4L23", "3L43"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - voltswitch: ["8M", "7M", "6M", "5M"], - waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7L12", "7V", "6L1", "5L12", "4L12", "3L17"], - waterpulse: ["7T", "6T", "4M", "3M"], - whirlpool: ["8M", "7V", "4M"], - wildcharge: ["8M", "7M", "6M", "5M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L12", "7V", "6L1", "5L12", "4L12", "3L17"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["9M", "8M", "7V", "4M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], zapcannon: ["7V"], }, encounters: [ @@ -25241,42 +25874,43 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["7M", "7V", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "7E", "7V", "6E", "5E", "4E", "3T", "3E", "3S2"], captivate: ["4M"], - charge: ["9M", "9L15", "7L15", "7E", "6L15", "6E", "5L23", "5E", "4L23", "4E", "3E"], + charge: ["9M", "9L15", "7L15", "7E", "6L15", "6E", "5L15", "5E", "4L23", "4E", "3E"], chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9L25", "7L25", "6L25", "5L25"], cottonguard: ["9L36", "7L36", "6L36", "5L32"], - cottonspore: ["9L11", "7L11", "7V", "6L11", "5L19", "4L19", "3L23", "3S0"], + cottonspore: ["9L11", "7L11", "7V", "6L11", "5L11", "4L19", "3L23", "3S0"], curse: ["7V"], dazzlinggleam: ["9M", "9L39"], defensecurl: ["7V", "3T"], dig: ["9M"], - discharge: ["9L32", "7L32", "6L32", "5L37", "4L28"], - doubleedge: ["3T"], + discharge: ["9L32", "7L32", "6L32", "5L32", "4L28"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], eerieimpulse: ["9M", "9E", "7E", "6E"], electricterrain: ["9M", "9E", "7E", "6E"], - electroball: ["9M", "9L22", "7L22", "6L22", "5L28"], - electroweb: ["9E", "7T", "6T"], + electroball: ["9M", "9L22", "7L22", "6L22", "5L22"], + electroweb: ["9M", "9E", "7T", "6T"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], flatter: ["9E", "7E", "6E", "5E", "4E"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - growl: ["9L1", "7L1", "7V", "6L1", "5L5", "4L5", "3L1", "3S1"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L5", "3L1", "3S1"], headbutt: ["7V", "4T"], healbell: ["7T", "6T", "5T", "4T", "3S2"], helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], holdback: ["6S3"], irontail: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], - lightscreen: ["9M", "9L43", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L46", "4M", "4L37", "3M", "3L30"], + lightscreen: ["9M", "9L43", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L37", "3M", "3L30"], magnetrise: ["7T", "6T", "5T", "4T"], mimic: ["3T"], naturalgift: ["4M"], odorsleuth: ["7E", "6E", "5E", "4E", "3E"], - powergem: ["9M", "9L29", "7L29", "6L29", "5L50", "4L41"], + powergem: ["9M", "9L29", "7L29", "6L29", "5L29", "4L41"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["9M", "7V", "5D", "4E", "3E"], @@ -25288,7 +25922,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { screech: ["7E", "7V", "6E", "5E", "4E", "3E"], secretpower: ["6M", "4M", "3M"], shockwave: ["7T", "6T", "5D", "4M", "3M"], - signalbeam: ["7T", "7L39", "6T", "6L39", "5T", "5L41", "4T", "4L32"], + signalbeam: ["7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L32"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], @@ -25298,10 +25932,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "7L1", "7V", "6L1", "6S3", "5L1", "4L1", "3L1", "3S1"], takedown: ["9M", "9L18", "7L18", "7E", "7V", "6L18", "6E", "5L18", "5E", "4E", "3E"], terablast: ["9M"], - thunder: ["9M", "9L46", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L55", "4M", "4L46", "3M", "3L37", "3S0"], + thunder: ["9M", "9L46", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L37", "3S0"], thunderbolt: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - thundershock: ["9L8", "7L8", "7V", "6L8", "6S3", "5L10", "5D", "4L10", "3L9", "3S0", "3S1", "3S2"], - thunderwave: ["9M", "9L4", "7M", "7L4", "7V", "6M", "6L4", "6S3", "5M", "5L14", "4M", "4L14", "3T", "3L16", "3S0", "3S2"], + thundershock: ["9L8", "7L8", "7V", "6L8", "6S3", "5L8", "5D", "4L10", "3L9", "3S0", "3S1", "3S2"], + thunderwave: ["9M", "9L4", "7M", "7L4", "7V", "6M", "6L4", "6S3", "5M", "5L4", "4M", "4L14", "3T", "3L16", "3S0", "3S2"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], voltswitch: ["9M"], @@ -25323,26 +25957,27 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "3T"], brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], - charge: ["9M", "9L16", "7L16", "6L16", "5L25", "4L25"], + charge: ["9M", "9L16", "7L16", "6L16", "5L16", "4L25"], chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9L29", "7L29", "6L29", "5L29"], cottonguard: ["9L43", "7L43", "6L43", "5L36"], - cottonspore: ["9L11", "7L11", "7V", "6L11", "5L20", "4L20", "3L27"], + cottonspore: ["9L11", "7L11", "7V", "6L11", "5L11", "4L20", "3L27"], counter: ["3T"], curse: ["7V"], dazzlinggleam: ["9M", "9L47"], defensecurl: ["7V", "3T"], dig: ["9M"], - discharge: ["9L38", "7L38", "6L38", "5L42", "4L31"], - doubleedge: ["3T"], + discharge: ["9L38", "7L38", "6L38", "5L38", "4L31"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], echoedvoice: ["7M", "6M", "5M"], eerieimpulse: ["9M"], electricterrain: ["9M"], - electroball: ["9M", "9L25", "7L25", "6L25", "5L31"], - electroweb: ["7T", "6T"], + electroball: ["9M", "9L25", "7L25", "6L25", "5L25"], + electroweb: ["9M", "7T", "6T"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -25357,14 +25992,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], icepunch: ["9M"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], - lightscreen: ["9M", "9L52", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L53", "4M", "4L42", "3M", "3L36"], + lightscreen: ["9M", "9L52", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L52", "4M", "4L42", "3M", "3L36"], lowkick: ["9M"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], mimic: ["3T"], naturalgift: ["4M"], - powergem: ["9M", "9L34", "7L34", "6L34", "5L59", "4L47"], + powergem: ["9M", "9L34", "7L34", "6L34", "5L34", "4L47"], poweruppunch: ["6M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -25389,11 +26024,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], takedown: ["9M", "9L20", "7L20", "6L20", "5L20"], terablast: ["9M"], - thunder: ["9M", "9L56", "7M", "7L56", "7V", "6M", "6L56", "5M", "5L65", "4M", "4L53", "3M", "3L45"], + thunder: ["9M", "9L56", "7M", "7L56", "7V", "6M", "6L56", "5M", "5L56", "4M", "4L53", "3M", "3L45"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], thundershock: ["9L6", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - thunderwave: ["9M", "9L9", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L14", "4M", "4L14", "3T", "3L18"], + thunderwave: ["9M", "9L9", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L4", "4M", "4L14", "3T", "3L18"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], voltswitch: ["9M", "7M", "6M", "5M"], @@ -25410,32 +26045,35 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "3T"], + breakingswipe: ["9M"], brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["7M"], bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], - charge: ["9M", "9L16", "7L16", "6L16", "5L25", "4L25"], + charge: ["9M", "9L16", "7L16", "6L16", "5L16", "4L25"], chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9L29", "7L29", "6L29", "5L29"], cottonguard: ["9L46", "7L46", "6L46", "5L40"], - cottonspore: ["9L11", "7L11", "7V", "6L11", "5L20", "4L20", "3L27"], + cottonspore: ["9L11", "7L11", "7V", "6L11", "5L11", "4L20", "3L27"], counter: ["3T"], curse: ["7V"], dazzlinggleam: ["9M", "9L51"], defensecurl: ["7V", "3T"], dig: ["9M"], - discharge: ["9L40", "7L40", "6L40", "5L48", "4L34"], - doubleedge: ["3T"], + discharge: ["9L40", "7L40", "6L40", "5L40", "4L34"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragoncheer: ["9M"], dragonpulse: ["9M", "9L1", "7T", "7L1", "6T", "6L1"], dragontail: ["9M"], dynamicpunch: ["7V", "3T"], echoedvoice: ["7M", "6M", "5M"], eerieimpulse: ["9M"], electricterrain: ["9M"], - electroball: ["9M", "9L25", "7L25", "6L25", "5L33"], - electroweb: ["7T", "6T"], + electroball: ["9M", "9L25", "7L25", "6L25", "5L25"], + electroweb: ["9M", "7T", "6T"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "9L1", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T"], @@ -25455,16 +26093,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { iondeluge: ["7L1", "6L1"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - lightscreen: ["9M", "9L57", "7M", "7L57", "7V", "6M", "6L57", "5M", "5L63", "4M", "4L51", "3M", "3L42"], + lightscreen: ["9M", "9L57", "7M", "7L57", "7V", "6M", "6L57", "5M", "5L57", "4M", "4L51", "3M", "3L42"], lowkick: ["9M"], magneticflux: ["9L1", "7L1", "6L1"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], + meteorbeam: ["9M"], mimic: ["3T"], naturalgift: ["4M"], outrage: ["9M", "7T", "6T", "5T", "4T"], - powergem: ["9M", "9L35", "7L35", "6L35", "5L71", "4L59"], + powergem: ["9M", "9L35", "7L35", "6L35", "5L35", "4L59"], poweruppunch: ["6M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -25479,19 +26118,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], shockwave: ["7T", "6T", "4M", "3M"], - signalbeam: ["7T", "7L51", "6T", "6L51", "5T", "5L55", "4T", "4L42"], + signalbeam: ["7T", "7L51", "6T", "6L51", "5T", "5L51", "4T", "4L42"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], stompingtantrum: ["9M"], strength: ["7V", "6M", "5M", "4M", "3M"], substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], sunnyday: ["9M"], + supercellslam: ["9M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swift: ["9M", "7V", "4T", "3T"], tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], takedown: ["9M", "9L20", "7L20", "6L20", "5L20"], terablast: ["9M"], - thunder: ["9M", "9L62", "7M", "7L62", "7V", "6M", "6L62", "5M", "5L79", "4M", "4L68", "3M", "3L57"], + thunder: ["9M", "9L62", "7M", "7L62", "7V", "6M", "6L62", "5M", "5L62", "4M", "4L68", "3M", "3L57"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "9L0", "7T", "7L1", "7V", "6T", "6L30", "5T", "5L30", "4T", "4L30", "3T", "3L30"], thundershock: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], @@ -25505,6 +26145,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, azurill: { learnset: { + alluringvoice: ["9M"], aquajet: ["9E", "8E"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bellydrum: ["9E", "8E"], @@ -25512,7 +26153,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "8M", "7E", "6E", "5E", "4E", "3T"], bounce: ["9L15", "8M", "8L15", "7T", "7L23", "6T", "6L23", "5T", "5L23"], brutalswing: ["8M"], - bubble: ["7L7", "6L7", "5L10", "4L10", "3L10"], + bubble: ["7L7", "6L7", "5L1", "4L10", "3L10"], bubblebeam: ["9L6", "8L6", "7L13", "6L13", "5L13"], camouflage: ["7E", "6E"], captivate: ["4M"], @@ -25566,14 +26207,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], swift: ["4T", "3T"], - tailwhip: ["9L1", "8L1", "7L2", "6L2", "5L7", "4L7", "3L6"], + tailwhip: ["9L1", "8L1", "7L2", "6L2", "5L2", "4L7", "3L6"], takedown: ["9M"], terablast: ["9M"], tickle: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], toxic: ["7M", "6M", "5M", "4M", "3M"], uproar: ["8M", "7T", "6T", "5T", "4T"], waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - watergun: ["9L1", "8L1", "7L1", "6L1", "5L18", "4L18", "3L21"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L7", "4L18", "3L21"], waterpulse: ["7T", "6T", "4M", "3M"], watersport: ["7L5", "7E", "6L5", "6E", "5L5", "5E"], whirlpool: ["8M", "4M"], @@ -25582,10 +26223,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, marill: { learnset: { + alluringvoice: ["9M"], amnesia: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], aquajet: ["8E", "7E", "6E", "5E", "5D", "4E"], aquaring: ["9L24", "8L24", "7L28", "6L28", "5L23", "4L23"], - aquatail: ["9L19", "8L19", "7T", "7L20", "6T", "6L20", "5T", "5L37", "4T", "4L37"], + aquatail: ["9L19", "8L19", "7T", "7L20", "6T", "6L20", "5T", "5L20", "4T", "4L37"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], bellydrum: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -25594,7 +26236,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M"], bubble: ["7L7", "6L7", "5L1"], - bubblebeam: ["9L6", "8L6", "7L13", "7V", "6L13", "5L18", "4L18", "3L21"], + bubblebeam: ["9L6", "8L6", "7L13", "7V", "6L13", "5L13", "4L18", "3L21"], bulldoze: ["9M"], camouflage: ["7E", "6E"], captivate: ["4M"], @@ -25608,7 +26250,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "6M", "5M", "4M", "3M"], disarmingvoice: ["9M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L33", "8L33", "7L37", "7V", "6L23", "5L27", "4L27", "3T", "3L28"], + doubleedge: ["9M", "9L33", "8L33", "7L37", "7V", "6L23", "5L23", "4L27", "3T", "3L28"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "8M"], dynamicpunch: ["7V", "3T"], @@ -25626,7 +26268,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { headbutt: ["7V", "4T"], helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["9M", "9L30", "8M", "8L30", "7L47", "6L40", "5L42", "4L42", "3L45"], + hydropump: ["9M", "9L30", "8M", "8L30", "7L47", "6L40", "5L40", "4L42", "3L45"], hypervoice: ["9M", "8M", "7T", "6T", "5T"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], icepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], @@ -25642,7 +26284,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mimic: ["3T"], mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "8M"], - muddywater: ["8M", "7E", "6E", "5E"], + muddywater: ["9M", "8M", "7E", "6E", "5E"], mudshot: ["9M", "8M"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], @@ -25651,12 +26293,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], present: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - raindance: ["9M", "9L27", "8M", "8L27", "7M", "7L31", "7V", "6M", "6L31", "5M", "5L32", "4M", "4L32", "3M", "3L36"], + raindance: ["9M", "9L27", "8M", "8L27", "7M", "7L31", "7V", "6M", "6L31", "5M", "5L31", "4M", "4L32", "3M", "3L36"], refresh: ["7E", "6E", "5E", "4E"], rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M", "3M"], - rollout: ["9L1", "8L1", "7L10", "7V", "6L10", "5L15", "4T", "4L15", "3T", "3L15"], + rollout: ["9L1", "8L1", "7L10", "7V", "6L10", "5L10", "4T", "4L15", "3T", "3L15"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], @@ -25676,7 +26318,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swift: ["9M", "8M", "7V", "4T", "3T"], tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - tailwhip: ["9L1", "8L1", "7L2", "7V", "6L2", "5L7", "4L7", "3L6"], + tailwhip: ["9L1", "8L1", "7L2", "7V", "6L2", "5L2", "4L7", "3L6"], takedown: ["9M"], terablast: ["9M"], tickle: ["8E"], @@ -25684,18 +26326,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], uproar: ["8M"], waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L10", "4L10", "3L10"], + watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L7", "4L10", "3L10"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], watersport: ["7L5", "7E", "6L5", "6E", "5L5", "5E"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], workup: ["8M", "7M", "5M"], }, }, azumarill: { learnset: { + alluringvoice: ["9M"], amnesia: ["9M", "8M"], aquaring: ["9L30", "8L30", "7L31", "6L31", "5L27", "4L27"], - aquatail: ["9L21", "8L21", "7T", "7L21", "6T", "6L21", "5T", "5L47", "4T", "4L47"], + aquatail: ["9L21", "8L21", "7T", "7L21", "6T", "6L21", "5T", "5L21", "4T", "4L47"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], @@ -25703,7 +26346,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M"], bubble: ["7L7", "6L7", "5L1"], - bubblebeam: ["9L6", "8L6", "7L13", "7V", "6L13", "5L20", "4L20", "3L24"], + bubblebeam: ["9L6", "8L6", "7L13", "7V", "6L13", "5L13", "4L20", "3L24"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], charm: ["9M", "9L9", "8M", "8L9"], @@ -25715,7 +26358,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["9M", "8M", "6M", "5M", "4M", "3M"], disarmingvoice: ["9M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L45", "8L45", "7L42", "7V", "6L25", "5L33", "4L33", "3T", "3L34"], + doubleedge: ["9M", "9L45", "8L45", "7L42", "7V", "6L25", "5L25", "4L33", "3T", "3L34"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "8M"], dynamicpunch: ["7V", "3T"], @@ -25734,7 +26377,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { headbutt: ["7V", "4T"], helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["9M", "9L40", "8M", "8L40", "7L55", "6L46", "5L54", "4L54", "3L57"], + hydropump: ["9M", "9L40", "8M", "8L40", "7L55", "6L46", "5L46", "4L54", "3L57"], hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], hypervoice: ["9M", "8M", "7T", "6T", "5T"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -25751,18 +26394,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { mimic: ["3T"], mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "8M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], playrough: ["9M", "9L25", "8M", "8L25", "7L25", "6L25"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - raindance: ["9M", "9L35", "8M", "8L35", "7M", "7L35", "7V", "6M", "6L35", "5M", "5L40", "4M", "4L40", "3M", "3L45"], + raindance: ["9M", "9L35", "8M", "8L35", "7M", "7L35", "7V", "6M", "6L35", "5M", "5L35", "4M", "4L40", "3M", "3L45"], rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rollout: ["9L1", "8L1", "7L10", "7V", "6L10", "5L15", "4T", "4L15", "3T", "3L15"], + rollout: ["9L1", "8L1", "7L10", "7V", "6L10", "5L10", "4T", "4L15", "3T", "3L15"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], @@ -25789,7 +26432,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], watersport: ["7L1", "6L1", "5L1"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], workup: ["8M", "7M", "5M"], }, encounters: [ @@ -25811,10 +26454,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { copycat: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], counter: ["9L40", "8L40", "7L36", "6L33"], covet: ["7T", "6T", "5T"], - curse: ["9E", "8E", "7E", "6E", "5E"], + curse: ["9M", "9E", "8E", "7E", "6E", "5E"], defensecurl: ["9E", "8E", "7E", "6E", "5E", "4E"], dig: ["9M", "8M", "6M", "5M", "4M"], - doubleedge: ["9L44", "8L44", "7L43", "6L40", "5L46", "4L46"], + doubleedge: ["9M", "9L44", "8L44", "7L43", "6L40", "5L40", "4L46"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M"], @@ -25822,8 +26465,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { explosion: ["7M", "6M", "5M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], faketears: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], - feintattack: ["7L19", "6L19", "5L25", "4L25"], - flail: ["9L4", "8L4", "7L5", "6L5", "5L6", "4L6"], + feintattack: ["7L19", "6L19", "5L19", "4L25"], + flail: ["9L4", "8L4", "7L5", "6L5", "5L5", "4L6"], foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M"], grassknot: ["9M"], @@ -25831,7 +26474,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { headbutt: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "6M", "5M", "4M"], - lowkick: ["9M", "9L36", "8M", "8L36", "7T", "7L8", "6T", "6L8", "5T", "5L9", "4T", "4L9"], + lowkick: ["9M", "9L36", "8M", "8L36", "7T", "7L8", "6T", "6L8", "5T", "5L8", "4T", "4L9"], mimic: ["9L16", "8L16", "7L15", "6L15", "5L17", "4L17"], mudshot: ["9M"], mudslap: ["9M"], @@ -25839,14 +26482,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturepower: ["7M", "6M"], powergem: ["9M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], rockblast: ["9M"], rockpolish: ["9E", "8E", "7M", "6M", "5M", "4M"], - rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L33", "6M", "6L29", "5M", "5L33", "4M", "4L33"], - rockthrow: ["9L8", "8L8", "7L12", "6L12", "5L14", "4L14"], - rocktomb: ["9M", "9L20", "8M", "8L20", "7M", "7L26", "6M", "6L22", "5M", "5L30", "4M", "4L30"], + rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L33", "6M", "6L29", "5M", "5L29", "4M", "4L33"], + rockthrow: ["9L8", "8L8", "7L12", "6L12", "5L12", "4L14"], + rocktomb: ["9M", "9L20", "8M", "8L20", "7M", "7L26", "6M", "6L22", "5M", "5L22", "4M", "4L30"], roleplay: ["7T", "6T", "5T", "4T"], rollout: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], round: ["8M", "7M", "6M", "5M"], @@ -25854,7 +26497,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "8M", "7E", "6E", "5E", "4E"], secretpower: ["6M", "4M"], selfdestruct: ["8M", "7E", "6E", "5E", "4E"], - slam: ["5L38", "4L38"], + slam: ["5L15", "4L38"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], smackdown: ["9M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T"], @@ -25863,7 +26506,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stompingtantrum: ["9M", "8M", "7T"], stoneedge: ["9M"], substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], - suckerpunch: ["9L28", "8L28", "7L40", "6L36", "5L41", "4T", "4L41"], + suckerpunch: ["9L28", "8L28", "7L40", "6L36", "5L36", "4T", "4L41"], sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], swagger: ["7M", "6M", "5M", "4M"], takedown: ["9M"], @@ -25890,20 +26533,21 @@ export const Learnsets: {[k: string]: LearnsetData} = { copycat: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], counter: ["9L40", "8L40", "7L36", "6L33", "5L33", "3T"], covet: ["7T", "6T", "5T"], - curse: ["8E", "7E", "7V", "6E", "5E"], + curse: ["9M", "8E", "7E", "7V", "6E", "5E"], defensecurl: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L44", "8L44", "7L43", "6L40", "5L46", "4L46", "3T", "3L57"], + doubleedge: ["9M", "9L44", "8L44", "7L43", "6L40", "5L40", "4L46", "3T", "3L57"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dynamicpunch: ["7V", "3T"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], explosion: ["7M", "6M", "5M", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "9L1", "8M", "8L1"], - feintattack: ["7L19", "7V", "6L19", "5L25", "4L25", "3L41"], + feintattack: ["7L19", "7V", "6L19", "5L19", "4L25", "3L41"], firepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], flail: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L9"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -25912,7 +26556,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gigaimpact: ["9M"], grassknot: ["9M"], - hammerarm: ["9L1", "8L1", "7L50", "6L47", "5L49", "4L49"], + hammerarm: ["9L1", "8L1", "7L50", "6L47", "5L47", "4L49"], harden: ["8E", "7E", "6E", "5E", "4E"], headbutt: ["8E", "7E", "7V", "6E", "5E", "4T", "4E"], headsmash: ["9L48", "8L48", "7L54"], @@ -25926,8 +26570,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowsweep: ["9M"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], - meteorbeam: ["8T"], - mimic: ["9L16", "8L16", "7L15", "7V", "6L15", "5L17", "4L17", "3T", "3L1"], + meteorbeam: ["9M", "8T"], + mimic: ["9L16", "8L16", "7L15", "7V", "6L15", "5L15", "4L17", "3T", "3L1"], mudshot: ["9M"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], @@ -25935,15 +26579,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { powergem: ["9M"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rockblast: ["9M", "8M"], rockpolish: ["8E", "7M", "6M", "5M", "4M"], - rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L33", "7V", "6M", "6L29", "5M", "5L33", "4M", "4L33", "3T", "3L25"], + rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L33", "7V", "6M", "6L29", "5M", "5L29", "4M", "4L33", "3T", "3L25"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], rockthrow: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - rocktomb: ["9M", "9L20", "8M", "8L20", "7M", "7L26", "6M", "6L22", "5M", "5L30", "4M", "4L30", "3M"], + rocktomb: ["9M", "9L20", "8M", "8L20", "7M", "7L26", "6M", "6L22", "5M", "5L22", "4M", "4L30", "3M"], roleplay: ["7T", "6T", "5T", "5D", "4T"], rollout: ["8E", "7E", "7V", "6E", "5E", "5D", "4T", "4E", "3T"], round: ["8M", "7M", "6M", "5M"], @@ -25952,7 +26596,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], selfdestruct: ["8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], - slam: ["9L0", "8L0", "7L1", "7V", "6L15", "5L38", "4L38", "3L49"], + slam: ["9L0", "8L0", "7L1", "7V", "6L15", "5L15", "4L38", "3L49"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], smackdown: ["9M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -25962,7 +26606,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M", "9L1", "8M", "8L1", "7M", "7L47", "6M", "6L43", "5M", "5L43", "4M"], strength: ["7V", "6M", "5M", "4M", "3M"], substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], - suckerpunch: ["9L28", "8L28", "7L40", "6L36", "5L41", "4T", "4L41"], + suckerpunch: ["9L28", "8L28", "7L40", "6L36", "5L36", "4T", "4L41"], sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], takedown: ["9M"], @@ -25998,7 +26642,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["7V", "3T"], - doubleedge: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], + doubleedge: ["9M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], encore: ["9M", "9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], endure: ["9M", "7E", "7V", "6E", "5E", "4M", "3T"], @@ -26084,9 +26728,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["7V", "3T"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -26166,9 +26811,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["7V", "3T"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -26257,12 +26903,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { defensecurl: ["7V", "3T"], detect: ["7V"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doublehit: ["9L32", "7L32", "6L32", "5L32", "4L32"], doubleslap: ["7E", "7V", "6E", "5E", "4E", "3E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], dynamicpunch: ["7V", "3T"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], fakeout: ["9E", "7E", "6E", "5E", "5D", "4E"], @@ -26335,6 +26982,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["9M"], thunder: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], @@ -26342,6 +26990,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["9L15", "7L15", "6L15", "5L15", "4L15", "3L25"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["7T", "6T", "5T", "4T"], uturn: ["9M", "7M", "6M", "5M", "4M"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], @@ -26368,10 +27017,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["7T", "6T", "5T"], cut: ["6M", "5M", "4M"], dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M"], doublehit: ["9L32", "7L32", "6L32", "5L32", "4L32"], doubleteam: ["7M", "6M", "5M", "4M"], dreameater: ["7M", "6M", "5M", "4M"], dualchop: ["7L1"], + endeavor: ["9M"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], firepunch: ["9M", "7T", "6T", "5T", "4T"], @@ -26435,6 +27086,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M"], terablast: ["9M"], thief: ["9M", "7M", "6M", "5M", "4M"], + throatchop: ["9M"], thunder: ["9M", "7M", "6M", "5M", "4M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T"], @@ -26442,6 +27094,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { tickle: ["9L15", "7L15", "6L15", "5L15", "4L15"], toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], + tripleaxel: ["9M"], + upperhand: ["9M"], uproar: ["7T", "6T", "5T", "4T"], uturn: ["9M", "7M", "6M", "5M", "4M"], waterpulse: ["9M", "7T", "6T", "4M"], @@ -26457,28 +27111,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M", "4M", "3M"], captivate: ["4M"], confide: ["7M", "6M"], - curse: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], cut: ["7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9L34", "7L37", "6L37", "5L37", "3T"], + doubleedge: ["9M", "9L34", "7L37", "6L37", "5L37", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "7T", "6T", "5T", "5D", "4T"], encore: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], - endeavor: ["9L25", "7T", "7L25", "6T", "6L25", "5T", "5L21", "4T", "4L21", "3L25"], + endeavor: ["9M", "9L25", "7T", "7L25", "6T", "6L25", "5T", "5L21", "4T", "4L21", "3L25"], endure: ["9M", "7E", "7V", "6E", "5E", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigadrain: ["9M", "9L22", "7T", "7L22", "7V", "6T", "6L22", "5T", "5L41", "4M", "4L41", "3M", "3L42"], + gigadrain: ["9M", "9L22", "7T", "7L22", "7V", "6T", "6L22", "5T", "5L22", "4M", "4L41", "3M", "3L42"], grassknot: ["9M", "7M", "6M", "5M", "4M"], - grasswhistle: ["7L7", "7E", "6L7", "6E", "5L13", "5E", "4L13", "4E", "3E"], + grasswhistle: ["7L7", "7E", "6L7", "6E", "5L7", "5E", "4L13", "4E", "3E"], grassyterrain: ["9M", "9E", "7E", "6E"], growth: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L6", "3S0"], helpinghand: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - ingrain: ["9E", "7L4", "7E", "6L4", "6E", "5L9", "5E", "4L9", "4E", "3L18"], + ingrain: ["9E", "7L4", "7E", "6L4", "6E", "5L4", "5E", "4L9", "4E", "3L18"], leafstorm: ["9M"], - leechseed: ["9E", "7L13", "7E", "6L13", "6E", "5L17", "5E", "4L17", "4E", "3E"], + leechseed: ["9E", "7L13", "7E", "6L13", "6E", "5L13", "5E", "4L17", "4E", "3E"], lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], magicalleaf: ["9M"], megadrain: ["9L10", "7L10", "7V", "6L10", "5L5", "5D", "4L5", "3L13"], @@ -26488,13 +27142,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturepower: ["7M", "7E", "6M", "6E", "5E", "4E", "3E"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], raindance: ["9M"], - razorleaf: ["9L16", "7L16", "6L16", "5L29", "4L29"], + razorleaf: ["9L16", "7L16", "6L16", "5L16", "4L29"], rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], safeguard: ["7M", "6M", "5M", "4M", "3M"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["9M", "9L39", "7T", "7L43", "6T", "6L43", "5T", "5L45", "4T", "4L45"], + seedbomb: ["9M", "9L39", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L45"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["7M", "7V", "6M", "5M", "4M", "3M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], @@ -26504,7 +27158,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], sweetscent: ["7E", "7V", "6E", "5E", "5D", "4E"], swordsdance: ["7M", "6M", "5M", "4M", "3T"], - synthesis: ["9L28", "7T", "7L28", "7V", "6T", "6L28", "5T", "5L33", "4T", "4L33", "3L37"], + synthesis: ["9L28", "7T", "7L28", "7V", "6T", "6L28", "5T", "5L28", "4T", "4L33", "3L37"], tackle: ["9L1"], takedown: ["9M"], terablast: ["9M"], @@ -26512,7 +27166,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], uproar: ["7T", "6T", "5T", "4T"], weatherball: ["9M"], - worryseed: ["9L19", "7T", "7L19", "6T", "6L19", "5T", "5L25", "4T", "4L25"], + worryseed: ["9L19", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L25"], }, eventData: [ {generation: 3, level: 10, gender: "M", abilities: ["chlorophyll"], moves: ["absorb", "growth"], pokeball: "pokeball"}, @@ -26526,14 +27180,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M", "9L25", "7L25", "6L25", "5L21", "4M", "4L21", "3M", "3L25"], captivate: ["4M"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], dazzlinggleam: ["9M"], - doubleedge: ["9L34", "7L37", "6L37", "5L37", "3T"], + doubleedge: ["9M", "9L34", "7L37", "6L37", "5L37", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "7T", "6T", "5T", "4T"], encore: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "7V", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -26543,28 +27197,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigadrain: ["9M", "9L22", "7T", "7L22", "7V", "6T", "6L22", "5T", "5L22", "4M", "3M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "7M", "6M", "5M", "4M"], - grasswhistle: ["7L7", "6L7", "5L13", "4L13"], + grasswhistle: ["7L7", "6L7", "5L7", "4L13"], grassyglide: ["9M"], grassyterrain: ["9M"], growth: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L6"], helpinghand: ["9M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - ingrain: ["9L4", "7L4", "6L4", "5L9", "4L9", "3L18"], - leafstorm: ["9M", "9L43", "7L43", "6L43", "5L45", "4L43"], - leechseed: ["9L13", "7L13", "6L13", "5L17", "4L17"], + ingrain: ["9L4", "7L4", "6L4", "5L4", "4L9", "3L18"], + leafstorm: ["9M", "9L43", "7L43", "6L43", "5L43", "4L43"], + leechseed: ["9L13", "7L13", "6L13", "5L13", "4L17"], lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], magicalleaf: ["9M"], megadrain: ["9L10", "7L10", "6L10", "5L5", "4L5"], mimic: ["3T"], naturalgift: ["7L31", "6L31", "5L31", "4M"], naturepower: ["7M", "6M"], - petalblizzard: ["9L50", "7L50", "6L50"], - petaldance: ["9L28", "7L28", "7V", "6L28", "5L33", "4L33", "3L37"], + petalblizzard: ["9M", "9L50", "7L50", "6L50"], + petaldance: ["9L28", "7L28", "7V", "6L28", "5L28", "4L33", "3L37"], pound: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], raindance: ["9M"], - razorleaf: ["9L16", "7L16", "7V", "6L16", "5L29", "4L29", "3L13"], + razorleaf: ["9L16", "7L16", "7V", "6L16", "5L16", "4L29", "3L13"], rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], @@ -26574,7 +27228,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["9M", "9L31", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L41", "4M", "4L41", "3M", "3L42"], + solarbeam: ["9M", "9L31", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L41", "3M", "3L42"], substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], sunnyday: ["9M", "9L39", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L37", "4M", "4L37", "3M", "3L30"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], @@ -26588,7 +27242,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], uproar: ["7T", "6T", "5T", "4T"], weatherball: ["9M"], - worryseed: ["9L19", "7T", "7L19", "6T", "6L19", "5T", "5L25", "4T", "4L25"], + worryseed: ["9L19", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L25"], }, }, yanma: { @@ -26605,7 +27259,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], defog: ["7T", "4M"], detect: ["9L17", "7L17", "7V", "6L17", "5L17", "4L17", "3L25"], - doubleedge: ["9E", "7E", "6E", "5E", "3T"], + doubleedge: ["9M", "9E", "7E", "6E", "5E", "3T"], doubleteam: ["9L11", "7M", "7L11", "7V", "6M", "6L11", "5M", "5L11", "4M", "4L11", "3M", "3L12"], dreameater: ["7M", "6M", "5M", "4M", "3T"], endure: ["9M", "7V", "4M", "3T"], @@ -26627,6 +27281,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { pounce: ["9M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychicnoise: ["9M"], + psychup: ["9M"], pursuit: ["7L30", "7E", "6L30", "6E", "5L30", "5E", "4L30", "4E"], quickattack: ["9L6", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L6"], rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -26639,6 +27295,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], silverwind: ["7E", "6E", "5E", "4M", "4E", "3E"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -26678,6 +27335,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M"], defog: ["7T", "4M"], detect: ["9L17", "7L17", "6L17", "5L17", "4L17"], + doubleedge: ["9M"], doubleteam: ["9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], dreameater: ["7M", "6M", "5M", "4M"], dualwingbeat: ["9M"], @@ -26692,6 +27350,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { headbutt: ["4T"], hiddenpower: ["7M", "6M", "5M", "4M"], hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + hypnosis: ["9L1"], laserfocus: ["7T"], leechlife: ["9M", "7M"], lunge: ["9M"], @@ -26702,7 +27361,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { pounce: ["9M"], protect: ["9M", "7M", "6M", "5M", "4M"], psychic: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], pursuit: ["7L30", "6L30", "5L30", "4L30"], quickattack: ["9L14", "7L1", "6L1", "5L1", "4L1"], rest: ["9M", "7M", "6M", "5M", "4M"], @@ -26716,6 +27376,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "7M", "6M", "5M", "4M"], signalbeam: ["7T", "6T", "5T", "4T"], silverwind: ["4M"], + skittersmack: ["9M"], slash: ["9L43", "7L43", "6L43", "5L43", "4L38"], sleeptalk: ["9M", "7M", "6M", "5T", "4M"], snore: ["7T", "6T", "5T", "4T"], @@ -26756,11 +27417,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], counter: ["9E", "8E", "7E", "6E", "5E", "4E"], - curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], defensecurl: ["7V", "3T"], dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doublekick: ["9E", "8E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], @@ -26788,7 +27449,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mimic: ["3T"], mist: ["9L12", "8L12", "7L43", "7V", "6L43", "5L43", "4L43", "3L51"], mudbomb: ["7L19", "6L19", "5L19", "4L19"], - muddywater: ["9L28", "8M", "8L28", "7L47", "6L47", "5L47", "4L47"], + muddywater: ["9M", "9L28", "8M", "8L28", "7L47", "6L47", "5L47", "4L47"], mudshot: ["9M", "9L8", "8M", "8L8", "7L9", "6L9", "5L9", "4L9", "3L16"], mudslap: ["9M", "7V", "4T", "3T"], mudsport: ["7L5", "7E", "6L5", "6E", "5L5", "5E", "4L5", "4E", "3E"], @@ -26811,7 +27472,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slam: ["9L16", "8L16", "7L15", "7V", "6L15", "5L15", "4L15", "3L11"], sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "3T"], sludgebomb: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], snowscape: ["9M"], spikes: ["9M"], @@ -26832,7 +27493,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], yawn: ["9L21", "8L21", "7L29", "6L29", "5L29", "4L29", "3L31"], }, encounters: [ @@ -26850,8 +27511,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M"], chillingwater: ["9M"], counter: ["9E"], - curse: ["9E"], + curse: ["9M", "9E"], dig: ["9M"], + doubleedge: ["9M"], doublekick: ["9E"], earthpower: ["9M"], earthquake: ["9M", "9L40"], @@ -26878,7 +27540,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slam: ["9L16"], sleeptalk: ["9M"], sludgebomb: ["9M"], - sludgewave: ["9L28"], + sludgewave: ["9M", "9L28"], spikes: ["9M"], spitup: ["9E"], stealthrock: ["9M"], @@ -26919,11 +27581,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["7V", "3T"], dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dynamicpunch: ["7V", "3T"], @@ -26959,7 +27621,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mimic: ["3T"], mist: ["9L12", "8L12", "7L48", "7V", "6L48", "5L48", "4L48", "3L61"], mudbomb: ["7L19", "6L19", "5L19", "4L19"], - muddywater: ["9L34", "8M", "8L34", "7L53", "6L53", "5L53", "4L53"], + muddywater: ["9M", "9L34", "8M", "8L34", "7L53", "6L53", "5L53", "4L53"], mudshot: ["9M", "9L1", "8M", "8L1", "7L9", "6L9", "5L9", "4L9", "3L16"], mudslap: ["9M", "7V", "4T", "3T"], mudsport: ["7L1", "6L1", "5L1", "4L1"], @@ -26982,7 +27644,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slam: ["9L16", "8L16", "7L15", "7V", "6L15", "5L15", "4L15", "3L11"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], snowscape: ["9M"], spikes: ["9M"], @@ -27003,7 +27665,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], yawn: ["9L23", "8L23", "7L31", "6L31", "5L31", "4L31", "3L35"], }, encounters: [ @@ -27019,7 +27681,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], bulldoze: ["9M"], chillingwater: ["9M"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L48"], endure: ["9M"], @@ -27036,6 +27700,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M"], lowkick: ["9M"], megahorn: ["9L36"], + muddywater: ["9M"], mudshot: ["9M", "9L8"], mudslap: ["9M"], poisonjab: ["9M", "9L24"], @@ -27050,7 +27715,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slam: ["9L16"], sleeptalk: ["9M"], sludgebomb: ["9M"], - sludgewave: ["9L30"], + sludgewave: ["9M", "9L30"], spikes: ["9M"], stealthrock: ["9M"], stompingtantrum: ["9M"], @@ -27088,7 +27753,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "7M", "6M", "5T", "4M"], defog: ["7T", "4M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], drillpeck: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], @@ -27096,7 +27761,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { embargo: ["7M", "6M", "5M", "4M"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], - featherdance: ["9E", "7E", "6E", "5E", "4E", "3E"], + featherdance: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], feintattack: ["7L35", "7E", "7V", "6L35", "6E", "5L35", "5E", "4L35", "4E", "3L35"], flatter: ["9E", "7E", "6E"], fly: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -27127,6 +27792,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pluck: ["5M", "4M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["9M", "7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], psychoshift: ["7E", "6E", "5E", "4E"], psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], pursuit: ["7L5", "7V", "6L5", "5L5", "4L5", "3L14"], @@ -27189,12 +27855,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], darkpulse: ["9M", "9L55", "7M", "7L75", "6M", "6L75", "5T", "5L75", "4M", "4L55"], defog: ["7T", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dreameater: ["7M", "6M", "5M", "4M"], dualwingbeat: ["9M"], embargo: ["7M", "6M", "5M", "4M"], + endeavor: ["9M"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], + featherdance: ["9M"], fly: ["9M", "7M", "6M", "5M", "4M"], foulplay: ["9M", "9L45", "7T", "7L45", "6T", "6L45", "5T", "5L45"], frustration: ["7M", "6M", "5M", "4M"], @@ -27219,7 +27888,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { pluck: ["5M", "4M"], protect: ["9M", "7M", "6M", "5M", "4M"], psychic: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], pursuit: ["7L1", "6L1", "5L1", "4L1"], quash: ["9L1", "7M", "7L65", "6M", "6L65", "5M", "5L65"], raindance: ["9M", "7M", "6M", "5M", "4M"], @@ -27275,7 +27945,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M", "9L14", "7L14", "7V", "6L14", "5L14", "4L14", "3L17"], confusion: ["9L1"], - curse: ["9E", "7E", "7V", "6E", "5E", "4E"], + curse: ["9M", "9E", "7E", "7V", "6E", "5E", "4E"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["7V", "3T"], @@ -27293,6 +27963,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flash: ["7V", "6M", "5M", "4M", "3M"], foulplay: ["9M", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9M"], gigaimpact: ["9M"], grassknot: ["9M"], growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], @@ -27319,7 +27990,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7V", "3T"], nightshade: ["9M"], ominouswind: ["7E", "6E", "5E", "4T", "4E"], - painsplit: ["9L32", "7T", "7L32", "7V", "6T", "6L32", "5T", "5L32", "4T", "4L28", "3L37"], + painsplit: ["9M", "9L32", "7T", "7L32", "7V", "6T", "6L32", "5T", "5L32", "4T", "4L28", "3L37"], payback: ["9L37", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L32"], perishsong: ["9L46", "7L46", "7V", "6L46", "5L46", "4L41", "3L45"], phantomforce: ["9M"], @@ -27328,7 +27999,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L28", "7L28", "7V", "6L28", "5L28", "4L23", "3L30"], psychic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], psyshock: ["9M"], psywave: ["7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -27386,6 +28058,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M"], confide: ["7M", "6M"], confuseray: ["9M"], + curse: ["9M"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], dazzlinggleam: ["9M", "7M", "6M"], doubleteam: ["7M", "6M", "5M", "4M"], @@ -27400,6 +28073,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flash: ["6M", "5M", "4M"], foulplay: ["9M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["9M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], grassknot: ["9M"], growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], @@ -27423,7 +28097,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightshade: ["9M"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["7M", "6M", "5M", "4M"], phantomforce: ["9M", "9L1", "7L1", "6L1"], poltergeist: ["9M"], @@ -27431,7 +28105,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M", "5M", "4M"], psybeam: ["9M"], psychic: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M"], psywave: ["7L1", "6L1", "5L1", "4L1"], raindance: ["9M", "7M", "6M", "5M", "4M"], @@ -27540,21 +28215,23 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L37", "7L37", "7V", "6L37", "5L46", "4L46", "3L49"], curse: ["7V"], dazzlinggleam: ["9M", "7M", "6M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doublehit: ["9L28", "7L28", "6L28", "5L32", "4L32"], doublekick: ["9E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], + expandingforce: ["9M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], foulplay: ["9M", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + futuresight: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], gigaimpact: ["9M"], grassknot: ["9M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], @@ -27584,8 +28261,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M", "9L19", "7L19", "7V", "6L19", "5L19", "4L19", "3L43"], psychic: ["9M", "9L50", "7M", "7L50", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M"], psychicfangs: ["9M", "7E"], + psychicnoise: ["9M"], psychicterrain: ["9M", "7E"], - psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], psyshock: ["9M", "7M", "6M", "5M"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], razorwind: ["7E", "6E", "5E", "4E"], @@ -27643,10 +28321,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E", "3S1"], - curse: ["9L23", "7V"], + curse: ["9M", "9L23", "7V"], defensecurl: ["7V", "3T"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["9L45", "7L45", "7E", "7V", "6L45", "6E", "5L45", "5E", "4L42", "4E", "3T", "3L50"], + doubleedge: ["9M", "9L45", "7L45", "7E", "7V", "6L45", "6E", "5L45", "5E", "4L42", "4E", "3T", "3L50"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drillrun: ["9M", "7T", "6T", "5T"], earthquake: ["7M", "6M", "5M", "4M", "3M"], @@ -27667,7 +28345,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lunge: ["9M"], mimic: ["3T"], naturalgift: ["7L23", "6L23", "5L23", "4M", "4L20"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["9L31", "7M", "7L31", "6M", "6L31", "5M", "5L31", "4M", "4L28"], pinmissile: ["9E", "7E", "7V", "6E", "5E", "4E", "3E", "3S1"], poisonjab: ["9M"], @@ -27733,10 +28411,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["9L23", "7V"], + curse: ["9M", "9L23", "7V"], defensecurl: ["7V", "3T"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["9L50", "7L50", "7V", "6L56", "5L56", "4L50", "3T", "3L59"], + doubleedge: ["9M", "9L50", "7L50", "7V", "6L56", "5L56", "4L50", "3T", "3L59"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], drillrun: ["9M", "7T", "6T", "5T"], earthpower: ["9M"], @@ -27750,6 +28428,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], gyroball: ["9M", "9L46", "7M", "7L46", "6M", "6L50", "5M", "5L50", "4M", "4L45"], + hardpress: ["9M"], headbutt: ["7V", "4T"], heavyslam: ["9M", "9L0", "7L1", "6L1", "5L70"], helpinghand: ["9M"], @@ -27762,10 +28441,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], lunge: ["9M"], magnetrise: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L60", "4T", "4L57"], + metalsound: ["9M"], mimic: ["3T"], mirrorshot: ["7L1", "6L31", "5L31", "4L31"], naturalgift: ["7L23", "6L23", "5L23", "4M", "4L20"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["9L32", "7M", "7L32", "6M", "6L36", "5M", "5L36", "4M", "4L28"], poisonjab: ["9M"], pounce: ["9M"], @@ -27825,7 +28505,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M", "8M", "7E", "6E", "5E", "4E"], airslash: ["9M", "8M", "7L41"], amnesia: ["9M", "8M"], - ancientpower: ["9L20", "8L20", "7L16", "7E", "7V", "6L19", "6E", "5L48", "5E", "4T", "4L41", "4E", "3E"], + ancientpower: ["9L20", "8L20", "7L16", "7E", "7V", "6L19", "6E", "5L19", "5E", "4T", "4L41", "4E", "3E"], aquatail: ["9E", "8E", "7T", "6T", "5T", "4T"], astonish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -27835,18 +28515,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "8L32", "7L18", "3T"], + breakingswipe: ["9M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], chargebeam: ["7M", "6M", "5M", "4M"], chillingwater: ["9M"], - coil: ["9L44", "8L48", "7L28", "6L37", "5L43"], + coil: ["9L44", "8L48", "7L28", "6L37", "5L37"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], - defensecurl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L4", "5D", "4L5", "3T", "3L4"], - dig: ["9M", "8M", "7L31", "7V", "6M", "6L31", "5M", "5L53", "4M", "4L45", "3M"], - doubleedge: ["9L48", "8L52", "7L36", "6L34", "5L34", "3T"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + defensecurl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L5", "3T", "3L4"], + dig: ["9M", "8M", "7L31", "7V", "6M", "6L31", "5M", "5L31", "4M", "4L45", "3M"], + doubleedge: ["9M", "9L48", "8L52", "7L36", "6L34", "5L34", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonrush: ["9L40", "8L44", "7L43"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], @@ -27854,11 +28535,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { dualwingbeat: ["8T"], earthpower: ["9M"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - endeavor: ["9L52", "8L56", "7T", "7L38", "6T", "6L46", "5T", "5L58", "4T", "4L49", "3L41"], + endeavor: ["9M", "9L52", "8L56", "7T", "7L38", "6T", "6L46", "5T", "5L46", "4T", "4L49", "3L41"], endure: ["9M", "8M", "7L46", "7V", "6L40", "5L40", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - flail: ["9L1", "8L1", "7L48", "6L49", "5L63", "4L53", "3L44"], + flail: ["9L1", "8L1", "7L48", "6L49", "5L49", "4L53", "3L44"], flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gigaimpact: ["9M"], @@ -27883,13 +28564,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["9M", "9L4", "8L4", "7L13", "7V", "4T", "3T"], naturalgift: ["4M"], nightmare: ["7V", "3T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], poisontail: ["9M"], pounce: ["9M"], protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], - pursuit: ["7L8", "7V", "6L10", "5L24", "4L25", "3L24"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], + pursuit: ["7L8", "7V", "6L10", "5L10", "4L25", "3L24"], rage: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -27898,22 +28579,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { rockslide: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - rollout: ["9L8", "8L8", "7L3", "7V", "6L4", "5L16", "4T", "4L17", "3T", "3L21"], - roost: ["9L36", "8L40", "7M", "7L23", "6M", "6L25", "5T", "5L33", "4M", "4L33"], + rollout: ["9L8", "8L8", "7L3", "7V", "6L4", "5L4", "4T", "4L17", "3T", "3L21"], + roost: ["9L36", "8L40", "7M", "7L23", "6M", "6L25", "5T", "5L25", "4M", "4L33"], round: ["8M", "7M", "6M", "5M"], sandstorm: ["9M"], scaleshot: ["9M", "8T"], scaryface: ["9M"], - screech: ["9L16", "8M", "8L16", "7L11", "7V", "6L13", "5L28", "4L29", "3L31"], + screech: ["9L16", "8M", "8L16", "7L11", "7V", "6L13", "5L13", "4L29", "3L31"], secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "3T"], smartstrike: ["9M"], snore: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - spite: ["9M", "7T", "7L6", "7V", "6T", "6L7", "5T", "5L20", "4T", "4L21", "3L21"], + spite: ["9M", "7T", "7L6", "7V", "6T", "6L7", "5T", "5L7", "4T", "4L21", "3L21"], stealthrock: ["9M", "8M", "7T", "6T", "5T", "5D", "4M"], stompingtantrum: ["9M", "8M", "7T"], stoneedge: ["9M"], @@ -27922,7 +28603,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - takedown: ["9M", "8L36", "7L26", "7V", "6L22", "5L38", "4L37", "3L34"], + takedown: ["9M", "8L36", "7L26", "7V", "6L22", "5L22", "4L37", "3L34"], terablast: ["9M"], terrainpulse: ["8T"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -27950,20 +28631,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodypress: ["9M"], bodyslam: ["9M"], boomburst: ["9L62"], + breakingswipe: ["9M"], bulldoze: ["9M"], calmmind: ["9M"], chillingwater: ["9M"], coil: ["9L44"], + curse: ["9M"], defensecurl: ["9L1"], dig: ["9M"], - doubleedge: ["9L48"], + doubleedge: ["9M", "9L48"], dragonrush: ["9L40"], dragontail: ["9M"], drillrun: ["9M", "9L24"], dualwingbeat: ["9M"], earthpower: ["9M"], earthquake: ["9M"], - endeavor: ["9L52"], + endeavor: ["9M", "9L52"], endure: ["9M"], facade: ["9M"], fireblast: ["9M"], @@ -27985,10 +28668,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M"], mudslap: ["9M", "9L4"], outrage: ["9M"], + painsplit: ["9M"], poisonjab: ["9M"], poisontail: ["9M"], pounce: ["9M"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], rockslide: ["9M"], @@ -28000,6 +28685,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], screech: ["9L16"], shadowball: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M"], smartstrike: ["9M"], solarbeam: ["9M"], @@ -28014,6 +28700,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunder: ["9M"], thunderbolt: ["9M"], toxic: ["9M"], @@ -28025,12 +28712,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, gligar: { learnset: { - acrobatics: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L27"], + acrobatics: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L22"], aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], agility: ["9M", "7E", "6E", "5E", "4E"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["7M", "7V", "6M", "5M", "4M", "3M"], batonpass: ["9M", "7E", "6E", "5E", "4E"], + breakingswipe: ["9M"], brickbreak: ["9M", "7M", "6M", "5M", "4M"], bugbite: ["7T", "6T", "5T"], bulldoze: ["9M", "7M", "6M", "5M"], @@ -28046,7 +28734,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { defog: ["7T", "4M"], detect: ["7V"], dig: ["6M", "5M", "4M", "3M"], - doubleedge: ["9E", "7E", "6E", "5E", "4E", "3T"], + doubleedge: ["9M", "9E", "7E", "6E", "5E", "4E", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["3T"], dualwingbeat: ["9M"], @@ -28056,21 +28744,21 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M", "7M", "6M", "5M", "4M"], feint: ["9E", "7E", "6E", "5E", "5D", "4E"], - feintattack: ["7L19", "7V", "6L19", "5L23", "4L23", "3L28"], + feintattack: ["7L19", "7V", "6L19", "5L19", "4L23", "3L28"], firefang: ["9M"], fling: ["9M", "7M", "6M", "5M", "4M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - furycutter: ["9L16", "7L16", "7V", "6L16", "5L20", "4T", "4L20", "3T"], + furycutter: ["9L16", "7L16", "7V", "6L16", "5L16", "4T", "4L20", "3T"], guillotine: ["7L55", "7V", "6L55", "5L49", "4L45", "3L52"], gunkshot: ["9M"], - harden: ["9L7", "7L7", "7V", "6L7", "5L9", "4L9", "3L13"], + harden: ["9L7", "7L7", "7V", "6L7", "5L7", "4L9", "3L13"], headbutt: ["7V", "4T"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], highhorsepower: ["9M"], honeclaws: ["6M", "5M"], icefang: ["9M"], irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], - knockoff: ["9M", "9L10", "7T", "7L10", "6T", "6L10", "5T", "5L12", "4T", "4L12"], + knockoff: ["9M", "9L10", "7T", "7L10", "6T", "6L10", "5T", "5L10", "4T", "4L12"], lunge: ["9M"], metalclaw: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], mimic: ["3T"], @@ -28085,7 +28773,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powertrick: ["7E", "6E", "5E", "4E"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], psychicfangs: ["9M"], - quickattack: ["9L13", "7L13", "7V", "6L13", "5L16", "4L16", "3L20"], + quickattack: ["9L13", "7L13", "7V", "6L13", "5L13", "4L16", "3L20"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], razorwind: ["7E", "7V", "6E", "5E", "4E", "3E"], rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -28097,15 +28785,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], roost: ["7M", "6M", "5T", "4M"], round: ["7M", "6M", "5M"], - sandattack: ["9L4", "7L4", "7V", "6L4", "5L5", "5D", "4L5", "3L6", "3S0"], + sandattack: ["9L4", "7L4", "7V", "6L4", "5L4", "5D", "4L5", "3L6", "3S0"], sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], sandtomb: ["9M", "7E", "6E", "5E", "4E", "3E"], scaleshot: ["9M"], scaryface: ["9M"], screech: ["9L35", "7L35", "7V", "6L35", "5L31", "4L27", "3L44"], secretpower: ["6M", "4M", "3M"], + skittersmack: ["9M"], skyuppercut: ["7L45", "6L45", "5L45"], - slash: ["9L27", "7L27", "7V", "6L27", "5L34", "4L31", "3L36"], + slash: ["9L27", "7L27", "7V", "6L27", "5L27", "4L31", "3L36"], sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], @@ -28125,15 +28814,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M"], terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderfang: ["9M"], torment: ["7M", "6M", "5M", "4M"], toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], toxicspikes: ["9M"], - uturn: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L42", "4M", "4L38"], + uturn: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L30", "4M", "4L38"], venoshock: ["9M", "7M", "6M", "5M"], wingattack: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], - xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L45", "4M", "4L42"], + xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L42"], }, eventData: [ {generation: 3, level: 10, gender: "M", moves: ["poisonsting", "sandattack"], pokeball: "pokeball"}, @@ -28141,12 +28830,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, gliscor: { learnset: { - acrobatics: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L27"], + acrobatics: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L22"], aerialace: ["9M", "7M", "6M", "5M", "4M"], agility: ["9M"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["7M", "6M", "5M", "4M"], batonpass: ["9M"], + breakingswipe: ["9M"], brickbreak: ["9M", "7M", "6M", "5M", "4M"], brutalswing: ["7M"], bugbite: ["7T", "6T", "5T"], @@ -28159,6 +28849,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "7M", "6M", "5T", "4M"], defog: ["7T", "4M"], dig: ["6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dualwingbeat: ["9M"], earthpower: ["9M", "7T", "6T", "5T", "4T"], @@ -28166,11 +28857,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], falseswipe: ["9M", "7M", "6M", "5M", "4M"], - feintattack: ["7L19", "6L19", "5L23", "4L23"], + feintattack: ["7L19", "6L19", "5L19", "4L23"], firefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], fling: ["9M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], - furycutter: ["9L16", "7L16", "6L16", "5L20", "4T", "4L20"], + furycutter: ["9L16", "7L16", "6L16", "5L16", "4T", "4L20"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], guillotine: ["7L1", "6L1", "5L49", "4L45"], gunkshot: ["9M"], @@ -28188,13 +28879,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], - nightslash: ["9L27", "7L27", "6L27", "5L34", "4L31"], + nightslash: ["9L27", "7L27", "6L27", "5L27", "4L31"], payback: ["7M", "6M", "5M", "4M"], poisonjab: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], poisontail: ["9M"], protect: ["9M", "7M", "6M", "5M", "4M"], psychicfangs: ["9M"], - quickattack: ["9L13", "7L13", "6L13", "5L16", "4L16"], + quickattack: ["9L13", "7L13", "6L13", "5L13", "4L16"], raindance: ["9M", "7M", "6M", "5M", "4M"], rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], @@ -28207,9 +28898,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], sandstorm: ["9M", "7M", "6M", "5M", "4M"], sandtomb: ["9M"], + scaleshot: ["9M"], scaryface: ["9M"], screech: ["9L35", "7L35", "6L35", "5L31", "4L27"], secretpower: ["6M", "4M"], + skittersmack: ["9M"], skyattack: ["7T", "6T", "5T", "4T"], skyuppercut: ["7L45", "6L45", "5L45"], sleeptalk: ["9M", "7M", "6M", "5T", "4M"], @@ -28231,114 +28924,127 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M"], terablast: ["9M"], thief: ["9M", "7M", "6M", "5M", "4M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], torment: ["7M", "6M", "5M", "4M"], toxic: ["9M", "7M", "6M", "5M", "4M"], toxicspikes: ["9M"], - uturn: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L42", "4M", "4L38"], + uturn: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L30", "4M", "4L38"], venoshock: ["9M", "7M", "6M", "5M"], - xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L45", "4M", "4L42"], + xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L42"], }, }, snubbull: { learnset: { attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - bite: ["7L7", "7V", "6L7", "5L7", "4L7", "3L13"], - bodyslam: ["3T"], - brickbreak: ["7M", "6M", "5M", "4M", "3M"], - bulkup: ["7M", "6M", "5M", "4M", "3M"], - bulldoze: ["7M", "6M", "5M"], + bite: ["9L7", "7L7", "7V", "6L7", "5L7", "4L7", "3L13"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], - charm: ["7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L8", "3S0"], - closecombat: ["7E", "6E", "5E", "5D", "4E"], + charm: ["9M", "9L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L8", "3S0"], + closecombat: ["9M", "7E", "6E", "5E", "5D", "4E"], confide: ["7M", "6M"], - counter: ["3T"], + counter: ["9E", "3T"], covet: ["7T", "6T", "5T"], - crunch: ["7L49", "7E", "7V", "6L49", "6E", "5L49", "5E", "4L49", "4E", "3L53", "3E"], - curse: ["7V"], - dazzlinggleam: ["7M", "6M"], + crunch: ["9M", "9L49", "7L49", "7E", "7V", "6L49", "6E", "5L49", "5E", "4L49", "4E", "3L53", "3E"], + curse: ["9M", "7V"], + dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["7V", "3T"], detect: ["7V"], - dig: ["6M", "5M", "4M", "3M"], - doubleedge: ["7E", "6E", "5E", "5D", "3T"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "7E", "6E", "5E", "5D", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], - earthquake: ["7M", "6M", "5M", "4M", "3M"], - endure: ["7V", "4M", "3T"], - facade: ["7M", "6M", "5M", "4M", "3M"], - faketears: ["7E", "6E"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "7E", "6E"], feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], - fireblast: ["7M", "6M", "5M", "4M", "3M"], - firefang: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], - firepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], - flamethrower: ["7M", "6M", "5M", "4M", "3M"], - fling: ["7M", "6M", "5M", "4M"], - focuspunch: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L1", "7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - headbutt: ["7L19", "7V", "6L19", "5L19", "4T", "4L19"], + growl: ["9L1"], + headbutt: ["9L19", "7L19", "7V", "6L19", "5L19", "4T", "4L19"], healbell: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hypervoice: ["7T", "6T", "5T"], - icefang: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], - icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + hypervoice: ["9M", "7T", "6T", "5T"], + icefang: ["9M", "9L1", "7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], incinerate: ["6M", "5M"], - lastresort: ["7T", "6T", "5T", "4T"], + lashout: ["9M"], + lastresort: ["9L31", "7T", "6T", "5T", "4T"], leer: ["7V"], - lick: ["7L13", "7V", "6L13", "5L13", "4L13", "3L19"], - lowkick: ["7T", "6T", "5T", "4T"], + lick: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L19"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], - metronome: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], - mimic: ["7E", "6E", "5E", "3T"], - mudslap: ["7V", "4T", "3T"], + metronome: ["9M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + mimic: ["9E", "7E", "6E", "5E", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], - overheat: ["7M", "6M", "5M", "4M", "3M"], - payback: ["7M", "7L43", "6M", "6L43", "5M", "5L43", "4M", "4L43"], - playrough: ["7L37", "6L37"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + payback: ["9L43", "7M", "7L43", "6M", "6L43", "5M", "5L43", "4M", "4L43"], + playrough: ["9M", "9L37", "7L37", "6L37"], poweruppunch: ["6M"], - present: ["7E", "7V", "6E", "5E", "4E", "3E"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + present: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], rage: ["7L31", "7V", "6L31", "5L31", "4L31", "3L34"], - raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["7M", "7V", "6M", "5M", "4E", "3E"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], - retaliate: ["6M", "5M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["9E", "6M", "5M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["7M", "7L25", "7V", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M", "3L26"], + reversal: ["9M"], + roar: ["9M", "9L25", "7M", "7L25", "7V", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M", "3L26"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], - scaryface: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + scaryface: ["9M", "9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowball: ["7M", "7V", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["7M", "7V", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], smellingsalts: ["7E", "6E", "5E", "4E", "3E"], - snarl: ["7M", "6M", "5M"], - snore: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], - solarbeam: ["7M", "6M", "5M", "4M", "3M"], + snarl: ["9M", "7M", "6M", "5M"], + snore: ["9E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spite: ["9M"], + stompingtantrum: ["9M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], - superfang: ["7T", "6T", "5T", "4T"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], superpower: ["7T", "6T", "5T", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - tailwhip: ["7L1", "7V", "6L1", "5L1", "4L1", "3L4", "3S0"], - takedown: ["7V", "5L37", "4L37", "3L43"], - taunt: ["7M", "6M", "5M", "4M", "3M"], - thief: ["7M", "7V", "6M", "5M", "4M", "3M"], - thunder: ["7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["7M", "6M", "5M", "4M", "3M"], - thunderfang: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], - thunderpunch: ["7T", "7V", "6T", "5T", "4T", "3T"], - thunderwave: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + tailwhip: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L4", "3S0"], + takedown: ["9M", "7V", "5L37", "4L37", "3L43"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "9L1", "7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - waterpulse: ["7T", "6T", "4M", "3M"], - wildcharge: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["9M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wildcharge: ["9M", "7M", "6M", "5M"], workup: ["7M", "5M"], zapcannon: ["7V"], }, @@ -28349,105 +29055,120 @@ export const Learnsets: {[k: string]: LearnsetData} = { granbull: { learnset: { attract: ["7M", "7V", "6M", "5M", "4M", "3M"], - bite: ["7L7", "7V", "6L7", "5L7", "4L7", "3L13"], - bodyslam: ["3T"], - brickbreak: ["7M", "6M", "5M", "4M", "3M"], - bulkup: ["7M", "6M", "5M", "4M", "3M"], - bulldoze: ["7M", "6M", "5M"], + bite: ["9L7", "7L7", "7V", "6L7", "5L7", "4L7", "3L13"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], - charm: ["7L1", "7V", "6L1", "5L1", "4L1", "3L8"], + charm: ["9M", "9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L8"], + closecombat: ["9M"], confide: ["7M", "6M"], counter: ["3T"], covet: ["7T", "6T", "5T"], - crunch: ["7L59", "6L59", "5L59", "4L59", "3L61"], - curse: ["7V"], - dazzlinggleam: ["7M", "6M"], + crunch: ["9M", "9L59", "7L59", "6L59", "5L59", "4L59", "3L61"], + curse: ["9M", "7V"], + dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["7V", "3T"], detect: ["7V"], - dig: ["6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], - earthquake: ["7M", "6M", "5M", "4M", "3M"], - endure: ["7V", "4M", "3T"], - facade: ["7M", "6M", "5M", "4M", "3M"], - fireblast: ["7M", "6M", "5M", "4M", "3M"], - firefang: ["7L1", "6L1", "5L1", "4L1"], - firepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], - flamethrower: ["7M", "6M", "5M", "4M", "3M"], - fling: ["7M", "6M", "5M", "4M"], - focusblast: ["7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["7M", "6M", "5M", "4M"], - headbutt: ["7L19", "7V", "6L19", "5L19", "4T", "4L19"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1"], + headbutt: ["9L19", "7L19", "7V", "6L19", "5L19", "4T", "4L19"], healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], - hypervoice: ["7T", "6T", "5T"], - icefang: ["7L1", "6L1", "5L1", "4L1"], - icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "7T", "6T", "5T"], + icefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], incinerate: ["6M", "5M"], irontail: ["7T", "6T", "5T", "4M", "3M"], - lastresort: ["7T", "6T", "5T", "4T"], - lick: ["7L13", "7V", "6L13", "5L13", "4L13", "3L19"], - lowkick: ["7T", "6T", "5T", "4T"], + lashout: ["9M"], + lastresort: ["9L35", "7T", "6T", "5T", "4T"], + lick: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L19"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M"], megakick: ["3T"], megapunch: ["3T"], - metronome: ["3T"], + metronome: ["9M", "3T"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], - outrage: ["7T", "7L1", "6T", "6L1", "5T", "5L67"], - overheat: ["7M", "6M", "5M", "4M", "3M"], - payback: ["7M", "7L51", "6M", "6L51", "5M", "5L51", "4M", "4L51"], - playrough: ["7L43", "6L43"], + outrage: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L67"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + payback: ["9L51", "7M", "7L51", "6M", "6L51", "5M", "5L51", "4M", "4L51"], + playrough: ["9M", "9L43", "7L43", "6L43"], poweruppunch: ["6M"], - protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], rage: ["7L35", "7V", "6L35", "5L35", "4L35", "3L38"], - raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["7M", "6M", "5M"], - rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], retaliate: ["6M", "5M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["7M", "7L27", "7V", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3M", "3L28"], + reversal: ["9M"], + roar: ["9M", "9L27", "7M", "7L27", "7V", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3M", "3L28"], rockclimb: ["4M"], - rockslide: ["7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], - rocktomb: ["7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], - scaryface: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + scaryface: ["9M", "9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowball: ["7M", "7V", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], - sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], - sludgebomb: ["7M", "7V", "6M", "5M", "4M", "3M"], - snarl: ["7M", "6M", "5M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + snarl: ["9M", "7M", "6M", "5M"], snore: ["7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["7M", "6M", "5M", "4M", "3M"], - stompingtantrum: ["7T"], - stoneedge: ["7M", "6M", "5M", "4M"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spite: ["9M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], - superfang: ["7T", "6T", "5T", "4T"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], superpower: ["7T", "6T", "5T", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - tailwhip: ["7L1", "7V", "6L1", "5L1", "4L1", "3L4"], - takedown: ["7V", "5L43", "4L43", "3L49"], - taunt: ["7M", "6M", "5M", "4M", "3M"], - thief: ["7M", "7V", "6M", "5M", "4M", "3M"], - thunder: ["7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["7M", "6M", "5M", "4M", "3M"], - thunderfang: ["7L1", "6L1", "5L1", "4L1"], - thunderpunch: ["7T", "7V", "6T", "5T", "4T", "3T"], - thunderwave: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L4"], + takedown: ["9M", "7V", "5L43", "4L43", "3L49"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - waterpulse: ["7T", "6T", "4M", "3M"], - wildcharge: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["9M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wildcharge: ["9M", "7M", "6M", "5M"], workup: ["7M", "5M"], zapcannon: ["7V"], }, @@ -28475,11 +29196,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], crunch: ["9M"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["7V", "3T"], destinybond: ["9L56", "8L66", "7L1", "6L1", "5L53", "4L53", "3L45"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], endure: ["9M", "8M", "7V", "4M", "3T"], explosion: ["7M", "6M", "5M", "4M"], @@ -28505,7 +29226,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { minimize: ["9L16", "8L16", "7L9", "7V", "6L9", "5L9", "4L9", "3L9", "3S0"], mudshot: ["9M"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], pinmissile: ["9L32", "8M", "8L32", "7L37", "7V", "6L37", "5L37", "4L37", "3L21"], poisonjab: ["9M", "9L28", "8M", "8L40", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L49", "4E"], @@ -28529,7 +29250,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], spikes: ["9M", "9L20", "8M", "8L20", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], spite: ["9M"], @@ -28546,7 +29267,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M", "8L48", "7L41", "7V", "6L41", "5L41", "4L41", "3L33"], taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], terablast: ["9M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["9M", "9L44", "8L52", "7M", "7V", "6M", "5M", "4M", "3M"], toxicspikes: ["9M", "9L36", "8M", "8L36", "7L21", "6L21", "5L21", "4L21"], @@ -28555,7 +29276,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], watergun: ["9L8", "8L8", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], - whirlpool: ["8M", "7V", "4M"], + whirlpool: ["9M", "8M", "7V", "4M"], }, eventData: [ {generation: 3, level: 10, gender: "M", moves: ["tackle", "poisonsting", "harden", "minimize"], pokeball: "pokeball"}, @@ -28576,8 +29297,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { bubblebeam: ["9E"], chillingwater: ["9M"], crunch: ["9M", "9L48"], + curse: ["9M"], darkpulse: ["9M"], destinybond: ["9L56"], + doubleedge: ["9M"], endure: ["9M"], facade: ["9M"], fellstinger: ["9L12"], @@ -28595,6 +29318,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M"], minimize: ["9L16"], mudshot: ["9M"], + painsplit: ["9M"], pinmissile: ["9L32"], poisonjab: ["9M"], poisonsting: ["9L1"], @@ -28622,6 +29346,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], + throatchop: ["9M"], toxic: ["9M", "9L44"], toxicspikes: ["9M", "9L36"], venoshock: ["9M"], @@ -28640,8 +29365,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { brine: ["9L24"], chillingwater: ["9M"], crunch: ["9M", "9L48"], + curse: ["9M"], darkpulse: ["9M"], destinybond: ["9L56"], + doubleedge: ["9M"], endure: ["9M"], facade: ["9M"], fellstinger: ["9L12"], @@ -28659,6 +29386,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M"], minimize: ["9L16"], mudshot: ["9M"], + painsplit: ["9M"], pinmissile: ["9L32"], poisonjab: ["9M"], poisonsting: ["9L1"], @@ -28672,6 +29400,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], smartstrike: ["9M"], spikes: ["9M", "9L20"], spite: ["9M"], @@ -28685,6 +29414,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], + throatchop: ["9M"], toxic: ["9M", "9L44"], toxicspikes: ["9M", "9L36"], venoshock: ["9M"], @@ -28702,7 +29432,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bide: ["7L1", "7V", "6L1", "5L1", "4L1", "3L28"], bind: ["7T", "6T", "5T"], bodyslam: ["8M", "3T"], - bugbite: ["8L30", "7T", "7L42", "6T", "6L42", "5T", "5L49", "4T", "4L40"], + bugbite: ["8L30", "7T", "7L42", "6T", "6L42", "5T", "5L42", "4T", "4L40"], bulldoze: ["8M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], @@ -28715,14 +29445,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["8M", "7T", "6T", "5T", "4T"], earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - encore: ["8M", "7L5", "7V", "6L5", "5L7", "5D", "4L9", "3L14", "3S1"], + encore: ["8M", "7L5", "7V", "6L5", "5L5", "5D", "4L9", "3L14", "3S1"], endure: ["8M", "7V", "4M", "3T"], facade: ["8M", "7M", "6M", "5M", "4M", "3M"], finalgambit: ["8E", "7E", "6E", "5E"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gastroacid: ["8L45", "7T", "7L27", "6T", "6L27", "5T", "5L31", "4T", "4L35"], - guardsplit: ["8L35", "7L45", "6L45", "5L55"], + gastroacid: ["8L45", "7T", "7L27", "6T", "6L27", "5T", "5L27", "4T", "4L35"], + guardsplit: ["8L35", "7L45", "6L45", "5L45"], gyroball: ["8M", "7M", "6M", "5M", "4M"], headbutt: ["7V", "4T"], helpinghand: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], @@ -28735,10 +29465,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["8M"], mudslap: ["7E", "7V", "6E", "5E", "4T", "4E", "3T"], naturalgift: ["4M"], - powersplit: ["8L35", "7L45", "6L45", "5L55"], - powertrick: ["8L55", "7L31", "6L31", "5L43", "4L48"], + powersplit: ["8L35", "7L45", "6L45", "5L45"], + powertrick: ["8L55", "7L31", "6L31", "5L31", "4L48"], protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - rest: ["8M", "8L25", "7M", "7L20", "7V", "6M", "6L20", "5M", "5L25", "4M", "4L27", "3M", "3L37"], + rest: ["8M", "8L25", "7M", "7L20", "7V", "6M", "6L20", "5M", "5L20", "4M", "4L27", "3M", "3L37"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], reversal: ["8M"], rockblast: ["8M", "7E", "6E", "5E"], @@ -28747,9 +29477,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocksmash: ["7V", "6M", "5M", "4M", "3M"], rockthrow: ["8L15", "7L23", "6L23", "5L23"], rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], - rollout: ["8L5", "7L1", "7V", "6L1", "5L37", "4T", "3T"], + rollout: ["8L5", "7L1", "7V", "6L1", "5L1", "4T", "3T"], round: ["8M", "7M", "6M", "5M"], - safeguard: ["8M", "8L20", "7M", "7L16", "7V", "6M", "6L16", "5M", "5L19", "4M", "4L14", "3M", "3L23"], + safeguard: ["8M", "8L20", "7M", "7L16", "7V", "6M", "6L16", "5M", "5L16", "4M", "4L14", "3M", "3L23"], sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], sandtomb: ["8M", "7E", "6E", "5E", "4E"], secretpower: ["6M", "4M", "3M"], @@ -28774,7 +29504,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["8E", "7M", "7V", "6M", "5M", "4M", "3M", "3S1"], venoshock: ["8M", "7M", "6M", "5M"], withdraw: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], - wrap: ["8L1", "7L9", "7V", "6L9", "5L13", "4L22", "3L9", "3S0"], + wrap: ["8L1", "7L9", "7V", "6L9", "5L9", "4L22", "3L9", "3S0"], }, eventData: [ {generation: 3, level: 10, gender: "M", abilities: ["sturdy"], moves: ["constrict", "withdraw", "wrap"], pokeball: "pokeball"}, @@ -28783,7 +29513,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, heracross: { learnset: { - aerialace: ["9M", "9L15", "8L15", "7M", "7L10", "6M", "6L10", "5M", "5L13", "4M", "4L13"], + aerialace: ["9M", "9L15", "8L15", "7M", "7L10", "6M", "6L10", "5M", "5L10", "4M", "4L13"], armthrust: ["9L1", "7L1", "6L1"], assurance: ["8M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -28798,21 +29528,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M", "8M", "7L1", "6L1", "6S0", "6S1"], captivate: ["4M"], chipaway: ["7L16", "6L16", "5L16"], - closecombat: ["9M", "9L60", "8M", "8L60", "7L43", "6L34", "6S0", "5L37", "4L37"], - coaching: ["8T"], + closecombat: ["9M", "9L60", "8M", "8L60", "7L43", "6L34", "6S0", "5L34", "4L37"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], - counter: ["9L25", "8L25", "7L19", "7V", "6L19", "5L25", "4L25", "3T", "3L30"], - curse: ["7V"], + counter: ["9L25", "8L25", "7L19", "7V", "6L19", "5L19", "4L25", "3T", "3L30"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E", "3T"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthquake: ["9M", "8M", "7M", "7V", "6M", "6S1", "5M", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "9L10", "8M", "8L10", "7L1", "7V", "6L1", "5L1", "4M", "4L1", "3T", "3L11"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M", "8M", "7M", "6M", "5M", "4E", "3E"], - feint: ["9E", "8E", "7L7", "6L7", "5L49", "4L49"], + feint: ["9E", "8E", "7L7", "6L7", "5L37", "4L49"], flail: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -28833,7 +29564,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], lunge: ["9M"], - megahorn: ["9L55", "8M", "8L55", "7L37", "7E", "7V", "6L37", "6E", "6S0", "5L55", "5E", "4L55", "3L53"], + megahorn: ["9L55", "8M", "8L55", "7L37", "7E", "7V", "6L37", "6E", "6S0", "5L46", "5E", "4L55", "3L53"], mimic: ["3T"], naturalgift: ["4M"], nightslash: ["9E", "8E", "7L1", "6L1", "5L1", "4L1"], @@ -28855,6 +29586,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], seismictoss: ["9E", "8E", "7E", "6E", "5E", "3T"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + skittersmack: ["9M"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], smackdown: ["9M", "7M", "6M", "5M"], smartstrike: ["9M", "8M"], @@ -28868,13 +29600,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swordsdance: ["9M", "9L50", "8M", "8L50", "7M", "6M", "5M", "4M", "3T"], tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["9M", "8E", "7L34", "7V", "6L28", "5L31", "4L31", "3L37"], + takedown: ["9M", "8E", "7L34", "7V", "6L28", "5L28", "4L31", "3L37"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], thrash: ["9L45", "8L45"], - throatchop: ["9L40", "8M", "8L40", "7T"], + throatchop: ["9M", "9L40", "8M", "8L40", "7T"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], + upperhand: ["9M"], vacuumwave: ["9M", "4T"], venoshock: ["8M", "7M", "6M", "5M"], workup: ["8M", "7M", "5M"], @@ -28887,11 +29620,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { sneasel: { learnset: { aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], - agility: ["9M", "9L48", "8M", "8L48", "7L20", "7V", "6L20", "5L24", "4L24", "3L36"], + agility: ["9M", "9L48", "8M", "8L48", "7L20", "7V", "6L20", "5L20", "4L24", "3L36"], assist: ["7E", "6E", "5E", "4E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], avalanche: ["9M", "8M", "7E", "6E", "5E", "4M"], - beatup: ["9L42", "8M", "8L42", "7L28", "7V", "6L28", "5L42", "4L38", "3L57"], + beatup: ["9L42", "8M", "8L42", "7L28", "7V", "6L28", "5L28", "4L38", "3L57"], bite: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -28918,26 +29651,26 @@ export const Learnsets: {[k: string]: LearnsetData} = { faketears: ["9M", "8M"], falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], feint: ["9E", "8E", "7E", "6E", "5E"], - feintattack: ["7L10", "7V", "6L10", "5L14", "4L14", "3L22"], + feintattack: ["7L10", "7V", "6L10", "5L10", "4L14", "3L22"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focuspunch: ["9M", "7T", "6T", "4M", "3M"], foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], - furyswipes: ["9L30", "8L30", "7L16", "7V", "6L16", "5L21", "4L21", "3L29"], + furyswipes: ["9L30", "8L30", "7L16", "7V", "6L16", "5L16", "4L21", "3L29"], gigaimpact: ["9M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], helpinghand: ["9M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - honeclaws: ["9L36", "8L36", "7L25", "6M", "6L25", "5M", "5L35"], + honeclaws: ["9L36", "8L36", "7L25", "6M", "6L25", "5M", "5L25"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], icepunch: ["9M", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3T"], - iceshard: ["9E", "8E", "7L47", "7E", "6L47", "6E", "5L51", "5E", "4L49", "4E"], + iceshard: ["9E", "8E", "7L47", "7E", "6L47", "6E", "5L47", "5E", "4L49", "4E"], iciclecrash: ["9E", "8E", "7E", "6E"], iciclespear: ["9M"], - icywind: ["9M", "9L24", "8M", "8L24", "7T", "7L14", "7V", "6T", "6L14", "5T", "5L28", "4T", "4L28", "3T", "3L43"], + icywind: ["9M", "9L24", "8M", "8L24", "7T", "7L14", "7V", "6T", "6L14", "5T", "5L14", "4T", "4L28", "3T", "3L43"], irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], knockoff: ["9M", "7T", "6T", "5T", "4T"], laserfocus: ["7T"], @@ -28947,7 +29680,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M"], megapunch: ["8M"], - metalclaw: ["9M", "9L18", "8L18", "7L22", "7V", "6L22", "5L49", "4L42", "3L64"], + metalclaw: ["9M", "9L18", "8L18", "7L22", "7V", "6L22", "5L22", "4L42", "3L64"], mimic: ["3T"], mudslap: ["7V", "4T", "3T"], nastyplot: ["9M"], @@ -28976,7 +29709,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], - slash: ["9L60", "8L60", "7L35", "7V", "6L35", "5L38", "4L35", "3L50"], + slash: ["9L60", "8L60", "7L35", "7V", "6L35", "5L35", "4L35", "3L50"], sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snarl: ["9M", "8M", "7M", "6M", "5M"], snatch: ["7T", "7L40", "6T", "6L40", "5T", "5L40", "4M", "3M"], @@ -28994,11 +29727,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L6", "8M", "8L6", "7M", "7L1", "6M", "6L1", "5M", "5L1", "5D", "4M", "4L1", "3M", "3L1", "3S0"], terablast: ["9M"], thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["8M", "7T", "7E"], + throatchop: ["9M", "8M", "7T", "7E"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], + upperhand: ["9M"], waterpulse: ["9M"], whirlpool: ["8M", "4M"], xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -29016,6 +29750,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M"], calmmind: ["9M"], closecombat: ["9M", "9L60"], + coaching: ["9M"], counter: ["9E"], dig: ["9M"], doublehit: ["9E"], @@ -29054,6 +29789,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slash: ["9L42"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], spite: ["9M"], substitute: ["9M"], sunnyday: ["9M"], @@ -29064,6 +29800,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L6"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], toxic: ["9M"], toxicspikes: ["9M"], trailblaze: ["9M"], @@ -29088,7 +29825,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], cut: ["6M", "5M", "4M"], - darkpulse: ["9M", "9L66", "8M", "8L66", "7M", "7L47", "6M", "6L47", "5T", "5L51", "4M", "4L49"], + darkpulse: ["9M", "9L66", "8M", "8L66", "7M", "7L47", "6M", "6L47", "5T", "5L47", "4M", "4L49"], dig: ["9M", "8M", "6M", "5M", "4M"], doubleteam: ["7M", "6M", "5M", "4M"], dreameater: ["7M", "6M", "5M", "4M"], @@ -29098,27 +29835,27 @@ export const Learnsets: {[k: string]: LearnsetData} = { fakeout: ["4S0"], faketears: ["9M", "8M"], falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], - feintattack: ["7L10", "6L10", "5L14", "4L14"], - fling: ["9M", "9L42", "8M", "8L42", "7M", "7L28", "6M", "6L28", "5M", "5L42", "4M", "4L38"], + feintattack: ["7L10", "6L10", "5L10", "4L14"], + fling: ["9M", "9L42", "8M", "8L42", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L38"], focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], focuspunch: ["9M", "7T", "6T", "4M"], foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M"], furycutter: ["4T"], - furyswipes: ["9L30", "8L30", "7L16", "6L16", "5L21", "4L21"], + furyswipes: ["9L30", "8L30", "7L16", "6L16", "5L16", "4L21"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M"], headbutt: ["4T"], helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M"], - honeclaws: ["9L36", "8L36", "7L25", "6M", "6L25", "5M", "5L35"], + honeclaws: ["9L36", "8L36", "7L25", "6M", "6L25", "5M", "5L25"], hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], icepunch: ["9M", "8M", "7T", "6T", "6S1", "5T", "4T"], iceshard: ["9L1", "8L1", "4S0"], icespinner: ["9M"], iciclespear: ["9M", "8M"], - icywind: ["9M", "9L24", "8M", "8L24", "7T", "7L14", "6T", "6L14", "5T", "5L28", "4T", "4L28"], + icywind: ["9M", "9L24", "8M", "8L24", "7T", "7L14", "6T", "6L14", "5T", "5L14", "4T", "4L28"], irontail: ["8M", "7T", "6T", "5T", "4M"], knockoff: ["9M", "7T", "6T", "5T", "4T"], laserfocus: ["7T"], @@ -29128,10 +29865,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M"], megapunch: ["8M"], - metalclaw: ["9M", "9L18", "8L18", "7L22", "6L22", "5L49", "4L42"], + metalclaw: ["9M", "9L18", "8L18", "7L22", "6L22", "5L22", "4L42"], metronome: ["9M"], mudslap: ["4T"], - nastyplot: ["9M", "9L48", "8M", "8L48", "7L20", "6L20", "5L24", "4L24"], + nastyplot: ["9M", "9L48", "8M", "8L48", "7L20", "6L20", "5L20", "4L24"], naturalgift: ["4M"], nightslash: ["9L60", "8L60", "7L35", "6L35", "6S1", "5L35", "4L35", "4S0"], payback: ["8M", "7M", "6M", "5M", "4M"], @@ -29140,7 +29877,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psychocut: ["8M"], psychup: ["7M", "6M", "5M", "4M"], - punishment: ["7L44", "6L44"], + punishment: ["7L44", "6L44", "5L44"], quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], reflect: ["8M", "7M", "6M", "5M"], @@ -29175,11 +29912,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], torment: ["7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], + upperhand: ["9M"], waterpulse: ["9M"], whirlpool: ["8M", "4M"], xscissor: ["9M", "8M", "7M", "6M", "6S1", "5M", "4M"], @@ -29199,6 +29937,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M"], calmmind: ["9M"], closecombat: ["9M", "9L60"], + coaching: ["9M"], dig: ["9M"], direclaw: ["9L0"], endure: ["9M"], @@ -29236,6 +29975,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slash: ["9L42"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], spite: ["9M"], substitute: ["9M"], sunnyday: ["9M"], @@ -29245,9 +29985,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L6"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], toxic: ["9M"], toxicspikes: ["9M"], trailblaze: ["9M"], + upperhand: ["9M"], uturn: ["9M"], vacuumwave: ["9M"], venoshock: ["9M"], @@ -29278,7 +30020,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["7V", "3T"], dig: ["9M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["9E", "7E", "6E", "5E", "4E", "3T"], + doubleedge: ["9M", "9E", "7E", "6E", "5E", "4E", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -29387,7 +30129,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["7V", "6M", "5M", "4M", "3M"], defensecurl: ["7V", "3T"], dig: ["9M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dynamicpunch: ["7V", "3T"], earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -29466,7 +30208,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], thrash: ["9L56", "7L58", "7V", "6L58", "5L58", "4L58", "3L49"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -29492,7 +30234,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M"], covet: ["9L1"], crunch: ["9M"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], drainpunch: ["9M"], earthpower: ["9M"], earthquake: ["9M"], @@ -29506,6 +30250,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M"], gunkshot: ["9M"], hammerarm: ["9L64"], + hardpress: ["9M"], headlongrush: ["9L0"], heavyslam: ["9M"], helpinghand: ["9M"], @@ -29539,6 +30284,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M"], substitute: ["9M"], sunnyday: ["9M"], + supercellslam: ["9M"], sweetscent: ["9L17"], swift: ["9M"], swordsdance: ["9M"], @@ -29547,6 +30293,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M"], thrash: ["9L56"], + throatchop: ["9M"], thunderpunch: ["9M"], trailblaze: ["9M"], uproar: ["9M"], @@ -29555,27 +30302,35 @@ export const Learnsets: {[k: string]: LearnsetData} = { ursalunabloodmoon: { learnset: { avalanche: ["9M"], + bellydrum: ["9E"], bloodmoon: ["9L70", "9S0"], bodypress: ["9M"], bodyslam: ["9M"], brickbreak: ["9M"], bulldoze: ["9M"], calmmind: ["9M", "9S0"], - crunch: ["9M"], + closecombat: ["9E"], + counter: ["9E"], + crosschop: ["9E"], + crunch: ["9M", "9E"], dig: ["9M"], + doubleedge: ["9M", "9E"], earthpower: ["9M", "9L48", "9S0"], earthquake: ["9M"], endure: ["9M"], facade: ["9M"], + faketears: ["9E"], firepunch: ["9M"], fling: ["9M"], focusblast: ["9M"], focuspunch: ["9M"], + furycutter: ["9E"], furyswipes: ["9L8"], gigaimpact: ["9M"], gunkshot: ["9M"], hammerarm: ["9L64"], harden: ["9L17"], + hardpress: ["9M"], headlongrush: ["9L1"], heavyslam: ["9M"], helpinghand: ["9M"], @@ -29586,10 +30341,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { leer: ["9L1"], lick: ["9L1"], lowkick: ["9M"], - metalclaw: ["9M"], + metalclaw: ["9M", "9E"], moonblast: ["9L56"], moonlight: ["9L1"], mudshot: ["9M"], + nightslash: ["9E"], payback: ["9L13"], playnice: ["9L25"], protect: ["9M"], @@ -29601,6 +30357,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M", "9L35"], scratch: ["9L1"], seedbomb: ["9M"], + seismictoss: ["9E"], shadowclaw: ["9M"], slash: ["9L22", "9S0"], sleeptalk: ["9M"], @@ -29621,6 +30378,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], uproar: ["9M"], vacuumwave: ["9M"], + yawn: ["9E"], }, eventData: [ {generation: 9, level: 70, nature: "Hardy", perfectIVs: 3, moves: ["bloodmoon", "earthpower", "slash", "calmmind"]}, @@ -29639,7 +30397,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], clearsmog: ["9L20", "7L20", "6L20"], confide: ["7M", "6M"], - curse: ["9E", "7E", "7V", "6E", "5E", "4E"], + curse: ["9M", "9E", "7E", "7V", "6E", "5E", "4E"], defensecurl: ["7V", "3T"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -29673,7 +30431,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], naturepower: ["7M", "6M"], overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], powergem: ["9M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], recover: ["9L43", "7L43", "6L19", "5L19", "4L23"], @@ -29704,6 +30462,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], swallow: ["7E", "6E", "5E", "4E"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], willowisp: ["9M", "7M", "6M", "5M", "4M"], @@ -29722,7 +30481,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], clearsmog: ["9L20", "7L20", "6L20"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["7V", "3T"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -29757,7 +30516,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], naturepower: ["7M", "6M"], overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], powergem: ["9M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], recover: ["9L47", "7L47", "6L19", "5L19", "4L23"], @@ -29775,6 +30534,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["7M", "6M", "5M"], sandstorm: ["9M", "7M", "6M", "5M", "4M", "3M"], sandtomb: ["9M"], + scorchingsands: ["9M"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["3T"], shellsmash: ["9L0", "7L1", "6L38", "5L38"], @@ -29791,6 +30551,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], willowisp: ["9M", "7M", "6M", "5M", "4M"], @@ -29806,7 +30567,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, swinub: { learnset: { - amnesia: ["9M", "9L35", "8M", "8L35", "7L48", "7V", "6L48", "5L49", "4L49", "3L55"], + amnesia: ["9M", "9L35", "8M", "8L35", "7L48", "7V", "6L48", "5L48", "4L49", "3L55"], ancientpower: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4T", "4E", "3E", "3S0"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], avalanche: ["9M", "8M", "7E", "6E", "5E"], @@ -29817,16 +30578,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], charm: ["9M", "3S0"], confide: ["7M", "6M"], - curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E"], defensecurl: ["7V", "3T"], detect: ["7V"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E", "3T", "3E"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3T", "3E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L45", "8M", "8L45", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M"], - endeavor: ["7T", "6T", "5T", "4T"], - endure: ["9M", "9L25", "8M", "8L25", "7L14", "7V", "6L14", "5L16", "4M", "4L16", "3T", "3L19"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "9L25", "8M", "8L25", "7L14", "7V", "6L14", "5L14", "4M", "4L16", "3T", "3L19"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fissure: ["9E", "8E", "7E", "6E", "5E", "4E"], flail: ["9L10", "8L10", "7L40", "6L40", "5L40"], @@ -29839,16 +30600,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { highhorsepower: ["9M"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], icefang: ["9M"], - iceshard: ["9L15", "8L15", "7L24", "6L24", "5L28", "4L28"], + iceshard: ["9L15", "8L15", "7L24", "6L24", "5L24", "4L28"], iciclecrash: ["9E", "8E", "7E", "6E", "5E"], iciclespear: ["9M", "8M", "7E", "6E", "5E", "5D", "4E", "3E"], - icywind: ["9M", "9L30", "8M", "8L30", "7T", "7L21", "7V", "6T", "6L21", "5T", "5L25", "4T", "4L25", "3T"], + icywind: ["9M", "9L30", "8M", "8L30", "7T", "7L21", "7V", "6T", "6L21", "5T", "5L21", "4T", "4L25", "3T"], lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], mimic: ["3T"], - mist: ["9L20", "8L20", "7L35", "7V", "6L35", "5L40", "4L40", "3L37", "3S0"], - mudbomb: ["7L18", "6L18", "5L20", "4L20"], + mist: ["9L20", "8L20", "7L35", "7V", "6L35", "5L35", "4L40", "3L37", "3S0"], + mudbomb: ["7L18", "6L18", "5L18", "4L20"], mudshot: ["9M", "8M", "7E", "6E", "5E", "4E", "3E", "3S0"], - mudslap: ["9M", "9L1", "8L1", "7L11", "7V", "6L11", "5L13", "4T", "4L13", "3T"], + mudslap: ["9M", "9L1", "8L1", "7L11", "7V", "6L11", "5L11", "4T", "4L13", "3T"], mudsport: ["7L5", "6L5", "5L4", "4L4"], naturalgift: ["4M"], odorsleuth: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1"], @@ -29880,7 +30641,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - takedown: ["9M", "9L40", "8L40", "7L28", "7E", "7V", "6L28", "6E", "5L32", "5E", "4L32", "4E", "3L28", "3E"], + takedown: ["9M", "9L40", "8L40", "7L28", "7E", "7V", "6L28", "6E", "5L28", "5E", "4L32", "4E", "3L28", "3E"], terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], @@ -29891,26 +30652,26 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, piloswine: { learnset: { - amnesia: ["9M", "9L37", "8M", "8L37", "7L58", "7V", "6L58", "5L65", "4L65", "3L70"], + amnesia: ["9M", "9L37", "8M", "8L37", "7L58", "7V", "6L58", "5L58", "4L65", "3L70"], ancientpower: ["9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], avalanche: ["9M", "8M", "4M"], - blizzard: ["9M", "9L58", "8M", "8L58", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L56", "4M", "4L56", "3M", "3L56"], + blizzard: ["9M", "9L58", "8M", "8L58", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L52", "4M", "4L56", "3M", "3L56"], bodyslam: ["9M", "8M", "3T"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], charm: ["9M"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["7V", "3T"], detect: ["7V"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L51", "8M", "8L51", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L40", "4M", "4L40", "3M"], - endeavor: ["7T", "6T", "5T", "4T"], - endure: ["9M", "9L25", "8M", "8L25", "7L14", "7V", "6L14", "5L16", "4M", "4L16", "3T", "3L1"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "9L25", "8M", "8L25", "7L14", "7V", "6L14", "5L14", "4M", "4L16", "3T", "3L1"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flail: ["9L1", "8L1"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], @@ -29924,16 +30685,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { hornattack: ["3L1"], hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - icefang: ["9M", "9L0", "8M", "8L0", "7L24", "6L24", "5L28", "4L28"], + icefang: ["9M", "9L0", "8M", "8L0", "7L24", "6L24", "5L24", "4L28"], iceshard: ["9L15", "8L15"], iciclespear: ["9M", "8M"], - icywind: ["9M", "9L30", "8M", "8L30", "7T", "7L21", "7V", "6T", "6L21", "5T", "5L25", "4T", "4L25", "3T"], + icywind: ["9M", "9L30", "8M", "8L30", "7T", "7L21", "7V", "6T", "6L21", "5T", "5L21", "4T", "4L25", "3T"], lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], mimic: ["3T"], - mist: ["9L20", "8L20", "7L37", "7V", "6L37", "5L48", "4L48", "3L42"], - mudbomb: ["7L18", "6L18", "5L20", "4L20"], + mist: ["9L20", "8L20", "7L37", "7V", "6L37", "5L37", "4L48", "3L42"], + mudbomb: ["7L18", "6L18", "5L18", "4L20"], mudshot: ["9M", "8M"], - mudslap: ["9M", "9L1", "8L1", "7L11", "7V", "6L11", "5L13", "4T", "4L13", "3T"], + mudslap: ["9M", "9L1", "8L1", "7L11", "7V", "6L11", "5L11", "4T", "4L13", "3T"], mudsport: ["7L1", "6L1", "5L1", "4L1"], naturalgift: ["4M"], odorsleuth: ["7L1", "6L1", "5L1", "4L1", "3L1"], @@ -29966,9 +30727,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], tackle: ["9L1", "8L1"], - takedown: ["9M", "9L44", "8L44", "7L28", "7V", "6L28", "5L32", "4L32", "3L28"], + takedown: ["9M", "9L44", "8L44", "7L28", "7V", "6L28", "5L28", "4L32", "3L28"], terablast: ["9M"], thrash: ["9L65", "8L65", "7L41", "6L41", "5L41"], + throatchop: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], }, @@ -29982,7 +30744,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1"], attract: ["8M", "7M", "6M", "5M", "4M"], avalanche: ["9M", "8M", "4M"], - blizzard: ["9M", "9L58", "8M", "8L58", "7M", "7L52", "6M", "6L52", "5M", "5L56", "4M", "4L56"], + blizzard: ["9M", "9L58", "8M", "8L58", "7M", "7L52", "6M", "6L52", "5M", "5L52", "4M", "4L56"], block: ["7T", "6T", "5T", "4T"], bodypress: ["9M", "8M"], bodyslam: ["9M", "8M"], @@ -29990,20 +30752,23 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], charm: ["9M"], confide: ["7M", "6M"], + curse: ["9M"], dig: ["9M", "8M", "6M", "5M", "4M"], + doubleedge: ["9M"], doublehit: ["9L0", "8L0", "7L33", "6L33", "5L33", "5S0", "4L33"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L51", "8M", "8L51", "7M", "7L46", "6M", "6L46", "6S1", "5M", "5L40", "4M", "4L40"], - endeavor: ["7T", "6T", "5T", "4T"], - endure: ["9M", "9L25", "8M", "8L25", "7L14", "6L14", "5L16", "4M", "4L16"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "9L25", "8M", "8L25", "7L14", "6L14", "5L14", "4M", "4L16"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], flail: ["9L1", "8L1"], frustration: ["7M", "6M", "5M", "4M"], furyattack: ["7L1"], furycutter: ["4T"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], - hail: ["8M", "7M", "7L21", "6M", "6L21", "5M", "5L25", "5S0", "4M", "4L25"], + hail: ["8M", "7M", "7L21", "6M", "6L21", "5M", "5L21", "5S0", "4M", "4L25"], + hardpress: ["9M"], haze: ["9M"], headbutt: ["4T"], heavyslam: ["9M", "8M"], @@ -30011,7 +30776,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { highhorsepower: ["9M", "8M"], hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], - icefang: ["9M", "9L1", "8M", "8L1", "7L24", "6L24", "5L28", "5S0", "4L28"], + icefang: ["9M", "9L1", "8M", "8L1", "7L24", "6L24", "5L24", "5S0", "4L28"], iceshard: ["9L15", "8L15"], iciclecrash: ["6S1"], iciclespear: ["9M", "8M", "6S1"], @@ -30019,10 +30784,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], knockoff: ["9M", "7T", "6T", "5T", "4T"], lightscreen: ["8M", "7M", "6M", "5M", "4M"], - mist: ["9L20", "8L20", "7L37", "6L37", "5L48", "4L48"], - mudbomb: ["7L18", "6L18", "5L20", "4L20"], + mist: ["9L20", "8L20", "7L37", "6L37", "5L37", "4L48"], + mudbomb: ["7L18", "6L18", "5L18", "4L20"], mudshot: ["9M", "8M"], - mudslap: ["9M", "9L1", "8L1", "7L11", "6L11", "5L13", "4T", "4L13"], + mudslap: ["9M", "9L1", "8L1", "7L11", "6L11", "5L11", "4T", "4L13"], mudsport: ["7L1", "6L1", "5L1", "4L1"], naturalgift: ["4M"], odorsleuth: ["7L1", "6L1", "5L1", "4L1"], @@ -30043,7 +30808,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], sandtomb: ["9M", "8M"], - scaryface: ["9M", "8M", "7L1", "6L1", "5L65", "4L65"], + scaryface: ["9M", "8M", "7L1", "6L1", "5L58", "4L65"], secretpower: ["6M", "4M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], smackdown: ["9M"], @@ -30057,9 +30822,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["7M", "6M", "5M", "4M"], tackle: ["9L1", "8L1"], - takedown: ["9M", "9L44", "8L44", "7L28", "6L28", "5L32", "5S0", "4L32"], + takedown: ["9M", "9L44", "8L44", "7L28", "6L28", "5L28", "5S0", "4L32"], terablast: ["9M"], thrash: ["9L65", "8L65", "7L41", "6L41", "5L41"], + throatchop: ["9M"], toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], }, @@ -30071,7 +30837,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { corsola: { learnset: { amnesia: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], - ancientpower: ["8L20", "7L17", "7V", "6L17", "5L32", "4T", "4L32", "3L45"], + ancientpower: ["8L20", "7L17", "7V", "6L17", "5L20", "4T", "4L32", "3L45"], aquaring: ["8L10", "7L38", "7E", "6L38", "6E", "5L37", "5E", "4L37", "4E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], barrier: ["7E", "6E", "5E", "4E", "3E"], @@ -30080,7 +30846,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["8M", "3T"], brine: ["8M", "7L27", "6L27", "4M"], bubble: ["7L4", "7V", "6L4", "5L8", "5D", "4L8", "3L12"], - bubblebeam: ["8L25", "7L10", "7V", "6L10", "5L25", "4L25", "3L23"], + bubblebeam: ["8L25", "7L10", "7V", "6L10", "5L17", "4L25", "3L23"], bulldoze: ["8M", "7M", "6M", "5M"], calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], camouflage: ["7E", "6E"], @@ -30092,7 +30858,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["8M", "6M", "5M", "4M", "3M"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - earthpower: ["8M", "8L45", "7T", "7L47", "6T", "6L47", "5T", "5L53", "4T", "4L53"], + earthpower: ["8M", "8L45", "7T", "7L47", "6T", "6L47", "5T", "5L47", "4T", "4L53"], earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], endeavor: ["7T", "6T", "5T", "4T"], endure: ["8M", "8L15", "7L35", "7V", "6L35", "5L35", "4M", "3T"], @@ -30114,23 +30880,23 @@ export const Learnsets: {[k: string]: LearnsetData} = { lifedew: ["8L35"], lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], liquidation: ["8M", "7T", "7E"], - luckychant: ["7L23", "6L23", "5L28", "4L28"], + luckychant: ["7L23", "6L23", "5L23", "4L28"], magiccoat: ["7T", "6T", "5T", "4T"], meteorbeam: ["8T"], mimic: ["3T"], - mirrorcoat: ["8L55", "7L45", "7V", "6L45", "5L48", "4L48", "3L39"], + mirrorcoat: ["8L55", "7L45", "7V", "6L45", "5L45", "4L48", "3L39"], mist: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], mudslap: ["7V", "4T", "3T"], mudsport: ["3S0"], naturalgift: ["4M"], naturepower: ["8E", "7M", "7E", "6M", "6E", "5E", "4E"], - powergem: ["8M", "8L40", "7L41", "7S1", "6L41", "5L44", "4L44"], + powergem: ["8M", "8L40", "7L41", "7S1", "6L41", "5L41", "4L44"], protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - recover: ["8L50", "7L8", "7V", "6L8", "5L13", "4L13", "3L17"], + recover: ["8L50", "7L8", "7V", "6L8", "5L10", "4L13", "3L17"], reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], - refresh: ["7L13", "6L13", "5L16", "4L16", "3L17"], + refresh: ["7L13", "6L13", "5L13", "4L16", "3L17"], rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], rockblast: ["8M", "7L31", "6L31", "5L20", "4L20", "3L34"], @@ -30149,7 +30915,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - spikecannon: ["7L20", "7V", "6L20", "5L40", "4L40", "3L28"], + spikecannon: ["7L20", "7V", "6L20", "5L27", "4L40", "3L28"], stealthrock: ["8M", "7T", "6T", "5T", "5D", "4M"], stompingtantrum: ["8M", "7T"], stoneedge: ["8M", "7M", "6M", "5M", "4M"], @@ -30327,7 +31093,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], bounce: ["8M", "7T", "6T", "5T", "4T"], brine: ["8M", "5D", "4M"], - bubblebeam: ["8L20", "7L18", "7V", "6L18", "5L19", "4L19", "3L22"], + bubblebeam: ["8L20", "7L18", "7V", "6L18", "5L18", "4L19", "3L22"], bulletseed: ["8M", "8L28", "7L38", "6L38", "5L27", "4M", "4L27"], captivate: ["4M"], chargebeam: ["7M", "6M", "5M", "4M"], @@ -30343,7 +31109,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], flail: ["8E", "7E", "6E", "5E", "4E"], flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], - focusenergy: ["8M", "8L8", "7L22", "7V", "6L22", "5L23", "4L23", "3L33"], + focusenergy: ["8M", "8L8", "7L22", "7V", "6L22", "5L22", "4L23", "3L33"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gunkshot: ["8M", "7T", "6T", "5T", "4T"], haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], @@ -30351,7 +31117,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], hydropump: ["8M", "8L36", "7L42", "6L42", "5L42"], hyperbeam: ["8M", "8L44", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L45", "4M", "4L45", "3M", "3L55"], - icebeam: ["8M", "8L32", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L40", "4M", "4L40", "3M", "3L44"], + icebeam: ["8M", "8L32", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L40", "3M", "3L44"], icywind: ["8M", "7T", "6T", "5T", "4T"], incinerate: ["6M", "5M"], lockon: ["8L24", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L11"], @@ -30372,7 +31138,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], secretpower: ["6M", "4M", "3M"], seedbomb: ["8M", "7T", "6T", "5T", "4T"], - signalbeam: ["7T", "7L30", "6T", "6L30", "5T", "5L36", "4T", "4L36"], + signalbeam: ["7T", "7L30", "6T", "6L30", "5T", "5L30", "4T", "4L36"], sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], smackdown: ["7M", "6M", "5M"], snore: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], @@ -30389,7 +31155,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], watergun: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - waterpulse: ["8L4", "7T", "7L26", "7E", "6T", "6L26", "6E", "5L32", "5E", "4M", "4L32", "3M"], + waterpulse: ["8L4", "7T", "7L26", "7E", "6T", "6L26", "6E", "5L26", "5E", "4M", "4L32", "3M"], waterspout: ["8E", "7E", "6E", "5E", "4E"], whirlpool: ["8M", "7V", "4M"], }, @@ -30403,7 +31169,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], bounce: ["8M", "7T", "6T", "5T", "4T"], brine: ["8M", "4M"], - bubblebeam: ["8L20", "7L18", "7V", "6L18", "5L19", "4L19", "3L22"], + bubblebeam: ["8L20", "7L18", "7V", "6L18", "5L18", "4L19", "3L22"], bulletseed: ["8M", "8L30", "7L46", "6L46", "5L29", "4M", "4L29", "3M"], captivate: ["4M"], chargebeam: ["7M", "6M", "5M", "4M"], @@ -30420,7 +31186,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], flashcannon: ["8M", "7M", "6M", "5M", "4M"], - focusenergy: ["8M", "8L1", "7L22", "7V", "6L22", "5L23", "4L23", "3L38"], + focusenergy: ["8M", "8L1", "7L22", "7V", "6L22", "5L22", "4L23", "3L38"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], gigaimpact: ["8M", "7M", "6M", "5M", "4M"], gunkshot: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], @@ -30428,7 +31194,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], hydropump: ["8M", "8L42", "7L52", "6L52", "5L52"], hyperbeam: ["8M", "8L54", "7M", "7L58", "7V", "6M", "6L58", "5M", "5L55", "4M", "4L55", "4S0", "3M", "3L70"], - icebeam: ["8M", "8L36", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L48", "4M", "4L48", "4S0", "3M", "3L54"], + icebeam: ["8M", "8L36", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L48", "4S0", "3M", "3L54"], icywind: ["8M", "7T", "6T", "5T", "4T"], incinerate: ["6M", "5M"], liquidation: ["8M"], @@ -30452,7 +31218,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], seedbomb: ["8M", "7T", "6T", "5T", "4T"], seismictoss: ["3T"], - signalbeam: ["7T", "7L34", "6T", "6L34", "5T", "5L42", "4T", "4L42", "4S0"], + signalbeam: ["7T", "7L34", "6T", "6L34", "5T", "5L34", "4T", "4L42", "4S0"], skittersmack: ["8T"], sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -30474,7 +31240,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["8L1", "7T", "6T", "4M", "3M"], whirlpool: ["8M", "7V", "4M"], wrap: ["8L1"], - wringout: ["7L28", "6L28", "5L36", "4L36"], + wringout: ["7L28", "6L28", "5L28", "4L36"], }, eventData: [ {generation: 4, level: 50, gender: "F", nature: "Serious", abilities: ["suctioncups"], moves: ["octazooka", "icebeam", "signalbeam", "hyperbeam"], pokeball: "cherishball"}, @@ -30517,9 +31283,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { drillpeck: ["9L25", "8L25", "7L25"], drillrun: ["9M", "8M"], dualwingbeat: ["9M", "8T"], + endeavor: ["9M"], endure: ["9M", "8M", "7V", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fakeout: ["9E", "8E", "7E", "6E", "5E", "4E"], + featherdance: ["9M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], focuspunch: ["9M", "7T", "6T", "5D", "4M", "3M"], @@ -30583,7 +31351,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], weatherball: ["9M", "8M"], }, @@ -30600,16 +31368,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { aircutter: ["4T"], airslash: ["8M", "8L32", "7L36", "6L36", "5L36"], amnesia: ["8M", "7E", "6E", "5E"], - aquaring: ["8L36", "7L39", "6L39", "5L46", "4L46"], + aquaring: ["8L36", "7L39", "6L39", "5L39", "4L46"], attract: ["8M", "7M", "6M", "5M", "4M"], blizzard: ["8M", "7M", "6M", "5M", "4M"], bounce: ["8M", "8L40", "7T", "7L46", "6T", "6L46", "5T", "5L40", "4T", "4L40"], bubble: ["7L1", "6L1", "5L1", "4L1"], - bubblebeam: ["8L24", "7L7", "6L7", "5L10", "4L10"], + bubblebeam: ["8L24", "7L7", "6L7", "5L7", "4L10"], bulldoze: ["8M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], - confuseray: ["8E", "7L11", "6L11", "5L37", "4L37"], + confuseray: ["8E", "7L11", "6L11", "5L11", "4L37"], dive: ["8M", "6M", "5M", "4T"], doubleteam: ["7M", "6M", "5M", "4M"], earthquake: ["8M", "7M", "6M", "5M", "4M"], @@ -30642,22 +31410,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { snore: ["8M", "7T", "6T", "5T", "4T"], splash: ["8E", "7E", "6E", "5E", "4E"], substitute: ["8M", "7M", "6M", "5M", "4M"], - supersonic: ["8L4", "7L3", "6L3", "5L4", "4L4"], + supersonic: ["8L4", "7L3", "6L3", "5L3", "4L4"], surf: ["8M", "7M", "6M", "5M", "4M"], swagger: ["7M", "6M", "5M", "4M"], swift: ["8M", "4T"], tackle: ["8L1", "7L1", "6L1", "5L1", "4L1"], tailwind: ["8E", "7T", "7E", "6E"], - takedown: ["8L44", "7L27", "6L27", "5L31", "4L31"], + takedown: ["8L44", "7L27", "6L27", "5L27", "4L31"], toxic: ["7M", "6M", "5M", "4M"], twister: ["8E", "7E", "6E", "5E", "4E"], waterfall: ["8M", "7M", "6M", "5M", "4M"], watergun: ["8L1"], - waterpulse: ["8L12", "7T", "7L19", "6T", "6L19", "5L28", "4M", "4L28"], + waterpulse: ["8L12", "7T", "7L19", "6T", "6L19", "5L19", "4M", "4L28"], watersport: ["7E", "6E", "5E", "4E"], whirlpool: ["8M", "4M"], wideguard: ["8L16", "7L23", "7E", "6L23", "6E", "5L23", "5E"], - wingattack: ["8L8", "7L14", "6L14", "5L22", "4L22"], + wingattack: ["8L8", "7L14", "6L14", "5L14", "4L22"], }, }, mantine: { @@ -30668,7 +31436,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aircutter: ["5D", "4T"], airslash: ["8M", "8L32", "7L36", "6L36", "5L36"], amnesia: ["8M", "7E", "6E", "5E"], - aquaring: ["8L36", "7L39", "6L39", "5L46", "4L46"], + aquaring: ["8L36", "7L39", "6L39", "5L39", "4L46"], aquatail: ["7T", "6T", "5T", "4T"], assurance: ["8M"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -30683,7 +31451,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["8M", "8L1", "7L1", "6L1", "5L1", "4M", "4L1"], captivate: ["4M"], confide: ["7M", "6M"], - confuseray: ["8E", "7L11", "7V", "6L11", "5L37", "4L37", "3L50"], + confuseray: ["8E", "7L11", "7V", "6L11", "5L11", "4L37", "3L50"], curse: ["7V"], defog: ["7T", "4M"], dive: ["8M", "6M", "5M", "4T", "3M"], @@ -30739,16 +31507,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["8M", "7V", "4T", "3T"], tackle: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], tailwind: ["8E", "7T", "6T", "5T", "4T"], - takedown: ["8L44", "7L27", "7V", "6L27", "5L31", "4L31", "3L22"], + takedown: ["8L44", "7L27", "7V", "6L27", "5L27", "4L31", "3L22"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], twister: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], watergun: ["8L1"], - waterpulse: ["8L12", "7T", "7L19", "6T", "6L19", "5L28", "4M", "4L28", "3M", "3L43"], + waterpulse: ["8L12", "7T", "7L19", "6T", "6L19", "5L19", "4M", "4L28", "3M", "3L43"], watersport: ["7E", "6E", "5E", "4E"], whirlpool: ["8M", "7V", "4M"], wideguard: ["8L16", "7L23", "7E", "6L23", "6E", "5L23", "5E"], - wingattack: ["8L1", "7L14", "7V", "6L14", "5L22", "4L22", "3L36"], + wingattack: ["8L1", "7L14", "7V", "6L14", "5L14", "4L22", "3L36"], }, eventData: [ {generation: 3, level: 10, gender: "M", moves: ["tackle", "bubble", "supersonic"], pokeball: "pokeball"}, @@ -30756,89 +31524,96 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, skarmory: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "8L16", "7L31", "7V", "6L12", "5L12", "4L12", "3L16"], - aircutter: ["8E", "7L12", "6L12", "5L23", "4T", "4L23", "3L29"], - airslash: ["8M", "7L45", "6L42", "5L42", "4L39"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L16", "8M", "8L16", "7L31", "7V", "6L12", "5L12", "4L12", "3L16"], + aircutter: ["9M", "9E", "8E", "7L12", "6L12", "5L23", "4T", "4L23", "3L29"], + airslash: ["9M", "8M", "7L45", "6L42", "5L42", "4L39"], assurance: ["8M", "7E", "6E", "5E", "4E"], attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], autotomize: ["8L32", "7L50", "6L39", "5L39"], - bodypress: ["8M"], - bravebird: ["8M", "8L52", "7E", "6E", "5E", "4E"], + bodypress: ["9M", "8M"], + bravebird: ["9M", "9L52", "8M", "8L52", "7E", "6E", "5E", "4E"], captivate: ["4M"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], cut: ["7V", "6M", "5M", "4M", "3M"], - darkpulse: ["8M", "7M", "6M", "5T", "4M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], defog: ["7T", "4M"], detect: ["7V"], doubleedge: ["3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - drillpeck: ["8L36", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], - dualwingbeat: ["8T"], - endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - feint: ["8E", "7L20", "6L20", "5L20", "4L20"], + drillpeck: ["9L36", "8L36", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + drillrun: ["9M"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9E", "8E", "7L20", "6L20", "5L20", "4L20"], flash: ["6M", "5M", "4M"], - flashcannon: ["8M", "7M", "6M", "5M", "4M"], - fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], + fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - furyattack: ["8L8", "7L17", "7V", "6L17", "5L17", "4L17", "3L26"], + furyattack: ["9L8", "8L8", "7L17", "7V", "6L17", "5L17", "4L17", "3L26"], furycutter: ["4T"], + gigaimpact: ["9M"], guardswap: ["8M", "7E", "6E", "5E", "4E"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "6T", "5T", "4T"], - irondefense: ["8M", "8L48", "7T", "6T", "5T", "4T"], - ironhead: ["8M", "7T", "6T", "5T"], - leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - metalclaw: ["8L12", "7L9", "6L9"], - metalsound: ["8L40", "7L42", "6L31", "5L31", "4L31", "3L45"], + hurricane: ["9M"], + hyperbeam: ["9M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + irondefense: ["9M", "9L48", "8M", "8L48", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + metalclaw: ["9M", "9L12", "8L12", "7L9", "6L9"], + metalsound: ["9M", "9L40", "8L40", "7L42", "6L31", "5L31", "4L31", "3L45"], mimic: ["3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], - nightslash: ["8E", "7L53", "6L50", "5L50", "4L45"], + nightslash: ["9E", "8E", "7L53", "6L50", "5L50", "4L45"], ominouswind: ["4T"], - payback: ["8M", "7M", "6M", "5M", "4M"], - peck: ["8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + payback: ["9L32", "8M", "7M", "6M", "5M", "4M"], + peck: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], pluck: ["5M", "4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M"], - roost: ["8E", "7M", "6M", "5T", "5D", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + roost: ["9E", "8E", "7M", "6M", "5T", "5D", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L4", "7L6", "7V", "6L6", "5L6", "4L6", "3L10"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - sandtomb: ["8M"], + sandattack: ["9L4", "8L4", "7L6", "7V", "6L6", "5L6", "4L6", "3L10"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M"], secretpower: ["6M", "4M", "3M"], - skyattack: ["8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + skyattack: ["9E", "8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], skydrop: ["7M", "6M", "5M"], - slash: ["8L24", "7L39", "6L39", "5L45", "4L42"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + slash: ["9L24", "8L24", "7L39", "6L39", "5L45", "4L42"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - spikes: ["8M", "8L44", "7L28", "6L28", "5L28", "4L27", "3L42"], - stealthrock: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], - steelbeam: ["8T"], - steelwing: ["8M", "8L28", "7M", "7L34", "7V", "6M", "6L34", "5L34", "4M", "4L34", "3M", "3L32"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + spikes: ["9M", "9L44", "8M", "8L44", "7L28", "6L28", "5L28", "4L27", "3L42"], + stealthrock: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + steelbeam: ["9M", "8T"], + steelwing: ["9L28", "8M", "8L28", "7M", "7L34", "7V", "6M", "6L34", "5L34", "4M", "4L34", "3M", "3L32"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7L23", "7V", "6L9", "5L9", "4T", "4L9", "3T", "3L13"], - swordsdance: ["8M", "7M", "6M", "5M", "4M"], - tailwind: ["7T", "6T", "5T", "4T"], - taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], - thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swift: ["9M", "8M", "7L23", "7V", "6L9", "5L9", "4T", "4L9", "3T", "3L13"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], twister: ["4T"], - whirlwind: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], - wingattack: ["8L20"], - xscissor: ["8M", "7M", "6M", "5M", "4M"], + whirlwind: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + wingattack: ["9L20", "8L20"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], }, }, houndour: { @@ -30858,7 +31633,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "7M", "6M", "5T", "5D", "4M"], destinybond: ["9E", "7E", "6E"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], embargo: ["7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L40"], @@ -30894,6 +31669,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7V", "3T"], odorsleuth: ["7L20", "6L20", "5L20", "4L22", "3L31"], overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["9M"], payback: ["7M", "6M", "5M", "4M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], psychicfangs: ["9M"], @@ -30928,6 +31704,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["7V", "4T", "3T"], takedown: ["9M"], taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], thunderfang: ["9M", "9E", "7E", "6E", "5E", "4E"], @@ -30957,11 +31734,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["7V"], darkpulse: ["9M", "7M", "6M", "6S0", "5T", "4M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], embargo: ["7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L44"], ember: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endeavor: ["9M"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], feintattack: ["7L35", "7V", "6L35", "5L35", "4L38", "3L43"], @@ -30995,6 +31773,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7V", "3T"], odorsleuth: ["7L20", "6L20", "5L20", "4L22", "3L35"], overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["9M"], payback: ["7M", "6M", "5M", "4M"], protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], psychicfangs: ["9M"], @@ -31027,9 +31806,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["7V", "4T", "3T"], takedown: ["9M"], taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], torment: ["9L35", "7M", "6M", "5M", "4M", "3M"], toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], @@ -31054,16 +31834,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M", "9L33", "7L33", "6L33", "5L33", "4L33"], confide: ["7M", "6M"], counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L9"], dig: ["9M"], - doubleedge: ["9L42", "7L42", "7V", "6L42", "5L42", "4L42", "3T", "3L49"], + doubleedge: ["9M", "9L42", "7L42", "7V", "6L42", "5L42", "4L42", "3T", "3L49"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M"], - endeavor: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + endeavor: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], endure: ["9M", "9L19", "7L19", "7V", "6L19", "5L28", "4M", "4L28", "3T", "3L41"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], fissure: ["9E", "7E", "6E", "5E", "4E", "3E"], @@ -31143,16 +31923,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["7V"], + curse: ["9M", "7V"], defensecurl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L9"], dig: ["9M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], earthpower: ["9M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L43", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L46", "4M", "4L46", "3M", "3L49"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "7V", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], @@ -31219,6 +31999,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], @@ -31241,11 +32022,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9L23", "7L23", "7V", "6L23", "5L23", "4L23", "3L41"], - curse: ["7V"], + curse: ["9M", "7V"], detect: ["7V"], dig: ["9M"], disable: ["9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], - doubleedge: ["9L55", "3T"], + doubleedge: ["9M", "9L55", "3T"], doublekick: ["9E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], @@ -31257,6 +32038,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], headbutt: ["7V", "4T"], @@ -31282,7 +32064,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], psyshieldbash: ["9E"], psyshock: ["9M", "7M", "6M", "5M"], rage: ["7E", "6E", "5E"], @@ -31317,7 +32099,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], thrash: ["9E", "7E", "6E", "5E", "4E"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], @@ -31343,13 +32125,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "9L27"], chargebeam: ["9M"], confuseray: ["9M", "9L23"], + curse: ["9M"], dig: ["9M"], - doubleedge: ["9L55"], + doubleedge: ["9M", "9L55"], earthpower: ["9M"], earthquake: ["9M"], endure: ["9M"], energyball: ["9M"], + expandingforce: ["9M"], facade: ["9M"], + futuresight: ["9M"], gigaimpact: ["9M"], gravity: ["9M"], helpinghand: ["9M"], @@ -31364,6 +32149,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M"], psybeam: ["9M"], psychic: ["9M"], + psychicnoise: ["9M"], + psychup: ["9M"], psyshieldbash: ["9L0"], psyshock: ["9M"], raindance: ["9M"], @@ -31387,6 +32174,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M", "9L21"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunder: ["9M"], thunderbolt: ["9M"], thunderwave: ["9M"], @@ -31407,7 +32195,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { meanlook: ["5S1"], odorsleuth: ["5S1"], seismictoss: ["6S2"], - sketch: ["7L1", "7V", "6L1", "6S2", "5L1", "5D", "4L1", "3L1", "3S0"], + sketch: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "5D", "4L1", "3L1", "3S0"], sleeptalk: ["5D"], spore: ["5S1"], }, @@ -31525,85 +32313,92 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, raikou: { learnset: { - agility: ["8M"], - aurasphere: ["8M", "4S3"], - bite: ["8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - bodyslam: ["8M", "3T"], + agility: ["9M", "8M"], + aurasphere: ["9M", "8M", "4S3"], + bite: ["9L12", "8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], bulldoze: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "8L18", "7M", "7L78", "7S7", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], - charge: ["8L1"], - chargebeam: ["7M", "6M", "5M", "4M"], + calmmind: ["9M", "9L18", "8M", "8L18", "7M", "7L78", "7S7", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], + charge: ["9M", "9L1", "8L1"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], - crunch: ["8M", "8L42", "7L43", "7V", "7S5", "7S6", "6L43", "6S4", "5L43", "4L43", "3L61", "3S1"], + crunch: ["9M", "9L42", "8M", "8L42", "7L43", "7V", "7S5", "7S6", "6L43", "6S4", "5L43", "4L43", "3L61", "3S1"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], dig: ["8M", "7V", "6M", "5M", "4M", "3M"], - discharge: ["8L54", "7L1", "7S5", "7S6", "6L1", "5L57", "4L57"], - doubleedge: ["3T"], + discharge: ["9L54", "9S9", "8L54", "7L1", "7S5", "7S6", "6L1", "5L57", "4L57"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - eerieimpulse: ["8M"], - electricterrain: ["8M"], - endure: ["8M", "7V", "4M", "3T"], - extrasensory: ["8L48", "7L1", "7S7", "6L1", "5L64", "4L64"], - extremespeed: ["8L1", "8S8", "4S3"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "8M"], + electroball: ["9M"], + electroweb: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["9L48", "9S9", "8L48", "7L1", "7S7", "6L1", "5L64", "4L64"], + extremespeed: ["9L1", "8L1", "8S8", "4S3"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], headbutt: ["7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - howl: ["8L36", "8S8"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], + howl: ["9L36", "8L36", "8S8"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - lightscreen: ["8M", "7M", "6M", "5M", "4M"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], magnetrise: ["7T", "6T", "5T", "4T"], mimic: ["3T"], - mudslap: ["7V", "4T", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], quash: ["7M", "6M", "5M"], - quickattack: ["8L1", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], - raindance: ["8M", "8L66", "7M", "7L71", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M"], - reflect: ["8M", "8L60", "7M", "7L36", "7V", "7S5", "7S6", "6M", "6L36", "6S4", "5M", "5L36", "4M", "4L36", "4S2", "3M", "3L51", "3S1"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "8L1", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], + raindance: ["9M", "9L66", "9S9", "8M", "8L66", "7M", "7L71", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M"], + reflect: ["9M", "9L60", "9S9", "8M", "8L60", "7M", "7L36", "7V", "7S5", "7S6", "6M", "6L36", "6S4", "5M", "5L36", "4M", "4L36", "4S2", "3M", "3L51", "3S1"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], risingvoltage: ["8T"], - roar: ["8L24", "7M", "7L15", "7V", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], + roar: ["9M", "9L24", "8L24", "7M", "7L15", "7V", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], rockclimb: ["4M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scald: ["8M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["9M", "8M"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "6M", "5M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - snarl: ["8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - spark: ["8L6", "7L29", "7V", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], + spark: ["9L6", "8L6", "7L29", "7V", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supercellslam: ["9M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], - throatchop: ["8M", "7T"], - thunder: ["8M", "8L72", "7M", "7L85", "7V", "6M", "6L85", "5M", "5L85", "4M", "4L71", "3M", "3L71"], - thunderbolt: ["8M", "8S8", "7M", "7S7", "6M", "5M", "4M", "3M"], - thunderfang: ["8M", "8L30", "7L50", "7S5", "7S6", "6L50", "6S4", "5L50", "4L50"], - thundershock: ["8L1", "7L8", "7V", "6L8", "5L8", "4L8", "3L11", "3S0"], - thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["9M", "8M", "7T"], + thunder: ["9M", "9L72", "8M", "8L72", "7M", "7L85", "7V", "6M", "6L85", "5M", "5L85", "4M", "4L71", "3M", "3L71"], + thunderbolt: ["9M", "8M", "8S8", "7M", "7S7", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "9L30", "8M", "8L30", "7L50", "7S5", "7S6", "6L50", "6S4", "5L50", "4L50"], + thundershock: ["9L1", "8L1", "7L8", "7V", "6L8", "5L8", "4L8", "3L11", "3S0"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - voltswitch: ["8M", "7M", "7S7", "6M", "5M"], - weatherball: ["8M", "8S8", "4S3"], - wildcharge: ["8M", "7M", "6M", "5M"], - zapcannon: ["8L78", "7V", "4S3"], + trailblaze: ["9M"], + voltswitch: ["9M", "8M", "7M", "7S7", "6M", "5M"], + weatherball: ["9M", "8M", "8S8", "4S3"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + zapcannon: ["9L78", "8L78", "7V", "4S3"], }, eventData: [ {generation: 3, level: 50, shiny: 1, moves: ["thundershock", "roar", "quickattack", "spark"]}, @@ -31615,6 +32410,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["reflect", "crunch", "thunderfang", "discharge"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["thunderbolt", "voltswitch", "extrasensory", "calmmind"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["thunderbolt", "howl", "extremespeed", "weatherball"]}, + {generation: 9, level: 70, moves: ["raindance", "reflect", "discharge", "extrasensory"]}, ], encounters: [ {generation: 2, level: 40}, @@ -31624,86 +32420,89 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, entei: { learnset: { - agility: ["8M"], - bite: ["8L12", "7L1", "7V", "7S5", "7S6", "6L1", "5L1", "4L1", "3L1"], - bodyslam: ["8M", "3T"], - bulldoze: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "8L18", "7M", "7L78", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], + agility: ["9M", "8M"], + bite: ["9L12", "8L12", "7L1", "7V", "7S5", "7S6", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "9L18", "8M", "8L18", "7M", "7L78", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], confide: ["7M", "6M"], - crunch: ["8M", "8L42", "8S8"], + crunch: ["9M", "9L42", "8M", "8L42", "8S8"], crushclaw: ["4S3"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], - dig: ["8M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - ember: ["8L1", "7L8", "7V", "6L8", "5L8", "4L8", "3L11", "3S0"], - endure: ["8M", "7V", "4M", "3T"], - eruption: ["8L78", "7L1", "6L1", "5L85", "4L85"], - extrasensory: ["8L48", "7L1", "6L1", "5L64", "4L64"], - extremespeed: ["8L1", "8S8", "4S3"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - fireblast: ["8M", "8L72", "7M", "7L71", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M", "3L71"], - firefang: ["8M", "8L30", "7L50", "6L50", "6S4", "5L50", "4L50"], - firespin: ["8M", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], - flamecharge: ["7M", "7S7", "6M", "5M"], - flamethrower: ["8M", "8S8", "7M", "7L36", "7V", "6M", "6L36", "6S4", "5M", "5L36", "4M", "4L36", "4S2", "3M", "3L51", "3S1"], - flamewheel: ["8L6"], - flareblitz: ["8M", "4S3"], + ember: ["9L1", "8L1", "7L8", "7V", "6L8", "5L8", "4L8", "3L11", "3S0"], + endure: ["9M", "8M", "7V", "4M", "3T"], + eruption: ["9L78", "8L78", "7L1", "6L1", "5L85", "4L85"], + extrasensory: ["9L48", "9S9", "8L48", "7L1", "6L1", "5L64", "4L64"], + extremespeed: ["9L1", "8L1", "8S8", "4S3"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "9L72", "8M", "8L72", "7M", "7L71", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M", "3L71"], + firefang: ["9M", "9L30", "8M", "8L30", "7L50", "6L50", "6S4", "5L50", "4L50"], + firespin: ["9M", "8M", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], + flamecharge: ["9M", "7M", "7S7", "6M", "5M"], + flamethrower: ["9M", "8M", "8S8", "7M", "7L36", "7V", "6M", "6L36", "6S4", "5M", "5L36", "4M", "4L36", "4S2", "3M", "3L51", "3S1"], + flamewheel: ["9L6", "8L6"], + flareblitz: ["9M", "8M", "4S3"], flash: ["7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], headbutt: ["7V", "4T"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], - helpinghand: ["8M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], howl: ["4S3"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], incinerate: ["6M", "5M"], - ironhead: ["8M", "7T", "7S7", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "7S7", "6T", "5T", "4T"], irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - lavaplume: ["8L54", "7L1", "7S5", "7S6", "6L1", "5L57", "4L57"], - leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lavaplume: ["9L54", "9S9", "8L54", "7L1", "7S5", "7S6", "6L1", "5L57", "4L57"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], mimic: ["3T"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], - overheat: ["8M", "7M", "6M", "5M", "4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], quash: ["7M", "6M", "5M"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - reversal: ["8M"], - roar: ["8L24", "7M", "7L15", "7V", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], + reversal: ["9M", "8M"], + roar: ["9M", "9L24", "8L24", "7M", "7L15", "7V", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], rockclimb: ["4M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - sacredfire: ["8L1", "7L1", "7S7", "6L1"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scaryface: ["8M", "8L36", "8S8"], - scorchingsands: ["8T"], + sacredfire: ["9L1", "8L1", "7L1", "7S7", "6L1"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "9L36", "8M", "8L36", "8S8"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "6M", "5M", "4M"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - smokescreen: ["8L1"], - snarl: ["8M", "7M", "6M", "5M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L1", "8L1"], + snarl: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - stomp: ["8L1", "7L29", "7V", "7S5", "7S6", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "7M", "7S7", "6M", "5M", "4M"], + solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + stomp: ["9L1", "8L1", "7L29", "7V", "7S5", "7S6", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "7S7", "6M", "5M", "4M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "8L66", "7M", "7V", "6M", "5M", "4M", "3M"], - swagger: ["8L60", "7M", "7L43", "7V", "7S5", "7S6", "6M", "6L43", "6S4", "5M", "5L43", "4M", "4L43", "3T", "3L61", "3S1"], - swift: ["8M", "7V", "4T", "3T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "9L66", "9S9", "8M", "8L66", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L60", "9S9", "8L60", "7M", "7L43", "7V", "7S5", "7S6", "6M", "6L43", "6S4", "5M", "5L43", "4M", "4L43", "3T", "3L61", "3S1"], + swift: ["9M", "8M", "7V", "4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - weatherball: ["8M"], - willowisp: ["8M", "7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], }, eventData: [ {generation: 3, level: 50, shiny: 1, moves: ["ember", "roar", "firespin", "stomp"]}, @@ -31715,6 +32514,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["stomp", "bite", "swagger", "lavaplume"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["sacredfire", "stoneedge", "ironhead", "flamecharge"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["flamethrower", "scaryface", "extremespeed", "crunch"]}, + {generation: 9, level: 70, moves: ["sunnyday", "swagger", "lavaplume", "extrasensory"]}, ], encounters: [ {generation: 2, level: 40}, @@ -31724,86 +32524,91 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, suicune: { learnset: { - agility: ["8M"], - airslash: ["8M", "4S3"], + agility: ["9M", "8M"], + airslash: ["9M", "8M", "4S3"], aquaring: ["4S3"], aurorabeam: ["7L29", "7V", "7S5", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], - avalanche: ["8M", "4M"], - bite: ["8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - blizzard: ["8M", "8L78", "7M", "7L85", "7V", "6M", "6L85", "5M", "5L85", "4M", "4L85", "3M"], - bodyslam: ["8M", "3T"], + avalanche: ["9M", "8M", "4M"], + bite: ["9L12", "8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + blizzard: ["9M", "9L78", "8M", "8L78", "7M", "7L85", "7V", "6M", "6L85", "5M", "5L85", "4M", "4L85", "3M"], + bodyslam: ["9M", "8M", "3T"], brine: ["8M", "4M"], bubblebeam: ["7L1", "7V", "7S5", "6L8", "5L8", "4L8", "3L11", "3S0"], bulldoze: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "8L18", "8S6", "7M", "7L78", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], + calmmind: ["9M", "9L18", "8M", "8L18", "8S6", "7M", "7L78", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], + chillingwater: ["9M"], confide: ["7M", "6M"], - crunch: ["8M", "8L42"], + crunch: ["9M", "9L42", "8M", "8L42"], curse: ["7V"], cut: ["7V", "6M", "5M", "4M", "3M"], detect: ["7V"], dig: ["8M", "7V", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], - endure: ["8M", "7V", "4M", "3T"], - extrasensory: ["8L48", "8S6", "7L64", "6L1", "5L64", "4L64"], - extremespeed: ["8L1", "8S6", "4S3"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["9L48", "9S7", "8L48", "8S6", "7L64", "6L1", "5L64", "4L64"], + extremespeed: ["9L1", "8L1", "8S6", "4S3"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gust: ["8L1", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "8L1", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L72", "7L71", "7V", "6L1", "5L71", "4L71", "3L71"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icefang: ["8M", "8L30", "7L50", "6L50", "6S4", "5L50", "4L50"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], + hydropump: ["9M", "9L72", "8M", "8L72", "7L71", "7V", "6L1", "5L71", "4L71", "3L71"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["9M", "9L30", "8M", "8L30", "7L50", "6L50", "6S4", "5L50", "4L50"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], - liquidation: ["8M", "8S6"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["9M", "8M", "8S6"], mimic: ["3T"], - mirrorcoat: ["8L60", "7L43", "7V", "6L43", "6S4", "5L43", "4L43", "3L61", "3S1"], - mist: ["8L1", "7L36", "7V", "7S5", "6L36", "6S4", "5L36", "4L36", "4S2", "3L51", "3S1"], + mirrorcoat: ["9L60", "9S7", "8L60", "7L43", "7V", "6L43", "6S4", "5L43", "4L43", "3L61", "3S1"], + mist: ["9L1", "8L1", "7L36", "7V", "7S5", "6L36", "6S4", "5L36", "4L36", "4S2", "3L51", "3S1"], mudslap: ["7V", "4T", "3T"], naturalgift: ["4M"], ominouswind: ["4T"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], quash: ["7M", "6M", "5M"], - raindance: ["8M", "8L66", "7M", "7L1", "7V", "7S5", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], + raindance: ["9M", "9L66", "9S7", "8M", "8L66", "7M", "7L1", "7V", "7S5", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], - roar: ["8L24", "7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "9L24", "8L24", "7M", "7V", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scald: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["9M", "8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "6M", "5M", "4M"], - sheercold: ["8L1", "7L1", "4S3"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + sheercold: ["9L1", "8L1", "7L1", "4S3"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], - snarl: ["8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + snowscape: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - surf: ["8M", "8L54", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "9L54", "9S7", "8M", "8L54", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "3T"], - tailwind: ["8L36", "7T", "7L57", "6T", "6L1", "5T", "5L57", "4T", "4L57"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwind: ["9M", "9L36", "8L36", "7T", "7L57", "6T", "6L1", "5T", "5L57", "4T", "4L57"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7V"], - waterpulse: ["8L6", "7T", "6T", "4M", "3M"], - weatherball: ["8M"], - whirlpool: ["8M", "7V", "4M"], + trailblaze: ["9M"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7V"], + waterpulse: ["9M", "9L6", "8L6", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["9M", "8M", "7V", "4M"], }, eventData: [ {generation: 3, level: 50, shiny: 1, moves: ["bubblebeam", "raindance", "gust", "aurorabeam"]}, @@ -31813,6 +32618,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 50, shiny: 1, moves: ["aurorabeam", "mist", "mirrorcoat", "icefang"]}, {generation: 7, level: 60, shiny: 1, moves: ["bubblebeam", "aurorabeam", "mist", "raindance"]}, {generation: 8, level: 70, shiny: 1, moves: ["liquidation", "extrasensory", "extremespeed", "calmmind"]}, + {generation: 9, level: 70, moves: ["raindance", "mirrorcoat", "surf", "extrasensory"]}, ], encounters: [ {generation: 2, level: 40}, @@ -31833,11 +32639,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { chipaway: ["7L14", "6L14", "5L14"], confide: ["7M", "6M"], crunch: ["9M", "9L27", "8M", "8L27", "7L41", "7V", "6L41", "5L41", "4L37", "3L43"], - curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], darkpulse: ["9M", "8M", "8L24", "7M", "7L32", "6M", "6L32", "5T", "5L32", "5D", "4M", "4L28"], detect: ["7V"], dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragondance: ["9M", "9E", "8M", "7E", "6E", "5E", "4E", "3E", "3S0"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -31922,11 +32728,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { chipaway: ["7L14", "6L14", "5L14"], confide: ["7M", "6M"], crunch: ["9M", "9L27", "8M", "8L27", "7L47", "7V", "6L47", "5L47", "4L41", "3L47"], - curse: ["7V"], + curse: ["9M", "7V"], darkpulse: ["9M", "8M", "8L24", "7M", "7L34", "6M", "6L34", "5T", "5L34", "4M", "4L28"], detect: ["7V"], dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragondance: ["9M", "8M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -32006,7 +32812,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { block: ["7T", "6T", "5T", "4T"], bodypress: ["9M", "8M"], bodyslam: ["9M", "8M", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], @@ -32015,12 +32821,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["3T"], crunch: ["9M", "9L27", "8M", "8L27", "7L47", "7V", "6L47", "6S3", "6S4", "6S5", "6S6", "5L47", "5S1", "5S2", "4L41", "3L47", "3S0"], - curse: ["7V"], + curse: ["9M", "7V"], cut: ["7V", "6M", "5M", "4M", "3M"], darkpulse: ["9M", "9L1", "8M", "8L24", "7M", "7L34", "6M", "6L34", "5T", "5L34", "4M", "4L28"], detect: ["7V"], dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["7V"], dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -32044,6 +32850,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], furycutter: ["7V", "4T", "3T"], gigaimpact: ["9M", "9L59", "8M", "8L59", "7M", "7L82", "6M", "6L82", "5M", "5L82", "4M"], + hardpress: ["9M"], headbutt: ["7V", "4T"], heavyslam: ["9M", "8M"], helpinghand: ["9M"], @@ -32067,7 +32874,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M"], mudslap: ["9M", "7V", "4T", "3T"], naturalgift: ["4M"], @@ -32144,117 +32951,125 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, lugia: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - aeroblast: ["8L54", "7L43", "7V", "7S7", "7S8", "7S9", "7S10", "6L43", "6S5", "6S6", "5L43", "4L43", "4S2", "4S3", "3L77"], - aircutter: ["4T"], - airslash: ["8M"], - ancientpower: ["8L1", "8S11", "7L57", "7V", "7S7", "7S9", "6L57", "5L57", "4T", "4L57", "4S3", "3L88"], + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aeroblast: ["9L54", "9S12", "8L54", "7L43", "7V", "7S7", "7S8", "7S9", "7S10", "6L43", "6S5", "6S6", "5L43", "4L43", "4S2", "4S3", "3L77"], + aircutter: ["9M", "4T"], + airslash: ["9M", "8M"], + ancientpower: ["9L1", "8L1", "8S11", "7L57", "7V", "7S7", "7S9", "6L57", "5L57", "4T", "4L57", "4S3", "3L88"], aquatail: ["7T", "6T", "5T", "4T"], - avalanche: ["8M", "4M"], - blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "3T"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + bravebird: ["9M"], brine: ["8M", "4M"], bulldoze: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "8L27", "7M", "7L93", "6M", "6L93", "5M", "5L93", "4M", "4L93", "3M"], - chargebeam: ["7M", "6M", "5M", "4M"], + calmmind: ["9M", "9L27", "8M", "8L27", "7M", "7L93", "6M", "6L93", "5M", "5L93", "4M", "4L93", "3M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - curse: ["7V"], + curse: ["9M", "7V"], defog: ["7T", "7S8", "4M"], detect: ["7V"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["7V"], - dragonpulse: ["8M", "8S11", "7T", "6T", "5T", "4M"], - dragonrush: ["8L1", "7L15", "6L15", "6S6", "5L15", "4L15"], - dragontail: ["7M", "6M", "5M"], + dragonpulse: ["9M", "8M", "8S11", "7T", "6T", "5T", "4M"], + dragonrush: ["9L1", "8L1", "7L15", "6L15", "6S6", "5L15", "4L15"], + dragontail: ["9M", "7M", "6M", "5M"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], - dualwingbeat: ["8T"], - earthpower: ["8M", "7T", "7S10", "6T", "5T", "4T"], - earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M", "3S1"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "7S10", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M", "3S1"], echoedvoice: ["7M", "6M", "5M"], - endure: ["8M", "7V", "4M", "3T"], - extrasensory: ["8L36", "8S11", "7L23", "7S7", "7S9", "6L23", "5L23", "4L23", "4S2"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["9L36", "9S12", "8L36", "8S11", "7L23", "7S7", "7S9", "6L23", "5L23", "4L23", "4S2"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], featherdance: ["3S1"], flash: ["6M", "5M", "4M"], - fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["8M", "8L81", "7L79", "7V", "6L79", "5L79", "4L79", "3L99"], - gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gust: ["8L1", "7L9", "7V", "6L9", "5L9", "4L9", "3L22"], + futuresight: ["9M", "9L81", "8M", "8L81", "7L79", "7V", "6L79", "5L79", "4L79", "3L99"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "8L1", "7L9", "7V", "6L9", "5L9", "4L9", "3L22"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["7V", "4T"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hurricane: ["8M", "7S8"], - hydropump: ["8M", "8L72", "7L37", "7V", "6L37", "6S5", "6S6", "5L37", "4L29", "4S2", "3L44", "3S0", "3S1"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - hypervoice: ["8M", "7T", "6T", "5T"], - icebeam: ["8M", "7M", "6M", "6S6", "5M", "4M", "3M"], - icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - imprison: ["8M"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], + hurricane: ["9M", "8M", "7S8"], + hydropump: ["9M", "9L72", "8M", "8L72", "7L37", "7V", "6L37", "6S5", "6S6", "5L37", "4L29", "4S2", "3L44", "3S0", "3S1"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "6S6", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + liquidation: ["9M"], mimic: ["3T"], - mist: ["8L9"], + mist: ["9L9", "8L9"], mudslap: ["7V", "4T", "3T"], naturalgift: ["7L85", "6L85", "5L85", "4M", "4L51"], nightmare: ["7V", "3T"], ominouswind: ["4T"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "7M", "7V", "7S10", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "7S10", "6M", "5M", "4M", "3M"], + psychicnoise: ["9M"], psychoboost: ["3S1"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "7M", "6M", "5M"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], punishment: ["7L50", "6L50", "6S5", "5L50", "4L50", "4S3"], - raindance: ["8M", "8L63", "7M", "7L29", "7V", "6M", "6L29", "6S5", "5M", "5L29", "4M", "4L29", "4S2", "3M", "3L55", "3S0"], - recover: ["8L45", "7L71", "7V", "6L71", "5L71", "4L23", "3L33", "3S0"], - reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L63", "9S12", "8M", "8L63", "7M", "7L29", "7V", "6M", "6L29", "6S5", "5M", "5L29", "4M", "4L29", "4S2", "3M", "3L55", "3S0"], + recover: ["9L45", "9S12", "8L45", "7L71", "7V", "6L71", "5L71", "4L23", "3L33", "3S0"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], roar: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], roost: ["7M", "6M", "5T", "4M"], round: ["8M", "7M", "6M", "5M"], - safeguard: ["8M", "8L18", "7M", "7L65", "7V", "6M", "6L65", "5M", "5L65", "4M", "4L9", "4S3", "3M", "3L11"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scaleshot: ["8T"], + safeguard: ["9L18", "8M", "8L18", "7M", "7L65", "7V", "6M", "6L65", "5M", "5L65", "4M", "4L9", "4S3", "3M", "3L11"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - skillswap: ["8M", "7T", "7S7", "7S9", "6T", "5T", "4M", "3M"], - skyattack: ["8L90", "7T", "7L99", "6T", "6L99", "5T", "5L99", "4T", "4L99"], + skillswap: ["9M", "8M", "7T", "7S7", "7S9", "6T", "5T", "4M", "3M"], + skyattack: ["9L90", "8L90", "7T", "7L99", "6T", "6L99", "5T", "5L99", "4T", "4L99"], skydrop: ["7M", "6M", "5M"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "4L43", "3T", "3L66", "3S0"], - tailwind: ["7T", "7S8", "7S10", "6T", "5T", "4T"], + swift: ["9M", "8M", "7V", "4T", "4L43", "3T", "3L66", "3S0"], + tailwind: ["9M", "7T", "7S8", "7S10", "6T", "5T", "4T"], + takedown: ["9M"], telekinesis: ["7T", "5M"], - thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], - trick: ["8M", "7T", "6T", "5T", "4T"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], twister: ["4T"], - waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - waterpulse: ["7T", "6T", "4M", "3M"], - weatherball: ["8M", "8L1", "7L1", "6L1", "5L1", "5S4", "4L1"], - whirlpool: ["8M", "8S11", "7V", "4M"], - whirlwind: ["8L1", "7L1", "7V", "6L1", "5L1", "5S4", "4L1", "3L1"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "5S4", "4L1"], + whirlpool: ["9M", "8M", "8S11", "7V", "4M"], + whirlwind: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S4", "4L1", "3L1"], wonderroom: ["8M", "7T", "6T", "5T"], zapcannon: ["7V"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 3, level: 70, shiny: 1, moves: ["recover", "hydropump", "raindance", "swift"]}, @@ -32269,6 +33084,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["skillswap", "aeroblast", "extrasensory", "ancientpower"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["aeroblast", "earthpower", "psychic", "tailwind"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["dragonpulse", "extrasensory", "whirlpool", "ancientpower"]}, + {generation: 9, level: 70, moves: ["raindance", "aeroblast", "recover", "extrasensory"]}, ], encounters: [ {generation: 2, level: 40}, @@ -32277,105 +33093,109 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, hooh: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - aircutter: ["4T"], - airslash: ["8M"], - ancientpower: ["8L1", "8S10", "7L57", "7V", "7S7", "7S8", "6L57", "5L57", "4T", "4L57", "4S2", "3L88"], - bravebird: ["8M", "7L15", "7S6", "7S9", "6L15", "6S5", "5L15", "4L15"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "8M"], + ancientpower: ["9L1", "8L1", "8S10", "7L57", "7V", "7S7", "7S8", "6L57", "5L57", "4T", "4L57", "4S2", "3L88"], + bodyslam: ["9M"], + bravebird: ["9M", "8M", "7L15", "7S6", "7S9", "6L15", "6S5", "5L15", "4L15"], bulldoze: ["8M", "7M", "6M", "5M"], burnup: ["8L99", "7S7", "7S8"], - calmmind: ["8M", "8L27", "7M", "7L93", "6M", "6L93", "5M", "5L93", "4M", "4L93", "3M"], + calmmind: ["9M", "9L27", "8M", "8L27", "7M", "7L93", "6M", "6L93", "5M", "5L93", "4M", "4L93", "3M"], celebrate: ["6S5"], - chargebeam: ["7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], curse: ["7V"], defog: ["7T", "4M"], detect: ["7V"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], dragonbreath: ["7V"], dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], - dualwingbeat: ["8T"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "7M", "7V", "7S9", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "7V", "7S9", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - endure: ["8M", "7V", "4M", "3T"], - extrasensory: ["8L36", "8S10", "7L23", "7S7", "7S8", "6L23", "5L23", "4L23", "4S1"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - fireblast: ["8M", "8L72", "7M", "7L37", "7V", "6M", "6L37", "6S4", "5M", "5L37", "4M", "4L29", "4S1", "3M", "3L44", "3S0"], - firespin: ["8M"], - flamecharge: ["7M", "6M", "5M"], - flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], - flareblitz: ["8M", "8S10"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["9L36", "9S11", "8L36", "8S10", "7L23", "7S7", "7S8", "6L23", "5L23", "4L23", "4S1"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "9L72", "8M", "8L72", "7M", "7L37", "7V", "6M", "6L37", "6S4", "5M", "5L37", "4M", "4L29", "4S1", "3M", "3L44", "3S0"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["9M", "8M", "8S10"], flash: ["7V", "6M", "5M", "4M", "3M"], - fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], - futuresight: ["8M", "8L81", "7L79", "7V", "6L79", "5L79", "4L79", "3L99"], - gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gust: ["8L1", "7L9", "7V", "6L9", "5L9", "4L9", "3L22"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], - helpinghand: ["8M"], + futuresight: ["9M", "9L81", "8M", "8L81", "7L79", "7V", "6L79", "5L79", "4L79", "3L99"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "8L1", "7L9", "7V", "6L9", "5L9", "4L9", "3L22"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - hypervoice: ["8M", "7T", "6T", "5T"], - imprison: ["8M"], + hurricane: ["9M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + imprison: ["9M", "8M"], incinerate: ["6M", "5M"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], laserfocus: ["7T"], - lifedew: ["8L9"], - lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + lifedew: ["9L9", "8L9"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], mimic: ["3T"], mudslap: ["7V", "4T", "3T"], mysticalfire: ["8M"], naturalgift: ["7L85", "6L85", "5L85", "4M", "4L51"], nightmare: ["7V", "3T"], ominouswind: ["4T"], - overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + overheat: ["9M", "9L99", "8M", "7M", "6M", "5M", "4M", "3M"], pluck: ["5M", "4M"], - protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], punishment: ["7L50", "6L50", "6S4", "5L50", "4L50", "4S2"], - raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - recover: ["8L45", "7L71", "7V", "7S6", "6L71", "6S5", "5L71", "4L23", "3L33", "3S0"], - reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["9L45", "9S11", "8L45", "7L71", "7V", "7S6", "6L71", "6S5", "5L71", "4L23", "3L33", "3S0"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], return: ["7M", "7V", "6M", "5M", "4M", "3M"], roar: ["7M", "7V", "6M", "5M", "4M", "3M"], rocksmash: ["7V", "6M", "5M", "4M", "3M"], roost: ["7M", "6M", "5T", "4M"], round: ["8M", "7M", "6M", "5M"], - sacredfire: ["8L54", "7L43", "7V", "7S6", "7S7", "7S8", "7S9", "6L43", "6S4", "6S5", "5L43", "4L43", "4S1", "4S2", "3L77"], - safeguard: ["8M", "8L18", "7M", "7L65", "7V", "7S6", "6M", "6L65", "5M", "5L65", "4M", "4L9", "4S2", "3M", "3L11"], - sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - scorchingsands: ["8T"], + sacredfire: ["9L54", "9S11", "8L54", "7L43", "7V", "7S6", "7S7", "7S8", "7S9", "6L43", "6S4", "6S5", "5L43", "4L43", "4S1", "4S2", "3L77"], + safeguard: ["9L18", "8M", "8L18", "7M", "7L65", "7V", "7S6", "6M", "6L65", "5M", "5L65", "4M", "4L9", "4S2", "3M", "3L11"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - skyattack: ["8L90", "7T", "7L99", "6T", "6L99", "5T", "5L99", "4T", "4L99", "3T"], + skyattack: ["9L90", "8L90", "7T", "7L99", "6T", "6L99", "5T", "5L99", "4T", "4L99", "3T"], skydrop: ["7M", "6M", "5M"], - sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], strength: ["7V", "6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "8L63", "8S10", "7M", "7L29", "7V", "6M", "6L29", "6S4", "5M", "5L29", "4M", "4L29", "4S1", "3M", "3L55", "3S0"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "9L63", "9S11", "8M", "8L63", "8S10", "7M", "7L29", "7V", "6M", "6L29", "6S4", "5M", "5L29", "4M", "4L29", "4S1", "3M", "3L55", "3S0"], swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], - swift: ["8M", "7V", "4T", "4L43", "3T", "3L66", "3S0"], - tailwind: ["7T", "7S9", "6T", "5T", "4T"], - thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + swift: ["9M", "8M", "7V", "4T", "4L43", "3T", "3L66", "3S0"], + tailwind: ["9M", "7T", "7S9", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], twister: ["4T"], - weatherball: ["8M", "8L1", "7L1", "6L1", "5L1", "5S3", "4L1"], - whirlwind: ["8L1", "7L1", "7V", "6L1", "5L1", "5S3", "4L1", "3L1"], - willowisp: ["8M", "7M", "6M", "5M", "4M"], + weatherball: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "5S3", "4L1"], + whirlwind: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S3", "4L1", "3L1"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], zapcannon: ["7V"], - zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], }, eventData: [ {generation: 3, level: 70, shiny: 1, moves: ["recover", "fireblast", "sunnyday", "swift"]}, @@ -32389,6 +33209,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["burnup", "sacredfire", "extrasensory", "ancientpower"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["sacredfire", "bravebird", "earthquake", "tailwind"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["flareblitz", "extrasensory", "sunnyday", "ancientpower"]}, + {generation: 9, level: 70, moves: ["sunnyday", "sacredfire", "recover", "extrasensory"]}, ], encounters: [ {generation: 2, level: 40}, @@ -32521,54 +33342,57 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, treecko: { learnset: { - absorb: ["8E", "7L5", "6L5", "5L6", "5S1", "4L6", "3L6", "3S0"], - acrobatics: ["8M", "7M", "6M", "5M"], - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "7L25", "6L25", "5L31", "4L31", "3L31"], - assurance: ["8M", "8L18"], + absorb: ["9E", "8E", "7L5", "6L5", "5L6", "5S1", "4L6", "3L6", "3S0"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "7L25", "6L25", "5L31", "4L31", "3L31"], + assurance: ["9L18", "8M", "8L18"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulletseed: ["8M", "7E", "6E", "5E", "4M", "3M"], + breakingswipe: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulletseed: ["9M", "8M", "7E", "6E", "5E", "4M", "3M"], captivate: ["4M"], confide: ["7M", "6M"], counter: ["3T"], - crunch: ["8M", "7E", "6E", "5E", "4E", "3E"], + crunch: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], crushclaw: ["7E", "6E", "5E", "4E", "3E"], cut: ["6M", "5M", "4M", "3M"], - detect: ["8L12", "7L33", "6L33", "5L41", "4L41", "3L41"], - dig: ["8M", "6M", "5M", "4M", "3M"], + detect: ["9L12", "8L12", "7L33", "6L33", "5L41", "4L41", "3L41"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], doubleedge: ["3T"], - doublekick: ["8E", "7E", "6E", "5E", "4E"], - doubleteam: ["8L27", "7M", "6M", "5M", "4M", "3M"], - dragonbreath: ["8E", "7E", "6E", "5E", "4E", "3E"], - drainpunch: ["8M", "7T", "6T", "5T", "4M"], + doublekick: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["9L27", "8L27", "7M", "6M", "5M", "4M", "3M"], + dragonbreath: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + dragontail: ["9M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], dynamicpunch: ["3T"], - endeavor: ["8L36", "7T", "7L45", "7E", "6T", "6L45", "6E", "5T", "5E", "4T", "4E", "3E"], - endure: ["8M", "4M", "3T"], - energyball: ["8M", "8L30", "7M", "7L37", "6M", "6L37", "5M", "5L51", "4M", "4L51"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M", "9L36", "8L36", "7T", "7L45", "7E", "6T", "6L45", "6E", "5T", "5E", "4T", "4E", "3E"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "9L30", "8M", "8L30", "7M", "7L37", "6M", "6L37", "5M", "5L51", "4M", "4L51"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focuspunch: ["7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - gigadrain: ["8M", "8L21", "7T", "7L21", "6T", "6L21", "5T", "5L46", "4M", "4L46", "3M", "3L46"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grasspledge: ["8T", "7T", "6T", "5T"], + gigadrain: ["9M", "9L21", "8M", "8L21", "7T", "7L21", "6T", "6L21", "5T", "5L46", "4M", "4L46", "3M", "3L46"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "8T", "7T", "6T", "5T"], grasswhistle: ["7E", "6E", "5E", "4E"], - grassyglide: ["8T"], - grassyterrain: ["8M", "7E", "6E"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M", "7E", "6E"], headbutt: ["4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], - leafage: ["8L3"], - leafstorm: ["8M", "8L39", "7E", "6E", "5E", "4E"], - leechseed: ["8E", "7E", "6E", "5E", "4E", "3E"], - leer: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - magicalleaf: ["8M", "7E", "6E", "5E", "4E"], - megadrain: ["8L9", "7L13", "6L13", "5L26", "4L26", "3L26"], + leafage: ["9L3", "8L3"], + leafstorm: ["9M", "9L39", "8M", "8L39", "7E", "6E", "5E", "4E"], + leechseed: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + magicalleaf: ["9M", "8M", "7E", "6E", "5E", "4E"], + megadrain: ["9L9", "8L9", "7L13", "6L13", "5L26", "4L26", "3L26"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], @@ -32576,41 +33400,46 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudsport: ["7E", "6E", "5E", "4E", "3E"], naturalgift: ["7E", "6E", "5E", "4M"], naturepower: ["7M", "6M"], - nightslash: ["8E"], - pound: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + nightslash: ["9E", "8E"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], pursuit: ["7L17", "6L16", "5L16", "4L16", "3L16"], - quickattack: ["8L6", "7L9", "6L9", "5L11", "4L11", "3L11"], - quickguard: ["8L15", "7L41", "6L41"], + quickattack: ["9L6", "8L6", "7L9", "6L9", "5L11", "4L11", "3L11"], + quickguard: ["9L15", "8L15", "7L41", "6L41"], razorwind: ["7E", "6E", "5E", "4E"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], - screech: ["8M", "8L33", "7L49", "6L21", "5L21", "4L21", "3L21"], + screech: ["9L33", "8M", "8L33", "7L49", "6L21", "5L21", "4L21", "3L21"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], seismictoss: ["3T"], - slam: ["8L24", "7L29", "6L29", "5L36", "4L36", "3L36"], - slash: ["8E"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + slam: ["9L24", "8L24", "7L29", "6L29", "5L36", "4L36", "3L36"], + slash: ["9E", "8E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], - synthesis: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + upperhand: ["9M"], workup: ["8M", "7M"], - worryseed: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + worryseed: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], }, eventData: [ {generation: 3, level: 10, gender: "M", moves: ["pound", "leer", "absorb"], pokeball: "pokeball"}, @@ -32620,156 +33449,168 @@ export const Learnsets: {[k: string]: LearnsetData} = { grovyle: { learnset: { absorb: ["7L1", "6L1", "5L1", "4L1", "3L1"], - acrobatics: ["8M", "7M", "6M", "5M"], - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "7L28", "6L28", "5L35", "4L35", "3L35"], - assurance: ["8M", "8L20"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "7L28", "6L28", "5L35", "4L35", "3L35"], + assurance: ["9L20", "8M", "8L20"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulletseed: ["8M", "4M", "3M"], + breakingswipe: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], confide: ["7M", "6M"], counter: ["3T"], - crunch: ["8M"], + crunch: ["9M", "8M"], cut: ["6M", "5M", "4M", "3M"], - detect: ["8L12", "7L38", "6L38", "5L47", "4L47", "3L47"], - dig: ["8M", "6M", "5M", "4M", "3M"], + detect: ["9L12", "8L12", "7L38", "6L38", "5L47", "4L47", "3L47"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], doubleedge: ["3T"], - doubleteam: ["8L35", "7M", "6M", "5M", "4M", "3M"], - drainpunch: ["8M", "7T", "6T", "5T", "4M"], + doubleteam: ["9L35", "8L35", "7M", "6M", "5M", "4M", "3M"], + dragontail: ["9M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], dynamicpunch: ["3T"], - endeavor: ["8L50", "7T", "6T", "5T", "4T"], - endure: ["8M", "4M", "3T"], - energyball: ["8M", "8L1", "7M", "6M", "5M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - falseswipe: ["8M", "8L1", "7M", "7L48", "6M", "6L48", "5M", "5L53", "4M", "4L53", "3L53"], + endeavor: ["9M", "9L50", "8L50", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "9L1", "8M", "8L1", "7M", "7L48", "6M", "6L48", "5M", "5L53", "4M", "4L53", "3L53"], flash: ["6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - furycutter: ["8L1", "7L1", "6L16", "5L16", "4T", "4L16", "3T", "3L16"], - gigadrain: ["8M", "8L25", "7T", "6T", "5T", "4M", "3M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grasspledge: ["8T", "7T", "6T", "5T"], - grassyglide: ["8T"], - grassyterrain: ["8M"], + furycutter: ["9L1", "8L1", "7L1", "6L16", "5L16", "4T", "4L16", "3T", "3L16"], + gigadrain: ["9M", "9L25", "8M", "8L25", "7T", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "8T", "7T", "6T", "5T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], headbutt: ["4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], - leafage: ["8L1"], - leafblade: ["8M", "8L40", "7L23", "6L23", "5L29", "4L29", "3L29"], - leafstorm: ["8M", "8L55", "7L58", "6L58", "5L59", "4L59"], - leer: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], - magicalleaf: ["8M"], - megadrain: ["8L9", "7L13", "6L13"], + leafage: ["9L1", "8L1"], + leafblade: ["9L40", "8M", "8L40", "7L23", "6L23", "5L29", "4L29", "3L29"], + leafstorm: ["9M", "9L55", "8M", "8L55", "7L58", "6L58", "5L59", "4L59"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magicalleaf: ["9M", "8M"], + megadrain: ["9L9", "8L9", "7L13", "6L13"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], mudslap: ["4T", "3T"], naturalgift: ["4M"], naturepower: ["7M", "6M"], - pound: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], pursuit: ["7L18", "6L17", "5L17", "4L17", "3L17"], - quickattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - quickguard: ["8L15", "7L53", "6L53"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + quickguard: ["9L15", "8L15", "7L53", "6L53"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], - screech: ["8M", "8L45", "7L63", "6L23", "5L23", "4L23", "3L23"], + screech: ["9L45", "8M", "8L45", "7L63", "6L23", "5L23", "4L23", "3L23"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], seismictoss: ["3T"], - slam: ["8L30", "7L33", "6L33", "5L41", "4L41", "3L41"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + slam: ["9L30", "8L30", "7L33", "6L33", "5L41", "4L41", "3L41"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], solarblade: ["8M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], synthesis: ["7T", "6T", "5T", "4T"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + upperhand: ["9M"], + vacuumwave: ["9M"], workup: ["8M", "7M"], worryseed: ["7T", "6T", "5T", "4T"], - xscissor: ["8M", "8L1", "7M", "7L43", "6M", "6L43", "5M", "4M"], + xscissor: ["9M", "9L1", "8M", "8L1", "7M", "7L43", "6M", "6L43", "5M", "4M"], }, }, sceptile: { learnset: { absorb: ["7L1", "6L1", "5L1", "4L1", "3L1"], - acrobatics: ["8M", "7M", "6M", "5M"], - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "7L28", "6L28", "5L35", "4L35", "3L35"], - assurance: ["8M", "8L20"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "7L28", "6L28", "5L35", "4L35", "3L35"], + assurance: ["9L20", "8M", "8L20"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "3T"], - breakingswipe: ["8M"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + breakingswipe: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M", "7M"], - bulldoze: ["8M", "7M", "6M", "5M"], - bulletseed: ["8M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletseed: ["9M", "8M", "4M", "3M"], captivate: ["4M"], confide: ["7M", "6M"], counter: ["3T"], crosspoison: ["8M"], - crunch: ["8M"], + crunch: ["9M", "8M"], cut: ["6M", "5M", "4M", "3M"], - detect: ["8L12", "7L39", "6L39", "5L51", "4L51", "3L51"], - dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], - doubleteam: ["8L35", "7M", "6M", "5M", "4M", "3M"], - dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], - dragondance: ["8M"], - dragonpulse: ["8M", "7T", "6T", "5T", "5S0", "4M"], - drainpunch: ["8M", "7T", "6T", "5T", "4M"], + detect: ["9L12", "8L12", "7L39", "6L39", "5L51", "4L51", "3L51"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], + doubleteam: ["9L35", "8L35", "7M", "6M", "5M", "4M", "3M"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "5S0", "4M"], + dragontail: ["9M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], dualchop: ["8L0", "7T", "7L1", "6T", "6L36"], dynamicpunch: ["3T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endeavor: ["8L56", "7T", "6T", "5T", "4T"], - endure: ["8M", "4M", "3T"], - energyball: ["8M", "8L1", "7M", "6M", "5M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - falseswipe: ["8M", "8L1", "7M", "7L51", "6M", "6L51", "5M", "5L59", "4M", "4L59", "3L59"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M", "9L49", "8L56", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "9L1", "8M", "8L1", "7M", "7L51", "6M", "6L51", "5M", "5L59", "4M", "4L59", "3L59"], flash: ["6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "5S0", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], - frenzyplant: ["8T", "7T", "6T", "5T", "4T"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frenzyplant: ["9M", "8T", "7T", "6T", "5T", "4T"], frustration: ["7M", "6M", "5M", "4M", "3M"], - furycutter: ["8L1", "7L1", "6L16", "4T", "3T", "3L16"], - gigadrain: ["8M", "8L25", "7T", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - grasspledge: ["8T", "7T", "6T", "5T"], - grassyglide: ["8T"], - grassyterrain: ["8M"], + furycutter: ["9L1", "8L1", "7L1", "6L16", "4T", "3T", "3L16"], + gigadrain: ["9M", "9L25", "8M", "8L25", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "8T", "7T", "6T", "5T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], headbutt: ["4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], laserfocus: ["7T"], - leafage: ["8L1"], - leafblade: ["8M", "8L42", "7L23", "6L23", "5L29", "4L29", "3L29"], - leafstorm: ["8M", "8L63", "7L1", "6L1", "5L67", "5S0", "4L67"], - leer: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], - magicalleaf: ["8M"], - megadrain: ["8L5", "7L13", "6L13"], + leafage: ["9L1", "8L1"], + leafblade: ["9L0", "8M", "8L42", "7L23", "6L23", "5L29", "4L29", "3L29"], + leafstorm: ["9M", "9L56", "8M", "8L63", "7L1", "6L1", "5L67", "5S0", "4L67"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magicalleaf: ["9M", "8M"], + megadrain: ["9L5", "8L5", "7L13", "6L13"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], @@ -32777,45 +33618,52 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], naturepower: ["7M", "6M"], nightslash: ["7L1", "6L1", "5L1", "4L1"], - outrage: ["8M", "7T", "6T", "5T", "4T"], - pound: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], pursuit: ["7L18", "6L17", "5L17", "4L17", "3L17"], - quickattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - quickguard: ["8L15", "7L57", "6L57"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + quickguard: ["9L15", "8L15", "7L57", "6L57"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - roar: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], - rockslide: ["8M", "7M", "6M", "5M", "5S0", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], - scaleshot: ["8T"], - screech: ["8M", "8L49", "7L69", "6L23", "5L23", "4L23", "3L23"], + scaleshot: ["9M", "8T"], + screech: ["9L42", "8M", "8L49", "7L69", "6L23", "5L23", "4L23", "3L23"], secretpower: ["6M", "4M", "3M"], - seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], seismictoss: ["3T"], - slam: ["8L30", "7L33", "6L33", "5L43", "4L43", "3L43"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + shedtail: ["9L1"], + slam: ["9L30", "8L30", "7L33", "6L33", "5L43", "4L43", "3L43"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - solarblade: ["8M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + solarblade: ["9M", "8M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], synthesis: ["7T", "6T", "5T", "4T"], - throatchop: ["8M", "7T"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9M", "8M", "7T"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + upperhand: ["9M"], + vacuumwave: ["9M"], workup: ["8M", "7M"], worryseed: ["7T", "6T", "5T", "4T"], - xscissor: ["8M", "8L1", "7M", "7L45", "6M", "6L16", "5M", "5L16", "4M", "4L16"], + xscissor: ["9M", "9L1", "8M", "8L1", "7M", "7L45", "6M", "6L16", "5M", "5L16", "4M", "4L16"], }, eventData: [ {generation: 5, level: 50, shiny: 1, moves: ["leafstorm", "dragonpulse", "focusblast", "rockslide"], pokeball: "cherishball"}, @@ -32823,83 +33671,87 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, torchic: { learnset: { - aerialace: ["8L18", "7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "7E", "6E", "5E", "4E"], + aerialace: ["9M", "9L18", "8L18", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "7E", "6E", "5E", "4E"], assurance: ["8M"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - batonpass: ["8M", "7E", "6E", "5E", "4E"], - bodyslam: ["8M", "3T"], - bounce: ["8M", "8L24", "7T", "6T", "5T", "4T"], + batonpass: ["9M", "8M", "7E", "6E", "5E", "4E"], + bodyslam: ["9M", "8M", "3T"], + bounce: ["9L24", "8M", "8L24", "7T", "6T", "5T", "4T"], captivate: ["4M"], confide: ["7M", "6M"], - counter: ["8E", "7E", "6E", "5E", "4E", "3T", "3E"], - crushclaw: ["8E", "7E", "6E", "5E", "4E"], - curse: ["8E", "7E", "6E", "5E"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E", "3T", "3E"], + crushclaw: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9M", "8E", "7E", "6E", "5E"], cut: ["6M", "5M", "4M", "3M"], defog: ["7T"], - detect: ["8L12"], - dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + detect: ["9L12", "8L12"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - ember: ["8L3", "7L5", "6L5", "6S2", "5L10", "5S1", "5S2", "4L10", "3L10", "3S0"], - endure: ["8M", "7E", "6E", "5E", "4M", "4E", "3T", "3E"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - featherdance: ["8L33", "7E", "6E", "5E", "4E"], - feint: ["8E", "7E", "6E", "5E", "4E"], - fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], - firepledge: ["8T", "7T", "6T", "5T"], - firespin: ["8M", "7L19", "6L19", "5L25", "4L25", "3L25"], + ember: ["9L3", "8L3", "7L5", "6L5", "6S2", "5L10", "5S1", "5S2", "4L10", "3L10", "3S0"], + endure: ["9M", "8M", "7E", "6E", "5E", "4M", "4E", "3T", "3E"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M", "9L33", "8L33", "7E", "6E", "5E", "4E"], + feint: ["9E", "8E", "7E", "6E", "5E", "4E"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepledge: ["9M", "8T", "7T", "6T", "5T"], + firespin: ["9M", "8M", "7L19", "6L19", "5L25", "4L25", "3L25"], flameburst: ["7L28", "7E", "6L28", "6E", "5E"], - flamecharge: ["8L9", "7M", "6M", "5M"], - flamethrower: ["8M", "8L30", "7M", "7L46", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], - flareblitz: ["8M", "8L39"], - focusenergy: ["8M", "8L27", "7L32", "6L7", "6S2", "5L7", "5S1", "5S2", "4L7", "3L7", "3S0"], + flamecharge: ["9M", "9L9", "8L9", "7M", "6M", "5M"], + flamethrower: ["9M", "9L30", "8M", "8L30", "7M", "7L46", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + flareblitz: ["9M", "9L39", "8M", "8L39"], + focusenergy: ["9L27", "8M", "8L27", "7L32", "6L7", "6S2", "5L7", "5S1", "5S2", "4L7", "3L7", "3S0"], frustration: ["7M", "6M", "5M", "4M", "3M"], - growl: ["8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "5S2", "4L1", "3L1", "3S0"], + growl: ["9L1", "8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "5S2", "4L1", "3L1", "3S0"], headbutt: ["4T"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], - helpinghand: ["8M", "7T", "6T", "5T", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], incinerate: ["6M", "5M"], - lastresort: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], - lowkick: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + lastresort: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lowkick: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], mirrormove: ["7L41", "6L37", "5L37", "4L37", "3L37"], mudslap: ["4T", "3T"], naturalgift: ["4M"], - nightslash: ["8E", "7E", "6E", "5E", "4E"], - overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], - peck: ["8E", "7L14", "6L14", "5L16", "4L16", "3L16"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - quickattack: ["8L6", "7L23", "6L23", "5L28", "4L28", "3L28"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + nightslash: ["9E", "8E", "7E", "6E", "5E", "4E"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + peck: ["9E", "8E", "7L14", "6L14", "5L16", "4L16", "3L16"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9L6", "8L6", "7L23", "6L23", "5L28", "4L28", "3L28"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - reversal: ["8M", "8L36", "7E", "6E", "5E", "4E", "3E"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + reversal: ["9M", "9L36", "8M", "8L36", "7E", "6E", "5E", "4E", "3E"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L15", "7L10", "6L10", "5L19", "4L19", "3L19"], - scratch: ["8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "5S2", "4L1", "3L1", "3S0"], + sandattack: ["9L15", "8L15", "7L10", "6L10", "5L19", "4L19", "3L19"], + scratch: ["9L1", "8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "5S2", "4L1", "3L1", "3S0"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], - slash: ["8L21", "7L37", "6L34", "5L34", "4L34", "3L34"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L21", "8L21", "7L37", "6L34", "5L34", "4L34", "3L34"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], smellingsalts: ["7E", "6E", "5E", "4E", "3E"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], - swift: ["4T", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + temperflare: ["9M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], - willowisp: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["9M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], workup: ["8M", "7M"], }, eventData: [ @@ -32910,212 +33762,226 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, combusken: { learnset: { - aerialace: ["8L20", "7M", "6M", "5M", "4M", "3M"], - agility: ["8M"], + aerialace: ["9M", "9L20", "8L20", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M"], assurance: ["8M"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - batonpass: ["8M"], - blazekick: ["8M", "8L40"], - bodyslam: ["8M", "3T"], - bounce: ["8M", "8L30", "7T", "6T", "5T", "4T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulkup: ["8M", "8L45", "7M", "7L31", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L28"], + batonpass: ["9M", "8M"], + blazekick: ["9L40", "8M", "8L40"], + bodyslam: ["9M", "8M", "3T"], + bounce: ["9L30", "8M", "8L30", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "9L45", "8M", "8L45", "7M", "7L31", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L28"], captivate: ["4M"], - coaching: ["8T"], + closecombat: ["9M"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], counter: ["3T"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], defog: ["7T"], - detect: ["8L12"], - dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], - doublekick: ["8L0", "7L1", "6L16", "5L16", "4L16", "3L16"], + detect: ["9L12", "8L12"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], + doublekick: ["9L0", "8L0", "7L1", "6L16", "5L16", "4L16", "3L16"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dualchop: ["7T", "6T", "5T"], dynamicpunch: ["3T"], echoedvoice: ["7M", "6M", "5M"], - ember: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - endure: ["8M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - featherdance: ["8L1"], - fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], - firepledge: ["8T", "7T", "6T", "5T"], - firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - firespin: ["8M"], - flamecharge: ["8L9", "7M", "7L20", "6M", "6L20", "5M"], - flamethrower: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], - flareblitz: ["8M", "8L55", "7L58", "6L54", "5L54", "4L54"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focusenergy: ["8M", "8L35", "7L36", "6L1", "5L1", "4L1", "3L1"], - focuspunch: ["7T", "6T", "4M", "3M"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M", "9L1", "8L1"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepledge: ["9M", "8T", "7T", "6T", "5T"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "9L9", "8L9", "7M", "7L20", "6M", "6L20", "5M"], + flamethrower: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["9M", "9L55", "8M", "8L55", "7L58", "6L54", "5L54", "4L54"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L35", "8M", "8L35", "7L36", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], headbutt: ["4T"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], - helpinghand: ["8M", "7T", "6T", "5T", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], incinerate: ["6M", "5M"], lastresort: ["7T", "6T", "5T", "4T"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], mirrormove: ["7L47", "6L43", "5L43", "4L43", "3L43"], mudslap: ["4T", "3T"], naturalgift: ["4M"], - overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], peck: ["7L14", "6L14", "5L17", "4L17", "3L17"], - poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - quickattack: ["8L1", "7L25", "6L25", "5L32", "4L32", "3L32"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "8L1", "7L25", "6L25", "5L32", "4L32", "3L32"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], revenge: ["8M"], - reversal: ["8M", "8L50"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + reversal: ["9M", "9L50", "8M", "8L50"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L15", "7L1", "6L1", "5L21", "4L21", "3L21"], - scratch: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sandattack: ["9L15", "8L15", "7L1", "6L1", "5L21", "4L21", "3L21"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], skyuppercut: ["7L53", "6L50", "5L50", "4L50", "3L50"], - slash: ["8L25", "7L42", "6L39", "5L39", "4L39", "3L39"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + slash: ["9L25", "8L25", "7L42", "6L39", "5L39", "4L39", "3L39"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], - vacuumwave: ["4T"], - willowisp: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["9M"], + vacuumwave: ["9M", "4T"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], workup: ["8M", "7M", "5M"], }, }, blaziken: { learnset: { - acrobatics: ["8M", "7M", "6M", "5M"], - aerialace: ["8L20", "7M", "6M", "5M", "4M", "3M"], - agility: ["8M"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "9L20", "8L20", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M"], assurance: ["8M"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - aurasphere: ["8M"], - batonpass: ["8M"], - blastburn: ["8T", "7T", "6T", "5T", "4T"], - blazekick: ["8M", "8L42", "7L1", "6L36", "5L36", "4L36", "3L36", "3S0"], - bodyslam: ["8M", "3T"], - bounce: ["8M", "8L30", "7T", "6T", "5T", "4T"], - bravebird: ["8M", "8L1", "7L50", "6L49", "5L49", "4L49"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulkup: ["8M", "8L49", "7M", "7L31", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L28"], - bulldoze: ["8M", "7M", "6M", "5M"], + aurasphere: ["9M", "8M"], + batonpass: ["9M", "8M"], + blastburn: ["9M", "8T", "7T", "6T", "5T", "4T"], + blazekick: ["9L0", "8M", "8L42", "7L1", "6L36", "5L36", "4L36", "3L36", "3S0"], + bodyslam: ["9M", "8M", "3T"], + bounce: ["9L30", "8M", "8L30", "7T", "6T", "5T", "4T"], + bravebird: ["9M", "9L63", "8M", "8L1", "7L50", "6L49", "5L49", "4L49"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "9L42", "8M", "8L49", "7M", "7L31", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L28"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], - closecombat: ["8M"], - coaching: ["8T"], + closecombat: ["9M", "8M"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], counter: ["3T"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], defog: ["7T"], - detect: ["8L12"], - dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], - doublekick: ["8L1", "7L1", "6L16", "5L16", "4L16", "3L16"], + detect: ["9L12", "8L12"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], + doublekick: ["9L1", "8L1", "7L1", "6L16", "5L16", "4L16", "3L16"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dualchop: ["7T", "6T", "5T"], dynamicpunch: ["3T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], - ember: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - endure: ["8M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - featherdance: ["8L1"], - fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], - firepledge: ["8T", "7T", "6T", "5T"], - firepunch: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], - firespin: ["8M"], - flamecharge: ["8L9", "7M", "7L20", "6M", "6L20", "5M"], - flamethrower: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], - flareblitz: ["8M", "8L63", "7L1", "6L1", "5L66", "5S1", "4L66"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focusenergy: ["8M", "8L35", "7L37", "6L1", "5L1", "4L1", "3L1"], - focuspunch: ["7T", "6T", "4M", "3M"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M", "9L1", "8L1"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepledge: ["9M", "8T", "7T", "6T", "5T"], + firepunch: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "9L9", "8L9", "7M", "7L20", "6M", "6L20", "5M"], + flamethrower: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["9M", "9L56", "8M", "8L63", "7L1", "6L1", "5L66", "5S1", "4L66"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L35", "8M", "8L35", "7L37", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], headbutt: ["4T"], - heatcrash: ["8M"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], - helpinghand: ["8M", "7T", "6T", "5T", "4T"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], highjumpkick: ["7L1", "6L1", "5L1", "5S1"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], incinerate: ["6M", "5M"], - knockoff: ["7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], laserfocus: ["7T"], lastresort: ["7T", "6T", "5T", "4T"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], - lowsweep: ["8M", "7M", "6M", "5M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], mirrormove: ["3L49", "3S0"], - mudslap: ["4T", "3T"], + mudslap: ["9M", "4T", "3T"], naturalgift: ["4M"], - overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], peck: ["7L14", "6L14", "5L17", "4L17", "3L17"], - poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - quickattack: ["8L1", "7L25", "6L25", "5L32", "4L32", "3L32"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "8L1", "7L25", "6L25", "5L32", "4L32", "3L32"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], revenge: ["8M"], - reversal: ["8M", "8L56"], - roar: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9L49", "8M", "8L56"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], roleplay: ["7T", "6T", "5T", "4T"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L15", "7L1", "6L1", "5L21", "4L21", "3L21"], - scorchingsands: ["8T"], - scratch: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sandattack: ["9L15", "8L15", "7L1", "6L1", "5L21", "4L21", "3L21"], + scorchingsands: ["9M", "8T"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], skyuppercut: ["7L57", "6L57", "5L59", "4L59", "3L59", "3S0"], - slash: ["8L25", "7L44", "6L42", "5L42", "4L42", "3L42", "3S0"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + slash: ["9L25", "8L25", "7L44", "6L42", "5L42", "4L42", "3L42", "3S0"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M"], - stoneedge: ["8M", "7M", "6M", "5M", "5S1", "4M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "5S1", "4M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], - thunderpunch: ["8M", "7T", "6T", "5T", "5S1", "4T", "3T"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "5S1", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], - uturn: ["8M"], - vacuumwave: ["4T"], - willowisp: ["8M", "7M", "6M", "5M", "4M"], + upperhand: ["9M"], + uproar: ["9M"], + uturn: ["9M", "8M"], + vacuumwave: ["9M", "4T"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], workup: ["8M", "7M", "5M"], }, eventData: [ @@ -33125,85 +33991,91 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, mudkip: { learnset: { - amnesia: ["8M", "8L27"], - ancientpower: ["8E", "7E", "6E", "5E", "4T", "4E"], + amnesia: ["9M", "9L27", "8M", "8L27"], + ancientpower: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - avalanche: ["8M", "7E", "6E", "5E"], + avalanche: ["9M", "8M", "7E", "6E", "5E"], barrier: ["7E", "6E"], bide: ["7L17", "6L15", "5L15", "4L15", "3L15"], - bite: ["8E", "7E", "6E", "5E", "4E"], - blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "3T"], + bite: ["9E", "8E", "7E", "6E", "5E", "4E"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - counter: ["8E", "7E", "6E", "5E", "4E"], - curse: ["8E", "7E", "6E", "5E", "4E", "3E"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], defensecurl: ["3T"], - dig: ["8M", "6M", "5M", "4M", "3M"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["8E", "7E", "6E", "5E", "4E", "3T"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["8L36", "7T", "7L44", "6T", "6L44", "5T", "5L46", "4T", "4L46", "3L46"], - endure: ["8M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M", "9L36", "8L36", "7T", "7L44", "6T", "6L44", "5T", "5L46", "4T", "4L46", "3L46"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], foresight: ["7L12", "6L12", "5L19", "4L19", "3L19"], frustration: ["7M", "6M", "5M", "4M", "3M"], - growl: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["4T"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L39", "7L41", "6L41", "5L42", "4L42", "3L42"], + hydropump: ["9M", "9L39", "8M", "8L39", "7L41", "6L41", "5L42", "4L42", "3L42"], iceball: ["7E", "6E", "5E", "4E", "3E"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], + liquidation: ["9M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], mimic: ["3T"], - mirrorcoat: ["8E", "7E", "6E", "5E", "4E", "3E"], + mirrorcoat: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], mudbomb: ["7E", "6E", "5E", "4E"], - mudslap: ["8E", "7L9", "6L6", "5L6", "5S1", "4T", "4L6", "3T", "3L6", "3S0"], + muddywater: ["9M"], + mudshot: ["9M"], + mudslap: ["9M", "9E", "8E", "7L9", "6L6", "5L6", "5S1", "4T", "4L6", "3T", "3L6", "3S0"], mudsport: ["7L20", "6L20", "5L24", "4L24", "3L24"], naturalgift: ["4M"], - protect: ["8M", "8L12", "7M", "7L28", "6M", "6L28", "5M", "5L37", "4M", "4L37", "3M", "3L37"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "9L12", "8M", "8L12", "7M", "7L28", "6M", "6L28", "5M", "5L37", "4M", "4L37", "3M", "3L37"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], refresh: ["7E", "6E", "5E", "4E", "3E"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "8L21", "7M", "6M", "5M", "4M"], - rocksmash: ["8L6", "6M", "5M", "4M", "3M"], - rockthrow: ["8L9", "7L25", "6L25"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roar: ["9M"], + rockslide: ["9M", "9L21", "8M", "8L21", "7M", "6M", "5M", "4M"], + rocksmash: ["9L6", "8L6", "6M", "5M", "4M", "3M"], + rockthrow: ["9L9", "8L9", "7L25", "6L25"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L33"], + screech: ["9L33", "8M", "8L33"], secretpower: ["6M", "4M", "3M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], - sludge: ["8E", "7E", "6E", "5E", "4E"], - sludgewave: ["8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + sludge: ["9E", "8E", "7E", "6E", "5E", "4E"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stomp: ["8E", "7E", "6E", "5E", "4E", "3E"], + stomp: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], superpower: ["8M", "7T", "6T", "5T", "4T"], - supersonic: ["8L15"], - surf: ["8M", "8L30", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["9L15", "8L15"], + surf: ["9M", "9L30", "8M", "8L30", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - tackle: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], - takedown: ["8L24", "7L36", "6L28", "5L28", "4L28", "3L28"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + takedown: ["9M", "9L24", "8L24", "7L36", "6L28", "5L28", "4L28", "3L28"], + terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "7E", "6T", "6E", "5E", "4E", "3E"], - waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], - watergun: ["8L3", "7L4", "6L4", "5L10", "5S1", "4L10", "3L10", "3S0"], - waterpledge: ["8T", "7T", "6T", "5T"], - waterpulse: ["8L18", "7T", "6T", "4M", "3M"], - whirlpool: ["8M", "7L33", "7E", "6L33", "6E", "5L33", "5E", "4M", "4L33", "4E", "3L33"], - wideguard: ["8E", "7E", "6E", "5E"], + uproar: ["9M", "8M", "7T", "7E", "6T", "6E", "5E", "4E", "3E"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L3", "8L3", "7L4", "6L4", "5L10", "5S1", "4L10", "3L10", "3S0"], + waterpledge: ["9M", "8T", "7T", "6T", "5T"], + waterpulse: ["9M", "9L18", "8L18", "7T", "6T", "4M", "3M"], + whirlpool: ["9M", "8M", "7L33", "7E", "6L33", "6E", "5L33", "5E", "4M", "4L33", "4E", "3L33"], + wideguard: ["9E", "8E", "7E", "6E", "5E"], workup: ["8M", "7M"], - yawn: ["8E", "7E", "6E", "5E", "4E"], + yawn: ["9E", "8E", "7E", "6E", "5E", "4E"], }, eventData: [ {generation: 3, level: 10, gender: "M", moves: ["tackle", "growl", "mudslap", "watergun"], pokeball: "pokeball"}, @@ -33212,192 +34084,209 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, marshtomp: { learnset: { - amnesia: ["8M", "8L35"], + amnesia: ["9M", "9L35", "8M", "8L35"], ancientpower: ["4T"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - avalanche: ["8M"], + avalanche: ["9M", "8M"], bide: ["7L18", "6L15", "5L15", "4L15", "3L15"], - blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M"], - bulldoze: ["8M", "7M", "6M", "5M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], counter: ["3T"], + curse: ["9M"], defensecurl: ["3T"], - dig: ["8M", "6M", "5M", "4M", "3M"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "8L1", "7M", "7L48", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L46"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "8L1", "7M", "7L48", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L46"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["8L50", "7T", "7L52", "6T", "6L52", "5T", "5L53", "4T", "4L53", "3L53"], - endure: ["8M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], + endeavor: ["9M", "9L50", "8L50", "7T", "7L52", "6T", "6L52", "5T", "5L53", "4T", "4L53", "3L53"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M"], foresight: ["7L12", "6L12", "5L20", "4L20", "3L20"], frustration: ["7M", "6M", "5M", "4M", "3M"], - growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hydropump: ["8M", "8L55"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + hydropump: ["9M", "9L55", "8M", "8L55"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], + liquidation: ["9M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], mudbomb: ["7L22", "6L22", "5L25", "4L25"], - muddywater: ["8M", "8L40", "7L38", "6L37", "5L37", "4L37", "3L37"], - mudshot: ["8M", "8L0", "7L1", "6L16", "5L16", "4L16", "3L16"], - mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + muddywater: ["9M", "9L40", "8M", "8L40", "7L38", "6L37", "5L37", "4L37", "3L37"], + mudshot: ["9M", "9L0", "8M", "8L0", "7L1", "6L16", "5L16", "4L16", "3L16"], + mudslap: ["9M", "7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], mudsport: ["3L25"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "8L12", "7M", "7L32", "6M", "6L32", "5M", "5L42", "4M", "4L42", "3M", "3L42"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "9L12", "8M", "8L12", "7M", "7L32", "6M", "6L32", "5M", "5L42", "4M", "4L42", "3M", "3L42"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "8L25", "7M", "7L28", "6M", "6L28", "5M", "4M", "3T"], - rocksmash: ["8L1", "6M", "5M", "4M", "3M"], - rockthrow: ["8L9"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roar: ["9M"], + rockslide: ["9M", "9L25", "8M", "8L25", "7M", "7L28", "6M", "6L28", "5M", "4M", "3T"], + rocksmash: ["9L1", "8L1", "6M", "5M", "4M", "3M"], + rockthrow: ["9L9", "8L9"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], - sandtomb: ["8M"], + sandtomb: ["9M", "8M"], scald: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L45"], + screech: ["9L45", "8M", "8L45"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], - sludgewave: ["8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], superpower: ["8M", "7T", "6T", "5T", "4T"], - supersonic: ["8L15"], - surf: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["9L15", "8L15"], + surf: ["9M", "8M", "8L1", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L30", "7L42", "6L31", "5L31", "4L31", "3L31"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L30", "8L30", "7L42", "6L31", "5L31", "4L31", "3L31"], + terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "6T"], - waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - waterpledge: ["8T", "7T", "6T", "5T"], - waterpulse: ["8L20", "7T", "6T", "4M", "3M"], - whirlpool: ["8M", "4M"], + uproar: ["9M", "8M", "7T", "6T"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpledge: ["9M", "8T", "7T", "6T", "5T"], + waterpulse: ["9M", "9L20", "8L20", "7T", "6T", "4M", "3M"], + whirlpool: ["9M", "8M", "4M"], workup: ["8M", "7M"], }, }, swampert: { learnset: { - amnesia: ["8M", "8L35"], + amnesia: ["9M", "9L35", "8M", "8L35"], ancientpower: ["4T"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - avalanche: ["8M", "4M"], + avalanche: ["9M", "8M", "4M"], bide: ["7L18", "6L15", "5L15", "4L15", "3L15"], - blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], - bodypress: ["8M"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulkup: ["8M"], - bulldoze: ["8M", "7M", "6M", "5M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], counter: ["3T"], + curse: ["9M"], darkestlariat: ["8M"], defensecurl: ["3T"], - dig: ["8M", "6M", "5M", "4M", "3M"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "8L1", "7M", "7L51", "6M", "6L51", "5M", "5L52", "5S0", "4M", "4L52", "3M", "3L52"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L1", "8M", "8L1", "7M", "7L51", "6M", "6L51", "5M", "5L52", "5S0", "4M", "4L52", "3M", "3L52"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["8L56", "7T", "7L56", "6T", "6L56", "5T", "5L61", "4T", "4L61", "3L61"], - endure: ["8M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - flipturn: ["8T"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + endeavor: ["9M", "9L56", "8L56", "7T", "7L56", "6T", "6L56", "5T", "5L61", "4T", "4L61", "3L61"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], foresight: ["7L12", "6L12", "5L20", "4L20", "3L20"], frustration: ["7M", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], - hammerarm: ["8L1", "7L1", "6L1", "5L69", "5S0", "4L69"], + hammerarm: ["9L1", "8L1", "7L1", "6L1", "5L69", "5S0", "4L69"], + hardpress: ["9M"], headbutt: ["4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - highhorsepower: ["8M"], - hydrocannon: ["8T", "7T", "6T", "5T", "4T"], - hydropump: ["8M", "8L63", "5S0"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "7M", "6M", "5M", "5S0", "4M", "3M"], - icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + highhorsepower: ["9M", "8M"], + hydrocannon: ["9M", "8T", "7T", "6T", "5T", "4T"], + hydropump: ["9M", "9L63", "8M", "8L63", "5S0"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], - liquidation: ["8M"], - lowkick: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M"], + liquidation: ["9M", "8M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], mudbomb: ["7L22", "6L22", "5L25", "4L25"], - muddywater: ["8M", "8L42", "7L39", "6L39", "5L39", "4L39", "3L39"], - mudshot: ["8M", "8L1", "7L1", "6L16", "5L16", "4L16", "3L16"], - mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + muddywater: ["9M", "9L42", "8M", "8L42", "7L39", "6L39", "5L39", "4L39", "3L39"], + mudshot: ["9M", "9L1", "8M", "8L1", "7L1", "6L16", "5L16", "4L16", "3L16"], + mudslap: ["9M", "7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], mudsport: ["3L25"], naturalgift: ["4M"], - outrage: ["8M", "7T", "6T", "5T", "4T"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + poisonjab: ["9M"], poweruppunch: ["6M"], - protect: ["8M", "8L12", "7M", "7L32", "6M", "6L32", "5M", "5L46", "4M", "4L46", "3M", "3L46"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "9L12", "8M", "8L12", "7M", "7L32", "6M", "6L32", "5M", "5L46", "4M", "4L46", "3M", "3L46"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - roar: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], - rockslide: ["8M", "8L25", "7M", "7L28", "6M", "6L28", "5M", "4M", "3T"], - rocksmash: ["8L1", "6M", "5M", "4M", "3M"], - rockthrow: ["8L9"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "9L25", "8M", "8L25", "7M", "7L28", "6M", "6L28", "5M", "4M", "3T"], + rocksmash: ["9L1", "8L1", "6M", "5M", "4M", "3M"], + rockthrow: ["9L9", "8L9"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], - sandtomb: ["8M"], + sandtomb: ["9M", "8M"], scald: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L49"], + scaryface: ["9M"], + screech: ["9L49", "8M", "8L49"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], - sludgewave: ["8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], + smackdown: ["9M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "7T", "6T", "5T", "4M"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], superpower: ["8M", "7T", "6T", "5T", "4T"], - supersonic: ["8L15"], - surf: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["9L15", "8L15"], + surf: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L30", "7L44", "6L31", "5L31", "4L31", "3L31"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L30", "8L30", "7L44", "6L31", "5L31", "4L31", "3L31"], + terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], - uproar: ["8M", "7T", "6T"], - waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], - watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - waterpledge: ["8T", "7T", "6T", "5T"], - waterpulse: ["8L20", "7T", "6T", "4M", "3M"], - whirlpool: ["8M", "4M"], + uproar: ["9M", "8M", "7T", "6T"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpledge: ["9M", "8T", "7T", "6T", "5T"], + waterpulse: ["9M", "9L20", "8L20", "7T", "6T", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["9M", "8M", "4M"], workup: ["8M", "7M"], }, eventData: [ @@ -33419,9 +34308,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L31", "7L34", "6L37", "5L53", "4L53", "3L41"], darkpulse: ["9M", "7M", "6M", "5T", "5D", "4M"], dig: ["9M", "6M", "5M", "4M", "3M", "3S0"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], embargo: ["7M", "7L28", "6M", "6L28", "5M", "5L41", "4M", "4L41"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firefang: ["9M", "7E", "6E", "5E", "4E"], @@ -33504,9 +34394,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L1", "7L1", "7S0", "6L1", "3L47"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], embargo: ["7M", "7L32", "6M", "6L32", "5M", "5L47", "4M", "4L47"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firefang: ["9M", "9L1", "7L1", "7S0"], @@ -33562,7 +34453,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L36", "7M", "7L36", "6M", "6L36", "5M", "5L42", "4M", "4L42", "3M", "3L42"], terablast: ["9M"], thief: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L57", "4M", "4L57", "3M", "3L52"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderfang: ["9M", "9L1", "7L1", "7S0"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], @@ -34162,7 +35053,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["9E", "8E", "7E", "6E", "5E", "4E"], disarmingvoice: ["9M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "4M", "3T"], @@ -34186,6 +35077,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megadrain: ["9L12", "8L12", "7L18", "6L18", "5L19", "4L19", "3L43"], mimic: ["3T"], mist: ["9L9", "8L9", "7L15", "6L11", "5L11", "4L11", "3L21"], + muddywater: ["9M"], naturalgift: ["7L12", "6L12", "5L15", "4M", "4L15"], naturepower: ["8L24", "7M", "7L24", "6M", "6L7", "5L7", "4L7", "3L13"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -34218,7 +35110,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L6", "8L6", "7E", "6E", "5E", "4E", "3E"], waterpulse: ["9M", "7T", "6T", "5D", "4M", "3M"], weatherball: ["9M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], zenheadbutt: ["9M", "9L38", "8M", "8L38", "7T", "7L33", "6T", "6L31", "5T", "5L31", "4T", "4L27"], }, eventData: [ @@ -34244,7 +35136,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], disarmingvoice: ["9M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], dynamicpunch: ["3T"], @@ -34283,7 +35175,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { metronome: ["9M"], mimic: ["3T"], mist: ["9L9", "8L9"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["4T", "3T"], naturalgift: ["4M"], @@ -34321,7 +35213,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "7T", "6T", "4M", "3M"], watersport: ["7L20", "6L19", "5L19", "4L19", "3L31"], weatherball: ["9M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], zenheadbutt: ["9M", "9L50", "8M", "8L50", "7T", "7L40", "6T", "6L31", "5T", "5L31", "4T", "4L27"], }, encounters: [ @@ -34345,7 +35237,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["3T"], disarmingvoice: ["9M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], dynamicpunch: ["3T"], @@ -34389,7 +35281,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { metronome: ["9M", "8M", "3T"], mimic: ["3T"], mist: ["9L1", "8L1"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["4T", "3T"], naturalgift: ["4M"], @@ -34429,7 +35321,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], zenheadbutt: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T", "4T"], }, eventData: [ @@ -34449,11 +35341,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M", "8M", "7E", "6E", "5E", "5D", "4M", "3M", "3S1"], captivate: ["4M"], confide: ["7M", "6M"], + curse: ["9M"], defensecurl: ["3T"], defog: ["9E", "8E", "7T", "7E", "6E", "5E"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "8M", "4M", "3T"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], explosion: ["9L33", "8L33", "7M", "7L33", "6M", "6L33", "5M", "5L43", "4M", "4L43", "3T", "3L43"], @@ -34536,14 +35430,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], confide: ["7M", "6M"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], defensecurl: ["3T"], defog: ["7T"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], embargo: ["7M", "6M", "5M", "4M"], + endeavor: ["9M"], endure: ["9M", "8M", "4M", "3T"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], explosion: ["9L1", "8L1", "7M", "6M", "5M", "4M", "3T"], @@ -34585,7 +35481,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powerswap: ["8M"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], raindance: ["9M"], razorleaf: ["9L0", "8L0", "7L1", "6L1", "5L1", "4L1"], razorwind: ["7L20", "6L20", "5L37", "4L37", "3L37"], @@ -34651,14 +35547,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], confuseray: ["9M"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], defensecurl: ["3T"], defog: ["7T", "4M"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], embargo: ["7M", "6M", "5M", "4M"], + endeavor: ["9M"], endure: ["9M", "8M", "4M", "3T"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], explosion: ["9L1", "8L1", "7M", "6M", "5M", "4M", "3T"], @@ -34705,11 +35603,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturepower: ["8L1", "7M", "6M", "3L1"], ominouswind: ["4T"], payback: ["9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + petalblizzard: ["9M"], pound: ["3L1"], powerswap: ["8M"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], raindance: ["9M"], razorleaf: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -34749,12 +35648,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], torment: ["9L1", "8L1", "7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], toxicspikes: ["9M"], trailblaze: ["9M"], twister: ["4T"], + upperhand: ["9M"], uproar: ["9M"], vacuumwave: ["9M"], weatherball: ["9M"], @@ -34909,7 +35809,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["9M", "9E", "8E", "7M", "7L29", "6M", "6L29", "5M", "5L42", "4M", "4L42", "3M"], agility: ["9M", "9L26", "8M", "8L26", "7L36", "7E", "6L36", "6E", "5L37", "5E", "4L37", "4E", "3L55", "3E"], aircutter: ["9M", "9E", "8E", "7L22", "6L22", "5L33", "4T"], - airslash: ["9M", "9L30", "8M", "8L30", "7L40", "6L40", "5L47", "4L47"], + airslash: ["9M", "9L30", "8M", "8L30", "7L40", "6L40", "5L46", "4L47"], aquaring: ["9E", "8E", "7E", "6E", "5E", "4E"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -34925,6 +35825,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M"], fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], @@ -34932,25 +35833,26 @@ export const Learnsets: {[k: string]: LearnsetData} = { hail: ["8M", "7M", "6M", "5M", "4M", "3M"], helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hurricane: ["9M", "9L45", "8M", "8L45", "7L43", "6L43", "5L50"], + hurricane: ["9M", "9L45", "8M", "8L45", "7L43", "6L43", "5L49"], hydropump: ["9M"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], liquidation: ["9M", "8M", "7T"], mimic: ["3T"], - mist: ["9L35", "8L35", "7L12", "7E", "6L12", "6E", "5L16", "5E", "4L16", "4E", "3L21", "3E"], + mist: ["9L35", "8L35", "7L12", "7E", "6L12", "6E", "5L14", "5E", "4L16", "4E", "3L21", "3E"], + muddywater: ["9M"], mudslap: ["4T", "3T"], naturalgift: ["4M"], ominouswind: ["4T"], pluck: ["5M", "4M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - pursuit: ["7L26", "6L26", "5L34", "4L34", "3L43"], - quickattack: ["9L5", "8L5", "7L19", "6L19", "5L24", "4L24", "3L31"], + pursuit: ["7L26", "6L26", "5L30", "4L34", "3L43"], + quickattack: ["9L5", "8L5", "7L19", "6L19", "5L22", "4L24", "3L31"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - roost: ["9L40", "8L40", "7M", "7L33", "7E", "6M", "6L26", "6E", "5T", "5L29", "5E", "4M", "4L29"], + roost: ["9L40", "8L40", "7M", "7L33", "7E", "6M", "6L26", "6E", "5T", "5L26", "5E", "4M", "4L29"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], @@ -34976,10 +35878,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], waterfall: ["9M"], watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], - waterpulse: ["9M", "9L20", "8L20", "7T", "7L15", "6T", "6L15", "5L19", "4M", "4L19", "3M"], + waterpulse: ["9M", "9L20", "8L20", "7T", "7L15", "6T", "6L15", "5L17", "4M", "4L19", "3M"], watersport: ["7E", "6E", "5E", "4E", "3E"], + whirlpool: ["9M"], wideguard: ["9E", "8E", "7E", "6E"], - wingattack: ["9L15", "8L15", "7L8", "6L8", "5L11", "4L11", "3L13"], + wingattack: ["9L15", "8L15", "7L8", "6L8", "5L9", "4L11", "3L13"], }, encounters: [ {generation: 3, level: 2}, @@ -35007,6 +35910,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9M"], fling: ["9M", "9L34", "8M", "8L34", "7M", "7L28", "6M", "6L39", "5M", "5L43", "4M", "4L43"], fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], @@ -35024,18 +35928,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { knockoff: ["9M", "7T", "6T", "5T", "4T"], liquidation: ["9M", "8M", "7T"], mimic: ["3T"], - mist: ["9L41", "8L41", "7L12", "6L12", "5L16", "4L16", "3L21"], + mist: ["9L41", "8L41", "7L12", "6L12", "5L14", "4L16", "3L21"], + muddywater: ["9M"], mudslap: ["4T", "3T"], naturalgift: ["4M"], ominouswind: ["4T"], - payback: ["8M", "7M", "7L19", "6M", "6L19", "5M", "5L24", "4M", "4L24"], + payback: ["8M", "7M", "7L19", "6M", "6L19", "5M", "5L22", "4M", "4L24"], pluck: ["5M", "4M"], protect: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M", "3L25"], quickattack: ["9L1", "8L1"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - roost: ["9L48", "8L48", "7M", "7L39", "6M", "6L22", "5T", "5L31", "4M", "4L31"], + roost: ["9L48", "8L48", "7M", "7L39", "6M", "6L22", "5T", "5L28", "4M", "4L31"], round: ["8M", "7M", "6M", "5M"], scald: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M", "3M"], @@ -35066,10 +35971,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], waterfall: ["9M"], watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - waterpulse: ["9M", "9L20", "8L20", "7T", "7L15", "6T", "6L15", "5L19", "4M", "4L19", "3M"], + waterpulse: ["9M", "9L20", "8L20", "7T", "7L15", "6T", "6L15", "5L17", "4M", "4L19", "3M"], watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], wingattack: ["9L15", "8L15", "7L1", "6L1", "5L1", "4L1", "3L1"], }, encounters: [ @@ -35079,6 +35984,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, ralts: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T", "7E", "6E", "5M"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], @@ -35101,13 +36007,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "8M", "7E", "6E", "6S3", "5E", "4E"], endure: ["9M", "8M", "4M", "3T"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], flash: ["6M", "5M", "4M", "3M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L39", "8M", "8L39", "7L32", "6L32", "5L39", "4L34", "3L36"], + futuresight: ["9M", "9L39", "8M", "8L39", "7L32", "6L32", "5L39", "4L34", "3L36"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1", "7L1", "6L1", "6S3", "5L1", "4L1", "3L1", "3S0", "3S1"], grudge: ["8E", "7E", "6E", "5E", "4E"], @@ -35138,12 +36044,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mysticalfire: ["9E"], naturalgift: ["4M"], nightmare: ["3T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L18", "8L18"], psychic: ["9M", "9L30", "8M", "8L30", "7M", "7L27", "6M", "6L27", "5M", "5L32", "4M", "4L28", "3M", "3L26"], psychicterrain: ["9M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], psyshock: ["9M", "8M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "4M"], @@ -35197,6 +36103,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, kirlia: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T", "5M"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], @@ -35217,13 +36124,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "8M"], endure: ["9M", "8M", "4M", "3T"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], flash: ["6M", "5M", "4M", "3M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L53", "8M", "8L53", "7L37", "6L37", "5L45", "4L39", "3L40"], + futuresight: ["9M", "9L53", "8M", "8L53", "7L37", "6L37", "5L45", "4L39", "3L40"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], headbutt: ["4T"], @@ -35251,12 +36158,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["4T", "3T"], naturalgift: ["4M"], nightmare: ["3T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L18", "8L18"], psychic: ["9M", "9L38", "8M", "8L38", "7M", "7L30", "6M", "6L30", "5M", "5L36", "4M", "4L31", "3M", "3L26"], psychicterrain: ["9M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], psyshock: ["9M", "8M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "4M"], @@ -35290,7 +36197,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M", "5M", "4M", "3M"], trick: ["9M", "8M", "7T", "6T", "5T", "4T"], trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], willowisp: ["9M", "8M", "7M", "6M", "5M"], wonderroom: ["8M", "7T", "6T", "5T"], zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -35301,6 +36208,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, gardevoir: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T", "5M"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], aurasphere: ["9M"], @@ -35323,14 +36231,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M", "8M"], endure: ["9M", "8M", "4M", "3T"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], flash: ["6M", "5M", "4M", "3M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focusblast: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L63", "8M", "8L63", "7L40", "6L40", "5L53", "4L45", "3L42"], + futuresight: ["9M", "9L63", "8M", "8L63", "7L40", "6L40", "5L53", "4L45", "3L42"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M"], @@ -35367,13 +36275,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightmare: ["3T"], nightshade: ["9M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], powerswap: ["8M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L18", "8L18"], psychic: ["9M", "9L42", "8M", "8L42", "7M", "7L31", "6M", "6L31", "5M", "5L40", "5S0", "4M", "4L33", "3M", "3L26"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], psyshock: ["9M", "8M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "4M"], @@ -35407,7 +36316,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M", "5M", "4M", "3M"], trick: ["9M", "8M", "7T", "6T", "5T", "4T"], trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], vacuumwave: ["9M"], willowisp: ["9M", "8M", "7M", "6M", "5M"], wish: ["9L28", "8L28", "7L14", "6L14", "5L17", "4L17"], @@ -35424,6 +36333,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["9M", "9L18", "8L18", "7M", "7L17", "6M", "5M", "4M"], agility: ["9M"], airslash: ["9M", "8M"], + alluringvoice: ["9M"], allyswitch: ["8M", "7T", "5M"], aquacutter: ["9L1"], attract: ["8M", "7M", "6M", "5M", "4M"], @@ -35437,7 +36347,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M", "7M", "6M", "5M", "4M"], charm: ["9M", "9L1", "8M", "8L1"], closecombat: ["9M", "9L63", "8M", "8L63", "7L1", "6L1", "5L59", "4L53"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], confuseray: ["9M"], confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], @@ -35454,7 +36364,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M", "8M"], endure: ["9M", "8M", "4M"], energyball: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], falseswipe: ["9M", "9L23", "8M", "8L23", "7M", "7L44", "6M", "6L44", "5M", "5L50", "4M", "4L45"], feint: ["9L12", "8L12", "7L40", "6L40", "5L45", "4L39"], @@ -35465,7 +36375,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M"], frustration: ["7M", "6M", "5M", "4M"], furycutter: ["9L1", "8L1", "7L14", "6L14", "5L17", "4T", "4L17"], - futuresight: ["9L1", "8M", "8L1"], + futuresight: ["9M", "9L1", "8M", "8L1"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1"], @@ -35499,7 +36409,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightshade: ["9M"], nightslash: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], protect: ["9M", "9L28", "8M", "8L28", "7M", "7L49", "6M", "6L49", "5M", "5L53", "4M", "4L50"], @@ -35507,7 +36417,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psychic: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], psychicterrain: ["9M"], psychocut: ["9L42", "8M", "8L42", "7L31", "6L31", "5L36", "4L31"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "7M", "6M", "5M"], quickguard: ["9L56", "8L56", "7L11", "6L11"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -35549,7 +36459,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { teleport: ["9L15", "8L15", "7L1", "6L1", "5L1", "4L1"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -35557,7 +36467,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M", "5M", "4M"], trick: ["9M", "8M", "7T", "6T", "5T", "4T"], trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], + upperhand: ["9M"], vacuumwave: ["9M", "4T"], wideguard: ["9L56", "8L56", "7L23", "6L23"], willowisp: ["9M", "8M", "7M", "6M", "5M"], @@ -35612,7 +36523,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powersplit: ["9E", "7E", "6E"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], quickattack: ["9L6", "7L6", "6L6", "5L7", "4L7", "3L7", "3S1"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -35622,6 +36533,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], soak: ["9L14"], @@ -35702,7 +36614,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pounce: ["9M"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], quickattack: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], quiverdance: ["9L52", "7L1", "6L1", "5L68"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -35716,6 +36628,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], silverwind: ["7L32", "6L32", "5L40", "4M", "4L40", "3L47"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], soak: ["9L1"], @@ -35901,6 +36814,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["7T", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spore: ["9L1"], stoneedge: ["9M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M", "3M"], stunspore: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], @@ -35940,7 +36854,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["9L30", "7L30", "6L30", "5L43", "4L37", "3T", "3L37"], covet: ["9L22", "7T", "7L22", "6T", "6L22", "5T", "5L31", "4L31", "3L31"], crushclaw: ["9E", "7E", "6E", "5E", "4E", "3E"], - curse: ["9E", "7E", "6E", "5E", "4E", "3E"], + curse: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], cut: ["6M", "5M", "4M", "3M"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], @@ -36010,7 +36924,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["9L25"], + throatchop: ["9M", "9L25"], thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], @@ -36040,14 +36954,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["9L33", "7L33", "6L33", "5L37", "4L37", "3T", "3L37"], covet: ["7T", "6T", "5T"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], dig: ["9M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dynamicpunch: ["3T"], earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], encore: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endeavor: ["9M"], endure: ["9M", "9L17", "7L17", "6L17", "5L25", "4M", "4L25", "3T", "3L25"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M"], @@ -36121,7 +37037,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["9L27"], + throatchop: ["9M", "9L27"], thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], @@ -36154,14 +37070,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["9L33", "7L33", "6L33", "5L43", "4L37", "3T", "3L37"], covet: ["9L23", "7T", "7L23", "6T", "6L23", "5T", "5L31", "4L31", "3L31"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], dig: ["9M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dynamicpunch: ["3T"], earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], encore: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M"], @@ -36178,6 +37096,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "7M", "6M", "5M", "4M", "4S0"], gunkshot: ["9M", "7T", "6T", "5T", "4T"], hammerarm: ["9L63", "7L1", "6L1", "5L67", "4L61"], + hardpress: ["9M"], headbutt: ["4T"], heavyslam: ["9M"], helpinghand: ["9M"], @@ -36244,7 +37163,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["9L27"], + throatchop: ["9M", "9L27"], thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], @@ -36754,12 +37673,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], chipaway: ["7E", "6E", "5E"], closecombat: ["9M", "9L40", "7L40", "6L40", "5L40", "4L40"], + coaching: ["9M"], confide: ["7M", "6M"], counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], crosschop: ["9E", "7E", "6E", "5E", "4E", "3E"], detect: ["9L28", "7E", "6E", "5E", "4E", "3E"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dynamicpunch: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], @@ -36831,6 +37751,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thief: ["9M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], + upperhand: ["9M"], vacuumwave: ["9M", "4T"], vitalthrow: ["7L22", "6L10", "5L10", "4L10", "3L13"], wakeupslap: ["7L34", "7E", "6L34", "6E", "5L34", "5E", "4L34", "4E"], @@ -36858,11 +37779,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], closecombat: ["9M", "9L46", "7L46", "6L46", "5L52", "4L52"], + coaching: ["9M"], confide: ["7M", "6M"], counter: ["3T"], + curse: ["9M"], detect: ["9L30"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainpunch: ["9M"], dynamicpunch: ["3T"], @@ -36934,9 +37857,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], + upperhand: ["9M"], vacuumwave: ["9M", "4T"], vitalthrow: ["7L22", "6L10", "5L10", "4L10", "3L13"], wakeupslap: ["7L38", "6L38", "5L42", "4L42"], @@ -36953,19 +37877,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { ancientpower: ["5D", "4T"], attract: ["7M", "6M", "5M", "4M", "3M"], - block: ["9L7", "7T", "7L7", "7E", "6T", "6L7", "6E", "5T", "5L19", "5E", "4T", "4L19", "4E", "3L16"], + block: ["9L7", "7T", "7L7", "7E", "6T", "6L7", "6E", "5T", "5L8", "5E", "4T", "4L19", "4E", "3L16"], bodypress: ["9M"], bodyslam: ["9M", "3T"], bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], + curse: ["9M"], dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["3T"], - discharge: ["9L31", "7L31", "6L31", "5L55", "4L49"], - doubleedge: ["9E", "7E", "6E", "5E", "4E", "3T"], + discharge: ["9L31", "7L31", "6L31", "5L39", "4L49"], + doubleedge: ["9M", "9E", "7E", "6E", "5E", "4E", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - earthpower: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L79", "4T", "4L73"], + earthpower: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L43", "4T", "4L73"], earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], endure: ["9M", "7E", "6E", "5E", "4M", "3T"], explosion: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], @@ -36974,7 +37899,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flashcannon: ["9M"], frustration: ["7M", "6M", "5M", "4M", "3M"], gravity: ["9M", "7T", "6T", "5T", "4T"], - harden: ["9L4", "7L4", "6L4", "5L7", "4L7", "3L7"], + harden: ["9L4", "7L4", "6L4", "5L4", "4L7", "3L7"], headbutt: ["4T"], headsmash: ["9E"], heavyslam: ["9M"], @@ -36983,27 +37908,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { highhorsepower: ["9M"], icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], irondefense: ["9M", "7T", "6T", "5T", "4T"], - lockon: ["9L43", "7L43", "6L43", "5L73", "4L67", "3L46"], + lockon: ["9L43", "7L43", "6L43", "5L50", "4L67", "3L46"], magiccoat: ["7T", "6T", "5T", "4T"], magnetrise: ["7T", "6T", "5T", "4T"], magnitude: ["7E", "6E", "5E", "4E", "3E"], + meteorbeam: ["9M"], mimic: ["3T"], mudslap: ["4T", "3T"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], - powergem: ["9M", "9L25", "7L25", "6L25", "5L49", "4L49"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], + powergem: ["9M", "9L25", "7L25", "6L25", "5L32", "4L49"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], - rest: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L43", "4M", "4L43", "3M", "3L37"], + rest: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L22", "4M", "4L43", "3M", "3L37"], return: ["7M", "6M", "5M", "4M", "3M"], rockblast: ["9M", "9L28", "7L28", "6L18", "5L18"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L31", "4M", "4L31", "3T", "3L28", "3S0"], + rockslide: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L29", "4M", "4L31", "3T", "3L28", "3S0"], rocksmash: ["6M", "5M", "4M", "3M"], - rockthrow: ["9L10", "7L10", "6L10", "5L13", "4L13", "3L13"], + rockthrow: ["9L10", "7L10", "6L10", "5L11", "4L13", "3L13"], rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], rollout: ["9E", "7E", "6E", "5E", "4T", "4E", "3T", "3E"], round: ["7M", "6M", "5M"], - sandstorm: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L37", "4M", "4L37", "3M", "3L31"], + sandstorm: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L36", "4M", "4L37", "3M", "3L31"], sandtomb: ["9M"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["3T"], @@ -37015,7 +37941,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stealthrock: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M"], steelbeam: ["9M"], stompingtantrum: ["9M", "7T"], - stoneedge: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L61", "4M", "4L55"], + stoneedge: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L46", "4M", "4L55"], strength: ["6M", "5M", "4M", "3M"], substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -37027,12 +37953,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M", "3S0"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], - thunderwave: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L25", "4M", "4L25", "3T", "3L22", "3S0"], + thunderwave: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L15", "4M", "4L25", "3T", "3L22", "3S0"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], voltswitch: ["9M", "7M", "6M", "5M"], wideguard: ["9E", "7E", "6E"], - zapcannon: ["9L43", "7L43", "6L43", "5L67", "4L61", "3L43"], + zapcannon: ["9L43", "7L43", "6L43", "5L50", "4L61", "3L43"], }, eventData: [ {generation: 3, level: 26, moves: ["helpinghand", "thunderbolt", "thunderwave", "rockslide"]}, @@ -37049,10 +37975,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], + curse: ["9M"], dazzlinggleam: ["9M", "7M", "6M"], - discharge: ["9L31", "7L31", "6L31", "5L55", "4L49"], + discharge: ["9L31", "7L31", "6L31", "5L39", "4L49"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], - earthpower: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L79", "4T", "4L73"], + earthpower: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L43", "4T", "4L73"], earthquake: ["9M", "7M", "6M", "5M", "4M"], endure: ["9M", "4M"], explosion: ["7M", "6M", "5M", "4M"], @@ -37062,6 +37990,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "6M", "5M", "4M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], gravity: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + hardpress: ["9M"], headbutt: ["4T"], heavyslam: ["9M"], helpinghand: ["9M"], @@ -37071,26 +38000,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { icepunch: ["9M", "7T", "6T", "5T", "4T"], irondefense: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], ironhead: ["9M", "7T", "6T", "5T", "4T"], - lockon: ["9L43", "7L43", "6L43", "5L73", "4L67"], + lockon: ["9L43", "7L43", "6L43", "5L50", "4L67"], magiccoat: ["7T", "6T", "5T", "4T"], magnetbomb: ["7L1", "6L1", "5L1", "4L1"], magneticflux: ["9L1", "7L1"], magnetrise: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + metalsound: ["9M"], + meteorbeam: ["9M"], mudslap: ["4T"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], - powergem: ["9M", "9L25", "7L25", "6L25", "5L49", "4L49"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], + powergem: ["9M", "9L25", "7L25", "6L25", "5L32", "4L49"], protect: ["9M", "7M", "6M", "5M", "4M"], - rest: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L43", "4M", "4L43"], + rest: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L22", "4M", "4L43"], return: ["7M", "6M", "5M", "4M"], rockblast: ["9M", "9L28", "7L28", "6L18", "5L18"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L31", "4M", "4L31"], + rockslide: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L29", "4M", "4L31"], rocksmash: ["6M", "5M", "4M"], rocktomb: ["9M", "7M", "6M", "5M", "4M"], rollout: ["4T"], round: ["7M", "6M", "5M"], - sandstorm: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L37", "4M", "4L37"], + sandstorm: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L36", "4M", "4L37"], sandtomb: ["9M"], secretpower: ["6M", "4M"], shockwave: ["7T", "6T", "4M"], @@ -37101,10 +38032,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { stealthrock: ["9M", "7T", "6T", "5T", "4M"], steelbeam: ["9M"], stompingtantrum: ["9M", "7T"], - stoneedge: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L61", "4M", "4L55"], + stoneedge: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L46", "4M", "4L55"], strength: ["6M", "5M", "4M"], substitute: ["9M", "7M", "6M", "5M", "4M"], sunnyday: ["9M", "7M", "6M", "5M", "4M"], + supercellslam: ["9M"], swagger: ["7M", "6M", "5M", "4M"], tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], takedown: ["9M"], @@ -37114,13 +38046,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunder: ["9M", "7M", "6M", "5M", "4M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T"], - thunderwave: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L25", "4M", "4L25"], + thunderwave: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L15", "4M", "4L25"], torment: ["7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], triattack: ["9L0", "7L1"], voltswitch: ["9M", "7M", "6M", "5M"], wideguard: ["9L1", "7L1", "6L1"], - zapcannon: ["9L43", "7L43", "6L43", "5L67", "4L61"], + zapcannon: ["9L43", "7L43", "6L43", "5L50", "4L61"], }, }, skitty: { @@ -37377,7 +38309,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightshade: ["9M", "9L21", "8L21", "7L6", "6L6", "5L8", "4L8", "3L9", "3S0"], octazooka: ["5S2"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "4T"], + painsplit: ["9M", "7T", "6T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], phantomforce: ["9M"], poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -37387,7 +38319,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + psychup: ["9M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], punishment: ["7L24", "6L24", "5L36", "4L36"], quash: ["9L30", "8L30", "7M", "7L44", "6M", "6L44"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -37409,6 +38341,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T", "6T", "6S4", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], skillswap: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snarl: ["9M", "8M", "7M", "6M", "5M"], snatch: ["7T", "6T", "5T", "4M", "3M"], @@ -37423,6 +38356,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { telekinesis: ["7T", "5M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["9M"], thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], thunderwave: ["9M"], tickle: ["5S2"], @@ -37567,7 +38501,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["7M", "6M", "5M", "4M", "3M"], ancientpower: ["4T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - autotomize: ["8L40", "7L43", "6L39", "5L43"], + autotomize: ["8L40", "7L43", "6L39", "5L39"], bodypress: ["8M"], bodyslam: ["8M", "7E", "6E", "5E", "4E", "3T", "3E"], bulldoze: ["8M", "7M", "6M", "5M"], @@ -37577,7 +38511,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M", "4M", "3M"], defensecurl: ["3T"], dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["8L56", "7L40", "6L40", "5L50", "4L43", "3T", "3L44"], + doubleedge: ["8L56", "7L40", "6L40", "5L46", "4L43", "3T", "3L44"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragonrush: ["8E", "7E", "6E", "5E", "4E"], earthpower: ["8M", "7T", "6T", "5T", "4T"], @@ -37587,28 +38521,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - harden: ["8L1", "7L1", "6L1", "5L4", "5D", "4L4", "3L4"], - headbutt: ["8L16", "7L7", "6L7", "5L11", "4T", "4L11", "3L10"], + harden: ["8L1", "7L1", "6L1", "5L1", "5D", "4L4", "3L4"], + headbutt: ["8L16", "7L7", "6L7", "5L8", "4T", "4L11", "3L10"], headsmash: ["8E", "7E", "6E", "5E", "5D", "4E"], - heavyslam: ["8M", "8L52", "7L46", "6L43", "5L46"], + heavyslam: ["8M", "8L52", "7L46", "6L43", "5L43"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - irondefense: ["8M", "8L48", "7T", "7L37", "6T", "6L15", "5T", "5L18", "4T", "4L18", "3L17"], - ironhead: ["8M", "8L28", "7T", "7L22", "7E", "6T", "6L22", "6E", "5T", "5L29", "5E", "4T", "4L29", "4E"], - irontail: ["8M", "8L44", "7T", "7L34", "6T", "6L34", "5T", "5L39", "4M", "4L39", "3M", "3L29"], + irondefense: ["8M", "8L48", "7T", "7L37", "6T", "6L15", "5T", "5L15", "4T", "4L18", "3L17"], + ironhead: ["8M", "8L28", "7T", "7L22", "7E", "6T", "6L22", "6E", "5T", "5L25", "5E", "4T", "4L29", "4E"], + irontail: ["8M", "8L44", "7T", "7L34", "6T", "6L34", "5T", "5L36", "4M", "4L39", "3M", "3L29"], magnetrise: ["7T", "6T", "5T", "4T"], - metalburst: ["8L60", "7L49", "6L49", "5L53", "4L46"], - metalclaw: ["8L4", "7L10", "6L10", "5L15", "4L15", "3L13"], - metalsound: ["8L33", "7L31", "6L31", "5L36", "4L36", "3L39"], + metalburst: ["8L60", "7L49", "6L49", "5L50", "4L46"], + metalclaw: ["8L4", "7L10", "6L10", "5L11", "4L15", "3L13"], + metalsound: ["8L33", "7L31", "6L31", "5L32", "4L36", "3L39"], mimic: ["3T"], - mudslap: ["8E", "7L4", "6L4", "5L8", "4T", "4L8", "3T", "3L7"], + mudslap: ["8E", "7L4", "6L4", "5L4", "4T", "4L8", "3T", "3L7"], naturalgift: ["4M"], - protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L32", "4M", "4L32", "3M", "3L34"], + protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L29", "4M", "4L32", "3M", "3L34"], raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], rest: ["8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], reversal: ["8M", "7E", "6E"], - roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L22", "4M", "4L22", "3M", "3L21"], + roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L18", "4M", "4L22", "3M", "3L21"], rockpolish: ["7M", "6M", "5M", "4M"], rockslide: ["8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], @@ -37634,7 +38568,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { superpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], swagger: ["7M", "6M", "5M", "4M", "3T"], tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L36", "7L28", "6L22", "5L25", "4L25", "3L25"], + takedown: ["8L36", "7L28", "6L22", "5L22", "4L25", "3L25"], toxic: ["7M", "6M", "5M", "4M", "3M"], uproar: ["8M", "7T", "6T", "5T", "4T"], waterpulse: ["7T", "6T", "4M", "3M"], @@ -37645,7 +38579,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["7M", "6M", "5M", "4M", "3M"], ancientpower: ["4T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - autotomize: ["8L46", "7L47", "6L45", "5L51"], + autotomize: ["8L46", "7L47", "6L45", "5L45"], bodypress: ["8M"], bodyslam: ["8M", "3T"], bulldoze: ["8M", "7M", "6M", "5M"], @@ -37654,7 +38588,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M", "4M", "3M"], defensecurl: ["3T"], dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["8L70", "7L43", "6L43", "5L62", "4L51", "3T", "3L53"], + doubleedge: ["8L70", "7L43", "6L43", "5L56", "4L51", "3T", "3L53"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], earthpower: ["8M", "7T", "6T", "5T", "4T"], earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -37665,25 +38599,25 @@ export const Learnsets: {[k: string]: LearnsetData} = { furycutter: ["4T", "3T"], harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], headbutt: ["8L16", "7L1", "6L1", "5L1", "4T", "4L1", "3L1"], - heavyslam: ["8M", "8L64", "7L51", "6L51", "5L56"], + heavyslam: ["8M", "8L64", "7L51", "6L51", "5L51"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - irondefense: ["8M", "8L58", "7T", "7L39", "6T", "6L15", "5T", "5L18", "4T", "4L18", "3L17"], - ironhead: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "5T", "5L29", "4T", "4L29"], - irontail: ["8M", "8L52", "7T", "7L35", "6T", "6L35", "5T", "5L45", "4M", "4L45", "3M", "3L29"], + irondefense: ["8M", "8L58", "7T", "7L39", "6T", "6L15", "5T", "5L15", "4T", "4L18", "3L17"], + ironhead: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "5T", "5L25", "4T", "4L29"], + irontail: ["8M", "8L52", "7T", "7L35", "6T", "6L35", "5T", "5L40", "4M", "4L45", "3M", "3L29"], magnetrise: ["7T", "6T", "5T", "4T"], - metalburst: ["8L76", "7L55", "6L55", "5L67", "4L56"], - metalclaw: ["8L1", "7L10", "6L10", "5L15", "4L15", "3L13"], - metalsound: ["8L35", "7L31", "6L31", "5L40", "4L40", "3L45"], + metalburst: ["8L76", "7L55", "6L55", "5L62", "4L56"], + metalclaw: ["8L1", "7L10", "6L10", "5L11", "4L15", "3L13"], + metalsound: ["8L35", "7L31", "6L31", "5L34", "4L40", "3L45"], mimic: ["3T"], mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], naturalgift: ["4M"], - protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L34", "4M", "4L34", "3M", "3L37"], + protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L29", "4M", "4L34", "3M", "3L37"], raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], rest: ["8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], reversal: ["8M"], - roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L22", "4M", "4L22", "3M", "3L21"], + roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L18", "4M", "4L22", "3M", "3L21"], rockblast: ["8M"], rockpolish: ["7M", "6M", "5M", "4M"], rockslide: ["8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "4M", "3T"], @@ -37711,7 +38645,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["7M", "6M", "5M", "4M", "3T"], tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L40", "7L28", "6L22", "5L25", "4L25", "3L25"], + takedown: ["8L40", "7L28", "6L22", "5L22", "4L25", "3L25"], toxic: ["7M", "6M", "5M", "4M", "3M"], uproar: ["8M", "7T", "6T", "5T", "4T"], waterpulse: ["7T", "6T", "4M", "3M"], @@ -37723,7 +38657,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["4T"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - autotomize: ["8L48", "7L51", "6L48", "5L57"], + autotomize: ["8L48", "7L51", "6L48", "5L48"], avalanche: ["8M", "4M"], blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], block: ["7T", "6T", "5T", "4T"], @@ -37740,7 +38674,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["8M", "7M", "6M", "5T", "4M"], defensecurl: ["3T"], dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["8L80", "7L45", "6L45", "5L74", "4L57", "3T", "3L63", "3S0"], + doubleedge: ["8L80", "7L45", "6L45", "5L65", "4L57", "3T", "3L63", "3S0"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], dragonpulse: ["8M", "7T", "6T", "5T", "4M"], @@ -37764,7 +38698,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], headbutt: ["8L16", "7L1", "6L1", "5L1", "4T", "4L1", "3L1"], headsmash: ["6S2"], - heavyslam: ["8M", "8L72", "7L57", "6L57", "5L65"], + heavyslam: ["8M", "8L72", "7L57", "6L57", "5L57"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], highhorsepower: ["8M"], honeclaws: ["6M", "5M"], @@ -37774,16 +38708,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], incinerate: ["6M", "5M"], - irondefense: ["8M", "8L64", "7T", "7L39", "6T", "6L15", "5T", "5L18", "4T", "4L18", "3L17"], - ironhead: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "6S2", "5T", "5L29", "4T", "4L29"], - irontail: ["8M", "8L56", "7T", "7L35", "6T", "6L35", "5T", "5L48", "4M", "4L48", "3M", "3L29", "3S0", "3S1"], + irondefense: ["8M", "8L64", "7T", "7L39", "6T", "6L15", "5T", "5L15", "4T", "4L18", "3L17"], + ironhead: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "6S2", "5T", "5L25", "4T", "4L29"], + irontail: ["8M", "8L56", "7T", "7L35", "6T", "6L35", "5T", "5L40", "4M", "4L48", "3M", "3L29", "3S0", "3S1"], lowkick: ["8M", "7T", "6T", "5T", "4T"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], - metalburst: ["8L88", "7L63", "6L63", "5L82", "4L65"], - metalclaw: ["8L1", "7L10", "6L10", "5L15", "4L15", "3L13"], - metalsound: ["8L35", "7L31", "6L31", "5L40", "4L40", "3L50", "3S0", "3S1"], + metalburst: ["8L88", "7L63", "6L63", "5L74", "4L65"], + metalclaw: ["8L1", "7L10", "6L10", "5L11", "4L15", "3L13"], + metalsound: ["8L35", "7L31", "6L31", "5L34", "4L40", "3L50", "3S0", "3S1"], meteorbeam: ["8T"], mimic: ["3T"], mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], @@ -37791,12 +38725,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { outrage: ["8M", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L34", "4M", "4L34", "3M", "3L37", "3S0", "3S1"], + protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L29", "4M", "4L34", "3M", "3L37", "3S0", "3S1"], raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], rest: ["8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], reversal: ["8M"], - roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L22", "4M", "4L22", "3M", "3L21"], + roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L18", "4M", "4L22", "3M", "3L21"], rockblast: ["8M"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], @@ -37831,7 +38765,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { surf: ["8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - takedown: ["8L40", "7L28", "6L22", "5L25", "4L25", "3L25", "3S1"], + takedown: ["8L40", "7L28", "6L22", "5L22", "4L25", "3L25", "3S1"], taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -37872,6 +38806,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["7M", "6M", "5M", "4M", "3T"], dynamicpunch: ["9E", "7E", "6E", "5E", "4E", "3T", "3E", "3S1"], endure: ["9M", "9L12", "7L12", "6L12", "5D", "4M", "3T"], + expandingforce: ["9M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], fakeout: ["9E", "7E", "6E", "5E", "4E", "3E"], feint: ["9L15", "7L15", "6L15", "5L22", "4L22"], @@ -37905,7 +38840,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["4T", "3T"], naturalgift: ["4M"], nightshade: ["9M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], poisonjab: ["9M", "7M", "6M", "5M", "4M"], powerswap: ["9E", "7E", "6E", "5E", "4E"], powertrick: ["9L36", "7L36", "6L36", "5L43", "4L39"], @@ -37915,7 +38850,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], psychicterrain: ["9M"], psychocut: ["9E", "7E", "6E", "5E", "4E"], - psychup: ["9L31", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L36", "3T", "3L36"], + psychup: ["9M", "9L31", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L36", "3T", "3L36"], psyshock: ["9M", "7M", "6M", "5M"], quickguard: ["9E", "7E", "6E"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -37954,6 +38889,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], trick: ["9M", "7T", "6T", "5T", "4T"], trickroom: ["9M"], + upperhand: ["9M"], vacuumwave: ["4T"], workup: ["9L1", "7M", "5M"], zenheadbutt: ["9M", "9L25", "7T", "6T", "5T", "4T"], @@ -37989,6 +38925,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dynamicpunch: ["3T"], endure: ["9M", "9L12", "7L12", "6L12", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], + expandingforce: ["9M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], feint: ["9L15", "7L15", "6L15", "5L22", "4L22"], firepunch: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], @@ -38022,7 +38959,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["4T", "3T"], naturalgift: ["4M"], nightshade: ["9M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], poisonjab: ["9M", "7M", "6M", "5M", "4M"], powertrick: ["9L36", "7L36", "6L36", "5L49", "4L42"], poweruppunch: ["6M"], @@ -38030,7 +38967,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M", "9L20"], psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], psychicterrain: ["9M"], - psychup: ["9L31", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L36", "3T", "3L36"], + psychup: ["9M", "9L31", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L36", "3T", "3L36"], psyshock: ["9M", "7M", "6M", "5M"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], recover: ["9L47", "7L47", "6L47", "5L62", "4L55", "3L54"], @@ -38068,6 +39005,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], trick: ["9M", "7T", "6T", "5T", "4T"], trickroom: ["9M"], + upperhand: ["9M"], vacuumwave: ["9M", "4T"], workup: ["9L1", "7M", "5M"], zenheadbutt: ["9M", "9L25", "7T", "7L1", "6T", "6L1", "5T", "4T"], @@ -38226,58 +39164,63 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, plusle: { learnset: { - agility: ["7L37", "6L37", "5L48", "4L44", "3L47"], + agility: ["9M", "9L37", "7L37", "6L37", "5L48", "4L44", "3L47"], + alluringvoice: ["9M"], attract: ["7M", "6M", "5M", "4M", "3M"], - batonpass: ["7L34", "6L34", "5L44", "4L42", "3L40"], + batonpass: ["9M", "9L34", "7L34", "6L34", "5L44", "4L42", "3L40"], bestow: ["7L13", "6L13"], bodyslam: ["3T"], captivate: ["4M"], - charge: ["7L28", "6L28", "5L38", "4L35", "3L31"], - chargebeam: ["7M", "6M", "5M", "4M"], - charm: ["7L25", "7E", "6L25"], + charge: ["9M", "9L26", "7L28", "6L28", "5L38", "4L35", "3L31"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9E", "7L25", "7E", "6L25"], confide: ["7M", "6M"], - copycat: ["7L22", "6L22", "5L24", "4L24"], + copycat: ["9L22", "7L22", "6L22", "5L24", "4L24"], counter: ["3T"], covet: ["7T"], defensecurl: ["3T"], - discharge: ["7L31", "7E", "6L31", "6E", "5E", "5D", "4E"], + discharge: ["9L31", "7L31", "7E", "6L31", "6E", "5E", "5D", "4E"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], echoedvoice: ["7M", "6M", "5M"], - electroball: ["7L19", "6L19", "5L29"], - electroweb: ["7T", "6T"], - encore: ["7L10", "6L10", "5L17", "4L17", "3L22"], - endure: ["4M", "3T"], - entrainment: ["7L49", "6L1", "5L63"], - facade: ["7M", "6M", "5M", "4M", "3M"], - faketears: ["7E", "6L35", "5L21", "4L21", "3L28"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "9L19", "7L19", "6L19", "5L29"], + electroweb: ["9M", "7T", "6T"], + encore: ["9M", "9L10", "7L10", "6L10", "5L17", "4L17", "3L22"], + endeavor: ["9M"], + endure: ["9M", "4M", "3T"], + entrainment: ["9L49", "7L49", "6L1", "5L63"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "7E", "6L35", "5L21", "4L21", "3L28"], flash: ["6M", "5M", "4M", "3M"], - fling: ["7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - grassknot: ["7M", "6M", "5M", "4M"], - growl: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], headbutt: ["4T"], - helpinghand: ["7T", "7L4", "6T", "6L4", "5T", "5L10", "4T", "4L10", "3L13"], + helpinghand: ["9M", "9L4", "7T", "7L4", "6T", "6L4", "5T", "5L10", "4T", "4L10", "3L13"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], irontail: ["7T", "6T", "5T", "4M", "3M"], - lastresort: ["7T", "7L40", "6T", "6L40", "5T", "5L51", "4T", "4L48"], - lightscreen: ["7M", "6M", "5M", "4M", "3M"], + lastresort: ["9L40", "7T", "7L40", "6T", "6L40", "5T", "5L51", "4T", "4L48"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], luckychant: ["7E", "6E", "5E"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], metronome: ["3T"], mimic: ["3T"], - mudslap: ["4T", "3T"], - nastyplot: ["7L46", "6L1", "5L56", "4L51"], + mudslap: ["9M", "4T", "3T"], + nastyplot: ["9M", "9L46", "7L46", "6L1", "5L56", "4L51"], naturalgift: ["4M"], - nuzzle: ["7L1", "6L1"], - playnice: ["7L1", "6L1"], - protect: ["7M", "6M", "5M", "4M", "3M"], - quickattack: ["7L1", "6L1", "5L7", "4L7", "3L10", "3S1"], - raindance: ["7M", "6M", "5M", "4M", "3M"], - rest: ["7M", "6M", "5M", "4M", "3M"], + nuzzle: ["9L1", "7L1", "6L1"], + playnice: ["9L1", "7L1", "6L1"], + playrough: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "7L1", "6L1", "5L7", "4L7", "3L10", "3S1"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["7M", "6M", "5M"], @@ -38285,25 +39228,30 @@ export const Learnsets: {[k: string]: LearnsetData} = { seismictoss: ["3T"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "5D", "4T"], - sing: ["7E", "6E", "5E", "4E"], - sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + sing: ["9E", "7E", "6E", "5E", "4E"], + skillswap: ["9M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], - spark: ["7L7", "6L7", "5L15", "4L15", "3L19"], - substitute: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + spark: ["9L7", "7L7", "6L7", "5L15", "4L15", "3L19"], + substitute: ["9M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + superfang: ["9M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - sweetkiss: ["7E", "6E", "5E", "4E"], - swift: ["7L16", "6L16", "5L31", "4T", "4L29", "3T"], + sweetkiss: ["9E", "7E", "6E", "5E", "4E"], + swift: ["9M", "9L16", "7L16", "6L16", "5L31", "4T", "4L29", "3T"], + switcheroo: ["9L13"], tearfullook: ["7E"], - thunder: ["7M", "7L43", "6M", "6L42", "5M", "5L42", "4M", "4L38", "3M", "3L37"], - thunderbolt: ["7M", "6M", "5M", "4M", "3M"], - thunderpunch: ["7T", "6T", "5T", "4T", "3T"], - thunderwave: ["7M", "7L1", "6M", "6L1", "5M", "5L3", "5D", "4M", "4L3", "3T", "3L4", "3S0", "3S1"], + terablast: ["9M"], + thunder: ["9M", "9L43", "7M", "7L43", "6M", "6L42", "5M", "5L42", "4M", "4L38", "3M", "3L37"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L3", "5D", "4M", "4L3", "3T", "3L4", "3S0", "3S1"], toxic: ["7M", "6M", "5M", "4M", "3M"], - uproar: ["7T", "6T", "5T", "4T"], - voltswitch: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + voltswitch: ["9M", "7M", "6M", "5M"], watersport: ["3S0"], - wildcharge: ["7M", "6M", "5M"], - wish: ["7E", "6E", "5E", "4E", "3E"], + wildcharge: ["9M", "7M", "6M", "5M"], + wish: ["9E", "7E", "6E", "5E", "4E", "3E"], }, eventData: [ {generation: 3, level: 5, shiny: 1, moves: ["growl", "thunderwave", "watersport"], pokeball: "pokeball", emeraldEventEgg: true}, @@ -38312,58 +39260,62 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, minun: { learnset: { - agility: ["7L37", "6L37", "5L48", "4L44", "3L47"], + agility: ["9M", "9L37", "7L37", "6L37", "5L48", "4L44", "3L47"], + alluringvoice: ["9M"], attract: ["7M", "6M", "5M", "4M", "3M"], - batonpass: ["7L34", "6L34", "5L44", "4L42", "3L40"], + batonpass: ["9M", "9L34", "7L34", "6L34", "5L44", "4L42", "3L40"], bodyslam: ["3T"], captivate: ["4M"], - charge: ["7L28", "6L28", "5L38", "4L35", "3L31"], - chargebeam: ["7M", "6M", "5M", "4M"], - charm: ["7E", "6L21", "5L21", "4L21", "3L28"], + charge: ["9M", "9L26", "7L28", "6L28", "5L38", "4L35", "3L31"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9E", "7E", "6L21", "5L21", "4L21", "3L28"], confide: ["7M", "6M"], - copycat: ["7L22", "6L22", "5L24", "4L24"], + copycat: ["9L22", "7L22", "6L22", "5L24", "4L24"], counter: ["3T"], covet: ["7T"], defensecurl: ["3T"], - discharge: ["7L31", "7E", "6L31", "6E", "5E", "5D", "4E"], + discharge: ["9L31", "7L31", "7E", "6L31", "6E", "5E", "5D", "4E"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], echoedvoice: ["7M", "6M", "5M"], - electroball: ["7L19", "6L19", "5L29"], - electroweb: ["7T", "6T"], - encore: ["7L10", "6L10", "5L17", "4L17", "3L22"], - endure: ["4M", "3T"], - entrainment: ["7L49", "6L1", "5L63"], - facade: ["7M", "6M", "5M", "4M", "3M"], - faketears: ["7L25", "7E", "6L25", "5L35", "4L31"], + electricterrain: ["9M"], + electroball: ["9M", "9L19", "7L19", "6L19", "5L29"], + electroweb: ["9M", "7T", "6T"], + encore: ["9M", "9L10", "7L10", "6L10", "5L17", "4L17", "3L22"], + endeavor: ["9M"], + endure: ["9M", "4M", "3T"], + entrainment: ["9L49", "7L49", "6L1", "5L63"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "9E", "7L25", "7E", "6L25", "5L35", "4L31"], flash: ["6M", "5M", "4M", "3M"], - fling: ["7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - grassknot: ["7M", "6M", "5M", "4M"], - growl: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], headbutt: ["4T"], - helpinghand: ["7T", "7L4", "6T", "6L4", "5T", "5L10", "4T", "4L10", "3L13"], + helpinghand: ["9M", "9L4", "7T", "7L4", "6T", "6L4", "5T", "5L10", "4T", "4L10", "3L13"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], irontail: ["7T", "6T", "5T", "4M", "3M"], - lastresort: ["7T", "6T", "5T", "4T"], - lightscreen: ["7M", "6M", "5M", "4M", "3M"], + lastresort: ["9L40", "7T", "6T", "5T", "4T"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], luckychant: ["7E", "6E", "5E"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], metronome: ["3T"], mimic: ["3T"], - mudslap: ["4T", "3T"], + mudslap: ["9M", "4T", "3T"], mudsport: ["3S0"], - nastyplot: ["7L46", "6L1", "5L56", "4L51"], + nastyplot: ["9M", "9L46", "7L46", "6L1", "5L56", "4L51"], naturalgift: ["4M"], - nuzzle: ["7L1", "6L1"], - playnice: ["7L1", "6L1"], - protect: ["7M", "6M", "5M", "4M", "3M"], - quickattack: ["7L1", "6L1", "5L7", "4L7", "3L10", "3S1"], - raindance: ["7M", "6M", "5M", "4M", "3M"], - rest: ["7M", "6M", "5M", "4M", "3M"], + nuzzle: ["9L1", "7L1", "6L1"], + playnice: ["9L1", "7L1", "6L1"], + playrough: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "7L1", "6L1", "5L7", "4L7", "3L10", "3S1"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["7M", "6M", "5M"], @@ -38371,26 +39323,29 @@ export const Learnsets: {[k: string]: LearnsetData} = { seismictoss: ["3T"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "5D", "4T"], - sing: ["7E", "6E", "5E", "4E"], - sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + sing: ["9E", "7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], - spark: ["7L7", "6L7", "5L15", "4L15", "3L19"], - substitute: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + spark: ["9L7", "7L7", "6L7", "5L15", "4L15", "3L19"], + substitute: ["9M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + superfang: ["9M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - sweetkiss: ["7E", "6E", "5E", "4E"], - swift: ["7L16", "6L16", "5L31", "4T", "4L29", "3T"], - switcheroo: ["7L13", "6L13"], + sweetkiss: ["9E", "7E", "6E", "5E", "4E"], + swift: ["9M", "9L16", "7L16", "6L16", "5L31", "4T", "4L29", "3T"], + switcheroo: ["9L13", "7L13", "6L13"], tearfullook: ["7E"], - thunder: ["7M", "7L43", "6M", "6L42", "5M", "5L42", "4M", "4L38", "3M", "3L37"], - thunderbolt: ["7M", "6M", "5M", "4M", "3M"], - thunderpunch: ["7T", "6T", "5T", "4T", "3T"], - thunderwave: ["7M", "7L1", "6M", "6L1", "5M", "5L3", "5D", "4M", "4L3", "3T", "3L4", "3S0", "3S1"], + terablast: ["9M"], + thunder: ["9M", "9L43", "7M", "7L43", "6M", "6L42", "5M", "5L42", "4M", "4L38", "3M", "3L37"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L3", "5D", "4M", "4L3", "3T", "3L4", "3S0", "3S1"], toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], trumpcard: ["7L40", "6L40", "5L51", "4L48"], - uproar: ["7T", "6T", "5T", "4T"], - voltswitch: ["7M", "6M", "5M"], - wildcharge: ["7M", "6M", "5M"], - wish: ["7E", "6E", "5E", "4E", "3E"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "7M", "6M", "5M"], + wish: ["9E", "7E", "6E", "5E", "4E", "3E"], }, eventData: [ {generation: 3, level: 5, shiny: 1, moves: ["growl", "thunderwave", "mudsport"], pokeball: "pokeball", emeraldEventEgg: true}, @@ -38418,10 +39373,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M", "7M", "6M"], defog: ["7T"], dizzypunch: ["7E", "6E", "5E"], - doubleedge: ["9L43", "7L47", "6L45", "5L45", "4L45", "3T", "3L37"], + doubleedge: ["9M", "9L43", "7L47", "6L45", "5L45", "4L45", "3T", "3L37"], doubleteam: ["9L5", "7M", "7L5", "6M", "6L5", "5M", "5L5", "4M", "4L5", "3M", "3L9"], dynamicpunch: ["3T"], encore: ["9M", "7E", "6E", "5E", "4E"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], flash: ["7L1", "6M", "6L1", "5M", "5L1", "5D", "4M", "4L1", "3M"], @@ -38460,6 +39416,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "7L26", "6T", "6L25", "5T", "5L25", "4T", "4L25", "3L25"], silverwind: ["7E", "6E", "5E", "4M", "4E", "3E"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -38511,11 +39468,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M", "7M", "6M"], defog: ["7T"], disarmingvoice: ["9M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainingkiss: ["9M"], dynamicpunch: ["3T"], encore: ["9M", "9L26", "7L26", "7E", "6L25", "6E", "5L25", "5E", "4L25", "4E", "3L25"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M", "7E", "6E", "5E", "5D"], @@ -38544,7 +39502,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pounce: ["9M"], poweruppunch: ["6M"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], quickattack: ["9L12", "7L12", "6L12", "5L17", "4L17", "3L17"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -38556,6 +39514,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], silverwind: ["7E", "6E", "5E", "4M", "4E", "3E"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -38688,7 +39647,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturepower: ["7M", "6M"], nightmare: ["3T"], petalblizzard: ["8L45", "7L37", "6L37"], - petaldance: ["8L60", "7L50", "6L37", "5L40", "4L40", "3L49"], + petaldance: ["8L60", "7L50", "6L37", "5L37", "4L40", "3L49"], pinmissile: ["8M", "7E", "6E", "5E", "4E", "3E"], poisonjab: ["8M", "7M", "6M", "5M", "4M"], poisonsting: ["8L0", "7L7", "6L7", "5L7", "4L7", "3L9", "3S0"], @@ -38816,7 +39775,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { clearsmog: ["9E"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["9E", "7E", "6E", "5E", "4E"], + curse: ["9M", "9E", "7E", "6E", "5E", "4E"], defensecurl: ["3T"], destinybond: ["9E", "7E", "6E", "5E", "4E"], doubleedge: ["3T"], @@ -38844,7 +39803,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["9M", "9E", "7E", "6E", "5E", "4T", "3T"], naturalgift: ["4M"], nightmare: ["3T"], - painsplit: ["9L44", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + painsplit: ["9M", "9L44", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], poisongas: ["9L8", "7L8", "6L8", "5L9", "5D", "4L9", "3L9"], poisonjab: ["9M"], pound: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], @@ -38865,7 +39824,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], sludge: ["9L10", "7L10", "6L10", "5L14", "4L14", "3L14", "3S0"], sludgebomb: ["9M", "9L33", "7M", "7L33", "6M", "6L33", "5M", "5L44", "4M", "4L39", "3M", "3L39"], - sludgewave: ["7M", "6M", "5M"], + sludgewave: ["9M", "7M", "6M", "5M"], smog: ["9E", "7E", "6E", "5E", "4E", "3E"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["7T", "6T", "5T", "4T", "3T"], @@ -38911,8 +39870,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], counter: ["3T"], + curse: ["9M"], defensecurl: ["3T"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], dynamicpunch: ["3T"], @@ -38942,7 +39902,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["9M", "4T", "3T"], naturalgift: ["4M"], nightmare: ["3T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], poisongas: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], poisonjab: ["9M"], pound: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], @@ -38962,7 +39922,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], sludge: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], sludgebomb: ["9M", "9L37", "7M", "7L37", "6M", "6L37", "5M", "5L52", "4M", "4L45", "3M", "3L48"], - sludgewave: ["7M", "6M", "5M"], + sludgewave: ["9M", "7M", "6M", "5M"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["7T", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -39318,7 +40278,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { numel: { learnset: { afteryou: ["7T", "6T", "5T"], - amnesia: ["9M", "9L19", "7L19", "6L19", "5L31", "4L25", "3L31"], + amnesia: ["9M", "9L19", "7L19", "6L19", "5L19", "4L25", "3L31"], ancientpower: ["9E", "7E", "6E", "5E", "4E"], attract: ["7M", "6M", "5M", "4M", "3M"], bodypress: ["9M"], @@ -39327,25 +40287,26 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], charm: ["9M", "3S0"], confide: ["7M", "6M"], - curse: ["9L29", "7L29", "6L29", "5L29"], + curse: ["9M", "9L29", "7L29", "6L29", "5L29"], defensecurl: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], dig: ["9M", "6M", "5M", "4M", "3M", "3S0"], - doubleedge: ["9L47", "7L47", "6L47", "5L55", "4L51", "3T", "3L49"], + doubleedge: ["9M", "9L47", "7L47", "6L47", "5L47", "4L51", "3T", "3L49"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - earthpower: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L41", "4T", "4L35"], - earthquake: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L45", "4M", "4L41", "3M", "3L35"], + earthpower: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L26", "4T", "4L35"], + earthquake: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L41", "3M", "3L35"], echoedvoice: ["7M", "6M", "5M"], ember: ["9L5", "7L5", "6L5", "5L5", "5D", "4L5", "3L11", "3S0"], + endeavor: ["9M"], endure: ["9M", "7E", "6E", "5E", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], firespin: ["9M"], - flameburst: ["7L15", "6L15", "5L21"], + flameburst: ["7L15", "6L15", "5L15"], flamecharge: ["9M", "7M", "6M", "5M"], - flamethrower: ["9M", "9L43", "7M", "7L43", "6M", "6L43", "5M", "5L51", "4M", "4L45", "3M", "3L41"], + flamethrower: ["9M", "9L43", "7M", "7L43", "6M", "6L43", "5M", "5L43", "4M", "4L45", "3M", "3L41"], flareblitz: ["9M"], flashcannon: ["9M"], - focusenergy: ["9L8", "7L8", "6L8", "5L15", "4L15", "3L25"], + focusenergy: ["9L8", "7L8", "6L8", "5L12", "4L15", "3L25"], frustration: ["7M", "6M", "5M", "4M", "3M"], growl: ["9L1", "7L1", "6L1", "6S1", "5L1", "4L1", "3L1"], growth: ["9E", "7E", "6E"], @@ -39360,8 +40321,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { incinerate: ["9L15", "6M", "5M"], ironhead: ["9M", "9E", "7T", "7E", "6T", "6E", "6S1", "5T", "5E"], lashout: ["9M"], - lavaplume: ["9L22", "7L22", "6L22", "5L35", "4L31"], - magnitude: ["7L12", "6L8", "5L11", "4L11", "3L19"], + lavaplume: ["9L22", "7L22", "6L22", "5L22", "4L31"], + magnitude: ["7L12", "6L8", "5L8", "4L11", "3L19"], mimic: ["3T"], mudbomb: ["7E", "6E", "5E", "4E"], mudshot: ["9M"], @@ -39381,6 +40342,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["7M", "6M", "5M"], sandstorm: ["9M", "7M", "6M", "5M", "4M", "3M"], scaryface: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + scorchingsands: ["9M"], secretpower: ["6M", "4M", "3M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], @@ -39397,6 +40359,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swallow: ["9E", "7E", "6E", "5E", "4E"], tackle: ["9L1", "7L1", "6L1", "6S1", "5L1", "4L1", "3L1"], takedown: ["9M", "9L31", "7L31", "6L31", "5L25", "4L21", "3L29", "3S0"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], @@ -39412,7 +40375,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { camerupt: { learnset: { afteryou: ["7T", "6T", "5T"], - amnesia: ["9M", "9L19", "7L19", "6L19", "5L31", "4L25", "3L31"], + amnesia: ["9M", "9L19", "7L19", "6L19", "5L19", "4L25", "3L31"], attract: ["7M", "6M", "5M", "4M", "3M"], bodypress: ["9M"], bodyslam: ["9M", "3T"], @@ -39420,28 +40383,29 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], charm: ["9M"], confide: ["7M", "6M"], - curse: ["9L29", "7L29", "6L29", "6S0", "5L29"], + curse: ["9M", "9L29", "7L29", "6L29", "6S0", "5L29"], defensecurl: ["3T"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - earthpower: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L49", "4T", "4L39"], - earthquake: ["9M", "9L46", "7M", "7L46", "6M", "6L46", "5M", "5L57", "4M", "4L49", "3M", "3L37"], + earthpower: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L26", "4T", "4L39"], + earthquake: ["9M", "9L46", "7M", "7L46", "6M", "6L46", "5M", "5L46", "4M", "4L49", "3M", "3L37"], echoedvoice: ["7M", "6M", "5M"], ember: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], - eruption: ["9L1", "7L1", "6L1", "5L67", "4L57", "3L45"], + eruption: ["9L1", "7L1", "6L1", "5L52", "4L57", "3L45"], explosion: ["7M", "6M", "5M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], firespin: ["9M"], - fissure: ["9L1", "7L1", "6L1", "5L75", "4L67", "3L55"], - flameburst: ["7L15", "6L15", "5L21"], + fissure: ["9L1", "7L1", "6L1", "5L59", "4L67", "3L55"], + flameburst: ["7L15", "6L15", "5L15"], flamecharge: ["9M", "7M", "6M", "5M"], flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], flareblitz: ["9M"], flashcannon: ["9M", "7M", "6M", "5M", "4M"], - focusenergy: ["9L1", "7L1", "6L1", "5L15", "4L15", "3L25"], + focusenergy: ["9L1", "7L1", "6L1", "5L12", "4L15", "3L25"], frustration: ["7M", "6M", "5M", "4M", "3M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], growl: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], @@ -39456,7 +40420,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { incinerate: ["9L15", "6M", "5M"], ironhead: ["9M", "7T", "6T", "5T", "4T"], lashout: ["9M"], - lavaplume: ["9L22", "7L22", "6L22", "5L33", "4L31"], + lavaplume: ["9L22", "7L22", "6L22", "5L22", "4L31"], magnitude: ["7L12", "6L1", "5L1", "4L1", "3L1"], mimic: ["3T"], mudshot: ["9M"], @@ -39470,13 +40434,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "6M", "5M", "4M", "3M"], roar: ["9M", "7M", "6M", "5M", "4M", "3M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["9M", "9L0", "7M", "7L1", "6M", "6L33", "6S0", "5M", "5L39", "4M", "4L33", "3T", "3L33"], + rockslide: ["9M", "9L0", "7M", "7L1", "6M", "6L33", "6S0", "5M", "5L33", "4M", "4L33", "3T", "3L33"], rocksmash: ["6M", "5M", "4M", "3M"], rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["7M", "6M", "5M"], sandstorm: ["9M", "7M", "6M", "5M", "4M", "3M"], scaryface: ["9M"], + scorchingsands: ["9M"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["3T"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], @@ -39492,6 +40457,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "6M", "5M", "4M", "3T"], tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], takedown: ["9M", "9L31", "7L31", "6L31", "6S0", "5L25", "4L21", "3L29"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], @@ -39519,8 +40485,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], clearsmog: ["9L16", "8L16", "7E", "6E", "5E"], confide: ["7M", "6M"], - curse: ["9L44", "8L44", "7L22", "6L12", "5L12", "4L12", "3L7"], - doubleedge: ["3T"], + curse: ["9M", "9L44", "8L44", "7L22", "6L12", "5L12", "4L12", "3L7"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "4E"], @@ -39568,7 +40534,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rollout: ["4T"], round: ["8M", "7M", "6M", "5M"], sandstorm: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["8M", "3T"], shellsmash: ["9L60", "8L60", "7L47", "6L1", "5L65"], @@ -39588,6 +40554,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { superpower: ["8M", "7T", "7E", "6T", "6E"], swagger: ["7M", "6M", "5M", "4M", "3T"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], weatherball: ["9M", "8M"], @@ -39606,7 +40573,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { amnesia: ["9M", "9E", "7E", "6E", "5E", "4E"], attract: ["7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "3T"], - bounce: ["9L50", "7T", "7L50", "6T", "6L50", "5T", "5L53", "4T", "4L48", "3L43"], + bounce: ["9L50", "7T", "7L50", "6T", "6L50", "5T", "5L50", "4T", "4L48", "3L43"], calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], chargebeam: ["9M", "7M", "6M", "5M", "4M"], @@ -39620,13 +40587,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "7E", "6E", "5E", "4M", "3T"], + expandingforce: ["9M"], extrasensory: ["9E", "7E", "6E", "5E", "4E", "3E"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], flashcannon: ["9M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9E", "7E", "6E", "5E", "4E", "3E"], + futuresight: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], grassknot: ["9M", "7M", "6M", "5M", "4M"], growl: ["9L10"], headbutt: ["4T"], @@ -39645,13 +40614,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightshade: ["9M"], odorsleuth: ["7L10", "6L10", "5L10", "4L10", "3L10"], - payback: ["9L40", "7M", "7L40", "6M", "6L40", "5M", "5L41", "4M", "4L34"], - powergem: ["9M", "9L29", "7L29", "6L29", "5L48", "4L46"], + payback: ["9L40", "7M", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L34"], + powergem: ["9M", "9L29", "7L29", "6L29", "5L33", "4L46"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L14", "7L14", "6L14", "5L14", "4L14", "3L16"], - psychic: ["9M", "9L44", "7M", "7L44", "6M", "6L44", "5M", "5L46", "4M", "4L41", "3M", "3L34"], + psychic: ["9M", "9L44", "7M", "7L44", "6M", "6L44", "5M", "5L44", "4M", "4L41", "3M", "3L34"], psychicterrain: ["9M"], - psychup: ["9L18", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3T", "3L19"], + psychup: ["9M", "9L18", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3T", "3L19"], psyshock: ["9M", "9L38", "7M", "7L38", "6M", "6L38", "5M", "5L34"], psywave: ["7L7", "6L7", "5L7", "5D", "4L7", "3L7"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -39705,7 +40674,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { belch: ["9L1", "7L1"], bodypress: ["9M"], bodyslam: ["9M", "3T"], - bounce: ["9L60", "7T", "7L60", "6T", "6L60", "5T", "5L68", "4T", "4L60", "3L55"], + bounce: ["9L60", "7T", "7L60", "6T", "6L60", "5T", "5L60", "4T", "4L60", "3L55"], brickbreak: ["9M", "7M", "6M", "5M", "4M"], bulldoze: ["9M", "7M", "6M", "5M"], calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -39726,8 +40695,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { dynamicpunch: ["3T"], earthpower: ["9M"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], + expandingforce: ["9M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], flash: ["6M", "5M", "4M", "3M"], @@ -39736,6 +40707,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M", "7M", "6M", "5M", "4M"], focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "7M", "6M", "5M", "4M"], headbutt: ["4T"], @@ -39764,14 +40736,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightshade: ["9M"], odorsleuth: ["7L1", "6L1", "5L1", "4L1", "3L1"], - payback: ["9L46", "7M", "7L46", "6M", "6L46", "5M", "5L47", "4M", "4L37"], - powergem: ["9M", "9L29", "7L29", "6L29", "5L60", "4L55"], + payback: ["9L46", "7M", "7L46", "6M", "6L46", "5M", "5L46", "4M", "4L37"], + powergem: ["9M", "9L29", "7L29", "6L29", "5L35", "4L55"], poweruppunch: ["6M"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - psychic: ["9M", "9L52", "7M", "7L52", "6M", "6L52", "5M", "5L55", "4M", "4L47", "3M", "3L37"], + psychic: ["9M", "9L52", "7M", "7L52", "6M", "6L52", "5M", "5L52", "4M", "4L47", "3M", "3L37"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["9L18", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3T", "3L19"], + psychup: ["9M", "9L18", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3T", "3L19"], psyshock: ["9M", "9L42", "7M", "7L42", "6M", "6L42", "5M", "5L37"], psywave: ["7L1", "6L1", "5L1", "4L1", "3L1"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -39931,64 +40904,68 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, trapinch: { learnset: { - astonish: ["8L1"], + astonish: ["9L1", "8L1"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bide: ["7L1", "6L1", "5L17"], - bite: ["8L8", "7L1", "6L1", "5L1", "5D", "5S0", "4L1", "3L1"], - bodyslam: ["8M", "3T"], - bugbite: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], - bulldoze: ["8M", "8L20", "7M", "7L8", "6M", "6L8", "5M", "5L21"], + bite: ["9L8", "8L8", "7L1", "6L1", "5L1", "5D", "5S0", "4L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], + bugbite: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + bulldoze: ["9M", "9L20", "8M", "8L20", "7M", "7L8", "6M", "6L8", "5M", "5L21"], captivate: ["4M"], confide: ["7M", "6M"], - crunch: ["8M", "8L28", "7L22", "6L22", "5L33", "4L33", "3L33"], - dig: ["8M", "8L24", "7L19", "6M", "6L19", "5M", "5L41", "4M", "4L41", "3M", "3L41"], + crunch: ["9M", "9L28", "8M", "8L28", "7L22", "6L22", "5L33", "4L33", "3L33"], + dig: ["9M", "9L24", "8M", "8L24", "7L19", "6M", "6L19", "5M", "5L29", "4M", "4L41", "3M", "3L41"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - earthpower: ["8M", "8L36", "7T", "7L26", "7E", "6T", "6L26", "6E", "5T", "5L65", "5E", "4T", "4L65"], - earthquake: ["8M", "8L40", "7M", "7L33", "6M", "6L33", "5M", "5L73", "4M", "4L73", "3M"], - endure: ["8M", "7E", "6E", "5E", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - feint: ["8E", "7L29", "6L1", "5L81", "4L81"], - feintattack: ["7L1", "6L1", "5L17", "4L17", "3L17"], - firstimpression: ["8E"], - fissure: ["8L48", "7L47", "6L1", "5L89", "4L89"], - flail: ["8E", "7E", "6E", "5E", "4E"], + earthpower: ["9M", "9L36", "8M", "8L36", "7T", "7L26", "7E", "6T", "6L26", "6E", "5T", "5L39", "5E", "4T", "4L65"], + earthquake: ["9M", "9L40", "8M", "8L40", "7M", "7L33", "6M", "6L33", "5M", "5L55", "4M", "4L73", "3M"], + endure: ["9M", "8M", "7E", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9E", "8E", "7L29", "6L1", "5L61", "4L81"], + feintattack: ["7L1", "6L1", "5L7", "4L17", "3L17"], + firstimpression: ["9E", "8E"], + fissure: ["9L48", "8L48", "7L47", "6L1", "5L73", "4L89"], + flail: ["9E", "8E", "7E", "6E", "5E", "4E"], focusenergy: ["8M", "7E", "6E", "5E", "4E", "3E"], frustration: ["7M", "6M", "5M", "4M", "3M"], - furycutter: ["8E", "7E", "6E", "5E", "4T", "4E"], - gigadrain: ["8M", "7T", "6T", "5T", "5D", "4M", "3M"], - gust: ["8E", "7E", "6E", "5E", "4E", "3E"], + furycutter: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "5D", "4M", "3M"], + gust: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], headbutt: ["4T"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "7M", "7L43", "6M", "6L43", "5M", "5L57", "4M", "4L57", "3M", "3L57"], + hyperbeam: ["9M", "8M", "7M", "7L43", "6M", "6L43", "5M", "5L49", "4M", "4L57", "3M", "3L57"], laserfocus: ["8L4"], mimic: ["3T"], - mudshot: ["8M", "7E", "6E", "5E", "4E"], - mudslap: ["8L12", "7L5", "6L5", "5L13", "4T", "3T"], + mudshot: ["9M", "8M", "7E", "6E", "5E", "4E"], + mudslap: ["9M", "9L12", "8L12", "7L5", "6L5", "5L13", "4T", "3T"], naturalgift: ["4M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - quickattack: ["8E", "7E", "6E", "5E", "4E", "3E"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L1", "7L1", "6L1", "5L9", "4L9", "3L9"], - sandstorm: ["8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L49", "4M", "4L49", "3M", "3L49"], - sandtomb: ["8M", "8L16", "7L12", "6L10", "5L25", "4L25", "3L25"], - scorchingsands: ["8T"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L4", "4L9", "3L9"], + sandstorm: ["9M", "9L32", "8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L44", "4M", "4L49", "3M", "3L49"], + sandtomb: ["9M", "9L16", "8M", "8L16", "7L12", "6L10", "5L10", "4L25", "3L25"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "5D"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + stealthrock: ["9M"], + stoneedge: ["9M"], strength: ["6M", "5M", "4M", "3M"], - strugglebug: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], - superpower: ["8M", "8L44", "7T", "7L40", "6T", "6L1", "5T", "5L67"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["9L44", "8M", "8L44", "7T", "7L40", "6T", "6L1", "5T", "5L67"], swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], }, eventData: [ @@ -39997,192 +40974,208 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, vibrava: { learnset: { - aircutter: ["4T"], - airslash: ["8M"], - astonish: ["8L1"], + aerialace: ["9M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "8M"], + astonish: ["9L1", "8L1"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bide: ["7L1", "6L1", "5L17"], - bite: ["8L1", "3L1"], - bodyslam: ["8M", "3T"], - boomburst: ["8L62", "7L47", "6L47"], - bugbite: ["7T", "6T", "5T", "4T"], - bugbuzz: ["8M", "8L28", "7L29", "6L29"], - bulldoze: ["8M", "8L1", "7M", "7L8", "6M", "6L8", "5M", "5L21"], + bite: ["9L1", "8L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], + boomburst: ["9L62", "8L62", "7L47", "6L47"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L28", "8M", "8L28", "7L29", "6L29"], + bulldoze: ["9M", "9L1", "8M", "8L1", "7M", "7L8", "6M", "6L8", "5M", "5L21"], captivate: ["4M"], confide: ["7M", "6M"], - crunch: ["8M", "8L1", "3L33"], + crunch: ["9M", "9L1", "8M", "8L1", "3L33"], defog: ["7T", "4M"], - dig: ["8M", "8L1", "6M", "5M", "4M", "3M"], + dig: ["9M", "9L1", "8M", "8L1", "6M", "5M", "4M", "3M"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - dracometeor: ["8T", "7T", "6T", "5T", "4T"], - dragonbreath: ["8L0", "7L1", "6L35", "5L35", "4L35", "3L35"], - dragonpulse: ["8M", "7T", "6T", "5T", "4M"], - dragonrush: ["8L56"], - dragontail: ["8L20"], - dualwingbeat: ["8T"], - earthpower: ["8M", "8L38", "7T", "7L26", "6T", "6L26", "5T", "5L39", "4T"], - earthquake: ["8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "4M", "3M"], - endure: ["8M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9L0", "8L0", "7L1", "6L35", "5L35", "4L35", "3L35"], + dragonclaw: ["9M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragonrush: ["9L56", "8L56"], + dragontail: ["9M", "9L20", "8L20"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "9L38", "8M", "8L38", "7T", "7L26", "6T", "6L26", "5T", "5L39", "4T"], + earthquake: ["9M", "9L44", "8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], feintattack: ["7L1", "6L1", "5L1", "4L1", "3L1"], - fissure: ["8L1"], - fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + fissure: ["9L1", "8L1"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], focusenergy: ["8M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T"], - gigadrain: ["8M", "7T", "6T", "5T", "4M", "3M"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M"], headbutt: ["4T"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "7M", "7L43", "6M", "6L43", "5M", "5L57", "4M", "4L57", "3M", "3L57"], + hyperbeam: ["9M", "8M", "7M", "7L43", "6M", "6L43", "5M", "5L49", "4M", "4L57", "3M", "3L57"], laserfocus: ["8L1"], mimic: ["3T"], - mudshot: ["8M"], - mudslap: ["8L12", "7L5", "6L5", "5L13", "4T", "3T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L12", "8L12", "7L5", "6L5", "5L13", "4T", "3T"], naturalgift: ["4M"], ominouswind: ["4T"], - outrage: ["8M", "7T", "6T", "5T", "4T"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], roost: ["7M", "6M", "5T", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - sandstorm: ["8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L49", "4M", "4L49", "3M", "3L49"], - sandtomb: ["8M", "8L16", "7L12", "6L1", "5L1", "4L1", "3L1"], - scorchingsands: ["8T"], - screech: ["8M", "8L24", "7L22", "6L22", "5L41", "4L41", "3L41"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sandstorm: ["9M", "9L32", "8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L44", "4M", "4L49", "3M", "3L49"], + sandtomb: ["9M", "9L16", "8M", "8L16", "7L12", "6L1", "5L1", "4L1", "3L1"], + scorchingsands: ["9M", "8T"], + screech: ["9L24", "8M", "8L24", "7L22", "6L22", "5L34", "4L41", "3L41"], secretpower: ["6M", "4M", "3M"], signalbeam: ["7T", "6T", "5T"], silverwind: ["4M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], sonicboom: ["7L1", "6L1", "5L1", "4L1"], + stealthrock: ["9M"], steelwing: ["8M", "7M", "6M", "4M", "3M"], + stoneedge: ["9M"], strength: ["6M", "5M", "4M", "3M"], - strugglebug: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], - superpower: ["8M", "8L1", "7T", "6T", "5T"], - supersonic: ["8L1", "7L19", "6L19", "5L33", "4L33"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["9L1", "8M", "8L1", "7T", "6T", "5T"], + supersonic: ["9L1", "8L1", "7L19", "6L19", "5L29", "4L33"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - tailwind: ["7T", "6T", "5T", "4T"], - throatchop: ["8M", "7T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["9M", "8M", "7T"], toxic: ["7M", "6M", "5M", "4M", "3M"], twister: ["4T"], - uproar: ["8M", "8L50", "7T", "7L40", "6T", "6L40"], - uturn: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "9L50", "8M", "8L50", "7T", "7L40", "6T", "6L40"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], }, }, flygon: { learnset: { - aerialace: ["7M", "6M", "5M", "4M"], - aircutter: ["4T"], - airslash: ["8M"], - astonish: ["8L1"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "8M"], + alluringvoice: ["9M"], + astonish: ["9L1", "8L1"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bide: ["7L1", "6L1", "5L17"], - bite: ["8L1", "3L1"], - bodyslam: ["8M", "3T"], - boomburst: ["8L68"], - breakingswipe: ["8M"], + bite: ["9L1", "8L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], + boomburst: ["9L68", "8L68"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], - bugbite: ["7T", "6T", "5T", "4T"], - bugbuzz: ["8M", "8L28"], - bulldoze: ["8M", "8L1", "7M", "7L8", "6M", "6L8", "5M", "5L21"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L28", "8M", "8L28"], + bulldoze: ["9M", "9L1", "8M", "8L1", "7M", "7L8", "6M", "6L8", "5M", "5L21"], captivate: ["4M"], confide: ["7M", "6M"], - crunch: ["8M", "8L1", "3L33", "3S0"], + crunch: ["9M", "9L1", "8M", "8L1", "3L33", "3S0"], defog: ["7T", "4M"], - dig: ["8M", "8L1", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + dig: ["9M", "9L1", "8M", "8L1", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - dracometeor: ["8T", "7T", "6T", "5T", "4T", "4S1"], - dragonbreath: ["8L1", "7L1", "6L35", "5L35", "4L35", "3L35", "3S0"], - dragonclaw: ["8M", "8L0", "7M", "7L1", "6M", "6L45", "5M", "5L45", "4M", "4L45", "4S1", "3M"], - dragondance: ["8M", "8L1", "7L1"], - dragonpulse: ["8M", "7T", "6T", "5T", "4M"], - dragonrush: ["8L60", "7L47", "6L47"], - dragontail: ["8L20", "7M", "7L29", "6M", "6L29", "5M", "5L65"], - dualwingbeat: ["8T"], - earthpower: ["8M", "8L38", "7T", "7L26", "6T", "6L26", "5T", "5L39", "4T"], - earthquake: ["8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "4M", "4S1", "3M"], - endure: ["8M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - feint: ["8L1"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T", "4S1"], + dragonbreath: ["9L1", "8L1", "7L1", "6L35", "5L35", "4L35", "3L35", "3S0"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "9L0", "8M", "8L0", "7M", "7L1", "6M", "6L45", "5M", "5L45", "4M", "4L45", "4S1", "3M"], + dragondance: ["9M", "9L1", "8M", "8L1", "7L1"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragonrush: ["9L60", "8L60", "7L47", "6L47"], + dragontail: ["9M", "9L20", "8L20", "7M", "7L29", "6M", "6L29", "5M", "5L45"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "9L38", "8M", "8L38", "7T", "7L26", "6T", "6L26", "5T", "5L39", "4T"], + earthquake: ["9M", "9L44", "8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "4M", "4S1", "3M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9L1", "8L1"], feintattack: ["7L1", "6L1", "5L1", "4L1", "3L1"], - fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], - firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - firespin: ["8M"], - fissure: ["8L1"], - flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], - fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + firespin: ["9M", "8M"], + fissure: ["9L1", "8L1"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], focusenergy: ["8M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - gigadrain: ["8M", "7T", "6T", "5T", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], headbutt: ["4T"], - heatwave: ["8M", "7T", "6T", "5T", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "7L43", "6M", "6L43", "5M", "5L57", "4M", "4L57", "3M", "3L65"], + hyperbeam: ["9M", "8M", "7M", "7L43", "6M", "6L43", "5M", "5L49", "4M", "4L57", "3M", "3L65"], incinerate: ["6M", "5M"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], laserfocus: ["8L1", "7T"], megakick: ["8M"], megapunch: ["8M"], mimic: ["3T"], - mudshot: ["8M"], - mudslap: ["8L12", "7L5", "6L5", "5L13", "4T", "3T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L12", "8L12", "7L5", "6L5", "5L13", "4T", "3T"], naturalgift: ["4M"], ominouswind: ["4T"], - outrage: ["8M", "7T", "6T", "5T", "4T"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychicnoise: ["9M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], roost: ["7M", "6M", "5T", "4M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - sandstorm: ["8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L49", "4M", "4L49", "3M", "3L53"], - sandtomb: ["8M", "8L16", "7L12", "6L1", "5L1", "4L1", "3L1", "3S0"], - scaleshot: ["8T"], - scorchingsands: ["8T"], - screech: ["8M", "8L24", "7L22", "6L22", "5L41", "4L41", "3L41", "3S0"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sandstorm: ["9M", "9L32", "8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L44", "4M", "4L49", "3M", "3L53"], + sandtomb: ["9M", "9L16", "8M", "8L16", "7L12", "6L1", "5L1", "4L1", "3L1", "3S0"], + scaleshot: ["9M", "8T"], + scorchingsands: ["9M", "8T"], + screech: ["9L24", "8M", "8L24", "7L22", "6L22", "5L34", "4L41", "3L41", "3S0"], secretpower: ["6M", "4M", "3M"], signalbeam: ["7T", "6T", "5T"], silverwind: ["4M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], sonicboom: ["7L1", "6L1", "5L1", "4L1"], + stealthrock: ["9M"], steelwing: ["8M", "7M", "6M", "4M", "3M"], - stoneedge: ["8M", "7M", "6M", "5M", "4M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M", "3M"], - strugglebug: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], - superpower: ["8M", "8L1", "7T", "6T", "5T"], - supersonic: ["8L1", "7L19", "6L19", "5L33", "4L33"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["9L1", "8M", "8L1", "7T", "6T", "5T"], + supersonic: ["9L1", "8L1", "7L19", "6L19", "5L29", "4L33"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - tailwind: ["7T", "6T", "5T", "4T"], - throatchop: ["8M", "7T"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["9M", "8M", "7T"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], toxic: ["7M", "6M", "5M", "4M", "3M"], twister: ["4T"], - uproar: ["8M", "8L52", "7T", "7L40", "6T", "6L40"], - uturn: ["8M", "7M", "6M", "5M", "4M", "4S1"], + uproar: ["9M", "9L52", "8M", "8L52", "7T", "7L40", "6T", "6L40"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M", "4S1"], + vacuumwave: ["9M"], }, eventData: [ {generation: 3, level: 45, moves: ["sandtomb", "crunch", "dragonbreath", "screech"], pokeball: "pokeball"}, @@ -40204,6 +41197,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], cottonspore: ["9L46", "7L46", "6L46", "5L49", "4L49", "3L41"], counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], destinybond: ["9L54", "7L54", "6L54", "5L57", "4L57", "3L49"], @@ -40214,6 +41208,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { drainpunch: ["9M", "7T", "6T", "5T", "4M"], dynamicpunch: ["7E", "6E", "5E", "4E", "3T", "3E"], encore: ["9M", "3S0"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], energyball: ["9M", "9L42", "7M", "7L42", "6M", "6L42", "5M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -40266,6 +41261,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], seedbomb: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], seismictoss: ["3T"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], smellingsalts: ["7E", "6E", "5E", "4E"], snore: ["7T", "6T", "5T", "4T", "3T"], @@ -40284,6 +41280,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { teeterdance: ["9E", "7E", "6E", "5E", "5D", "4E", "3E"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunderpunch: ["9M", "7T", "6T", "5T", "5D", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], toxicspikes: ["9M"], @@ -40308,6 +41305,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], cottonspore: ["9L49", "7L49", "6L49", "5L59", "4L59", "3L47"], counter: ["3T"], + curse: ["9M"], cut: ["6M", "5M", "4M", "3M"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], destinybond: ["9L1", "7L1", "6L1", "5L71", "4L71", "3L59"], @@ -40318,6 +41316,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dynamicpunch: ["3T"], embargo: ["7M", "6M", "5M", "4M"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], energyball: ["9M", "9L44", "7M", "7L44", "6M", "6L44", "5M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -40377,6 +41376,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { seedbomb: ["9M", "7T", "6T", "5T", "4T"], seismictoss: ["3T"], shadowball: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -40397,6 +41397,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], toxicspikes: ["9M"], @@ -40418,31 +41419,33 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], agility: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], aircutter: ["4T"], - astonish: ["9E", "8E", "7L3", "6L3", "5L5", "4L5", "3L8"], + astonish: ["9E", "8E", "7L3", "6L3", "5L4", "4L5", "3L8"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], bravebird: ["9M"], captivate: ["4M"], confide: ["7M", "6M"], - cottonguard: ["9L32", "8L32", "7L34", "6L34", "5L40"], + cottonguard: ["9L32", "8L32", "7L34", "6L34", "5L39"], dazzlinggleam: ["9M", "8M", "7M", "6M"], defog: ["9E", "8E", "7T"], disarmingvoice: ["9M", "9L4", "8L4", "7L11", "6L11"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragonbreath: ["9L20", "8L20"], - dragonpulse: ["9M", "8M", "7T", "7L38", "6T", "6L38", "5T", "5L50", "4M", "4L45"], + dragoncheer: ["9M"], + dragonpulse: ["9M", "8M", "7T", "7L38", "6T", "6L38", "5T", "5L42", "4M", "4L45"], dragonrush: ["9E", "8E", "7E", "6E", "5E", "4E"], dreameater: ["7M", "6M", "5M", "4M", "3T"], dualwingbeat: ["9M", "8T"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "8M", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["8M", "3S0"], - featherdance: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + featherdance: ["9M", "9E", "8E", "7E", "6E", "5E", "5D", "4E"], fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - furyattack: ["9L12", "8L12", "7L7", "6L7", "5L13", "4L13", "3L18"], + furyattack: ["9L12", "8L12", "7L7", "6L7", "5L10", "4L13", "3L18"], growl: ["9L1", "8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "4L1", "3L1", "3S0"], haze: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], healbell: ["7T", "6T", "5T", "4T"], @@ -40453,15 +41456,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { hypervoice: ["9M", "8M", "7T", "7E", "6T", "6E", "6S2", "5T", "5E"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], mimic: ["3T"], - mirrormove: ["7L30", "6L30", "5L36", "4L36", "3L38"], - mist: ["9L8", "8L8", "7L14", "6L14", "5L23", "4L23", "3L28"], + mirrormove: ["7L30", "6L30", "5L34", "4L36", "3L38"], + mist: ["9L8", "8L8", "7L14", "6L14", "5L15", "4L23", "3L28"], moonblast: ["9L40", "8L40", "7L46", "6L46"], mudslap: ["4T", "3T"], - naturalgift: ["7L20", "6L20", "5L32", "4M", "4L32"], + naturalgift: ["7L20", "6L20", "5L21", "4M", "4L32"], ominouswind: ["4T"], outrage: ["8M", "7T", "6T", "5T", "4T"], peck: ["9L1", "8L1", "7L1", "6L1", "6S2", "5L1", "5D", "5S1", "4L1", "3L1", "3S0"], - perishsong: ["9L44", "8L44", "7L42", "6L42", "5L55", "4L50", "3L48"], + perishsong: ["9L44", "8L44", "7L42", "6L42", "5L48", "4L50", "3L48"], playrough: ["9M", "8M", "7E"], pluck: ["5M", "4M"], powerswap: ["8M", "7E", "6E", "5E", "4E"], @@ -40470,14 +41473,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { pursuit: ["7E", "6E", "5E", "4E", "3E"], rage: ["7E", "6E", "5E", "4E", "3E"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - refresh: ["7L26", "6L26", "5L45", "4L40", "3L41"], + refresh: ["7L26", "6L26", "5L29", "4L40", "3L41"], rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], roost: ["9E", "8E", "7M", "7E", "6M", "6E", "5T", "5E", "5D", "4M"], round: ["9L16", "8M", "8L16", "7M", "7L17", "6M", "6L17", "5M", "5L18"], - safeguard: ["9L24", "8M", "8L24", "7M", "7L9", "6M", "6L9", "5M", "5L18", "4M", "4L18", "3M", "3L21"], + safeguard: ["9L24", "8M", "8L24", "7M", "7L9", "6M", "6L9", "5M", "5L13", "4M", "4L18", "3M", "3L21"], secretpower: ["6M", "4M", "3M"], - sing: ["9L28", "8L28", "7L5", "6L5", "5L9", "4L9", "3L11"], + sing: ["9L28", "8L28", "7L5", "6L5", "5L8", "4L9", "3L11"], skyattack: ["7T", "6T", "3T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], @@ -40488,7 +41491,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "6M", "5M", "4M", "3T"], swift: ["9M", "8M", "4T", "3T"], tailwind: ["9M", "9E", "8E", "7T", "6T", "5T", "4T"], - takedown: ["9M", "9L36", "8L36", "7L23", "6L23", "5L28", "4L28", "3L31"], + takedown: ["9M", "9L36", "8L36", "7L23", "6L23", "5L25", "4L28", "3L31"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], @@ -40508,38 +41511,42 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["9M", "7M", "6M", "5M", "4M", "3M", "3S1"], agility: ["9M", "8M", "6S3"], aircutter: ["4T"], + alluringvoice: ["9M"], astonish: ["7L1", "6L1", "5L1", "4L1", "3L1"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], bravebird: ["9M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], - cottonguard: ["9L32", "8L32", "7L34", "6L34", "5L46"], + cottonguard: ["9L32", "8L32", "7L34", "6L34", "5L42"], dazzlinggleam: ["9M", "8M", "7M", "6M"], defog: ["7T"], disarmingvoice: ["9M", "9L1", "8L1", "7L11", "6L11"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["9L20", "8L20", "7L1", "6L35", "5L35", "5S2", "4L35", "3L35", "3S0", "3S1"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - dragondance: ["9M", "8M", "7L30", "6L30", "5L39", "4L39", "3L40", "3S0"], - dragonpulse: ["9M", "9L0", "8M", "8L0", "7T", "7L40", "6T", "6L40", "5T", "5L62", "4M", "4L54"], + dragondance: ["9M", "8M", "7L30", "6L30", "5L34", "4L39", "3L40", "3S0"], + dragonpulse: ["9M", "9L0", "8M", "8L0", "7T", "7L40", "6T", "6L40", "5T", "5L48", "4M", "4L54"], dreameater: ["7M", "6M", "5M", "4M", "3T"], dualwingbeat: ["9M", "8T"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M", "8M", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["8M", "5S2"], + featherdance: ["9M"], fireblast: ["9M", "8M", "7M", "6M", "6S3", "5M", "4M", "3M"], firespin: ["9M", "8M"], flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - furyattack: ["9L12", "8L12", "7L7", "6L7", "5L13", "4L13", "3L18"], + furyattack: ["9L12", "8L12", "7L7", "6L7", "5L10", "4L13", "3L18"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], haze: ["9M"], @@ -40555,31 +41562,31 @@ export const Learnsets: {[k: string]: LearnsetData} = { incinerate: ["6M", "5M"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], mimic: ["3T"], - mist: ["9L1", "8L1", "7L14", "6L14", "5L23", "4L23", "3L28"], + mist: ["9L1", "8L1", "7L14", "6L14", "5L15", "4L23", "3L28"], moonblast: ["9L44", "8L44", "7L52", "6L52"], mudslap: ["4T", "3T"], - naturalgift: ["7L20", "6L20", "5L32", "5S2", "4M", "4L32"], + naturalgift: ["7L20", "6L20", "5L21", "5S2", "4M", "4L32"], ominouswind: ["4T"], outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], peck: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - perishsong: ["9L50", "8L50", "7L46", "6L46", "5L70", "4L62", "3L54"], + perishsong: ["9L50", "8L50", "7L46", "6L46", "5L57", "4L62", "3L54"], playrough: ["9M", "8M"], pluck: ["9L1", "8L1", "7L1", "6L1", "5M", "5L1", "4M", "4L1"], powerswap: ["8M"], protect: ["9M", "8M", "7M", "6M", "6S3", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "3T"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - refresh: ["7L26", "6L26", "5L54", "4L46", "3L45", "3S0"], + refresh: ["7L26", "6L26", "5L29", "4L46", "3L45", "3S0"], rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], roar: ["9M", "7M", "6M", "5M", "4M", "3M"], rocksmash: ["6M", "5M", "4M", "3M"], roost: ["7M", "6M", "5T", "4M"], round: ["9L16", "8M", "8L16", "7M", "7L17", "6M", "6L17", "5M", "5L18"], - safeguard: ["9L24", "8M", "8L24", "7M", "7L9", "6M", "6L9", "5M", "5L18", "4M", "4L18", "3M", "3L21"], + safeguard: ["9L24", "8M", "8L24", "7M", "7L9", "6M", "6L9", "5M", "5L13", "4M", "4L18", "3M", "3L21"], secretpower: ["6M", "4M", "3M"], sing: ["9L28", "8L28", "7L1", "6L1", "5L1", "4L1", "3L1"], - skyattack: ["9L56", "8L56", "7T", "7L1", "6T", "6L1", "5T", "5L77", "4T", "4L70", "3T", "3L59"], + skyattack: ["9L56", "8L56", "7T", "7L1", "6T", "6L1", "5T", "5L64", "4T", "4L70", "3T", "3L59"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], snowscape: ["9M"], @@ -40590,7 +41597,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "6M", "5M", "4M", "3T"], swift: ["9M", "8M", "4T", "3T"], tailwind: ["9M", "7T", "6T", "5T", "4T"], - takedown: ["9M", "9L38", "8L38", "7L23", "6L23", "5L28", "5S2", "4L28", "3L31", "3S0"], + takedown: ["9M", "9L38", "8L38", "7L23", "6L23", "5L25", "5S2", "4L28", "3L31", "3S0"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], @@ -40620,25 +41627,25 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "3T"], brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M", "3S2"], captivate: ["4M"], - closecombat: ["9M", "9L50", "7L50", "6L47", "5L53", "4L53"], + closecombat: ["9M", "9L50", "7L50", "6L47", "5L47", "4L53"], confide: ["7M", "6M"], counter: ["9L1", "7E", "6E", "5E", "4E", "3T", "3E", "3S2"], - crushclaw: ["9L26", "7L26", "6L22", "5L31", "4L31", "3L31", "3S2"], - curse: ["9L1", "7E", "6E", "5E", "4E", "3E"], + crushclaw: ["9L26", "7L26", "6L22", "5L22", "4L31", "3L31", "3S2"], + curse: ["9M", "9L1", "7E", "6E", "5E", "4E", "3E"], defensecurl: ["3T"], - detect: ["9L36", "7L36", "6L33", "5L40", "4L40", "3L46"], + detect: ["9L36", "7L36", "6L33", "5L33", "4L40", "3L46"], dig: ["9M", "6M", "5M", "4M", "3M"], disable: ["9L1", "7E", "6E", "5E", "4E"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doublehit: ["9L1", "7E", "6E", "5E", "5D", "4E"], doublekick: ["9L1", "7E", "6E", "5E", "4E", "3E"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - embargo: ["7M", "7L33", "6M", "6L19", "5M", "5L27", "4M", "4L27"], - endeavor: ["7T", "6T", "5T", "4T"], + embargo: ["7M", "7L33", "6M", "6L19", "5M", "5L19", "4M", "4L27"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], - falseswipe: ["9M", "9L29", "7M", "7L29", "6M", "6L29", "5M", "5L44", "4M", "4L44", "3L55"], + falseswipe: ["9M", "9L29", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L44", "3L55"], feint: ["9L1", "7E", "6E", "5E"], finalgambit: ["9L1", "7E", "6E", "5E"], fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -40649,7 +41656,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M", "7M", "6M", "5M", "4M"], focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - furycutter: ["9L8", "7L8", "6L8", "5L14", "4T", "4L14", "3T", "3L13", "3S0"], + furycutter: ["9L8", "7L8", "6L8", "5L8", "4T", "4L14", "3T", "3L13", "3S0"], furyswipes: ["9L1", "7E", "6E", "5E", "4E"], gigadrain: ["7T", "6T", "5T", "4M", "3M"], gigaimpact: ["9M"], @@ -40682,7 +41689,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powertrip: ["9L22"], poweruppunch: ["6M"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], - pursuit: ["7L12", "6L12", "5L22", "4L22", "3L25"], + pursuit: ["7L12", "6L12", "5L12", "4L22", "3L25"], quickattack: ["9L5", "7L5", "6L5", "5L5", "5D", "4L5", "3L7", "3S0", "3S1"], quickguard: ["9L1", "7E", "6E"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -40707,7 +41714,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], shadowclaw: ["9M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], - slash: ["9L19", "7L19", "6L15", "5L18", "4L18", "3L19"], + slash: ["9L19", "7L19", "6L15", "5L15", "4L18", "3L19"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snore: ["7T", "6T", "5T", "4T", "3T"], solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -40723,15 +41730,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L43", "7M", "7L43", "6M", "6L40", "5M", "5L35", "4M", "4L35", "3M", "3L37"], terablast: ["9M"], thief: ["9M", "7M", "6M", "5M", "4M", "3M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], thunderwave: ["9M", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], + upperhand: ["9M"], waterpulse: ["7T", "6T", "4M", "3M"], workup: ["7M", "5M"], - xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L36", "5M", "5L48", "4M", "4L48"], + xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L36", "5M", "5L36", "4M", "4L48"], zenheadbutt: ["9M"], }, eventData: [ @@ -40748,21 +41756,24 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["7M", "6M", "5M", "4M", "3M"], belch: ["9L41", "7L41", "6L43"], bind: ["7T", "6T", "5T"], - bite: ["9L4", "7L4", "6L4", "5L10", "5D", "4L10", "3L10", "3S0", "3S2"], + bite: ["9L4", "7L4", "6L4", "5L5", "5D", "4L10", "3L10", "3S0", "3S2"], bodyslam: ["9M", "9E", "7E", "6E", "5E", "5D", "4E", "3T", "3E"], + breakingswipe: ["9M"], brickbreak: ["9M"], brutalswing: ["7M"], bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], - coil: ["9L44", "7L44", "6L46", "5L64"], + coil: ["9L44", "7L44", "6L46", "5L49"], confide: ["7M", "6M"], crunch: ["9M", "9L39", "7L39", "6L40", "5L28", "4L28", "3L28", "3S1"], + curse: ["9M"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], dig: ["9M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragontail: ["7M", "6M", "5M"], earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], feint: ["9L11", "7L11"], @@ -40774,9 +41785,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { gastroacid: ["9L29", "7T", "7L29", "6T", "6L31", "5T", "5L34"], gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], gigaimpact: ["9M"], - glare: ["9L19", "7L19", "6L19", "5L25", "4L25", "3L25", "3S1"], + glare: ["9L19", "7L19", "6L19", "5L23", "4L25", "3L25", "3S1"], gunkshot: ["9M"], - haze: ["9M", "9L34", "7L34", "6L37", "5L43", "4L43", "3L43"], + haze: ["9M", "9L34", "7L34", "6L37", "5L38", "4L43", "3L43"], headbutt: ["4T"], helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], @@ -40787,15 +41798,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { irontail: ["7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], knockoff: ["9M", "7T", "6T", "5T", "4T"], lashout: ["9M"], - lick: ["9L6", "7L6", "6L7", "5L7", "4L7", "3L7", "3S0", "3S2"], + lick: ["9L6", "7L6", "6L7", "5L1", "4L7", "3L7", "3S0", "3S2"], mimic: ["3T"], mudslap: ["4T", "3T"], naturalgift: ["4M"], - nightslash: ["9E", "7L26", "7E", "6L28", "6E", "5L46", "5E", "4L46", "4E"], + nightslash: ["9E", "7L26", "7E", "6L28", "6E", "5L31", "5E", "4L46", "4E"], payback: ["7M", "6M", "5M", "4M"], - poisonfang: ["9L21", "7L21", "6L22", "5L34", "4L34", "3L34"], - poisonjab: ["9M", "9L31", "7M", "7L31", "6M", "6L34", "5M", "5L52", "4M", "4L52"], - poisontail: ["9M", "9L9", "7L9", "6L10", "5L16", "4L16", "3L16", "3S0", "3S1"], + poisonfang: ["9L21", "7L21", "6L22", "5L27", "4L34", "3L34"], + poisonjab: ["9M", "9L31", "7M", "7L31", "6M", "6L34", "5M", "5L42", "4M", "4L52"], + poisontail: ["9M", "9L9", "7L9", "6L10", "5L12", "4L16", "3L16", "3S0", "3S1"], pounce: ["9M"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psychicfangs: ["9M"], @@ -40808,12 +41819,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocksmash: ["6M", "5M", "4M", "3M"], round: ["7M", "6M", "5M"], scaryface: ["9M", "9E", "7E", "6E", "5E", "4E"], - screech: ["9L14", "7L14", "6L13", "5L19", "4L19", "3L19", "3S1"], + screech: ["9L14", "7L14", "6L13", "5L16", "4L19", "3L19", "3S1"], secretpower: ["6M", "4M", "3M"], seedbomb: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "9L46", "7M", "6M", "5M", "4M", "3M"], - sludgewave: ["7M", "6M", "5M"], + sludgewave: ["9M", "7M", "6M", "5M"], snarl: ["9M"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["7T", "6T", "5T", "4T", "3T"], @@ -40823,7 +41835,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], suckerpunch: ["4T"], sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], - swagger: ["9L1", "7M", "7L1", "6M", "6L1", "5M", "5L37", "4M", "4L37", "3T", "3L37"], + swagger: ["9L1", "7M", "7L1", "6M", "6L1", "5M", "5L9", "4M", "4L37", "3T", "3L37"], swallow: ["9E", "7E", "6E", "5E", "4E", "3E"], swift: ["4T", "3T"], switcheroo: ["9E", "7E", "6E", "5E", "4E"], @@ -40832,14 +41844,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], terablast: ["9M"], thief: ["9M", "7M", "6M", "5M", "4M", "3M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderfang: ["9M"], toxic: ["9M", "7M", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], venomdrench: ["7L24", "6L25"], - venoshock: ["9M", "9L24", "7M", "7L16", "6M", "6L16", "5M", "5L55"], + venoshock: ["9M", "9L24", "7M", "7L16", "6M", "6L16", "5M", "5L20"], wrap: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S2"], - wringout: ["7L46", "7E", "6L49", "6E", "5L61", "5E", "4L55"], + wringout: ["7L46", "7E", "6L49", "6E", "5L53", "5E", "4L55"], xscissor: ["9M", "7M", "6M", "5M", "4M"], zenheadbutt: ["9M"], }, @@ -40862,38 +41874,38 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confusion: ["8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L7", "3S0"], - cosmicpower: ["8M", "8L25", "7L25", "7S2", "6L25", "5L34", "4L34", "3L31"], + cosmicpower: ["8M", "8L25", "7L25", "7S2", "6L25", "5L29", "4L34", "3L31"], defensecurl: ["3T"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], earthpower: ["8M", "7T", "6T", "5T", "5D", "4T"], earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - embargo: ["7M", "7L17", "6M", "6L17", "5M", "5L31", "4M", "4L31"], + embargo: ["7M", "7L17", "6M", "6L17", "5M", "5L21", "4M", "4L31"], endure: ["8M", "4M", "3T"], - explosion: ["8L50", "7M", "7L45", "6M", "6L45", "5M", "5L56", "4M", "4L56", "3T", "3L49"], + explosion: ["8L50", "7M", "7L45", "6M", "6L45", "5M", "5L49", "4M", "4L56", "3T", "3L49"], facade: ["8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["8M", "8L40", "7L41", "6L41", "5L53", "4L53", "3L43"], + futuresight: ["8M", "8L40", "7L41", "6L41", "5L45", "4L53", "3L43"], gigaimpact: ["8M", "7M", "6M", "5M", "4M"], grassknot: ["8M", "7M", "6M", "5M", "4M"], gravity: ["7T", "6T", "5T", "4T"], gyroball: ["8M", "7M", "6M", "5M", "4M"], hail: ["8M"], harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], - healblock: ["7L33", "6L33", "5L42", "4L42"], + healblock: ["7L33", "6L33", "5L37", "4L42"], helpinghand: ["8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7S2", "6M", "5M", "4M", "3M"], hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - hypnosis: ["8L5", "7L5", "6L5", "5L12", "4L12", "3L19"], + hypnosis: ["8L5", "7L5", "6L5", "5L9", "4L12", "3L19"], icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], icywind: ["8M", "7T", "6T", "5T"], ironhead: ["8M", "7T", "6T", "5T", "4T"], laserfocus: ["7T"], lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], magiccoat: ["7T", "6T", "5T", "4T"], - magicroom: ["8M", "8L45", "7T", "7L49", "6T", "6L1", "5T", "5L64"], + magicroom: ["8M", "8L45", "7T", "7L49", "6T", "6L1", "5T", "5L53"], meteorbeam: ["8T"], mimic: ["3T"], moonblast: ["8L1", "7L1", "7S2", "6L1"], @@ -40904,20 +41916,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { powergem: ["8M", "7L1", "7S2"], powerswap: ["8M"], protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - psychic: ["8M", "8L30", "7M", "7L29", "6M", "6L29", "5M", "5L45", "4M", "4L45", "3M", "3L37", "3S1"], + psychic: ["8M", "8L30", "7M", "7L29", "6M", "6L29", "5M", "5L33", "4M", "4L45", "3M", "3L37", "3S1"], psychicterrain: ["8M"], psychup: ["7M", "6M", "5M", "4M", "3T"], psyshock: ["8M", "8L20", "7M", "7L1", "6M", "5M"], - psywave: ["7L13", "6L13", "5L23", "4L23", "3L25"], + psywave: ["7L13", "6L13", "5L17", "4L23", "3L25"], raindance: ["8M", "7M", "6M", "5M", "4M", "3M", "3S1"], recycle: ["7T", "6T", "5T", "4M"], reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], rest: ["8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rockblast: ["8M"], - rockpolish: ["8L10", "7M", "7L9", "6M", "6L9", "5M", "5L20", "4M", "4L20"], + rockpolish: ["8L10", "7M", "7L9", "6M", "6L9", "5M", "5L13", "4M", "4L20"], rockslide: ["8M", "8L15", "7M", "7L21", "6M", "6L21", "5M", "5L25", "4M", "3T"], - rockthrow: ["8L1", "7L1", "6L1", "5L9", "4L9", "3L13"], + rockthrow: ["8L1", "7L1", "6L1", "5L5", "4L9", "3L13"], rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M", "3S1"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], @@ -40964,19 +41976,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confusion: ["8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L7", "3S0"], - cosmicpower: ["8M", "8L25", "7L25", "7S2", "6L25", "5L34", "4L34", "3L31", "3S1"], + cosmicpower: ["8M", "8L25", "7L25", "7S2", "6L25", "5L29", "4L34", "3L31", "3S1"], defensecurl: ["3T"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], earthpower: ["8M", "7T", "6T", "5T", "4T"], earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - embargo: ["7M", "7L17", "6M", "6L17", "5M", "5L31", "4M", "4L31"], + embargo: ["7M", "7L17", "6M", "6L17", "5M", "5L21", "4M", "4L31"], endure: ["8M", "4M", "3T"], - explosion: ["8L50", "7M", "7L45", "6M", "6L45", "5M", "5L56", "4M", "4L56", "3T", "3L49"], + explosion: ["8L50", "7M", "7L45", "6M", "6L45", "5M", "5L49", "4M", "4L56", "3T", "3L49"], facade: ["8M", "7M", "6M", "5M", "4M", "3M"], fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], - firespin: ["8M", "7L5", "6L5", "5L12", "4L12", "3L19"], + firespin: ["8M", "7L5", "6L5", "5L9", "4L12", "3L19"], flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], flareblitz: ["8M", "8L1", "7L1"], flash: ["6M", "5M", "4M", "3M"], @@ -40986,7 +41998,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gravity: ["7T", "6T", "5T", "4T"], gyroball: ["8M", "7M", "6M", "5M", "4M"], harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], - healblock: ["7L33", "6L33", "5L42", "4L42"], + healblock: ["7L33", "6L33", "5L37", "4L42"], heatwave: ["8M", "7T", "6T", "5T"], helpinghand: ["8M", "7T", "6T", "5T", "4T"], hiddenpower: ["7M", "7S2", "6M", "5M", "4M", "3M"], @@ -41010,16 +42022,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { psychicterrain: ["8M"], psychup: ["7M", "6M", "5M", "4M", "3T"], psyshock: ["8M", "7M", "6M", "5M"], - psywave: ["7L13", "6L13", "5L23", "4L23", "3L25"], + psywave: ["7L13", "6L13", "5L17", "4L23", "3L25"], raindance: ["8M"], recycle: ["7T", "6T", "5T", "4M"], reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], rest: ["8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rockblast: ["8M"], - rockpolish: ["8L10", "7M", "7L9", "6M", "6L9", "5M", "5L20", "4M", "4L20"], - rockslide: ["8M", "8L15", "7M", "7L21", "6M", "6L21", "5M", "5L45", "4M", "4L45", "3T", "3L37"], - rockthrow: ["8L1", "7L1", "6L1", "5L9", "4L9", "3L13"], + rockpolish: ["8L10", "7M", "7L9", "6M", "6L9", "5M", "5L13", "4M", "4L20"], + rockslide: ["8M", "8L15", "7M", "7L21", "6M", "6L21", "5M", "5L25", "4M", "4L45", "3T", "3L37"], + rockthrow: ["8L1", "7L1", "6L1", "5L5", "4L9", "3L13"], rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], @@ -41034,7 +42046,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], smackdown: ["7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "8L40", "7M", "7L41", "7S2", "6M", "6L41", "5M", "5L53", "4M", "4L53", "3M", "3L43"], + solarbeam: ["8M", "8L40", "7M", "7L41", "7S2", "6M", "6L41", "5M", "5L45", "4M", "4L53", "3M", "3L43"], stealthrock: ["8M", "7T", "6T", "5T", "4M"], stompingtantrum: ["8M", "7T"], stoneedge: ["8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L41", "4M"], @@ -41050,7 +42062,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trickroom: ["8M", "7M", "6M", "5M", "4M"], weatherball: ["8M"], willowisp: ["8M", "7M", "6M", "5M", "4M"], - wonderroom: ["8M", "8L45", "7T", "7L49", "6T", "6L1", "5T", "5L64"], + wonderroom: ["8M", "8L45", "7T", "7L49", "6T", "6L1", "5T", "5L53"], zenheadbutt: ["8M", "8L20", "7T", "6T", "5T", "5D", "4T"], }, eventData: [ @@ -41071,7 +42083,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragondance: ["9M", "8M", "7E", "6E", "5E", "4E"], earthpower: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], @@ -41081,7 +42093,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fissure: ["9L48", "8L48", "7L44", "6L44", "5L47", "4L47", "3L41"], flail: ["9E", "8E", "7E", "6E", "5E", "4E"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L42", "8M", "8L42", "7L39", "6L39", "5L43", "4L43", "3L36"], + futuresight: ["9M", "9L42", "8M", "8L42", "7L39", "6L39", "5L43", "4L43", "3L36"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["4T"], helpinghand: ["9M"], @@ -41094,7 +42106,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magnitude: ["7L20", "6L20", "5L26", "4L26", "3L16"], mimic: ["3T"], mudbomb: ["7L13", "6L13", "5L14", "4L14"], - muddywater: ["9L31", "8M", "8L31", "7L35", "7E", "6L35", "6E", "5E"], + muddywater: ["9M", "9L31", "8M", "8L31", "7L35", "7E", "6L35", "6E", "5E"], mudshot: ["9M", "8M", "7E", "6E", "5E"], mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4T", "4L1", "3T", "3L1"], mudsport: ["7L6", "6L6", "5L6", "4L6", "3L6"], @@ -41129,7 +42141,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1", "7L9", "6L9", "5L10", "4L10", "3L11"], waterpulse: ["9M", "9L12", "8L12", "7T", "7L17", "6T", "6L17", "5L22", "4M", "4L22", "3M"], watersport: ["7L6", "6L6", "5L6", "4L6", "3L6"], - whirlpool: ["8M", "7E", "6E", "5E", "4M", "4E", "3E"], + whirlpool: ["9M", "8M", "7E", "6E", "5E", "4M", "4E", "3E"], zenheadbutt: ["9M"], }, }, @@ -41146,8 +42158,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], confide: ["7M", "6M"], + curse: ["9M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragondance: ["9M", "8M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -41156,7 +42169,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fissure: ["9L56", "8L56", "7L52", "6L52", "5L57", "4L57", "3L56"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L48", "8M", "8L48", "7L45", "6L45", "5L51", "4L51", "3L46"], + futuresight: ["9M", "9L48", "8M", "8L48", "7L45", "6L45", "5L51", "4L51", "3L46"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M", "4S0"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["4T"], @@ -41171,7 +42184,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magnitude: ["7L20", "6L20", "5L26", "4L26", "3L16"], mimic: ["3T"], mudbomb: ["7L13", "6L13", "5L14", "4L14"], - muddywater: ["9L33", "8M", "8L33", "7L39", "6L39"], + muddywater: ["9M", "9L33", "8M", "8L33", "7L39", "6L39"], mudshot: ["9M", "8M"], mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], mudsport: ["7L1", "6L1", "5L1", "4L1", "3L1"], @@ -41213,7 +42226,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "9L12", "8L12", "7T", "7L17", "6T", "6L17", "5L22", "4M", "4L22", "3M"], watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], zenheadbutt: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "4S0"], }, eventData: [ @@ -41244,11 +42257,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L40", "8M", "8L40", "7L39", "6L39", "5L47", "4L47", "3L43"], cut: ["6M", "5M", "4M", "3M"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["9E", "8E", "7E", "6E", "5E", "3T"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "3T"], doublehit: ["9L20", "8L20", "7L20", "6L20"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragondance: ["9M", "8M", "7E", "6E", "5E", "4E"], - endeavor: ["9L48", "8L48", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + endeavor: ["9M", "9L48", "8L48", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], endure: ["9M", "8M", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -41269,7 +42282,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M"], metalclaw: ["9M", "9E", "8E", "7E", "6E", "5E", "5D", "4E"], mimic: ["3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["4T", "3T"], mudsport: ["7E", "6E", "5E", "4E", "3E"], @@ -41310,7 +42323,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], watersport: ["3S0"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], }, eventData: [ @@ -41339,11 +42352,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doublehit: ["9L20", "8L20", "7L20", "6L20"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragondance: ["9M", "8M"], - endeavor: ["9L58", "8L58", "7T", "6T", "5T", "4T"], + endeavor: ["9M", "9L58", "8L58", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "4M", "3T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -41354,6 +42367,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { guillotine: ["9L64", "8L64", "7L54", "6L1", "5L65", "4L65", "3L52", "3S0"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], harden: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hardpress: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], hydropump: ["9M", "8M"], @@ -41367,7 +42381,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M", "8M", "7T"], metalclaw: ["9M"], mimic: ["3T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["4T", "3T"], nastyplot: ["9M", "8M"], @@ -41391,7 +42405,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M", "3M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snarl: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], spite: ["9M", "7T", "6T", "5T", "4T"], @@ -41411,7 +42425,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], watergun: ["9L1", "8L1"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], }, eventData: [ @@ -41425,37 +42439,37 @@ export const Learnsets: {[k: string]: LearnsetData} = { baltoy: { learnset: { allyswitch: ["8M", "7T", "5M"], - ancientpower: ["8L18", "7L19", "6L19", "5L26", "4T", "4L25", "3L25"], + ancientpower: ["8L18", "7L19", "6L19", "5L21", "4T", "4L25", "3L25"], bulldoze: ["8M", "7M", "6M", "5M"], calmmind: ["8M", "7M", "6M", "5M", "4M"], chargebeam: ["7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confusion: ["8L6", "7L1", "6L1", "5L1", "4L1", "3L1"], - cosmicpower: ["8M", "8L24", "7L22", "6L22", "5L37", "4L45", "3L37"], + cosmicpower: ["8M", "8L24", "7L22", "6L22", "5L31", "4L45", "3L37"], dazzlinggleam: ["8M", "7M", "6M"], dig: ["8M", "6M", "5M", "4M", "3M"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], drillrun: ["8M", "7T", "6T", "5T"], - earthpower: ["8M", "8L30", "7T", "7L37", "6T", "6L37", "5T", "5L51", "4T", "4L53"], + earthpower: ["8M", "8L30", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L53"], earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], eerieimpulse: ["8M"], endure: ["8M", "4M", "3T"], expandingforce: ["8T"], - explosion: ["8L42", "7M", "7L46", "6M", "6L46", "5M", "5L60", "4M", "4L71", "3T", "3L45"], - extrasensory: ["8L27", "7L31", "6L28", "5L43"], + explosion: ["8L42", "7M", "7L46", "6M", "6L46", "5M", "5L49", "4M", "4L71", "3T", "3L45"], + extrasensory: ["8L27", "7L31", "6L28", "5L28"], facade: ["8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], grassknot: ["8M", "7M", "6M", "5M", "4M"], gravity: ["7T", "6T", "5T", "5D", "4T"], - guardsplit: ["8L36", "7L34", "6L34", "5L48"], + guardsplit: ["8L36", "7L34", "6L34", "5L34"], guardswap: ["8M"], gyroball: ["8M", "7M", "6M", "5M", "4M"], - harden: ["8L1", "7L1", "6L1", "5L4", "4L3", "3L3"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L3", "3L3"], headbutt: ["4T"], - healblock: ["7L10", "6L10", "5L54", "4L61"], + healblock: ["7L10", "6L10", "5L45", "4L61"], hex: ["8M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -41463,19 +42477,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], magiccoat: ["7T", "6T", "5T", "4T"], mimic: ["3T"], - mudslap: ["8L1", "7L7", "6L7", "5L11", "4T", "4L7", "3T", "3L7", "3S0"], + mudslap: ["8L1", "7L7", "6L7", "5L7", "4T", "4L7", "3T", "3L7", "3S0"], naturalgift: ["4M"], - powersplit: ["8L36", "7L34", "6L34", "5L48"], + powersplit: ["8L36", "7L34", "6L34", "5L34"], powerswap: ["8M"], - powertrick: ["8L12", "7L25", "6L17", "5L31", "4L31"], + powertrick: ["8L12", "7L25", "6L17", "5L17", "4L31"], protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - psybeam: ["8L15", "7L16", "6L13", "5L15", "4L11", "3L11", "3S0"], + psybeam: ["8L15", "7L16", "6L13", "5L13", "4L11", "3L11", "3S0"], psychic: ["8M", "7M", "6M", "5M", "4M", "3M"], psychicterrain: ["8M"], psychup: ["7M", "6M", "5M", "4M", "3T"], psyshock: ["8M", "7M", "6M", "5M"], raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rapidspin: ["8L3", "7L4", "6L4", "5L7", "5D", "4L5", "3L5"], + rapidspin: ["8L3", "7L4", "6L4", "5L4", "5D", "4L5", "3L5"], recycle: ["7T", "6T", "5T", "4M"], reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], refresh: ["3S0"], @@ -41483,7 +42497,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "6M", "5M", "4M", "3M"], rockpolish: ["7M", "6M", "5M", "4M"], rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], - rocktomb: ["8M", "8L9", "7M", "7L13", "6M", "6L10", "5M", "5L18", "4M", "4L15", "3M", "3L15", "3S0"], + rocktomb: ["8M", "8L9", "7M", "7L13", "6M", "6L10", "5M", "5L10", "4M", "4L15", "3M", "3L15", "3S0"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M"], sandstorm: ["8M", "8L39", "7M", "7L40", "6M", "6L40", "5M", "5L34", "4M", "4L37", "3M", "3L31"], @@ -41516,27 +42530,27 @@ export const Learnsets: {[k: string]: LearnsetData} = { claydol: { learnset: { allyswitch: ["8M", "7T", "5M"], - ancientpower: ["8L18", "7L19", "6L19", "5L26", "4T", "4L25", "3L25"], + ancientpower: ["8L18", "7L19", "6L19", "5L21", "4T", "4L25", "3L25"], bodypress: ["8M"], bulldoze: ["8M", "7M", "6M", "5M"], calmmind: ["8M", "7M", "6M", "5M", "4M"], chargebeam: ["7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confusion: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - cosmicpower: ["8M", "8L24", "7L22", "6L22", "5L47", "4L51", "3L42"], + cosmicpower: ["8M", "8L24", "7L22", "6L22", "5L31", "4L51", "3L42"], dazzlinggleam: ["8M", "7M", "6M"], dig: ["8M", "6M", "5M", "4M", "3M"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], drillrun: ["8M", "7T", "6T", "5T"], - earthpower: ["8M", "8L30", "7T", "7L40", "6T", "6L40", "5T", "5L59", "4T", "4L62"], + earthpower: ["8M", "8L30", "7T", "7L40", "6T", "6L40", "5T", "5L40", "4T", "4L62"], earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], eerieimpulse: ["8M"], endure: ["8M", "4M", "3T"], expandingforce: ["8T"], - explosion: ["8L48", "7M", "7L58", "6M", "6L58", "5M", "5L72", "4M", "4L86", "3T", "3L55"], - extrasensory: ["8L27", "7L31", "6L28", "5L39"], + explosion: ["8L48", "7M", "7L58", "6M", "6L58", "5M", "5L61", "4M", "4L86", "3T", "3L55"], + extrasensory: ["8L27", "7L31", "6L28", "5L28"], facade: ["8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], @@ -41544,12 +42558,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["8M", "7M", "6M", "5M", "4M"], grassknot: ["8M", "7M", "6M", "5M", "4M"], gravity: ["7T", "6T", "5T", "4T"], - guardsplit: ["8L38", "7L34", "6L34", "5L54"], + guardsplit: ["8L38", "7L34", "6L34", "5L34"], guardswap: ["8M"], gyroball: ["8M", "7M", "6M", "5M", "4M"], harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], headbutt: ["4T"], - healblock: ["7L10", "6L10", "5L64", "4L73"], + healblock: ["7L10", "6L10", "5L54", "4L73"], hex: ["8M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], hyperbeam: ["8M", "8L0", "7M", "7L1", "6M", "6L36", "5M", "5L36", "4M", "4L36", "3M", "3L36"], @@ -41559,14 +42573,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], magiccoat: ["7T", "6T", "5T", "4T"], mimic: ["3T"], - mudslap: ["8L1", "7L7", "6L7", "5L11", "4T", "4L7", "3T", "3L7"], + mudslap: ["8L1", "7L7", "6L7", "5L7", "4T", "4L7", "3T", "3L7"], nastyplot: ["8M"], naturalgift: ["4M"], - powersplit: ["8L38", "7L34", "6L34", "5L54"], + powersplit: ["8L38", "7L34", "6L34", "5L34"], powerswap: ["8M"], - powertrick: ["8L12", "7L25", "6L17", "5L31", "4L31"], + powertrick: ["8L12", "7L25", "6L17", "5L17", "4L31"], protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - psybeam: ["8L15", "7L16", "6L13", "5L15", "4L11", "3L11"], + psybeam: ["8L15", "7L16", "6L13", "5L13", "4L11", "3L11"], psychic: ["8M", "7M", "6M", "5M", "4M", "3M"], psychicterrain: ["8M"], psychup: ["7M", "6M", "5M", "4M", "3T"], @@ -41580,7 +42594,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rockpolish: ["7M", "6M", "5M", "4M"], rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "8L9", "7M", "7L13", "6M", "6L10", "5M", "5L18", "4M", "4L15", "3M", "3L15"], + rocktomb: ["8M", "8L9", "7M", "7L13", "6M", "6L10", "5M", "5L10", "4M", "4L15", "3M", "3L15"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M"], sandstorm: ["8M", "8L43", "7M", "7L46", "6M", "6L46", "5M", "5L34", "4M", "4L40", "3M", "3L31"], @@ -41937,7 +42951,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragonbreath: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], dragonpulse: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], @@ -41956,7 +42970,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mimic: ["3T"], mirrorcoat: ["9E", "8E", "7E", "6E", "5E", "5D", "4E", "4S0", "3E"], mist: ["9E", "8E", "7E", "6E", "5E", "4E"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudsport: ["7E", "6E", "5E", "4E", "3E"], naturalgift: ["4M"], @@ -41981,7 +42995,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M", "5M", "4M", "3M"], waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], waterpulse: ["9M", "7T", "6T", "4M", "3M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], }, eventData: [ {generation: 4, level: 5, gender: "F", nature: "Calm", moves: ["splash", "mirrorcoat"], pokeball: "cherishball"}, @@ -41989,6 +43003,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, milotic: { learnset: { + alluringvoice: ["9M"], aquaring: ["9L12", "8L12", "7L17", "6L21", "5L49", "4L49"], aquatail: ["9L32", "8L32", "7T", "7L31", "6T", "6L29", "5T", "5L29", "4T", "4L29"], attract: ["9L16", "8M", "8L16", "7M", "7L34", "6M", "6L37", "5M", "5L41", "4M", "4L41", "3M", "3L45"], @@ -41996,7 +43011,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bind: ["7T", "6T", "5T"], blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brine: ["8M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], @@ -42007,8 +43022,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], disarmingvoice: ["9M", "9L4", "8L4", "7L11", "6L11"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragoncheer: ["9M"], dragondance: ["9M", "8M"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], dragontail: ["9M", "9L24", "8L24", "7M", "7L24", "6M", "6L27", "5M"], @@ -42036,12 +43052,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T", "5T", "4T"], mimic: ["3T"], mirrorcoat: ["5S3"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["4T", "3T"], naturalgift: ["4M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], raindance: ["9M", "9L44", "8M", "8L44", "7M", "7L47", "6M", "6L33", "5M", "5L33", "4M", "4L33", "4S1", "4S2", "3M", "3L35", "3S0"], recover: ["9L28", "8L28", "7L27", "6L21", "5L21", "5S3", "5S4", "4L21", "4S1", "4S2", "3L30", "3S0"], refresh: ["7L1", "6L7", "5L9", "4L9", "3L15"], @@ -42052,7 +43068,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["9M", "8M", "7M", "6M", "5M"], scaleshot: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], splash: ["9L1", "8L1"], @@ -42064,14 +43080,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], toxic: ["7M", "6M", "5M", "5S4", "4M", "3M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], twister: ["9L8", "8L8", "7L14", "6L14", "5L17", "4T", "4L17", "3L25", "3S0"], waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], waterpulse: ["9M", "9L0", "8L0", "7T", "7L1", "6T", "6L13", "5L13", "4M", "4L13", "3M", "3L20", "3S0"], watersport: ["7L1", "6L4", "5L5", "4L5", "3L10"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], wrap: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L5"], }, eventData: [ @@ -42087,7 +43103,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { amnesia: ["7E", "6E", "5E", "4E"], attract: ["7M", "6M", "5M", "4M", "3M"], avalanche: ["4M"], - blizzard: ["7M", "7L35", "6M", "6L35", "5M", "5L50", "4M", "3M"], + blizzard: ["7M", "7L35", "6M", "6L35", "5M", "5L40", "4M", "3M"], bodyslam: ["3T"], captivate: ["4M"], clearsmog: ["7E", "6E", "5E"], @@ -42102,18 +43118,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["4M", "3T"], energyball: ["7M", "6M", "5M", "4M"], facade: ["7M", "6M", "5M", "4M", "3M"], - fireblast: ["7M", "7L35", "6M", "6L35", "5M", "5L50", "4M", "3M"], + fireblast: ["7M", "7L35", "6M", "6L35", "5M", "5L40", "4M", "3M"], flamethrower: ["7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], futuresight: ["7E", "6E", "5E", "4E", "3E"], guardswap: ["7E", "6E"], - hail: ["7M", "7L20", "6M", "6L20", "5M", "5L30", "4M", "4L20", "3M", "3L20"], - headbutt: ["7L15", "6L15", "5L20"], + hail: ["7M", "7L20", "6M", "6L20", "5M", "5L20", "4M", "4L20", "3M", "3L20"], + headbutt: ["7L15", "6L15", "5L15"], hex: ["7E", "6E", "5E"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], hurricane: ["7L45", "6L45"], - hydropump: ["7L35", "6L35", "5L50"], + hydropump: ["7L35", "6L35", "5L40"], icebeam: ["7M", "6M", "5M", "4M", "3M"], icywind: ["7T", "6T", "5T", "4T", "3T"], incinerate: ["6M", "5M"], @@ -42125,7 +43141,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powdersnow: ["7L10", "6L10", "5L10", "4L10", "3L10"], protect: ["7M", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], - raindance: ["7M", "7L20", "6M", "6L20", "5M", "5L30", "4M", "4L20", "3M", "3L20"], + raindance: ["7M", "7L20", "6M", "6L20", "5M", "5L20", "4M", "4L20", "3M", "3L20"], reflecttype: ["7E", "6E"], rest: ["7M", "6M", "5M", "4M", "3M"], retaliate: ["6M", "5M"], @@ -42140,7 +43156,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snore: ["7T", "6T", "5T", "4T", "3T"], solarbeam: ["7M", "6M", "5M", "4M", "3M"], substitute: ["7M", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "7L20", "6M", "6L20", "5M", "5L30", "4M", "4L20", "3M", "3L20"], + sunnyday: ["7M", "7L20", "6M", "6L20", "5M", "5L20", "4M", "4L20", "3M", "3L20"], swagger: ["7M", "6M", "5M", "4M", "3T"], swift: ["4T", "3T"], tackle: ["7L1", "6L1", "5L1", "4L1", "3L1"], @@ -42152,7 +43168,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M", "5M", "4M", "3M"], watergun: ["7L10", "6L10", "5L10", "4L10", "3L10"], waterpulse: ["7T", "6T", "5D", "4M", "3M"], - weatherball: ["7L25", "6L25", "5L40", "4L30", "3L30"], + weatherball: ["7L25", "6L25", "5L30", "4L30", "3L30"], workup: ["7M", "5M"], }, }, @@ -42282,7 +43298,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9E", "7E", "6E", "5E", "4E"], - curse: ["9L26", "7L26", "6L19", "5L13", "4L13", "3L20"], + curse: ["9M", "9L26", "7L26", "6L19", "5L13", "4L13", "3L20"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], dazzlinggleam: ["9M", "7M", "6M"], destinybond: ["9E", "7E", "6E", "5E", "5D", "4E", "3E"], @@ -42290,20 +43306,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], - embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L43", "4M", "4L38"], + embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L38", "4M", "4L38"], encore: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], - feintattack: ["7L19", "6L19", "5L28", "4L28", "3L37", "3S0"], + feintattack: ["7L19", "6L19", "5L22", "4L28", "3L37", "3S0"], flash: ["6M", "5M", "4M", "3M"], foresight: ["7E", "6E", "5E", "4E", "3E"], foulplay: ["9M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M", "3M"], - grudge: ["7L46", "6L46", "5L50", "4L46", "3L56"], + grudge: ["7L46", "6L46", "5L46", "4L46", "3L56"], gunkshot: ["9M", "9E", "7T", "7E", "6E", "5E"], headbutt: ["4T"], helpinghand: ["9M"], - hex: ["9M", "9L22", "7L22", "6L22", "5L31"], + hex: ["9M", "9L22", "7L22", "6L22", "5L26"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], imprison: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], @@ -42316,9 +43332,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { nastyplot: ["9M"], naturalgift: ["4M"], nightmare: ["3T"], - nightshade: ["9M", "9L7", "7L7", "6L7", "5L8", "5D", "4L8", "3L13"], + nightshade: ["9M", "9L7", "7L7", "6L7", "5L7", "5D", "4L8", "3L13"], ominouswind: ["7E", "6E", "5E", "4T"], - painsplit: ["7T", "6T", "5T", "5D", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "5D", "4T"], payback: ["7M", "6M", "5M", "4M", "4E"], phantomforce: ["9M", "9L48", "7L54", "7E", "6L54", "6E"], poltergeist: ["9M"], @@ -42326,7 +43342,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], pursuit: ["7E", "6E", "5E", "4E"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -42334,18 +43350,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { roleplay: ["9L34", "7T", "6T", "5T", "4T"], round: ["7M", "6M", "5M"], scaryface: ["9M"], - screech: ["9L4", "7L4", "6L4", "5L5", "4L5", "3L8"], + screech: ["9L4", "7L4", "6L4", "5L4", "4L5", "3L8"], secretpower: ["6M", "4M", "3M"], - shadowball: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L35", "4M", "4L31", "3M", "3L44", "3S0"], - shadowsneak: ["9L19", "7L13", "7E", "6L13", "6E", "5L20", "5E", "4L20", "4E"], + shadowball: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L30", "4M", "4L31", "3M", "3L44", "3S0"], + shadowsneak: ["9L19", "7L13", "7E", "6L13", "6E", "5L16", "5E", "4L20", "4E"], shockwave: ["7T", "6T", "4M", "3M"], skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], - snatch: ["7T", "7L42", "6T", "6L42", "5T", "5L46", "4M", "4L43", "3M", "3L49"], + snatch: ["7T", "7L42", "6T", "6L42", "5T", "5L42", "4M", "4L43", "3M", "3L49"], snore: ["7T", "6T", "3T"], - spite: ["9M", "9L10", "7T", "7L10", "6T", "6L10", "5T", "5L16", "4T", "4L16", "3L25", "3S0"], + spite: ["9M", "9L10", "7T", "7L10", "6T", "6L10", "5T", "5L10", "4T", "4L16", "3L25", "3S0"], substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], - suckerpunch: ["9L38", "7L38", "6L34", "5L38", "4T", "4L35"], + suckerpunch: ["9L38", "7L38", "6L34", "5L34", "4T", "4L35"], sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -42357,9 +43374,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], - trick: ["9M", "9L42", "7T", "7L50", "6T", "6L50", "5T", "5L55", "4T", "4L50"], + trick: ["9M", "9L42", "7T", "7L50", "6T", "6L50", "5T", "5L50", "4T", "4L50"], trickroom: ["9M", "7M", "6M", "5M", "4M"], - willowisp: ["9M", "9L16", "7M", "7L16", "6M", "6L13", "5M", "5L23", "4M", "4L23", "3L32", "3S0"], + willowisp: ["9M", "9L16", "7M", "7L16", "6M", "6L13", "5M", "5L13", "4M", "4L23", "3L32", "3S0"], }, eventData: [ {generation: 3, level: 45, abilities: ["insomnia"], moves: ["spite", "willowisp", "feintattack", "shadowball"], pokeball: "pokeball"}, @@ -42377,27 +43394,27 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M"], cottonguard: ["5S1"], - curse: ["9L26", "7L26", "6L1", "5L1", "4L1", "3L1", "3S0"], + curse: ["9M", "9L26", "7L26", "6L1", "5L1", "4L1", "3L1", "3S0"], darkpulse: ["9M", "7M", "6M", "5T", "4M"], dazzlinggleam: ["9M", "7M", "6M"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], - embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L51", "4M", "4L42"], + embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L40", "4M", "4L42"], encore: ["9M"], endure: ["9M", "4M", "3T"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], - feintattack: ["7L19", "6L19", "5L28", "5S1", "4L28", "3L39", "3S0"], + feintattack: ["7L19", "6L19", "5L22", "5S1", "4L28", "3L39", "3S0"], flash: ["6M", "5M", "4M", "3M"], fling: ["9M", "7M", "6M", "5M", "4M"], foulplay: ["9M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M", "3M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], - grudge: ["7L52", "6L52", "5L66", "4L58", "3L64"], + grudge: ["7L52", "6L52", "5L52", "4L58", "3L64"], gunkshot: ["9M", "7T"], headbutt: ["4T"], helpinghand: ["9M", "3S0"], - hex: ["9M", "9L22", "7L22", "6L22", "5L31", "5S1"], + hex: ["9M", "9L22", "7L22", "6L22", "5L26", "5S1"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], @@ -42415,7 +43432,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["3T"], nightshade: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["7M", "6M", "5M", "4M"], phantomforce: ["9M", "9L53", "7L1", "6L1"], poltergeist: ["9M"], @@ -42423,7 +43440,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], @@ -42432,17 +43449,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], screech: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], secretpower: ["6M", "4M", "3M"], - shadowball: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L35", "5S1", "4M", "4L31", "3M", "3L48", "3S0"], + shadowball: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L30", "5S1", "4M", "4L31", "3M", "3L48", "3S0"], shadowclaw: ["9M", "7M", "6M", "5M", "4M"], - shadowsneak: ["9L19", "7L13", "6L13", "5L20", "4L20"], + shadowsneak: ["9L19", "7L13", "6L13", "5L16", "4L20"], shockwave: ["7T", "6T", "4M", "3M"], skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], - snatch: ["7T", "7L46", "6T", "6L46", "5T", "5L58", "4M", "4L51", "3M", "3L55"], + snatch: ["7T", "7L46", "6T", "6L46", "5T", "5L46", "4M", "4L51", "3M", "3L55"], snore: ["7T", "6T", "3T"], - spite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L16", "4T", "4L16", "3L25"], + spite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L10", "4T", "4L16", "3L25"], substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], - suckerpunch: ["9L40", "7L40", "6L34", "5L42", "4T", "4L35"], + suckerpunch: ["9L40", "7L40", "6L34", "5L34", "4T", "4L35"], sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], swordsdance: ["9M"], @@ -42450,16 +43468,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { telekinesis: ["7T", "5M"], terablast: ["9M"], thief: ["9M", "7M", "6M", "5M", "4M", "3M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], trailblaze: ["9M"], - trick: ["9M", "9L46", "7T", "7L58", "6T", "6L58", "5T", "5L75", "4T", "4L66"], + trick: ["9M", "9L46", "7T", "7L58", "6T", "6L58", "5T", "5L58", "4T", "4L66"], trickroom: ["9M", "7M", "6M", "5M", "4M"], - willowisp: ["9M", "9L16", "7M", "7L16", "6M", "6L13", "5M", "5L23", "4M", "4L23", "3L32"], + willowisp: ["9M", "9L16", "7M", "7L16", "6M", "6L13", "5M", "5L13", "4M", "4L23", "3L32"], }, eventData: [ {generation: 3, level: 37, abilities: ["insomnia"], moves: ["helpinghand", "feintattack", "shadowball", "curse"]}, @@ -42481,7 +43499,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9L12", "8L12", "7L30", "6L17", "5L17", "4L17", "3L23", "3S1"], - curse: ["9L36", "8L36", "7L33", "6L30", "5L30", "4L30", "3L34", "3S0"], + curse: ["9M", "9L36", "8L36", "7L33", "6L30", "5L30", "4L30", "3L34", "3S0"], darkpulse: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E", "4M"], destinybond: ["7E", "6E", "5E", "4E", "3E"], disable: ["9L4", "8L4", "7L6", "6L6", "5L6", "5D", "4L6", "3L5"], @@ -42496,7 +43514,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M", "7M", "6M", "5M", "4M"], foresight: ["7L14", "6L9", "5L9", "4L9", "3L12"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L44", "8M", "8L44", "7L54", "6L49", "5L49", "4L46", "3L49"], + futuresight: ["9M", "9L44", "8M", "8L44", "7L54", "6L49", "5L49", "4L46", "3L49"], gravity: ["9M", "7T", "6T", "5T", "4T"], grudge: ["8E", "7E", "6E", "5E", "4E", "3E"], haze: ["9M", "9E", "8E", "7E", "6E"], @@ -42517,13 +43535,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["3T"], nightshade: ["9M", "9L16", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], ominouswind: ["7E", "6E", "5E", "4T", "4E"], - painsplit: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + painsplit: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], payback: ["9L20", "8M", "8L20", "7M", "7L49", "6M", "6L46", "5M", "5L46", "4M", "4L41"], phantomforce: ["9M"], poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], pursuit: ["7L22", "6L22", "5L25", "4L25", "3L27", "3S0"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -42534,7 +43552,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "9L40", "8M", "8L40", "7M", "7L41", "6M", "6L41", "5M", "4M", "3M", "3S1"], shadowsneak: ["9L8", "8L8", "7L17", "6L17", "5L22", "4L22"], skillswap: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], @@ -42575,7 +43593,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M", "9L12", "8L12", "7L30", "6L17", "5L17", "4L17", "3L23"], counter: ["3T"], - curse: ["9L36", "8L36", "7L33", "6L30", "5L30", "4L30", "3L34"], + curse: ["9M", "9L36", "8L36", "7L33", "6L30", "5L30", "4L30", "3L34"], darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], disable: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], doubleedge: ["3T"], @@ -42592,7 +43610,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M", "3M"], foresight: ["7L14", "6L9", "5L9", "4L9", "3L12"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L48", "8M", "8L48", "7L1", "6L1", "5L61", "4L61", "3L58"], + futuresight: ["9M", "9L48", "8M", "8L48", "7L1", "6L1", "5L61", "4L61", "3L58"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], haze: ["9M"], @@ -42618,14 +43636,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["3T"], nightshade: ["9M", "9L16", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["9L20", "8M", "8L20", "7M", "7L57", "6M", "6L57", "5M", "5L58", "4M", "4L51"], phantomforce: ["9M"], poltergeist: ["9M", "8T"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], pursuit: ["7L22", "6L22", "5L25", "4L25", "3L27"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -42641,7 +43659,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowpunch: ["9L0", "8L0", "7L1", "6L37", "5L37", "4L37", "3L37"], shadowsneak: ["9L1", "8L1", "7L17", "6L17", "5L22", "4L22"], skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snatch: ["7T", "6T", "5T", "4M", "3M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], @@ -42683,7 +43701,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9L12", "8L12", "7L30", "6L17", "5L17", "4L17"], - curse: ["9L36", "8L36", "7L33", "6L30", "5L30", "4L30"], + curse: ["9M", "9L36", "8L36", "7L33", "6L30", "5L30", "4L30"], darkestlariat: ["8M"], darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], destinybond: ["9L54", "8L54"], @@ -42701,9 +43719,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T", "4M"], foresight: ["7L14", "6L9", "5L9", "4L9"], frustration: ["7M", "6M", "5M", "4M"], - futuresight: ["9L48", "8M", "8L48", "7L1", "6L1", "5L61", "4L61"], + futuresight: ["9M", "9L48", "8M", "8L48", "7L1", "6L1", "5L61", "4L61"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + hardpress: ["9M"], haze: ["9M"], headbutt: ["4T"], helpinghand: ["9M", "8M"], @@ -42726,14 +43745,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightshade: ["9M", "9L16", "8L16", "7L1", "6L1", "5L1", "4L1"], ominouswind: ["4T"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["9L20", "8M", "8L20", "7M", "7L57", "6M", "6L57", "5M", "5L58", "4M", "4L51"], phantomforce: ["9M"], poltergeist: ["9M", "8T"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], pursuit: ["7L22", "6L22", "5L25", "4L25"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -42748,7 +43767,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowpunch: ["9L1", "8L1", "7L1", "6L37", "5L37", "4L37"], shadowsneak: ["9L1", "8L1", "7L17", "6L17", "5L22", "4L22"], skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], snatch: ["7T", "6T", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], @@ -42787,15 +43806,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M"], captivate: ["4M"], confide: ["7M", "6M"], - curse: ["9E", "7E", "6E", "5E", "4E"], + curse: ["9M", "9E", "7E", "6E", "5E", "4E"], cut: ["6M", "5M", "4M", "3M"], defog: ["7T", "4M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragondance: ["9M", "9E", "7E", "6E", "5E", "4E"], dragonhammer: ["7E"], dragonpulse: ["9M", "7T", "6T", "5T"], dragontail: ["9M"], + dualwingbeat: ["9M"], earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], endure: ["9M", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], @@ -42827,6 +43847,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturepower: ["7M", "7E", "6M", "6E", "5E", "4E", "3E"], ominouswind: ["4T"], outrage: ["9M", "9L46", "7T", "6T", "5T", "4T"], + petalblizzard: ["9M"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], raindance: ["9M"], razorleaf: ["9L1", "7L1", "6L1", "5L11", "4L11", "3L11"], @@ -42886,9 +43907,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confusion: ["9L10", "7L10", "6L10", "5L14", "4L14"], cosmicpower: ["9E", "7E", "6E"], - curse: ["9E", "7E", "6E", "5E", "4E"], + curse: ["9M", "9E", "7E", "6E", "5E", "4E"], dazzlinggleam: ["9M", "7M", "6M"], disable: ["9E", "7E", "6E", "5E", "4E"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dreameater: ["7M", "6M", "5M", "4M", "4E"], echoedvoice: ["7M", "6M", "5M"], @@ -42898,7 +43920,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "7M", "6M", "5M", "4M"], flash: ["6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], - futuresight: ["7E", "6E", "5E", "4E"], + futuresight: ["9M", "7E", "6E", "5E", "4E"], grassknot: ["9M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], growl: ["9L4", "7L4", "6L4", "5L6", "4L6"], @@ -42915,7 +43937,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], protect: ["9M", "7M", "6M", "5M", "4M"], psychic: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "7M", "6M", "5M"], raindance: ["9M", "7M", "6M", "5M", "4M"], recover: ["9E", "7E", "6E", "5E", "4E"], @@ -42969,13 +43992,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { confusion: ["9L1", "7L1", "6L1", "5L14", "4L14", "3L14"], cosmicpower: ["7E", "6E"], craftyshield: ["7E"], - curse: ["7E", "6E", "5E", "4E", "3E"], + curse: ["9M", "7E", "6E", "5E", "4E", "3E"], dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["3T"], defog: ["7T"], disable: ["7E", "6E", "5E", "4E", "3E"], disarmingvoice: ["9M"], - doubleedge: ["9L42", "7L42", "6L33", "5L33", "4L33", "3T", "3L33"], + doubleedge: ["9M", "9L42", "7L42", "6L33", "5L33", "4L33", "3T", "3L33"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainingkiss: ["9M"], dreameater: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], @@ -42983,12 +44006,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M"], endure: ["9M", "4M", "3T"], energyball: ["9M", "7M", "6M", "5M", "4M"], + expandingforce: ["9M"], extrasensory: ["9L22", "7L22", "6L22", "5L46", "4L46"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M"], flash: ["6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["7E", "6E", "5E", "4E"], + futuresight: ["9M", "7E", "6E", "5E", "4E"], grassknot: ["9M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], growl: ["9L1", "7L1", "6L1", "5L6", "4L6", "3L6", "3S0"], @@ -43013,7 +44037,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "7M", "6M", "5M", "4M", "3M", "3L46"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], psyshock: ["9M", "7M", "6M", "5M"], psywave: ["7L16", "6L16", "5L30", "4L30", "3L30"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -43066,7 +44091,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { assurance: ["8M", "7E", "6E", "5E", "4E"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], batonpass: ["8M", "7E", "6E", "5E", "4E", "3E"], - bite: ["8E", "7L16", "6L16", "5L28", "4L28", "3L21", "3S2"], + bite: ["8E", "7L16", "6L16", "5L20", "4L28", "3L21", "3S2"], blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["8M", "3T"], bounce: ["8M", "7T", "6T", "5T", "4T"], @@ -43080,9 +44105,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { curse: ["8E", "7E", "6E", "5E", "4E", "3E"], cut: ["6M", "5M", "4M", "3M"], darkpulse: ["8M", "7M", "6M", "5T", "4M"], - detect: ["8L15", "7L33", "6L1", "5L49", "4L49"], + detect: ["8L15", "7L33", "6L1", "5L44", "4L49"], doubleedge: ["8E", "7E", "6E", "5E", "4E", "3T", "3E"], - doubleteam: ["8L5", "7M", "7L19", "6M", "6L19", "5M", "5L33", "4M", "4L33", "3M", "3L31", "3S3"], + doubleteam: ["8L5", "7M", "7L19", "6M", "6L19", "5M", "5L25", "4M", "4L33", "3M", "3L31", "3S3"], dreameater: ["7M", "6M", "5M", "4M", "3T"], echoedvoice: ["7M", "6M", "5M"], endure: ["8M", "4M", "3T"], @@ -43097,7 +44122,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { foulplay: ["8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - futuresight: ["8M", "8L50", "7L1", "6L1", "5L41", "4L41", "3L41", "3S3"], + futuresight: ["8M", "8L50", "7L1", "6L1", "5L36", "4L41", "3L41", "3S3"], gigaimpact: ["8M", "7M", "6M", "5M", "4M"], hail: ["8M", "7M", "6M", "5M", "4M", "3M"], headbutt: ["4T"], @@ -43120,16 +44145,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["4T", "3T"], naturalgift: ["4M"], nightmare: ["3T"], - nightslash: ["8L30", "7L29", "6L29", "5L52", "4L52"], + nightslash: ["8L30", "7L29", "6L29", "5L41", "4L52"], payback: ["8M", "7M", "6M", "5M", "4M"], perishsong: ["8L55", "7L1", "7E", "6L1", "6E", "5L65", "5E", "4L65", "3L46", "3S3"], playrough: ["8M", "7E", "6E"], protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - psychocut: ["8M", "7L37", "6L37", "5L60", "4L60"], + psychocut: ["8M", "7L37", "6L37", "5L49", "4L60"], psychup: ["7M", "6M", "5M", "4M", "3T"], punishment: ["7E", "6E", "5E", "4E"], - pursuit: ["7L10", "6L10", "5L20", "4L20"], - quickattack: ["8L1", "7L1", "6L1", "5L12", "4L12", "3L13"], + pursuit: ["7L10", "6L10", "5L12", "4L20"], + quickattack: ["8L1", "7L1", "6L1", "5L9", "4L12", "3L13"], raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], razorwind: ["7L49", "6L1", "5L17", "4L17", "3L17", "3S2"], rest: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -43146,7 +44171,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], shadowclaw: ["8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], - slash: ["8L25", "7L22", "6L22", "5L36", "4L36", "3L36", "3S3"], + slash: ["8L25", "7L22", "6L22", "5L28", "4L36", "3L36", "3S3"], sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], snarl: ["8M", "7M", "6M", "5M"], snatch: ["7T", "6T", "5T", "4M", "3M"], @@ -43350,6 +44375,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], confuseray: ["9M", "9L35", "8L35", "7L32", "6L19", "5L19", "4L19"], crunch: ["9M", "9L1", "8M", "8L1"], + curse: ["9M"], destinybond: ["9L1", "8L1", "7L1", "6L1", "5L59", "4L59"], doubleteam: ["9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], drainingkiss: ["9M", "9L20", "8M", "8L20", "7L23", "6L23"], @@ -43385,13 +44411,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightshade: ["9M"], ominouswind: ["7L1", "6L22", "5L22", "4T", "4L22"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], poltergeist: ["9M", "8T"], powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], protect: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], reflect: ["9M", "8M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -43424,7 +44450,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], trick: ["9M", "8M", "7T", "6T", "5T", "4T"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], wakeupslap: ["7L37", "6L28", "5L28", "4L28"], waterpulse: ["9M", "7T", "6T", "4M"], weatherball: ["9M", "8M"], @@ -43922,6 +44948,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], drainingkiss: ["9M", "9L22", "7L9", "6L9"], + endeavor: ["9M"], endure: ["9M", "4M", "3T"], entrainment: ["9E", "7E", "6E"], facade: ["9M", "7M", "6M", "5M", "4M", "3M"], @@ -43941,7 +44968,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudsport: ["7E", "6E", "5E", "5D", "4E", "3E"], naturalgift: ["4M"], protect: ["9M", "7M", "6M", "5M", "4M", "3M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], rest: ["9M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], @@ -43969,7 +44996,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L4", "7L4", "6L4", "5L7", "4L7", "3L12"], waterpulse: ["9M", "9L17", "7T", "7L17", "6T", "6L17", "5L22", "4M", "4L31", "3M"], watersport: ["7E", "6E", "5E", "4E", "3E"], - whirlpool: ["4M"], + whirlpool: ["9M", "4M"], wish: ["9L13"], }, }, @@ -43985,10 +45012,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L25", "8M", "8L25", "7L25", "6L25", "5L46", "4L46", "3L41"], cut: ["6M", "5M", "4M", "3M"], defensecurl: ["9E", "8E", "7E", "6E", "5E"], - doubleedge: ["9L55", "8L55", "7L49", "6L49", "5L55", "4L55", "3T", "3L53"], + doubleedge: ["9M", "9L55", "8L55", "7L49", "6L49", "5L55", "4L55", "3T", "3L53"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["9L10", "8L10", "7L13", "6L13", "5L31", "4L31", "3L33"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L31", "8M", "8L31", "7M", "7L29", "6M", "6L29", "5M", "5L50", "4M", "4L50", "3M", "3L49"], dragondance: ["9M", "8M", "7E", "6E", "5E", "5D", "4E", "3E"], dragonpulse: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], @@ -44066,10 +45094,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L25", "8M", "8L25", "7L25", "6L25", "5L50", "4L50", "3L56"], cut: ["6M", "5M", "4M", "3M"], defensecurl: ["3T"], - doubleedge: ["9L67", "8L67", "7L56", "6L56", "5L61", "4L61", "3T", "3L78"], + doubleedge: ["9M", "9L67", "8L67", "7L56", "6L56", "5L61", "4L61", "3T", "3L78"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["9L1", "8L1", "7L13", "6L13", "5L32", "4L32", "3L38"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L33", "8M", "8L33", "7M", "7L29", "6M", "6L29", "5M", "5L55", "4M", "4L55", "3M", "3L69"], dragondance: ["9M", "8M"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], @@ -44119,6 +45148,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunderfang: ["9M"], toxic: ["7M", "6M", "5M", "4M", "3M"], @@ -44138,7 +45168,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M", "6M", "5M", "4M", "3M"], bite: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], bodyslam: ["9M", "8M", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], @@ -44148,10 +45178,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M", "4M", "3M"], defensecurl: ["3T"], defog: ["7T", "4M"], - doubleedge: ["9L73", "8L73", "7L63", "6L1", "5L70", "4L70", "3T", "3L93"], + doubleedge: ["9M", "9L73", "8L73", "7L63", "6L1", "5L70", "4L70", "3T", "3L93"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["9L1", "8L1", "7L13", "6L13", "5L32", "4L32", "3L38", "3S0"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L33", "8M", "8L33", "7M", "7L29", "6M", "6L29", "5M", "5L61", "5S3", "4M", "4L61", "4S2", "3M", "3L79", "3S1"], dragondance: ["9M", "8M", "5S3", "3S1"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], @@ -44218,6 +45249,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "4T", "3T"], tailwind: ["9M", "7T", "6T", "5T", "4T"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunderfang: ["9M", "8M", "7L1", "6L1", "5L1", "4L1"], toxic: ["7M", "6M", "5M", "4M", "3M"], @@ -44238,12 +45270,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { headbutt: ["4T"], holdback: ["6S0"], - irondefense: ["8M", "7T", "6T", "6S0", "5T", "4T"], - ironhead: ["8M", "7T", "6T", "6S0", "5T", "5D", "4T"], - steelbeam: ["8T"], - tackle: ["8L1"], - takedown: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1"], - zenheadbutt: ["8M", "7T", "6T", "6S0", "5T", "5D", "4T"], + irondefense: ["9M", "8M", "7T", "6T", "6S0", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "6S0", "5T", "5D", "4T"], + steelbeam: ["9M", "8T"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + terablast: ["9M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "6S0", "5T", "5D", "4T"], }, eventData: [ {generation: 6, level: 5, shiny: true, moves: ["holdback", "ironhead", "zenheadbutt", "irondefense"], pokeball: "cherishball"}, @@ -44251,92 +45284,100 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, metang: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "8L66", "7L41", "6L38", "5L44", "4L44", "3L56"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L66", "8M", "8L66", "7L41", "6L38", "5L38", "4L44", "3L56"], allyswitch: ["8M", "7T"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "7M", "6M", "5M"], - bulletpunch: ["8L1", "7L26", "6L26", "5L32", "4L32"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletpunch: ["9L1", "8L1", "7L26", "6L26", "5L32", "4L32"], confide: ["7M", "6M"], - confusion: ["8L0", "7L1", "6L1", "5L1", "4L1", "3L20", "3S0"], + confusion: ["9L0", "8L0", "7L1", "6L1", "5L1", "4L1", "3L20", "3S0"], cosmicpower: ["8M"], cut: ["6M", "5M", "4M", "3M"], defensecurl: ["3T"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "4M", "3T"], - expandingforce: ["8T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + expandingforce: ["9M", "8T"], explosion: ["7M", "6M", "5M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], - flashcannon: ["8M", "8L18", "7M", "6M", "5M", "4M"], + flashcannon: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M", "4M"], + focuspunch: ["9M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], - gyroball: ["8M", "7M", "6M", "5M", "4M"], + futuresight: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + hardpress: ["9M"], headbutt: ["4T"], + heavyslam: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "8L74", "7M", "7L50", "6M", "6L50", "5M", "5L56", "4M", "4L56", "3M", "3L62"], - icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], - irondefense: ["8M", "8L58", "7T", "7L47", "6T", "6L47", "5T", "5L40", "4T", "4L40", "3L44"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], - lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], - magnetrise: ["8L12", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], - metalclaw: ["8L0", "7L1", "6L1", "5L1", "4L1", "3L20", "3S0"], - meteorbeam: ["8T"], - meteormash: ["8L50", "7L44", "6L44", "5L48", "4L48", "3L50"], + honeclaws: ["9L1", "6M", "5M"], + hyperbeam: ["9M", "9L74", "8M", "8L74", "7M", "7L50", "6M", "6L50", "5M", "5L50", "4M", "4L56", "3M", "3L62"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "9L58", "8M", "8L58", "7T", "7L47", "6T", "6L47", "5T", "5L40", "4T", "4L40", "3L44"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + magnetrise: ["9L12", "8L12", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + metalclaw: ["9M", "9L0", "8L0", "7L1", "6L1", "5L1", "4L1", "3L20", "3S0"], + meteorbeam: ["9M", "8T"], + meteormash: ["9L50", "8L50", "7L44", "6L44", "5L44", "4L48", "3L50"], mimic: ["3T"], miracleeye: ["7L29", "6L26", "5L26"], mudslap: ["4T", "3T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - psychic: ["8M", "8L34", "7M", "7L38", "6M", "6L38", "5M", "5L36", "4M", "4L36", "3M", "3L38"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["9M", "9L34", "8M", "8L34", "7M", "7L38", "6M", "6L38", "5M", "5L36", "4M", "4L36", "3M", "3L38"], + psychicnoise: ["9M"], psychocut: ["8M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "7M", "6M", "5M"], - pursuit: ["7L23", "6L23", "5L28", "4L28", "3L32"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + pursuit: ["7L23", "6L23", "5L23", "4L28", "3L32"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], refresh: ["3S0"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], - scaryface: ["8M", "8L42", "7L35", "6L35", "5L24", "4L24", "3L26"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "9L42", "8M", "8L42", "7L35", "6L35", "5L24", "4L24", "3L26"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["8M", "3T"], - shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "7T", "6T", "5T", "4M"], - steelbeam: ["8T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "8T"], steelroller: ["8T"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - tackle: ["8L1"], - takedown: ["8L26", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + swift: ["9M", "8M", "4T", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "9L26", "8L26", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], telekinesis: ["7T", "5M"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + terablast: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], - trick: ["8M", "7T", "6T", "5T", "4T"], - zenheadbutt: ["8M", "8L6", "7T", "7L32", "6T", "6L29", "5T", "5L52", "4T", "4L52"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "9L6", "8M", "8L6", "7T", "7L32", "6T", "6L29", "5T", "5L29", "4T", "4L52"], }, eventData: [ {generation: 3, level: 30, moves: ["takedown", "confusion", "metalclaw", "refresh"], pokeball: "pokeball"}, @@ -44344,98 +45385,109 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, metagross: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M", "8L72", "7L41", "6L38", "5L44", "5S4", "4L44", "3L66"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L72", "8M", "8L72", "7L41", "6L38", "5L38", "5S4", "4L44", "3L66"], allyswitch: ["8M", "7T"], block: ["7T", "6T", "5T", "4T"], - bodypress: ["8M"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M"], - bulldoze: ["8M", "7M", "6M", "5M"], - bulletpunch: ["8L1", "7L26", "7S7", "6L26", "5L32", "5S1", "5S2", "4L32", "4S0"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletpunch: ["9L1", "8L1", "7L26", "7S7", "6L26", "5L32", "5S1", "5S2", "4L32", "4S0"], confide: ["7M", "6M"], - confusion: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], cosmicpower: ["8M"], cut: ["6M", "5M", "4M", "3M"], defensecurl: ["3T"], - doubleedge: ["5S4", "5S5", "3T"], + doubleedge: ["9M", "5S4", "5S5", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - earthquake: ["8M", "7M", "6M", "5M", "5S1", "5S3", "5S6", "4M", "3M"], - endure: ["8M", "4M", "3T"], - expandingforce: ["8T"], - explosion: ["7M", "6M", "5M", "4M", "3T"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "5S1", "5S3", "5S6", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + expandingforce: ["9M", "8T"], + explosion: ["9L1", "7M", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], - flashcannon: ["8M", "8L16", "7M", "6M", "5M", "4M"], + flashcannon: ["9M", "9L16", "8M", "8L16", "7M", "6M", "5M", "4M"], + focuspunch: ["9M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], - gyroball: ["8M", "7M", "6M", "5M", "4M"], - hammerarm: ["8L0", "7L1", "6L45", "5L45", "5S1", "5S2", "5S4", "5S5", "4L45", "4S0"], + futuresight: ["9M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + hammerarm: ["9L0", "8L0", "7L1", "6L45", "5L45", "5S1", "5S2", "5S4", "5S5", "4L45", "4S0"], + hardpress: ["9M"], headbutt: ["4T"], + heavyslam: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "8L82", "7M", "7L60", "6M", "6L60", "5M", "5L71", "5S6", "4M", "4L71", "3M", "3L77"], - icepunch: ["8M", "7T", "7S7", "6T", "5T", "5S2", "4T", "3T"], - icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], - irondefense: ["8M", "8L62", "7T", "7L52", "6T", "6L52", "5T", "5L40", "5S4", "4T", "4L40", "3L44"], - ironhead: ["8M", "7T", "7S7", "6T", "5T", "4T"], + honeclaws: ["9L1", "6M", "5M"], + hyperbeam: ["9M", "9L82", "8M", "8L82", "7M", "7L60", "6M", "6L60", "5M", "5L62", "5S6", "4M", "4L71", "3M", "3L77"], + icepunch: ["9M", "8M", "7T", "7S7", "6T", "5T", "5S2", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "9L62", "8M", "8L62", "7T", "7L52", "6T", "6L52", "5T", "5L40", "5S4", "4T", "4L40", "3L44"], + ironhead: ["9M", "8M", "7T", "7S7", "6T", "5T", "4T"], + knockoff: ["9M"], laserfocus: ["7T"], - lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], - magnetrise: ["8L12", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], - metalclaw: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], - meteorbeam: ["8T"], - meteormash: ["8L52", "7L44", "6L44", "5L53", "5S1", "5S3", "5S5", "5S6", "4L53", "4S0", "3L55"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + magnetrise: ["9L12", "8L12", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + metalclaw: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + meteorbeam: ["9M", "8T"], + meteormash: ["9L52", "8L52", "7L44", "6L44", "5L44", "5S1", "5S3", "5S5", "5S6", "4L53", "4S0", "3L55"], mimic: ["3T"], miracleeye: ["7L29", "6L26", "5L26"], - mudslap: ["4T", "3T"], + mudslap: ["9M", "4T", "3T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "5S3", "4M", "3M"], - psychic: ["8M", "8L34", "7M", "7L38", "6M", "6L38", "5M", "5L36", "5S5", "5S6", "4M", "4L36", "3M", "3L38"], + protect: ["9M", "8M", "7M", "6M", "5M", "5S3", "4M", "3M"], + psychic: ["9M", "9L34", "8M", "8L34", "7M", "7L38", "6M", "6L38", "5M", "5L36", "5S5", "5S6", "4M", "4L36", "3M", "3L38"], + psychicfangs: ["9M"], + psychicnoise: ["9M"], psychocut: ["8M"], - psychup: ["7M", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "7M", "6M", "5M"], - pursuit: ["7L23", "6L23", "5L28", "4L28", "3L32"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + pursuit: ["7L23", "6L23", "5L23", "4L28", "3L32"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], - scaryface: ["8M", "8L42", "7L35", "6L35", "5L24", "4L24", "3L1"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "9L42", "8M", "8L42", "7L35", "6L35", "5L24", "4L24", "3L1"], secretpower: ["6M", "4M", "3M"], selfdestruct: ["8M", "3T"], - shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], - sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "7T", "6T", "5T", "4M"], - steelbeam: ["8T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "8T"], steelroller: ["8T"], - stompingtantrum: ["8M", "7T", "7S7"], + stompingtantrum: ["9M", "8M", "7T", "7S7"], + stoneedge: ["9M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - tackle: ["8L1"], - takedown: ["8L26", "7L1", "6L1", "5L1", "4L1", "3L1"], + swift: ["9M", "8M", "4T", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "9L26", "8L26", "7L1", "6L1", "5L1", "4L1", "3L1"], telekinesis: ["7T", "5M"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + terablast: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], - trick: ["8M", "7T", "6T", "5T", "4T"], - zenheadbutt: ["8M", "8L6", "7T", "7L32", "6T", "6L29", "5T", "5L62", "5S2", "5S3", "4T", "4L62", "4S0"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "9L6", "8M", "8L6", "7T", "7L32", "6T", "6L29", "5T", "5L29", "5S2", "5S3", "4T", "4L62", "4S0"], }, eventData: [ {generation: 4, level: 62, nature: "Brave", moves: ["bulletpunch", "meteormash", "hammerarm", "zenheadbutt"], pokeball: "cherishball"}, @@ -44450,89 +45502,93 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, regirock: { learnset: { - ancientpower: ["8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], + ancientpower: ["9L12", "8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], block: ["7T", "6T", "5T", "4T"], - bodypress: ["8M"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "8L6", "7M", "7L1", "6M", "6L1", "6S4", "5M"], - chargebeam: ["8L1", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L6", "8M", "8L6", "7M", "7L1", "6M", "6L1", "6S4", "5M"], + chargebeam: ["9M", "9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["8L30", "8S7", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], + curse: ["9M", "9L30", "8L30", "8S7", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], defensecurl: ["3T"], - dig: ["8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - drainpunch: ["8M", "7T", "6T", "5T", "4M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], dynamicpunch: ["3T"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "4M", "3T"], - explosion: ["8L78", "7M", "7L1", "6M", "6L1", "6S5", "5M", "5L1", "4M", "4L1", "3T", "3L1"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - flashcannon: ["8M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + explosion: ["9L78", "8L78", "7M", "7L1", "6M", "6L1", "6S5", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flashcannon: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], - hammerarm: ["8L42", "8S7", "7L49", "7S6", "6L1", "6S5", "5L81", "4L81"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + hammerarm: ["9L42", "8L42", "8S7", "7L49", "7S6", "6L1", "6S5", "5L81", "4L81"], + hardpress: ["9M"], headbutt: ["4T"], - heavyslam: ["8M"], + heavyslam: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], - icepunch: ["8M", "7T", "6T", "6S5", "5T", "4T", "3T"], - irondefense: ["8M", "8L36", "7T", "7L37", "6T", "6L37", "6S4", "5T", "5L41", "5S3", "4L41", "3L41"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], - lockon: ["8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], + hyperbeam: ["9M", "9L72", "8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], + icepunch: ["9M", "8M", "7T", "6T", "6S5", "5T", "4T", "3T"], + irondefense: ["9M", "9L36", "8M", "8L36", "7T", "7L37", "6T", "6L37", "6S4", "5T", "5L41", "5S3", "4L41", "3L41"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + lockon: ["9L60", "8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mimic: ["3T"], mudslap: ["4T", "3T"], naturalgift: ["4M"], + powergem: ["9M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "3T"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockblast: ["8M"], + rockblast: ["9M", "8M"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "8L24", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "9L24", "8M", "8L24", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rockthrow: ["8L1", "7L1", "6L1", "5L9", "4L9", "4S2", "3L9", "3S0"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rockthrow: ["9L1", "8L1", "7L1", "6L1", "5L9", "4L9", "4S2", "3L9", "3S0"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], - sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], - sandtomb: ["8M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], selfdestruct: ["8M", "3T"], shockwave: ["7T", "6T", "4M", "3M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], - smackdown: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "7T", "6T", "5T", "4M"], - stomp: ["8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "8L48", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "6S5", "5M", "5L73", "4M", "4L73"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stomp: ["9L18", "8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L48", "8M", "8L48", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "6S5", "5M", "5L73", "4M", "4L73"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], - superpower: ["8M", "8L54", "8S7", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["9L54", "8M", "8L54", "8S7", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], swagger: ["7M", "6M", "5M", "4M", "3T"], - thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], - zapcannon: ["8L66", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], + zapcannon: ["9L66", "8L66", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], }, eventData: [ {generation: 3, level: 40, shiny: 1, moves: ["rockthrow", "curse", "superpower", "ancientpower"]}, @@ -44548,63 +45604,65 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, regice: { learnset: { - amnesia: ["8M", "8L36", "8S7", "7L37", "6L37", "6S4", "6S5", "5L41", "5S3", "4L41", "3L41"], - ancientpower: ["8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], + amnesia: ["9M", "9L36", "8M", "8L36", "8S7", "7L37", "6L37", "6S4", "6S5", "5L41", "5S3", "4L41", "3L41"], + ancientpower: ["9L12", "8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], auroraveil: ["7M"], - avalanche: ["8M", "4M"], - blizzard: ["8M", "8L48", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "9L48", "8M", "8L48", "7M", "6M", "5M", "4M", "3M"], block: ["7T", "6T", "5T", "4T"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "8L6", "7M", "7L1", "6M", "6L1", "6S4", "5M"], - chargebeam: ["8L1", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], + bodypress: ["9M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L6", "8M", "8L6", "7M", "7L1", "6M", "6L1", "6S4", "5M"], + chargebeam: ["9M", "9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["8L30", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], + curse: ["9M", "9L30", "8L30", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], defensecurl: ["3T"], doubleedge: ["3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "4M", "3T"], - explosion: ["8L78", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - flashcannon: ["8M", "7M", "6M", "5M", "4M"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + explosion: ["9L78", "8L78", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frostbreath: ["7M", "6M", "5M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], hail: ["8M", "7M", "6M", "6S5", "5M", "4M", "3M"], - hammerarm: ["8L42", "7L49", "7S6", "6L1", "5L81", "4L81"], + hammerarm: ["9L42", "8L42", "7L49", "7S6", "6L1", "5L81", "4L81"], headbutt: ["4T"], - heavyslam: ["8M"], + heavyslam: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hyperbeam: ["8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], - icebeam: ["8M", "8L24", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "6S5", "5M", "5L73", "4M", "4L73", "3M"], - icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - iciclespear: ["8M"], - icywind: ["8M", "8L1", "8S7", "7T", "7L1", "6T", "6L1", "5T", "5L9", "4T", "4L9", "4S2", "3T", "3L9", "3S0"], - ironhead: ["8M", "7T", "6T", "5T", "4T"], - lockon: ["8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], + hyperbeam: ["9M", "9L72", "8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], + icebeam: ["9M", "9L24", "8M", "8L24", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "6S5", "5M", "5L73", "4M", "4L73", "3M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L1", "8M", "8L1", "8S7", "7T", "7L1", "6T", "6L1", "5T", "5L9", "4T", "4L9", "4S2", "3T", "3L9", "3S0"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + lockon: ["9L60", "8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], mimic: ["3T"], mudslap: ["4T", "3T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "3T"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], @@ -44613,20 +45671,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { selfdestruct: ["8M", "3T"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stomp: ["8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], - stompingtantrum: ["8M", "7T"], + snowscape: ["9M"], + stomp: ["9L18", "8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], + stompingtantrum: ["9M", "8M", "7T"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - superpower: ["8M", "8L54", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["9L54", "8M", "8L54", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], swagger: ["7M", "6M", "5M", "4M", "3T"], - thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "6S5", "5M", "4M", "3M"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "6S5", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], - zapcannon: ["8L66", "8S7", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], + zapcannon: ["9L66", "8L66", "8S7", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], }, eventData: [ {generation: 3, level: 40, shiny: 1, moves: ["icywind", "curse", "superpower", "ancientpower"]}, @@ -44643,89 +45703,94 @@ export const Learnsets: {[k: string]: LearnsetData} = { registeel: { learnset: { aerialace: ["7M", "6M", "5M", "4M", "3M"], - amnesia: ["8M", "8L36", "7L37", "6L37", "6S4", "5L41", "5S3", "4L41", "3L41"], - ancientpower: ["8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], + amnesia: ["9M", "9L36", "8M", "8L36", "7L37", "6L37", "6S4", "5L41", "5S3", "4L41", "3L41"], + ancientpower: ["9L12", "8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], block: ["7T", "6T", "5T", "4T"], - bodypress: ["8M"], - bodyslam: ["8M", "3T"], - brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], - bulldoze: ["8M", "8L6", "7M", "7L1", "6M", "6L1", "5M"], - chargebeam: ["8L1", "8S7", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L6", "8M", "8L6", "7M", "7L1", "6M", "6L1", "5M"], + chargebeam: ["9M", "9L1", "8L1", "8S7", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], confide: ["7M", "6M"], counter: ["3T"], - curse: ["8L30", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], + curse: ["9M", "9L30", "8L30", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], defensecurl: ["3T"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dynamicpunch: ["3T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "4M", "3T"], - explosion: ["8L78", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], - flashcannon: ["8M", "8L24", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "5M", "5L73", "4M", "4L73"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M", "3M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + explosion: ["9L78", "8L78", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "9L24", "8M", "8L24", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "5M", "5L73", "4M", "4L73"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "6S5", "5T", "4T"], - hammerarm: ["8L42", "7L49", "7S6", "6L1", "5L81", "4L81"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "6S5", "5T", "4T"], + hammerarm: ["9L42", "8L42", "7L49", "7S6", "6L1", "5L81", "4L81"], + hardpress: ["9M"], headbutt: ["4T"], - heavyslam: ["8M", "8L48", "8S7"], + heavyslam: ["9M", "9L48", "8M", "8L48", "8S7"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], - icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - irondefense: ["8M", "8L36", "8S7", "7T", "7L37", "6T", "6L37", "6S4", "6S5", "5T", "5L41", "4T", "4L41", "3L41"], - ironhead: ["8M", "8L24", "7T", "7L43", "6T", "6L1", "6S5", "5T", "5L73", "4T", "4L73"], - lockon: ["8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], + hyperbeam: ["9M", "9L72", "8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + irondefense: ["9M", "9L36", "8M", "8L36", "8S7", "7T", "7L37", "6T", "6L37", "6S4", "6S5", "5T", "5L41", "4T", "4L41", "3L41"], + ironhead: ["9M", "9L24", "8M", "8L24", "7T", "7L43", "6T", "6L1", "6S5", "5T", "5L73", "4T", "4L73"], + lockon: ["9L60", "8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], magnetrise: ["7T", "6T", "5T", "4T"], megakick: ["8M", "3T"], megapunch: ["8M", "3T"], - metalclaw: ["8L1", "7L1", "6L1", "5L9", "4L9", "4S2", "3L9", "3S0"], - meteorbeam: ["8T"], + metalclaw: ["9M", "9L1", "8L1", "7L1", "6L1", "5L9", "4L9", "4S2", "3L9", "3S0"], + metalsound: ["9M"], + meteorbeam: ["9M", "8T"], mimic: ["3T"], mudslap: ["4T", "3T"], naturalgift: ["4M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "3T"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "7M", "6M", "6S5", "5M", "4M", "3T"], + rockslide: ["9M", "8M", "7M", "6M", "6S5", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], rollout: ["4T", "3T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], - sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], - sandtomb: ["8M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], selfdestruct: ["8M", "3T"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - stealthrock: ["8M", "7T", "6T", "5T", "4M"], - steelbeam: ["8T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "8T"], steelroller: ["8T"], - stomp: ["8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], - stompingtantrum: ["8M", "7T"], + stomp: ["9L18", "8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], + stompingtantrum: ["9M", "8M", "7T"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], - superpower: ["8M", "8L54", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["9L54", "8M", "8L54", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], swagger: ["7M", "6M", "5M", "4M", "3T"], - thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], - thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], - zapcannon: ["8L66", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], + zapcannon: ["9L66", "8L66", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], }, eventData: [ {generation: 3, level: 40, shiny: 1, moves: ["metalclaw", "curse", "superpower", "ancientpower"]}, @@ -44741,119 +45806,129 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, latias: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M"], - airslash: ["8M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - aurasphere: ["8M"], - batonpass: ["8M"], - bodyslam: ["8M", "3T"], - breakingswipe: ["8M"], - bulldoze: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurasphere: ["9M", "8M"], + batonpass: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + breakingswipe: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], - chargebeam: ["7M", "6M", "5M", "4M"], - charm: ["8M", "8L1", "7L7", "6L1", "5L55", "5S5", "4L55", "3L50", "3S1", "3S2"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1", "7L7", "6L1", "5L55", "5S5", "4L55", "3L50", "3S1", "3S2"], + chillingwater: ["9M"], confide: ["7M", "6M"], - confusion: ["8L15"], + confusion: ["9L15", "8L15"], covet: ["7T", "6T", "5T"], cut: ["6M", "5M", "4M", "3M"], defog: ["7T", "4M"], + disarmingvoice: ["9M"], dive: ["8M", "8S11", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - dracometeor: ["8T", "7T", "7S9", "6T", "5T", "4T"], - dragonbreath: ["8L25", "8S10", "7L20", "6L20", "6S6", "5L20", "4L20", "4S3", "3L20"], - dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], - dragondance: ["8M"], - dragonpulse: ["8M", "8L45", "8S11", "7T", "7L56", "7S7", "7S8", "6T", "6L1", "5T", "5L80", "4M", "4L70"], + dracometeor: ["9M", "8T", "7T", "7S9", "6T", "5T", "4T"], + dragonbreath: ["9L25", "8L25", "8S10", "7L20", "6L20", "6S6", "5L20", "4L20", "4S3", "3L20"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L45", "8M", "8L45", "8S11", "7T", "7L56", "7S7", "7S8", "6T", "6L1", "5T", "5L80", "4M", "4L70"], + drainingkiss: ["9M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], - dualwingbeat: ["8T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M", "8T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], - fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - futuresight: ["8M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], - guardsplit: ["8L65", "7L46", "6L1", "5L75"], - healingwish: ["8L70", "7L1", "6L1", "5L85", "4L60"], - healpulse: ["8L50", "7L16", "6L1", "6S6", "5L65", "5S5"], - helpinghand: ["8M", "8L5", "7T", "7L1", "6T", "6L1", "5T", "5L10", "4T", "4L10", "3L10"], + futuresight: ["9M", "8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + guardsplit: ["9L65", "9S12", "8L65", "7L46", "6L1", "5L75"], + healingwish: ["9L70", "9S12", "8L70", "7L1", "6L1", "5L85", "4L60"], + healpulse: ["9L50", "8L50", "7L16", "6L1", "6S6", "5L65", "5S5"], + helpinghand: ["9M", "9L5", "8M", "8L5", "7T", "7L1", "6T", "6L1", "5T", "5L10", "4T", "4L10", "3L10"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], laserfocus: ["7T"], lastresort: ["7T", "6T", "5T", "4T"], - lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + liquidation: ["9M"], magiccoat: ["7T", "6T", "5T", "4T"], magicroom: ["8M", "7T", "6T", "5T"], mimic: ["3T"], - mistball: ["8L35", "8S11", "7L24", "7S7", "7S8", "7S9", "6L24", "6S6", "5L35", "4L35", "4S3", "4S4", "3L35", "3S0", "3S1", "3S2"], + mistball: ["9L35", "8L35", "8S11", "7L24", "7S7", "7S8", "7S9", "6L24", "6S6", "5L35", "4L35", "4S3", "4S4", "3L35", "3S0", "3S1", "3S2"], mudslap: ["4T", "3T"], mysticalfire: ["8M"], naturalgift: ["4M"], - outrage: ["8M", "7T", "6T", "5T", "4T"], - protect: ["8M", "7M", "6M", "5M", "4M", "3M"], - psychic: ["8M", "8L60", "7M", "7L51", "7S9", "6M", "6L51", "5M", "5L60", "5S5", "4M", "4L65", "3M", "3L40", "3S0", "3S1", "3S2"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["9M", "9L60", "9S12", "8M", "8L60", "7M", "7L51", "7S9", "6M", "6L51", "5M", "5L60", "5S5", "4M", "4L65", "3M", "3L40", "3S0", "3S1", "3S2"], psychocut: ["8M"], psychoshift: ["8L75", "7L28", "7S7", "7S8", "6L28", "6S6", "5L50", "5S5", "4L50"], - psychup: ["7M", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7L1", "6L1", "5L1", "4L1", "3L1"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - recover: ["8L10", "7L32", "6L32", "5L45", "4L45", "3L45", "3S1", "3S2"], - reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], - reflecttype: ["8L55", "8S10", "7L36", "6L1", "5L70"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recover: ["9L10", "8L10", "7L32", "6L32", "5L45", "4L45", "3L45", "3S1", "3S2"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + reflecttype: ["9L55", "9S12", "8L55", "8S10", "7L36", "6L1", "5L70"], refresh: ["7L13", "6L13", "5L30", "4L30", "4S3", "4S4", "3L30", "3S0"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M", "4M", "3M"], - roar: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], roleplay: ["7T", "6T", "5T", "4T"], roost: ["7M", "6M", "5T", "4M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "7L1", "6M", "6L1", "5M", "5L15", "4M", "4L15", "3M", "3L15"], - sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], - scaleshot: ["8T"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scaleshot: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], steelwing: ["8M", "7M", "6M", "4M", "3M"], - storedpower: ["8M", "8L1", "7L10", "6L10"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + storedpower: ["9M", "9L1", "8M", "8L1", "7L10", "6L10"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], suckerpunch: ["4T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], - surf: ["8M", "8S10", "7M", "6M", "5M", "4M", "3M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "8S10", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], sweetkiss: ["8S11"], - swift: ["8M", "4T", "3T"], - tailwind: ["8L20", "7T", "7S9", "6T", "5T", "4T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "9L20", "8L20", "7T", "7S9", "6T", "5T", "4T"], + takedown: ["9M"], telekinesis: ["7T", "5M"], - thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], triattack: ["8M"], - trick: ["8M", "7T", "6T", "5T", "4T"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], twister: ["4T"], - waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], - waterpulse: ["7T", "6T", "4M", "3M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], watersport: ["7L4", "6L4", "5L25", "4L25", "4S3", "4S4", "3L25", "3S0"], - whirlpool: ["8M", "4M"], - wish: ["8L30", "7L1", "7S7", "7S8", "6L1", "5L5", "4L5", "3L5"], - zenheadbutt: ["8M", "8L40", "8S10", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40", "4S4"], + weatherball: ["9M"], + whirlpool: ["9M", "8M", "4M"], + wish: ["9L30", "8L30", "7L1", "7S7", "7S8", "6L1", "5L5", "4L5", "3L5"], + zenheadbutt: ["9M", "9L40", "8M", "8L40", "8S10", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40", "4S4"], }, eventData: [ {generation: 3, level: 40, shiny: 1, moves: ["watersport", "refresh", "mistball", "psychic"]}, @@ -44868,118 +45943,128 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 100, moves: ["mistball", "psychic", "dracometeor", "tailwind"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["reflecttype", "dragonbreath", "zenheadbutt", "surf"]}, {generation: 8, level: 70, nature: "Bashful", moves: ["mistball", "dragonpulse", "dive", "sweetkiss"], pokeball: "cherishball"}, + {generation: 9, level: 70, moves: ["healingwish", "guardsplit", "psychic", "reflecttype"]}, ], eventOnly: true, }, latios: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["8M"], - airslash: ["8M"], - allyswitch: ["8M", "8L30", "7T"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + allyswitch: ["9L30", "8M", "8L30", "7T"], attract: ["8M", "7M", "6M", "5M", "4M", "3M"], - aurasphere: ["8M", "8S11"], - batonpass: ["8M"], - bodyslam: ["8M", "3T"], - breakingswipe: ["8M"], - bulldoze: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurasphere: ["9M", "8M", "8S11"], + batonpass: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + breakingswipe: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], captivate: ["4M"], - chargebeam: ["7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], confide: ["7M", "6M"], - confusion: ["8L15"], + confusion: ["9L15", "8L15"], cut: ["6M", "5M", "4M", "3M"], defog: ["7T", "4M"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], - dracometeor: ["8T", "7T", "7S10", "6T", "5T", "4T"], - dragonbreath: ["8L25", "7L20", "7S8", "7S9", "6L20", "6S6", "5L20", "4L20", "4S3", "3L20"], - dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], - dragondance: ["8M", "8L1", "8S11", "7L7", "6L1", "5L55", "5S5", "4L55", "3L50", "3S1", "3S2"], - dragonpulse: ["8M", "8L45", "8S11", "7T", "7L56", "7S8", "7S9", "6T", "6L1", "6S7", "5T", "5L80", "4M", "4L70"], + dracometeor: ["9M", "8T", "7T", "7S10", "6T", "5T", "4T"], + dragonbreath: ["9L25", "9S12", "8L25", "7L20", "7S8", "7S9", "6L20", "6S6", "5L20", "4L20", "4S3", "3L20"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "9L1", "8M", "8L1", "8S11", "7L7", "6L1", "5L55", "5S5", "4L55", "3L50", "3S1", "3S2"], + dragonpulse: ["9M", "9L45", "9S12", "8M", "8L45", "8S11", "7T", "7L56", "7S8", "7S9", "6T", "6L1", "6S7", "5T", "5L80", "4M", "4L70"], dreameater: ["7M", "6M", "5M", "4M", "3T"], - dualwingbeat: ["8T"], - earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], - endure: ["8M", "4M", "3T"], - energyball: ["8M", "7M", "6M", "5M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M", "8T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flash: ["6M", "5M", "4M", "3M"], - fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + flipturn: ["9M"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], - futuresight: ["8M"], - gigaimpact: ["8M", "7M", "6M", "5M", "4M"], - grassknot: ["8M", "7M", "6M", "5M", "4M"], + futuresight: ["9M", "8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], healblock: ["7L1", "6L1", "5L5", "4L5"], - healpulse: ["8L50", "7L16", "6L1", "6S6", "6S7", "5L65", "5S5"], - helpinghand: ["8M", "8L5", "7T", "7L1", "6T", "6L1", "5T", "5L10", "4T", "4L10", "3L10"], + healpulse: ["9L50", "8L50", "7L16", "6L1", "6S6", "6S7", "5L65", "5S5"], + helpinghand: ["9M", "9L5", "8M", "8L5", "7T", "7L1", "6T", "6L1", "5T", "5L10", "4T", "4L10", "3L10"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], - icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], laserfocus: ["7T"], lastresort: ["7T", "6T", "5T", "4T"], - lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], - lusterpurge: ["8L35", "7L24", "7S8", "7S9", "7S10", "6L24", "6S6", "6S7", "5L35", "4L35", "4S3", "4S4", "3L35", "3S0", "3S1", "3S2"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + liquidation: ["9M"], + lusterpurge: ["9L35", "9S12", "8L35", "7L24", "7S8", "7S9", "7S10", "6L24", "6S6", "6S7", "5L35", "4L35", "4S3", "4S4", "3L35", "3S0", "3S1", "3S2"], magiccoat: ["7T", "6T", "5T", "4T"], - memento: ["8L70", "7L1", "6L1", "5L85", "4L60", "3L5"], + memento: ["9L70", "8L70", "7L1", "6L1", "5L85", "4L60", "3L5"], mimic: ["3T"], mudslap: ["4T", "3T"], mysticalfire: ["8M"], naturalgift: ["4M"], - outrage: ["8M", "7T", "6T", "5T", "4T"], - powersplit: ["8L65", "7L46", "6L1", "5L75"], - protect: ["8M", "7M", "7L4", "6M", "6L4", "5M", "5L25", "4M", "4L25", "4S3", "4S4", "3M", "3L25", "3S0"], - psychic: ["8M", "8L60", "7M", "7L51", "7S10", "6M", "6L51", "6S7", "5M", "5L60", "5S5", "4M", "4L65", "3M", "3L40", "3S0", "3S1", "3S2"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + powersplit: ["9L65", "8L65", "7L46", "6L1", "5L75"], + protect: ["9M", "8M", "7M", "7L4", "6M", "6L4", "5M", "5L25", "4M", "4L25", "4S3", "4S4", "3M", "3L25", "3S0"], + psychic: ["9M", "9L60", "8M", "8L60", "7M", "7L51", "7S10", "6M", "6L51", "6S7", "5M", "5L60", "5S5", "4M", "4L65", "3M", "3L40", "3S0", "3S1", "3S2"], + psychicnoise: ["9M"], psychocut: ["8M"], psychoshift: ["8L75", "7L28", "7S8", "7S9", "6L28", "6S6", "5L50", "5S5", "4L50"], - psychup: ["7M", "6M", "5M", "4M", "3T"], - psyshock: ["8M", "7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7L1", "6L1", "5L1", "4L1", "3L1"], - raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], - recover: ["8L10", "7L32", "6L32", "5L45", "4L45", "3L45", "3S1", "3S2"], - reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recover: ["9L10", "8L10", "7L32", "6L32", "5L45", "4L45", "3L45", "3S1", "3S2"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], refresh: ["7L13", "6L13", "5L30", "4L30", "4S3", "4S4", "3L30", "3S0"], - rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M", "4M", "3M"], - roar: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], roost: ["7M", "6M", "5T", "4M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "7L1", "6M", "6L1", "5M", "5L15", "4M", "4L15", "3M", "3L15"], - sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], - scaleshot: ["8T"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scaleshot: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], - shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], - shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M", "3M"], - simplebeam: ["8L55"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + simplebeam: ["9L55", "8L55"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], snore: ["8M", "7T", "6T", "5T", "4T", "3T"], - solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], steelwing: ["8M", "7M", "6M", "4M", "3M"], - storedpower: ["8M", "8L1", "7L10", "6L10"], - substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], - sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], - surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + storedpower: ["9M", "9L1", "8M", "8L1", "7L10", "6L10"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["8M", "4T", "3T"], - tailwind: ["8L20", "7T", "7S10", "6T", "5T", "4T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "9L20", "8L20", "7T", "7S10", "6T", "5T", "4T"], + takedown: ["9M"], telekinesis: ["7T", "7L36", "6L1", "5M", "5L70"], - thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], - thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], toxic: ["7M", "6M", "5M", "4M", "3M"], triattack: ["8M"], - trick: ["8M", "7T", "6T", "5T", "4T"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], twister: ["4T"], - waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], - waterpulse: ["7T", "6T", "4M", "3M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M"], whirlpool: ["8M", "4M"], wonderroom: ["8M", "7T", "6T", "5T"], - zenheadbutt: ["8M", "8L40", "8S11", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40", "4S4"], + zenheadbutt: ["9M", "9L40", "9S12", "8M", "8L40", "8S11", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40", "4S4"], }, eventData: [ {generation: 3, level: 40, shiny: 1, moves: ["protect", "refresh", "lusterpurge", "psychic"]}, @@ -44994,13 +46079,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["lusterpurge", "dragonpulse", "psychoshift", "dragonbreath"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["lusterpurge", "psychic", "dracometeor", "tailwind"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["dragondance", "dragonpulse", "zenheadbutt", "aurasphere"]}, + {generation: 9, level: 70, moves: ["lusterpurge", "dragonpulse", "zenheadbutt", "dragonbreath"]}, ], eventOnly: true, }, kyogre: { learnset: { ancientpower: ["9L1", "8L1", "7L1", "6L1", "5L45", "5S3", "4T", "4L15", "4S2", "3L15"], - aquaring: ["9L54", "8L54", "8S11", "7L30", "6L30", "6S5", "5L30", "4L30", "4S2"], + aquaring: ["9L54", "9S12", "8L54", "8S11", "7L30", "6L30", "6S5", "5L30", "4L30", "4S2"], aquatail: ["9L9", "8L9", "7T", "7L15", "6T", "6L15", "5T", "5L65", "4T", "4L65"], avalanche: ["9M", "8M", "4M"], blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -45014,7 +46100,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], defensecurl: ["3T"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["9L81", "8L81", "7L80", "6L80", "5L80", "4L65", "3T", "3L65", "3S1"], + doubleedge: ["9M", "9L81", "8L81", "7L80", "6L80", "5L80", "4L65", "3T", "3L65", "3S1"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], endure: ["9M", "8M", "4M", "3T"], @@ -45028,12 +46114,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "6M", "5M", "4M", "3M"], hydropump: ["9M", "9L72", "8M", "8L72", "7L75", "6L75", "5L90", "4L45", "3L45", "3S0", "3S1"], hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - icebeam: ["9M", "9L36", "8M", "8L36", "7M", "7L35", "7S7", "7S8", "7S9", "7S10", "6M", "6L35", "6S5", "6S6", "5M", "5L35", "5S3", "5S4", "4M", "4L35", "4S2", "3M", "3L35", "3S0"], + icebeam: ["9M", "9L36", "9S12", "8M", "8L36", "7M", "7L35", "7S7", "7S8", "7S9", "7S10", "6M", "6L35", "6S5", "6S6", "5M", "5L35", "5S3", "5S4", "4M", "4L35", "4S2", "3M", "3L35", "3S0"], icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], liquidation: ["9M", "8M", "7T"], mimic: ["3T"], - muddywater: ["9L27", "8M", "8L27", "7L60", "7S7", "7S8", "7S9", "6L20", "5L20", "4L20"], + muddywater: ["9M", "9L27", "9S12", "8M", "8L27", "7L60", "7S7", "7S8", "7S9", "6L20", "5L20", "4L20"], mudslap: ["4T", "3T"], naturalgift: ["4M"], originpulse: ["9L1", "8L63", "7L45", "7S7", "7S8", "7S9", "7S10", "6L45", "6S5"], @@ -45051,7 +46137,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["8M", "7M", "6M", "5M"], scaryface: ["9M", "9L1", "8M", "8L1", "7L5", "6L5", "5L5", "4L5", "3L5"], secretpower: ["6M", "4M", "3M"], - sheercold: ["9L45", "8L45", "7L65", "6L65", "6S6", "5L75", "5S4", "4L60", "3L60", "3S1"], + sheercold: ["9L45", "9S12", "8L45", "7L65", "6L65", "6S6", "5L75", "5S4", "4L60", "3L60", "3S1"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], @@ -45071,7 +46157,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], waterpulse: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5L1", "4M", "4L1", "3M", "3L1"], waterspout: ["9L90", "8L90", "7L90", "7S10", "6L50", "6S6", "5L50", "5S3", "5S4", "4L50", "4S2", "3L75"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], }, eventData: [ {generation: 3, level: 45, shiny: 1, moves: ["bodyslam", "calmmind", "icebeam", "hydropump"]}, @@ -45086,6 +46172,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["icebeam", "originpulse", "calmmind", "muddywater"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["originpulse", "icebeam", "waterspout", "calmmind"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["surf", "bodyslam", "aquaring", "thunder"]}, + {generation: 9, level: 70, moves: ["aquaring", "sheercold", "icebeam", "muddywater"]}, ], eventOnly: true, }, @@ -45106,21 +46193,21 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M", "4M", "3M"], defensecurl: ["3T"], dig: ["9M", "8M", "6M", "5M", "4M", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], dragontail: ["7M", "6M", "5M"], dynamicpunch: ["3T"], earthpower: ["9M", "9L9", "8M", "8L9", "7T", "7L15", "7S10", "6T", "6L15", "5T", "5L65", "5S4", "4T", "4L65"], - earthquake: ["9M", "9L27", "8M", "8L27", "8S11", "7M", "7L35", "7S7", "7S8", "7S9", "6M", "6L35", "6S5", "5M", "5L35", "5S3", "4M", "4L35", "4S2", "3M", "3L35", "3S0"], + earthquake: ["9M", "9L27", "9S12", "8M", "8L27", "8S11", "7M", "7L35", "7S7", "7S8", "7S9", "6M", "6L35", "6S5", "5M", "5L35", "5S3", "4M", "4L35", "4S2", "3M", "3L35", "3S0"], endure: ["9M", "8M", "4M", "3T"], eruption: ["9L90", "8L90", "7L90", "6L50", "5L50", "5S3", "5S4", "4L50", "4S2", "3L75"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fireblast: ["9M", "9L72", "8M", "8L72", "7M", "7L75", "6M", "6L75", "5M", "5L90", "4M", "4L45", "3M", "3L45", "3S0", "3S1"], firefang: ["9M"], firepunch: ["9M", "8M", "7T", "7S10", "6T", "6S6", "5T", "4T", "3T"], - fissure: ["9L45", "8L45", "7L65", "6L65", "5L75", "4L60", "3L60", "3S1"], + fissure: ["9L45", "9S12", "8L45", "7L65", "6L65", "5L75", "4L60", "3L60", "3S1"], flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -45128,7 +46215,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], - hammerarm: ["9L36", "8L36", "8S11", "7L80", "6L20", "6S6", "5L20", "5S4", "4L20"], + hammerarm: ["9L36", "9S12", "8L36", "8S11", "7L80", "6L20", "6S6", "5L20", "5S4", "4L20"], headbutt: ["4T"], heatcrash: ["9M", "8M"], heatwave: ["9M"], @@ -45154,7 +46241,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { precipiceblades: ["9L1", "8L63", "7L45", "7S7", "7S8", "7S9", "7S10", "6L45", "6S5"], protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "3T"], - rest: ["9M", "9L54", "8M", "8L54", "7M", "7L30", "6M", "6L30", "6S5", "5M", "5L30", "4M", "4L30", "4S2", "3M", "3L50", "3S1"], + rest: ["9M", "9L54", "9S12", "8M", "8L54", "7M", "7L30", "6M", "6L30", "6S5", "5M", "5L30", "4M", "4L30", "4S2", "3M", "3L50", "3S1"], return: ["7M", "6M", "5M", "4M", "3M"], roar: ["9M", "7M", "6M", "5M", "4M", "3M"], rockblast: ["9M"], @@ -45169,7 +46256,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], sandtomb: ["9M"], scaryface: ["9M", "9L1", "8M", "8L1", "8S11", "7L5", "6L5", "5L5", "4L5", "3L5"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -45213,6 +46300,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["earthquake", "precipiceblades", "bulkup", "solarbeam"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["precipiceblades", "earthpower", "firepunch", "swordsdance"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["earthquake", "scaryface", "lavaplume", "hammerarm"]}, + {generation: 9, level: 70, moves: ["rest", "fissure", "hammerarm", "earthquake"]}, ], eventOnly: true, }, @@ -45226,7 +46314,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bind: ["7T", "6T", "5T"], blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], bodyslam: ["9M", "8M", "3T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["8M", "8S9", "7M"], bulkup: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -45237,13 +46325,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L9", "8M", "8L9", "7L20", "6L15", "5L15", "4L15", "3L35"], defog: ["7T"], dive: ["8M", "6M", "5M", "4T", "3M"], - doubleedge: ["3T"], + doubleedge: ["9M", "3T"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dracometeor: ["9M", "8T", "7T", "6T", "6S7", "5T", "4T"], dragonascent: ["9L1", "8L1", "8S9", "7T", "6T", "6S4", "6S6", "6S7"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M", "7M", "6M", "6S6", "5M", "4M", "4L20", "3M", "3L20"], dragondance: ["9M", "9L18", "8M", "8L18", "7L60", "7S8", "6L60", "6S4", "6S6", "5L60", "5S2", "4L30", "3L30"], - dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L50", "7S8", "6T", "6L50", "6S4", "6S5", "5T", "5L90", "5S2", "5S3", "4M", "4L75"], + dragonpulse: ["9M", "9L36", "9S10", "8M", "8L36", "7T", "7L50", "7S8", "6T", "6L50", "6S4", "6S5", "5T", "5L90", "5S2", "5S3", "4M", "4L75"], dragontail: ["9M", "7M", "6M", "5M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], @@ -45255,7 +46344,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], - fly: ["9M", "9L63", "8M", "8L63", "7M", "7L65", "6M", "6L65", "6S7", "5M", "5L65", "4M", "4L45", "3M", "3L45", "3S0"], + fly: ["9M", "9L63", "9S10", "8M", "8L63", "7M", "7L65", "6M", "6L65", "6S7", "5M", "5L65", "4M", "4L45", "3M", "3L45", "3S0"], focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M", "3M"], furycutter: ["4T", "3T"], @@ -45268,13 +46357,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { hurricane: ["9M", "9L72", "8M", "8L72"], hydropump: ["9M", "8M"], hyperbeam: ["9M", "9L90", "8M", "8L90", "7M", "7L90", "6M", "6L80", "5M", "5L80", "5S3", "4M", "4L65", "3M", "3L75"], - hypervoice: ["9M", "9L45", "8M", "8L45", "7T", "7L75", "6T", "6L20", "5T", "5L20", "4L20"], + hypervoice: ["9M", "9L45", "9S10", "8M", "8L45", "7T", "7L75", "6T", "6L20", "5T", "5L20", "4L20"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], incinerate: ["6M", "5M"], ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mimic: ["3T"], mudslap: ["4T", "3T"], naturalgift: ["4M"], @@ -45283,7 +46372,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psychup: ["7M", "6M", "5M", "4M", "3T"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], - rest: ["9M", "9L54", "8M", "8L54", "7M", "7L35", "7S8", "6M", "6L30", "5M", "5L30", "4M", "4L30", "4S1", "3M", "3L50", "3S0"], + rest: ["9M", "9L54", "9S10", "8M", "8L54", "7M", "7L35", "7S8", "6M", "6L30", "5M", "5L30", "4M", "4L30", "4S1", "3M", "3L50", "3S0"], return: ["7M", "6M", "5M", "4M", "3M"], roar: ["9M", "7M", "6M", "5M", "4M", "3M"], rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], @@ -45322,7 +46411,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { vcreate: ["5S3"], waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], waterpulse: ["7T", "6T", "4M", "3M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], wildcharge: ["9M"], }, eventData: [ @@ -45336,6 +46425,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 100, shiny: true, moves: ["dragonascent", "dracometeor", "fly", "celebrate"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["rest", "extremespeed", "dragonpulse", "dragondance"]}, {generation: 8, level: 70, shiny: 1, moves: ["dragonascent", "brutalswing", "extremespeed", "twister"]}, + {generation: 9, level: 70, moves: ["fly", "rest", "hypervoice", "dragonpulse"]}, ], eventOnly: true, }, @@ -45358,7 +46448,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M", "8M", "7M", "6M"], defensecurl: ["3T"], doomdesire: ["9L98", "8L98", "7L70", "6L70", "5L70", "4L70", "3L50"], - doubleedge: ["9L77", "8L77", "7L40", "6L40", "5L40", "4L40", "3T", "3L35"], + doubleedge: ["9M", "9L77", "8L77", "7L40", "6L40", "5L40", "4L40", "3T", "3L35"], doubleteam: ["7M", "6M", "5M", "4M", "3M"], dracometeor: ["5S14", "4S12"], drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], @@ -45367,7 +46457,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M", "8M"], endure: ["9M", "8M", "4M", "3T"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], faketears: ["9M"], firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], @@ -45376,7 +46466,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M", "7M", "6M", "5M", "4M"], followme: ["5S14"], frustration: ["7M", "6M", "5M", "4M", "3M"], - futuresight: ["9L70", "8M", "8L70", "7L55", "6L55", "5L55", "4L55", "3L40"], + futuresight: ["9M", "9L70", "8M", "8L70", "7L55", "6L55", "5L55", "4L55", "3L40"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "9L35", "8L35", "7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L45"], @@ -45400,7 +46490,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { magicroom: ["8M", "7T", "6T", "5T"], megakick: ["8M"], megapunch: ["8M"], - meteorbeam: ["8T"], + metalsound: ["9M"], + meteorbeam: ["9M", "8T"], meteormash: ["9L49", "8L49", "8S23", "5S13", "5S14", "5S15"], metronome: ["9M", "8M", "3T"], mimic: ["3T"], @@ -45413,7 +46504,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], psybeam: ["9M"], psychic: ["9M", "9L42", "8M", "8L42", "8S23", "7M", "7L20", "6M", "6L20", "5M", "5L20", "5S13", "4M", "4L20", "3M", "3L20", "3S10"], - psychup: ["7M", "6M", "5M", "4M", "3T"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], psyshock: ["9M", "8M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], recycle: ["7T", "6T", "5T", "4M"], @@ -45483,123 +46575,135 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, deoxys: { learnset: { - aerialace: ["7M", "6M", "5M", "4M", "3M"], - agility: ["7L55", "6L55", "5L73", "4L73", "3L35"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L55", "7L55", "6L55", "5L73", "4L73", "3L35"], allyswitch: ["7T", "5M"], - amnesia: ["7L55", "6L55", "5L73", "4L73", "3L35"], + amnesia: ["9M", "9L55", "7L55", "6L55", "5L73", "4L73", "3L35"], avalanche: ["4M"], bind: ["7T", "6T", "5T"], bodyslam: ["3T"], - brickbreak: ["7M", "6M", "5M", "4M", "3M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], brutalswing: ["7M"], - calmmind: ["7M", "6M", "5M", "4M", "3M"], - chargebeam: ["7M", "6M", "5M", "4M"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], - cosmicpower: ["7L55", "6L55", "6S10", "5L73", "4L73", "3L35", "3S3"], - counter: ["7L73", "6L73", "5L97", "4L97", "4S6", "3T", "3L50"], + cosmicpower: ["9L55", "7L55", "6L55", "6S10", "5L73", "4L73", "3L35", "3S3"], + counter: ["9L73", "7L73", "6L73", "5L97", "4L97", "4S6", "3T", "3L50"], cut: ["6M", "5M", "4M", "3M"], - darkpulse: ["7M", "6M", "5S9"], + darkpulse: ["9M", "7M", "6M", "5S9"], detect: ["4S6"], doubleedge: ["3T"], - doubleteam: ["7M", "7L13", "6M", "6L13", "5M", "5L17", "4M", "4L17", "4S5", "3M", "3L10"], - drainpunch: ["7T", "6T", "5T", "4M"], + doubleteam: ["9L13", "7M", "7L13", "6M", "6L13", "5M", "5L17", "4M", "4L17", "4S5", "3M", "3L10"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], dreameater: ["7M", "6M", "5M", "4M", "3T"], dynamicpunch: ["3T"], - endure: ["4M", "3T"], - energyball: ["7M", "6M", "5M", "4M"], - extremespeed: ["7L73", "6L73", "5L97", "4L97", "4S4", "4S5", "3L50"], - facade: ["7M", "6M", "5M", "4M", "3M"], - firepunch: ["7T", "6T", "5T", "4T", "3T"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + expandingforce: ["9M"], + extremespeed: ["9L73", "7L73", "6L73", "5L97", "4L97", "4S4", "4S5", "3L50"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], flash: ["6M", "5M", "4M", "3M"], - flashcannon: ["7M", "6M", "5M", "4M"], - fling: ["7M", "6M", "5M", "4M"], - focusblast: ["7M", "6M", "5M", "4M"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], focuspunch: ["7T", "6T", "4M", "3M"], frustration: ["7M", "6M", "5M", "4M", "3M"], - gigaimpact: ["7M", "6M", "5M", "4M"], - grassknot: ["7M", "6M", "5M", "4M"], - gravity: ["7T", "6T", "5T", "4T"], + futuresight: ["9M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9L37", "7T", "6T", "5T", "4T"], headbutt: ["4T"], hiddenpower: ["7M", "6M", "5M", "4M", "3M"], - hyperbeam: ["7M", "7L73", "6M", "6L73", "6S10", "5M", "5L97", "4M", "4L97", "4S7", "3M", "3L50", "3S3"], - icebeam: ["7M", "6M", "5M", "4M", "3M"], - icepunch: ["7T", "6T", "5T", "4T", "3T"], - icywind: ["7T", "6T", "5T", "4T", "3T"], - irondefense: ["7L55", "6T", "6L55", "5T", "5L73", "4T", "4L73", "4S4", "3L35"], - knockoff: ["7T", "7L19", "6T", "6L19", "5T", "5L25", "4T", "4L25", "3L15", "3S1", "3S2"], + hyperbeam: ["9M", "9L73", "7M", "7L73", "6M", "6L73", "6S10", "5M", "5L97", "4M", "4L97", "4S7", "3M", "3L50", "3S3"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + irondefense: ["9M", "9L55", "7L55", "6T", "6L55", "5T", "5L73", "4T", "4L73", "4S4", "3L35"], + knockoff: ["9M", "9L19", "7T", "7L19", "6T", "6L19", "5T", "5L25", "4T", "4L25", "3L15", "3S1", "3S2"], laserfocus: ["7T"], - leer: ["7L1", "6L1", "5L1", "4L1", "4S8", "3L1"], - lightscreen: ["7M", "6M", "5M", "4M", "3M"], - lowkick: ["7T", "6T", "5T", "4T"], - lowsweep: ["7M", "6M", "5M"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1", "4S8", "3L1"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], magiccoat: ["7T", "6T", "5T", "4T"], megakick: ["3T"], megapunch: ["3T"], + meteorbeam: ["9M"], meteormash: ["4S7"], mimic: ["3T"], - mirrorcoat: ["7L73", "6L73", "5L97", "4L97", "4S6", "3L50"], + mirrorcoat: ["9L73", "7L73", "6L73", "5L97", "4L97", "4S6", "3L50"], mudslap: ["4T", "3T"], - nastyplot: ["5S9"], + nastyplot: ["9M", "5S9"], naturalgift: ["4M"], nightmare: ["3T"], - nightshade: ["7L7", "6L7", "5L9", "4L9", "4S8", "3L5"], - poisonjab: ["7M", "6M", "5M", "4M"], + nightshade: ["9M", "9L7", "7L7", "6L7", "5L9", "4L9", "4S8", "3L5"], + painsplit: ["9M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["7M", "6M", "5M", "4M", "3M"], - psychic: ["7M", "7L31", "6M", "6L31", "5M", "5L41", "4M", "4L41", "3M", "3L25", "3S0", "3S1", "3S2"], - psychoboost: ["7L67", "6L67", "6S10", "5L89", "5S9", "4L89", "4S4", "4S5", "4S6", "4S7", "4S8", "3L45", "3S3"], + protect: ["9M", "9L37", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "9L31", "7M", "7L31", "6M", "6L31", "5M", "5L41", "4M", "4L41", "3M", "3L25", "3S0", "3S1", "3S2"], + psychicnoise: ["9M"], + psychicterrain: ["9M"], + psychoboost: ["9L67", "7L67", "6L67", "6S10", "5L89", "5S9", "4L89", "4S4", "4S5", "4S6", "4S7", "4S8", "3L45", "3S3"], psychoshift: ["7L43", "6L43", "5L57", "4L57"], - psychup: ["7M", "6M", "5M", "4M", "3T"], - psyshock: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "9L25", "7M", "6M", "5M"], pursuit: ["7L25", "6L25", "5L33", "4L33", "3L20", "3S0", "3S2"], - raindance: ["7M", "6M", "5M", "4M", "3M"], - recover: ["7L61", "6L61", "6S10", "5L81", "5S9", "4L81", "3L40", "3S3"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + recover: ["9L61", "7L61", "6L61", "6S10", "5L81", "5S9", "4L81", "3L40", "3S3"], recycle: ["7T", "6T", "5T", "4M"], - reflect: ["7M", "6M", "5M", "4M", "3M"], - rest: ["7M", "6M", "5M", "4M", "3M"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], return: ["7M", "6M", "5M", "4M", "3M"], - rockslide: ["7M", "6M", "5M", "4M", "3T"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], rocksmash: ["6M", "5M", "4M", "3M"], - rocktomb: ["7M", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], roleplay: ["7T", "6T", "5T", "4T"], round: ["7M", "6M", "5M"], safeguard: ["7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M"], secretpower: ["6M", "4M", "3M"], seismictoss: ["3T"], - shadowball: ["7M", "6M", "5M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], shockwave: ["7T", "6T", "4M", "3M"], signalbeam: ["7T", "6T", "5T", "4T"], - skillswap: ["7T", "6T", "5T", "4M", "3M"], - sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + skillswap: ["9M", "9L43", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], snatch: ["7T", "7L37", "6T", "6L37", "5T", "5L49", "4M", "4L49", "3M", "3L30", "3S1"], snore: ["7T", "6T", "5T", "4T", "3T"], - solarbeam: ["7M", "6M", "5M", "4M", "3M"], - spikes: ["7L25", "6L25", "5L33", "4L33", "3L20", "3S1"], - stealthrock: ["7T", "6T", "5T", "4M"], - stompingtantrum: ["7T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spikes: ["9M", "9L25", "7L25", "6L25", "5L33", "4L33", "3L20", "3S1"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "7T"], + storedpower: ["9M"], strength: ["6M", "5M", "4M", "3M"], - substitute: ["7M", "6M", "5M", "4M", "3T"], - sunnyday: ["7M", "6M", "5M", "4M", "3M"], - superpower: ["7L37", "6T", "6L37", "5L49", "4T", "4L49", "4S7", "3S0"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["9L37", "7L37", "6T", "6L37", "5L49", "4T", "4L49", "4S7", "3S0"], swagger: ["7M", "6M", "5M", "4M", "3T"], - swift: ["7L37", "6L37", "5L49", "4T", "4L49", "4S5", "3T", "3L30", "3S2"], - taunt: ["7M", "7L19", "6M", "6L19", "5M", "5L25", "4M", "4L25", "3M", "3L15", "3S0"], + swift: ["9M", "9L37", "7L37", "6L37", "5L49", "4T", "4L49", "4S5", "3T", "3L30", "3S2"], + takedown: ["9M"], + taunt: ["9M", "9L19", "7M", "7L19", "6M", "6L19", "5M", "5L25", "4M", "4L25", "3M", "3L15", "3S0"], telekinesis: ["7T", "5M"], - teleport: ["7L13", "6L13", "5L17", "4L17", "3L10"], - throatchop: ["7T"], - thunder: ["7M", "6M", "5M", "4M", "3M"], - thunderbolt: ["7M", "6M", "5M", "4M", "3M"], - thunderpunch: ["7T", "6T", "5T", "4T", "3T"], - thunderwave: ["7M", "6M", "5M", "4M", "3T"], + teleport: ["9L13", "7L13", "6L13", "5L17", "4L17", "3L10"], + terablast: ["9M"], + throatchop: ["9M", "7T"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], torment: ["7M", "6M", "5M", "4M", "3M"], toxic: ["7M", "6M", "5M", "4M", "3M"], - trick: ["7T", "6T", "5T", "4T"], - trickroom: ["7M", "6M", "5M", "4M"], - waterpulse: ["7T", "6T", "4M", "3M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], wonderroom: ["7T", "6T", "5T"], - wrap: ["7L1", "6L1", "5L1", "4L1", "4S8", "3L1"], - zapcannon: ["7L61", "6L61", "5L81", "4L81", "4S4", "3L40"], - zenheadbutt: ["7T", "7L49", "6T", "6L49", "5T", "5L65", "4T", "4L65"], + wrap: ["9L1", "7L1", "6L1", "5L1", "4L1", "4S8", "3L1"], + zapcannon: ["9L61", "7L61", "6L61", "5L81", "4L81", "4S4", "3L40"], + zenheadbutt: ["9M", "9L49", "7T", "7L49", "6T", "6L49", "5T", "5L65", "4T", "4L65"], }, eventData: [ {generation: 3, level: 30, shiny: 1, moves: ["taunt", "pursuit", "psychic", "superpower"]}, @@ -45637,9 +46741,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], crunch: ["9M", "9L37", "7L37", "6L37", "5L37", "4L37"], - curse: ["9L17", "7L17", "6L17", "5L17", "4L17"], + curse: ["9M", "9L17", "7L17", "6L17", "5L17", "4L17"], cut: ["6M", "5M", "4M"], - doubleedge: ["9E", "7E", "6E", "5E", "4E"], + doubleedge: ["9M", "9E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], endure: ["9M", "4M"], @@ -45727,8 +46831,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], crunch: ["9M", "9L42", "7L42", "6L42", "5L42", "4L42"], - curse: ["9L17", "7L17", "6L17", "5L17", "4L17"], + curse: ["9M", "9L17", "7L17", "6L17", "5L17", "4L17"], cut: ["6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "4M"], @@ -45805,8 +46910,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], crunch: ["9M", "9L45", "7L45", "6L45", "5L45", "4L45"], - curse: ["9L17", "7L17", "6L17", "5L17", "4L17"], + curse: ["9M", "9L17", "7L17", "6L17", "5L17", "4L17"], cut: ["6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L0", "7M", "7L1", "6M", "6L32", "5M", "5L32", "5S0", "4M", "4L32"], @@ -45822,6 +46928,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { grasspledge: ["9M", "7T", "6T", "5T"], grassyglide: ["9M"], grassyterrain: ["9M"], + hardpress: ["9M"], headbutt: ["4T"], headlongrush: ["9L63"], heavyslam: ["9M"], @@ -45859,6 +46966,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "7M", "6M", "5M", "4M"], sandtomb: ["9M"], scaryface: ["9M"], + scorchingsands: ["9M"], secretpower: ["6M", "4M"], seedbomb: ["9M", "7T", "6T", "5T", "4T"], sleeptalk: ["9M", "7M", "6M", "5T", "4M"], @@ -45907,11 +47015,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["7T", "6T", "5T"], cut: ["6M", "5M", "4M"], dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M"], doublekick: ["9E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], ember: ["9L7", "7L7", "6L7", "5L7", "5S1", "5S3", "4L7"], encore: ["9M", "9E", "7E", "6E", "5E", "4E"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "4M"], facade: ["9M", "9L31", "7M", "7L31", "6M", "6L31", "5M", "5L31", "4M", "4L31"], fakeout: ["9E", "7E", "6E", "5E", "5S3", "4E"], @@ -45950,6 +47059,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M"], poweruppunch: ["7E", "6M"], protect: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], quickguard: ["7E", "6E", "5E"], rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], @@ -45977,6 +47087,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M", "7M", "6M", "5M", "4M"], takedown: ["9M"], taunt: ["9M", "9L9", "7M", "7L9", "6M", "6L9", "5M", "5L9", "5S1", "5S3", "4M", "4L9"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], thunderpunch: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "4S0", "4S2"], @@ -46012,12 +47123,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["7T", "6T", "5T"], cut: ["6M", "5M", "4M"], dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], drainpunch: ["9M"], dualchop: ["7T", "6T", "5T"], ember: ["9L1", "7L1", "6L1", "5L1", "4L1"], encore: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], faketears: ["9M"], @@ -46058,6 +47170,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], protect: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], rest: ["9M", "7M", "6M", "5M", "4M"], retaliate: ["6M", "5M"], return: ["7M", "6M", "5M", "4M"], @@ -46085,11 +47198,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M", "7M", "6M", "5M", "4M"], takedown: ["9M"], taunt: ["9M", "9L9", "7M", "7L9", "6M", "6L9", "5M", "5L9", "4M", "4L9"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T"], torment: ["9L29", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L29"], toxic: ["7M", "6M", "5M", "4M"], + upperhand: ["9M"], uproar: ["9M"], uturn: ["9M", "7M", "6M", "5M", "4M"], vacuumwave: ["9M", "4T"], @@ -46114,17 +47229,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "9L58", "7M", "7L58", "6M", "6L58", "5M", "5L58", "4M", "4L53"], captivate: ["4M"], closecombat: ["9M", "9L0", "7L1", "6L36", "6S1", "5L36", "5S0", "4L41"], + coaching: ["9M"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], cut: ["6M", "5M", "4M"], dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], drainpunch: ["9M"], dualchop: ["7T", "6T", "5T"], earthquake: ["9M", "7M", "6M", "5M", "4M"], ember: ["9L1", "7L1", "6L1", "5L1", "4L1"], encore: ["9M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], faketears: ["9M"], @@ -46168,6 +47285,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], protect: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], punishment: ["7L29", "6L29", "5L29", "4L33"], ragingfury: ["9L65"], rest: ["9M", "7M", "6M", "5M", "4M"], @@ -46183,6 +47301,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rollout: ["4T"], round: ["7M", "6M", "5M"], scaryface: ["9M"], + scorchingsands: ["9M"], scratch: ["9L1", "7L1", "6L1", "5L1", "4L1"], secretpower: ["6M", "4M"], shadowclaw: ["9M", "7M", "6M", "5M", "4M"], @@ -46201,11 +47320,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M", "7M", "6M", "5M", "4M"], takedown: ["9M"], taunt: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunderpunch: ["9M", "7T", "6T", "5T", "4T"], torment: ["9L29", "7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], + upperhand: ["9M"], uproar: ["9M"], uturn: ["9M", "7M", "6M", "5M", "5S0", "4M"], vacuumwave: ["9M", "4T"], @@ -46246,7 +47368,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], - featherdance: ["9E", "7E", "6E", "5E", "5S1", "5S2", "5S3", "4E"], + featherdance: ["9M", "9E", "7E", "6E", "5E", "5S1", "5S2", "5S3", "4E"], flail: ["7E", "6E", "5E", "4E"], fling: ["9M", "7M", "6M", "5M", "4M"], flipturn: ["9M"], @@ -46273,6 +47395,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pound: ["9L1", "9S6", "7L1", "6L1", "6S4", "5L1", "5S0", "5S3", "4L1"], powertrip: ["9E", "7E"], protect: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], quash: ["7M", "6M", "5M"], raindance: ["9M", "7M", "6M", "5M", "4M"], rest: ["9M", "7M", "6M", "5M", "4M"], @@ -46295,13 +47418,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M"], terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M"], + tripleaxel: ["9M"], waterfall: ["9M", "7M", "6M", "5M", "4M"], watergun: ["9L8"], waterpledge: ["9M", "7T", "6T", "5T"], waterpulse: ["9M", "7T", "6T", "4M"], watersport: ["7L11", "6L11", "5L11", "5S1", "4L11"], weatherball: ["9M"], - whirlpool: ["9L32", "7L32", "7S5", "6L32", "5L32", "4M", "4L32"], + whirlpool: ["9M", "9L32", "7L32", "7S5", "6L32", "5L32", "4M", "4L32"], workup: ["7M"], yawn: ["9E", "7E", "6E", "5E", "4E"], }, @@ -46336,11 +47460,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["6M", "5M", "4M"], disarmingvoice: ["9M"], dive: ["6M", "5M", "4T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], drillpeck: ["9L46", "7L46", "6L46", "5L46", "4L46"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], + featherdance: ["9M"], fling: ["9M", "7M", "6M", "5M", "4M"], flipturn: ["9M"], frustration: ["7M", "6M", "5M", "4M"], @@ -46365,6 +47491,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { peck: ["9L15", "7L15", "6L15", "5L15", "4L15"], pluck: ["5M", "4M"], protect: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], quash: ["7M", "6M", "5M"], raindance: ["9M", "7M", "6M", "5M", "4M"], rest: ["9M", "7M", "6M", "5M", "4M"], @@ -46389,13 +47516,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], toxic: ["7M", "6M", "5M", "4M"], + tripleaxel: ["9M"], waterfall: ["9M", "7M", "6M", "5M", "4M"], watergun: ["9L1"], waterpledge: ["9M", "7T", "6T", "5T"], waterpulse: ["9M", "7T", "6T", "4M"], watersport: ["7L11", "6L11", "5L11", "4L11"], weatherball: ["9M"], - whirlpool: ["9L37", "7L37", "6L37", "5L37", "4M", "4L37"], + whirlpool: ["9M", "9L37", "7L37", "6L37", "5L37", "4M", "4L37"], workup: ["7M"], }, }, @@ -46425,6 +47553,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dig: ["6M", "5M", "4M"], disarmingvoice: ["9M"], dive: ["6M", "5M", "4T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], drillpeck: ["9L52", "7L52", "6L52", "5L52", "4L52"], dualwingbeat: ["9M"], @@ -46433,6 +47562,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], falseswipe: ["9M"], + featherdance: ["9M"], flashcannon: ["9M", "7M", "6M", "5M", "4M"], fling: ["9M", "7M", "6M", "5M", "4M"], flipturn: ["9M"], @@ -46460,12 +47590,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { lashout: ["9M"], liquidation: ["9M", "7T"], metalclaw: ["9M", "9L1", "7L1", "6L16", "5L16", "4L16"], + metalsound: ["9M"], mist: ["9L46", "7L46", "6L46", "5L46", "4L46"], mudslap: ["9M", "4T"], naturalgift: ["4M"], peck: ["9L15", "7L15", "6L15", "5L15", "4L15"], pluck: ["5M", "4M"], protect: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], quash: ["7M", "6M", "5M"], raindance: ["9M", "7M", "6M", "5M", "4M"], rest: ["9M", "7M", "6M", "5M", "4M"], @@ -46496,8 +47628,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], toxic: ["7M", "6M", "5M", "4M"], + tripleaxel: ["9M"], uproar: ["9M"], vacuumwave: ["9M"], waterfall: ["9M", "7M", "6M", "5M", "4M"], @@ -46506,7 +47639,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "7T", "6T", "4M"], wavecrash: ["9L66"], weatherball: ["9M"], - whirlpool: ["9L39", "7L39", "6L39", "5L39", "4M", "4L39"], + whirlpool: ["9M", "9L39", "7L39", "6L39", "5L39", "4M", "4L39"], workup: ["7M"], }, eventData: [ @@ -46527,14 +47660,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], defog: ["7T", "4M"], detect: ["7E", "6E", "5E"], - doubleedge: ["9E", "7E", "6E", "5E", "4E"], + doubleedge: ["9M", "9E", "7E", "6E", "5E", "4E"], doubleteam: ["9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], dualwingbeat: ["9M"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["9L17", "7T", "7L17", "6T", "6L17", "5T", "5L17", "4T", "4L17"], + endeavor: ["9M", "9L17", "7T", "7L17", "6T", "6L17", "5T", "5L17", "4T", "4L17"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], - featherdance: ["9E", "7E", "6E", "5E", "4E"], + featherdance: ["9M", "9E", "7E", "6E", "5E", "4E"], finalgambit: ["9L41", "7L41", "6L41", "5L41"], fly: ["9M", "7M", "6M", "5M", "4M"], foresight: ["7E", "6E", "5E", "4E"], @@ -46597,13 +47730,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], defog: ["7T", "4M"], + doubleedge: ["9M"], doubleteam: ["9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], dualwingbeat: ["9M"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["9L18", "7T", "7L18", "6T", "6L18", "5T", "5L18", "4T", "4L18"], + endeavor: ["9M", "9L18", "7T", "7L18", "6T", "6L18", "5T", "5L18", "4T", "4L18"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], - featherdance: ["5D"], + featherdance: ["9M", "5D"], finalgambit: ["9L48", "7L48", "6L48", "5L48"], fly: ["9M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], @@ -46662,12 +47796,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "9L0", "7L1", "6L34", "5L34", "4L34"], confide: ["7M", "6M"], defog: ["7T", "4M"], + doubleedge: ["9M"], doubleteam: ["9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], dualwingbeat: ["9M"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["9L18", "7T", "7L18", "6T", "6L18", "5T", "5L18", "4T", "4L18"], + endeavor: ["9M", "9L18", "7T", "7L18", "6T", "6L18", "5T", "5L18", "4T", "4L18"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], + featherdance: ["9M"], finalgambit: ["9L57", "7L57", "6L57", "5L57"], fly: ["9M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], @@ -46883,10 +48019,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { bide: ["7L1", "6L1", "5L1", "4L1"], bugbite: ["9M", "9L16", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T", "4L16"], - endeavor: ["7T", "6T", "5T", "5D", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "5D", "4T"], growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], lunge: ["9M"], mudslap: ["4T"], + skittersmack: ["9M"], snore: ["7T", "6T", "5T", "4T"], stringshot: ["4T"], strugglebug: ["9M", "9L6", "7L6", "6M", "6L6", "5L6", "5D"], @@ -46910,7 +48047,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M", "4M"], doubleteam: ["7M", "6M", "5M", "4M"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], falseswipe: ["9M", "7M", "6M", "5M", "4M"], @@ -46949,6 +48086,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M"], silverwind: ["4M"], sing: ["9L18", "7L18", "6L18", "5L18", "4L18"], + skittersmack: ["9M"], slash: ["9L26", "7L26", "6L26", "5L26", "4L26"], sleeptalk: ["9M", "7M", "6M", "5T", "4M"], snore: ["7T", "6T", "5T", "4T"], @@ -46964,7 +48102,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M", "9L38", "7M", "7L38", "6M", "6L38", "5M", "5L38", "4M", "4L38"], terablast: ["9M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], uproar: ["9M", "7T", "6T", "5T", "4T"], @@ -46983,11 +48121,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], crunch: ["9M", "9L36", "8M", "8L36", "7L33", "6L33", "5L33", "4L29"], discharge: ["9L40", "8L40", "7L41", "6L41", "5L41", "4L41"], + doubleedge: ["9M"], doublekick: ["9E", "8E", "7E", "6E", "5E"], doubleteam: ["7M", "6M", "5M", "4M"], eerieimpulse: ["9M", "8M", "7E", "6E"], electricterrain: ["9M"], electroball: ["9M", "8M"], + electroweb: ["9M"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], faketears: ["9M", "8M", "7E", "6E"], @@ -47056,10 +48196,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], crunch: ["9M", "9L48", "8M", "8L48", "7L38", "6L38", "5L38", "4L33"], discharge: ["9L54", "8L54", "7L48", "6L48", "5L48", "4L48"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], eerieimpulse: ["9M", "8M"], electricterrain: ["9M"], electroball: ["9M", "8M"], + electroweb: ["9M"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], faketears: ["9M", "8M"], @@ -47127,10 +48269,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], crunch: ["9M", "9L56", "8M", "8L56", "7L42", "6L42", "5L42", "4L35"], discharge: ["9L64", "8L64", "7L56", "6L56", "5L56", "4L56"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], eerieimpulse: ["9M", "8M"], electricterrain: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], electroball: ["9M", "8M"], + electroweb: ["9M"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], faketears: ["9M", "8M"], @@ -47171,6 +48315,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { strength: ["6M", "5M", "4M"], substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], sunnyday: ["9M"], + supercellslam: ["9M"], superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["9L72", "8L72", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28"], swift: ["9M", "8M", "4T"], @@ -47178,7 +48323,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], thunderfang: ["9M", "8M", "7L35", "6L35", "5L35", "4L35"], @@ -47192,85 +48337,91 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, cranidos: { learnset: { - ancientpower: ["7L33", "6L33", "5L33", "4T", "4L28"], - assurance: ["7L24", "6L24", "5L24", "4L24"], + ancientpower: ["9L33", "7L33", "6L33", "5L33", "4T", "4L28"], + assurance: ["9L24", "7L24", "6L24", "5L24", "4L24"], attract: ["7M", "6M", "5M", "4M"], - blizzard: ["7M", "6M", "5M", "4M"], - bulldoze: ["7M", "6M", "5M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], chipaway: ["7L28", "6L28", "5L28"], confide: ["7M", "6M"], - crunch: ["7E", "6E", "5E", "5S0", "4E"], - curse: ["7E", "6E", "5E", "4E"], - dig: ["6M", "5M", "4M"], - doubleedge: ["7E", "6E", "5E", "4E"], + crunch: ["9M", "7E", "6E", "5E", "5S0", "4E"], + curse: ["9M", "7E", "6E", "5E", "4E"], + dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], - dragonpulse: ["7T", "6T", "5T", "4M"], - earthpower: ["7T", "6T", "5T", "4T"], - earthquake: ["7M", "6M", "5M", "4M"], - endeavor: ["7T", "6T", "5T", "4T"], - endure: ["4M"], - facade: ["7M", "6M", "5M", "4M"], - fireblast: ["7M", "6M", "5M", "4M"], - firepunch: ["7T", "6T", "5T", "5D", "4T"], - flamethrower: ["7M", "6M", "5M", "4M"], - fling: ["7M", "6M", "5M", "4M"], - focusenergy: ["7L6", "6L6", "5L6", "4L6"], + dragoncheer: ["9M"], + dragonpulse: ["9M", "7T", "6T", "5T", "4M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "7T", "6T", "5T", "5D", "4T"], + flamethrower: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L6", "7L6", "6L6", "5L6", "4L6"], frustration: ["7M", "6M", "5M", "4M"], - hammerarm: ["7E", "6E", "5E", "4E"], - headbutt: ["7L1", "6L1", "5L1", "5D", "5S0", "4T", "4L1"], - headsmash: ["7L46", "6L46", "5L46", "4L43"], + hammerarm: ["9E", "7E", "6E", "5E", "4E"], + headbutt: ["9L1", "7L1", "6L1", "5L1", "5D", "5S0", "4T", "4L1"], + headsmash: ["9L46", "7L46", "6L46", "5L46", "4L43"], hiddenpower: ["7M", "6M", "5M", "4M"], - icebeam: ["7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], incinerate: ["6M", "5M"], - ironhead: ["7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T"], + ironhead: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T"], irontail: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], - leer: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], - mudslap: ["4T"], + leer: ["9L1", "7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + mudslap: ["9M", "4T"], naturalgift: ["4M"], payback: ["7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["7M", "6M", "5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], pursuit: ["7L10", "6L10", "5L10", "5S0", "4L10"], - raindance: ["7M", "6M", "5M", "4M"], - rest: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], - roar: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockblast: ["9M"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["7M", "6M", "5M", "4M"], - rocksmash: ["6M", "5M", "4M"], - rocktomb: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["9L10", "6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], round: ["7M", "6M", "5M"], - sandstorm: ["7M", "6M", "5M", "4M"], - scaryface: ["7L19", "6L19", "5L19", "4L19"], - screech: ["7L42", "6L42", "5L42", "4L37"], + sandstorm: ["9M", "7M", "6M", "5M", "4M"], + scaryface: ["9M", "9L19", "7L19", "6L19", "5L19", "4L19"], + screech: ["9L42", "7L42", "6L42", "5L42", "4L37"], secretpower: ["6M", "4M"], shockwave: ["7T", "6T", "4M"], - slam: ["7E", "6E", "5E", "4E"], - sleeptalk: ["7M", "6M", "5T", "4M"], - smackdown: ["7M", "6M", "5M"], + slam: ["9L28", "7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], snore: ["7T", "6T", "5T", "4T"], spite: ["7T", "6T", "5T", "4T"], - stealthrock: ["7T", "6T", "5T", "4M"], - stomp: ["7E", "6E", "5E", "4E"], - stoneedge: ["7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stomp: ["9E", "7E", "6E", "5E", "4E"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M"], - substitute: ["7M", "6M", "5M", "4M"], - sunnyday: ["7M", "6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], superpower: ["7T", "6T", "5T", "4T"], swagger: ["7M", "6M", "5M", "4M"], - swordsdance: ["7M", "6M", "5M", "4M"], - takedown: ["7L15", "6L15", "5L15", "5S0", "4L15"], - thief: ["7M", "6M", "5M", "4M"], - thrash: ["7E", "6E", "5E", "4E"], - thunder: ["7M", "6M", "5M", "4M"], - thunderbolt: ["7M", "6M", "5M", "4M"], - thunderpunch: ["7T", "6T", "5T", "4T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + takedown: ["9M", "9L15", "7L15", "6L15", "5L15", "5S0", "4L15"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + thrash: ["9E", "7E", "6E", "5E", "4E"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T"], toxic: ["7M", "6M", "5M", "4M"], - uproar: ["7T", "6T", "5T", "4T"], - whirlwind: ["7E", "6E", "5E", "4E"], - zenheadbutt: ["7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L33"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + whirlwind: ["9E", "7E", "6E", "5E", "4E"], + zenheadbutt: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L33"], }, eventData: [ {generation: 5, level: 15, gender: "M", moves: ["pursuit", "takedown", "crunch", "headbutt"], pokeball: "cherishball"}, @@ -47278,163 +48429,185 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, rampardos: { learnset: { - ancientpower: ["7L36", "6L36", "5L36", "4T", "4L28"], - assurance: ["7L24", "6L24", "5L24", "4L24"], + ancientpower: ["9L36", "7L36", "6L36", "5L36", "4T", "4L28"], + assurance: ["9L24", "7L24", "6L24", "5L24", "4L24"], attract: ["7M", "6M", "5M", "4M"], - avalanche: ["4M"], - blizzard: ["7M", "6M", "5M", "4M"], - brickbreak: ["7M", "6M", "5M", "4M"], - bulldoze: ["7M", "6M", "5M"], + avalanche: ["9M", "4M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bodypress: ["9M"], + bodyslam: ["9M"], + breakingswipe: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], chipaway: ["7L28", "6L28", "5L28"], confide: ["7M", "6M"], + crunch: ["9M"], + curse: ["9M"], cut: ["6M", "5M", "4M"], - dig: ["6M", "5M", "4M"], + dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], - dragonpulse: ["7T", "6T", "5T", "4M"], - dragontail: ["7M", "6M", "5M"], - earthpower: ["7T", "6T", "5T", "4T"], - earthquake: ["7M", "6M", "5M", "4M"], - endeavor: ["7T", "7L1", "6T", "6L30", "5T", "5L30", "4T", "4L30"], - endure: ["4M"], - facade: ["7M", "6M", "5M", "4M"], - fireblast: ["7M", "6M", "5M", "4M"], - firepunch: ["7T", "6T", "5T", "4T"], - flamethrower: ["7M", "6M", "5M", "4M"], - fling: ["7M", "6M", "5M", "4M"], - focusblast: ["7M", "6M", "5M", "4M"], - focusenergy: ["7L1", "6L6", "5L6", "4L6"], - focuspunch: ["7T", "6T", "4M"], + dragoncheer: ["9M"], + dragonclaw: ["9M"], + dragonpulse: ["9M", "7T", "6T", "5T", "4M"], + dragontail: ["9M", "7M", "6M", "5M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + endeavor: ["9M", "9L0", "7T", "7L1", "6T", "6L30", "5T", "5L30", "4T", "4L30"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "7T", "6T", "5T", "4T"], + flamethrower: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "7L1", "6L6", "5L6", "4L6"], + focuspunch: ["9M", "7T", "6T", "4M"], frustration: ["7M", "6M", "5M", "4M"], - gigaimpact: ["7M", "6M", "5M", "4M"], - headbutt: ["7L1", "6L1", "5L1", "4T", "4L1"], - headsmash: ["7L58", "6L58", "5L58", "4L52"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["9L1", "7L1", "6L1", "5L1", "4T", "4L1"], + headsmash: ["9L58", "7L58", "6L58", "5L58", "4L52"], + heavyslam: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M"], - hyperbeam: ["7M", "6M", "5M", "4M"], - icebeam: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], incinerate: ["6M", "5M"], - ironhead: ["7T", "6T", "5T", "4T"], + ironhead: ["9M", "7T", "6T", "5T", "4T"], irontail: ["7T", "6T", "5T", "4M"], laserfocus: ["7T"], - leer: ["7L1", "6L1", "5L1", "4L1"], - mudslap: ["4T"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1"], + mudslap: ["9M", "4T"], naturalgift: ["4M"], - outrage: ["7T", "6T", "5T", "4T"], + outrage: ["9M", "7T", "6T", "5T", "4T"], painsplit: ["7T", "6T", "5T", "4T"], payback: ["7M", "6M", "5M", "4M"], poweruppunch: ["6M"], - protect: ["7M", "6M", "5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], pursuit: ["7L1", "6L10", "5L10", "4L10"], - raindance: ["7M", "6M", "5M", "4M"], - rest: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], - roar: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockblast: ["9M"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["7M", "6M", "5M", "4M"], - rocksmash: ["6M", "5M", "4M"], - rocktomb: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["9L10", "6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], round: ["7M", "6M", "5M"], - sandstorm: ["7M", "6M", "5M", "4M"], - scaryface: ["7L19", "6L19", "5L19", "4L19"], - screech: ["7L51", "6L51", "5L51", "4L43"], + sandstorm: ["9M", "7M", "6M", "5M", "4M"], + scaryface: ["9M", "9L19", "7L19", "6L19", "5L19", "4L19"], + screech: ["9L51", "7L51", "6L51", "5L51", "4L43"], secretpower: ["6M", "4M"], shockwave: ["7T", "6T", "4M"], - sleeptalk: ["7M", "6M", "5T", "4M"], - smackdown: ["7M", "6M", "5M"], + slam: ["9L28"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], snore: ["7T", "6T", "5T", "4T"], spite: ["7T", "6T", "5T", "4T"], - stealthrock: ["7T", "6T", "5T", "4M"], - stompingtantrum: ["7T"], - stoneedge: ["7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M"], - substitute: ["7M", "6M", "5M", "4M"], - sunnyday: ["7M", "6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + supercellslam: ["9M"], superpower: ["7T", "6T", "5T", "4T"], - surf: ["7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], swagger: ["7M", "6M", "5M", "4M"], - swordsdance: ["7M", "6M", "5M", "4M"], - takedown: ["7L15", "6L15", "5L15", "4L15"], - thief: ["7M", "6M", "5M", "4M"], - thunder: ["7M", "6M", "5M", "4M"], - thunderbolt: ["7M", "6M", "5M", "4M"], - thunderpunch: ["7T", "6T", "5T", "4T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + takedown: ["9M", "9L15", "7L15", "6L15", "5L15", "4L15"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T"], toxic: ["7M", "6M", "5M", "4M"], - uproar: ["7T", "6T", "5T", "4T"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], whirlpool: ["4M"], - zenheadbutt: ["7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L36"], + zenheadbutt: ["9M", "9L43", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L36"], }, }, shieldon: { learnset: { - ancientpower: ["7L28", "6L28", "5L28", "4T", "4L28"], + ancientpower: ["9L28", "7L28", "6L28", "5L28", "4T", "4L28"], attract: ["7M", "6M", "5M", "4M"], - blizzard: ["7M", "6M", "5M", "4M"], - bodyslam: ["7E", "6E", "5E", "5S0", "4E"], - bulldoze: ["7M", "6M", "5M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M", "7E", "6E", "5E", "5S0", "4E"], + bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], - counter: ["7E", "6E", "5E", "5D", "4E"], - curse: ["7E", "6E", "5E", "4E"], - dig: ["6M", "5M", "4M"], - doubleedge: ["7E", "6E", "5E", "4E"], + counter: ["9E", "7E", "6E", "5E", "5D", "4E"], + curse: ["9M", "7E", "6E", "5E", "4E"], + dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], - earthpower: ["7T", "6T", "5T", "4T"], - earthquake: ["7M", "6M", "5M", "4M"], - endure: ["7L33", "6L33", "5L33", "4M", "4L33"], - facade: ["7M", "6M", "5M", "4M"], - fireblast: ["7M", "6M", "5M", "4M"], - fissure: ["7E", "6E", "5E", "5D", "4E"], - flamethrower: ["7M", "6M", "5M", "4M"], - flashcannon: ["7M", "6M", "5M", "4M"], - focusenergy: ["7E", "6E", "5E", "4E"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + endure: ["9M", "9L33", "7L33", "6L33", "5L33", "4M", "4L33"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "7M", "6M", "5M", "4M"], + fissure: ["9E", "7E", "6E", "5E", "5D", "4E"], + flamethrower: ["9M", "7M", "6M", "5M", "4M"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9E", "7E", "6E", "5E", "4E"], frustration: ["7M", "6M", "5M", "4M"], - guardsplit: ["7E", "6E"], - headbutt: ["7E", "6E", "5E", "4T", "4E"], - heavyslam: ["7L46", "6L46", "5L46"], + guardsplit: ["9E", "7E", "6E"], + hardpress: ["9M"], + headbutt: ["9E", "7E", "6E", "5E", "4T", "4E"], + heavyslam: ["9M", "9L46", "7L46", "6L46", "5L46"], hiddenpower: ["7M", "6M", "5M", "4M"], - icebeam: ["7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], incinerate: ["6M", "5M"], - irondefense: ["7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19"], - ironhead: ["7T", "7L42", "6T", "6L42", "5T", "5L42", "4T", "4L43"], + irondefense: ["9M", "9L19", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19"], + ironhead: ["9M", "9L42", "7T", "7L42", "6T", "6L42", "5T", "5L42", "4T", "4L43"], irontail: ["7T", "6T", "5T", "4M"], magnetrise: ["7T", "6T", "5T", "4T"], - metalburst: ["7L37", "6L37", "5L37", "4L37"], - metalsound: ["7L10", "6L10", "5L10", "5S0", "4L10"], - mudslap: ["4T"], + metalburst: ["9L37", "7L37", "6L37", "5L37", "4L37"], + metalsound: ["9M", "9L10", "7L10", "6L10", "5L10", "5S0", "4L10"], + mudslap: ["9M", "4T"], naturalgift: ["4M"], - protect: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "5D", "5S0", "4M", "4L1"], - raindance: ["7M", "6M", "5M", "4M"], - rest: ["7M", "6M", "5M", "4M"], + powergem: ["9M"], + protect: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "5D", "5S0", "4M", "4L1"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], - roar: ["7M", "6M", "5M", "4M"], - rockblast: ["7E", "6E", "5E", "4E"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockblast: ["9M", "7E", "6E", "5E", "4E"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], - rocktomb: ["7M", "6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], round: ["7M", "6M", "5M"], - sandstorm: ["7M", "6M", "5M", "4M"], - scaryface: ["7E", "6E", "5E", "4E"], - screech: ["7E", "6E", "5E", "4E"], + sandstorm: ["9M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M"], + scaryface: ["9M", "7E", "6E", "5E", "4E"], + scorchingsands: ["9M"], + screech: ["9E", "7E", "6E", "5E", "4E"], secretpower: ["6M", "4M"], shockwave: ["7T", "6T", "4M"], - sleeptalk: ["7M", "6M", "5T", "4M"], - smackdown: ["7M", "6M", "5M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], snore: ["7T", "6T", "5T", "4T"], - stealthrock: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], - stoneedge: ["7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + steelbeam: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M"], - substitute: ["7M", "6M", "5M", "4M"], - sunnyday: ["7M", "6M", "5M", "4M"], - swagger: ["7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], - tackle: ["7L1", "6L1", "5L1", "4L1"], - takedown: ["7L15", "6L15", "5L15", "5S0", "4L15"], - taunt: ["7M", "7L6", "6M", "6L6", "5M", "5L6", "4M", "4L6"], - thunder: ["7M", "6M", "5M", "4M"], - thunderbolt: ["7M", "6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["9L24", "7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L15", "7L15", "6L15", "5L15", "5S0", "4L15"], + taunt: ["9M", "9L6", "7M", "7L6", "6M", "6L6", "5M", "5L6", "4M", "4L6"], + terablast: ["9M"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], torment: ["7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], wideguard: ["7E", "6E", "5E"], }, eventData: [ @@ -47443,71 +48616,89 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, bastiodon: { learnset: { - ancientpower: ["7L28", "6L28", "5L28", "4T", "4L28"], + ancientpower: ["9L28", "7L28", "6L28", "5L28", "4T", "4L28"], attract: ["7M", "6M", "5M", "4M"], - avalanche: ["4M"], - blizzard: ["7M", "6M", "5M", "4M"], - block: ["7T", "7L1", "6T", "6L30", "5T", "5L30", "4T", "4L30"], - bulldoze: ["7M", "6M", "5M"], + avalanche: ["9M", "4M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + block: ["9L0", "7T", "7L1", "6T", "6L30", "5T", "5L30", "4T", "4L30"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], - dig: ["6M", "5M", "4M"], + curse: ["9M"], + dig: ["9M", "6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], - earthpower: ["7T", "6T", "5T", "4T"], - earthquake: ["7M", "6M", "5M", "4M"], - endure: ["7L36", "6L36", "5L36", "4M", "4L36"], - facade: ["7M", "6M", "5M", "4M"], - fireblast: ["7M", "6M", "5M", "4M"], - flamethrower: ["7M", "6M", "5M", "4M"], - flashcannon: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + endure: ["9M", "9L36", "7L36", "6L36", "5L36", "4M", "4L36"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "7M", "6M", "5M", "4M"], + flamethrower: ["9M", "7M", "6M", "5M", "4M"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + foulplay: ["9M"], frustration: ["7M", "6M", "5M", "4M"], - gigaimpact: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + hardpress: ["9M"], headbutt: ["4T"], - heavyslam: ["7L58", "6L58", "5L58"], + heavyslam: ["9M", "9L58", "7L58", "6L58", "5L58"], hiddenpower: ["7M", "6M", "5M", "4M"], - hyperbeam: ["7M", "6M", "5M", "4M"], - icebeam: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], incinerate: ["6M", "5M"], - irondefense: ["7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19"], - ironhead: ["7T", "7L51", "6T", "6L51", "5T", "5L51", "4T", "4L52"], + irondefense: ["9M", "9L19", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19"], + ironhead: ["9M", "9L51", "7T", "7L51", "6T", "6L51", "5T", "5L51", "4T", "4L52"], irontail: ["7T", "6T", "5T", "4M"], magiccoat: ["7T", "6T", "5T", "4T"], magnetrise: ["7T", "6T", "5T", "4T"], - metalburst: ["7L43", "6L43", "5L43", "4L43"], - metalsound: ["7L1", "6L1", "5L1", "4L1"], - mudslap: ["4T"], + metalburst: ["9L43", "7L43", "6L43", "5L43", "4L43"], + metalsound: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + meteorbeam: ["9M"], + mudslap: ["9M", "4T"], naturalgift: ["4M"], - outrage: ["7T", "6T", "5T", "4T"], - protect: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], - raindance: ["7M", "6M", "5M", "4M"], - rest: ["7M", "6M", "5M", "4M"], + outrage: ["9M", "7T", "6T", "5T", "4T"], + powergem: ["9M"], + protect: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + reflect: ["9M"], + rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], - roar: ["7M", "6M", "5M", "4M"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockblast: ["9M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], - rocktomb: ["7M", "6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], round: ["7M", "6M", "5M"], - sandstorm: ["7M", "6M", "5M", "4M"], + sandstorm: ["9M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M"], + scaryface: ["9M"], + scorchingsands: ["9M"], secretpower: ["6M", "4M"], shockwave: ["7T", "6T", "4M"], - sleeptalk: ["7M", "6M", "5T", "4M"], - smackdown: ["7M", "6M", "5M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], snore: ["7T", "6T", "5T", "4T"], - stealthrock: ["7T", "6T", "5T", "4M"], - stompingtantrum: ["7T"], - stoneedge: ["7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M"], - substitute: ["7M", "6M", "5M", "4M"], - sunnyday: ["7M", "6M", "5M", "4M"], - swagger: ["7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], - tackle: ["7L1", "6L1", "5L1", "4L1"], - takedown: ["7L15", "6L15", "5L15", "4L15"], - taunt: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], - thunder: ["7M", "6M", "5M", "4M"], - thunderbolt: ["7M", "6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["9L24", "7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L15", "7L15", "6L15", "5L15", "4L15"], + taunt: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + terablast: ["9M"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], torment: ["7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + wideguard: ["9L1"], }, }, burmy: { @@ -47786,11 +48977,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { bugbite: ["9M", "9L1", "8L1", "7T", "7L13", "6T", "6L13", "5T", "5L13", "4T", "4L13"], bugbuzz: ["9M", "8M", "7L29", "6L29", "5L29"], dualwingbeat: ["8T"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1"], lunge: ["9M"], mudslap: ["4T"], ominouswind: ["4T"], + skittersmack: ["9M"], sleeptalk: ["9M"], snore: ["8M", "7T", "6T", "5T", "4T"], stringshot: ["4T"], @@ -47818,7 +49010,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bugbuzz: ["9M", "8M"], captivate: ["7L41", "6L41", "5L33", "4M", "4L33"], confide: ["7M", "6M"], - confuseray: ["9M", "9L1", "8L1", "7L1", "6L1", "5L7", "4L7"], + confuseray: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4L7"], crosspoison: ["8M"], cut: ["6M", "5M", "4M"], defendorder: ["9L40", "8L40", "7L17", "6L17", "5L13", "4L13"], @@ -47826,15 +49018,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { destinybond: ["9L44", "8L44", "7L1", "6L1", "5L43", "4L43"], doubleteam: ["7M", "6M", "5M", "4M"], dualwingbeat: ["9M", "8T"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], fellstinger: ["9L12", "8L12", "7L1", "6L1"], flash: ["6M", "5M", "4M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], - furycutter: ["9L4", "8L4", "7L5", "6L5", "5L9", "4T", "4L9"], - furyswipes: ["9L16", "8L16", "7L13", "6L13", "5L19", "4L19"], + furycutter: ["9L4", "8L4", "7L5", "6L5", "5L5", "4T", "4L9"], + furyswipes: ["9L16", "8L16", "7L13", "6L13", "5L13", "4L19"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], healorder: ["7L29", "6L29", "5L25", "4L25"], @@ -47851,12 +49043,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], ominouswind: ["4T"], pinmissile: ["8M"], - poisonsting: ["9L1", "8L1", "7L1", "6L1", "5L3", "4L3"], + poisonsting: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L3"], pollenpuff: ["9M"], pounce: ["9M"], powergem: ["9M", "9L32", "8M", "8L32", "7L25", "6L25", "5L21", "4L21"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], - pursuit: ["7L9", "6L9", "5L15", "4L15"], + psychicnoise: ["9M"], + pursuit: ["7L9", "6L9", "5L9", "4L15"], quash: ["7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -47870,7 +49063,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M", "4M"], signalbeam: ["7T", "6T", "5T", "4T"], silverwind: ["4M"], - slash: ["9L0", "8L0", "7L1", "6L21", "5L31", "4L31"], + skittersmack: ["9M"], + slash: ["9L0", "8L0", "7L1", "6L21", "5L21", "4L31"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], @@ -47900,6 +49094,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { aerialace: ["9M"], agility: ["9M"], + alluringvoice: ["9M"], attract: ["7M", "6M", "5M", "4M"], babydolleyes: ["9E", "7E"], bestow: ["7E", "6E", "5E"], @@ -47920,8 +49115,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M", "9L25", "7L25", "6L25", "5L25"], - electroweb: ["7T", "6T"], + electroweb: ["9M", "7T", "6T"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M", "9L17", "7L17", "6L17", "5L17", "4M", "4L17"], facade: ["9M", "7M", "6M", "5M", "4M"], faketears: ["9M", "9E", "7E", "6E", "5E", "4E"], @@ -47996,7 +49192,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M", "9L41", "7L41", "6L41", "5L28", "4L28"], aquajet: ["9L24", "7L24", "6L24", "5L21", "4L21"], aquaring: ["9E", "7E", "6E", "5E"], - aquatail: ["9L38", "7T", "7L38", "7E", "6T", "6L38", "6E", "5T", "5L55", "5E"], + aquatail: ["9L38", "7T", "7L38", "7E", "6T", "6L38", "6E", "5T", "5L38", "5E"], attract: ["7M", "6M", "5M", "4M"], batonpass: ["9M", "9E", "7E", "6E", "5E", "4E"], bite: ["9L18"], @@ -48046,7 +49242,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pursuit: ["7L18", "6L18", "5L10", "4L10"], quickattack: ["9L11", "7L11", "6L11", "5L3", "4L3"], raindance: ["9M", "7M", "6M", "5M", "4M"], - razorwind: ["7L35", "6L35", "5L45", "4L45"], + razorwind: ["7L35", "6L35", "5L35", "4L45"], rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], roar: ["9M"], @@ -48078,14 +49274,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "7T", "6T", "5D", "4M"], watersport: ["7L7", "6L7", "5L1", "5D", "4L1"], wavecrash: ["9L49"], - whirlpool: ["9L31", "7L31", "6L31", "5L36", "4M", "4L36"], + whirlpool: ["9M", "9L31", "7L31", "6L31", "5L31", "4M", "4L36"], }, }, floatzel: { learnset: { agility: ["9M", "9L51", "7L51", "6L51", "5L29", "4L29"], aquajet: ["9L24", "7L24", "6L24", "5L21", "4L21"], - aquatail: ["9L46", "7T", "7L46", "6T", "6L46", "5T", "5L62", "4T"], + aquatail: ["9L46", "7T", "7L46", "6T", "6L46", "5T", "5L46", "4T"], attract: ["7M", "6M", "5M", "4M"], batonpass: ["9M"], bite: ["9L18"], @@ -48097,9 +49293,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], confide: ["7M", "6M"], - crunch: ["9M", "9L1", "7L1", "6L1", "5L26", "4L26"], + crunch: ["9M", "9L1", "7L1", "6L1", "5L1", "4L26"], dig: ["9M", "6M", "5M", "4M"], dive: ["6M", "5M", "4T"], + doubleedge: ["9M"], doublehit: ["9L29", "7L29", "6L29", "5L29"], doubleteam: ["7M", "6M", "5M", "4M"], echoedvoice: ["7M", "6M", "5M"], @@ -48128,6 +49325,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowkick: ["9M", "7T", "6T", "5T", "4T"], lowsweep: ["9M"], metronome: ["9M"], + muddywater: ["9M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], payback: ["7M", "6M", "5M", "4M"], @@ -48136,7 +49334,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pursuit: ["7L18", "6L18", "5L10", "4L10"], quickattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], raindance: ["9M", "7M", "6M", "5M", "4M"], - razorwind: ["7L41", "6L41", "5L50", "4L50"], + razorwind: ["7L41", "6L41", "5L41", "4L50"], rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], roar: ["9M", "7M", "6M", "5M", "4M"], @@ -48167,7 +49365,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "7T", "6T", "4M"], watersport: ["7L1", "6L1", "5L1", "4L1"], wavecrash: ["9L62"], - whirlpool: ["9L35", "7L35", "6L35", "5L39", "4M", "4L39"], + whirlpool: ["9M", "9L35", "7L35", "6L35", "5L35", "4M", "4L39"], }, encounters: [ {generation: 4, level: 22}, @@ -48311,7 +49509,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { clearsmog: ["9E", "8E", "7E", "6E", "5E"], confide: ["7M", "6M"], counter: ["9E", "8E", "7E", "6E", "5E", "4E"], - curse: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], dive: ["8M", "6M", "5M", "4T"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "9L35", "8M", "8L35", "7T", "6T", "5T", "4T"], @@ -48333,12 +49531,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mirrorcoat: ["9E", "8E", "7E", "6E", "5E", "4E"], mist: ["9E", "8E", "7E", "6E", "5E"], mudbomb: ["7L11", "6L11", "5L11", "4L11"], - muddywater: ["9L31", "8M", "8L31", "7L37", "6L37", "5L37", "4L37"], + muddywater: ["9M", "9L31", "8M", "8L31", "7L37", "6L37", "5L37", "4L37"], mudshot: ["9M", "8M"], mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4T", "4L1"], mudsport: ["7L2", "6L2", "5L2", "4L2"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], raindance: ["9M", "9L40", "8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], recover: ["9L10", "8L10", "7L46", "6L46", "5L46", "4L46"], @@ -48350,7 +49548,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M"], scald: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "5D", "4M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], sludge: ["9E", "8E", "7E", "6E", "5E", "4E"], snore: ["8M", "7T", "6T", "5T", "4T"], @@ -48371,7 +49569,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M"], watergun: ["9L1", "8L1"], waterpulse: ["9M", "9L15", "8L15", "7T", "7L7", "6T", "6L7", "5L7", "4M", "4L7"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], yawn: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], }, }, @@ -48388,6 +49586,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], confide: ["7M", "6M"], + curse: ["9M"], dig: ["9M", "8M", "6M", "5M", "4M"], dive: ["8M", "6M", "5M", "4T"], doubleteam: ["7M", "6M", "5M", "4M"], @@ -48411,12 +49610,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M"], memento: ["9L53", "8L53"], mudbomb: ["7L11", "6L11", "5L11", "4L11"], - muddywater: ["9L33", "8M", "8L33", "7L41", "6L41", "5L41", "4L41"], + muddywater: ["9M", "9L33", "8M", "8L33", "7L41", "6L41", "5L41", "4L41"], mudshot: ["9M", "8M"], mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1"], mudsport: ["7L1", "6L1", "5L1", "4L1"], naturalgift: ["4M"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], protect: ["9M", "8M", "7M", "7S0", "6M", "5M", "4M"], raindance: ["9M", "9L46", "8M", "8L46", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], recover: ["9L1", "8L1", "7L54", "7S0", "6L54", "5L54", "4L54"], @@ -48431,10 +49630,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "8M"], scald: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T"], snowscape: ["9M"], spikes: ["9M"], @@ -48453,7 +49652,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1"], waterpulse: ["9M", "9L15", "8L15", "7T", "7L1", "6T", "6L1", "5L1", "4M", "4L1"], weatherball: ["9M", "8M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], }, eventData: [ {generation: 7, level: 50, gender: "F", nature: "Modest", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["earthpower", "icebeam", "recover", "protect"], pokeball: "cherishball"}, @@ -48464,16 +49663,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, gastrodoneast: { learnset: { - earthpower: ["9S2", "8S1", "8S0"], + earthpower: ["9S3", "9S2", "8S1", "8S0"], icebeam: ["9S2", "8S1", "8S0"], - protect: ["9S2", "8S1", "8S0"], + icywind: ["9S3"], + protect: ["9S3", "9S2", "8S1", "8S0"], surf: ["8S0"], - yawn: ["9S2", "8S1"], + yawn: ["9S3", "9S2", "8S1"], }, eventData: [ {generation: 8, level: 50, gender: "F", nature: "Quiet", abilities: ["stormdrain"], ivs: {hp: 31, atk: 2, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["protect", "surf", "icebeam", "earthpower"], pokeball: "cherishball"}, {generation: 8, level: 50, gender: "F", nature: "Sassy", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["protect", "yawn", "icebeam", "earthpower"], pokeball: "cherishball"}, {generation: 9, level: 50, gender: "M", nature: "Bold", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 8}, moves: ["protect", "yawn", "icebeam", "earthpower"], pokeball: "cherishball"}, + {generation: 9, level: 50, gender: "F", nature: "Calm", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 8}, moves: ["protect", "yawn", "icywind", "earthpower"], pokeball: "cherishball"}, ], encounters: [ {generation: 4, level: 20}, @@ -48486,7 +49687,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aircutter: ["9M", "4T"], allyswitch: ["8M", "7T"], amnesia: ["9M", "8M", "7L40", "6L40", "5L40"], - astonish: ["9L1", "8L1", "7L4", "6L4", "5L6", "4L6"], + astonish: ["9L1", "8L1", "7L4", "6L4", "5L4", "4L6"], attract: ["8M", "7M", "6M", "5M", "4M"], batonpass: ["9M", "9L36", "8M", "8L36", "7L44", "6L44", "5L38", "4L33"], bind: ["7T", "6T", "5T"], @@ -48498,6 +49699,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { clearsmog: ["9E", "8E", "7E", "6E", "5E"], confide: ["7M", "6M"], constrict: ["7L1", "6L1", "5L1", "4L1"], + curse: ["9M"], cut: ["6M", "5M", "4M"], defog: ["9E", "8E", "7T", "7E", "6E", "5E", "4M"], destinybond: ["9L32", "8L32", "7E", "6E", "5E", "4E"], @@ -48510,9 +49712,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "8M", "7M", "6M", "5M", "4M"], flash: ["6M", "5M", "4M"], fly: ["9M"], - focusenergy: ["9L8", "8M", "8L8", "7L13", "6L13", "5L14", "4L14"], + focusenergy: ["9L8", "8M", "8L8", "7L13", "6L13", "5L13", "4L14"], frustration: ["7M", "6M", "5M", "4M"], - gust: ["9L4", "8L4", "7L8", "6L8", "5L11", "4L11"], + gust: ["9L4", "8L4", "7L8", "6L8", "5L8", "4L11"], gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], haze: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], helpinghand: ["9M"], @@ -48528,9 +49730,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["4T"], naturalgift: ["4M"], nightshade: ["9M"], - ominouswind: ["7L20", "6L20", "5L33", "4T", "4L30"], - painsplit: ["7T", "6T", "5T", "4T"], - payback: ["9L12", "8M", "8L12", "7M", "7L16", "6M", "6L16", "5M", "5L17", "4M", "4L17"], + ominouswind: ["7L20", "6L20", "5L20", "4T", "4L30"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], + payback: ["9L12", "8M", "8L12", "7M", "7L16", "6M", "6L16", "5M", "5L16", "4M", "4L17"], phantomforce: ["9M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psybeam: ["9M"], @@ -48544,7 +49746,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M"], selfdestruct: ["9L29", "8M", "8L29"], - shadowball: ["9M", "9L20", "8M", "8L20", "7M", "7L36", "6M", "6L36", "5M", "5L43", "4M", "4L38"], + shadowball: ["9M", "9L20", "8M", "8L20", "7M", "7L36", "6M", "6L36", "5M", "5L36", "4M", "4L38"], shockwave: ["7T", "6T", "4M"], silverwind: ["4M"], skillswap: ["9M", "8M", "7T", "6T", "5T", "5D", "4M"], @@ -48552,7 +49754,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snore: ["8M", "7T", "6T", "5T", "4T"], spite: ["9M", "7T", "6T", "5T", "4T"], spitup: ["9L24", "8L24", "7L32", "6L32", "5L30", "4L27"], - stockpile: ["9L24", "8L24", "7L25", "6L25", "5L27", "4L22"], + stockpile: ["9L24", "8L24", "7L25", "6L25", "5L25", "4L22"], storedpower: ["9M"], substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], suckerpunch: ["4T"], @@ -48562,6 +49764,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "4T"], tailwind: ["9M", "9L40", "8L40", "7T", "7E", "6T", "6E", "5T", "4T"], telekinesis: ["7T", "5M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -48593,6 +49796,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["7M", "6M", "5M", "4M"], confide: ["7M", "6M"], constrict: ["7L1", "6L1", "5L1", "4L1"], + curse: ["9M"], cut: ["6M", "5M", "4M"], defog: ["7T", "4M"], destinybond: ["9L36", "8L36"], @@ -48605,7 +49809,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flash: ["6M", "5M", "4M"], fling: ["9M"], fly: ["9M", "8M", "7M", "6M", "5M", "4M"], - focusenergy: ["9L1", "8M", "8L1", "7L13", "6L13", "5L14", "4L14"], + focusenergy: ["9L1", "8M", "8L1", "7L13", "6L13", "5L13", "4L14"], frustration: ["7M", "6M", "5M", "4M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], @@ -48623,9 +49827,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["4T"], naturalgift: ["4M"], nightshade: ["9M"], - ominouswind: ["7L20", "6L20", "5L37", "4T", "4L32"], - painsplit: ["7T", "6T", "5T", "4T"], - payback: ["9L12", "8M", "8L12", "7M", "7L16", "6M", "6L16", "5M", "5L17", "4M", "4L17"], + ominouswind: ["7L20", "6L20", "5L20", "4T", "4L32"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], + payback: ["9L12", "8M", "8L12", "7M", "7L16", "6M", "6L16", "5M", "5L16", "4M", "4L17"], phantomforce: ["9M", "9L0", "8M", "8L0", "7L1", "6L1"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psybeam: ["9M"], @@ -48639,7 +49843,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], secretpower: ["6M", "4M"], selfdestruct: ["9L31", "8M", "8L31"], - shadowball: ["9M", "9L20", "8M", "8L20", "7M", "7L40", "6M", "6L40", "5M", "5L51", "4M", "4L44"], + shadowball: ["9M", "9L20", "8M", "8L20", "7M", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L44"], shockwave: ["7T", "6T", "4M"], silverwind: ["4M"], skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], @@ -48647,7 +49851,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snore: ["8M", "7T", "6T", "5T", "4T"], spite: ["9M", "7T", "6T", "5T", "4T"], spitup: ["9L24", "8L24", "7L34", "6L34", "5L32", "4L27"], - stockpile: ["9L24", "8L24", "7L25", "6L25", "5L27", "4L22"], + stockpile: ["9L24", "8L24", "7L25", "6L25", "5L25", "4L22"], storedpower: ["9M"], strengthsap: ["9L1", "8L1"], substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -48658,6 +49862,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "4T"], tailwind: ["9M", "9L48", "8L48", "7T", "6T", "5T", "4T"], telekinesis: ["7T", "5M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -49045,7 +50250,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], defog: ["7T", "4M"], dig: ["9M", "8M", "6M", "5M", "4M"], - doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], endure: ["9M", "8M", "4M"], explosion: ["9L42", "8L45", "7M", "7L45", "6M", "6L49", "5M", "5L49", "4M", "4L44"], @@ -49099,6 +50304,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slash: ["9E", "8E", "7L25", "6L22", "5L22", "4L22"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + sludgewave: ["9M"], smog: ["9E", "8E", "7E", "6E", "5E", "4E"], smokescreen: ["9L6", "8L6", "7L13", "6L14", "5L14", "4L14"], snarl: ["9M", "8M", "7M", "6M", "5M"], @@ -49112,9 +50318,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailslap: ["8M"], takedown: ["9M"], taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], torment: ["7M", "6M", "5M", "4M"], toxic: ["9M", "9L27", "8L27", "7M", "7L27", "6M", "6L27", "5M", "5L27", "4M", "4L20"], toxicspikes: ["9M"], @@ -49140,7 +50347,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], defog: ["7T", "4M"], dig: ["9M", "8M", "6M", "5M", "4M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], + endeavor: ["9M"], endure: ["9M", "8M", "4M"], explosion: ["9L48", "8L53", "7M", "7L45", "6M", "6L61", "5M", "5L61", "4M", "4L52"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -49192,6 +50401,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { slash: ["7L25", "6L22", "5L22", "4L22"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + sludgewave: ["9M"], smokescreen: ["9L1", "8L1", "7L13", "6L14", "5L14", "4L14"], snarl: ["9M", "8M", "7M", "6M", "5M"], snatch: ["7T", "6T", "5T", "4M"], @@ -49206,9 +50416,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailslap: ["8M"], takedown: ["9M"], taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], torment: ["7M", "6M", "5M", "4M"], toxic: ["9M", "9L27", "8L27", "7M", "7L27", "6M", "6L27", "5M", "5L27", "4M", "4L20"], toxicspikes: ["9M"], @@ -49235,14 +50446,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["7M", "6M", "5M", "4M"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], endure: ["9M", "8M", "4M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], extrasensory: ["9L28", "8L28", "7L39", "6L39", "5L19", "4L19"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], feintattack: ["7L21", "6L21", "5L21", "4L41"], flash: ["6M", "5M", "4M"], flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], - futuresight: ["9L44", "8M", "8L44", "7L29", "6L29", "5L29", "4L37"], + futuresight: ["9M", "9L44", "8M", "8L44", "7L29", "6L29", "5L29", "4L37"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "9E", "7T", "6T", "5T", "5D", "4T"], guardswap: ["8M"], @@ -49258,15 +50469,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { irondefense: ["9M", "9L36", "8M", "8L36", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4L26"], ironhead: ["9M"], lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], - metalsound: ["9L40", "8L40", "7L31", "6L31", "5L31"], + metalsound: ["9M", "9L40", "8L40", "7L31", "6L31", "5L31"], naturalgift: ["4M"], - payback: ["9L8", "8M", "8L8", "7M", "7L41", "6M", "6L41", "5M", "5L49", "4M", "4L49"], + payback: ["9L8", "8M", "8L8", "7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L49"], powergem: ["9M"], powerswap: ["8M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], psychicterrain: ["9M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7L15", "6L15", "5L15"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -49326,7 +50537,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["7M", "6M", "5M", "4M"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], endure: ["9M", "8M", "4M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], explosion: ["7M", "6M", "5M", "4M"], extrasensory: ["9L28", "8L28", "7L42", "6L42", "5L19", "4L19"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -49334,12 +50545,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { flash: ["6M", "5M", "4M"], flashcannon: ["9M", "9S1", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], - futuresight: ["9L50", "8M", "8L50", "7L29", "6L29", "5L29", "4L43"], + futuresight: ["9M", "9L50", "8M", "8L50", "7L29", "6L29", "5L29", "4L43"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], guardswap: ["8M"], gyroball: ["9M", "9L16", "9S1", "8M", "8L16", "7M", "7L36", "6M", "6L36", "5M", "5L36", "4M", "4L38"], + hardpress: ["9M"], healblock: ["7L52", "6L52", "5L52", "4L67"], heavyslam: ["9M", "9L32", "8M", "8L32", "7L58", "6L58", "5L58"], helpinghand: ["9M"], @@ -49352,8 +50564,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { irondefense: ["9M", "9L38", "9S0", "8M", "8L38", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4L26"], ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], - metalsound: ["9L44", "8L44", "7L31", "6L31", "5L31"], - meteorbeam: ["8T"], + metalsound: ["9M", "9L44", "8L44", "7L31", "6L31", "5L31"], + meteorbeam: ["9M", "8T"], naturalgift: ["4M"], nightshade: ["9M"], payback: ["9L1", "8M", "8L1", "7M", "7L46", "6M", "6L46", "5M", "5L46", "4M", "4L61"], @@ -49362,8 +50574,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "9S0", "8M", "7M", "6M", "5M", "4M"], psybeam: ["9M"], psychic: ["9M", "9S1", "8M", "7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "7M", "6M", "5M"], psywave: ["7L15", "6L15", "5L15"], raindance: ["9M", "9L56", "8M", "8L56", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], @@ -49492,7 +50705,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["7E", "6E", "5E", "4M"], confide: ["7M", "6M"], confuseray: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], - curse: ["9L40", "8L40", "7L1", "6L1", "5L1", "4L1"], + curse: ["9M", "9L40", "8L40", "7L1", "6L1", "5L1", "4L1"], darkpulse: ["9M", "9L50", "8M", "8L50", "7M", "7L49", "6M", "6L49", "5T", "5L49", "5S0", "4M", "4L49"], destinybond: ["9E", "8E", "7E", "6E", "5E", "4E"], disable: ["9E", "8E", "7E"], @@ -49522,7 +50735,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightmare: ["7E", "6E", "5E"], nightshade: ["9M", "9L1", "8L1"], ominouswind: ["7L25", "6L25", "5L25", "4T", "4L25"], - painsplit: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + painsplit: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], payback: ["9L15", "8M", "8L15"], phantomforce: ["9M", "8M"], poltergeist: ["9M", "8T"], @@ -49585,10 +50798,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], cut: ["6M", "5M", "4M"], dig: ["9M", "9L42", "8M", "8L42", "7L31", "6M", "6L31", "5M", "5L31", "4M", "4L31"], - doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["9L12", "8L12", "7E", "6E", "5E", "4E"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L36", "8M", "8L36", "7M", "7L27", "6M", "6L27", "5M", "5L27", "4M", "4L27"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], dragonrage: ["7L7", "6L7", "5L7", "5D", "4L7"], @@ -49631,7 +50845,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "9L1", "8M", "8L1", "7L19", "7E", "6L19", "6E", "5L19", "5E", "4L19", "4E"], scaleshot: ["9M", "8T"], scaryface: ["9M", "8M", "7E", "6E", "5E", "4E"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], slash: ["9L30", "8L30", "7L25", "6L25", "5L25", "4L25"], @@ -49660,15 +50874,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M", "6M", "5M", "4M"], bite: ["9L27", "8L27"], bodyslam: ["9M", "8M"], + breakingswipe: ["9M"], bulldoze: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], crunch: ["9M"], cut: ["6M", "5M", "4M"], dig: ["9M", "9L50", "8M", "8L50", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L40"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], dragonbreath: ["9L1", "8L1"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L42", "8M", "8L42", "7M", "7L33", "6M", "6L33", "5M", "5L33", "4M", "4L33"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], dragonrage: ["7L1", "6L7", "5L7", "4L7"], @@ -49714,7 +50931,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "9L1", "8M", "8L1", "7L19", "6L19", "5L19", "4L19"], scaleshot: ["9M", "8T"], scaryface: ["9M", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], slash: ["9L34", "8L34", "7L28", "6L28", "5L28", "4L28"], @@ -49743,7 +50960,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M", "6M", "5M", "4M"], bite: ["9L27", "8L27"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "7M", "6M", "6S4", "5M", "4M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M"], @@ -49752,9 +50969,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L0", "8M", "8L0", "7L1", "6L48", "6S2", "6S3", "5L48", "5S1", "4L48"], cut: ["6M", "5M", "4M"], dig: ["9M", "9L52", "8M", "8L52", "7L40", "6M", "6L40", "6S2", "6S3", "5M", "5L40", "5S1", "4M", "4L40"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dracometeor: ["9M", "8T", "7T", "6T", "6S2", "5T", "4T"], dragonbreath: ["9L1", "8L1"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L42", "8M", "8L42", "7M", "7L33", "6M", "6L33", "6S2", "6S3", "5M", "5L33", "5S1", "4M", "4L33"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], dragonrage: ["7L1", "6L1", "5L1", "4L1"], @@ -49805,7 +51024,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "9L1", "8M", "8L1", "7L19", "6L19", "5L19", "4L19"], scaleshot: ["9M", "8T"], scaryface: ["9M", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], slash: ["9L34", "8L34", "7L28", "6L28", "6S3", "5L28", "4L28"], @@ -49853,9 +51072,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], circlethrow: ["9E", "8E", "7E", "6E", "5E"], closecombat: ["9M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], - copycat: ["9L48", "8L48", "7L19", "6L19", "5L29", "4L29"], + copycat: ["9L48", "8L48", "7L19", "6L19", "5L19", "4L29"], counter: ["9L12", "8L12", "7L6", "6L6", "5L6", "4L6"], crosschop: ["9E", "8E", "7E", "6E", "5E", "4E"], crunch: ["9M", "8M", "7E", "6E", "5E", "4E"], @@ -49867,7 +51086,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], endure: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "5D", "4M", "4L1"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], - feint: ["9L4", "8L4", "7L11", "6L11", "5L15", "4L15"], + feint: ["9L4", "8L4", "7L11", "6L11", "5L11", "4L15"], finalgambit: ["9L52", "8L52", "7L50", "6L50", "5L55"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -49901,6 +51120,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], quickguard: ["9L32", "8L32"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -49932,6 +51152,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], + upperhand: ["9M"], vacuumwave: ["9M", "9L24", "8E", "7E", "6E", "5E", "4T", "4E"], workup: ["9L16", "8M", "8L16", "7M", "5M"], zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -49945,18 +51166,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["9M"], agility: ["9M", "8M"], attract: ["8M", "7M", "6M", "5M", "4M"], - aurasphere: ["9M", "9L0", "8M", "8L0", "8S6", "7L1", "7S5", "6L1", "6S4", "5L51", "4L37", "4S0"], + aurasphere: ["9M", "9L0", "9S7", "8M", "8L0", "8S6", "7L1", "7S5", "6L1", "6S4", "5L51", "4L37", "4S0"], blazekick: ["8M", "4S1"], bodyslam: ["9M"], bonerush: ["9L36", "8L36", "7L29", "6L29", "5L19", "4L19", "4S1"], brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], - bulletpunch: ["8S6", "5S2", "5S3"], + bulletpunch: ["9S7", "8S6", "5S2", "5S3"], calmmind: ["9M", "9L24", "8M", "8L24", "7M", "7L47", "6M", "6L47", "5M", "5L47", "4M"], captivate: ["4M"], closecombat: ["9M", "9L60", "8M", "8L60", "7L55", "6L1", "6S4", "5L55", "5S3", "4L42"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], copycat: ["9L1", "8L1"], counter: ["9L12", "8L12", "7L6", "6L6", "5L6", "5S2", "4L6"], @@ -49972,9 +51193,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["9M", "8M", "4M"], extremespeed: ["9L56", "8L56", "7L65", "7S5", "6L1", "5L65", "4L51"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], - feint: ["9L1", "8L1", "7L11", "6L11", "5L15", "4L15"], + feint: ["9L1", "8L1", "7L11", "6L11", "5L11", "4L15"], finalgambit: ["9L1", "8L1"], - flashcannon: ["9M", "8M", "7M", "6M", "6S4", "5M", "4M"], + flashcannon: ["9M", "9S7", "8M", "7M", "6M", "6S4", "5M", "4M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], focusenergy: ["8M"], @@ -49991,7 +51212,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { highjumpkick: ["7S5"], honeclaws: ["6M", "5M"], hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], - icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + icepunch: ["9M", "9S7", "8M", "7T", "6T", "5T", "4T"], irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "6T", "5T", "4M"], laserfocus: ["8L16", "7T", "7L1"], @@ -49999,11 +51220,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], lowsweep: ["9M", "8M", "7M", "6M", "5M"], magnetrise: ["7T", "6T", "5T", "4T"], - mefirst: ["7L37", "6L37", "5L29", "4L29"], + mefirst: ["7L37", "6L37", "5L19", "4L29"], megakick: ["8M"], megapunch: ["8M"], metalclaw: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "5S2", "4L1"], - metalsound: ["9L28", "8L28", "7L24", "6L24", "5L24", "4L24"], + metalsound: ["9M", "9L28", "8L28", "7L24", "6L24", "5L24", "4L24"], meteormash: ["9L48", "8L48"], metronome: ["9M"], mudslap: ["4T"], @@ -50014,6 +51235,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["8L20", "7L15", "6M", "6L15"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["9M"], quickattack: ["9L1", "8L1", "7L1", "6L1", "6S4", "5L1", "4L1"], quickguard: ["9L32", "8L32", "7L33", "6L33", "5L33"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -50050,6 +51272,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], toxic: ["7M", "6M", "5M", "4M"], trailblaze: ["9M"], + upperhand: ["9M"], vacuumwave: ["9M", "9L1", "4T"], waterpulse: ["9M", "7T", "6T", "4M", "4S0"], workup: ["9L16", "8M", "8L1", "7M", "7L42", "5M"], @@ -50063,6 +51286,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 100, nature: "Jolly", abilities: ["innerfocus"], moves: ["closecombat", "aurasphere", "flashcannon", "quickattack"], pokeball: "cherishball"}, {generation: 7, level: 40, gender: "M", nature: "Serious", abilities: ["steadfast"], moves: ["aurasphere", "highjumpkick", "dragonpulse", "extremespeed"], pokeball: "pokeball"}, {generation: 8, level: 80, gender: "M", nature: "Serious", abilities: ["innerfocus"], ivs: {hp: 31, atk: 30, def: 30, spa: 31, spd: 30, spe: 31}, moves: ["aurasphere", "bulletpunch", "reversal", "steelbeam"], pokeball: "pokeball"}, + {generation: 9, level: 75, shiny: true, gender: "M", nature: "Naive", abilities: ["innerfocus"], ivs: {hp: 31, atk: 31, def: 20, spa: 31, spd: 20, spe: 31}, moves: ["flashcannon", "bulletpunch", "aurasphere", "icepunch"], pokeball: "cherishball"}, ], }, hippopotas: { @@ -50076,9 +51300,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], crunch: ["9M", "9L20", "8M", "8L20", "7L31", "6L31", "5L31", "4L31"], - curse: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], dig: ["9M", "9L16", "8M", "8L16", "7L19", "6M", "6L19", "5M", "5L19", "4M", "4L19"], - doubleedge: ["9L44", "8L44", "7L44", "6L44", "5L44", "4L44"], + doubleedge: ["9M", "9L44", "8L44", "7L44", "6L44", "5L44", "4L44"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L40", "8M", "8L40", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L37"], @@ -50093,7 +51317,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { highhorsepower: ["9M", "8M"], icefang: ["9M"], irontail: ["8M", "7T", "6T", "5T", "4M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], @@ -50109,7 +51333,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], sandstorm: ["9M", "9L24", "8M", "8L24", "7M", "6M", "5M", "4M"], sandtomb: ["9M", "9L12", "8M", "8L12", "7L25", "7E", "6L25", "6E", "5L25", "5E", "4L25", "4E"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M"], slackoff: ["9L52", "8L52", "7E", "6E", "5E", "4E"], sleeptalk: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E", "4M"], @@ -50147,8 +51371,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], confide: ["7M", "6M"], crunch: ["9M", "9L20", "8M", "8L20", "7L31", "6L31", "5L31", "4L31"], + curse: ["9M"], dig: ["9M", "9L16", "8M", "8L16", "7L19", "6M", "6L19", "5M", "5L19", "4M", "4L19"], - doubleedge: ["9L50", "8L50", "7L50", "6L50", "5L50", "4L50"], + doubleedge: ["9M", "9L50", "8L50", "7L50", "6L50", "5L50", "4L50"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], earthquake: ["9M", "9L44", "8M", "8L44", "7M", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L40"], @@ -50158,6 +51383,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fissure: ["9L56", "8L56", "7L60", "6L60", "5L60", "4L60"], frustration: ["7M", "6M", "5M", "4M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hardpress: ["9M"], headbutt: ["4T"], heavyslam: ["9M", "8M"], helpinghand: ["9M"], @@ -50168,7 +51394,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], irontail: ["8M", "7T", "6T", "5T", "4M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], @@ -50184,7 +51410,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], sandstorm: ["9M", "9L24", "8M", "8L24", "7M", "6M", "5M", "4M"], sandtomb: ["9M", "9L12", "8M", "8L12", "7L25", "6L25", "5L25", "4L25"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M"], slackoff: ["9L62", "8L62"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], @@ -50209,7 +51435,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, skorupi: { learnset: { - acupressure: ["8L45", "7L13", "6L13", "5L17", "4L17"], + acupressure: ["8L45", "7L13", "6L13", "5L13", "4L17"], aerialace: ["7M", "6M", "5M", "4M"], agility: ["8M", "7E", "6E", "5E", "5D", "4E"], aquatail: ["7T", "6T", "5T", "5D", "4T"], @@ -50217,13 +51443,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M", "6M", "5M", "4M"], bite: ["8L12", "7L1", "6L1", "5L1", "5D", "4L1"], brickbreak: ["8M", "7M", "6M", "5M", "4M"], - bugbite: ["8L18", "7T", "7L20", "6T", "6L20", "5T", "5L34", "4T", "4L34"], + bugbite: ["8L18", "7T", "7L20", "6T", "6L20", "5T", "5L20", "4T", "4L34"], bugbuzz: ["8M"], captivate: ["4M"], confide: ["7M", "6M"], confuseray: ["8E", "7E", "6E", "5E", "4E"], - crosspoison: ["8M", "8L39", "7L49", "6L49", "5L61", "4L50"], - crunch: ["8M", "8L48", "7L45", "6L45", "5L56", "4L45"], + crosspoison: ["8M", "8L39", "7L49", "6L49", "5L49", "4L50"], + crunch: ["8M", "8L48", "7L45", "6L45", "5L45", "4L45"], cut: ["6M", "5M", "4M"], darkpulse: ["8M", "7M", "6M", "5T", "4M"], dig: ["8M", "6M", "5M", "4M"], @@ -50239,17 +51465,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { furycutter: ["4T"], headbutt: ["4T"], hiddenpower: ["7M", "6M", "5M", "4M"], - honeclaws: ["8L3", "7L30", "6M", "6L30", "5M", "5L45"], + honeclaws: ["8L3", "7L30", "6M", "6L30", "5M", "5L30"], infestation: ["7M", "6M"], irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], - knockoff: ["8L24", "7T", "7L5", "6T", "6L5", "5T", "5L6", "4T", "4L6"], + knockoff: ["8L24", "7T", "7L5", "6T", "6L5", "5T", "5L5", "4T", "4L6"], leer: ["8L1", "7L1", "6L1", "5L1", "4L1"], mudslap: ["4T"], naturalgift: ["4M"], nightslash: ["8L36", "7L38", "7E", "6L38", "6E", "5L38", "5E", "4E"], payback: ["8M", "7M", "6M", "5M", "4M"], - pinmissile: ["8M", "8L30", "7L9", "6L9", "5L12", "4L12"], - poisonfang: ["8L9", "7L23", "6L23", "5L39", "4L39"], + pinmissile: ["8M", "8L30", "7L9", "6L9", "5L9", "4L12"], + poisonfang: ["8L9", "7L23", "6L23", "5L23", "4L39"], poisonjab: ["8M", "7M", "6M", "5M", "4M"], poisonsting: ["8L1", "7L1", "6L1", "5L1", "4L1"], poisontail: ["7E", "6E", "5E"], @@ -50283,14 +51509,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["8L33", "7M", "6M", "5M", "4M"], toxicspikes: ["8M", "8L15", "7L34", "6L34", "5L28", "4L28"], twineedle: ["7E", "6E", "5E"], - venoshock: ["8M", "8L21", "7M", "7L27", "6M", "6L27", "5M", "5L50"], + venoshock: ["8M", "8L21", "7M", "7L27", "6M", "6L27", "5M", "5L27"], whirlwind: ["8E", "7E", "6E", "5E", "4E"], xscissor: ["8M", "8L42", "7M", "6M", "5M", "4M"], }, }, drapion: { learnset: { - acupressure: ["8L49", "7L13", "6L13", "5L17", "4L17"], + acupressure: ["8L49", "7L13", "6L13", "5L13", "4L17"], aerialace: ["7M", "6M", "5M", "4M"], agility: ["8M"], aquatail: ["7T", "6T", "5T", "4T"], @@ -50299,13 +51525,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["8L12", "7L1", "6L1", "5L1", "4L1"], brickbreak: ["8M", "7M", "6M", "5M", "4M"], brutalswing: ["8M", "7M"], - bugbite: ["8L18", "7T", "7L20", "6T", "6L20", "5T", "5L34", "4T", "4L34"], + bugbite: ["8L18", "7T", "7L20", "6T", "6L20", "5T", "5L20", "4T", "4L34"], bugbuzz: ["8M"], bulldoze: ["8M", "7M", "6M", "5M"], captivate: ["4M"], confide: ["7M", "6M"], - crosspoison: ["8M", "8L39", "7L57", "6L57", "5L73", "4L58"], - crunch: ["8M", "8L54", "7L49", "6L49", "5L65", "4L49"], + crosspoison: ["8M", "8L39", "7L57", "6L57", "5L57", "4L58"], + crunch: ["8M", "8L54", "7L49", "6L49", "5L49", "4L49"], cut: ["6M", "5M", "4M"], darkpulse: ["8M", "7M", "6M", "5T", "4M"], dig: ["8M", "6M", "5M", "4M"], @@ -50323,7 +51549,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["8M", "7M", "6M", "5M", "4M"], headbutt: ["4T"], hiddenpower: ["7M", "6M", "5M", "4M"], - honeclaws: ["8L1", "7L30", "6M", "6L30", "5M", "5L48"], + honeclaws: ["8L1", "7L30", "6M", "6L30", "5M", "5L30"], hyperbeam: ["8M", "7M", "6M", "5M", "4M"], icefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], infestation: ["7M", "6M"], @@ -50337,8 +51563,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightslash: ["8L36", "7L38", "6L38", "5L38"], payback: ["8M", "7M", "6M", "5M", "4M"], - pinmissile: ["8M", "8L30", "7L9", "6L9", "5L12", "4L1"], - poisonfang: ["8L9", "7L23", "6L23", "5L39", "4L39"], + pinmissile: ["8M", "8L30", "7L9", "6L9", "5L9", "4L1"], + poisonfang: ["8L9", "7L23", "6L23", "5L23", "4L39"], poisonjab: ["8M", "7M", "6M", "5M", "4M"], poisonsting: ["8L1", "7L1", "6L1", "5L1", "4L1"], protect: ["8M", "7M", "6M", "5M", "4M"], @@ -50378,7 +51604,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["8L33", "7M", "6M", "5M", "4M"], toxicspikes: ["8M", "8L15", "7L34", "6L34", "5L28", "4L28"], venomdrench: ["8M"], - venoshock: ["8M", "8L21", "7M", "7L27", "6M", "6L27", "5M", "5L56"], + venoshock: ["8M", "8L21", "7M", "7L27", "6M", "6L27", "5M", "5L27"], xscissor: ["8M", "8L44", "7M", "6M", "5M", "4M"], }, encounters: [ @@ -50403,7 +51629,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletpunch: ["9E", "8E", "7E", "6E", "5E", "4E"], captivate: ["4M"], chillingwater: ["9M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], counter: ["9E", "8E", "7E", "6E", "5E", "4E"], crosschop: ["9E", "8E", "7E", "6E", "5E", "4E"], @@ -50473,7 +51699,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], sludgebomb: ["9M", "9L44", "8M", "8L44", "7M", "7L45", "6M", "6L45", "5M", "5L45", "4M", "4L43"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], smellingsalts: ["7E", "6E", "5E", "4E"], snatch: ["7T", "6T", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], @@ -50491,6 +51717,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], torment: ["7M", "6M", "5M", "4M"], toxic: ["9M", "9L36", "8L36", "7M", "6M", "5M", "4M"], + upperhand: ["9M"], vacuumwave: ["9M", "9E", "8E", "7E", "6E", "5E", "4T", "4E"], venomdrench: ["8M"], venoshock: ["9M", "9L20", "8M", "8L20", "7M", "7L36", "6M", "6L36", "5M", "5L36"], @@ -50519,7 +51746,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], closecombat: ["9M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], corrosivegas: ["8T"], crosspoison: ["8M"], @@ -50586,7 +51813,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], sludgebomb: ["9M", "9L48", "8M", "8L48", "7M", "7L54", "6M", "6L54", "5M", "5L54", "4M", "4L49"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], snatch: ["7T", "6T", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], spite: ["9M", "7T", "6T", "5T", "4T"], @@ -50602,10 +51829,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L10", "6M", "6L10", "5M", "5L10", "4M", "4L10"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M", "4M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], torment: ["7M", "6M", "5M", "4M"], toxic: ["9M", "9L36", "8L36", "7M", "6M", "5M", "4M"], + upperhand: ["9M"], vacuumwave: ["9M", "4T"], venomdrench: ["8M"], venoshock: ["9M", "9L20", "8M", "8L20", "7M", "7L36", "6M", "6L36", "5M", "5L36"], @@ -50695,6 +51923,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { acrobatics: ["9M"], agility: ["9M", "9E", "7E", "6E", "5E", "4E"], aircutter: ["4T"], + alluringvoice: ["9M"], aquaring: ["9L33", "7L33", "6L33", "5L33", "4L33"], aquatail: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], attract: ["9L26", "7M", "7L10", "6M", "6L10", "5M", "5L10", "5D", "4M", "4L10"], @@ -50731,7 +51960,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pound: ["9L1", "7L1", "6L1", "5L1", "4L1"], protect: ["9M", "7M", "6M", "5M", "4M"], psybeam: ["9M", "9E", "7E", "6E", "5E", "4E"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], @@ -50761,7 +51990,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "7M", "6M", "5M", "4M"], watergun: ["9L6", "7L6", "6L6", "5L6", "4L6"], waterpulse: ["9M", "9L22", "7T", "7L22", "6T", "6L22", "5L22", "5D", "4M", "4L22"], - whirlpool: ["9L38", "7L38", "6L38", "5L38", "4M", "4L38"], + whirlpool: ["9M", "9L38", "7L38", "6L38", "5L38", "4M", "4L38"], }, }, lumineon: { @@ -50770,6 +51999,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M"], aircutter: ["9M", "4T"], airslash: ["9M"], + alluringvoice: ["9M"], aquaring: ["9L35", "7L35", "6L35", "5L35", "4L35"], aquatail: ["7T", "6T", "5T", "4T"], attract: ["9L26", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], @@ -50806,7 +52036,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pound: ["9L1", "7L1", "6L1", "5L1", "4L1"], protect: ["9M", "7M", "6M", "5M", "4M"], psybeam: ["9M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], @@ -50833,7 +52063,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "7M", "6M", "5M", "4M"], watergun: ["9L1", "7L1", "6L1", "5L1", "4L1"], waterpulse: ["9M", "9L22", "7T", "7L22", "6T", "6L22", "5L22", "4M", "4L22"], - whirlpool: ["9L42", "7L42", "6L42", "5L42", "4M", "4L42"], + whirlpool: ["9M", "9L42", "7L42", "6L42", "5L42", "4M", "4L42"], }, encounters: [ {generation: 4, level: 20}, @@ -50849,7 +52079,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], confide: ["7M", "6M"], - doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9M"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], doubleteam: ["7M", "6M", "5M", "4M"], endure: ["9M", "8M", "4M"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -50932,6 +52163,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { captivate: ["4M"], chillingwater: ["9M"], confide: ["7M", "6M"], + curse: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -50950,6 +52183,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { grasswhistle: ["7L13", "6L13", "5L13", "4L13"], grassyglide: ["9M", "8T"], hail: ["8M", "7M", "6M", "5M", "4M"], + hardpress: ["9M"], headbutt: ["4T"], helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M"], @@ -51032,7 +52266,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M", "8M"], electroball: ["9M", "9L20", "8M", "8L20", "7L43", "6L43", "5L43"], - electroweb: ["8M", "7T", "6T", "5T"], + electroweb: ["9M", "8M", "7T", "6T", "5T"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], flash: ["6M", "5M", "4M"], @@ -51048,7 +52282,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], nightshade: ["9M"], ominouswind: ["7L29", "6L29", "5L29", "4T", "4L29"], - painsplit: ["7T", "6T", "5T", "4T"], + painsplit: ["9M", "7T", "6T", "5T", "4T"], poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psychup: ["7M", "6M", "5M", "4M"], @@ -51135,7 +52369,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M", "8M"], endure: ["9M", "9L14", "8M", "8L14", "7L16", "6L16", "5L16", "4M", "4L16"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], - expandingforce: ["9L1", "8T"], + expandingforce: ["9M", "9L1", "8T"], extrasensory: ["9L35", "8L35", "7L50", "7S4", "6L50", "6S3", "5L51", "5S2", "4L51"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -51144,7 +52378,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M", "7M", "6M", "5M", "4M"], foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M", "4M"], - futuresight: ["9L63", "8M", "8L63", "8S5", "7L36", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], + futuresight: ["9M", "9L63", "8M", "8L63", "8S5", "7L36", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -51167,13 +52401,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { mysticalpower: ["9L84"], nastyplot: ["9M", "8M"], naturalgift: ["7L1", "6L1", "5L66", "4M", "4L66"], + painsplit: ["9M"], playrough: ["9M", "8M"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], psybeam: ["9M", "9L21", "8L21"], psychic: ["9M", "9L49", "8M", "8L49", "8S5", "7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], psychocut: ["9L1", "8M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], recycle: ["7T", "6T", "5T", "4M"], @@ -51238,6 +52474,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "4S0"], copycat: ["9L70", "8L70", "7L1", "6L1", "5L61", "5S2", "4L61"], dazzlinggleam: ["9M", "8M", "7M", "6M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], drainingkiss: ["9M", "8M", "8S5"], drainpunch: ["9M", "8M"], @@ -51245,7 +52482,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M", "8M"], endure: ["9M", "8M", "4M"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], - expandingforce: ["9L1", "8T"], + expandingforce: ["9M", "9L1", "8T"], extrasensory: ["9L35", "8L35", "7L50", "7S4", "6L50", "6S3", "5L51", "5S2", "4L51"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], @@ -51253,7 +52490,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flatter: ["9L56", "8L56"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], - futuresight: ["9L63", "8M", "8L63", "7L36", "7S4", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], + futuresight: ["9M", "9L63", "8M", "8L63", "7L36", "7S4", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], headbutt: ["4T"], @@ -51276,13 +52513,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { mysticalpower: ["9L84"], nastyplot: ["9M", "8M"], naturalgift: ["7L1", "6L1", "5L66", "4M", "4L66"], + painsplit: ["9M"], playrough: ["9M", "8M"], poweruppunch: ["6M"], protect: ["9M", "9L14", "8M", "8L14", "7M", "7L16", "6M", "6L16", "5M", "5L16", "4M", "4L16"], psybeam: ["9M", "9L21", "8L21"], psychic: ["9M", "9L49", "8M", "8L49", "8S5", "7M", "6M", "5M", "4M"], + psychicnoise: ["9M"], psychocut: ["9L1", "8M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], recycle: ["7T", "6T", "5T", "4M"], @@ -51343,14 +52582,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "4S0"], dazzlinggleam: ["9M", "8M", "8S5", "7M", "6M"], detect: ["9L14", "8L14", "7L16", "6L16", "5L16", "4L16"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], drainingkiss: ["9M", "8M"], drainpunch: ["9M", "8M"], dreameater: ["7M", "6M", "5M", "4M"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M", "4M"], energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], - expandingforce: ["9L1", "8T"], + expandingforce: ["9M", "9L1", "8T"], explosion: ["9L77", "8L77", "7M", "7L76", "6M", "6L76", "5M", "5L76", "4M", "4L76"], extrasensory: ["9L35", "8L35", "7L50", "7S4", "6L50", "6S3", "5L51", "5S2", "4L51"], facade: ["9M", "8M", "8S5", "7M", "6M", "5M", "4M"], @@ -51360,7 +52601,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flash: ["6M", "5M", "4M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], - futuresight: ["9L63", "8M", "8L63", "7L36", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], + futuresight: ["9M", "9L63", "8M", "8L63", "7L36", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], headbutt: ["4T"], @@ -51389,7 +52630,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M", "9L21", "8L21"], psychic: ["9M", "9L49", "8M", "8L49", "8S5", "7M", "6M", "5M", "4M"], psychocut: ["9L1", "8M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], recycle: ["7T", "6T", "5T", "4M"], @@ -51450,24 +52691,24 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], bodypress: ["9M", "8M"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], cut: ["6M", "5M", "4M"], doubleteam: ["7M", "6M", "5M", "4M"], - dracometeor: ["9M", "8T", "7T", "7S9", "7S10", "6T", "5T", "5S4", "4T"], + dracometeor: ["9M", "9S13", "8T", "7T", "7S9", "7S10", "6T", "5T", "5S4", "4T"], dragonbreath: ["9L8", "8L8", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], dragonclaw: ["9M", "9L40", "8M", "8L40", "8S11", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28", "4S0"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "5S4", "4M"], dragontail: ["9M", "7M", "6M", "5M"], - earthpower: ["9M", "9L72", "8M", "8L72", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33", "4S1"], + earthpower: ["9M", "9L72", "9S13", "8M", "8L72", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33", "4S1"], earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], - fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "9S13", "8M", "7M", "6M", "5M", "4M"], flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], flash: ["6M", "5M", "4M"], flashcannon: ["9M", "9L32", "8M", "8L32", "8S12", "8S11", "7M", "7L50", "7S7", "7S8", "7S9", "7S10", "6M", "6L50", "6S5", "6S6", "5M", "5L50", "4M", "4L42"], @@ -51491,13 +52732,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { magnetrise: ["7T", "6T", "5T", "4T"], metalburst: ["9L64", "8L64", "8S12", "7L24", "6L24", "6S6", "5L24", "4L24"], metalclaw: ["9M", "9L1", "8L1", "7L6", "6L6", "5L6", "4L6", "4S0"], + metalsound: ["9M"], mudslap: ["4T"], naturalgift: ["4M"], outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], overheat: ["9M", "8M", "8S12", "7M", "6M", "6S6", "5M", "4M"], powergem: ["9M", "9L56", "8M", "8L56", "7L19", "6L19", "5L19", "4L19"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], @@ -51518,7 +52760,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], - steelbeam: ["9M", "8T"], + steelbeam: ["9M", "9S13", "8T"], stompingtantrum: ["9M", "8M", "7T"], stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M"], @@ -51550,6 +52792,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 50, moves: ["flashcannon", "dracometeor", "roaroftime", "aurasphere"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["slash", "ancientpower", "flashcannon", "dragonclaw"]}, {generation: 8, level: 70, nature: "Bold", isHidden: true, moves: ["roaroftime", "flashcannon", "metalburst", "overheat"], pokeball: "cherishball"}, + {generation: 9, level: 75, nature: "Quiet", isHidden: true, perfectIVs: 4, moves: ["dracometeor", "earthpower", "fireblast", "steelbeam"]}, ], eventOnly: true, }, @@ -51567,7 +52810,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], bodypress: ["9M", "8M"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], brine: ["8M", "4M"], bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -51577,7 +52820,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M", "4M"], dive: ["8M", "6M", "5M", "4T"], doubleteam: ["7M", "6M", "5M", "4M"], - dracometeor: ["9M", "8T", "7T", "7S9", "7S10", "6T", "5T", "5S4", "4T"], + dracometeor: ["9M", "9S13", "8T", "7T", "7S9", "7S10", "6T", "5T", "5S4", "4T"], dragonbreath: ["9L8", "8L8", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], dragonclaw: ["9M", "8M", "8L40", "8S11", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28", "4S0"], dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], @@ -51588,7 +52831,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M", "6M", "5M"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], - fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "9S13", "8M", "7M", "6M", "5M", "4M"], flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], fling: ["9M", "8M", "7M", "6M", "5M", "4M"], focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -51603,7 +52846,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { heavyslam: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M", "4M"], honeclaws: ["6M", "5M"], - hydropump: ["9M", "9L88", "8M", "8L88", "8S12", "7L50", "7S7", "7S8", "7S9", "7S10", "6L50", "6S5", "6S6", "5L50", "5S4", "4L42"], + hydropump: ["9M", "9L88", "9S13", "8M", "8L88", "8S12", "7L50", "7S7", "7S8", "7S9", "7S10", "6L50", "6S5", "6S6", "5L50", "5S4", "4L42"], hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], hypervoice: ["9M", "8M", "7T", "6T", "5T"], icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], @@ -51615,7 +52858,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], powergem: ["9M", "9L56", "8M", "8L56", "7L19", "6L19", "5L19", "4L19"], protect: ["9M", "8M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], rest: ["9M", "8M", "7M", "6M", "5M", "4M"], return: ["7M", "6M", "5M", "4M"], @@ -51646,7 +52889,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M", "4T"], takedown: ["9M"], terablast: ["9M"], - thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "9S13", "8M", "7M", "6M", "5M", "4M"], thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], @@ -51655,7 +52898,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { twister: ["4T"], waterfall: ["9M"], waterpulse: ["9M", "9L1", "8L1", "7T", "7L6", "6T", "6L6", "5L6", "4M", "4L6", "4S0"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], }, eventData: [ {generation: 4, level: 47, shiny: 1, moves: ["waterpulse", "ancientpower", "dragonclaw", "spacialrend"]}, @@ -51671,6 +52914,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 50, moves: ["hydropump", "dracometeor", "spacialrend", "aurasphere"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["slash", "surf", "ancientpower", "dragonclaw"]}, {generation: 8, level: 70, nature: "Hasty", isHidden: true, moves: ["spacialrend", "hydropump", "aurasphere", "earthpower"], pokeball: "cherishball"}, + {generation: 9, level: 75, nature: "Modest", isHidden: true, perfectIVs: 4, moves: ["dracometeor", "thunder", "fireblast", "hydropump"]}, ], eventOnly: true, }, @@ -51708,6 +52952,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flashcannon: ["9M", "8M", "7M", "7S7", "6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hardpress: ["9M"], headbutt: ["4T"], heatcrash: ["9M", "8M"], heatwave: ["9M", "9L60", "8M", "8L60", "7T", "7L1", "7S7", "6T", "6L1", "5T", "5L81", "4T", "4L81"], @@ -51722,7 +52967,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lunge: ["9M"], magmastorm: ["9L72", "8L72", "7L1", "7S7", "6L1", "5L96", "4L96", "4S2"], metalclaw: ["9M", "9L6", "8L6"], - metalsound: ["9L48", "8L48", "8S8", "7L25", "6L25", "6S4", "5L25", "4L25", "4S1"], + metalsound: ["9M", "9L48", "8L48", "8S8", "7L25", "6L25", "6S4", "5L25", "4L25", "4S1"], mudslap: ["4T"], naturalgift: ["4M"], naturepower: ["7M", "6M"], @@ -51742,7 +52987,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M", "5M"], sandstorm: ["9M"], scaryface: ["9M", "9L24", "8M", "8L24", "7L41", "7S5", "7S6", "6L41", "6S4", "5L41", "5S3", "4L41", "4S0", "4S1"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M", "4M"], selfdestruct: ["8M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], @@ -51782,85 +53027,88 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { aerialace: ["7M", "6M", "5M", "4M"], ancientpower: ["4T"], - avalanche: ["8M", "4M"], + avalanche: ["9M", "8M", "4M"], block: ["7T", "6T", "5T", "4T"], - bodypress: ["8M", "8L42"], - bodyslam: ["8M"], - brickbreak: ["8M", "7M", "6M", "5M", "4M"], - bulldoze: ["8M", "7M", "6M", "5M"], + bodypress: ["9M", "9L42", "8M", "8L42"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], - confuseray: ["8L1", "7L1", "7S5", "7S6", "6L1", "5L1", "4L1", "4S0", "4S1"], - crushgrip: ["8L78", "8S8", "7L1", "7S7", "6L1", "5L75", "4L75", "4S2"], + confuseray: ["9M", "9L1", "8L1", "7L1", "7S5", "7S6", "6L1", "5L1", "4L1", "4S0", "4S1"], + crushgrip: ["9L78", "8L78", "8S8", "7L1", "7S7", "6L1", "5L75", "4L75", "4S2"], darkestlariat: ["8M"], dizzypunch: ["7L1", "7S5", "7S6", "6L1", "5L1", "4L1", "4S1"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], - drainpunch: ["8M", "7T", "7S7", "6T", "5T", "4M"], - earthpower: ["8M", "7T", "6T", "5T", "4T"], - earthquake: ["8M", "7M", "6M", "5M", "4M"], - endure: ["8M", "4M"], - facade: ["8M", "7M", "6M", "5M", "4M"], - firepunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], - fling: ["8M", "7M", "6M", "5M", "4M"], - focusblast: ["8M", "7M", "6M", "5M", "4M"], - focuspunch: ["7T", "6T", "4M"], + drainpunch: ["9M", "8M", "7T", "7S7", "6T", "5T", "4M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "9L12", "8M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], foresight: ["7L1", "6L1", "6S4", "5L1", "4L1", "4S1"], frustration: ["7M", "6M", "5M", "4M"], - gigaimpact: ["8M", "8L72", "8S8", "7M", "7L100", "6M", "6L100", "5M", "5L100", "4M", "4L100"], - gravity: ["7T", "6T", "5T", "4T"], - hammerarm: ["8L66", "8S8"], + gigaimpact: ["9M", "9L72", "8M", "8L72", "8S8", "7M", "7L100", "6M", "6L100", "5M", "5L100", "4M", "4L100"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + hammerarm: ["9L66", "8L66", "8S8"], + hardpress: ["9M"], headbutt: ["4T"], - heatcrash: ["8M"], - heavyslam: ["8M", "8L60", "7L1", "7S7", "6L1", "5L90"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "9L60", "8M", "8L60", "7L1", "7S7", "6L1", "5L90"], hiddenpower: ["7M", "6M", "5M", "4M"], - highhorsepower: ["8M"], - hyperbeam: ["8M", "7M", "6M", "5M", "4M"], - icepunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], - icywind: ["8M", "7T", "6T", "5T", "4T", "4S2"], - ironhead: ["8M", "7T", "6T", "5T", "4T", "4S2"], - knockoff: ["8L30", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1", "4S1"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "4S2"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T", "4S2"], + knockoff: ["9M", "9L30", "8L30", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1", "4S1"], megakick: ["8M"], - megapunch: ["8M", "8L36", "4L1"], + megapunch: ["9M", "9L36", "8M", "8L36", "4L1"], mudslap: ["4T"], naturalgift: ["4M"], naturepower: ["7M", "6M"], - payback: ["8M", "8L6", "7M", "7L65", "6M", "6L65", "5M", "5L65", "5S3"], - pound: ["8L1"], + payback: ["9L6", "8M", "8L6", "7M", "7L65", "6M", "6L65", "5M", "5L65", "5S3"], + pound: ["9L1", "8L1"], poweruppunch: ["6M"], - protect: ["8M", "8L24"], + protect: ["9M", "9L24", "8M", "8L24"], psychup: ["7M", "6M", "5M", "4M"], - raindance: ["8M", "7M", "6M", "5M", "4M"], - rest: ["8M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M", "4M"], revenge: ["8M", "8L12", "7L25", "7S5", "7S6", "6L25", "6S4", "5L25", "5S3", "4L25"], rockclimb: ["4M"], rockpolish: ["7M", "6M", "5M", "4M"], - rockslide: ["8M", "7M", "6M", "5M", "4M", "4S2"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "4S2"], rocksmash: ["6M", "5M", "4M"], - rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M", "4M"], secretpower: ["6M", "4M"], shockwave: ["7T", "6T", "4M"], - sleeptalk: ["8M", "7M", "6M", "5T", "4M"], - smackdown: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T", "4T"], - stomp: ["8L18", "4L1", "4S0"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "7M", "6M", "5M", "4M"], + stomp: ["9L18", "8L18", "4L1", "4S0"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], strength: ["6M", "5M", "4M"], - substitute: ["8M", "7M", "6M", "5M", "4M"], - sunnyday: ["8M", "7M", "6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], superpower: ["8M", "7T", "6T", "5T", "4T", "4L25", "4S0"], swagger: ["7M", "6M", "5M", "4M"], + terablast: ["9M"], terrainpulse: ["8T"], - thunder: ["8M", "7M", "6M", "5M", "4M"], - thunderbolt: ["8M", "7M", "6M", "5M", "4M"], - thunderpunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], - thunderwave: ["8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], toxic: ["7M", "6M", "5M", "4M"], - wideguard: ["8L48", "7L40", "6L40", "6S4", "5L40", "5S3"], - zenheadbutt: ["8M", "8L54", "8S8", "7T", "7L50", "7S5", "7S6", "7S7", "6T", "6L50", "6S4", "5T", "5L50", "5S3", "4T", "4L50", "4S0"], + wideguard: ["9L48", "8L48", "7L40", "6L40", "6S4", "5L40", "5S3"], + zenheadbutt: ["9M", "9L54", "8M", "8L54", "8S8", "7T", "7L50", "7S5", "7S6", "7S7", "6T", "6L50", "6S4", "5T", "5L50", "5S3", "4T", "4L50", "4S0"], }, eventData: [ {generation: 4, level: 70, shiny: 1, moves: ["confuseray", "stomp", "superpower", "zenheadbutt"]}, @@ -51883,13 +53131,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { aquatail: ["7T", "6T", "5T", "4T"], aurasphere: ["9M", "9L56", "8M", "8L56", "7L37", "7S7", "6L37", "6S5", "6S6", "5L37", "5S4", "4L37"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], chargebeam: ["7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M"], + curse: ["9M"], cut: ["6M", "5M", "4M"], darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], defog: ["9L1", "8L1", "7T", "4M"], @@ -51928,7 +53177,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["4M"], ominouswind: ["7L6", "6L6", "5L6", "4T", "4L6", "4S1"], outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], - painsplit: ["9L49", "8L49", "7T", "6T", "5T", "4T"], + painsplit: ["9M", "9L49", "8L49", "7T", "6T", "5T", "4T"], payback: ["8M", "7M", "6M", "5M", "4M"], phantomforce: ["9M", "8M"], poltergeist: ["9M", "8T"], @@ -51951,6 +53200,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowsneak: ["9L1", "8L1", "7L19", "6L19", "5L19", "4L19"], shockwave: ["7T", "6T", "4M"], silverwind: ["4M"], + skittersmack: ["9M"], slash: ["9L28", "8L28", "7L15", "6L15", "5L15", "4L15", "4S0"], sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], snore: ["8M", "7T", "6T", "5T", "4T"], @@ -52006,12 +53256,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["7M", "6M", "5M", "4M"], endure: ["9M", "8M", "4M"], energyball: ["9M", "8M", "7M", "6M", "5M", "5S2", "4M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M", "4M"], flash: ["6M", "5M", "4M"], frustration: ["7M", "6M", "5M", "4M"], furycutter: ["4T"], - futuresight: ["9L66", "8M", "8L66", "7L38", "7S4", "6L38", "6S3", "5L38", "5S1", "4L38", "4S0"], + futuresight: ["9M", "9L66", "8M", "8L66", "7L38", "7S4", "6L38", "6S3", "5L38", "5S1", "4L38", "4S0"], gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], gravity: ["9M", "7T", "6T", "5T", "4T"], @@ -52039,7 +53289,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psychicterrain: ["9M"], psychocut: ["9L36", "8M", "8L36", "8S5", "7L1", "6L1", "5L66", "5S1", "4L66"], psychoshift: ["8L24", "7L1", "6L1", "5L75", "4L75"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "8M", "8S5", "7M", "6M", "5M", "5S2"], raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], recycle: ["7T", "6T", "5T", "4M"], @@ -52085,6 +53335,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { phione: { learnset: { acidarmor: ["9L31", "7L31", "6L31", "5L31", "4L31"], + alluringvoice: ["9M"], ancientpower: ["4T"], aquaring: ["9L54", "7L54", "6L54", "5L54", "4L54"], batonpass: ["9M"], @@ -52121,7 +53372,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["4T"], naturalgift: ["4M"], protect: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "9L69", "7M", "7L69", "6M", "6L69", "5M", "5L69", "4M", "4L69", "4S0"], rest: ["9M", "7M", "6M", "5M", "4M", "4S0"], return: ["7M", "6M", "5M", "4M"], @@ -52147,7 +53398,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "9L46", "7T", "7L46", "6T", "6L46", "5L46", "4M", "4L46"], watersport: ["7L1", "6L1", "5L1", "4L1"], weatherball: ["9M"], - whirlpool: ["9L39", "7L39", "6L39", "5L39", "4M", "4L39"], + whirlpool: ["9M", "9L39", "7L39", "6L39", "5L39", "4M", "4L39"], zenheadbutt: ["9M"], }, eventData: [ @@ -52157,6 +53408,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { manaphy: { learnset: { acidarmor: ["9L31", "7L31", "6L31", "5L31", "4L31", "4S2"], + alluringvoice: ["9M"], ancientpower: ["4T"], aquaring: ["9L54", "7L54", "7S6", "6L54", "5L54", "4L54", "4S3"], batonpass: ["9M"], @@ -52203,7 +53455,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M", "5M", "4M"], psybeam: ["9M"], psychic: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], raindance: ["9M", "9L69", "7M", "7L69", "6M", "6L69", "5M", "5L69", "4M", "4L69"], reflect: ["9M", "7M", "6M", "5M", "4M"], rest: ["9M", "7M", "6M", "5M", "4M"], @@ -52234,7 +53486,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "9L46", "7T", "7L46", "7S6", "6T", "6L46", "5L46", "4M", "4L46", "4S2", "4S3"], watersport: ["7L1", "6L1", "6S4", "6S5", "5L1", "4L1", "4S0", "4S1", "4S3"], weatherball: ["9M"], - whirlpool: ["9L39", "7L39", "6L39", "5L39", "4M", "4L39", "4S2"], + whirlpool: ["9M", "9L39", "7L39", "6L39", "5L39", "4M", "4L39", "4S2"], zenheadbutt: ["9M"], }, eventData: [ @@ -52257,13 +53509,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M", "7M", "6M", "5M", "4M"], confide: ["7M", "6M"], confuseray: ["9M"], + curse: ["9M"], cut: ["6M", "5M", "4M"], - darkpulse: ["9M", "9L93", "7M", "7L93", "6M", "6L93", "6S5", "5T", "5L93", "4M", "4L93", "4S2"], + darkpulse: ["9M", "9L93", "9S8", "7M", "7L93", "6M", "6L93", "6S5", "5T", "5L93", "4M", "4L93", "4S2"], darkvoid: ["9L66", "7L66", "7S7", "6L66", "6S5", "6S6", "5L66", "5S4", "4L66", "4S2"], disable: ["9L1", "7L1", "6L1", "5L1", "4L1"], doubleteam: ["9L47", "7M", "7L47", "6M", "6L47", "5M", "5L47", "4M", "4L47", "4S2", "4S3"], drainpunch: ["9M", "7T", "6T", "5T", "4M"], - dreameater: ["9L84", "7M", "7L84", "6M", "6L84", "6S5", "5M", "5L84", "4M", "4L84"], + dreameater: ["9L84", "9S8", "7M", "7L84", "6M", "6L84", "6S5", "5M", "5L84", "4M", "4L84"], embargo: ["7M", "6M", "5M", "4M", "4L75"], endure: ["9M", "4M"], facade: ["9M", "7M", "6M", "5M", "4M"], @@ -52280,7 +53533,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hex: ["9M"], hiddenpower: ["7M", "6M", "5M", "4M"], hyperbeam: ["9M", "7M", "6M", "5M", "4M"], - hypnosis: ["9L20", "7L20", "6L20", "5L20", "4L20", "4S0", "4S1", "4S3"], + hypnosis: ["9L20", "9S8", "7L20", "6L20", "5L20", "4L20", "4S0", "4S1", "4S3"], icebeam: ["9M", "7M", "6M", "5M", "4M"], icywind: ["9M", "7T", "6T", "5T", "4T"], incinerate: ["6M", "5M"], @@ -52299,7 +53552,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], protect: ["9M", "7M", "6M", "5M", "4M"], psychic: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M"], pursuit: ["4L29", "4S0"], quickattack: ["9L11", "7L11", "6L11", "5L11", "4L11", "4S0"], @@ -52315,7 +53568,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["7M", "6M", "5M"], scaryface: ["9M"], secretpower: ["6M", "4M"], - shadowball: ["9M", "7M", "6M", "5M", "4M", "4S2"], + shadowball: ["9M", "9S8", "7M", "6M", "5M", "4M", "4S2"], shadowclaw: ["9M", "7M", "6M", "5M", "4M"], shockwave: ["7T", "6T", "4M"], sleeptalk: ["9M", "7M", "6M", "5T", "4M"], @@ -52335,7 +53588,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "7M", "6M", "5M", "4M"], terablast: ["9M"], thief: ["9M", "7M", "6M", "5M", "4M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunder: ["9M", "7M", "6M", "5M", "4M"], thunderbolt: ["7M", "6M", "5M", "4M"], thunderwave: ["9M", "7M", "6M", "5M", "4M"], @@ -52355,6 +53608,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 50, moves: ["darkvoid", "darkpulse", "phantomforce", "dreameater"], pokeball: "cherishball"}, {generation: 6, level: 100, moves: ["darkvoid", "ominouswind", "nightmare", "feintattack"], pokeball: "cherishball"}, {generation: 7, level: 50, moves: ["darkvoid", "feintattack", "nightmare", "ominouswind"], pokeball: "cherishball"}, + {generation: 9, level: 50, moves: ["darkpulse", "shadowball", "hypnosis", "dreameater"], pokeball: "cherishball"}, ], eventOnly: true, }, @@ -52371,9 +53625,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M", "7M", "6M"], defensecurl: ["4L1"], disarmingvoice: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], earthpower: ["9M", "7T", "6T", "5T", "4T"], - endeavor: ["7T", "6T", "5T", "4T"], + endeavor: ["9M", "7T", "6T", "5T", "4T"], endure: ["9M", "4M"], energyball: ["9M", "9L73", "7M", "7L73", "6M", "6L73", "6S4", "5M", "5L73", "4M", "4L73", "4S0"], facade: ["9M", "7M", "6M", "5M", "4M"], @@ -52400,10 +53655,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturalgift: ["7L46", "6L46", "5L46", "4M", "4L46"], naturepower: ["7M", "6M"], ominouswind: ["4T"], + petalblizzard: ["9M"], playrough: ["9M", "9L46"], protect: ["9M", "7M", "6M", "5M", "4M"], psychic: ["9M", "7M", "6M", "5M", "4M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], quickattack: ["9L28", "7L28", "6L28", "5L28", "4L28"], rest: ["9M", "7M", "6M", "5M", "4M"], return: ["7M", "7S5", "6M", "5M", "4M"], @@ -52475,6 +53731,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M"], defog: ["7T", "4M"], dive: ["6M", "4T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M", "4M"], dracometeor: ["9M", "7T", "6T", "5T", "4T"], dragonclaw: ["9M", "7M", "6M", "5M", "4M"], @@ -52500,7 +53757,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { foulplay: ["9M"], frustration: ["7M", "6M", "5M", "4M"], furycutter: ["4T"], - futuresight: ["9L60", "7L60", "6L60", "5L60", "4L60"], + futuresight: ["9M", "9L60", "7L60", "6L60", "5L60", "4L60"], gigadrain: ["9M", "7T", "6T", "5T", "4M"], gigaimpact: ["9M", "7M", "6M", "5M", "4M"], grassknot: ["9M", "7M", "6M", "5M", "4M"], @@ -52534,6 +53791,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M", "7T"], magicalleaf: ["9M"], magiccoat: ["7T", "6T", "5T", "4T"], + meteorbeam: ["9M"], mistyterrain: ["9M"], mudslap: ["4T"], naturalgift: ["7L1", "6L1", "5L1", "4M", "4L1"], @@ -52548,7 +53806,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M", "5M", "4M"], psychic: ["9M", "7M", "6M", "5M", "4M"], psychicterrain: ["9M"], - psychup: ["7M", "6M", "5M", "4M"], + psychup: ["9M", "7M", "6M", "5M", "4M"], psyshock: ["9M", "7M", "6M", "5M"], punishment: ["7L1", "6L1", "5L1", "4L1"], quash: ["7M", "6M", "5M"], @@ -52570,6 +53828,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { safeguard: ["7M", "6M", "5M", "4M"], sandstorm: ["9M", "7M", "6M", "5M", "4M"], scaryface: ["9M"], + scorchingsands: ["9M"], secretpower: ["6M", "4M"], seismictoss: ["9L1", "7L1", "6L1", "5L1", "4L1"], shadowball: ["9M", "7M", "6M", "5M", "4M"], @@ -52592,6 +53851,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { strength: ["6M", "5M", "4M"], substitute: ["9M", "7M", "6M", "5M", "4M"], sunnyday: ["9M", "7M", "6M", "5M", "4M"], + supercellslam: ["9M"], surf: ["9M", "7M", "6M", "5M", "4M"], swagger: ["7M", "6M", "5M", "4M"], swift: ["9M", "4T"], @@ -52795,73 +54055,83 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, snivy: { learnset: { - aerialace: ["7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M"], aquatail: ["7T", "6T", "5T"], aromatherapy: ["5S0"], attract: ["7M", "6M", "5M"], bind: ["7T", "6T", "5T"], - calmmind: ["7M", "6M", "5M"], + bulletseed: ["9M"], + calmmind: ["9M", "7M", "6M", "5M"], captivate: ["7E", "6E", "5E"], - coil: ["7L31", "6L31", "5L31"], + coil: ["9L31", "7L31", "6L31", "5L31"], confide: ["7M", "6M"], cut: ["6M", "5M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - energyball: ["7M", "6M", "5M", "5S0"], - facade: ["7M", "6M", "5M"], + endure: ["9M"], + energyball: ["9M", "7M", "6M", "5M", "5S0"], + facade: ["9M", "7M", "6M", "5M"], flash: ["6M", "5M"], frustration: ["7M", "6M", "5M"], - gastroacid: ["7T", "7L40", "6T", "6L40", "5T", "5L40"], - gigadrain: ["7T", "7L34", "6T", "6L34", "5T", "5L34"], - glare: ["7E", "6E", "5E"], - grassknot: ["7M", "6M", "5M"], - grasspledge: ["7T", "6T", "5T"], - grassyterrain: ["7E", "6E"], - growth: ["7L13", "6L13", "5L13", "5S0"], + gastroacid: ["9L37", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + gigadrain: ["9M", "9L34", "7T", "7L34", "6T", "6L34", "5T", "5L34"], + glare: ["9E", "7E", "6E", "5E"], + grassknot: ["9M", "7M", "6M", "5M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M", "7E", "6E"], + growth: ["9L13", "7L13", "6L13", "5L13", "5S0"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - irontail: ["7T", "7E", "6T", "6E", "5T", "5E"], - knockoff: ["7T", "6T", "5T"], - leafblade: ["7L28", "6L28", "5L28"], - leafstorm: ["7L43", "6L43", "5L43"], + irontail: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], + knockoff: ["9M", "7T", "6T", "5T"], + leafblade: ["9L28", "7L28", "6L28", "5L28"], + leafstorm: ["9M", "9L40", "7L43", "6L43", "5L43"], leaftornado: ["7L16", "6L16", "5L16"], - leechseed: ["7L19", "6L19", "5L19"], - leer: ["7L4", "6L4", "5L4"], - lightscreen: ["7M", "6M", "5M"], - magicalleaf: ["7E", "6E", "5E"], - meanlook: ["7E", "6E", "5E"], - megadrain: ["7L22", "6L22", "5L22"], - mirrorcoat: ["7E", "6E", "5E"], + leechseed: ["9L19", "7L19", "6L19", "5L19"], + leer: ["9L4", "7L4", "6L4", "5L4"], + lightscreen: ["9M", "7M", "6M", "5M"], + magicalleaf: ["9M", "9L16", "7E", "6E", "5E"], + meanlook: ["9E", "7E", "6E", "5E"], + megadrain: ["9L22", "7L22", "6L22", "5L22"], + mirrorcoat: ["9E", "7E", "6E", "5E"], naturalgift: ["7E", "6E", "5E"], naturepower: ["7M", "6M"], - protect: ["7M", "6M", "5M"], + petalblizzard: ["9M"], + protect: ["9M", "7M", "6M", "5M"], pursuit: ["7E", "6E", "5E"], - reflect: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + reflect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["7M", "6M", "5M"], safeguard: ["7M", "6M", "5M"], secretpower: ["6M"], - seedbomb: ["7T", "6T", "5T"], - slam: ["7L25", "6L25", "5L25"], - sleeptalk: ["7M", "6M", "5T"], + seedbomb: ["9M", "7T", "6T", "5T"], + slam: ["9L25", "7L25", "6L25", "5L25"], + sleeptalk: ["9M", "7M", "6M", "5T"], snatch: ["7T", "6T", "5T"], snore: ["7T", "6T", "5T"], - solarbeam: ["7M", "6M", "5M"], - substitute: ["7M", "6M", "5M"], - sunnyday: ["7M", "6M", "5M"], + solarbeam: ["9M", "7M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - sweetscent: ["7E", "6E", "5E"], - swordsdance: ["7M", "6M", "5M"], - synthesis: ["7T", "6T", "5T", "5S0"], - tackle: ["7L1", "6L1", "5L1"], - taunt: ["7M", "6M", "5M"], + sweetscent: ["9E", "7E", "6E", "5E"], + swift: ["9M"], + swordsdance: ["9M", "7M", "6M", "5M"], + synthesis: ["9E", "7T", "6T", "5T", "5S0"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M"], + terablast: ["9M"], torment: ["7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - twister: ["7E", "6E", "5E"], - vinewhip: ["7L7", "6L7", "5L7"], + trailblaze: ["9M"], + twister: ["9E", "7E", "6E", "5E"], + vinewhip: ["9L7", "7L7", "6L7", "5L7"], workup: ["7M"], worryseed: ["7T", "6T", "5T"], - wrap: ["7L10", "6L10", "5L10"], + wrap: ["9L10", "7L10", "6L10", "5L10"], wringout: ["7L37", "6L37", "5L37"], }, eventData: [ @@ -52870,133 +54140,161 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, servine: { learnset: { - aerialace: ["7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M"], aquatail: ["7T", "6T", "5T"], attract: ["7M", "6M", "5M"], bind: ["7T", "6T", "5T"], - calmmind: ["7M", "6M", "5M"], - coil: ["7L36", "6L36", "5L36"], + bulletseed: ["9M"], + calmmind: ["9M", "7M", "6M", "5M"], + coil: ["9L36", "7L36", "6L36", "5L36"], confide: ["7M", "6M"], cut: ["6M", "5M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - energyball: ["7M", "6M", "5M"], - facade: ["7M", "6M", "5M"], + endure: ["9M"], + energyball: ["9M", "7M", "6M", "5M"], + facade: ["9M", "7M", "6M", "5M"], flash: ["6M", "5M"], frustration: ["7M", "6M", "5M"], - gastroacid: ["7T", "7L48", "6T", "6L48", "5T", "5L48"], - gigadrain: ["7T", "7L40", "6T", "6L40", "5T", "5L40"], - grassknot: ["7M", "6M", "5M"], - grasspledge: ["7T", "6T", "5T"], - growth: ["7L13", "6L13", "5L13"], + gastroacid: ["9L44", "7T", "7L48", "6T", "6L48", "5T", "5L48"], + gigadrain: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + grassknot: ["9M", "7M", "6M", "5M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L13", "7L13", "6L13", "5L13"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], irontail: ["7T", "6T", "5T"], - knockoff: ["7T", "6T", "5T"], - leafblade: ["7L32", "6L32", "5L32"], - leafstorm: ["7L52", "6L52", "5L52"], + knockoff: ["9M", "7T", "6T", "5T"], + leafblade: ["9L32", "7L32", "6L32", "5L32"], + leafstorm: ["9M", "9L48", "7L52", "6L52", "5L52"], leaftornado: ["7L16", "6L16", "5L16"], - leechseed: ["7L20", "6L20", "5L20"], - leer: ["7L1", "6L1", "5L1"], - lightscreen: ["7M", "6M", "5M"], - megadrain: ["7L24", "6L24", "5L24"], + leechseed: ["9L20", "7L20", "6L20", "5L20"], + leer: ["9L1", "7L1", "6L1", "5L1"], + lightscreen: ["9M", "7M", "6M", "5M"], + magicalleaf: ["9M", "9L16"], + megadrain: ["9L24", "7L24", "6L24", "5L24"], naturepower: ["7M", "6M"], - protect: ["7M", "6M", "5M"], - reflect: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + petalblizzard: ["9M"], + protect: ["9M", "7M", "6M", "5M"], + reflect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["7M", "6M", "5M"], safeguard: ["7M", "6M", "5M"], secretpower: ["6M"], - seedbomb: ["7T", "6T", "5T"], - slam: ["7L28", "6L28", "5L28"], - sleeptalk: ["7M", "6M", "5T"], + seedbomb: ["9M", "7T", "6T", "5T"], + slam: ["9L28", "7L28", "6L28", "5L28"], + sleeptalk: ["9M", "7M", "6M", "5T"], snatch: ["7T", "6T", "5T"], snore: ["7T", "6T", "5T"], - solarbeam: ["7M", "6M", "5M"], - substitute: ["7M", "6M", "5M"], - sunnyday: ["7M", "6M", "5M"], + solarbeam: ["9M", "7M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - swordsdance: ["7M", "6M", "5M"], + swift: ["9M"], + swordsdance: ["9M", "7M", "6M", "5M"], synthesis: ["7T", "6T", "5T"], - tackle: ["7L1", "6L1", "5L1"], - taunt: ["7M", "6M", "5M"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M"], + terablast: ["9M"], torment: ["7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - vinewhip: ["7L1", "6L1", "5L1"], + trailblaze: ["9M"], + vinewhip: ["9L1", "7L1", "6L1", "5L1"], workup: ["7M"], worryseed: ["7T", "6T", "5T"], - wrap: ["7L1", "6L1", "5L1"], + wrap: ["9L1", "7L1", "6L1", "5L1"], wringout: ["7L44", "6L44", "5L44"], }, }, serperior: { learnset: { - aerialace: ["7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M"], aquatail: ["7T", "6T", "5T"], attract: ["7M", "6M", "5M"], bind: ["7T", "6T", "5T"], + bodyslam: ["9M"], + breakingswipe: ["9M"], brutalswing: ["7M"], - calmmind: ["7M", "6M", "5M"], - coil: ["7L38", "6L38", "5L38"], + bulletseed: ["9M"], + calmmind: ["9M", "7M", "6M", "5M"], + coil: ["9L38", "7L38", "6L38", "5L38"], confide: ["7M", "6M"], cut: ["6M", "5M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - dragonpulse: ["7T", "6T", "5T"], - dragontail: ["7M", "6M", "5M"], - energyball: ["7M", "6M", "5M"], - facade: ["7M", "6M", "5M"], + dragonpulse: ["9M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + endure: ["9M"], + energyball: ["9M", "7M", "6M", "5M"], + facade: ["9M", "7M", "6M", "5M"], flash: ["6M", "5M"], - frenzyplant: ["7T", "6T", "5T"], + frenzyplant: ["9M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M"], - gastroacid: ["7T", "7L56", "6T", "6L56", "5T", "5L56"], - gigadrain: ["7T", "7L44", "6T", "6L44", "6S1", "5T", "5L44", "5S0"], - gigaimpact: ["7M", "6M", "5M"], - grassknot: ["7M", "6M", "5M"], - grasspledge: ["7T", "6T", "5T"], - growth: ["7L13", "6L13", "5L13"], + gastroacid: ["9L50", "7T", "7L56", "6T", "6L56", "5T", "5L56"], + gigadrain: ["9M", "9L44", "7T", "7L44", "6T", "6L44", "6S1", "5T", "5L44", "5S0"], + gigaimpact: ["9M", "7M", "6M", "5M"], + grassknot: ["9M", "7M", "6M", "5M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L13", "7L13", "6L13", "5L13"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], holdback: ["6S1"], - hyperbeam: ["7M", "6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M"], irontail: ["7T", "6T", "5T"], - knockoff: ["7T", "6T", "5T"], - leafblade: ["7L32", "6L32", "5L32"], - leafstorm: ["7L62", "6L62", "6S1", "5L62", "5S0"], + knockoff: ["9M", "7T", "6T", "5T"], + leafblade: ["9L32", "7L32", "6L32", "5L32"], + leafstorm: ["9M", "9L56", "7L62", "6L62", "6S1", "5L62", "5S0"], leaftornado: ["7L16", "6L16", "5L16"], - leechseed: ["7L20", "6L20", "5L20", "5S0"], - leer: ["7L1", "6L1", "5L1"], - lightscreen: ["7M", "6M", "5M"], - megadrain: ["7L24", "6L24", "5L24"], + leechseed: ["9L20", "7L20", "6L20", "5L20", "5S0"], + leer: ["9L1", "7L1", "6L1", "5L1"], + lightscreen: ["9M", "7M", "6M", "5M"], + magicalleaf: ["9M", "9L16"], + megadrain: ["9L24", "7L24", "6L24", "5L24"], naturepower: ["7M", "6M"], - outrage: ["7T", "6T", "5T"], - protect: ["7M", "6M", "5M"], - reflect: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + outrage: ["9M", "7T", "6T", "5T"], + petalblizzard: ["9M"], + protect: ["9M", "7M", "6M", "5M"], + reflect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], rocksmash: ["6M", "5M"], round: ["7M", "6M", "5M"], safeguard: ["7M", "6M", "5M"], + scaleshot: ["9M"], + scaryface: ["9M"], secretpower: ["6M"], - seedbomb: ["7T", "6T", "5T"], - slam: ["7L28", "6L28", "5L28"], - sleeptalk: ["7M", "6M", "5T"], + seedbomb: ["9M", "7T", "6T", "5T"], + slam: ["9L28", "7L28", "6L28", "5L28"], + sleeptalk: ["9M", "7M", "6M", "5T"], snatch: ["7T", "6T", "5T"], snore: ["7T", "6T", "5T"], - solarbeam: ["7M", "6M", "5M"], + solarbeam: ["9M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["7M", "6M", "5M", "5S0"], - sunnyday: ["7M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "5S0"], + sunnyday: ["9M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - swordsdance: ["7M", "6M", "5M"], + swift: ["9M"], + swordsdance: ["9M", "7M", "6M", "5M"], synthesis: ["7T", "6T", "5T"], - tackle: ["7L1", "6L1", "5L1"], - taunt: ["7M", "6M", "5M"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M"], + terablast: ["9M"], torment: ["7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - vinewhip: ["7L1", "6L1", "5L1"], + trailblaze: ["9M"], + vinewhip: ["9L1", "7L1", "6L1", "5L1"], workup: ["7M"], worryseed: ["7T", "6T", "5T"], - wrap: ["7L1", "6L1", "5L1"], + wrap: ["9L1", "7L1", "6L1", "5L1"], wringout: ["7L50", "6L50", "6S1", "5L50"], }, eventData: [ @@ -53006,226 +54304,274 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, tepig: { learnset: { - assurance: ["7L31", "6L31", "5L31"], + assurance: ["9L31", "7L31", "6L31", "5L31"], attract: ["7M", "6M", "5M"], - bodyslam: ["7E", "6E", "5E"], + bodyslam: ["9M", "7E", "6E", "5E"], burnup: ["7E"], confide: ["7M", "6M"], covet: ["7T", "7E", "6T", "6E", "5T", "5E"], - curse: ["7E", "6E", "5E"], - defensecurl: ["7L13", "6L13", "5L13"], + curse: ["9M", "7E", "6E", "5E"], + defensecurl: ["9L13", "7L13", "6L13", "5L13"], + dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], echoedvoice: ["7M", "6M", "5M"], - ember: ["7L7", "6L7", "5L7"], - endeavor: ["7T", "7E", "6T", "6E", "5T", "5E"], - facade: ["7M", "6M", "5M"], - fireblast: ["7M", "6M", "5M"], - firepledge: ["7T", "6T", "5T"], - flamecharge: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], - flamethrower: ["7M", "7L33", "6M", "6L33", "5M", "5L33"], - flareblitz: ["7L43", "6L43", "5L43"], + ember: ["9L7", "7L7", "6L7", "5L7"], + endeavor: ["9M", "7T", "7E", "6T", "6E", "5T", "5E"], + endure: ["9M", "9L9"], + facade: ["9M", "7M", "6M", "5M"], + fireblast: ["9M", "7M", "6M", "5M"], + firepledge: ["9M", "7T", "6T", "5T"], + firepunch: ["9M"], + firespin: ["9M"], + flamecharge: ["9M", "9L15", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + flamethrower: ["9M", "9L33", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + flareblitz: ["9M", "9L43", "7L43", "6L43", "5L43"], frustration: ["7M", "6M", "5M"], - grassknot: ["7M", "6M", "5M"], - gyroball: ["7M", "6M", "5M"], - headsmash: ["7L37", "6L37", "5L37"], - heatcrash: ["7L27", "6L27", "5L27"], - heatwave: ["7T", "6T", "5T"], - heavyslam: ["7E", "6E", "5E"], - helpinghand: ["7T", "6T", "5T"], + grassknot: ["9M", "7M", "6M", "5M"], + gyroball: ["9M", "7M", "6M", "5M"], + headsmash: ["9L37", "7L37", "6L37", "5L37"], + heatcrash: ["9M", "9L27", "7L27", "6L27", "5L27"], + heatwave: ["9M", "7T", "6T", "5T"], + heavyslam: ["9M", "7E", "6E", "5E"], + helpinghand: ["9M", "7T", "6T", "5T"], hiddenpower: ["7M", "6M", "5M"], incinerate: ["6M", "5M"], irontail: ["7T", "6T", "5T"], magnitude: ["7E", "6E", "5E"], + mudslap: ["9M"], odorsleuth: ["7L9", "6L9", "5L9"], - overheat: ["7M", "6M", "5M"], - protect: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + overheat: ["9M", "7M", "6M", "5M"], + protect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - roar: ["7M", "7L39", "6M", "6L39", "5M", "5L39"], + roar: ["9M", "9L39", "7M", "7L39", "6M", "6L39", "5M", "5L39"], rocksmash: ["6M", "5M"], - rocktomb: ["7M", "6M", "5M"], - rollout: ["7L21", "6L21", "5L21"], + rocktomb: ["9M", "7M", "6M", "5M"], + rollout: ["9L21", "7L21", "6L21", "5L21"], round: ["7M", "6M", "5M"], secretpower: ["6M"], - sleeptalk: ["7M", "7E", "6M", "6E", "5T", "5E"], - smog: ["7L19", "6L19", "5L19"], + sleeptalk: ["9M", "7M", "7E", "6M", "6E", "5T", "5E"], + smog: ["9L19", "7L19", "6L19", "5L19"], snore: ["7T", "6T", "5T"], - solarbeam: ["7M", "6M", "5M"], - stompingtantrum: ["7T"], + solarbeam: ["9M", "7M", "6M", "5M"], + stompingtantrum: ["9M", "7T"], strength: ["6M", "5M"], - substitute: ["7M", "6M", "5M"], - suckerpunch: ["7E", "6E"], - sunnyday: ["7M", "6M", "5M"], - superpower: ["7T", "7E", "6T", "6E", "5T", "5E"], + substitute: ["9M", "7M", "6M", "5M"], + suckerpunch: ["9E", "7E", "6E"], + sunnyday: ["9M", "7M", "6M", "5M"], + superpower: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], swagger: ["7M", "6M", "5M"], - tackle: ["7L1", "6L1", "5L1"], - tailwhip: ["7L3", "6L3", "5L3"], - takedown: ["7L25", "6L25", "5L25"], - taunt: ["7M", "6M", "5M"], - thrash: ["7E", "6E", "5E"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + tailwhip: ["9L3", "7L3", "6L3", "5L3"], + takedown: ["9M", "9L25", "7L25", "6L25", "5L25"], + taunt: ["9M", "7M", "6M", "5M"], + temperflare: ["9M"], + terablast: ["9M"], + thrash: ["9E", "7E", "6E", "5E"], toxic: ["7M", "6M", "5M"], - wildcharge: ["7M", "6M", "5M"], - willowisp: ["7M", "6M", "5M"], + trailblaze: ["9M"], + wildcharge: ["9M", "7M", "6M", "5M"], + willowisp: ["9M", "7M", "6M", "5M"], workup: ["7M"], - yawn: ["7E", "6E", "5E"], - zenheadbutt: ["7T", "6T"], + yawn: ["9E", "7E", "6E", "5E"], + zenheadbutt: ["9M", "7T", "6T"], }, }, pignite: { learnset: { - armthrust: ["7L1", "6L17", "5L17"], - assurance: ["7L36", "6L36", "5L36"], + armthrust: ["9L0", "7L1", "6L17", "5L17"], + assurance: ["9L36", "7L36", "6L36", "5L36"], attract: ["7M", "6M", "5M"], - brickbreak: ["7M", "6M", "5M"], - bulldoze: ["7M", "6M", "5M"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M"], + bulkup: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], + closecombat: ["9M"], + coaching: ["9M"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], - defensecurl: ["7L13", "6L13", "5L13"], + curse: ["9M"], + defensecurl: ["9L13", "7L13", "6L13", "5L13"], + dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], + drainpunch: ["9M"], echoedvoice: ["7M", "6M", "5M"], - ember: ["7L1", "6L1", "5L1"], - endeavor: ["7T", "6T", "5T"], - facade: ["7M", "6M", "5M"], - fireblast: ["7M", "6M", "5M"], - firepledge: ["7T", "6T", "5T"], - firepunch: ["7T", "6T", "5T"], - flamecharge: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], - flamethrower: ["7M", "7L39", "6M", "6L39", "5M", "5L39"], - flareblitz: ["7L52", "6L52", "5L52"], - fling: ["7M", "6M", "5M"], - focusblast: ["7M", "6M", "5M"], - focuspunch: ["7T", "6T"], + ember: ["9L1", "7L1", "6L1", "5L1"], + endeavor: ["9M", "7T", "6T", "5T"], + endure: ["9M", "9L1"], + facade: ["9M", "7M", "6M", "5M"], + fireblast: ["9M", "7M", "6M", "5M"], + firepledge: ["9M", "7T", "6T", "5T"], + firepunch: ["9M", "7T", "6T", "5T"], + firespin: ["9M"], + flamecharge: ["9M", "9L15", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + flamethrower: ["9M", "9L39", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + flareblitz: ["9M", "9L52", "7L52", "6L52", "5L52"], + fling: ["9M", "7M", "6M", "5M"], + focusblast: ["9M", "7M", "6M", "5M"], + focuspunch: ["9M", "7T", "6T"], frustration: ["7M", "6M", "5M"], - grassknot: ["7M", "6M", "5M"], - gyroball: ["7M", "6M", "5M"], - headsmash: ["7L44", "6L44", "5L44"], - heatcrash: ["7L31", "6L31", "5L31"], - heatwave: ["7T", "6T", "5T"], - helpinghand: ["7T", "6T", "5T"], + grassknot: ["9M", "7M", "6M", "5M"], + gyroball: ["9M", "7M", "6M", "5M"], + headsmash: ["9L44", "7L44", "6L44", "5L44"], + heatcrash: ["9M", "9L31", "7L31", "6L31", "5L31"], + heatwave: ["9M", "7T", "6T", "5T"], + heavyslam: ["9M"], + helpinghand: ["9M", "7T", "6T", "5T"], hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["9M"], incinerate: ["6M", "5M"], irontail: ["7T", "6T", "5T"], - lowkick: ["7T", "6T", "5T"], - lowsweep: ["7M", "6M", "5M"], + knockoff: ["9M"], + lowkick: ["9M", "7T", "6T", "5T"], + lowsweep: ["9M", "7M", "6M", "5M"], + mudslap: ["9M"], odorsleuth: ["7L1", "6L1", "5L1"], - overheat: ["7M", "6M", "5M"], - poisonjab: ["7M", "6M", "5M"], + overheat: ["9M", "7M", "6M", "5M"], + poisonjab: ["9M", "7M", "6M", "5M"], poweruppunch: ["6M"], - protect: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + protect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - roar: ["7M", "7L47", "6M", "6L47", "5M", "5L47"], - rockslide: ["7M", "6M", "5M"], + reversal: ["9M"], + roar: ["9M", "9L47", "7M", "7L47", "6M", "6L47", "5M", "5L47"], + rockslide: ["9M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["7M", "6M", "5M"], - rollout: ["7L23", "6L23", "5L23"], + rocktomb: ["9M", "7M", "6M", "5M"], + rollout: ["9L23", "7L23", "6L23", "5L23"], round: ["7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M"], - sleeptalk: ["7M", "6M", "5T"], - smog: ["7L20", "6L20", "5L20"], + sleeptalk: ["9M", "7M", "6M", "5T"], + smog: ["9L20", "7L20", "6L20", "5L20"], snore: ["7T", "6T", "5T"], - solarbeam: ["7M", "6M", "5M"], - stompingtantrum: ["7T"], - stoneedge: ["7M", "6M", "5M"], + solarbeam: ["9M", "7M", "6M", "5M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["7M", "6M", "5M"], - sunnyday: ["7M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], superpower: ["7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], - tackle: ["7L1", "6L1", "5L1"], - tailwhip: ["7L1", "6L1", "5L1"], - takedown: ["7L28", "6L28", "5L28"], - taunt: ["7M", "6M", "5M"], - thunderpunch: ["7T", "6T", "5T"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + tailwhip: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M", "9L28", "7L28", "6L28", "5L28"], + taunt: ["9M", "7M", "6M", "5M"], + temperflare: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T"], toxic: ["7M", "6M", "5M"], - wildcharge: ["7M", "6M", "5M"], - willowisp: ["7M", "6M", "5M"], + trailblaze: ["9M"], + wildcharge: ["9M", "7M", "6M", "5M"], + willowisp: ["9M", "7M", "6M", "5M"], workup: ["7M", "5M"], - zenheadbutt: ["7T", "6T"], + zenheadbutt: ["9M", "7T", "6T"], }, }, emboar: { learnset: { - armthrust: ["7L1", "6L17", "5L17"], - assurance: ["7L38", "6L38", "5L38"], + armthrust: ["9L1", "7L1", "6L17", "5L17"], + assurance: ["9L38", "7L38", "6L38", "5L38"], attract: ["7M", "6M", "5M"], - blastburn: ["7T", "6T", "5T"], + blastburn: ["9M", "7T", "6T", "5T"], block: ["7T", "6T", "5T"], - brickbreak: ["7M", "6M", "5M"], - bulkup: ["7M", "6M", "5M"], - bulldoze: ["7M", "6M", "5M"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M"], + bulkup: ["9M", "7M", "6M", "5M"], + bulldoze: ["9M", "7M", "6M", "5M"], + closecombat: ["9M"], + coaching: ["9M"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], - defensecurl: ["7L13", "6L13", "5L13"], + curse: ["9M"], + defensecurl: ["9L13", "7L13", "6L13", "5L13"], + dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - earthquake: ["7M", "6M", "5M"], + drainpunch: ["9M"], + earthquake: ["9M", "7M", "6M", "5M"], echoedvoice: ["7M", "6M", "5M"], - ember: ["7L1", "6L1", "5L1"], - endeavor: ["7T", "6T", "5T"], - facade: ["7M", "6M", "5M"], - fireblast: ["7M", "6M", "5M"], - firepledge: ["7T", "6T", "5T"], - firepunch: ["7T", "6T", "5T"], - flamecharge: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], - flamethrower: ["7M", "7L43", "6M", "6L43", "5M", "5L43"], - flareblitz: ["7L62", "6L62", "6S1", "5L62", "5S0"], - fling: ["7M", "6M", "5M"], - focusblast: ["7M", "6M", "5M"], - focuspunch: ["7T", "6T"], + ember: ["9L1", "7L1", "6L1", "5L1"], + endeavor: ["9M", "7T", "6T", "5T"], + endure: ["9M", "9L1"], + facade: ["9M", "7M", "6M", "5M"], + fireblast: ["9M", "7M", "6M", "5M"], + firepledge: ["9M", "7T", "6T", "5T"], + firepunch: ["9M", "7T", "6T", "5T"], + firespin: ["9M"], + flamecharge: ["9M", "9L15", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + flamethrower: ["9M", "9L43", "7M", "7L43", "6M", "6L43", "5M", "5L43"], + flareblitz: ["9M", "9L62", "7L62", "6L62", "6S1", "5L62", "5S0"], + fling: ["9M", "7M", "6M", "5M"], + focusblast: ["9M", "7M", "6M", "5M"], + focuspunch: ["9M", "7T", "6T"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["7M", "6M", "5M"], - grassknot: ["7M", "6M", "5M"], - gyroball: ["7M", "6M", "5M"], - hammerarm: ["7L1", "6L1", "5L1", "5S0"], - headsmash: ["7L50", "6L50", "6S1", "5L50", "5S0"], - heatcrash: ["7L31", "6L31", "5L31"], - heatwave: ["7T", "6T", "5T"], - helpinghand: ["7T", "6T", "5T"], + gigaimpact: ["9M", "7M", "6M", "5M"], + grassknot: ["9M", "7M", "6M", "5M"], + gyroball: ["9M", "7M", "6M", "5M"], + hammerarm: ["9L1", "7L1", "6L1", "5L1", "5S0"], + hardpress: ["9M"], + headsmash: ["9L50", "7L50", "6L50", "6S1", "5L50", "5S0"], + heatcrash: ["9M", "9L31", "7L31", "6L31", "5L31"], + heatwave: ["9M", "7T", "6T", "5T"], + heavyslam: ["9M"], + helpinghand: ["9M", "7T", "6T", "5T"], hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["9M"], holdback: ["6S1"], - hyperbeam: ["7M", "6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M"], incinerate: ["6M", "5M"], - ironhead: ["7T", "6T", "5T"], + ironhead: ["9M", "7T", "6T", "5T"], irontail: ["7T", "6T", "5T"], - lowkick: ["7T", "6T", "5T"], - lowsweep: ["7M", "6M", "5M"], + knockoff: ["9M"], + lowkick: ["9M", "7T", "6T", "5T"], + lowsweep: ["9M", "7M", "6M", "5M"], + mudslap: ["9M"], odorsleuth: ["7L1", "6L1", "5L1"], - overheat: ["7M", "6M", "5M"], - poisonjab: ["7M", "6M", "5M"], + overheat: ["9M", "7M", "6M", "5M"], + poisonjab: ["9M", "7M", "6M", "5M"], poweruppunch: ["6M"], - protect: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + protect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - roar: ["7M", "7L55", "6M", "6L55", "5M", "5L55"], - rockslide: ["7M", "6M", "5M"], + reversal: ["9M"], + roar: ["9M", "9L55", "7M", "7L55", "6M", "6L55", "5M", "5L55"], + rockslide: ["9M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["7M", "6M", "5M"], - rollout: ["7L23", "6L23", "5L23"], + rocktomb: ["9M", "7M", "6M", "5M"], + rollout: ["9L23", "7L23", "6L23", "5L23"], round: ["7M", "6M", "5M"], - scald: ["7M", "6M", "5M"], + scald: ["9M", "7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M"], - sleeptalk: ["7M", "6M", "5T"], - smackdown: ["7M", "6M", "5M"], - smog: ["7L20", "6L20", "5L20"], + sleeptalk: ["9M", "7M", "6M", "5T"], + smackdown: ["9M", "7M", "6M", "5M"], + smog: ["9L20", "7L20", "6L20", "5L20"], snore: ["7T", "6T", "5T"], - solarbeam: ["7M", "6M", "5M"], - stompingtantrum: ["7T"], - stoneedge: ["7M", "6M", "5M"], + solarbeam: ["9M", "7M", "6M", "5M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["7M", "6M", "5M"], - sunnyday: ["7M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], superpower: ["7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], - tackle: ["7L1", "6L1", "5L1"], - tailwhip: ["7L1", "6L1", "5L1"], - takedown: ["7L28", "6L28", "6S1", "5L28"], - taunt: ["7M", "6M", "5M"], - thunderpunch: ["7T", "6T", "5T"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + tailwhip: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M", "9L28", "7L28", "6L28", "6S1", "5L28"], + taunt: ["9M", "7M", "6M", "5M"], + temperflare: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T"], toxic: ["7M", "6M", "5M"], - wildcharge: ["7M", "6M", "5M", "5S0"], - willowisp: ["7M", "6M", "5M"], + trailblaze: ["9M"], + wildcharge: ["9M", "7M", "6M", "5M", "5S0"], + willowisp: ["9M", "7M", "6M", "5M"], workup: ["7M", "5M"], - zenheadbutt: ["7T", "6T"], + zenheadbutt: ["9M", "7T", "6T"], }, eventData: [ {generation: 5, level: 100, gender: "M", moves: ["flareblitz", "hammerarm", "wildcharge", "headsmash"], pokeball: "cherishball"}, @@ -53308,6 +54654,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpledge: ["9M", "7T", "6T", "5T"], waterpulse: ["9M", "9L23", "7T", "7L23", "6T", "6L23", "5L23"], watersport: ["7L11", "6L11", "5L11"], + whirlpool: ["9M"], workup: ["7M"], xscissor: ["9M", "7M", "6M", "5M"], }, @@ -53381,6 +54728,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpledge: ["9M", "7T", "6T", "5T"], waterpulse: ["9M", "9L26", "7T", "7L26", "6T", "6L25", "5L25"], watersport: ["7L1", "6L1", "5L1"], + whirlpool: ["9M"], workup: ["7M"], xscissor: ["9M", "7M", "6M", "5M"], }, @@ -53463,12 +54811,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M"], toxic: ["7M", "6M", "5M"], + upperhand: ["9M"], vacuumwave: ["9M"], waterfall: ["9M", "7M", "6M", "5M"], watergun: ["9L1", "7L1", "6L1", "5L1"], waterpledge: ["9M", "7T", "6T", "5T"], waterpulse: ["9M", "9L25", "7T", "7L25", "6T", "6L25", "5L25"], watersport: ["7L1", "6L1", "5L1"], + whirlpool: ["9M"], workup: ["7M"], xscissor: ["9M", "7M", "6M", "5M"], }, @@ -53535,11 +54885,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], + upperhand: ["9M"], vacuumwave: ["9M"], waterfall: ["9M"], watergun: ["9L1"], waterpledge: ["9M"], waterpulse: ["9M", "9L25"], + whirlpool: ["9M"], xscissor: ["9M"], }, }, @@ -54830,108 +56183,145 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, blitzle: { learnset: { - agility: ["7L36", "6L36", "5L36"], + agility: ["9M", "9L33", "7L36", "6L36", "5L36"], attract: ["7M", "6M", "5M"], + batonpass: ["9M"], + bodyslam: ["9M"], bounce: ["7T", "6T", "5T"], - charge: ["7L8", "6L8", "5L8"], - chargebeam: ["7M", "6M", "5M"], + charge: ["9M", "9L8", "7L8", "6L8", "5L8"], + chargebeam: ["9M", "7M", "6M", "5M"], confide: ["7M", "6M"], - discharge: ["7L32", "6L32", "5L32"], - doubleedge: ["7E", "6E", "5E"], - doublekick: ["7E", "6E", "5E"], + discharge: ["9L29", "7L32", "6L32", "5L32"], + doubleedge: ["9M", "7E", "6E", "5E"], + doublekick: ["9E", "7E", "6E", "5E"], doubleteam: ["7M", "6M", "5M"], - endure: ["7E", "6E", "5E"], - facade: ["7M", "6M", "5M"], - feint: ["7E"], - flamecharge: ["7M", "7L18", "6M", "6L18", "5M", "5L18"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + electroweb: ["9M"], + endeavor: ["9M"], + endure: ["9M", "7E", "6E", "5E"], + facade: ["9M", "7M", "6M", "5M"], + feint: ["9E", "7E"], + flamecharge: ["9M", "9L18", "7M", "7L18", "6M", "6L18", "5M", "5L18"], flash: ["6M", "5M"], frustration: ["7M", "6M", "5M"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - lightscreen: ["7M", "6M", "5M"], - lowkick: ["7T"], + lightscreen: ["9M", "7M", "6M", "5M"], + lowkick: ["9M", "7T"], magnetrise: ["7T", "6T", "5T"], mefirst: ["7E", "6E", "5E"], - protect: ["7M", "6M", "5M"], + protect: ["9M", "7M", "6M", "5M"], pursuit: ["7L22", "6L22", "5L22"], - quickattack: ["7L1", "6L1", "5L1"], + quickattack: ["9L1", "7L1", "6L1", "5L1"], rage: ["7E", "6E", "5E"], - raindance: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["7M", "6M", "5M"], - sandattack: ["7E", "6E", "5E"], - screech: ["7E", "6E", "5E"], + sandattack: ["9E", "7E", "6E", "5E"], + screech: ["9E", "7E", "6E", "5E"], secretpower: ["6M"], - shockwave: ["7T", "7L11", "7E", "6T", "6L11", "6E", "5L11", "5E"], + shockwave: ["9L11", "7T", "7L11", "7E", "6T", "6L11", "6E", "5L11", "5E"], signalbeam: ["7T", "6T", "5T"], - sleeptalk: ["7M", "6M", "5T"], + sleeptalk: ["9M", "7M", "6M", "5T"], + smartstrike: ["9M"], snatch: ["7T", "7E", "6T", "6E"], snore: ["7T", "6T", "5T"], - spark: ["7L25", "6L25", "5L25"], - stomp: ["7L29", "6L29", "5L29"], - substitute: ["7M", "6M", "5M"], + spark: ["9L22", "7L25", "6L25", "5L25"], + stomp: ["9L25", "7L29", "6L29", "5L29"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M"], + supercellslam: ["9M"], swagger: ["7M", "6M", "5M"], - tailwhip: ["7L4", "6L4", "5L4"], - takedown: ["7E", "6E", "5E"], - thrash: ["7L43", "6L43", "5L43"], - thunder: ["7M", "6M", "5M"], - thunderbolt: ["7M", "6M", "5M"], - thunderwave: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], + swift: ["9M"], + tailwhip: ["9L4", "7L4", "6L4", "5L4"], + takedown: ["9M", "7E", "6E", "5E"], + terablast: ["9M"], + thrash: ["9L40", "7L43", "6L43", "5L43"], + thunder: ["9M", "7M", "6M", "5M"], + thunderbolt: ["9M", "7M", "6M", "5M"], + thunderwave: ["9M", "9L15", "7M", "7L15", "6M", "6L15", "5M", "5L15"], toxic: ["7M", "6M", "5M"], - voltswitch: ["7M", "6M", "5M"], - wildcharge: ["7M", "7L39", "6M", "6L39", "5M", "5L39"], + trailblaze: ["9M"], + uproar: ["9M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "9L35", "7M", "7L39", "6M", "6L39", "5M", "5L39"], }, }, zebstrika: { learnset: { - agility: ["7L42", "6L42", "5L42"], + agility: ["9M", "9L42", "7L42", "6L42", "5L42"], allyswitch: ["7T"], attract: ["7M", "6M", "5M"], + batonpass: ["9M"], + bodyslam: ["9M"], bounce: ["7T", "6T", "5T"], - charge: ["7L1", "6L1", "5L1"], - chargebeam: ["7M", "6M", "5M"], + bulldoze: ["9M"], + charge: ["9M", "9L1", "7L1", "6L1", "5L1"], + chargebeam: ["9M", "7M", "6M", "5M"], confide: ["7M", "6M"], - discharge: ["7L36", "6L36", "5L36"], + discharge: ["9L36", "7L36", "6L36", "5L36"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - facade: ["7M", "6M", "5M"], - flamecharge: ["7M", "7L18", "6M", "6L18", "5M", "5L18"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + electroweb: ["9M"], + endeavor: ["9M"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + flamecharge: ["9M", "9L18", "7M", "7L18", "6M", "6L18", "5M", "5L18"], flash: ["6M", "5M"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["7M", "6M", "5M"], + gigaimpact: ["9M", "7M", "6M", "5M"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - hyperbeam: ["7M", "6M", "5M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M"], iondeluge: ["7L1", "6L1"], laserfocus: ["7T"], - lightscreen: ["7M", "6M", "5M"], - lowkick: ["7T"], + lightscreen: ["9M", "7M", "6M", "5M"], + lowkick: ["9M", "7T"], magnetrise: ["7T", "6T", "5T"], - overheat: ["7M", "6M", "5M"], - protect: ["7M", "6M", "5M"], + overheat: ["9M", "7M", "6M", "5M"], + protect: ["9M", "7M", "6M", "5M"], pursuit: ["7L22", "6L22", "5L22"], - quickattack: ["7L1", "6L1", "5L1"], - raindance: ["7M", "6M", "5M"], - rest: ["7M", "6M", "5M"], + quickattack: ["9L1", "7L1", "6L1", "5L1"], + raindance: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], + roar: ["9M"], rocksmash: ["6M", "5M"], round: ["7M", "6M", "5M"], secretpower: ["6M"], - shockwave: ["7T", "7L11", "6T", "6L11", "5L11"], + shockwave: ["9L11", "7T", "7L11", "6T", "6L11", "5L11"], signalbeam: ["7T", "6T", "5T"], - sleeptalk: ["7M", "6M", "5T"], + sleeptalk: ["9M", "7M", "6M", "5T"], + smartstrike: ["9M"], snatch: ["7T", "6T"], snore: ["7T", "6T", "5T"], - spark: ["7L25", "6L25", "5L25"], - stomp: ["7L31", "6L31", "5L31"], - substitute: ["7M", "6M", "5M"], + spark: ["9L25", "7L25", "6L25", "5L25"], + stomp: ["9L31", "7L31", "6L31", "5L31"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M"], + supercellslam: ["9M"], swagger: ["7M", "6M", "5M"], - tailwhip: ["7L1", "6L1", "5L1"], - thrash: ["7L53", "6L53", "5L53"], - thunder: ["7M", "6M", "5M"], - thunderbolt: ["7M", "6M", "5M"], - thunderwave: ["7M", "7L1", "6M", "6L1", "5M", "5L1"], + swift: ["9M"], + tailwhip: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thrash: ["9L53", "7L53", "6L53", "5L53"], + thunder: ["9M", "7M", "6M", "5M"], + thunderbolt: ["9M", "7M", "6M", "5M"], + thunderwave: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], toxic: ["7M", "6M", "5M"], - voltswitch: ["7M", "6M", "5M"], - wildcharge: ["7M", "7L47", "6M", "6L47", "5M", "5L47"], + trailblaze: ["9M"], + uproar: ["9M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "9L47", "7M", "7L47", "6M", "6L47", "5M", "5L47"], }, }, roggenrola: { @@ -55292,130 +56682,147 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, drilbur: { learnset: { - aerialace: ["7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M"], attract: ["8M", "7M", "6M", "5M"], - brickbreak: ["8M", "7M", "6M", "5M"], - bulldoze: ["8M", "7M", "6M", "5M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], - crushclaw: ["8L24", "7E", "6E", "5E"], + crushclaw: ["9L24", "8L24", "7E", "6E", "5E"], + curse: ["9M"], cut: ["6M", "5M"], - dig: ["8M", "8L32", "7L19", "6M", "6L19", "5M", "5L19"], + dig: ["9M", "9L32", "8M", "8L32", "7L19", "6M", "6L19", "5M", "5L19"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - drillrun: ["8M", "8L40", "7T", "7L43", "6T", "6L43", "5T", "5L43"], - earthpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], - earthquake: ["8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "5L33"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - fissure: ["8L48", "7L47", "6L47", "5L47"], - fling: ["8M", "7M", "6M", "5M"], + drillrun: ["9M", "9L40", "8M", "8L40", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + earthpower: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + earthquake: ["9M", "9L44", "8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fissure: ["9L48", "8L48", "7L47", "6L47", "5L47"], + fling: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - furyswipes: ["8L12", "7L12", "6L12", "5L12"], + furyswipes: ["9L12", "8L12", "7L12", "6L12", "5L12"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - highhorsepower: ["8M"], - honeclaws: ["8L8", "7L22", "6M", "6L22", "5M", "5L22"], - irondefense: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], - metalclaw: ["8L16", "7L15", "6L15", "5L15"], - metalsound: ["8E", "7E", "6E", "5E", "5D"], - mudshot: ["8M"], - mudslap: ["8L1", "7L8", "6L8", "5L8"], + highhorsepower: ["9M", "8M"], + honeclaws: ["9L8", "8L8", "7L22", "6M", "6L22", "5M", "5L22"], + irondefense: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + metalclaw: ["9M", "9L16", "8L16", "7L15", "6L15", "5L15"], + metalsound: ["9M", "9E", "8E", "7E", "6E", "5E", "5D"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L8", "6L8", "5L8"], mudsport: ["7L1", "6L1", "5L1"], - poisonjab: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - rapidspin: ["8L1", "7L5", "7E", "6L5", "6E", "5L5", "5E", "5D"], - rest: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + rapidspin: ["9L1", "8L1", "7L5", "7E", "6L5", "6E", "5L5", "5E", "5D"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], rockclimb: ["7E", "6E", "5E", "5D"], - rockslide: ["8M", "8L28", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + rockslide: ["9M", "9L28", "8M", "8L28", "7M", "7L29", "6M", "6L29", "5M", "5L29"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "8L20", "7M", "7L40", "6M", "6L40", "5M", "5L40"], - sandtomb: ["8M"], - scorchingsands: ["8T"], - scratch: ["8L4", "7L1", "6L1", "5L1"], + sandstorm: ["9M", "9L20", "8M", "8L20", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + sandtomb: ["9M", "8M"], + scorchingsands: ["9M", "8T"], + scratch: ["9L4", "8L4", "7L1", "6L1", "5L1"], secretpower: ["6M"], - shadowclaw: ["8M", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], skullbash: ["7E", "6E", "5E"], - slash: ["8E", "7L26", "6L26", "5L26"], - sleeptalk: ["8M", "7M", "6M", "5T"], + slash: ["9E", "8E", "7L26", "6L26", "5L26"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["8M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T"], - stealthrock: ["8M", "7T", "6T", "5T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M"], strength: ["6M", "5M"], submission: ["8E", "7E", "6E", "5E"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], swagger: ["7M", "6M", "5M"], - swordsdance: ["8M", "8L36", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + swordsdance: ["9M", "9L36", "8M", "8L36", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - xscissor: ["8M", "7M", "6M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], }, }, excadrill: { learnset: { - aerialace: ["7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M"], attract: ["8M", "7M", "6M", "5M"], - brickbreak: ["8M", "7M", "6M", "5M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], brutalswing: ["8M", "7M"], - bulldoze: ["8M", "7M", "6M", "5M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], - crushclaw: ["8L24"], + crushclaw: ["9L24", "8L24"], + curse: ["9M"], cut: ["6M", "5M"], - dig: ["8M", "8L34", "7L19", "6M", "6L19", "5M", "5L19"], + dig: ["9M", "9L34", "8M", "8L34", "7L19", "6M", "6L19", "5M", "5L19"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - drillrun: ["8M", "8L46", "7T", "7L55", "6T", "6L55", "5T", "5L55"], - earthpower: ["8M", "7T", "6T", "5T"], - earthquake: ["8M", "8L52", "7M", "7L36", "6M", "6L36", "5M", "5L36"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - fissure: ["8L58", "7L62", "6L62", "5L62"], - fling: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], + drillrun: ["9M", "9L46", "8M", "8L46", "7T", "7L55", "6T", "6L55", "5T", "5L55"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "9L52", "8M", "8L52", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fissure: ["9L58", "8L58", "7L62", "6L62", "5L62"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - furyswipes: ["8L12", "7L12", "6L12", "5L12"], - gigaimpact: ["8M", "7M", "6M", "5M"], + furyswipes: ["9L12", "8L12", "7L12", "6L12", "5L12"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - highhorsepower: ["8M"], - honeclaws: ["8L1", "7L22", "6M", "6L22", "5M", "5L22"], - horndrill: ["8L0", "7L1", "6L31", "5L31"], - hyperbeam: ["8M", "7M", "6M", "5M"], - irondefense: ["8M", "7T", "6T", "5T"], - ironhead: ["8M", "7T", "6T", "5T"], + highhorsepower: ["9M", "8M"], + honeclaws: ["9L1", "8L1", "7L22", "6M", "6L22", "5M", "5L22"], + horndrill: ["9L0", "8L0", "7L1", "6L31", "5L31"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + irondefense: ["9M", "8M", "7T", "6T", "5T"], + ironhead: ["9M", "8M", "7T", "6T", "5T"], magnetrise: ["7T", "6T", "5T"], - metalclaw: ["8L16", "7L15", "6L15", "5L15"], - mudshot: ["8M"], - mudslap: ["8L1", "7L1", "6L1", "5L1"], + metalclaw: ["9M", "9L16", "8L16", "7L15", "6L15", "5L15"], + metalsound: ["9M"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1"], mudsport: ["7L1", "6L1", "5L1"], - poisonjab: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - rapidspin: ["8L1", "7L1", "6L1", "5L1"], - rest: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + rapidspin: ["9L1", "8L1", "7L1", "6L1", "5L1"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockblast: ["8M"], - rockslide: ["8M", "8L28", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + rockblast: ["9M", "8M"], + rockslide: ["9M", "9L28", "8M", "8L28", "7M", "7L29", "6M", "6L29", "5M", "5L29"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], rototiller: ["7L1", "6L1"], round: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "8L20", "7M", "7L49", "6M", "6L49", "5M", "5L49"], - sandtomb: ["8M"], - scorchingsands: ["8T"], - scratch: ["8L1", "7L1", "6L1", "5L1"], + sandstorm: ["9M", "9L20", "8M", "8L20", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + sandtomb: ["9M", "8M"], + scaryface: ["9M"], + scorchingsands: ["9M", "8T"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1"], secretpower: ["6M"], - shadowclaw: ["8M", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], slash: ["7L26", "6L26", "5L26"], - sleeptalk: ["8M", "7M", "6M", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["8M", "7M", "6M", "5M"], - smartstrike: ["8M", "7M"], + smartstrike: ["9M", "8M", "7M"], snore: ["8M", "7T", "6T", "5T"], - stealthrock: ["8M", "7T", "6T", "5T"], - steelbeam: ["8T"], - stompingtantrum: ["8M", "7T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + steelbeam: ["9M", "8T"], + stompingtantrum: ["9M", "8M", "7T"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], swagger: ["7M", "6M", "5M"], - swordsdance: ["8M", "8L40", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + swordsdance: ["9M", "9L40", "8M", "8L40", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["9M"], toxic: ["7M", "6M", "5M"], - xscissor: ["8M", "7M", "6M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], }, encounters: [ {generation: 6, level: 30}, @@ -55549,13 +56956,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "9L16", "8M", "8L16", "7M", "7L28", "6M", "6L28", "5M", "5L28"], chipaway: ["7L24", "6L24", "5L24"], closecombat: ["9M"], - coaching: ["8T"], + coaching: ["9M", "8T"], cometpunch: ["7E", "6E", "5E"], confide: ["7M", "6M"], counter: ["9E", "8E", "7E", "6E", "5E"], + curse: ["9M"], defog: ["9E", "8E"], detect: ["9E", "8E", "7E", "6E", "5E"], dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], drainpunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], dynamicpunch: ["9L32", "8L32", "7L34", "6L34", "5L34"], @@ -55631,9 +57040,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "9L16", "8M", "8L16", "7M", "7L29", "6M", "6L29", "5M", "5L29"], chipaway: ["7L24", "6L24", "5L24"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], + curse: ["9M"], dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], drainpunch: ["9M", "8M", "7T", "6T", "5T", "5D"], dynamicpunch: ["9L36", "8L36", "7L37", "6L37", "5L37"], @@ -55708,9 +57119,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "8M", "7M", "6M", "5M"], chipaway: ["7L24", "6L24", "5L24"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], + curse: ["9M"], dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], drainpunch: ["9M", "8M", "7T", "6T", "5T"], dynamicpunch: ["9L36", "8L36", "7L37", "6L37", "5L37"], @@ -55726,6 +57139,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "6M", "5M"], grassknot: ["9M", "8M", "7M", "6M", "5M"], hammerarm: ["9L42", "8L42", "7L45", "6L45", "5L45"], + hardpress: ["9M"], helpinghand: ["9M", "8M", "7T", "6T", "5T"], hiddenpower: ["7M", "6M", "5M"], highhorsepower: ["9M", "8M"], @@ -55773,6 +57187,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thief: ["9M"], thunderpunch: ["9M", "8M", "7T", "6T", "5T"], toxic: ["7M", "6M", "5M"], + upperhand: ["9M"], wakeupslap: ["7L20", "6L20", "5L20"], workup: ["8M", "7M", "5M"], }, @@ -56132,7 +57547,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], - electroweb: ["7T", "6T", "5T"], + electroweb: ["9M", "7T", "6T", "5T"], endure: ["9M", "9L29", "7L29", "6L29", "5L29"], energyball: ["9M", "7M", "6M", "5M"], facade: ["9M", "7M", "6M", "5M"], @@ -56167,6 +57582,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { seedbomb: ["9M", "7T", "6T", "5T"], signalbeam: ["7T", "6T", "5T"], silverwind: ["7E", "6E", "5E"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T"], snore: ["9E", "7T", "6T", "5T"], solarbeam: ["9M", "7M", "6M", "5M"], @@ -56198,7 +57614,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], - electroweb: ["7T", "6T", "5T"], + electroweb: ["9M", "7T", "6T", "5T"], endure: ["9M", "9L29"], energyball: ["9M", "7M", "6M", "5M"], facade: ["9M", "7M", "6M", "5M"], @@ -56229,6 +57645,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], seedbomb: ["9M", "7T", "6T", "5T"], signalbeam: ["7T", "6T", "5T"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M", "5T"], snore: ["7T", "6T", "5T"], solarbeam: ["9M", "7M", "6M", "5M"], @@ -56266,7 +57683,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], - electroweb: ["7T", "6T", "5T"], + electroweb: ["9M", "7T", "6T", "5T"], endure: ["9M"], energyball: ["9M", "7M", "6M", "5M"], entrainment: ["9L43", "7L43", "6L43", "5L43"], @@ -56313,6 +57730,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { seedbomb: ["9M", "7T", "6T", "5T"], shadowclaw: ["9M", "7M", "6M", "5M"], signalbeam: ["7T", "6T", "5T"], + skittersmack: ["9M"], slash: ["9L0", "7L1", "6L29", "5L29"], sleeptalk: ["9M", "7M", "6M", "5T"], snore: ["7T", "6T", "5T"], @@ -56328,9 +57746,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "7L1", "6L1", "5L1"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], toxic: ["7M", "6M", "5M"], trailblaze: ["9M"], + tripleaxel: ["9M"], worryseed: ["7T", "6T", "5T"], xscissor: ["9M", "9L39", "7M", "7L39", "6M", "6L39", "5M", "5L39"], }, @@ -56524,137 +57943,139 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, cottonee: { learnset: { - absorb: ["8L1", "7L1", "6L1", "5L1"], + absorb: ["9L1", "8L1", "7L1", "6L1", "5L1"], attract: ["8M", "7M", "6M", "5M"], - beatup: ["8M", "7E", "6E", "5E"], + beatup: ["9E", "8M", "7E", "6E", "5E"], captivate: ["7E", "6E"], - charm: ["8M", "8L27", "7L28", "6L28", "5L28"], + charm: ["9M", "9L27", "8M", "8L27", "7L28", "6L28", "5L28"], confide: ["7M", "6M"], - cottonguard: ["8L45", "7L37", "6L37", "5L37"], - cottonspore: ["8L33", "7L17", "6L17", "5L17"], + cottonguard: ["9L45", "8L45", "7L37", "6L37", "5L37"], + cottonspore: ["9L33", "8L33", "7L17", "6L17", "5L17"], covet: ["7T", "6T", "5T"], - dazzlinggleam: ["8M", "7M", "6M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], defog: ["7T"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], - encore: ["8M", "7E", "6E", "5E", "5D"], - endeavor: ["8L42", "7T", "7L44", "6T", "6L44", "5T", "5L44"], - endure: ["8M"], - energyball: ["8M", "8L36", "7M", "7L35", "6M", "6L35", "5M", "5L35"], - facade: ["8M", "7M", "6M", "5M"], - fairywind: ["8L3", "7L1", "6L1"], - faketears: ["8M", "7E", "6E", "5E"], + encore: ["9M", "8M", "7E", "6E", "5E", "5D"], + endeavor: ["9M", "9L42", "8L42", "7T", "7L44", "6T", "6L44", "5T", "5L44"], + endure: ["9M", "8M"], + energyball: ["9M", "9L36", "8M", "8L36", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fairywind: ["9L3", "8L3", "7L1", "6L1"], + faketears: ["9M", "8M", "7E", "6E", "5E"], flash: ["6M", "5M"], frustration: ["7M", "6M", "5M"], - gigadrain: ["8M", "8L24", "7T", "7L26", "6T", "6L26", "5T", "5L26"], - grassknot: ["8M", "7M", "6M", "5M"], + gigadrain: ["9M", "9L24", "8M", "8L24", "7T", "7L26", "6T", "6L26", "5T", "5L26"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], grasswhistle: ["7E", "6E", "5E"], - grassyglide: ["8T"], - grassyterrain: ["8M"], - growth: ["8L18", "7L4", "6L4", "5L4"], - helpinghand: ["8M", "8L1", "7T", "7L31", "6T", "6L31", "5T", "5L31"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L18", "8L18", "7L4", "6L4", "5L4"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L31", "6T", "6L31", "5T", "5L31"], hiddenpower: ["7M", "6M", "5M"], knockoff: ["7T", "6T", "5T"], - leechseed: ["8L30", "7L8", "6L8", "5L8", "5D"], - megadrain: ["8L12", "7L13", "6L13", "5L13"], - memento: ["8E", "7E", "6E", "5E"], - mistyterrain: ["8M", "7E"], + leechseed: ["9L30", "8L30", "7L8", "6L8", "5L8", "5D"], + megadrain: ["9L12", "8L12", "7L13", "6L13", "5L13"], + memento: ["9E", "8E", "7E", "6E", "5E"], + mistyterrain: ["9M", "8M", "7E"], naturalgift: ["7E", "6E", "5E"], naturepower: ["8E", "7M", "6M"], - poisonpowder: ["8L21", "7L22", "6L22", "5L22"], - protect: ["8M", "7M", "6M", "5M"], - razorleaf: ["8L15", "7L19", "6L19", "5L19"], - rest: ["8M", "7M", "6M", "5M"], + poisonpowder: ["9L21", "8L21", "7L22", "6L22", "5L22"], + protect: ["9M", "8M", "7M", "6M", "5M"], + razorleaf: ["9L15", "8L15", "7L19", "6L19", "5L19"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["6M"], - seedbomb: ["8M", "7T", "6T", "5T"], - sleeptalk: ["8M", "7M", "6M", "5T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], - solarbeam: ["8M", "8L48", "7M", "7L46", "6M", "6L46", "5M", "5L46"], - stunspore: ["8L6", "7L10", "6L10", "5L10"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "8L39", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + solarbeam: ["9M", "9L48", "8M", "8L48", "7M", "7L46", "6M", "6L46", "5M", "5L46"], + stunspore: ["9L6", "8L6", "7L10", "6L10", "5L10"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "9L39", "8M", "8L39", "7M", "7L40", "6M", "6L40", "5M", "5L40"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - switcheroo: ["8E", "7E", "6E", "5E"], + swift: ["9M", "8M"], + switcheroo: ["9E", "8E", "7E", "6E", "5E"], tailwind: ["7T", "6T", "5T"], - taunt: ["8M", "7M", "6M", "5M"], - tickle: ["8E", "7E", "6E", "5E"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + tickle: ["9E", "8E", "7E", "6E", "5E"], toxic: ["7M", "6M", "5M"], - worryseed: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + worryseed: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], }, }, whimsicott: { learnset: { - absorb: ["8L1"], + absorb: ["9L1", "8L1"], attract: ["8M", "7M", "6M", "5M"], beatup: ["8M", "5S0"], - charm: ["8M", "8L1"], + charm: ["9M", "9L1", "8M", "8L1"], confide: ["7M", "6M"], - cottonguard: ["8L1"], - cottonspore: ["8L1", "7L1", "6L1", "5L1"], + cottonguard: ["9L1", "8L1"], + cottonspore: ["9L1", "8L1", "7L1", "6L1", "5L1"], covet: ["7T", "6T", "5T"], - dazzlinggleam: ["8M", "7M", "6M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], defog: ["7T"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], - encore: ["8M"], - endeavor: ["8L1", "7T", "6T", "5T"], - endure: ["8M"], - energyball: ["8M", "8L1", "7M", "6M", "5M"], - facade: ["8M", "7M", "6M", "5M"], - fairywind: ["8L1"], - faketears: ["8M"], + encore: ["9M", "8M"], + endeavor: ["9M", "9L1", "8L1", "7T", "6T", "5T"], + endure: ["9M", "8M"], + energyball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fairywind: ["9L1", "8L1"], + faketears: ["9M", "8M"], flash: ["6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - gigadrain: ["8M", "8L1", "7T", "6T", "5T", "5S0"], - gigaimpact: ["8M", "7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - grassyglide: ["8T"], - grassyterrain: ["8M"], - growth: ["8L1", "7L1", "6L1", "5L1"], - gust: ["8L1", "7L10", "6L10", "5L10"], - helpinghand: ["8M", "8L1", "7T", "6T", "5T", "5S0"], + gigadrain: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T", "5S0"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L1", "8L1", "7L1", "6L1", "5L1"], + gust: ["9L1", "8L1", "7L10", "6L10", "5L10"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T", "5S0"], hiddenpower: ["7M", "6M", "5M"], - hurricane: ["8M", "8L1", "7L46", "6L46", "5L46"], - hyperbeam: ["8M", "7M", "6M", "5M"], + hurricane: ["9M", "9L1", "8M", "8L1", "7L46", "6L46", "5L46"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], knockoff: ["7T", "6T", "5T"], - leechseed: ["8L1", "7L1", "6L1", "5L1"], - lightscreen: ["8M", "7M", "6M", "5M"], - megadrain: ["8L1", "7L1", "6L1", "5L1"], - memento: ["8L1"], - mistyterrain: ["8M"], - moonblast: ["8L1", "7L50", "6L50"], + leechseed: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + megadrain: ["9L1", "8L1", "7L1", "6L1", "5L1"], + memento: ["9L1", "8L1"], + mistyterrain: ["9M", "8M"], + moonblast: ["9L1", "8L1", "7L50", "6L50"], naturepower: ["7M", "6M"], - playrough: ["8M"], - poisonpowder: ["8L1"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - razorleaf: ["8L1"], - rest: ["8M", "7M", "6M", "5M"], + playrough: ["9M", "8M"], + poisonpowder: ["9L1", "8L1"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + razorleaf: ["9L1", "8L1"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["6M"], - seedbomb: ["8M", "7T", "6T", "5T"], - shadowball: ["8M", "7M", "6M", "5M"], - sleeptalk: ["8M", "7M", "6M", "5T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], - solarbeam: ["8M", "8L1", "7M", "6M", "5M"], - stunspore: ["8L1"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "8L1", "7M", "6M", "5M"], + solarbeam: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + stunspore: ["9L1", "8L1"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M", "5S0"], - swift: ["8M"], - tailwind: ["8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], - taunt: ["8M", "7M", "6M", "5M"], - thief: ["8M", "7M", "6M", "5M"], + swift: ["9M", "8M"], + tailwind: ["9M", "9L1", "8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - trickroom: ["8M", "7M", "6M", "5M"], - uturn: ["8M", "7M", "6M", "5M"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + uturn: ["9M", "8M", "7M", "6M", "5M"], worryseed: ["7T", "6T", "5T"], }, eventData: [ @@ -56727,6 +58148,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { absorb: ["9L1", "8L1"], afteryou: ["9L1", "8L1", "7T", "6T", "5T"], + alluringvoice: ["9M"], aromatherapy: ["8L1"], attract: ["8M", "7M", "6M", "5M"], bulletseed: ["9M"], @@ -56761,10 +58183,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { magicalleaf: ["9M", "9L5", "8M", "8L1"], megadrain: ["9L1", "8L1", "7L1", "6L1", "5L1"], naturepower: ["7M", "6M"], - petalblizzard: ["9L1", "8L1", "7L50", "6L50"], + petalblizzard: ["9M", "9L1", "8L1", "7L50", "6L50"], petaldance: ["9L0", "8L0", "7L46", "6L46", "5L46"], pollenpuff: ["9M", "8M"], protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["9M"], quiverdance: ["9L1", "8L1", "7L28", "6L28", "5L28"], rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], @@ -56804,6 +58227,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M"], charm: ["9M"], closecombat: ["9M"], + coaching: ["9M"], defog: ["9L1"], encore: ["9M"], endure: ["9M"], @@ -56829,10 +58253,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { megadrain: ["9L1"], megakick: ["9L1"], metronome: ["9M"], - petalblizzard: ["9L1"], + petalblizzard: ["9M", "9L1"], poisonjab: ["9M"], pollenpuff: ["9M"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], seedbomb: ["9M"], @@ -56849,6 +58274,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { teeterdance: ["9L1"], terablast: ["9M"], trailblaze: ["9M"], + tripleaxel: ["9M"], + upperhand: ["9M"], vacuumwave: ["9M"], victorydance: ["9L0"], weatherball: ["9M"], @@ -56872,9 +58299,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L32", "8M", "8L32", "7L17", "6L24", "5L24"], cut: ["6M", "5M"], dive: ["8M", "6M", "5M"], - doubleedge: ["9L52", "8L52", "7L26", "6L36", "5L36"], + doubleedge: ["9M", "9L52", "8L52", "7L26", "6L36", "5L36"], doubleteam: ["7M", "6M", "5M"], - endeavor: ["9E", "8E", "7T", "6T", "5T"], + endeavor: ["9M", "9E", "8E", "7T", "6T", "5T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], finalgambit: ["9L40", "8L40", "7L38", "6L50", "5L51"], @@ -56892,7 +58319,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icefang: ["9M", "8M"], icywind: ["9M", "8M", "7T", "6T", "5T"], liquidation: ["9M", "8M", "7T"], - muddywater: ["8M", "7E", "6E", "5E"], + muddywater: ["9M", "8M", "7E", "6E", "5E"], mudshot: ["9M", "8M", "7E", "6E", "5E"], protect: ["9M", "8M", "7M", "6M", "5M"], psychicfangs: ["9M", "8M"], @@ -56928,7 +58355,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "8L1", "7L1", "6L1", "5L1"], waterpulse: ["9M"], wavecrash: ["9L44"], - whirlpool: ["8M", "7E", "6E", "5E"], + whirlpool: ["9M", "8M", "7E", "6E", "5E"], zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "5D"], }, }, @@ -56940,8 +58367,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M"], chillingwater: ["9M"], crunch: ["9M", "9L32"], - doubleedge: ["9L52"], - endeavor: ["9E"], + doubleedge: ["9M", "9L52"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], flail: ["9L8"], @@ -56954,6 +58381,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M"], lastrespects: ["9E"], liquidation: ["9M"], + muddywater: ["9M"], mudshot: ["9M"], protect: ["9M"], psychicfangs: ["9M"], @@ -56977,6 +58405,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1"], waterpulse: ["9M"], wavecrash: ["9L44"], + whirlpool: ["9M"], zenheadbutt: ["9M"], }, }, @@ -56989,8 +58418,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confuseray: ["9M"], crunch: ["9M", "9L32"], - doubleedge: ["9L52"], - endeavor: ["9E"], + doubleedge: ["9M", "9L52"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], flail: ["9L8"], @@ -57006,9 +58435,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M"], lastrespects: ["9E"], liquidation: ["9M"], + muddywater: ["9M"], mudshot: ["9M"], nightshade: ["9M"], outrage: ["9M"], + painsplit: ["9M"], phantomforce: ["9M", "9L1"], protect: ["9M"], psychicfangs: ["9M"], @@ -57034,6 +58465,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1"], waterpulse: ["9M"], wavecrash: ["9L44"], + whirlpool: ["9M"], zenheadbutt: ["9M"], }, }, @@ -57046,8 +58478,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confuseray: ["9M"], crunch: ["9M", "9L32"], - doubleedge: ["9L52"], - endeavor: ["9E"], + doubleedge: ["9M", "9L52"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], flail: ["9L8"], @@ -57063,9 +58495,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M"], lastrespects: ["9E"], liquidation: ["9M"], + muddywater: ["9M"], mudshot: ["9M"], nightshade: ["9M"], outrage: ["9M"], + painsplit: ["9M"], phantomforce: ["9M", "9L1"], protect: ["9M"], psychicfangs: ["9M"], @@ -57091,6 +58525,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1"], waterpulse: ["9M"], wavecrash: ["9L44"], + whirlpool: ["9M"], zenheadbutt: ["9M"], }, }, @@ -57107,10 +58542,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["9E", "8E", "7E", "6E", "5E"], crunch: ["9M", "9L27", "8M", "8L27", "7L28", "6L28", "5L28"], + curse: ["9M"], cut: ["6M", "5M"], darkpulse: ["9M", "8M", "7M", "6M", "5T"], dig: ["9M", "9L21", "8M", "8L21", "7L31", "6M", "6L31", "5M", "5L31"], - doubleedge: ["9E", "8E", "7E", "6E", "5E"], + doubleedge: ["9M", "9E", "8E", "7E", "6E", "5E"], doubleteam: ["7M", "6M", "5M"], earthpower: ["9M", "8M", "7T", "6T", "5T"], earthquake: ["9M", "9L36", "8M", "8L36", "7M", "7L43", "6M", "6L43", "5M", "5L43"], @@ -57151,10 +58587,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "9L30", "8M", "8L30", "7M", "7L40", "6M", "6L40", "5M", "5L40"], sandtomb: ["9M", "9L9", "8M", "8L9", "7L13", "6L13", "5L13"], scaryface: ["9M", "9L12", "8M", "8L12", "7L34", "6L34", "5L34"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M"], shadowclaw: ["9M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M", "7M", "6M", "5M"], snarl: ["9M", "8M", "7M", "6M", "5M"], @@ -57186,20 +58622,24 @@ export const Learnsets: {[k: string]: LearnsetData} = { beatup: ["8M"], bite: ["9L15", "8L15", "7L1", "6L1", "5L1"], bodyslam: ["9M"], + breakingswipe: ["9M"], brickbreak: ["9M", "8M", "7M", "6M", "5M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], crunch: ["9M", "9L27", "8M", "8L27", "7L28", "6L28", "5L28"], + curse: ["9M"], cut: ["6M", "5M"], darkpulse: ["9M", "8M", "7M", "6M", "5T"], dig: ["9M", "9L21", "8M", "8L21", "7L32", "6M", "6L32", "5M", "5L32"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dragonclaw: ["9M"], dragontail: ["9M"], earthpower: ["9M", "8M", "7T", "6T", "5T"], earthquake: ["9M", "9L42", "8M", "8L42", "7M", "7L48", "6M", "6L48", "5M", "5L48"], embargo: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], firefang: ["9M", "8M"], @@ -57242,10 +58682,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "9L9", "8M", "8L9", "7L13", "6L13", "5L13"], scaleshot: ["9M"], scaryface: ["9M", "9L12", "8M", "8L12", "7L36", "6L36", "5L36"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M", "7M", "6M", "5M"], snarl: ["9M", "8M", "7M", "6M", "5M"], @@ -57279,6 +58719,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9L15", "8L15", "7L1", "6L1", "5L1"], block: ["7T", "6T", "5T"], bodyslam: ["9M", "8M"], + breakingswipe: ["9M"], brickbreak: ["9M", "8M", "7M", "6M", "5M"], brutalswing: ["8M", "7M"], bulkup: ["9M", "8M", "7M", "6M", "5M"], @@ -57287,10 +58728,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], counter: ["5D"], crunch: ["9M", "9L27", "8M", "8L27", "7L28", "6L28", "5L28", "5D"], + curse: ["9M"], cut: ["6M", "5M"], darkestlariat: ["8M"], darkpulse: ["9M", "8M", "7M", "6M", "5T"], dig: ["9M", "9L21", "8M", "8L21", "7L32", "6M", "6L32", "5M", "5L32"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dragonclaw: ["9M", "8M", "7M", "6M", "5M"], dragonpulse: ["9M", "8M", "7T", "6T", "5T"], @@ -57298,6 +58741,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthpower: ["9M", "8M", "7T", "6T", "5T"], earthquake: ["9M", "9L44", "8M", "8L44", "7M", "7L54", "6M", "6L54", "5M", "5L54"], embargo: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], firefang: ["9M", "8M"], @@ -57347,10 +58791,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "9L9", "8M", "8L9", "7L13", "6L13", "5L13"], scaleshot: ["9M", "8T"], scaryface: ["9M", "9L12", "8M", "8L12", "7L36", "6L36", "5L36"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M", "7M", "6M", "5M"], smackdown: ["9M", "7M", "6M", "5M"], @@ -57370,7 +58814,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], thrash: ["9L51", "8L51"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderfang: ["9M", "8M"], torment: ["9L18", "8L18", "7M", "7L10", "6M", "6L10", "5M", "5L10"], toxic: ["7M", "6M", "5M"], @@ -57886,95 +59330,107 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, scraggy: { learnset: { - acidspray: ["8E", "7E"], - amnesia: ["8M", "7E", "6E", "5E"], + acidspray: ["9M", "8E", "7E"], + amnesia: ["9M", "8M", "7E", "6E", "5E"], assurance: ["8M"], attract: ["8M", "7M", "6M", "5M"], - beatup: ["8M", "8L24"], - brickbreak: ["8M", "8L32", "7M", "7L23", "6M", "6L20", "5M", "5L20"], - bulkup: ["8M", "7M", "6M", "5M"], + beatup: ["9L24", "8M", "8L24"], + brickbreak: ["9M", "9L32", "8M", "8L32", "7M", "7L23", "6M", "6L20", "5M", "5L20"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], chipaway: ["7L27", "6L27", "5L27"], - coaching: ["8T"], + closecombat: ["9M"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], - counter: ["8E", "7E", "6E", "5E"], - crunch: ["8M", "8L40", "7L38", "6L38", "5L38"], - darkpulse: ["8M", "7M", "6M", "5T"], - detect: ["8E", "7E", "6E", "5E"], - dig: ["8M", "6M", "5M"], + counter: ["9E", "8E", "7E", "6E", "5E"], + crunch: ["9M", "9L40", "8M", "8L40", "7L38", "6L38", "5L38"], + curse: ["9M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + detect: ["9E", "8E", "7E", "6E", "5E"], + dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - dragonclaw: ["8M", "7M", "6M", "5M"], - dragondance: ["8M", "7E", "6E", "5E"], - dragonpulse: ["8M", "7T", "6T", "5T"], - dragontail: ["7M", "6M", "5M"], - drainpunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M"], + dragondance: ["9M", "8M", "7E", "6E", "5E"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + drainpunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], dualchop: ["7T", "6T", "5T"], - endure: ["8M"], - facade: ["8M", "8L16", "7M", "7L42", "6M", "6L42", "5M", "5L42"], - fakeout: ["8E", "7E", "6E", "5E", "5D"], - faketears: ["8M"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "9L16", "8M", "8L16", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + fakeout: ["9E", "8E", "7E", "6E", "5E", "5D"], + faketears: ["9M", "8M"], feintattack: ["7L9", "7E", "6L9", "6E", "5L9", "5E"], - firepunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], - fling: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - focuspunch: ["8L48", "7T", "7L48", "6T", "6L48", "5L49"], - foulplay: ["8M", "7T", "6T", "5T"], + firepunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M", "9L48", "8L48", "7T", "7L48", "6T", "6L48", "5L49"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - headbutt: ["8L8", "7L1", "6L12", "5L12", "5S0"], - headsmash: ["8L52", "7L50", "6L50", "5L53"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + headbutt: ["9L8", "8L8", "7L1", "6L12", "5L12", "5S0"], + headsmash: ["9L52", "8L52", "7L50", "6L50", "5L53"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - highjumpkick: ["8L44", "7L31", "6L31", "5L31", "5S0"], - icepunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + highjumpkick: ["9L44", "8L44", "7L31", "6L31", "5L31", "5S0"], + icepunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], incinerate: ["6M", "5M"], - irondefense: ["8M", "7T", "6T", "5T"], - ironhead: ["8M", "7T", "6T", "5T"], + irondefense: ["9M", "8M", "7T", "6T", "5T"], + ironhead: ["9M", "8M", "7T", "6T", "5T"], irontail: ["8M", "7T", "6T", "5T"], - knockoff: ["7T", "6T", "5T"], - lashout: ["8T"], - leer: ["8L1", "7L1", "6L1", "5L1", "5S0"], - lowkick: ["8M", "8L1", "7T", "7L16", "6T", "6L1", "5T", "5L1", "5D", "5S0"], - lowsweep: ["8M", "7M", "6M", "5M"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0"], + lowkick: ["9M", "9L1", "8M", "8L1", "7T", "7L16", "6T", "6L1", "5T", "5L1", "5D", "5S0"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M"], megapunch: ["8M"], - payback: ["8M", "8L4", "7M", "7L20", "6M", "6L23", "5M", "5L23"], - poisonjab: ["8M", "7M", "6M", "5M"], + payback: ["9L4", "8M", "8L4", "7M", "7L20", "6M", "6L23", "5M", "5L23"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], poweruppunch: ["8E", "7E", "6M"], - protect: ["8M", "8L20", "7M", "6M", "5M"], - quickguard: ["8E", "7E", "6E"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "8L20", "7M", "6M", "5M"], + quickguard: ["9E", "8E", "7E", "6E"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M"], revenge: ["8M"], - roar: ["7M", "6M", "5M"], + roar: ["9M", "7M", "6M", "5M"], rockclimb: ["7L45", "6L45", "5L45"], - rockslide: ["8M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L12", "7L5", "6L5", "5L5"], - scaryface: ["8M", "8L28", "7L34", "6L34", "5L34"], + sandattack: ["9L12", "8L12", "7L5", "6L5", "5L5"], + scaryface: ["9M", "9L28", "8M", "8L28", "7L34", "6L34", "5L34"], secretpower: ["6M"], - sleeptalk: ["8M", "7M", "6M", "5T"], - sludgebomb: ["8M", "7M", "6M", "5M"], - smackdown: ["7M", "6M", "5M"], - snarl: ["8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + smackdown: ["9M", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], snatch: ["7T", "6T", "5T"], snore: ["8M", "7T", "6T", "5T"], spite: ["7T", "6T", "5T"], - stoneedge: ["8M", "7M", "6M", "5M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], - superfang: ["7T", "6T", "5T"], - swagger: ["8L36", "7M", "7L12", "6M", "6L16", "5M", "5L16"], - taunt: ["8M", "7M", "6M", "5M"], - thief: ["8M"], - thunderpunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], - torment: ["7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superfang: ["9M", "7T", "6T", "5T"], + swagger: ["9L36", "8L36", "7M", "7L12", "6M", "6L16", "5M", "5L16"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M"], + throatchop: ["9M"], + thunderpunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + torment: ["9L20", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + upperhand: ["9M"], + uproar: ["9M"], workup: ["8M", "7M", "5M"], - zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + zenheadbutt: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], }, eventData: [ {generation: 5, level: 1, gender: "M", nature: "Adamant", abilities: ["moxie"], moves: ["headbutt", "leer", "highjumpkick", "lowkick"], pokeball: "cherishball"}, @@ -57982,95 +59438,110 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, scrafty: { learnset: { - amnesia: ["8M"], + acidspray: ["9M"], + amnesia: ["9M", "8M"], assurance: ["8M"], attract: ["8M", "7M", "6M", "5M"], - beatup: ["8M", "8L24"], - brickbreak: ["8M", "8L32", "7M", "7L23", "6M", "6L20", "5M", "5L20"], - bulkup: ["8M", "7M", "6M", "5M"], + beatup: ["9L24", "8M", "8L24"], + bodyslam: ["9M"], + brickbreak: ["9M", "9L32", "8M", "8L32", "7M", "7L23", "6M", "6L20", "5M", "5L20"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], chipaway: ["7L27", "6L27", "5L27"], - closecombat: ["8M"], - coaching: ["8T"], + closecombat: ["9M", "8M"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], - crunch: ["8M", "8L42", "7L38", "6L38", "5L38"], - darkpulse: ["8M", "7M", "6M", "5T"], - dig: ["8M", "6M", "5M"], + crunch: ["9M", "9L42", "8M", "8L42", "7L38", "6L38", "5L38"], + curse: ["9M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - dragonclaw: ["8M", "7M", "6M", "5M"], - dragondance: ["8M"], - dragonpulse: ["8M", "7T", "6T", "5T"], - dragontail: ["7M", "6M", "5M"], - drainpunch: ["8M", "7T", "6T", "5T", "5S0"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "5S0"], dualchop: ["7T", "6T", "5T"], - endure: ["8M"], - facade: ["8M", "8L16", "7M", "7L45", "6M", "6L45", "5M", "5L45"], - faketears: ["8M"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "9L16", "8M", "8L16", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + faketears: ["9M", "8M"], feintattack: ["7L1", "6L1", "5L1"], - firepunch: ["8M", "7T", "6T", "5T", "5S0"], - fling: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - focuspunch: ["8L54", "7T", "7L58", "6T", "6L58", "5L58"], - foulplay: ["8M", "7T", "6T", "5T"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "5S0"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M", "9L54", "8L54", "7T", "7L58", "6T", "6L58", "5L58"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["8M", "7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - headbutt: ["8L1", "7L1", "6L12", "5L12"], - headsmash: ["8L60", "7L65", "6L65", "5L65"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + headbutt: ["9L1", "8L1", "7L1", "6L12", "5L12"], + headsmash: ["9L60", "8L60", "7L65", "6L65", "5L65"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - highjumpkick: ["8L48", "7L31", "6L31", "5L31"], - hyperbeam: ["8M", "7M", "6M", "5M"], - icepunch: ["8M", "7T", "6T", "5T"], + highjumpkick: ["9L48", "8L48", "7L31", "6L31", "5L31"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], incinerate: ["6M", "5M"], - irondefense: ["8M", "7T", "6T", "5T"], - ironhead: ["8M", "7T", "6T", "5T"], + irondefense: ["9M", "8M", "7T", "6T", "5T"], + ironhead: ["9M", "8M", "7T", "6T", "5T"], irontail: ["8M", "7T", "6T", "5T"], - knockoff: ["7T", "6T", "5T"], - lashout: ["8T"], - leer: ["8L1", "7L1", "6L1", "5L1"], - lowkick: ["8M", "8L1", "7T", "7L16", "6T", "6L1", "5T", "5L1"], - lowsweep: ["8M", "7M", "6M", "5M"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "9L1", "8M", "8L1", "7T", "7L16", "6T", "6L1", "5T", "5L1"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], megakick: ["8M"], megapunch: ["8M"], - outrage: ["8M", "7T", "6T", "5T"], - payback: ["8M", "8L1", "7M", "7L20", "6M", "6L23", "5M", "5L23", "5S0"], - poisonjab: ["8M", "7M", "6M", "5M"], + metronome: ["9M"], + outrage: ["9M", "8M", "7T", "6T", "5T"], + payback: ["9L1", "8M", "8L1", "7M", "7L20", "6M", "6L23", "5M", "5L23", "5S0"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], poweruppunch: ["6M"], - protect: ["8M", "8L20", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "8L20", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M"], revenge: ["8M"], - roar: ["7M", "6M", "5M"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M"], rockclimb: ["7L51", "6L51", "5L51"], - rockslide: ["8M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], - sandattack: ["8L12", "7L1", "6L1", "5L1"], - scaryface: ["8M", "8L28", "7L34", "6L34", "5L34"], + sandattack: ["9L12", "8L12", "7L1", "6L1", "5L1"], + scaryface: ["9M", "9L28", "8M", "8L28", "7L34", "6L34", "5L34"], secretpower: ["6M"], - sleeptalk: ["8M", "7M", "6M", "5T"], - sludgebomb: ["8M", "7M", "6M", "5M"], - smackdown: ["7M", "6M", "5M"], - snarl: ["8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + smackdown: ["9M", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], snatch: ["7T", "6T", "5T"], snore: ["8M", "7T", "6T", "5T"], - spite: ["7T", "6T", "5T"], - stoneedge: ["8M", "7M", "6M", "5M"], + spite: ["9M", "7T", "6T", "5T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M", "5S0"], - sunnyday: ["8M", "7M", "6M", "5M"], - superfang: ["7T", "6T", "5T"], - swagger: ["8L36", "7M", "7L12", "6M", "6L16", "5M", "5L16"], - taunt: ["8M", "7M", "6M", "5M"], - thief: ["8M", "7M", "6M", "5M"], - throatchop: ["8M", "7T"], - thunderpunch: ["8M", "7T", "6T", "5T"], - torment: ["7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "5S0"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superfang: ["9M", "7T", "6T", "5T"], + swagger: ["9L36", "8L36", "7M", "7L12", "6M", "6L16", "5M", "5L16"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + throatchop: ["9M", "8M", "7T"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], + torment: ["9L20", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + upperhand: ["9M"], + uproar: ["9M"], workup: ["8M", "7M", "5M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 50, gender: "M", nature: "Brave", abilities: ["moxie"], moves: ["firepunch", "payback", "drainpunch", "substitute"], pokeball: "cherishball"}, @@ -58950,9 +60421,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { nastyplot: ["9M", "9L44", "8M", "8L44", "7L49", "6L49", "5L49"], nightdaze: ["9L40", "8L40", "7L57", "6L57", "5L57"], nightshade: ["9M"], + painsplit: ["9M"], payback: ["8M", "7M", "6M", "5M"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], punishment: ["7L45", "6L45", "5L45"], pursuit: ["7L5", "6L5", "5L5"], raindance: ["9M", "8M", "7M", "6M", "5M"], @@ -58967,7 +60439,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], shadowball: ["9M", "8M", "7M", "6M", "5M"], shadowclaw: ["9M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M"], snarl: ["9M", "8M", "7M", "6M", "5M"], @@ -58999,7 +60471,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M"], comeuppance: ["9E"], confuseray: ["9M"], - curse: ["9L16"], + curse: ["9M", "9L16"], darkpulse: ["9M"], detect: ["9E"], dig: ["9M"], @@ -59022,8 +60494,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { memento: ["9E"], nastyplot: ["9M", "9L44"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], roar: ["9M"], @@ -59031,6 +60505,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "9L36"], shadowclaw: ["9M"], shadowsneak: ["9L12"], + skittersmack: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], snarl: ["9M"], @@ -59101,10 +60576,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { nightdaze: ["9L46", "8L46", "7L1", "6L1", "5L64"], nightshade: ["9M"], nightslash: ["9L0", "8L0", "7L1", "6L30", "5L30"], + painsplit: ["9M"], payback: ["8M", "7M", "6M", "5M"], protect: ["9M", "8M", "7M", "6M", "5M"], psychic: ["9M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], punishment: ["7L49", "6L49", "6S2", "5L49", "5S0"], pursuit: ["7L1", "6L1", "5L1"], raindance: ["9M", "8M", "7M", "6M", "5M"], @@ -59120,7 +60596,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], shadowball: ["9M", "8M", "7M", "6M", "5M"], shadowclaw: ["9M", "8M", "7M", "6M", "5M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M", "6S1"], snarl: ["9M", "8M", "7M", "6M", "5M", "5S0"], @@ -59137,7 +60613,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], torment: ["9L1", "8L1", "7M", "7L34", "6M", "6L34", "5M", "5L34"], toxic: ["9M", "7M", "6M", "5M"], trick: ["9M", "8M", "7T", "6T", "5T"], @@ -59164,7 +60640,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M"], confuseray: ["9M"], crunch: ["9M"], - curse: ["9L16"], + curse: ["9M", "9L16"], darkpulse: ["9M"], dig: ["9M"], endure: ["9M"], @@ -59192,10 +60668,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowsweep: ["9M"], nastyplot: ["9M", "9L52", "9S0"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M"], poltergeist: ["9M"], protect: ["9M"], psychic: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], roar: ["9M"], @@ -59204,6 +60682,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "9L40"], shadowclaw: ["9M", "9L0"], shadowsneak: ["9L12"], + skittersmack: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], snarl: ["9M"], @@ -59216,6 +60695,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L20"], terablast: ["9M", "9S0"], thief: ["9M"], + throatchop: ["9M"], torment: ["9L1"], trick: ["9M"], uturn: ["9M", "9L1"], @@ -59227,136 +60707,157 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, minccino: { learnset: { - afteryou: ["8L28", "7T", "7L49", "6T", "6L49", "5T", "5L49"], - aquatail: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + afteryou: ["9L28", "8L28", "7T", "7L49", "6T", "6L49", "5T", "5L49"], + alluringvoice: ["9M"], + aquatail: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], attract: ["8M", "7M", "6M", "5M"], - babydolleyes: ["8L1", "7L3", "6L3"], - calmmind: ["8M", "7M", "6M", "5M"], + babydolleyes: ["9L1", "8L1", "7L3", "6L3"], + batonpass: ["9M"], + bulletseed: ["9M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], captivate: ["7L39", "6L39", "5L39"], - charm: ["8M", "8L16", "7L27", "6L27", "5L27"], + charm: ["9M", "9L16", "8M", "8L16", "7L27", "6L27", "5L27"], + chillingwater: ["9M"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], - dazzlinggleam: ["8M", "7M", "6M"], - dig: ["8M", "6M", "5M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + dig: ["9M", "8M", "6M", "5M"], doubleslap: ["7L13", "6L13", "5L13"], doubleteam: ["7M", "6M", "5M"], - echoedvoice: ["8L8", "7M", "7L33", "6M", "6L33", "5M", "5L33"], - encore: ["8M", "8L24", "7L15", "6L15", "5L15"], - endure: ["8M", "7E", "6E", "5E"], - facade: ["8M", "7M", "6M", "5M"], - faketears: ["8M", "7E", "6E", "5E"], - flail: ["8E", "7E", "6E", "5E"], - fling: ["8M", "7M", "6M", "5M"], + echoedvoice: ["9L8", "8L8", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + encore: ["9M", "9L24", "8M", "8L24", "7L15", "6L15", "5L15"], + endeavor: ["9M"], + endure: ["9M", "8M", "7E", "6E", "5E"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "8M", "7E", "6E", "5E"], + flail: ["9E", "8E", "7E", "6E", "5E"], + fling: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], growl: ["5L3"], - gunkshot: ["8M", "7T", "6T", "5T"], - helpinghand: ["8M", "8L4", "7T", "7L7", "6T", "6L7", "5T", "5L7"], + gunkshot: ["9M", "8M", "7T", "6T", "5T"], + helpinghand: ["9M", "9L4", "8M", "8L4", "7T", "7L7", "6T", "6L7", "5T", "5L7"], hiddenpower: ["7M", "6M", "5M"], - hypervoice: ["8M", "8L44", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + hypervoice: ["9M", "9L44", "8M", "8L44", "7T", "7L43", "6T", "6L43", "5T", "5L43"], irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], - knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], - lastresort: ["8L48", "7T", "7L45", "6T", "6L45", "5T", "5L45"], - mudslap: ["7E", "6E", "5E"], - playrough: ["8M"], - pound: ["8L1", "7L1", "6L1", "5L1"], - protect: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + lastresort: ["9L48", "8L48", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + mudslap: ["9M", "7E", "6E", "5E"], + playrough: ["9M", "8M"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["6M"], - seedbomb: ["8M", "7T", "6T", "5T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], shockwave: ["7T", "6T"], - sing: ["8L12", "7L21", "6L21", "5L21"], - slam: ["8L40", "7L37", "6L37", "5L37"], - sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E"], + sing: ["9L12", "8L12", "7L21", "6L21", "5L21"], + slam: ["9L40", "8L40", "7L37", "6L37", "5L37"], + sleeptalk: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E"], snore: ["8M", "7T", "6T", "5T"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superfang: ["9M"], swagger: ["7M", "6M", "5M"], - swift: ["8M", "8L20", "7L19", "6L19", "5L19"], - tailslap: ["8M", "8L32", "7L25", "6L25", "5L25"], - tailwhip: ["8E", "7E", "6E", "5E"], - thief: ["8M", "7M", "6M", "5M"], - thunderbolt: ["8M", "7M", "6M", "5M"], - thunderwave: ["8M", "7M", "6M", "5M"], - tickle: ["8L36", "7L9", "6L9", "5L9"], + swift: ["9M", "9L20", "8M", "8L20", "7L19", "6L19", "5L19"], + tailslap: ["9L32", "8M", "8L32", "7L25", "6L25", "5L25"], + tailwhip: ["9E", "8E", "7E", "6E", "5E"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + tickle: ["9L36", "8L36", "7L9", "6L9", "5L9"], + tidyup: ["9E"], toxic: ["7M", "6M", "5M"], - tripleaxel: ["8T"], - uproar: ["8M", "7T", "6T", "5T"], - uturn: ["8M", "7M", "6M", "5M"], + trailblaze: ["9M"], + tripleaxel: ["9M", "8T"], + uproar: ["9M", "8M", "7T", "6T", "5T"], + uturn: ["9M", "8M", "7M", "6M", "5M"], wakeupslap: ["7L31", "6L31", "5L31"], workup: ["8M", "7M", "5M"], }, }, cinccino: { learnset: { - afteryou: ["8L1", "7T", "6T", "5T"], + afteryou: ["9L1", "8L1", "7T", "6T", "5T"], + alluringvoice: ["9M"], aquatail: ["7T", "6T", "5T"], attract: ["8M", "7M", "6M", "5M"], - babydolleyes: ["8L1"], - bulletseed: ["8M", "8L1", "7L1", "6L1", "5L1"], - calmmind: ["8M", "7M", "6M", "5M"], - charm: ["8M", "8L1"], + babydolleyes: ["9L1", "8L1"], + batonpass: ["9M"], + bulletseed: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], - dazzlinggleam: ["8M", "7M", "6M"], - dig: ["8M", "6M", "5M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - echoedvoice: ["8L1", "7M", "6M", "5M"], - encore: ["8M", "8L1"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - faketears: ["8M"], - fling: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], + echoedvoice: ["9L1", "8L1", "7M", "6M", "5M"], + encore: ["9M", "9L1", "8M", "8L1"], + endeavor: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["8M", "7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - gunkshot: ["8M", "7T", "6T", "5T"], - helpinghand: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gunkshot: ["9M", "8M", "7T", "6T", "5T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], hiddenpower: ["7M", "6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - hypervoice: ["8M", "8L1", "7T", "6T", "5T"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypervoice: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T"], + icespinner: ["9M"], irontail: ["8M", "7T", "6T", "5T"], - knockoff: ["7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], laserfocus: ["7T"], - lastresort: ["8L1", "7T", "6T", "5T"], - lightscreen: ["8M", "7M", "6M", "5M"], - playrough: ["8M"], - pound: ["8L1"], - protect: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + lastresort: ["9L1", "8L1", "7T", "6T", "5T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + mudslap: ["9M"], + playrough: ["9M", "8M"], + pound: ["9L1", "8L1"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], retaliate: ["8M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockblast: ["8M", "8L1", "7L1", "6L1", "5L1"], + rockblast: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["6M"], - seedbomb: ["8M", "7T", "6T", "5T"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], shockwave: ["7T", "6T"], - sing: ["8L1", "7L1", "6L1", "5L1"], - slam: ["8L1"], - sleeptalk: ["8M", "7M", "6M", "5T"], + sing: ["9L1", "8L1", "7L1", "6L1", "5L1"], + slam: ["9L1", "8L1"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superfang: ["9M"], swagger: ["7M", "6M", "5M"], - swift: ["8M", "8L1"], - tailslap: ["8M", "8L1", "7L1", "6L1", "5L1"], - thief: ["8M", "7M", "6M", "5M"], - thunder: ["8M", "7M", "6M", "5M"], - thunderbolt: ["8M", "7M", "6M", "5M"], - thunderwave: ["8M", "7M", "6M", "5M"], - tickle: ["8L1", "7L1", "6L1", "5L1"], + swift: ["9M", "9L1", "8M", "8L1"], + tailslap: ["9L0", "8M", "8L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunder: ["9M", "8M", "7M", "6M", "5M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + tickle: ["9L1", "8L1", "7L1", "6L1", "5L1"], toxic: ["7M", "6M", "5M"], - tripleaxel: ["8T"], - uproar: ["8M", "7T", "6T", "5T"], - uturn: ["8M", "7M", "6M", "5M"], + trailblaze: ["9M"], + tripleaxel: ["9M", "8T"], + uproar: ["9M", "8M", "7T", "6T", "5T"], + uturn: ["9M", "8M", "7M", "6M", "5M"], workup: ["8M", "7M", "5M"], }, }, @@ -59378,7 +60879,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { embargo: ["7M", "7L19", "6M", "6L19", "5M", "5L19"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M", "6M", "5M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M"], fakeout: ["9E", "8E"], faketears: ["9M", "9L28", "8M", "8L28", "7L10", "6L10", "5L10"], @@ -59388,7 +60889,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M", "7M", "6M", "5M"], foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M"], - futuresight: ["9L44", "8M", "8L44", "7L31", "6L31", "5L31"], + futuresight: ["9M", "9L44", "8M", "8L44", "7L31", "6L31", "5L31"], grassknot: ["9M", "8M", "7M", "6M", "5M"], gravity: ["9M", "7T", "6T", "5T"], guardswap: ["8M"], @@ -59412,8 +60913,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "6M", "5M"], psybeam: ["9M", "9L12", "8L12", "7L16", "6L16", "5L16"], psychic: ["9M", "9L36", "8M", "8L36", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["9L33", "8L33", "7M", "6M", "5M"], + psychup: ["9M", "9L33", "8L33", "7M", "6M", "5M"], psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], raindance: ["9M", "8M", "7M", "6M", "5M"], recycle: ["7T", "6T", "5T"], @@ -59469,7 +60971,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { embargo: ["7M", "7L19", "6M", "6L19", "5M", "5L19"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M", "6M", "5M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M"], faketears: ["9M", "9L28", "8M", "8L28", "7L10", "6L10", "5L1"], feintattack: ["7L24", "6L24", "5L24"], @@ -59478,7 +60980,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M", "7M", "6M", "5M"], foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M"], - futuresight: ["9L52", "8M", "8L52", "7L31", "6L31", "5L31", "5S0", "5S1"], + futuresight: ["9M", "9L52", "8M", "8L52", "7L31", "6L31", "5L31", "5S0", "5S1"], grassknot: ["9M", "8M", "7M", "6M", "5M"], gravity: ["9M", "7T", "6T", "5T"], guardswap: ["8M"], @@ -59500,8 +61002,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "6M", "5M"], psybeam: ["9M", "9L12", "8L12", "7L16", "6L16", "5L16"], psychic: ["9M", "8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["9L35", "8L35", "7M", "6M", "5M"], + psychup: ["9M", "9L35", "8L35", "7M", "6M", "5M"], psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25", "5S0", "5S1"], raindance: ["9M", "8M", "7M", "6M", "5M"], recycle: ["7T", "6T", "5T"], @@ -59567,7 +61070,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { embargo: ["7M", "7L19", "6M", "6L19", "5M", "5L19"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M", "6M", "5M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "6M", "5M"], faketears: ["9M", "9L28", "8M", "8L28", "7L10", "6L10", "5L1"], feintattack: ["7L24", "6L24", "5L24"], @@ -59577,7 +61080,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M"], foulplay: ["9M", "8M", "7T", "6T", "5T"], frustration: ["7M", "6M", "5M"], - futuresight: ["9L56", "8M", "8L56", "7L31", "6L31", "5L31"], + futuresight: ["9M", "9L56", "8M", "8L56", "7L31", "6L31", "5L31"], gigaimpact: ["9M", "8M", "7M", "6M", "5M"], grassknot: ["9M", "8M", "7M", "6M", "5M"], gravity: ["9M", "7T", "6T", "5T"], @@ -59603,8 +61106,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M", "6M", "5M"], psybeam: ["9M", "9L12", "8L12", "7L16", "6L16", "5L16"], psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["9L35", "8L35", "7M", "6M", "5M"], + psychup: ["9M", "9L35", "8L35", "7M", "6M", "5M"], psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], raindance: ["9M", "8M", "7M", "6M", "5M"], recycle: ["7T", "6T", "5T"], @@ -59648,158 +61152,166 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, solosis: { learnset: { - acidarmor: ["8E", "7E", "6E", "5E"], + acidarmor: ["9E", "8E", "7E", "6E", "5E"], afteryou: ["7T", "6T", "5T"], - allyswitch: ["8M", "8L28", "7T"], - astonish: ["8E", "7E", "6E", "5E"], + allyswitch: ["9L28", "8M", "8L28", "7T"], + astonish: ["9E", "8E", "7E", "6E", "5E"], attract: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "7M", "6M", "5M"], - charm: ["8M", "8L16", "7L19", "6L19", "5L19"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + charm: ["9M", "9L16", "8M", "8L16", "7L19", "6L19", "5L19"], confide: ["7M", "6M"], - confuseray: ["8E", "7E", "6E", "5E"], - confusion: ["8L1"], + confuseray: ["9M", "9E", "8E", "7E", "6E", "5E"], + confusion: ["9L1", "8L1"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], embargo: ["7M", "6M", "5M"], - encore: ["8M"], - endeavor: ["8L8", "7T", "7L28", "6T", "6L28", "5T", "5L28"], - endure: ["8M"], - energyball: ["8M", "7M", "6M", "5M"], - expandingforce: ["8T"], + encore: ["9M", "8M"], + endeavor: ["9M", "9L8", "8L8", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + expandingforce: ["9M", "8T"], explosion: ["7M", "6M", "5M"], - facade: ["8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], flash: ["6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - futuresight: ["8M", "8L44", "7L31", "6L31", "5L31"], - gravity: ["7T", "6T", "5T"], + futuresight: ["9M", "9L44", "8M", "8L44", "7L31", "6L31", "5L31"], + gravity: ["9M", "7T", "6T", "5T"], guardswap: ["8M"], - gyroball: ["8M", "7M", "6M", "5M"], + gyroball: ["9M", "8M", "7M", "6M", "5M"], healblock: ["7L46", "6L46", "5L46"], - helpinghand: ["8M", "7T", "7E", "6T", "6E"], + helpinghand: ["9M", "8M", "7T", "7E", "6T", "6E"], hiddenpower: ["7M", "7L14", "6M", "6L14", "5M", "5L14"], - imprison: ["8M", "7E", "6E", "5E"], + imprison: ["9M", "8M", "7E", "6E", "5E"], infestation: ["7M", "6M"], - irondefense: ["8M", "7T", "6T"], - lightscreen: ["8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + irondefense: ["9M", "8M", "7T", "6T"], + lightscreen: ["9M", "9L24", "8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], magiccoat: ["7T", "6T", "5T"], - nightshade: ["7E", "6E", "5E"], - painsplit: ["8L33", "7T", "7L33", "6T", "6L33", "5T", "5L33"], + nightshade: ["9M", "7E", "6E", "5E"], + painsplit: ["9M", "9L33", "8L33", "7T", "7L33", "6T", "6L33", "5T", "5L33"], powerswap: ["8M"], - protect: ["8M", "8L1", "7M", "6M", "5M"], - psybeam: ["8L12"], - psychic: ["8M", "8L36", "7M", "7L37", "6M", "6L37", "5M", "5L37"], - psychicterrain: ["8M"], - psychup: ["7M", "6M", "5M"], - psyshock: ["8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + psybeam: ["9M", "9L12", "8L12"], + psychic: ["9M", "9L36", "8M", "8L36", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + psychicterrain: ["9M", "8M"], + psychup: ["9M", "7M", "6M", "5M"], + psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], psywave: ["7L1", "6L1", "5L1"], - raindance: ["8M", "7M", "6M", "5M"], - recover: ["8L4", "7L24", "6L24", "5L24"], - reflect: ["8M", "8L24", "7M", "7L3", "6M", "6L3", "5M", "5L3"], - rest: ["8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + recover: ["9L4", "8L4", "7L24", "6L24", "5L24"], + reflect: ["9M", "9L24", "8M", "8L24", "7M", "7L3", "6M", "6L3", "5M", "5L3"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roleplay: ["7T", "6T", "5T"], rollout: ["7L7", "6L7", "5L7"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["7E", "6M", "6E", "5E"], - shadowball: ["8M", "7M", "6M", "5M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T", "5T"], - skillswap: ["8M", "8L40", "7T", "7L40", "6T", "6L40", "5T", "5L40"], - sleeptalk: ["8M", "7M", "6M", "5T"], + skillswap: ["9M", "9L40", "8M", "8L40", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snatch: ["7T", "7L10", "6T", "6L10", "5T", "5L10"], snore: ["8M", "7T", "6T", "5T"], steelroller: ["8T"], - storedpower: ["8M"], - substitute: ["8M", "7M", "6M", "5M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], swagger: ["7M", "6M", "5M"], + swift: ["9M"], telekinesis: ["7T", "5M"], - thunder: ["8M", "7M", "6M", "5M"], - thunderwave: ["8M", "7M", "6M", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - trick: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], - trickroom: ["8M", "7M", "6M", "5M"], - wonderroom: ["8M", "8L48", "7T", "7L48", "6T", "6L48", "5T", "5L48"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + trick: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + wonderroom: ["9L48", "8M", "8L48", "7T", "7L48", "6T", "6L48", "5T", "5L48"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, }, duosion: { learnset: { afteryou: ["7T", "6T", "5T"], - allyswitch: ["8M", "8L28", "7T"], + allyswitch: ["9L28", "8M", "8L28", "7T"], attract: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "7M", "6M", "5M"], - charm: ["8M", "8L16", "7L19", "6L19", "5L19"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + charm: ["9M", "9L16", "8M", "8L16", "7L19", "6L19", "5L19"], confide: ["7M", "6M"], - confusion: ["8L1"], + confuseray: ["9M"], + confusion: ["9L1", "8L1"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], embargo: ["7M", "6M", "5M"], - encore: ["8M"], - endeavor: ["8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], - endure: ["8M"], - energyball: ["8M", "7M", "6M", "5M"], - expandingforce: ["8T"], + encore: ["9M", "8M"], + endeavor: ["9M", "9L1", "8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + expandingforce: ["9M", "8T"], explosion: ["7M", "6M", "5M"], - facade: ["8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], flash: ["6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - futuresight: ["8M", "8L52", "7L31", "6L31", "5L31"], - gravity: ["7T", "6T", "5T"], + futuresight: ["9M", "9L52", "8M", "8L52", "7L31", "6L31", "5L31"], + gravity: ["9M", "7T", "6T", "5T"], guardswap: ["8M"], - gyroball: ["8M", "7M", "6M", "5M"], + gyroball: ["9M", "8M", "7M", "6M", "5M"], healblock: ["7L50", "6L50", "5L50"], - helpinghand: ["8M", "7T", "6T"], + helpinghand: ["9M", "8M", "7T", "6T"], hiddenpower: ["7M", "7L14", "6M", "6L14", "5M", "5L14"], - imprison: ["8M", "5D"], + imprison: ["9M", "8M", "5D"], infestation: ["7M", "6M"], - irondefense: ["8M", "7T", "6T"], - lightscreen: ["8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + irondefense: ["9M", "8M", "7T", "6T"], + lightscreen: ["9M", "9L24", "8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], magiccoat: ["7T", "6T", "5T"], - painsplit: ["8L35", "7T", "7L34", "6T", "6L34", "5T", "5L34"], + nightshade: ["9M"], + painsplit: ["9M", "9L35", "8L35", "7T", "7L34", "6T", "6L34", "5T", "5L34"], powerswap: ["8M"], - protect: ["8M", "8L1", "7M", "6M", "5M"], - psybeam: ["8L12"], - psychic: ["8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], - psychicterrain: ["8M"], - psychup: ["7M", "6M", "5M"], - psyshock: ["8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + psybeam: ["9M", "9L12", "8L12"], + psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicterrain: ["9M", "8M"], + psychup: ["9M", "7M", "6M", "5M"], + psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], psywave: ["7L1", "6L1", "5L1"], - raindance: ["8M", "7M", "6M", "5M"], - recover: ["8L1", "7L24", "6L24", "5L24", "5D"], - reflect: ["8M", "8L24", "7M", "7L1", "6M", "6L1", "5M", "5L1"], - rest: ["8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + recover: ["9L1", "8L1", "7L24", "6L24", "5L24", "5D"], + reflect: ["9M", "9L24", "8M", "8L24", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roleplay: ["7T", "6T", "5T"], rollout: ["7L1", "6L1", "5L1"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["6M"], - shadowball: ["8M", "7M", "6M", "5M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T", "5T"], - skillswap: ["8M", "8L46", "7T", "7L43", "6T", "6L43", "5T", "5L43"], - sleeptalk: ["8M", "7M", "6M", "5T"], + skillswap: ["9M", "9L46", "8M", "8L46", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snatch: ["7T", "7L1", "6T", "6L1", "5T", "5L1"], snore: ["8M", "7T", "6T", "5T"], steelroller: ["8T"], - storedpower: ["8M"], - substitute: ["8M", "7M", "6M", "5M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], swagger: ["7M", "6M", "5M"], + swift: ["9M"], telekinesis: ["7T", "5M"], - thunder: ["8M", "7M", "6M", "5M"], - thunderwave: ["8M", "7M", "6M", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - trick: ["8M", "7T", "6T", "5T", "5D"], - trickroom: ["8M", "7M", "6M", "5M"], - wonderroom: ["8M", "8L58", "7T", "7L53", "6T", "6L53", "5T", "5L53"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + trick: ["9M", "8M", "7T", "6T", "5T", "5D"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + wonderroom: ["9L58", "8M", "8L58", "7T", "7L53", "6T", "6L53", "5T", "5L53"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, encounters: [ {generation: 5, level: 31}, @@ -59808,96 +61320,103 @@ export const Learnsets: {[k: string]: LearnsetData} = { reuniclus: { learnset: { afteryou: ["7T", "6T", "5T"], - allyswitch: ["8M", "8L28", "7T"], + allyswitch: ["9L28", "8M", "8L28", "7T"], attract: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "7M", "6M", "5M"], - charm: ["8M", "8L16", "7L19", "6L19", "5L19"], + bodyslam: ["9M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + charm: ["9M", "9L16", "8M", "8L16", "7L19", "6L19", "5L19"], confide: ["7M", "6M"], - confusion: ["8L1"], + confuseray: ["9M"], + confusion: ["9L1", "8L1"], dizzypunch: ["7L1", "6L41", "5L41"], doubleteam: ["7M", "6M", "5M"], - drainpunch: ["8M", "7T", "6T", "5T"], + drainpunch: ["9M", "8M", "7T", "6T", "5T"], dreameater: ["7M", "6M", "5M"], embargo: ["7M", "6M", "5M"], - encore: ["8M"], - endeavor: ["8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], - endure: ["8M"], - energyball: ["8M", "7M", "6M", "5M"], - expandingforce: ["8T"], + encore: ["9M", "8M"], + endeavor: ["9M", "9L1", "8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + expandingforce: ["9M", "8T"], explosion: ["7M", "6M", "5M"], - facade: ["8M", "7M", "6M", "5M"], - firepunch: ["8M", "7T", "6T", "5T"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firepunch: ["9M", "8M", "7T", "6T", "5T"], flash: ["6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - focuspunch: ["7T", "6T"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M", "7T", "6T"], frustration: ["7M", "6M", "5M"], - futuresight: ["8M", "8L56", "7L31", "6L31", "5L31"], - gigaimpact: ["8M", "7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - gravity: ["7T", "6T", "5T"], + futuresight: ["9M", "9L56", "8M", "8L56", "7L31", "6L31", "5L31"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], guardswap: ["8M"], - gyroball: ["8M", "7M", "6M", "5M"], - hammerarm: ["8L0"], + gyroball: ["9M", "8M", "7M", "6M", "5M"], + hammerarm: ["9L0", "8L0"], healblock: ["7L54", "6L54", "5L54"], - helpinghand: ["8M", "7T", "6T", "5T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], hiddenpower: ["7M", "7L14", "6M", "6L14", "5M", "5L14"], - hyperbeam: ["8M", "7M", "6M", "5M"], - icepunch: ["8M", "7T", "6T", "5T"], - imprison: ["8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + imprison: ["9M", "8M"], infestation: ["7M", "6M"], - irondefense: ["8M", "7T", "6T"], - knockoff: ["7T", "6T", "5T"], + irondefense: ["9M", "8M", "7T", "6T"], + knockoff: ["9M", "7T", "6T", "5T"], laserfocus: ["7T"], - lightscreen: ["8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + lightscreen: ["9M", "9L24", "8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], magiccoat: ["7T", "6T", "5T"], megapunch: ["8M"], - painsplit: ["8L35", "7T", "7L34", "6T", "6L34", "5T", "5L34"], + nightshade: ["9M"], + painsplit: ["9M", "9L35", "8L35", "7T", "7L34", "6T", "6L34", "5T", "5L34"], powerswap: ["8M"], poweruppunch: ["6M"], - protect: ["8M", "8L1", "7M", "6M", "5M"], - psybeam: ["8L12"], - psychic: ["8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], - psychicterrain: ["8M"], - psychup: ["7M", "6M", "5M"], - psyshock: ["8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + psybeam: ["9M", "9L12", "8L12"], + psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicnoise: ["9M"], + psychicterrain: ["9M", "8M"], + psychup: ["9M", "7M", "6M", "5M"], + psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], psywave: ["7L1", "6L1", "5L1"], - raindance: ["8M", "7M", "6M", "5M"], - recover: ["8L1", "7L24", "6L24", "5L24"], - reflect: ["8M", "8L24", "7M", "7L1", "6M", "6L1", "5M", "5L1"], - rest: ["8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + recover: ["9L1", "8L1", "7L24", "6L24", "5L24"], + reflect: ["9M", "9L24", "8M", "8L24", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roleplay: ["7T", "6T", "5T"], rollout: ["7L1", "6L1", "5L1"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], secretpower: ["6M"], - shadowball: ["8M", "7M", "6M", "5M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T", "5T"], - skillswap: ["8M", "8L48", "7T", "7L45", "6T", "6L45", "5T", "5L45"], - sleeptalk: ["8M", "7M", "6M", "5T"], + skillswap: ["9M", "9L48", "8M", "8L48", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snatch: ["7T", "7L1", "6T", "6L1", "5T", "5L1"], snore: ["8M", "7T", "6T", "5T"], steelroller: ["8T"], - storedpower: ["8M"], + storedpower: ["9M", "8M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], superpower: ["8M", "7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], + swift: ["9M"], telekinesis: ["7T", "5M"], - thunder: ["8M", "7M", "6M", "5M"], - thunderpunch: ["8M", "7T", "6T", "5T"], - thunderwave: ["8M", "7M", "6M", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - trick: ["8M", "7T", "6T", "5T"], - trickroom: ["8M", "7M", "6M", "5M"], - wonderroom: ["8M", "8L64", "7T", "7L59", "6T", "6L59", "5T", "5L59"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + trick: ["9M", "8M", "7T", "6T", "5T"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + wonderroom: ["9L64", "8M", "8L64", "7T", "7L59", "6T", "6L59", "5T", "5L59"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, encounters: [ {generation: 5, level: 34}, @@ -59919,11 +61438,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { defog: ["9L6", "7T", "7L6", "6L6", "5L6", "5D"], disarmingvoice: ["9M"], dive: ["9E", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - endeavor: ["9E", "7T", "6T", "5T"], + endeavor: ["9M", "9E", "7T", "6T", "5T"], endure: ["9M"], facade: ["9M", "7M", "6M", "5M"], - featherdance: ["9L21", "7L21", "6L21", "5L21"], + featherdance: ["9M", "9L21", "7L21", "6L21", "5L21"], fly: ["9M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], gust: ["9E", "7E", "6E", "5E"], @@ -59962,6 +61482,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "7L1", "6L1", "5L1"], waterpulse: ["9M", "9L13", "7T", "7L13", "6T", "6L13", "5L13"], watersport: ["7L3", "6L3", "5L3"], + whirlpool: ["9M"], wingattack: ["9L9", "7L9", "6L9", "5L9"], }, }, @@ -59971,6 +61492,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["9M", "9L15", "7M", "7L15", "6M", "6L15", "5M", "5L15"], aircutter: ["9M"], airslash: ["9M", "9L27", "7L27", "6L27", "5L27"], + alluringvoice: ["9M"], aquaring: ["9L24", "7L24", "6L24", "5L24"], attract: ["7M", "6M", "5M"], bravebird: ["9M", "9L47", "7L47", "6L47", "5L47"], @@ -59980,11 +61502,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { defog: ["9L1", "7T", "7L1", "6L1", "5L1"], disarmingvoice: ["9M"], dive: ["6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - endeavor: ["7T", "6T", "5T"], + endeavor: ["9M", "7T", "6T", "5T"], endure: ["9M"], facade: ["9M", "7M", "6M", "5M"], - featherdance: ["9L21", "7L21", "6L21", "5L21"], + featherdance: ["9M", "9L21", "7L21", "6L21", "5L21"], flipturn: ["9M"], fly: ["9M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], @@ -60025,6 +61548,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpulse: ["9M", "9L13", "7T", "7L13", "6T", "6L13", "5L13"], watersport: ["7L1", "6L1", "5L1"], weatherball: ["9M"], + whirlpool: ["9M"], wingattack: ["9L1", "7L1", "6L1", "5L1"], }, encounters: [ @@ -60208,10 +61732,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M", "9L32", "7L36", "6L36", "5L36"], confide: ["7M", "6M"], dig: ["9M"], - doubleedge: ["9L37", "7L46", "6L46", "5L46"], + doubleedge: ["9M", "9L37", "7L46", "6L46", "5L46"], doublekick: ["9L10", "7L10", "6L10", "5L10"], doubleteam: ["7M", "6M", "5M"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M", "9L28", "7M", "7L32", "6M", "6L32", "5M", "5L32"], facade: ["9M", "7M", "6M", "5M"], @@ -60284,12 +61809,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { camouflage: ["7L1", "6L1", "5L1"], charm: ["9M", "9L36", "7L36", "6L36", "5L36"], confide: ["7M", "6M"], + curse: ["9M"], cut: ["6M", "5M"], dig: ["9M"], - doubleedge: ["9L44", "7L52", "6L52", "5L52"], + doubleedge: ["9M", "9L44", "7L52", "6L52", "5L52"], doublekick: ["9L10", "7L10", "6L10", "5L10"], doubleteam: ["7M", "6M", "5M"], echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M", "9L28", "7M", "7L32", "6M", "6L32", "5M", "5L32"], facade: ["9M", "7M", "6M", "5M"], @@ -60316,6 +61843,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magicalleaf: ["9M"], megahorn: ["9L1", "7L1", "6L1", "5L1"], naturepower: ["7M", "7L44", "6M", "6L44", "5L44"], + petalblizzard: ["9M"], playrough: ["9M"], protect: ["9M", "7M", "6M", "5M"], raindance: ["9M", "7M", "6M", "5M"], @@ -60342,6 +61870,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "7L1", "6L1", "5L1"], takedown: ["9M", "9L20", "7L20", "6L20", "5L20"], terablast: ["9M"], + throatchop: ["9M"], thunderwave: ["9M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], trailblaze: ["9M"], @@ -60844,6 +62373,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { alomomola: { learnset: { acrobatics: ["9M"], + alluringvoice: ["9M"], aquajet: ["9L9", "7L9", "6L9", "5L9"], aquaring: ["9L5", "7L5", "6L5", "5L5", "5D"], attract: ["7M", "6M", "5M"], @@ -60879,7 +62409,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mirrorcoat: ["9E", "7E", "6E", "5E", "5D"], mist: ["9E", "7E", "6E", "5E"], mistyterrain: ["9M"], - painsplit: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + painsplit: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], playnice: ["9L1", "7L1"], playrough: ["9M"], pound: ["9L1", "7L1", "6L1", "5L1"], @@ -60912,7 +62442,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "7M", "6M", "5M"], waterpulse: ["9M", "9L25", "7T", "7L25", "6T", "6L25", "5L25"], watersport: ["7L1", "6L1", "5L1"], - whirlpool: ["9L49", "7L49"], + whirlpool: ["9M", "9L49", "7L49"], wideguard: ["9L13", "7L1", "6L1", "5L53"], wish: ["9L37", "7L37", "6L37", "5L37"], zenheadbutt: ["9M"], @@ -60920,140 +62450,149 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, joltik: { learnset: { - absorb: ["8L1", "7L1"], - agility: ["8M", "8L24", "7L37", "6L37", "5L37"], + absorb: ["9L1", "8L1", "7L1"], + agility: ["9M", "9L24", "8M", "8L24", "7L37", "6L37", "5L37"], attract: ["8M", "7M", "6M", "5M"], bounce: ["8M", "7T", "6T", "5T"], - bugbite: ["8L8", "7T", "7L18", "6T", "6L18", "5T", "5L18"], - bugbuzz: ["8M", "8L48", "7L48", "6L48", "5L48"], + bugbite: ["9M", "9L8", "8L8", "7T", "7L18", "6T", "6L18", "5T", "5L18"], + bugbuzz: ["9M", "9L48", "8M", "8L48", "7L48", "6L48", "5L48"], camouflage: ["7E", "6E"], - chargebeam: ["7M", "6M", "5M"], + chargebeam: ["9M", "7M", "6M", "5M"], confide: ["7M", "6M"], crosspoison: ["8M", "7E", "6E", "5E"], cut: ["6M", "5M"], disable: ["7E", "6E", "5E"], - discharge: ["8L37", "7L45", "6L45", "5L45"], - doubleteam: ["8E", "7M", "6M", "5M"], - electroball: ["8M", "8L20", "7L29", "6L29", "5L29"], - electroweb: ["8M", "8L4", "7T", "7L15", "6T", "6L15", "5T", "5L15"], - endure: ["8M"], - energyball: ["8M", "7M", "6M", "5M"], - facade: ["8M", "7M", "6M", "5M"], + discharge: ["9L37", "8L37", "7L45", "6L45", "5L45"], + doubleteam: ["9E", "8E", "7M", "6M", "5M"], + electroball: ["9M", "9L20", "8M", "8L20", "7L29", "6L29", "5L29"], + electroweb: ["9M", "9L4", "8M", "8L4", "7T", "7L15", "6T", "6L15", "5T", "5L15"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], feintattack: ["7E", "6E", "5E"], flash: ["6M", "5M"], frustration: ["7M", "6M", "5M"], - furycutter: ["8L1", "7L12", "6L12", "5L12"], - gastroacid: ["8L44", "7T", "7L23", "6T", "6L23", "5T", "5L23"], - gigadrain: ["8M", "7T", "6T", "5T"], + furycutter: ["9L1", "8L1", "7L12", "6L12", "5L12"], + gastroacid: ["9L44", "8L44", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + gigadrain: ["9M", "8M", "7T", "6T", "5T"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - infestation: ["8E", "7M", "6M"], - leechlife: ["8M", "7M", "6L1", "5L1"], - lightscreen: ["8M", "7M", "6M", "5M"], - lunge: ["8E", "7E"], + infestation: ["9E", "8E", "7M", "6M"], + leechlife: ["9M", "8M", "7M", "6L1", "5L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + lunge: ["9M", "9E", "8E", "7E"], magnetrise: ["7T", "6T", "5T"], pinmissile: ["8M", "7E", "6E", "5E"], - poisonjab: ["8M", "7M", "6M", "5M"], - poisonsting: ["8E", "7E", "6E", "5E"], - protect: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + poisonsting: ["9E", "8E", "7E", "6E", "5E"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M"], pursuit: ["7E", "6E", "5E"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], risingvoltage: ["8T"], rockclimb: ["7E", "6E", "5E"], round: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L40", "7L7", "6L7", "5L7"], + screech: ["9L40", "8M", "8L40", "7L7", "6L7", "5L7"], secretpower: ["6M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "7L34", "6T", "6L34", "5T", "5L34"], - skittersmack: ["8T"], - slash: ["8L32", "7L26", "6L26", "5L26"], - sleeptalk: ["8M", "7M", "6M", "5T"], + skittersmack: ["9M", "8T"], + slash: ["9L32", "8L32", "7L26", "6L26", "5L26"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], speedswap: ["8M"], spiderweb: ["7L1", "6L1", "5L1"], - stringshot: ["8L12", "7L1", "6L1", "5L1"], - strugglebug: ["8E", "6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - suckerpunch: ["8L28", "7L40", "6L40", "5L40"], + stringshot: ["9L12", "8L12", "7L1", "6L1", "5L1"], + strugglebug: ["9M", "9E", "8E", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + suckerpunch: ["9L28", "8L28", "7L40", "6L40", "5L40"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - thief: ["8M", "7M", "6M", "5M"], - thunderbolt: ["8M", "7M", "6M", "5M"], - thunderwave: ["8M", "8L16", "7M", "7L4", "6M", "6L4", "5M", "5L4"], + swift: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunder: ["9M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "9L16", "8M", "8L16", "7M", "7L4", "6M", "6L4", "5M", "5L4"], toxic: ["7M", "6M", "5M"], - voltswitch: ["8M", "7M", "6M", "5M"], - wildcharge: ["8M", "7M", "6M", "5M"], - xscissor: ["8M", "7M", "6M", "5M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], }, }, galvantula: { learnset: { - absorb: ["8L1", "7L1"], - agility: ["8M", "8L24", "7L40", "6L40", "5L40"], + absorb: ["9L1", "8L1", "7L1"], + agility: ["9M", "9L24", "8M", "8L24", "7L40", "6L40", "5L40"], attract: ["8M", "7M", "6M", "5M"], bounce: ["8M", "7T", "6T", "5T"], - bugbite: ["8L1", "7T", "7L18", "6T", "6L18", "5T", "5L18"], - bugbuzz: ["8M", "8L56", "7L60", "6L60", "5L60"], - chargebeam: ["7M", "6M", "5M"], + bugbite: ["9M", "9L1", "8L1", "7T", "7L18", "6T", "6L18", "5T", "5L18"], + bugbuzz: ["9M", "9L56", "8M", "8L56", "7L60", "6L60", "5L60"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M"], confide: ["7M", "6M"], crosspoison: ["8M"], cut: ["6M", "5M"], disable: ["5D"], - discharge: ["8L39", "7L54", "6L54", "5L54"], + discharge: ["9L39", "8L39", "7L54", "6L54", "5L54"], doubleteam: ["7M", "6M", "5M"], - electroball: ["8M", "8L20", "7L29", "6L29", "5L29", "5D"], - electroweb: ["8M", "8L1", "7T", "7L15", "6T", "6L15", "5T", "5L15"], - endure: ["8M"], - energyball: ["8M", "7M", "6M", "5M"], - facade: ["8M", "7M", "6M", "5M"], + electroball: ["9M", "9L20", "8M", "8L20", "7L29", "6L29", "5L29", "5D"], + electroweb: ["9M", "9L1", "8M", "8L1", "7T", "7L15", "6T", "6L15", "5T", "5L15"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], flash: ["6M", "5M"], frustration: ["7M", "6M", "5M"], - furycutter: ["8L1", "7L12", "6L12", "5L12"], - gastroacid: ["8L50", "7T", "7L23", "6T", "6L23", "5T", "5L23"], - gigadrain: ["8M", "7T", "6T", "5T"], - gigaimpact: ["8M", "7M", "6M", "5M"], + furycutter: ["9L1", "8L1", "7L12", "6L12", "5L12"], + gastroacid: ["9L50", "8L50", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + gigadrain: ["9M", "8M", "7T", "6T", "5T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], infestation: ["7M", "6M"], - leechlife: ["8M", "7M", "6L1", "5L1"], - lightscreen: ["8M", "7M", "6M", "5M"], + leechlife: ["9M", "8M", "7M", "6L1", "5L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + lunge: ["9M"], magnetrise: ["7T", "6T", "5T"], pinmissile: ["8M"], - poisonjab: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M"], pursuit: ["5D"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], risingvoltage: ["8T"], round: ["8M", "7M", "6M", "5M"], - screech: ["8M", "8L44", "7L7", "6L7", "5L7"], + screech: ["9L44", "8M", "8L44", "7L7", "6L7", "5L7"], secretpower: ["6M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "7L34", "6T", "6L34", "5T", "5L34"], - skittersmack: ["8T"], - slash: ["8L32", "7L26", "6L26", "5L26"], - sleeptalk: ["8M", "7M", "6M", "5T"], + skittersmack: ["9M", "8T"], + slash: ["9L32", "8L32", "7L26", "6L26", "5L26"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], speedswap: ["8M"], spiderweb: ["7L1", "6L1", "5L1"], - stickyweb: ["8L0", "7L1", "6L1"], - stringshot: ["8L12", "7L1", "6L1", "5L1"], - strugglebug: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - suckerpunch: ["8L28", "7L46", "6L46", "5L46"], + stickyweb: ["9L0", "8L0", "7L1", "6L1"], + stringshot: ["9L12", "8L12", "7L1", "6L1", "5L1"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + suckerpunch: ["9L28", "8L28", "7L46", "6L46", "5L46"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - thief: ["8M", "7M", "6M", "5M"], - throatchop: ["8M", "7T"], - thunder: ["8M", "7M", "6M", "5M"], - thunderbolt: ["8M", "7M", "6M", "5M"], - thunderwave: ["8M", "8L16", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + swift: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + throatchop: ["9M", "8M", "7T"], + thunder: ["9M", "8M", "7M", "6M", "5M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "9L16", "8M", "8L16", "7M", "7L1", "6M", "6L1", "5M", "5L1"], toxic: ["7M", "6M", "5M"], - voltswitch: ["8M", "7M", "6M", "5M"], - wildcharge: ["8M", "7M", "6M", "5M"], - xscissor: ["8M", "7M", "6M", "5M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], }, encounters: [ {generation: 6, level: 30}, @@ -61415,6 +62954,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M"], + electroweb: ["9M"], endure: ["9M"], facade: ["9M", "7M", "6M", "5M"], flash: ["6M", "5M"], @@ -61447,7 +62987,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thrash: ["9L74", "7L74", "6L74", "5L74"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunder: ["9M", "7M", "6M", "5M"], thunderbolt: ["9M", "9L44", "7M", "7L44", "6M", "6L44", "5M", "5L44"], thunderfang: ["9M"], @@ -61491,6 +63031,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M"], + electroweb: ["9M"], endure: ["9M"], facade: ["9M", "7M", "6M", "5M"], firepunch: ["9M", "7T", "6T", "5T"], @@ -61537,6 +63078,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { strength: ["6M", "5M"], substitute: ["9M", "7M", "6M", "5M"], sunnyday: ["9M"], + supercellslam: ["9M"], superfang: ["9M", "7T", "6T", "5T"], superpower: ["7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], @@ -61544,7 +63086,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thrash: ["9L1", "7L1", "6L1"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunder: ["9M", "7M", "6M", "5M"], thunderbolt: ["9M", "7M", "6M", "5M"], thunderfang: ["9M"], @@ -61745,7 +63287,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { clearsmog: ["9E", "8E", "7E", "6E", "5E"], confide: ["7M", "6M"], confuseray: ["9M", "9L12", "8L12", "7L10", "6L10", "5L10"], - curse: ["9L32", "8L32", "7L43", "6L43", "5L43"], + curse: ["9M", "9L32", "8L32", "7L43", "6L43", "5L43"], darkpulse: ["9M", "8M", "7M", "6M", "5T"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], @@ -61774,13 +63316,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { mysticalfire: ["8M"], nightshade: ["9M", "9L28", "8L28", "7L13", "6L13", "5L13"], overheat: ["9M", "9L52", "8M", "8L52", "7M", "7L61", "6M", "6L61", "5M", "5L61"], - painsplit: ["9L48", "8L48", "7T", "7L55", "6T", "6L55", "5T", "5L55"], + painsplit: ["9M", "9L48", "8L48", "7T", "7L55", "6T", "6L55", "5T", "5L55"], payback: ["8M", "7M", "6M", "5M"], poltergeist: ["9M", "8T"], powersplit: ["9E", "8E", "7E", "6E"], protect: ["9M", "8M", "7M", "6M", "5M"], psychic: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], @@ -61788,7 +63330,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], shadowball: ["9M", "9L36", "8M", "8L36", "7M", "7L49", "6M", "6L49", "5M", "5L49"], shockwave: ["7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], smog: ["9L1", "8L1", "7L5", "6L5", "5L5"], snore: ["8M", "7T", "6T", "5T"], @@ -61799,6 +63341,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "6M", "5M"], taunt: ["9M", "8M", "7M", "6M", "5M"], telekinesis: ["7T", "5M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], @@ -61816,7 +63359,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], confuseray: ["9M", "9L12", "8L12", "7L10", "6L10", "5L10"], - curse: ["9L32", "8L32", "7L45", "6L45", "5L45"], + curse: ["9M", "9L32", "8L32", "7L45", "6L45", "5L45"], darkpulse: ["9M", "8M", "7M", "6M", "5T"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], @@ -61846,12 +63389,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mysticalfire: ["8M"], nightshade: ["9M", "9L28", "8L28", "7L13", "6L13", "5L13"], overheat: ["9M", "9L58", "8M", "8L58", "7M", "7L69", "6M", "6L69", "5M", "5L69"], - painsplit: ["9L52", "8L52", "7T", "7L61", "6T", "6L61", "5T", "5L61"], + painsplit: ["9M", "9L52", "8L52", "7T", "7L61", "6T", "6L61", "5T", "5L61"], payback: ["8M", "7M", "6M", "5M"], poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M", "6M", "5M"], psychic: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], @@ -61859,7 +63402,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], shadowball: ["9M", "9L36", "8M", "8L36", "7M", "7L53", "6M", "6L53", "5M", "5L53"], shockwave: ["7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], smog: ["9L1", "8L1", "7L1", "6L1", "5L1"], snore: ["8M", "7T", "6T", "5T"], @@ -61870,6 +63413,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "6M", "5M"], taunt: ["9M", "8M", "7M", "6M", "5M"], telekinesis: ["7T", "5M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], @@ -61890,7 +63434,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], confuseray: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1"], - curse: ["9L1", "8L1"], + curse: ["9M", "9L1", "8L1"], darkpulse: ["9M", "8M", "7M", "6M", "5T"], doubleteam: ["7M", "6M", "5M"], dreameater: ["7M", "6M", "5M"], @@ -61923,12 +63467,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mysticalfire: ["8M"], nightshade: ["9M", "9L1", "8L1"], overheat: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], - painsplit: ["9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T"], + painsplit: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T"], payback: ["8M", "7M", "6M", "5M"], poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M", "6M", "5M"], psychic: ["9M", "8M", "7M", "6M", "5M", "5S0"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], @@ -61936,7 +63480,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], shadowball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "5S0"], shockwave: ["7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], smog: ["9L1", "8L1", "7L1", "6L1", "5L1"], snore: ["8M", "7T", "6T", "5T"], @@ -61947,6 +63491,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "6M", "5M"], taunt: ["9M", "8M", "7M", "6M", "5M"], telekinesis: ["7T", "5M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], @@ -61966,7 +63511,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { assurance: ["9L9", "8M", "8L9", "7L7", "6L7", "5L7"], attract: ["8M", "7M", "6M", "5M"], bite: ["9L3", "8L3"], - breakingswipe: ["9L30", "8M"], + breakingswipe: ["9M", "9L30", "8M"], brickbreak: ["9M"], bulldoze: ["9M"], confide: ["7M", "6M"], @@ -61974,15 +63519,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L24", "8M", "8L24"], cut: ["6M", "5M"], dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L18", "8M", "8L18", "7M", "7L28", "6M", "6L28", "5M", "5L28", "5S1"], dragondance: ["9M", "9L27", "8M", "8L27", "7L32", "6L32", "5L32"], dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L41", "7E", "6T", "6L41", "6E", "5T", "5L41", "5E"], dragonrage: ["7L10", "6L10", "5L10", "5D", "5S0", "5S1", "5S2"], dragontail: ["9M"], dualchop: ["8L30", "7T", "7L13", "6T", "6L13", "5T", "5L13"], - endeavor: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + endeavor: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], endure: ["9M", "8M", "7E", "6E", "5E", "5S1"], facade: ["9M", "8M", "7M", "6M", "5M"], falseswipe: ["9M", "9L6", "8M", "8L6", "7M", "7L24", "6M", "6L24", "5M", "5L24"], @@ -62053,22 +63600,24 @@ export const Learnsets: {[k: string]: LearnsetData} = { assurance: ["9L9", "8M", "8L9", "7L1", "6L1", "5L1"], attract: ["8M", "7M", "6M", "5M"], bite: ["9L1", "8L1"], - breakingswipe: ["9L30", "8M"], + breakingswipe: ["9M", "9L30", "8M"], brickbreak: ["9M"], bulldoze: ["9M"], confide: ["7M", "6M"], crunch: ["9M", "9L24", "8M", "8L24"], cut: ["6M", "5M"], dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L18", "8M", "8L18", "7M", "7L28", "6M", "6L28", "5M", "5L28"], dragondance: ["9M", "9L27", "8M", "8L27", "7L32", "6L32", "5L32"], dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L42", "6T", "6L42", "5T", "5L42"], dragonrage: ["7L1", "6L1", "5L1"], dragontail: ["9M", "7M", "6M", "5M"], dualchop: ["8L30", "7T", "7L13", "6T", "6L13", "5T", "5L13"], - endeavor: ["7T", "6T", "5T"], + endeavor: ["9M", "7T", "6T", "5T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], falseswipe: ["9M", "9L1", "8M", "8L1", "7M", "7L24", "6M", "6L24", "5M", "5L24"], @@ -62135,7 +63684,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M", "6M", "5M"], bite: ["9L1", "8L1"], bodyslam: ["9M"], - breakingswipe: ["9L30", "8M"], + breakingswipe: ["9M", "9L30", "8M"], brickbreak: ["9M", "8M", "7M", "6M", "5M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], @@ -62144,8 +63693,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L24", "8M", "8L24"], cut: ["6M", "5M"], dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L18", "8M", "8L18", "7M", "7L28", "6M", "6L28", "5M", "5L28"], dragondance: ["9M", "9L27", "8M", "8L27", "7L32", "6L32", "5L32", "5S0"], dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L42", "6T", "6L42", "5T", "5L42"], @@ -62153,7 +63704,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dragontail: ["9M", "7M", "6M", "5M"], dualchop: ["8L30", "7T", "7L13", "6T", "6L13", "5T", "5L13", "5S0"], earthquake: ["9M", "8M", "7M", "6M", "5M", "5S0"], - endeavor: ["7T", "6T", "5T"], + endeavor: ["9M", "7T", "6T", "5T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], falseswipe: ["9M", "9L1", "8M", "8L1", "7M", "7L24", "6M", "6L24", "5M", "5L24"], @@ -62240,6 +63791,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M", "5M"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "8M", "7E", "6E", "5E"], + endeavor: ["9M"], endure: ["9M", "9L3", "8M", "8L3", "7L25", "6L25", "5L25"], facade: ["9M", "8M", "7M", "6M", "5M"], flail: ["9L24", "8L24", "7L36", "6L36", "5L36"], @@ -62328,13 +63880,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], crunch: ["9M"], + curse: ["9M"], cut: ["6M", "5M"], dig: ["9M", "8M", "6M", "5M"], dive: ["8M", "6M", "5M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], earthquake: ["9M"], echoedvoice: ["7M", "6M", "5M"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "9L1", "8M", "8L1", "7L25", "6L25", "5L25"], facade: ["9M", "8M", "7M", "6M", "5M"], flail: ["9L24", "8L24", "7L36", "6L36", "5L36"], @@ -62348,6 +63903,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { grassknot: ["9M", "8M", "7M", "6M", "5M"], growl: ["9L1", "8L1", "7L1", "6L1", "5L1"], hail: ["8M", "8L30", "7M", "7L53", "6M", "6L53", "5M", "5L53"], + hardpress: ["9M"], heavyslam: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], @@ -62400,7 +63956,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M"], thrash: ["9L33", "8L33", "7L1", "6L1", "5L59"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], toxic: ["7M", "6M", "5M"], trailblaze: ["9M"], waterpulse: ["9M", "7T", "6T"], @@ -62476,7 +64032,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], toxic: ["7M", "6M", "5M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], waterpulse: ["9M", "7T", "6T"], }, }, @@ -62759,7 +64315,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "8M", "7M", "6M", "5M"], calmmind: ["9M", "9L55", "8M", "8L55", "7M", "7L25", "6M", "6L25", "5M", "5L25"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], detect: ["9L1", "8L1", "7L9", "6L9", "5L9"], dig: ["9M", "8M", "6M", "5M"], @@ -62796,7 +64352,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], quickguard: ["9L20", "8L20", "7L45", "6L45", "5L45"], raindance: ["9M", "8M", "7M", "6M", "5M"], reflect: ["8M", "7M", "6M", "5M"], @@ -62826,6 +64382,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M", "6M", "5M"], trailblaze: ["9M"], + upperhand: ["9M"], uturn: ["9M", "9L30", "8M", "8L30", "7M", "7L41", "6M", "6L41", "5M", "5L41"], vitalthrow: ["8E", "7E", "6E", "5E"], workup: ["8M", "7M", "5M"], @@ -62848,10 +64405,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "8M", "7M", "6M", "5M"], calmmind: ["9M", "9L59", "8M", "8L59", "7M", "7L25", "6M", "6L25", "5M", "5L25"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], detect: ["9L1", "8L1", "7L1", "6L1", "5L1"], dig: ["9M", "8M", "6M", "5M"], + doubleedge: ["9M"], doubleslap: ["7L17", "6L17", "5L17"], doubleteam: ["7M", "6M", "5M"], drainpunch: ["9M", "9L35", "8M", "8L35", "7T", "7L33", "6T", "6L33", "5T", "5L33"], @@ -62887,7 +64445,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], quickguard: ["9L1", "8L1"], raindance: ["9M", "8M", "7M", "6M", "5M"], reflect: ["8M", "7M", "6M", "5M"], @@ -62916,6 +64474,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M", "6M", "5M"], trailblaze: ["9M"], + tripleaxel: ["9M"], + upperhand: ["9M"], uturn: ["9M", "9L30", "8M", "8L30", "7M", "7L41", "7S0", "6M", "6L41", "5M", "5L41"], vacuumwave: ["9M"], wideguard: ["9L20", "8L20", "7L45", "6L45", "5L45"], @@ -63026,179 +64586,203 @@ export const Learnsets: {[k: string]: LearnsetData} = { golett: { learnset: { allyswitch: ["8M", "7T"], - astonish: ["8L1", "7L1", "6L1", "5L1"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1"], block: ["7T", "6T", "5T"], - brickbreak: ["8M", "7M", "6M", "5M"], - bulldoze: ["8M", "7M", "6M", "5M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], - curse: ["8L16", "7L45", "6L40", "5L40"], - defensecurl: ["8L4", "7L1", "6L1", "5L1"], - dig: ["8M"], + confuseray: ["9M"], + curse: ["9M", "9L16", "8L16", "7L45", "6L40", "5L40"], + defensecurl: ["9L4", "8L4", "7L1", "6L1", "5L1"], + dig: ["9M", "8M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - drainpunch: ["8M", "7T", "6T", "5T"], - dynamicpunch: ["8L56", "7L35", "6L30", "5L30"], - earthpower: ["8M", "7T", "6T", "5T"], - earthquake: ["8M", "8L52", "7M", "7L50", "6M", "6L45", "5M", "5L45"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - firepunch: ["8M", "7T", "6T", "5T", "5D"], + drainpunch: ["9M", "8M", "7T", "6T", "5T"], + dynamicpunch: ["9L56", "8L56", "7L35", "6L30", "5L30"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "9L52", "8M", "8L52", "7M", "7L50", "6M", "6L45", "5M", "5L45"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "5D"], flash: ["6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - focuspunch: ["7T", "7L61", "6T", "6L55", "5L55"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M", "7T", "7L61", "6T", "6L55", "5L55"], frustration: ["7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - gravity: ["7T", "6T", "5T"], - gyroball: ["8M", "7M", "6M", "5M"], - hammerarm: ["8L48", "7L55", "6L50", "5L50"], - heavyslam: ["8M", "8L40"], - helpinghand: ["8M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], + gyroball: ["9M", "8M", "7M", "6M", "5M"], + hammerarm: ["9L48", "8L48", "7L55", "6L50", "5L50"], + heavyslam: ["9M", "9L40", "8M", "8L40"], + helpinghand: ["9M", "8M"], + hex: ["9M"], hiddenpower: ["7M", "6M", "5M"], - icebeam: ["8M", "7M", "6M", "5M"], - icepunch: ["8M", "7T", "6T", "5T"], - icywind: ["8M", "7T", "6T", "5T"], - imprison: ["8M"], - irondefense: ["8M", "8L28", "7T", "7L17", "6T", "6L17", "5T", "5L17"], - lowkick: ["8M", "7T", "6T", "5T"], - lowsweep: ["8M", "7M", "6M", "5M"], + icebeam: ["9M", "8M", "7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + icywind: ["9M", "8M", "7T", "6T", "5T"], + imprison: ["9M", "8M"], + irondefense: ["9M", "9L28", "8M", "8L28", "7T", "7L17", "6T", "6L17", "5T", "5L17"], + knockoff: ["9M"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], magiccoat: ["7T", "6T", "5T"], magnitude: ["7L30", "6L25", "5L25"], megakick: ["8M"], - megapunch: ["8M", "8L32", "7L25", "6L21", "5L21"], - mudslap: ["8L1", "7L5", "6L5", "5L5"], - nightshade: ["8L20", "7L40", "6L35", "5L35"], - phantomforce: ["8M", "8L44"], - poltergeist: ["8T"], - pound: ["8L8", "7L1", "6L1", "5L1"], + megapunch: ["9M", "9L32", "8M", "8L32", "7L25", "6L21", "5L21"], + mudslap: ["9M", "9L1", "8L1", "7L5", "6L5", "5L5"], + nightshade: ["9M", "9L20", "8L20", "7L40", "6L35", "5L35"], + phantomforce: ["9M", "9L44", "8M", "8L44"], + poltergeist: ["9M", "8T"], + pound: ["9L8", "8L8", "7L1", "6L1", "5L1"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["9M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], rockpolish: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], rollout: ["7L9", "6L9", "5L9", "5D"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], - scorchingsands: ["8T"], + sandstorm: ["9M"], + scorchingsands: ["9M", "8T"], secretpower: ["6M"], selfdestruct: ["8M"], - shadowball: ["8M", "8L36", "7M", "6M", "5M"], - shadowpunch: ["8L12", "7L13", "6L13", "5L13"], + shadowball: ["9M", "9L36", "8M", "8L36", "7M", "6M", "5M"], + shadowpunch: ["9L12", "8L12", "7L13", "6L13", "5L13"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T", "5T"], - sleeptalk: ["8M", "7M", "6M", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smackdown: ["9M"], snore: ["8M", "7T", "6T", "5T"], - stealthrock: ["8M", "7T", "6T", "5T"], - stompingtantrum: ["8M", "8L24", "7L21"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "9L24", "8M", "8L24", "7L21"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], superpower: ["8M", "7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], + takedown: ["9M"], telekinesis: ["7T", "5M"], - thief: ["8M", "7M", "6M", "5M"], - thunderpunch: ["8M", "7T", "6T", "5T", "5D"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "5D"], toxic: ["7M", "6M", "5M"], }, }, golurk: { learnset: { allyswitch: ["8M", "7T"], - astonish: ["8L1", "7L1", "6L1", "5L1"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1"], block: ["7T", "6T", "5T"], - bodypress: ["8M"], - bodyslam: ["8M"], - brickbreak: ["8M", "7M", "6M", "5M"], - bulldoze: ["8M", "7M", "6M", "5M"], - chargebeam: ["7M", "6M", "5M"], - closecombat: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + chargebeam: ["9M", "7M", "6M", "5M"], + closecombat: ["9M", "8M"], confide: ["7M", "6M"], - curse: ["8L16", "7L47", "6L40", "5L40"], + confuseray: ["9M"], + curse: ["9M", "9L16", "8L16", "7L47", "6L40", "5L40"], darkestlariat: ["8M"], - defensecurl: ["8L1", "7L1", "6L1", "5L1"], - dig: ["8M"], + defensecurl: ["9L1", "8L1", "7L1", "6L1", "5L1"], + dig: ["9M", "8M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - drainpunch: ["8M", "7T", "6T", "5T"], - dynamicpunch: ["8L64", "7L35", "6L30", "5L30"], - earthpower: ["8M", "7T", "6T", "5T"], - earthquake: ["8M", "8L58", "7M", "7L54", "6M", "6L50", "5M", "5L50"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - firepunch: ["8M", "7T", "6T", "5T"], + drainpunch: ["9M", "8M", "7T", "6T", "5T"], + dynamicpunch: ["9L64", "8L64", "7L35", "6L30", "5L30"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "9L58", "8M", "8L58", "7M", "7L54", "6M", "6L50", "5M", "5L50"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firepunch: ["9M", "8M", "7T", "6T", "5T"], flash: ["6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], - fly: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - focuspunch: ["8L1", "7T", "7L69", "6T", "6L1", "5L70"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M", "9L1", "8L1", "7T", "7L69", "6T", "6L1", "5L70"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["8M", "7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - gravity: ["7T", "6T", "5T"], - gyroball: ["8M", "7M", "6M", "5M", "5S0"], - hammerarm: ["8L52", "7L61", "6L60", "5L60", "5S0"], - heatcrash: ["8M"], - heavyslam: ["8M", "8L40", "7L1", "6L43", "5L43"], - helpinghand: ["8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "5S0"], + hammerarm: ["9L52", "8L52", "7L61", "6L60", "5L60", "5S0"], + hardpress: ["9M"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "9L40", "8M", "8L40", "7L1", "6L43", "5L43"], + helpinghand: ["9M", "8M"], + hex: ["9M"], hiddenpower: ["7M", "6M", "5M"], - highhorsepower: ["8M", "8L1", "7L1"], - hyperbeam: ["8M", "7M", "6M", "5M", "5S0"], - icebeam: ["8M", "7M", "6M", "5M"], - icepunch: ["8M", "7T", "6T", "5T"], - icywind: ["8M", "7T", "6T", "5T"], - imprison: ["8M"], - irondefense: ["8M", "8L28", "7T", "7L17", "6T", "6L17", "5T", "5L17"], - lowkick: ["8M", "7T", "6T", "5T"], - lowsweep: ["8M", "7M", "6M", "5M"], + highhorsepower: ["9M", "9L1", "8M", "8L1", "7L1"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "5S0"], + icebeam: ["9M", "8M", "7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + icywind: ["9M", "8M", "7T", "6T", "5T"], + imprison: ["9M", "8M"], + irondefense: ["9M", "9L28", "8M", "8L28", "7T", "7L17", "6T", "6L17", "5T", "5L17"], + knockoff: ["9M"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], magiccoat: ["7T", "6T", "5T"], magnitude: ["7L30", "6L25", "5L25"], megakick: ["8M"], - megapunch: ["8M", "8L32", "7L25", "6L21", "5L21"], - mudslap: ["8L1", "7L1", "6L1", "5L1"], - nightshade: ["8L20", "7L40", "6L35", "5L35"], - phantomforce: ["8M", "8L46", "7L76", "6L1"], - poltergeist: ["8T"], - pound: ["8L1", "7L1", "6L1", "5L1"], + megapunch: ["9M", "9L32", "8M", "8L32", "7L25", "6L21", "5L21"], + mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1"], + nightshade: ["9M", "9L20", "8L20", "7L40", "6L35", "5L35"], + phantomforce: ["9M", "9L46", "8M", "8L46", "7L76", "6L1"], + poltergeist: ["9M", "8T"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["9M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], rockpolish: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], rollout: ["7L9", "6L9", "5L9"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], - scorchingsands: ["8T"], + sandstorm: ["9M"], + scorchingsands: ["9M", "8T"], secretpower: ["6M"], selfdestruct: ["8M"], - shadowball: ["8M", "8L36", "7M", "6M", "5M"], - shadowpunch: ["8L12", "7L13", "6L13", "5L13", "5S0"], + shadowball: ["9M", "9L36", "8M", "8L36", "7M", "6M", "5M"], + shadowpunch: ["9L12", "8L12", "7L13", "6L13", "5L13", "5S0"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T", "5T"], - sleeptalk: ["8M", "7M", "6M", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smackdown: ["9M"], snore: ["8M", "7T", "6T", "5T"], - solarbeam: ["8M", "7M", "6M", "5M"], - stealthrock: ["8M", "7T", "6T", "5T"], - stompingtantrum: ["8M", "8L24", "7T", "7L21"], - stoneedge: ["8M", "7M", "6M", "5M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "9L24", "8M", "8L24", "7T", "7L21"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], superpower: ["8M", "7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], + takedown: ["9M"], telekinesis: ["7T", "5M"], - thief: ["8M", "7M", "6M", "5M"], - thunderbolt: ["8M", "7M", "6M", "5M"], - thunderpunch: ["8M", "7T", "6T", "5T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], toxic: ["7M", "6M", "5M"], - trick: ["8M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + trick: ["9M", "8M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 70, shiny: true, abilities: ["ironfist"], moves: ["shadowpunch", "hyperbeam", "gyroball", "hammerarm"], pokeball: "cherishball"}, @@ -63247,7 +64831,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magnetrise: ["7T", "6T", "5T"], meanlook: ["9E", "8E", "7E", "6E", "5E"], metalclaw: ["9M", "9L10", "8L10", "7L25", "6L25", "5L25"], - metalsound: ["9L30", "8L30", "7L38", "6L38", "5L38"], + metalsound: ["9M", "9L30", "8L30", "7L38", "6L38", "5L38"], nightslash: ["9L40", "8L40", "7L49", "6L49", "5L49"], payback: ["8M", "7M", "6M", "5M"], poisonjab: ["9M", "8M", "7M", "6M", "5M"], @@ -63337,7 +64921,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magnetrise: ["7T", "6T", "5T"], metalburst: ["9L1", "8L1", "7L1", "6L1", "5L1"], metalclaw: ["9M", "9L1", "8L1", "7L25", "6L25", "5L25"], - metalsound: ["9L30", "8L30", "7L38", "6L38", "5L38"], + metalsound: ["9M", "9L30", "8L30", "7L38", "6L38", "5L38"], nightslash: ["9L40", "8L40", "7L49", "6L49", "5L49"], payback: ["8M", "7M", "6M", "5M"], poisonjab: ["9M", "8M", "7M", "6M", "5M"], @@ -63377,7 +64961,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M", "7M", "6M", "5M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderwave: ["9M", "8M", "7M", "6M", "5M"], torment: ["9L15", "8L15", "7M", "7L1", "6M", "6L1", "5M", "5L1"], toxic: ["7M", "6M", "5M"], @@ -63416,7 +65000,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowsweep: ["9M"], metalburst: ["9L1"], metalclaw: ["9M", "9L1"], - metalsound: ["9L30"], + metalsound: ["9M", "9L30"], nightslash: ["9L40"], poisonjab: ["9M"], protect: ["9M"], @@ -63442,6 +65026,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunderwave: ["9M"], torment: ["9L15"], xscissor: ["9M"], @@ -63545,10 +65130,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { crushclaw: ["9L48", "8L48", "7L46", "6L46", "5L46"], cut: ["6M", "5M"], defog: ["9L60", "8L60", "7T", "7L32", "6L32", "5L32"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dualwingbeat: ["9M", "8T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], + featherdance: ["9M"], fly: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], furyattack: ["7L5", "6L5", "5L5"], @@ -63613,10 +65200,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { crushclaw: ["9L48", "8L48", "7L46", "6L46", "5L46"], cut: ["6M", "5M"], defog: ["9L64", "8L64", "7T", "7L32", "6L32", "5L32"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dualwingbeat: ["9M", "8T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], + featherdance: ["9M"], fly: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], furyattack: ["7L1", "6L1", "5L1"], @@ -63693,11 +65282,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { crushclaw: ["9L48"], dazzlinggleam: ["9M"], defog: ["9L64"], + doubleedge: ["9M"], dualwingbeat: ["9M"], endure: ["9M"], esperwing: ["9L0"], + expandingforce: ["9M"], facade: ["9M"], + featherdance: ["9M"], fly: ["9M"], + futuresight: ["9M"], gigaimpact: ["9M"], heatwave: ["9M"], helpinghand: ["9M"], @@ -63713,7 +65306,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M"], psybeam: ["9M"], psychic: ["9M"], + psychicnoise: ["9M"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M"], raindance: ["9M"], rest: ["9M"], @@ -63756,12 +65351,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M"], darkpulse: ["9M", "9L48", "8M", "8L48", "7M", "7L46", "6M", "6L46", "5T", "5L46"], defog: ["9L60", "8L60", "7T", "7L32", "6L32", "5L32"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dualwingbeat: ["9M", "8T"], embargo: ["7M", "7L50", "6M", "6L50", "5M", "5L50"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], faketears: ["9M", "8M", "7E", "6E", "5E"], + featherdance: ["9M"], feintattack: ["7L23", "6L23", "5L23"], flatter: ["9L6", "8L6", "7L19", "6L19", "5L19"], fly: ["9M", "8M", "7M", "6M", "5M"], @@ -63782,7 +65379,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { payback: ["8M", "7M", "6M", "5M"], pluck: ["9L12", "8L12", "7L10", "6L10", "5M", "5L10"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], punishment: ["7L28", "6L28", "5L28"], raindance: ["9M", "8M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], @@ -63810,6 +65407,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M", "7M", "6M", "5M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], + throatchop: ["9M"], torment: ["7M", "6M", "5M"], toxic: ["9M", "9E", "8E", "7M", "6M", "5M"], uproar: ["9M"], @@ -63832,12 +65430,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M", "5M"], darkpulse: ["9M", "9L48", "8M", "8L48", "7M", "7L46", "6M", "6L46", "5T", "5L46"], defog: ["9L64", "8L64", "7T", "7L32", "6L32", "5L32"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], dualwingbeat: ["9M", "8T"], embargo: ["7M", "7L50", "6M", "6L50", "5M", "5L50"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], faketears: ["9M", "8M"], + featherdance: ["9M"], feintattack: ["7L23", "6L23", "5L23", "5S0"], flatter: ["9L1", "8L1", "7L19", "6L19", "5L19", "5S0"], fly: ["9M", "8M", "7M", "6M", "5M"], @@ -63860,7 +65460,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { payback: ["8M", "7M", "6M", "5M"], pluck: ["9L1", "8L1", "7L1", "6L1", "5M", "5L1", "5S0"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], punishment: ["7L28", "6L28", "5L28"], raindance: ["9M", "8M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], @@ -63890,6 +65490,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M", "7M", "6M", "5M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], + throatchop: ["9M"], torment: ["7M", "6M", "5M"], toxic: ["9M", "9L1", "8L1", "7M", "6M", "5M"], uproar: ["9M"], @@ -64069,6 +65670,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M", "5M"], dracometeor: ["9M", "8T", "7T", "6T", "5T"], dragonbreath: ["9L4", "8L4", "7L17", "6L17", "5L17"], + dragoncheer: ["9M"], dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L32", "6T", "6L32", "5T", "5L32"], dragonrage: ["7L1", "6L1", "5L1", "5S0"], dragonrush: ["9L52", "8L52", "7L42", "6L42", "5L42"], @@ -64088,7 +65690,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nastyplot: ["9M", "9L56", "8M", "8L56"], outrage: ["9M", "9L60", "8M", "8L60", "7T", "7L62", "6T", "6L62", "5T", "5L62"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], @@ -64141,6 +65743,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M", "5M"], dracometeor: ["9M", "8T", "7T", "6T", "5T"], dragonbreath: ["9L1", "8L1", "7L17", "6L17", "5L17"], + dragoncheer: ["9M"], dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L32", "6T", "6L32", "5T", "5L32"], dragonrage: ["7L1", "6L1", "5L1"], dragonrush: ["9L54", "8L54", "7L42", "6L42", "5L42"], @@ -64161,7 +65764,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { nastyplot: ["9M", "9L60", "8M", "8L60"], outrage: ["9M", "9L66", "8M", "8L66", "7T", "7L71", "6T", "6L71", "5T", "5L71"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], @@ -64209,7 +65812,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { beatup: ["8M"], bite: ["9L1", "8L1", "7L1", "6L1", "5L1"], bodyslam: ["9M", "9L44", "8M", "8L44", "7L48", "6L48", "5L48"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], bulldoze: ["9M", "8M", "7M", "6M", "5M"], chargebeam: ["7M", "6M", "5M"], @@ -64221,6 +65824,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M", "5M"], dracometeor: ["9M", "8T", "7T", "6T", "5T"], dragonbreath: ["9L1", "8L1", "7L17", "6L17", "5L17", "5S0"], + dragoncheer: ["9M"], dragondance: ["9M", "8M"], dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L32", "6T", "6L32", "5T", "5L32"], dragonrage: ["7L1", "6L1", "5L1"], @@ -64257,7 +65861,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { outrage: ["9M", "9L68", "8M", "8L68", "7T", "7L1", "6T", "6L1", "5T", "5L79"], payback: ["8M", "7M", "6M", "5M"], protect: ["9M", "8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], raindance: ["9M", "8M", "7M", "6M", "5M"], reflect: ["9M", "8M", "7M", "6M", "5M"], rest: ["9M", "8M", "7M", "6M", "5M"], @@ -64295,7 +65899,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M", "7M", "6M", "5M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M", "5M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderfang: ["9M", "8M"], thunderwave: ["9M", "8M", "7M", "6M", "5M"], torment: ["7M", "6M", "5M"], @@ -64325,7 +65929,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bugbuzz: ["9M", "9L42", "8M", "8L42", "7L70", "6L70", "5L70"], calmmind: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], - doubleedge: ["9L60", "8L60", "7L50", "6L50", "5L50"], + doubleedge: ["9M", "9L60", "8L60", "7L50", "6L50", "5L50"], doubleteam: ["7M", "6M", "5M"], ember: ["9L1", "8L1", "7L1", "6L1", "5L1"], endure: ["9M", "8M", "7E", "6E", "5E"], @@ -64359,7 +65963,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { screech: ["9L30", "8M", "8L30"], secretpower: ["6M"], signalbeam: ["7T", "6T", "5T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], solarbeam: ["9M", "8M", "7M", "6M", "5M"], @@ -64394,7 +65998,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "8M", "7M", "6M", "5M"], confide: ["7M", "6M"], defog: ["7T"], - doubleedge: ["9L1", "8L1"], + doubleedge: ["9M", "9L1", "8L1"], doubleteam: ["7M", "6M", "5M"], dualwingbeat: ["9M", "8T"], ember: ["9L1", "8L1", "7L1", "6L1", "5L1"], @@ -64439,7 +66043,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], signalbeam: ["7T", "6T", "5T"], silverwind: ["7L50", "6L50", "5L50"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], solarbeam: ["9M", "8M", "7M", "6M", "5M"], @@ -64470,77 +66074,88 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, cobalion: { learnset: { - aerialace: ["7M", "6M", "5M"], - airslash: ["8M"], + aerialace: ["9M", "7M", "6M", "5M"], + airslash: ["9M", "8M"], + aurasphere: ["9M"], block: ["7T", "6T", "5T"], + bodypress: ["9M"], + bodyslam: ["9M"], bounce: ["8M", "7T", "6T", "5T"], - brickbreak: ["8M"], - calmmind: ["8M", "7M", "6M", "5M"], - closecombat: ["8M", "8L70", "8S5", "7L1", "6L1", "5L73"], - coaching: ["8T"], + brickbreak: ["9M", "8M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + closecombat: ["9M", "9L70", "9S6", "8M", "8L70", "8S5", "7L1", "6L1", "5L73"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], cut: ["6M", "5M"], - doublekick: ["8L21", "7L1", "6L7", "5L7"], + doubleedge: ["9M"], + doublekick: ["9L21", "8L21", "7L1", "6L7", "5L7"], doubleteam: ["7M", "6M", "5M"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - falseswipe: ["8M", "7M", "6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["8M", "7M", "6M", "5M"], - helpinghand: ["8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + heavyslam: ["9M"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - irondefense: ["8M", "7T", "6T", "5T"], - ironhead: ["8M", "8L63", "8S5", "7T", "7L25", "7S4", "6T", "6L37", "6S3", "5T", "5L37", "5S0", "5S1"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + irondefense: ["9M", "8M", "7T", "6T", "5T"], + ironhead: ["9M", "9L63", "9S6", "8M", "8L63", "8S5", "7T", "7L25", "7S4", "6T", "6L37", "6S3", "5T", "5L37", "5S0", "5S1"], laserfocus: ["7T"], - leer: ["8L1", "7L1", "6L1", "5L1"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], magnetrise: ["7T", "6T", "5T"], megahorn: ["8M"], - metalburst: ["8L35", "7L1", "6L1", "5L67"], - metalclaw: ["8L7", "7L1", "6L13", "5L13"], - poisonjab: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], - quickattack: ["8L1", "7L1", "7S4", "6L1", "5L1"], - quickguard: ["8L14", "7L42", "6L1", "5L55", "5S2"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], - retaliate: ["8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], + metalburst: ["9L35", "8L35", "7L1", "6L1", "5L67"], + metalclaw: ["9M", "9L7", "8L7", "7L1", "6L13", "5L13"], + metalsound: ["9M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], + quickattack: ["9L1", "8L1", "7L1", "7S4", "6L1", "5L1"], + quickguard: ["9L14", "8L14", "7L42", "6L1", "5L55", "5S2"], + raindance: ["9M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["9L28", "8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], return: ["7M", "6M", "5M"], revenge: ["8M"], - reversal: ["8M"], - roar: ["7M", "6M", "5M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "6M", "5M"], rockpolish: ["7M", "6M", "5M"], rocksmash: ["6M", "5M"], round: ["8M", "7M", "6M", "5M"], - sacredsword: ["8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], + sacredsword: ["9L49", "9S6", "8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], safeguard: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "6M", "5M"], - scaryface: ["8M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], secretpower: ["6M"], - sleeptalk: ["8M", "7M", "6M", "5T"], - smartstrike: ["8M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smartstrike: ["9M", "8M"], snore: ["8M", "7T", "6T", "5T"], - stealthrock: ["8M", "7T", "6T", "5T"], - steelbeam: ["8T"], - stoneedge: ["8M", "7M", "6M", "5M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + steelbeam: ["9M", "8T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], superpower: ["8M", "7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - swordsdance: ["8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], - takedown: ["8L42", "7L7", "6L19", "5L19"], - taunt: ["8M", "7M", "6M", "5M"], - thunderwave: ["8M", "7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L56", "9S6", "8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], + takedown: ["9M", "9L42", "8L42", "7L7", "6L19", "5L19"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - voltswitch: ["8M", "7M", "6M", "5M"], - workup: ["8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], - xscissor: ["8M", "7M", "6M", "5M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + upperhand: ["9M"], + vacuumwave: ["9M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + workup: ["9L1", "8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 42, shiny: 1, moves: ["helpinghand", "retaliate", "ironhead", "sacredsword"]}, @@ -64549,80 +66164,87 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 50, shiny: 1, moves: ["retaliate", "ironhead", "sacredsword", "swordsdance"]}, {generation: 7, level: 60, shiny: 1, moves: ["sacredsword", "swordsdance", "quickattack", "ironhead"]}, {generation: 8, level: 70, shiny: 1, moves: ["sacredsword", "swordsdance", "ironhead", "closecombat"]}, + {generation: 9, level: 70, moves: ["closecombat", "ironhead", "swordsdance", "sacredsword"]}, ], eventOnly: true, }, terrakion: { learnset: { - aerialace: ["7M", "6M", "5M"], - airslash: ["8M"], + aerialace: ["9M", "7M", "6M", "5M"], + airslash: ["9M", "8M"], + aurasphere: ["9M"], block: ["7T", "6T", "5T"], - brickbreak: ["8M"], - bulldoze: ["8M", "7M", "6M", "5M"], - calmmind: ["8M", "7M", "6M", "5M"], - closecombat: ["8M", "8L70", "8S5", "7L1", "6L1", "5L73"], - coaching: ["8T"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + closecombat: ["9M", "9L70", "9S6", "8M", "8L70", "8S5", "7L1", "6L1", "5L73"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], cut: ["6M", "5M"], - doublekick: ["8L21", "7L1", "6L7", "5L7"], + doubleedge: ["9M"], + doublekick: ["9L21", "8L21", "7L1", "6L7", "5L7"], doubleteam: ["7M", "6M", "5M"], - earthpower: ["8M", "7T", "6T", "5T"], - earthquake: ["8M", "7M", "6M", "5M"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - falseswipe: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["8M", "7M", "6M", "5M"], - helpinghand: ["8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], hiddenpower: ["7M", "6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - ironhead: ["8M", "7T", "6T", "5T"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T"], laserfocus: ["7T"], - leer: ["8L1", "7L1", "6L1", "5L1"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], megahorn: ["8M"], - poisonjab: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], - quickattack: ["8L1", "7L1", "6L1", "5L1"], - quickguard: ["8L14", "7L42", "6L1", "5L55", "5S2"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], - retaliate: ["8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1"], + quickguard: ["9L14", "8L14", "7L42", "6L1", "5L55", "5S2"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["9L28", "8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], return: ["7M", "6M", "5M"], revenge: ["8M"], - reversal: ["8M"], - roar: ["7M", "6M", "5M"], - rockblast: ["8M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "6M", "5M"], + rockblast: ["9M", "8M"], rockpolish: ["7M", "6M", "5M"], - rockslide: ["8M", "8L35", "7M", "7L25", "7S4", "6M", "6L37", "6S3", "5M", "5L37", "5S0", "5S1"], + rockslide: ["9M", "9L35", "8M", "8L35", "7M", "7L25", "7S4", "6M", "6L37", "6S3", "5M", "5L37", "5S0", "5S1"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], round: ["8M", "7M", "6M", "5M"], - sacredsword: ["8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], + sacredsword: ["9L49", "9S6", "8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], safeguard: ["8M", "7M", "6M", "5M"], - sandstorm: ["8M", "7M", "6M", "5M"], - scaryface: ["8M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], secretpower: ["6M"], - sleeptalk: ["8M", "7M", "6M", "5T"], - smackdown: ["8L7", "7M", "7L1", "6M", "6L13", "5M", "5L13"], - smartstrike: ["8M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smackdown: ["9M", "9L7", "8L7", "7M", "7L1", "6M", "6L13", "5M", "5L13"], + smartstrike: ["9M", "8M"], snore: ["8M", "7T", "6T", "5T"], - stealthrock: ["8M", "7T", "6T", "5T"], - stompingtantrum: ["8M", "7T"], - stoneedge: ["8M", "8L63", "8S5", "7M", "7L55", "7S4", "6M", "6L67", "5M", "5L67"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L63", "9S6", "8M", "8L63", "8S5", "7M", "7L55", "7S4", "6M", "6L67", "5M", "5L67"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], superpower: ["8M", "7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - swordsdance: ["8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], - takedown: ["8L42", "7L7", "6L19", "5L19"], - taunt: ["8M", "7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L56", "9S6", "8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], + takedown: ["9M", "9L42", "8L42", "7L7", "6L19", "5L19"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - workup: ["8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], - xscissor: ["8M", "7M", "6M", "5M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + upperhand: ["9M"], + workup: ["9L1", "8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 42, shiny: 1, moves: ["helpinghand", "retaliate", "rockslide", "sacredsword"]}, @@ -64631,83 +66253,93 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 50, shiny: 1, moves: ["retaliate", "rockslide", "sacredsword", "swordsdance"]}, {generation: 7, level: 60, shiny: 1, moves: ["sacredsword", "swordsdance", "rockslide", "stoneedge"]}, {generation: 8, level: 70, shiny: 1, moves: ["sacredsword", "swordsdance", "stoneedge", "closecombat"]}, + {generation: 9, level: 70, moves: ["closecombat", "stoneedge", "swordsdance", "sacredsword"]}, ], eventOnly: true, }, virizion: { learnset: { - aerialace: ["7M", "6M", "5M"], - airslash: ["8M"], + aerialace: ["9M", "7M", "6M", "5M"], + airslash: ["9M", "8M"], + aurasphere: ["9M"], block: ["7T", "6T", "5T"], + bodyslam: ["9M"], bounce: ["8M", "7T", "6T", "5T"], - brickbreak: ["8M"], - calmmind: ["8M", "7M", "6M", "5M"], - closecombat: ["8M", "8L70", "8S5", "7L1", "6L1", "5L73"], - coaching: ["8T"], + brickbreak: ["9M", "8M"], + bulletseed: ["9M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + closecombat: ["9M", "9L70", "9S6", "8M", "8L70", "8S5", "7L1", "6L1", "5L73"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], cut: ["6M", "5M"], - doublekick: ["8L21", "7L1", "6L7", "5L7"], + doubleedge: ["9M"], + doublekick: ["9L21", "8L21", "7L1", "6L7", "5L7"], doubleteam: ["7M", "6M", "5M"], - endure: ["8M"], - energyball: ["8M", "7M", "6M", "5M"], - facade: ["8M", "7M", "6M", "5M"], - falseswipe: ["8M", "7M", "6M", "5M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], flash: ["6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - gigadrain: ["8M", "8L35", "7T", "7L25", "7S4", "6T", "6L37", "6S3", "5T", "5L37", "5S0", "5S1"], - gigaimpact: ["8M", "7M", "6M", "5M"], - grassknot: ["8M", "7M", "6M", "5M"], - grassyglide: ["8T"], - helpinghand: ["8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], + gigadrain: ["9M", "9L35", "8M", "8L35", "7T", "7L25", "7S4", "6T", "6L37", "6S3", "5T", "5L37", "5S0", "5S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + grassyglide: ["9M", "8T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], hiddenpower: ["7M", "6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], laserfocus: ["7T"], - leafblade: ["8M", "8L63", "8S5", "7L1", "7S4", "6L1", "5L67"], - leafstorm: ["8M"], - leer: ["8L1", "7L1", "6L1", "5L1"], - lightscreen: ["8M", "7M", "6M", "5M"], - magicalleaf: ["8M", "8L7", "7L1", "6L13", "5L13"], + leafblade: ["9L63", "9S6", "8M", "8L63", "8S5", "7L1", "7S4", "6L1", "5L67"], + leafstorm: ["9M", "8M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + magicalleaf: ["9M", "9L7", "8M", "8L7", "7L1", "6L13", "5L13"], megahorn: ["8M"], naturepower: ["7M", "6M"], - protect: ["8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], - quickattack: ["8L1", "7L1", "6L1", "5L1"], - quickguard: ["8L14", "7L42", "6L1", "5L55", "5S2"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], - retaliate: ["8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1"], + quickguard: ["9L14", "8L14", "7L42", "6L1", "5L55", "5S2"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["9L28", "8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], return: ["7M", "6M", "5M"], revenge: ["8M"], - reversal: ["8M"], - roar: ["7M", "6M", "5M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], round: ["8M", "7M", "6M", "5M"], - sacredsword: ["8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], + sacredsword: ["9L49", "9S6", "8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], safeguard: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], secretpower: ["6M"], - seedbomb: ["8M", "7T", "6T", "5T"], - sleeptalk: ["8M", "7M", "6M", "5T"], - smartstrike: ["8M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smartstrike: ["9M", "8M"], snore: ["8M", "7T", "6T", "5T"], - solarbeam: ["8M", "7M", "6M", "5M"], - solarblade: ["8M"], - stoneedge: ["8M", "7M", "6M", "5M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + solarblade: ["9M", "8M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], superpower: ["8M", "7T", "6T", "5T"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - swordsdance: ["8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], - synthesis: ["7T", "6T", "5T"], - takedown: ["8L42", "7L7", "6L19", "5L19"], - taunt: ["8M", "7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L56", "9S6", "8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], + synthesis: ["9L42", "7T", "6T", "5T"], + takedown: ["9M", "9L1", "8L42", "7L7", "6L19", "5L19"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - workup: ["8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], + trailblaze: ["9M"], + upperhand: ["9M"], + vacuumwave: ["9M"], + workup: ["9L1", "8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], worryseed: ["7T", "6T", "5T"], - xscissor: ["8M", "7M", "6M", "5M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 42, shiny: 1, moves: ["helpinghand", "retaliate", "gigadrain", "sacredsword"]}, @@ -64716,6 +66348,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 50, shiny: 1, moves: ["retaliate", "gigadrain", "sacredsword", "swordsdance"]}, {generation: 7, level: 60, shiny: 1, moves: ["sacredsword", "swordsdance", "gigadrain", "leafblade"]}, {generation: 8, level: 70, shiny: 1, moves: ["sacredsword", "swordsdance", "leafblade", "closecombat"]}, + {generation: 9, level: 70, moves: ["closecombat", "leafblade", "swordsdance", "sacredsword"]}, ], eventOnly: true, }, @@ -64783,7 +66416,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { skydrop: ["7M", "6M", "5M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M", "7M", "6M", "5M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], smackdown: ["9M", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T"], snowscape: ["9M"], @@ -64842,7 +66475,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T", "6T"], + electroweb: ["9M", "8M", "7T", "6T"], embargo: ["7M", "6M", "5M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M", "5M"], @@ -64881,7 +66514,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { skydrop: ["7M", "6M", "5M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M", "7M", "6M", "5M"], - sludgewave: ["8M", "8S7", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "8S7", "7M", "6M", "5M"], smackdown: ["9M", "7M", "6M", "5M"], smartstrike: ["9M", "8M", "7M"], snarl: ["9M"], @@ -64889,6 +66522,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { strength: ["6M", "5M"], substitute: ["9M", "8M", "7M", "6M", "5M"], sunnyday: ["9M"], + supercellslam: ["9M"], superpower: ["8M", "7T", "6T", "5T"], swagger: ["9L10", "8L10", "7M", "7L1", "6M", "6L7", "5M", "5L7"], takedown: ["9M"], @@ -64928,90 +66562,98 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, reshiram: { learnset: { - ancientpower: ["8L1", "7L15", "6L15", "5L15"], - blueflare: ["8L88", "7L100", "7S6", "6L100", "5L100", "5S2"], - bodypress: ["8M"], - breakingswipe: ["8M"], + ancientpower: ["9L1", "8L1", "7L15", "6L15", "5L15"], + blueflare: ["9L88", "8L88", "7L100", "7S6", "6L100", "5L100", "5S2"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], confide: ["7M", "6M"], - crunch: ["8M", "8L16", "7L71", "6L71", "5L71"], + crunch: ["9M", "9L16", "8M", "8L16", "7L71", "6L71", "5L71"], cut: ["6M", "5M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - dracometeor: ["8T", "7T", "7S6", "6T", "5T", "5S2"], - dragonbreath: ["8L1", "7L29", "6L29", "6S3", "5L29", "5S0"], - dragonclaw: ["8M", "8S7", "7M", "6M", "5M"], - dragondance: ["8M"], - dragonpulse: ["8M", "8L32", "7T", "7L54", "7S4", "7S5", "6T", "6L54", "5T", "5L54", "5S1"], + dracometeor: ["9M", "8T", "7T", "7S6", "6T", "5T", "5S2"], + dragonbreath: ["9L1", "8L1", "7L29", "6L29", "6S3", "5L29", "5S0"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "8M", "8S7", "7M", "6M", "5M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L32", "8M", "8L32", "7T", "7L54", "7S4", "7S5", "6T", "6L54", "5T", "5L54", "5S1"], dragonrage: ["7L1", "6L1", "5L1"], - dragontail: ["7M", "6M", "5M"], - dualwingbeat: ["8T"], - earthpower: ["8M", "7T", "7S6", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "7S6", "6T", "5T"], echoedvoice: ["7M", "6M", "5M"], - endure: ["8M"], - extrasensory: ["8L24", "8S7", "7L43", "7S4", "7S5", "6L43", "6S3", "5L43", "5S0", "5S1"], - facade: ["8M", "7M", "6M", "5M"], - fireblast: ["8M", "8L64", "7M", "7L78", "6M", "6L78", "5M", "5L78"], - firefang: ["8M", "8L1", "7L1", "6L1", "5L1"], - flamecharge: ["7M", "6M", "5M"], - flamethrower: ["8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22"], - flareblitz: ["8M"], - fling: ["8M", "7M", "6M", "5M"], - fly: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], + endure: ["9M", "8M"], + extrasensory: ["9L24", "8L24", "8S7", "7L43", "7S4", "7S5", "6L43", "6S3", "5L43", "5S0", "5S1"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fireblast: ["9M", "9L64", "9S8", "8M", "8L64", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + firefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1"], + firespin: ["9M"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L40", "9S8", "8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + flareblitz: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - fusionflare: ["8L48", "8S7", "7L50", "7S4", "7S5", "7S6", "6L50", "6S3", "5L50", "5S0", "5S1", "5S2"], - gigaimpact: ["8M", "7M", "6M", "5M"], - heatcrash: ["8M"], - heatwave: ["8M", "7T", "6T", "5T"], - helpinghand: ["8M"], + fusionflare: ["9L48", "9S8", "8L48", "8S7", "7L50", "7S4", "7S5", "7S6", "6L50", "6S3", "5L50", "5S0", "5S1", "5S2"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - hypervoice: ["8M", "8L56", "7T", "7L92", "6T", "6L92", "5T", "5L92"], - imprison: ["8M", "8L72", "7L64", "6L8", "5L8", "5S1"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypervoice: ["9M", "9L56", "9S8", "8M", "8L56", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + imprison: ["9M", "9L72", "8M", "8L72", "7L64", "6L8", "5L8", "5S1"], incinerate: ["6M", "5M"], laserfocus: ["7T"], - lightscreen: ["8M", "7M", "6M", "5M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], mist: ["5S2"], mysticalfire: ["8M"], - nobleroar: ["8L1", "8S7", "7L64"], - outrage: ["8M", "8L80", "7T", "7L85", "6T", "6L85", "5T", "5L85"], - overheat: ["8M", "7M", "6M", "5M"], + nobleroar: ["9L1", "8L1", "8S7", "7L64"], + outrage: ["9M", "9L80", "8M", "8L80", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + overheat: ["9M", "8M", "7M", "6M", "5M"], payback: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - raindance: ["8M"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], + roar: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roost: ["7M", "6M", "5T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], - scaleshot: ["8T"], - scorchingsands: ["8T"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + scorchingsands: ["9M", "8T"], secretpower: ["6M"], - shadowball: ["8M", "7M", "6M", "5M"], - shadowclaw: ["8M", "7M", "6M", "5M"], - slash: ["8L8", "7L36", "7S4", "7S5", "6L36", "6S3", "5L36", "5S0"], - sleeptalk: ["8M", "7M", "6M", "5T"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + slash: ["9L8", "8L8", "7L36", "7S4", "7S5", "6L36", "6S3", "5L36", "5S0"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], - solarbeam: ["8M", "7M", "6M", "5M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], steelwing: ["8M", "7M", "6M"], - stoneedge: ["8M", "7M", "6M", "5M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - tailwind: ["7T", "6T", "5T"], + swift: ["9M", "8M"], + tailwind: ["9M", "7T", "6T", "5T"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - weatherball: ["8M"], - willowisp: ["8M", "7M", "6M", "5M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "7M", "6M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 50, moves: ["dragonbreath", "slash", "extrasensory", "fusionflare"]}, @@ -65022,95 +66664,110 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["slash", "extrasensory", "fusionflare", "dragonpulse"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["fusionflare", "blueflare", "dracometeor", "earthpower"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["nobleroar", "extrasensory", "fusionflare", "dragonclaw"]}, + {generation: 9, level: 70, moves: ["fireblast", "hypervoice", "fusionflare", "flamethrower"]}, ], eventOnly: true, }, zekrom: { learnset: { - ancientpower: ["8L1", "7L15", "6L15", "5L15"], - bodypress: ["8M"], - boltstrike: ["8L88", "7L100", "7S6", "6L100", "5L100", "5S2"], - breakingswipe: ["8M"], + ancientpower: ["9L1", "8L1", "7L15", "6L15", "5L15"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + boltstrike: ["9L88", "8L88", "7L100", "7S6", "6L100", "5L100", "5S2"], + breakingswipe: ["9M", "8M"], + brickbreak: ["9M"], brutalswing: ["8M", "7M"], - chargebeam: ["7M", "6M", "5M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M"], confide: ["7M", "6M"], - crunch: ["8M", "8L16", "7L71", "6L71", "5L71"], + crunch: ["9M", "9L16", "8M", "8L16", "7L71", "6L71", "5L71"], cut: ["6M", "5M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M", "5M"], - dracometeor: ["8T", "7T", "6T", "5T"], - dragonbreath: ["8L1", "7L29", "6L29", "6S3", "5L29", "5S0"], - dragonclaw: ["8M", "8L32", "8S7", "7M", "7L54", "7S4", "7S5", "6M", "6L54", "5M", "5L54", "5S1"], - dragondance: ["8M"], - dragonpulse: ["8M", "7T", "6T", "5T"], + dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragonbreath: ["9L1", "8L1", "7L29", "6L29", "6S3", "5L29", "5S0"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "9L32", "8M", "8L32", "8S7", "7M", "7L54", "7S4", "7S5", "6M", "6L54", "5M", "5L54", "5S1"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T"], dragonrage: ["7L1", "6L1", "5L1"], - dragontail: ["7M", "6M", "5M"], - dualwingbeat: ["8T"], - earthpower: ["8M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], echoedvoice: ["7M", "6M", "5M"], - electroball: ["8M"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], flash: ["6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], - fly: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M"], frustration: ["7M", "6M", "5M"], - fusionbolt: ["8L48", "8S7", "7L50", "7S4", "7S5", "7S6", "6L50", "6S3", "5L50", "5S0", "5S1", "5S2"], - gigaimpact: ["8M", "7M", "6M", "5M"], - haze: ["5S2"], - helpinghand: ["8M"], + fusionbolt: ["9L48", "9S8", "8L48", "8S7", "7L50", "7S4", "7S5", "7S6", "6L50", "6S3", "5L50", "5S0", "5S1", "5S2"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + haze: ["9M", "5S2"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - hypervoice: ["8M", "8L56", "7T", "7L92", "6T", "6L92", "5T", "5L92"], - imprison: ["8M", "8L72", "7L64", "6L8", "5L8", "5S1"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypervoice: ["9M", "9L56", "9S8", "8M", "8L56", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + imprison: ["9M", "9L72", "8M", "8L72", "7L64", "6L8", "5L8", "5S1"], laserfocus: ["7T"], - lightscreen: ["8M", "7M", "6M", "5M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], magnetrise: ["7T", "6T", "5T"], - nobleroar: ["8L1", "8S7", "7L64"], - outrage: ["8M", "8L80", "7T", "7L85", "7S6", "6T", "6L85", "5T", "5L85", "5S2"], + nobleroar: ["9L1", "8L1", "8S7", "7L64"], + outrage: ["9M", "9L80", "8M", "8L80", "7T", "7L85", "7S6", "6T", "6L85", "5T", "5L85", "5S2"], payback: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], risingvoltage: ["8T"], - rockslide: ["8M", "7M", "6M", "5M"], + roar: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roost: ["7M", "6M", "5T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], - scaleshot: ["8T"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], secretpower: ["6M"], - shadowball: ["8M", "7M", "6M", "5M"], - shadowclaw: ["8M", "7M", "6M", "5M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T", "5T"], - slash: ["8L8", "8S7", "7L36", "7S4", "7S5", "6L36", "6S3", "5L36", "5S0"], - sleeptalk: ["8M", "7M", "6M", "5T"], + slash: ["9L8", "8L8", "8S7", "7L36", "7S4", "7S5", "6L36", "6S3", "5L36", "5S0"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["9M"], steelwing: ["8M", "7M", "6M"], - stoneedge: ["8M", "7M", "7S6", "6M", "5M"], + stoneedge: ["9M", "8M", "7M", "7S6", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], + supercellslam: ["9M"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - tailwind: ["7T", "6T", "5T"], - thunder: ["8M", "8L64", "7M", "7L78", "6M", "6L78", "5M", "5L78"], - thunderbolt: ["8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22"], - thunderfang: ["8M", "8L1", "7L1", "6L1", "5L1"], - thunderpunch: ["8M", "7T", "6T", "5T"], - thunderwave: ["8M", "7M", "6M", "5M"], + swift: ["9M", "8M"], + tailwind: ["9M", "7T", "6T", "5T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "9L64", "9S8", "8M", "8L64", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + thunderbolt: ["9M", "9L40", "9S8", "8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + thunderfang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], toxic: ["7M", "6M", "5M"], - voltswitch: ["8M", "7M", "6M", "5M"], - weatherball: ["8M"], - wildcharge: ["8M", "7M", "6M", "5M"], - zenheadbutt: ["8M", "8L24", "7T", "7L43", "7S4", "7S5", "6T", "6L43", "6S3", "5T", "5L43", "5S0", "5S1"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + weatherball: ["9M", "8M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + zenheadbutt: ["9M", "9L24", "8M", "8L24", "7T", "7L43", "7S4", "7S5", "6T", "6L43", "6S3", "5T", "5L43", "5S0", "5S1"], }, eventData: [ {generation: 5, level: 50, moves: ["dragonbreath", "slash", "zenheadbutt", "fusionbolt"]}, @@ -65121,6 +66778,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["slash", "zenheadbutt", "fusionbolt", "dragonclaw"], pokeball: "cherishball"}, {generation: 7, level: 100, moves: ["fusionbolt", "boltstrike", "outrage", "stoneedge"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["nobleroar", "slash", "fusionbolt", "dragonclaw"]}, + {generation: 9, level: 70, moves: ["thunder", "hypervoice", "fusionbolt", "thunderbolt"]}, ], eventOnly: true, }, @@ -65182,11 +66840,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "9L60", "8M", "8L60", "7M", "7L55", "7S4", "6M", "6L61", "5M", "5L61", "5S0"], sandtomb: ["9M", "9L1", "8M", "8L1", "8S5"], scaryface: ["9M", "8M"], + scorchingsands: ["9M"], secretpower: ["6M"], selfdestruct: ["8M"], sleeptalk: ["9M", "8M", "7M", "6M", "5T"], sludgebomb: ["9M", "8M", "7M", "6M", "5M"], - sludgewave: ["8M", "7M", "6M", "5M"], + sludgewave: ["9M", "8M", "7M", "6M", "5M"], smackdown: ["9M", "9L1", "7M", "6M", "5M"], snore: ["8M", "7T", "6T", "5T"], stealthrock: ["9M", "8M", "7T", "6T", "5T"], @@ -65220,83 +66879,92 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, kyurem: { learnset: { - ancientpower: ["8L1", "7L15", "6L15", "5L15"], - blizzard: ["8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], - bodypress: ["8M"], - breakingswipe: ["8M"], + aerialace: ["9M"], + ancientpower: ["9L1", "8L1", "7L15", "6L15", "5L15"], + avalanche: ["9M"], + blizzard: ["9M", "9L56", "9S6", "8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], confide: ["7M", "6M"], cut: ["6M", "5M"], doubleteam: ["7M", "6M", "5M"], - dracometeor: ["8T", "7T", "6T", "6S3", "5T"], - dragonbreath: ["8L1", "7L29", "6L29", "6S2", "5L29"], - dragonclaw: ["8M", "7M", "6M", "5M"], - dragondance: ["8M"], - dragonpulse: ["8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], + dracometeor: ["9M", "8T", "7T", "6T", "6S3", "5T"], + dragonbreath: ["9L1", "8L1", "7L29", "6L29", "6S2", "5L29"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L24", "8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], dragonrage: ["7L1", "6L1", "5L1"], - dragontail: ["7M", "6M", "5M"], - dualwingbeat: ["8T"], - earthpower: ["8M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], - fly: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - freezedry: ["8L1"], + endeavor: ["9M", "9L16", "8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + freezedry: ["9L1", "8L1"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["8M", "7M", "6M", "5M"], - glaciate: ["8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L50", "5S0", "5S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + glaciate: ["9L80", "8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L50", "5S0", "5S1"], hail: ["8M", "7M", "6M", "5M"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - hypervoice: ["8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], - icebeam: ["8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], - iciclespear: ["8M"], - icywind: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], - imprison: ["8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], - ironhead: ["8M", "7T", "6T", "6S3", "5T"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypervoice: ["9M", "9L40", "9S6", "8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + icebeam: ["9M", "9L32", "8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + icefang: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + imprison: ["9M", "9L64", "9S6", "8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], + ironhead: ["9M", "8M", "7T", "6T", "6S3", "5T"], laserfocus: ["7T"], - lightscreen: ["8M", "7M", "6M", "5M"], - nobleroar: ["8L1", "7L64"], - outrage: ["8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + nobleroar: ["9L1", "8L1", "7L64"], + outrage: ["9M", "9L72", "8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], payback: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], + roar: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roost: ["7M", "6M", "5T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], - scaleshot: ["8T"], - scaryface: ["8M", "8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L43", "5S1"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L48", "9S6", "8M", "8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L43", "5S1"], secretpower: ["6M"], - shadowball: ["8M", "8S5", "7M", "6M", "5M"], - shadowclaw: ["8M", "7M", "6M", "5M"], - sheercold: ["8L88"], + shadowball: ["9M", "8M", "8S5", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + sheercold: ["9L88", "8L88"], signalbeam: ["7T", "6T", "5T"], - slash: ["8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], - sleeptalk: ["8M", "7M", "6M", "5T"], + slash: ["9L8", "8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M"], steelwing: ["8M", "7M", "6M"], - stoneedge: ["8M", "7M", "6M", "5M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - weatherball: ["8M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + weatherball: ["9M", "8M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 75, shiny: 1, moves: ["glaciate", "dragonpulse", "imprison", "endeavor"]}, @@ -65305,89 +66973,99 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 100, moves: ["glaciate", "scaryface", "dracometeor", "ironhead"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["slash", "scaryface", "glaciate", "dragonpulse"]}, {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "hypervoice", "shadowball", "scaryface"]}, + {generation: 9, level: 70, moves: ["imprison", "blizzard", "scaryface", "hypervoice"]}, ], eventOnly: true, }, kyuremblack: { learnset: { - ancientpower: ["8L1", "7L15", "6L15", "5L15"], - blizzard: ["8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], - bodypress: ["8M"], - breakingswipe: ["8M"], + aerialace: ["9M"], + ancientpower: ["9L1", "8L1", "7L15", "6L15", "5L15"], + avalanche: ["9M"], + blizzard: ["9M", "9L56", "9S6", "8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], confide: ["7M", "6M"], cut: ["6M", "5M"], doubleteam: ["7M", "6M", "5M"], - dracometeor: ["8T", "7T", "6T", "6S3", "5T"], - dragonbreath: ["8L1", "7L29", "6L29", "6S2", "5L29"], - dragonclaw: ["8M", "7M", "6M", "5M"], - dragondance: ["8M"], - dragonpulse: ["8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], + dracometeor: ["9M", "8T", "7T", "6T", "6S3", "5T"], + dragonbreath: ["9L1", "8L1", "7L29", "6L29", "6S2", "5L29"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L24", "8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], dragonrage: ["7L1", "6L1", "5L1"], - dragontail: ["7M", "6M", "5M"], - dualwingbeat: ["8T"], - earthpower: ["8M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], - fly: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - freezedry: ["8L1"], - freezeshock: ["8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L43", "5S0", "5S1"], + endeavor: ["9M", "9L16", "8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + freezedry: ["9L1", "8L1"], + freezeshock: ["9L80", "8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L43", "5S0", "5S1"], frustration: ["7M", "6M", "5M"], - fusionbolt: ["8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L50", "5S1"], - gigaimpact: ["8M", "7M", "6M", "5M"], + fusionbolt: ["9L48", "9S6", "8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L43", "5S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], hail: ["8M", "7M", "6M", "5M"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - hypervoice: ["8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], - icebeam: ["8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], - iciclespear: ["8M"], - icywind: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], - imprison: ["8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], - ironhead: ["8M", "7T", "6T", "6S3", "5T"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypervoice: ["9M", "9L40", "9S6", "8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + icebeam: ["9M", "9L32", "8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + icefang: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + imprison: ["9M", "9L64", "9S6", "8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], + ironhead: ["9M", "8M", "7T", "6T", "6S3", "5T"], laserfocus: ["7T"], - lightscreen: ["8M", "7M", "6M", "5M"], - nobleroar: ["8L1", "7L64"], - outrage: ["8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + nobleroar: ["9L1", "8L1", "7L64"], + outrage: ["9M", "9L72", "8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], payback: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], + roar: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roost: ["7M", "6M", "5T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], - scaleshot: ["8T"], - scaryface: ["8M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M"], secretpower: ["6M"], - shadowball: ["8M", "8S5", "7M", "6M", "5M"], - shadowclaw: ["8M", "7M", "6M", "5M"], - sheercold: ["8L88"], + shadowball: ["9M", "8M", "8S5", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + sheercold: ["9L88", "8L88"], signalbeam: ["7T", "6T", "5T"], - slash: ["8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], - sleeptalk: ["8M", "7M", "6M", "5T"], + slash: ["9L8", "8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M"], steelwing: ["8M", "7M", "6M"], - stoneedge: ["8M", "7M", "6M", "5M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - weatherball: ["8M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + weatherball: ["9M", "8M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 75, shiny: 1, moves: ["freezeshock", "dragonpulse", "imprison", "endeavor"]}, @@ -65396,89 +67074,99 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 100, moves: ["freezeshock", "fusionbolt", "dracometeor", "ironhead"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["slash", "fusionbolt", "freezeshock", "dragonpulse"]}, {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "hypervoice", "shadowball", "fusionbolt"]}, + {generation: 9, level: 70, moves: ["imprison", "blizzard", "fusionbolt", "hypervoice"]}, ], eventOnly: true, }, kyuremwhite: { learnset: { - ancientpower: ["8L1", "7L15", "6L15", "5L15"], - blizzard: ["8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], - bodypress: ["8M"], - breakingswipe: ["8M"], + aerialace: ["9M"], + ancientpower: ["9L1", "8L1", "7L15", "6L15", "5L15"], + avalanche: ["9M"], + blizzard: ["9M", "9L56", "9S6", "8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], confide: ["7M", "6M"], cut: ["6M", "5M"], doubleteam: ["7M", "6M", "5M"], - dracometeor: ["8T", "7T", "6T", "6S3", "5T"], - dragonbreath: ["8L1", "7L29", "6L29", "6S2", "5L29"], - dragonclaw: ["8M", "7M", "6M", "5M"], - dragondance: ["8M"], - dragonpulse: ["8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], + dracometeor: ["9M", "8T", "7T", "6T", "6S3", "5T"], + dragonbreath: ["9L1", "8L1", "7L29", "6L29", "6S2", "5L29"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L24", "8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], dragonrage: ["7L1", "6L1", "5L1"], - dragontail: ["7M", "6M", "5M"], - dualwingbeat: ["8T"], - earthpower: ["8M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], echoedvoice: ["7M", "6M", "5M"], - endeavor: ["8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - flashcannon: ["8M", "7M", "6M", "5M"], - fling: ["8M", "7M", "6M", "5M"], - fly: ["8M", "7M", "6M", "5M"], - focusblast: ["8M", "7M", "6M", "5M"], - freezedry: ["8L1"], + endeavor: ["9M", "9L16", "8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + freezedry: ["9L1", "8L1"], frustration: ["7M", "6M", "5M"], - fusionflare: ["8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L50", "5S1"], - gigaimpact: ["8M", "7M", "6M", "5M"], + fusionflare: ["9L48", "9S6", "8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L43", "5S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], hail: ["8M", "7M", "6M", "5M"], - helpinghand: ["8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], - hyperbeam: ["8M", "7M", "6M", "5M"], - hypervoice: ["8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], - icebeam: ["8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], - iceburn: ["8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L43", "5S0", "5S1"], - iciclespear: ["8M"], - icywind: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], - imprison: ["8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], - ironhead: ["8M", "7T", "6T", "6S3", "5T"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypervoice: ["9M", "9L40", "9S6", "8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + icebeam: ["9M", "9L32", "8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + iceburn: ["9L80", "8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L43", "5S0", "5S1"], + icefang: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + imprison: ["9M", "9L64", "9S6", "8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], + ironhead: ["9M", "8M", "7T", "6T", "6S3", "5T"], laserfocus: ["7T"], - lightscreen: ["8M", "7M", "6M", "5M"], - nobleroar: ["8L1", "7L64"], - outrage: ["8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + nobleroar: ["9L1", "8L1", "7L64"], + outrage: ["9M", "9L72", "8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], payback: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychic: ["8M", "7M", "6M", "5M"], - raindance: ["8M", "7M", "6M", "5M"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], return: ["7M", "6M", "5M"], - rockslide: ["8M", "7M", "6M", "5M"], + roar: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], - rocktomb: ["8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], roost: ["7M", "6M", "5T"], round: ["8M", "7M", "6M", "5M"], safeguard: ["8M", "7M", "6M", "5M"], - scaleshot: ["8T"], - scaryface: ["8M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M"], secretpower: ["6M"], - shadowball: ["8M", "8S5", "7M", "6M", "5M"], - shadowclaw: ["8M", "7M", "6M", "5M"], - sheercold: ["8L88"], + shadowball: ["9M", "8M", "8S5", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + sheercold: ["9L88", "8L88"], signalbeam: ["7T", "6T", "5T"], - slash: ["8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], - sleeptalk: ["8M", "7M", "6M", "5T"], + slash: ["9L8", "8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M"], steelwing: ["8M", "7M", "6M"], - stoneedge: ["8M", "7M", "6M", "5M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - weatherball: ["8M"], - zenheadbutt: ["8M", "7T", "6T", "5T"], + weatherball: ["9M", "8M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], }, eventData: [ {generation: 5, level: 75, shiny: 1, moves: ["iceburn", "dragonpulse", "imprison", "endeavor"]}, @@ -65487,84 +67175,93 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 6, level: 100, moves: ["iceburn", "fusionflare", "dracometeor", "ironhead"], pokeball: "cherishball"}, {generation: 7, level: 60, shiny: 1, moves: ["slash", "fusionflare", "iceburn", "dragonpulse"]}, {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "hypervoice", "shadowball", "fusionflare"]}, + {generation: 9, level: 70, moves: ["imprison", "blizzard", "fusionflare", "hypervoice"]}, ], eventOnly: true, }, keldeo: { learnset: { - aerialace: ["7M", "6M", "5M"], - airslash: ["8M"], - aquajet: ["8L1", "7L1", "6L1", "6S2", "6S3", "5L1", "5S0", "5S1"], - aquatail: ["8L35", "7T", "7L37", "6T", "6L37", "5T", "5L37"], - aurasphere: ["8M"], + aerialace: ["9M", "7M", "6M", "5M"], + airslash: ["9M", "8M"], + aquajet: ["9L1", "8L1", "7L1", "6L1", "6S2", "6S3", "5L1", "5S0", "5S1"], + aquatail: ["9L35", "8L35", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + aurasphere: ["9M", "8M"], + batonpass: ["9M"], bounce: ["8M", "7T", "6T", "5T"], - brickbreak: ["8M"], - bubblebeam: ["8L7", "7L1", "6L13", "6S3", "5L13", "5S0"], - calmmind: ["8M", "7M", "6M", "5M"], - closecombat: ["8M", "8L70", "7L73", "6L73", "5L73"], - coaching: ["8T"], + brickbreak: ["9M", "8M"], + bubblebeam: ["9L7", "8L7", "7L1", "6L13", "6S3", "5L13", "5S0"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + chillingwater: ["9M"], + closecombat: ["9M", "9L70", "8M", "8L70", "7L73", "6L73", "5L73"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], covet: ["7T", "6T", "5T"], cut: ["6M", "5M"], - doublekick: ["8L21", "7L1", "6L7", "6S2", "6S3", "5L7", "5S0"], + doubleedge: ["9M"], + doublekick: ["9L21", "8L21", "7L1", "6L7", "6S2", "6S3", "5L7", "5S0"], doubleteam: ["7M", "6M", "5M"], endeavor: ["7T", "6T", "5T"], - endure: ["8M"], - facade: ["8M", "7M", "6M", "5M"], - falseswipe: ["8M", "7M", "6M", "5M"], - flipturn: ["8T"], - focusblast: ["8M", "7M", "6M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], + flipturn: ["9M", "8T"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], frustration: ["7M", "6M", "5M"], - gigaimpact: ["8M", "7M", "6M", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], hail: ["8M", "7M", "6M", "5M"], - helpinghand: ["8M", "8L1", "7T", "7L25", "6T", "6L25", "5T", "5L25"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L25", "6T", "6L25", "5T", "5L25"], hiddenpower: ["7M", "6M", "5M"], - hydropump: ["8M", "8L63", "8S4", "7L67", "6L67", "6S2", "5L67", "5S1"], - hyperbeam: ["8M", "7M", "6M", "5M"], - icywind: ["8M", "7T", "6T", "5T"], + hydropump: ["9M", "9L63", "8M", "8L63", "8S4", "7L67", "6L67", "6S2", "5L67", "5S1"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icywind: ["9M", "8M", "7T", "6T", "5T"], lastresort: ["7T", "6T", "5T"], - leer: ["8L1", "7L1", "6L1", "6S2", "6S3", "5L1", "5S0"], - liquidation: ["8M", "7T"], - lowkick: ["8M", "7T"], + leer: ["9L1", "8L1", "7L1", "6L1", "6S2", "6S3", "5L1", "5S0"], + liquidation: ["9M", "8M", "7T"], + lowkick: ["9M", "8M", "7T"], megahorn: ["8M"], - muddywater: ["8M"], - poisonjab: ["8M", "7M", "6M", "5M"], - protect: ["8M", "7M", "6M", "5M"], - psychup: ["7M", "6M", "5M"], - quickguard: ["8L14", "7L55", "6L55", "5L55"], - raindance: ["8M", "7M", "6M", "5M"], - reflect: ["8M", "7M", "6M", "5M"], - rest: ["8M", "7M", "6M", "5M"], - retaliate: ["8M", "8L28", "7L31", "6M", "6L31", "5M", "5L31"], + muddywater: ["9M", "8M"], + painsplit: ["9M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["9M", "7M", "6M", "5M"], + quickguard: ["9L14", "8L14", "7L55", "6L55", "5L55"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["9L28", "8M", "8L28", "7L31", "6M", "6L31", "5M", "5L31"], return: ["7M", "6M", "5M"], revenge: ["8M"], - reversal: ["8M"], - roar: ["7M", "6M", "5M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "6M", "5M"], rocksmash: ["6M", "5M"], round: ["8M", "7M", "6M", "5M"], - sacredsword: ["8L49", "8S4", "7L43", "6L43", "5L43", "5S1"], + sacredsword: ["9L49", "8L49", "8S4", "7L43", "6L43", "5L43", "5S1"], safeguard: ["8M", "7M", "6M", "5M"], scald: ["8M", "7M", "6M", "5M"], secretpower: ["6M"], - secretsword: ["8L1", "8S4", "7T", "6T", "5T"], - sleeptalk: ["8M", "7M", "6M", "5T"], - smartstrike: ["8M"], + secretsword: ["9L1", "8L1", "8S4", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smartstrike: ["9M", "8M"], snore: ["8M", "7T", "6T", "5T"], - stoneedge: ["8M", "7M", "6M", "5M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], strength: ["6M", "5M"], - substitute: ["8M", "7M", "6M", "5M"], - sunnyday: ["8M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M"], superpower: ["8M", "7T", "6T", "5T"], - surf: ["8M", "7M", "6M", "5M"], + surf: ["9M", "8M", "7M", "6M", "5M"], swagger: ["7M", "6M", "5M"], - swift: ["8M"], - swordsdance: ["8M", "8L56", "8S4", "7M", "7L49", "6M", "6L49", "5M", "5L49", "5S1"], - takedown: ["8L42", "7L19", "6L19", "5L19"], - taunt: ["8M", "7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L56", "8M", "8L56", "8S4", "7M", "7L49", "6M", "6L49", "5M", "5L49", "5S1"], + takedown: ["9M", "9L42", "8L42", "7L19", "6L19", "5L19"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], toxic: ["7M", "6M", "5M"], - waterpulse: ["7T", "6T"], - workup: ["8M", "8L1", "7M", "7L61", "6L61", "5M", "5L61"], - xscissor: ["8M", "7M", "6M", "5M"], + trailblaze: ["9M"], + upperhand: ["9M"], + vacuumwave: ["9M"], + waterpulse: ["9M", "7T", "6T"], + workup: ["9L1", "8M", "8L1", "7M", "7L61", "6L61", "5M", "5L61"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], }, eventData: [ {generation: 5, level: 15, moves: ["aquajet", "leer", "doublekick", "bubblebeam"], pokeball: "cherishball"}, @@ -65581,6 +67278,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { meloetta: { learnset: { acrobatics: ["9M", "9L26", "7M", "7L26", "6M", "6L26", "5M", "5L26"], + alluringvoice: ["9M"], allyswitch: ["7T"], batonpass: ["9M"], brickbreak: ["9M", "7M", "6M", "5M"], @@ -65589,6 +67287,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["7M", "6M", "5M"], charm: ["9M"], closecombat: ["9M", "9L78", "7L78", "7S2", "6L78", "5L78", "5S1"], + coaching: ["9M"], confide: ["7M", "6M"], confusion: ["9L1", "7L1", "6L11", "5L11", "5S0"], covet: ["7T", "6T", "5T"], @@ -65618,7 +67317,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "6M", "5M"], honeclaws: ["6M", "5M"], hyperbeam: ["9M", "7M", "6M", "5M"], - hypervoice: ["9M", "9L64", "7T", "7L64", "6T", "6L64", "5T", "5L64"], + hypervoice: ["9M", "9L64", "9S4", "7T", "7L64", "6T", "6L64", "5T", "5L64"], icepunch: ["9M", "7T", "6T", "5T"], knockoff: ["9M", "7T", "6T", "5T"], laserfocus: ["7T"], @@ -65635,13 +67334,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["6M"], protect: ["9M", "7M", "6M", "5M"], psybeam: ["9M", "9L31", "7L31", "6L31", "5L31"], - psychic: ["9M", "9L57", "7M", "7L57", "7S2", "6M", "6L57", "5M", "5L57", "5S1"], - psychup: ["7M", "6M", "5M"], + psychic: ["9M", "9L57", "9S4", "7M", "7L57", "7S2", "6M", "6L57", "5M", "5L57", "5S1"], + psychup: ["9M", "7M", "6M", "5M"], psyshock: ["9M", "7M", "6M", "5M"], quickattack: ["9L1", "7L1", "6L6", "5L6", "5S0"], raindance: ["9M", "7M", "6M", "5M"], recycle: ["7T", "6T", "5T"], - relicsong: ["9L50", "7T", "7S3", "6T", "5T"], + relicsong: ["9L50", "9S4", "7T", "7S3", "6T", "5T"], rest: ["9M", "7M", "6M", "5M"], retaliate: ["6M", "5M"], return: ["7M", "6M", "5M"], @@ -65655,7 +67354,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M", "7M", "6M", "5M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T", "5T"], - sing: ["9L1", "7L1", "7S2", "7S3", "6L16", "5L16"], + sing: ["9L1", "9S4", "7L1", "7S2", "7S3", "6L16", "5L16"], skillswap: ["9M", "7T", "6T", "5T"], sleeptalk: ["9M", "7M", "6M", "5T"], snatch: ["7T", "6T", "5T"], @@ -65677,6 +67376,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M", "5M"], trick: ["9M", "7T", "6T", "5T"], trickroom: ["9M", "7M", "6M", "5M"], + tripleaxel: ["9M"], uproar: ["7T", "6T", "5T"], uturn: ["9M", "9L43", "7M", "7L43", "6M", "6L43", "5M", "5L43"], wakeupslap: ["7L50", "6L50", "5L50"], @@ -65689,6 +67389,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 5, level: 50, moves: ["round", "teeterdance", "psychic", "closecombat"], pokeball: "cherishball"}, {generation: 7, level: 15, moves: ["sing", "psychic", "closecombat"], pokeball: "cherishball"}, {generation: 7, level: 50, moves: ["sing", "celebrate", "round", "relicsong"], pokeball: "cherishball"}, + {generation: 9, level: 70, moves: ["relicsong", "hypervoice", "sing", "psychic"]}, ], eventOnly: true, }, @@ -65810,14 +67511,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "7M", "6M"], bulletseed: ["9M"], confide: ["7M", "6M"], - curse: ["9E", "7E", "6E"], + curse: ["9M", "9E", "7E", "6E"], cut: ["6M"], defensecurl: ["7E", "6E"], dig: ["9M", "6M"], doubleteam: ["7M", "6M"], drainpunch: ["9M", "7T", "6T"], dualchop: ["7T", "6T"], - endeavor: ["7T", "6T"], + endeavor: ["9M", "7T", "6T"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -65845,7 +67546,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { metalclaw: ["9M"], mudshot: ["9M", "9L35", "7L35", "6L35"], naturepower: ["7M", "6M"], - painsplit: ["9L45", "7T", "7L45", "6T", "6L45"], + painsplit: ["9M", "9L45", "7T", "7L45", "6T", "6L45"], payback: ["7M", "6M"], pinmissile: ["9L18", "7L18", "6L18"], poisonjab: ["9M", "7M", "6M"], @@ -65909,12 +67610,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "7M", "6M"], bulletseed: ["9M"], confide: ["7M", "6M"], + curse: ["9M"], cut: ["6M"], dig: ["9M", "6M"], doubleteam: ["7M", "6M"], drainpunch: ["9M", "7T", "6T"], dualchop: ["7T", "6T"], - endeavor: ["7T", "6T"], + endeavor: ["9M", "7T", "6T"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -65944,7 +67646,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M", "9L34", "7L39", "6L39"], naturepower: ["7M", "6M"], needlearm: ["7L1", "6L26"], - painsplit: ["9L47", "7T", "7L52", "6T", "6L52"], + painsplit: ["9M", "9L47", "7T", "7L52", "6T", "6L52"], payback: ["7M", "6M"], pinmissile: ["9L24", "7L19", "6L20"], poisonjab: ["9M", "7M", "6M"], @@ -66009,16 +67711,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "7M", "6M"], bulletseed: ["9M"], closecombat: ["9M"], + coaching: ["9M"], confide: ["7M", "6M"], crunch: ["9M"], + curse: ["9M"], cut: ["6M"], dig: ["9M", "6M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], dragonclaw: ["9M", "7M", "6M"], drainpunch: ["9M", "7T", "6T"], dualchop: ["7T", "6T"], earthquake: ["9M", "7M", "6M"], - endeavor: ["7T", "6T"], + endeavor: ["9M", "7T", "6T"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -66057,7 +67762,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["9M"], naturepower: ["7M", "6M"], needlearm: ["7L1", "6L26"], - painsplit: ["9L60", "7T", "7L60", "6T", "6L52"], + painsplit: ["9M", "9L60", "7T", "7L60", "6T", "6L52"], payback: ["7M", "6M"], pinmissile: ["9L19", "7L19", "6L20"], poisonjab: ["9M", "7M", "6M"], @@ -66299,6 +68004,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ember: ["9L1", "7L1", "6L5"], encore: ["9M"], endure: ["9M"], + expandingforce: ["9M"], facade: ["9M", "7M", "6M"], fireblast: ["9M", "9L74", "7M", "7L74", "6M", "6L61"], firepledge: ["9M", "7T", "6T"], @@ -66310,7 +68016,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M"], foulplay: ["9M", "7T", "6T"], frustration: ["7M", "6M"], - futuresight: ["9L1", "7L1", "6L1"], + futuresight: ["9M", "9L1", "7L1", "6L1"], gigaimpact: ["9M", "7M", "6M"], grassknot: ["9M", "7M", "6M"], heatwave: ["9M", "7T", "6T"], @@ -66340,8 +68046,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M"], psybeam: ["9M", "9L18", "7L18", "6L18"], psychic: ["9M", "9L57", "7M", "7L57", "6M", "6L51"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["7M", "6M"], + psychup: ["9M", "7M", "6M"], psyshock: ["9M", "9L38", "7M", "7L38", "6M", "6L34"], raindance: ["9M", "7M", "6M"], recycle: ["7T", "6T"], @@ -66351,6 +68058,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { roleplay: ["9L1", "7T", "7L1", "6T", "6L1"], round: ["7M", "6M"], safeguard: ["7M", "6M"], + scorchingsands: ["9M"], scratch: ["9L1", "7L1", "6L1"], secretpower: ["6M"], shadowball: ["9M", "9L1", "7M", "7L1", "6M", "6L1"], @@ -66607,6 +68315,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], shadowsneak: ["9L23", "7L23", "6L23", "6S0"], sleeptalk: ["9M", "7M", "6M"], + sludgewave: ["9M"], smackdown: ["9M", "7M", "6M"], smokescreen: ["9L19", "7L19", "6L20"], snatch: ["7T", "6T"], @@ -66627,6 +68336,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["7M", "6M"], toxicspikes: ["9M"], trailblaze: ["9M"], + upperhand: ["9M"], uturn: ["9M", "7M", "6M"], waterfall: ["9M", "7M", "6M"], watergun: ["9L1"], @@ -66653,6 +68363,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bubble: ["7L1"], chillingwater: ["9M"], confide: ["7M"], + counter: ["9E"], darkpulse: ["9M", "7M"], dig: ["9M"], doubleteam: ["9L56", "7M", "7L56", "7S0"], @@ -66690,6 +68401,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { quickattack: ["9L1", "7L1"], raindance: ["9M", "7M"], rest: ["9M", "7M"], + retaliate: ["9E"], return: ["7M"], rockslide: ["9M", "7M"], rocktomb: ["9M", "7M"], @@ -66698,25 +68410,28 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["7M"], shadowsneak: ["9L23", "7L23"], sleeptalk: ["9M", "7M"], + sludgewave: ["9M"], smackdown: ["9M", "7M"], smokescreen: ["9L19", "7L19"], snatch: ["7T"], snore: ["7T"], snowscape: ["9M"], - spikes: ["9M", "9L28", "7L28"], + spikes: ["9M", "9L28", "9E", "7L28"], spite: ["7T"], substitute: ["9M", "9L42", "7M", "7L42"], surf: ["9M", "7M"], swagger: ["7M"], swift: ["9M"], + switcheroo: ["9E"], swordsdance: ["9M"], takedown: ["9M"], taunt: ["9M", "7M"], terablast: ["9M"], thief: ["9M", "7M"], toxic: ["7M"], - toxicspikes: ["9M"], + toxicspikes: ["9M", "9E"], trailblaze: ["9M"], + upperhand: ["9M"], uturn: ["9M", "7M"], waterfall: ["9M", "7M"], watergun: ["9L1"], @@ -66903,11 +68618,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bravebird: ["9M"], confide: ["7M", "6M"], defog: ["9E", "8E", "7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], dualwingbeat: ["9M", "8T"], ember: ["9L10", "8L10"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M"], + featherdance: ["9M"], flail: ["9L15", "8L15", "7L16", "6L16"], flamecharge: ["9M", "9E", "8E", "7M", "7L34", "6M", "6L34"], flareblitz: ["9M"], @@ -66963,11 +68680,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bravebird: ["9M"], confide: ["7M", "6M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], dualwingbeat: ["9M", "8T"], ember: ["9L1", "8L1", "7L1", "6L17"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M"], + featherdance: ["9M"], feint: ["9L1", "8L1"], fireblast: ["9M", "8M", "7M", "6M"], firespin: ["9M", "8M"], @@ -67008,6 +68727,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwind: ["9M", "9L43", "8L43", "7T", "7L51", "6T", "6L51"], takedown: ["9M"], taunt: ["9M", "8M", "7M", "6M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M"], toxic: ["7M", "6M"], @@ -67031,11 +68751,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "8M", "7M", "6M"], confide: ["7M", "6M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], dualwingbeat: ["9M", "8T"], ember: ["9L1", "8L1", "7L1", "6L17"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M"], + featherdance: ["9M"], feint: ["9L1", "8L1"], fireblast: ["9M", "8M", "7M", "6M"], firespin: ["9M", "8M"], @@ -67080,9 +68802,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwind: ["9M", "9L47", "8L47", "7T", "7L55", "6T", "6L55"], takedown: ["9M"], taunt: ["9M", "8M", "7M", "6M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "6M"], toxic: ["7M", "6M"], + upperhand: ["9M"], uturn: ["9M", "8M", "7M", "6M"], willowisp: ["9M", "8M", "7M", "6M"], workup: ["8M", "7M"], @@ -67164,6 +68888,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { safeguard: ["9L31", "7M", "7L41", "6M", "6L41"], secretpower: ["6M"], signalbeam: ["7T", "6T"], + skittersmack: ["9M"], sleeppowder: ["9L1", "7L1", "6L1"], sleeptalk: ["9M", "7M", "6M"], snore: ["7T", "6T"], @@ -67339,10 +69064,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L39", "7L39", "6L39"], darkpulse: ["7M", "6M"], dig: ["9M", "6M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], echoedvoice: ["9L33", "7M", "7L33", "6M", "6L33"], ember: ["9L5", "7L5", "6L5"], - endeavor: ["9L28", "7T", "7L28", "6T", "6L28"], + endeavor: ["9M", "9L28", "7T", "7L28", "6T", "6L28"], endure: ["9M"], entrainment: ["9E", "7E", "6E"], facade: ["9M", "7M", "6M"], @@ -67411,10 +69137,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L42", "7L42", "6L42"], darkpulse: ["9M", "7M", "6M", "6S0"], dig: ["9M", "6M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], echoedvoice: ["9L33", "7M", "7L33", "6M", "6L33"], ember: ["9L1", "7L1", "6L5"], - endeavor: ["9L28", "7T", "7L28", "6T", "6L28"], + endeavor: ["9M", "9L28", "7T", "7L28", "6T", "6L28"], endure: ["9M"], facade: ["9M", "7M", "6M"], fireblast: ["9M", "7M", "6M", "6S0"], @@ -67461,6 +69188,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "7L1", "6L1"], takedown: ["9M", "9L20", "7L20", "6L20"], taunt: ["9M", "7M", "6M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "7M", "6M"], thunderfang: ["9M"], @@ -67480,6 +69208,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flabebe: { learnset: { afteryou: ["7T", "6T"], + alluringvoice: ["9M"], allyswitch: ["7T"], aromatherapy: ["7L33", "6L33"], attract: ["7M", "6M"], @@ -67497,7 +69226,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M"], drainingkiss: ["9M"], echoedvoice: ["7M", "6M"], - endeavor: ["9E", "7T", "6T"], + endeavor: ["9M", "9E", "7T", "6T"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -67517,7 +69246,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M", "9L37", "7L37", "6L37"], moonblast: ["9L41", "7L41", "6L41"], naturepower: ["7M", "6M"], - petalblizzard: ["9L28", "7L28", "6L28"], + petalblizzard: ["9M", "9L28", "7L28", "6L28"], petaldance: ["9L45", "7L45", "6L45"], pollenpuff: ["9M"], protect: ["9M", "7M", "6M"], @@ -67552,6 +69281,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { floette: { learnset: { afteryou: ["7T", "6T"], + alluringvoice: ["9M"], allyswitch: ["7T"], aromatherapy: ["7L38", "6L38"], attract: ["7M", "6M"], @@ -67566,7 +69296,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M"], drainingkiss: ["9M"], echoedvoice: ["7M", "6M"], - endeavor: ["7T", "6T"], + endeavor: ["9M", "7T", "6T"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -67587,7 +69317,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M", "9L43", "7L43", "6L43"], moonblast: ["9L46", "7L46", "6L46"], naturepower: ["7M", "6M"], - petalblizzard: ["9L33", "7L33", "6L33"], + petalblizzard: ["9M", "9L33", "7L33", "6L33"], petaldance: ["9L51", "7L51", "6L51"], pollenpuff: ["9M"], protect: ["9M", "7M", "6M"], @@ -67680,6 +69410,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { florges: { learnset: { afteryou: ["7T", "6T"], + alluringvoice: ["9M"], allyswitch: ["7T"], aromatherapy: ["7L1", "6L1"], attract: ["7M", "6M"], @@ -67695,7 +69426,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "6M"], drainingkiss: ["9M"], echoedvoice: ["7M", "6M"], - endeavor: ["7T", "6T"], + endeavor: ["9M", "7T", "6T"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -67719,11 +69450,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M", "9L1", "7L1", "6L1"], moonblast: ["9L5", "7L1", "6L1"], naturepower: ["7M", "6M"], - petalblizzard: ["9L1", "7L1", "6L1"], + petalblizzard: ["9M", "9L1", "7L1", "6L1"], petaldance: ["9L1", "7L1", "6L1"], pollenpuff: ["9M"], protect: ["9M", "7M", "6M"], psychic: ["9M", "7M", "6M"], + psychicnoise: ["9M"], raindance: ["9M", "7M", "6M"], rest: ["9M", "7M", "6M"], return: ["7M", "6M"], @@ -67760,8 +69492,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], defensecurl: ["9E", "7E", "6E"], dig: ["9M", "6M"], - doubleedge: ["9L38", "7L38", "6L38"], + doubleedge: ["9M", "9L38", "7L38", "6L38"], doubleteam: ["7M", "6M"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -67833,9 +69566,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M"], confide: ["7M", "6M"], dig: ["9M", "6M"], - doubleedge: ["9L40", "7L40", "6L40"], + doubleedge: ["9M", "9L40", "7L40", "6L40"], doubleteam: ["7M", "6M"], earthquake: ["9M", "9L1", "7M", "7L1", "6M", "6L60"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M", "7M", "6M"], facade: ["9M", "7M", "6M"], @@ -67889,6 +69623,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwhip: ["9L1", "7L1", "6L9"], takedown: ["9M", "9L22", "7L22", "6L22"], terablast: ["9M"], + throatchop: ["9M"], toxic: ["7M", "6M"], trailblaze: ["9M"], vinewhip: ["9L1", "7L1", "6L7"], @@ -68185,249 +69920,267 @@ export const Learnsets: {[k: string]: LearnsetData} = { assist: ["7E", "6E"], attract: ["8M", "7M", "6M"], barrier: ["7E", "6E"], - calmmind: ["8M", "7M", "6M"], - chargebeam: ["7M", "6M"], + calmmind: ["9M", "8M", "7M", "6M"], + chargebeam: ["9M", "7M", "6M"], + charm: ["9M"], confide: ["7M", "6M"], - confusion: ["8L9", "7L9", "6L9"], - covet: ["8L18", "7T", "7L5", "6T", "6L5"], + confusion: ["9L9", "8L9", "7L9", "6L9"], + covet: ["9L18", "8L18", "7T", "7L5", "6T", "6L5"], cut: ["6M"], - darkpulse: ["8M", "7M", "6M"], - disarmingvoice: ["8L6", "7L22", "6L22"], + darkpulse: ["9M", "8M", "7M", "6M"], + disarmingvoice: ["9M", "9L6", "8L6", "7L22", "6L22"], doubleteam: ["7M", "6M"], dreameater: ["7M", "6M"], echoedvoice: ["7M", "6M"], - endure: ["8M"], - energyball: ["8M", "7M", "6M"], - expandingforce: ["8T"], - facade: ["8M", "7M", "6M"], - fakeout: ["8L3", "7L19", "6L19"], - faketears: ["8M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M"], + expandingforce: ["9M", "8T"], + facade: ["9M", "8M", "7M", "6M"], + fakeout: ["9L3", "8L3", "7L19", "6L19"], + faketears: ["9M", "8M"], flash: ["6M"], frustration: ["7M", "6M"], - gravity: ["7T", "6T"], + gravity: ["9M", "7T", "6T"], healbell: ["7T", "6T"], - helpinghand: ["8M", "7T", "6T"], + helpinghand: ["9M", "8M", "7T", "6T"], hiddenpower: ["7M", "6M"], irontail: ["8M", "7T", "6T"], - leer: ["8L1", "7L1", "6L1"], - lightscreen: ["8M", "8L30", "7M", "7L13", "6M", "6L13"], + leer: ["9L1", "8L1", "7L1", "6L1"], + lightscreen: ["9M", "9L30", "8M", "8L30", "7M", "7L13", "6M", "6L13"], magiccoat: ["7T", "6T"], magicroom: ["8M", "7T", "6T"], - nastyplot: ["8M"], + nastyplot: ["9M", "8M"], payback: ["8M", "7M", "6M"], payday: ["8M"], - playrough: ["8M"], - protect: ["8M", "7M", "6M"], - psybeam: ["8L21", "7L17", "6L17"], - psychic: ["8M", "7M", "6M"], - psychup: ["7M", "6M"], - psyshock: ["8M", "8L33", "7M", "7L25", "6M", "6L25"], - raindance: ["8M", "7M", "6M"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M"], + psybeam: ["9M", "9L21", "8L21", "7L17", "6L17"], + psychic: ["9M", "8M", "7M", "6M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M"], + psyshock: ["9M", "9L33", "8M", "8L33", "7M", "7L25", "6M", "6L25"], + raindance: ["9M", "8M", "7M", "6M"], recycle: ["7T", "6T"], - reflect: ["8M", "8L30", "7M", "6M"], - rest: ["8M", "7M", "6M"], + reflect: ["9M", "9L30", "8M", "8L30", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], return: ["7M", "6M"], roleplay: ["7T", "6T"], round: ["8M", "7M", "6M"], safeguard: ["8M", "7M", "6M"], - scratch: ["8L1", "7L1", "6L1"], + scratch: ["9L1", "8L1", "7L1", "6L1"], secretpower: ["6M"], + shadowball: ["9M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T"], - skillswap: ["8M", "7T"], - sleeptalk: ["8M", "7M", "6M"], + skillswap: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M", "6M"], snatch: ["7T", "6T"], snore: ["8M", "7T", "6T"], - substitute: ["8M", "7M", "6M"], - sunnyday: ["8M", "7M", "6M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], swagger: ["7M", "6M"], - swift: ["8M"], + swift: ["9M", "8M"], telekinesis: ["7T"], - thunderbolt: ["8M", "7M", "6M"], - thunderwave: ["8M", "7M", "6M"], - tickle: ["8E"], + terablast: ["9M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + thunderwave: ["9M", "8M", "7M", "6M"], + tickle: ["9E", "8E"], torment: ["7M", "6M"], toxic: ["7M", "6M"], - trick: ["8M", "7T", "7E", "6T", "6E"], - trickroom: ["8M", "7M", "6M"], + trick: ["9M", "8M", "7T", "7E", "6T", "6E"], + trickroom: ["9M", "8M", "7M", "6M"], wonderroom: ["8M", "7T", "6T"], workup: ["8M", "7M"], - yawn: ["8E", "7E", "6E"], - zenheadbutt: ["8M", "7T", "6T"], + yawn: ["9E", "8E", "7E", "6E"], + zenheadbutt: ["9M", "8M", "7T", "6T"], }, }, meowstic: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M", "6M"], - calmmind: ["8M", "7M", "6M"], - chargebeam: ["7M", "6M"], - charm: ["8M", "8L15", "7L28", "6L28"], + batonpass: ["9M"], + calmmind: ["9M", "8M", "7M", "6M"], + chargebeam: ["9M", "9L15", "7M", "6M"], + charm: ["9M", "9L15", "8M", "8L15", "7L28", "6L28"], confide: ["7M", "6M"], - confusion: ["8L9", "7L1", "6L9"], - covet: ["8L18", "7T", "7L1", "6T", "6L5"], + confusion: ["9L9", "8L9", "7L1", "6L9"], + covet: ["9L18", "8L18", "7T", "7L1", "6T", "6L5"], cut: ["6M"], - darkpulse: ["8M", "7M", "6M"], - dig: ["8M", "6M"], - disarmingvoice: ["8L1", "7L22", "6L22"], + darkpulse: ["9M", "8M", "7M", "6M"], + dig: ["9M", "8M", "6M"], + disarmingvoice: ["9M", "9L1", "8L1", "7L22", "6L22"], doubleteam: ["7M", "6M"], dreameater: ["7M", "6M"], echoedvoice: ["7M", "6M"], - endure: ["8M"], - energyball: ["8M", "7M", "6M"], - expandingforce: ["8T"], - facade: ["8M", "7M", "6M"], - fakeout: ["8L1", "7L19", "6L19"], - faketears: ["8M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M"], + expandingforce: ["9M", "8T"], + extrasensory: ["9L44"], + facade: ["9M", "8M", "7M", "6M"], + fakeout: ["9L1", "8L1", "7L19", "6L19"], + faketears: ["9M", "8M"], flash: ["6M"], frustration: ["7M", "6M"], - gigaimpact: ["8M", "7M", "6M"], - gravity: ["7T", "6T"], + futuresight: ["9M", "9L59"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gravity: ["9M", "7T", "6T"], healbell: ["7T", "6T"], - helpinghand: ["8M", "8L12", "7T", "7L1", "6T", "6L1"], + helpinghand: ["9M", "9L12", "8M", "8L12", "7T", "7L1", "6T", "6L1"], hiddenpower: ["7M", "6M"], - hyperbeam: ["8M", "7M", "6M"], - imprison: ["8M", "8L44", "7L45", "6L45"], + hyperbeam: ["9M", "8M", "7M", "6M"], + imprison: ["9M", "9L44", "8M", "8L44", "7L45", "6L45"], irontail: ["8M", "7T", "6T"], - leer: ["8L1", "7L1", "6L1"], - lightscreen: ["8M", "8L34", "7M", "7L13", "6M", "6L13"], + leer: ["9L1", "8L1", "7L1", "6L1"], + lightscreen: ["9M", "9L34", "8M", "8L34", "7M", "7L13", "6M", "6L13"], + magicalleaf: ["9M", "9L1"], magiccoat: ["7T", "6T"], magicroom: ["8M", "7T", "6T"], - meanlook: ["8L1", "7L1", "6L1"], + meanlook: ["9L1", "8L1", "7L1", "6L1"], miracleeye: ["7L31", "6L31"], - mistyterrain: ["8M", "8L59", "7L50", "6L50"], - nastyplot: ["8M"], + mistyterrain: ["9M", "9L59", "8M", "8L59", "7L50", "6L50"], + nastyplot: ["9M", "8M"], payback: ["8M", "7M", "6M"], payday: ["8M"], - playrough: ["8M"], + playrough: ["9M", "8M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M"], - psybeam: ["8L21", "7L17", "6L17"], - psychic: ["8M", "8L54", "7M", "7L40", "6M", "6L40"], - psychicterrain: ["8M"], - psychup: ["7M", "6M"], - psyshock: ["8M", "8L39", "7M", "7L25", "6M", "6L25"], - quickguard: ["8L49", "7L1", "6L1"], - raindance: ["8M", "7M", "6M"], + protect: ["9M", "8M", "7M", "6M"], + psybeam: ["9M", "9L21", "8L21", "7L17", "6L17"], + psychic: ["9M", "9L54", "8M", "8L54", "7M", "7L40", "6M", "6L40"], + psychicnoise: ["9M"], + psychicterrain: ["9M", "8M"], + psychup: ["9M", "7M", "6M"], + psyshock: ["9M", "9L39", "8M", "8L39", "7M", "7L25", "6M", "6L25"], + quickguard: ["9L49", "8L49", "7L1", "6L1"], + raindance: ["9M", "8M", "7M", "6M"], recycle: ["7T", "6T"], - reflect: ["8M", "8L34", "7M", "7L35", "6M", "6L35"], - rest: ["8M", "7M", "6M"], + reflect: ["9M", "9L34", "8M", "8L34", "7M", "7L35", "6M", "6L35"], + rest: ["9M", "8M", "7M", "6M"], return: ["7M", "6M"], - roleplay: ["8L29", "7T", "7L43", "6T", "6L43"], + roleplay: ["9L29", "8L29", "7T", "7L43", "6T", "6L43"], round: ["8M", "7M", "6M"], safeguard: ["8M", "7M", "6M"], - scratch: ["8L1", "7L1", "6L1"], + scratch: ["9L1", "8L1", "7L1", "6L1"], secretpower: ["6M"], - shadowball: ["8M", "7M", "6M"], + shadowball: ["9M", "9L49", "8M", "7M", "6M"], shockwave: ["7T", "6T"], signalbeam: ["7T", "6T"], - skillswap: ["8M", "7T"], - sleeptalk: ["8M", "7M", "6M"], + skillswap: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M", "6M"], snatch: ["7T", "6T"], snore: ["8M", "7T", "6T"], - substitute: ["8M", "7M", "6M"], - suckerpunch: ["8L24", "7L48", "6L48"], - sunnyday: ["8M", "7M", "6M"], + storedpower: ["9M", "9L12"], + substitute: ["9M", "8M", "7M", "6M"], + suckerpunch: ["9L24", "8L24", "7L48", "6L48"], + sunnyday: ["9M", "8M", "7M", "6M"], swagger: ["7M", "6M"], - swift: ["8M"], + swift: ["9M", "8M"], tailslap: ["8M"], telekinesis: ["7T"], - thunderbolt: ["8M", "7M", "6M"], - thunderwave: ["8M", "7M", "6M"], + terablast: ["9M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + thunderwave: ["9M", "8M", "7M", "6M"], torment: ["7M", "6M"], toxic: ["7M", "6M"], - trick: ["8M", "7T", "6T"], - trickroom: ["8M", "7M", "6M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T"], + trickroom: ["9M", "8M", "7M", "6M"], wonderroom: ["8M", "7T", "6T"], workup: ["8M", "7M"], - zenheadbutt: ["8M", "7T", "6T"], + zenheadbutt: ["9M", "8M", "7T", "6T"], }, }, meowsticf: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M", "6M"], - calmmind: ["8M", "7M", "6M"], - chargebeam: ["8L15", "7M", "7L28", "6M", "6L28"], - charm: ["8M"], + batonpass: ["9M"], + calmmind: ["9M", "8M", "7M", "6M"], + chargebeam: ["9M", "9L15", "8L15", "7M", "7L28", "6M", "6L28"], + charm: ["9M", "8M"], confide: ["7M", "6M"], - confusion: ["8L9", "7L1", "6L9"], - covet: ["8L18", "7T", "7L1", "6L5"], + confusion: ["9L9", "8L9", "7L1", "6L9"], + covet: ["9L18", "8L18", "7T", "7L1", "6L5"], cut: ["6M"], - darkpulse: ["8M", "7M", "6M"], - dig: ["8M", "6M"], - disarmingvoice: ["8L1", "7L22", "6L22"], + darkpulse: ["9M", "8M", "7M", "6M"], + dig: ["9M", "8M", "6M"], + disarmingvoice: ["9M", "9L1", "8L1", "7L22", "6L22"], doubleteam: ["7M", "6M"], dreameater: ["7M", "6M"], echoedvoice: ["7M", "6M"], - endure: ["8M"], - energyball: ["8M", "7M", "6M"], - expandingforce: ["8T"], - extrasensory: ["8L44", "7L35", "6L35"], - facade: ["8M", "7M", "6M"], - fakeout: ["8L1", "7L19", "6L19"], - faketears: ["8M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M"], + expandingforce: ["9M", "8T"], + extrasensory: ["9L44", "8L44", "7L35", "6L35"], + facade: ["9M", "8M", "7M", "6M"], + fakeout: ["9L1", "8L1", "7L19", "6L19"], + faketears: ["9M", "8M"], flash: ["6M"], frustration: ["7M", "6M"], - futuresight: ["8M", "8L59", "7L50", "6L50"], - gigaimpact: ["8M", "7M", "6M"], - gravity: ["7T"], + futuresight: ["9M", "9L59", "8M", "8L59", "7L50", "6L50"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gravity: ["9M", "7T"], healbell: ["7T"], - helpinghand: ["8M", "7T"], + helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M", "6M"], - hyperbeam: ["8M", "7M", "6M"], + hyperbeam: ["9M", "8M", "7M", "6M"], irontail: ["8M", "7T"], - leer: ["8L1", "7L1", "6L1"], - lightscreen: ["8M", "8L34", "7M", "7L13", "6M", "6L13"], - magicalleaf: ["8M", "8L1", "7L1", "6L1"], + leer: ["9L1", "8L1", "7L1", "6L1"], + lightscreen: ["9M", "9L34", "8M", "8L34", "7M", "7L13", "6M", "6L13"], + magicalleaf: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], magiccoat: ["7T"], magicroom: ["8M", "7T"], mefirst: ["7L1", "6L1"], - nastyplot: ["8M"], + nastyplot: ["9M", "8M"], payback: ["8M", "7M", "6M"], payday: ["8M"], - playrough: ["8M"], + playrough: ["9M", "8M"], poweruppunch: ["6M"], - protect: ["8M", "7M", "6M"], - psybeam: ["8L21", "7L17", "6L17"], - psychic: ["8M", "8L54", "7M", "7L40", "6M", "6L40"], - psychicterrain: ["8M"], - psychup: ["7M", "6M"], - psyshock: ["8M", "8L39", "7M", "7L25", "6M", "6L25"], - raindance: ["8M", "7M", "6M"], + protect: ["9M", "8M", "7M", "6M"], + psybeam: ["9M", "9L21", "8L21", "7L17", "6L17"], + psychic: ["9M", "9L54", "8M", "8L54", "7M", "7L40", "6M", "6L40"], + psychicnoise: ["9M"], + psychicterrain: ["9M", "8M"], + psychup: ["9M", "7M", "6M"], + psyshock: ["9M", "9L39", "8M", "8L39", "7M", "7L25", "6M", "6L25"], + raindance: ["9M", "8M", "7M", "6M"], recycle: ["7T"], - reflect: ["8M", "8L34", "7M", "6M"], - rest: ["8M", "7M", "6M"], + reflect: ["9M", "9L34", "8M", "8L34", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], return: ["7M", "6M"], - roleplay: ["8L29", "7T", "7L43", "6L43"], + roleplay: ["9L29", "8L29", "7T", "7L43", "6L43"], round: ["8M", "7M", "6M"], safeguard: ["8M", "7M", "6M"], - scratch: ["8L1", "7L1", "6L1"], + scratch: ["9L1", "8L1", "7L1", "6L1"], secretpower: ["6M"], - shadowball: ["8M", "8L49", "7M", "7L31", "6M", "6L31"], + shadowball: ["9M", "9L49", "8M", "8L49", "7M", "7L31", "6M", "6L31"], shockwave: ["7T"], signalbeam: ["7T", "7L45", "6L45"], - skillswap: ["8M", "7T"], - sleeptalk: ["8M", "7M", "6M"], + skillswap: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M", "6M"], snatch: ["7T"], snore: ["8M", "7T"], - storedpower: ["8M", "8L12", "7L1", "6L1"], - substitute: ["8M", "7M", "6M"], - suckerpunch: ["8L24", "7L48", "6L48"], - sunnyday: ["8M", "7M", "6M"], + storedpower: ["9M", "9L12", "8M", "8L12", "7L1", "6L1"], + substitute: ["9M", "8M", "7M", "6M"], + suckerpunch: ["9L24", "8L24", "7L48", "6L48"], + sunnyday: ["9M", "8M", "7M", "6M"], swagger: ["7M", "6M"], - swift: ["8M"], + swift: ["9M", "8M"], tailslap: ["8M"], telekinesis: ["7T"], - thunderbolt: ["8M", "7M", "6M"], - thunderwave: ["8M", "7M", "6M"], + terablast: ["9M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + thunderwave: ["9M", "8M", "7M", "6M"], torment: ["7M", "6M"], toxic: ["7M", "6M"], - trick: ["8M", "7T"], - trickroom: ["8M", "7M", "6M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T"], + trickroom: ["9M", "8M", "7M", "6M"], wonderroom: ["8M", "7T"], workup: ["8M", "7M"], - zenheadbutt: ["8M", "7T"], + zenheadbutt: ["9M", "8M", "7T"], }, }, honedge: { @@ -68889,84 +70642,92 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, inkay: { learnset: { - acupressure: ["8E"], - aerialace: ["7M", "6M"], + acupressure: ["9E", "8E"], + aerialace: ["9M", "7M", "6M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M", "6M"], - batonpass: ["8M"], + batonpass: ["9M", "8M"], bind: ["7T", "6T"], - calmmind: ["8M", "7M", "6M"], + calmmind: ["9M", "8M", "7M", "6M"], camouflage: ["7E", "6E"], confide: ["7M", "6M"], constrict: ["7L1", "6L1"], cut: ["6M"], - darkpulse: ["8M", "7M", "6M"], - destinybond: ["8E", "7E", "6E"], - disable: ["8E"], + darkpulse: ["9M", "8M", "7M", "6M"], + destinybond: ["9E", "8E", "7E", "6E"], + disable: ["9E", "8E"], doubleteam: ["7M", "6M"], embargo: ["7M", "6M"], - endure: ["8M"], - expandingforce: ["8T"], - facade: ["8M", "7M", "6M"], - faketears: ["8M"], - flamethrower: ["8M", "7M", "6M"], + endure: ["9M", "8M"], + expandingforce: ["9M", "8T"], + facade: ["9M", "8M", "7M", "6M"], + faketears: ["9M", "8M"], + flamethrower: ["9M", "8M", "7M", "6M"], flash: ["6M"], flatter: ["7E", "6E"], - fling: ["8M", "7M", "6M"], - foulplay: ["8M", "8L33", "7T", "7L8", "6T", "6L8", "6S0"], + fling: ["9M", "8M", "7M", "6M"], + foulplay: ["9M", "9L33", "8M", "8L33", "7T", "7L8", "6T", "6L8", "6S0"], frustration: ["7M", "6M"], - futuresight: ["8M"], + futuresight: ["9M", "8M"], + gravity: ["9M"], guardswap: ["8M", "7E"], happyhour: ["6S0"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M"], - hypnosis: ["8L3", "7L18", "6L18", "6S0"], - knockoff: ["7T", "6T"], - lashout: ["8T"], - lightscreen: ["8M", "7M", "7L31", "6M", "6L31"], - liquidation: ["8M"], - nastyplot: ["8M"], - nightslash: ["8L24", "7L46", "6L46"], - payback: ["8M", "8L9", "7M", "7L27", "6M", "6L27"], - peck: ["8L1", "7L1", "6L1"], - pluck: ["8L12", "7L35", "6L35"], + hypnosis: ["9L3", "8L3", "7L18", "6L18", "6S0"], + knockoff: ["9M", "7T", "6T"], + lashout: ["9M", "8T"], + lightscreen: ["9M", "8M", "7M", "7L31", "6M", "6L31"], + liquidation: ["9M", "8M"], + lunge: ["9M"], + nastyplot: ["9M", "8M"], + nightslash: ["9L24", "8L24", "7L46", "6L46"], + payback: ["9L9", "8M", "8L9", "7M", "7L27", "6M", "6L27"], + peck: ["9L1", "8L1", "7L1", "6L1"], + pluck: ["9L12", "8L12", "7L35", "6L35"], powersplit: ["7E", "6E"], - protect: ["8M", "7M", "6M"], - psybeam: ["8L15", "7L21", "6L21"], - psychic: ["8M", "7M", "6M"], - psychocut: ["8M", "8L27", "7L39", "6L39"], - psychup: ["7M", "6M"], + protect: ["9M", "8M", "7M", "6M"], + psybeam: ["9M", "9L15", "8L15", "7L21", "6L21"], + psychic: ["9M", "8M", "7M", "6M"], + psychocut: ["9L27", "8M", "8L27", "7L39", "6L39"], + psychup: ["9M", "7M", "6M"], + psyshock: ["9M"], psywave: ["7L13", "6L13"], - raindance: ["8M", "7M", "6M"], - reflect: ["8M", "7M", "7L4", "6M", "6L4"], - rest: ["8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + reflect: ["9M", "8M", "7M", "7L4", "6M", "6L4"], + rest: ["9M", "8M", "7M", "6M"], retaliate: ["8M", "6M"], return: ["7M", "6M"], - rockslide: ["8M", "7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], roleplay: ["7T", "6T"], round: ["8M", "7M", "6M"], secretpower: ["6M"], simplebeam: ["7E", "6E"], - slash: ["8L21", "7L43", "6L43"], - sleeptalk: ["8M", "7M", "6M"], + skillswap: ["9M"], + slash: ["9L21", "8L21", "7L43", "6L43"], + sleeptalk: ["9M", "8M", "7M", "6M"], snatch: ["7T", "6T"], snore: ["8M", "7T", "6T"], - spite: ["7T", "6T"], - storedpower: ["8M"], - substitute: ["8M", "7M", "6M"], - sunnyday: ["8M", "7M", "6M"], - superpower: ["8M", "8L39", "7T", "7L48", "6T", "6L48"], - swagger: ["8L18", "7M", "7L12", "6M", "6L12"], - switcheroo: ["8L31", "7L23", "6L23"], - tackle: ["8L1", "7L1", "6L1"], - taunt: ["8M", "7M", "6M"], + spite: ["9M", "7T", "6T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superpower: ["9L39", "8M", "8L39", "7T", "7L48", "6T", "6L48"], + swagger: ["9L18", "8L18", "7M", "7L12", "6M", "6L12"], + swift: ["9M"], + switcheroo: ["9L31", "8L31", "7L23", "6L23"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + taunt: ["9M", "8M", "7M", "6M"], telekinesis: ["7T"], - thief: ["8M", "7M", "6M"], - thunderbolt: ["8M", "7M", "6M"], - topsyturvy: ["8L36", "7L15", "6L15", "6S0"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + topsyturvy: ["9L36", "8L36", "7L15", "6L15", "6S0"], torment: ["7M", "6M"], toxic: ["7M", "6M"], - trickroom: ["8M", "7M", "6M"], - wrap: ["8L6"], + trick: ["9M"], + trickroom: ["9M", "8M", "7M", "6M"], + wrap: ["9L6", "8L6"], }, eventData: [ {generation: 6, level: 10, moves: ["happyhour", "foulplay", "hypnosis", "topsyturvy"], pokeball: "cherishball"}, @@ -68974,85 +70735,94 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, malamar: { learnset: { - aerialace: ["7M", "6M"], + aerialace: ["9M", "7M", "6M"], allyswitch: ["8M", "7T"], attract: ["8M", "7M", "6M"], - batonpass: ["8M"], + batonpass: ["9M", "8M"], bind: ["7T", "6T"], block: ["7T", "6T"], brutalswing: ["8M", "7M"], - calmmind: ["8M", "7M", "6M"], + calmmind: ["9M", "8M", "7M", "6M"], confide: ["7M", "6M"], constrict: ["7L1", "6L1"], cut: ["6M"], - darkpulse: ["8M", "7M", "6M"], + darkpulse: ["9M", "8M", "7M", "6M"], doubleteam: ["7M", "6M"], embargo: ["7M", "6M"], - endure: ["8M"], - expandingforce: ["8T"], - facade: ["8M", "7M", "6M", "6S0"], - faketears: ["8M"], - flamethrower: ["8M", "7M", "6M"], + endure: ["9M", "8M"], + expandingforce: ["9M", "8T"], + facade: ["9M", "8M", "7M", "6M", "6S0"], + faketears: ["9M", "8M"], + flamethrower: ["9M", "8M", "7M", "6M"], flash: ["6M"], - fling: ["8M", "7M", "6M"], - foulplay: ["8M", "8L37", "7T", "7L8", "6T", "6L8"], + fling: ["9M", "8M", "7M", "6M"], + foulplay: ["9M", "9L37", "8M", "8L37", "7T", "7L8", "6T", "6L8"], frustration: ["7M", "6M"], - futuresight: ["8M"], - gigaimpact: ["8M", "7M", "6M"], + futuresight: ["9M", "8M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gravity: ["9M"], guardswap: ["8M"], + helpinghand: ["9M"], hiddenpower: ["7M", "6M"], - hyperbeam: ["8M", "7M", "6M"], - hypnosis: ["8L1", "7L18", "6L18"], - knockoff: ["7T", "6T", "6S0"], - lashout: ["8T"], - lightscreen: ["8M", "7M", "7L31", "6M", "6L31"], - liquidation: ["8M"], - nastyplot: ["8M"], - nightslash: ["8L24", "7L46", "6L46"], - payback: ["8M", "8L9", "7M", "7L27", "6M", "6L27"], - peck: ["8L1", "7L1", "6L1"], - pluck: ["8L12", "7L35", "6L35"], - protect: ["8M", "7M", "6M"], - psybeam: ["8L15", "7L21", "6L21"], - psychic: ["8M", "7M", "6M"], - psychocut: ["8M", "8L27", "7L39", "6L39"], - psychup: ["7M", "6M"], - psyshock: ["8M", "7M", "6M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + hypnosis: ["9L1", "8L1", "7L18", "6L18"], + knockoff: ["9M", "7T", "6T", "6S0"], + lashout: ["9M", "8T"], + lightscreen: ["9M", "8M", "7M", "7L31", "6M", "6L31"], + liquidation: ["9M", "8M"], + lunge: ["9M"], + nastyplot: ["9M", "8M"], + nightslash: ["9L24", "8L24", "7L46", "6L46"], + payback: ["9L9", "8M", "8L9", "7M", "7L27", "6M", "6L27"], + peck: ["9L1", "8L1", "7L1", "6L1"], + pluck: ["9L12", "8L12", "7L35", "6L35"], + protect: ["9M", "8M", "7M", "6M"], + psybeam: ["9M", "9L15", "8L15", "7L21", "6L21"], + psychic: ["9M", "8M", "7M", "6M"], + psychicnoise: ["9M"], + psychocut: ["9L27", "8M", "8L27", "7L39", "6L39"], + psychup: ["9M", "7M", "6M"], + psyshock: ["9M", "8M", "7M", "6M"], psywave: ["7L13", "6L13"], - raindance: ["8M", "7M", "6M"], - reflect: ["8M", "7M", "7L1", "6M", "6L4"], - rest: ["8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + reflect: ["9M", "8M", "7M", "7L1", "6M", "6L4"], + rest: ["9M", "8M", "7M", "6M"], retaliate: ["8M", "6M"], return: ["7M", "6M"], - reversal: ["8M", "8L1", "7L1", "6L1"], - rockslide: ["8M", "7M", "6M", "6S0"], + reversal: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + rockslide: ["9M", "8M", "7M", "6M", "6S0"], roleplay: ["7T", "6T"], round: ["8M", "7M", "6M"], - scaryface: ["8M"], + scaryface: ["9M", "8M"], secretpower: ["6M"], signalbeam: ["7T", "6T"], - slash: ["8L21", "7L43", "6L43"], - sleeptalk: ["8M", "7M", "6M"], + skillswap: ["9M"], + slash: ["9L21", "8L21", "7L43", "6L43"], + sleeptalk: ["9M", "8M", "7M", "6M"], snatch: ["7T", "6T"], snore: ["8M", "7T", "6T"], - spite: ["7T", "6T"], - storedpower: ["8M"], - substitute: ["8M", "7M", "6M"], - sunnyday: ["8M", "7M", "6M"], - superpower: ["8M", "8L47", "7T", "7L48", "6T", "6L1", "6S0"], - swagger: ["8L18", "7M", "7L12", "6M", "6L12"], - switcheroo: ["8L33", "7L23", "6L23"], - tackle: ["8L1", "7L1", "6L1"], - taunt: ["8M", "7M", "6M"], + spite: ["9M", "7T", "6T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superpower: ["9L47", "8M", "8L47", "7T", "7L48", "6T", "6L1", "6S0"], + swagger: ["9L18", "8L18", "7M", "7L12", "6M", "6L12"], + swift: ["9M"], + switcheroo: ["9L33", "8L33", "7L23", "6L23"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + taunt: ["9M", "8M", "7M", "6M"], telekinesis: ["7T"], - thief: ["8M", "7M", "6M"], - throatchop: ["8M", "7T"], - thunderbolt: ["8M", "7M", "6M"], - topsyturvy: ["8L42", "7L15", "6L15"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + throatchop: ["9M", "8M", "7T"], + thunderbolt: ["9M", "8M", "7M", "6M"], + topsyturvy: ["9L42", "8L42", "7L15", "6L15"], torment: ["7M", "6M"], toxic: ["7M", "6M"], - trickroom: ["8M", "7M", "6M"], - wrap: ["8L1"], + trailblaze: ["9M"], + trick: ["9M"], + trickroom: ["9M", "8M", "7M", "6M"], + wrap: ["9L1", "8L1"], }, eventData: [ {generation: 6, level: 50, nature: "Adamant", ivs: {hp: 31, atk: 31}, abilities: ["contrary"], moves: ["superpower", "knockoff", "facade", "rockslide"], pokeball: "cherishball"}, @@ -69282,6 +71052,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M", "8M", "7T", "6T"], irontail: ["8M", "7T", "6T"], liquidation: ["9M"], + muddywater: ["9M"], mudshot: ["9M"], mudslap: ["9M"], outrage: ["9M", "8M", "7T", "6T"], @@ -69300,7 +71071,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T", "6T"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "9L50", "8M", "8L50", "7M", "7L38", "6M", "6L38"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], smokescreen: ["9L1", "8L1", "7L1", "6L1"], snore: ["8M", "7T", "6T"], snowscape: ["9M"], @@ -69322,6 +71093,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "6M"], watergun: ["9L10", "8L10", "7L1", "6L1"], waterpulse: ["9M", "9L30", "8L30", "7T", "7L25", "6T", "6L25"], + whirlpool: ["9M"], }, }, dragalge: { @@ -69356,6 +71128,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M", "8M", "7T", "6T"], irontail: ["8M", "7T", "6T"], liquidation: ["9M"], + muddywater: ["9M"], mudshot: ["9M"], mudslap: ["9M"], outrage: ["9M", "9L66", "8M", "8L66", "7T", "6T"], @@ -69374,7 +71147,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T", "6T"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "9L52", "8M", "8L52", "7M", "7L38", "6M", "6L38"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], smokescreen: ["9L1", "8L1", "7L1", "6L1"], snore: ["8M", "7T", "6T"], snowscape: ["9M"], @@ -69397,6 +71170,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "6M"], watergun: ["9L1", "8L1", "7L1", "6L1"], waterpulse: ["9M", "9L30", "8L30", "7T", "7L25", "6T", "6L25"], + whirlpool: ["9M"], }, encounters: [ {generation: 6, level: 35}, @@ -69435,7 +71209,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M", "8M", "7T", "6T"], irontail: ["8M", "7T", "6T"], liquidation: ["9M"], - muddywater: ["9L50", "8M", "8L50", "7L48", "6L48"], + muddywater: ["9M", "9L50", "8M", "8L50", "7L48", "6L48"], mudshot: ["9M"], mudslap: ["9M"], pounce: ["9M"], @@ -69449,7 +71223,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["6M"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["8M", "7M", "6M"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], smackdown: ["9M", "9L20", "8L20", "7M", "7L39", "6M", "6L39"], snore: ["8M", "7T", "6T"], splash: ["9L1", "8L1", "7L1", "6L1"], @@ -69510,7 +71284,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irontail: ["8M", "7T", "6T"], laserfocus: ["7T"], liquidation: ["9M", "8M", "7T"], - muddywater: ["9L56", "8M", "8L56", "7L57", "6L53"], + muddywater: ["9M", "9L56", "8M", "8L56", "7L57", "6L53"], mudshot: ["9M"], mudslap: ["9M"], pounce: ["9M"], @@ -69526,7 +71300,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M", "7M", "6M"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "8M", "7M", "6M"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], smackdown: ["9M", "9L20", "8L20", "7M", "7L42", "6M", "6L42"], snore: ["8M", "7T", "6T"], splash: ["9L1", "8L1", "7L1", "6L1"], @@ -70033,6 +71807,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, sylveon: { learnset: { + alluringvoice: ["9M"], attract: ["8M", "7M", "6M"], babydolleyes: ["9L15", "8L15", "7L9", "6S1"], batonpass: ["9M", "9L1", "8M", "8L1"], @@ -70044,11 +71819,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], copycat: ["9L1", "8L1"], covet: ["9L1", "8L1", "7T", "6T"], + curse: ["9M"], cut: ["6M"], dazzlinggleam: ["9M", "8M", "7M", "6M"], dig: ["9M", "8M", "6M"], disarmingvoice: ["9M", "9L0", "8L0", "7L1", "6L1", "6S1"], - doubleedge: ["9L1", "8L1"], + doubleedge: ["9M", "9L1", "8L1"], doubleteam: ["7M", "6M"], drainingkiss: ["9M", "9L30", "8M", "8L30", "7L20", "7S2", "6L20", "6S1"], echoedvoice: ["7M", "6M"], @@ -70081,7 +71857,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { playrough: ["9M", "8M"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M"], - psychup: ["9L45", "8L45", "7M", "7L45", "6M", "6L45"], + psychup: ["9M", "9L45", "8L45", "7M", "7L45", "6M", "6L45"], psyshock: ["9M", "8M", "7M", "7S2", "6M"], quickattack: ["9L10", "8L10", "7L13", "6L13", "6S1"], raindance: ["9M", "8M", "7M", "6M"], @@ -70135,7 +71911,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "9L24", "8M", "7M", "6M"], bulkup: ["9M", "8M", "7M", "6M"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M", "6M"], crosschop: ["9E", "8E"], cut: ["6M"], @@ -70147,12 +71923,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { dualchop: ["7T", "6T"], dualwingbeat: ["9M", "8T"], encore: ["9M", "9L16", "8M", "8L16", "7L20", "6L20"], - endeavor: ["9L52", "8L52", "7T", "7L36", "6T", "6L36"], + endeavor: ["9M", "9L52", "8L52", "7T", "7L36", "6T", "6L36"], endure: ["9M", "8M"], entrainment: ["9E", "8E", "7E", "6E"], facade: ["9M", "8M", "7M", "6M"], falseswipe: ["9M", "8M", "7M", "6M"], - featherdance: ["9L20", "8L20", "7L40", "6L40"], + featherdance: ["9M", "9L20", "8L20", "7L40", "6L40"], feint: ["9E", "8E", "7E"], firepunch: ["9M", "8M", "7T", "6T"], fling: ["9M", "8M", "7M", "7L24", "6M", "6L24"], @@ -70217,11 +71993,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L32", "8M", "8L32", "7M", "6M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderpunch: ["9M", "8M", "7T", "6T"], torment: ["7M", "6M"], toxic: ["7M", "6M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["9M"], uturn: ["9M", "8M", "7M", "6M"], wingattack: ["9L4", "8L4", "7L8", "6L8"], @@ -70250,7 +72027,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M", "7E", "6E"], electricterrain: ["9M", "8M"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T", "6T"], + electroweb: ["9M", "8M", "7T", "6T"], + endeavor: ["9M"], endure: ["9M", "8M"], entrainment: ["9L55", "8L55", "7L39", "6L39"], facade: ["9M", "8M", "7M", "6M"], @@ -70320,8 +72098,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M", "6M"], covet: ["7T", "6T"], dazzlinggleam: ["9M", "8M", "7M", "6M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], earthpower: ["9M", "8M", "7T", "6T"], + endeavor: ["9M"], endure: ["9M", "8M"], explosion: ["7M", "6M"], facade: ["9M", "8M", "7M", "6M"], @@ -70344,7 +72124,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "9L30", "8M", "8L30", "7M", "7L60", "6M", "6L60"], magiccoat: ["7T", "6T"], magnetrise: ["7T", "6T"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mistyexplosion: ["9M", "8T"], mistyterrain: ["9M"], moonblast: ["9L55", "8L55", "7L50", "6L50"], @@ -70352,7 +72132,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powergem: ["9M", "9L45", "8M", "8L45", "7L46", "6L46"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M", "8M", "7M", "6M"], - psychup: ["7M", "6M"], + psychup: ["9M", "7M", "6M"], raindance: ["9M"], reflect: ["9M", "8M", "7M", "7L18", "6M", "6L18"], rest: ["9M", "8M", "7M", "6M"], @@ -70401,7 +72181,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], counter: ["9E", "8E", "7E", "7S0", "6E"], - curse: ["9L41", "8L41", "7E", "6E"], + curse: ["9M", "9L41", "8L41", "7E", "6E"], doubleteam: ["7M", "6M"], dracometeor: ["9M", "8T", "7T", "6T"], dragonbreath: ["9L10", "8L10", "7L18", "6L18"], @@ -70414,7 +72194,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { infestation: ["7M", "6M"], irontail: ["8M", "7T", "7E", "6T", "6E"], lifedew: ["9E", "8E"], - muddywater: ["9L50", "8M", "8L50", "7L38", "6L38"], + muddywater: ["9M", "9L50", "8M", "8L50", "7L38", "6L38"], mudshot: ["9M", "8M"], outrage: ["9M", "8M", "7T", "6T"], poisontail: ["7E", "6E"], @@ -70426,10 +72206,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M"], secretpower: ["6M"], shockwave: ["7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "8M", "7M", "6M"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], snore: ["8M", "7T", "6T"], substitute: ["9M", "8M", "7M", "6M"], sunnyday: ["9M", "8M", "7M", "6M"], @@ -70459,7 +72239,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M"], chillingwater: ["9M"], confide: ["7M", "6M"], - curse: ["9L43", "8L43"], + curse: ["9M", "9L43", "8L43"], doubleteam: ["7M", "6M"], dracometeor: ["9M", "8T", "7T", "6T"], dragonbreath: ["9L1", "8L1", "7L18", "6L18"], @@ -70472,7 +72252,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icebeam: ["9M", "8M", "7M", "6M"], infestation: ["7M", "6M"], irontail: ["8M", "7T", "6T"], - muddywater: ["9L56", "8M", "8L56", "7L38", "6L38"], + muddywater: ["9M", "9L56", "8M", "8L56", "7L38", "6L38"], mudshot: ["9M", "8M"], outrage: ["9M", "8M", "7T", "6T"], protect: ["9M", "9L15", "8M", "8L15", "7M", "7L9", "6M", "6L9"], @@ -70483,10 +72263,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M", "6M"], secretpower: ["6M"], shockwave: ["7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "8M", "7M", "6M"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], snore: ["8M", "7T", "6T"], substitute: ["9M", "8M", "7M", "6M"], sunnyday: ["9M", "8M", "7M", "6M"], @@ -70513,7 +72293,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], charm: ["9M"], chillingwater: ["9M"], - curse: ["9L43"], + curse: ["9M", "9L43"], dracometeor: ["9M"], dragonbreath: ["9L1"], dragonpulse: ["9M", "9L35"], @@ -70526,7 +72306,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icebeam: ["9M"], icespinner: ["9M"], ironhead: ["9M", "9L49"], - muddywater: ["9L56"], + muddywater: ["9M", "9L56"], mudshot: ["9M"], outrage: ["9M"], protect: ["9M", "9L15"], @@ -70536,8 +72316,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M"], sandstorm: ["9M"], shelter: ["9L0"], + skittersmack: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], steelbeam: ["9M"], substitute: ["9M"], sunnyday: ["9M"], @@ -70561,17 +72343,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M", "8M", "7M", "6M"], bodypress: ["9M", "8M"], bodyslam: ["9M", "9L49", "8M", "8L49", "7L32", "6L32"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], bubble: ["7L1", "6L1"], bulldoze: ["9M", "8M", "7M", "6M"], charm: ["9M"], chillingwater: ["9M"], confide: ["7M", "6M"], - curse: ["9L43", "8L43"], + curse: ["9M", "9L43", "8L43"], doubleteam: ["7M", "6M"], dracometeor: ["9M", "8T", "7T", "6T"], dragonbreath: ["9L1", "8L1", "7L18", "6L18"], + dragoncheer: ["9M"], dragonclaw: ["9M"], dragonpulse: ["9M", "8M", "8L35", "7T", "7L47", "6T", "6L47"], dragontail: ["9M", "7M", "6M"], @@ -70599,7 +72382,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { laserfocus: ["7T"], megakick: ["8M"], megapunch: ["8M"], - muddywater: ["9L58", "8M", "8L58", "7L38", "6L38"], + muddywater: ["9M", "9L58", "8M", "8L58", "7L38", "6L38"], mudshot: ["9M", "8M"], outrage: ["9M", "8M", "7T", "7L1", "6T", "6L1"], poisontail: ["9M", "9L1", "8L1"], @@ -70614,10 +72397,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["9M"], secretpower: ["6M"], shockwave: ["7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "8M", "7M", "6M"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], snore: ["8M", "7T", "6T"], stompingtantrum: ["9M", "8M", "7T"], strength: ["6M"], @@ -70646,12 +72429,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M"], bodypress: ["9M"], bodyslam: ["9M", "9L49"], + breakingswipe: ["9M"], bulldoze: ["9M"], charm: ["9M"], chillingwater: ["9M"], - curse: ["9L43"], + curse: ["9M", "9L43"], dracometeor: ["9M"], dragonbreath: ["9L1"], + dragoncheer: ["9M"], dragonclaw: ["9M"], dragonpulse: ["9M", "9L35"], dragontail: ["9M"], @@ -70675,7 +72460,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irontail: ["9L0"], knockoff: ["9M"], lashout: ["9M"], - muddywater: ["9L58"], + muddywater: ["9M", "9L58"], mudshot: ["9M"], outrage: ["9M"], protect: ["9M", "9L15"], @@ -70686,8 +72471,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M"], scaryface: ["9M"], shelter: ["9L1"], + skittersmack: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], steelbeam: ["9M"], stompingtantrum: ["9M"], substitute: ["9M"], @@ -70737,13 +72524,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T"], magicroom: ["9L44", "8M", "8L44", "7T", "7L44", "6T", "6L44"], magnetrise: ["9E", "8E", "7T", "6T"], - metalsound: ["9L20", "8L20", "7L12", "6L12"], + metalsound: ["9M", "9L20", "8L20", "7L12", "6L12"], mirrorshot: ["7L34", "6L34"], mistyterrain: ["9M", "8M"], playrough: ["9M", "9L40", "8M", "8L40", "7L43", "6L43"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M", "8M", "7M", "6M"], - psychup: ["7M", "6M"], + psychup: ["9M", "7M", "6M"], psyshock: ["9M", "8M", "7M", "6M"], raindance: ["9M", "8M", "7M", "6M"], recycle: ["9L28", "8L28", "7T", "7L40", "6T", "6L40"], @@ -70754,6 +72541,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { safeguard: ["8M", "7M", "6M"], sandstorm: ["9M"], secretpower: ["6M"], + skittersmack: ["9M"], sleeptalk: ["9M", "8M", "7M", "6M"], snore: ["8M", "7T", "6T"], spikes: ["9M", "8M", "7L15", "6L15"], @@ -70783,7 +72571,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "8M", "7M", "6M"], confide: ["7M", "6M"], confuseray: ["9M", "9L12", "8L12", "7L1", "6L1"], - curse: ["9L32", "8L32", "7L28", "6L28"], + curse: ["9M", "9L32", "8L32", "7L28", "6L28"], cut: ["6M"], darkpulse: ["9M", "8M", "7M", "6M"], destinybond: ["9L48", "8L48", "7L39", "6L39"], @@ -70815,13 +72603,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T"], naturepower: ["7M", "6M"], nightshade: ["9M"], - painsplit: ["7T", "6T"], + painsplit: ["9M", "7T", "6T"], phantomforce: ["9M", "9L36", "8M", "8L36", "7L45", "6L45"], poisonjab: ["9M", "8M", "7M", "6M"], poltergeist: ["9M", "8T"], poweruppunch: ["7E"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M", "8M", "7M", "6M"], + psychup: ["9M"], raindance: ["9M"], reflect: ["9M", "8M", "7M", "6M"], rest: ["9M", "8M", "7M", "6M"], @@ -70836,7 +72625,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M", "7M", "6M"], shadowclaw: ["9M", "8M", "7M", "6M"], skillswap: ["9M", "8M", "7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M"], snore: ["8M", "7T", "6T"], solarbeam: ["9M", "8M", "7M", "6M"], @@ -70873,7 +72662,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "8M", "7M", "6M"], confide: ["7M", "6M"], confuseray: ["9M", "9L12", "8L12", "7L1", "6L1"], - curse: ["9L32", "8L32", "7L28", "6L28"], + curse: ["9M", "9L32", "8L32", "7L28", "6L28"], cut: ["6M"], darkpulse: ["9M", "8M", "7M", "6M"], destinybond: ["9L48", "8L48", "7L39", "6L39"], @@ -70912,13 +72701,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T", "6T"], naturepower: ["7M", "6M"], nightshade: ["9M"], - painsplit: ["7T", "6T"], + painsplit: ["9M", "7T", "6T"], phantomforce: ["9M", "9L36", "8M", "8L36", "7L45", "6L45"], poisonjab: ["9M", "8M", "7M", "6M"], poltergeist: ["9M", "8T"], poweruppunch: ["6M"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M", "8M", "7M", "6M"], + psychicnoise: ["9M"], + psychup: ["9M"], raindance: ["9M"], reflect: ["9M", "8M", "7M", "6M"], rest: ["9M", "8M", "7M", "6M"], @@ -70934,7 +72725,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M", "7M", "6M"], shadowclaw: ["9M", "9L0", "8M", "8L0", "7M", "7L1", "6M", "6L55"], skillswap: ["9M", "8M", "7T", "6T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "6M"], snore: ["8M", "7T", "6T"], solarbeam: ["9M", "8M", "7M", "6M"], @@ -71142,8 +72933,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], crunch: ["9M", "9L33", "8M", "8L33"], - curse: ["9L9", "8L9", "7L22", "6L22"], - doubleedge: ["9L42", "8L42", "7L49", "6L49"], + curse: ["9M", "9L9", "8L9", "7L22", "6L22"], + doubleedge: ["9M", "9L42", "8L42", "7L49", "6L49"], doubleteam: ["7M", "6M"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M"], @@ -71208,8 +72999,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M", "6M"], crunch: ["9M", "9L33", "8M", "8L33", "7L1", "6L1"], - curse: ["9L9", "8L9", "7L22", "6L22"], - doubleedge: ["9L46", "8L46", "7L56", "6L56"], + curse: ["9M", "9L9", "8L9", "7L22", "6L22"], + doubleedge: ["9M", "9L46", "8L46", "7L56", "6L56"], doubleteam: ["7M", "6M"], earthquake: ["9M", "8M", "7M", "6M"], endure: ["9M", "8M"], @@ -71282,15 +73073,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M"], chillingwater: ["9M"], crunch: ["9M", "9L33"], - curse: ["9L9"], + curse: ["9M", "9L9"], dig: ["9M"], - doubleedge: ["9L46"], + doubleedge: ["9M", "9L46"], earthquake: ["9M"], endure: ["9M"], facade: ["9M"], gigaimpact: ["9M"], gyroball: ["9M"], harden: ["9L1"], + hardpress: ["9M"], heavyslam: ["9M"], highhorsepower: ["9M"], hyperbeam: ["9M"], @@ -71301,6 +73093,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M", "9L12"], irondefense: ["9M", "9L27"], ironhead: ["9M"], + meteorbeam: ["9M"], mountaingale: ["9L61"], powdersnow: ["9L1"], protect: ["9M", "9L15"], @@ -71413,13 +73206,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9L20", "8L20", "7L13", "6L13"], bodyslam: ["9M"], boomburst: ["9L62", "8L62", "7L1", "6L1"], + breakingswipe: ["9M"], brickbreak: ["9M", "8M", "7M", "6M"], confide: ["7M", "6M"], cut: ["6M"], darkpulse: ["9M", "8M", "7M", "6M"], defog: ["7T"], + doubleedge: ["9M"], doubleteam: ["9L12", "8L12", "7M", "6M"], dracometeor: ["9M", "8T", "7T", "6T"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M", "7M", "6M"], dragondance: ["9M", "8M"], dragonpulse: ["9M", "9L0", "8M", "8L0", "7T", "7L1", "6T", "6L1"], @@ -71448,6 +73244,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { outrage: ["9M", "8M", "7T", "6T"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M", "8M", "7M", "6M"], + psychicnoise: ["9M"], razorwind: ["7L31", "6L31"], rest: ["9M", "8M", "7M", "6M"], return: ["7M", "6M"], @@ -71781,7 +73578,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { drainingkiss: ["9M", "8M"], earthpower: ["9M", "8M", "7T", "6T"], encore: ["9M", "8M"], - endeavor: ["7T", "6T"], + endeavor: ["9M", "7T", "6T"], endure: ["9M", "8M"], explosion: ["7M", "6M"], facade: ["9M", "8M", "7M", "6M"], @@ -71805,7 +73602,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lastresort: ["7T", "6T"], lightscreen: ["9M", "9L42", "8M", "8L42", "7M", "7L60", "6M", "6L60"], magnetrise: ["7T", "6T"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], metronome: ["9M", "8M"], mistyexplosion: ["9M", "8T"], moonblast: ["9L77", "8L77", "7L50", "6L50", "6S0", "6S1"], @@ -71815,7 +73612,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powergem: ["9M", "9L63", "8M", "8L63", "7L40"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M", "8M", "7M", "6M"], - psychup: ["7M", "6M"], + psychup: ["9M", "7M", "6M"], psyshock: ["9M", "8M", "7M", "6M"], raindance: ["9M"], reflect: ["9M", "8M", "7M", "7L12", "6M", "6L18", "6S0", "6S1"], @@ -71829,6 +73626,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { safeguard: ["8M", "7M", "7L70", "6M", "6L70"], sandstorm: ["9M", "8M", "7M", "6M"], sandtomb: ["9M", "8M"], + scorchingsands: ["9M"], secretpower: ["6M"], sharpen: ["7L5", "6L8"], skillswap: ["9M", "9L56", "8M", "8L56", "7T", "7L35", "6T", "6L40"], @@ -71879,6 +73677,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { embargo: ["7M", "6M"], endure: ["9M"], energyball: ["9M", "7M", "6M"], + expandingforce: ["9M"], facade: ["9M", "7M", "6M"], firepunch: ["9M", "7T", "6T"], flash: ["6M"], @@ -71887,6 +73686,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "7T", "6T"], foulplay: ["9M", "7T", "6T"], frustration: ["7M", "6M"], + futuresight: ["9M"], gigaimpact: ["9M", "7M", "6M"], grassknot: ["9M", "7M", "6M"], gravity: ["9M", "7T", "6T"], @@ -71911,8 +73711,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "7M", "6M"], psybeam: ["9M", "9L19", "7L19", "6L15"], psychic: ["9M", "9L75", "7M", "7L75", "7S1", "6M", "6L75", "6S0"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["7M", "6M"], + psychup: ["9M", "7M", "6M"], psyshock: ["9M", "7M", "6M"], quash: ["7M", "6M"], raindance: ["9M", "7M", "6M"], @@ -71931,6 +73732,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["7T", "6T"], signalbeam: ["7T", "6T"], skillswap: ["9M", "9L25", "7T", "7L25", "6T", "6L25"], + skittersmack: ["9M"], sleeptalk: ["9M", "7M", "6M"], snatch: ["7T", "6T"], snore: ["7T", "6T"], @@ -71943,7 +73745,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { telekinesis: ["7T"], terablast: ["9M"], thief: ["9M", "7M", "6M"], - throatchop: ["7T"], + throatchop: ["9M", "7T"], thunderbolt: ["9M", "7M", "6M"], thunderpunch: ["9M", "7T", "6T"], thunderwave: ["9M", "7M", "6M"], @@ -71974,6 +73776,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["6M"], defog: ["7T"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M", "6M"], earthpower: ["9M", "8M", "7T", "6T"], earthquake: ["9M", "8M", "7M", "6M"], @@ -72019,12 +73822,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "8M", "7M", "6M"], scald: ["9M", "9L48", "8M", "8L48", "7M", "7L32", "6M", "6L32"], scaryface: ["9M", "9L30", "8M", "8L30"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["6M"], selfdestruct: ["8M"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "8M", "7M", "6M"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], smackdown: ["9M", "7M", "6M"], snore: ["8M", "7T", "6T"], solarbeam: ["9M", "8M", "7M", "6M"], @@ -72077,7 +73880,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { energyball: ["9M", "8M", "7M"], facade: ["9M", "8M", "7M"], falseswipe: ["9M", "8M", "7M"], - featherdance: ["9L33", "8L33", "7L39"], + featherdance: ["9M", "9L33", "8L33", "7L39"], foresight: ["7L18"], frustration: ["7M"], furyattack: ["7L29"], @@ -72155,7 +73958,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { energyball: ["9M", "8M", "7M"], facade: ["9M", "8M", "7M"], falseswipe: ["9M", "8M", "7M"], - featherdance: ["9L45", "8L45", "7L46"], + featherdance: ["9M", "9L45", "8L45", "7L46"], foresight: ["7L19"], frustration: ["7M"], furyattack: ["7L33"], @@ -72227,6 +74030,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M"], confuseray: ["9M"], covet: ["7T"], + curse: ["9M"], defog: ["7T"], doubleteam: ["7M"], dualwingbeat: ["9M", "8T"], @@ -72235,7 +74039,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { energyball: ["9M", "8M", "7M"], facade: ["9M", "8M", "7M"], falseswipe: ["9M", "8M", "7M"], - featherdance: ["9L51", "8L51", "7L49"], + featherdance: ["9M", "9L51", "8L51", "7L49"], foresight: ["7L19"], frenzyplant: ["9M", "8T", "7T"], frustration: ["7M"], @@ -72284,7 +74088,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M", "7M"], shadowclaw: ["9M", "8M", "7M"], shadowsneak: ["9L12", "8L12", "7L1", "7S0"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], skyattack: ["7T"], sleeptalk: ["9M", "8M", "7M"], smackdown: ["9M", "7M"], @@ -72327,13 +74131,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "9L30"], bulletseed: ["9M"], closecombat: ["9M"], + coaching: ["9M"], confuseray: ["9M"], dualwingbeat: ["9M"], endure: ["9M"], energyball: ["9M"], facade: ["9M"], falseswipe: ["9M"], - featherdance: ["9L51"], + featherdance: ["9M", "9L51"], focusblast: ["9M"], focuspunch: ["9M"], frenzyplant: ["9M"], @@ -72385,227 +74190,249 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], trailblaze: ["9M"], triplearrows: ["9L0"], + upperhand: ["9M"], uturn: ["9M", "9L1"], }, }, litten: { learnset: { - acrobatics: ["8M", "7M"], + acrobatics: ["9M", "8M", "7M"], attract: ["8M", "7M"], - bite: ["8L15", "7L22"], - bodyslam: ["8M", "7E"], - bulkup: ["8M", "7M"], + bite: ["9L15", "8L15", "7L22"], + bodyslam: ["9M", "8M", "7E"], + bulkup: ["9M", "8M", "7M"], confide: ["7M"], covet: ["7T"], - crunch: ["8M", "7E"], - doublekick: ["8L18", "7L16"], + crunch: ["9M", "8M", "7E"], + doubleedge: ["9M"], + doublekick: ["9L18", "8L18", "7L16"], doubleteam: ["7M"], - ember: ["8L3", "7L1"], - endeavor: ["7T"], - endure: ["8M"], - facade: ["8M", "7M"], - fakeout: ["8E", "7E"], - fireblast: ["8M", "7M"], - firefang: ["8M", "8L21", "7L14"], - firepledge: ["8T", "7T"], - firespin: ["8M"], - flamecharge: ["7M"], - flamethrower: ["8M", "8L30", "7M", "7L36"], - flareblitz: ["8M", "8L36", "7L43"], + ember: ["9L3", "8L3", "7L1"], + endeavor: ["9M", "7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["9E", "8E", "7E"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M", "9L21", "8M", "8L21", "7L14"], + firepledge: ["9M", "8T", "7T"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "7M"], + flamethrower: ["9M", "9L30", "8M", "8L30", "7M", "7L36"], + flareblitz: ["9M", "9L36", "8M", "8L36", "7L43"], frustration: ["7M"], - furyswipes: ["8L12", "7L29"], - growl: ["8L1", "7L4"], - heatwave: ["8M", "7T", "7E"], + furyswipes: ["9L12", "8L12", "7L29"], + growl: ["9L1", "8L1", "7L4"], + heatwave: ["9M", "8M", "7T", "7E"], + helpinghand: ["9M"], hiddenpower: ["7M"], - leechlife: ["8M", "7M"], + leechlife: ["9M", "8M", "7M"], leer: ["7L11"], - lick: ["8L6", "7L8"], - nastyplot: ["8M", "7E"], - outrage: ["8M", "7T", "7L46"], - overheat: ["8M", "7M"], - partingshot: ["8E"], + lick: ["9L6", "8L6", "7L8"], + nastyplot: ["9M", "8M", "7E"], + outrage: ["9M", "8M", "7T", "7L46"], + overheat: ["9M", "8M", "7M"], + partingshot: ["9E", "8E"], payday: ["8M"], - powertrip: ["8E", "7E"], - protect: ["8M", "7M"], - rest: ["8M", "7M"], + powertrip: ["9E", "8E", "7E"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], revenge: ["8M", "7E"], - roar: ["8L9", "7M", "7L18"], + roar: ["9M", "9L9", "8L9", "7M", "7L18"], round: ["8M", "7M"], - scaryface: ["8M", "8L24", "7L39"], - scratch: ["8L1", "7L1"], - shadowclaw: ["8M", "7M"], - sleeptalk: ["8M", "7M"], + scaryface: ["9M", "9L24", "8M", "8L24", "7L39"], + scratch: ["9L1", "8L1", "7L1"], + shadowclaw: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - substitute: ["8M", "7M"], - sunnyday: ["8M", "7M"], - swagger: ["8L27", "7M", "7L25"], - swordsdance: ["8M", "7M"], - taunt: ["8M", "7M"], - thrash: ["8L33", "7L32"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["9L27", "8L27", "7M", "7L25"], + swordsdance: ["9M", "8M", "7M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + temperflare: ["9M"], + terablast: ["9M"], + thrash: ["9L33", "8L33", "7L32"], torment: ["7M"], toxic: ["7M"], - uturn: ["8M", "7M"], - willowisp: ["8M", "7M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M"], + willowisp: ["9M", "8M", "7M"], workup: ["8M", "7M"], }, }, torracat: { learnset: { - acrobatics: ["8M", "7M"], + acrobatics: ["9M", "8M", "7M"], attract: ["8M", "7M"], - bite: ["8L15", "7L24"], - bodyslam: ["8M"], - bulkup: ["8M", "7M"], + bite: ["9L15", "8L15", "7L24"], + bodyslam: ["9M", "8M"], + bulkup: ["9M", "8M", "7M"], confide: ["7M"], covet: ["7T"], - crunch: ["8M"], - doublekick: ["8L20", "7L16"], + crunch: ["9M", "8M"], + doubleedge: ["9M"], + doublekick: ["9L20", "8L20", "7L16"], doubleteam: ["7M"], dualchop: ["7T"], - ember: ["8L1", "7L1"], - endeavor: ["7T"], - endure: ["8M"], - facade: ["8M", "7M"], - fireblast: ["8M", "7M"], - firefang: ["8M", "8L25", "7L14"], - firepledge: ["8T", "7T"], - firespin: ["8M"], - flamecharge: ["7M"], - flamethrower: ["8M", "8L40", "7M", "7L42"], - flareblitz: ["8M", "8L50", "7L51"], + ember: ["9L1", "8L1", "7L1"], + endeavor: ["9M", "7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M", "9L25", "8M", "8L25", "7L14"], + firepledge: ["9M", "8T", "7T"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "7M"], + flamethrower: ["9M", "9L40", "8M", "8L40", "7M", "7L42"], + flareblitz: ["9M", "9L50", "8M", "8L50", "7L51"], frustration: ["7M"], - furyswipes: ["8L12", "7L33"], - growl: ["8L1", "7L1"], - heatwave: ["8M", "7T"], + furyswipes: ["9L12", "8L12", "7L33"], + growl: ["9L1", "8L1", "7L1"], + heatwave: ["9M", "8M", "7T"], + helpinghand: ["9M"], hiddenpower: ["7M"], - leechlife: ["8M", "7M"], + leechlife: ["9M", "8M", "7M"], leer: ["7L11"], - lick: ["8L1", "7L1"], - nastyplot: ["8M"], - outrage: ["8M", "7T", "7L55"], - overheat: ["8M", "7M"], + lick: ["9L1", "8L1", "7L1"], + nastyplot: ["9M", "8M"], + outrage: ["9M", "8M", "7T", "7L55"], + overheat: ["9M", "8M", "7M"], payday: ["8M"], - protect: ["8M", "7M"], - rest: ["8M", "7M"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], revenge: ["8M"], - roar: ["8L9", "7M", "7L19"], + roar: ["9M", "9L9", "8L9", "7M", "7L19"], round: ["8M", "7M"], - scaryface: ["8M", "8L30", "7L46"], - scratch: ["8L1", "7L1"], - shadowclaw: ["8M", "7M"], - sleeptalk: ["8M", "7M"], + scaryface: ["9M", "9L30", "8M", "8L30", "7L46"], + scratch: ["9L1", "8L1", "7L1"], + shadowclaw: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - substitute: ["8M", "7M"], - sunnyday: ["8M", "7M"], - swagger: ["8L35", "7M", "7L28"], - swordsdance: ["8M", "7M"], - taunt: ["8M", "7M"], - thrash: ["8L45", "7L37"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["9L35", "8L35", "7M", "7L28"], + swordsdance: ["9M", "8M", "7M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + temperflare: ["9M"], + terablast: ["9M"], + thrash: ["9L45", "8L45", "7L37"], torment: ["7M"], toxic: ["7M"], - uturn: ["8M", "7M"], - willowisp: ["8M", "7M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M"], + willowisp: ["9M", "8M", "7M"], workup: ["8M", "7M"], }, }, incineroar: { learnset: { - acrobatics: ["8M", "7M"], + acrobatics: ["9M", "8M", "7M"], + aerialace: ["9M"], assurance: ["8M"], attract: ["8M", "7M"], + batonpass: ["9M"], bind: ["7T"], - bite: ["8L15", "7L24"], - blastburn: ["8T", "7T"], + bite: ["9L15", "8L15", "7L24"], + blastburn: ["9M", "8T", "7T"], blazekick: ["8M"], - bodyslam: ["8M"], - brickbreak: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], brutalswing: ["8M", "7M"], - bulkup: ["8M", "8L1", "7M", "7L1"], - bulldoze: ["8M", "7M"], - burningjealousy: ["8T"], - closecombat: ["8M"], + bulkup: ["9M", "9L1", "8M", "8L1", "7M", "7L1"], + bulldoze: ["9M", "8M", "7M"], + burningjealousy: ["9M", "8T"], + closecombat: ["9M", "8M"], confide: ["7M"], covet: ["7T"], - crosschop: ["8L1", "7L66"], - crunch: ["8M"], - darkestlariat: ["8M", "8L0", "7L1", "7S0"], - darkpulse: ["8M", "7M"], - doublekick: ["8L20", "7L16"], + crosschop: ["9L1", "8L1", "7L66"], + crunch: ["9M", "8M"], + darkestlariat: ["9L0", "8M", "8L0", "7L1", "7S0"], + darkpulse: ["9M", "8M", "7M"], + doubleedge: ["9M"], + doublekick: ["9L20", "8L20", "7L16"], doubleteam: ["7M"], - drainpunch: ["8M", "7T"], + drainpunch: ["9M", "8M", "7T"], dualchop: ["7T"], - earthquake: ["8M", "7M"], + earthquake: ["9M", "8M", "7M"], embargo: ["7M"], - ember: ["8L1", "7L1"], - endeavor: ["7T"], - endure: ["8M"], - facade: ["8M", "7M"], + ember: ["9L1", "8L1", "7L1"], + endeavor: ["9M", "7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], fakeout: ["7S0"], - fireblast: ["8M", "7M"], - firefang: ["8M", "8L25", "7L14"], - firepledge: ["8T", "7T"], - firepunch: ["8M", "7T"], - firespin: ["8M"], - flamecharge: ["7M"], - flamethrower: ["8M", "8L44", "7M", "7L44"], - flareblitz: ["8M", "8L58", "7L55", "7S0"], - fling: ["8M", "7M"], - focusblast: ["8M", "7M"], - focuspunch: ["7T"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M", "9L25", "8M", "8L25", "7L14"], + firepledge: ["9M", "8T", "7T"], + firepunch: ["9M", "8M", "7T"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "7M"], + flamethrower: ["9M", "9L44", "8M", "8L44", "7M", "7L44"], + flareblitz: ["9M", "9L58", "8M", "8L58", "7L55", "7S0"], + fling: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], frustration: ["7M"], - furyswipes: ["8L12", "7L33"], - gigaimpact: ["8M", "7M"], - growl: ["8L1", "7L1"], - heatcrash: ["8M"], - heatwave: ["8M", "7T"], + furyswipes: ["9L12", "8L12", "7L33"], + gigaimpact: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L1"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "8M", "7T"], + helpinghand: ["9M"], hiddenpower: ["7M"], - hyperbeam: ["8M", "7M"], - ironhead: ["8M", "7T"], - knockoff: ["7T"], - lashout: ["8T"], - leechlife: ["8M", "7M"], + hyperbeam: ["9M", "8M", "7M"], + ironhead: ["9M", "8M", "7T"], + knockoff: ["9M", "7T"], + lashout: ["9M", "8T"], + leechlife: ["9M", "8M", "7M"], leer: ["7L11"], - lick: ["8L1", "7L1"], - lowkick: ["8M", "7T"], - lowsweep: ["8M", "7M"], + lick: ["9L1", "8L1", "7L1"], + lowkick: ["9M", "8M", "7T"], + lowsweep: ["9M", "8M", "7M"], megakick: ["8M"], megapunch: ["8M"], - nastyplot: ["8M"], - outrage: ["8M", "7T", "7L60"], - overheat: ["8M", "7M"], + nastyplot: ["9M", "8M"], + outrage: ["9M", "8M", "7T", "7L60"], + overheat: ["9M", "8M", "7M"], payday: ["8M"], - protect: ["8M", "7M"], + protect: ["9M", "8M", "7M"], quash: ["7M"], - rest: ["8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], revenge: ["8M"], - reversal: ["8M"], - roar: ["8L9", "7M", "7L19"], + reversal: ["9M", "8M"], + roar: ["9M", "9L9", "8L9", "7M", "7L19"], round: ["8M", "7M"], - scaryface: ["8M", "8L30", "7L49"], - scorchingsands: ["8T"], - scratch: ["8L1", "7L1"], - shadowclaw: ["8M", "7M"], - sleeptalk: ["8M", "7M"], - snarl: ["8M", "7M"], + scaryface: ["9M", "9L30", "8M", "8L30", "7L49"], + scorchingsands: ["9M", "8T"], + scratch: ["9L1", "8L1", "7L1"], + shadowclaw: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], snatch: ["7T"], snore: ["8M", "7T"], - stompingtantrum: ["8M", "7T"], - substitute: ["8M", "7M"], - sunnyday: ["8M", "7M"], + stompingtantrum: ["9M", "8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], superpower: ["8M", "7T"], - swagger: ["8L32", "7M", "7L28"], - swordsdance: ["8M", "7M"], - taunt: ["8M", "7M"], - thrash: ["8L51", "7L38"], - throatchop: ["8M", "8L1", "7T", "7L1"], - thunderpunch: ["8M", "7T"], + swagger: ["9L32", "8L32", "7M", "7L28"], + swordsdance: ["9M", "8M", "7M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L51", "8L51", "7L38"], + throatchop: ["9M", "9L1", "8M", "8L1", "7T", "7L1"], + thunderpunch: ["9M", "8M", "7T"], torment: ["7M"], toxic: ["7M"], - uturn: ["8M", "7M", "7S0"], - willowisp: ["8M", "7M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "7S0"], + willowisp: ["9M", "8M", "7M"], workup: ["8M", "7M"], }, eventData: [ @@ -72614,211 +74441,229 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, popplio: { learnset: { - acrobatics: ["8M", "7M"], - amnesia: ["8M", "7E"], - aquajet: ["8L9", "7L14"], - aquaring: ["8E", "7E"], + acrobatics: ["9M", "8M", "7M"], + amnesia: ["9M", "8M", "7E"], + aquajet: ["9L9", "8L9", "7L14"], + aquaring: ["9E", "8E", "7E"], aquatail: ["7T"], aromaticmist: ["7E"], attract: ["8M", "7M"], - babydolleyes: ["8L12", "7L11"], - blizzard: ["8M", "7M"], + babydolleyes: ["9L12", "8L12", "7L11"], + blizzard: ["9M", "8M", "7M"], brine: ["8M"], - bubblebeam: ["8L21", "7L22"], + bubblebeam: ["9L21", "8L21", "7L22"], captivate: ["7L39"], - charm: ["8M", "7E"], + charm: ["9M", "8M", "7E"], + chillingwater: ["9M"], confide: ["7M"], covet: ["7T"], - disarmingvoice: ["8L6", "7L8"], + disarmingvoice: ["9M", "9L6", "8L6", "7L8"], dive: ["8M"], doubleslap: ["7L29"], doubleteam: ["7M"], - drainingkiss: ["8M"], + drainingkiss: ["9M", "8M"], echoedvoice: ["7M"], - encore: ["8M", "8L24", "7L18"], - endure: ["8M"], - facade: ["8M", "7M"], - flipturn: ["8T"], + encore: ["9M", "9L24", "8M", "8L24", "7L18"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + flipturn: ["9M", "8T"], frustration: ["7M"], - growl: ["8L1", "7L4"], + growl: ["9L1", "8L1", "7L4"], hail: ["8M", "7M"], - helpinghand: ["8M", "7T"], + helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M"], - hydropump: ["8M", "8L36", "7L43"], - hypervoice: ["8M", "8L30", "7T", "7L32"], - icebeam: ["8M", "7M"], - icywind: ["8M", "8L15", "7T", "7L16"], + hydropump: ["9M", "9L36", "8M", "8L36", "7L43"], + hypervoice: ["9M", "9L30", "8M", "8L30", "7T", "7L32"], + icebeam: ["9M", "8M", "7M"], + icespinner: ["9M"], + icywind: ["9M", "9L15", "8M", "8L15", "7T", "7L16"], irontail: ["8M", "7T"], - lifedew: ["8E"], - mistyterrain: ["8M", "8L27", "7L46"], - moonblast: ["8L33", "7L36"], - perishsong: ["8E", "7E"], - playrough: ["8M"], - pound: ["8L1", "7L1"], - protect: ["8M", "7M"], - raindance: ["8M", "7M"], - rest: ["8M", "7M"], + lifedew: ["9E", "8E"], + mistyterrain: ["9M", "9L27", "8M", "8L27", "7L46"], + moonblast: ["9L33", "8L33", "7L36"], + perishsong: ["9E", "8E", "7E"], + playrough: ["9M", "8M"], + pound: ["9L1", "8L1", "7L1"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], round: ["8M", "7M"], scald: ["8M", "7M"], - sing: ["8L18", "7L25"], - sleeptalk: ["8M", "7M"], + sing: ["9L18", "8L18", "7L25"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - substitute: ["8M", "7M"], - surf: ["8M", "7M"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], swagger: ["7M"], + swift: ["9M"], + terablast: ["9M"], toxic: ["7M"], - tripleaxel: ["8T"], - uproar: ["8M", "7T"], - waterfall: ["8M", "7M"], - watergun: ["8L3", "7L1"], - waterpledge: ["8T", "7T"], - waterpulse: ["7T"], - whirlpool: ["8M"], + tripleaxel: ["9M", "8T"], + uproar: ["9M", "8M", "7T"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L3", "8L3", "7L1"], + waterpledge: ["9M", "8T", "7T"], + waterpulse: ["9M", "7T"], + whirlpool: ["9M", "8M"], wonderroom: ["8M", "7T", "7E"], workup: ["8M", "7M"], }, }, brionne: { learnset: { - acrobatics: ["8M", "7M"], - amnesia: ["8M"], - aquajet: ["8L9", "7L14"], + acrobatics: ["9M", "8M", "7M"], + amnesia: ["9M", "8M"], + aquajet: ["9L9", "8L9", "7L14"], aquatail: ["7T"], attract: ["8M", "7M"], - babydolleyes: ["8L12", "7L11"], - blizzard: ["8M", "7M"], + babydolleyes: ["9L12", "8L12", "7L11"], + blizzard: ["9M", "8M", "7M"], + bodyslam: ["9M"], brine: ["8M"], - bubblebeam: ["8L25", "7L24"], + bubblebeam: ["9L25", "8L25", "7L24"], captivate: ["7L46"], - charm: ["8M"], + charm: ["9M", "8M"], + chillingwater: ["9M"], confide: ["7M"], covet: ["7T"], - disarmingvoice: ["8L1", "7L1"], + disarmingvoice: ["9M", "9L1", "8L1", "7L1"], dive: ["8M"], doubleslap: ["7L33"], doubleteam: ["7M"], - drainingkiss: ["8M"], + drainingkiss: ["9M", "8M"], echoedvoice: ["7M"], - encore: ["8M", "8L30", "7L19"], - endure: ["8M"], - facade: ["8M", "7M"], - flipturn: ["8T"], + encore: ["9M", "9L30", "8M", "8L30", "7L19"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + flipturn: ["9M", "8T"], frustration: ["7M"], - growl: ["8L1", "7L1"], + growl: ["9L1", "8L1", "7L1"], hail: ["8M", "7M"], - helpinghand: ["8M", "7T"], + helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M"], - hydropump: ["8M", "8L50", "7L51"], - hypervoice: ["8M", "8L40", "7T", "7L37"], - icebeam: ["8M", "7M"], - icywind: ["8M", "8L15", "7T", "7L16"], + hydropump: ["9M", "9L50", "8M", "8L50", "7L51"], + hypervoice: ["9M", "9L40", "8M", "8L40", "7T", "7L37"], + icebeam: ["9M", "8M", "7M"], + icespinner: ["9M"], + icywind: ["9M", "9L15", "8M", "8L15", "7T", "7L16"], irontail: ["8M", "7T"], - mistyterrain: ["8M", "8L35", "7L55"], - moonblast: ["8L45", "7L42"], - playrough: ["8M"], - pound: ["8L1", "7L1"], - protect: ["8M", "7M"], - raindance: ["8M", "7M"], - rest: ["8M", "7M"], + mistyterrain: ["9M", "9L35", "8M", "8L35", "7L55"], + moonblast: ["9L45", "8L45", "7L42"], + playrough: ["9M", "8M"], + pound: ["9L1", "8L1", "7L1"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], round: ["8M", "7M"], scald: ["8M", "7M"], - sing: ["8L20", "7L28"], - sleeptalk: ["8M", "7M"], + sing: ["9L20", "8L20", "7L28"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - substitute: ["8M", "7M"], - surf: ["8M", "7M"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], swagger: ["7M"], + swift: ["9M"], + terablast: ["9M"], toxic: ["7M"], - tripleaxel: ["8T"], - uproar: ["8M", "7T"], - waterfall: ["8M", "7M"], - watergun: ["8L1", "7L1"], - waterpledge: ["8T", "7T"], - waterpulse: ["7T"], - whirlpool: ["8M"], + tripleaxel: ["9M", "8T"], + uproar: ["9M", "8M", "7T"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L1", "8L1", "7L1"], + waterpledge: ["9M", "8T", "7T"], + waterpulse: ["9M", "7T"], + whirlpool: ["9M", "8M"], wonderroom: ["8M", "7T"], workup: ["8M", "7M"], }, }, primarina: { learnset: { - acrobatics: ["8M", "7M"], - amnesia: ["8M"], - aquajet: ["8L9", "7L14"], + acrobatics: ["9M", "8M", "7M"], + alluringvoice: ["9M"], + amnesia: ["9M", "8M"], + aquajet: ["9L9", "8L9", "7L14"], aquatail: ["7T"], attract: ["8M", "7M"], - babydolleyes: ["8L12", "7L11"], - blizzard: ["8M", "7M"], + babydolleyes: ["9L12", "8L12", "7L11"], + blizzard: ["9M", "8M", "7M"], + bodyslam: ["9M"], brine: ["8M"], - bubblebeam: ["8L25", "7L24"], - calmmind: ["8M"], + bubblebeam: ["9L25", "8L25", "7L24"], + calmmind: ["9M", "8M"], captivate: ["7L49"], - charm: ["8M"], + charm: ["9M", "8M"], + chillingwater: ["9M"], confide: ["7M"], covet: ["7T"], - dazzlinggleam: ["8M", "7M"], - disarmingvoice: ["8L1", "7L1"], + dazzlinggleam: ["9M", "8M", "7M"], + disarmingvoice: ["9M", "9L1", "8L1", "7L1"], dive: ["8M"], doubleslap: ["7L33"], doubleteam: ["7M"], - drainingkiss: ["8M"], + drainingkiss: ["9M", "8M"], echoedvoice: ["7M"], - encore: ["8M", "8L30", "7L19"], - endure: ["8M"], - energyball: ["8M", "7M"], - facade: ["8M", "7M"], - flipturn: ["8T"], + encore: ["9M", "9L30", "8M", "8L30", "7L19"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + flipturn: ["9M", "8T"], frustration: ["7M"], - gigaimpact: ["8M", "7M"], - growl: ["8L1", "7L1"], + gigaimpact: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L1"], hail: ["8M", "7M"], - helpinghand: ["8M", "7T"], + haze: ["9M"], + helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M"], - hydrocannon: ["8T", "7T"], - hydropump: ["8M", "8L58", "7L55"], - hyperbeam: ["8M"], - hypervoice: ["8M", "8L44", "7T", "7L38", "7S0"], - icebeam: ["8M", "7M"], - icywind: ["8M", "8L15", "7T", "7L16", "7S0"], + hydrocannon: ["9M", "8T", "7T"], + hydropump: ["9M", "9L58", "8M", "8L58", "7L55"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "9L44", "8M", "8L44", "7T", "7L38", "7S0"], + icebeam: ["9M", "8M", "7M"], + icespinner: ["9M"], + icywind: ["9M", "9L15", "8M", "8L15", "7T", "7L16", "7S0"], irontail: ["8M", "7T"], - lightscreen: ["8M", "7M"], - liquidation: ["8M", "7T"], + lightscreen: ["9M", "8M", "7M"], + liquidation: ["9M", "8M", "7T"], magiccoat: ["7T"], - mistyexplosion: ["8T"], - mistyterrain: ["8M", "8L37", "7L60"], - moonblast: ["8L51", "7L44", "7S0"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "9L37", "8M", "8L37", "7L60"], + moonblast: ["9L51", "8L51", "7L44", "7S0"], perishsong: ["7S0"], - playrough: ["8M"], - pound: ["8L1", "7L1"], - protect: ["8M", "7M"], - psychic: ["8M", "7M"], - psychup: ["7M"], - raindance: ["8M", "7M"], - reflect: ["8M", "7M"], - rest: ["8M", "7M"], + playrough: ["9M", "8M"], + pound: ["9L1", "8L1", "7L1"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], round: ["8M", "7M"], scald: ["8M", "7M"], - shadowball: ["8M", "7M"], - sing: ["8L20", "7L28"], - sleeptalk: ["8M", "7M"], + shadowball: ["9M", "8M", "7M"], + sing: ["9L20", "8L20", "7L28"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - sparklingaria: ["8L0", "7L1"], - storedpower: ["8M"], - substitute: ["8M", "7M"], - surf: ["8M", "7M"], + snowscape: ["9M"], + sparklingaria: ["9L0", "8L0", "7L1"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], swagger: ["7M"], + swift: ["9M"], + terablast: ["9M"], toxic: ["7M"], - tripleaxel: ["8T"], - uproar: ["8M", "7T"], - waterfall: ["8M", "7M"], - watergun: ["8L1", "7L1"], - waterpledge: ["8T", "7T"], - waterpulse: ["7T"], - weatherball: ["8M"], - whirlpool: ["8M"], + tripleaxel: ["9M", "8T"], + uproar: ["9M", "8M", "7T"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L1", "8L1", "7L1"], + waterpledge: ["9M", "8T", "7T"], + waterpulse: ["9M", "7T"], + weatherball: ["9M", "8M"], + whirlpool: ["9M", "8M"], wonderroom: ["8M", "7T"], workup: ["8M", "7M"], }, @@ -72828,157 +74673,199 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, pikipek: { learnset: { - aerialace: ["7M"], + acrobatics: ["9M"], + aerialace: ["9M", "7M"], + aircutter: ["9M"], + airslash: ["9M"], attract: ["7M"], - boomburst: ["7E"], - bravebird: ["7E"], - brickbreak: ["7M"], - bulletseed: ["7L31"], + boomburst: ["9E", "7E"], + bravebird: ["9M", "7E"], + brickbreak: ["9M", "7M"], + bulletseed: ["9M", "9L31", "7L31"], confide: ["7M"], defog: ["7T"], doubleteam: ["7M"], - drillpeck: ["7L27"], - echoedvoice: ["7M", "7L7"], - featherdance: ["7L33"], - flamecharge: ["7M"], - fly: ["7M"], + drillpeck: ["9L27", "7L27"], + dualwingbeat: ["9M"], + echoedvoice: ["9L7", "7M", "7L7"], + endeavor: ["9M"], + endure: ["9M"], + facade: ["9M"], + featherdance: ["9M", "9L33", "7L33"], + flamecharge: ["9M", "7M"], + fly: ["9M", "7M"], frustration: ["7M"], - furyattack: ["7L21"], - growl: ["7L3"], - gunkshot: ["7T"], - heatwave: ["7T"], + furyattack: ["9L21", "7L21"], + growl: ["9L3", "7L3"], + gunkshot: ["9M", "9E", "7T"], + heatwave: ["9M", "7T"], + helpinghand: ["9M"], hiddenpower: ["7M"], - hypervoice: ["7T", "7L37"], - knockoff: ["7T"], + hypervoice: ["9M", "9L37", "7T", "7L37"], + knockoff: ["9M", "7T"], mirrormove: ["7E"], - peck: ["7L1"], - pluck: ["7L15"], - protect: ["7M"], - rest: ["7M"], + peck: ["9L1", "7L1"], + pluck: ["9L15", "7L15"], + protect: ["9M", "7M"], + rest: ["9M", "7M"], return: ["7M"], - rocksmash: ["7L9"], - roost: ["7M", "7L19"], + rocksmash: ["9L9", "7L9"], + roost: ["9L19", "7M", "7L19"], round: ["7M"], - screech: ["7L25"], - skyattack: ["7T"], - sleeptalk: ["7M"], - smackdown: ["7M"], + screech: ["9L25", "7L25"], + skyattack: ["9E", "7T"], + sleeptalk: ["9M", "7M"], + smackdown: ["9M", "7M"], snore: ["7T"], steelwing: ["7M"], - substitute: ["7M"], - sunnyday: ["7M"], - supersonic: ["7L13"], + substitute: ["9M", "7M"], + sunnyday: ["9M", "7M"], + supersonic: ["9L13", "7L13"], swagger: ["7M"], - swordsdance: ["7M"], - tailwind: ["7T", "7E"], - thief: ["7M"], + swordsdance: ["9M", "7M"], + tailwind: ["9M", "7T", "7E"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M"], toxic: ["7M"], - uproar: ["7T", "7E"], - uturn: ["7M"], + uproar: ["9M", "7T", "7E"], + uturn: ["9M", "7M"], workup: ["7M"], }, }, trumbeak: { learnset: { - aerialace: ["7M"], + acrobatics: ["9M"], + aerialace: ["9M", "7M"], + aircutter: ["9M"], + airslash: ["9M"], attract: ["7M"], - brickbreak: ["7M"], - bulletseed: ["7L37"], + bravebird: ["9M"], + brickbreak: ["9M", "7M"], + bulletseed: ["9M", "9L37", "7L37"], confide: ["7M"], defog: ["7T"], doubleteam: ["7M"], - drillpeck: ["7L32"], - echoedvoice: ["7M", "7L1"], - featherdance: ["7L40"], - flamecharge: ["7M"], - fly: ["7M"], + drillpeck: ["9L32", "7L32"], + dualwingbeat: ["9M"], + echoedvoice: ["9L1", "7M", "7L1"], + endeavor: ["9M"], + endure: ["9M"], + facade: ["9M"], + featherdance: ["9M", "9L40", "7L40"], + flamecharge: ["9M", "7M"], + fly: ["9M", "7M"], frustration: ["7M"], - furyattack: ["7L24"], - growl: ["7L1"], - gunkshot: ["7T"], - heatwave: ["7T"], + furyattack: ["9L24", "7L24"], + growl: ["9L1", "7L1"], + gunkshot: ["9M", "7T"], + heatwave: ["9M", "7T"], + helpinghand: ["9M"], hiddenpower: ["7M"], - hypervoice: ["7T", "7L45"], - knockoff: ["7T"], - peck: ["7L1"], - pluck: ["7L16"], - protect: ["7M"], - rest: ["7M"], + hypervoice: ["9M", "9L45", "7T", "7L45"], + knockoff: ["9M", "7T"], + peck: ["9L1", "7L1"], + pluck: ["9L16", "7L16"], + protect: ["9M", "7M"], + rest: ["9M", "7M"], return: ["7M"], - rockblast: ["7L1"], - rocksmash: ["7L1"], - roost: ["7M", "7L21"], + rockblast: ["9M", "9L1", "7L1"], + rocksmash: ["9L1", "7L1"], + roost: ["9L21", "7M", "7L21"], round: ["7M"], - screech: ["7L29"], + screech: ["9L29", "7L29"], skyattack: ["7T"], - sleeptalk: ["7M"], - smackdown: ["7M"], + sleeptalk: ["9M", "7M"], + smackdown: ["9M", "7M"], snore: ["7T"], steelwing: ["7M"], - substitute: ["7M"], - sunnyday: ["7M"], - supersonic: ["7L13"], + substitute: ["9M", "7M"], + sunnyday: ["9M", "7M"], + supersonic: ["9L13", "7L13"], swagger: ["7M"], - swordsdance: ["7M"], - tailwind: ["7T"], - thief: ["7M"], + swift: ["9M"], + swordsdance: ["9M", "7M"], + tailwind: ["9M", "7T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M"], toxic: ["7M"], - uproar: ["7T"], - uturn: ["7M"], + uproar: ["9M", "7T"], + uturn: ["9M", "7M"], workup: ["7M"], }, }, toucannon: { learnset: { - aerialace: ["7M"], + acrobatics: ["9M"], + aerialace: ["9M", "7M"], + aircutter: ["9M"], + airslash: ["9M"], attract: ["7M"], - beakblast: ["7L1"], - brickbreak: ["7M"], - bulletseed: ["7L40"], + beakblast: ["9L0", "7L1"], + bravebird: ["9M"], + brickbreak: ["9M", "7M"], + bulletseed: ["9M", "9L40", "7L40"], confide: ["7M"], defog: ["7T"], doubleteam: ["7M"], - drillpeck: ["7L34"], - echoedvoice: ["7M", "7L1"], - featherdance: ["7L44"], - flamecharge: ["7M"], - flashcannon: ["7M"], - fly: ["7M"], + drillpeck: ["9L34", "7L34"], + dualwingbeat: ["9M"], + echoedvoice: ["9L1", "7M", "7L1"], + encore: ["9M"], + endeavor: ["9M"], + endure: ["9M"], + facade: ["9M"], + featherdance: ["9M", "9L44", "7L44"], + flamecharge: ["9M", "7M"], + flashcannon: ["9M", "7M"], + fly: ["9M", "7M"], frustration: ["7M"], - furyattack: ["7L24"], - growl: ["7L1"], - gunkshot: ["7T"], - heatwave: ["7T"], + furyattack: ["9L24", "7L24"], + gigaimpact: ["9M"], + growl: ["9L1", "7L1"], + gunkshot: ["9M", "7T"], + heatwave: ["9M", "7T"], + helpinghand: ["9M"], hiddenpower: ["7M"], - hypervoice: ["7T", "7L50"], - knockoff: ["7T"], - overheat: ["7M"], - peck: ["7L1"], - pluck: ["7L16"], - protect: ["7M"], - rest: ["7M"], + hurricane: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M", "9L50", "7T", "7L50"], + knockoff: ["9M", "7T"], + overheat: ["9M", "7M"], + peck: ["9L1", "7L1"], + pluck: ["9L16", "7L16"], + protect: ["9M", "7M"], + psychup: ["9M"], + rest: ["9M", "7M"], return: ["7M"], - rockblast: ["7L1"], - rocksmash: ["7L1"], - roost: ["7M", "7L21"], + rockblast: ["9M", "9L1", "7L1"], + rocksmash: ["9L1", "7L1"], + roost: ["9L21", "7M", "7L21"], round: ["7M"], - screech: ["7L30"], - seedbomb: ["7T"], + scaryface: ["9M"], + screech: ["9L30", "7L30"], + seedbomb: ["9M", "7T"], skyattack: ["7T"], - sleeptalk: ["7M"], - smackdown: ["7M"], + sleeptalk: ["9M", "7M"], + smackdown: ["9M", "7M"], snore: ["7T"], steelwing: ["7M"], - substitute: ["7M"], - sunnyday: ["7M"], - supersonic: ["7L13"], + substitute: ["9M", "7M"], + sunnyday: ["9M", "7M"], + supersonic: ["9L13", "7L13"], swagger: ["7M"], - swordsdance: ["7M"], - tailwind: ["7T"], - thief: ["7M"], + swift: ["9M"], + swordsdance: ["9M", "7M"], + tailwind: ["9M", "7T"], + takedown: ["9M"], + temperflare: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M"], + throatchop: ["9M"], toxic: ["7M"], - uproar: ["7T"], - uturn: ["7M"], + uproar: ["9M", "7T"], + uturn: ["9M", "7M"], workup: ["7M"], }, encounters: [ @@ -72995,10 +74882,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { confide: ["7M"], crunch: ["9M", "9L34", "7L34"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M"], earthquake: ["7M"], echoedvoice: ["7M"], - endeavor: ["9E", "7T"], + endeavor: ["9M", "9E", "7T"], endure: ["9M"], facade: ["9M", "7M"], firefang: ["9M", "9E", "7E"], @@ -73065,12 +74953,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M"], crunch: ["9M", "9L39", "7L39"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["7M"], dualchop: ["7T"], earthquake: ["9M", "7M"], echoedvoice: ["7M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M"], facade: ["9M", "7M"], firefang: ["9M"], @@ -73218,7 +75108,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { discharge: ["9E", "8E"], doubleteam: ["7M"], electricterrain: ["9M"], - electroweb: ["8M", "7T", "7E"], + electroweb: ["9M", "8M", "7T", "7E"], endure: ["9M", "8M", "7E"], facade: ["9M", "8M", "7M"], frustration: ["7M"], @@ -73239,7 +75129,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M"], screech: ["8M"], shockwave: ["7T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], spark: ["9L21", "8L21", "7L16"], @@ -73276,7 +75166,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], frustration: ["7M"], @@ -73297,7 +75187,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M"], screech: ["8M"], shockwave: ["7T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], spark: ["9L23", "8L23", "7L16"], @@ -73340,7 +75230,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M"], facade: ["9M", "8M", "7M"], @@ -73370,7 +75260,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { screech: ["8M"], shockwave: ["7T"], signalbeam: ["7T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], skydrop: ["7M"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], @@ -73380,6 +75270,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stringshot: ["9L1", "8L1", "7L1"], strugglebug: ["9M"], substitute: ["9M", "8M", "7M"], + supercellslam: ["9M"], swagger: ["7M"], swift: ["9M"], takedown: ["9M"], @@ -73468,6 +75359,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "7M"], chillingwater: ["9M"], closecombat: ["9M", "9L49", "7L49"], + coaching: ["9M"], confide: ["7M"], crabhammer: ["9L37", "7L37"], dig: ["9M"], @@ -73477,7 +75369,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dualchop: ["7T"], dynamicpunch: ["9L45", "7L45"], earthquake: ["9M", "7M"], - endeavor: ["9E", "7T", "7E"], + endeavor: ["9M", "9E", "7T", "7E"], endure: ["9M"], facade: ["9M", "7M"], fling: ["9M", "7M"], @@ -73524,6 +75416,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thief: ["9M", "7M"], thunderpunch: ["9M", "7T"], toxic: ["7M"], + upperhand: ["9M"], visegrip: ["9L1"], wideguard: ["9E", "7E"], workup: ["7M"], @@ -73547,6 +75440,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "7M"], chillingwater: ["9M"], closecombat: ["9M", "9L49", "7L49"], + coaching: ["9M"], confide: ["7M"], dig: ["9M"], dizzypunch: ["7L25"], @@ -73555,7 +75449,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dualchop: ["7T"], dynamicpunch: ["9L45", "7L45"], earthquake: ["9M", "7M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M"], facade: ["9M", "7M"], fling: ["9M", "7M"], @@ -73566,6 +75460,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "7M"], gunkshot: ["9M"], hail: ["7M"], + hardpress: ["9M"], helpinghand: ["9M"], hiddenpower: ["7M"], hyperbeam: ["9M"], @@ -73611,6 +75506,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thief: ["9M", "7M"], thunderpunch: ["9M", "7T"], toxic: ["7M"], + upperhand: ["9M"], workup: ["7M"], zenheadbutt: ["9M", "7T"], }, @@ -73622,6 +75518,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M", "9L43", "7L46"], aircutter: ["9M", "9L13", "7L13"], airslash: ["9M", "9L36", "7L36"], + alluringvoice: ["9M"], attract: ["9E", "7M"], batonpass: ["9M", "9L16", "7L16"], calmmind: ["9M", "7M"], @@ -73636,7 +75533,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { embargo: ["7M"], endure: ["9M"], facade: ["9M", "7M"], - featherdance: ["9L20", "7L20"], + featherdance: ["9M", "9L20", "7L20"], flatter: ["9L33"], fly: ["9M", "7M"], frustration: ["7M"], @@ -73650,6 +75547,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pluck: ["9E", "7E"], pound: ["9L1", "7L1"], protect: ["9M", "7M"], + psychup: ["9M"], quash: ["7M"], quiverdance: ["9E"], raindance: ["9M"], @@ -73729,7 +75627,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powder: ["7E"], protect: ["9M", "8M", "7M"], psychic: ["9M", "8M", "7M"], - psychup: ["7M"], + psychup: ["9M", "7M"], quiverdance: ["9L54", "8L54", "7L41"], reflect: ["9M", "8M", "7M"], rest: ["9M", "8M", "7M"], @@ -73740,6 +75638,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T"], silverwind: ["7L13"], skillswap: ["9M", "8M", "7T", "7E"], + skittersmack: ["9M"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], speedswap: ["8M", "7E"], @@ -73770,6 +75669,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["7M"], afteryou: ["7T"], agility: ["9M"], + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], aromatherapy: ["8L32", "7L42"], attract: ["8M", "7M"], @@ -73811,7 +75711,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { pounce: ["9M"], protect: ["9M", "8M", "7M"], psychic: ["9M", "8M", "7M"], - psychup: ["7M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M"], quiverdance: ["9L64", "8L64", "7L49"], reflect: ["9M", "8M", "7M"], rest: ["9M", "8M", "7M"], @@ -73822,6 +75723,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T"], silverwind: ["7L13"], skillswap: ["9M", "8M", "7T"], + skittersmack: ["9M"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], solarbeam: ["9M", "8M", "7M"], @@ -73926,10 +75828,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L36", "8M", "8L36", "7L40"], crushclaw: ["7E"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["9L8", "8L8", "7M"], earthpower: ["9M", "8M", "7T"], echoedvoice: ["7M"], - endeavor: ["9E", "8E", "7T"], + endeavor: ["9M", "9E", "8E", "7T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], firefang: ["9M", "8M", "7E"], @@ -73993,10 +75896,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L36", "8M", "8L36", "7L40"], crushclaw: ["7E"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["9L8", "8L8", "7M"], earthpower: ["9M", "8M", "7T"], echoedvoice: ["7M"], - endeavor: ["9E", "8E", "7T"], + endeavor: ["9M", "9E", "8E", "7T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], firefang: ["9M", "8M", "7E", "7S0"], @@ -74070,11 +75974,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["7T"], crunch: ["9M", "9L42", "8M", "8L42", "7L40"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["9L1", "8L1", "7M"], drillrun: ["9M", "8M", "7T"], earthpower: ["9M", "8M", "7T"], echoedvoice: ["7M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], firefang: ["9M", "8M"], @@ -74147,11 +76052,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["7T"], crunch: ["9M", "9L42", "8M", "8L42", "7L40"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["9L1", "8L1", "7M"], dualchop: ["7T"], earthpower: ["9M", "8M", "7T"], echoedvoice: ["7M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M", "9L1", "8M", "8L1"], facade: ["9M", "8M", "7M"], firefang: ["9M", "8M", "7S0"], @@ -74214,11 +76120,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L1"], terablast: ["9M"], - throatchop: ["8M", "7T"], + throatchop: ["9M", "8M", "7T"], thunderfang: ["9M", "8M"], thunderpunch: ["9M", "8M", "7T"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["8M", "7T"], zenheadbutt: ["9M", "8M", "7T"], }, @@ -74243,11 +76150,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L42", "8M", "8L42", "7L40"], crushclaw: ["9L0", "8L0"], dig: ["9M"], + doubleedge: ["9M"], doubleteam: ["9L1", "8L1", "7M"], drillrun: ["9M", "8M", "7T"], earthpower: ["9M", "8M", "7T"], echoedvoice: ["7M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M", "9L1", "8M", "8L1"], facade: ["9M", "8M", "7M"], firefang: ["9M", "8M"], @@ -74301,6 +76209,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L1", "8M", "8L1", "7M"], terablast: ["9M"], thrash: ["7L1"], + throatchop: ["9M"], thunderfang: ["9M", "8M"], toxic: ["7M"], trailblaze: ["9M"], @@ -74395,9 +76304,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M", "9L35", "8M", "8L35", "7T", "7L49"], lunge: ["9M"], magiccoat: ["7T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["8M", "7M"], peck: ["9L1", "8L1", "7L5"], pinmissile: ["9L25", "8M", "8L25", "7L45"], @@ -74414,7 +76323,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["8M", "7M"], sleeptalk: ["9M", "8M", "7M"], sludgebomb: ["9M", "8M", "7M"], - sludgewave: ["8M", "7M"], + sludgewave: ["9M", "8M", "7M"], snatch: ["7T"], snore: ["8M", "7T"], spikecannon: ["7L29"], @@ -74476,9 +76385,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M", "9L35", "8M", "8L35", "7T", "7L58"], lunge: ["9M"], magiccoat: ["7T"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["8M", "7M"], peck: ["9L1", "8L1", "7L1"], pinmissile: ["9L25", "8M", "8L25", "7L51"], @@ -74496,7 +76405,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], sleeptalk: ["9M", "8M", "7M"], sludgebomb: ["9M", "8M", "7M"], - sludgewave: ["8M", "7M"], + sludgewave: ["9M", "8M", "7M"], smackdown: ["9M", "7M"], snatch: ["7T"], snore: ["8M", "7T"], @@ -74523,12 +76432,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "8M", "7E"], confide: ["7M"], counter: ["9L24", "8L24", "7L36"], - doubleedge: ["9E", "8E", "7E"], + curse: ["9M"], + doubleedge: ["9M", "9E", "8E", "7E"], doublekick: ["9L8", "8L8", "7L15"], doubleteam: ["7M"], earthpower: ["9M", "8M", "7T"], earthquake: ["9M", "9L36", "8M", "8L36", "7M", "7L38"], - endeavor: ["9E", "7T"], + endeavor: ["9M", "9E", "7T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fissure: ["9E", "8E"], @@ -74584,11 +76494,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "8M"], confide: ["7M"], counter: ["9L24", "8L24", "7L42"], + curse: ["9M"], + doubleedge: ["9M"], doublekick: ["9L1", "8L1", "7L15"], doubleteam: ["7M"], earthpower: ["9M", "8M", "7T"], earthquake: ["9M", "9L40", "8M", "8L40", "7M", "7L47"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], focusblast: ["9M", "8M", "7M"], @@ -74643,124 +76555,139 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, dewpider: { learnset: { - aquaring: ["8L16", "7L24"], + aquaring: ["9L16", "8L16", "7L24"], attract: ["8M", "7M"], aurorabeam: ["7E"], - bite: ["8L8", "7L21"], - blizzard: ["8M", "7M"], + bite: ["9L8", "8L8", "7L21"], + blizzard: ["9M", "8M", "7M"], bubble: ["7L1"], - bubblebeam: ["8L12", "7L16"], - bugbite: ["8L4", "7T", "7L13"], - bugbuzz: ["8M"], + bubblebeam: ["9L12", "8L12", "7L16"], + bugbite: ["9M", "9L4", "8L4", "7T", "7L13"], + bugbuzz: ["9M", "8M"], + chillingwater: ["9M"], confide: ["7M"], - crunch: ["8M", "8L24", "7L32"], + crunch: ["9M", "9L24", "8M", "8L24", "7L32"], doubleteam: ["7M"], - endure: ["8M"], - entrainment: ["8L32", "7L48"], - facade: ["8M", "7M"], + endeavor: ["9M"], + endure: ["9M", "8M"], + entrainment: ["9L32", "8L32", "7L48"], + facade: ["9M", "8M", "7M"], frostbreath: ["7M"], frustration: ["7M"], - gigadrain: ["8M", "7T"], - headbutt: ["8L20"], + gigadrain: ["9M", "8M", "7T"], + headbutt: ["9L20", "8L20"], hiddenpower: ["7M"], - icebeam: ["8M", "7M"], - icywind: ["8M", "7T"], - infestation: ["8L1", "7M", "7L5"], - irondefense: ["8M", "7T"], - leechlife: ["8M", "8L44", "7M", "7L29"], - liquidation: ["8M", "8L40", "7T", "7L45"], - lunge: ["8L36", "7L37"], + hydropump: ["9M"], + icebeam: ["9M", "8M", "7M"], + icywind: ["9M", "8M", "7T"], + infestation: ["9L1", "8L1", "7M", "7L5"], + irondefense: ["9M", "8M", "7T"], + leechlife: ["9M", "9L44", "8M", "8L44", "7M", "7L29"], + liquidation: ["9M", "9L40", "8M", "8L40", "7T", "7L45"], + lunge: ["9M", "9L36", "8L36", "7L37"], magiccoat: ["7T"], magicroom: ["8M", "7T"], - mirrorcoat: ["8L48", "7L40"], - poisonjab: ["8M", "7M"], - powersplit: ["8E", "7E"], - protect: ["8M", "7M"], - raindance: ["8M", "7M"], - rest: ["8M", "7M"], + mirrorcoat: ["9L48", "8L48", "7L40"], + poisonjab: ["9M", "8M", "7M"], + pounce: ["9M"], + powersplit: ["9E", "8E", "7E"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], round: ["8M", "7M"], scald: ["8M", "7M"], signalbeam: ["7T"], - skittersmack: ["8T"], - sleeptalk: ["8M", "7M"], + skittersmack: ["9M", "8T"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - soak: ["8L28"], + soak: ["9L28", "8L28"], spiderweb: ["7L8"], - spitup: ["8E", "7E"], - stickyweb: ["8E", "7E"], - stockpile: ["8E", "7E"], - substitute: ["8M", "7M"], - surf: ["8M", "7M"], + spitup: ["9E", "8E", "7E"], + stickyweb: ["9E", "8E", "7E"], + stockpile: ["9E", "8E", "7E"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], swagger: ["7M"], + terablast: ["9M"], toxic: ["7M"], - waterfall: ["8M", "7M"], - watergun: ["8L1"], - waterpulse: ["7T"], + trailblaze: ["9M"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T"], watersport: ["7L1"], wonderroom: ["8M", "7T"], - xscissor: ["8M", "7M"], + xscissor: ["9M", "8M", "7M"], }, }, araquanid: { learnset: { - aquaring: ["8L16", "7L26"], + aquaring: ["9L16", "8L16", "7L26"], attract: ["8M", "7M"], - bite: ["8L1", "7L21"], - blizzard: ["8M", "7M"], + bite: ["9L1", "8L1", "7L21"], + blizzard: ["9M", "8M", "7M"], + bodyslam: ["9M"], bubble: ["7L1"], - bubblebeam: ["8L12", "7L16"], - bugbite: ["8L1", "7T", "7L1"], - bugbuzz: ["8M"], + bubblebeam: ["9L12", "8L12", "7L16"], + bugbite: ["9M", "9L1", "8L1", "7T", "7L1"], + bugbuzz: ["9M", "8M"], + chillingwater: ["9M"], confide: ["7M"], - crunch: ["8M", "8L26", "7L38"], + crunch: ["9M", "9L26", "8M", "8L26", "7L38"], dive: ["8M"], doubleteam: ["7M"], - endure: ["8M"], - entrainment: ["8L38", "7L62"], - facade: ["8M", "7M"], + endeavor: ["9M"], + endure: ["9M", "8M"], + entrainment: ["9L38", "8L38", "7L62"], + facade: ["9M", "8M", "7M"], frostbreath: ["7M"], frustration: ["7M"], - gigadrain: ["8M", "7T"], - headbutt: ["8L20"], + gigadrain: ["9M", "8M", "7T"], + gigaimpact: ["9M"], + headbutt: ["9L20", "8L20"], hiddenpower: ["7M"], - hydropump: ["8M"], - icebeam: ["8M", "7M"], - icywind: ["8M", "7T"], - infestation: ["8L1", "7M", "7L1"], - irondefense: ["8M", "7T"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M"], + icebeam: ["9M", "8M", "7M"], + icywind: ["9M", "8M", "7T"], + infestation: ["9L1", "8L1", "7M", "7L1"], + irondefense: ["9M", "8M", "7T"], laserfocus: ["7T"], - leechlife: ["8M", "8L56", "7M", "7L33"], - liquidation: ["8M", "8L50", "7T", "7L57"], - lunge: ["8L44", "7L45"], + leechlife: ["9M", "9L56", "8M", "8L56", "7M", "7L33"], + liquidation: ["9M", "9L50", "8M", "8L50", "7T", "7L57"], + lunge: ["9M", "9L44", "8L44", "7L45"], magiccoat: ["7T"], magicroom: ["8M", "7T"], - mirrorcoat: ["8L62", "7L50"], - poisonjab: ["8M", "7M"], - protect: ["8M", "7M"], - raindance: ["8M", "7M"], - reflect: ["8M", "7M"], - rest: ["8M", "7M"], + mirrorcoat: ["9L62", "8L62", "7L50"], + poisonjab: ["9M", "8M", "7M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], round: ["8M", "7M"], safeguard: ["8M", "7M"], scald: ["8M", "7M"], + scaryface: ["9M"], signalbeam: ["7T"], - skittersmack: ["8T"], - sleeptalk: ["8M", "7M"], + skittersmack: ["9M", "8T"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - soak: ["8L32", "7L1"], + soak: ["9L32", "8L32", "7L1"], spiderweb: ["7L1"], - substitute: ["8M", "7M"], - surf: ["8M", "7M"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], swagger: ["7M"], + terablast: ["9M"], toxic: ["7M"], - waterfall: ["8M", "7M"], - watergun: ["8L1"], - waterpulse: ["7T"], - wideguard: ["8L1", "7L1"], + trailblaze: ["9M"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T"], + wideguard: ["9L1", "8L1", "7L1"], wonderroom: ["8M", "7T"], - xscissor: ["8M", "7M"], + xscissor: ["9M", "8M", "7M"], }, }, araquanidtotem: { @@ -74852,6 +76779,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magicalleaf: ["9M", "8M"], naturepower: ["7M"], payback: ["8M", "7M"], + petalblizzard: ["9M"], poisonjab: ["8M", "7M"], protect: ["9M", "8M", "7M"], razorleaf: ["9L15", "8L15", "7L10"], @@ -74861,6 +76789,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { safeguard: ["8M", "7M"], seedbomb: ["9M", "8M", "7T"], signalbeam: ["7T"], + skittersmack: ["9M"], slash: ["9L25", "8L25", "7L32"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], @@ -74920,7 +76849,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { naturepower: ["7M"], nightslash: ["9L1", "8L1", "7L1"], payback: ["8M", "7M"], - petalblizzard: ["9L0", "8L0", "7L1"], + petalblizzard: ["9M", "9L0", "8L0", "7L1"], poisonjab: ["9M", "8M", "7M"], pollenpuff: ["9M"], protect: ["9M", "8M", "7M"], @@ -74934,6 +76863,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], seedbomb: ["9M", "8M", "7T"], signalbeam: ["7T"], + skittersmack: ["9M"], slash: ["9L25", "8L25", "7L32"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], @@ -75156,7 +77086,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L48"], dragonrage: ["7L13"], ember: ["9L10", "8L10", "7L5"], - endeavor: ["9L55", "8L60"], + endeavor: ["9M", "9L55", "8L60"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["9E", "8E", "7E"], @@ -75194,10 +77124,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], scratch: ["9L1", "8L1", "7L1"], shadowclaw: ["9M", "8M", "7M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M"], sludgebomb: ["9M", "8M", "7M"], - sludgewave: ["8M", "7M"], + sludgewave: ["9M", "8M", "7M"], smog: ["9L5", "8L5", "7L16"], snatch: ["7T", "7E"], snore: ["8M", "7T"], @@ -75208,6 +77138,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M"], takedown: ["9M"], taunt: ["9M", "8M", "7M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M"], thunderwave: ["9M", "8M"], @@ -75228,7 +77159,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M"], beatup: ["8M"], bodyslam: ["9M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], burningjealousy: ["9M"], captivate: ["7L1"], confide: ["7M"], @@ -75238,6 +77169,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { disable: ["9L1", "8L1", "7L1"], doubleslap: ["7L21"], doubleteam: ["7M"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M", "7M"], dragondance: ["9M", "8M"], dragonpulse: ["9M", "9L44", "8M", "8L44", "7T", "7L56"], @@ -75245,7 +77177,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dragontail: ["9M", "7M"], ember: ["9L1", "8L1", "7L1"], encore: ["9M", "9L1", "8M", "8L1", "7L1"], - endeavor: ["9L1", "8L1"], + endeavor: ["9M", "9L1", "8L1"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], fakeout: ["7S0"], @@ -75289,10 +77221,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], scratch: ["9L1", "8L1"], shadowclaw: ["9M", "8M", "7M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M"], sludgebomb: ["9M", "8M", "7M", "7S0"], - sludgewave: ["8M", "7M"], + sludgewave: ["9M", "8M", "7M"], smog: ["9L1", "8L1", "7L16"], snatch: ["7T"], snore: ["8M", "7T"], @@ -75303,6 +77235,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M"], takedown: ["9M"], taunt: ["9M", "8M", "7M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M"], thunderwave: ["9M", "8M"], @@ -75543,7 +77476,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M", "8M", "7M"], doubleteam: ["7M"], drainingkiss: ["9M", "8M"], - endeavor: ["9E", "8E", "7T"], + endeavor: ["9M", "9E", "8E", "7T"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M"], facade: ["9M", "8M", "7M"], @@ -75606,7 +77539,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleslap: ["7L1", "7S0"], doubleteam: ["7M"], drainingkiss: ["9M", "8M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M"], facade: ["9M", "8M", "7M"], @@ -75626,6 +77559,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magicalleaf: ["9M", "9L22", "8M", "8L22", "7L21", "7S0"], naturepower: ["7M"], payback: ["8M", "7M"], + petalblizzard: ["9M"], playnice: ["9L1", "8L1", "7L1"], playrough: ["9M", "8M"], protect: ["9M", "8M", "7M"], @@ -75653,7 +77587,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M"], trailblaze: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], worryseed: ["7T"], zenheadbutt: ["9M", "8M", "7T"], }, @@ -75677,7 +77611,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleslap: ["7L1"], doubleteam: ["7M"], drainingkiss: ["9M", "8M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M"], facade: ["9M", "8M", "7M"], @@ -75703,6 +77637,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M"], naturepower: ["7M"], payback: ["8M", "7M"], + petalblizzard: ["9M"], playnice: ["9L1", "8L1"], playrough: ["9M", "8M"], powerwhip: ["9L1", "8M", "8L1", "7L53"], @@ -75734,7 +77669,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M"], trailblaze: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], tropkick: ["9L0", "8L0", "7L1"], uturn: ["9M", "8M", "7M"], worryseed: ["7T"], @@ -75743,83 +77678,89 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, comfey: { learnset: { - acrobatics: ["8M", "7M"], - afteryou: ["8E", "7T", "7E"], + acrobatics: ["9M", "8M", "7M"], + afteryou: ["9E", "8E", "7T", "7E"], + alluringvoice: ["9M"], allyswitch: ["8M", "7T"], - amnesia: ["8M", "7E"], + amnesia: ["9M", "8M", "7E"], aromatherapy: ["8L36", "7L43"], attract: ["8M", "7M"], - bind: ["7T"], - bulletseed: ["8M"], - calmmind: ["8M", "7M"], + bind: ["9L36", "7T"], + bulletseed: ["9M", "8M"], + calmmind: ["9M", "8M", "7M"], celebrate: ["7S0"], - charm: ["8M"], + charm: ["9M", "9L12", "8M"], confide: ["7M"], covet: ["7T"], - dazzlinggleam: ["8M", "7M"], + dazzlinggleam: ["9M", "8M", "7M"], defog: ["7T"], + disarmingvoice: ["9M"], doubleteam: ["7M"], - drainingkiss: ["8M", "8L9", "7L7", "7S0"], + drainingkiss: ["9M", "9L9", "8M", "8L9", "7L7", "7S0"], echoedvoice: ["7M"], - encore: ["8M"], - endure: ["8M", "7E"], - energyball: ["8M", "7M"], - facade: ["8M", "7M"], - fling: ["8M", "7M"], - floralhealing: ["8L30", "7L37"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7E"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + fling: ["9M", "8M", "7M"], + floralhealing: ["9L30", "8L30", "7L37"], flowershield: ["8L12", "7L1"], frustration: ["7M"], - gigadrain: ["8M", "7T"], - grassknot: ["8M", "8L24", "7M", "7L34"], - grassyglide: ["8T"], - grassyterrain: ["8M", "8L48", "7L46"], - growth: ["8L1", "7L13"], + gigadrain: ["9M", "8M", "7T"], + grassknot: ["9M", "9L24", "8M", "8L24", "7M", "7L34"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "9L48", "8M", "8L48", "7L46"], + growth: ["9L1", "8L1", "7L13"], healbell: ["7T"], - helpinghand: ["8M", "8L6", "7T", "7L1"], + helpinghand: ["9M", "9L6", "8M", "8L6", "7T", "7L1"], hiddenpower: ["7M"], - hyperbeam: ["8M", "7M"], + hyperbeam: ["9M", "8M", "7M"], + knockoff: ["9M"], leaftornado: ["8E"], - leechseed: ["8L21", "7L4", "7S0"], - lightscreen: ["8M", "7M"], + leechseed: ["9L21", "8L21", "7L4", "7S0"], + lightscreen: ["9M", "8M", "7M"], luckychant: ["7E"], - magicalleaf: ["8M", "8L15", "7L10", "7S0"], + magicalleaf: ["9M", "9L15", "8M", "8L15", "7L10", "7S0"], magiccoat: ["7T"], naturalgift: ["7L22"], naturepower: ["7M"], - painsplit: ["7T"], - petalblizzard: ["8L33", "7L25"], - petaldance: ["8L45", "7L40"], - playrough: ["8M", "8L39", "7L49"], - pollenpuff: ["8M"], - protect: ["8M", "7M"], - psychup: ["7M"], - rest: ["8M", "7M"], + painsplit: ["9M", "7T"], + petalblizzard: ["9M", "9L33", "8L33", "7L25"], + petaldance: ["9L45", "8L45", "7L40"], + playrough: ["9M", "9L39", "8M", "8L39", "7L49"], + pollenpuff: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychup: ["9M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], roleplay: ["7T"], round: ["8M", "7M"], safeguard: ["8M", "7M"], - seedbomb: ["8M", "7T"], - sleeptalk: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - solarbeam: ["8M", "7M"], - storedpower: ["8M"], - substitute: ["8M", "7M"], - sunnyday: ["8M", "7M"], + solarbeam: ["9M", "8M", "7M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], swagger: ["7M"], - sweetkiss: ["8L27", "7L19"], - sweetscent: ["8L42", "7L31"], - synthesis: ["8L18", "7T", "7L28"], - tailwind: ["7T"], - taunt: ["8M", "7M"], + sweetkiss: ["9L27", "8L27", "7L19"], + sweetscent: ["9L42", "8L42", "7L31"], + swift: ["9M"], + synthesis: ["9L18", "8L18", "7T", "7L28"], + tailwind: ["9M", "7T"], + taunt: ["9M", "8M", "7M"], telekinesis: ["7T"], - thief: ["8M", "7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], toxic: ["7M"], - trick: ["8M", "7T"], - trickroom: ["8M", "7M"], - uturn: ["8M", "7M"], - vinewhip: ["8L3", "7L1"], - worryseed: ["8E", "7T"], - wrap: ["8L1", "7L16"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T"], + trickroom: ["9M", "8M", "7M"], + uturn: ["9M", "8M", "7M"], + vinewhip: ["9L3", "8L3", "7L1"], + worryseed: ["9E", "8E", "7T"], + wrap: ["9L1", "8L1", "7L16"], }, eventData: [ {generation: 7, level: 10, nature: "Jolly", moves: ["celebrate", "leechseed", "drainingkiss", "magicalleaf"], pokeball: "cherishball"}, @@ -75846,9 +77787,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { earthquake: ["9M", "8M", "7M"], embargo: ["7M"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], extrasensory: ["9E", "8E", "7E"], facade: ["9M", "8M", "7M"], feintattack: ["7L22"], @@ -75856,7 +77798,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M", "8M", "7M"], foulplay: ["9M", "9L55", "8M", "8L55", "7T", "7L36", "7S1"], frustration: ["7M"], - futuresight: ["9L60", "8M", "8L60", "7L46"], + futuresight: ["9M", "9L60", "8M", "8L60", "7L46"], gigaimpact: ["9M", "8M", "7M"], gravity: ["9M", "7T"], hiddenpower: ["7M"], @@ -75873,13 +77815,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { megapunch: ["8M"], nastyplot: ["9M", "9L30", "8M", "8L30", "7L25"], naturepower: ["7M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["8M", "7M"], protect: ["9M", "8M", "7M"], psybeam: ["9M"], psychic: ["9M", "9L45", "8M", "8L45", "7M", "7L43", "7S0"], + psychicnoise: ["9M"], psychicterrain: ["9M", "8M", "7E", "7S0"], - psychup: ["9L20", "8L20", "7M", "7L18"], + psychup: ["9M", "9L20", "8L20", "7M", "7L18"], psyshock: ["9M", "8M", "7M"], quash: ["9L25", "8L25", "7M", "7L11"], raindance: ["9M", "8M", "7M"], @@ -75939,14 +77882,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "8M", "7M"], chillingwater: ["9M"], closecombat: ["9M", "9L50", "8M", "8L50", "7L43", "7S1"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M"], counter: ["9E", "8E"], - doubleedge: ["9L45", "8L45", "7L36"], + curse: ["9M"], + doubleedge: ["9M", "9L45", "8L45", "7L36"], doubleteam: ["7M"], drainpunch: ["9M", "8M", "7T"], earthquake: ["9M", "8M", "7M"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], endeavor: ["7T"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M"], @@ -75972,6 +77916,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowsweep: ["9M", "8M", "7M"], megakick: ["8M"], megapunch: ["8M"], + painsplit: ["9M"], payback: ["8M", "7M"], protect: ["9M", "8M", "7M"], quickattack: ["9E", "8E", "7E"], @@ -76007,6 +77952,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thrash: ["9L40", "8L40", "7L29"], toxic: ["7M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["9M", "8M", "7T"], uturn: ["9M", "8M", "7M", "7S1"], vacuumwave: ["9M"], @@ -76159,7 +78105,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M"], confuseray: ["9M"], - curse: ["9E", "8E", "7E"], + curse: ["9M", "9E", "8E", "7E"], destinybond: ["9E", "8E", "7E"], doubleteam: ["7M"], earthpower: ["9M", "9L50", "8M", "8L50", "7T", "7L45"], @@ -76183,7 +78129,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M", "8M"], mudslap: ["9M"], nightshade: ["9M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M"], psychic: ["9M", "8M", "7M"], @@ -76200,7 +78146,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "9L60", "8M", "8L60", "7M", "7L54"], sandtomb: ["9M", "9L10", "8M", "8L10", "7L14"], scaryface: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], shadowball: ["9M", "9L45", "8M", "8L45", "7M", "7L41"], shoreup: ["9L55", "8L55", "7L50"], skillswap: ["9M", "8M", "7T"], @@ -76235,6 +78181,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], confide: ["7M"], confuseray: ["9M"], + curse: ["9M"], doubleteam: ["7M"], earthpower: ["9M", "9L54", "8M", "8L54", "7T", "7L47"], earthquake: ["9M", "8M", "7M"], @@ -76260,7 +78207,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M", "8M"], mudslap: ["9M"], nightshade: ["9M"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M"], psychic: ["9M", "8M", "7M"], @@ -76278,7 +78225,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "9L68", "8M", "8L68", "7M", "7L60"], sandtomb: ["9M", "9L1", "8M", "8L1", "7L14"], scaryface: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], shadowball: ["9M", "9L47", "8M", "8L47", "7M", "7L41"], shoreup: ["9L61", "8L61", "7L54"], skillswap: ["9M", "8M", "7T"], @@ -76502,64 +78449,70 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, minior: { learnset: { - acrobatics: ["7M"], - ancientpower: ["7L17"], + acrobatics: ["9M", "7M"], + ancientpower: ["9L17", "7L17"], attract: ["7M"], autotomize: ["7L31"], - bulldoze: ["7M"], - calmmind: ["7M"], - chargebeam: ["7M"], + bulldoze: ["9M", "7M"], + calmmind: ["9M", "7M"], + chargebeam: ["9M", "7M"], confide: ["7M"], - confuseray: ["7L10"], - cosmicpower: ["7L36"], - dazzlinggleam: ["7M"], - defensecurl: ["7L3"], - doubleedge: ["7L43"], + confuseray: ["9M", "9L10", "7L10"], + cosmicpower: ["9L36", "7L36"], + dazzlinggleam: ["9M", "7M"], + defensecurl: ["9L3", "7L3"], + doubleedge: ["9M", "9L43", "7L43"], doubleteam: ["7M"], - earthquake: ["7M"], - endeavor: ["7T"], - explosion: ["7M", "7L50"], - facade: ["7M"], + earthpower: ["9M"], + earthquake: ["9M", "7M"], + endeavor: ["9M", "7T"], + endure: ["9M"], + explosion: ["9L50", "7M", "7L50"], + facade: ["9M", "7M"], frustration: ["7M"], - gigaimpact: ["7M"], - gravity: ["7T"], - gyroball: ["7M"], + gigaimpact: ["9M", "7M"], + gravity: ["9M", "7T"], + gyroball: ["9M", "7M"], hiddenpower: ["7M"], - hyperbeam: ["7M"], - ironhead: ["7T"], + hyperbeam: ["9M", "7M"], + ironhead: ["9M", "7T"], lastresort: ["7T"], - lightscreen: ["7M"], + lightscreen: ["9M", "7M"], magnetrise: ["7T"], - powergem: ["7L38"], - protect: ["7M"], - psychic: ["7M"], + meteorbeam: ["9M"], + powergem: ["9M", "9L38", "7L38"], + protect: ["9M", "7M"], + psychic: ["9M", "7M"], psychup: ["7M"], - reflect: ["7M"], - rest: ["7M"], + reflect: ["9M", "7M"], + rest: ["9M", "7M"], return: ["7M"], - rockpolish: ["7M"], - rockslide: ["7M"], - rocktomb: ["7M"], - rollout: ["7L8"], + rockblast: ["9M"], + rockpolish: ["9L31", "7M"], + rockslide: ["9M", "7M"], + rocktomb: ["9M", "7M"], + rollout: ["9L8", "7L8"], round: ["7M"], safeguard: ["7M"], - sandstorm: ["7M"], - selfdestruct: ["7L22"], - shellsmash: ["7L45"], - sleeptalk: ["7M"], + sandstorm: ["9M", "7M"], + scorchingsands: ["9M"], + selfdestruct: ["9L22", "7L22"], + shellsmash: ["9L45", "7L45"], + sleeptalk: ["9M", "7M"], snore: ["7T"], - solarbeam: ["7M"], - stealthrock: ["7T", "7L24"], - stoneedge: ["7M"], - substitute: ["7M"], + solarbeam: ["9M", "7M"], + stealthrock: ["9M", "9L24", "7T", "7L24"], + stoneedge: ["9M", "7M"], + substitute: ["9M", "7M"], swagger: ["7M"], - swift: ["7L15"], - tackle: ["7L1"], - takedown: ["7L29"], + swift: ["9M", "9L15", "7L15"], + tackle: ["9L1", "7L1"], + takedown: ["9M", "9L29", "7L29"], telekinesis: ["7T"], + terablast: ["9M"], toxic: ["7M"], - uturn: ["7M"], - zenheadbutt: ["7T"], + uturn: ["9M", "7M"], + zenheadbutt: ["9M", "7T"], }, }, komala: { @@ -76573,10 +78526,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M", "7M"], charm: ["9M", "9E", "7E"], confide: ["7M"], + curse: ["9M"], defensecurl: ["9L1", "7L1"], + doubleedge: ["9M"], doubleteam: ["7M"], earthquake: ["9M", "7M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M"], facade: ["9M", "7M"], flail: ["9L26", "7L26"], @@ -76596,7 +78551,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { payback: ["7M"], playrough: ["9M", "9E", "7E"], protect: ["9M", "7M"], - psychup: ["9L36", "7M", "7L36"], + psychup: ["9M", "9L36", "7M", "7L36"], quash: ["7M"], raindance: ["9M"], rapidspin: ["9L11", "7L11"], @@ -76889,10 +78844,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], copycat: ["9L1", "8L1", "7L1", "7S0", "7S1"], covet: ["7T"], - curse: ["9E", "8E", "7E"], + curse: ["9M", "9E", "9S3", "8E", "7E"], darkpulse: ["9M", "8M", "7M"], dazzlinggleam: ["9M", "8M", "7M"], - destinybond: ["9E", "8E", "7E", "7S2"], + destinybond: ["9E", "9S3", "8E", "7E", "7S2"], doubleteam: ["9L12", "8L12", "7M", "7L5"], drainingkiss: ["9M", "8M"], drainpunch: ["9M", "8M", "7T"], @@ -76919,14 +78874,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M"], nightmare: ["7E"], nightshade: ["9M"], - painsplit: ["9L60", "8L60", "7T", "7L50"], + painsplit: ["9M", "9L60", "8L60", "7T", "7L50"], payback: ["8M", "7M"], - phantomforce: ["9M", "8M"], + phantomforce: ["9M", "9S3", "8M"], playrough: ["9M", "9L54", "8M", "8L54", "7L46", "7S1"], pounce: ["9M"], protect: ["9M", "8M", "7M"], psychic: ["9M", "8M", "7M"], - psychup: ["7M"], + psychup: ["9M", "7M"], raindance: ["9M"], rest: ["9M", "8M", "7M"], return: ["7M"], @@ -76953,7 +78908,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M", "7M"], thunder: ["9M", "8M", "7M"], - thunderbolt: ["9M", "8M", "7M"], + thunderbolt: ["9M", "9S3", "8M", "7M"], thunderwave: ["9M", "8M", "7M"], toxic: ["7M"], trailblaze: ["9M"], @@ -76968,6 +78923,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 10, moves: ["copycat", "babydolleyes", "splash", "astonish"], pokeball: "cherishball"}, {generation: 7, level: 10, shiny: true, moves: ["astonish", "playrough", "copycat", "substitute"], pokeball: "cherishball"}, {generation: 7, level: 50, shiny: true, moves: ["mimic", "snatch", "trick", "destinybond"], pokeball: "cherishball"}, + {generation: 9, level: 25, moves: ["thunderbolt", "destinybond", "phantomforce", "curse"], pokeball: "cherishball"}, ], }, mimikyutotem: { @@ -77067,6 +79023,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["7M"], embargo: ["7M"], endure: ["9M"], + expandingforce: ["9M"], facade: ["9M", "7M"], fling: ["7M"], flipturn: ["9M"], @@ -77084,12 +79041,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M", "7T"], magiccoat: ["7T"], magicroom: ["7T"], - painsplit: ["7T"], + painsplit: ["9M", "7T"], payback: ["7M"], poisonfang: ["9E", "7E"], protect: ["9M", "7M"], psychic: ["9M", "7M"], psychicfangs: ["9M", "9L41", "7L41"], + psychicnoise: ["9M"], psychicterrain: ["9M"], psyshock: ["9M", "9L25"], psywave: ["7L25"], @@ -77126,6 +79084,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { watergun: ["9L1", "7L1"], waterpulse: ["9M", "9E", "7T", "7E"], wavecrash: ["9L44"], + whirlpool: ["9M"], wonderroom: ["7T"], }, }, @@ -77311,6 +79270,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M"], bide: ["7L9"], bodyslam: ["9M"], + breakingswipe: ["9M"], brickbreak: ["9M", "8M", "7M"], bulkup: ["9M", "8M", "7M"], bulldoze: ["9M", "8M", "7M"], @@ -77319,6 +79279,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M"], dracometeor: ["9M", "8T", "7T"], dragonbreath: ["9E", "8E", "7E"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L41"], dragondance: ["9M", "9L40", "8M", "8L40", "7L49"], dragonpulse: ["9M", "8M", "7T"], @@ -77380,15 +79341,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { autotomize: ["8L1", "7L1"], bide: ["7L1"], bodyslam: ["9M"], + breakingswipe: ["9M"], brickbreak: ["9M", "8M", "7M"], brutalswing: ["8M", "7M"], bulkup: ["9M", "8M", "7M"], bulldoze: ["9M", "8M", "7M"], closecombat: ["9M", "9L56", "8M", "8L56", "7L63"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M"], + doubleedge: ["9M"], doubleteam: ["7M"], dracometeor: ["9M", "8T", "7T"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L43"], dragondance: ["9M", "9L44", "8M", "8L44", "7L53"], dragonpulse: ["9M", "8M", "7T"], @@ -77442,7 +79406,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M", "8M", "7M"], terablast: ["9M"], + throatchop: ["9M"], toxic: ["7M"], + upperhand: ["9M"], uproar: ["8M", "7T"], vacuumwave: ["9M"], workup: ["9L20", "8M", "8L20", "7M", "7L29"], @@ -77461,7 +79427,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodypress: ["9M", "8M"], bodyslam: ["9M"], boomburst: ["9L76", "8L76"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brickbreak: ["9M", "8M", "7M"], brutalswing: ["8M", "7M"], bulkup: ["9M", "8M", "7M"], @@ -77469,10 +79435,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { clangingscales: ["9L0", "8L0", "7L1"], clangoroussoul: ["9L68", "8L68"], closecombat: ["9M", "9L60", "8M", "8L60", "7L75"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M"], + doubleedge: ["9M"], doubleteam: ["7M"], dracometeor: ["9M", "8T", "7T"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L43"], dragondance: ["9M", "9L44", "8M", "8L44", "7L59"], dragonpulse: ["9M", "8M", "7T"], @@ -77481,7 +79449,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dualchop: ["7T"], earthquake: ["9M", "8M", "7M"], echoedvoice: ["7M"], - endeavor: ["7T"], + endeavor: ["9M", "7T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], falseswipe: ["9M", "8M", "7M"], @@ -77508,6 +79476,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M"], megapunch: ["8M"], metalclaw: ["9M"], + metalsound: ["9M"], nobleroar: ["9L38", "8L38", "7L51"], outrage: ["9M", "9L52", "8M", "8L52", "7T", "7L67"], payback: ["8M", "7M"], @@ -77544,8 +79513,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M", "8M", "7M"], terablast: ["9M"], + throatchop: ["9M"], thunderpunch: ["9M", "8M", "7T"], toxic: ["7M"], + upperhand: ["9M"], uproar: ["8M", "7T"], vacuumwave: ["9M"], waterpulse: ["7T"], @@ -77984,8 +79955,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, cosmog: { learnset: { - splash: ["8L1", "8S1", "7L1", "7S0"], - teleport: ["8L1", "8S1", "7L23"], + splash: ["9L1", "8L1", "8S1", "7L1", "7S0"], + teleport: ["9L1", "8L1", "8S1", "7L23"], }, eventData: [ {generation: 7, level: 5, moves: ["splash"]}, @@ -77995,186 +79966,193 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, cosmoem: { learnset: { - cosmicpower: ["8M", "8L0", "7L1"], - teleport: ["8L1", "7L1"], + cosmicpower: ["9L0", "8M", "8L0", "7L1"], + teleport: ["9L1", "8L1", "7L1"], }, }, solgaleo: { learnset: { - agility: ["8M"], - bulldoze: ["8M", "7M"], - calmmind: ["8M", "7M"], - closecombat: ["8M"], + agility: ["9M", "8M"], + bodyslam: ["9M"], + bulldoze: ["9M", "8M", "7M"], + calmmind: ["9M", "8M", "7M"], + closecombat: ["9M", "8M"], confide: ["7M"], - cosmicpower: ["8M", "8L1", "7L1", "7S0", "7S1"], - crunch: ["8M", "8L42", "7L37", "7S0", "7S1"], + cosmicpower: ["9L1", "8M", "8L1", "7L1", "7S0", "7S1"], + crunch: ["9M", "9L42", "8M", "8L42", "7L37", "7S0", "7S1"], + doubleedge: ["9M"], doubleteam: ["7M"], - earthquake: ["8M", "7M"], - endeavor: ["7T"], - endure: ["8M"], - expandingforce: ["8T"], - facade: ["8M", "7M"], - fireblast: ["8M", "7M"], - firespin: ["8M", "8S3"], - flamecharge: ["7M"], - flamethrower: ["8M", "7M"], - flareblitz: ["8M", "8L70", "7L61"], - flashcannon: ["8M", "8L28", "7M", "7L23"], - focusblast: ["8M", "7M"], + earthquake: ["9M", "8M", "7M"], + endeavor: ["9M", "7T"], + endure: ["9M", "8M"], + expandingforce: ["9M", "8T"], + facade: ["9M", "8M", "7M"], + fireblast: ["9M", "8M", "7M"], + firespin: ["9M", "8M", "8S3"], + flamecharge: ["9M", "7M"], + flamethrower: ["9M", "8M", "7M"], + flareblitz: ["9M", "9L70", "9S4", "8M", "8L70", "7L61"], + flashcannon: ["9M", "9L28", "8M", "8L28", "7M", "7L23"], + focusblast: ["9M", "8M", "7M"], frustration: ["7M"], - futuresight: ["8M"], - gigaimpact: ["8M", "8L84", "7M", "7L73"], - gyroball: ["8M", "7M"], - heatcrash: ["8M"], - heavyslam: ["8M"], - helpinghand: ["8M"], + futuresight: ["9M", "8M"], + gigaimpact: ["9M", "9L84", "8M", "8L84", "7M", "7L73"], + gyroball: ["9M", "8M", "7M"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M", "8M"], hiddenpower: ["7M"], - hyperbeam: ["8M", "7M"], - hypervoice: ["8M", "7T"], - irondefense: ["8M", "7T"], - ironhead: ["8M", "8L7", "7T", "7L7"], + hyperbeam: ["9M", "8M", "7M"], + hypervoice: ["9M", "8M", "7T"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "9L7", "8M", "8L7", "7T", "7L7"], irontail: ["8M", "8S3", "7T"], - knockoff: ["7T"], + knockoff: ["9M", "7T"], lastresort: ["7T"], - lightscreen: ["8M", "7M"], - metalburst: ["8L49", "7L43"], - metalclaw: ["8L1", "7L1"], - metalsound: ["8L14", "7L13"], - meteorbeam: ["8T"], - morningsun: ["8L35", "7L31", "7S2"], + lightscreen: ["9M", "8M", "7M"], + metalburst: ["9L49", "9S4", "8L49", "7L43"], + metalclaw: ["9M", "9L1", "8L1", "7L1"], + metalsound: ["9M", "9L14", "8L14", "7L13"], + meteorbeam: ["9M", "8T"], + morningsun: ["9L35", "8L35", "7L31", "7S2"], mysticalfire: ["8M"], - nobleroar: ["8L1", "8S3", "7L59", "7S2"], - outrage: ["8M", "7T"], - protect: ["8M", "7M"], - psychic: ["8M", "7M"], - psychicfangs: ["8M"], - psychup: ["7M"], - psyshock: ["8M", "7M"], - reflect: ["8M", "7M"], - rest: ["8M", "7M"], + nobleroar: ["9L1", "8L1", "8S3", "7L59", "7S2"], + outrage: ["9M", "8M", "7T"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychicfangs: ["9M", "8M"], + psychup: ["9M", "7M"], + psyshock: ["9M", "8M", "7M"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], - roar: ["7M"], - rockslide: ["8M", "7M"], - rocktomb: ["8M", "7M"], + roar: ["9M", "7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], round: ["8M", "7M"], safeguard: ["8M", "7M"], - scaryface: ["8M"], + scaryface: ["9M", "8M"], shockwave: ["7T"], - sleeptalk: ["8M", "7M"], - snarl: ["8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], snore: ["8M", "7T"], - solarbeam: ["8M", "8L63", "7M", "7L47"], - steelbeam: ["8T"], + solarbeam: ["9M", "9L63", "9S4", "8M", "8L63", "7M", "7L47"], + steelbeam: ["9M", "8T"], steelroller: ["8T"], - stoneedge: ["8M", "7M"], - substitute: ["8M", "7M"], - sunnyday: ["8M", "7M"], - sunsteelstrike: ["8L0", "7L1", "7S0", "7S1", "7S2"], + stoneedge: ["9M", "8M", "7M"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + sunsteelstrike: ["9L0", "8L0", "7L1", "7S0", "7S1", "7S2"], superpower: ["8M", "7T"], swagger: ["7M"], - swift: ["8M"], - teleport: ["8L1", "7L1"], - thunder: ["8M", "7M"], - thunderbolt: ["8M", "7M"], + swift: ["9M", "8M"], + takedown: ["9M"], + teleport: ["9L1", "8L1", "7L1"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M"], + thunderbolt: ["9M", "8M", "7M"], thunderwave: ["8M", "7M"], toxic: ["7M"], - trickroom: ["8M", "7M"], + trickroom: ["9M", "8M", "7M"], wakeupslap: ["7L1"], - wideguard: ["8L77", "7L67"], - wildcharge: ["8M", "8L56", "7M"], + wideguard: ["9L77", "8L77", "7L67"], + wildcharge: ["9M", "9L56", "9S4", "8M", "8L56", "7M"], workup: ["8M", "7M"], - zenheadbutt: ["8M", "8L21", "8S3", "7T", "7L19", "7S0", "7S1", "7S2"], + zenheadbutt: ["9M", "9L21", "8M", "8L21", "8S3", "7T", "7L19", "7S0", "7S1", "7S2"], }, eventData: [ {generation: 7, level: 55, moves: ["sunsteelstrike", "cosmicpower", "crunch", "zenheadbutt"]}, {generation: 7, level: 60, moves: ["sunsteelstrike", "cosmicpower", "crunch", "zenheadbutt"]}, {generation: 7, level: 60, shiny: true, moves: ["sunsteelstrike", "zenheadbutt", "nobleroar", "morningsun"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["zenheadbutt", "firespin", "irontail", "nobleroar"]}, + {generation: 9, level: 70, moves: ["flareblitz", "solarbeam", "wildcharge", "metalburst"]}, ], }, lunala: { learnset: { - acrobatics: ["8M", "7M"], - aerialace: ["7M"], - agility: ["8M"], - airslash: ["8M", "8L21", "7L19"], - blizzard: ["8M", "7M"], - calmmind: ["8M", "7M"], - chargebeam: ["7M"], + acrobatics: ["9M", "8M", "7M"], + aerialace: ["9M", "7M"], + agility: ["9M", "8M"], + airslash: ["9M", "9L21", "8M", "8L21", "7L19"], + blizzard: ["9M", "8M", "7M"], + calmmind: ["9M", "8M", "7M"], + chargebeam: ["9M", "7M"], confide: ["7M"], - confuseray: ["8L14", "7L13"], - confusion: ["8L1", "7L1"], - cosmicpower: ["8M", "8L1", "7L1", "7S0", "7S1"], - dazzlinggleam: ["8M", "7M"], + confuseray: ["9M", "9L14", "8L14", "7L13"], + confusion: ["9L1", "8L1", "7L1"], + cosmicpower: ["9L1", "8M", "8L1", "7L1", "7S0", "7S1"], + dazzlinggleam: ["9M", "8M", "7M"], defog: ["7T"], doubleteam: ["7M"], - dreameater: ["8L70", "7M", "7L59"], - dualwingbeat: ["8T"], - endure: ["8M"], - expandingforce: ["8T"], - facade: ["8M", "7M"], - fly: ["8M", "7M"], - focusblast: ["8M", "7M"], + dreameater: ["9L70", "9S4", "8L70", "7M", "7L59"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + expandingforce: ["9M", "8T"], + facade: ["9M", "8M", "7M"], + fly: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], frustration: ["7M"], - futuresight: ["8M"], - gigaimpact: ["8M", "7M"], - heatwave: ["8M", "7T"], - helpinghand: ["8M"], - hex: ["8M"], + futuresight: ["9M", "8M"], + gigaimpact: ["9M", "8M", "7M"], + heatwave: ["9M", "8M", "7T"], + helpinghand: ["9M", "8M"], + hex: ["9M", "8M"], hiddenpower: ["7M"], - hyperbeam: ["8M", "8L84", "7M", "7L73"], - hypnosis: ["8L1", "7L1"], - icebeam: ["8M", "7M"], - icywind: ["8M", "7T"], - lightscreen: ["8M", "7M"], + hyperbeam: ["9M", "8M", "8L84", "7M", "7L73"], + hypnosis: ["9L1", "8L1", "7L1"], + icebeam: ["9M", "8M", "7M"], + icywind: ["9M", "8M", "7T"], + lightscreen: ["9M", "8M", "7M"], magiccoat: ["8L49", "8S3", "7T", "7L43"], magicroom: ["8M", "7T"], - meteorbeam: ["8T"], - moonblast: ["8L56", "8S3", "7L47", "7S2"], - moongeistbeam: ["8L0", "7L1", "7S0", "7S1", "7S2"], - moonlight: ["8L35", "7L31", "7S2"], - nightdaze: ["8L42", "7L37", "7S0", "7S1"], - nightshade: ["8L7", "7L7"], - phantomforce: ["8M", "8L63", "7L61"], - poltergeist: ["8T"], - protect: ["8M", "7M"], - psychic: ["8M", "7M"], + meteorbeam: ["9M", "8T"], + moonblast: ["9L56", "9S4", "8L56", "8S3", "7L47", "7S2"], + moongeistbeam: ["9L0", "8L0", "7L1", "7S0", "7S1", "7S2"], + moonlight: ["9L35", "8L35", "7L31", "7S2"], + nightdaze: ["9L42", "8L42", "7L37", "7S0", "7S1"], + nightshade: ["9M", "9L7", "8L7", "7L7"], + phantomforce: ["9M", "9L63", "9S4", "8M", "8L63", "7L61"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "9L49", "9S4", "8M", "7M"], psychocut: ["8M"], - psychup: ["7M"], - psyshock: ["8M", "7M", "7S2"], - reflect: ["8M", "7M"], - rest: ["8M", "7M"], + psychup: ["9M", "7M"], + psyshock: ["9M", "8M", "7M", "7S2"], + raindance: ["9M"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], roar: ["7M"], roost: ["7M"], round: ["8M", "7M"], safeguard: ["8M", "7M"], - scaryface: ["8M"], - shadowball: ["8M", "8L28", "8S3", "7M", "7L23", "7S0", "7S1"], - shadowclaw: ["8M", "7M"], + scaryface: ["9M", "8M"], + shadowball: ["9M", "9L28", "8M", "8L28", "8S3", "7M", "7L23", "7S0", "7S1"], + shadowclaw: ["9M", "8M", "7M"], shockwave: ["7T"], signalbeam: ["7T"], skyattack: ["7T"], skydrop: ["7M"], - sleeptalk: ["8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - solarbeam: ["8M", "7M"], - spite: ["7T"], - substitute: ["8M", "7M"], - sunnyday: ["8M", "7M"], + solarbeam: ["9M", "8M", "7M"], + spite: ["9M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], swagger: ["7M"], - swift: ["8M", "8S3"], - tailwind: ["7T"], + swift: ["9M", "8M", "8S3"], + tailwind: ["9M", "7T"], telekinesis: ["7T"], - teleport: ["8L1", "7L1"], - thunder: ["8M", "7M"], - thunderbolt: ["8M", "7M"], + teleport: ["9L1", "8L1", "7L1"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M"], + thunderbolt: ["9M", "8M", "7M"], thunderwave: ["8M", "7M"], toxic: ["7M"], - trick: ["8M", "7T"], - trickroom: ["8M", "7M"], - wideguard: ["8L77", "7L67"], - willowisp: ["8M", "7M"], + trick: ["9M", "8M", "7T"], + trickroom: ["9M", "8M", "7M"], + wideguard: ["9L77", "8L77", "7L67"], + willowisp: ["9M", "8M", "7M"], wonderroom: ["8M", "7T"], workup: ["8M", "7M"], }, @@ -78183,6 +80161,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { {generation: 7, level: 60, moves: ["moongeistbeam", "cosmicpower", "nightdaze", "shadowball"]}, {generation: 7, level: 60, shiny: true, moves: ["moongeistbeam", "psyshock", "moonblast", "moonlight"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["shadowball", "moonblast", "magiccoat", "swift"]}, + {generation: 9, level: 70, moves: ["dreameater", "phantomforce", "moonblast", "psychic"]}, ], }, nihilego: { @@ -78704,116 +80683,122 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, necrozma: { learnset: { - aerialace: ["7M"], + aerialace: ["9M", "7M"], allyswitch: ["8M", "7T"], autotomize: ["8L80", "8S3", "7L47"], + bodyslam: ["9M"], breakingswipe: ["8M"], - brickbreak: ["8M", "7M"], + brickbreak: ["9M", "8M", "7M"], brutalswing: ["8M", "7M"], - bulldoze: ["8M", "7M"], - calmmind: ["8M", "7M"], - chargebeam: ["8L1", "8S3", "7M", "7L1"], + bulldoze: ["9M", "8M", "7M"], + calmmind: ["9M", "8M", "7M"], + chargebeam: ["9M", "9L1", "8L1", "8S3", "7M", "7L1"], confide: ["7M"], - confusion: ["8L1", "7L1"], + confusion: ["9L1", "8L1", "7L1"], cosmicpower: ["8M"], - darkpulse: ["8M", "7M"], + darkpulse: ["9M", "8M", "7M"], doubleteam: ["7M"], - dragondance: ["8M"], - dragonpulse: ["8M", "7T"], - earthpower: ["8M", "7T"], - earthquake: ["8M", "7M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T"], + earthpower: ["9M", "8M", "7T"], + earthquake: ["9M", "8M", "7M"], embargo: ["7M"], - endure: ["8M"], - expandingforce: ["8T"], - facade: ["8M", "7M"], - flashcannon: ["8M", "7M"], - fling: ["8M", "7M"], + endure: ["9M", "8M"], + expandingforce: ["9M", "8T"], + facade: ["9M", "8M", "7M"], + flashcannon: ["9M", "8M", "7M"], + fling: ["9M", "8M", "7M"], frustration: ["7M"], - futuresight: ["8M"], - gigaimpact: ["8M", "7M"], - gravity: ["8L1", "7T", "7L31"], - gyroball: ["8M", "7M"], - heatwave: ["8M", "7T"], + futuresight: ["9M", "8M"], + gigaimpact: ["9M", "8M", "7M"], + gravity: ["9M", "9L80", "8L1", "7T", "7L31"], + gyroball: ["9M", "8M", "7M"], + heatwave: ["9M", "8M", "7T"], hiddenpower: ["7M"], - hyperbeam: ["8M", "7M"], - hypervoice: ["8M", "7T"], - imprison: ["8M"], - irondefense: ["8M", "8L56", "7T", "7L59", "7S0", "7S1"], - ironhead: ["8M", "7T"], - knockoff: ["7T"], - lightscreen: ["8M", "7M", "7S2"], + hyperbeam: ["9M", "8M", "7M"], + hypervoice: ["9M", "8M", "7T"], + imprison: ["9M", "8M"], + irondefense: ["9M", "9L56", "9S4", "8M", "8L56", "7T", "7L59", "7S0", "7S1"], + ironhead: ["9M", "8M", "7T"], + knockoff: ["9M", "7T"], + lightscreen: ["9M", "8M", "7M", "7S2"], magnetrise: ["7T"], - metalclaw: ["8L1", "7L1"], - meteorbeam: ["8T"], + metalclaw: ["9M", "9L1", "8L1", "7L1"], + meteorbeam: ["9M", "8T"], mirrorshot: ["7L1"], - moonlight: ["8L1", "7L1", "7S2"], - morningsun: ["8L1", "7L1"], - nightslash: ["8L24", "7L23", "7S1"], - outrage: ["8M", "7T"], - photongeyser: ["8L72", "7L50", "7S1"], - powergem: ["8M", "8L64", "8S3", "7L43", "7S1"], - prismaticlaser: ["8L88", "7L73", "7S0"], - protect: ["8M", "7M"], - psychic: ["8M", "7M"], - psychicfangs: ["8M"], - psychocut: ["8M", "8L32", "8S3", "7L37"], - psyshock: ["8M", "7M"], + moonlight: ["9L1", "8L1", "7L1", "7S2"], + morningsun: ["9L1", "8L1", "7L1"], + nightslash: ["9L24", "8L24", "7L23", "7S1"], + outrage: ["9M", "8M", "7T"], + photongeyser: ["9L72", "8L72", "7L50", "7S1"], + powergem: ["9M", "9L64", "9S4", "8M", "8L64", "8S3", "7L43", "7S1"], + prismaticlaser: ["9L88", "8L88", "7L73", "7S0"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychicfangs: ["9M", "8M"], + psychocut: ["9L32", "8M", "8L32", "8S3", "7L37"], + psyshock: ["9M", "8M", "7M"], recycle: ["7T"], - reflect: ["8M", "7M"], - rest: ["8M", "7M"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], return: ["7M"], - rockblast: ["8M", "8L48", "7L19"], + rockblast: ["9M", "9L48", "9S4", "8M", "8L48", "7L19"], rockpolish: ["7M"], - rockslide: ["8M", "7M"], - rocktomb: ["8M", "7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], round: ["8M", "7M"], - scaryface: ["8M"], - shadowclaw: ["8M", "7M"], + sandstorm: ["9M"], + scaryface: ["9M", "8M"], + shadowclaw: ["9M", "8M", "7M"], shockwave: ["7T"], signalbeam: ["7T"], - slash: ["8L16", "7L7"], - sleeptalk: ["8M", "7M"], - smartstrike: ["8M", "7M"], + slash: ["9L16", "8L16", "7L7"], + sleeptalk: ["9M", "8M", "7M"], + smartstrike: ["9M", "8M", "7M"], snore: ["8M", "7T"], - solarbeam: ["8M", "7M"], - stealthrock: ["8M", "8L8", "7T", "7L53", "7S0"], - stoneedge: ["8M", "7M"], - storedpower: ["8M", "8L40", "7L13"], - substitute: ["8M", "7M", "7S2"], + solarbeam: ["9M", "8M", "7M"], + stealthrock: ["9M", "9L8", "8M", "8L8", "7T", "7L53", "7S0"], + stoneedge: ["9M", "8M", "7M"], + storedpower: ["9M", "9L40", "9S4", "8M", "8L40", "7L13"], + substitute: ["9M", "8M", "7M", "7S2"], + sunnyday: ["9M"], swagger: ["7M"], - swordsdance: ["8M", "7M"], + swift: ["9M"], + swordsdance: ["9M", "8M", "7M"], telekinesis: ["7T"], - thief: ["8M", "7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], thunderwave: ["8M", "7M"], toxic: ["7M"], - trickroom: ["8M", "7M"], + trickroom: ["9M", "8M", "7M"], wringout: ["7L67", "7S0"], - xscissor: ["8M", "7M"], + xscissor: ["9M", "8M", "7M"], }, eventData: [ {generation: 7, level: 75, moves: ["stealthrock", "irondefense", "wringout", "prismaticlaser"]}, {generation: 7, level: 65, moves: ["photongeyser", "irondefense", "powergem", "nightslash"]}, {generation: 7, level: 75, shiny: true, moves: ["lightscreen", "substitute", "moonlight"], pokeball: "cherishball"}, {generation: 8, level: 70, shiny: 1, moves: ["psychocut", "chargebeam", "powergem", "autotomize"]}, + {generation: 9, level: 70, moves: ["powergem", "irondefense", "rockblast", "storedpower"]}, ], eventOnly: true, }, necrozmaduskmane: { learnset: { - sunsteelstrike: ["8R", "7R"], + sunsteelstrike: ["9R", "8R", "7R"], }, eventOnly: true, }, necrozmadawnwings: { learnset: { - moongeistbeam: ["8R", "7R"], + moongeistbeam: ["9R", "8R", "7R"], }, eventOnly: true, }, necrozmaultra: { learnset: { - moongeistbeam: ["8R", "7R"], - sunsteelstrike: ["8R", "7R"], + moongeistbeam: ["9R", "8R", "7R"], + sunsteelstrike: ["9R", "8R", "7R"], }, }, magearna: { @@ -78838,7 +80823,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M"], eerieimpulse: ["9M", "8M"], electroball: ["9M", "8M"], - electroweb: ["8M"], + electroweb: ["9M", "8M"], embargo: ["7M"], encore: ["9M", "8M"], endure: ["9M", "8M"], @@ -78873,11 +80858,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { luckychant: ["7L9", "7S0"], magneticflux: ["9L24"], magnetrise: ["7T"], + metalsound: ["9M"], mindreader: ["8L42", "7L33"], mirrorshot: ["7L25"], mistyexplosion: ["9M", "8T"], mistyterrain: ["9M"], - painsplit: ["9L78", "8L78", "7T", "7L65"], + painsplit: ["9M", "9L78", "8L78", "7T", "7L65"], playrough: ["9M"], powerswap: ["8M"], protect: ["9M", "8M", "7M"], @@ -78945,7 +80931,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { drainingkiss: ["9M", "8M"], eerieimpulse: ["9M", "8M"], electroball: ["9M", "8M"], - electroweb: ["8M"], + electroweb: ["9M", "8M"], encore: ["9M", "8M"], endure: ["9M", "8M"], energyball: ["9M", "8M"], @@ -78971,10 +80957,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "8M"], lockon: ["9L42"], magneticflux: ["9L24"], + metalsound: ["9M"], mindreader: ["8L42"], mistyexplosion: ["9M", "8T"], mistyterrain: ["9M"], - painsplit: ["9L78", "8L78"], + painsplit: ["9M", "9L78", "8L78"], playrough: ["9M"], powerswap: ["8M"], protect: ["9M", "8M"], @@ -79567,7 +81554,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { branchpoke: ["9L6", "8L6"], bulletseed: ["9M"], drainpunch: ["9M", "8M"], - endeavor: ["9L36", "8L36"], + endeavor: ["9M", "9L36", "8L36"], endure: ["9M", "8M"], energyball: ["9M", "8M"], facade: ["9M", "8M"], @@ -79628,9 +81615,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], branchpoke: ["9L1", "8L1"], bulletseed: ["9M"], + doubleedge: ["9M"], doublehit: ["9L0", "8L0"], drainpunch: ["9M", "8M"], - endeavor: ["9L48", "8L48"], + endeavor: ["9M", "9L48", "8L48"], endure: ["9M", "8M"], energyball: ["9M", "8M"], facade: ["9M", "8M"], @@ -79692,12 +81680,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "8M"], bulletseed: ["9M", "8M"], darkestlariat: ["8M"], + doubleedge: ["9M"], doublehit: ["9L1", "8L1"], drainpunch: ["9M", "8M"], drumbeating: ["9L0", "8L0"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M"], - endeavor: ["9L54", "8L54"], + endeavor: ["9M", "9L54", "8L54"], endure: ["9M", "8M"], energyball: ["9M", "8M"], facade: ["9M", "8M"], @@ -79769,7 +81758,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bounce: ["9L32", "8M", "8L32"], burningjealousy: ["9M"], counter: ["9L28", "8L28"], - doubleedge: ["9L36", "8L36"], + doubleedge: ["9M", "9L36", "8L36"], doublekick: ["9L12", "8L12"], electroball: ["9M", "8M"], ember: ["9L6", "8L6"], @@ -79810,6 +81799,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1"], takedown: ["9M"], taunt: ["9M", "8M"], + temperflare: ["9M"], terablast: ["9M"], trailblaze: ["9M"], uturn: ["9M", "8M"], @@ -79829,7 +81819,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "8M"], burningjealousy: ["9M"], counter: ["9L36", "8L36"], - doubleedge: ["9L48", "8L48"], + doubleedge: ["9M", "9L48", "8L48"], doublekick: ["9L12", "8L12"], electroball: ["9M", "8M"], ember: ["9L1", "8L1"], @@ -79868,6 +81858,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1"], takedown: ["9M"], taunt: ["9M", "8M"], + temperflare: ["9M"], terablast: ["9M"], trailblaze: ["9M"], uturn: ["9M", "8M"], @@ -79888,10 +81879,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { bounce: ["9L46", "8M", "8L46"], bulkup: ["9M", "8M"], burningjealousy: ["9M"], - coaching: ["8T"], + coaching: ["9M", "8T"], counter: ["9L38", "8L38"], courtchange: ["9L62", "8L62"], - doubleedge: ["9L54", "8L54"], + doubleedge: ["9M", "9L54", "8L54"], doublekick: ["9L12", "8L12"], electroball: ["9M", "8M"], ember: ["9L1", "8L1"], @@ -79930,7 +81921,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { revenge: ["8M"], reversal: ["9M", "8M"], round: ["8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], shadowball: ["9M", "8M"], sleeptalk: ["9M", "8M"], smackdown: ["9M"], @@ -79944,6 +81935,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1"], takedown: ["9M"], taunt: ["9M", "8M"], + temperflare: ["9M"], terablast: ["9M"], trailblaze: ["9M"], uturn: ["9M", "8M"], @@ -79974,7 +81966,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "8M"], liquidation: ["9M", "9L28", "8M", "8L28"], mist: ["9E", "8E"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], pound: ["9L1", "8L1"], protect: ["9M", "8M"], @@ -79999,7 +81991,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpledge: ["9M", "8T"], waterpulse: ["9M", "9L12", "8L12"], weatherball: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], workup: ["8M"], }, }, @@ -80019,7 +82011,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hydropump: ["9M"], lightscreen: ["9M", "8M"], liquidation: ["9M", "9L36", "8M", "8L36"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], pound: ["9L1", "8L1"], protect: ["9M", "8M"], @@ -80044,7 +82036,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpledge: ["9M", "8T"], waterpulse: ["9M", "9L12", "8L12"], weatherball: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], workup: ["8M"], }, }, @@ -80059,7 +82051,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bind: ["9L1", "8L1"], blizzard: ["9M", "8M"], bounce: ["8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], chillingwater: ["9M"], darkpulse: ["9M", "8M"], dive: ["8M"], @@ -80080,10 +82072,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "8M"], liquidation: ["9M", "9L38", "8M", "8L38"], metronome: ["9M", "8M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], pound: ["9L1", "8L1"], protect: ["9M", "8M"], + psychup: ["9M"], raindance: ["9M", "9L54", "8M", "8L54"], reflect: ["9M", "8M"], rest: ["9M", "8M"], @@ -80092,6 +82085,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["9M", "8M"], scaleshot: ["8T"], shadowball: ["9M", "8M"], + skittersmack: ["9M"], sleeptalk: ["9M", "8M"], smackdown: ["9M"], snipeshot: ["9L0", "8L0"], @@ -80114,7 +82108,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterpledge: ["9M", "8T"], waterpulse: ["9M", "9L12", "8L12"], weatherball: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], workup: ["8M"], }, }, @@ -80131,8 +82125,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M", "9L35", "8M", "8L35"], counter: ["9L30", "8L30"], crunch: ["9M", "8M"], + curse: ["9M"], defensecurl: ["9E", "8E"], dig: ["9M", "8M"], + doubleedge: ["9M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], fling: ["9M", "8M"], @@ -80181,8 +82178,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["9L34", "8L34"], covet: ["9L0", "8L0"], crunch: ["9M", "8M"], + curse: ["9M"], dig: ["9M", "8M"], + doubleedge: ["9M"], earthquake: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], firefang: ["9M", "8M"], @@ -80339,6 +82339,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "8M"], bravebird: ["9M", "9L50", "8M", "8L50"], bulkup: ["9M", "8M"], + curse: ["9M"], + doubleedge: ["9M"], drillpeck: ["9L34", "8L34"], dualwingbeat: ["9M", "8T"], endure: ["9M", "8M"], @@ -80358,7 +82360,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leer: ["9L1", "8L1"], lightscreen: ["9M", "8M"], metalclaw: ["9M"], - metalsound: ["9L1", "8L1"], + metalsound: ["9M", "9L1", "8L1"], nastyplot: ["9M", "8M"], payback: ["8M"], peck: ["9L1", "8L1"], @@ -80782,7 +82784,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaleshot: ["8T"], scaryface: ["9M"], shellsmash: ["9E"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], skullbash: ["8E"], sleeptalk: ["9M", "8M"], snore: ["8M"], @@ -80795,7 +82797,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M"], watergun: ["9L1", "8L1"], waterpulse: ["9M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], }, }, drednaw: { @@ -80812,6 +82814,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L1", "8M", "8L1"], dig: ["9M", "8M"], dive: ["8M"], + doubleedge: ["9M"], dragontail: ["9M"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M"], @@ -80832,8 +82835,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { jawlock: ["9L39", "8L39"], liquidation: ["9M", "9L48", "8M", "8L48"], megahorn: ["8M"], - meteorbeam: ["8T"], - muddywater: ["8M"], + meteorbeam: ["9M", "8T"], + muddywater: ["9M", "8M"], mudshot: ["9M", "8M"], payback: ["8M"], poisonjab: ["9M", "8M"], @@ -80852,7 +82855,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["8M"], scaleshot: ["8T"], scaryface: ["9M", "8M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M"], smartstrike: ["9M", "8M"], snore: ["8M"], @@ -80867,11 +82870,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], waterfall: ["9M", "8M"], watergun: ["9L1", "8L1"], waterpulse: ["9M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], }, }, yamper: { @@ -80970,6 +82973,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { block: ["9E", "8E"], bodyslam: ["9M"], bulldoze: ["9M"], + curse: ["9M"], dig: ["9M", "8M"], endure: ["9M", "8M"], explosion: ["9E", "8E"], @@ -80979,7 +82983,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { incinerate: ["9L25", "8L25"], irondefense: ["9M", "8M"], ironhead: ["9M", "8M"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mudslap: ["9M", "9E", "8E"], powergem: ["9M"], protect: ["9M", "8M"], @@ -81004,6 +83008,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M", "8M"], tackle: ["9L1", "8L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], willowisp: ["9M", "8M"], }, @@ -81016,6 +83021,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], bulldoze: ["9M"], burnup: ["8L55"], + curse: ["9M"], dig: ["9M", "8M"], endure: ["9M", "8M"], facade: ["9M", "8M"], @@ -81032,7 +83038,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { incinerate: ["9L27", "8L27"], irondefense: ["9M", "8M"], ironhead: ["9M", "8M"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mudslap: ["9M"], overheat: ["9M", "8M"], powergem: ["9M"], @@ -81048,7 +83054,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "8M"], sandtomb: ["9M", "8M"], scald: ["9M", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], selfdestruct: ["8M"], sleeptalk: ["9M", "8M"], smackdown: ["9M", "9L1", "8L1"], @@ -81061,6 +83067,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M"], tackle: ["9L1", "8L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], willowisp: ["9M", "8M"], }, @@ -81073,6 +83080,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "8M"], bulldoze: ["9M", "8M"], burnup: ["8L63"], + curse: ["9M"], dig: ["9M", "8M"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M"], @@ -81096,7 +83104,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M", "8M"], megakick: ["8M"], megapunch: ["8M"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mudslap: ["9M"], overheat: ["9M", "8M"], powergem: ["9M"], @@ -81112,7 +83120,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M", "8M"], sandtomb: ["9M", "8M"], scald: ["9M", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], selfdestruct: ["8M"], sleeptalk: ["9M", "8M"], smackdown: ["9M", "9L1", "8L1"], @@ -81127,6 +83135,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1"], takedown: ["9M"], tarshot: ["9L0", "8L0"], + temperflare: ["9M"], terablast: ["9M"], willowisp: ["9M", "8M"], }, @@ -81161,6 +83170,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dragonpulse: ["9M", "9L28", "8M", "8L28"], dragonrush: ["9L44", "8L44"], dualwingbeat: ["9M", "8T"], + endeavor: ["9M"], endure: ["9M", "8M"], energyball: ["9M", "8M"], facade: ["9M", "8M"], @@ -81211,7 +83221,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "9L32", "8M", "8L32"], bulldoze: ["9M", "8M"], bulletseed: ["9M", "9L20", "8M", "8L20"], - curse: ["9L4", "8L4"], + curse: ["9M", "9L4", "8L4"], dracometeor: ["9M", "8T"], dragonpulse: ["9M", "9L40", "8M", "8L40"], dragontail: ["9M"], @@ -81298,9 +83308,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "9L50", "8M", "8L50"], scaleshot: ["9M", "8T"], scaryface: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], screech: ["8M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], slam: ["9L40", "8L40"], sleeptalk: ["9M", "8M"], snore: ["8M"], @@ -81324,6 +83334,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { drillrun: ["9M", "8M"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], firefang: ["9M", "8M"], @@ -81351,9 +83362,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandtomb: ["9M", "9L51", "8M", "8L51"], scaleshot: ["9M", "8T"], scaryface: ["9M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], screech: ["8M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], skullbash: ["8L1"], slam: ["9L42", "8L42"], sleeptalk: ["9M", "8M"], @@ -81388,9 +83399,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { dive: ["9L28", "8M", "8L28"], drillpeck: ["9L35", "8L35"], dualwingbeat: ["9M", "8T"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], - featherdance: ["9E", "8E"], + featherdance: ["9M", "9E", "8E"], fly: ["9M", "8M"], furyattack: ["9L14", "8L14"], gigaimpact: ["9M", "8M"], @@ -81424,12 +83436,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M"], thrash: ["9L49", "8L49"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], uproar: ["9M", "8M"], watergun: ["9L7", "8L7"], waterpulse: ["9M"], weatherball: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], }, }, arrokuda: { @@ -81446,7 +83458,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "8M"], crunch: ["9M", "9L36", "8M", "8L36"], dive: ["9L24", "8M", "8L24"], - doubleedge: ["9L48", "8L48"], + doubleedge: ["9M", "9L48", "8L48"], drillrun: ["9M", "8M"], endure: ["9M", "8M"], facade: ["9M", "8M"], @@ -81476,10 +83488,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thrash: ["9E", "8E"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], waterfall: ["9M", "8M"], waterpulse: ["9M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], }, }, barraskewda: { @@ -81496,7 +83508,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "8M"], crunch: ["9M", "9L40", "8M", "8L40"], dive: ["9L24", "8M", "8L24"], - doubleedge: ["9L56", "8L56"], + doubleedge: ["9M", "9L56", "8L56"], drillrun: ["9M", "8M"], endure: ["9M", "8M"], facade: ["9M", "8M"], @@ -81527,10 +83539,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["9L1", "8M", "8L1"], + throatchop: ["9M", "9L1", "8M", "8L1"], waterfall: ["9M", "8M"], waterpulse: ["9M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], }, }, toxel: { @@ -81540,12 +83552,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { belch: ["9L1", "8L1"], charm: ["9M"], encore: ["9M", "8M"], - endeavor: ["9E", "8E"], + endeavor: ["9M", "9E", "8E"], endure: ["9M", "8M"], facade: ["9M", "8M"], flail: ["9L1", "8L1", "8S0"], growl: ["9L1", "8L1", "8S0"], - metalsound: ["9E", "8E"], + metalsound: ["9M", "9E", "8E"], nuzzle: ["9L1", "8L1", "8S0"], poweruppunch: ["8E"], protect: ["9M", "8M"], @@ -81577,7 +83589,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M", "8L1"], electricterrain: ["9M"], electroball: ["9M", "8M"], + electroweb: ["9M"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], firepunch: ["9M", "8M"], @@ -81593,6 +83607,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leer: ["9L1", "8L1"], megakick: ["8M"], megapunch: ["8M"], + metalsound: ["9M"], metronome: ["9M"], nobleroar: ["9L1", "8L1"], nuzzle: ["9L1", "8L1"], @@ -81601,6 +83616,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M", "9L40", "8M", "8L40"], poisontail: ["9M"], protect: ["9M", "8M"], + psychicnoise: ["9M"], raindance: ["9M"], rest: ["9M", "8M"], risingvoltage: ["8T", "8S0"], @@ -81611,7 +83627,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["9L8", "8L8"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M"], - sludgewave: ["8M", "8S0"], + sludgewave: ["9M", "8M", "8S0"], snarl: ["9M", "8M"], snore: ["8M"], spark: ["9L0", "8L0"], @@ -81625,7 +83641,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tearfullook: ["9L1", "8L1"], terablast: ["9M"], thief: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunder: ["9M", "8M"], thunderbolt: ["9M", "8M"], thunderfang: ["9M"], @@ -81660,7 +83676,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M", "8L1"], electricterrain: ["9M"], electroball: ["9M", "8M"], + electroweb: ["9M"], encore: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], firepunch: ["9M", "8M"], @@ -81677,6 +83695,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magneticflux: ["9L52", "8L52"], megakick: ["8M"], megapunch: ["8M"], + metalsound: ["9M"], metronome: ["9M"], nobleroar: ["9L1", "8L1"], nuzzle: ["9L1", "8L1"], @@ -81685,6 +83704,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M", "9L40", "8M", "8L40"], poisontail: ["9M"], protect: ["9M", "8M"], + psychicnoise: ["9M"], raindance: ["9M"], rest: ["9M", "8M"], risingvoltage: ["8T"], @@ -81694,7 +83714,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shockwave: ["9L8", "8L8"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], snarl: ["9M", "8M"], snore: ["8M"], spark: ["9L0", "8L0"], @@ -81708,7 +83728,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tearfullook: ["9L1", "8L1"], terablast: ["9M"], thief: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunder: ["9M", "8M"], thunderbolt: ["9M", "8M"], thunderfang: ["9M"], @@ -81925,6 +83945,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { batonpass: ["9M", "8M"], calmmind: ["9M"], confuseray: ["9M"], + curse: ["9M"], darkpulse: ["9M", "8M"], endure: ["9M", "8M"], facade: ["9M", "8M"], @@ -81975,6 +83996,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { calmmind: ["9M"], celebrate: ["8S0"], confuseray: ["9M"], + curse: ["9M"], darkpulse: ["9M"], endure: ["9M"], facade: ["9M"], @@ -82023,7 +84045,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { batonpass: ["9M", "8M"], calmmind: ["9M"], confuseray: ["9M"], - curse: ["9L66", "8L66"], + curse: ["9M", "9L66", "8L66"], darkpulse: ["9M", "8M"], endure: ["9M", "8M"], facade: ["9M", "8M"], @@ -82040,6 +84062,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { metronome: ["9M", "8M"], nastyplot: ["9M", "9L42", "8M", "8L42"], nightshade: ["9M"], + painsplit: ["9M"], payback: ["8M"], phantomforce: ["9M", "8M"], poltergeist: ["9M", "8T"], @@ -82086,8 +84109,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { disarmingvoice: ["9M", "9L10", "8L10"], drainingkiss: ["9M", "8M"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], + futuresight: ["9M"], gigadrain: ["9M", "8M"], healingwish: ["9L45", "8L45"], healpulse: ["9L25", "8L25"], @@ -82106,6 +84130,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M", "9L20", "8L20"], psychic: ["9M", "9L40", "8M", "8L40"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M", "8M"], quash: ["9E", "8E"], reflect: ["9M"], @@ -82139,8 +84164,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { disarmingvoice: ["9M", "9L1", "8L1"], drainingkiss: ["9M", "8M"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], + futuresight: ["9M"], gigadrain: ["9M", "8M"], healingwish: ["9L51", "8L51"], healpulse: ["9L25", "8L25"], @@ -82158,6 +84184,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M", "9L20", "8L20"], psychic: ["9M", "9L44", "8M", "8L44"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M", "8M"], reflect: ["9M"], rest: ["9M", "8M"], @@ -82191,9 +84218,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { disarmingvoice: ["9M", "9L1", "8L1"], drainingkiss: ["9M", "8M"], endure: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], - futuresight: ["8M"], + futuresight: ["9M", "8M"], gigadrain: ["9M", "8M"], gigaimpact: ["9M", "8M"], gravity: ["9M"], @@ -82212,6 +84239,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyexplosion: ["9M", "8T"], mistyterrain: ["9M"], mysticalfire: ["8M"], + painsplit: ["9M"], playnice: ["9L1", "8L1"], playrough: ["9M", "8M"], powerswap: ["8M"], @@ -82219,8 +84247,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M"], psybeam: ["9M", "9L20", "8L20"], psychic: ["9M", "9L46", "8M", "8L46"], + psychicnoise: ["9M"], psychicterrain: ["9M"], psychocut: ["9L0", "8M", "8L0"], + psychup: ["9M"], psyshock: ["9M", "8M"], reflect: ["9M"], rest: ["9M", "8M"], @@ -82288,6 +84318,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M"], terablast: ["9M"], thief: ["9M", "8M"], + throatchop: ["9M"], thunderwave: ["9M", "8M"], torment: ["9L28", "8L28"], trailblaze: ["9M"], @@ -82343,7 +84374,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M"], terablast: ["9M"], thief: ["9M", "8M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunderwave: ["9M", "8M"], torment: ["9L28", "8L28"], trailblaze: ["9M"], @@ -82420,7 +84451,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M"], terablast: ["9M"], thief: ["9M", "8M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunderpunch: ["9M", "8M"], thunderwave: ["9M", "9S0", "8M"], torment: ["9L28", "8L28"], @@ -82435,33 +84466,34 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, milcery: { learnset: { - acidarmor: ["8L30"], + acidarmor: ["9L30", "8L30"], aromatherapy: ["8L20"], - aromaticmist: ["8L1"], - attract: ["8M", "8L25", "8S0"], - babydolleyes: ["8E"], + aromaticmist: ["9L1", "8L1"], + attract: ["9L25", "8M", "8L25", "8S0"], + babydolleyes: ["9E", "8E"], celebrate: ["8S0"], - charm: ["8M"], - dazzlinggleam: ["8M", "8L35"], - drainingkiss: ["8M", "8L15"], - endure: ["8M"], - entrainment: ["8L50", "8S0"], - facade: ["8M"], + charm: ["9M", "9L20", "8M"], + dazzlinggleam: ["9M", "9L35", "8M", "8L35"], + drainingkiss: ["9M", "9L15", "8M", "8L15"], + endure: ["9M", "8M"], + entrainment: ["9L50", "8L50", "8S0"], + facade: ["9M", "8M"], fling: ["8M"], - helpinghand: ["8M"], - lastresort: ["8E", "8S0"], - mistyterrain: ["8M", "8L45"], - protect: ["8M"], - recover: ["8L40"], - rest: ["8M"], + helpinghand: ["9M", "8M"], + lastresort: ["9E", "8E", "8S0"], + mistyterrain: ["9M", "9L45", "8M", "8L45"], + protect: ["9M", "8M"], + recover: ["9L40", "8L40"], + rest: ["9M", "8M"], round: ["8M"], - sleeptalk: ["8M"], + sleeptalk: ["9M", "8M"], snore: ["8M"], - storedpower: ["8M"], - substitute: ["8M"], - sweetkiss: ["8L5"], - sweetscent: ["8L10"], - tackle: ["8L1"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sweetkiss: ["9L5", "8L5"], + sweetscent: ["9L10", "8L10"], + tackle: ["9L1", "8L1"], + terablast: ["9M"], }, eventData: [ {generation: 8, level: 5, nature: "Hardy", isHidden: true, moves: ["celebrate", "lastresort", "entrainment", "attract"], pokeball: "cherishball"}, @@ -82469,51 +84501,57 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, alcremie: { learnset: { - acidarmor: ["8L30"], + acidarmor: ["9L30", "8L30"], + alluringvoice: ["9M"], aromatherapy: ["8L20"], - aromaticmist: ["8L1"], - attract: ["8M", "8L25"], - calmmind: ["8M"], - charm: ["8M"], - dazzlinggleam: ["8M", "8L35"], - decorate: ["8L0"], - drainingkiss: ["8M", "8L15"], - drainpunch: ["8M"], - encore: ["8M"], - endure: ["8M"], - energyball: ["8M"], - entrainment: ["8L50"], - facade: ["8M"], - faketears: ["8M"], - fling: ["8M"], - gigadrain: ["8M"], - gigaimpact: ["8M"], - helpinghand: ["8M"], - hyperbeam: ["8M"], - imprison: ["8M"], - lightscreen: ["8M"], - magicalleaf: ["8M"], + aromaticmist: ["9L1", "8L1"], + attract: ["9L25", "8M", "8L25"], + calmmind: ["9M", "8M"], + charm: ["9M", "9L20", "8M"], + dazzlinggleam: ["9M", "9L35", "8M", "8L35"], + decorate: ["9L0", "8L0"], + disarmingvoice: ["9M"], + drainingkiss: ["9M", "9L15", "8M", "8L15"], + drainpunch: ["9M", "8M"], + encore: ["9M", "8M"], + endeavor: ["9M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + entrainment: ["9L50", "8L50"], + facade: ["9M", "8M"], + faketears: ["9M", "8M"], + fling: ["9M", "8M"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + helpinghand: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], magicroom: ["8M"], - metronome: ["8M"], - mistyexplosion: ["8T"], - mistyterrain: ["8M", "8L45"], + metronome: ["9M", "8M"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "9L45", "8M", "8L45"], mysticalfire: ["8M"], - playrough: ["8M"], - protect: ["8M"], - psychic: ["8M"], - psyshock: ["8M"], - recover: ["8L40"], - rest: ["8M"], + painsplit: ["9M"], + playrough: ["9M", "8M"], + protect: ["9M", "8M"], + psychic: ["9M", "8M"], + psychup: ["9M"], + psyshock: ["9M", "8M"], + recover: ["9L40", "8L40"], + rest: ["9M", "8M"], round: ["8M"], safeguard: ["8M"], - sleeptalk: ["8M"], + sleeptalk: ["9M", "8M"], snore: ["8M"], - solarbeam: ["8M"], - storedpower: ["8M"], - substitute: ["8M"], - sweetkiss: ["8L1"], - sweetscent: ["8L1"], - tackle: ["8L1"], + solarbeam: ["9M", "8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sweetkiss: ["9L1", "8L1"], + sweetscent: ["9L1", "8L1"], + tackle: ["9L1", "8L1"], + terablast: ["9M"], triattack: ["8M"], wonderroom: ["8M"], }, @@ -82528,8 +84566,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "8M"], bulkup: ["9M", "9L20", "8M", "8L20"], closecombat: ["9M", "9L50", "8M", "8L50"], - coaching: ["8T"], + coaching: ["9M", "8T"], counter: ["9L60", "8L60"], + endeavor: ["9M"], endure: ["9M", "9L25", "8M", "8L25"], facade: ["9M", "8M"], falseswipe: ["9M", "8M"], @@ -82550,6 +84589,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { payback: ["8M"], poisonjab: ["9M", "8M"], protect: ["9M", "9L1", "8M", "8L1"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M", "8M"], retaliate: ["8M"], @@ -82570,8 +84610,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], trailblaze: ["9M"], + upperhand: ["9M"], uproar: ["9M"], zenheadbutt: ["9M", "8M"], }, @@ -82587,10 +84628,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L10", "8L10"], chargebeam: ["9M"], chillingwater: ["9M"], - curse: ["9L35", "8L35"], + curse: ["9M", "9L35", "8L35"], discharge: ["9L60", "8L60"], electricterrain: ["9M", "9L40", "8M", "8L40"], electroball: ["9M"], + electroweb: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], furyattack: ["9L15", "8L15"], @@ -82600,7 +84642,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M"], liquidation: ["9M", "8M"], memento: ["9E", "8E"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], + painsplit: ["9M"], payback: ["8M"], peck: ["9L1", "8L1"], pinmissile: ["8M"], @@ -82620,11 +84663,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { spikes: ["9M", "8M"], substitute: ["9M", "8M"], suckerpunch: ["9E", "8E"], + supercellslam: ["9M"], surf: ["9M", "8M"], swift: ["9M"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunder: ["9M", "8M"], thunderbolt: ["9M", "8M"], thundershock: ["9L1", "8L1"], @@ -82654,7 +84698,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M"], rest: ["9M", "8M"], round: ["8M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M"], snore: ["8M"], strugglebug: ["9M", "9L1", "8L1"], @@ -82679,7 +84723,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dualwingbeat: ["8T"], endure: ["9M", "8M"], facade: ["9M", "8M"], - featherdance: ["9L21", "8L21"], + featherdance: ["9M", "9L21", "8L21"], gigadrain: ["9M", "8M"], gigaimpact: ["9M", "8M"], hail: ["8M", "8L28"], @@ -82705,7 +84749,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M"], round: ["8M"], safeguard: ["8M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M"], snore: ["8M"], snowscape: ["9M", "9L28"], @@ -82716,7 +84760,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwind: ["9M", "9L44", "8L44"], takedown: ["9M"], terablast: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], uturn: ["9M", "8M"], weatherball: ["9M", "8M"], wideguard: ["9L48", "8L48"], @@ -82732,13 +84776,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M", "9L42", "8M", "8L42"], brutalswing: ["8M"], bulldoze: ["9M", "8M"], - curse: ["9E", "8E"], + curse: ["9M", "9E", "8E"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], gigaimpact: ["9M", "8M"], gravity: ["9M", "9L18", "8L18"], + hardpress: ["9M"], heatcrash: ["9M", "8M"], heavyslam: ["9M", "9L54", "8M", "8L54"], highhorsepower: ["9M"], @@ -82748,9 +84794,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowkick: ["9M"], lowsweep: ["9M"], megakick: ["9L66", "8M", "8L66"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], powergem: ["9M"], protect: ["9M", "8M"], + psychup: ["9M"], rest: ["9M", "8M"], rockblast: ["9M", "8M"], rockpolish: ["9L6", "8L6"], @@ -82792,9 +84839,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { brine: ["8M"], chillingwater: ["9M"], dive: ["8M"], - doubleedge: ["9E", "8E"], + doubleedge: ["9M", "9E", "8E"], endure: ["9M", "8M"], facade: ["9M", "8M"], + featherdance: ["9M"], flipturn: ["9M"], freezedry: ["9L36", "8L36"], gigaimpact: ["9M"], @@ -82832,7 +84880,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M"], waterpulse: ["9M"], weatherball: ["9M", "9L12", "8M", "8L12"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], zenheadbutt: ["9M", "8M"], }, }, @@ -82851,7 +84899,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M", "9L5", "8M", "8L5"], endure: ["9M", "8M"], energyball: ["9M", "8M"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], extrasensory: ["9E", "8E"], facade: ["9M", "8M"], fakeout: ["9E", "8E"], @@ -82874,8 +84922,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M"], psybeam: ["9M", "9L15", "8L15"], psychic: ["9M", "9L35", "8M", "8L35"], + psychicnoise: ["9M"], psychicterrain: ["9M", "9L50", "8M", "8L50"], - psychup: ["9E", "8E"], + psychup: ["9M", "9E", "8E"], psyshock: ["9M", "8M"], rest: ["9M", "8M"], round: ["8M"], @@ -82898,6 +84947,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, indeedeef: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M"], aromatherapy: ["8L30"], attract: ["8M"], @@ -82935,7 +84985,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psychic: ["9M", "9L35", "9S0", "8M", "8L35"], psychicterrain: ["9M", "9L50", "8M", "8L50"], psychoshift: ["8E"], - psychup: ["9E", "8E"], + psychup: ["9M", "9E", "8E"], psyshock: ["9M", "8M"], reflect: ["9M", "8M"], rest: ["9M", "8M"], @@ -82973,10 +85023,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M"], crunch: ["9M", "9L50", "8M", "8L50"], darkpulse: ["9M", "8M"], + doubleedge: ["9M"], eerieimpulse: ["9M"], electricterrain: ["9M", "8M"], electroball: ["9M", "8M"], - electroweb: ["8M"], + electroweb: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], fakeout: ["9E", "8E"], @@ -83044,12 +85096,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "8M"], brutalswing: ["8M"], bulldoze: ["9M", "9L15", "8M", "8L15"], - curse: ["9E", "8E"], + curse: ["9M", "9E", "8E"], defensecurl: ["9E", "8E"], dig: ["9M", "9L30", "8M", "8L30"], - doubleedge: ["9E", "8E"], + doubleedge: ["9M", "9E", "8E"], earthpower: ["9M", "8M"], earthquake: ["9M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], fissure: ["9E", "8E"], @@ -83103,15 +85156,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "8M"], brutalswing: ["8M"], bulldoze: ["9M", "9L15", "8M", "8L15"], + curse: ["9M"], dig: ["9M", "9L30", "8M", "8L30"], + doubleedge: ["9M"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M"], + endeavor: ["9M"], endure: ["9M", "8M"], facade: ["9M", "8M"], flashcannon: ["9M", "8M"], fling: ["9M", "8M"], gigaimpact: ["9M", "8M"], growl: ["9L1", "8L1"], + hardpress: ["9M"], heatcrash: ["9M", "8M"], heavyslam: ["9M", "9L0", "8M", "8L0"], highhorsepower: ["9M", "9L58", "8M", "8L58"], @@ -83149,6 +85206,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M", "8M"], strength: ["9L37", "8L37"], substitute: ["9M", "8M"], + supercellslam: ["9M"], superpower: ["9L65", "8M", "8L65"], tackle: ["9L1", "8L1"], takedown: ["9M"], @@ -83401,59 +85459,65 @@ export const Learnsets: {[k: string]: LearnsetData} = { duraludon: { learnset: { attract: ["8M"], - bodypress: ["8M"], - bodyslam: ["8M"], - breakingswipe: ["8M", "8L24"], - brickbreak: ["8M"], - darkpulse: ["8M"], - dracometeor: ["8T"], - dragonclaw: ["8M", "8L48"], - dragonpulse: ["8M"], - dragontail: ["8L30"], - endure: ["8M"], - facade: ["8M"], - flashcannon: ["8M", "8L54"], - foulplay: ["8M"], - gigaimpact: ["8M"], - gyroball: ["8M"], - heavyslam: ["8M"], - honeclaws: ["8L12"], - hyperbeam: ["8M", "8L66"], - irondefense: ["8M", "8L36"], - ironhead: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + breakingswipe: ["9M", "9L24", "8M", "8L24"], + brickbreak: ["9M", "8M"], + darkpulse: ["9M", "8M"], + doubleedge: ["9M"], + dracometeor: ["9M", "8T"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "9L48", "8M", "8L48"], + dragonpulse: ["9M", "8M"], + dragontail: ["9M", "9L30", "8L30"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + flashcannon: ["9M", "9L54", "8M", "8L54"], + focusenergy: ["9L42"], + foulplay: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gyroball: ["9M", "8M"], + heavyslam: ["9M", "8M"], + honeclaws: ["9L12", "8L12"], + hyperbeam: ["9M", "9L66", "8M", "8L66"], + irondefense: ["9M", "9L36", "8M", "8L36"], + ironhead: ["9M", "8M"], laserfocus: ["8L42"], - leer: ["8L1"], - lightscreen: ["8M"], - metalburst: ["8L60"], - metalclaw: ["8L1"], - metalsound: ["8L18"], - mirrorcoat: ["8E"], - nightslash: ["8E"], - outrage: ["8M"], - protect: ["8M"], - reflect: ["8M"], - rest: ["8M"], - rockslide: ["8M"], - rocksmash: ["8L6"], - rocktomb: ["8M"], + leer: ["9L1", "8L1"], + lightscreen: ["9M", "8M"], + metalburst: ["9L60", "8L60"], + metalclaw: ["9M", "9L1", "8L1"], + metalsound: ["9M", "9L18", "8L18"], + mirrorcoat: ["9E", "8E"], + nightslash: ["9E", "8E"], + outrage: ["9M", "8M"], + protect: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + roar: ["9M"], + rockslide: ["9M", "8M"], + rocksmash: ["9L6", "8L6"], + rocktomb: ["9M", "8M"], round: ["8M"], - scaryface: ["8M"], + scaryface: ["9M", "8M"], screech: ["8M"], - slash: ["8E"], - sleeptalk: ["8M"], - snarl: ["8M"], + slash: ["9E", "8E"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], snore: ["8M"], - solarbeam: ["8M"], - stealthrock: ["8M"], - steelbeam: ["8T"], + solarbeam: ["9M", "8M"], + stealthrock: ["9M", "8M"], + steelbeam: ["9M", "8T"], steelroller: ["8T"], stompingtantrum: ["8M"], - stoneedge: ["8M"], - substitute: ["8M"], - swordsdance: ["8M"], - thunder: ["8M"], - thunderbolt: ["8M"], - thunderwave: ["8M"], + stoneedge: ["9M", "8M"], + substitute: ["9M", "8M"], + swordsdance: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderwave: ["9M", "8M"], }, }, dreepy: { @@ -83463,7 +85527,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { batonpass: ["9M", "8M"], bite: ["9L1", "8L1"], confuseray: ["9M", "9E", "8E"], - curse: ["9E", "8E"], + curse: ["9M", "9E", "8E"], disable: ["9E", "8E"], doubleteam: ["9E", "8E"], dracometeor: ["9M", "8T"], @@ -83497,13 +85561,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { batonpass: ["9M", "8M"], beatup: ["8M"], bite: ["9L1", "8L1"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brine: ["8M"], confuseray: ["9M"], + curse: ["9M"], dive: ["8M"], - doubleedge: ["9L66", "8L66"], + doubleedge: ["9M", "9L66", "8L66"], doublehit: ["9L30", "8L30"], dracometeor: ["9M", "8T"], + dragoncheer: ["9M"], dragondance: ["9M", "9L42", "8M", "8L42"], dragonpulse: ["9M", "9L0", "8M", "8L0"], dragonrush: ["9L61", "8L61"], @@ -83560,17 +85626,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { beatup: ["8M"], bite: ["9L1", "8L1"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brine: ["8M"], confuseray: ["9M"], + curse: ["9M"], dive: ["8M"], - doubleedge: ["9L70", "8L70"], + doubleedge: ["9M", "9L70", "8L70"], doublehit: ["9L30", "8L30"], dracometeor: ["9M", "8T"], dragonbreath: ["9L1", "8L1"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M"], dragondance: ["9M", "9L42", "8M", "8L42"], - dragondarts: ["9L0", "8L0"], + dragondarts: ["9L0", "9S0", "8L0"], dragonpulse: ["9M", "8M"], dragonrush: ["9L63", "8L63"], dragontail: ["9M"], @@ -83590,7 +85658,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lockon: ["9L6", "8L6"], nightshade: ["9M"], outrage: ["9M", "8M"], - phantomforce: ["9M", "9L48", "8M", "8L48"], + phantomforce: ["9M", "9L48", "9S0", "8M", "8L48"], pounce: ["9M"], protect: ["9M", "8M"], psychicfangs: ["9M", "8M"], @@ -83610,15 +85678,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { surf: ["9M", "8M"], swift: ["9M", "8M"], takedown: ["9M", "9L54", "8L54"], - terablast: ["9M"], + terablast: ["9M", "9S0"], thief: ["9M", "8M"], thunder: ["9M", "8M"], thunderbolt: ["9M", "8M"], thunderwave: ["9M", "8M"], triattack: ["8M"], - uturn: ["9M", "9L36", "8M", "8L36"], + uturn: ["9M", "9L36", "9S0", "8M", "8L36"], willowisp: ["9M", "8M"], }, + eventData: [ + {generation: 9, level: 50, gender: "M", nature: "Jolly", perfectIVs: 6, abilities: ["clearbody"], moves: ["dragondarts", "phantomforce", "uturn", "terablast"], pokeball: "cherishball"}, + ], }, zacian: { learnset: { @@ -83706,7 +85777,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], brickbreak: ["9M"], closecombat: ["9M", "9L77", "8M", "8L77", "8S1"], - coaching: ["8T"], + coaching: ["9M", "8T"], crunch: ["9M", "9L55", "8M", "8L55", "8S0"], dazzlinggleam: ["9M", "8M"], dig: ["9M", "8M"], @@ -83808,7 +85879,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gunkshot: ["9M"], hyperbeam: ["9M", "9L80", "8M", "8L80"], lightscreen: ["9M", "8M"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], mysticalfire: ["8M"], outrage: ["9M", "9L88"], payback: ["8M"], @@ -83825,7 +85896,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M", "8S1"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], snore: ["8M"], solarbeam: ["9M", "8M"], substitute: ["9M", "8M"], @@ -83849,13 +85920,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { aerialace: ["9M", "9L12", "8L12"], attract: ["8M"], bodyslam: ["9M", "8M"], - brickbreak: ["9M", "9L24", "8M", "8L24"], + brickbreak: ["9M", "9L24", "9S1", "8M", "8L24"], bulkup: ["9M", "9L32", "8M", "8L32"], closecombat: ["9M", "9L48", "8M", "8L48"], coaching: ["8T"], counter: ["9L44", "8L44"], - detect: ["9L28", "8L28"], + detect: ["9L28", "9S1", "8L28"], dig: ["9M", "8M"], + doubleedge: ["9M"], dynamicpunch: ["9L40", "8L40"], endure: ["9M", "9L4", "8M", "8L4", "8S0"], facade: ["9M", "8M"], @@ -83863,7 +85935,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M"], focusenergy: ["9L8", "8M", "8L8", "8S0"], focuspunch: ["9M", "9L52", "8L52"], - headbutt: ["9L20", "8L20"], + headbutt: ["9L20", "9S1", "8L20"], helpinghand: ["9M", "8M"], icepunch: ["9M", "8M"], ironhead: ["9M", "9L36", "8M", "8L36"], @@ -83880,7 +85952,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { reversal: ["9M", "8M"], rocksmash: ["9L1", "8L1", "8S0"], round: ["8M"], - scaryface: ["9M", "9L16", "8M", "8L16"], + scaryface: ["9M", "9L16", "9S1", "8M", "8L16"], sleeptalk: ["9M", "8M"], snore: ["8M"], substitute: ["9M", "8M"], @@ -83895,6 +85967,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, eventData: [ {generation: 8, level: 10, perfectIVs: 3, moves: ["rocksmash", "leer", "endure", "focusenergy"]}, + {generation: 9, level: 30, moves: ["detect", "brickbreak", "headbutt", "scaryface"]}, ], eventOnly: true, }, @@ -83911,13 +85984,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "9L24", "8M", "8L24"], bulkup: ["9M", "9L32", "8M", "8L32"], closecombat: ["9M", "9L48", "8M", "8L48"], - coaching: ["8T"], + coaching: ["9M", "8T"], counter: ["9L44", "8L44"], crunch: ["9M", "8M"], darkestlariat: ["8M"], darkpulse: ["9M", "8M"], detect: ["9L28", "8L28"], dig: ["9M", "8M"], + doubleedge: ["9M"], drainpunch: ["9M", "8M"], dynamicpunch: ["9L40", "8L40"], endure: ["9M", "9L1", "8M", "8L1"], @@ -83967,7 +86041,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M", "8M"], terablast: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunderpunch: ["9M", "8M"], trailblaze: ["9M"], uturn: ["9M", "8M"], @@ -83990,11 +86064,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "9L32", "8M", "8L32"], chillingwater: ["9M"], closecombat: ["9M", "9L48", "8M", "8L48"], - coaching: ["8T"], + coaching: ["9M", "8T"], counter: ["9L44", "8L44"], detect: ["9L28", "8L28"], dig: ["9M", "8M"], dive: ["8M"], + doubleedge: ["9M"], drainpunch: ["9M", "8M"], dynamicpunch: ["9L40", "8L40"], endure: ["9M", "9L1", "8M", "8L1"], @@ -84046,7 +86121,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], uturn: ["9M", "8M"], waterfall: ["9M", "8M"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], workup: ["8M"], zenheadbutt: ["9M", "8M"], }, @@ -84068,6 +86143,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkestlariat: ["8M"], darkpulse: ["9M", "8M"], dig: ["9M", "8M"], + doubleedge: ["9M"], drainpunch: ["9M", "8M"], encore: ["9M", "8M"], endure: ["9M", "8M"], @@ -84100,6 +86176,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M", "8M"], nastyplot: ["9M", "8M"], payback: ["8M"], + petalblizzard: ["9M"], powerwhip: ["9L84", "8M", "8L84", "8S0"], protect: ["9M", "8M"], rest: ["9M", "8M"], @@ -84129,7 +86206,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M"], thrash: ["9L78", "8L78"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], trailblaze: ["9M"], uturn: ["9M", "9L48", "8M", "8L48"], vinewhip: ["9L12", "8L12"], @@ -84156,6 +86233,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkestlariat: ["8M"], darkpulse: ["9M", "8M"], dig: ["9M", "8M"], + doubleedge: ["9M"], drainpunch: ["9M", "8M"], encore: ["9M", "8M"], endure: ["9M", "8M"], @@ -84188,6 +86266,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M", "8M"], nastyplot: ["9M", "8M"], payback: ["8M"], + petalblizzard: ["9M"], powerwhip: ["9L84", "8M", "8L84", "8S0"], protect: ["9M", "8M"], rest: ["9M", "8M"], @@ -84217,7 +86296,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M"], thrash: ["9L78", "8L78"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], trailblaze: ["9M"], uturn: ["9M", "9L48", "8M", "8L48"], vinewhip: ["9L12", "8L12"], @@ -84240,7 +86319,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M", "8M"], electroball: ["9M", "8M"], - electroweb: ["9L6", "8M", "8L6"], + electroweb: ["9M", "9L6", "8M", "8L6"], endure: ["9M", "8M"], explosion: ["9L78", "8L78"], extremespeed: ["9L30", "8L30"], @@ -84263,6 +86342,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M"], snore: ["8M"], substitute: ["9M", "8M"], + supercellslam: ["9M"], swift: ["9M", "8M"], takedown: ["9M"], terablast: ["9M"], @@ -84286,10 +86366,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["9L12", "8L12"], bite: ["9L6", "8L6"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], crunch: ["9M", "9L30", "8M", "8L30"], dracometeor: ["9M", "8T"], dragonbreath: ["9L18", "8L18"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L36", "8M", "8L36", "8S0"], dragondance: ["9M", "9L48", "8M", "8L48"], dragonenergy: ["9L66", "8L66", "8S0"], @@ -84341,7 +86422,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "8M"], closecombat: ["9M", "8M"], crunch: ["9M", "8M"], - doubleedge: ["9L66", "8L66", "8S0"], + curse: ["9M"], + doubleedge: ["9M", "9L66", "9S1", "8L66", "8S0"], doublekick: ["9L6", "8L6"], endure: ["9M", "8M"], facade: ["9M", "8M"], @@ -84354,7 +86436,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { iciclecrash: ["9L36", "8L36", "8S0"], iciclespear: ["8M"], icywind: ["9M", "8M"], - irondefense: ["9M", "9L48", "8M", "8L48"], + irondefense: ["9M", "9L48", "9S1", "8M", "8L48"], lashout: ["9M", "8T"], megahorn: ["8M"], mist: ["9L30", "8L30"], @@ -84379,10 +86461,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { tackle: ["9L1", "8L1"], tailwhip: ["9L1", "8L1"], takedown: ["9M", "9L42", "8L42"], - taunt: ["9M", "9L60", "8M", "8L60", "8S0"], + taunt: ["9M", "9L60", "9S1", "8M", "8L60", "8S0"], terablast: ["9M"], - thrash: ["9L54", "8L54"], - throatchop: ["8M"], + thrash: ["9L54", "9S1", "8L54"], + throatchop: ["9M", "8M"], torment: ["9L24", "8L24"], trailblaze: ["9M"], uproar: ["8M"], @@ -84390,21 +86472,23 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, eventData: [ {generation: 8, level: 75, moves: ["taunt", "doubleedge", "swordsdance", "iciclecrash"]}, + {generation: 9, level: 70, moves: ["doubleedge", "taunt", "thrash", "irondefense"]}, ], eventOnly: true, }, spectrier: { learnset: { - agility: ["9M", "9L48", "8M", "8L48"], + agility: ["9M", "9L48", "9S1", "8M", "8L48"], assurance: ["8M"], bodyslam: ["9M", "8M"], bulldoze: ["9M", "8M"], calmmind: ["9M", "8M"], confuseray: ["9M", "9L24", "8L24"], crunch: ["9M", "8M"], + curse: ["9M"], darkpulse: ["9M", "8M"], - disable: ["9L60", "8L60", "8S0"], - doubleedge: ["9L66", "8L66", "8S0"], + disable: ["9L60", "9S1", "8L60", "8S0"], + doubleedge: ["9M", "9L66", "9S1", "8L66", "8S0"], doublekick: ["9L6", "8L6"], drainingkiss: ["9M"], endure: ["9M", "8M"], @@ -84418,6 +86502,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M", "8M"], nastyplot: ["9M", "9L72", "8M", "8L72", "8S0"], nightshade: ["9M"], + painsplit: ["9M"], payback: ["8M"], phantomforce: ["9M", "8M"], poltergeist: ["9M"], @@ -84440,12 +86525,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M", "9L42", "8L42"], taunt: ["9M", "8M"], terablast: ["9M"], - thrash: ["9L54", "8L54", "8S0"], + thrash: ["9L54", "9S1", "8L54", "8S0"], uproar: ["8M"], willowisp: ["9M", "8M"], }, eventData: [ {generation: 8, level: 75, moves: ["thrash", "doubleedge", "disable", "nastyplot"]}, + {generation: 9, level: 70, moves: ["doubleedge", "disable", "thrash", "agility"]}, ], eventOnly: true, }, @@ -84463,9 +86549,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M", "8M"], endure: ["9M", "8M"], energyball: ["9M", "9L48", "8M", "8L48"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], - futuresight: ["9L88", "8M", "8L88"], + futuresight: ["9M", "9L88", "8M", "8L88"], gigadrain: ["9M", "9L16", "8M", "8L16", "8S0"], gigaimpact: ["9M", "8M"], grassknot: ["9M", "8M"], @@ -84494,6 +86580,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M", "9L56", "8M", "8L56", "8S0"], psychicterrain: ["9M", "9L40", "8M"], + psychup: ["9M"], psyshock: ["9M", "9L24", "8M", "8L24"], reflect: ["9M", "8M"], rest: ["9M", "8M"], @@ -84542,15 +86629,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "8M"], confusion: ["9L1", "8L1"], crunch: ["9M", "8M"], - doubleedge: ["9L1", "8L1"], + curse: ["9M"], + doubleedge: ["9M", "9L1", "8L1"], doublekick: ["9L1", "8L1"], drainingkiss: ["9M", "8M"], encore: ["9M", "8M"], endure: ["9M", "8M"], energyball: ["9M", "9L48", "8M", "8L48"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], - futuresight: ["9L88", "8M", "8L88"], + futuresight: ["9M", "9L88", "8M", "8L88"], gigadrain: ["9M", "9L16", "8M", "8L16", "8S0"], gigaimpact: ["9M", "8M"], glaciallance: ["9L1", "8L1", "8S0"], @@ -84593,6 +86681,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M", "9L56", "8M", "8L56", "8S0"], psychicterrain: ["9M", "9L40", "8M"], + psychup: ["9M"], psyshock: ["9M", "9L24", "8M", "8L24"], reflect: ["9M", "8M"], rest: ["9M", "8M"], @@ -84624,7 +86713,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L1", "8M", "8L1"], terablast: ["9M"], thrash: ["9L1", "8L1"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], torment: ["9L1", "8L1"], trailblaze: ["9M"], triattack: ["8M"], @@ -84654,18 +86743,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M", "9L1", "8L1"], confusion: ["9L1", "8L1"], crunch: ["9M", "8M"], + curse: ["9M"], darkpulse: ["9M", "8M"], disable: ["9L1", "8L1"], - doubleedge: ["9L1", "8L1"], + doubleedge: ["9M", "9L1", "8L1"], doublekick: ["9L1", "8L1"], drainingkiss: ["9M", "8M"], encore: ["9M", "8M"], endure: ["9M", "8M"], energyball: ["9M", "9L48", "8M", "8L48"], - expandingforce: ["8T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M"], foulplay: ["9M", "8M"], - futuresight: ["9L88", "8M", "8L88"], + futuresight: ["9M", "9L88", "8M", "8L88"], gigadrain: ["9M", "9L16", "8M", "8L16", "8S0"], gigaimpact: ["9M", "8M"], grassknot: ["9M", "8M"], @@ -84691,6 +86781,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M", "8M"], nastyplot: ["9M", "9L1", "8M", "8L1"], nightshade: ["9M"], + painsplit: ["9M"], payback: ["8M"], payday: ["8M"], phantomforce: ["9M", "8M"], @@ -84702,6 +86793,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psychic: ["9M", "9L56", "8M", "8L56", "8S0"], psychicterrain: ["9M", "9L40", "8M"], psychocut: ["8M"], + psychup: ["9M"], psyshock: ["9M", "9L24", "8M", "8L24"], reflect: ["9M", "8M"], rest: ["9M", "8M"], @@ -84745,6 +86837,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { enamorus: { learnset: { agility: ["9M"], + alluringvoice: ["9M"], astonish: ["9L1"], bodyslam: ["9M"], calmmind: ["9M"], @@ -84775,6 +86868,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { playrough: ["9M"], protect: ["9M"], psychic: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], scaryface: ["9M"], @@ -84798,6 +86892,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { enamorustherian: { learnset: { agility: ["9M"], + alluringvoice: ["9M"], astonish: ["9L1"], bodyslam: ["9M"], calmmind: ["9M"], @@ -84828,6 +86923,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { playrough: ["9M"], protect: ["9M"], psychic: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], scaryface: ["9M"], @@ -84875,7 +86971,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magicalleaf: ["9M", "9L13"], mudslap: ["9M"], nastyplot: ["9M"], - petalblizzard: ["9E"], + petalblizzard: ["9M", "9E"], playrough: ["9M", "9L36"], protect: ["9M"], quickattack: ["9L15"], @@ -84926,6 +87022,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magicalleaf: ["9M", "9L13"], mudslap: ["9M"], nastyplot: ["9M"], + petalblizzard: ["9M"], playrough: ["9M", "9L42"], protect: ["9M"], quickattack: ["9L15"], @@ -84989,10 +87086,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudslap: ["9M"], nastyplot: ["9M"], nightslash: ["9L38"], + petalblizzard: ["9M"], playrough: ["9M", "9L47"], pollenpuff: ["9M"], powergem: ["9M"], protect: ["9M"], + psychup: ["9M"], quickattack: ["9L15"], rest: ["9M"], scratch: ["9L1"], @@ -85011,11 +87110,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunderpunch: ["9M"], toxicspikes: ["9M"], trailblaze: ["9M"], trick: ["9M", "9L1"], trickroom: ["9M"], + tripleaxel: ["9M"], uturn: ["9M", "9L24"], worryseed: ["9L29"], }, @@ -85026,7 +87127,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9L12"], bodyslam: ["9M"], crunch: ["9M"], - curse: ["9E"], + curse: ["9M", "9E"], dig: ["9M"], disarmingvoice: ["9M"], ember: ["9L1"], @@ -85061,6 +87162,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M"], tackle: ["9L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunderfang: ["9M"], willowisp: ["9M"], @@ -85073,6 +87175,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9L12"], bodyslam: ["9M"], crunch: ["9M"], + curse: ["9M"], dig: ["9M"], disarmingvoice: ["9M"], ember: ["9L1"], @@ -85107,6 +87210,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M"], tackle: ["9L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunderfang: ["9M"], willowisp: ["9M", "9L42"], @@ -85116,10 +87220,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, skeledirge: { learnset: { + alluringvoice: ["9M"], bite: ["9L15"], blastburn: ["9M"], bodyslam: ["9M"], crunch: ["9M"], + curse: ["9M"], dig: ["9M"], disarmingvoice: ["9M"], earthpower: ["9M"], @@ -85156,6 +87262,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { roar: ["9M", "9L28"], round: ["9L10"], scaryface: ["9M", "9L12"], + scorchingsands: ["9M"], seedbomb: ["9M"], shadowball: ["9M", "9L38"], shadowclaw: ["9M"], @@ -85168,6 +87275,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M"], tackle: ["9L1"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunderfang: ["9M"], torchsong: ["9L0"], @@ -85203,6 +87311,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M"], pound: ["9L1"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rapidspin: ["9E"], rest: ["9M"], @@ -85215,6 +87324,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], watergun: ["9L1"], waterpledge: ["9M"], + whirlpool: ["9M"], wingattack: ["9L10"], workup: ["9L7"], }, @@ -85235,7 +87345,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M"], endure: ["9M"], facade: ["9M"], - featherdance: ["9L48"], + featherdance: ["9M", "9L48"], flipturn: ["9M"], focusenergy: ["9L32"], growl: ["9L1"], @@ -85247,6 +87357,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M"], pound: ["9L1"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], sleeptalk: ["9M"], @@ -85255,9 +87366,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M"], takedown: ["9M"], terablast: ["9M"], + tripleaxel: ["9M"], watergun: ["9L1"], waterpledge: ["9M"], waterpulse: ["9M", "9L17"], + whirlpool: ["9M"], wingattack: ["9L10"], workup: ["9L7"], }, @@ -85278,13 +87391,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M"], chillingwater: ["9M"], closecombat: ["9M", "9L58"], + coaching: ["9M"], counter: ["9L1"], disarmingvoice: ["9M"], doublehit: ["9L1"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], - featherdance: ["9L52"], + featherdance: ["9M", "9L52"], fling: ["9M"], flipturn: ["9M"], focusenergy: ["9L32"], @@ -85305,6 +87420,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mistyterrain: ["9M"], pound: ["9L1"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], reversal: ["9M"], @@ -85316,11 +87432,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], + tripleaxel: ["9M"], + upperhand: ["9M"], uturn: ["9M"], watergun: ["9L1"], waterpledge: ["9M"], waterpulse: ["9M", "9L17"], wavecrash: ["9L64"], + whirlpool: ["9M"], wingattack: ["9L10"], workup: ["9L7"], }, @@ -85332,11 +87451,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M"], chillingwater: ["9M"], covet: ["9L15", "9S0"], + curse: ["9M"], dig: ["9M", "9L17", "9S0"], disarmingvoice: ["9M", "9L5"], - doubleedge: ["9L35"], + doubleedge: ["9M", "9L35"], echoedvoice: ["9L8"], - endeavor: ["9E"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], headbutt: ["9L21"], @@ -85382,11 +87502,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M"], chillingwater: ["9M"], covet: ["9L15"], + curse: ["9M"], dig: ["9M", "9L17"], disarmingvoice: ["9M", "9L5"], - doubleedge: ["9L42"], + doubleedge: ["9M", "9L42"], earthpower: ["9M", "9L48"], echoedvoice: ["9L8"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M"], facade: ["9M"], @@ -85431,11 +87553,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M"], chillingwater: ["9M"], covet: ["9L12"], + curse: ["9M"], dig: ["9M", "9L15"], disarmingvoice: ["9M", "9L3"], - doubleedge: ["9L39"], + doubleedge: ["9M", "9L39"], earthpower: ["9M", "9L45"], echoedvoice: ["9L6"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M"], facade: ["9M"], @@ -85500,7 +87624,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { raindance: ["9M"], rest: ["9M"], shadowclaw: ["9M"], - skittersmack: ["9L44"], + skittersmack: ["9M", "9L44"], sleeptalk: ["9M"], spikes: ["9M"], stickyweb: ["9L29"], @@ -85513,7 +87637,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["9L40"], + throatchop: ["9M", "9L40"], toxicspikes: ["9M"], trailblaze: ["9M"], xscissor: ["9M"], @@ -85531,6 +87655,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M"], circlethrow: ["9L41"], counter: ["9L24"], + electroweb: ["9M"], endure: ["9M"], facade: ["9M"], falseswipe: ["9M"], @@ -85545,6 +87670,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leechlife: ["9M"], lowkick: ["9M"], lunge: ["9M"], + painsplit: ["9M"], poisonjab: ["9M"], pounce: ["9M"], protect: ["9M"], @@ -85555,7 +87681,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], shadowclaw: ["9M"], silktrap: ["9L0"], - skittersmack: ["9L49"], + skittersmack: ["9M", "9L49"], sleeptalk: ["9M"], spikes: ["9M"], stickyweb: ["9L33"], @@ -85568,9 +87694,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["9L45"], + throatchop: ["9M", "9L45"], toxicspikes: ["9M"], trailblaze: ["9M"], + upperhand: ["9M"], uturn: ["9M"], xscissor: ["9M"], }, @@ -85595,7 +87722,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { raindance: ["9M"], rest: ["9M"], screech: ["9L14"], - skittersmack: ["9E"], + skittersmack: ["9M", "9E"], sleeptalk: ["9M"], strugglebug: ["9M", "9L4"], substitute: ["9M"], @@ -85623,6 +87750,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bugbuzz: ["9M"], darkpulse: ["9M"], detect: ["9L1"], + doubleedge: ["9M"], doublekick: ["9L11"], endure: ["9M", "9L18"], facade: ["9M"], @@ -85644,6 +87772,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { reversal: ["9M"], scaryface: ["9M"], screech: ["9L14"], + skittersmack: ["9M"], sleeptalk: ["9M"], spite: ["9M"], strugglebug: ["9M", "9L4"], @@ -85656,7 +87785,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["9L36"], + throatchop: ["9M", "9L36"], trailblaze: ["9M"], uturn: ["9M"], xscissor: ["9M"], @@ -85686,6 +87815,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M"], rollout: ["9L11"], sandattack: ["9L4"], + skittersmack: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], strugglebug: ["9M", "9L7"], @@ -85712,9 +87842,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { electroball: ["9M"], endure: ["9M"], energyball: ["9M"], + expandingforce: ["9M"], extrasensory: ["9L29"], facade: ["9M"], fling: ["9M"], + futuresight: ["9M"], gigaimpact: ["9M"], gravity: ["9M"], guardswap: ["9L40"], @@ -85734,8 +87866,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M"], psybeam: ["9M", "9L15"], psychic: ["9M", "9L50"], + psychicnoise: ["9M"], psychicterrain: ["9M"], - psychup: ["9L1"], + psychup: ["9M", "9L1"], psyshock: ["9M"], raindance: ["9M"], reflect: ["9M"], @@ -85748,6 +87881,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M"], shadowball: ["9M"], skillswap: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], speedswap: ["9L40"], @@ -85777,7 +87911,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { destinybond: ["9E"], dig: ["9M", "9L16"], disable: ["9E"], - doubleedge: ["9L52"], + doubleedge: ["9M", "9L52"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], firefang: ["9M"], @@ -85792,6 +87927,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M"], mudslap: ["9M"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M", "9L41"], playrough: ["9M", "9L32"], poltergeist: ["9M"], @@ -85829,7 +87965,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], crunch: ["9M", "9L28"], dig: ["9M", "9L16"], - doubleedge: ["9L58"], + doubleedge: ["9M", "9L58"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], firefang: ["9M"], @@ -85845,6 +87982,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mudshot: ["9M"], mudslap: ["9M"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M", "9L46"], playrough: ["9M", "9L36"], poltergeist: ["9M"], @@ -85934,11 +88072,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { confusion: ["9L5"], dazzlinggleam: ["9M", "9L43"], disarmingvoice: ["9M", "9L11"], + doubleedge: ["9M"], drillpeck: ["9L1"], endure: ["9M"], energyball: ["9M"], + expandingforce: ["9M"], facade: ["9M"], - featherdance: ["9L1"], + featherdance: ["9M", "9L1"], flashcannon: ["9M"], foulplay: ["9M"], gigaimpact: ["9M"], @@ -85960,6 +88100,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M", "9L19"], psychic: ["9M", "9L49"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M"], quickattack: ["9L15"], raindance: ["9M"], @@ -85998,13 +88139,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], confusion: ["9L5"], crunch: ["9M", "9L37"], + curse: ["9M"], dazzlinggleam: ["9M"], + doubleedge: ["9M"], doublehit: ["9L28"], earthquake: ["9M"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M"], + expandingforce: ["9M"], facade: ["9M"], foulplay: ["9M"], + futuresight: ["9M"], gigaimpact: ["9M"], grassknot: ["9M"], gravity: ["9M"], @@ -86025,7 +88171,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M", "9L19"], psychic: ["9M", "9L50"], psychicfangs: ["9M"], + psychicnoise: ["9M"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M"], raindance: ["9M"], reflect: ["9M"], @@ -86074,6 +88222,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icebeam: ["9M"], liquidation: ["9M", "9L40"], memento: ["9E"], + muddywater: ["9M"], mudshot: ["9M"], mudslap: ["9M", "9L4"], protect: ["9M"], @@ -86090,9 +88239,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["9L36"], + throatchop: ["9M", "9L36"], watergun: ["9L1"], waterpulse: ["9M", "9L20"], + whirlpool: ["9M"], wrap: ["9L8"], }, }, @@ -86115,8 +88265,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M"], icebeam: ["9M"], liquidation: ["9M", "9L54"], + muddywater: ["9M"], mudshot: ["9M"], mudslap: ["9M", "9L1"], + painsplit: ["9M"], protect: ["9M"], raindance: ["9M"], rest: ["9M"], @@ -86131,10 +88283,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["9L48"], + throatchop: ["9M", "9L48"], tripledive: ["9L30"], watergun: ["9L1"], waterpulse: ["9M", "9L20"], + whirlpool: ["9M"], wrap: ["9L1"], }, }, @@ -86147,9 +88300,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M"], chillingwater: ["9M"], crunch: ["9M"], - curse: ["9E"], + curse: ["9M", "9E"], dive: ["9L20"], - doubleedge: ["9L60"], + doubleedge: ["9M", "9L60"], earthquake: ["9M"], endure: ["9M"], facade: ["9M"], @@ -86197,8 +88350,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], chillingwater: ["9M"], crunch: ["9M", "9L50"], + doubleedge: ["9M"], drillrun: ["9M"], + endeavor: ["9M"], endure: ["9M"], + expandingforce: ["9M"], filletaway: ["9L30"], finalgambit: ["9L55"], flipturn: ["9M"], @@ -86211,6 +88367,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icywind: ["9M"], liquidation: ["9M", "9L45"], nightslash: ["9L35"], + painsplit: ["9M"], pluck: ["9L7"], protect: ["9M"], psychic: ["9M"], @@ -86267,6 +88424,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { liquidation: ["9M"], mist: ["9L44"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], sleeptalk: ["9M"], @@ -86303,6 +88461,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { drainingkiss: ["9M"], drainpunch: ["9M"], encore: ["9M", "9L34"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], fling: ["9M"], @@ -86312,6 +88471,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "9L55"], gigaimpact: ["9M"], grassknot: ["9M"], + hardpress: ["9M"], haze: ["9M", "9S0"], helpinghand: ["9M"], hydropump: ["9M", "9L50"], @@ -86326,6 +88486,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mist: ["9L44"], outrage: ["9M"], protect: ["9M", "9S0"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], reversal: ["9M"], @@ -86337,10 +88498,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], + throatchop: ["9M"], waterfall: ["9M"], watergun: ["9L1"], waterpulse: ["9M"], wavecrash: ["9L61", "9S0"], + whirlpool: ["9M"], zenheadbutt: ["9M"], }, eventData: [ @@ -86427,6 +88590,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { arboliva: { learnset: { absorb: ["9L5"], + alluringvoice: ["9M"], bulletseed: ["9M"], charm: ["9M"], dazzlinggleam: ["9M"], @@ -86452,10 +88616,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { megadrain: ["9L20"], metronome: ["9M"], mirrorcoat: ["9L1"], - petalblizzard: ["9L52"], + petalblizzard: ["9M", "9L52"], petaldance: ["9L58"], pollenpuff: ["9M"], protect: ["9M"], + psychup: ["9M"], razorleaf: ["9L10"], reflect: ["9M"], rest: ["9M"], @@ -86480,6 +88645,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9L4"], bulletseed: ["9M", "9L21"], crunch: ["9M", "9L38"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M"], facade: ["9M"], @@ -86523,6 +88689,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulletseed: ["9M", "9L21"], burningjealousy: ["9M"], crunch: ["9M", "9L38"], + endeavor: ["9M"], endure: ["9M"], energyball: ["9M"], facade: ["9M"], @@ -86558,6 +88725,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "9L17"], superfang: ["9M"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], trailblaze: ["9M"], @@ -86577,11 +88745,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "9L40"], electroball: ["9M"], + electroweb: ["9M"], endure: ["9M"], flail: ["9L25"], hypervoice: ["9M"], lightscreen: ["9M"], - muddywater: ["9E"], + muddywater: ["9M", "9E"], mudshot: ["9M", "9L24"], mudslap: ["9M", "9L1"], paraboliccharge: ["9E"], @@ -86620,12 +88789,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "9L40"], electroball: ["9M"], + electroweb: ["9M"], endure: ["9M"], flail: ["9L25"], gigaimpact: ["9M"], hyperbeam: ["9M"], hypervoice: ["9M"], lightscreen: ["9M"], + muddywater: ["9M"], mudshot: ["9M", "9L24"], mudslap: ["9M", "9L1"], protect: ["9M"], @@ -86637,6 +88808,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { spark: ["9L21"], substitute: ["9M"], suckerpunch: ["9L45"], + supercellslam: ["9M"], swift: ["9M"], tackle: ["9L1"], terablast: ["9M"], @@ -86659,6 +88831,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { assurance: ["9L10"], bodyslam: ["9M"], bulldoze: ["9M"], + curse: ["9M"], + doubleedge: ["9M"], endure: ["9M"], facade: ["9M"], flashcannon: ["9M"], @@ -86669,6 +88843,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irondefense: ["9M"], ironhead: ["9M", "9L28"], lick: ["9L1"], + metalsound: ["9M"], partingshot: ["9E"], poisongas: ["9L1"], poisonjab: ["9M", "9L36"], @@ -86682,6 +88857,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M"], sludge: ["9L13"], sludgebomb: ["9M"], + sludgewave: ["9M"], smog: ["9L4"], spinout: ["9L46"], steelbeam: ["9M"], @@ -86706,25 +88882,30 @@ export const Learnsets: {[k: string]: LearnsetData} = { assurance: ["9L10"], bodyslam: ["9M"], bulldoze: ["9M"], + curse: ["9M"], + doubleedge: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], flashcannon: ["9M"], gigaimpact: ["9M"], gunkshot: ["9M", "9L58"], gyroball: ["9M", "9L17"], + hardpress: ["9M"], haze: ["9M"], headbutt: ["9L21"], heavyslam: ["9M"], highhorsepower: ["9M"], hyperbeam: ["9M"], irondefense: ["9M"], - ironhead: ["9M", "9L28"], + ironhead: ["9M", "9L28", "9S0"], lashout: ["9M"], lick: ["9L1"], magnetrise: ["9L1"], + metalsound: ["9M"], overheat: ["9M"], poisongas: ["9L1"], - poisonjab: ["9M", "9L36"], + poisonjab: ["9M", "9L36", "9S0"], protect: ["9M"], raindance: ["9M"], rest: ["9M"], @@ -86735,15 +88916,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M"], sludge: ["9L13"], sludgebomb: ["9M"], + sludgewave: ["9M"], smog: ["9L4"], spinout: ["9L52"], steelbeam: ["9M"], substitute: ["9M"], sunnyday: ["9M"], - swagger: ["9L32"], + swagger: ["9L32", "9S0"], takedown: ["9M"], taunt: ["9M", "9L7"], - terablast: ["9M"], + temperflare: ["9M"], + terablast: ["9M", "9S0"], thief: ["9M"], toxic: ["9M"], toxicspikes: ["9M"], @@ -86751,6 +88934,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { venoshock: ["9M"], zenheadbutt: ["9M"], }, + eventData: [ + {generation: 9, level: 50, gender: "F", nature: "Naughty", abilities: ["clearbody"], ivs: {hp: 20, atk: 31, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["ironhead", "swagger", "poisonjab", "terablast"], pokeball: "healball"}, + ], }, orthworm: { learnset: { @@ -86758,8 +88944,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], bulldoze: ["9M", "9L16"], coil: ["9E"], - curse: ["9E"], + curse: ["9M", "9E"], dig: ["9M", "9L30"], + doubleedge: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L47"], endure: ["9M"], @@ -86776,6 +88963,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M", "9L21"], irontail: ["9L43", "9S0"], metalburst: ["9E"], + metalsound: ["9M"], mudshot: ["9M"], mudslap: ["9M", "9L7"], protect: ["9M"], @@ -86816,6 +89004,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { copycat: ["9L41"], crunch: ["9M"], dig: ["9M"], + doubleedge: ["9M"], doublehit: ["9L14"], echoedvoice: ["9L5"], encore: ["9M", "9L22"], @@ -86867,6 +89056,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { copycat: ["9L46"], crunch: ["9M"], dig: ["9M"], + doubleedge: ["9M"], doublehit: ["9L14"], echoedvoice: ["9L5"], encore: ["9M", "9L22"], @@ -86919,7 +89109,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M"], charm: ["9M"], chillingwater: ["9M"], - doubleedge: ["9L49"], + curse: ["9M"], + doubleedge: ["9M", "9L49"], earthquake: ["9M"], echoedvoice: ["9L9"], endure: ["9M"], @@ -86960,16 +89151,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, cetitan: { learnset: { - amnesia: ["9M", "9L40"], + amnesia: ["9M", "9L40", "9S0"], avalanche: ["9M", "9L27"], blizzard: ["9M", "9L53"], bodypress: ["9M"], - bodyslam: ["9M", "9L36"], + bodyslam: ["9M", "9L36", "9S0"], bounce: ["9L31"], bulldoze: ["9M"], charm: ["9M"], chillingwater: ["9M"], - doubleedge: ["9L49"], + curse: ["9M"], + doubleedge: ["9M", "9L49", "9S0"], earthquake: ["9M"], echoedvoice: ["9L9"], endure: ["9M"], @@ -86977,6 +89169,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flail: ["9L25"], gigaimpact: ["9M"], growl: ["9L6"], + hardpress: ["9M"], heavyslam: ["9M"], helpinghand: ["9M"], highhorsepower: ["9M"], @@ -86986,7 +89179,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icefang: ["9M"], icepunch: ["9M"], iceshard: ["9L12"], - icespinner: ["9M", "9L44"], + icespinner: ["9M", "9L44", "9S0"], iciclespear: ["9M"], icywind: ["9M"], knockoff: ["9M"], @@ -87005,6 +89198,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], waterpulse: ["9M"], }, + eventData: [ + {generation: 9, moves: ["bodyslam", "amnesia", "icespinner", "doubleedge"]}, + ], }, frigibax: { learnset: { @@ -87093,13 +89289,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M"], bodypress: ["9M"], bodyslam: ["9M"], - breakingswipe: ["9L1"], + breakingswipe: ["9M", "9L1"], brickbreak: ["9M"], bulldoze: ["9M"], crunch: ["9M", "9L55"], dig: ["9M"], + doubleedge: ["9M"], dracometeor: ["9M"], dragonbreath: ["9L12"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L35"], dragondance: ["9M"], dragonpulse: ["9M"], @@ -87110,15 +89308,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { falseswipe: ["9M"], focusenergy: ["9L18"], gigaimpact: ["9M"], - glaiverush: ["9L0"], + glaiverush: ["9L0", "9S0"], helpinghand: ["9M"], highhorsepower: ["9M"], hyperbeam: ["9M"], icebeam: ["9M", "9L48"], icefang: ["9M", "9L29"], - iceshard: ["9L1"], + iceshard: ["9L1", "9S0"], iciclecrash: ["9L62"], - iciclespear: ["9M"], + iciclespear: ["9M", "9S0"], icywind: ["9M", "9L6"], ironhead: ["9M"], leer: ["9L1"], @@ -87126,7 +89324,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M"], raindance: ["9M"], rest: ["9M"], - scaleshot: ["9M"], + scaleshot: ["9M", "9S0"], scaryface: ["9M"], sleeptalk: ["9M"], snowscape: ["9M", "9L1"], @@ -87139,6 +89337,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderfang: ["9M"], zenheadbutt: ["9M"], }, + eventData: [ + {generation: 9, level: 54, moves: ["glaiverush", "scaleshot", "iciclespear", "iceshard"], pokeball: "cherishball"}, + ], }, tatsugiri: { learnset: { @@ -87146,6 +89347,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chillingwater: ["9M"], counter: ["9E"], dracometeor: ["9M"], + dragoncheer: ["9M"], dragondance: ["9M"], dragonpulse: ["9M", "9L52", "9S0"], endure: ["9M"], @@ -87159,7 +89361,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lunge: ["9M"], memento: ["9L34"], mirrorcoat: ["9L47"], - muddywater: ["9L39", "9S0"], + muddywater: ["9M", "9L39", "9S0"], nastyplot: ["9M", "9L43"], outrage: ["9M"], protect: ["9M"], @@ -87176,6 +89378,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], watergun: ["9L1"], waterpulse: ["9M", "9L17"], + whirlpool: ["9M"], }, eventData: [ {generation: 9, level: 57, gender: "M", nature: "Quiet", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["muddywater", "icywind", "taunt", "dragonpulse"]}, @@ -87200,14 +89403,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { aquatail: ["9E"], bite: ["9L23"], bodyslam: ["9M"], - breakingswipe: ["9L14"], + breakingswipe: ["9M", "9L14"], crunch: ["9M"], - doubleedge: ["9L51"], + doubleedge: ["9M", "9L51"], dracometeor: ["9M"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L36"], dragonpulse: ["9M", "9L45"], dragonrush: ["9L57"], dragontail: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], firefang: ["9M"], @@ -87235,9 +89440,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M"], substitute: ["9M"], sunnyday: ["9M"], + supercellslam: ["9M"], tackle: ["9L1"], takedown: ["9M"], taunt: ["9M", "9L11"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], thunderbolt: ["9M"], @@ -87253,6 +89460,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M", "9L40"], batonpass: ["9M"], bite: ["9L19"], + celebrate: ["9S0"], charge: ["9M", "9L8"], chargebeam: ["9M"], charm: ["9M"], @@ -87262,13 +89470,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M"], + electroweb: ["9M"], encore: ["9M"], endure: ["9M"], entrainment: ["9L31"], facade: ["9M"], fakeout: ["9E"], fling: ["9M"], - growl: ["9L1"], + growl: ["9L1", "9S0"], helpinghand: ["9M"], machpunch: ["9E"], metalclaw: ["9M"], @@ -87288,17 +89497,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { sweetkiss: ["9E"], swift: ["9M"], takedown: ["9M"], - terablast: ["9M"], + terablast: ["9M", "9S0"], thief: ["9M"], thunder: ["9M"], thunderbolt: ["9M"], thunderfang: ["9M"], - thundershock: ["9L3"], + thundershock: ["9L3", "9S0"], thunderwave: ["9M", "9L27"], voltswitch: ["9M"], wildcharge: ["9M", "9L44"], wish: ["9E"], }, + eventData: [ + {generation: 9, level: 5, moves: ["thundershock", "growl", "terablast", "celebrate"], pokeball: "cherishball"}, + ], }, pawmo: { learnset: { @@ -87309,12 +89521,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L8"], chargebeam: ["9M"], charm: ["9M"], + coaching: ["9M"], crunch: ["9M"], dig: ["9M", "9L15"], discharge: ["9L42"], eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M"], + electroweb: ["9M"], encore: ["9M"], endure: ["9M"], entrainment: ["9L38"], @@ -87350,6 +89564,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderpunch: ["9M"], thundershock: ["9L3"], thunderwave: ["9M", "9L27"], + upperhand: ["9M"], voltswitch: ["9M"], wildcharge: ["9M", "9L52"], }, @@ -87367,13 +89582,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M"], charm: ["9M"], closecombat: ["9M", "9L44"], + coaching: ["9M"], crunch: ["9M"], dig: ["9M", "9L15"], discharge: ["9L49"], + doubleedge: ["9M"], doubleshock: ["9L60"], eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M"], + electroweb: ["9M"], encore: ["9M"], endure: ["9M"], entrainment: ["9L39"], @@ -87408,17 +89626,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { spark: ["9L23"], substitute: ["9M"], sunnyday: ["9M"], + supercellslam: ["9M"], superfang: ["9M"], swift: ["9M"], takedown: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunder: ["9M"], thunderbolt: ["9M"], thunderfang: ["9M"], thunderpunch: ["9M"], thundershock: ["9L3"], thunderwave: ["9M", "9L29"], + upperhand: ["9M"], voltswitch: ["9M"], wildcharge: ["9M", "9L1"], }, @@ -87438,10 +89659,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M"], - endeavor: ["9E"], + electroweb: ["9M"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], - featherdance: ["9E"], + featherdance: ["9M", "9E"], fly: ["9M"], growl: ["9L1"], hurricane: ["9M"], @@ -87487,8 +89709,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M"], electroball: ["9M", "9L0"], + electroweb: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], + featherdance: ["9M"], fly: ["9M"], gigaimpact: ["9M"], growl: ["9L1"], @@ -87504,6 +89729,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M"], spark: ["9L15"], substitute: ["9M"], + supercellslam: ["9M"], swift: ["9M"], tailwind: ["9M"], takedown: ["9M"], @@ -87526,12 +89752,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { aircutter: ["9M"], airslash: ["9M"], bravebird: ["9M"], + curse: ["9M"], darkpulse: ["9M"], drillrun: ["9M"], dualwingbeat: ["9M", "9L42"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], - featherdance: ["9E"], + featherdance: ["9M", "9E"], fly: ["9M"], foulplay: ["9M"], gigaimpact: ["9M"], @@ -87553,6 +89781,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { powergem: ["9M"], powertrip: ["9E"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], rockblast: ["9M"], @@ -87591,11 +89820,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { airslash: ["9M"], bravebird: ["9M", "9L42"], copycat: ["9L27"], - doubleedge: ["9E"], + doubleedge: ["9M", "9E"], dualwingbeat: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M", "9L34"], faketears: ["9M"], + featherdance: ["9M"], finalgambit: ["9E"], flatter: ["9E"], fly: ["9M", "9L30"], @@ -87649,8 +89880,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { doublekick: ["9L5"], doubleteam: ["9E"], dualwingbeat: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], + featherdance: ["9M"], feint: ["9L21"], fling: ["9M"], fly: ["9M"], @@ -87667,6 +89900,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { peck: ["9L1"], pounce: ["9M"], protect: ["9M"], + psychup: ["9M"], quickguard: ["9E"], rest: ["9M"], reversal: ["9M"], @@ -87680,7 +89914,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], - throatchop: ["9L48"], + throatchop: ["9M", "9L48"], + upperhand: ["9M"], uturn: ["9M"], waterpulse: ["9M"], wideguard: ["9L44"], @@ -87697,7 +89932,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { crabhammer: ["9E"], dig: ["9M"], earthpower: ["9M"], - endeavor: ["9E"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], flail: ["9L37"], @@ -87711,6 +89946,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irondefense: ["9M", "9L51"], knockoff: ["9M", "9E"], metalclaw: ["9M", "9L17"], + meteorbeam: ["9M"], mudshot: ["9M"], mudslap: ["9M"], powergem: ["9M"], @@ -87726,6 +89962,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sandstorm: ["9M"], scaryface: ["9M"], shadowclaw: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M"], smackdown: ["9M"], stealthrock: ["9M"], @@ -87735,8 +89972,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M"], swordsdance: ["9M", "9L33"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], trailblaze: ["9M"], visegrip: ["9L1", "9S0"], xscissor: ["9M", "9L29"], @@ -87750,7 +89989,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["9E"], bodyslam: ["9M"], bulldoze: ["9M"], - curse: ["9E"], + curse: ["9M", "9E"], dig: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L40"], @@ -87764,6 +90003,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { helpinghand: ["9M"], irondefense: ["9M", "9L20"], ironhead: ["9M"], + meteorbeam: ["9M"], mudshot: ["9M", "9L7"], powergem: ["9M", "9E"], protect: ["9M"], @@ -87792,7 +90032,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodypress: ["9M"], bodyslam: ["9M"], bulldoze: ["9M"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L45"], endure: ["9M"], @@ -87806,6 +90048,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M"], irondefense: ["9M", "9L20"], ironhead: ["9M"], + meteorbeam: ["9M"], mudshot: ["9M", "9L7"], powergem: ["9M"], protect: ["9M"], @@ -87838,7 +90081,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], brickbreak: ["9M"], bulldoze: ["9M"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L49"], endure: ["9M"], @@ -87852,6 +90097,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gravity: ["9M"], hammerarm: ["9L0"], harden: ["9L1"], + hardpress: ["9M"], headbutt: ["9L16"], heavyslam: ["9M", "9L44"], helpinghand: ["9M"], @@ -87859,6 +90105,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icepunch: ["9M"], irondefense: ["9M"], ironhead: ["9M"], + meteorbeam: ["9M"], mudshot: ["9M", "9L7"], powergem: ["9M"], protect: ["9M", "9S0"], @@ -87905,6 +90152,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irondefense: ["9M"], lightscreen: ["9M"], memento: ["9E"], + meteorbeam: ["9M"], mudshot: ["9M"], powergem: ["9M", "9L37"], protect: ["9M"], @@ -87921,7 +90169,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { selfdestruct: ["9L29"], sleeptalk: ["9M"], sludgebomb: ["9M"], - sludgewave: ["9L46"], + sludgewave: ["9M", "9L46"], smackdown: ["9M", "9L1"], spikes: ["9M"], stealthrock: ["9M", "9L18"], @@ -87952,6 +90200,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M"], irondefense: ["9M"], lightscreen: ["9M"], + meteorbeam: ["9M"], mortalspin: ["9L0"], mudshot: ["9M"], powergem: ["9M", "9L39"], @@ -87969,7 +90218,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { selfdestruct: ["9L29"], sleeptalk: ["9M"], sludgebomb: ["9M"], - sludgewave: ["9L50"], + sludgewave: ["9M", "9L50"], smackdown: ["9M", "9L1"], solarbeam: ["9M"], spikes: ["9M"], @@ -87993,7 +90242,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { copycat: ["9E"], crosspoison: ["9E"], dig: ["9M"], + doubleedge: ["9M"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], flatter: ["9L18"], @@ -88013,12 +90264,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M", "9L29"], pounce: ["9M"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], scratch: ["9L1"], + skittersmack: ["9M"], slash: ["9L21"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], substitute: ["9M", "9L36"], sunnyday: ["9M"], superfang: ["9M", "9E"], @@ -88029,6 +90283,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L33"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], toxic: ["9M", "9E"], trailblaze: ["9M"], uturn: ["9M", "9L25"], @@ -88042,7 +90297,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { batonpass: ["9M"], dig: ["9M"], doodle: ["9L0"], + doubleedge: ["9M"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], flatter: ["9L18"], @@ -88065,14 +90322,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisontail: ["9M"], pounce: ["9M"], protect: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], scaryface: ["9M"], scratch: ["9L1"], shadowclaw: ["9M"], + skittersmack: ["9M"], slash: ["9L21"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], substitute: ["9M", "9L40"], sunnyday: ["9M"], superfang: ["9M"], @@ -88082,6 +90342,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L37"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], toxic: ["9M"], trailblaze: ["9M"], uturn: ["9M", "9L25"], @@ -88092,17 +90353,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { fidough: { learnset: { agility: ["9M"], + alluringvoice: ["9M"], babydolleyes: ["9L15"], batonpass: ["9M", "9L26"], bite: ["9L11"], bodyslam: ["9M"], - charm: ["9M", "9L36"], + charm: ["9M", "9L36", "9S0"], copycat: ["9E"], covet: ["9L8"], crunch: ["9M", "9L40"], dazzlinggleam: ["9M"], dig: ["9M"], - doubleedge: ["9L33"], + doubleedge: ["9M", "9L33"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], firefang: ["9M"], @@ -88111,13 +90374,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { howl: ["9E"], icefang: ["9M"], lastresort: ["9L45"], - lick: ["9L3"], + lick: ["9L3", "9S0"], mistyterrain: ["9M"], mudshot: ["9M"], mudslap: ["9M"], - playrough: ["9M", "9L18"], + playrough: ["9M", "9L18", "9S0"], protect: ["9M"], psychicfangs: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], roar: ["9M", "9L30"], @@ -88128,7 +90392,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M"], sweetscent: ["9E"], tackle: ["9L1"], - tailwhip: ["9L6"], + tailwhip: ["9L6", "9S0"], takedown: ["9M"], terablast: ["9M"], thunderfang: ["9M"], @@ -88137,10 +90401,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { workup: ["9L22"], yawn: ["9E"], }, + eventData: [ + {generation: 9, level: 5, moves: ["playrough", "charm", "lick", "tailwhip"], pokeball: "cherishball"}, + ], }, dachsbun: { learnset: { agility: ["9M"], + alluringvoice: ["9M"], babydolleyes: ["9L15"], batonpass: ["9M", "9L29"], bite: ["9L11"], @@ -88151,8 +90419,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { crunch: ["9M", "9L47"], dazzlinggleam: ["9M"], dig: ["9M"], - doubleedge: ["9L38"], + doubleedge: ["9M", "9L38"], drainingkiss: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], firefang: ["9M"], @@ -88169,6 +90438,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { playrough: ["9M", "9L18"], protect: ["9M"], psychicfangs: ["9M"], + psychup: ["9M"], raindance: ["9M"], rest: ["9M"], roar: ["9M", "9L33"], @@ -88196,8 +90466,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M"], destinybond: ["9E"], dig: ["9M"], - doubleedge: ["9L49"], - endeavor: ["9E"], + doubleedge: ["9M", "9L49"], + endeavor: ["9M", "9E"], endure: ["9M"], facade: ["9M"], faketears: ["9M"], @@ -88241,9 +90511,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { charm: ["9M"], comeuppance: ["9L0"], crunch: ["9M", "9L34"], + curse: ["9M"], darkpulse: ["9M"], dig: ["9M"], - doubleedge: ["9L55"], + doubleedge: ["9M", "9L55"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], faketears: ["9M"], @@ -88260,6 +90532,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leer: ["9L1"], lick: ["9L4"], outrage: ["9M", "9L60"], + painsplit: ["9M"], payback: ["9L26"], playrough: ["9M"], protect: ["9M"], @@ -88293,7 +90566,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { block: ["9E"], bulletseed: ["9M", "9L13"], confuseray: ["9M"], - curse: ["9L45"], + curse: ["9M", "9L45"], defensecurl: ["9L1"], disable: ["9L29"], endure: ["9M"], @@ -88309,7 +90582,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leechseed: ["9E"], megadrain: ["9L25"], nightshade: ["9M"], - painsplit: ["9L50"], + painsplit: ["9M", "9L50"], phantomforce: ["9M", "9L35"], poltergeist: ["9M"], pounce: ["9M"], @@ -88339,7 +90612,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { astonish: ["9L1"], bulletseed: ["9M", "9L13"], confuseray: ["9M"], - curse: ["9L45"], + curse: ["9M", "9L45"], defensecurl: ["9L1"], disable: ["9L29"], endure: ["9M"], @@ -88356,7 +90629,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leafstorm: ["9M"], megadrain: ["9L25"], nightshade: ["9M"], - painsplit: ["9L50"], + painsplit: ["9M", "9L50"], phantomforce: ["9M", "9L35"], poltergeist: ["9M"], pounce: ["9M"], @@ -88368,6 +90641,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], seedbomb: ["9M"], shadowball: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M"], solarbeam: ["9M"], spikes: ["9M"], @@ -88380,7 +90654,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, gimmighoul: { learnset: { - astonish: ["9L1", "9S0"], + astonish: ["9L1", "9S2", "9S0"], confuseray: ["9M"], endure: ["9M"], hex: ["9M", "9S1"], @@ -88394,7 +90668,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "9S1"], sleeptalk: ["9M"], substitute: ["9M"], - tackle: ["9L1", "9S0"], + tackle: ["9L1", "9S2", "9S0"], takedown: ["9M", "9S1"], terablast: ["9M"], thief: ["9M"], @@ -88402,6 +90676,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eventData: [ {generation: 9, level: 5, moves: ["astonish", "tackle"]}, {generation: 9, level: 75, shiny: 1, perfectIVs: 4, moves: ["takedown", "shadowball", "hex", "powergem"]}, + {generation: 9, level: 5, nature: "Timid", ivs: {hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 31}, moves: ["astonish", "tackle"]}, ], eventOnly: true, }, @@ -88427,7 +90702,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lowsweep: ["9M"], makeitrain: ["9L56"], memento: ["9L70"], - metalsound: ["9L28"], + metalsound: ["9M", "9L28"], nastyplot: ["9M", "9L63"], nightshade: ["9M", "9L7"], poltergeist: ["9M"], @@ -88464,9 +90739,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M", "9L63"], defensecurl: ["9L1"], dig: ["9M"], + doubleedge: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L49", "9S1"], - endeavor: ["9L70"], + endeavor: ["9M", "9L70"], endure: ["9M"], facade: ["9M"], firefang: ["9M"], @@ -88505,9 +90781,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M"], substitute: ["9M"], sunnyday: ["9M", "9L1"], + supercellslam: ["9M"], takedown: ["9M"], taunt: ["9M", "9L14"], + temperflare: ["9M"], terablast: ["9M"], + throatchop: ["9M"], thunderfang: ["9M"], zenheadbutt: ["9M"], }, @@ -88529,6 +90808,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9M"], crunch: ["9M"], darkpulse: ["9M"], + doubleedge: ["9M"], earthpower: ["9M"], endure: ["9M"], energyball: ["9M"], @@ -88588,6 +90868,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "9L1"], electroball: ["9M"], + electroweb: ["9M"], endure: ["9M"], facade: ["9M"], flashcannon: ["9M"], @@ -88599,7 +90880,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irondefense: ["9M"], lightscreen: ["9M"], magneticflux: ["9L91"], - metalsound: ["9L49", "9S0"], + metalsound: ["9M", "9L49", "9S0"], mirrorcoat: ["9L70"], mudshot: ["9M"], powergem: ["9M"], @@ -88608,6 +90889,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M"], sandstorm: ["9M"], sandtomb: ["9M"], + scorchingsands: ["9M"], screech: ["9L35", "9S0"], sleeptalk: ["9M"], spark: ["9L7"], @@ -88616,6 +90898,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stompingtantrum: ["9M"], substitute: ["9M"], sunnyday: ["9M", "9L1"], + supercellslam: ["9M"], supersonic: ["9L1"], swift: ["9M"], takedown: ["9M"], @@ -88648,9 +90931,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { dazzlinggleam: ["9M"], dig: ["9M"], disable: ["9L1"], + doubleedge: ["9M"], drainpunch: ["9M"], encore: ["9M"], endure: ["9M"], + expandingforce: ["9M"], facade: ["9M"], faketears: ["9M"], fireblast: ["9M"], @@ -88682,7 +90967,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M"], psychicfangs: ["9M", "9L56"], + psychicnoise: ["9M"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M"], raindance: ["9M"], reflect: ["9M"], @@ -88737,25 +91024,25 @@ export const Learnsets: {[k: string]: LearnsetData} = { hex: ["9M"], hyperbeam: ["9M"], hypervoice: ["9M"], - icywind: ["9M"], + icywind: ["9M", "9S1"], imprison: ["9M"], magicalleaf: ["9M"], meanlook: ["9L14"], memento: ["9L21"], mistyterrain: ["9M"], - moonblast: ["9L84"], + moonblast: ["9L84", "9S1"], mysticalfire: ["9L49", "9S0"], nightshade: ["9M"], - painsplit: ["9L77"], + painsplit: ["9M", "9L77"], perishsong: ["9L91"], phantomforce: ["9M", "9L70"], poltergeist: ["9M"], - powergem: ["9M", "9L56"], + powergem: ["9M", "9L56", "9S1"], protect: ["9M"], psybeam: ["9M", "9L7"], psyshock: ["9M", "9L63"], rest: ["9M"], - shadowball: ["9M", "9L42", "9S0"], + shadowball: ["9M", "9L42", "9S0", "9S1"], sleeptalk: ["9M"], spite: ["9M", "9L1"], storedpower: ["9M"], @@ -88772,6 +91059,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, eventData: [ {generation: 9, level: 52, shiny: 1, moves: ["shadowball", "mysticalfire", "wish", "dazzlinggleam"]}, + {generation: 9, level: 75, shiny: 1, perfectIVs: 4, moves: ["shadowball", "moonblast", "powergem", "icywind"]}, ], eventOnly: true, }, @@ -88786,6 +91074,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { bugbuzz: ["9M"], bulkup: ["9M", "9L56"], closecombat: ["9M"], + curse: ["9M"], + doubleedge: ["9M"], dualwingbeat: ["9M", "9L63"], earthquake: ["9M"], ember: ["9L1"], @@ -88814,6 +91104,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M"], reversal: ["9M"], sandstorm: ["9M"], + skittersmack: ["9M"], sleeptalk: ["9M"], stomp: ["9L21"], stompingtantrum: ["9M"], @@ -88822,6 +91113,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "9L1"], superpower: ["9L49", "9S0"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thrash: ["9L91"], trailblaze: ["9M"], @@ -88844,18 +91136,19 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9L1"], bodypress: ["9M"], bodyslam: ["9M"], - breakingswipe: ["9L1"], + breakingswipe: ["9M", "9L1"], brickbreak: ["9M"], crunch: ["9M"], darkpulse: ["9M"], dig: ["9M"], - doubleedge: ["9L91"], + doubleedge: ["9M", "9L91"], dracometeor: ["9M"], dragonbreath: ["9L1"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L28", "9S0"], - dragondance: ["9M", "9L56"], + dragondance: ["9M", "9L56", "9S1"], dragonpulse: ["9M"], - dragonrush: ["9L63"], + dragonrush: ["9L63", "9S1"], dragontail: ["9M"], earthquake: ["9M"], endure: ["9M"], @@ -88864,7 +91157,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { firefang: ["9M"], firespin: ["9M"], flamethrower: ["9M", "9L42", "9S0"], - fly: ["9M", "9L70"], + fly: ["9M", "9L70", "9S1"], focusenergy: ["9L1"], gigaimpact: ["9M"], headbutt: ["9L14"], @@ -88880,7 +91173,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lashout: ["9M"], leer: ["9L1"], metalclaw: ["9M"], - nightslash: ["9L49", "9S0"], + nightslash: ["9L49", "9S1", "9S0"], outrage: ["9M"], protect: ["9M"], rest: ["9M"], @@ -88900,7 +91193,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], - throatchop: ["9L77"], + throatchop: ["9M", "9L77"], thunderfang: ["9M"], uturn: ["9M"], xscissor: ["9M"], @@ -88908,6 +91201,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, eventData: [ {generation: 9, level: 52, shiny: 1, moves: ["zenheadbutt", "flamethrower", "nightslash", "dragonclaw"]}, + {generation: 9, level: 75, perfectIVs: 3, moves: ["nightslash", "dragondance", "dragonrush", "fly"], pokeball: "friendball"}, ], eventOnly: true, }, @@ -88917,15 +91211,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { bodyslam: ["9M"], bulldoze: ["9M", "9L7"], defensecurl: ["9L1"], + doubleedge: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L49", "9S1"], electricterrain: ["9M", "9L1"], electroball: ["9M"], - endeavor: ["9L70"], + endeavor: ["9M", "9L70"], facade: ["9M"], flashcannon: ["9M"], gigaimpact: ["9M", "9L84"], gyroball: ["9M"], + hardpress: ["9M"], heavyslam: ["9M", "9L56", "9S1"], highhorsepower: ["9M"], hornattack: ["9L1"], @@ -88936,6 +91232,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M", "9L28", "9S0"], knockoff: ["9M", "9L42", "9S0", "9S1"], megahorn: ["9L77"], + metalsound: ["9M"], mudshot: ["9M"], mudslap: ["9M"], protect: ["9M"], @@ -88954,6 +91251,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stompingtantrum: ["9M", "9L35", "9S0", "9S1"], stoneedge: ["9M"], substitute: ["9M"], + supercellslam: ["9M"], takedown: ["9M"], terablast: ["9M"], thunder: ["9M"], @@ -88998,7 +91296,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M"], lightscreen: ["9M"], lunge: ["9M", "9L28", "9S0"], - metalsound: ["9L63"], + metalsound: ["9M", "9L63"], + meteorbeam: ["9M"], morningsun: ["9L70"], overheat: ["9M", "9L91"], pounce: ["9M"], @@ -89007,7 +91306,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M"], screech: ["9L35", "9S0"], sleeptalk: ["9M"], - sludgewave: ["9L49", "9S0"], + sludgewave: ["9M", "9L49", "9S0"], solarbeam: ["9M"], strugglebug: ["9M", "9L7"], substitute: ["9M"], @@ -89037,6 +91336,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { charge: ["9M", "9L49", "9S0"], closecombat: ["9M", "9L63"], detect: ["9L70"], + doubleedge: ["9M"], drainpunch: ["9M"], earthquake: ["9M"], electricterrain: ["9M", "9L1"], @@ -89050,6 +91350,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { focuspunch: ["9M", "9L91"], forcepalm: ["9L35", "9S0"], gigaimpact: ["9M"], + hardpress: ["9M"], heavyslam: ["9M", "9L77"], hyperbeam: ["9M"], icepunch: ["9M"], @@ -89071,6 +91372,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M"], stompingtantrum: ["9M"], substitute: ["9M"], + supercellslam: ["9M"], swordsdance: ["9M"], tackle: ["9L1"], takedown: ["9M"], @@ -89097,7 +91399,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { chargebeam: ["9M"], crunch: ["9M", "9L35", "9S0"], darkpulse: ["9M", "9L70"], + doubleedge: ["9M"], dragonbreath: ["9L21", "9S0"], + dragoncheer: ["9M"], dragonpulse: ["9M", "9L84"], dragontail: ["9M"], dualwingbeat: ["9M"], @@ -89121,6 +91425,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M"], knockoff: ["9M", "9L63"], lashout: ["9M"], + metalsound: ["9M"], + meteorbeam: ["9M"], outrage: ["9M", "9L77"], protect: ["9M"], raindance: ["9M"], @@ -89136,6 +91442,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], + throatchop: ["9M"], triattack: ["9L1"], uturn: ["9M"], workup: ["9L1"], @@ -89152,12 +91459,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M"], bodypress: ["9M"], bodyslam: ["9M"], + breakingswipe: ["9M"], brickbreak: ["9M"], bulldoze: ["9M"], charge: ["9M", "9L35", "9S0"], chargebeam: ["9M"], crunch: ["9M"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], dragonclaw: ["9M"], dragondance: ["9M"], dragontail: ["9M"], @@ -89166,6 +91476,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M"], electricterrain: ["9M", "9L1"], electroball: ["9M"], + electroweb: ["9M"], endure: ["9M"], facade: ["9M"], fireblast: ["9M"], @@ -89185,6 +91496,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M"], lowkick: ["9M"], metalclaw: ["9M"], + meteorbeam: ["9M"], pinmissile: ["9L63"], powergem: ["9M"], protect: ["9M"], @@ -89207,6 +91519,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { stoneedge: ["9M", "9L84"], substitute: ["9M"], sunnyday: ["9M"], + supercellslam: ["9M"], swordsdance: ["9M"], takedown: ["9M"], taunt: ["9M"], @@ -89266,7 +91579,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thief: ["9M"], uturn: ["9M"], waterpulse: ["9M"], - whirlpool: ["9L14"], + whirlpool: ["9M", "9L14"], }, eventData: [ {generation: 9, level: 52, shiny: 1, moves: ["drillpeck", "helpinghand", "freezedry", "flipturn"]}, @@ -89281,7 +91594,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M"], calmmind: ["9M"], chargebeam: ["9M"], - closecombat: ["9M", "9L63"], + closecombat: ["9M", "9L63", "9S1"], + coaching: ["9M"], confuseray: ["9M"], dazzlinggleam: ["9M", "9L28", "9S0"], destinybond: ["9L77"], @@ -89292,13 +91606,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { encore: ["9M"], endure: ["9M"], energyball: ["9M"], + expandingforce: ["9M"], falseswipe: ["9M"], feint: ["9L14"], firepunch: ["9M"], fling: ["9M"], focusblast: ["9M"], furycutter: ["9L1"], - futuresight: ["9L21"], + futuresight: ["9M", "9L21"], gigaimpact: ["9M"], grassknot: ["9M"], helpinghand: ["9M"], @@ -89309,15 +91624,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { icepunch: ["9M"], icywind: ["9M"], imprison: ["9M"], - knockoff: ["9M", "9L70"], - leafblade: ["9L49", "9S0"], + knockoff: ["9M", "9L70", "9S1"], + leafblade: ["9L49", "9S1", "9S0"], lightscreen: ["9M"], liquidation: ["9M"], lowkick: ["9M"], magicalleaf: ["9M"], metronome: ["9M"], mistyterrain: ["9M"], - moonblast: ["9L56"], + moonblast: ["9L56", "9S1"], nightslash: ["9L42", "9S0"], poisonjab: ["9M"], protect: ["9M"], @@ -89325,6 +91640,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { psychic: ["9M"], psychicterrain: ["9M"], psychocut: ["9L35", "9S0"], + psychup: ["9M"], psyshock: ["9M"], quickguard: ["9L84"], reflect: ["9M"], @@ -89342,6 +91658,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M"], taunt: ["9M"], terablast: ["9M"], + throatchop: ["9M"], thunderbolt: ["9M"], thunderpunch: ["9M"], thunderwave: ["9M"], @@ -89354,6 +91671,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, eventData: [ {generation: 9, level: 52, shiny: 1, moves: ["psychocut", "nightslash", "leafblade", "dazzlinggleam"]}, + {generation: 9, level: 75, perfectIVs: 3, moves: ["leafblade", "moonblast", "closecombat", "knockoff"], pokeball: "friendball"}, ], eventOnly: true, }, @@ -89364,6 +91682,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "9L20"], darkpulse: ["9M", "9L40"], dig: ["9M"], + doubleedge: ["9M"], earthpower: ["9M"], earthquake: ["9M", "9L70"], endure: ["9M"], @@ -89401,7 +91720,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L30"], terablast: ["9M"], thrash: ["9L35"], - throatchop: ["9L55", "9S0"], + throatchop: ["9M", "9L55", "9S0"], whirlwind: ["9L25"], zenheadbutt: ["9M"], }, @@ -89456,7 +91775,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], - throatchop: ["9L70"], + throatchop: ["9M", "9L70"], }, eventData: [ {generation: 9, level: 60, moves: ["iciclecrash", "ruination", "suckerpunch", "sacredsword"]}, @@ -89567,6 +91886,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["9L60", "9S0"], takedown: ["9M"], taunt: ["9M"], + temperflare: ["9M"], terablast: ["9M"], willowisp: ["9M", "9L15"], zenheadbutt: ["9M"], @@ -89583,7 +91903,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["9L14"], bodypress: ["9M"], bodyslam: ["9M"], - breakingswipe: ["9L1"], + breakingswipe: ["9M", "9L1"], brickbreak: ["9M", "9L28"], bulkup: ["9M", "9S1"], bulldoze: ["9M"], @@ -89592,7 +91912,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { counter: ["9L70"], crunch: ["9M"], dig: ["9M"], + doubleedge: ["9M"], dracometeor: ["9M"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L42"], dragonpulse: ["9M"], dragontail: ["9M"], @@ -89618,6 +91940,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ironhead: ["9M"], lowkick: ["9M"], lowsweep: ["9M"], + meteorbeam: ["9M"], mudshot: ["9M"], mudslap: ["9M"], outrage: ["9M", "9L77"], @@ -89640,6 +91963,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M"], takedown: ["9M"], taunt: ["9M"], + temperflare: ["9M"], terablast: ["9M", "9S0"], thunderfang: ["9M"], uproar: ["9M"], @@ -89667,6 +91991,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { discharge: ["9L28"], dracometeor: ["9M"], dragonbreath: ["9L1"], + dragoncheer: ["9M"], dragonclaw: ["9M"], dragonpulse: ["9M", "9L42"], dragontail: ["9M"], @@ -89682,7 +92007,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { helpinghand: ["9M"], hyperbeam: ["9M", "9L98", "9S1"], lightscreen: ["9M"], - metalsound: ["9L63"], + metalsound: ["9M", "9L63"], mirrorcoat: ["9L70"], outrage: ["9M", "9L77"], overheat: ["9M", "9L91"], @@ -89697,6 +92022,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snarl: ["9M"], solarbeam: ["9M"], substitute: ["9M"], + supercellslam: ["9M"], swordsdance: ["9M"], takedown: ["9M"], taunt: ["9M"], @@ -89724,6 +92050,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["9L11"], drainingkiss: ["9M", "9L17"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], fairywind: ["9L1"], @@ -89739,6 +92066,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { knockoff: ["9M", "9L52"], lightscreen: ["9M"], metalclaw: ["9M", "9L8"], + metalsound: ["9M"], metronome: ["9M"], playrough: ["9M", "9L35"], pounce: ["9M"], @@ -89750,7 +92078,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocksmash: ["9L14"], rocktomb: ["9M"], skillswap: ["9M"], - skittersmack: ["9L47"], + skittersmack: ["9M", "9L47"], slam: ["9L27"], sleeptalk: ["9M"], stealthrock: ["9M"], @@ -89773,6 +92101,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["9L11"], drainingkiss: ["9M", "9L17"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], fairywind: ["9L1"], @@ -89786,6 +92115,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { knockoff: ["9M", "9L52"], lightscreen: ["9M"], metalclaw: ["9M", "9L8"], + metalsound: ["9M"], metronome: ["9M"], playrough: ["9M", "9L35"], pounce: ["9M"], @@ -89796,7 +92126,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocksmash: ["9L14"], rocktomb: ["9M"], skillswap: ["9M"], - skittersmack: ["9L47"], + skittersmack: ["9M", "9L47"], slam: ["9L27"], sleeptalk: ["9M"], stealthrock: ["9M"], @@ -89820,6 +92150,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { covet: ["9L11"], drainingkiss: ["9M", "9L17"], encore: ["9M"], + endeavor: ["9M"], endure: ["9M"], facade: ["9M"], fairywind: ["9L1"], @@ -89830,11 +92161,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M"], foulplay: ["9M"], gigatonhammer: ["9L0"], + hardpress: ["9M"], heavyslam: ["9M"], helpinghand: ["9M"], knockoff: ["9M", "9L52"], lightscreen: ["9M"], metalclaw: ["9M", "9L8"], + metalsound: ["9M"], metronome: ["9M"], playrough: ["9M", "9L35"], pounce: ["9M"], @@ -89845,7 +92178,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocksmash: ["9L14"], rocktomb: ["9M"], skillswap: ["9M"], - skittersmack: ["9L47"], + skittersmack: ["9M", "9L47"], slam: ["9L27"], sleeptalk: ["9M"], smackdown: ["9M"], @@ -89862,12 +92195,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, charcadet: { learnset: { - astonish: ["9L1"], + astonish: ["9L1", "9S0"], + celebrate: ["9S0"], clearsmog: ["9L8"], confuseray: ["9M"], destinybond: ["9E"], disable: ["9E"], - ember: ["9L1"], + ember: ["9L1", "9S0"], endure: ["9M"], facade: ["9M"], fireblast: ["9M"], @@ -89889,9 +92223,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M"], sunnyday: ["9M"], takedown: ["9M"], - terablast: ["9M"], + terablast: ["9M", "9S0"], willowisp: ["9M", "9L16"], }, + eventData: [ + {generation: 9, level: 5, moves: ["ember", "astonish", "terablast", "celebrate"], pokeball: "cherishball"}, + ], }, armarouge: { learnset: { @@ -89908,7 +92245,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { ember: ["9L1"], endure: ["9M"], energyball: ["9M"], - expandingforce: ["9L56"], + expandingforce: ["9M", "9L56"], facade: ["9M"], fireblast: ["9M"], firespin: ["9M", "9L12"], @@ -89925,6 +92262,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lavaplume: ["9L32"], leer: ["9L1"], lightscreen: ["9M"], + meteorbeam: ["9M"], mysticalfire: ["9L1"], nightshade: ["9M", "9L20"], overheat: ["9M"], @@ -89932,9 +92270,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { psybeam: ["9M"], psychic: ["9M"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M", "9L0"], reflect: ["9M"], rest: ["9M"], + scorchingsands: ["9M"], shadowball: ["9M"], sleeptalk: ["9M"], solarbeam: ["9M"], @@ -89962,6 +92302,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { clearsmog: ["9L8"], closecombat: ["9M"], confuseray: ["9M"], + curse: ["9M"], dragonclaw: ["9M"], ember: ["9L1"], endure: ["9M"], @@ -89990,6 +92331,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poltergeist: ["9M"], protect: ["9M"], psychocut: ["9L56"], + psychup: ["9M"], quickguard: ["9L1"], reflect: ["9M"], rest: ["9M"], @@ -90006,6 +92348,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], + throatchop: ["9M"], vacuumwave: ["9M"], willowisp: ["9M", "9L16"], xscissor: ["9M"], @@ -90040,6 +92383,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { mirrorcoat: ["9E"], mudshot: ["9M", "9L24"], mudslap: ["9M", "9L1"], + painsplit: ["9M"], poisonpowder: ["9L8"], powerwhip: ["9L52"], protect: ["9M"], @@ -90100,6 +92444,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megadrain: ["9L16"], mudshot: ["9M", "9L24"], mudslap: ["9M", "9L1"], + painsplit: ["9M"], poisonpowder: ["9L8"], powerwhip: ["9L58"], protect: ["9M"], @@ -90110,6 +92455,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scaryface: ["9M"], screech: ["9L20"], seedbomb: ["9M", "9L34"], + skittersmack: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], solarbeam: ["9M"], @@ -90136,11 +92482,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { aquajet: ["9L1"], bite: ["9L7", "9L07"], bodyslam: ["9M"], - breakingswipe: ["9L35"], + breakingswipe: ["9M", "9L35"], chillingwater: ["9M"], crunch: ["9M"], + doubleedge: ["9M"], dracometeor: ["9M"], dragonbreath: ["9L28"], + dragoncheer: ["9M"], dragonclaw: ["9M"], dragondance: ["9M"], dragonpulse: ["9M", "9L63", "9S0"], @@ -90182,6 +92530,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M"], waterpulse: ["9M", "9L14"], weatherball: ["9M"], + whirlpool: ["9M"], }, eventData: [ {generation: 9, level: 75, perfectIVs: 3, moves: ["hydrosteam", "dragonpulse", "nobleroar", "flamethrower"]}, @@ -90197,6 +92546,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M"], calmmind: ["9M"], closecombat: ["9M", "9L63"], + coaching: ["9M"], + doubleedge: ["9M"], electricterrain: ["9M", "9L1"], endure: ["9M"], energyball: ["9M"], @@ -90217,6 +92568,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leer: ["9L1"], magicalleaf: ["9M", "9L7", "9L07"], megahorn: ["9L77", "9S0"], + metalsound: ["9M"], nightslash: ["9L28"], protect: ["9M"], psyblade: ["9L56", "9S0"], @@ -90239,6 +92591,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], + throatchop: ["9M"], trailblaze: ["9M"], wildcharge: ["9M"], workup: ["9L1"], @@ -90258,6 +92611,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doublehit: ["9L0"], dracometeor: ["9M"], dragonbreath: ["9L12"], + dragoncheer: ["9M"], dragonpulse: ["9M", "9L32"], dragontail: ["9M", "9L4"], endure: ["9M"], @@ -90298,6 +92652,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { absorb: ["9L6"], astonish: ["9L1"], calmmind: ["9M"], + curse: ["9M"], endure: ["9M"], energyball: ["9M"], foulplay: ["9M", "9L18"], @@ -90313,9 +92668,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { memento: ["9L54"], nastyplot: ["9M"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M"], poltergeist: ["9M"], protect: ["9M"], + psychup: ["9M"], ragepowder: ["9L36"], reflect: ["9M"], rest: ["9M"], @@ -90337,6 +92694,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { absorb: ["9L6"], astonish: ["9L1"], calmmind: ["9M"], + curse: ["9M"], endure: ["9M"], energyball: ["9M"], foulplay: ["9M", "9L18"], @@ -90352,9 +92710,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { memento: ["9L54"], nastyplot: ["9M"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M"], poltergeist: ["9M"], protect: ["9M"], + psychup: ["9M"], ragepowder: ["9L36"], reflect: ["9M"], rest: ["9M"], @@ -90376,6 +92736,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { absorb: ["9L6"], astonish: ["9L1"], calmmind: ["9M"], + curse: ["9M"], endure: ["9M"], energyball: ["9M"], foulplay: ["9M", "9L18"], @@ -90393,9 +92754,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { memento: ["9L54"], nastyplot: ["9M"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M"], poltergeist: ["9M"], protect: ["9M"], + psychup: ["9M"], ragepowder: ["9L36"], reflect: ["9M"], rest: ["9M"], @@ -90418,6 +92781,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { absorb: ["9L6"], astonish: ["9L1"], calmmind: ["9M"], + curse: ["9M"], endure: ["9M"], energyball: ["9M"], foulplay: ["9M", "9L18"], @@ -90435,9 +92799,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { memento: ["9L54"], nastyplot: ["9M"], nightshade: ["9M"], + painsplit: ["9M"], phantomforce: ["9M"], poltergeist: ["9M"], protect: ["9M"], + psychup: ["9M"], ragepowder: ["9L36"], reflect: ["9M"], rest: ["9M"], @@ -90466,7 +92832,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { closecombat: ["9M"], counter: ["9L32"], crunch: ["9M", "9L56", "9S0"], + curse: ["9M"], dig: ["9M"], + doubleedge: ["9M"], drainpunch: ["9M"], endure: ["9M"], facade: ["9M"], @@ -90478,6 +92846,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { forcepalm: ["9L24"], gigaimpact: ["9M", "9L72"], gunkshot: ["9M"], + hardpress: ["9M"], highhorsepower: ["9M"], howl: ["9L8"], hyperbeam: ["9M"], @@ -90503,6 +92872,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], + sludgewave: ["9M"], snarl: ["9M"], spite: ["9M"], stompingtantrum: ["9M"], @@ -90512,9 +92882,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M"], terablast: ["9M"], thief: ["9M"], + throatchop: ["9M"], thunderfang: ["9M"], thunderpunch: ["9M"], toxic: ["9M"], + upperhand: ["9M"], uproar: ["9M"], }, eventData: [ @@ -90536,7 +92908,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flatter: ["9L1"], fling: ["9M"], focusblast: ["9M"], - futuresight: ["9L64", "9S0"], + futuresight: ["9M", "9L64", "9S0"], gigaimpact: ["9M"], grassknot: ["9M"], gunkshot: ["9M"], @@ -90556,7 +92928,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M"], psybeam: ["9M", "9L16"], psychic: ["9M", "9L40", "9S0"], + psychicnoise: ["9M"], psychicterrain: ["9M"], + psychup: ["9M"], psyshock: ["9M"], rest: ["9M"], scratch: ["9L1"], @@ -90564,7 +92938,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M"], sleeptalk: ["9M"], sludgebomb: ["9M"], - sludgewave: ["9L48", "9S0"], + sludgewave: ["9M", "9L48", "9S0"], spite: ["9M"], storedpower: ["9M"], substitute: ["9M"], @@ -90592,6 +92966,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { agility: ["9M"], aircutter: ["9M"], airslash: ["9M"], + alluringvoice: ["9M"], attract: ["9L16"], beatup: ["9L48", "9S0"], bravebird: ["9M"], @@ -90624,6 +92999,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M"], poisontail: ["9M"], protect: ["9M"], + psychup: ["9M"], quickattack: ["9L8"], rest: ["9M"], roost: ["9L64", "9S0"], @@ -90711,7 +93087,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], terablast: ["9M"], - throatchop: ["9L36"], + throatchop: ["9M", "9L36"], trailblaze: ["9M"], uturn: ["9M"], vinewhip: ["9L1", "9S0"], @@ -90733,13 +93109,489 @@ export const Learnsets: {[k: string]: LearnsetData} = { ogerponcornerstone: { eventOnly: true, }, + archaludon: { + learnset: { + aurasphere: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M"], + breakingswipe: ["9M", "9L24"], + brickbreak: ["9M"], + darkpulse: ["9M"], + doubleedge: ["9M"], + dracometeor: ["9M"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "9L48"], + dragonpulse: ["9M"], + dragontail: ["9M", "9L30"], + earthquake: ["9M"], + electroshot: ["9L0"], + endure: ["9M"], + facade: ["9M"], + flashcannon: ["9M", "9L54"], + focusenergy: ["9L42"], + foulplay: ["9M"], + gigaimpact: ["9M"], + gyroball: ["9M"], + hardpress: ["9M"], + heavyslam: ["9M"], + honeclaws: ["9L12"], + hyperbeam: ["9M", "9L66"], + irondefense: ["9M", "9L36"], + ironhead: ["9M"], + leer: ["9L1"], + lightscreen: ["9M"], + metalburst: ["9L60"], + metalclaw: ["9M", "9L1"], + metalsound: ["9M", "9L18"], + meteorbeam: ["9M"], + outrage: ["9M"], + protect: ["9M"], + reflect: ["9M"], + rest: ["9M"], + roar: ["9M"], + rockslide: ["9M"], + rocksmash: ["9L6"], + rocktomb: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M"], + snarl: ["9M"], + solarbeam: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderwave: ["9M"], + }, + }, + hydrapple: { + learnset: { + astonish: ["9L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + breakingswipe: ["9M"], + bugbite: ["9M"], + bulletseed: ["9M", "9L20"], + curse: ["9M"], + doubleedge: ["9M"], + doublehit: ["9L1"], + dracometeor: ["9M"], + dragonbreath: ["9L12"], + dragoncheer: ["9M"], + dragonpulse: ["9M", "9L32"], + dragontail: ["9M", "9L4"], + earthpower: ["9M"], + earthquake: ["9M"], + endure: ["9M"], + energyball: ["9M", "9L40"], + facade: ["9M"], + ficklebeam: ["9L0"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L8"], + gyroball: ["9M"], + heavyslam: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + infestation: ["9L1"], + leafstorm: ["9M"], + magicalleaf: ["9M"], + nastyplot: ["9M"], + outrage: ["9M"], + pollenpuff: ["9M"], + pounce: ["9M"], + powerwhip: ["9L54"], + protect: ["9M", "9L16"], + raindance: ["9M"], + recover: ["9L36"], + recycle: ["9L1"], + reflect: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + substitute: ["9M", "9L44"], + sunnyday: ["9M"], + sweetscent: ["9L1"], + syrupbomb: ["9L28"], + takedown: ["9M"], + terablast: ["9M"], + uproar: ["9M"], + withdraw: ["9L1"], + yawn: ["9L1"], + }, + }, + gougingfire: { + learnset: { + ancientpower: ["9L1"], + bite: ["9L21"], + bodyslam: ["9M"], + breakingswipe: ["9M"], + bulldoze: ["9M"], + burningbulwark: ["9L49", "9S0"], + crunch: ["9M"], + crushclaw: ["9L35"], + doubleedge: ["9M"], + doublekick: ["9L1"], + dracometeor: ["9M"], + dragoncheer: ["9M"], + dragonclaw: ["9M", "9L28"], + dragondance: ["9M"], + dragonpulse: ["9M"], + dragonrush: ["9L56", "9S0"], + dragontail: ["9M"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M", "9L63", "9S0"], + firefang: ["9M", "9L7"], + firespin: ["9M"], + flamecharge: ["9M"], + flamethrower: ["9M"], + flareblitz: ["9M", "9L84"], + gigaimpact: ["9M"], + heatcrash: ["9M"], + heatwave: ["9M"], + howl: ["9L14"], + hyperbeam: ["9M"], + incinerate: ["9L1"], + ironhead: ["9M"], + lavaplume: ["9L70", "9S0"], + leer: ["9L1"], + morningsun: ["9L42"], + nobleroar: ["9L1"], + outrage: ["9M", "9L77"], + overheat: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + ragingfury: ["9L91"], + rest: ["9M"], + reversal: ["9M"], + roar: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M"], + scorchingsands: ["9M"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + snarl: ["9M"], + stomp: ["9L1"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + takedown: ["9M"], + temperflare: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + weatherball: ["9M"], + }, + eventData: [ + {generation: 9, level: 75, ivs: {hp: 20, atk: 20, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["lavaplume", "fireblast", "dragonrush", "burningbulwark"]}, + ], + eventOnly: true, + }, + ragingbolt: { + learnset: { + ancientpower: ["9L1"], + bodypress: ["9M", "9L84"], + bodyslam: ["9M"], + breakingswipe: ["9M"], + calmmind: ["9M", "9L42"], + charge: ["9M", "9L7"], + chargebeam: ["9M"], + crunch: ["9M"], + discharge: ["9L28"], + doubleedge: ["9M"], + dracometeor: ["9M"], + dragonbreath: ["9L14"], + dragoncheer: ["9M"], + dragonhammer: ["9L56", "9S0"], + dragonpulse: ["9M", "9L70", "9S0"], + dragontail: ["9M", "9L35"], + earthquake: ["9M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L21"], + electroball: ["9M"], + electroweb: ["9M"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + heavyslam: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + outrage: ["9M"], + protect: ["9M"], + rest: ["9M"], + risingvoltage: ["9L63", "9S0"], + roar: ["9M"], + scaryface: ["9M"], + shockwave: ["9L1"], + sleeptalk: ["9M"], + snarl: ["9M"], + solarbeam: ["9M"], + stomp: ["9L1"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + supercellslam: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunder: ["9M", "9L91"], + thunderbolt: ["9M"], + thunderclap: ["9L49", "9S0"], + thunderfang: ["9M"], + thunderwave: ["9M"], + twister: ["9L1"], + voltswitch: ["9M"], + weatherball: ["9M"], + wildcharge: ["9M"], + zapcannon: ["9L77"], + }, + eventData: [ + {generation: 9, level: 75, ivs: {hp: 20, atk: 20, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["dragonpulse", "risingvoltage", "dragonhammer", "thunderclap"]}, + ], + eventOnly: true, + }, + ironboulder: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "9L21"], + airslash: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + closecombat: ["9M"], + counter: ["9L35"], + doubleedge: ["9M"], + earthquake: ["9M"], + electricterrain: ["9M", "9L1"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M", "9L91"], + hornattack: ["9L1"], + hyperbeam: ["9M"], + irondefense: ["9M"], + ironhead: ["9M"], + leer: ["9L1"], + megahorn: ["9L70", "9S0"], + meteorbeam: ["9M"], + mightycleave: ["9L56", "9S0"], + poisonjab: ["9M"], + protect: ["9M"], + psychic: ["9M"], + psychocut: ["9L28"], + psyshock: ["9M"], + quickattack: ["9L7"], + quickguard: ["9L77"], + rest: ["9M"], + rockblast: ["9M"], + rockthrow: ["9L1"], + rocktomb: ["9M", "9L42"], + sacredsword: ["9L49", "9S0"], + sandstorm: ["9M"], + scaryface: ["9M"], + slash: ["9L14"], + sleeptalk: ["9M"], + solarblade: ["9M"], + stoneedge: ["9M", "9L84"], + substitute: ["9M"], + swordsdance: ["9M", "9L63", "9S0"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + throatchop: ["9M"], + wildcharge: ["9M"], + xscissor: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 75, ivs: {hp: 20, atk: 20, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["megahorn", "swordsdance", "mightycleave", "sacredsword"]}, + ], + eventOnly: true, + }, + ironcrown: { + learnset: { + agility: ["9M"], + airslash: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + calmmind: ["9M"], + confusion: ["9L1"], + doubleedge: ["9M"], + electricterrain: ["9M", "9L1"], + endure: ["9M"], + expandingforce: ["9M"], + facade: ["9M"], + flashcannon: ["9M", "9L42"], + focusblast: ["9M"], + futuresight: ["9M", "9L63", "9S0"], + gigaimpact: ["9M"], + gravity: ["9M"], + heavyslam: ["9M"], + hyperbeam: ["9M", "9L91"], + irondefense: ["9M", "9L21"], + ironhead: ["9M"], + leer: ["9L1"], + metalburst: ["9L84"], + metalclaw: ["9M", "9L1"], + metalsound: ["9M"], + protect: ["9M"], + psychic: ["9M"], + psychicnoise: ["9M"], + psychocut: ["9L35"], + psyshock: ["9M", "9L28"], + quickguard: ["9L77"], + rest: ["9M"], + sacredsword: ["9L49", "9S0"], + scaryface: ["9M"], + slash: ["9L14"], + sleeptalk: ["9M"], + smartstrike: ["9M", "9L7"], + solarblade: ["9M"], + steelbeam: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + supercellslam: ["9M"], + swordsdance: ["9M"], + tachyoncutter: ["9L56", "9S0"], + takedown: ["9M"], + terablast: ["9M"], + voltswitch: ["9M", "9L70", "9S0"], + xscissor: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 75, ivs: {hp: 20, atk: 20, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["voltswitch", "futuresight", "tachyoncutter", "sacredsword"]}, + ], + eventOnly: true, + }, + terapagos: { + learnset: { + ancientpower: ["9L10"], + aurasphere: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M"], + bugbuzz: ["9M"], + calmmind: ["9M"], + crunch: ["9M"], + darkpulse: ["9M"], + dazzlinggleam: ["9M"], + doubleedge: ["9M", "9L70"], + dragonpulse: ["9M"], + earthpower: ["9M", "9L40", "9S0"], + earthquake: ["9M"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + flamethrower: ["9M"], + flareblitz: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + gravity: ["9M"], + gyroball: ["9M", "9L90"], + headbutt: ["9L20"], + heatcrash: ["9M"], + heavyslam: ["9M", "9L50"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icespinner: ["9M"], + ironhead: ["9M"], + meteorbeam: ["9M"], + powergem: ["9M"], + protect: ["9M", "9L30"], + raindance: ["9M"], + rapidspin: ["9L1"], + rest: ["9M"], + roar: ["9M"], + rockpolish: ["9L80"], + rockslide: ["9M"], + scorchingsands: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + stealthrock: ["9M"], + stoneedge: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + supercellslam: ["9M"], + surf: ["9M"], + takedown: ["9M"], + terastarstorm: ["9L60", "9S0"], + thunder: ["9M"], + thunderbolt: ["9M"], + toxic: ["9M"], + triattack: ["9L1"], + waterpulse: ["9M", "9S0"], + weatherball: ["9M"], + wildcharge: ["9M"], + withdraw: ["9L1"], + zenheadbutt: ["9M", "9S0"], + }, + eventData: [ + {generation: 9, level: 85, gender: "M", nature: "Hardy", ivs: {hp: 31, atk: 15, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["terastarstorm", "zenheadbutt", "earthpower", "waterpulse"]}, + ], + eventOnly: true, + }, + pecharunt: { + learnset: { + acidspray: ["9M"], + astonish: ["9L1"], + curse: ["9M"], + defensecurl: ["9L1"], + destinybond: ["9L16"], + endure: ["9M"], + faketears: ["9M", "9L24"], + foulplay: ["9M"], + gunkshot: ["9M"], + hex: ["9M"], + imprison: ["9M"], + malignantchain: ["9L48", "9S0"], + meanlook: ["9L1"], + memento: ["9L1"], + nastyplot: ["9M", "9L64", "9S0"], + nightshade: ["9M"], + partingshot: ["9L32"], + phantomforce: ["9M"], + poisongas: ["9L1"], + poltergeist: ["9M"], + protect: ["9M"], + recover: ["9L72"], + rest: ["9M"], + rollout: ["9L1"], + shadowball: ["9M", "9L40", "9S0"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + sludgewave: ["9M"], + smog: ["9L1"], + spite: ["9M"], + substitute: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L56", "9S0"], + venoshock: ["9M"], + withdraw: ["9L8"], + }, + eventData: [ + {generation: 9, level: 88, nature: "Timid", moves: ["nastyplot", "toxic", "malignantchain", "shadowball"]}, + ], + eventOnly: true, + }, syclar: { learnset: { absorb: ["9L1", "8L1", "7L1"], attract: ["8M", "7M", "4M"], avalanche: ["9M", "9L31", "8M", "8L31", "7L48", "4M"], blizzard: ["9M", "8M", "7M", "4M"], - bugbite: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + bugbite: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], bugbuzz: ["9M", "9L50", "8M", "8L50", "7L43", "4L42"], captivate: ["4M"], confide: ["7M"], @@ -90754,7 +93606,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fellstinger: ["9E", "8E", "7E"], fling: ["9M", "8M", "7M", "4M"], focusenergy: ["9L25", "8M", "8L25", "7L10", "4L13"], - focuspunch: ["7T"], + focuspunch: ["9M", "7T"], frostbreath: ["7M"], frustration: ["7M", "4M"], furyattack: ["9L5", "8L5", "7L14", "4L1"], @@ -90799,7 +93651,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "4M"], swift: ["9M", "8M"], swordsdance: ["9M", "8M", "7M", "4M"], - tailglow: ["7E", "4E"], + tailglow: ["9E", "7E", "6E", "5E", "4E"], taunt: ["9M", "8M", "7M", "4M"], terablast: ["9M"], toxic: ["7M", "4M"], @@ -90817,7 +93669,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M", "8M", "7M", "4M"], brickbreak: ["9M", "8M", "7M", "4M"], brutalswing: ["8M", "7M"], - bugbite: ["7T", "6T", "5T", "4T"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], bugbuzz: ["9M", "9L60", "8M", "8L60", "7L46", "4L42"], bulldoze: ["9M", "8M", "7M"], captivate: ["4M"], @@ -90827,7 +93679,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { cut: ["4M"], doubleedge: ["4T"], doubleteam: ["7M", "4M"], - dualwingbeat: ["8T"], + dualwingbeat: ["9M", "8T"], earthpower: ["9M", "8M", "4T"], earthquake: ["9M", "8M", "7M", "4M"], endure: ["9M", "8M", "4M"], @@ -90836,7 +93688,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { fling: ["9M", "8M", "7M", "4M"], focusblast: ["9M", "8M", "7M", "4M"], focusenergy: ["9L25", "8M", "8L25", "7L10", "4L8"], - focuspunch: ["6T", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], frostbreath: ["7M"], frustration: ["7M", "4M"], furyattack: ["9L1", "8L1", "7L14", "4L1"], @@ -90852,7 +93704,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { iceshard: ["9L15", "8L15", "7L5", "4L5"], icespinner: ["9M"], iciclecrash: ["9L53", "8L53", "7L41"], - iciclespear: ["9L1", "8M", "8L1", "7L1"], + iciclespear: ["9M", "9L1", "8M", "8L1", "7L1"], icywind: ["9M", "9L20", "8M", "8L20", "7L19", "4T", "4L18"], leechlife: ["9M", "8M", "7M", "4L1"], leer: ["9L1", "8L1", "7L1", "4L1"], @@ -90874,7 +93726,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sheercold: ["9L67", "8L67", "5L59", "4L60"], signalbeam: ["7T"], silverwind: ["4M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], slash: ["9L39", "8L39", "7L28", "4L14"], sleeptalk: ["9M", "8M", "7M", "4M"], snore: ["8M", "4T"], @@ -90893,7 +93745,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M", "4M"], trailblaze: ["9M"], - tripleaxel: ["8T"], + tripleaxel: ["9M", "8T"], uturn: ["9M", "8M", "7M", "4M"], waterpulse: ["9M", "6T", "4M"], xscissor: ["9M", "9L46", "8M", "8L46", "7M", "7L32", "4M", "4L27"], @@ -90901,110 +93753,123 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, revenankh: { learnset: { - ancientpower: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], - armthrust: ["9L5", "8L5", "7L13", "4L18"], - attract: ["8M", "7M", "4M"], - bide: ["7L1", "4L1"], - bind: ["7T"], - bodypress: ["9M", "8M"], + ancientpower: ["9E", "8E", "7E", "6E", "5E", "4E"], + armthrust: ["9L4", "8L4", "7L8", "6L8", "5L8", "4L8"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bind: ["7T", "6T", "5T"], bodyslam: ["9M", "8M"], - brickbreak: ["9M", "8M", "7M", "4M"], - brutalswing: ["8M", "7M"], - bulkup: ["9M", "8M", "7M", "4M"], - bulldoze: ["9M", "8M", "7M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], captivate: ["4M"], - closecombat: ["9M"], + closecombat: ["9M", "8M"], coaching: ["8T"], - confide: ["7M"], + confide: ["7M", "6M"], confuseray: ["9M"], - counter: ["9E", "8E", "7E", "4T"], - curse: ["9E", "8E", "7E", "4E"], - destinybond: ["9E", "8E", "7E", "4E"], - doubleteam: ["7M", "4M"], - drainpunch: ["9M", "9L50", "8M", "8L55", "7M", "4M"], - dreameater: ["7M", "4M"], - dualchop: ["7T"], - earthquake: ["9M", "8M", "7M", "4M"], - embargo: ["7M", "4M"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9L36", "8L36", "7L28", "6L28", "5L28", "4L28"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + destinybond: ["9E", "8E", "7E", "6E", "5E", "4E"], + detect: ["9L8", "8L8", "7L11", "6L11", "5L11", "4L11"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["8M", "7M", "6M", "5M", "4M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], endure: ["9M", "8M", "4M"], - facade: ["9M", "8M", "7M", "4M"], - fling: ["9M", "8M", "7M", "4M"], - focusblast: ["9M", "8M", "7M", "4M"], - focuspunch: ["9L70", "8L75", "7T", "4M"], - forcepalm: ["9E", "8E", "7E", "4E"], - frustration: ["7M", "4M"], - gigaimpact: ["9M", "8M", "7M", "4M"], - glare: ["9L35", "8L35", "7L26", "4L26"], - hammerarm: ["9L60", "8L65", "7L57", "4L44"], - headbutt: ["7T"], - helpinghand: ["9M", "8M", "7T", "4T"], - hex: ["9M", "8M", "7E"], - hiddenpower: ["7M", "4M"], - highhorsepower: ["8M"], - hyperbeam: ["9M", "8M", "7M", "4M"], - icepunch: ["9M", "8M", "7T", "4T"], - knockoff: ["9L40", "8L40", "7T", "4T"], - machpunch: ["9E", "8E", "7E", "4E"], - meanlook: ["9L25", "8L25", "7L18", "4L23"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "9L56", "8L60", "7T", "6T", "4M"], + forcepalm: ["9L28", "8L28", "7L15", "6L15", "5L15", "4L15"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + glare: ["9L24", "8L24", "7L21", "6L21", "5L21", "4L21"], + grudge: ["8L52", "7L55", "6L55", "5L55", "4L49"], + hammerarm: ["9L48", "8L48", "7L49", "6L49", "5L49", "4L44"], + helpinghand: ["9M", "8M"], + hex: ["9M", "9L32", "8M", "8L32", "7L44", "6L44", "5L44"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "9L40", "8L40", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + machpunch: ["9E", "8E", "7E", "6E", "5E", "4E"], + meanlook: ["9L16", "8L16", "7L5", "6L5", "5L5", "4L5"], megapunch: ["8M"], - memento: ["9E", "8E", "7E", "4E"], - metronome: ["9M", "8M", "7E", "4T"], - mimic: ["7E", "4E"], - moonlight: ["9L45", "8L45", "7L62", "4L62"], + memento: ["9E", "8E", "7E", "6E", "5E", "4E"], + metronome: ["9M", "8M"], + moonlight: ["9L44", "8L44", "7L66", "6L66", "5L66", "4L60"], mudslap: ["9M", "4T"], - nastyplot: ["9M", "8M", "7E", "4E"], + nastyplot: ["9M", "8M", "7E", "6E", "5E", "4E"], naturalgift: ["4M"], - ominouswind: ["7E", "4T", "4E"], - painsplit: ["7T", "4T"], - payback: ["9L20", "8M", "8L20", "7L38", "4M"], - poltergeist: ["8T"], - poweruppunch: ["7M"], - powerwhip: ["9L65", "8M", "8L70", "7L52", "4L38"], - protect: ["9M", "8M", "7M", "4M"], - psychup: ["7M", "4M"], - punishment: ["7L71", "4L52"], - quickguard: ["9L15", "8L15", "7L48"], - raindance: ["9M", "8M", "7M", "4M"], - rest: ["9M", "8M", "7M", "4M"], - retaliate: ["8M", "7M"], - return: ["7M", "4M"], - revenge: ["8M", "8L50", "7L33", "4L33"], + nightshade: ["9M"], + ominouswind: ["7E", "6E", "5E", "4T", "4E"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + phantomforce: ["9M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poltergeist: ["9M", "8T"], + poweruppunch: ["6M"], + powerwhip: ["9L52", "8L56", "7L60", "6L60", "5L60", "4L55"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + punishment: ["7L33", "6L33", "5L33", "4L33"], + quickguard: ["9E", "8E", "7E", "6E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], reversal: ["9M", "8M"], - rockslide: ["9M", "8M", "7M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], rocksmash: ["6M", "5M", "4M"], - rocktomb: ["9M", "8M", "7M", "7L23", "4M", "4L13"], - round: ["8M", "7M"], - safeguard: ["8M", "7M", "4M"], - sandstorm: ["9M", "8M", "7M", "4M"], - sandtomb: ["9L1", "8M", "8L1", "7L5", "4L5"], - secretpower: ["7M", "4M"], - shadowball: ["9M", "8M", "7M", "4M"], - shadowclaw: ["9M", "8M", "7M"], - shadowpunch: ["9L30", "8L30", "7L29", "4L29"], - shadowsneak: ["9L10", "8L10", "7E", "4E"], - sleeptalk: ["9M", "8M", "7M", "4M"], - smackdown: ["7M"], - snore: ["8M", "7T"], - spite: ["7T", "4T"], + rocktomb: ["9M", "8M", "7M", "7L18", "6M", "6L18", "5M", "5L18", "4M", "4L18"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M", "9L12", "8M", "8L12", "7L39", "6L39", "5L39", "4L39"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowpunch: ["9L20", "8L20", "7L25", "6L25", "5L25", "4L25"], + shadowsneak: ["9E", "8E", "7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], strength: ["6M", "5M", "4M"], - substitute: ["9M", "8M", "7M", "4M"], - suckerpunch: ["9L55", "8L60", "4T"], - sunnyday: ["9M", "8M", "7M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9E", "8E", "7E", "6E", "5E", "4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], superpower: ["8M", "7T", "6T", "5T", "4T"], - swagger: ["7M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], takedown: ["9M"], - taunt: ["9M", "8M", "7M", "4M"], - telekinesis: ["7M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], terablast: ["9M"], - thunderpunch: ["9M"], - torment: ["7M", "4M"], - toxic: ["7M", "4M"], - trick: ["9M", "8M", "7T", "4T"], - vacuumwave: ["4T"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + upperhand: ["9M"], + vacuumwave: ["9M", "4T"], willowisp: ["9M", "8M", "7M"], - workup: ["8M", "7M"], - wrap: ["9L1", "8L1", "7L1", "4L1"], - wringout: ["7L66", "4L9"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + wrap: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], }, }, embirch: { @@ -91037,11 +93902,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigadrain: ["9M", "9L20", "8M", "8L20", "7T", "7L32", "4M", "4L21"], grassknot: ["9M", "8M", "7M", "4M"], grasswhistle: ["7E", "4E"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "8M", "7E"], growth: ["9L12", "8L12", "7L28", "4L5"], headbutt: ["4T"], - heatcrash: ["9L44", "8M", "8L44"], + heatcrash: ["9M", "9L44", "8M", "8L44"], heatwave: ["9M", "8M", "7T", "4T"], hiddenpower: ["7M", "4M"], incinerate: ["7M"], @@ -91068,7 +93933,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M", "8M", "7M", "4M"], round: ["8M", "7M"], safeguard: ["8M", "7M", "4M"], - sandtomb: ["8M", "7L23", "7E", "4E"], + sandtomb: ["9M", "8M", "7L23", "7E", "4E"], secretpower: ["4M"], seedbomb: ["9M", "9L28", "8M", "8L28", "7T", "4T"], sleeptalk: ["9M", "8M", "7M", "4M"], @@ -91103,7 +93968,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { block: ["7T", "4T"], bulldoze: ["9M", "8M", "7M"], bulletseed: ["9M", "9L1", "8M", "8L1", "7L1", "4M", "4L1"], - burningjealousy: ["8T"], + burningjealousy: ["9M", "8T"], confide: ["7M"], counter: ["4T"], doubleedge: ["9L56", "8L56", "7L1", "4T"], @@ -91129,11 +93994,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "4M"], gigadrain: ["9M", "9L20", "8M", "8L20", "7L32", "4M", "4L21"], grassknot: ["9M", "8M", "7M", "4M"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "8M"], growth: ["9L12", "8L12", "7L28", "4L5"], headbutt: ["4T"], - heatcrash: ["9L62", "8M", "8L62"], + heatcrash: ["9M", "9L62", "8M", "8L62"], heatwave: ["9M", "8M", "7T", "4T"], hiddenpower: ["7M", "4M"], incinerate: ["7M"], @@ -91162,7 +94027,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M", "8M", "7M", "4M"], round: ["8M", "7M"], safeguard: ["8M", "7M", "4M"], - sandtomb: ["8M"], + sandtomb: ["9M", "8M"], secretpower: ["7M", "4M"], seedbomb: ["9M", "9L32", "8M", "8L32", "7L23", "4T"], sleeptalk: ["9M", "8M", "7M", "4M"], @@ -91197,12 +94062,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { block: ["7T", "4T"], bulldoze: ["9M", "8M", "7M"], bulletseed: ["9M", "9L1", "8M", "8L1", "7L1", "4M", "4L1"], - burningjealousy: ["8T"], + burningjealousy: ["9M", "8T"], burnup: ["8L72", "7L68"], confide: ["7M"], counter: ["4T"], doubleedge: ["9L1", "8L1", "4T"], doubleteam: ["7M", "4M"], + dragoncheer: ["9M"], dragondance: ["9M", "8M"], dragonpulse: ["9M", "8M", "7T"], dragontail: ["9M", "7M"], @@ -91225,15 +94091,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigadrain: ["9M", "9L20", "8M", "8L20", "7L32", "4M", "4L21"], gigaimpact: ["9M", "8M", "7M", "4M"], grassknot: ["9M", "8M", "7M", "4M"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "8M"], growth: ["9L12", "8L12", "7L28", "4L5"], headbutt: ["4T"], - heatcrash: ["9L64", "8M", "8L64", "7L41"], + heatcrash: ["9M", "9L64", "8M", "8L64", "7L41"], heatwave: ["9M", "8M", "7T", "4T"], heavyslam: ["9M", "8M"], hiddenpower: ["7M", "4M"], - highhorsepower: ["8M"], + highhorsepower: ["9M", "8M"], hyperbeam: ["9M", "8M", "7M", "4M"], incinerate: ["7M"], irondefense: ["9M", "9L41", "8M", "8L41", "7L37", "4T", "4L42"], @@ -91262,14 +94128,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { rocktomb: ["9M", "8M", "7M", "4M"], round: ["8M", "7M"], safeguard: ["8M", "7M", "4M"], - sandtomb: ["8M"], - scorchingsands: ["8T"], + sandtomb: ["9M", "8M"], + scorchingsands: ["9M", "8T"], secretpower: ["7M", "4M"], seedbomb: ["9M", "9L32", "8M", "8L32", "7L23", "4T"], sleeptalk: ["9M", "8M", "7M", "4M"], snore: ["8M", "4T"], solarbeam: ["9M", "8M", "7M", "4M"], - solarblade: ["8M"], + solarblade: ["9M", "8M"], stealthrock: ["9M", "8M", "7T", "4M"], strength: ["6M", "5M", "4M"], substitute: ["9M", "8M", "7M", "4M"], @@ -91280,6 +94146,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M", "8M", "7M", "4M"], synthesis: ["9L27", "8L27", "7L14", "4T", "4L48"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], terrainpulse: ["8T"], toxic: ["7M", "4M"], @@ -91323,7 +94190,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "4M"], icespinner: ["9M"], icywind: ["9M", "8M", "7T", "4T"], - knockoff: ["9L24", "8L24", "7L14", "4T", "4L14"], + knockoff: ["9M", "9L24", "8L24", "7L14", "4T", "4L14"], lightscreen: ["9M", "8M", "7M", "4M"], luckychant: ["7L55", "4L59"], magicroom: ["9E", "8M", "7E"], @@ -91345,7 +94212,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M"], safeguard: ["9L44", "8M", "8L44", "7M", "7L9", "4M", "4L9"], sandstorm: ["9M", "8M", "7M", "4M"], - sandtomb: ["8M", "7E", "4E"], + sandtomb: ["9M", "8M", "7E", "6E", "5E", "4E"], secretpower: ["7M", "4M"], selfdestruct: ["9E", "8M"], shadowball: ["9M", "8M", "7M", "4M"], @@ -91366,7 +94233,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "8M", "7M"], terablast: ["9M"], thief: ["9M", "8M", "7M"], - toxic: ["9L40", "8L40", "7M", "4M"], + toxic: ["9M", "9L40", "8L40", "7M", "6M", "5M", "4M"], toxicspikes: ["9M", "9L20", "8M", "8L20", "7L39", "4L39"], trickroom: ["9M", "8M", "7M", "4M"], twister: ["4T"], @@ -91406,7 +94273,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "4M"], gastroacid: ["9L1", "8L1", "7T", "4T"], gigaimpact: ["9M", "8M", "7M", "4M"], - gravity: ["9L50", "8L50", "7L47", "4T", "4L49"], + gravity: ["9M", "9L50", "8L50", "7L47", "4T", "4L49"], gunkshot: ["9M", "9L62", "8M", "8L62"], gust: ["9L1", "8L1", "7L1", "4L1"], healblock: ["7L54", "4L53"], @@ -91415,7 +94282,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M", "8M", "7M", "4M"], icespinner: ["9M"], icywind: ["9M", "8M", "7T", "4T"], - knockoff: ["9L24", "8L24", "7L14", "4T", "4L14"], + knockoff: ["9M", "9L24", "8L24", "7L14", "4T", "4L14"], lightscreen: ["9M", "8M", "7M", "4M"], luckychant: ["7L65", "4L67"], magicroom: ["8M"], @@ -91428,7 +94295,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { poisonjab: ["9M", "8M", "7M", "4M"], pounce: ["9M"], protect: ["9M", "8M", "7M", "4M"], - psychup: ["7M", "4M"], + psychup: ["9M", "7M", "4M"], raindance: ["9M", "8M", "7M", "4M"], rapidspin: ["9L16", "8L16", "7L9", "4L9"], reflect: ["9M", "8M", "7M", "4M"], @@ -91443,16 +94310,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M", "7M"], safeguard: ["9L1", "8M", "8L1", "7M", "4M"], sandstorm: ["9M", "8M", "7M", "4M"], - sandtomb: ["8M"], - scorchingsands: ["8T"], + sandtomb: ["9M", "8M"], + scorchingsands: ["9M", "8T"], secretpower: ["7M", "4M"], selfdestruct: ["8M"], shadowball: ["9M", "8M", "7M", "4M"], skillswap: ["9M", "8M", "7M", "4M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "4M"], sludgebomb: ["9M", "9L38", "8M", "8L38", "7M", "7L35", "4M", "4L35"], - sludgewave: ["8M", "7M"], + sludgewave: ["9M", "8M", "7M"], smartstrike: ["9M", "8M"], snatch: ["7M", "4M"], snore: ["8M", "7T", "4T"], @@ -91470,10 +94337,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], thief: ["9M", "8M", "7M", "4M"], torment: ["7M", "4M"], - toxic: ["9L44", "8L44", "7M", "4M"], + toxic: ["9M", "9L44", "8L44", "7M", "6M", "5M", "4M"], toxicspikes: ["9M", "9L20", "8M", "8L20", "7L41", "4L41"], trickroom: ["9M", "8M", "7M", "4M"], twister: ["4T"], + upperhand: ["9M"], uturn: ["9M", "8M", "7M", "4M"], venoshock: ["9M", "8M", "7M"], whirlwind: ["9L32", "8L32", "7L25", "4L25"], @@ -91537,7 +94405,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["7M", "4M"], shadowball: ["9M", "8M", "7M", "4M"], sleeptalk: ["9M", "8M", "7M", "4M"], - smackdown: ["9L1", "8L1", "7M"], + smackdown: ["9M", "9L1", "8L1", "7M"], snore: ["8M", "7T", "4T"], speedswap: ["8M"], stealthrock: ["9M", "8M", "7T", "4M"], @@ -91550,7 +94418,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M", "4M"], trick: ["9M", "8M", "7T", "4T"], - vacuumwave: ["9L24", "8L24", "7L60", "4T"], + vacuumwave: ["9M", "9L24", "8L24", "7L60", "4T"], zenheadbutt: ["9M", "8M", "7T"], }, }, @@ -91610,7 +94478,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["7M", "4M"], shadowball: ["9M", "8M", "7M", "4M"], sleeptalk: ["9M", "8M", "7M", "4M"], - smackdown: ["9L1", "8L1", "7M"], + smackdown: ["9M", "9L1", "8L1", "7M"], smartstrike: ["9M", "8M"], snore: ["8M", "7T", "4T"], speedswap: ["8M", "7L55"], @@ -91624,7 +94492,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M", "4M"], trick: ["9M", "8M", "7T", "4T"], - vacuumwave: ["9L24", "8L24", "7L60", "4T"], + vacuumwave: ["9M", "9L24", "8L24", "7L60", "4T"], zenheadbutt: ["9M", "8M", "7T"], }, }, @@ -91690,7 +94558,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["7M", "4M"], shadowball: ["9M", "8M", "7M", "4M"], sleeptalk: ["9M", "8M", "7M", "4M"], - smackdown: ["9L1", "8L1", "7M"], + smackdown: ["9M", "9L1", "8L1", "7M"], smartstrike: ["9M", "8M", "7M"], snore: ["8M", "7T", "4T"], speedswap: ["8M", "7L56"], @@ -91704,8 +94572,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], toxic: ["7M", "4M"], trick: ["9M", "8M", "7T", "4T"], - vacuumwave: ["9L24", "8L24", "7L60", "4T"], - weatherball: ["9L1", "8M", "8L1", "7L1", "4L1"], + vacuumwave: ["9M", "9L24", "8L24", "7L60", "4T"], + weatherball: ["9M", "9L1", "8M", "8L1", "7L1", "4L1"], zenheadbutt: ["9M", "8M", "7T"], }, }, @@ -91739,7 +94607,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "8M", "7M", "4M"], falseswipe: ["9M", "8M"], fling: ["9M", "8M", "7M", "4M"], - focuspunch: ["9L52", "8L52", "7L59", "4M", "4L67"], + focuspunch: ["9M", "9L52", "8L52", "7L59", "4M", "4L67"], foulplay: ["9M", "8M", "7T"], frustration: ["7M", "4M"], hail: ["8M", "7M", "4M"], @@ -91748,7 +94616,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icebeam: ["9M", "8M", "7M", "4M"], icepunch: ["9M", "8M", "7T", "4T"], icywind: ["9M", "8M", "7T", "4T"], - knockoff: ["9L24", "8L24", "7T", "4T"], + knockoff: ["9M", "9L24", "8L24", "7T", "6T", "5T", "4T"], lashout: ["8T"], liquidation: ["9M", "9L40"], lowkick: ["9M", "8M", "7T", "4T"], @@ -91770,7 +94638,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { retaliate: ["8M", "7M"], return: ["7M", "4M"], revenge: ["8M", "8L28", "7L42", "4L41"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], rockslide: ["9M", "8M", "7M", "4M"], rocksmash: ["4M"], rocktomb: ["9M", "8M", "7M", "4M"], @@ -91831,7 +94699,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { chipaway: ["7L30"], circlethrow: ["9L1", "8L1", "7L1"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M"], crosschop: ["7M"], crosspoison: ["8M"], @@ -91846,12 +94714,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { falseswipe: ["9M", "8M"], fling: ["9M", "8M", "7M", "4M"], focusblast: ["9M", "8M", "7M", "4M"], - focuspunch: ["9L60", "8L60", "7L73", "4M", "4L67"], + focuspunch: ["9M", "9L60", "8L60", "7L73", "4M", "4L67"], foulplay: ["9M", "8M", "7T"], frustration: ["7M", "4M"], gigaimpact: ["9M", "8M", "7M", "4M"], gunkshot: ["9M", "8M", "7T", "4T"], hail: ["8M", "7M", "4M"], + hardpress: ["9M"], headbutt: ["9L36", "8L36", "4T"], hiddenpower: ["7M", "4M"], hydropump: ["9M", "8M"], @@ -91859,14 +94728,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { icebeam: ["9M", "8M", "7M", "4M"], icepunch: ["9M", "8M", "7T", "4T"], icywind: ["9M", "8M", "7T", "4T"], - knockoff: ["9L24", "8L24", "7T", "4T"], + knockoff: ["9M", "9L24", "8L24", "7T", "4T"], lashout: ["8T"], liquidation: ["9M", "9L42"], lowkick: ["9M", "8M", "7T", "4T"], lowsweep: ["9M", "8M", "7M"], machpunch: ["9L16", "8L16", "7L35", "4L32"], megapunch: ["8M"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], poisonjab: ["9M", "8M", "7M"], @@ -91879,7 +94748,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { retaliate: ["8M", "7M"], return: ["7M", "4M"], revenge: ["8M", "8L28", "7L46", "4L41"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], rockslide: ["9M", "8M", "7M", "4M"], rocksmash: ["4M"], rocktomb: ["9M", "8M", "7M", "4M"], @@ -91888,7 +94757,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["8M", "8L42", "7M", "7L40"], scaryface: ["9M", "8M"], secretpower: ["7M", "4M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "4M"], sludgebomb: ["9M", "8M", "7M", "4M"], smokescreen: ["9L12", "8L12", "7L7", "4L7"], @@ -91907,7 +94776,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L32", "8M", "8L32", "7M", "7L24", "4M", "4L36"], terablast: ["9M"], thief: ["9M", "9L1", "8M", "8L1", "7M", "7L51", "4M", "4L47"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunderpunch: ["9M", "8M", "7T", "4T"], torment: ["7M", "4M"], toxic: ["7M", "4M"], @@ -91915,7 +94784,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { waterfall: ["9M", "8M", "7M", "4M"], watergun: ["9L1", "8L1"], waterpulse: ["9M", "7T", "4M"], - whirlpool: ["8M", "4M"], + whirlpool: ["9M", "8M", "4M"], wideguard: ["9L54", "8L54", "7L62"], workup: ["8M", "7M"], wrap: ["9L1", "8L1", "7L1", "4L1"], @@ -91958,7 +94827,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icepunch: ["9M", "8M", "7T", "4T"], icywind: ["9M", "8M", "7T", "4T"], irontail: ["9E", "8M", "7E", "6E", "5E", "4M"], - knockoff: ["9L36", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "9L36", "7T", "6T", "5T", "4T"], lastresort: ["7T", "4T"], lick: ["9L4", "8L4", "7L6", "4L6"], magiccoat: ["7T", "4T"], @@ -91974,7 +94843,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { payback: ["8M", "7M", "4M"], perishsong: ["9L48", "8L48", "7L56", "4L55"], playrough: ["9M", "8M", "7E"], - poltergeist: ["8T"], + poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M", "4M"], psychoshift: ["8E", "7E", "4E"], psychup: ["7M", "4M"], @@ -91983,7 +94852,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { retaliate: ["8M", "7M"], return: ["7M", "4M"], revenge: ["8M", "8L36", "7L39", "4L44"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], round: ["8M", "7M"], safeguard: ["8M", "7M", "4M"], scratch: ["9L1", "8L1", "7L1", "4L1"], @@ -91995,7 +94864,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M", "7M", "4M"], snatch: ["7M", "4M"], snore: ["8M", "7T", "4T"], - spite: ["9L12", "8L12", "7T", "4T"], + spite: ["9M", "9L12", "8L12", "7T", "6T", "5T", "4T"], substitute: ["9M", "8M", "7M", "4M"], suckerpunch: ["9E", "8E", "7E", "4T"], sunnyday: ["9M", "8M", "7M", "4M"], @@ -92035,7 +94904,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { dreameater: ["7M", "4M"], earthquake: ["9M", "8M", "7M", "4M"], embargo: ["7M", "4M"], - endeavor: ["7T", "4T"], + endeavor: ["9M", "7T", "4T"], facade: ["9M", "8M", "7M", "4M"], fakeout: ["9L1", "8L1", "7L27", "4L35"], falseswipe: ["9M", "8M", "7M", "4M"], @@ -92057,7 +94926,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irondefense: ["9M", "8M", "7T", "4T"], ironhead: ["9M", "9L40", "8M", "8L40", "7L43", "4T"], irontail: ["8M", "4M"], - knockoff: ["9L36", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "9L36", "7T", "6T", "5T", "4T"], lastresort: ["7T", "4T"], lick: ["9L1", "8L1", "7L6", "4L6"], lowkick: ["9M", "8M", "7T", "4T"], @@ -92073,15 +94942,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { payback: ["8M", "7M", "4M"], perishsong: ["9L52", "8L52", "7L56", "4L55"], playrough: ["9M", "8M", "7E"], - poltergeist: ["8T"], + poltergeist: ["9M", "8T"], protect: ["9M", "8M", "7M", "4M"], - psychup: ["7M", "4M"], + psychup: ["9M", "7M", "4M"], raindance: ["9M", "8M", "7M", "4M"], rest: ["9M", "8M", "7M", "4M"], retaliate: ["8M", "7M"], return: ["7M", "4M"], revenge: ["8M", "8L36", "7L39", "4L44"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], round: ["8M", "7M"], safeguard: ["8M", "7M", "4M"], scratch: ["9L1", "8L1", "7L1", "4L1"], @@ -92090,17 +94959,17 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L35", "4M", "4L40"], shadowsneak: ["9L16", "8L16", "7L18", "4L18"], shadowstrike: ["9L44", "8L44", "7L48", "4L49"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "4M"], snatch: ["7M", "4M"], snore: ["8M", "7T", "4T"], - spite: ["9L12", "8L12", "7T", "4T"], + spite: ["9M", "9L12", "8L12", "7T", "6T", "5T", "4T"], steelbeam: ["9M", "8T"], strengthsap: ["9L1"], substitute: ["9M", "8M", "7M", "4M"], suckerpunch: ["4T"], sunnyday: ["9M", "8M", "7M", "4M"], - superfang: ["7T", "4T"], + superfang: ["9M", "7T", "6T", "5T", "4T"], superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["7M", "4M"], tailwhip: ["9L1", "8L1", "7L1", "4L1"], @@ -92125,7 +94994,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bide: ["7L1", "4L1"], blizzard: ["9M", "8M", "7M", "4M"], captivate: ["4M"], - charge: ["9L12", "8L12", "7L11", "4L11"], + charge: ["9M", "9L12", "8L12", "7L11", "4L11"], chargebeam: ["9M", "7M", "4M"], chillingwater: ["9M"], confide: ["7M"], @@ -92168,7 +95037,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "4M"], return: ["7M", "4M"], risingvoltage: ["8T"], - roar: ["9E", "8E", "7M", "4M"], + roar: ["9M", "9E", "8E", "7M", "6M", "5M", "4M"], round: ["8M", "7M"], sandstorm: ["9M", "8M", "7M", "4M"], secretpower: ["7M", "4M"], @@ -92200,7 +95069,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { voltswitch: ["9M", "8M", "7M"], waterfall: ["9M", "8M", "7M", "4M"], waterpulse: ["9M", "7T", "4M"], - weatherball: ["9E", "8M"], + weatherball: ["9M", "9E", "8M"], whirlwind: ["9L16", "8L16", "7L1", "4L1"], wildcharge: ["9M", "8M", "7M"], zapcannon: ["9L44", "8L44", "7L59", "4L59"], @@ -92214,7 +95083,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bide: ["7L1", "4L1"], blizzard: ["9M", "8M", "7M", "4M"], captivate: ["4M"], - charge: ["9L12", "8L12", "7L11", "4L11"], + charge: ["9M", "9L12", "8L12", "7L11", "4L11"], chargebeam: ["9M", "7M", "4M"], chillingwater: ["9M"], confide: ["7M"], @@ -92264,7 +95133,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "4M"], return: ["7M", "4M"], risingvoltage: ["8T"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], round: ["8M", "7M"], sandstorm: ["9M", "8M", "7M", "4M"], secretpower: ["7M", "4M"], @@ -92297,7 +95166,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { voltswitch: ["9M", "8M", "7M"], waterfall: ["9M", "8M", "7M", "4M"], waterpulse: ["9M", "7T", "4M"], - weatherball: ["8M"], + weatherball: ["9M", "8M"], whirlwind: ["9L16", "8L16", "7L1", "4L1"], wildcharge: ["9M", "8M", "7M"], zapcannon: ["9L52", "8L52", "7L59", "4L59"], @@ -92313,7 +95182,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { breakingswipe: ["9L1", "8M"], bulldoze: ["9M", "8M", "7M"], captivate: ["4M"], - charge: ["9L12", "8L12", "7L11", "4L11"], + charge: ["9M", "9L12", "8L12", "7L11", "4L11"], chargebeam: ["9M", "7M", "4M"], chillingwater: ["9M"], confide: ["7M"], @@ -92322,6 +95191,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["7M", "4M"], dracometeor: ["9M", "8T", "7T", "4T"], dragonbreath: ["9L20", "8L20", "7L29"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M", "7M", "4M"], dragonpulse: ["9M", "8M", "7T", "4M"], dragonrage: ["7L24", "4L7"], @@ -92330,7 +95200,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "4M"], fireblast: ["9M", "8M", "7M", "4M"], @@ -92355,7 +95225,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { irontail: ["8M", "7T"], lightscreen: ["9M", "8M", "7M", "4M"], lockon: ["9L56", "8L56"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], mudslap: ["9M", "4T"], naturalgift: ["4M"], naturepower: ["7M"], @@ -92366,7 +95236,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "4M"], return: ["7M", "4M"], risingvoltage: ["8T"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], round: ["8M", "7M"], sandstorm: ["9M", "8M", "7M", "4M"], secretpower: ["7M", "4M"], @@ -92380,6 +95250,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { strength: ["4M"], substitute: ["9M", "8M", "7M", "4M"], sunnyday: ["9M", "8M", "7M", "4M"], + supercellslam: ["9M"], surf: ["9M", "8M", "7M", "4M"], swagger: ["7M"], swift: ["9M", "8M", "4T"], @@ -92400,7 +95271,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { voltswitch: ["9M", "8M", "7M"], waterfall: ["9M", "8M", "7M", "4M"], waterpulse: ["9M", "7T", "4M"], - weatherball: ["8M", "7L42"], + weatherball: ["9M", "8M", "7L42"], whirlwind: ["9L16", "8L16", "7L1", "4L1"], wildcharge: ["9M", "8M", "7M"], zapcannon: ["9L56", "8L56", "7L59", "4L59"], @@ -92442,10 +95313,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { foulplay: ["9M", "8M", "7T"], frustration: ["7M", "4M"], hiddenpower: ["7M", "4M"], - highhorsepower: ["8M"], + highhorsepower: ["9M", "8M"], icespinner: ["9M"], irontail: ["8M", "7T", "4M"], - knockoff: ["9L25", "8L25", "7T", "4T"], + knockoff: ["9M", "9L25", "8L25", "7T", "6T", "5T", "4T"], leer: ["9L1", "8L1", "7L1", "4L1"], magnitude: ["7L32", "4L42"], mudshot: ["9M"], @@ -92460,14 +95331,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "4M"], retaliate: ["8M", "7M"], return: ["7M", "4M"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], rockslide: ["9M", "8M", "7M", "4M"], rocksmash: ["7M", "4M"], rocktomb: ["9M", "8M", "7M"], rollout: ["4T"], round: ["8M", "7M"], sandstorm: ["9M", "8M", "7M", "4M"], - sandtomb: ["9L10", "8M", "8L10", "7E", "4E"], + sandtomb: ["9M", "9L10", "8M", "8L10", "7E", "6E", "5E", "4E"], scorchingsands: ["8T"], screech: ["8M", "7E", "4E"], secretpower: ["7M", "4M"], @@ -92530,14 +95401,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "4M"], headlongrush: ["9L63"], hiddenpower: ["7M", "4M"], - highhorsepower: ["9L1", "8M", "8L1", "7L1"], + highhorsepower: ["9M", "9L1", "8M", "8L1", "7L1"], hornattack: ["9L1", "8L1", "7L5", "4L6"], horndrill: ["9L70", "8L63", "7L74", "4L70"], hyperbeam: ["9M", "8M", "7M", "4M"], icespinner: ["9M"], irontail: ["8M", "7T", "4M"], - knockoff: ["9L25", "8L25", "7T", "4T"], - lashout: ["8T"], + knockoff: ["9M", "9L25", "8L25", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], leer: ["9L1", "8L1", "7L1", "4L1"], magnitude: ["7L32", "4L42"], megahorn: ["9L56", "8M", "8L56", "7L64", "4L63"], @@ -92553,15 +95424,15 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "4M"], retaliate: ["8M", "7M"], return: ["7M", "4M"], - roar: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], rockslide: ["9M", "8M", "7M", "4M"], rocksmash: ["7M", "4M"], rocktomb: ["9M", "8M", "7M"], rollout: ["4T"], round: ["8M", "7M"], sandstorm: ["9M", "8M", "7M", "4M"], - sandtomb: ["9L1", "8M", "8L1"], - scorchingsands: ["8T"], + sandtomb: ["9M", "9L1", "8M", "8L1"], + scorchingsands: ["9M", "8T"], screech: ["8M"], secretpower: ["7M", "4M"], sleeptalk: ["9M", "8M", "7M", "4M"], @@ -92577,11 +95448,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { substitute: ["9M", "8M", "7M", "4M"], suckerpunch: ["4T"], sunnyday: ["9M", "8M", "7M", "4M"], + supercellslam: ["9M"], superpower: ["8M", "7T", "6T", "5T", "4T"], swagger: ["7M", "4M"], swallow: ["9L42", "8L42", "7L53", "4L48"], takedown: ["9M"], taunt: ["9M", "8M", "7M", "4M"], + temperflare: ["9M"], terablast: ["9M"], thunderfang: ["9M", "8M"], torment: ["7M"], @@ -92592,7 +95465,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { protowatt: { learnset: { bubble: ["7L1", "4L1"], - charge: ["9L1", "8L1", "7L1", "4L1"], + charge: ["9M", "9L1", "8L1", "7L1", "4L1"], confuseray: ["9M", "9L10", "8L10", "7L11", "4L11"], counter: ["9E", "8E", "7E", "4E"], entrainment: ["9E", "8E", "7E"], @@ -92612,12 +95485,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { aquatail: ["9L50", "8L50", "7L1"], attract: ["8M", "7M", "4M"], - blizzard: ["9M", "8M", "7M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M"], bubble: ["7L1", "4L1"], bubblebeam: ["9L0", "8L0", "7L28", "4L28"], bulldoze: ["9M", "8M", "7M"], captivate: ["4M"], - charge: ["9L1", "8L1", "7L1", "4L1"], + charge: ["9M", "9L1", "8L1", "7L1", "4L1"], chillingwater: ["9M"], confide: ["7M"], confuseray: ["9M", "9L1", "8L1", "7L11", "4L11"], @@ -92632,7 +95505,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { eerieimpulse: ["9M", "8M"], electricterrain: ["9M", "8M"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], endure: ["9M", "8M", "4M"], facade: ["9M", "8M", "7M", "4M"], flash: ["4M"], @@ -92643,12 +95516,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "4M"], guillotine: ["9L60", "8L60", "7L57", "4L57"], hail: ["8M", "7M", "4M"], - heartswap: ["7L53", "4L46"], + heartswap: ["9S0", "7L53", "4L46"], helpinghand: ["9M", "8M", "7T", "4T"], hiddenpower: ["7M", "4M"], hyperbeam: ["9M", "8M", "7M", "4M"], - icebeam: ["9M", "8M", "7M", "4M"], - icepunch: ["9M", "8M", "7T", "4T"], + icebeam: ["9M", "9S0", "8M", "7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], iceshard: ["9L1", "8L1", "7L1", "4L1"], icywind: ["9M", "8M", "7T", "4T"], imprison: ["9M", "9L20", "8M", "8L20", "7L17", "4L17"], @@ -92680,12 +95553,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { snowscape: ["9M"], speedswap: ["8M"], substitute: ["9M", "8M", "7M", "4M"], - surf: ["9M", "8M", "7M", "4M"], + surf: ["9M", "9S0", "8M", "7M", "4M"], swagger: ["7M"], swift: ["9M", "8M", "4T"], terablast: ["9M"], thunder: ["9M", "9L55", "8M", "8L55", "7M", "7L63", "4M", "4L63"], - thunderbolt: ["9M", "8M", "7M", "4M"], + thunderbolt: ["9M", "9S0", "8M", "7M", "4M"], thunderpunch: ["9M", "8M", "7T", "4T"], thundershock: ["9L1", "8L1", "7L5", "4L5"], thunderwave: ["9M", "8M", "7M", "4M"], @@ -92698,6 +95571,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { whirlpool: ["9L35", "8M", "7M", "4M"], wildcharge: ["9M", "9L45", "8M", "8L45", "7M", "7L53"], }, + eventData: [ + {generation: 9, level: 50, moves: ["surf", "thunderbolt", "icebeam", "heartswap"], pokeball: "pokeball"}, + ], }, voodoll: { learnset: { @@ -92708,9 +95584,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M", "4M"], aurasphere: ["9M", "9L36", "8M", "8L36", "7L45", "4L45"], batonpass: ["9M", "8M", "7E", "4E"], - burningjealousy: ["8T"], + burningjealousy: ["9M", "8T"], captivate: ["4M"], - charge: ["9L20", "8L20", "7L19", "4L19"], + charge: ["9M", "9L20", "8L20", "7L19", "4L19"], confide: ["7M"], copycat: ["9L4", "8L4", "7L1", "4L1"], counter: ["9E", "8E", "7E", "4T"], @@ -92730,8 +95606,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["7M", "4M"], hypervoice: ["9M", "8M", "7T"], imprison: ["9M", "8M", "7E", "4E"], - knockoff: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], - lashout: ["8T"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lashout: ["9M", "8T"], machpunch: ["9E", "8E", "7E", "4E"], magiccoat: ["7T", "4T"], magicroom: ["8M", "7T"], @@ -92765,7 +95641,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snarl: ["9M", "8M", "7M"], snatch: ["4M"], snore: ["8M", "7T", "4T"], - spite: ["9L12", "8L12", "7T", "7L11", "6T", "5T", "4T", "4L11"], + spite: ["9M", "9L12", "8L12", "7T", "7L11", "6T", "5T", "4T", "4L11"], strength: ["7M", "4M"], substitute: ["9M", "8M", "7M", "7L50", "4M", "4L50"], suckerpunch: ["9E", "8E"], @@ -92780,8 +95656,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderwave: ["9M", "8M", "7M", "4M"], torment: ["9L33", "7M", "6M", "5M", "4M"], toxic: ["7M", "4M"], - uproar: ["8M", "7T", "4T"], - vacuumwave: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + vacuumwave: ["9M", "9E", "8E", "7E", "6E", "5E", "4T", "4E"], voltswitch: ["9M"], workup: ["8M", "7M"], wrap: ["9L1", "8L1", "7L1", "4L1"], @@ -92801,11 +95677,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { brutalswing: ["8M"], bulkup: ["8M", "7M", "4M"], bulldoze: ["8M", "7M"], - burningjealousy: ["8T"], + burningjealousy: ["9M", "8T"], captivate: ["4M"], - charge: ["9L20", "8L20", "7L19", "4L19"], + charge: ["9M", "9L20", "8L20", "7L19", "4L19"], closecombat: ["9M", "9L64", "8M", "8L64", "7L35", "4L35"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M"], copycat: ["9L1", "8L1", "7L1", "4L1"], counter: ["4T"], @@ -92822,7 +95698,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flashcannon: ["9M", "8M", "7M"], fling: ["9M", "8M", "7M", "4M"], focusblast: ["9M", "8M", "7M", "4M"], - focuspunch: ["7T", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], followme: ["9L1", "8L1", "7L20", "4L20"], foulplay: ["9M", "9L58", "8M", "8L58", "7L61"], frustration: ["7M", "4M"], @@ -92834,8 +95710,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { hypervoice: ["9M", "8M", "7T"], icepunch: ["9M", "8M", "7T", "4T"], imprison: ["9M", "8M"], - knockoff: ["7T", "6T", "5T", "4T"], - lashout: ["8T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], lowkick: ["9M", "8M", "7T", "4T"], lowsweep: ["9M", "8M", "7M"], magiccoat: ["7T", "4T"], @@ -92868,7 +95744,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snarl: ["9M", "8M", "7M"], snatch: ["4M"], snore: ["8M", "7T", "4T"], - spite: ["9L12", "8L12", "7T", "7L1", "6T", "5T", "4T", "4L1"], + spite: ["9M", "9L12", "8L12", "7T", "7L1", "6T", "5T", "4T", "4L1"], stoneedge: ["9M", "8M", "7M", "4M"], strength: ["7M", "4M"], substitute: ["9M", "8M", "7M", "7L50", "4M", "4L50"], @@ -92876,6 +95752,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "4M"], taunt: ["9M", "8M", "7M", "4M"], tearfullook: ["9L24", "8L24", "7L22"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "4M"], throatchop: ["9L1", "8M", "8L1"], @@ -92884,8 +95761,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderwave: ["9M", "8M", "7M", "4M"], torment: ["9L35", "7M", "6M", "5M", "4M"], toxic: ["7M", "4M"], - uproar: ["8M", "7T", "4T"], - vacuumwave: ["4T"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + vacuumwave: ["9M", "4T"], voltswitch: ["9M"], workup: ["8M", "7M"], wrap: ["9L1", "8L1", "7L1", "4L1"], @@ -92918,7 +95795,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { furyswipes: ["9L9", "8L9", "7L18", "5L1"], grassknot: ["9M", "8M", "7M", "5M"], harden: ["9L1", "8L1", "7L4", "5L9"], - haze: ["9E", "8E", "7E", "5E"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E"], helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M", "5M"], hypervoice: ["9M", "9L33", "8M", "8L33", "7L36", "5L36"], @@ -92938,7 +95815,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "5M"], revenge: ["8M"], reversal: ["9M", "8M"], - roar: ["9L18", "8L18", "7M", "7L23", "7E", "5M", "5L23", "5E"], + roar: ["9M", "9L18", "8L18", "7M", "7L23", "7E", "6M", "6E", "5M", "5L23", "5E"], rockslide: ["9M", "8M", "7M", "5M"], rocksmash: ["9L12", "8L12", "7T", "7L9", "6M", "5M", "5L18"], rocktomb: ["9M", "8M", "7M", "5M"], @@ -92984,11 +95861,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulkup: ["9M", "9L1", "8M", "8L1", "7M", "5M"], bulldoze: ["9M", "8M", "7M", "5M"], closecombat: ["9M", "8M"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7M"], confuseray: ["9M", "7M"], doubleteam: ["7M", "5M"], - dualwingbeat: ["8T"], + dualwingbeat: ["9M", "8T"], earthquake: ["9M", "8M", "7M", "5M"], echoedvoice: ["7M", "5M"], endure: ["9M", "8M"], @@ -93004,6 +95881,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "5M"], grassknot: ["9M", "8M", "7M", "5M"], harden: ["9L1", "8L1", "7L1", "5L1"], + haze: ["9M"], healingwish: ["9L46", "8L46", "7L60", "5L60"], heatwave: ["9M", "8M", "7L42", "5L45"], helpinghand: ["9M", "8M", "7T"], @@ -93025,7 +95903,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "5M"], revenge: ["8M"], reversal: ["9M", "8M"], - roar: ["9L1", "8L1", "7M", "5M"], + roar: ["9M", "9L1", "8L1", "7M", "6M", "5M"], rockslide: ["9M", "8M", "7M", "5M"], rocksmash: ["9L1", "8L1", "6M", "5M"], rocktomb: ["9M", "8M", "7M", "5M"], @@ -93052,7 +95930,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { taunt: ["9M", "9L1", "8M", "8L1", "7M", "5M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "5M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], toxic: ["7M", "5M"], trailblaze: ["9M"], whirlwind: ["9L18", "8L18", "7L23", "5L23"], @@ -93080,7 +95958,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { grassknot: ["9M", "8M", "7M", "5M"], grassyglide: ["8T"], grassyterrain: ["9M", "9L32", "8M", "8L32", "7L22"], - gravity: ["9E", "8E", "7E", "6T", "5E"], + gravity: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], hex: ["9M", "9L16", "8M", "8L16", "7L18", "5L25"], hiddenpower: ["7M", "5M"], ingrain: ["9E", "8E", "7E", "5E"], @@ -93114,7 +95992,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], solarbeam: ["9M", "8M", "7M", "5M"], - spite: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + spite: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], substitute: ["9M", "8M", "7M", "5M"], sunnyday: ["9M", "8M", "7M", "5M"], swagger: ["7M", "5M"], @@ -93146,13 +96024,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "8M", "7M", "5M"], flash: ["6M", "5M"], frustration: ["7M", "5M"], - futuresight: ["8M"], + futuresight: ["9M", "8M"], gigadrain: ["8M", "6T"], gigaimpact: ["9M", "8M", "7M", "5M"], grassknot: ["9M", "8M", "7M", "5M"], grassyglide: ["8T"], grassyterrain: ["9M", "9L34", "8M", "8L34", "7L34"], - gravity: ["6T"], + gravity: ["9M", "7T", "6T", "5T"], hex: ["9M", "9L16", "8M", "8L16", "7L28", "5L25"], hiddenpower: ["7M", "5M"], hornleech: ["9L0", "8L0", "7L1", "5L31"], @@ -93172,7 +96050,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { powerwhip: ["9L52", "8M", "8L52", "7L56", "5L60"], protect: ["9M", "8M", "7M", "5M"], psychic: ["9M", "8M", "7M", "5M"], - psychup: ["7M", "5M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "5M"], rest: ["9M", "8M", "7M", "5M"], return: ["7M", "5M"], round: ["8M", "7M", "5M"], @@ -93181,16 +96060,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "9L40", "8M", "8L40", "7M", "7L50", "5M", "5L50"], shadowclaw: ["9M", "8M", "7M", "5M"], shadowsneak: ["9L1", "8L1", "7L6", "5L13"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], solarbeam: ["9M", "8M", "7M", "5M"], - solarblade: ["8M"], - spite: ["7T", "6T", "5T"], + solarblade: ["9M", "8M"], + spite: ["9M", "7T", "6T", "5T"], stoneedge: ["9M", "8M", "7M", "5M"], substitute: ["9M", "8M", "7M", "5M"], sunnyday: ["9M", "8M", "7M", "5M"], - superfang: ["9L1", "8L1", "7L1", "6T", "5L1"], + superfang: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "5T", "5L1"], swagger: ["7M", "5M"], telekinesis: ["6M", "5M"], terablast: ["9M"], @@ -93261,7 +96140,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["7M"], selfdestruct: ["8M"], shockwave: ["7T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M", "7E", "5E"], sludgebomb: ["9M", "8M", "7M", "5M"], sludgewave: ["9L36", "8M", "8L36", "7M", "5M"], @@ -93278,7 +96157,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunder: ["9M", "8M", "7M", "5M"], thunderbolt: ["9M", "8M", "7M", "5M"], thunderwave: ["9M", "8M", "7M", "5M"], - toxic: ["9L64", "8L64", "7M", "5M"], + toxic: ["9M", "9L64", "8L64", "7M", "6M", "5M"], toxicspikes: ["9M", "9L44", "8M", "8L44", "7L44", "5L41"], trick: ["9M", "8M", "7E", "6T", "5E"], venomdrench: ["8M", "7E"], @@ -93292,7 +96171,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { allyswitch: ["8M", "5M"], ancientpower: ["9L21", "8L21", "7L44", "5L44"], attract: ["8M", "7M", "5M"], - bugbite: ["9L15", "8L15", "7T", "7L7", "5T", "5L7"], + bugbite: ["9M", "9L15", "8L15", "7T", "7L7", "6T", "5T", "5L7"], bugbuzz: ["9M", "8M", "7E", "5E"], calmmind: ["9M"], closecombat: ["9M", "8M", "7E", "5E"], @@ -93355,7 +96234,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sunnyday: ["9M", "9L3", "8M", "8L3", "7M", "7L14", "5M", "5L14"], swagger: ["7M", "5M"], tackle: ["9L1", "8L1", "7L1", "5L1"], - tailglow: ["7L60"], + tailglow: ["9E", "7L60"], telekinesis: ["5M"], terablast: ["9M"], toxic: ["7M", "5M"], @@ -93374,7 +96253,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { allyswitch: ["8M", "5M"], ancientpower: ["9L21", "8L21", "7L47", "5L47"], attract: ["8M", "7M", "5M"], - bugbite: ["9L15", "8L15", "7T", "7L7", "5T", "5L7"], + bugbite: ["9M", "9L15", "8L15", "7T", "7L7", "6T", "5T", "5L7"], bugbuzz: ["9M", "8M"], calmmind: ["9M"], closecombat: ["9M", "8M"], @@ -93455,19 +96334,20 @@ export const Learnsets: {[k: string]: LearnsetData} = { ancientpower: ["9L21", "8L21", "7L47", "5L47"], attract: ["8M", "7M", "5M"], blizzard: ["9M", "8M", "7M", "5M"], - bugbite: ["9L15", "8L15", "7T", "5T"], + bugbite: ["9M", "9L15", "8L15", "7T", "6T", "5T"], bugbuzz: ["8M"], calmmind: ["9M"], closecombat: ["9M", "8M"], confide: ["7M"], cut: ["6M", "5M"], doubleteam: ["9L9", "8L9", "7M", "5M"], + dragoncheer: ["9M"], dragondance: ["9M", "9L1", "8M", "8L1", "7L1", "5L1"], dreameater: ["7M", "5M"], - dualwingbeat: ["8T"], + dualwingbeat: ["9M", "8T"], echoedvoice: ["7M", "5M"], - electroweb: ["8M", "7T", "5T"], - expandingforce: ["8T"], + electroweb: ["9M", "8M", "7T", "5T"], + expandingforce: ["9M", "8T"], facade: ["9M", "8M", "7M", "5M"], finalgambit: ["9L61", "8L61", "5L41"], flash: ["6M", "5M"], @@ -93496,6 +96376,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { pounce: ["9M"], protect: ["9M", "8M", "7M", "5M"], psychic: ["9M", "9L47", "8M", "8L47", "7M", "5M"], + psychicnoise: ["9M"], psychicterrain: ["9M", "9L0", "8M", "8L0", "7L1"], psychup: ["7M", "5M"], psyshock: ["9M", "8M", "7M", "5M"], @@ -93514,7 +96395,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { signalbeam: ["7T"], silverwind: ["7L1", "5L1"], skillswap: ["9M", "8M", "7T", "5T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], snowscape: ["9M"], @@ -93567,14 +96448,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigadrain: ["9M", "8M", "7T", "5T"], glare: ["9L32", "8L32", "7L1", "7E", "5E"], grassknot: ["9M", "9L16", "8M", "8L16", "7M", "7L15", "5M", "5L18"], - grassyglide: ["8T"], - haze: ["9E", "8E", "7E", "5E"], + grassyglide: ["9M", "8T"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E"], healbell: ["7T", "5T"], hiddenpower: ["7M", "5M"], icefang: ["9M", "8M", "7E"], irontail: ["8M", "7T", "5T"], - knockoff: ["9E", "8E", "7T", "6T", "5T"], - lashout: ["8T"], + knockoff: ["9M", "9E", "8E", "7T", "6T", "5T"], + lashout: ["9M", "8T"], leafblade: ["9L36", "8M", "8L36", "7L26", "5L34"], leer: ["9L1", "8L1", "7L1"], nastyplot: ["9M", "8M"], @@ -93592,9 +96473,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "5M"], retaliate: ["8M", "7M", "5M"], return: ["7M", "5M"], - roar: ["7M", "5M"], + roar: ["9M", "7M", "6M", "5M"], round: ["8M", "7M", "5M"], - scaleshot: ["8T"], + scaleshot: ["9M", "8T"], scaryface: ["9M", "9L12", "8M", "8L12", "7L11", "7E", "5E"], screech: ["9E", "8M", "7E", "5E"], secretpower: ["7M"], @@ -93606,7 +96487,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { snore: ["8M", "7T", "5T"], solarbeam: ["9M", "8M", "7M", "5M"], spikyshield: ["9L40", "8L40", "7L40"], - spite: ["9E", "7T", "6T", "5T"], + spite: ["9M", "9E", "7T", "6T", "5T"], strength: ["6M", "5M"], stunspore: ["9E", "8E", "7E", "5E"], substitute: ["9M", "8M", "7M", "5M"], @@ -93623,7 +96504,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { trailblaze: ["9M"], uturn: ["9M", "8M", "7M", "5M"], vinewhip: ["9L4", "8L4", "7L5", "5L1"], - weatherball: ["8M"], + weatherball: ["9M", "8M"], wildcharge: ["9M", "8M", "7M", "5M"], worryseed: ["7T", "5T"], wrap: ["9L1", "8L1", "7L1", "5L1"], @@ -93635,13 +96516,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M", "7M", "5M"], beatup: ["8M"], bind: ["7T", "5T"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M", "7M"], confide: ["7M"], crunch: ["9M", "9L28", "8M", "8L28", "7L43", "5L42"], cut: ["6M", "5M"], darkpulse: ["9M", "8M", "7M", "5T"], doubleteam: ["7M", "5M"], + dragoncheer: ["9M"], dragontail: ["9M", "7M", "5M"], endure: ["9M", "8M"], energyball: ["9M", "8M", "7M", "5M"], @@ -93653,15 +96535,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "5M"], glare: ["9L32", "8L32", "7L38"], grassknot: ["9M", "9L16", "8M", "8L16", "7M", "7L20", "5M", "5L18"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], gravapple: ["9L0", "8L0"], + haze: ["9M"], healbell: ["7T", "5T"], hiddenpower: ["7M", "5M"], hyperbeam: ["9M", "8M", "7M", "5M"], icefang: ["9M", "8M"], irontail: ["8M", "7T", "5T"], - knockoff: ["7T", "6T", "5T"], - lashout: ["8T"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], leafblade: ["9L38", "8M", "8L38", "7L34", "5L36"], leer: ["9L1", "8L1", "7L1"], nastyplot: ["9M", "8M"], @@ -93678,22 +96561,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "5M"], retaliate: ["8M", "7M", "5M"], return: ["7M", "5M"], - roar: ["7M", "5M"], + roar: ["9M", "7M", "6M", "5M"], round: ["8M", "7M", "5M"], - scaleshot: ["8T"], + scaleshot: ["9M", "8T"], scaryface: ["9M", "9L12", "8M", "8L12", "7L15"], screech: ["8M"], secretpower: ["7M"], seedbomb: ["9M", "8M", "7T", "5T"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], slam: ["9L24", "8L24", "7L29", "5L30"], sleeptalk: ["9M", "8M", "7M", "5T"], snarl: ["9M", "8M", "7M", "5M"], snore: ["8M", "7T", "5T"], solarbeam: ["9M", "8M", "7M", "5M"], - solarblade: ["9L62", "8M", "8L62", "7L66"], + solarblade: ["9M", "9L62", "8M", "8L62", "7L66"], spikyshield: ["9L44", "8L44", "7L52"], - spite: ["7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], strength: ["6M", "5M"], substitute: ["9M", "8M", "7M", "5M"], suckerpunch: ["9L20", "8L20", "7L24", "5L25"], @@ -93701,15 +96584,16 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M", "5M"], synthesis: ["7T", "6T", "5T"], taunt: ["9M", "8M", "7M", "5M"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "8M", "7M", "5M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunderfang: ["9M", "8M"], toxic: ["7M", "6M", "5M"], trailblaze: ["9M"], uturn: ["9M", "8M", "7M", "5M"], vinewhip: ["9L1", "8L1", "7L6", "5L1"], - weatherball: ["8M"], + weatherball: ["9M", "8M"], wildcharge: ["9M", "8M", "7M", "5M"], worryseed: ["7T", "5T"], wrap: ["9L1", "8L1", "7L1", "5L1"], @@ -93746,7 +96630,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hurricane: ["9M", "9L48", "8M", "8L48", "5L53"], irondefense: ["9M", "8M"], ironhead: ["9M", "8M", "5T"], - knockoff: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], leer: ["9L1", "8L1", "5L1"], metalclaw: ["9M", "9L12", "8L12", "5L13"], metalsound: ["9E", "8E", "7E", "5E"], @@ -93771,7 +96655,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { skyattack: ["5T"], skydrop: ["5M"], sleeptalk: ["9M", "8M", "5T"], - smackdown: ["5M"], + smackdown: ["9M", "7M", "6M", "5M"], snatch: ["5T"], snore: ["8M", "5T"], steelbeam: ["9M", "8T"], @@ -93812,7 +96696,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { detect: ["9L32", "8L32", "7L26", "5L26"], doubleteam: ["7M", "5M"], drainpunch: ["9M", "8M", "7T", "5T"], - dualwingbeat: ["8T"], + dualwingbeat: ["9M", "8T"], endeavor: ["7T", "6T", "5T"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "5M"], @@ -93821,12 +96705,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "5M"], gigaimpact: ["9M", "8M", "7M", "5M"], growl: ["9L1", "8L1", "7L5", "5L5"], + hardpress: ["9M"], hiddenpower: ["7M", "5M"], hurricane: ["9M", "9L62", "8M", "8L62", "7L64", "5L58"], hyperbeam: ["9M", "8M", "7M", "5M"], irondefense: ["9M", "8M"], ironhead: ["9M", "8M", "7T", "5T"], - knockoff: ["7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], leer: ["9L1", "8L1", "7L1", "5L1"], megapunch: ["8M"], metalclaw: ["9M", "9L12", "8L12", "7L13", "5L13"], @@ -93848,7 +96733,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { skyattack: ["9L68", "8L68", "7T", "5T"], skydrop: ["7M", "5M"], sleeptalk: ["9M", "8M", "7M", "5T"], - smackdown: ["7M", "5M"], + smackdown: ["9M", "7M", "6M", "5M"], snatch: ["7T", "5T"], snore: ["8M", "7T", "5T"], steelbeam: ["9M", "8T"], @@ -93861,10 +96746,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwind: ["9M", "9L44", "8L44", "5T", "5L48"], takedown: ["9M"], terablast: ["9M"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], toxic: ["7M", "5M"], + upperhand: ["9M"], waterpulse: ["9M", "7T"], - whirlpool: ["8M"], + whirlpool: ["9M", "8M"], wingattack: ["9L24", "8L24", "7L22", "5L22"], }, }, @@ -93896,7 +96782,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flash: ["6M", "6L1"], flashcannon: ["9M", "8M", "6M"], fling: ["9M", "8M", "6M"], - flipturn: ["8T"], + flipturn: ["9M", "8T"], frustration: ["6M"], heatwave: ["9M", "8M", "6L48"], hiddenpower: ["6M"], @@ -93918,7 +96804,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "6M"], return: ["6M"], round: ["8M", "6M"], - scald: ["8M", "7M", "6M", "6L28"], + scald: ["9M", "8M", "7M", "6M", "6L28"], scaryface: ["9M", "8M", "7E", "6E"], scorchingsands: ["8T"], skittersmack: ["8T"], @@ -93969,7 +96855,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { flash: ["7L1", "6M", "6L1"], flashcannon: ["9M", "8M", "7M", "6M"], fling: ["9M", "8M", "7M", "6M"], - flipturn: ["8T"], + flipturn: ["9M", "8T"], frustration: ["7M", "6M"], gigaimpact: ["9M", "8M", "7M", "6M"], heatwave: ["9M", "8M", "7L51", "6T", "6L51"], @@ -93981,7 +96867,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { leechlife: ["9M", "8M", "7M", "6L1"], liquidation: ["9M", "8M"], memento: ["9L68", "8L68", "7L66", "6L66"], - muddywater: ["8M"], + muddywater: ["9M", "8M"], overheat: ["9M", "8M", "7M", "6M"], payback: ["8M", "7M", "6M"], pounce: ["9M"], @@ -93993,9 +96879,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M", "7M", "6M"], return: ["7M", "6M"], round: ["8M", "7M", "6M"], - scald: ["9L0", "8M", "8L0", "7M", "7L28", "6M", "6L28"], + scald: ["9M", "9L0", "8M", "8L0", "7M", "7L28", "6M", "6L28"], scaryface: ["9M", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], secretpower: ["7M"], skittersmack: ["8T"], sleeptalk: ["9M", "8M", "7M", "6M"], @@ -94043,7 +96929,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "8M", "6M"], flashcannon: ["9M", "8M", "6M"], frustration: ["6M"], - haze: ["9E", "8E", "7E", "6E"], + haze: ["9M", "9E", "8E", "7E", "6E"], hiddenpower: ["6M"], iondeluge: ["6L26"], irontail: ["9M", "8M"], @@ -94078,7 +96964,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderbolt: ["9M", "8M", "6M"], thundershock: ["9L1", "8L1", "6L1"], thunderwave: ["9M", "9L16", "8M", "8L16", "6M", "6L19"], - toxic: ["9E", "8E", "6M"], + toxic: ["9M", "9E", "8E", "7M", "6M"], venomdrench: ["8M", "7E"], venoshock: ["9M", "8M", "6M"], waterpulse: ["9M", "9E", "8E", "7E", "6E"], @@ -94111,13 +96997,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], electrify: ["9L46", "8L46"], electroball: ["9M", "8M"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], encore: ["9M", "9L12", "8M", "8L12", "7L16", "6L16"], endure: ["9M", "8M"], facade: ["9M", "8M", "7M", "6M"], flashcannon: ["9M", "8M", "7M", "6M"], frustration: ["7M", "6M"], gigaimpact: ["9M", "8M", "7M", "6M"], + haze: ["9M"], hiddenpower: ["7M", "6M"], hyperbeam: ["9M", "8M", "7M", "6M"], iondeluge: ["7L26", "6L26"], @@ -94144,6 +97031,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sludgewave: ["9L52", "8M", "8L52", "7M", "6M"], snore: ["8M", "7T"], substitute: ["9M", "8M", "7M", "6M"], + supercellslam: ["9M"], supersonic: ["9L1", "8L1", "7L1", "6L1"], surf: ["9M"], swagger: ["9L58", "8L58", "7M", "7L56", "6M", "6L56"], @@ -94153,7 +97041,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderbolt: ["9M", "8M", "7M", "6M"], thundershock: ["9L1", "8L1", "7L1", "6L1"], thunderwave: ["9M", "9L16", "8M", "8L16", "7M", "7L19", "6M", "6L19"], - toxic: ["7M", "6M"], + toxic: ["9M", "7M", "6M"], venomdrench: ["8M"], venoshock: ["9M", "8M", "7M", "6M"], waterpulse: ["9M", "6T"], @@ -94190,7 +97078,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["6M"], gust: ["9L6", "8L6", "6L1"], hail: ["8M", "6M"], - haze: ["9E", "8E", "7E", "6E"], + haze: ["9M", "9E", "8E", "7E", "6E"], hiddenpower: ["6M"], hurricane: ["9M", "8M"], hydropump: ["9M", "9L39", "8M", "8L39", "6L50"], @@ -94214,7 +97102,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["6M"], rocksmash: ["6M"], round: ["8M", "6M"], - scald: ["8M", "6M"], + scald: ["9M", "8M", "7M", "6M"], scaryface: ["9M", "9L15", "8M", "8L15", "6L1"], screech: ["8M"], secretpower: ["6M"], @@ -94264,6 +97152,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["6M"], gust: ["9L1", "8L1", "6L1"], hail: ["8M", "6M"], + haze: ["9M"], heavyslam: ["9M", "8M"], hiddenpower: ["6M"], hurricane: ["9M", "8M"], @@ -94290,8 +97179,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["6M"], rocksmash: ["6M"], round: ["8M", "6M"], - scald: ["8M", "6M"], - scaleshot: ["8T"], + scald: ["9M", "8M", "7M", "6M"], + scaleshot: ["9M", "8T"], scaryface: ["9M", "9L15", "8M", "8L15", "6L1"], screech: ["8M"], secretpower: ["6M"], @@ -94324,7 +97213,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M", "8M", "7M", "6M"], bodypress: ["9M", "8M"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brine: ["9L28", "8M", "8L28", "7L45", "6L45"], brutalswing: ["8M", "7M"], bubblebeam: ["9L24", "8L24", "7L25", "6L25"], @@ -94348,6 +97237,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M", "6M"], gust: ["9L1", "8L1", "7L1", "6L1"], hail: ["8M", "7M", "6M"], + hardpress: ["9M"], + haze: ["9M"], heavyslam: ["9M", "9L66", "8M", "8L66", "7L1"], hiddenpower: ["7M", "6M"], hurricane: ["9M", "8M", "7L64", "6L64"], @@ -94375,8 +97266,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M", "6M"], rocksmash: ["7M", "6M"], round: ["8M", "7M", "6M"], - scald: ["8M", "7M", "6M"], - scaleshot: ["8T"], + scald: ["9M", "8M", "7M", "6M"], + scaleshot: ["9M", "8T"], scaryface: ["9M", "9L15", "8M", "8L15", "7L1", "6L1"], screech: ["8M"], secretpower: ["7M"], @@ -94430,7 +97321,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M", "6M"], gigaimpact: ["9M", "8M", "7M", "6M"], grassknot: ["9M", "8M", "7M", "6M"], - gravity: ["7T", "6T"], + gravity: ["9M", "7T", "6T"], gunkshot: ["9M", "9L64", "8M", "8L64", "7L56", "6T", "6L56"], helpinghand: ["9M", "8M", "6T"], hex: ["9M", "9L48", "8M", "8L48", "7L44", "6L44"], @@ -94442,7 +97333,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { knockoff: ["9E"], lightscreen: ["9M", "8M"], magicroom: ["8M", "6T"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], metronome: ["9M", "8M"], payback: ["8M", "7M", "6M"], pinmissile: ["8M"], @@ -94471,8 +97362,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M", "7M", "6M"], sludge: ["9L44", "8L44", "7L28", "6L28"], sludgebomb: ["9M", "8M", "7M", "6M"], - sludgewave: ["8M", "8L60", "7M", "6M"], - smackdown: ["9L24", "8L24", "7M", "7L23", "6M", "6L23"], + sludgewave: ["9M", "8M", "8L60", "7M", "6M"], + smackdown: ["9M", "9L24", "8L24", "7M", "7L23", "6M", "6L23"], snatch: ["6T"], snore: ["8M", "6T"], stealthrock: ["9M", "8M", "6T"], @@ -94520,7 +97411,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hiddenpower: ["6M"], magicroom: ["8M"], metronome: ["9M", "8M"], - mistyexplosion: ["8T"], + mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "8M"], moonblast: ["9L30", "8L30", "6L36"], nightmare: ["6L42"], @@ -94549,7 +97440,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], torment: ["9L33", "8L33", "6M"], toxic: ["6M"], - uproar: ["8M"], + uproar: ["9M", "8M"], + vacuumwave: ["9M"], wakeupslap: ["6L10"], wideguard: ["9E", "8E", "7E", "6E"], wish: ["9E", "8E", "7E", "6E"], @@ -94570,7 +97462,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { celebrate: ["6S0"], charm: ["9M", "9L9", "8M", "8L1"], closecombat: ["9M", "9L42", "8M", "8L42", "7L53", "6L53"], - coaching: ["8T"], + coaching: ["9M", "8T"], confide: ["7L25", "6L25"], crushclaw: ["9L0", "8L0", "7M", "6M"], dazzlinggleam: ["9M", "8M", "7M", "6M"], @@ -94602,7 +97494,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { megakick: ["8M"], megapunch: ["8M"], metronome: ["9M", "8M", "6S0"], - mistyexplosion: ["8T"], + mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "8M"], moonblast: ["9L33", "8L33", "7L49", "6L49"], nightmare: ["7L57", "6L57"], @@ -94611,7 +97503,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { poweruppunch: ["8L9", "7M", "6M"], protect: ["9M", "8M", "7M", "6M"], psychic: ["9M"], - psychup: ["7M", "6M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M", "6M"], rest: ["9M", "9L27", "8M", "8L27", "7M", "7L41", "6M", "6L41"], retaliate: ["8M", "7M", "6M"], return: ["7M", "6M"], @@ -94623,7 +97516,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { secretpower: ["7M"], sleeptalk: ["9M", "8M", "7M", "6M"], sludgebomb: ["9M", "8M", "7M", "6M"], - sludgewave: ["8M", "7M", "6M"], + sludgewave: ["9M", "8M", "7M", "6M"], snarl: ["9M", "8M", "7M", "6M"], snore: ["9L27", "8M", "8L27", "6T"], speedswap: ["8M"], @@ -94638,7 +97531,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { terablast: ["9M"], torment: ["9L36", "8L36", "7M", "6M"], toxic: ["7M", "6M"], - uproar: ["8M"], + upperhand: ["9M"], + uproar: ["9M", "8M"], + vacuumwave: ["9M"], wakeupslap: ["7L13", "6L13"], workup: ["8M", "7M"], yawn: ["9L1", "8L1", "7L9", "6L9"], @@ -94664,6 +97559,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { doubleteam: ["9L25", "8L25", "7M"], dracometeor: ["9M", "8T", "7T"], dragonbreath: ["9L20", "8L20", "7L19"], + dragoncheer: ["9M"], dragonclaw: ["9M", "9L35", "8M", "8L35", "7M", "7L23"], dragonpulse: ["9M", "8M", "7T"], dragonrage: ["7L12"], @@ -94680,9 +97576,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M"], gastroacid: ["7T"], gigaimpact: ["9M", "8M", "7M"], - gravity: ["7T"], + gravity: ["9M", "7T"], growl: ["9L1", "8L1", "7L1"], - haze: ["9L40", "8L40", "7L37"], + haze: ["9M", "9L40", "8L40", "7L37"], healblock: ["7L30"], helpinghand: ["9M", "8M", "7T"], hex: ["9M", "8M"], @@ -94704,21 +97600,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { protect: ["9M", "8M", "7M"], psychic: ["9M", "8M", "7M"], psychicfangs: ["9M", "9L50", "8M", "8L50", "7L32"], - psychup: ["7M"], + psychicnoise: ["9M"], + psychup: ["9M", "7M"], raindance: ["9M", "8M", "7M"], rest: ["9M", "8M", "7M"], return: ["7M"], rockslide: ["9M", "8M", "7M"], rocktomb: ["9M", "8M", "7M"], round: ["8M", "7M"], - sandtomb: ["9E", "8M", "7E"], + sandtomb: ["9M", "9E", "8M", "7E"], shadowball: ["9M", "8M", "7M"], shadowclaw: ["9M", "8M", "7M"], sleeptalk: ["9M", "8M", "7M"], smartstrike: ["9M", "8M", "7M"], snore: ["9L1", "8M", "8L1", "7T", "7L1"], spiritshackle: ["9L45", "8L45", "7L1"], - spite: ["7T", "7E"], + spite: ["9M", "7T", "7E"], stoneedge: ["9M", "8M", "7M"], substitute: ["8M", "7M"], surf: ["9M", "8M", "7M"], @@ -94726,13 +97623,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], taunt: ["9M"], telekinesis: ["7T"], + temperflare: ["9M"], terablast: ["9M"], - throatchop: ["8M", "7T"], - toxic: ["7M"], + throatchop: ["9M", "8M", "7T"], + toxic: ["9M", "7M"], toxicspikes: ["9M", "8M", "7L28"], trickroom: ["9M", "8M", "7M"], venoshock: ["9M", "8M", "7M"], - whirlpool: ["8M", "7E"], + whirlpool: ["9M", "8M", "7E"], wrap: ["9L1", "8L1", "7L1"], zenheadbutt: ["9M", "8M", "7T"], }, @@ -94756,10 +97654,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M"], gigadrain: ["9M", "9L40", "8M", "8L40", "7T"], grassknot: ["9M", "8M", "7M"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "8M", "7E"], - gravity: ["7T"], - gyroball: ["8M", "7M"], + gravity: ["9M", "7T"], + gyroball: ["9M", "8M", "7M"], harden: ["9L1"], healingwish: ["9E", "8E", "7E"], heavyslam: ["9M", "8M"], @@ -94772,7 +97670,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { luckychant: ["7L17"], magicalleaf: ["9M", "9L25", "8M", "8L25", "7L19"], magiccoat: ["7T"], - mistyexplosion: ["8T"], + mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "8M", "7E"], moonblast: ["9L60", "8L60", "7L44"], naturalgift: ["7L31"], @@ -94835,10 +97733,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigadrain: ["9M", "9L40", "8M", "8L40", "7T"], gigaimpact: ["9M", "8M", "7M"], grassknot: ["9M", "8M", "7M"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "8M"], - gravity: ["7T"], - gyroball: ["8M", "7M"], + gravity: ["9M", "7T"], + gyroball: ["9M", "8M", "7M"], harden: ["9L1"], heavyslam: ["9M", "9L60", "8M", "8L60", "7L42"], helpinghand: ["9M", "9L1", "8M", "8L1", "7T"], @@ -94854,7 +97752,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { magiccoat: ["7T"], magicroom: ["8M", "7T"], metronome: ["9M", "8M"], - mistyexplosion: ["8T"], + mistyexplosion: ["9M", "8T"], mistyterrain: ["9M", "8M"], moonblast: ["9L65", "8L65", "7L49"], naturalgift: ["7L31"], @@ -94873,7 +97771,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { shoreup: ["9L1", "8L1", "7L1"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], - solarbeam: ["8M", "7M"], + solarbeam: ["9M", "8M", "7M"], solarblade: ["9M", "8M"], substitute: ["9M", "8M", "7M"], sunnyday: ["9M", "9L50", "8M", "8L50", "7M", "7L35"], @@ -94914,12 +97812,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigadrain: ["9M", "8M", "7T"], grassknot: ["9M", "8M", "7M"], grasspledge: ["9M", "8T", "7T"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "8M"], helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M"], hypervoice: ["9M", "8M", "7T"], - knockoff: ["7T"], + knockoff: ["9M", "7T"], leafage: ["9L3", "8L3", "7L1"], leafstorm: ["9M", "8M"], leechseed: ["9L21", "8L21", "7L26"], @@ -94954,7 +97852,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thundershock: ["9L6", "8L6", "7L7"], toxic: ["7M"], trailblaze: ["9M"], - uproar: ["9E", "8M", "7T", "7E"], + uproar: ["9M", "9E", "8M", "7T", "7E"], voltswitch: ["9M", "8M", "7M"], wildcharge: ["9M", "9L36", "8M", "8L36", "7T", "7L38"], workup: ["8M", "7M"], @@ -94986,12 +97884,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigadrain: ["9M", "8M", "7T"], grassknot: ["9M", "8M", "7M"], grasspledge: ["9M", "8T", "7T"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "8M", "7T"], helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M"], hypervoice: ["9M", "8M", "7T"], - knockoff: ["7T"], + knockoff: ["9M", "7T"], leafage: ["9L1", "8L1", "7L1"], leafstorm: ["9M", "8M"], leechseed: ["9L25", "8L25", "7L26"], @@ -95012,7 +97910,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], solarbeam: ["9M", "8M", "7M"], - solarblade: ["8M"], + solarblade: ["9M", "8M"], spark: ["9L30", "8L30", "7L22"], substitute: ["9M", "8M", "7M"], sunnyday: ["9M", "8M", "7M"], @@ -95030,7 +97928,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunderwave: ["9M", "8M", "7M"], toxic: ["7M"], trailblaze: ["9M"], - uproar: ["8M", "7T"], + uproar: ["9M", "8M", "7T"], voltswitch: ["9M", "8M", "7M"], wildcharge: ["9M", "9L50", "8M", "8L50", "7T", "7L40"], workup: ["8M", "7M"], @@ -95055,7 +97953,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { echoedvoice: ["7M"], eerieimpulse: ["9M", "8M"], electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], - electroweb: ["8M", "7T"], + electroweb: ["9M", "8M", "7T"], endeavor: ["7T"], endure: ["9M", "8M"], energyball: ["9M", "9L1", "8M", "8L1", "7M"], @@ -95068,7 +97966,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M", "7M"], grassknot: ["9M", "8M", "7M"], grasspledge: ["9M", "8T", "7T"], - grassyglide: ["8T"], + grassyglide: ["9M", "8T"], grassyterrain: ["9M", "9L1", "8M", "8L1", "7L1"], helpinghand: ["9M", "8M", "7T"], hiddenpower: ["7M"], @@ -95076,7 +97974,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M", "8M", "7M"], hyperdrill: ["9L1"], hypervoice: ["9M", "8M", "7T"], - knockoff: ["7T"], + knockoff: ["9M", "7T"], leafage: ["9L1", "8L1", "7L1"], leafstorm: ["9M", "8M"], leechseed: ["9L25", "8L25", "7L28"], @@ -95098,10 +97996,11 @@ export const Learnsets: {[k: string]: LearnsetData} = { sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], solarbeam: ["9M", "8M", "7M"], - solarblade: ["8M"], + solarblade: ["9M", "8M"], spark: ["9L30", "8L30", "7L24"], substitute: ["9M", "8M", "7M"], sunnyday: ["9M", "8M", "7M"], + supercellslam: ["9M"], swagger: ["7M"], swift: ["9M", "8M"], swordsdance: ["9M", "8M", "7M"], @@ -95110,14 +98009,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { takedown: ["9M"], terablast: ["9M"], terrainpulse: ["8T"], - throatchop: ["8M"], + throatchop: ["9M", "8M"], thunder: ["9M", "8M", "7M"], thunderbolt: ["9M", "8M", "7M"], thundershock: ["9L1", "8L1", "7L1"], thunderwave: ["9M", "8M", "7M"], toxic: ["7M"], trailblaze: ["9M"], - uproar: ["8M", "7T"], + uproar: ["9M", "8M", "7T"], voltswitch: ["9M", "8M", "7M"], wildcharge: ["9M", "9L58", "8M", "8L58", "7T", "7L42", "7S0"], workup: ["8M", "7M"], @@ -95176,8 +98075,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M"], roar: ["7M"], round: ["8M", "7M"], - sandtomb: ["8M", "7E"], - scaleshot: ["8T"], + sandtomb: ["9M", "8M", "7E"], + scaleshot: ["9M", "8T"], scorchingsands: ["8T"], scratch: ["9L1", "8L1", "7L1"], screech: ["9L30", "8M", "8L30", "7L44"], @@ -95195,7 +98094,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwhip: ["9L1", "8L1", "7L4"], taunt: ["9M", "8M", "7M"], terablast: ["9M"], - toxic: ["9L36", "8L36", "7M"], + toxic: ["9M", "9L36", "8L36", "7M"], trailblaze: ["9M"], venomdrench: ["8M"], willowisp: ["9M", "8M", "7M"], @@ -95210,7 +98109,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "8M", "7M"], bulkup: ["9M", "8M", "7M"], bulldoze: ["9M", "9L35", "8M", "8L35", "7M", "7L19"], - burningjealousy: ["8T"], + burningjealousy: ["9M", "8T"], camouflage: ["7L35"], clearsmog: ["9L20", "8L20", "7L26"], confide: ["7M"], @@ -95250,8 +98149,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M"], roar: ["7M"], round: ["8M", "7M"], - sandtomb: ["8M"], - scaleshot: ["8T"], + sandtomb: ["9M", "8M"], + scaleshot: ["9M", "8T"], scorchingsands: ["8T"], scratch: ["9L1", "8L1", "7L1"], screech: ["9L45", "8M", "8L45", "7L46"], @@ -95270,7 +98169,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwhip: ["9L1", "8L1", "7L1"], taunt: ["9M", "8M", "7M"], terablast: ["9M"], - toxic: ["9L55", "8L55", "7M"], + toxic: ["9M", "9L55", "8L55", "7M"], trailblaze: ["9M"], venomdrench: ["8M"], willowisp: ["9M", "8M", "7M"], @@ -95286,7 +98185,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { brickbreak: ["9M", "8M", "7M"], bulkup: ["9M", "8M", "7M"], bulldoze: ["9M", "9L35", "8M", "8L35", "7M", "7L20"], - burningjealousy: ["8T"], + burningjealousy: ["9M", "8T"], camouflage: ["7L38", "7S0"], celebrate: ["7S0"], circlethrow: ["9L1", "8L1", "7L1"], @@ -95297,6 +98196,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { defog: ["7T"], dig: ["9M", "9L1", "8M", "8L1"], doubleteam: ["7M"], + dragoncheer: ["9M"], earthpower: ["9M", "8M", "7T"], earthquake: ["9M", "9L56", "8M", "8L56", "7M", "7L54"], ember: ["9L1", "8L1", "7L1"], @@ -95318,10 +98218,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { frustration: ["7M"], gigaimpact: ["9M", "8M", "7M"], gunkshot: ["9M", "8M", "7T"], - heatcrash: ["8M"], + heatcrash: ["9M", "8M"], heatwave: ["9M", "8M", "7T"], hiddenpower: ["7M"], - highhorsepower: ["8M"], + highhorsepower: ["9M", "8M"], hyperbeam: ["9M", "8M", "7M"], incinerate: ["9L15", "8L15"], irontail: ["8M", "7T"], @@ -95341,9 +98241,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { return: ["7M"], roar: ["7M"], round: ["8M", "7M"], - sandtomb: ["8M"], - scaleshot: ["8T"], - scorchingsands: ["8T"], + sandtomb: ["9M", "8M"], + scaleshot: ["9M", "8T"], + scorchingsands: ["9M", "8T"], scratch: ["9L1", "8L1", "7L1"], screech: ["9L49", "8M", "8L49", "7L49"], sleeptalk: ["9M", "8M", "7M"], @@ -95361,8 +98261,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { swagger: ["7M"], tailwhip: ["9L1", "8L1", "7L1"], taunt: ["9M", "8M", "7M"], + temperflare: ["9M"], terablast: ["9M"], - toxic: ["9L63", "8L63", "7M"], + toxic: ["9M", "9L63", "8L63", "7M"], trailblaze: ["9M"], venomdrench: ["8M"], willowisp: ["9M", "8M", "7M"], @@ -95381,7 +98282,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { blizzard: ["9M", "8M", "7M"], bodyslam: ["9M", "8M"], brine: ["9L21", "8M", "8L21", "7L25"], - bugbite: ["7T"], + bugbite: ["9M", "7T"], bugbuzz: ["9M", "9L33", "8M", "8L33", "7L38"], captivate: ["7L40"], charm: ["9M", "9L9", "8M", "8L9", "7L10"], @@ -95467,7 +98368,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { block: ["7T"], bodyslam: ["9M", "8M"], brine: ["9L25", "8M", "8L25", "7L26"], - bugbite: ["7T"], + bugbite: ["9M", "7T"], bugbuzz: ["9M", "9L50", "8M", "8L50", "7L42"], captivate: ["7L48"], charm: ["9M", "9L9", "8M", "8L9", "7L10"], @@ -95545,6 +98446,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { }, snaelstrom: { learnset: { + alluringvoice: ["9M"], allyswitch: ["8M"], aquajet: ["9L12", "8L12", "7L17"], aquaring: ["9L1", "8L1", "7L1"], @@ -95553,7 +98455,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { block: ["7T"], bodyslam: ["9M", "8M"], brine: ["9L25", "8M", "8L25", "7L27"], - bugbite: ["7T"], + bugbite: ["9M", "7T"], bugbuzz: ["9M", "9L58", "8M", "8L58", "7L48"], captivate: ["7L56"], celebrate: ["7S0"], @@ -95570,7 +98472,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { endure: ["9M", "8M"], facade: ["9M", "8M", "7M"], frustration: ["7M"], - futuresight: ["8M"], + futuresight: ["9M", "8M"], gigaimpact: ["9M", "8M", "7M"], growl: ["9L1", "8L1", "7L1"], guardswap: ["8M"], @@ -95583,7 +98485,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M", "8M", "7M"], hypervoice: ["9M", "8M"], icebeam: ["9M", "8M", "7M"], - iciclespear: ["8M"], + iciclespear: ["9M", "8M"], icywind: ["9M", "8M", "7T"], infestation: ["7M"], leechlife: ["9M", "8M", "7M", "7S0"], @@ -95607,7 +98509,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { scald: ["8M", "7M"], signalbeam: ["7T"], skillswap: ["9M", "8M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M", "7M"], snore: ["8M", "7T"], snowscape: ["9M"], @@ -95656,9 +98558,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "8M", "7M"], flashcannon: ["9M", "9L28", "8M", "8L28", "7M", "7L41"], frustration: ["7M"], - gravity: ["9L24", "7T"], + gravity: ["9M", "9L24", "7T"], guardsplit: ["9L16", "8L16", "7L21"], - gyroball: ["9L12", "8M", "8L12", "7M", "7L17"], + gyroball: ["9M", "9L12", "8M", "8L12", "7M", "7L17"], healingwish: ["9L40", "8L40", "7L46"], heavyslam: ["9M"], helpinghand: ["9M", "8M", "7T"], @@ -95712,21 +98614,22 @@ export const Learnsets: {[k: string]: LearnsetData} = { bulldoze: ["9M", "8M", "7M"], confide: ["7M"], destinybond: ["9L52", "8L52", "7L64"], - doomdesire: ["8L0", "7L1"], + doomdesire: ["9S0", "8L0", "7L1"], doubleteam: ["7M"], drillrun: ["9M", "8M", "7T"], - earthpower: ["9M", "9L58", "8M", "8L58", "7T", "7L40"], + earthpower: ["9M", "9L58", "9S0", "8M", "8L58", "7T", "7L40"], earthquake: ["9M", "8M", "7M", "7L57"], embargo: ["7M"], endure: ["9M", "8M"], explosion: ["7M"], facade: ["9M", "8M", "7M"], - flashcannon: ["9M", "9L28", "8M", "8L28", "7M", "7L45"], + flashcannon: ["9M", "9L28", "9S0", "8M", "8L28", "7M", "7L45"], frustration: ["7M"], gigaimpact: ["9M", "8M", "7M"], - gravity: ["9L24", "7T"], + gravity: ["9M", "9L24", "7T"], guardsplit: ["9L16", "8L16", "7L25"], - gyroball: ["9L12", "8M", "8L12", "7M", "7L20"], + gyroball: ["9M", "9L12", "8M", "8L12", "7M", "7L20"], + hardpress: ["9M"], healingwish: ["9L46", "8L46", "7L50"], heavyslam: ["9M"], helpinghand: ["9M", "8M", "7T"], @@ -95749,9 +98652,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { pound: ["9L1", "8L1", "7L1"], powersplit: ["9L16", "8L16", "7L25"], protect: ["9M", "8M", "7M"], - psychup: ["7M"], + psychup: ["9M", "7M"], quash: ["9L20", "8L20", "7M"], - rapidspin: ["9L1", "8L1", "7L1"], + rapidspin: ["9L1", "9S0", "8L1", "7L1"], recycle: ["7T"], rest: ["9M", "8M", "7M"], return: ["7M"], @@ -95773,6 +98676,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { wonderroom: ["8M", "7T"], workup: ["8M", "7M"], }, + eventData: [ + {generation: 9, level: 50, moves: ["doomdesire", "flashcannon", "earthpower", "rapidspin"], pokeball: "pokeball"}, + ], }, solotl: { learnset: { @@ -95844,16 +98750,18 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { acrobatics: ["9M", "8M"], agility: ["9M", "8M"], + alluringvoice: ["9M"], allyswitch: ["8M"], attract: ["8M"], batonpass: ["9M", "9L1", "8M", "8L1"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], bulldoze: ["9M", "8M"], charm: ["9M", "9L20", "8M", "8L20"], cosmicpower: ["9L28", "8M", "8L28"], dazzlinggleam: ["9M", "8M"], dracometeor: ["8T"], dragonbreath: ["9L1", "8L1"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M"], dragonpulse: ["9M", "9L44", "8M", "8L44"], dragonrush: ["9L56", "8L56"], @@ -95880,7 +98788,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { lightscreen: ["9M", "8M"], magicalleaf: ["9M", "8M"], magiccoat: ["8L1"], - meteorbeam: ["8T"], + meteorbeam: ["9M", "8T"], metronome: ["9M", "8M"], mysticalfire: ["9L0", "8M", "8L0"], outrage: ["9M", "8M"], @@ -95891,7 +98799,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { rest: ["9M", "8M"], round: ["8M"], safeguard: ["9L32", "8M"], - scorchingsands: ["8T"], + scorchingsands: ["9M", "8T"], sleeptalk: ["9M", "8M"], snore: ["8M"], solarbeam: ["9M", "8M"], @@ -95918,7 +98826,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { bite: ["9L8", "8L8"], bodyslam: ["9M", "8M"], breakingswipe: ["8M"], - bugbite: ["9L16", "8L16"], + bugbite: ["9M", "9L16", "8L16"], bugbuzz: ["9M", "9L24", "8M", "8L24"], corrosivegas: ["8T"], crunch: ["9M", "9L36", "8M", "8L36"], @@ -95935,12 +98843,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { firefang: ["9M", "8M"], firstimpression: ["9E", "8E"], flashcannon: ["9M", "8M"], - haze: ["9L28", "8L28"], + haze: ["9M", "9L28", "8L28"], icefang: ["9M", "8M"], ironhead: ["9M", "8M"], irontail: ["8M"], leechlife: ["9M", "8M"], - lunge: ["9L44", "8L44"], + lunge: ["9M", "9L44", "8L44"], megahorn: ["9E", "8M"], outrage: ["9M", "8M"], pinmissile: ["8M"], @@ -95964,13 +98872,13 @@ export const Learnsets: {[k: string]: LearnsetData} = { strugglebug: ["9M", "9L1", "8L1"], substitute: ["9M", "8M"], sunnyday: ["9M", "8M"], - superfang: ["9L32", "8L32"], + superfang: ["9M", "9L32", "8L32"], superpower: ["8M"], swordsdance: ["9M", "8M"], taunt: ["9M", "8M"], terablast: ["9M"], thunderfang: ["9M", "8M"], - uproar: ["8M"], + uproar: ["9M", "8M"], workup: ["8M"], xscissor: ["9M", "8M"], }, @@ -95981,9 +98889,9 @@ export const Learnsets: {[k: string]: LearnsetData} = { attract: ["8M"], bite: ["9L1", "8L1"], bodyslam: ["9M", "8M"], - breakingswipe: ["8M"], + breakingswipe: ["9M", "8M"], brutalswing: ["8M"], - bugbite: ["9L16", "8L16"], + bugbite: ["9M", "9L16", "8L16"], bugbuzz: ["9M", "9L24", "8M", "8L24"], bulldoze: ["9M", "8M"], closecombat: ["9M", "8M"], @@ -95992,11 +98900,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { darkpulse: ["9M", "8M"], dracometeor: ["9M", "8T"], dragonbreath: ["9L1", "8L1"], + dragoncheer: ["9M"], dragonclaw: ["9M", "8M"], - dragonhammer: ["8L0"], + dragonhammer: ["9M", "8L0"], dragonpulse: ["9M", "9L46", "8M", "8L46"], dragontail: ["9M"], - dualwingbeat: ["8T"], + dualwingbeat: ["9M", "8T"], earthpower: ["9M", "8M"], earthquake: ["9M", "8M"], endure: ["9M", "8M"], @@ -96006,14 +98915,14 @@ export const Learnsets: {[k: string]: LearnsetData} = { focusblast: ["9M", "8M"], gigaimpact: ["9M", "9L58", "8M", "8L58"], gunkshot: ["9M", "8M"], - haze: ["9L28", "8L28"], - highhorsepower: ["8M"], + haze: ["9M", "9L28", "8L28"], + highhorsepower: ["9M", "8M"], hyperbeam: ["9M", "8M"], icefang: ["9M", "8M"], ironhead: ["9M", "8M"], irontail: ["8M"], leechlife: ["9M", "8M"], - lunge: ["9L52", "8L52"], + lunge: ["9M", "9L52", "8L52"], megahorn: ["8M"], nastyplot: ["9M", "8M"], outrage: ["9M", "8M"], @@ -96025,10 +98934,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { raindance: ["9M", "8M"], rest: ["9M", "8M"], round: ["8M"], - scaleshot: ["9L0"], + scaleshot: ["9M", "9L0"], scaryface: ["9M", "8M"], screech: ["8M"], - skittersmack: ["8T"], + skittersmack: ["9M", "8T"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M"], smog: ["9L12", "8L12"], @@ -96037,7 +98946,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { strugglebug: ["9M", "9L1", "8L1"], substitute: ["9M", "8M"], sunnyday: ["9M", "8M"], - superfang: ["9L34", "8L34"], + superfang: ["9M", "9L34", "8L34"], superpower: ["8M"], swordsdance: ["9M", "8M"], taunt: ["9M", "8M"], @@ -96045,7 +98954,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { thunder: ["9M", "8M"], thunderbolt: ["9M", "8M"], thunderfang: ["9M", "8M"], - uproar: ["8M"], + uproar: ["9M", "8M"], uturn: ["9M", "8M"], wildcharge: ["9M", "8M"], workup: ["8M"], @@ -96056,6 +98965,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { learnset: { acidspray: ["9M", "9L1", "8L1"], aerialace: ["9M", "9L10", "8L10"], + alluringvoice: ["9M"], aromatherapy: ["8L60"], assurance: ["8M"], attract: ["8M"], @@ -96086,7 +98996,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { icefang: ["9M", "9L20", "8M", "8L20"], imprison: ["9M", "9L25", "8M", "8L25"], knockoff: ["9L1", "8L1"], - lashout: ["8T"], + lashout: ["9M", "8T"], lifedew: ["9L40", "8L40"], lightscreen: ["9M", "8M"], metalclaw: ["9M", "9L5", "8L5"], @@ -96097,6 +99007,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { payday: ["8M"], playrough: ["9M", "9L65", "8M"], protect: ["9M", "8M"], + psychicnoise: ["9M"], recover: ["9L1", "8L1", "8S0"], reflect: ["9M", "8M"], rest: ["9M", "8M"], @@ -96108,10 +99019,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { shadowball: ["9M", "8M"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], snarl: ["9M", "8M"], snore: ["8M"], - spite: ["9L15", "8L15"], + spite: ["9M", "9L15", "8L15"], stompingtantrum: ["9M", "9L30", "8M", "8L30"], substitute: ["9M", "8M"], sunnyday: ["9M", "8M"], @@ -96125,7 +99036,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { toxic: ["9L55", "8L55"], toxicspikes: ["9M", "8M"], trailblaze: ["9M"], - uproar: ["8M"], + uproar: ["9M", "8M"], venomdrench: ["8M"], wideguard: ["9L50", "8L50"], }, @@ -96148,7 +99059,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { confuseray: ["9L10", "8L10"], darkpulse: ["9M", "8M"], drillpeck: ["9L35", "8L35"], - dualwingbeat: ["8T"], + dualwingbeat: ["9M", "8T"], endure: ["9M", "8M"], facade: ["9M", "8M"], fly: ["9M", "8M"], @@ -96162,8 +99073,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M", "8M"], imprison: ["9M", "8M"], irondefense: ["9M", "8M"], - knockoff: ["9E", "8E"], - lashout: ["8T"], + knockoff: ["9M", "9E", "8E"], + lashout: ["9M", "8T"], magicalleaf: ["9M", "8M"], magicroom: ["8M"], meanlook: ["9E", "8E"], @@ -96188,7 +99099,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { skillswap: ["9M", "8M"], sleeptalk: ["9M", "8M"], sludgebomb: ["9M", "8M"], - sludgewave: ["8M"], + sludgewave: ["9M", "8M"], snore: ["8M"], stealthrock: ["9M", "8M"], steelwing: ["8M"], @@ -96196,6 +99107,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swift: ["9M", "8M"], tailwind: ["9M"], takedown: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunderwave: ["9M", "8M"], toxic: ["9L30", "8L30"], @@ -96221,7 +99133,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { facade: ["9M", "8M"], fissure: ["9L44", "8L44"], heavyslam: ["9M", "8M"], - highhorsepower: ["8M"], + highhorsepower: ["9M", "9E", "8M"], megakick: ["8M"], mudshot: ["9M", "8M"], painsplit: ["9E", "8E"], @@ -96234,7 +99146,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M"], sandattack: ["9L1", "8L1"], sandstorm: ["9M", "9L20", "8M", "8L20"], - sandtomb: ["9L14", "8M", "8L4"], + sandtomb: ["9M", "9L14", "8M", "8L4"], scorchingsands: ["8T"], sleeptalk: ["9M", "8M"], snore: ["8M"], @@ -96272,7 +99184,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { gigaimpact: ["9M", "8M"], healbell: ["8L1"], heavyslam: ["9M", "8M"], - highhorsepower: ["9E", "8M"], + highhorsepower: ["9M", "8M"], hornleech: ["9L1", "8L1"], hyperbeam: ["9M", "8M"], lashout: ["8T"], @@ -96288,8 +99200,8 @@ export const Learnsets: {[k: string]: LearnsetData} = { round: ["8M"], sandattack: ["9L1", "8L1"], sandstorm: ["9M", "9L1", "8M", "8L1"], - sandtomb: ["9L1", "8M", "8L1"], - scorchingsands: ["8T"], + sandtomb: ["9M", "9L1", "8M", "8L1"], + scorchingsands: ["9M", "8T"], sleeptalk: ["9M", "8M"], snore: ["8M"], spitup: ["9L1", "8L1"], @@ -96303,6 +99215,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { swordsdance: ["9M", "8M"], tackle: ["9L1", "8L1"], taunt: ["9M", "9L1", "8M", "8L1"], + temperflare: ["9M"], terablast: ["9M"], thief: ["9M", "9L1", "8M", "8L1"], watergun: ["9L1", "8L1"], @@ -96329,8 +99242,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { grassknot: ["9M"], helpinghand: ["9M"], hypervoice: ["9M"], + lashout: ["9M"], lightscreen: ["9M"], metronome: ["9M"], + mistyexplosion: ["9M"], mistyterrain: ["9M"], playrough: ["9M"], pound: ["9L1"], @@ -96383,10 +99298,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M"], hypervoice: ["9M"], imprison: ["9M"], + lashout: ["9M"], lifedew: ["9L24"], lightscreen: ["9M"], magicalleaf: ["9M"], metronome: ["9M"], + mistyexplosion: ["9M"], mistyterrain: ["9M"], moonblast: ["9L36"], moonlight: ["9L28"], @@ -96427,10 +99344,10 @@ export const Learnsets: {[k: string]: LearnsetData} = { hemogoblin: { learnset: { batonpass: ["9M"], - bitterblade: ["9L0"], bodyslam: ["9M"], brutalswing: ["9L1"], bulkup: ["9M"], + burningjealousy: ["9M"], charm: ["9M", "9L1"], copycat: ["9L1"], dazzlinggleam: ["9M"], @@ -96444,7 +99361,6 @@ export const Learnsets: {[k: string]: LearnsetData} = { energyball: ["9M"], facade: ["9M"], fireblast: ["9M"], - firelash: ["9L1"], flamethrower: ["9M"], flareblitz: ["9M"], fling: ["9M"], @@ -96455,10 +99371,12 @@ export const Learnsets: {[k: string]: LearnsetData} = { hyperbeam: ["9M"], hypervoice: ["9M"], imprison: ["9M"], + lashout: ["9M"], lifedew: ["9L1"], lightscreen: ["9M"], magicalleaf: ["9M"], metronome: ["9M"], + mistyexplosion: ["9M"], mistyterrain: ["9M"], moonblast: ["9L1"], moonlight: ["9L1"], @@ -96483,6 +99401,7 @@ export const Learnsets: {[k: string]: LearnsetData} = { tailwhip: ["9L1"], takedown: ["9M"], taunt: ["9M"], + temperflare: ["9M"], terablast: ["9M"], thunder: ["9M"], thunderbolt: ["9M"], @@ -96495,6 +99414,99 @@ export const Learnsets: {[k: string]: LearnsetData} = { zenheadbutt: ["9M"], }, }, + cresceidon: { + learnset: { + amnesia: ["9M"], + aquaring: ["9L10"], + blizzard: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M", "9L35"], + bulldoze: ["9M"], + chillingwater: ["9M"], + confuseray: ["9M"], + dazzlinggleam: ["9M"], + doubleedge: ["9M", "9L60"], + earthquake: ["9M"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + haze: ["9M","9L40"], + healingwish: ["9E"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icywind: ["9M"], + liquidation: ["9M"], + mist: ["9L25"], + mistyexplosion: ["9M"], + mistyterrain: ["9M"], + moonblast: ["9L55"], + muddywater: ["9M"], + playrough: ["9M"], + pound: ["9L1"], + protect: ["9M"], + psychic: ["9M"], + raindance: ["9M"], + recover: ["9L50"], + rest: ["9M"], + scald: ["9M"], + scaryface: ["9M"], + shadowball: ["9M"], + sleeptalk: ["9M"], + soak: ["9L30"], + spitup: ["9E"], + splash: ["9L1"], + stockpile: ["9E"], + substitute: ["9M"], + surf: ["9M", "9L45"], + swallow: ["9E"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunderwave: ["9M"], + waterfall: ["9M"], + watergun: ["9L5"], + waterpulse: ["9M", "9L20"], + wavecrash: ["9L65"], + weatherball: ["9M"], + whirlpool: ["9M"], + wideguard: ["9L15"], + wish: ["9E"], + zenheadbutt: ["9M"], + }, + }, + chuggalong: { + learnset: { + clangingscales: ["9L1"], + clangoroussoul: ["9L1"], + destinybond: ["9L1"], + dracometeor: ["9M"], + dragontail: ["9M"], + drainingkiss: ["9M"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + flamethrower: ["9M"], + healbell: ["9L1"], + helpinghand: ["9M"], + protect: ["9M"], + rest: ["9M"], + roar: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + sludgewave: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + surf: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + }, + }, pokestarsmeargle: { eventData: [ {generation: 5, level: 60, gender: "M", abilities: ["owntempo"], moves: ["mindreader", "guillotine", "tailwhip", "gastroacid"]}, diff --git a/data/mods/gen1/formats-data.ts b/data/mods/gen1/formats-data.ts index 3fc0fa580e2b..d0e446f210fb 100644 --- a/data/mods/gen1/formats-data.ts +++ b/data/mods/gen1/formats-data.ts @@ -6,7 +6,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, venusaur: { - tier: "UU", + tier: "NU", }, charmander: { tier: "LC", @@ -33,7 +33,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, butterfree: { - tier: "PU", + tier: "ZU", }, weedle: { tier: "LC", @@ -42,7 +42,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beedrill: { - tier: "PU", + tier: "ZU", }, pidgey: { tier: "LC", @@ -51,7 +51,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, pidgeot: { - tier: "PU", + tier: "ZU", }, rattata: { tier: "LC", @@ -69,19 +69,19 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, arbok: { - tier: "PU", + tier: "ZUBL", }, pikachu: { tier: "LC", }, raichu: { - tier: "NUBL", + tier: "UU", }, sandshrew: { tier: "LC", }, sandslash: { - tier: "PU", + tier: "ZU", }, nidoranf: { tier: "LC", @@ -105,13 +105,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, clefable: { - tier: "NU", + tier: "UU", }, vulpix: { tier: "LC", }, ninetales: { - tier: "NU", + tier: "UU", }, jigglypuff: { tier: "LC", @@ -123,7 +123,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, golbat: { - tier: "PU", + tier: "ZU", }, oddish: { tier: "LC", @@ -138,7 +138,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, parasect: { - tier: "PU", + tier: "ZU", }, venonat: { tier: "LC", @@ -162,13 +162,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, golduck: { - tier: "NUBL", + tier: "NU", }, mankey: { tier: "LC", }, primeape: { - tier: "PU", + tier: "ZU", }, growlithe: { tier: "LC", @@ -177,16 +177,16 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "PU", }, poliwag: { - tier: "LC", + tier: "ZU", }, poliwhirl: { - tier: "NUBL", + tier: "NU", }, poliwrath: { - tier: "NUBL", + tier: "NU", }, abra: { - tier: "PU", + tier: "ZU", }, kadabra: { tier: "UU", @@ -210,7 +210,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, victreebel: { - tier: "UU", + tier: "OU", }, tentacool: { tier: "LC", @@ -225,7 +225,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "PU", }, golem: { - tier: "NU", + tier: "UU", }, ponyta: { tier: "LC", @@ -234,7 +234,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "PU", }, slowpoke: { - tier: "LC", + tier: "ZU", }, slowbro: { tier: "OU", @@ -243,10 +243,10 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, magneton: { - tier: "PU", + tier: "ZU", }, farfetchd: { - tier: "PU", + tier: "ZU", }, doduo: { tier: "LC", @@ -264,7 +264,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, muk: { - tier: "PU", + tier: "ZU", }, shellder: { tier: "LC", @@ -282,7 +282,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, onix: { - tier: "PU", + tier: "ZU", }, drowzee: { tier: "PU", @@ -300,7 +300,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, electrode: { - tier: "NU", + tier: "UU", }, exeggcute: { tier: "NU", @@ -312,22 +312,22 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, marowak: { - tier: "PU", + tier: "ZU", }, hitmonlee: { - tier: "PU", + tier: "ZU", }, hitmonchan: { - tier: "PU", + tier: "ZU", }, lickitung: { - tier: "PU", + tier: "ZU", }, koffing: { tier: "LC", }, weezing: { - tier: "PU", + tier: "ZU", }, rhyhorn: { tier: "LC", @@ -393,7 +393,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UUBL", }, ditto: { - tier: "PU", + tier: "ZU", }, eevee: { tier: "LC", @@ -405,7 +405,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, flareon: { - tier: "PU", + tier: "ZU", }, porygon: { tier: "PU", @@ -423,7 +423,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, aerodactyl: { - tier: "UU", + tier: "NU", }, snorlax: { tier: "OU", diff --git a/data/mods/gen1/moves.ts b/data/mods/gen1/moves.ts index 2e39756b0aac..0962234efe7b 100644 --- a/data/mods/gen1/moves.ts +++ b/data/mods/gen1/moves.ts @@ -207,6 +207,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { return 2 * this.lastDamage; }, + flags: {contact: 1, protect: 1, metronome: 1}, }, crabhammer: { inherit: true, @@ -235,7 +236,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Disable", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'disable', onTryHit(target) { // This function should not return if the checks are met. Adding && undefined ensures this happens. @@ -469,7 +470,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Light Screen", pp: 30, priority: 0, - flags: {}, + flags: {metronome: 1}, volatileStatus: 'lightscreen', onTryHit(pokemon) { if (pokemon.volatiles['lightscreen']) { @@ -484,12 +485,9 @@ export const Moves: {[k: string]: ModdedMoveData} = { target: "self", type: "Psychic", }, - metronome: { - inherit: true, - noMetronome: ["Metronome", "Struggle"], - }, mimic: { inherit: true, + flags: {protect: 1, bypasssub: 1, metronome: 1}, onHit(target, source) { const moveslot = source.moves.indexOf('mimic'); if (moveslot < 0) return false; @@ -649,7 +647,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Reflect", pp: 20, priority: 0, - flags: {}, + flags: {metronome: 1}, volatileStatus: 'reflect', onTryHit(pokemon) { if (pokemon.volatiles['reflect']) { @@ -802,6 +800,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Substitute", pp: 10, priority: 0, + flags: {metronome: 1}, volatileStatus: 'substitute', onTryHit(target) { if (target.volatiles['substitute']) { @@ -899,7 +898,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { secondary: null, target: "self", type: "Normal", - flags: {}, }, superfang: { inherit: true, diff --git a/data/mods/gen1jpn/rulesets.ts b/data/mods/gen1jpn/rulesets.ts index ea866849c348..6bcd264a6f1d 100644 --- a/data/mods/gen1jpn/rulesets.ts +++ b/data/mods/gen1jpn/rulesets.ts @@ -5,9 +5,9 @@ export const Rulesets: {[k: string]: ModdedFormatData} = { ruleset: ['Obtainable', 'Desync Clause Mod', 'Sleep Clause Mod', 'Freeze Clause Mod', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod'], banlist: ['Dig', 'Fly'], }, - nintendocup1997movelegality: { + nc1997movelegality: { effectType: 'ValidatorRule', - name: 'Nintendo Cup 1997 Move Legality', + name: 'NC 1997 Move Legality', desc: "Bans move combinations on Pok\u00e9mon that would only be obtainable in Pok\u00e9mon Yellow.", banlist: [ // https://www.smogon.com/forums/threads/rby-and-gsc-illegal-movesets.78638/ diff --git a/data/mods/gen1stadium/scripts.ts b/data/mods/gen1stadium/scripts.ts index 677c46ecef6a..f411e5308f66 100644 --- a/data/mods/gen1stadium/scripts.ts +++ b/data/mods/gen1stadium/scripts.ts @@ -691,7 +691,7 @@ export const Scripts: ModdedBattleScriptsData = { } // When either attack or defense are higher than 256, they are both divided by 4 and moded by 256. - // This is what cuases the roll over bugs. + // This is what causes the rollover bugs. if (attack >= 256 || defense >= 256) { attack = this.battle.clampIntRange(Math.floor(attack / 4) % 256, 1); // Defense isn't checked on the cartridge, but we don't want those / 0 bugs on the sim. diff --git a/data/mods/gen2/formats-data.ts b/data/mods/gen2/formats-data.ts index 772d3c350157..c914865d28ad 100644 --- a/data/mods/gen2/formats-data.ts +++ b/data/mods/gen2/formats-data.ts @@ -3,7 +3,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, ivysaur: { - tier: "NFE", + tier: "ZU", }, venusaur: { tier: "UUBL", @@ -12,7 +12,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, charmeleon: { - tier: "NFE", + tier: "PU", }, charizard: { tier: "UUBL", @@ -21,7 +21,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, wartortle: { - tier: "NFE", + tier: "ZUBL", }, blastoise: { tier: "UU", @@ -33,7 +33,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, butterfree: { - tier: "NU", + tier: "ZU", }, weedle: { tier: "LC", @@ -42,7 +42,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beedrill: { - tier: "NU", + tier: "PU", }, pidgey: { tier: "LC", @@ -81,7 +81,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NUBL", }, sandshrew: { - tier: "LC", + tier: "ZU", }, sandslash: { tier: "UU", @@ -90,7 +90,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, nidorina: { - tier: "NFE", + tier: "ZU", }, nidoqueen: { tier: "UU", @@ -99,7 +99,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, nidorino: { - tier: "NFE", + tier: "ZU", }, nidoking: { tier: "OU", @@ -108,7 +108,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, clefairy: { - tier: "NFE", + tier: "PU", }, clefable: { tier: "UUBL", @@ -132,7 +132,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, golbat: { - tier: "NFE", + tier: "PU", }, crobat: { tier: "UU", @@ -153,22 +153,22 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, parasect: { - tier: "NU", + tier: "ZU", }, venonat: { tier: "LC", }, venomoth: { - tier: "NU", + tier: "PU", }, diglett: { - tier: "LC", + tier: "ZU", }, dugtrio: { tier: "NU", }, meowth: { - tier: "LC", + tier: "ZU", }, persian: { tier: "NU", @@ -186,16 +186,16 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, growlithe: { - tier: "LC", + tier: "ZU", }, arcanine: { tier: "UU", }, poliwag: { - tier: "LC", + tier: "ZUBL", }, poliwhirl: { - tier: "NU", + tier: "PU", }, poliwrath: { tier: "NUBL", @@ -204,7 +204,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, abra: { - tier: "LC", + tier: "PU", }, kadabra: { tier: "UU", @@ -216,7 +216,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, machoke: { - tier: "NU", + tier: "PU", }, machamp: { tier: "OU", @@ -225,19 +225,19 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, weepinbell: { - tier: "NFE", + tier: "ZU", }, victreebel: { tier: "UU", }, tentacool: { - tier: "NU", + tier: "ZU", }, tentacruel: { tier: "UUBL", }, geodude: { - tier: "LC", + tier: "PU", }, graveler: { tier: "NU", @@ -246,13 +246,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, ponyta: { - tier: "LC", + tier: "PU", }, rapidash: { tier: "NU", }, slowpoke: { - tier: "NU", + tier: "PU", }, slowbro: { tier: "UU", @@ -270,7 +270,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, doduo: { - tier: "LC", + tier: "ZU", }, dodrio: { tier: "UU", @@ -282,10 +282,10 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, grimer: { - tier: "LC", + tier: "ZU", }, muk: { - tier: "UUBL", + tier: "UU", }, shellder: { tier: "LC", @@ -294,7 +294,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, gastly: { - tier: "NU", + tier: "PU", }, haunter: { tier: "UU", @@ -303,13 +303,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, onix: { - tier: "LC", + tier: "ZU", }, steelix: { tier: "OU", }, drowzee: { - tier: "LC", + tier: "PU", }, hypno: { tier: "UU", @@ -321,7 +321,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, voltorb: { - tier: "NU", + tier: "PU", }, electrode: { tier: "UU", @@ -333,7 +333,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, cubone: { - tier: "NU", + tier: "PU", }, marowak: { tier: "OU", @@ -345,22 +345,22 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, hitmonchan: { - tier: "NU", + tier: "PUBL", }, hitmontop: { - tier: "NU", + tier: "PU", }, lickitung: { tier: "NU", }, koffing: { - tier: "LC", + tier: "ZU", }, weezing: { tier: "NU", }, rhyhorn: { - tier: "LC", + tier: "PU", }, rhydon: { tier: "OU", @@ -372,7 +372,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, tangela: { - tier: "NU", + tier: "PU", }, kangaskhan: { tier: "UUBL", @@ -381,7 +381,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, seadra: { - tier: "NU", + tier: "PU", }, kingdra: { tier: "UUBL", @@ -390,10 +390,10 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, seaking: { - tier: "NU", + tier: "PU", }, staryu: { - tier: "LC", + tier: "PU", }, starmie: { tier: "OU", @@ -408,19 +408,19 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UUBL", }, smoochum: { - tier: "LC", + tier: "ZU", }, jynx: { tier: "OU", }, elekid: { - tier: "NU", + tier: "PU", }, electabuzz: { tier: "UU", }, magby: { - tier: "LC", + tier: "ZU", }, magmar: { tier: "NU", @@ -441,10 +441,10 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UUBL", }, ditto: { - tier: "NU", + tier: "ZU", }, eevee: { - tier: "LC", + tier: "PU", }, vaporeon: { tier: "OU", @@ -468,7 +468,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UUBL", }, omanyte: { - tier: "LC", + tier: "PU", }, omastar: { tier: "UU", @@ -480,7 +480,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, aerodactyl: { - tier: "UUBL", + tier: "UU", }, snorlax: { tier: "OU", @@ -495,7 +495,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UUBL", }, dratini: { - tier: "LC", + tier: "ZU", }, dragonair: { tier: "NU", @@ -513,7 +513,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, bayleef: { - tier: "NU", + tier: "ZU", }, meganium: { tier: "UUBL", @@ -522,7 +522,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, quilava: { - tier: "NFE", + tier: "ZUBL", }, typhlosion: { tier: "UUBL", @@ -531,7 +531,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, croconaw: { - tier: "NFE", + tier: "ZU", }, feraligatr: { tier: "NUBL", @@ -540,13 +540,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, furret: { - tier: "NU", + tier: "PUBL", }, hoothoot: { tier: "LC", }, noctowl: { - tier: "NU", + tier: "PU", }, ledyba: { tier: "LC", @@ -558,7 +558,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, ariados: { - tier: "NU", + tier: "PU", }, chinchou: { tier: "NU", @@ -570,19 +570,19 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, togetic: { - tier: "NU", + tier: "ZU", }, natu: { - tier: "LC", + tier: "ZU", }, xatu: { tier: "NU", }, mareep: { - tier: "LC", + tier: "ZU", }, flaaffy: { - tier: "NU", + tier: "PU", }, ampharos: { tier: "UU", @@ -606,16 +606,16 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, aipom: { - tier: "NU", + tier: "PU", }, sunkern: { tier: "LC", }, sunflora: { - tier: "NU", + tier: "PU", }, yanma: { - tier: "NU", + tier: "ZU", }, wooper: { tier: "LC", @@ -624,16 +624,16 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, murkrow: { - tier: "NU", + tier: "PU", }, misdreavus: { tier: "OU", }, unown: { - tier: "NU", + tier: "ZU", }, wobbuffet: { - tier: "NU", + tier: "ZU", }, girafarig: { tier: "UU", @@ -666,10 +666,10 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, sneasel: { - tier: "NU", + tier: "PU", }, teddiursa: { - tier: "LC", + tier: "ZU", }, ursaring: { tier: "UUBL", @@ -678,7 +678,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, magcargo: { - tier: "NU", + tier: "PU", }, swinub: { tier: "LC", @@ -687,7 +687,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, corsola: { - tier: "NU", + tier: "PU", }, remoraid: { tier: "LC", @@ -696,10 +696,10 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, delibird: { - tier: "NU", + tier: "PU", }, mantine: { - tier: "NU", + tier: "PU", }, skarmory: { tier: "OU", diff --git a/data/mods/gen2/moves.ts b/data/mods/gen2/moves.ts index aafbf472bd1d..968cfdec9794 100644 --- a/data/mods/gen2/moves.ts +++ b/data/mods/gen2/moves.ts @@ -398,14 +398,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, meanlook: { inherit: true, - flags: {reflectable: 1, mirror: 1}, + flags: {reflectable: 1, mirror: 1, metronome: 1}, }, metronome: { inherit: true, flags: {failencore: 1}, - noMetronome: [ - "Counter", "Destiny Bond", "Detect", "Endure", "Metronome", "Mimic", "Mirror Coat", "Protect", "Sketch", "Sleep Talk", "Struggle", "Thief", - ], noSketch: true, }, mimic: { @@ -439,7 +436,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, mirrormove: { inherit: true, - flags: {failencore: 1}, + flags: {metronome: 1, failencore: 1}, onHit(pokemon) { const noMirror = ['metronome', 'mimic', 'mirrormove', 'sketch', 'sleeptalk', 'transform']; const target = pokemon.side.foe.active[0]; @@ -462,7 +459,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Mist", pp: 30, priority: 0, - flags: {}, + flags: {metronome: 1}, volatileStatus: 'mist', condition: { onStart(pokemon) { @@ -787,7 +784,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, spiderweb: { inherit: true, - flags: {reflectable: 1, mirror: 1}, + flags: {reflectable: 1, mirror: 1, metronome: 1}, }, spikes: { inherit: true, diff --git a/data/mods/gen2/random-data.json b/data/mods/gen2/random-data.json deleted file mode 100644 index c4f990df0e9f..000000000000 --- a/data/mods/gen2/random-data.json +++ /dev/null @@ -1,425 +0,0 @@ -{ - "venusaur": { - "moves": ["growth", "hiddenpowerfire", "hiddenpowerice", "leechseed", "razorleaf", "sleeppowder", "synthesis"] - }, - "charizard": { - "moves": ["bellydrum", "earthquake", "fireblast", "hyperbeam", "rockslide"] - }, - "blastoise": { - "moves": ["icebeam", "rapidspin", "rest", "sleeptalk", "surf", "toxic", "zapcannon"] - }, - "butterfree": { - "moves": ["nightmare", "psychic", "sleeppowder", "stunspore", "substitute"] - }, - "beedrill": { - "moves": ["agility", "hiddenpowerground", "sludgebomb", "substitute", "swordsdance"] - }, - "pidgeot": { - "moves": ["curse", "hiddenpowerground", "rest", "return", "sleeptalk", "toxic", "whirlwind"] - }, - "raticate": { - "moves": ["irontail", "rest", "return", "sleeptalk", "superfang"] - }, - "fearow": { - "moves": ["doubleedge", "drillpeck", "hiddenpowerground", "rest", "sleeptalk", "substitute"] - }, - "arbok": { - "moves": ["curse", "earthquake", "glare", "haze", "rest", "sludgebomb"] - }, - "pikachu": { - "moves": ["encore", "hiddenpowerice", "substitute", "surf", "thunderbolt"] - }, - "raichu": { - "moves": ["encore", "hiddenpowerice", "rest", "sleeptalk", "surf", "thunder", "thunderbolt"] - }, - "sandslash": { - "moves": ["earthquake", "hiddenpowerbug", "rockslide", "substitute", "swordsdance"] - }, - "nidoqueen": { - "moves": ["earthquake", "fireblast", "icebeam", "lovelykiss", "moonlight", "thunder"] - }, - "nidoking": { - "moves": ["earthquake", "fireblast", "icebeam", "lovelykiss", "morningsun", "thunder"] - }, - "clefable": { - "moves": ["bellydrum", "encore", "fireblast", "moonlight", "return", "shadowball"] - }, - "ninetales": { - "moves": ["fireblast", "hiddenpowergrass", "rest", "sleeptalk", "toxic"] - }, - "wigglytuff": { - "moves": ["bodyslam", "charm", "curse", "doubleedge", "fireblast", "rest", "sleeptalk", "thunderwave"] - }, - "vileplume": { - "moves": ["hiddenpowergrass", "moonlight", "sleeppowder", "sludgebomb", "stunspore", "swordsdance"] - }, - "parasect": { - "moves": ["bodyslam", "gigadrain", "hiddenpowerbug", "spore", "swordsdance", "synthesis"] - }, - "venomoth": { - "moves": ["disable", "gigadrain", "psychic", "sleeppowder", "sludgebomb", "stunspore"] - }, - "dugtrio": { - "moves": ["earthquake", "rockslide", "sludgebomb", "substitute", "swagger"] - }, - "persian": { - "moves": ["bodyslam", "hypnosis", "irontail", "rest", "return", "thunder"] - }, - "golduck": { - "moves": ["crosschop", "hiddenpowerelectric", "hydropump", "hypnosis", "icebeam", "psychic", "surf"] - }, - "primeape": { - "moves": ["crosschop", "doubleedge", "hiddenpowerghost", "meditate", "rest", "rockslide", "substitute"] - }, - "arcanine": { - "moves": ["bodyslam", "crunch", "extremespeed", "fireblast", "hiddenpowergrass", "rest", "sleeptalk"] - }, - "poliwrath": { - "moves": ["bellydrum", "bodyslam", "earthquake", "lovelykiss"] - }, - "alakazam": { - "moves": ["encore", "firepunch", "icepunch", "psychic", "recover", "thunderpunch", "thunderwave"] - }, - "machamp": { - "moves": ["bodyslam", "crosschop", "curse", "earthquake", "hiddenpowerghost", "rest", "rockslide", "sleeptalk"] - }, - "victreebel": { - "moves": ["hiddenpowerground", "razorleaf", "sleeppowder", "sludgebomb", "swordsdance", "synthesis"] - }, - "tentacruel": { - "moves": ["hydropump", "sludgebomb", "substitute", "swordsdance"] - }, - "golem": { - "moves": ["curse", "earthquake", "explosion", "fireblast", "rapidspin", "rockslide"] - }, - "rapidash": { - "moves": ["bodyslam", "fireblast", "hiddenpowergrass", "hypnosis", "sunnyday"] - }, - "slowbro": { - "moves": ["flamethrower", "icebeam", "psychic", "rest", "sleeptalk", "surf", "thunderwave"] - }, - "magneton": { - "moves": ["hiddenpowerice", "rest", "sleeptalk", "thunderbolt"] - }, - "farfetchd": { - "moves": ["agility", "batonpass", "return", "swordsdance"] - }, - "dodrio": { - "moves": ["doubleedge", "drillpeck", "hiddenpowerground", "rest", "substitute"] - }, - "dewgong": { - "moves": ["encore", "icebeam", "rest", "sleeptalk", "surf", "toxic"] - }, - "muk": { - "moves": ["curse", "explosion", "fireblast", "hiddenpowerground", "sludgebomb"] - }, - "cloyster": { - "moves": ["explosion", "icebeam", "spikes", "surf", "toxic"] - }, - "gengar": { - "moves": ["destinybond", "explosion", "firepunch", "hypnosis", "icepunch", "thunderbolt"] - }, - "hypno": { - "moves": ["psychic", "rest", "seismictoss", "sleeptalk", "thunderwave", "toxic"] - }, - "kingler": { - "moves": ["hiddenpowerground", "rest", "return", "surf", "swordsdance"] - }, - "electrode": { - "moves": ["explosion", "hiddenpowerice", "thunderbolt", "thunderwave"] - }, - "exeggutor": { - "moves": ["explosion", "gigadrain", "hiddenpowerfire", "psychic", "sleeppowder", "stunspore", "synthesis"] - }, - "marowak": { - "moves": ["earthquake", "hiddenpowerbug", "rockslide", "swordsdance"] - }, - "hitmonlee": { - "moves": ["bodyslam", "hiddenpowerghost", "highjumpkick", "meditate", "rest"] - }, - "hitmonchan": { - "moves": ["bodyslam", "counter", "curse", "hiddenpowerghost", "highjumpkick"] - }, - "lickitung": { - "moves": ["bodyslam", "earthquake", "fireblast", "rest", "sleeptalk", "swordsdance"] - }, - "weezing": { - "moves": ["explosion", "fireblast", "hiddenpowerice", "painsplit", "sludgebomb", "thunder"] - }, - "rhydon": { - "moves": ["curse", "earthquake", "rest", "roar", "rockslide", "sleeptalk"] - }, - "tangela": { - "moves": ["gigadrain", "growth", "hiddenpowerice", "sleeppowder", "synthesis"] - }, - "kangaskhan": { - "moves": ["bodyslam", "curse", "earthquake", "rest", "return", "roar", "sleeptalk"] - }, - "seaking": { - "moves": ["agility", "return", "substitute", "surf", "swordsdance"] - }, - "starmie": { - "moves": ["psychic", "rapidspin", "recover", "surf", "thunderbolt", "thunderwave"] - }, - "mrmime": { - "moves": ["encore", "firepunch", "hypnosis", "icepunch", "psychic", "thief", "thunderbolt", "thunderwave"] - }, - "scyther": { - "moves": ["batonpass", "hiddenpowerbug", "hiddenpowerground", "swordsdance", "wingattack"] - }, - "jynx": { - "moves": ["icebeam", "lovelykiss", "nightmare", "psychic", "substitute", "thief"] - }, - "electabuzz": { - "moves": ["crosschop", "icepunch", "psychic", "pursuit", "thunder", "thunderbolt"] - }, - "magmar": { - "moves": ["crosschop", "fireblast", "hiddenpowerground", "sunnyday", "thief", "thunderpunch"] - }, - "pinsir": { - "moves": ["bodyslam", "doubleedge", "hiddenpowerbug", "rest", "submission", "swordsdance"] - }, - "tauros": { - "moves": ["curse", "doubleedge", "earthquake", "rest", "return", "sleeptalk"] - }, - "gyarados": { - "moves": ["bodyslam", "doubleedge", "hiddenpowerflying", "hydropump", "rest", "sleeptalk", "thunder"] - }, - "lapras": { - "moves": ["icebeam", "rest", "sleeptalk", "surf", "thunderbolt", "toxic"] - }, - "ditto": { - "level": 83, - "moves": ["transform"] - }, - "vaporeon": { - "moves": ["growth", "rest", "sleeptalk", "surf"] - }, - "jolteon": { - "moves": ["batonpass", "growth", "hiddenpowerice", "substitute", "thunderbolt"] - }, - "flareon": { - "moves": ["batonpass", "doubleedge", "fireblast", "growth", "hiddenpowergrass"] - }, - "omastar": { - "moves": ["hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"] - }, - "kabutops": { - "moves": ["ancientpower", "hiddenpowerground", "return", "submission", "surf", "swordsdance"] - }, - "aerodactyl": { - "moves": ["ancientpower", "curse", "earthquake", "hiddenpowerflying", "rest", "whirlwind"] - }, - "snorlax": { - "moves": ["curse", "doubleedge", "earthquake", "lovelykiss", "rest", "return", "sleeptalk"] - }, - "articuno": { - "moves": ["hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "toxic"] - }, - "zapdos": { - "moves": ["hiddenpowerice", "rest", "sleeptalk", "thunder"] - }, - "moltres": { - "moves": ["fireblast", "hiddenpowergrass", "rest", "sleeptalk", "sunnyday"] - }, - "dragonite": { - "moves": ["haze", "hiddenpowerflying", "rest", "surf", "thunder"] - }, - "mewtwo": { - "moves": ["fireblast", "icebeam", "psychic", "recover", "thunderbolt", "thunderwave"] - }, - "mew": { - "moves": ["earthquake", "explosion", "rockslide", "softboiled", "swordsdance"] - }, - "meganium": { - "moves": ["bodyslam", "earthquake", "swordsdance", "synthesis"] - }, - "typhlosion": { - "moves": ["earthquake", "fireblast", "rest", "sleeptalk", "thunderpunch"] - }, - "feraligatr": { - "moves": ["crunch", "earthquake", "icebeam", "rest", "rockslide", "sleeptalk", "surf"] - }, - "furret": { - "moves": ["curse", "doubleedge", "rest", "shadowball", "sleeptalk", "surf"] - }, - "noctowl": { - "moves": ["hypnosis", "nightshade", "thief", "toxic", "whirlwind"] - }, - "ledian": { - "moves": ["agility", "barrier", "batonpass", "lightscreen"] - }, - "ariados": { - "moves": ["batonpass", "curse", "sludgebomb", "spiderweb"] - }, - "crobat": { - "moves": ["gigadrain", "haze", "hiddenpowerground", "rest", "toxic", "wingattack"] - }, - "lanturn": { - "moves": ["icebeam", "raindance", "rest", "sleeptalk", "surf", "thunder"] - }, - "togetic": { - "moves": ["curse", "doubleedge", "rest", "sleeptalk"] - }, - "xatu": { - "moves": ["drillpeck", "haze", "psychic", "rest", "sleeptalk", "thief"] - }, - "ampharos": { - "moves": ["firepunch", "hiddenpowerice", "rest", "sleeptalk", "thunderbolt", "thunderwave"] - }, - "bellossom": { - "moves": ["hiddenpowerfire", "leechseed", "moonlight", "razorleaf", "sleeppowder", "stunspore"] - }, - "azumarill": { - "moves": ["perishsong", "rest", "surf", "whirlpool"] - }, - "sudowoodo": { - "moves": ["curse", "earthquake", "rest", "rockslide", "selfdestruct", "sleeptalk"] - }, - "politoed": { - "moves": ["growth", "rest", "sleeptalk", "surf"] - }, - "jumpluff": { - "moves": ["encore", "gigadrain", "hiddenpowerflying", "leechseed", "sleeppowder", "stunspore"] - }, - "aipom": { - "moves": ["agility", "batonpass", "curse", "return", "shadowball"] - }, - "sunflora": { - "moves": ["growth", "hiddenpowerfire", "hiddenpowerice", "razorleaf", "synthesis"] - }, - "yanma": { - "moves": ["gigadrain", "hiddenpowerbug", "hiddenpowerflying", "return", "screech", "thief"] - }, - "quagsire": { - "moves": ["bellydrum", "earthquake", "hiddenpowerrock", "rest", "sleeptalk", "surf"] - }, - "espeon": { - "moves": ["batonpass", "bite", "growth", "hiddenpowerfire", "morningsun", "psychic", "substitute"] - }, - "umbreon": { - "moves": ["batonpass", "growth", "hiddenpowerdark", "meanlook", "moonlight"] - }, - "murkrow": { - "moves": ["drillpeck", "haze", "hiddenpowerdark", "hiddenpowerfire", "pursuit", "thief", "toxic"] - }, - "slowking": { - "moves": ["flamethrower", "icebeam", "psychic", "rest", "sleeptalk", "surf", "thunderwave"] - }, - "misdreavus": { - "moves": ["meanlook", "painsplit", "perishsong", "psychic", "shadowball", "thief", "thunderbolt"] - }, - "unown": { - "level": 87, - "moves": ["hiddenpowerpsychic"] - }, - "wobbuffet": { - "level": 83, - "moves": ["counter", "mimic", "mirrorcoat", "safeguard"] - }, - "girafarig": { - "moves": ["crunch", "curse", "earthquake", "psychic", "rest", "return", "thunderbolt"] - }, - "forretress": { - "moves": ["doubleedge", "explosion", "hiddenpowerbug", "rapidspin", "spikes", "toxic"] - }, - "dunsparce": { - "moves": ["curse", "flamethrower", "rest", "return", "sleeptalk", "thunder", "thunderbolt"] - }, - "gligar": { - "moves": ["counter", "earthquake", "hiddenpowerflying", "screech", "thief"] - }, - "steelix": { - "moves": ["curse", "earthquake", "explosion", "irontail", "rest", "roar", "sleeptalk", "toxic"] - }, - "granbull": { - "moves": ["curse", "healbell", "hiddenpowerground", "lovelykiss", "rest", "return", "sleeptalk"] - }, - "qwilfish": { - "moves": ["curse", "haze", "hydropump", "sludgebomb", "spikes"] - }, - "scizor": { - "moves": ["agility", "batonpass", "hiddenpowerbug", "return", "swordsdance"] - }, - "shuckle": { - "moves": ["defensecurl", "rest", "rollout", "toxic"] - }, - "heracross": { - "moves": ["curse", "earthquake", "megahorn", "rest", "sleeptalk"] - }, - "sneasel": { - "moves": ["icebeam", "moonlight", "return", "screech", "shadowball", "thief"] - }, - "ursaring": { - "moves": ["curse", "earthquake", "rest", "return", "roar", "sleeptalk"] - }, - "magcargo": { - "moves": ["curse", "earthquake", "fireblast", "rest", "rockslide", "sleeptalk"] - }, - "piloswine": { - "moves": ["ancientpower", "curse", "earthquake", "icebeam", "rest", "sleeptalk"] - }, - "corsola": { - "moves": ["curse", "recover", "rockslide", "surf", "toxic"] - }, - "octillery": { - "moves": ["flamethrower", "hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"] - }, - "delibird": { - "moves": ["hiddenpowerflying", "icebeam", "rapidspin", "spikes", "thief"] - }, - "mantine": { - "moves": ["haze", "hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf", "toxic"] - }, - "skarmory": { - "moves": ["curse", "drillpeck", "rest", "sleeptalk", "toxic"] - }, - "houndoom": { - "moves": ["crunch", "fireblast", "pursuit", "solarbeam", "sunnyday"] - }, - "kingdra": { - "moves": ["dragonbreath", "hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"] - }, - "donphan": { - "moves": ["ancientpower", "curse", "earthquake", "hiddenpowerbug", "rapidspin", "rest", "roar", "sleeptalk"] - }, - "porygon2": { - "moves": ["curse", "doubleedge", "icebeam", "recover", "return", "thunderbolt", "thunderwave"] - }, - "stantler": { - "moves": ["curse", "earthquake", "rest", "return", "sleeptalk"] - }, - "smeargle": { - "moves": ["agility", "batonpass", "spiderweb", "spikes", "spore", "swordsdance"] - }, - "hitmontop": { - "moves": ["curse", "hiddenpowerghost", "highjumpkick", "rest", "sleeptalk"] - }, - "miltank": { - "moves": ["bodyslam", "curse", "earthquake", "healbell", "milkdrink"] - }, - "blissey": { - "moves": ["flamethrower", "healbell", "icebeam", "present", "sing", "softboiled", "toxic"] - }, - "raikou": { - "moves": ["crunch", "hiddenpowerice", "rest", "roar", "sleeptalk", "thunder", "thunderbolt"] - }, - "entei": { - "moves": ["fireblast", "hiddenpowerrock", "return", "solarbeam", "sunnyday"] - }, - "suicune": { - "moves": ["icebeam", "rest", "roar", "sleeptalk", "surf", "toxic"] - }, - "tyranitar": { - "moves": ["crunch", "curse", "earthquake", "fireblast", "pursuit", "rest", "roar", "rockslide", "surf"] - }, - "lugia": { - "moves": ["aeroblast", "curse", "earthquake", "icebeam", "recover", "whirlwind"] - }, - "hooh": { - "moves": ["curse", "earthquake", "hiddenpowerflying", "recover", "sacredfire", "thunder", "thunderbolt"] - }, - "celebi": { - "moves": ["hiddenpowergrass", "healbell", "leechseed", "psychic", "recover", "toxic"] - } -} diff --git a/data/mods/gen2/random-teams.ts b/data/mods/gen2/random-teams.ts deleted file mode 100644 index 3078f2f23685..000000000000 --- a/data/mods/gen2/random-teams.ts +++ /dev/null @@ -1,313 +0,0 @@ -import RandomGen3Teams from '../gen3/random-teams'; -import {PRNG, PRNGSeed} from '../../../sim/prng'; -import type {MoveCounter, OldRandomBattleSpecies} from '../gen8/random-teams'; - -export class RandomGen2Teams extends RandomGen3Teams { - randomData: {[species: string]: OldRandomBattleSpecies} = require('./random-data.json'); - - constructor(format: string | Format, prng: PRNG | PRNGSeed | null) { - super(format, prng); - this.moveEnforcementCheckers = { - Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric'), - Fire: (movePool, moves, abilities, types, counter) => !counter.get('Fire'), - Flying: (movePool, moves, abilities, types, counter) => !counter.get('Flying') && types.has('Ground'), - Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'), - Ice: (movePool, moves, abilities, types, counter) => !counter.get('Ice'), - Normal: (movePool, moves, abilities, types, counter) => !counter.get('Normal') && counter.setupType === 'Physical', - Psychic: (movePool, moves, abilities, types, counter) => ( - !counter.get('Psychic') && (types.has('Grass') || types.has('Ice')) - ), - Rock: (movePool, moves, abilities, types, counter, species) => !counter.get('Rock') && species.baseStats.atk > 60, - Water: (movePool, moves, abilities, types, counter) => !counter.get('Water'), - }; - } - - shouldCullMove( - move: Move, - types: Set, - moves: Set, - abilities = {}, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - ): {cull: boolean, isSetup?: boolean} { - const restTalk = moves.has('rest') && moves.has('sleeptalk'); - - switch (move.id) { - // Set up once and only if we have the moves for it - case 'bellydrum': case 'curse': case 'meditate': case 'screech': case 'swordsdance': - return { - cull: ( - (counter.setupType !== 'Physical' || counter.get('physicalsetup') > 1) || - (!counter.get('Physical') || counter.damagingMoves.size < 2 && !moves.has('batonpass') && !moves.has('sleeptalk')) || - (move.id === 'bellydrum' && moves.has('sleeptalk')) - ), - isSetup: true, - }; - - // Not very useful without their supporting moves - case 'batonpass': - return {cull: !counter.setupType && !counter.get('speedsetup') && !moves.has('meanlook') && !moves.has('spiderweb')}; - case 'meanlook': case 'spiderweb': - return {cull: movePool.includes('perishsong') || movePool.includes('batonpass')}; - case 'nightmare': - return {cull: !moves.has('lovelykiss') && !moves.has('sleeppowder')}; - case 'swagger': - return {cull: !moves.has('substitute')}; - - // Bad after setup - case 'charm': case 'counter': - return {cull: !!counter.setupType}; - case 'haze': - return {cull: !!counter.setupType || restTalk}; - - // Ineffective to have both - case 'doubleedge': - return {cull: moves.has('bodyslam') || moves.has('return')}; - case 'explosion': case 'selfdestruct': - return {cull: moves.has('softboiled') || restTalk}; - case 'extremespeed': - return {cull: moves.has('bodyslam') || restTalk}; - case 'hyperbeam': - return {cull: moves.has('rockslide')}; - case 'rapidspin': - return {cull: !!teamDetails.rapidSpin || !!counter.setupType || moves.has('sleeptalk')}; - case 'return': - return {cull: moves.has('bodyslam')}; - case 'surf': - return {cull: moves.has('hydropump')}; - case 'thunder': - return {cull: moves.has('thunderbolt')}; - case 'razorleaf': - return {cull: moves.has('swordsdance') && movePool.includes('sludgebomb')}; - case 'icebeam': - return {cull: moves.has('dragonbreath')}; - case 'destinybond': - return {cull: moves.has('explosion')}; - case 'pursuit': - return {cull: moves.has('crunch') && moves.has('solarbeam')}; - case 'thief': - return {cull: moves.has('rest') || moves.has('substitute')}; - case 'irontail': - return {cull: types.has('Ground') && movePool.includes('earthquake')}; - - // Status and illegal move rejections - case 'encore': case 'roar': case 'whirlwind': - return {cull: restTalk}; - case 'lovelykiss': - return {cull: ['healbell', 'moonlight', 'morningsun', 'sleeptalk'].some(m => moves.has(m))}; - case 'sleeptalk': - return {cull: moves.has('curse') && counter.get('stab') >= 2}; - case 'softboiled': - return {cull: movePool.includes('swordsdance')}; - case 'spikes': - return {cull: !!teamDetails.spikes}; - case 'substitute': - return {cull: moves.has('agility') || moves.has('rest')}; - case 'synthesis': - return {cull: moves.has('explosion')}; - case 'thunderwave': - return {cull: moves.has('thunder') || moves.has('toxic')}; - } - - return {cull: false}; - } - - getItem( - ability: string, - types: string[], - moves: Set, - counter: MoveCounter, - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - ) { - // First, the high-priority items - if (species.name === 'Ditto') return 'Metal Powder'; - if (species.name === 'Farfetch\u2019d') return 'Stick'; - if (species.name === 'Marowak') return 'Thick Club'; - if (species.name === 'Pikachu') return 'Light Ball'; - if (species.name === 'Unown') return 'Twisted Spoon'; - if (moves.has('thief')) return ''; - - // Medium priority - if (moves.has('rest') && !moves.has('sleeptalk')) return 'Mint Berry'; - if ( - (moves.has('bellydrum') || moves.has('swordsdance')) && - species.baseStats.spe >= 60 && !types.includes('Ground') && - !moves.has('sleeptalk') && !moves.has('substitute') && - this.randomChance(1, 2) - ) { - return 'Miracle Berry'; - } - - // Default to Leftovers - return 'Leftovers'; - } - - randomSet(species: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}): RandomTeamsTypes.RandomSet { - species = this.dex.species.get(species); - - const data = this.randomData[species.id]; - const movePool = (data.moves || Object.keys(this.dex.species.getLearnset(species.id)!)).slice(); - const rejectedPool: string[] = []; - const moves = new Set(); - - let ivs = {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}; - let availableHP = 0; - for (const setMoveid of movePool) { - if (setMoveid.startsWith('hiddenpower')) availableHP++; - } - - const types = new Set(species.types); - - let counter; - // We use a special variable to track Hidden Power - // so that we can check for all Hidden Powers at once - let hasHiddenPower = false; - - do { - // Choose next 4 moves from learnset/viable moves and add them to moves list: - while (moves.size < this.maxMoveCount && movePool.length) { - const moveid = this.sampleNoReplace(movePool); - if (moveid.startsWith('hiddenpower')) { - availableHP--; - if (hasHiddenPower) continue; - hasHiddenPower = true; - } - moves.add(moveid); - } - while (moves.size < this.maxMoveCount && rejectedPool.length) { - const moveid = this.sampleNoReplace(rejectedPool); - if (moveid.startsWith('hiddenpower')) { - if (hasHiddenPower) continue; - hasHiddenPower = true; - } - moves.add(moveid); - } - - counter = this.queryMoves(moves, species.types, new Set(), movePool); - - // Iterate through the moves again, this time to cull them: - for (const moveid of moves) { - const move = this.dex.moves.get(moveid); - let {cull, isSetup} = this.shouldCullMove(move, types, moves, {}, counter, movePool, teamDetails); - - // This move doesn't satisfy our setup requirements: - if (counter.setupType === 'Physical' && move.category === 'Special' && !counter.get('Physical')) { - cull = true; - } - - - // Reject Status, non-STAB, or low basepower moves - const moveIsRejectable = ( - (move.category !== 'Status' || !move.flags.heal) && - // These moves cannot be rejected in favor of a forced move - !['batonpass', 'sleeptalk', 'spikes', 'spore', 'sunnyday'].includes(move.id) && - (move.category === 'Status' || !types.has(move.type) || (move.basePower && move.basePower < 40)) - ); - - if (!cull && !isSetup && moveIsRejectable && (counter.setupType || !move.stallingMove)) { - // There may be more important moves that this Pokemon needs - if ( - // Pokemon should usually have at least one STAB move - ( - !counter.get('stab') && - !counter.get('damage') && - !types.has('Ghost') && - counter.get('physicalpool') + counter.get('specialpool') > 0 - ) || (movePool.includes('megahorn') || (movePool.includes('softboiled') && moves.has('present'))) || - // Rest + Sleep Talk should be selected together - ((moves.has('rest') && movePool.includes('sleeptalk')) || (moves.has('sleeptalk') && movePool.includes('rest'))) || - // Sunny Day + Solar Beam should be selected together - (moves.has('sunnyday') && movePool.includes('solarbeam') || - (moves.has('solarbeam') && movePool.includes('sunnyday'))) || - ['milkdrink', 'recover', 'spikes', 'spore'].some(m => movePool.includes(m)) - ) { - cull = true; - } else { - // Pokemon should have moves that benefit their typing - for (const type of types) { - if (this.moveEnforcementCheckers[type]?.(movePool, moves, new Set(), types, counter, species, teamDetails)) cull = true; - } - } - } - - // Remove rejected moves from the move list - if ( - cull && - (movePool.length - availableHP || availableHP && (move.id === 'hiddenpower' || !hasHiddenPower)) - ) { - if (move.category !== 'Status' && !move.damage && (move.id !== 'hiddenpower' || !availableHP)) { - rejectedPool.push(moveid); - } - moves.delete(moveid); - if (moveid.startsWith('hiddenpower')) hasHiddenPower = false; - break; - } - - if (cull && rejectedPool.length) { - moves.delete(moveid); - if (moveid.startsWith('hiddenpower')) hasHiddenPower = false; - break; - } - } - } while (moves.size < this.maxMoveCount && (movePool.length || rejectedPool.length)); - - // Adjust IVs for Hidden Power - for (const setMoveid of moves) { - if (!setMoveid.startsWith('hiddenpower')) continue; - const hpType = setMoveid.substr(11, setMoveid.length); - - const hpIVs: {[k: string]: Partial} = { - dragon: {def: 28}, - ice: {def: 26}, - psychic: {def: 24}, - electric: {atk: 28}, - grass: {atk: 28, def: 28}, - water: {atk: 28, def: 26}, - fire: {atk: 28, def: 24}, - steel: {atk: 26}, - ghost: {atk: 26, def: 28}, - bug: {atk: 26, def: 26}, - rock: {atk: 26, def: 24}, - ground: {atk: 24}, - poison: {atk: 24, def: 28}, - flying: {atk: 24, def: 26}, - fighting: {atk: 24, def: 24}, - }; - if (hpIVs[hpType]) { - ivs = {...ivs, ...hpIVs[hpType]}; - } - - if (ivs.atk === 28 || ivs.atk === 24) ivs.hp = 14; - if (ivs.def === 28 || ivs.def === 24) ivs.hp -= 8; - } - - const levelScale: {[k: string]: number} = { - NU: 73, - NUBL: 71, - UU: 69, - UUBL: 67, - OU: 65, - Uber: 61, - }; - - const level = this.adjustLevel || data.level || levelScale[species.tier] || 80; - - return { - name: species.name, - species: species.name, - moves: Array.from(moves), - ability: 'No Ability', - evs: {hp: 255, atk: 255, def: 255, spa: 255, spd: 255, spe: 255}, - ivs, - item: this.getItem('None', species.types, moves, counter, teamDetails, species), - level, - // No shiny chance because Gen 2 shinies have bad IVs - shiny: false, - gender: species.gender ? species.gender : 'M', - }; - } -} - -export default RandomGen2Teams; diff --git a/data/mods/gen2/rulesets.ts b/data/mods/gen2/rulesets.ts index 4acf130dabe0..1d3bffdb2e28 100644 --- a/data/mods/gen2/rulesets.ts +++ b/data/mods/gen2/rulesets.ts @@ -1,3 +1,5 @@ +import type {Learnset} from "../../../sim/dex-species"; + export const Rulesets: {[k: string]: ModdedFormatData} = { obtainablemoves: { inherit: true, @@ -40,9 +42,9 @@ export const Rulesets: {[k: string]: ModdedFormatData} = { 'Spore + Spider Web', ], }, - nintendocup2000movelegality: { + nc2000movelegality: { effectType: 'ValidatorRule', - name: 'Nintendo Cup 2000 Move Legality', + name: 'NC 2000 Move Legality', desc: "Prevents Pok\u00e9mon from having moves that would only be obtainable in Pok\u00e9mon Crystal.", onValidateSet(set) { const illegalCombos: {[speciesid: string]: {[moveid: string]: 'E' | 'L' | 'S'}} = { @@ -74,34 +76,31 @@ export const Rulesets: {[k: string]: ModdedFormatData} = { magneton: {triattack: 'L'}, cloyster: {spikes: 'L'}, }; + + const moveSources: NonNullable = Object.fromEntries( + set.moves.map(move => [this.toID(move), []]) + ); + + const species = this.dex.species.get(set.species); + for (const {learnset} of this.dex.species.getFullLearnset(species.id)) { + for (const moveid in moveSources) { + moveSources[moveid].push(...(learnset[moveid] || [])); + } + } + const notUsableAsTM = ['icebeam', 'flamethrower', 'thunderbolt']; - const species = this.dex.species.get(set.species || set.name); - const learnsetData = {...(this.dex.data.Learnsets[species.id]?.learnset || {})}; const legalityList = illegalCombos[species.id]; const problems = []; - let prevo = species.prevo; - while (prevo) { - const prevoSpecies = this.dex.species.get(prevo); - const prevoLsetData = this.dex.data.Learnsets[prevoSpecies.id]?.learnset || {}; - for (const moveid in prevoLsetData) { - if (!(moveid in learnsetData)) { - learnsetData[moveid] = prevoLsetData[moveid]; - } else { - learnsetData[moveid].push(...prevoLsetData[moveid]); - } - } - prevo = prevoSpecies.prevo; - } for (const moveid of set.moves.map(this.toID)) { // Diglett Magnemite Shellder - if (!learnsetData[moveid]) continue; + if (!moveSources[moveid]) continue; if (legalityList) { - const list = learnsetData[moveid].filter(x => !x.includes(legalityList[moveid])); + const list = moveSources[moveid].filter(x => !x.includes(legalityList[moveid])); if (!list.length) { switch (legalityList[moveid]) { case 'L': // Converted to a set to remove duplicate entries - const levels = new Set(learnsetData[moveid].filter(x => x.includes(legalityList[moveid])).map(x => x.slice(2))); + const levels = new Set(moveSources[moveid].filter(x => x.includes(legalityList[moveid])).map(x => x.slice(2))); problems.push( `${species.name} can't learn ${this.dex.moves.get(moveid).name}.`, `(It learns ${this.dex.moves.get(moveid).name} in Pok\u00e9mon Crystal at the following levels: ${[...levels].join(', ')})` @@ -123,7 +122,7 @@ export const Rulesets: {[k: string]: ModdedFormatData} = { } } for (const id of notUsableAsTM) { - if (moveid === id && learnsetData[id] && !learnsetData[id].filter(x => !x.includes('2T')).length) { + if (moveid === id && moveSources[id] && !moveSources[id].filter(x => !x.includes('2T')).length) { problems.push(`${species.name} can't learn ${this.dex.moves.get(id).name}.`); } } diff --git a/data/mods/gen3/abilities.ts b/data/mods/gen3/abilities.ts index 1265649cb4d9..fef0ace3cfcc 100644 --- a/data/mods/gen3/abilities.ts +++ b/data/mods/gen3/abilities.ts @@ -51,6 +51,19 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { } }, }, + forecast: { + inherit: true, + flags: {}, + }, + hustle: { + inherit: true, + onSourceModifyAccuracy(accuracy, target, source, move) { + const physicalTypes = ['Normal', 'Fighting', 'Flying', 'Poison', 'Ground', 'Rock', 'Bug', 'Ghost', 'Steel']; + if (physicalTypes.includes(move.type) && typeof accuracy === 'number') { + return this.chainModify([3277, 4096]); + } + }, + }, intimidate: { inherit: true, onStart(pokemon) { @@ -79,12 +92,13 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, lightningrod: { onFoeRedirectTarget(target, source, source2, move) { - if (move.type !== 'Electric') return; + // don't count Hidden Power as Electric-type + if (this.dex.moves.get(move.id).type !== 'Electric') return; if (this.validTarget(this.effectState.target, source, move.target)) { return this.effectState.target; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Lightning Rod", rating: 0, num: 32, @@ -162,19 +176,17 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, trace: { inherit: true, - onUpdate(pokemon) { + onUpdate() {}, + onStart(pokemon) { if (!pokemon.isStarted) return; const target = pokemon.side.randomFoe(); if (!target || target.fainted) return; const ability = target.getAbility(); - const bannedAbilities = ['forecast', 'multitype', 'trace']; - if (bannedAbilities.includes(target.ability)) { - return; - } if (pokemon.setAbility(ability)) { this.add('-ability', pokemon, ability, '[from] ability: Trace', '[of] ' + target); } }, + flags: {}, }, truant: { inherit: true, diff --git a/data/mods/gen3/formats-data.ts b/data/mods/gen3/formats-data.ts index 8d84673b5b11..31f0804fa617 100644 --- a/data/mods/gen3/formats-data.ts +++ b/data/mods/gen3/formats-data.ts @@ -21,7 +21,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, wartortle: { - tier: "PU", + tier: "ZU", }, blastoise: { tier: "UU", @@ -42,7 +42,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beedrill: { - tier: "PU", + tier: "ZU", }, pidgey: { tier: "LC", @@ -141,7 +141,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, gloom: { - tier: "ZUBL", + tier: "ZU", }, vileplume: { tier: "UU", @@ -180,7 +180,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, mankey: { - tier: "ZU", + tier: "LC", }, primeape: { tier: "UU", @@ -195,7 +195,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, poliwhirl: { - tier: "PU", + tier: "ZUBL", }, poliwrath: { tier: "UU", @@ -225,13 +225,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, weepinbell: { - tier: "PU", + tier: "ZU", }, victreebel: { tier: "UU", }, tentacool: { - tier: "PU", + tier: "ZU", }, tentacruel: { tier: "UU", @@ -240,13 +240,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, graveler: { - tier: "PU", + tier: "ZU", }, golem: { tier: "UU", }, ponyta: { - tier: "PU", + tier: "ZU", }, rapidash: { tier: "UU", @@ -270,7 +270,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "ZU", }, doduo: { - tier: "PU", + tier: "ZU", }, dodrio: { tier: "UUBL", @@ -303,13 +303,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, onix: { - tier: "ZU", + tier: "LC", }, steelix: { tier: "UUBL", }, drowzee: { - tier: "PU", + tier: "ZU", }, hypno: { tier: "UU", @@ -408,7 +408,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UUBL", }, smoochum: { - tier: "PU", + tier: "ZU", }, jynx: { tier: "UUBL", @@ -420,7 +420,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, magby: { - tier: "PU", + tier: "ZU", }, magmar: { tier: "UU", @@ -438,7 +438,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, lapras: { - tier: "UUBL", + tier: "UU", }, ditto: { tier: "ZU", @@ -462,7 +462,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UUBL", }, porygon: { - tier: "PU", + tier: "ZU", }, porygon2: { tier: "UUBL", @@ -522,7 +522,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "ZU", }, quilava: { - tier: "ZUBL", + tier: "ZU", }, typhlosion: { tier: "UUBL", @@ -531,7 +531,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, croconaw: { - tier: "NFE", + tier: "ZU", }, feraligatr: { tier: "UU", @@ -546,7 +546,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, noctowl: { - tier: "PU", + tier: "ZU", }, ledyba: { tier: "LC", @@ -558,10 +558,10 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, ariados: { - tier: "PU", + tier: "ZU", }, chinchou: { - tier: "ZU", + tier: "PU", }, lanturn: { tier: "UU", @@ -573,7 +573,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "PU", }, natu: { - tier: "ZU", + tier: "LC", }, xatu: { tier: "UU", @@ -582,7 +582,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, flaaffy: { - tier: "PU", + tier: "ZU", }, ampharos: { tier: "UU", @@ -693,7 +693,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "PUBL", }, corsola: { - tier: "PU", + tier: "ZUBL", }, remoraid: { tier: "LC", @@ -741,7 +741,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "OU", }, larvitar: { - tier: "ZU", + tier: "LC", }, pupitar: { tier: "NU", @@ -816,7 +816,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, lombre: { - tier: "PU", + tier: "ZU", }, ludicolo: { tier: "UUBL", @@ -879,7 +879,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, shedinja: { - tier: "PU", + tier: "ZUBL", }, whismur: { tier: "LC", @@ -915,13 +915,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "ZU", }, lairon: { - tier: "PU", + tier: "ZUBL", }, aggron: { tier: "UU", }, meditite: { - tier: "PU", + tier: "ZU", }, medicham: { tier: "UUBL", @@ -939,7 +939,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "PU", }, volbeat: { - tier: "PU", + tier: "ZU", }, illumise: { tier: "ZU", @@ -966,7 +966,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NU", }, numel: { - tier: "ZU", + tier: "LC", }, camerupt: { tier: "UU", @@ -1041,7 +1041,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, anorith: { - tier: "PU", + tier: "ZU", }, armaldo: { tier: "UUBL", @@ -1104,7 +1104,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "UU", }, clamperl: { - tier: "PU", + tier: "ZU", }, huntail: { tier: "NU", diff --git a/data/mods/gen3/moves.ts b/data/mods/gen3/moves.ts index b1d3ff51f893..c44944f31afb 100644 --- a/data/mods/gen3/moves.ts +++ b/data/mods/gen3/moves.ts @@ -18,7 +18,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, ancientpower: { inherit: true, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + }, + assist: { + inherit: true, + flags: {metronome: 1, noassist: 1, nosleeptalk: 1}, }, astonish: { inherit: true, @@ -196,7 +200,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { disable: { inherit: true, accuracy: 55, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'disable', condition: { durationCallback() { @@ -253,7 +257,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Doom Desire", basePower: 120, category: "Physical", - flags: {}, + flags: {metronome: 1, futuremove: 1}, willCrit: false, type: '???', } as unknown as ActiveMove; @@ -269,7 +273,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { basePower: 0, damage: damage, category: "Physical", - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, effectType: 'Move', type: '???', }, @@ -335,11 +339,33 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, fakeout: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, }, feintattack: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, + }, + flail: { + inherit: true, + basePowerCallback(pokemon) { + const ratio = Math.max(Math.floor(pokemon.hp * 48 / pokemon.maxhp), 1); + let bp; + if (ratio < 2) { + bp = 200; + } else if (ratio < 5) { + bp = 150; + } else if (ratio < 10) { + bp = 100; + } else if (ratio < 17) { + bp = 80; + } else if (ratio < 33) { + bp = 40; + } else { + bp = 20; + } + this.debug('BP: ' + bp); + return bp; + }, }, flash: { inherit: true, @@ -473,6 +499,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, mirrormove: { inherit: true, + flags: {metronome: 1, failencore: 1, nosleeptalk: 1, noassist: 1}, onTryHit() { }, onHit(pokemon) { const noMirror = [ @@ -517,7 +544,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, overheat: { inherit: true, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, }, petaldance: { inherit: true, @@ -527,6 +554,28 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, pp: 20, }, + reversal: { + inherit: true, + basePowerCallback(pokemon) { + const ratio = Math.max(Math.floor(pokemon.hp * 48 / pokemon.maxhp), 1); + let bp; + if (ratio < 2) { + bp = 200; + } else if (ratio < 5) { + bp = 150; + } else if (ratio < 10) { + bp = 100; + } else if (ratio < 17) { + bp = 80; + } else if (ratio < 33) { + bp = 40; + } else { + bp = 20; + } + this.debug('BP: ' + bp); + return bp; + }, + }, rocksmash: { inherit: true, basePower: 20, @@ -602,7 +651,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, taunt: { inherit: true, - flags: {protect: 1, bypasssub: 1}, + flags: {protect: 1, bypasssub: 1, metronome: 1}, condition: { duration: 2, onStart(target) { @@ -630,11 +679,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, teeterdance: { inherit: true, - flags: {protect: 1}, + flags: {protect: 1, metronome: 1}, }, tickle: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, uproar: { inherit: true, diff --git a/data/mods/gen3/random-data.json b/data/mods/gen3/random-data.json deleted file mode 100644 index 9f40c0b2d606..000000000000 --- a/data/mods/gen3/random-data.json +++ /dev/null @@ -1,882 +0,0 @@ -{ - "venusaur": { - "level": 82, - "moves": ["curse", "earthquake", "hiddenpowerrock", "leechseed", "sleeppowder", "sludgebomb", "swordsdance", "synthesis"] - }, - "charizard": { - "level": 80, - "moves": ["bellydrum", "dragondance", "earthquake", "fireblast", "hiddenpowerflying", "substitute"] - }, - "blastoise": { - "level": 83, - "moves": ["earthquake", "icebeam", "mirrorcoat", "rest", "roar", "sleeptalk", "surf", "toxic"] - }, - "butterfree": { - "level": 94, - "moves": ["gigadrain", "hiddenpowerfire", "morningsun", "psychic", "sleeppowder", "stunspore", "toxic"] - }, - "beedrill": { - "level": 91, - "moves": ["brickbreak", "doubleedge", "endure", "hiddenpowerbug", "sludgebomb", "swordsdance"] - }, - "pidgeot": { - "level": 87, - "moves": ["aerialace", "hiddenpowerground", "quickattack", "return", "substitute", "toxic"] - }, - "raticate": { - "level": 88, - "moves": ["endeavor", "hiddenpowerground", "quickattack", "return", "reversal", "shadowball", "substitute"] - }, - "fearow": { - "level": 85, - "moves": ["agility", "batonpass", "drillpeck", "hiddenpowerground", "quickattack", "return", "substitute"] - }, - "arbok": { - "level": 87, - "moves": ["doubleedge", "earthquake", "hiddenpowerfire", "rest", "rockslide", "sleeptalk", "sludgebomb"] - }, - "pikachu": { - "level": 88, - "moves": ["hiddenpowerice", "substitute", "surf", "thunderbolt"] - }, - "raichu": { - "level": 84, - "moves": ["encore", "focuspunch", "hiddenpowergrass", "hiddenpowerice", "substitute", "surf", "thunderbolt", "thunderwave"] - }, - "sandslash": { - "level": 84, - "moves": ["earthquake", "hiddenpowerbug", "rapidspin", "rockslide", "swordsdance", "toxic"] - }, - "nidoqueen": { - "level": 83, - "moves": ["earthquake", "fireblast", "icebeam", "shadowball", "sludgebomb", "superpower"] - }, - "nidoking": { - "level": 81, - "moves": ["earthquake", "fireblast", "icebeam", "megahorn", "sludgebomb", "substitute", "thunderbolt"] - }, - "clefable": { - "level": 84, - "moves": ["calmmind", "counter", "icebeam", "return", "shadowball", "softboiled", "thunderbolt", "thunderwave"] - }, - "ninetales": { - "level": 82, - "moves": ["fireblast", "flamethrower", "hiddenpowergrass", "hypnosis", "substitute", "toxic", "willowisp"] - }, - "wigglytuff": { - "level": 90, - "moves": ["fireblast", "icebeam", "protect", "return", "thunderbolt", "toxic", "wish"] - }, - "vileplume": { - "level": 85, - "moves": ["aromatherapy", "hiddenpowerfire", "sleeppowder", "sludgebomb", "solarbeam", "sunnyday", "synthesis"] - }, - "parasect": { - "level": 93, - "moves": ["aromatherapy", "gigadrain", "hiddenpowerbug", "return", "spore", "stunspore", "swordsdance"] - }, - "venomoth": { - "level": 88, - "moves": ["batonpass", "hiddenpowerground", "signalbeam", "sleeppowder", "sludgebomb", "substitute"] - }, - "dugtrio": { - "level": 81, - "moves": ["aerialace", "earthquake", "hiddenpowerbug", "rockslide", "substitute"] - }, - "persian": { - "level": 87, - "moves": ["fakeout", "hiddenpowerground", "hypnosis", "irontail", "return", "shadowball", "substitute"] - }, - "golduck": { - "level": 82, - "moves": ["calmmind", "hiddenpowergrass", "hydropump", "hypnosis", "icebeam", "substitute", "surf"] - }, - "primeape": { - "level": 85, - "moves": ["bulkup", "crosschop", "earthquake", "hiddenpowerghost", "rockslide", "substitute"] - }, - "arcanine": { - "level": 81, - "moves": ["extremespeed", "fireblast", "flamethrower", "hiddenpowergrass", "rest", "sleeptalk", "toxic"] - }, - "poliwrath": { - "level": 84, - "moves": ["brickbreak", "bulkup", "hiddenpowerghost", "hydropump", "hypnosis", "icebeam", "substitute"] - }, - "alakazam": { - "level": 79, - "moves": ["calmmind", "encore", "firepunch", "icepunch", "psychic", "recover", "substitute"] - }, - "machamp": { - "level": 84, - "moves": ["bulkup", "crosschop", "earthquake", "hiddenpowerghost", "rest", "rockslide", "sleeptalk"] - }, - "victreebel": { - "level": 84, - "moves": ["hiddenpowerfire", "sleeppowder", "sludgebomb", "solarbeam", "sunnyday"] - }, - "tentacruel": { - "level": 83, - "moves": ["gigadrain", "haze", "hydropump", "icebeam", "rapidspin", "surf", "toxic"] - }, - "golem": { - "level": 84, - "moves": ["doubleedge", "earthquake", "explosion", "hiddenpowerbug", "rockslide", "toxic"] - }, - "rapidash": { - "level": 83, - "moves": ["fireblast", "hiddenpowergrass", "hiddenpowerrock", "substitute", "toxic"] - }, - "slowbro": { - "level": 82, - "moves": ["calmmind", "fireblast", "icebeam", "psychic", "rest", "sleeptalk", "surf", "thunderwave"] - }, - "magneton": { - "level": 84, - "moves": ["hiddenpowergrass", "hiddenpowerice", "rest", "sleeptalk", "thunderbolt", "toxic"] - }, - "farfetchd": { - "level": 97, - "moves": ["agility", "batonpass", "hiddenpowerflying", "return", "swordsdance"] - }, - "dodrio": { - "level": 81, - "moves": ["drillpeck", "flail", "hiddenpowerground", "quickattack", "return", "substitute"] - }, - "dewgong": { - "level": 88, - "moves": ["encore", "hiddenpowergrass", "icebeam", "rest", "sleeptalk", "surf", "toxic"] - }, - "muk": { - "level": 84, - "moves": ["brickbreak", "curse", "explosion", "fireblast", "hiddenpowerghost", "rest", "sludgebomb"] - }, - "cloyster": { - "level": 81, - "moves": ["explosion", "icebeam", "rapidspin", "spikes", "surf", "toxic"] - }, - "gengar": { - "level": 78, - "moves": ["destinybond", "explosion", "firepunch", "hypnosis", "icepunch", "substitute", "thunderbolt", "willowisp"] - }, - "hypno": { - "level": 86, - "moves": ["batonpass", "calmmind", "firepunch", "hypnosis", "protect", "psychic", "toxic", "wish"] - }, - "kingler": { - "level": 90, - "moves": ["doubleedge", "hiddenpowerghost", "hiddenpowerground", "surf", "swordsdance"] - }, - "electrode": { - "level": 84, - "moves": ["explosion", "hiddenpowergrass", "hiddenpowerice", "substitute", "thunderbolt", "thunderwave", "toxic"] - }, - "exeggutor": { - "level": 82, - "moves": ["explosion", "gigadrain", "hiddenpowerfire", "hiddenpowerice", "leechseed", "psychic", "sleeppowder", "solarbeam", "sunnyday"] - }, - "marowak": { - "level": 82, - "moves": ["bonemerang", "doubleedge", "earthquake", "rockslide", "swordsdance"] - }, - "hitmonlee": { - "level": 85, - "moves": ["bulkup", "earthquake", "hiddenpowerghost", "highjumpkick", "machpunch", "rockslide", "substitute"] - }, - "hitmonchan": { - "level": 87, - "moves": ["bulkup", "earthquake", "hiddenpowerghost", "machpunch", "rapidspin", "skyuppercut", "toxic"] - }, - "lickitung": { - "level": 91, - "moves": ["counter", "healbell", "protect", "return", "seismictoss", "toxic", "wish"] - }, - "weezing": { - "level": 82, - "moves": ["explosion", "fireblast", "haze", "painsplit", "sludgebomb", "toxic", "willowisp"] - }, - "rhydon": { - "level": 84, - "moves": ["doubleedge", "earthquake", "megahorn", "rockslide", "substitute", "swordsdance"] - }, - "tangela": { - "level": 91, - "moves": ["hiddenpowergrass", "leechseed", "morningsun", "sleeppowder", "stunspore"] - }, - "kangaskhan": { - "level": 79, - "moves": ["earthquake", "fakeout", "focuspunch", "rest", "return", "shadowball", "substitute", "toxic"] - }, - "seaking": { - "level": 90, - "moves": ["hiddenpowergrass", "hydropump", "icebeam", "megahorn", "raindance"] - }, - "starmie": { - "level": 77, - "moves": ["hydropump", "icebeam", "psychic", "recover", "surf", "thunderbolt"] - }, - "mrmime": { - "level": 84, - "moves": ["barrier", "batonpass", "calmmind", "encore", "firepunch", "hypnosis", "psychic", "substitute", "thunderbolt"] - }, - "scyther": { - "level": 81, - "moves": ["aerialace", "batonpass", "hiddenpowerground", "hiddenpowerrock", "quickattack", "silverwind", "swordsdance"] - }, - "jynx": { - "level": 82, - "moves": ["calmmind", "hiddenpowerfire", "icebeam", "lovelykiss", "psychic", "substitute"] - }, - "electabuzz": { - "level": 83, - "moves": ["crosschop", "firepunch", "focuspunch", "hiddenpowergrass", "icepunch", "substitute", "thunderbolt"] - }, - "magmar": { - "level": 84, - "moves": ["crosschop", "fireblast", "flamethrower", "hiddenpowergrass", "psychic", "substitute", "thunderpunch"] - }, - "pinsir": { - "level": 82, - "moves": ["earthquake", "hiddenpowerbug", "return", "rockslide", "swordsdance"] - }, - "tauros": { - "level": 77, - "moves": ["doubleedge", "earthquake", "hiddenpowerghost", "hiddenpowerrock", "return"] - }, - "gyarados": { - "level": 75, - "moves": ["doubleedge", "dragondance", "earthquake", "hiddenpowerflying", "hydropump"] - }, - "lapras": { - "level": 81, - "moves": ["healbell", "icebeam", "rest", "sleeptalk", "surf", "thunderbolt", "toxic"] - }, - "ditto": { - "level": 100, - "moves": ["transform"] - }, - "vaporeon": { - "level": 80, - "moves": ["icebeam", "protect", "surf", "toxic", "wish"] - }, - "jolteon": { - "level": 79, - "moves": ["batonpass", "hiddenpowerice", "substitute", "thunderbolt", "toxic", "wish"] - }, - "flareon": { - "level": 88, - "moves": ["doubleedge", "fireblast", "hiddenpowergrass", "protect", "shadowball", "toxic", "wish"] - }, - "omastar": { - "level": 84, - "moves": ["hiddenpowergrass", "hydropump", "icebeam", "raindance", "spikes", "surf"] - }, - "kabutops": { - "level": 84, - "moves": ["brickbreak", "doubleedge", "hiddenpowerground", "rockslide", "surf", "swordsdance"] - }, - "aerodactyl": { - "level": 76, - "moves": ["doubleedge", "earthquake", "hiddenpowerflying", "rockslide", "substitute"] - }, - "snorlax": { - "level": 74, - "moves": ["bodyslam", "curse", "earthquake", "rest", "return", "selfdestruct", "shadowball", "sleeptalk"] - }, - "articuno": { - "level": 82, - "moves": ["healbell", "hiddenpowerfire", "icebeam", "protect", "rest", "roar", "sleeptalk", "toxic"] - }, - "zapdos": { - "level": 76, - "moves": ["agility", "batonpass", "hiddenpowerice", "substitute", "thunderbolt", "thunderwave", "toxic"] - }, - "moltres": { - "level": 79, - "moves": ["fireblast", "flamethrower", "hiddenpowergrass", "morningsun", "substitute", "toxic", "willowisp"] - }, - "dragonite": { - "level": 78, - "moves": ["doubleedge", "dragondance", "earthquake", "flamethrower", "healbell", "hiddenpowerflying", "icebeam", "substitute"] - }, - "mewtwo": { - "level": 66, - "moves": ["calmmind", "flamethrower", "icebeam", "psychic", "recover", "substitute", "thunderbolt"] - }, - "mew": { - "level": 73, - "moves": ["calmmind", "explosion", "flamethrower", "icebeam", "psychic", "softboiled", "thunderbolt", "thunderwave", "transform"] - }, - "meganium": { - "level": 84, - "moves": ["bodyslam", "hiddenpowergrass", "leechseed", "synthesis", "toxic"] - }, - "typhlosion": { - "level": 79, - "moves": ["fireblast", "flamethrower", "focuspunch", "hiddenpowergrass", "hiddenpowerice", "substitute", "thunderpunch"] - }, - "feraligatr": { - "level": 83, - "moves": ["earthquake", "hiddenpowerflying", "hydropump", "rockslide", "swordsdance"] - }, - "furret": { - "level": 90, - "moves": ["doubleedge", "quickattack", "return", "reversal", "shadowball", "substitute", "trick"] - }, - "noctowl": { - "level": 91, - "moves": ["hiddenpowerfire", "hypnosis", "psychic", "reflect", "toxic", "whirlwind"] - }, - "ledian": { - "level": 97, - "moves": ["agility", "batonpass", "lightscreen", "reflect", "silverwind", "swordsdance", "toxic"] - }, - "ariados": { - "level": 93, - "moves": ["agility", "batonpass", "signalbeam", "sludgebomb", "spiderweb", "toxic"] - }, - "crobat": { - "level": 82, - "moves": ["aerialace", "haze", "hiddenpowerground", "shadowball", "sludgebomb", "taunt", "toxic"] - }, - "lanturn": { - "level": 82, - "moves": ["confuseray", "icebeam", "rest", "sleeptalk", "surf", "thunderbolt", "thunderwave", "toxic"] - }, - "togetic": { - "level": 92, - "moves": ["charm", "encore", "flamethrower", "seismictoss", "softboiled", "thunderwave", "toxic"] - }, - "xatu": { - "level": 84, - "moves": ["batonpass", "calmmind", "hiddenpowerfire", "psychic", "reflect", "wish"] - }, - "ampharos": { - "level": 83, - "moves": ["firepunch", "healbell", "hiddenpowergrass", "hiddenpowerice", "thunderbolt", "toxic"] - }, - "bellossom": { - "level": 88, - "moves": ["hiddenpowergrass", "leechseed", "moonlight", "sleeppowder", "sludgebomb", "stunspore"] - }, - "azumarill": { - "level": 86, - "moves": ["brickbreak", "encore", "hiddenpowerghost", "hydropump", "return"] - }, - "sudowoodo": { - "level": 91, - "moves": ["brickbreak", "doubleedge", "earthquake", "explosion", "rockslide", "toxic"] - }, - "politoed": { - "level": 84, - "moves": ["hiddenpowergrass", "hypnosis", "icebeam", "rest", "surf", "toxic"] - }, - "jumpluff": { - "level": 85, - "moves": ["encore", "hiddenpowerflying", "leechseed", "sleeppowder", "substitute", "toxic"] - }, - "aipom": { - "level": 91, - "moves": ["batonpass", "doubleedge", "focuspunch", "shadowball", "substitute", "thunderwave"] - }, - "sunflora": { - "level": 94, - "moves": ["hiddenpowerfire", "leechseed", "razorleaf", "synthesis", "toxic"] - }, - "yanma": { - "level": 90, - "moves": ["hiddenpowerflying", "hypnosis", "reversal", "shadowball", "substitute"] - }, - "quagsire": { - "level": 85, - "moves": ["counter", "curse", "earthquake", "hiddenpowerrock", "icebeam", "rest", "surf", "toxic"] - }, - "espeon": { - "level": 78, - "moves": ["batonpass", "calmmind", "hiddenpowerfire", "morningsun", "psychic", "reflect"] - }, - "umbreon": { - "level": 85, - "moves": ["batonpass", "hiddenpowerdark", "protect", "toxic", "wish"] - }, - "murkrow": { - "level": 90, - "moves": ["doubleedge", "drillpeck", "hiddenpowerfighting", "hiddenpowerground", "shadowball", "substitute"] - }, - "slowking": { - "level": 84, - "moves": ["calmmind", "flamethrower", "icebeam", "psychic", "rest", "sleeptalk", "surf", "thunderwave"] - }, - "misdreavus": { - "level": 85, - "moves": ["calmmind", "hiddenpowerice", "meanlook", "perishsong", "protect", "substitute", "thunderbolt", "toxic"] - }, - "unown": { - "level": 100, - "moves": ["hiddenpowerpsychic"] - }, - "wobbuffet": { - "level": 81, - "moves": ["counter", "destinybond", "encore", "mirrorcoat"] - }, - "girafarig": { - "level": 85, - "moves": ["agility", "batonpass", "calmmind", "psychic", "substitute", "thunderbolt", "thunderwave", "wish"] - }, - "forretress": { - "level": 81, - "moves": ["earthquake", "explosion", "hiddenpowerbug", "rapidspin", "spikes", "toxic"] - }, - "dunsparce": { - "level": 88, - "moves": ["bodyslam", "curse", "headbutt", "rest", "rockslide", "shadowball", "thunderwave"] - }, - "gligar": { - "level": 84, - "moves": ["earthquake", "hiddenpowerflying", "irontail", "quickattack", "rockslide", "substitute", "swordsdance"] - }, - "steelix": { - "level": 83, - "moves": ["doubleedge", "earthquake", "explosion", "hiddenpowerrock", "irontail", "rest", "roar", "toxic"] - }, - "granbull": { - "level": 83, - "moves": ["bulkup", "earthquake", "healbell", "overheat", "rest", "return", "shadowball", "thunderwave"] - }, - "qwilfish": { - "level": 85, - "moves": ["destinybond", "hydropump", "selfdestruct", "shadowball", "sludgebomb", "spikes", "swordsdance"] - }, - "scizor": { - "level": 82, - "moves": ["agility", "batonpass", "hiddenpowerground", "hiddenpowerrock", "morningsun", "silverwind", "steelwing", "swordsdance"] - }, - "shuckle": { - "level": 97, - "moves": ["encore", "rest", "toxic", "wrap"] - }, - "heracross": { - "level": 80, - "moves": ["brickbreak", "focuspunch", "megahorn", "rest", "rockslide", "sleeptalk", "substitute", "swordsdance"] - }, - "sneasel": { - "level": 87, - "moves": ["brickbreak", "doubleedge", "hiddenpowerflying", "shadowball", "substitute", "swordsdance"] - }, - "ursaring": { - "level": 81, - "moves": ["earthquake", "focuspunch", "hiddenpowerghost", "return", "swordsdance"] - }, - "magcargo": { - "level": 93, - "moves": ["fireblast", "hiddenpowergrass", "rest", "sleeptalk", "toxic", "yawn"] - }, - "piloswine": { - "level": 88, - "moves": ["doubleedge", "earthquake", "icebeam", "protect", "rockslide", "toxic"] - }, - "corsola": { - "level": 94, - "moves": ["calmmind", "icebeam", "recover", "surf", "toxic"] - }, - "octillery": { - "level": 87, - "moves": ["fireblast", "hiddenpowergrass", "icebeam", "rockblast", "surf", "thunderwave"] - }, - "delibird": { - "level": 95, - "moves": ["aerialace", "focuspunch", "hiddenpowerground", "icebeam", "quickattack"] - }, - "mantine": { - "level": 85, - "moves": ["haze", "hiddenpowergrass", "icebeam", "raindance", "rest", "sleeptalk", "surf", "toxic"] - }, - "skarmory": { - "level": 80, - "moves": ["drillpeck", "hiddenpowerground", "protect", "rest", "sleeptalk", "spikes", "toxic", "whirlwind"] - }, - "houndoom": { - "level": 81, - "moves": ["crunch", "fireblast", "flamethrower", "hiddenpowergrass", "pursuit", "willowisp"] - }, - "kingdra": { - "level": 82, - "moves": ["hiddenpowergrass", "hydropump", "icebeam", "raindance", "substitute", "surf"] - }, - "donphan": { - "level": 83, - "moves": ["earthquake", "rapidspin", "rest", "rockslide", "sleeptalk", "toxic"] - }, - "porygon2": { - "level": 82, - "moves": ["icebeam", "recover", "return", "thunderbolt", "thunderwave", "toxic"] - }, - "stantler": { - "level": 84, - "moves": ["earthquake", "hypnosis", "return", "shadowball", "thunderbolt"] - }, - "smeargle": { - "level": 87, - "moves": ["encore", "explosion", "spikes", "spore"] - }, - "hitmontop": { - "level": 85, - "moves": ["bulkup", "earthquake", "hiddenpowerghost", "highjumpkick", "machpunch", "rockslide", "toxic"] - }, - "miltank": { - "level": 78, - "moves": ["bodyslam", "curse", "earthquake", "healbell", "milkdrink", "toxic"] - }, - "blissey": { - "level": 78, - "moves": ["aromatherapy", "calmmind", "icebeam", "seismictoss", "softboiled", "thunderbolt", "thunderwave", "toxic"] - }, - "raikou": { - "level": 74, - "moves": ["calmmind", "crunch", "hiddenpowergrass", "hiddenpowerice", "rest", "sleeptalk", "substitute", "thunderbolt"] - }, - "entei": { - "level": 79, - "moves": ["bodyslam", "calmmind", "fireblast", "flamethrower", "hiddenpowergrass", "hiddenpowerice", "solarbeam", "substitute", "sunnyday"] - }, - "suicune": { - "level": 76, - "moves": ["calmmind", "icebeam", "rest", "sleeptalk", "substitute", "surf", "toxic"] - }, - "tyranitar": { - "level": 75, - "moves": ["dragondance", "earthquake", "fireblast", "focuspunch", "hiddenpowerbug", "icebeam", "pursuit", "rockslide", "substitute"] - }, - "lugia": { - "level": 70, - "moves": ["aeroblast", "calmmind", "earthquake", "icebeam", "recover", "substitute", "thunderbolt", "toxic"] - }, - "hooh": { - "level": 72, - "moves": ["calmmind", "earthquake", "recover", "sacredfire", "substitute", "thunderbolt", "toxic"] - }, - "celebi": { - "level": 75, - "moves": ["batonpass", "calmmind", "healbell", "hiddenpowergrass", "leechseed", "psychic", "recover"] - }, - "sceptile": { - "level": 82, - "moves": ["focuspunch", "hiddenpowerice", "leafblade", "leechseed", "substitute", "thunderpunch"] - }, - "blaziken": { - "level": 82, - "moves": ["endure", "fireblast", "hiddenpowerice", "reversal", "rockslide", "skyuppercut", "swordsdance", "thunderpunch"] - }, - "swampert": { - "level": 79, - "moves": ["earthquake", "hydropump", "icebeam", "protect", "rest", "rockslide", "sleeptalk", "surf", "toxic"] - }, - "mightyena": { - "level": 90, - "moves": ["crunch", "doubleedge", "healbell", "hiddenpowerfighting", "protect", "shadowball", "toxic"] - }, - "linoone": { - "level": 85, - "moves": ["bellydrum", "extremespeed", "flail", "hiddenpowerground", "shadowball", "substitute"] - }, - "beautifly": { - "level": 100, - "moves": ["hiddenpowerbug", "hiddenpowerflying", "morningsun", "stunspore", "substitute", "toxic"] - }, - "dustox": { - "level": 94, - "moves": ["hiddenpowerground", "moonlight", "sludgebomb", "toxic", "whirlwind"] - }, - "ludicolo": { - "level": 83, - "moves": ["hiddenpowergrass", "icebeam", "leechseed", "raindance", "substitute", "surf"] - }, - "shiftry": { - "level": 87, - "moves": ["brickbreak", "explosion", "shadowball", "swordsdance"] - }, - "swellow": { - "level": 81, - "moves": ["aerialace", "doubleedge", "hiddenpowerfighting", "hiddenpowerground", "quickattack", "return"] - }, - "pelipper": { - "level": 88, - "moves": ["icebeam", "protect", "rest", "sleeptalk", "surf", "toxic"] - }, - "gardevoir": { - "level": 79, - "moves": ["calmmind", "firepunch", "hypnosis", "psychic", "substitute", "thunderbolt", "willowisp"] - }, - "masquerain": { - "level": 93, - "moves": ["hydropump", "icebeam", "stunspore", "substitute", "toxic"] - }, - "breloom": { - "level": 84, - "moves": ["focuspunch", "hiddenpowerghost", "hiddenpowerrock", "leechseed", "machpunch", "skyuppercut", "spore", "substitute", "swordsdance"] - }, - "vigoroth": { - "level": 86, - "moves": ["brickbreak", "bulkup", "earthquake", "return", "shadowball", "slackoff"] - }, - "slaking": { - "level": 80, - "moves": ["doubleedge", "earthquake", "focuspunch", "return", "shadowball"] - }, - "ninjask": { - "level": 84, - "moves": ["aerialace", "batonpass", "protect", "silverwind", "substitute", "swordsdance"] - }, - "shedinja": { - "level": 93, - "moves": ["agility", "batonpass", "hiddenpowerground", "shadowball", "silverwind", "toxic"] - }, - "exploud": { - "level": 84, - "moves": ["earthquake", "flamethrower", "icebeam", "overheat", "return", "shadowball", "substitute"] - }, - "hariyama": { - "level": 83, - "moves": ["bulkup", "crosschop", "fakeout", "hiddenpowerghost", "rest", "rockslide", "sleeptalk"] - }, - "nosepass": { - "level": 96, - "moves": ["earthquake", "explosion", "rockslide", "thunderwave", "toxic"] - }, - "delcatty": { - "level": 93, - "moves": ["batonpass", "doubleedge", "healbell", "thunderwave", "wish"] - }, - "sableye": { - "level": 90, - "moves": ["knockoff", "recover", "seismictoss", "shadowball", "toxic"] - }, - "mawile": { - "level": 94, - "moves": ["batonpass", "brickbreak", "focuspunch", "hiddenpowersteel", "rockslide", "substitute", "swordsdance", "toxic"] - }, - "aggron": { - "level": 84, - "moves": ["doubleedge", "earthquake", "focuspunch", "irontail", "rockslide", "substitute", "thunderwave", "toxic"] - }, - "medicham": { - "level": 83, - "moves": ["brickbreak", "bulkup", "recover", "rockslide", "shadowball", "substitute"] - }, - "manectric": { - "level": 83, - "moves": ["crunch", "hiddenpowergrass", "hiddenpowerice", "substitute", "thunderbolt", "thunderwave"] - }, - "plusle": { - "level": 88, - "moves": ["agility", "batonpass", "encore", "hiddenpowergrass", "substitute", "thunderbolt", "toxic"] - }, - "minun": { - "level": 89, - "moves": ["batonpass", "encore", "hiddenpowerice", "lightscreen", "substitute", "thunderbolt", "wish"] - }, - "volbeat": { - "level": 93, - "moves": ["batonpass", "icepunch", "tailglow", "thunderbolt"] - }, - "illumise": { - "level": 94, - "moves": ["batonpass", "encore", "icepunch", "substitute", "thunderwave", "wish"] - }, - "roselia": { - "level": 93, - "moves": ["aromatherapy", "gigadrain", "hiddenpowerfire", "spikes", "stunspore", "synthesis"] - }, - "swalot": { - "level": 89, - "moves": ["encore", "explosion", "hiddenpowerground", "icebeam", "sludgebomb", "toxic", "yawn"] - }, - "sharpedo": { - "level": 84, - "moves": ["crunch", "earthquake", "endure", "hiddenpowerflying", "hydropump", "icebeam", "return"] - }, - "wailord": { - "level": 87, - "moves": ["hiddenpowergrass", "icebeam", "rest", "selfdestruct", "sleeptalk", "surf", "toxic"] - }, - "camerupt": { - "level": 85, - "moves": ["earthquake", "explosion", "fireblast", "rest", "rockslide", "sleeptalk", "toxic"] - }, - "torkoal": { - "level": 90, - "moves": ["explosion", "fireblast", "flamethrower", "hiddenpowergrass", "rest", "toxic", "yawn"] - }, - "grumpig": { - "level": 84, - "moves": ["calmmind", "firepunch", "icywind", "psychic", "substitute", "taunt"] - }, - "spinda": { - "level": 94, - "moves": ["bodyslam", "encore", "focuspunch", "shadowball", "substitute", "teeterdance", "toxic"] - }, - "flygon": { - "level": 79, - "moves": ["dragonclaw", "earthquake", "fireblast", "hiddenpowerbug", "rockslide", "substitute", "toxic"] - }, - "cacturne": { - "level": 92, - "moves": ["focuspunch", "hiddenpowerdark", "leechseed", "needlearm", "spikes", "substitute", "thunderpunch"] - }, - "altaria": { - "level": 85, - "moves": ["dragonclaw", "dragondance", "earthquake", "fireblast", "flamethrower", "haze", "hiddenpowerflying", "rest", "toxic"] - }, - "zangoose": { - "level": 80, - "moves": ["brickbreak", "quickattack", "return", "shadowball", "swordsdance"] - }, - "seviper": { - "level": 89, - "moves": ["crunch", "earthquake", "flamethrower", "hiddenpowergrass", "sludgebomb"] - }, - "lunatone": { - "level": 84, - "moves": ["batonpass", "calmmind", "explosion", "hypnosis", "icebeam", "psychic"] - }, - "solrock": { - "level": 85, - "moves": ["earthquake", "explosion", "overheat", "reflect", "rockslide", "shadowball"] - }, - "whiscash": { - "level": 86, - "moves": ["earthquake", "hiddenpowerbug", "icebeam", "rest", "rockslide", "sleeptalk", "spark", "surf", "toxic"] - }, - "crawdaunt": { - "level": 88, - "moves": ["brickbreak", "crunch", "doubleedge", "hiddenpowerghost", "icebeam", "surf"] - }, - "claydol": { - "level": 81, - "moves": ["earthquake", "explosion", "icebeam", "psychic", "rapidspin", "toxic"] - }, - "cradily": { - "level": 84, - "moves": ["barrier", "earthquake", "hiddenpowergrass", "mirrorcoat", "recover", "rockslide", "toxic"] - }, - "armaldo": { - "level": 82, - "moves": ["doubleedge", "earthquake", "hiddenpowerbug", "rockslide", "swordsdance"] - }, - "milotic": { - "level": 78, - "moves": ["icebeam", "mirrorcoat", "recover", "surf", "toxic"] - }, - "castform": { - "level": 90, - "moves": ["flamethrower", "icebeam", "return", "substitute", "thunderbolt", "thunderwave"] - }, - "kecleon": { - "level": 91, - "moves": ["brickbreak", "return", "shadowball", "thunderwave", "trick"] - }, - "banette": { - "level": 88, - "moves": ["destinybond", "endure", "hiddenpowerfighting", "knockoff", "shadowball", "willowisp"] - }, - "dusclops": { - "level": 86, - "moves": ["focuspunch", "icebeam", "painsplit", "rest", "shadowball", "sleeptalk", "substitute", "willowisp"] - }, - "tropius": { - "level": 93, - "moves": ["hiddenpowerfire", "solarbeam", "sunnyday", "synthesis"] - }, - "chimecho": { - "level": 88, - "moves": ["calmmind", "healbell", "hiddenpowerfire", "lightscreen", "psychic", "reflect", "toxic", "yawn"] - }, - "absol": { - "level": 88, - "moves": ["batonpass", "hiddenpowerfighting", "quickattack", "shadowball", "swordsdance"] - }, - "glalie": { - "level": 84, - "moves": ["earthquake", "explosion", "icebeam", "spikes", "toxic"] - }, - "walrein": { - "level": 81, - "moves": ["encore", "hiddenpowergrass", "icebeam", "rest", "sleeptalk", "surf", "toxic"] - }, - "huntail": { - "level": 88, - "moves": ["doubleedge", "hiddenpowergrass", "hydropump", "icebeam", "raindance", "surf"] - }, - "gorebyss": { - "level": 85, - "moves": ["hiddenpowerelectric", "hiddenpowergrass", "hydropump", "icebeam", "raindance", "surf"] - }, - "relicanth": { - "level": 88, - "moves": ["doubleedge", "earthquake", "hiddenpowerflying", "rest", "rockslide", "sleeptalk", "toxic"] - }, - "luvdisc": { - "level": 98, - "moves": ["icebeam", "protect", "substitute", "surf", "sweetkiss", "toxic"] - }, - "salamence": { - "level": 74, - "moves": ["brickbreak", "dragondance", "earthquake", "fireblast", "hiddenpowerflying", "rockslide"] - }, - "metagross": { - "level": 76, - "moves": ["agility", "earthquake", "explosion", "meteormash", "psychic", "rockslide"] - }, - "regirock": { - "level": 82, - "moves": ["curse", "earthquake", "explosion", "rest", "rockslide", "superpower", "thunderwave"] - }, - "regice": { - "level": 79, - "moves": ["explosion", "icebeam", "rest", "sleeptalk", "thunderbolt", "thunderwave", "toxic"] - }, - "registeel": { - "level": 80, - "moves": ["rest", "seismictoss", "sleeptalk", "toxic"] - }, - "latias": { - "level": 67, - "moves": ["calmmind", "dragonclaw", "hiddenpowerfire", "psychic", "recover"] - }, - "latios": { - "level": 66, - "moves": ["calmmind", "dragonclaw", "hiddenpowerfire", "psychic", "recover"] - }, - "kyogre": { - "level": 67, - "moves": ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder"] - }, - "groudon": { - "level": 70, - "moves": ["earthquake", "hiddenpowerbug", "overheat", "rockslide", "substitute", "swordsdance", "thunderwave"] - }, - "rayquaza": { - "level": 72, - "moves": ["dragondance", "earthquake", "extremespeed", "hiddenpowerflying", "rockslide"] - }, - "jirachi": { - "level": 74, - "moves": ["bodyslam", "calmmind", "firepunch", "icepunch", "protect", "psychic", "substitute", "thunderbolt", "wish"] - }, - "deoxys": { - "level": 74, - "moves": ["extremespeed", "firepunch", "icebeam", "psychoboost", "shadowball", "superpower"] - }, - "deoxysattack": { - "level": 74, - "moves": ["extremespeed", "firepunch", "psychoboost", "shadowball", "superpower"] - }, - "deoxysdefense": { - "level": 75, - "moves": ["recover", "seismictoss", "spikes", "taunt", "toxic"] - }, - "deoxysspeed": { - "level": 76, - "moves": ["calmmind", "icebeam", "psychic", "recover", "spikes", "taunt", "toxic"] - } -} diff --git a/data/mods/gen3/random-teams.ts b/data/mods/gen3/random-teams.ts deleted file mode 100644 index 5a96786d5102..000000000000 --- a/data/mods/gen3/random-teams.ts +++ /dev/null @@ -1,733 +0,0 @@ -import RandomGen4Teams from '../gen4/random-teams'; -import {Utils} from '../../../lib'; -import {PRNG, PRNGSeed} from '../../../sim/prng'; -import type {MoveCounter, OldRandomBattleSpecies} from '../gen8/random-teams'; - -// Moves that shouldn't be the only STAB moves: -const NO_STAB = [ - 'bounce', 'eruption', 'explosion', 'fakeout', 'icywind', 'machpunch', - 'pursuit', 'quickattack', 'reversal', 'selfdestruct', 'waterspout', -]; - -export class RandomGen3Teams extends RandomGen4Teams { - battleHasDitto: boolean; - battleHasWobbuffet: boolean; - - randomData: {[species: string]: OldRandomBattleSpecies} = require('./random-data.json'); - - constructor(format: string | Format, prng: PRNG | PRNGSeed | null) { - super(format, prng); - this.noStab = NO_STAB; - this.battleHasDitto = false; - this.battleHasWobbuffet = false; - this.moveEnforcementCheckers = { - Bug: (movePool, moves, abilities, types, counter, species) => ( - movePool.includes('megahorn') || (!species.types[1] && movePool.includes('hiddenpowerbug')) - ), - Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric'), - Fighting: (movePool, moves, abilities, types, counter) => !counter.get('Fighting'), - Fire: (movePool, moves, abilities, types, counter) => !counter.get('Fire'), - Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'), - Normal: (movePool, moves, abilities, types, counter, species) => { - if (species.id === 'blissey' && movePool.includes('softboiled')) return true; - return !counter.get('Normal') && counter.setupType === 'Physical'; - }, - Psychic: (movePool, moves, abilities, types, counter, species) => ( - types.has('Psychic') && - (movePool.includes('psychic') || movePool.includes('psychoboost')) && - species.baseStats.spa >= 100 - ), - Rock: (movePool, moves, abilities, types, counter, species) => !counter.get('Rock') && species.baseStats.atk >= 100, - Water: (movePool, moves, abilities, types, counter, species) => ( - !counter.get('Water') && counter.setupType !== 'Physical' && species.baseStats.spa >= 60 - ), - // If the Pokémon has this move, the other move will be forced - protect: movePool => movePool.includes('wish'), - sunnyday: movePool => movePool.includes('solarbeam'), - sleeptalk: movePool => movePool.includes('rest'), - }; - } - - shouldCullMove( - move: Move, - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - ): {cull: boolean, isSetup?: boolean} { - const restTalk = moves.has('rest') && moves.has('sleeptalk'); - - switch (move.id) { - // Set up once and only if we have the moves for it - case 'bulkup': case 'curse': case 'dragondance': case 'swordsdance': - return { - cull: ( - (counter.setupType !== 'Physical' || counter.get('physicalsetup') > 1) || - (counter.get('Physical') + counter.get('physicalpool') < 2 && !moves.has('batonpass') && !restTalk) - ), - isSetup: true, - }; - case 'calmmind': - return { - cull: ( - counter.setupType !== 'Special' || - (counter.get('Special') + counter.get('specialpool') < 2 && !moves.has('batonpass') && - !moves.has('refresh') && !restTalk) || - !counter.get('Special') - ), - isSetup: true, - }; - case 'agility': - return { - cull: (counter.damagingMoves.size < 2 && !moves.has('batonpass')) || moves.has('substitute') || restTalk, - isSetup: !counter.setupType, - }; - - // Not very useful without their supporting moves - case 'amnesia': case 'sleeptalk': - if (moves.has('roar') || moves.has('whirlwind')) return {cull: true}; - if (!moves.has('rest')) return {cull: true}; - if (movePool.length > 1) { - const rest = movePool.indexOf('rest'); - if (rest >= 0) this.fastPop(movePool, rest); - } - break; - case 'barrier': - return {cull: !moves.has('calmmind') && !moves.has('batonpass') && !moves.has('mirrorcoat')}; - case 'batonpass': - return {cull: ( - (!counter.setupType && !counter.get('speedsetup')) && - ['meanlook', 'spiderweb', 'substitute', 'wish'].every(m => !moves.has(m)) - )}; - case 'endeavor': case 'flail': case 'reversal': - return {cull: restTalk || (!moves.has('endure') && !moves.has('substitute'))}; - case 'endure': - return {cull: movePool.includes('destinybond')}; - case 'extremespeed': case 'raindance': case 'sunnyday': - return {cull: counter.damagingMoves.size < 2 || moves.has('rest')}; - case 'focuspunch': - return {cull: ( - (counter.damagingMoves.size < 2 || moves.has('rest') || counter.setupType && !moves.has('spore')) || - (!moves.has('substitute') && (counter.get('Physical') < 4 || moves.has('fakeout'))) || - // Breloom likes to have coverage - (species.id === 'breloom' && (moves.has('machpunch') || moves.has('skyuppercut'))) - )}; - case 'moonlight': - return {cull: moves.has('wish') || moves.has('protect')}; - case 'perishsong': - return {cull: !moves.has('meanlook') && !moves.has('spiderweb')}; - case 'protect': - return {cull: !abilities.has('Speed Boost') && ['perishsong', 'toxic', 'wish'].every(m => !moves.has(m))}; - case 'refresh': - return {cull: !counter.setupType}; - case 'rest': - return {cull: ( - movePool.includes('sleeptalk') || - (!moves.has('sleeptalk') && (!!counter.get('recovery') || movePool.includes('curse'))) - )}; - case 'solarbeam': - if (movePool.length > 1) { - const sunnyday = movePool.indexOf('sunnyday'); - if (sunnyday >= 0) this.fastPop(movePool, sunnyday); - } - return {cull: !moves.has('sunnyday')}; - - // Bad after setup - case 'aromatherapy': case 'healbell': - return {cull: moves.has('rest') || !!teamDetails.statusCure}; - case 'confuseray': - return {cull: !!counter.setupType || restTalk}; - case 'counter': case 'mirrorcoat': - return {cull: !!counter.setupType || ['rest', 'substitute', 'toxic'].some(m => moves.has(m))}; - case 'destinybond': - return {cull: !!counter.setupType || moves.has('explosion') || moves.has('selfdestruct')}; - case 'doubleedge': case 'facade': case 'fakeout': case 'waterspout': - return {cull: ( - (!types.has(move.type) && counter.get('Status') >= 1) || - (move.id === 'doubleedge' && moves.has('return')) - )}; - case 'encore': case 'painsplit': case 'recover': case 'yawn': - return {cull: restTalk}; - case 'explosion': case 'machpunch': case 'selfdestruct': - // Snorlax doesn't want to roll selfdestruct as its only STAB move - const snorlaxCase = species.id === 'snorlax' && !moves.has('return') && !moves.has('bodyslam'); - return {cull: snorlaxCase || moves.has('rest') || moves.has('substitute') || !!counter.get('recovery')}; - case 'haze': - return {cull: !!counter.setupType || moves.has('raindance') || restTalk}; - case 'icywind': case 'pursuit': case 'superpower': case 'transform': - return {cull: !!counter.setupType || moves.has('rest')}; - case 'leechseed': - return {cull: !!counter.setupType || moves.has('explosion')}; - case 'stunspore': - return {cull: moves.has('sunnyday') || moves.has('toxic')}; - case 'lightscreen': - return {cull: !!counter.setupType || !!counter.get('speedsetup')}; - case 'meanlook': case 'spiderweb': - return {cull: !!counter.get('speedsetup') || (!moves.has('batonpass') && !moves.has('perishsong'))}; - case 'morningsun': - return {cull: counter.get('speedsetup') >= 1}; - case 'quickattack': - return {cull: ( - !!counter.get('speedsetup') || - moves.has('substitute') || - (!types.has('Normal') && !!counter.get('Status')) - )}; - case 'rapidspin': - return {cull: !!counter.setupType || moves.has('rest') || !!teamDetails.rapidSpin}; - case 'reflect': - return {cull: !!counter.setupType || !!counter.get('speedsetup')}; - case 'roar': case 'whirlwind': - return {cull: moves.has('sleeptalk') || moves.has('rest')}; - case 'seismictoss': - return {cull: !!counter.setupType || moves.has('thunderbolt')}; - case 'spikes': - return {cull: !!counter.setupType || moves.has('substitute') || restTalk || !!teamDetails.spikes}; - case 'substitute': - const restOrDD = moves.has('rest') || (moves.has('dragondance') && !moves.has('bellydrum')); - // This cull condition otherwise causes mono-solarbeam Entei - return {cull: restOrDD || (species.id !== 'entei' && !moves.has('batonpass') && movePool.includes('calmmind'))}; - case 'thunderwave': - return {cull: !!counter.setupType || moves.has('bodyslam') || - moves.has('substitute') && movePool.includes('toxic') || restTalk}; - case 'toxic': - return {cull: ( - !!counter.setupType || - !!counter.get('speedsetup') || - ['endure', 'focuspunch', 'raindance', 'yawn', 'hypnosis'].some(m => moves.has(m)) - )}; - case 'trick': - return {cull: counter.get('Status') > 1}; - case 'willowisp': - return {cull: !!counter.setupType || moves.has('hypnosis') || moves.has('toxic')}; - - // Bit redundant to have both - case 'bodyslam': - return {cull: moves.has('return') && !!counter.get('Status')}; - case 'headbutt': - return {cull: !moves.has('bodyslam') && !moves.has('thunderwave')}; - case 'return': - return {cull: ( - moves.has('endure') || - (moves.has('substitute') && moves.has('flail')) || - (moves.has('bodyslam') && !counter.get('Status')) - )}; - case 'fireblast': - return {cull: moves.has('flamethrower') && !!counter.get('Status')}; - case 'flamethrower': - return {cull: moves.has('fireblast') && !counter.get('Status')}; - case 'overheat': - return {cull: moves.has('flamethrower') || moves.has('substitute')}; - case 'hydropump': - return {cull: moves.has('surf') && !!counter.get('Status')}; - case 'surf': - return {cull: moves.has('hydropump') && !counter.get('Status')}; - case 'gigadrain': - return {cull: moves.has('morningsun') || moves.has('toxic')}; - case 'hiddenpower': - const stabCondition = types.has(move.type) && counter.get(move.type) > 1 && ( - (moves.has('substitute') && !counter.setupType && !moves.has('toxic')) || - // This otherwise causes STABless meganium - (species.id !== 'meganium' && moves.has('toxic') && !moves.has('substitute')) || - restTalk - ); - return {cull: stabCondition || (move.type === 'Grass' && moves.has('sunnyday') && moves.has('solarbeam'))}; - case 'brickbreak': case 'crosschop': case 'skyuppercut': - return {cull: moves.has('substitute') && (moves.has('focuspunch') || movePool.includes('focuspunch'))}; - case 'earthquake': - return {cull: moves.has('bonemerang')}; - } - - return {cull: false}; - } - - - getItem( - ability: string, - types: string[], - moves: Set, - counter: MoveCounter, - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species - ) { - // First, the high-priority items - if (species.name === 'Ditto') return this.sample(['Metal Powder', 'Quick Claw']); - if (species.name === 'Farfetch\u2019d') return 'Stick'; - if (species.name === 'Latias' || species.name === 'Latios') return 'Soul Dew'; - if (species.name === 'Marowak') return 'Thick Club'; - if (species.name === 'Pikachu') return 'Light Ball'; - if (species.name === 'Shedinja') return 'Lum Berry'; - if (species.name === 'Unown') return 'Twisted Spoon'; - - if (moves.has('trick')) return 'Choice Band'; - if (moves.has('rest') && !moves.has('sleeptalk') && !['Early Bird', 'Natural Cure', 'Shed Skin'].includes(ability)) { - return 'Chesto Berry'; - } - - // Medium priority items - if (moves.has('dragondance') && ability !== 'Natural Cure') return 'Lum Berry'; - if ((moves.has('bellydrum') && counter.get('Physical') - counter.get('priority') > 1) || ( - ((moves.has('swordsdance') && counter.get('Status') < 2) || (moves.has('bulkup') && moves.has('substitute'))) && - !counter.get('priority') && - species.baseStats.spe >= 60 && species.baseStats.spe <= 95 - )) { - return 'Salac Berry'; - } - if (moves.has('endure') || ( - moves.has('substitute') && - ['bellydrum', 'endeavor', 'flail', 'reversal'].some(m => moves.has(m)) - )) { - return ( - species.baseStats.spe <= 100 && ability !== 'Speed Boost' && !counter.get('speedsetup') && !moves.has('focuspunch') - ) ? 'Salac Berry' : 'Liechi Berry'; - } - if (moves.has('substitute') && counter.get('Physical') >= 3 && species.baseStats.spe >= 120) return 'Liechi Berry'; - if ((moves.has('substitute') || moves.has('raindance')) && counter.get('Special') >= 3) return 'Petaya Berry'; - if (counter.get('Physical') >= 4 && !moves.has('fakeout')) return 'Choice Band'; - if (counter.get('Physical') >= 3 && !moves.has('rapidspin') && ( - ['fireblast', 'icebeam', 'overheat'].some(m => moves.has(m)) || - Array.from(moves).some(m => { - const moveData = this.dex.moves.get(m); - return moveData.category === 'Special' && types.includes(moveData.type); - }) - )) { - return 'Choice Band'; - } - if (moves.has('psychoboost')) return 'White Herb'; - - // Default to Leftovers - return 'Leftovers'; - } - - shouldCullAbility( - ability: string, - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - ) { - switch (ability) { - case 'Chlorophyll': - return !moves.has('sunnyday') && !teamDetails['sun']; - case 'Compound Eyes': - return !counter.get('inaccurate'); - case 'Hustle': - return counter.get('Physical') < 2; - case 'Overgrow': - return !counter.get('Grass'); - case 'Rain Dish': case 'Swift Swim': - return !moves.has('raindance') && !teamDetails['rain']; - case 'Rock Head': - return !counter.get('recoil'); - case 'Sand Veil': - return !teamDetails['sand']; - case 'Soundproof': - // Electrode prefers Static - return true; - case 'Swarm': - return !counter.get('Bug'); - case 'Torrent': - return !counter.get('Water'); - case 'Water Absorb': - return abilities.has('Swift Swim'); - } - - return false; - } - - - getAbility( - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - ): string { - const abilityData = Array.from(abilities).map(a => this.dex.abilities.get(a)); - Utils.sortBy(abilityData, abil => -abil.rating); - - if (abilityData.length <= 1) return abilityData[0].name; - - // Hard-code abilities here - if (species.id === 'snorlax') return 'Immunity'; - if (species.id === 'blissey') return 'Natural Cure'; - - let abilityAllowed: Ability[] = []; - // Obtain a list of abilities that are allowed (not culled) - for (const ability of abilityData) { - if (ability.rating >= 1 && !this.shouldCullAbility( - ability.name, types, moves, abilities, counter, movePool, teamDetails, species - )) { - abilityAllowed.push(ability); - } - } - - // If all abilities are rejected, re-allow all abilities - if (!abilityAllowed.length) { - for (const ability of abilityData) { - if (ability.rating > 0) abilityAllowed.push(ability); - } - if (!abilityAllowed.length) abilityAllowed = abilityData; - } - - if (abilityAllowed.length === 1) return abilityAllowed[0].name; - // Sort abilities by rating with an element of randomness - if (abilityAllowed[0].rating <= abilityAllowed[1].rating) { - if (this.randomChance(1, 2)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; - } else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) { - if (this.randomChance(1, 3)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; - } - - // After sorting, choose the first ability - return abilityAllowed[0].name; - } - - randomSet(species: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}): RandomTeamsTypes.RandomSet { - species = this.dex.species.get(species); - let forme = species.name; - - const data = this.randomData[species.id]; - - if (typeof species.battleOnly === 'string') forme = species.battleOnly; - - const movePool = (data.moves || Object.keys(this.dex.species.getLearnset(species.id)!)).slice(); - const rejectedPool = []; - const moves = new Set(); - let ability = ''; - const evs = {hp: 85, atk: 85, def: 85, spa: 85, spd: 85, spe: 85}; - const ivs = {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}; - let availableHP = 0; - for (const setMoveid of movePool) { - if (setMoveid.startsWith('hiddenpower')) availableHP++; - } - - const types = new Set(species.types); - - const abilities = new Set(Object.values(species.abilities)); - - let counter: MoveCounter; - // We use a special variable to track Hidden Power - // so that we can check for all Hidden Powers at once - let hasHiddenPower = false; - - do { - // Choose next 4 moves from learnset/viable moves and add them to moves list: - while (moves.size < this.maxMoveCount && movePool.length) { - const moveid = this.sampleNoReplace(movePool); - if (moveid.startsWith('hiddenpower')) { - availableHP--; - if (hasHiddenPower) continue; - hasHiddenPower = true; - } - moves.add(moveid); - } - - while (moves.size < this.maxMoveCount && rejectedPool.length) { - const moveid = this.sampleNoReplace(rejectedPool); - if (moveid.startsWith('hiddenpower')) { - if (hasHiddenPower) continue; - hasHiddenPower = true; - } - moves.add(moveid); - } - - counter = this.queryMoves(moves, species.types, abilities, movePool); - - // Iterate through the moves again, this time to cull them: - for (const moveid of moves) { - const move = this.dex.moves.get(moveid); - - let {cull, isSetup} = this.shouldCullMove(move, types, moves, abilities, counter, movePool, teamDetails, species); - - // This move doesn't satisfy our setup requirements: - if ( - (counter.setupType === 'Physical' && move.category === 'Special' && !types.has(move.type) && move.type !== 'Fire') || - (counter.setupType === 'Special' && move.category === 'Physical' && moveid !== 'superpower') - ) { - cull = true; - } - const moveIsRejectable = ( - !move.weather && - (move.category !== 'Status' || !move.flags.heal) && - (counter.setupType || !move.stallingMove) && - // These moves cannot be rejected in favor of a forced move - !['batonpass', 'sleeptalk', 'solarbeam', 'substitute', 'sunnyday'].includes(moveid) && - (move.category === 'Status' || !types.has(move.type) || (move.basePower && move.basePower < 40 && !move.multihit)) - ); - // Pokemon should usually have at least one STAB move - const requiresStab = ( - !counter.get('stab') && - !moves.has('seismictoss') && !moves.has('nightshade') && - species.id !== 'umbreon' && - // If a Flying-type has Psychic, it doesn't need STAB - !(moves.has('psychic') && types.has('Flying')) && - !(types.has('Ghost') && species.baseStats.spa > species.baseStats.atk) && - !( - // With Calm Mind, Lugia and pure Normal-types are fine without STAB - counter.setupType === 'Special' && ( - species.id === 'lugia' || - (types.has('Normal') && species.types.length < 2) - ) - ) && - !( - // With Swords Dance, Dark-types and pure Water-types are fine without STAB - counter.setupType === 'Physical' && - ((types.has('Water') && species.types.length < 2) || types.has('Dark')) - ) && - counter.get('physicalpool') + counter.get('specialpool') > 0 - ); - - const runEnforcementChecker = (checkerName: string) => { - if (!this.moveEnforcementCheckers[checkerName]) return false; - return this.moveEnforcementCheckers[checkerName]( - movePool, moves, abilities, types, counter, species as Species, teamDetails - ); - }; - - if (!cull && !isSetup && moveIsRejectable) { - // There may be more important moves that this Pokemon needs - if ( - requiresStab || - (counter.setupType && counter.get(counter.setupType) < 2 && !moves.has('refresh')) || - (moves.has('substitute') && movePool.includes('morningsun')) || - ['meteormash', 'spore', 'recover'].some(m => movePool.includes(m)) - ) { - cull = true; - } else { - // Pokemon should have moves that benefit their typing and their other moves - for (const type of types) { - if (runEnforcementChecker(type)) { - cull = true; - } - } - for (const m of moves) { - if (runEnforcementChecker(m)) cull = true; - } - } - } - - // Sleep Talk shouldn't be selected without Rest - if (moveid === 'rest' && cull) { - const sleeptalk = movePool.indexOf('sleeptalk'); - if (sleeptalk >= 0) { - if (movePool.length < 2) { - cull = false; - } else { - this.fastPop(movePool, sleeptalk); - } - } - } - - // Remove rejected moves from the move list - const moveIsHP = moveid.startsWith('hiddenpower'); - if ( - cull && - (movePool.length - availableHP || availableHP && (moveIsHP || !hasHiddenPower)) - ) { - if (move.category !== 'Status' && !move.damage && (!moveIsHP || !availableHP)) { - rejectedPool.push(moveid); - } - if (moveIsHP) hasHiddenPower = false; - moves.delete(moveid); - break; - } - if (cull && rejectedPool.length) { - if (moveIsHP) hasHiddenPower = false; - moves.delete(moveid); - break; - } - } - } while (moves.size < this.maxMoveCount && (movePool.length || rejectedPool.length)); - - if (hasHiddenPower) { - let hpType; - for (const move of moves) { - if (move.startsWith('hiddenpower')) hpType = move.substr(11); - } - if (!hpType) throw new Error(`hasHiddenPower is true, but no Hidden Power move was found.`); - const HPivs = this.dex.types.get(hpType).HPivs; - let iv: StatID; - for (iv in HPivs) { - ivs[iv] = HPivs[iv]!; - } - } - - ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species); - - const item = this.getItem(ability, species.types, moves, counter, teamDetails, species); - const level = this.adjustLevel || data.level || (species.nfe ? 90 : 80); - - // Prepare optimal HP - let hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); - if (moves.has('substitute') && ['endeavor', 'flail', 'reversal'].some(m => moves.has(m))) { - // Endeavor/Flail/Reversal users should be able to use four Substitutes - if (hp % 4 === 0) evs.hp -= 4; - } else if (moves.has('substitute') && (item === 'Salac Berry' || item === 'Petaya Berry' || item === 'Liechi Berry')) { - // Other pinch berry holders should have berries activate after three Substitutes - while (hp % 4 > 0) { - evs.hp -= 4; - hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); - } - } - - // Minimize confusion damage - if (!counter.get('Physical') && !moves.has('transform')) { - evs.atk = 0; - ivs.atk = hasHiddenPower ? ivs.atk - 28 : 0; - } - - return { - name: species.baseSpecies, - species: forme, - gender: species.gender, - moves: Array.from(moves), - ability: ability, - evs: evs, - ivs: ivs, - item: item, - level, - shiny: this.randomChance(1, 1024), - }; - } - - randomTeam() { - this.enforceNoDirectCustomBanlistChanges(); - - const seed = this.prng.seed; - const ruleTable = this.dex.formats.getRuleTable(this.format); - const pokemon: RandomTeamsTypes.RandomSet[] = []; - - // For Monotype - const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause'); - const typePool = this.dex.types.names(); - const type = this.forceMonotype || this.sample(typePool); - - const baseFormes: {[k: string]: number} = {}; - const tierCount: {[k: string]: number} = {}; - const typeCount: {[k: string]: number} = {}; - const typeComboCount: {[k: string]: number} = {}; - const typeWeaknesses: {[k: string]: number} = {}; - const teamDetails: RandomTeamsTypes.TeamDetails = {}; - - const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, Object.keys(this.randomData)); - while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { - const baseSpecies = this.sampleNoReplace(baseSpeciesPool); - const currentSpeciesPool: Species[] = []; - for (const poke of pokemonPool) { - const species = this.dex.species.get(poke); - if (species.baseSpecies === baseSpecies) currentSpeciesPool.push(species); - } - const species = this.sample(currentSpeciesPool); - if (!species.exists) continue; - - // Limit to one of each species (Species Clause) - if (baseFormes[species.baseSpecies]) continue; - - // Limit to one Wobbuffet per battle (not just per team) - if (species.name === 'Wobbuffet' && this.battleHasWobbuffet) continue; - // Limit to one Ditto per battle in Gen 2 - if (this.dex.gen < 3 && species.name === 'Ditto' && this.battleHasDitto) continue; - - const tier = species.tier; - const types = species.types; - const typeCombo = types.slice().sort().join(); - - if (!isMonotype && !this.forceMonotype) { - // Dynamically scale limits for different team sizes. The default and minimum value is 1. - const limitFactor = Math.round(this.maxTeamSize / 6) || 1; - - // Limit two Pokemon per tier - if (tierCount[tier] >= 2 * limitFactor) continue; - - // Limit two of any type - let skip = false; - for (const typeName of types) { - if (typeCount[typeName] >= 2 * limitFactor) { - skip = true; - break; - } - } - if (skip) continue; - - // Limit three weak to any type - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, species) > 0) { - if (!typeWeaknesses[typeName]) typeWeaknesses[typeName] = 0; - if (typeWeaknesses[typeName] >= 3 * limitFactor) { - skip = true; - break; - } - } - } - if (skip) continue; - - // Limit one of any type combination - if (!this.forceMonotype && typeComboCount[typeCombo] >= 1 * limitFactor) continue; - } - - // Okay, the set passes, add it to our team - const set = this.randomSet(species, teamDetails); - pokemon.push(set); - - // Now that our Pokemon has passed all checks, we can increment our counters - baseFormes[species.baseSpecies] = 1; - - // Increment tier counter - if (tierCount[tier]) { - tierCount[tier]++; - } else { - tierCount[tier] = 1; - } - - // Increment type counters - for (const typeName of types) { - if (typeName in typeCount) { - typeCount[typeName]++; - } else { - typeCount[typeName] = 1; - } - } - if (typeCombo in typeComboCount) { - typeComboCount[typeCombo]++; - } else { - typeComboCount[typeCombo] = 1; - } - - // Increment weakness counter - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, species) > 0) { - typeWeaknesses[typeName]++; - } - } - - // Update team details - if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; - if (set.ability === 'Sand Stream') teamDetails.sand = 1; - if (set.moves.includes('spikes')) teamDetails.spikes = 1; - if (set.moves.includes('rapidspin')) teamDetails.rapidSpin = 1; - if (set.moves.includes('aromatherapy') || set.moves.includes('healbell')) teamDetails.statusCure = 1; - - // In Gen 3, Shadow Tag users can prevent each other from switching out, possibly causing and endless battle or at least causing a long stall war - // To prevent this, we prevent more than one Wobbuffet in a single battle. - if (set.ability === 'Shadow Tag') this.battleHasWobbuffet = true; - if (species.id === 'ditto') this.battleHasDitto = true; - } - - if (pokemon.length < this.maxTeamSize && !isMonotype && !this.forceMonotype && pokemon.length < 12) { - throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`); - } - - return pokemon; - } -} - -export default RandomGen3Teams; diff --git a/data/mods/gen3/scripts.ts b/data/mods/gen3/scripts.ts index e0b41fd6e8e0..545e23b2565e 100644 --- a/data/mods/gen3/scripts.ts +++ b/data/mods/gen3/scripts.ts @@ -70,12 +70,17 @@ export const Scripts: ModdedBattleScriptsData = { baseDamage = Math.floor(this.battle.runEvent('ModifyDamagePhase2', pokemon, target, move, baseDamage)); // STAB - if (move.forceSTAB || type !== '???' && pokemon.hasType(type)) { - // The "???" type never gets STAB - // Not even if you Roost in Gen 4 and somehow manage to use - // Struggle in the same turn. - // (On second thought, it might be easier to get a MissingNo.) - baseDamage = this.battle.modify(baseDamage, move.stab || 1.5); + // The "???" type never gets STAB + // Not even if you Roost in Gen 4 and somehow manage to use + // Struggle in the same turn. + // (On second thought, it might be easier to get a MissingNo.) + if (type !== '???') { + let stab: number | [number, number] = 1; + if (move.forceSTAB || pokemon.hasType(type)) { + stab = 1.5; + } + stab = this.battle.runEvent('ModifySTAB', pokemon, target, move, stab); + baseDamage = this.battle.modify(baseDamage, stab); } // types let typeMod = target.runEffectiveness(move); diff --git a/data/mods/gen3hoenngaiden/abilities.ts b/data/mods/gen3hoenngaiden/abilities.ts deleted file mode 100644 index 49f31875a452..000000000000 --- a/data/mods/gen3hoenngaiden/abilities.ts +++ /dev/null @@ -1,254 +0,0 @@ -export const Abilities: {[k: string]: ModdedAbilityData} = { - snowwarning: { - inherit: true, - onStart(source) { - this.field.setWeather('hail'); - }, - isNonstandard: null, - gen: 3, - }, - rkssystem: { - shortDesc: "If this Pokemon is a Silvally, its type changes to match its held Memory.", - // RKS System's type-changing itself is implemented in statuses.js - inherit: true, - isNonstandard: null, - gen: 3, - }, - sandveil: { - shortDesc: "This Pokemon can not be damaged by sandstorm.", - onImmunity(type, pokemon) { - if (type === 'sandstorm') return false; - }, - name: "Sand Veil", - rating: 1.5, - num: 8, - }, - icebody: { - shortDesc: "This Pokemon can not be damaged by hail.", - onImmunity(type, pokemon) { - if (type === 'hail') return false; - }, - isNonstandard: null, - gen: 3, - name: "Ice Body", - rating: 1, - num: 115, - }, - overcoat: { - shortDesc: "This Pokemon is immune to powder moves, Sandstorm or Hail damage, and Effect Spore.", - onImmunity(type, pokemon) { - if (type === 'sandstorm' || type === 'hail' || type === 'powder') return false; - }, - onTryHitPriority: 1, - onTryHit(target, source, move) { - if (move.flags['powder'] && target !== source && this.dex.getImmunity('powder', target)) { - this.add('-immune', target, '[from] ability: Overcoat'); - return null; - } - }, - isNonstandard: null, - gen: 3, - name: "Overcoat", - rating: 2, - num: 142, - }, - magicguard: { - onDamage(damage, target, source, effect) { - if (effect.effectType !== 'Move') { - if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); - return false; - } - }, - isNonstandard: null, - gen: 3, - name: "Magic Guard", - rating: 4, - num: 98, - }, - galvanize: { - onModifyMove(move) { - const noModifyType = [ - 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'technoblast', 'terrainpulse', 'weatherball', - ]; - if (move.type === 'Normal' && !noModifyType.includes(move.id)) { - move.type = 'Electric'; - move.category = 'Special'; - move.typeChangerBoosted = this.effect; - } - }, - onBasePowerPriority: 23, - onBasePower(basePower, pokemon, target, move) { - if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); - }, - isNonstandard: null, - gen: 3, - name: "Galvanize", - rating: 4, - num: 206, - }, - desolateland: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - forecast: { - onStart(pokemon) { - this.singleEvent('WeatherChange', this.effect, this.effectState, pokemon); - }, - onWeatherChange(pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Castform' || pokemon.transformed) return; - let forme = null; - switch (pokemon.effectiveWeather()) { - case 'sunnyday': - case 'desolateland': - if (pokemon.species.id !== 'castformsunny') forme = 'Castform-Sunny'; - break; - case 'raindance': - case 'primordialsea': - if (pokemon.species.id !== 'castformrainy') forme = 'Castform-Rainy'; - break; - case 'hail': - case 'snow': - if (pokemon.species.id !== 'castformsnowy') forme = 'Castform-Snowy'; - break; - default: - if (pokemon.species.id !== 'castform') forme = 'Castform'; - break; - } - if (pokemon.isActive && forme) { - pokemon.formeChange(forme, this.effect, false, '[msg]'); - } - }, - name: "Forecast", - rating: 2, - num: 59, - }, - chlorophyll: { - onModifySpe(spe, pokemon) { - if (['sunnyday', 'desolateland'].includes(pokemon.effectiveWeather())) { - return this.chainModify(2); - } - }, - name: "Chlorophyll", - rating: 3, - num: 34, - }, - moldbreaker: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - gulpmissile: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - analytic: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - neutralizinggas: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - protean: { - onPrepareHit(source, target, move) { - if (move.hasBounced || move.flags['futuremove'] || move.sourceEffect === 'snatch') return; - const type = move.type; - if (type && type !== '???' && source.getTypes().join() !== type) { - if (!source.setType(type)) return; - this.add('-start', source, 'typechange', type, '[from] ability: Protean'); - } - }, - isNonstandard: null, - gen: 3, - name: "Protean", - rating: 4.5, - num: 168, - }, - innerfocus: { - onTryAddVolatile(status, pokemon) { - if (status.id === 'flinch') return null; - }, - onTryBoost(boost, target, source, effect) { - if (effect.name === 'Intimidate' && boost.atk) { - delete boost.atk; - this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Inner Focus', '[of] ' + target); - } - }, - name: "Inner Focus", - shortDesc: "This Pokemon cannot be made to flinch. Immune to Intimidate.", - rating: 1.5, - num: 39, - }, - owntempo: { - onUpdate(pokemon) { - if (pokemon.volatiles['confusion']) { - this.add('-activate', pokemon, 'ability: Own Tempo'); - pokemon.removeVolatile('confusion'); - } - }, - onTryAddVolatile(status, pokemon) { - if (status.id === 'confusion') return null; - }, - onHit(target, source, move) { - if (move?.volatileStatus === 'confusion') { - this.add('-immune', target, 'confusion', '[from] ability: Own Tempo'); - } - }, - onTryBoost(boost, target, source, effect) { - if (effect.name === 'Intimidate' && boost.atk) { - delete boost.atk; - this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Own Tempo', '[of] ' + target); - } - }, - name: "Own Tempo", - shortDesc: "This Pokemon cannot be confused. Immune to Intimidate.", - rating: 1.5, - num: 20, - }, - oblivious: { - onUpdate(pokemon) { - if (pokemon.volatiles['attract']) { - pokemon.removeVolatile('attract'); - this.add('-end', pokemon, 'move: Attract', '[from] ability: Oblivious'); - } - }, - onImmunity(type, pokemon) { - if (type === 'attract') return false; - }, - onTryHit(pokemon, target, move) { - if (move.id === 'attract') { - this.add('-immune', pokemon, '[from] Oblivious'); - return null; - } - }, - onTryBoost(boost, target, source, effect) { - if (effect.name === 'Intimidate' && boost.atk) { - delete boost.atk; - this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Oblivious', '[of] ' + target); - } - }, - name: "Oblivious", - shortDesc: "This Pokemon cannot be infatuated. Immune to Intimidate.", - rating: 1.5, - num: 12, - }, - stakeout: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - furcoat: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - comatose: { - inherit: true, - isNonstandard: null, - gen: 3, - }, -}; diff --git a/data/mods/gen3hoenngaiden/formats-data.ts b/data/mods/gen3hoenngaiden/formats-data.ts deleted file mode 100644 index d642379a6765..000000000000 --- a/data/mods/gen3hoenngaiden/formats-data.ts +++ /dev/null @@ -1,502 +0,0 @@ -export const FormatsData: {[k: string]: SpeciesFormatsData} = { - deoxysspeed: { - tier: "OU", - doublesTier: "DOU", - }, - snover: { - tier: "LC", - doublesTier: "DOU", - }, - abomasnow: { - tier: "OU", - doublesTier: "DOU", - }, - gliscor: { - tier: "OU", - doublesTier: "DOU", - }, - tynamo: { - tier: "LC", - doublesTier: "DOU", - }, - eelektrik: { - tier: "NFE", - doublesTier: "DOU", - }, - eelektross: { - tier: "OU", - doublesTier: "DOU", - }, - frillish: { - tier: "LC", - doublesTier: "DOU", - }, - jellicent: { - tier: "OU", - doublesTier: "DOU", - }, - cryogonal: { - tier: "OU", - doublesTier: "DOU", - }, - silvally: { - tier: "OU", - doublesTier: "DOU", - }, - golett: { - tier: "LC", - doublesTier: "DOU", - }, - golurk: { - tier: "OU", - doublesTier: "DOU", - }, - geodudealola: { - tier: "LC", - doublesTier: "DOU", - }, - graveleralola: { - tier: "NFE", - doublesTier: "DOU", - }, - golemalola: { - tier: "OU", - doublesTier: "DOU", - }, - croagunk: { - tier: "LC", - doublesTier: "DOU", - }, - toxicroak: { - tier: "OU", - doublesTier: "DOU", - }, - crabrawler: { - tier: "LC", - doublesTier: "DOU", - }, - crabominable: { - tier: "OU", - doublesTier: "DOU", - }, - starly: { - tier: "LC", - doublesTier: "DOU", - }, - staravia: { - tier: "NFE", - doublesTier: "DOU", - }, - staraptor: { - tier: "OU", - doublesTier: "DOU", - }, - fletchling: { - tier: "LC", - doublesTier: "DOU", - }, - fletchinder: { - tier: "NFE", - doublesTier: "DOU", - }, - talonflame: { - tier: "OU", - doublesTier: "DOU", - }, - stunky: { - tier: "LC", - doublesTier: "DOU", - }, - skuntank: { - tier: "OU", - doublesTier: "DOU", - }, - glaceon: { - tier: "OU", - doublesTier: "DOU", - }, - leafeon: { - tier: "OU", - doublesTier: "DOU", - }, - sylveon: { - tier: "OU", - doublesTier: "DOU", - }, - zarude: { - tier: "OU", - doublesTier: "DOU", - }, - zarudedada: { - tier: "OU", - doublesTier: "DOU", - }, - buneary: { - tier: "LC", - doublesTier: "DOU", - }, - lopunny: { - tier: "OU", - doublesTier: "DOU", - }, - chespin: { - tier: "LC", - doublesTier: "DOU", - }, - quilladin: { - tier: "NFE", - doublesTier: "DOU", - }, - chesnaught: { - tier: "OU", - doublesTier: "DOU", - }, - cramorant: { - tier: "OU", - doublesTier: "DOU", - }, - guzzlord: { - tier: "OU", - doublesTier: "DOU", - }, - litten: { - tier: "LC", - doublesTier: "DOU", - }, - torracat: { - tier: "NFE", - doublesTier: "DOU", - }, - incineroar: { - tier: "OU", - doublesTier: "DOU", - }, - mrrime: { - tier: "OU", - doublesTier: "DOU", - }, - mrmimegalar: { - tier: "NFE", - doublesTier: "DOU", - }, - mimejr: { - tier: "LC", - doublesTier: "DOU", - }, - chingling: { - tier: "LC", - doublesTier: "DOU", - }, - bonsly: { - tier: "LC", - doublesTier: "DOU", - }, - happiny: { - tier: "LC", - doublesTier: "DOU", - }, - munchlax: { - tier: "LC", - doublesTier: "DOU", - }, - mantyke: { - tier: "LC", - doublesTier: "DOU", - }, - uxie: { - tier: "OU", - doublesTier: "DOU", - }, - dracovish: { - tier: "OU", - doublesTier: "DOU", - }, - marowakalola: { - tier: "OU", - doublesTier: "DOU", - }, - slowpokegalar: { - tier: "LC", - doublesTier: "DOU", - }, - slowbrogalar: { - tier: "OU", - doublesTier: "DOU", - }, - slowkinggalar: { - tier: "OU", - doublesTier: "DOU", - }, - milcery: { - tier: "LC", - doublesTier: "DOU", - }, - alcremie: { - tier: "OU", - doublesTier: "DOU", - }, - regieleki: { - tier: "OU", - doublesTier: "DOU", - }, - regidrago: { - tier: "OU", - doublesTier: "DOU", - }, - articunogalar: { - tier: "OU", - doublesTier: "DOU", - }, - diglettalola: { - tier: "LC", - doublesTier: "DOU", - }, - dugtrioalola: { - tier: "OU", - doublesTier: "DOU", - }, - magmortar: { - tier: "OU", - doublesTier: "DOU", - }, - mismagius: { - tier: "OU", - doublesTier: "DOU", - }, - moltresgalar: { - tier: "OU", - doublesTier: "DOU", - }, - obstagoon: { - tier: "OU", - doublesTier: "DOU", - }, - perrserker: { - tier: "OU", - doublesTier: "DOU", - }, - meowthgalar: { - tier: "LC", - doublesTier: "DOU", - }, - raichualola: { - tier: "OU", - doublesTier: "DOU", - }, - budew: { - tier: "LC", - doublesTier: "DOU", - }, - roserade: { - tier: "OU", - doublesTier: "DOU", - }, - sirfetchd: { - tier: "OU", - doublesTier: "DOU", - }, - farfetchdgalar: { - tier: "LC", - doublesTier: "DOU", - }, - tangrowth: { - tier: "OU", - doublesTier: "DOU", - }, - weezinggalar: { - tier: "OU", - doublesTier: "DOU", - }, - zapdosgalar: { - tier: "OU", - doublesTier: "DOU", - }, - skrelp: { - tier: "LC", - doublesTier: "DOU", - }, - dragalge: { - tier: "OU", - doublesTier: "DOU", - }, - wimpod: { - tier: "LC", - doublesTier: "DOU", - }, - golisopod: { - tier: "OU", - doublesTier: "DOU", - }, - sandile: { - tier: "LC", - doublesTier: "DOU", - }, - krokorok: { - tier: "NFE", - doublesTier: "DOU", - }, - krookodile: { - tier: "OU", - doublesTier: "DOU", - }, - pincurchin: { - tier: "OU", - doublesTier: "DOU", - }, - stunfisk: { - tier: "OU", - doublesTier: "DOU", - }, - stunfiskgalar: { - tier: "OU", - doublesTier: "DOU", - }, - voltorbhisui: { - tier: "LC", - doublesTier: "DOU", - }, - electrodehisui: { - tier: "OU", - doublesTier: "DOU", - }, - froslass: { - tier: "OU", - doublesTier: "DOU", - }, - mamoswine: { - tier: "OU", - doublesTier: "DOU", - }, - probopass: { - tier: "OU", - doublesTier: "DOU", - }, - magnezone: { - tier: "OU", - doublesTier: "DOU", - }, - pawniard: { - tier: "LC", - doublesTier: "DOU", - }, - bisharp: { - tier: "OU", - doublesTier: "DOU", - }, - combee: { - tier: "LC", - doublesTier: "DOU", - }, - vespiquen: { - tier: "OU", - doublesTier: "DOU", - }, - yanmega: { - tier: "OU", - doublesTier: "DOU", - }, - scraggy: { - tier: "LC", - doublesTier: "DOU", - }, - scrafty: { - tier: "OU", - doublesTier: "DOU", - }, - panpour: { - tier: "LC", - doublesTier: "DOU", - }, - simipour: { - tier: "OU", - doublesTier: "DOU", - }, - weavile: { - tier: "OU", - doublesTier: "DOU", - }, - komala: { - tier: "OU", - doublesTier: "DOU", - }, - druddigon: { - tier: "OU", - doublesTier: "DOU", - }, - silvallybug: { - tier: "OU", - doublesTier: "DOU", - }, - silvallydark: { - tier: "OU", - doublesTier: "DOU", - }, - silvallydragon: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyelectric: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyfire: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyfighting: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyflying: { - tier: "OU", - doublesTier: "DOU", - }, - silvallygrass: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyground: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyghost: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyice: { - tier: "OU", - doublesTier: "DOU", - }, - silvallypoison: { - tier: "OU", - doublesTier: "DOU", - }, - silvallypsychic: { - tier: "OU", - doublesTier: "DOU", - }, - silvallysteel: { - tier: "OU", - doublesTier: "DOU", - }, - silvallyrock: { - tier: "OU", - doublesTier: "DOU", - }, - silvallywater: { - tier: "OU", - doublesTier: "DOU", - }, - typenull: { - tier: "NFE", - doublesTier: "DOU", - }, - linoonegalar: { - tier: "NFE", - doublesTier: "DOU", - }, - zigzagoongalar: { - tier: "LC", - doublesTier: "DOU", - }, -}; diff --git a/data/mods/gen3hoenngaiden/items.ts b/data/mods/gen3hoenngaiden/items.ts deleted file mode 100644 index b7078d3c40da..000000000000 --- a/data/mods/gen3hoenngaiden/items.ts +++ /dev/null @@ -1,218 +0,0 @@ -export const Items: {[itemid: string]: ModdedItemData} = { - bugmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - darkmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - dragonmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - electricmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - fightingmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - firememory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - flyingmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - ghostmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - grassmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - groundmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - icememory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - poisonmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - psychicmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - rockmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - steelmemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - watermemory: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - expertbelt: { - name: "Expert Belt", - spritenum: 132, - fling: { - basePower: 10, - }, - onModifyDamage(damage, source, target, move) { - if (move && target.getMoveHitData(move).typeMod > 0) { - return this.chainModify([4915, 4096]); - } - }, - isNonstandard: null, - num: 268, - gen: 3, - }, - thickclub: { - name: "Thick Club", - spritenum: 491, - fling: { - basePower: 90, - }, - onModifyAtkPriority: 1, - onModifyAtk(atk, pokemon) { - if (pokemon.baseSpecies.baseSpecies === 'Cubone' || pokemon.baseSpecies.baseSpecies === 'Marowak') { - return this.chainModify(2); - } - }, - itemUser: ["Marowak", "Cubone", "Marowak-Alola"], - num: 258, - gen: 2, - }, - stick: { - name: "Stick", - fling: { - basePower: 60, - }, - spritenum: 475, - onModifyCritRatio(critRatio, user) { - if (["farfetchd", "sirfetchd"].includes(this.toID(user.baseSpecies.baseSpecies))) { - return critRatio + 2; - } - }, - itemUser: ["Farfetch\u2019d", "Farfetch\u2019d-Galar", "Sirfetch\u2019d"], - num: 259, - gen: 2, - }, - occaberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - passhoberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - wacanberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - rindoberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - yacheberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - chopleberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - kebiaberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - shucaberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - cobaberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - payapaberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - tangaberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - chartiberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - kasibberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - habanberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - colburberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - babiriberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - chilanberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, - custapberry: { - inherit: true, - isNonstandard: null, - gen: 3, - }, -}; diff --git a/data/mods/gen3hoenngaiden/learnsets.ts b/data/mods/gen3hoenngaiden/learnsets.ts deleted file mode 100644 index 4da9cf50d766..000000000000 --- a/data/mods/gen3hoenngaiden/learnsets.ts +++ /dev/null @@ -1,3638 +0,0 @@ -export const Learnsets: {[speciesid: string]: LearnsetData} = { - roselia: { - learnset: { - aromatherapy: ["3L53", "3S0"], - bodyslam: ["3T"], - doubleedge: ["3T"], - endure: ["8M", "4M", "3T"], - furycutter: ["3T"], - grasswhistle: ["3L29", "3S1"], - growth: ["3S0"], - ingrain: ["3L41"], - leechseed: ["3L21", "3S1"], - magicalleaf: ["3L25", "3S1"], - mimic: ["3T", "3S0"], - nightmare: ["3T"], - petaldance: ["3L49"], - poisonsting: ["3L9", "3S0"], - shadowball: ["3M"], - spikes: ["3S1"], - sweetkiss: ["3E"], - sweetscent: ["3L37"], - }, - eventData: [ - {generation: 3, level: 10, moves: ["aromatherapy", "growth", "poisonsting", "mimic"], pokeball: "pokeball"}, - {generation: 3, level: 22, moves: ["spikes", "magicalleaf", "leechseed", "grasswhistle"]}, - ], - eventOnly: true, - }, - snover: { - learnset: { - attract: ["3L1"], - blizzard: ["3L1"], - brickbreak: ["3L1"], - bulletseed: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - flash: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - gigadrain: ["3L1"], - grasswhistle: ["3L1"], - growth: ["3L1"], - hail: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - icywind: ["3L1"], - ingrain: ["3L1"], - irontail: ["3L1"], - leechseed: ["3L1"], - leer: ["3L1"], - lightscreen: ["3L1"], - magicalleaf: ["3L1"], - megapunch: ["3L1"], - mist: ["3L1"], - mudslap: ["3L1"], - powdersnow: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - razorleaf: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - round: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - sheercold: ["3L1"], - skullbash: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - stomp: ["3L1"], - substitute: ["3L1"], - swagger: ["3L1"], - swordsdance: ["3L1"], - synthesis: ["3L1"], - toxic: ["3L1"], - waterpulse: ["3L1"], - weatherball: ["3L1"], - }, - }, - gliscor: { - learnset: { - aerialace: ["3L1"], - attract: ["3L1"], - batonpass: ["3L1"], - brickbreak: ["3L1"], - cut: ["3L1"], - dig: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - falseswipe: ["3L1"], - feintattack: ["3L1"], - frustration: ["3L1"], - furycutter: ["3L1"], - guillotine: ["3L1"], - harden: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - irontail: ["3L1"], - knockoff: ["3L1"], - mudslap: ["3L1"], - protect: ["3L1"], - quickattack: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - sandattack: ["3L1"], - sandstorm: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - skyattack: ["3L1"], - skyuppercut: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - steelwing: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - }, - }, - frillish: { - learnset: { - absorb: ["3L1"], - acidarmor: ["3L1"], - attract: ["3L1"], - bind: ["3L1"], - blizzard: ["3L1"], - bubble: ["3L1"], - bubblebeam: ["3L1"], - confuseray: ["3L1"], - destinybond: ["3L1"], - dive: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - frustration: ["3L1"], - gigadrain: ["3L1"], - hail: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icywind: ["3L1"], - magiccoat: ["3L1"], - muddywater: ["3L1"], - nightshade: ["3L1"], - painsplit: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - recover: ["3L1"], - rest: ["3L1"], - round: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - snore: ["3L1"], - spite: ["3L1"], - substitute: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - taunt: ["3L1"], - toxic: ["3L1"], - waterfall: ["3L1"], - watersport: ["3L1"], - waterspout: ["3L1"], - whirlpool: ["3L1"], - willowisp: ["3L1"], - }, - }, - tynamo: { - learnset: { - spark: ["3L1"], - tackle: ["3L1"], - thunderwave: ["3L1"], - }, - }, - eelektrik: { - learnset: { - acid: ["3L1"], - attract: ["3L1"], - bind: ["3L1"], - bounce: ["3L1"], - brickbreak: ["3L1"], - crunch: ["3L1"], - doubleteam: ["3L1"], - dragonclaw: ["3L1"], - facade: ["3L1"], - firepunch: ["3L1"], - flamethrower: ["3L1"], - flash: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - gigadrain: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - irontail: ["3L1"], - lightscreen: ["3L1"], - outrage: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - roar: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - round: ["3L1"], - secretpower: ["3L1"], - shockwave: ["3L1"], - signalbeam: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - superfang: ["3L1"], - swagger: ["3L1"], - thrash: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - toxic: ["3L1"], - zapcannon: ["3L1"], - }, - }, - cryogonal: { - learnset: { - acidarmor: ["3L1"], - ancientpower: ["3L1"], - attract: ["3L1"], - aurorabeam: ["3L1"], - bind: ["3L1"], - blizzard: ["3L1"], - confuseray: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - frustration: ["3L1"], - hail: ["3L1"], - haze: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icywind: ["3L1"], - irondefense: ["3L1"], - lightscreen: ["3L1"], - magiccoat: ["3L1"], - mist: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rapidspin: ["3L1"], - recover: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - round: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - sharpen: ["3L1"], - sheercold: ["3L1"], - signalbeam: ["3L1"], - slash: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - substitute: ["3L1"], - swagger: ["3L1"], - toxic: ["3L1"], - waterpulse: ["3L1"], - growth: ["3L1"], - }, - }, - typenull: { - learnset: { - aerialace: ["3L1"], - crushclaw: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - dragonclaw: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - frustration: ["3L1"], - hail: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icywind: ["3L1"], - imprison: ["3L1"], - irondefense: ["3L1"], - magiccoat: ["3L1"], - metalsound: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - rage: ["3L1"], - raindance: ["3L1"], - razorwind: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - roar: ["3L1"], - rockslide: ["3L1"], - sandstorm: ["3L1"], - scaryface: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - tackle: ["3L1"], - takedown: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - triattack: ["3L1"], - mimic: ["3L1"], - secretpower: ["3L1"], - }, - }, - silvally: { - learnset: { - bite: ["3L1"], - crunch: ["3L1"], - explosion: ["3L1"], - flamethrower: ["3L1"], - icebeam: ["3L1"], - multiattack: ["3L1"], - reversal: ["3L1"], - selfdestruct: ["3L1"], - shadowball: ["3L1"], - steelwing: ["3L1"], - sunnyday: ["3L1"], - surf: ["3L1"], - swordsdance: ["3L1"], - thunderbolt: ["3L1"], - }, - }, - starly: { - learnset: { - aerialace: ["3L1"], - agility: ["3L1"], - aircutter: ["3L1"], - astonish: ["3L1"], - attract: ["3L1"], - brickbreak: ["3L1"], - detect: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endeavor: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - featherdance: ["3L1"], - fly: ["3L1"], - foresight: ["3L1"], - frustration: ["3L1"], - furyattack: ["3L1"], - growl: ["3L1"], - hiddenpower: ["3L1"], - mirrormove: ["3L1"], - mudslap: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - quickattack: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - revenge: ["3L1"], - sandattack: ["3L1"], - secretpower: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - steelwing: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tackle: ["3L1"], - takedown: ["3L1"], - thief: ["3L1"], - toxic: ["3L1"], - twister: ["3L1"], - uproar: ["3L1"], - whirlwind: ["3L1"], - wingattack: ["3L1"], - }, - }, - crabrawler: { - learnset: { - amnesia: ["3L1"], - attract: ["3L1"], - brickbreak: ["3L1"], - bubble: ["3L1"], - bubblebeam: ["3L1"], - bulkup: ["3L1"], - crabhammer: ["3L1"], - dizzypunch: ["3L1"], - doubleteam: ["3L1"], - dynamicpunch: ["3L1"], - earthquake: ["3L1"], - endeavor: ["3L1"], - facade: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - hail: ["3L1"], - hiddenpower: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - icywind: ["3L1"], - irondefense: ["3L1"], - leer: ["3L1"], - machpunch: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - reversal: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - thief: ["3L1"], - thunderpunch: ["3L1"], - toxic: ["3L1"], - }, - }, - croagunk: { - learnset: { - astonish: ["3L1"], - attract: ["3L1"], - batonpass: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - counter: ["3L1"], - crosschop: ["3L1"], - dig: ["3L1"], - doubleteam: ["3L1"], - dynamicpunch: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - feintattack: ["3L1"], - flatter: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - furycutter: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - icepunch: ["3L1"], - icywind: ["3L1"], - lowkick: ["3L1"], - meditate: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mudslap: ["3L1"], - poisonsting: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - revenge: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - smellingsalts: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - spite: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - superfang: ["3L1"], - swagger: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thunderpunch: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - }, - }, - geodudealola: { - learnset: { - bodyslam: ["3L1"], - counter: ["3L1"], - dynamicpunch: ["3L1"], - furycutter: ["3L1"], - megakick: ["3L1"], - metronome: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - secretpower: ["3L1"], - rocksmash: ["3L1"], - strength: ["3L1"], - attract: ["3L1"], - block: ["3L1"], - brickbreak: ["3L1"], - charge: ["3L1"], - curse: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - firepunch: ["3L1"], - flail: ["3L1"], - flamethrower: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - icepunch: ["3L1"], - irondefense: ["3L1"], - protect: ["3L1"], - rapidspin: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockblast: ["3L1"], - rockslide: ["3L1"], - rockthrow: ["3L1"], - rocktomb: ["3L1"], - rollout: ["3L1"], - sandstorm: ["3L1"], - screech: ["3L1"], - seismictoss: ["3L1"], - selfdestruct: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - tackle: ["3L1"], - takedown: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - thundershock: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - }, - }, - golett: { - learnset: { - astonish: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - curse: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - doubleteam: ["3L1"], - dynamicpunch: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - firepunch: ["3L1"], - flash: ["3L1"], - fly: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - icywind: ["3L1"], - irondefense: ["3L1"], - magiccoat: ["3L1"], - magnitude: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mudslap: ["3L1"], - nightshade: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - rollout: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - shadowball: ["3L1"], - shadowpunch: ["3L1"], - shockwave: ["3L1"], - signalbeam: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - swagger: ["3L1"], - thief: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - toxic: ["3L1"], - }, - }, - fletchling: { - learnset: { - acrobatics: ["3L1"], - aerialace: ["3L1"], - agility: ["3L1"], - attract: ["3L1"], - bulkup: ["3L1"], - doubleteam: ["3L1"], - ember: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - flail: ["3L1"], - flamethrower: ["3L1"], - fly: ["3L1"], - frustration: ["3L1"], - gigaimpact: ["3L1"], - growl: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - overheat: ["3L1"], - peck: ["3L1"], - protect: ["3L1"], - quickattack: ["3L1"], - rapidspin: ["3L1"], - razorwind: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - secretpower: ["3L1"], - sleeptalk: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - softboiled: ["3L1"], - solarbeam: ["3L1"], - steelwing: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - tackle: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - toxic: ["3L1"], - whirlwind: ["3L1"], - willowisp: ["3L1"], - }, - }, - stunky: { - learnset: { - astonish: ["3L1"], - attract: ["3L1"], - bite: ["3L1"], - crunch: ["3L1"], - cut: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - feint: ["3L1"], - fireblast: ["3L1"], - flamethrower: ["3L1"], - focusenergy: ["3L1"], - foulplay: ["3L1"], - frustration: ["3L1"], - furycutter: ["3L1"], - furyswipes: ["3L1"], - gigaimpact: ["3L1"], - haze: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - irontail: ["3L1"], - leer: ["3L1"], - memento: ["3L1"], - mudslap: ["3L1"], - poisongas: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - roar: ["3L1"], - rocksmash: ["3L1"], - scaryface: ["3L1"], - scratch: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - slackoff: ["3L1"], - slash: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - smog: ["3L1"], - smokescreen: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - toxic: ["3L1"], - }, - }, - sylveon: { - learnset: { - acrobatics: ["3L1"], - aerialace: ["3L1"], - flail: ["3L1"], - curse: ["3L1"], - tickle: ["3L1"], - detect: ["3L1"], - doublekick: ["3L1"], - mudslap: ["3L1"], - wish: ["3L1"], - attract: ["3L1"], - batonpass: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - charm: ["3L1"], - cut: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - focusenergy: ["3L1"], - frustration: ["3L1"], - growl: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - hypervoice: ["3L1"], - lightscreen: ["3L1"], - magicalleaf: ["3L1"], - magiccoat: ["3L1"], - protect: ["3L1"], - psychup: ["3L1"], - quickattack: ["3L1"], - raindance: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - round: ["3L1"], - safeguard: ["3L1"], - sandattack: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tackle: ["3L1"], - tailwhip: ["3L1"], - takedown: ["3L1"], - toxic: ["3L1"], - ancientpower: ["3L1"], - dragonclaw: ["3L1"], - dragonrage: ["3L1"], - dragonbreath: ["3L1"], - fireblast: ["3L1"], - flamethrower: ["3L1"], - furycutter: ["3L1"], - sandstorm: ["3L1"], - twister: ["3L1"], - }, - }, - zarude: { - learnset: { - earthquake: ["3L1"], - foulplay: ["3L1"], - acrobatics: ["3L1"], - bind: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - bulletseed: ["3L1"], - crunch: ["3L1"], - dig: ["3L1"], - encore: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - furyswipes: ["3L1"], - gigadrain: ["3L1"], - gigaimpact: ["3L1"], - growth: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - hypervoice: ["3L1"], - junglehealing: ["3L1"], - leer: ["3L1"], - lowkick: ["3L1"], - magicalleaf: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mudshot: ["3L1"], - protect: ["3L1"], - rest: ["3L1"], - revenge: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - round: ["3L1"], - scaryface: ["3L1"], - scratch: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - synthesis: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thrash: ["3L1"], - toxic: ["3L1"], - vinewhip: ["3L1"], - }, - }, - zarudedada: { - learnset: { - earthquake: ["3L1"], - foulplay: ["3L1"], - acrobatics: ["3L1"], - bind: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - bulletseed: ["3L1"], - crunch: ["3L1"], - dig: ["3L1"], - encore: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - furyswipes: ["3L1"], - gigadrain: ["3L1"], - gigaimpact: ["3L1"], - growth: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - hypervoice: ["3L1"], - junglehealing: ["3L1"], - leer: ["3L1"], - lowkick: ["3L1"], - magicalleaf: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mudshot: ["3L1"], - protect: ["3L1"], - rest: ["3L1"], - revenge: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - round: ["3L1"], - scaryface: ["3L1"], - scratch: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - synthesis: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thrash: ["3L1"], - toxic: ["3L1"], - vinewhip: ["3L1"], - }, - }, - buneary: { - learnset: { - acrobatics: ["3L1"], - agility: ["3L1"], - attract: ["3L1"], - batonpass: ["3L1"], - blizzard: ["3L1"], - bounce: ["3L1"], - charm: ["3L1"], - cosmicpower: ["3L1"], - cut: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - dizzypunch: ["3L1"], - doubleteam: ["3L1"], - encore: ["3L1"], - endeavor: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fakeout: ["3L1"], - faketears: ["3L1"], - firepunch: ["3L1"], - flail: ["3L1"], - flatter: ["3L1"], - focuspunch: ["3L1"], - foresight: ["3L1"], - frustration: ["3L1"], - furycutter: ["3L1"], - healbell: ["3L1"], - hiddenpower: ["3L1"], - highjumpkick: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - irontail: ["3L1"], - jumpkick: ["3L1"], - lowkick: ["3L1"], - magiccoat: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mirrorcoat: ["3L1"], - mudslap: ["3L1"], - mudsport: ["3L1"], - pound: ["3L1"], - protect: ["3L1"], - quickattack: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rocksmash: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - skyuppercut: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - splash: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - sweetkiss: ["3L1"], - swift: ["3L1"], - teeterdance: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - trick: ["3L1"], - uproar: ["3L1"], - waterpulse: ["3L1"], - }, - }, - chespin: { - learnset: { - aerialace: ["3L1"], - attract: ["3L1"], - bellydrum: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - curse: ["3L1"], - cut: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - doubleteam: ["3L1"], - dragonclaw: ["3L1"], - earthquake: ["3L1"], - endeavor: ["3L1"], - facade: ["3L1"], - flash: ["3L1"], - focuspunch: ["3L1"], - frenzyplant: ["3L1"], - frustration: ["3L1"], - gigadrain: ["3L1"], - growl: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - irontail: ["3L1"], - leechseed: ["3L1"], - mudshot: ["3L1"], - needlearm: ["3L1"], - pinmissile: ["3L1"], - protect: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - roar: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - rollout: ["3L1"], - round: ["3L1"], - secretpower: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - spikes: ["3L1"], - spikyshield: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swordsdance: ["3L1"], - synthesis: ["3L1"], - tackle: ["3L1"], - takedown: ["3L1"], - taunt: ["3L1"], - thunderpunch: ["3L1"], - toxic: ["3L1"], - vinewhip: ["3L1"], - lowkick: ["3L1"], - }, - }, - cramorant: { - learnset: { - aerialace: ["3L1"], - agility: ["3L1"], - amnesia: ["3L1"], - attract: ["3L1"], - blizzard: ["3L1"], - dive: ["3L1"], - drillpeck: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - featherdance: ["3L1"], - fly: ["3L1"], - furyattack: ["3L1"], - hiddenpower: ["3L1"], - hydropump: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icywind: ["3L1"], - peck: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - spitup: ["3L1"], - steelwing: ["3L1"], - stockpile: ["3L1"], - substitute: ["3L1"], - surf: ["3L1"], - swallow: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thrash: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - watergun: ["3L1"], - weatherball: ["3L1"], - whirlpool: ["3L1"], - whirlwind: ["3L1"], - }, - }, - guzzlord: { - learnset: { - amnesia: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - crunch: ["3L1"], - doubleteam: ["3L1"], - dragonclaw: ["3L1"], - dragonrage: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - flamethrower: ["3L1"], - frustration: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - irontail: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - protect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - round: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - stockpile: ["3L1"], - stomp: ["3L1"], - substitute: ["3L1"], - swallow: ["3L1"], - thief: ["3L1"], - thrash: ["3L1"], - toxic: ["3L1"], - }, - }, - litten: { - learnset: { - acrobatics: ["3L1"], - attract: ["3L1"], - bite: ["3L1"], - blastburn: ["3L1"], - blazekick: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - confide: ["3L1"], - covet: ["3L1"], - crosschop: ["3L1"], - crunch: ["3L1"], - doublekick: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - ember: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - firepunch: ["3L1"], - firespin: ["3L1"], - flamethrower: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - furyswipes: ["3L1"], - growl: ["3L1"], - heatwave: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - leer: ["3L1"], - lick: ["3L1"], - lowkick: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - outrage: ["3L1"], - overheat: ["3L1"], - protect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - revenge: ["3L1"], - roar: ["3L1"], - scaryface: ["3L1"], - scratch: ["3L1"], - sleeptalk: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swordsdance: ["3L1"], - taunt: ["3L1"], - thrash: ["3L1"], - thunderpunch: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - batonpass: ["3L1"], - dragonclaw: ["3L1"], - foulplay: ["3L1"], - }, - }, - glaceon: { - learnset: { - attract: ["3L1"], - barrier: ["3L1"], - batonpass: ["3L1"], - bite: ["3L1"], - blizzard: ["3L1"], - bodyslam: ["3L1"], - charm: ["3L1"], - covet: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - focusenergy: ["3L1"], - frustration: ["3L1"], - growl: ["3L1"], - hail: ["3L1"], - headbutt: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - hypervoice: ["3L1"], - icebeam: ["3L1"], - iceshard: ["3L1"], - iciclespear: ["3L1"], - icywind: ["3L1"], - irontail: ["3L1"], - mirrorcoat: ["3L1"], - mudslap: ["3L1"], - payday: ["3L1"], - protect: ["3L1"], - quickattack: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - roar: ["3L1"], - rocksmash: ["3L1"], - sandattack: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - signalbeam: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tackle: ["3L1"], - tailwhip: ["3L1"], - takedown: ["3L1"], - toxic: ["3L1"], - waterpulse: ["3L1"], - weatherball: ["3L1"], - surf: ["3L1"], - lovelykiss: ["3L1"], - haze: ["3L1"], - iceball: ["3L1"], - hydropump: ["3L1"], - superfang: ["3L1"], - calmmind: ["3L1"], - }, - }, - uxie: { - learnset: { - acrobatics: ["3L1"], - amnesia: ["3L1"], - calmmind: ["3L1"], - confusion: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - endure: ["3L1"], - extrasensory: ["3L1"], - facade: ["3L1"], - firepunch: ["3L1"], - flail: ["3L1"], - flash: ["3L1"], - foulplay: ["3L1"], - frustration: ["3L1"], - futuresight: ["3L1"], - gigadrain: ["3L1"], - headbutt: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icepunch: ["3L1"], - imprison: ["3L1"], - irontail: ["3L1"], - lightscreen: ["3L1"], - magiccoat: ["3L1"], - memento: ["3L1"], - metronome: ["3L1"], - mudslap: ["3L1"], - protect: ["3L1"], - psybeam: ["3L1"], - psychic: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - safeguard: ["3L1"], - sandstorm: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - skillswap: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - waterpulse: ["3L1"], - yawn: ["3L1"], - }, - }, - mimejr: { - learnset: { - attract: ["3L1"], - barrier: ["3L1"], - batonpass: ["3L1"], - brickbreak: ["3L1"], - calmmind: ["3L1"], - charm: ["3L1"], - confuseray: ["3L1"], - confusion: ["3L1"], - covet: ["3L1"], - doubleslap: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - encore: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fakeout: ["3L1"], - flash: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - futuresight: ["3L1"], - headbutt: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hypnosis: ["3L1"], - icywind: ["3L1"], - lightscreen: ["3L1"], - magiccoat: ["3L1"], - meditate: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - pound: ["3L1"], - protect: ["3L1"], - psybeam: ["3L1"], - psychic: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - recycle: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - roleplay: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - signalbeam: ["3L1"], - skillswap: ["3L1"], - sleeptalk: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - taunt: ["3L1"], - teeterdance: ["3L1"], - thief: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderwave: ["3L1"], - tickle: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - }, - }, - mrmimegalar: { - learnset: { - blizzard: ["3L1"], - block: ["3L1"], - bodyslam: ["3L1"], - doublekick: ["3L1"], - faketears: ["3L1"], - foulplay: ["3L1"], - hail: ["3L1"], - hyperbeam: ["3L1"], - hypnosis: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - iceshard: ["3L1"], - iciclespear: ["3L1"], - irondefense: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - metronome: ["3L1"], - mirrorcoat: ["3L1"], - screech: ["3L1"], - slackoff: ["3L1"], - }, - }, - dracovish: { - learnset: { - ancientpower: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - crunch: ["3L1"], - dive: ["3L1"], - dragonbreath: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - hydropump: ["3L1"], - hyperbeam: ["3L1"], - megakick: ["3L1"], - outrage: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - stomp: ["3L1"], - substitute: ["3L1"], - superfang: ["3L1"], - surf: ["3L1"], - tackle: ["3L1"], - waterfall: ["3L1"], - watergun: ["3L1"], - whirlpool: ["3L1"], - lunge: ["3L1"], - dragonclaw: ["3L1"], - icebeam: ["3L1"], - psychic: ["3L1"], - hiddenpower: ["3L1"], - toxic: ["3L1"], - refresh: ["3L1"], - }, - }, - marowakalola: { - learnset: { - sing: ["3L1"], - aerialace: ["3L1"], - attract: ["3L1"], - blizzard: ["3L1"], - bodyslam: ["3L1"], - boneclub: ["3L1"], - bonemerang: ["3L1"], - bonerush: ["3L1"], - brickbreak: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - earthquake: ["3L1"], - endeavor: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - falseswipe: ["3L1"], - fireblast: ["3L1"], - firepunch: ["3L1"], - firespin: ["3L1"], - flamethrower: ["3L1"], - flamewheel: ["3L1"], - focusenergy: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - growl: ["3L1"], - headbutt: ["3L1"], - heatwave: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icywind: ["3L1"], - imprison: ["3L1"], - irondefense: ["3L1"], - irontail: ["3L1"], - leer: ["3L1"], - lowkick: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mudslap: ["3L1"], - outrage: ["3L1"], - painsplit: ["3L1"], - protect: ["3L1"], - rage: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - sandstorm: ["3L1"], - screech: ["3L1"], - seismictoss: ["3L1"], - shadowball: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - spite: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - tailwhip: ["3L1"], - thief: ["3L1"], - thrash: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - willowisp: ["3L1"], - }, - }, - slowpokegalar: { - learnset: { - acid: ["3L1"], - amnesia: ["3L1"], - attract: ["3L1"], - blizzard: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - calmmind: ["3L1"], - confusion: ["3L1"], - counter: ["3L1"], - curse: ["3L1"], - dig: ["3L1"], - disable: ["3L1"], - dive: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - dynamicpunch: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - flamethrower: ["3L1"], - focuspunch: ["3L1"], - foulplay: ["3L1"], - frustration: ["3L1"], - furycutter: ["3L1"], - futuresight: ["3L1"], - growl: ["3L1"], - hail: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - hydropump: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - icywind: ["3L1"], - imprison: ["3L1"], - irondefense: ["3L1"], - irontail: ["3L1"], - lightscreen: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mimic: ["3L1"], - muddywater: ["3L1"], - mudshot: ["3L1"], - mudslap: ["3L1"], - mudsport: ["3L1"], - nightmare: ["3L1"], - payday: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - seismictoss: ["3L1"], - shadowball: ["3L1"], - skillswap: ["3L1"], - slackoff: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tackle: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - triattack: ["3L1"], - trick: ["3L1"], - waterpulse: ["3L1"], - weatherball: ["3L1"], - whirlpool: ["3L1"], - yawn: ["3L1"], - }, - }, - regieleki: { - learnset: { - acrobatics: ["3L1"], - agility: ["3L1"], - ancientpower: ["3L1"], - bodyslam: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - extremespeed: ["3L1"], - facade: ["3L1"], - hyperbeam: ["3L1"], - lightscreen: ["3L1"], - lockon: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rapidspin: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - screech: ["3L1"], - selfdestruct: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - swift: ["3L1"], - thrash: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thundershock: ["3L1"], - thunderwave: ["3L1"], - zapcannon: ["3L1"], - hiddenpower: ["3L1"], - toxic: ["3L1"], - healbell: ["3L1"], - }, - }, - milcery: { - learnset: { - acidarmor: ["3L1"], - aromatherapy: ["3L1"], - attract: ["3L1"], - calmmind: ["3L1"], - charm: ["3L1"], - encore: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - faketears: ["3L1"], - gigadrain: ["3L1"], - helpinghand: ["3L1"], - hyperbeam: ["3L1"], - lightscreen: ["3L1"], - metronome: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - recover: ["3L1"], - rest: ["3L1"], - safeguard: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - substitute: ["3L1"], - sweetkiss: ["3L1"], - sweetscent: ["3L1"], - tackle: ["3L1"], - triattack: ["3L1"], - toxic: ["3L1"], - hiddenpower: ["3L1"], - sludgebomb: ["3L1"], - rapidspin: ["3L1"], - batonpass: ["3L1"], - foulplay: ["3L1"], - shadowball: ["3L1"], - amnesia: ["3L1"], - }, - }, - raichualola: { - learnset: { - attract: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - calmmind: ["3L1"], - counter: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - dynamicpunch: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - flash: ["3L1"], - focuspunch: ["3L1"], - futuresight: ["3L1"], - frustration: ["3L1"], - growl: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - irontail: ["3L1"], - lightscreen: ["3L1"], - magiccoat: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - quickattack: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rocksmash: ["3L1"], - rollout: ["3L1"], - secretpower: ["3L1"], - seismictoss: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tailwhip: ["3L1"], - thief: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - thundershock: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - }, - }, - diglettalola: { - learnset: { - aerialace: ["3L1"], - ancientpower: ["3L1"], - attract: ["3L1"], - beatup: ["3L1"], - bodyslam: ["3L1"], - cut: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - feintattack: ["3L1"], - fissure: ["3L1"], - frustration: ["3L1"], - furyswipes: ["3L1"], - growl: ["3L1"], - hiddenpower: ["3L1"], - magnitude: ["3L1"], - metalclaw: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - sandattack: ["3L1"], - sandstorm: ["3L1"], - scratch: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - slash: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - takedown: ["3L1"], - thief: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - }, - }, - meowthgalar: { - learnset: { - meteormash: ["3L1"], - amnesia: ["3L1"], - assist: ["3L1"], - attract: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - cut: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fakeout: ["3L1"], - feintattack: ["3L1"], - flail: ["3L1"], - flash: ["3L1"], - frustration: ["3L1"], - furyswipes: ["3L1"], - growl: ["3L1"], - hiddenpower: ["3L1"], - irondefense: ["3L1"], - irontail: ["3L1"], - metalclaw: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - nightmare: ["3L1"], - payday: ["3L1"], - protect: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - retaliate: ["3L1"], - return: ["3L1"], - scratch: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - crunch: ["3L1"], - slash: ["3L1"], - sleeptalk: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - spite: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - tailwhip: ["3L1"], - takedown: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - metalsound: ["3L1"], - toxic: ["3L1"], - thrash: ["3L1"], - }, - }, - farfetchdgalar: { - learnset: { - aerialace: ["3L1"], - agility: ["3L1"], - attract: ["3L1"], - batonpass: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - counter: ["3L1"], - curse: ["3L1"], - cut: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - falseswipe: ["3L1"], - featherdance: ["3L1"], - flail: ["3L1"], - focusenergy: ["3L1"], - foresight: ["3L1"], - frustration: ["3L1"], - furyattack: ["3L1"], - furycutter: ["3L1"], - gust: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - irondefense: ["3L1"], - leer: ["3L1"], - mimic: ["3L1"], - mirrormove: ["3L1"], - mudslap: ["3L1"], - peck: ["3L1"], - protect: ["3L1"], - psychup: ["3L1"], - quickattack: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - sandattack: ["3L1"], - secretpower: ["3L1"], - slash: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - steelwing: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - thief: ["3L1"], - toxic: ["3L1"], - wish: ["3L1"], - yawn: ["3L1"], - }, - }, - grimeralola: { - learnset: { - acidarmor: ["3L1"], - attract: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - crunch: ["3L1"], - curse: ["3L1"], - dig: ["3L1"], - disable: ["3L1"], - doubleteam: ["3L1"], - dynamicpunch: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - firepunch: ["3L1"], - flamethrower: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - gigadrain: ["3L1"], - harden: ["3L1"], - haze: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - icepunch: ["3L1"], - imprison: ["3L1"], - knockoff: ["3L1"], - lick: ["3L1"], - meanlook: ["3L1"], - memento: ["3L1"], - mimic: ["3L1"], - minimize: ["3L1"], - mudslap: ["3L1"], - poisonfang: ["3L1"], - poisongas: ["3L1"], - pound: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - scaryface: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - shadowball: ["3L1"], - shadowpunch: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - sludge: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - }, - }, - exeggutoralola: { - learnset: { - absorb: ["3L1"], - ancientpower: ["3L1"], - attract: ["3L1"], - barrage: ["3L1"], - bulletseed: ["3L1"], - confusion: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - earthquake: ["3L1"], - eggbomb: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - flamethrower: ["3L1"], - flash: ["3L1"], - frustration: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - hypnosis: ["3L1"], - leechseed: ["3L1"], - lightscreen: ["3L1"], - mimic: ["3L1"], - nightmare: ["3L1"], - outrage: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - psychup: ["3L1"], - reflect: ["3L1"], - refresh: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rollout: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - skillswap: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - strength: ["3L1"], - stunspore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - thief: ["3L1"], - toxic: ["3L1"], - }, - }, - weezinggalar: { - learnset: { - aromatherapy: ["3L1"], - attract: ["3L1"], - bubblebeam: ["3L1"], - destinybond: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - flamethrower: ["3L1"], - flash: ["3L1"], - frustration: ["3L1"], - haze: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - memento: ["3L1"], - mimic: ["3L1"], - overheat: ["3L1"], - poisongas: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rollout: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - sludge: ["3L1"], - sludgebomb: ["3L1"], - smog: ["3L1"], - smokescreen: ["3L1"], - snore: ["3L1"], - spite: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - tackle: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - waterpulse: ["3L1"], - willowisp: ["3L1"], - }, - }, - articunogalar: { - learnset: { - aerialace: ["3L1"], - agility: ["3L1"], - calmmind: ["3L1"], - confusion: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - endure: ["3L1"], - extrasensory: ["3L1"], - facade: ["3L1"], - fly: ["3L1"], - frustration: ["3L1"], - futuresight: ["3L1"], - gust: ["3L1"], - healbell: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - hypervoice: ["3L1"], - hypnosis: ["3L1"], - imprison: ["3L1"], - lightscreen: ["3L1"], - mimic: ["3L1"], - mindreader: ["3L1"], - mudslap: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - recover: ["3L1"], - roar: ["3L1"], - rocksmash: ["3L1"], - scaryface: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - skillswap: ["3L1"], - skyattack: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - steelwing: ["3L1"], - substitute: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - toxic: ["3L1"], - }, - }, - zapdosgalar: { - learnset: { - aerialace: ["3L1"], - agility: ["3L1"], - batonpass: ["3L1"], - blazekick: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - counter: ["3L1"], - detect: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - drillpeck: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - flash: ["3L1"], - focusenergy: ["3L1"], - frustration: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - lightscreen: ["3L1"], - lowkick: ["3L1"], - megakick: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - peck: ["3L1"], - protect: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - reversal: ["3L1"], - roar: ["3L1"], - rocksmash: ["3L1"], - scaryface: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - skyattack: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - steelwing: ["3L1"], - substitute: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - taunt: ["3L1"], - toxic: ["3L1"], - }, - }, - moltresgalar: { - learnset: { - aerialace: ["3L1"], - agility: ["3L1"], - ancientpower: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - feintattack: ["3L1"], - fierywrath: ["3L1"], - fly: ["3L1"], - foulplay: ["3L1"], - frustration: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - hypervoice: ["3L1"], - memento: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - roar: ["3L1"], - rocksmash: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - skyattack: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - steelwing: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - taunt: ["3L1"], - toxic: ["3L1"], - wingattack: ["3L1"], - }, - }, - zigzagoongalar: { - learnset: { - attract: ["3L1"], - blizzard: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - charm: ["3L1"], - covet: ["3L1"], - crosschop: ["3L1"], - cut: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - firepunch: ["3L1"], - focusenergy: ["3L1"], - flail: ["3L1"], - frustration: ["3L1"], - furycutter: ["3L1"], - growl: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - icywind: ["3L1"], - irondefense: ["3L1"], - irontail: ["3L1"], - knockoff: ["3L1"], - lowkick: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mimic: ["3L1"], - mudslap: ["3L1"], - mudsport: ["3L1"], - odorsleuth: ["3L1"], - pinmissile: ["3L1"], - protect: ["3L1"], - pursuit: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - revenge: ["3L1"], - reversal: ["3L1"], - rocksmash: ["3L1"], - rollout: ["3L1"], - sandattack: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - submission: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tackle: ["3L1"], - tailwhip: ["3L1"], - thief: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - thunderwave: ["3L1"], - tickle: ["3L1"], - toxic: ["3L1"], - trick: ["3L1"], - waterpulse: ["3L1"], - }, - }, - bonsly: { - learnset: { - attract: ["3L1"], - block: ["3L1"], - brickbreak: ["3L1"], - calmmind: ["3L1"], - counter: ["3L1"], - covet: ["3L1"], - curse: ["3L1"], - defensecurl: ["3L1"], - dig: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - faketears: ["3L1"], - feintattack: ["3L1"], - flail: ["3L1"], - foulplay: ["3L1"], - frustration: ["3L1"], - harden: ["3L1"], - headbutt: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - lowkick: ["3L1"], - mimic: ["3L1"], - naturepower: ["3L1"], - protect: ["3L1"], - psychup: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rockthrow: ["3L1"], - rocktomb: ["3L1"], - roleplay: ["3L1"], - rollout: ["3L1"], - sandstorm: ["3L1"], - sandtomb: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - slam: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - thief: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - }, - }, - mantyke: { - learnset: { - acrobatics: ["3L1"], - aerialace: ["3L1"], - agility: ["3L1"], - amnesia: ["3L1"], - attract: ["3L1"], - blizzard: ["3L1"], - bounce: ["3L1"], - bubble: ["3L1"], - bubblebeam: ["3L1"], - confuseray: ["3L1"], - dive: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - frustration: ["3L1"], - hail: ["3L1"], - haze: ["3L1"], - headbutt: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hydropump: ["3L1"], - icebeam: ["3L1"], - icywind: ["3L1"], - mirrorcoat: ["3L1"], - mudslap: ["3L1"], - mudsport: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - secretpower: ["3L1"], - signalbeam: ["3L1"], - slam: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - splash: ["3L1"], - substitute: ["3L1"], - supersonic: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tackle: ["3L1"], - takedown: ["3L1"], - toxic: ["3L1"], - twister: ["3L1"], - waterfall: ["3L1"], - watergun: ["3L1"], - waterpulse: ["3L1"], - watersport: ["3L1"], - whirlpool: ["3L1"], - wingattack: ["3L1"], - }, - }, - munchlax: { - learnset: { - amnesia: ["3L1"], - attract: ["3L1"], - bellydrum: ["3L1"], - bite: ["3L1"], - blizzard: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - charm: ["3L1"], - counter: ["3L1"], - covet: ["3L1"], - curse: ["3L1"], - defensecurl: ["3L1"], - doubleedge: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - encore: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - firepunch: ["3L1"], - fissure: ["3L1"], - flail: ["3L1"], - flamethrower: ["3L1"], - focuspunch: ["3L1"], - frustration: ["3L1"], - headbutt: ["3L1"], - hiddenpower: ["3L1"], - hydropump: ["3L1"], - hypervoice: ["3L1"], - icebeam: ["3L1"], - icepunch: ["3L1"], - icywind: ["3L1"], - lick: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - metronome: ["3L1"], - mudslap: ["3L1"], - odorsleuth: ["3L1"], - payday: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - pursuit: ["3L1"], - raindance: ["3L1"], - recycle: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - rollout: ["3L1"], - sandstorm: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - stockpile: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - swallow: ["3L1"], - tackle: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderpunch: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - waterpulse: ["3L1"], - whirlpool: ["3L1"], - }, - }, - happiny: { - learnset: { - aromatherapy: ["3L1"], - attract: ["3L1"], - counter: ["3L1"], - covet: ["3L1"], - defensecurl: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - endeavor: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fireblast: ["3L1"], - flamethrower: ["3L1"], - flash: ["3L1"], - frustration: ["3L1"], - hail: ["3L1"], - headbutt: ["3L1"], - healbell: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hypervoice: ["3L1"], - icywind: ["3L1"], - lightscreen: ["3L1"], - metronome: ["3L1"], - minimize: ["3L1"], - mudslap: ["3L1"], - pound: ["3L1"], - present: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - recycle: ["3L1"], - refresh: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rollout: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - seismictoss: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - sweetkiss: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - waterpulse: ["3L1"], - }, - }, - budew: { - learnset: { - absorb: ["3L1", "3S0"], - attract: ["3L1", "3S1"], - bulletseed: ["3L1"], - cottonspore: ["3L1"], - covet: ["3L1"], - cut: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - extrasensory: ["3L1"], - facade: ["3L1"], - flash: ["3L1"], - frustration: ["3L1"], - gigadrain: ["3L1"], - growth: ["3L1", "3S0"], - hiddenpower: ["3L1"], - megadrain: ["3L1", "3S1"], - mindreader: ["3S1"], - mudslap: ["3L1"], - naturepower: ["3L1"], - pinmissile: ["3L1", "3S0"], - protect: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - razorleaf: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - solarbeam: ["3L1"], - spikes: ["3S1"], - stunspore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - synthesis: ["3L1"], - toxic: ["3L1", "3S0"], - uproar: ["3L1"], - watersport: ["3L1"], - weatherball: ["3L1"], - }, - eventData: [ - {generation: 3, level: 1, moves: ["absorb", "growth", "pinmissile", "toxic"], pokeball: "pokeball"}, - {generation: 3, level: 1, moves: ["spikes", "attract", "megadrain", "mindreader"]}, - ], - eventOnly: true, - }, - chingling: { - learnset: { - astonish: ["3L1"], - attract: ["3L1"], - bind: ["3L1"], - calmmind: ["3L1"], - confusion: ["3L1"], - cosmicpower: ["3L1"], - curse: ["3L1"], - disable: ["3L1"], - doubleteam: ["3L1"], - dreameater: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - flash: ["3L1"], - frustration: ["3L1"], - futuresight: ["3L1"], - growl: ["3L1"], - healbell: ["3L1"], - helpinghand: ["3L1"], - hiddenpower: ["3L1"], - hypervoice: ["3L1"], - hypnosis: ["3L1"], - icywind: ["3L1"], - knockoff: ["3L1"], - lightscreen: ["3L1"], - magiccoat: ["3L1"], - protect: ["3L1"], - psychic: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - recover: ["3L1"], - recycle: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rollout: ["3L1"], - safeguard: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - signalbeam: ["3L1"], - skillswap: ["3L1"], - sleeptalk: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - taunt: ["3L1"], - thunderwave: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - trick: ["3L1"], - uproar: ["3L1"], - wish: ["3L1"], - wrap: ["3L1"], - yawn: ["3L1"], - }, - }, - pincurchin: { - learnset: { - attract: ["3L1"], - bubblebeam: ["3L1"], - charge: ["3L1"], - curse: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - furyattack: ["3L1"], - hydropump: ["3L1"], - memento: ["3L1"], - peck: ["3L1"], - pinmissile: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - recover: ["3L1"], - rest: ["3L1"], - selfdestruct: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - spark: ["3L1"], - spikes: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - surf: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thundershock: ["3L1"], - thunderwave: ["3L1"], - watergun: ["3L1"], - twineedle: ["3L1"], - toxic: ["3L1"], - hiddenpower: ["3L1"], - }, - }, - impidimp: { - learnset: { - attract: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - crunch: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fakeout: ["3L1"], - faketears: ["3L1"], - firepunch: ["3L1"], - focusenergy: ["3L1"], - foulplay: ["3L1"], - hyperbeam: ["3L1"], - icepunch: ["3L1"], - lightscreen: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - metronome: ["3L1"], - protect: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - revenge: ["3L1"], - scaryface: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - spiritbreak: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - swagger: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thunderpunch: ["3L1"], - thunderwave: ["3L1"], - torment: ["3L1"], - trick: ["3L1"], - hiddenpower: ["3L1"], - }, - }, - regidrago: { - learnset: { - ancientpower: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - crunch: ["3L1"], - dragonbreath: ["3L1"], - dragonclaw: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - focusenergy: ["3L1"], - hyperbeam: ["3L1"], - lightscreen: ["3L1"], - outrage: ["3L1"], - protect: ["3L1"], - reflect: ["3L1"], - rest: ["3L1"], - selfdestruct: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - thrash: ["3L1"], - twister: ["3L1"], - visegrip: ["3L1"], - brickbreak: ["3L1"], - earthquake: ["3L1"], - superpower: ["3L1"], - hiddenpower: ["3L1"], - toxic: ["3L1"], - roar: ["3L1"], - rockslide: ["3L1"], - firepunch: ["3L1"], - thunderpunch: ["3L1"], - }, - }, - stunfisk: { - learnset: { - astonish: ["3L1"], - attract: ["3L1"], - bide: ["3L1"], - bounce: ["3L1"], - camouflage: ["3L1"], - charge: ["3L1"], - curse: ["3L1"], - dig: ["3L1"], - doubleteam: ["3L1"], - earthquake: ["3L1"], - endeavor: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fissure: ["3L1"], - flail: ["3L1"], - flash: ["3L1"], - foulplay: ["3L1"], - frustration: ["3L1"], - hiddenpower: ["3L1"], - muddywater: ["3L1"], - mudshot: ["3L1"], - mudslap: ["3L1"], - mudsport: ["3L1"], - painsplit: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - revenge: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - sandstorm: ["3L1"], - secretpower: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - spark: ["3L1"], - spite: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - tackle: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thundershock: ["3L1"], - thunderwave: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - watergun: ["3L1"], - waterpulse: ["3L1"], - yawn: ["3L1"], - acrobatics: ["3L1"], - extrasensory: ["3L1"], - mirrorcoat: ["3L1"], - amnesia: ["3L1"], - batonpass: ["3L1"], - refresh: ["3L1"], - taunt: ["3L1"], - }, - }, - stunfiskgalar: { - learnset: { - astonish: ["3L1"], - attract: ["3L1"], - bind: ["3L1"], - bounce: ["3L1"], - bulldoze: ["3L1"], - counter: ["3L1"], - crunch: ["3L1"], - curse: ["3L1"], - dig: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - fissure: ["3L1"], - flail: ["3L1"], - foulplay: ["3L1"], - irondefense: ["3L1"], - metalclaw: ["3L1"], - metalsound: ["3L1"], - muddywater: ["3L1"], - mudshot: ["3L1"], - mudslap: ["3L1"], - painsplit: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - revenge: ["3L1"], - rockslide: ["3L1"], - rocktomb: ["3L1"], - sandstorm: ["3L1"], - screech: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - spite: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - surf: ["3L1"], - tackle: ["3L1"], - thunderwave: ["3L1"], - uproar: ["3L1"], - watergun: ["3L1"], - yawn: ["3L1"], - hiddenpower: ["3L1"], - shadowball: ["3L1"], - iceshard: ["3L1"], - leafblade: ["3L1"], - batonpass: ["3L1"], - refresh: ["3L1"], - spikyshield: ["3L1"], - toxic: ["3L1"], - }, - }, - wimpod: { - learnset: { - aerialace: ["3L1"], - attract: ["3L1"], - blizzard: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - defensecurl: ["3L1"], - dive: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - frustration: ["3L1"], - furycutter: ["3L1"], - hail: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - icebeam: ["3L1"], - icywind: ["3L1"], - leechlife: ["3L1"], - muddywater: ["3L1"], - mudshot: ["3L1"], - pinmissile: ["3L1"], - protect: ["3L1"], - psychup: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - sandattack: ["3L1"], - screech: ["3L1"], - slash: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snore: ["3L1"], - spikes: ["3L1"], - substitute: ["3L1"], - suckerpunch: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - swordsdance: ["3L1"], - taunt: ["3L1"], - toxic: ["3L1"], - waterfall: ["3L1"], - waterpulse: ["3L1"], - lunge: ["3L1"], - batonpass: ["3L1"], - }, - }, - skrelp: { - learnset: { - acid: ["3L1"], - attract: ["3L1"], - bubble: ["3L1"], - camouflage: ["3L1"], - dive: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - feintattack: ["3L1"], - frustration: ["3L1"], - hail: ["3L1"], - hiddenpower: ["3L1"], - hydropump: ["3L1"], - hyperbeam: ["3L1"], - icywind: ["3L1"], - irontail: ["3L1"], - poisontail: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - secretpower: ["3L1"], - shadowball: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - smokescreen: ["3L1"], - snore: ["3L1"], - substitute: ["3L1"], - surf: ["3L1"], - swagger: ["3L1"], - tackle: ["3L1"], - tailwhip: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - toxic: ["3L1"], - twister: ["3L1"], - waterfall: ["3L1"], - watergun: ["3L1"], - waterpulse: ["3L1"], - recover: ["3L1"], - taunt: ["3L1"], - dragonclaw: ["3L1"], - outrage: ["3L1"], - haze: ["3L1"], - }, - }, - sandile: { - learnset: { - aerialace: ["3L1"], - attract: ["3L1"], - beatup: ["3L1"], - bite: ["3L1"], - bodyslam: ["3L1"], - brickbreak: ["3L1"], - bulkup: ["3L1"], - counter: ["3L1"], - crunch: ["3L1"], - cut: ["3L1"], - dig: ["3L1"], - doubleteam: ["3L1"], - dragonclaw: ["3L1"], - earthquake: ["3L1"], - endure: ["3L1"], - facade: ["3L1"], - focusenergy: ["3L1"], - focuspunch: ["3L1"], - foulplay: ["3L1"], - frustration: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - irontail: ["3L1"], - leer: ["3L1"], - meanlook: ["3L1"], - megakick: ["3L1"], - megapunch: ["3L1"], - mudslap: ["3L1"], - outrage: ["3L1"], - protect: ["3L1"], - rage: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - revenge: ["3L1"], - roar: ["3L1"], - rockslide: ["3L1"], - rocksmash: ["3L1"], - rocktomb: ["3L1"], - sandattack: ["3L1"], - sandstorm: ["3L1"], - sandtomb: ["3L1"], - scaryface: ["3L1"], - secretpower: ["3L1"], - sleeptalk: ["3L1"], - sludgebomb: ["3L1"], - snatch: ["3L1"], - snore: ["3L1"], - strength: ["3L1"], - substitute: ["3L1"], - swagger: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thrash: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - uproar: ["3L1"], - }, - }, - voltorbhisui: { - learnset: { - agility: ["3L1"], - aromatherapy: ["3L1"], - bulletseed: ["3L1"], - charge: ["3L1"], - doubleteam: ["3L1"], - endure: ["3L1"], - explosion: ["3L1"], - facade: ["3L1"], - flash: ["3L1"], - frustration: ["3L1"], - gigadrain: ["3L1"], - hiddenpower: ["3L1"], - hyperbeam: ["3L1"], - lightscreen: ["3L1"], - magicalleaf: ["3L1"], - mimic: ["3L1"], - mirrorcoat: ["3L1"], - protect: ["3L1"], - raindance: ["3L1"], - rest: ["3L1"], - return: ["3L1"], - rollout: ["3L1"], - screech: ["3L1"], - secretpower: ["3L1"], - selfdestruct: ["3L1"], - shockwave: ["3L1"], - sleeptalk: ["3L1"], - snore: ["3L1"], - sonicboom: ["3L1"], - spark: ["3L1"], - substitute: ["3L1"], - sunnyday: ["3L1"], - swagger: ["3L1"], - swift: ["3L1"], - tackle: ["3L1"], - taunt: ["3L1"], - thief: ["3L1"], - thunder: ["3L1"], - thunderbolt: ["3L1"], - thunderwave: ["3L1"], - torment: ["3L1"], - toxic: ["3L1"], - }, - }, - delibird: { - learnset: { - aerialace: ["3M"], - attract: ["3M"], - aurorabeam: ["3E"], - blizzard: ["3M"], - bodyslam: ["3T"], - counter: ["3T"], - doubleedge: ["3T"], - doubleteam: ["3M"], - endure: ["3T"], - facade: ["3M"], - fly: ["3M"], - focuspunch: ["3M"], - frustration: ["3M"], - futuresight: ["3E"], - hail: ["3M"], - hiddenpower: ["3M"], - iceball: ["3E"], - icebeam: ["3M"], - icywind: ["3T"], - megakick: ["3T"], - megapunch: ["3T"], - mimic: ["3T"], - mudslap: ["3T"], - present: ["3L1", "3S0"], - protect: ["3M"], - quickattack: ["3E"], - raindance: ["3M"], - rapidspin: ["3S1"], - rest: ["3M"], - return: ["3M"], - secretpower: ["3M"], - seismictoss: ["3T"], - skyattack: ["3T"], - sleeptalk: ["3T"], - snore: ["3T"], - spikes: ["3S0"], - splash: ["3E"], - substitute: ["3T"], - swagger: ["3T"], - swift: ["3T"], - thief: ["3M"], - toxic: ["3M"], - waterpulse: ["3M"], - }, - eventData: [ - {generation: 2, level: 10, moves: ["spikes"], pokeball: "pokeball"}, - {generation: 3, level: 10, gender: "M", moves: ["present", "rapidspin"], pokeball: "pokeball"}, - ], - }, - mamoswine: { - learnset: { - hyperbeam: ["3M"], - peck: ["3L1"], - mudsport: ["3L1"], - fissure: ["3L1"], - curse: ["3L1"], - hornattack: ["3L1"], - iceshard: ["3L1"], - furycutter: ["3T"], - scaryface: ["3L1"], - }, - }, - froslass: { - learnset: { - hyperbeam: ["3M"], - astonish: ["3L1"], - confuseray: ["3L1"], - destinybond: ["3L1"], - disable: ["3L1"], - dreameater: ["3T"], - iceshard: ["3L1"], - mudslap: ["3T"], - painsplit: ["3L1"], - psychic: ["3M"], - psychup: ["3T"], - rollout: ["3T"], - shockwave: ["3M"], - snatch: ["3M"], - spite: ["3L1"], - suckerpunch: ["3L1"], - taunt: ["3M"], - thunder: ["3M"], - thunderbolt: ["3M"], - thunderwave: ["3T"], - torment: ["3M"], - weatherball: ["3L1"], - }, - }, - probopass: { - learnset: { - ancientpower: ["3L1"], - hyperbeam: ["3M"], - irondefense: ["3L1"], - magiccoat: ["3L1"], - }, - }, - pawniard: { - learnset: { - crunch: ["3L1"], - scratch: ["3L1"], - leer: ["3L1"], - furycutter: ["3L1", "3M"], - torment: ["3L1"], - feintattack: ["3L17"], - scaryface: ["3L22"], - metalclaw: ["3L25"], - slash: ["3L30"], - metalsound: ["3L38"], - irondefense: ["3L46"], - swordsdance: ["3L63", "3M"], - guillotine: ["3L71"], - focuspunch: ["3M"], - toxic: ["3M"], - hiddenpower: ["3M"], - taunt: ["3M"], - hyperbeam: ["3M"], - protect: ["3M"], - raindance: ["3M"], - frustration: ["3M"], - return: ["3M"], - dig: ["3M"], - brickbreak: ["3M"], - doubleteam: ["3M"], - sandstorm: ["3M"], - rocktomb: ["3M"], - aerialace: ["3M"], - facade: ["3M"], - secretpower: ["3M"], - rest: ["3M"], - attract: ["3M"], - thief: ["3M"], - rocksmash: ["3M"], - cut: ["3M"], - headbutt: ["3E"], - meanlook: ["3E"], - pursuit: ["3E"], - revenge: ["3E"], - suckerpunch: ["3M"], - bodyslam: ["3M"], - counter: ["3M"], - doubleedge: ["3M"], - megakick: ["3M"], - megapunch: ["3M"], - mimic: ["3M"], - rockslide: ["3M"], - seismictoss: ["3M"], - substitute: ["3M"], - thunderwave: ["3M"], - dynamicpunch: ["3M"], - sleeptalk: ["3M"], - swagger: ["3M"], - swift: ["3M"], - mudslap: ["3M"], - snore: ["3M"], - endure: ["3M"], - nightmare: ["3M"], - foulplay: ["3M"], - }, - }, - combee: { - learnset: { - gust: ["3L1"], - sweetscent: ["3L1"], - swift: ["3E"], - snore: ["3E"], - mudslap: ["3E"], - }, - }, - vespiquen: { - learnset: { - poisonsting: ["3L3"], - confuseray: ["3L7"], - furycutter: ["3L9"], - defendorder: ["3L13"], - pursuit: ["3L15"], - furyswipes: ["3L19"], - healorder: ["3L25"], - toxic: ["3L27", "3M"], - slash: ["3L31"], - attackorder: ["3L37"], - swagger: ["3L39", "3T"], - destinybond: ["3L43"], - hiddenpower: ["3M"], - sunnyday: ["3M"], - hyperbeam: ["3M"], - protect: ["3M"], - raindance: ["3M"], - frustration: ["3M"], - return: ["3M"], - doubleteam: ["3M"], - sludgebomb: ["3M"], - aerialace: ["3M"], - facade: ["3M"], - secretpower: ["3M"], - rest: ["3M"], - attract: ["3M"], - thief: ["3M"], - doubleedge: ["3E"], - mimic: ["3E"], - rollout: ["3E"], - sleeptalk: ["3E"], - substitute: ["3E"], - endure: ["3E"], - earthquake: ["3M"], - sandtomb: ["3L1"], - rockslide: ["3E"], - batonpass: ["3L1"], - whirlwind: ["3L1"], - }, - }, - druddigon: { - learnset: { - leer: ["3L1"], - scratch: ["3L1"], - bite: ["3L9"], - scaryface: ["3L13"], - dragonrage: ["3L18"], - slash: ["3L21"], - crunch: ["3L25"], - dragonclaw: ["3L27", "3M"], - revenge: ["3L35"], - superpower: ["3L55"], - outrage: ["3L62"], - roar: ["3M"], - toxic: ["3M"], - hiddenpower: ["3M"], - sunnyday: ["3M"], - taunt: ["3M"], - hyperbeam: ["3M"], - protect: ["3M"], - raindance: ["3M"], - frustration: ["3M"], - earthquake: ["3M"], - return: ["3M"], - dig: ["3M"], - doubleteam: ["3M"], - flamethrower: ["3M"], - sludgebomb: ["3M"], - rocktomb: ["3M"], - aerialace: ["3M"], - torment: ["3M"], - facade: ["3M"], - rest: ["3M"], - attract: ["3M"], - feintattack: ["3E"], - glare: ["3E"], - irontail: ["3M"], - metalclaw: ["3E"], - poisontail: ["3E"], - pursuit: ["3E"], - snatch: ["3M"], - suckerpunch: ["3E"], - bodyslam: ["3T"], - counter: ["3T"], - doubleedge: ["3T"], - megakick: ["3T"], - megapunch: ["3T"], - mimic: ["3T"], - rockslide: ["3T"], - seismictoss: ["3T"], - substitute: ["3T"], - dynamicpunch: ["3T"], - furycutter: ["3T"], - sleeptalk: ["3T"], - swagger: ["3T"], - thunderpunch: ["3T"], - firepunch: ["3T"], - endure: ["3T"], - mudslap: ["3T"], - snore: ["3T"], - secretpower: ["3M"], - }, - }, - komala: { - learnset: { - defensecurl: ["3L1", "3E"], - rollout: ["3L1", "3E"], - stockpile: ["3L6"], - spitup: ["3L6"], - swallow: ["3L6"], - rapidspin: ["3L11"], - yawn: ["3L16"], - slam: ["3L21"], - flail: ["3L26"], - suckerpunch: ["3L31"], - psychup: ["3L36", "3M"], - thrash: ["3L46"], - calmmind: ["3M"], - toxic: ["3M"], - bulkup: ["3M"], - hiddenpower: ["3M"], - sunnyday: ["3M"], - protect: ["3M"], - frustration: ["3M"], - earthquake: ["3M"], - return: ["3M"], - brickbreak: ["3M"], - doubleteam: ["3M"], - facade: ["3M"], - attract: ["3M"], - acrobatics: ["3M"], - shadowball: ["3M"], - charm: ["3E"], - sing: ["3E"], - wish: ["3E"], - dig: ["3M"], - secretpower: ["3M"], - focuspunch: ["3M"], - bodyslam: ["3T"], - counter: ["3T"], - doubleedge: ["3T"], - megakick: ["3T"], - megapunch: ["3T"], - metronome: ["3T"], - mimic: ["3T"], - seismictoss: ["3T"], - substitute: ["3T"], - dynamicpunch: ["3T"], - sleeptalk: ["3T"], - swagger: ["3T"], - snore: ["3T"], - mudslap: ["3T"], - endure: ["3T"], - cut: ["3M"], - strength: ["3M"], - rocksmash: ["3M"], - }, - }, - scraggy: { - learnset: { - lowkick: ["3L1"], - leer: ["3L1"], - headbutt: ["3L12"], - sandattack: ["3L1"], - facade: ["3L45", "3M"], - protect: ["3M"], - beatup: ["3L1"], - scaryface: ["3L34"], - brickbreak: ["3L20", "3M"], - swagger: ["3L16", "3T"], - crunch: ["3L38"], - highjumpkick: ["3L31"], - focuspunch: ["3L58"], - feintattack: ["3L1"], - counter: ["3T"], - detect: ["3E"], - fakeout: ["3E"], - amnesia: ["3E"], - firepunch: ["3T"], - icepunch: ["3T"], - thunderpunch: ["3T"], - roar: ["3M"], - toxic: ["3M"], - bulkup: ["3M"], - hiddenpower: ["3M"], - sunnyday: ["3M"], - taunt: ["3M"], - hyperbeam: ["3M"], - raindance: ["3M"], - frustration: ["3M"], - irontail: ["3M"], - earthquake: ["3M"], - return: ["3M"], - dig: ["3M"], - shadowball: ["3M"], - doubleteam: ["3M"], - rocktomb: ["3M"], - sludgebomb: ["3M"], - torment: ["3M"], - secretpower: ["3M"], - rest: ["3M"], - attract: ["3M"], - thief: ["3M"], - snatch: ["3M"], - doubleedge: ["3T"], - dynamicpunch: ["3T"], - mimic: ["3T"], - sleeptalk: ["3T"], - substitute: ["3T"], - seismictoss: ["3T"], - megapunch: ["3T"], - megakick: ["3T"], - bodyslam: ["3T"], - rockslide: ["3T"], - snore: ["3T"], - mudslap: ["3T"], - swift: ["3T"], - endure: ["3T"], - nightmare: ["3T"], - circlethrow: ["3T"], - foulplay: ["3T"], - strength: ["3M"], - rocksmash: ["3M"], - metronome: ["3T"], - }, - }, - yanmega: { - learnset: { - dragonclaw: ["3M"], - nightmare: ["3T"], - lunge: ["3L1"], - hyperbeam: ["3M"], - counter: ["3T"], - cut: ["3M"], - fly: ["3M"], - skyattack: ["3T"], - ancientpower: ["3L1"], - pursuit: ["3L1"], - slash: ["3L1"], - twister: ["3L1"], - raindance: ["3M"], - }, - }, - weavile: { - learnset: { - aerialace: ["3M"], - agility: ["3L36"], - attract: ["3M"], - beatup: ["3L57"], - bite: ["3E"], - blizzard: ["3M"], - brickbreak: ["3M"], - counter: ["3E"], - crushclaw: ["3E"], - cut: ["3M"], - defensecurl: ["3E"], - dig: ["3M"], - doubleedge: ["3T"], - doubleteam: ["3M"], - dreameater: ["3T"], - dynamicpunch: ["3T"], - endure: ["3T"], - facade: ["3M"], - fakeout: ["3E"], - feintattack: ["3L22"], - focuspunch: ["3M"], - frustration: ["3M"], - furycutter: ["3T"], - furyswipes: ["3L29"], - hail: ["3M"], - hiddenpower: ["3M"], - hyperbeam: ["3M"], - icebeam: ["3M"], - icepunch: ["3M"], - icywind: ["3T"], - irontail: ["3M"], - leer: ["3S0"], - megakick: ["3T"], - megapunch: ["3M"], - metalclaw: ["3L42"], - mimic: ["3T"], - mudslap: ["3T"], - nightmare: ["3T"], - protect: ["3T"], - psychup: ["3T"], - quickattack: ["3S0"], - raindance: ["3M"], - reflect: ["3E"], - rest: ["3M"], - return: ["3M"], - rocksmash: ["3M"], - scratch: ["3S0"], - screech: ["3L15"], - secretpower: ["3M"], - shadowball: ["3M"], - slash: ["3L50"], - sleeptalk: ["3T"], - snatch: ["3M"], - snore: ["3T"], - spite: ["3E"], - strength: ["3M"], - substitute: ["3T"], - sunnyday: ["3M"], - surf: ["3M"], - swift: ["3T"], - swordsdance: ["3T"], - taunt: ["3M"], - thief: ["3M"], - toxic: ["3M"], - crunch: ["3L1"], - suckerpunch: ["3L1"], - pursuit: ["3L1"], - }, - }, - panpour: { - learnset: { - crosschop: ["3L1"], - scratch: ["3L1"], - leer: ["3L1"], - lick: ["3L7"], - watergun: ["3L10"], - furyswipes: ["3L13"], - watersport: ["3L16"], - bite: ["3L19"], - taunt: ["3L25"], - acrobatics: ["3L28"], - recycle: ["3L37"], - crunch: ["3L43"], - toxic: ["3M"], - focuspunch: ["3M"], - hail: ["3M"], - hiddenpower: ["3M"], - icebeam: ["3M"], - blizzard: ["3M"], - protect: ["3M"], - raindance: ["3M"], - frustration: ["3M"], - return: ["3M"], - dig: ["3M"], - doubleteam: ["3M"], - rocktomb: ["3M"], - torment: ["3M"], - facade: ["3M"], - rest: ["3M"], - attract: ["3M"], - thief: ["3M"], - waterpulse: ["3M"], - cut: ["3M"], - rocksmash: ["3M"], - surf: ["3M"], - waterfall: ["3M"], - dive: ["3M"], - aerialace: ["3M"], - secretpower: ["3M"], - brickbreak: ["3M"], - astonish: ["3E"], - covet: ["3E"], - hydropump: ["3E"], - lowkick: ["3E"], - mudsport: ["3E"], - roleplay: ["3E"], - tickle: ["3E"], - bodyslam: ["3T"], - counter: ["3T"], - defensecurl: ["3T"], - dynamicpunch: ["3T"], - endure: ["3T"], - icepunch: ["3T"], - megakick: ["3T"], - megapunch: ["3T"], - metronome: ["3T"], - mimic: ["3T"], - mudslap: ["3T"], - psychup: ["3T"], - seismictoss: ["3T"], - sleeptalk: ["3T"], - snore: ["3T"], - substitute: ["3T"], - swagger: ["3T"], - doubleedge: ["3T"], - icywind: ["3T"], - }, - }, -}; diff --git a/data/mods/gen3hoenngaiden/moves.ts b/data/mods/gen3hoenngaiden/moves.ts deleted file mode 100644 index 7595d573cb5b..000000000000 --- a/data/mods/gen3hoenngaiden/moves.ts +++ /dev/null @@ -1,131 +0,0 @@ -export const Moves: {[k: string]: ModdedMoveData} = { - darkestlariat: { - inherit: true, - category: "Special", - gen: 3, - }, - circlethrow: { - inherit: true, - gen: 3, - }, - fierywrath: { - inherit: true, - gen: 3, - }, - boomburst: { - inherit: true, - category: "Physical", - gen: 3, - }, - bodypress: { - inherit: true, - gen: 3, - }, - batonpass: { - inherit: true, - desc: "The user is replaced with another Pokemon in its party. The selected Pokemon has the user's stat stage deductions, confusion, and certain move effects transferred to it.", - shortDesc: "Modified Baton Pass. Positive boosts are reset.", - }, - weatherball: { - inherit: true, - shortDesc: "Damage doubles and type varies during weather.", - onModifyMove(move) { - switch (this.field.effectiveWeather()) { - case 'sunnyday': - move.type = 'Fire'; - move.category = 'Special'; - break; - case 'desolateland': - move.type = 'Fire'; - move.category = 'Special'; - break; - case 'raindance': - move.type = 'Water'; - move.category = 'Special'; - break; - case 'sandstorm': - move.type = 'Rock'; - break; - case 'hail': - move.type = 'Ice'; - move.category = 'Special'; - break; - } - if (this.field.effectiveWeather()) move.basePower *= 2; - }, - }, - acrobatics: { - inherit: true, - gen: 3, - }, - foulplay: { - inherit: true, - gen: 3, - }, - gigadrain: { - inherit: true, - basePower: 75, - pp: 10, - }, - icehammer: { - inherit: true, - category: "Special", - gen: 3, - }, - iceshard: { - inherit: true, - category: "Special", - gen: 3, - }, - junglehealing: { - inherit: true, - gen: 3, - }, - lunge: { - inherit: true, - basePower: 60, - gen: 3, - }, - multiattack: { - inherit: true, - gen: 3, - basePower: 120, - onModifyMove(move, pokemon) { - if (pokemon.ignoringItem()) return; - move.type = this.runEvent('Memory', pokemon, null, move, 'Normal'); - const specialTypes = ['Fire', 'Water', 'Grass', 'Ice', 'Electric', 'Dark', 'Psychic', 'Dragon']; - move.category = specialTypes.includes(move.type) ? 'Special' : 'Physical'; - }, - }, - recover: { - inherit: true, - pp: 10, - }, - spikyshield: { - inherit: true, - gen: 3, - }, - spiritbreak: { - inherit: true, - type: "Fighting", - gen: 3, - }, - suckerpunch: { - inherit: true, - basePower: 70, - category: "Special", - gen: 3, - }, - attackorder: { - inherit: true, - gen: 3, - }, - defendorder: { - inherit: true, - gen: 3, - }, - healorder: { - inherit: true, - gen: 3, - }, -}; diff --git a/data/mods/gen3hoenngaiden/pokedex.ts b/data/mods/gen3hoenngaiden/pokedex.ts deleted file mode 100644 index ac981567e376..000000000000 --- a/data/mods/gen3hoenngaiden/pokedex.ts +++ /dev/null @@ -1,1092 +0,0 @@ -export const Pokedex: {[speciesid: string]: ModdedSpeciesData} = { - snover: { - inherit: true, - abilities: {0: "Snow Warning"}, - gen: 3, - }, - abomasnow: { - inherit: true, - abilities: {0: "Snow Warning"}, - gen: 3, - }, - gliscor: { - inherit: true, - abilities: {0: "Hyper Cutter"}, - gen: 3, - }, - tynamo: { - inherit: true, - gen: 3, - }, - eelektrik: { - inherit: true, - gen: 3, - }, - eelektross: { - inherit: true, - gen: 3, - }, - cryogonal: { - inherit: true, - baseStats: {hp: 80, atk: 50, def: 50, spa: 95, spd: 135, spe: 95}, - abilities: {0: "Levitate"}, - gen: 3, - }, - typenull: { - inherit: true, - gen: 3, - }, - silvally: { - inherit: true, - otherFormes: ['Silvally-Bug', 'Silvally-Dark', 'Silvally-Dragon', 'Silvally-Electric', 'Silvally-Fighting', 'Silvally-Fire', 'Silvally-Flying', 'Silvally-Ghost', 'Silvally-Grass', 'Silvally-Ground', 'Silvally-Ice', 'Silvally-Poison', 'Silvally-Psychic', 'Silvally-Rock', 'Silvally-Steel', 'Silvally-Water'], - formeOrder: ['Silvally', 'Silvally-Fighting', 'Silvally-Flying', 'Silvally-Poison', 'Silvally-Ground', 'Silvally-Rock', 'Silvally-Bug', 'Silvally-Ghost', 'Silvally-Steel', 'Silvally-Fire', 'Silvally-Water', 'Silvally-Grass', 'Silvally-Electric', 'Silvally-Psychic', 'Silvally-Ice', 'Silvally-Dragon', 'Silvally-Dark'], - gen: 3, - }, - silvallybug: { - inherit: true, - requiredItem: "Bug Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallydark: { - inherit: true, - requiredItem: "Dark Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallydragon: { - inherit: true, - requiredItem: "Dragon Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyelectric: { - inherit: true, - requiredItem: "Electric Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyfighting: { - inherit: true, - requiredItem: "Fighting Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyfire: { - inherit: true, - requiredItem: "Fire Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyflying: { - inherit: true, - requiredItem: "Flying Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyghost: { - inherit: true, - requiredItem: "Ghost Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallygrass: { - inherit: true, - requiredItem: "Grass Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyground: { - inherit: true, - requiredItem: "Ground Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyice: { - inherit: true, - requiredItem: "Ice Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallypoison: { - inherit: true, - requiredItem: "Poison Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallypsychic: { - inherit: true, - requiredItem: "Psychic Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallyrock: { - inherit: true, - requiredItem: "Rock Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallysteel: { - inherit: true, - requiredItem: "Steel Memory", - changesFrom: "Silvally", - gen: 3, - }, - silvallywater: { - inherit: true, - requiredItem: "Water Memory", - changesFrom: "Silvally", - gen: 3, - }, - golett: { - inherit: true, - abilities: {0: "Pressure", 1: "Inner Focus"}, - gen: 3, - }, - golurk: { - inherit: true, - abilities: {0: "Pressure", 1: "Inner Focus"}, - gen: 3, - }, - geodudealola: { - inherit: true, - abilities: {0: "Magnet Pull", 1: "Galvanize"}, - gen: 3, - }, - graveleralola: { - inherit: true, - abilities: {0: "Magnet Pull", 1: "Galvanize"}, - gen: 3, - }, - golemalola: { - inherit: true, - abilities: {0: "Magnet Pull", 1: "Galvanize"}, - gen: 3, - }, - croagunk: { - inherit: true, - abilities: {0: "Inner Focus", 1: "Water Absorb"}, - gen: 3, - }, - toxicroak: { - inherit: true, - abilities: {0: "Inner Focus", 1: "Water Absorb"}, - gen: 3, - }, - crabrawler: { - inherit: true, - abilities: {0: "Fur Coat", 1: "Overcoat"}, - gen: 3, - }, - crabominable: { - inherit: true, - baseStats: {hp: 100, atk: 132, def: 87, spa: 62, spd: 85, spe: 43}, - abilities: {0: "Fur Coat", 1: "Overcoat"}, - gen: 3, - }, - frillish: { - inherit: true, - abilities: {0: "Water Absorb"}, - gen: 3, - }, - jellicent: { - inherit: true, - abilities: {0: "Water Absorb"}, - gen: 3, - }, - starly: { - inherit: true, - gen: 3, - }, - staravia: { - inherit: true, - gen: 3, - }, - staraptor: { - inherit: true, - gen: 3, - }, - fletchling: { - inherit: true, - abilities: {0: "Flame Body"}, - gen: 3, - }, - fletchinder: { - inherit: true, - abilities: {0: "Flame Body"}, - gen: 3, - }, - talonflame: { - inherit: true, - abilities: {0: "Flame Body"}, - gen: 3, - }, - stunky: { - inherit: true, - abilities: {0: "Overcoat", 1: "Intimidate"}, - gen: 3, - }, - skuntank: { - inherit: true, - baseStats: {hp: 111, atk: 77, def: 79, spa: 77, spd: 79, spe: 91}, - abilities: {0: "Overcoat", 1: "Intimidate"}, - gen: 3, - }, - deoxysspeed: { - inherit: true, - baseStats: {hp: 50, atk: 85, def: 70, spa: 85, spd: 70, spe: 165}, - gen: 3, - }, - sylveon: { - inherit: true, - types: ["Dragon"], - baseStats: {hp: 60, atk: 110, def: 65, spa: 130, spd: 65, spe: 95}, - abilities: {0: "Natural Cure"}, - gen: 3, - }, - zarude: { - inherit: true, - abilities: {0: "Cloud Nine"}, - gen: 3, - }, - zarudedada: { - inherit: true, - abilities: {0: "Cloud Nine"}, - gen: 3, - }, - buneary: { - inherit: true, - abilities: {0: "Limber", 1: "Natural Cure"}, - gen: 3, - }, - lopunny: { - inherit: true, - types: ["Normal", "Fighting"], - baseStats: {hp: 65, atk: 96, def: 94, spa: 54, spd: 96, spe: 125}, - abilities: {0: "Limber", 1: "Natural Cure"}, - gen: 3, - }, - chespin: { - inherit: true, - abilities: {0: "Overgrow", 1: "Rough Skin"}, - gen: 3, - }, - quilladin: { - inherit: true, - abilities: {0: "Overgrow", 1: "Rough Skin"}, - gen: 3, - }, - chesnaught: { - inherit: true, - abilities: {0: "Overgrow", 1: "Rough Skin"}, - gen: 3, - }, - cramorant: { - inherit: true, - baseStats: {hp: 80, atk: 55, def: 75, spa: 85, spd: 135, spe: 85}, - abilities: {0: "Oblivious"}, - gen: 3, - }, - guzzlord: { - inherit: true, - abilities: {0: "Pressure"}, - gen: 3, - }, - litten: { - inherit: true, - abilities: {0: "Blaze", 1: "Intimidate"}, - gen: 3, - }, - torracat: { - inherit: true, - baseStats: {hp: 65, atk: 50, def: 60, spa: 95, spd: 85, spe: 125}, - abilities: {0: "Blaze", 1: "Intimidate"}, - gen: 3, - }, - incineroar: { - inherit: true, - baseStats: {hp: 95, atk: 90, def: 90, spa: 105, spd: 90, spe: 60}, - abilities: {0: "Blaze", 1: "Intimidate"}, - gen: 3, - }, - glaceon: { - inherit: true, - abilities: {0: "Ice Body"}, - gen: 3, - }, - mimejr: { - inherit: true, - abilities: {0: "Soundproof", 1: "Analytic"}, - gen: 3, - }, - mrmime: { - inherit: true, - abilities: {0: "Soundproof", 1: "Analytic"}, - gen: 3, - }, - mrmimegalar: { - inherit: true, - abilities: {0: "Overcoat", 1: "Trace"}, - gen: 3, - }, - mrrime: { - inherit: true, - baseStats: {hp: 80, atk: 65, def: 75, spa: 110, spd: 100, spe: 90}, - abilities: {0: "Overcoat", 1: "Trace"}, - gen: 3, - }, - uxie: { - inherit: true, - gen: 3, - }, - dracovish: { - inherit: true, - baseStats: {hp: 90, atk: 90, def: 100, spa: 90, spd: 80, spe: 75}, - abilities: {0: "Water Absorb", 1: "Sand Veil"}, - gen: 3, - }, - marowakalola: { - inherit: true, - abilities: {0: "Volt Absorb", 1: "Rock Head"}, - gen: 3, - }, - slowpokegalar: { - inherit: true, - abilities: {0: "Own Tempo", 1: "Neutralizing Gas"}, - gen: 3, - }, - slowbro: { - inherit: true, - baseStats: {hp: 95, atk: 75, def: 120, spa: 115, spd: 80, spe: 30}, - }, - slowking: { - inherit: true, - baseStats: {hp: 95, atk: 75, def: 80, spa: 115, spd: 120, spe: 30}, - }, - slowbrogalar: { - inherit: true, - baseStats: {hp: 95, atk: 100, def: 110, spa: 100, spd: 80, spe: 30}, - abilities: {0: "Sticky Hold", 1: "Own Tempo"}, - gen: 3, - }, - slowkinggalar: { - inherit: true, - baseStats: {hp: 95, atk: 80, def: 90, spa: 110, spd: 110, spe: 30}, - abilities: {0: "Own Tempo", 1: "Neutralizing Gas"}, - gen: 3, - }, - milcery: { - inherit: true, - types: ["Poison"], - abilities: {0: "Natural Cure", 1: "Liquid Ooze"}, - gen: 3, - }, - alcremie: { - inherit: true, - types: ["Poison"], - baseStats: {hp: 85, atk: 110, def: 90, spa: 60, spd: 131, spe: 64}, - abilities: {0: "Natural Cure", 1: "Liquid Ooze"}, - gen: 3, - }, - regieleki: { - inherit: true, - baseStats: {hp: 80, atk: 50, def: 100, spa: 50, spd: 100, spe: 200}, - abilities: {0: "Limber"}, - gen: 3, - }, - articunogalar: { - inherit: true, - abilities: {0: "Pressure"}, - gen: 3, - }, - zapdosgalar: { - inherit: true, - abilities: {0: "Pressure"}, - gen: 3, - }, - moltresgalar: { - inherit: true, - abilities: {0: "Pressure"}, - gen: 3, - }, - diglettalola: { - inherit: true, - abilities: {0: "Stakeout", 1: "Arena Trap"}, - gen: 3, - }, - dugtrioalola: { - inherit: true, - baseStats: {hp: 35, atk: 80, def: 60, spa: 50, spd: 70, spe: 110}, - abilities: {0: "Stakeout", 1: "Arena Trap"}, - gen: 3, - }, - leafeon: { - inherit: true, - baseStats: {hp: 65, atk: 60, def: 130, spa: 110, spd: 65, spe: 95}, - abilities: {0: "Chlorophyll"}, - gen: 3, - }, - magmortar: { - inherit: true, - gen: 3, - }, - mismagius: { - inherit: true, - gen: 3, - }, - obstagoon: { - inherit: true, - abilities: {0: "Guts"}, - gen: 3, - }, - meowthgalar: { - inherit: true, - abilities: {0: "Stakeout", 1: "Battle Armor"}, - gen: 3, - }, - perrserker: { - inherit: true, - abilities: {0: "Stakeout", 1: "Battle Armor"}, - gen: 3, - }, - raichualola: { - inherit: true, - baseStats: {hp: 60, atk: 85, def: 50, spa: 95, spd: 85, spe: 110}, - abilities: {0: "Levitate"}, - gen: 3, - }, - pichu: { - inherit: true, - abilities: {0: "Static", 1: "Mold Breaker"}, - }, - pikachu: { - inherit: true, - baseStats: {hp: 35, atk: 55, def: 40, spa: 50, spd: 50, spe: 90}, - abilities: {0: "Static", 1: "Mold Breaker"}, - }, - raichu: { - inherit: true, - baseStats: {hp: 60, atk: 90, def: 55, spa: 90, spd: 80, spe: 110}, - abilities: {0: "Static", 1: "Mold Breaker"}, - }, - budew: { - inherit: true, - gen: 3, - }, - roserade: { - inherit: true, - baseStats: {hp: 60, atk: 70, def: 55, spa: 125, spd: 105, spe: 90}, - gen: 3, - }, - farfetchdgalar: { - inherit: true, - abilities: {0: "Keen Eye", 1: "Inner Focus"}, - gen: 3, - }, - sirfetchd: { - inherit: true, - baseStats: {hp: 62, atk: 135, def: 95, spa: 68, spd: 82, spe: 65}, - abilities: {0: "Keen Eye", 1: "Inner Focus"}, - gen: 3, - }, - tangrowth: { - inherit: true, - abilities: {0: "Chlorophyll"}, - gen: 3, - }, - weezinggalar: { - inherit: true, - types: ["Water", "Poison"], - abilities: {0: "Neutralizing Gas"}, - gen: 3, - }, - skrelp: { - inherit: true, - abilities: {0: "Poison Point", 1: "Overcoat"}, - gen: 3, - }, - dragalge: { - inherit: true, - baseStats: {hp: 75, atk: 75, def: 90, spa: 97, spd: 123, spe: 44}, - abilities: {0: "Poison Point", 1: "Overcoat"}, - gen: 3, - }, - wimpod: { - inherit: true, - abilities: {0: "Run Away"}, - gen: 3, - }, - golisopod: { - inherit: true, - abilities: {0: "Run Away"}, - gen: 3, - }, - impidimp: { - inherit: true, - types: ["Dark", "Fighting"], - abilities: {0: "Pressure", 1: "Mold Breaker"}, - gen: 3, - }, - morgrem: { - inherit: true, - types: ["Dark", "Fighting"], - abilities: {0: "Pressure", 1: "Mold Breaker"}, - gen: 3, - }, - grimmsnarl: { - inherit: true, - types: ["Dark", "Fighting"], - abilities: {0: "Pressure", 1: "Mold Breaker"}, - gen: 3, - }, - sandile: { - inherit: true, - abilities: {0: "Intimidate"}, - gen: 3, - }, - krokorok: { - inherit: true, - abilities: {0: "Intimidate"}, - gen: 3, - }, - krookodile: { - inherit: true, - abilities: {0: "Intimidate"}, - gen: 3, - }, - pincurchin: { - inherit: true, - baseStats: {hp: 78, atk: 106, def: 95, spa: 96, spd: 85, spe: 30}, - abilities: {0: "Volt Absorb", 1: "Rough Skin"}, - gen: 3, - }, - regidrago: { - inherit: true, - baseStats: {hp: 200, atk: 100, def: 50, spa: 100, spd: 50, spe: 80}, - abilities: {0: "Clear Body"}, - gen: 3, - }, - stunfisk: { - inherit: true, - baseStats: {hp: 109, atk: 81, def: 99, spa: 91, spd: 109, spe: 32}, - abilities: {0: "Static", 1: "Limber"}, - gen: 3, - }, - stunfiskgalar: { - inherit: true, - baseStats: {hp: 109, atk: 91, def: 109, spa: 81, spd: 99, spe: 32}, - abilities: {0: "Protean"}, - gen: 3, - }, - voltorbhisui: { - inherit: true, - abilities: {0: "Static", 1: "Soundproof"}, - gen: 3, - }, - electrodehisui: { - inherit: true, - abilities: {0: "Static", 1: "Soundproof"}, - gen: 3, - }, - froslass: { - inherit: true, - abilities: {0: "Inner Focus"}, - gen: 3, - }, - swinub: { - inherit: true, - abilities: {0: "Thick Fat", 1: "Oblivious"}, - evos: ["Piloswine", "Mamoswine"], - }, - piloswine: { - inherit: true, - baseStats: {hp: 100, atk: 100, def: 95, spa: 100, spd: 75, spe: 50}, - abilities: {0: "Thick Fat", 1: "Oblivious"}, - }, - mamoswine: { - inherit: true, - baseStats: {hp: 110, atk: 130, def: 80, spa: 70, spd: 60, spe: 80}, - abilities: {0: "Oblivious"}, - prevo: "Swinub", - evoType: "useItem", - evoItem: "Shiny Stone", - gen: 3, - }, - probopass: { - inherit: true, - gen: 3, - }, - magnezone: { - inherit: true, - baseStats: {hp: 70, atk: 70, def: 137, spa: 90, spd: 73, spe: 60}, - abilities: {0: "Volt Absorb"}, - gen: 3, - }, - pawniard: { - inherit: true, - abilities: {0: "Shed Skin", 1: "Pressure"}, - gen: 3, - }, - bisharp: { - inherit: true, - baseStats: {hp: 75, atk: 90, def: 100, spa: 115, spd: 70, spe: 70}, - abilities: {0: "Shed Skin", 1: "Pressure"}, - gen: 3, - }, - combee: { - inherit: true, - abilities: {0: "Hustle"}, - gen: 3, - }, - vespiquen: { - inherit: true, - types: ["Bug", "Ground"], - baseStats: {hp: 70, atk: 100, def: 105, spa: 60, spd: 105, spe: 40}, - abilities: {0: "Pressure"}, - gen: 3, - }, - druddigon: { - inherit: true, - types: ["Dragon", "Dark"], - baseStats: {hp: 87, atk: 120, def: 90, spa: 90, spd: 90, spe: 48}, - abilities: {0: "Rough Skin", 1: "Mold Breaker"}, - gen: 3, - }, - komala: { - inherit: true, - baseStats: {hp: 95, atk: 115, def: 65, spa: 75, spd: 95, spe: 65}, - gen: 3, - }, - scraggy: { - inherit: true, - abilities: {0: "Shed Skin", 1: "Intimidate"}, - gen: 3, - }, - scrafty: { - inherit: true, - abilities: {0: "Shed Skin", 1: "Intimidate"}, - gen: 3, - }, - yanmega: { - inherit: true, - types: ["Bug", "Dragon"], - baseStats: {hp: 86, atk: 76, def: 86, spa: 126, spd: 56, spe: 95}, - abilities: {0: "Speed Boost", 1: "Keen Eye"}, - gen: 3, - }, - weavile: { - inherit: true, - baseStats: {hp: 70, atk: 90, def: 65, spa: 90, spd: 85, spe: 110}, - abilities: {0: "Water Absorb", 1: "Guts"}, - gen: 3, - }, - panpour: { - inherit: true, - abilities: {0: "Torrent", 1: "Guts"}, - gen: 3, - }, - simipour: { - inherit: true, - types: ["Water", "Fighting"], - baseStats: {hp: 75, atk: 98, def: 63, spa: 98, spd: 63, spe: 101}, - abilities: {0: "Torrent", 1: "Guts"}, - gen: 3, - }, - ledyba: { - inherit: true, - abilities: {0: "Pure Power", 1: "Protean"}, - }, - ledian: { - inherit: true, - baseStats: {hp: 80, atk: 60, def: 75, spa: 100, spd: 75, spe: 85}, - abilities: {0: "Pure Power", 1: "Protean"}, - }, - chinchou: { - inherit: true, - abilities: {0: "Volt Absorb", 1: "Galvanize"}, - }, - lanturn: { - inherit: true, - baseStats: {hp: 125, atk: 67, def: 67, spa: 86, spd: 86, spe: 71}, - abilities: {0: "Volt Absorb", 1: "Galvanize"}, - }, - mareep: { - inherit: true, - abilities: {0: "Static", 1: "Galvanize"}, - }, - flaaffy: { - inherit: true, - abilities: {0: "Static", 1: "Galvanize"}, - }, - ampharos: { - inherit: true, - baseStats: {hp: 102, atk: 75, def: 85, spa: 115, spd: 90, spe: 43}, - abilities: {0: "Static", 1: "Galvanize"}, - }, - hoppip: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Cloud Nine"}, - }, - skiploom: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Cloud Nine"}, - }, - jumpluff: { - inherit: true, - baseStats: {hp: 85, atk: 55, def: 80, spa: 85, spd: 105, spe: 110}, - abilities: {0: "Chlorophyll", 1: "Cloud Nine"}, - }, - girafarig: { - inherit: true, - types: ["Normal", "Ghost"], - baseStats: {hp: 82, atk: 113, def: 102, spa: 53, spd: 82, spe: 98}, - abilities: {0: "Limber", 1: "Synchronize"}, - }, - dunsparce: { - inherit: true, - types: ["Normal", "Dragon"], - baseStats: {hp: 110, atk: 80, def: 85, spa: 80, spd: 85, spe: 45}, - abilities: {0: "Serene Grace", 1: "Overcoat"}, - }, - delibird: { - inherit: true, - baseStats: {hp: 77, atk: 107, def: 66, spa: 106, spd: 66, spe: 103}, - abilities: {0: "Vital Spirit"}, - }, - ninjask: { - inherit: true, - abilities: {0: "Swarm", 1: "Analytic"}, - }, - sableye: { - inherit: true, - baseStats: {hp: 50, atk: 85, def: 85, spa: 85, spd: 85, spe: 40}, - abilities: {0: "Immunity", 1: "Pressure"}, - }, - plusle: { - inherit: true, - types: ["Electric", "Fire"], - baseStats: {hp: 80, atk: 60, def: 60, spa: 95, spd: 85, spe: 105}, - abilities: {0: "Galvanize", 1: "Flash Fire"}, - }, - minun: { - inherit: true, - types: ["Electric", "Ice"], - baseStats: {hp: 80, atk: 60, def: 60, spa: 85, spd: 95, spe: 105}, - abilities: {0: "Volt Absorb", 1: "Levitate"}, - }, - volbeat: { - inherit: true, - types: ["Bug", "Electric"], - baseStats: {hp: 75, atk: 103, def: 53, spa: 77, spd: 55, spe: 127}, - abilities: {0: "Swarm", 1: "Galvanize"}, - }, - illumise: { - inherit: true, - types: ["Bug"], - baseStats: {hp: 75, atk: 103, def: 53, spa: 77, spd: 55, spe: 127}, - abilities: {0: "Oblivious", 1: "Trace"}, - }, - roselia: { - inherit: true, - baseStats: {hp: 50, atk: 90, def: 80, spa: 90, spd: 120, spe: 70}, - abilities: {0: "Cloud Nine", 1: "Overcoat"}, - prevo: "Budew", - evoType: "levelFriendship", - evoCondition: "during the day", - evos: ["Roserade"], - eggGroups: ["Fairy", "Grass"], - }, - spoink: { - inherit: true, - abilities: {0: "Thick Fat", 1: "Overcoat"}, - }, - grumpig: { - inherit: true, - baseStats: {hp: 100, atk: 35, def: 85, spa: 105, spd: 120, spe: 55}, - abilities: {0: "Thick Fat", 1: "Overcoat"}, - }, - crawdaunt: { - inherit: true, - baseStats: {hp: 55, atk: 55, def: 90, spa: 125, spd: 85, spe: 63}, - abilities: {0: "Mold Breaker", 1: "Shell Armor"}, - }, - anorith: { - inherit: true, - abilities: {0: "Swift Swim", 1: "Analytic"}, - }, - armaldo: { - inherit: true, - baseStats: {hp: 75, atk: 125, def: 100, spa: 45, spd: 79, spe: 71}, - abilities: {0: "Swift Swim", 1: "Analytic"}, - }, - tropius: { - inherit: true, - types: ["Grass", "Dragon"], - baseStats: {hp: 100, atk: 70, def: 113, spa: 97, spd: 75, spe: 66}, - abilities: {0: "Thick Fat", 1: "Natural Cure"}, - }, - mawile: { - inherit: true, - baseStats: {hp: 60, atk: 95, def: 110, spa: 75, spd: 97, spe: 30}, - abilities: {0: "Stakeout", 1: "Intimidate"}, - }, - pinsir: { - inherit: true, - abilities: {0: "Hyper Cutter", 1: "Mold Breaker"}, - }, - rhyhorn: { - inherit: true, - abilities: {0: "Lightning Rod", 1: "Mold Breaker"}, - }, - rhydon: { - inherit: true, - abilities: {0: "Lightning Rod", 1: "Mold Breaker"}, - }, - delcatty: { - inherit: true, - abilities: {0: "Cute Charm", 1: "Fur Coat"}, - }, - skitty: { - inherit: true, - abilities: {0: "Cute Charm", 1: "Fur Coat"}, - }, - dewgong: { - inherit: true, - abilities: {0: "Thick Fat", 1: "Fur Coat"}, - }, - seel: { - inherit: true, - abilities: {0: "Thick Fat", 1: "Fur Coat"}, - }, - snorunt: { - inherit: true, - abilities: {0: "Inner Focus"}, - evos: ["Glalie", "Froslass"], - }, - hitmonchan: { - inherit: true, - abilities: {0: "Keen Eye", 1: "Analytic"}, - }, - parasect: { - inherit: true, - types: ["Bug", "Ghost"], - baseStats: {hp: 75, atk: 120, def: 75, spa: 70, spd: 75, spe: 75}, - abilities: {0: "Effect Spore", 1: "Water Absorb"}, - }, - paras: { - inherit: true, - abilities: {0: "Insomnia", 1: "Water Absorb"}, - }, - sunflora: { - inherit: true, - baseStats: {hp: 85, atk: 65, def: 85, spa: 105, spd: 95, spe: 30}, - abilities: {0: "Desolate Land"}, - }, - steelix: { - inherit: true, - baseStats: {hp: 75, atk: 105, def: 200, spa: 55, spd: 75, spe: 30}, - abilities: {0: "Rock Head", 1: "Clear Body"}, - }, - torkoal: { - inherit: true, - baseStats: {hp: 70, atk: 85, def: 140, spa: 85, spd: 85, spe: 20}, - abilities: {0: "White Smoke", 1: "Shell Armor"}, - }, - sunkern: { - inherit: true, - abilities: {0: "Desolate Land"}, - }, - tangela: { - inherit: true, - abilities: {0: "Chlorophyll"}, - evos: ["Tangrowth"], - }, - shellder: { - inherit: true, - types: ["Water"], - abilities: {0: "Overcoat", 1: "Shell Armor"}, - }, - cloyster: { - inherit: true, - types: ["Water"], - abilities: {0: "Overcoat", 1: "Shell Armor"}, - }, - hitmonlee: { - inherit: true, - baseStats: {hp: 50, atk: 120, def: 43, spa: 35, spd: 110, spe: 97}, - abilities: {0: "Limber", 1: "Magic Guard"}, - }, - dusclops: { - inherit: true, - baseStats: {hp: 50, atk: 75, def: 130, spa: 75, spd: 130, spe: 45}, - abilities: {0: "Sand Veil", 1: "Ice Body"}, - }, - duskull: { - inherit: true, - abilities: {0: "Levitate", 1: "Ice Body"}, - }, - blastoise: { - inherit: true, - abilities: {0: "Torrent", 1: "Analytic"}, - }, - wartortle: { - inherit: true, - abilities: {0: "Torrent", 1: "Analytic"}, - }, - squirtle: { - inherit: true, - abilities: {0: "Torrent", 1: "Analytic"}, - }, - donphan: { - inherit: true, - abilities: {0: "Sturdy", 1: "Analytic"}, - }, - phanpy: { - inherit: true, - abilities: {0: "Pickup", 1: "Analytic"}, - }, - sandslash: { - inherit: true, - abilities: {0: "Hyper Cutter", 1: "Analytic"}, - }, - sandshrew: { - inherit: true, - abilities: {0: "Hyper Cutter", 1: "Analytic"}, - }, - exploud: { - inherit: true, - baseStats: {hp: 114, atk: 91, def: 63, spa: 91, spd: 73, spe: 61}, - }, - kecleon: { - inherit: true, - abilities: {0: "Color Change", 1: "Protean"}, - }, - octillery: { - inherit: true, - abilities: {0: "Suction Cups", 1: "Protean"}, - }, - remoraid: { - inherit: true, - abilities: {0: "Hustle", 1: "Protean"}, - }, - unown: { - inherit: true, - abilities: {0: "Levitate", 1: "Protean"}, - }, - porygon2: { - inherit: true, - abilities: {0: "Trace", 1: "Analytic"}, - }, - porygon: { - inherit: true, - abilities: {0: "Trace", 1: "Analytic"}, - }, - relicanth: { - inherit: true, - baseStats: {hp: 111, atk: 95, def: 135, spa: 45, spd: 70, spe: 60}, - abilities: {0: "Rough Skin", 1: "Rock Head"}, - }, - arbok: { - inherit: true, - types: ["Poison", "Psychic"], - baseStats: {hp: 115, atk: 100, def: 90, spa: 70, spd: 90, spe: 55}, - abilities: {0: "Intimidate", 1: "Compound Eyes"}, - }, - lapras: { - inherit: true, - types: ["Dragon", "Ice"], - baseStats: {hp: 130, atk: 85, def: 80, spa: 85, spd: 95, spe: 60}, - }, - chingling: { - inherit: true, - gen: 3, - }, - munchlax: { - inherit: true, - gen: 3, - }, - bonsly: { - inherit: true, - gen: 3, - }, - mantyke: { - inherit: true, - gen: 3, - }, - happiny: { - inherit: true, - gen: 3, - }, - ariados: { - inherit: true, - abilities: {0: "Stakeout", 1: "Swarm"}, - }, - vileplume: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Sticky Hold"}, - }, - numel: { - inherit: true, - abilities: {0: "Oblivious", 1: "Mold Breaker"}, - }, - camerupt: { - inherit: true, - abilities: {0: "Magma Armor", 1: "Mold Breaker"}, - }, - machamp: { - inherit: true, - abilities: {0: "Guts", 1: "Mold Breaker"}, - }, - machoke: { - inherit: true, - abilities: {0: "Guts", 1: "Mold Breaker"}, - }, - machop: { - inherit: true, - abilities: {0: "Guts", 1: "Mold Breaker"}, - }, - tauros: { - inherit: true, - abilities: {0: "Intimidate", 1: "Mold Breaker"}, - }, - victreebel: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Sticky Hold"}, - }, - wigglytuff: { - inherit: true, - abilities: {0: "Cute Charm", 1: "Fur Coat"}, - }, - cacturne: { - inherit: true, - abilities: {0: "Sand Veil", 1: "Stakeout"}, - }, - seviper: { - inherit: true, - abilities: {0: "Shed Skin", 1: "Stakeout"}, - }, - furret: { - inherit: true, - abilities: {0: "Keen Eye", 1: "Fur Coat"}, - }, - zigzagoongalar: { - inherit: true, - abilities: {0: "Pickup"}, - gen: 3, - }, - linoonegalar: { - inherit: true, - abilities: {0: "Pickup"}, - gen: 3, - }, - bellossom: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Natural Cure"}, - }, - stantler: { - inherit: true, - types: ["Ground", "Psychic"], - baseStats: {hp: 103, atk: 115, def: 82, spa: 95, spd: 65, spe: 95}, - abilities: {0: "Intimidate", 1: "Insomnia"}, - }, -}; diff --git a/data/mods/gen3hoenngaiden/rulesets.ts b/data/mods/gen3hoenngaiden/rulesets.ts deleted file mode 100644 index f57ab255f36a..000000000000 --- a/data/mods/gen3hoenngaiden/rulesets.ts +++ /dev/null @@ -1,43 +0,0 @@ -export const Rulesets: {[k: string]: ModdedFormatData} = { - batonpassmod: { - effectType: 'Rule', - name: 'Baton Pass Mod', - desc: "Positive stat boosts are reset upon using Baton Pass.", - onBegin() { - this.add('rule', 'Baton Pass Mod: Positive stat boosts are reset upon using Baton Pass'); - }, - onHit(source, target, move) { - if (source.positiveBoosts() && move.id === 'batonpass') { - this.add('-clearpositiveboost', source); - this.hint("Baton Pass Mod activated: Stat Boosts cannot be passed"); - } - }, - }, - hoenngaidenmod: { - effectType: 'Rule', - name: 'Hoenn Gaiden Mod', - desc: 'At the start of a battle, gives each player a link to the Hoenn Gaiden thread so they can use it to get information about new additions to the metagame.', - onBegin() { - this.add(`raw|`); - this.add('-message', `Welcome to Hoenn Gaiden!`); - this.add('-message', `This is a [Gen 3] OU-based format where we add later generation Pokemon, items, moves, and abilities, as well as change up existing ones!`); - this.add('-message', `You can find our thread and metagame resources here:`); - this.add('-message', `https://www.smogon.com/forums/threads/hoenn-gaiden-pet-mod-of-the-season-slate-8-concept-voting.3681339/`); - }, - }, - hgstandard: { - effectType: 'ValidatorRule', - name: 'HG Standard', - desc: "The standard ruleset for all Hoenn Gaiden tiers.", - ruleset: [ - 'Obtainable', 'Sleep Clause Mod', 'Switch Priority Clause Mod', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Moody Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', - 'Hoenn Gaiden Mod', 'Deoxys Camouflage Clause', 'Baton Pass Mod', - ], - banlist: [ - 'Armaldo + Rapid Spin + Knock Off', - 'Kabutops + Rapid Spin + Knock Off', - 'Skarmory + Whirlwind + Drill Peck', - 'Weavile + Calm Mind', - ], - }, -}; diff --git a/data/mods/gen3hoenngaiden/scripts.ts b/data/mods/gen3hoenngaiden/scripts.ts deleted file mode 100644 index 5af19f3e3dda..000000000000 --- a/data/mods/gen3hoenngaiden/scripts.ts +++ /dev/null @@ -1,706 +0,0 @@ -export const Scripts: ModdedBattleScriptsData = { - gen: 3, - inherit: 'gen3', - init() { - this.modData('Learnsets', 'jumpluff').learnset.rapidspin = ['3L1']; - this.modData('Learnsets', 'jumpluff').learnset.batonpass = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.dragondance = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.outrage = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.rockslide = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.dragonclaw = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.flamethrower = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.calmmind = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.refresh = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.recover = ['3L1']; - this.modData('Learnsets', 'armaldo').learnset.raindance = ['3L1']; - this.modData('Learnsets', 'armaldo').learnset.signalbeam = ['3L1']; - this.modData('Learnsets', 'crawdaunt').learnset.hydropump = ['3L1']; - this.modData('Learnsets', 'crawdaunt').learnset.agility = ['3L1']; - this.modData('Learnsets', 'slowpoke').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'slowbro').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'slowking').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'piloswine').learnset.shadowball = ['3L1']; - this.modData('Learnsets', 'delibird').learnset.drillpeck = ['3L1']; - this.modData('Learnsets', 'ledian').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'ledian').learnset.aeroblast = ['3L1']; - this.modData('Learnsets', 'ledian').learnset.calmmind = ['3L1']; - delete this.modData('Learnsets', 'ledian').learnset.brickbreak; - delete this.modData('Learnsets', 'ledian').learnset.focuspunch; - delete this.modData('Learnsets', 'ledian').learnset.swordsdance; - delete this.modData('Learnsets', 'ledyba').learnset.brickbreak; - delete this.modData('Learnsets', 'ledyba').learnset.focuspunch; - delete this.modData('Learnsets', 'ledyba').learnset.swordsdance; - this.modData('Learnsets', 'sableye').learnset.yawn = ['3L1']; - this.modData('Learnsets', 'hitmonlee').learnset.submission = ['3L1']; - this.modData('Learnsets', 'roselia').learnset.extrasensory = ['3L1']; - this.modData('Learnsets', 'dunsparce').learnset.spikes = ['3L1']; - this.modData('Learnsets', 'dunsparce').learnset.dragonclaw = ['3L1']; - this.modData('Learnsets', 'dunsparce').learnset.outrage = ['3L1']; - this.modData('Learnsets', 'dunsparce').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'grumpig').learnset.thunderwave = ['3L1']; - this.modData('Learnsets', 'grumpig').learnset.thunderbolt = ['3L1']; - this.modData('Learnsets', 'volbeat').learnset.fly = ['3L1']; - this.modData('Learnsets', 'cloyster').learnset.hydropump = ['3L1']; - this.modData('Learnsets', 'minun').learnset.blizzard = ['3L1']; - this.modData('Learnsets', 'minun').learnset.icebeam = ['3L1']; - this.modData('Learnsets', 'minun').learnset.hail = ['3L1']; - this.modData('Learnsets', 'minun').learnset.acidarmor = ['3L1']; - this.modData('Learnsets', 'minun').learnset.haze = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.calmmind = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.aromatherapy = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.signalbeam = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.taunt = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.destinybond = ['3L1']; - this.modData('Learnsets', 'ampharos').learnset.growth = ['3L1']; - this.modData('Learnsets', 'ampharos').learnset.dragonclaw = ['3L1']; - this.modData('Learnsets', 'ampharos').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'plusle').learnset.fireblast = ['3L1']; - this.modData('Learnsets', 'plusle').learnset.flamethrower = ['3L1']; - this.modData('Learnsets', 'lanturn').learnset.bodyslam = ['3L1']; - this.modData('Learnsets', 'farfetchd').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'crobat').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'jumpluff').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'gligar').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'primeape').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'scyther').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'sceptile').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'blaziken').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'ninjask').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'volbeat').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.acrobatics = ['3L1']; - this.modData('Learnsets', 'parasect').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'pinsir').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'ariados').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'beautifly').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'butterfree').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'beedrill').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'yanma').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'golem').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'golemalola').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'donphan').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'houndoom').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'umbreon').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'absol').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'shiftry').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'cacturne').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'sneasel').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'mightyena').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'murkrow').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'slowking').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'slowbro').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'ninetales').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'porygon2').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'sudowoodo').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'absol').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'cacturne').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'furret').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'gengar').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'golem').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'houndoom').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'mightyena').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'nidoking').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'sableye').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'smeargle').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'umbreon').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'sudowoodo').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'cacturne').learnset.spikyshield = ['3L1']; - this.modData('Learnsets', 'cradily').learnset.spikyshield = ['3L1']; - this.modData('Learnsets', 'tangela').learnset.spikyshield = ['3L1']; - this.modData('Learnsets', 'tropius').learnset.spikyshield = ['3L1']; - this.modData('Learnsets', 'omastar').learnset.spikyshield = ['3L1']; - this.modData('Learnsets', 'sandslash').learnset.spikyshield = ['3L1']; - this.modData('Learnsets', 'qwilfish').learnset.spikyshield = ['3L1']; - this.modData('Learnsets', 'sunflora').learnset.weatherball = ['3L1']; - this.modData('Learnsets', 'sunflora').learnset.stunspore = ['3L1']; - this.modData('Learnsets', 'sunflora').learnset.batonpass = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.meteormash = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.thunderwave = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.foulplay = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.suckerpunch = ['3L1']; - this.modData('Learnsets', 'girafarig').learnset.trick = ['3L1']; - this.modData('Learnsets', 'piloswine').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'glalie').learnset.iceshard = ['3L1']; - this.modData('Learnsets', 'regice').learnset.iceshard = ['3L1']; - this.modData('Learnsets', 'abomasnow').learnset.iceshard = ['3L1']; - this.modData('Learnsets', 'lapras').learnset.iceshard = ['3L1']; - this.modData('Learnsets', 'walrein').learnset.iceshard = ['3L1']; - this.modData('Learnsets', 'delibird').learnset.iceshard = ['3L1']; - this.modData('Learnsets', 'vibrava').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'scyther').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'illumise').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'sandslash').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'ninjask').learnset.lunge = ['3L1']; - this.modData('Learnsets', 'torkoal').learnset.bodypress = ['3L1']; - this.modData('Learnsets', 'torkoal').learnset.earthquake = ['3L1']; - this.modData('Learnsets', 'torkoal').learnset.solarbeam = ['3L1']; - this.modData('Learnsets', 'torkoal').learnset.slackoff = ['3L1']; - this.modData('Learnsets', 'torkoal').learnset.willowisp = ['3L1']; - this.modData('Learnsets', 'delibird').learnset.taunt = ['3L1']; - this.modData('Learnsets', 'delibird').learnset.brickbreak = ['3L1']; - this.modData("Learnsets", 'dusclops').learnset.brickbreak = ['3L1']; - this.modData("Learnsets", 'dusclops').learnset.counter = ['3L1']; - this.modData("Learnsets", 'dusclops').learnset.suckerpunch = ['3L1']; - this.modData("Learnsets", 'dusclops').learnset.haze = ['3L1']; - this.modData("Learnsets", 'parasect').learnset.lunge = ['3L1']; - this.modData("Learnsets", 'parasect').learnset.knockoff = ['3L1']; - this.modData("Learnsets", 'parasect').learnset.shadowball = ['3L1']; - this.modData("Learnsets", 'flygon').learnset.morningsun = ['3L1']; - this.modData("Learnsets", 'flygon').learnset.dragondance = ['3L1']; - this.modData("Learnsets", 'exploud').learnset.boomburst = ['3L1']; - this.modData("Learnsets", 'stantler').learnset.earthquake = ['3L1']; - this.modData("Learnsets", 'stantler').learnset.icebeam = ['3L1']; - this.modData("Learnsets", 'stantler').learnset.thunderbolt = ['3L1']; - this.modData("Learnsets", 'stantler').learnset.psychic = ['3L1']; - this.modData("Learnsets", 'stantler').learnset.hypnosis = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.brickbreak = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.crunch = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.futuresight = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.psychic = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.suckerpunch = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.curse = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.hypnosis = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.roleplay = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.skillswap = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.snatch = ['3L1']; - this.modData("Learnsets", 'arbok').learnset.trick = ['3L1']; - this.modData("Learnsets", 'relicanth').learnset.bounce = ['3L1']; - this.modData("Learnsets", 'relicanth').learnset.flail = ['3L1']; - this.modData("Learnsets", 'relicanth').learnset.rockblast = ['3L1']; - this.modData("Learnsets", 'relicanth').learnset.sludgebomb = ['3L1']; - this.modData("Learnsets", 'relicanth').learnset.superpower = ['3L1']; - this.modData("Learnsets", 'relicanth').learnset.whirlpool = ['3L1']; - this.modData('Learnsets', 'donphan').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'ludicolo').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'muk').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'pinsir').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'tentacruel').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'sudowoodo').learnset.knockoff = ['3L1']; - this.modData('Learnsets', 'golem').learnset.rapidspin = ['3L1']; - this.modData('Learnsets', 'grumpig').learnset.whirlwind = ['3L1']; - this.modData('Learnsets', 'heracross').learnset.spikes = ['3L1']; - this.modData('Learnsets', 'sandslash').learnset.spikes = ['3L1']; - this.modData('Learnsets', 'torkoal').learnset.rapidspin = ['3L1']; - this.modData('Learnsets', 'spinda').learnset.rapidspin = ['3L1']; - this.modData('Learnsets', 'entei').learnset.sacredfire = ['3L1']; - this.modData('Learnsets', 'entei').learnset.extremespeed = ['3L1']; - this.modData('Learnsets', 'entei').learnset.crunch = ['3L1']; - this.modData('Learnsets', 'entei').learnset.earthquake = ['3L1']; - this.modData('Learnsets', 'entei').learnset.rockslide = ['3L1']; - this.modData('Learnsets', 'poliwrath').learnset.lovelykiss = ['3L1']; - this.modData('Learnsets', 'politoed').learnset.lovelykiss = ['3L1']; - this.modData('Learnsets', 'blastoise').learnset.zapcannon = ['3L1']; - this.modData('Learnsets', 'bellossom').learnset.leechseed = ['3L1']; - this.modData('Learnsets', 'vileplume').learnset.leechseed = ['3L1']; - this.modData('Learnsets', 'rapidash').learnset.lowkick = ['3L1']; - this.modData('Learnsets', 'tauros').learnset.quickattack = ['3L1']; - this.modData('Learnsets', 'raichu').learnset.sing = ['3L1']; - this.modData('Learnsets', 'eevee').learnset.growth = ['3L1']; - this.modData('Learnsets', 'roserade').learnset.hyperbeam = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.gigadrain = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.hypervoice = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.leafblade = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.leechseed = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.reflect = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.roar = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.swordsdance = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.synthesis = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.weatherball = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.yawn = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.aerialace = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.bide = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.bulletseed = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.covet = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.doublekick = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.focusenergy = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.flash = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.furycutter = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.headbutt = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.hyperbeam = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.magicalleaf = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.razorleaf = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.refresh = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.rocksmash = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.sing = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.skullbash = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.solarbeam = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.strength = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.swift = ['3L1']; - this.modData('Learnsets', 'leafeon').learnset.swagger = ['3L1']; - this.modData('Learnsets', 'magmortar').learnset.earthquake = ['3L1']; - this.modData('Learnsets', 'magmortar').learnset.rockslide = ['3L1']; - this.modData('Learnsets', 'magmortar').learnset.thunderbolt = ['3L1']; - this.modData('Learnsets', 'togekiss').learnset.extremespeed = ['3L1']; - this.modData('Learnsets', 'bulbasaur').learnset.ancientpower = ['3L1']; - this.modData('Learnsets', 'charmander').learnset.crunch = ['3L1']; - this.modData('Learnsets', 'squirtle').learnset.zapcannon = ['3L1']; - this.modData('Learnsets', 'spearow').learnset.sonicboom = ['3L1']; - this.modData('Learnsets', 'nidoranf').learnset.lovelykiss = ['3L1']; - this.modData('Learnsets', 'nidoranf').learnset.moonlight = ['3L1']; - this.modData('Learnsets', 'nidoranf').learnset.sweetkiss = ['3L1']; - this.modData('Learnsets', 'nidoranm').learnset.lovelykiss = ['3L1']; - this.modData('Learnsets', 'nidoranm').learnset.morningsun = ['3L1']; - this.modData('Learnsets', 'nidoranm').learnset.sweetkiss = ['3L1']; - this.modData('Learnsets', 'zubat').learnset.flail = ['3L1']; - this.modData('Learnsets', 'oddish').learnset.leechseed = ['3L1']; - this.modData('Learnsets', 'paras').learnset.synthesis = ['3L1']; - this.modData('Learnsets', 'psyduck').learnset.petaldance = ['3L1']; - this.modData('Learnsets', 'psyduck').learnset.triattack = ['3L1']; - this.modData('Learnsets', 'poliwag').learnset.sweetkiss = ['3L1']; - this.modData('Learnsets', 'abra').learnset.foresight = ['3L1']; - this.modData('Learnsets', 'machop').learnset.falseswipe = ['3L1']; - this.modData('Learnsets', 'machop').learnset.thrash = ['3L1']; - this.modData('Learnsets', 'bellsprout').learnset.lovelykiss = ['3L1']; - this.modData('Learnsets', 'bellsprout').learnset.sweetkiss = ['3L1']; - this.modData('Learnsets', 'tentacool').learnset.confuseray = ['3L1']; - this.modData('Learnsets', 'ponyta').learnset.lowkick = ['3L1']; - this.modData('Learnsets', 'magnemite').learnset.agility = ['3L1']; - this.modData('Learnsets', 'farfetchd').learnset.furycutter = ['3L1']; - this.modData('Learnsets', 'doduo').learnset.lowkick = ['3L1']; - this.modData('Learnsets', 'seel').learnset.flail = ['3L1']; - this.modData('Learnsets', 'onix').learnset.sharpen = ['3L1']; - this.modData('Learnsets', 'drowzee').learnset.amnesia = ['3L1']; - this.modData('Learnsets', 'krabby').learnset.metalclaw = ['3L1']; - this.modData('Learnsets', 'voltorb').learnset.agility = ['3L1']; - this.modData('Learnsets', 'exeggcute').learnset.sweetscent = ['3L1']; - this.modData('Learnsets', 'cubone').learnset.furyattack = ['3L1']; - this.modData('Learnsets', 'lickitung').learnset.doubleslap = ['3L1']; - this.modData('Learnsets', 'chansey').learnset.sweetscent = ['3L1']; - this.modData('Learnsets', 'tangela').learnset.synthesis = ['3L1']; - this.modData('Learnsets', 'kangaskhan').learnset.faintattack = ['3L1']; - this.modData('Learnsets', 'horsea').learnset.haze = ['3L1']; - this.modData('Learnsets', 'goldeen').learnset.swordsdance = ['3L1']; - this.modData('Learnsets', 'staryu').learnset.twister = ['3L1']; - this.modData('Learnsets', 'mrmime').learnset.mindreader = ['3L1']; - this.modData('Learnsets', 'scyther').learnset.sonicboom = ['3L1']; - this.modData('Learnsets', 'pinsir').learnset.rockthrow = ['3L1']; - this.modData('Learnsets', 'tauros').learnset.quickattack = ['3L1']; - this.modData('Learnsets', 'magikarp').learnset.bubble = ['3L1']; - this.modData('Learnsets', 'magikarp').learnset.reversal = ['3L1']; - this.modData('Learnsets', 'lapras').learnset.bite = ['3L1']; - this.modData('Learnsets', 'lapras').learnset.futuresight = ['3L1']; - this.modData('Learnsets', 'eevee').learnset.growth = ['3L1']; - this.modData('Learnsets', 'porygon').learnset.barrier = ['3L1']; - this.modData('Learnsets', 'omanyte').learnset.rockthrow = ['3L1']; - this.modData('Learnsets', 'kabuto').learnset.rockthrow = ['3L1']; - this.modData('Learnsets', 'aerodactyl').learnset.rockthrow = ['3L1']; - this.modData('Learnsets', 'snorlax').learnset.lovelykiss = ['3L1']; - this.modData('Learnsets', 'snorlax').learnset.splash = ['3L1']; - this.modData('Learnsets', 'snorlax').learnset.sweetkiss = ['3L1']; - this.modData('Learnsets', 'dratini').learnset.hydropump = ['3L1']; - this.modData('Learnsets', 'dratini').learnset.extremespeed = ['3L1']; - this.modData('Learnsets', 'chikorita').learnset.petaldance = ['3L1']; - this.modData('Learnsets', 'cyndaquil').learnset.doubleedge = ['3L1']; - this.modData('Learnsets', 'totodile').learnset.submission = ['3L1']; - this.modData('Learnsets', 'sentret').learnset.dizzypunch = ['3L1']; - this.modData('Learnsets', 'hoothoot').learnset.nightshade = ['3L1']; - this.modData('Learnsets', 'ledyba').learnset.barrier = ['3L1']; - this.modData('Learnsets', 'spinarak').learnset.growth = ['3L1']; - this.modData('Learnsets', 'chinchou').learnset.lightscreen = ['3L1']; - this.modData('Learnsets', 'pichu').learnset.dizzypunch = ['3L1']; - this.modData('Learnsets', 'pichu').learnset.petaldance = ['3L1']; - this.modData('Learnsets', 'pichu').learnset.scaryface = ['3L1']; - this.modData('Learnsets', 'pichu').learnset.sing = ['3L1']; - this.modData('Learnsets', 'cleffa').learnset.petaldance = ['3L1']; - this.modData('Learnsets', 'cleffa').learnset.scaryface = ['3L1']; - this.modData('Learnsets', 'cleffa').learnset.swift = ['3L1']; - this.modData('Learnsets', 'igglybuff').learnset.mimic = ['3L1']; - this.modData('Learnsets', 'igglybuff').learnset.petaldance = ['3L1']; - this.modData('Learnsets', 'igglybuff').learnset.scaryface = ['3L1']; - this.modData('Learnsets', 'natu').learnset.safeguard = ['3L1']; - this.modData('Learnsets', 'marill').learnset.dizzypunch = ['3L1']; - this.modData('Learnsets', 'marill').learnset.hydropump = ['3L1']; - this.modData('Learnsets', 'marill').learnset.scaryface = ['3L1']; - this.modData('Learnsets', 'sudowoodo').learnset.substitute = ['3L1']; - this.modData('Learnsets', 'hoppip').learnset.agility = ['3L1']; - this.modData('Learnsets', 'aipom').learnset.mimic = ['3L1']; - this.modData('Learnsets', 'sunkern').learnset.splash = ['3L1']; - this.modData('Learnsets', 'yanma').learnset.sweetkiss = ['3L1']; - this.modData('Learnsets', 'wooper').learnset.bellydrum = ['3L1']; - this.modData('Learnsets', 'wooper').learnset.scaryface = ['3L1']; - this.modData('Learnsets', 'murkrow').learnset.beatup = ['3L1']; - this.modData('Learnsets', 'misdreavus').learnset.hypnosis = ['3L1']; - this.modData('Learnsets', 'wobbuffet').learnset.mimic = ['3L1']; - this.modData('Learnsets', 'pineco').learnset.substitute = ['3L1']; - this.modData('Learnsets', 'dunsparce').learnset.furyattack = ['3L1']; - this.modData('Learnsets', 'dunsparce').learnset.horndrill = ['3L1']; - this.modData('Learnsets', 'snubbull').learnset.lovelykiss = ['3L1']; - this.modData('Learnsets', 'qwilfish').learnset.doubleedge = ['3L1']; - this.modData('Learnsets', 'heracross').learnset.seismictoss = ['3L1']; - this.modData('Learnsets', 'sneasel').learnset.moonlight = ['3L1']; - this.modData('Learnsets', 'teddiursa').learnset.sweetscent = ['3L1']; - this.modData('Learnsets', 'swinub').learnset.whirlwind = ['3L1']; - this.modData('Learnsets', 'remoraid').learnset.amnesia = ['3L1']; - this.modData('Learnsets', 'remoraid').learnset.mist = ['3L1']; - this.modData('Learnsets', 'delibird').learnset.payday = ['3L1']; - this.modData('Learnsets', 'mantine').learnset.gust = ['3L1']; - this.modData('Learnsets', 'skarmory').learnset.furycutter = ['3L1']; - this.modData('Learnsets', 'phanpy').learnset.absorb = ['3L1']; - this.modData('Learnsets', 'stantler').learnset.safeguard = ['3L1']; - this.modData('Learnsets', 'tyrogue').learnset.rage = ['3L1']; - this.modData('Learnsets', 'smoochum').learnset.metronome = ['3L1']; - this.modData('Learnsets', 'smoochum').learnset.petaldance = ['3L1']; - this.modData('Learnsets', 'smoochum').learnset.dizzypunch = ['3L1']; - this.modData('Learnsets', 'elekid').learnset.petaldance = ['3L1']; - this.modData('Learnsets', 'elekid').learnset.dizzypunch = ['3L1']; - this.modData('Learnsets', 'elekid').learnset.pursuit = ['3L1']; - this.modData('Learnsets', 'magby').learnset.faintattack = ['3L1']; - this.modData('Learnsets', 'magby').learnset.dizzypunch = ['3L1']; - this.modData('Learnsets', 'miltank').learnset.megakick = ['3L1']; - this.modData('Learnsets', 'larvitar').learnset.rage = ['3L1']; - this.modData('Learnsets', 'nidoqueen').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'poliwrath').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'kangaskhan').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'azumarill').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'heracross').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'hitmontop').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'exploud').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'hariyama').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'mawile').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'spinda').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'kecleon').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'toxicroak').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'chesnaught').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'crabominable').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'grimmsnarl').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'nidoking').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'granbull').learnset.circlethrow = ['3L1']; - this.modData('Learnsets', 'machamp').learnset.circlethrow = ['3L1']; - this.modData("Learnsets", "slowkinggalar").learnset.counter = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.doubleteam = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.dreameater = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.focuspunch = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.furycutter = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.mudsport = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.nightmare = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.return = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "slowkinggalar").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "marowakalola").learnset.sing = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.bodyslam = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.counter = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.furycutter = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.megakick = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.metronome = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.rocksmash = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.strength = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.bodyslam = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.nightmare = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.shockwave = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.pound = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.sandstorm = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "golurk").learnset.counter = ["3L1"]; - this.modData("Learnsets", "diglett").learnset.suckerpunch = ["3L1"]; - this.modData("Learnsets", "dugtrio").learnset.suckerpunch = ["3L1"]; - this.modData("Learnsets", "diglettalola").learnset.sandtomb = ["3L1"]; - this.modData("Learnsets", "diglettalola").learnset.suckerpunch = ["3L1"]; - this.modData("Learnsets", "dugtrioalola").learnset.sandtomb = ["3L1"]; - this.modData("Learnsets", "dugtrioalola").learnset.suckerpunch = ["3L1"]; - this.modData("Learnsets", "dugtrioalola").learnset.triattack = ["3L1"]; - this.modData("Learnsets", "dugtrioalola").learnset.hyperbeam = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.hyperbeam = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.furyswipes = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.strength = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.roar = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.slash = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.lick = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.takedown = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.counter = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.taunt = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.metronome = ["3L1"]; - this.modData("Learnsets", "obstagoon").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "mismagius").learnset.magicalleaf = ["3L1"]; - this.modData("Learnsets", "mismagius").learnset.suckerpunch = ["3L1"]; - this.modData("Learnsets", "mismagius").learnset.icywind = ["3L1"]; - this.modData("Learnsets", "magmortar").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "mismagius").learnset.solarbeam = ["3L1"]; - this.modData("Learnsets", "mismagius").learnset.rocktomb = ["3L1"]; - this.modData("Learnsets", "mismagius").learnset.taunt = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.curse = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.covet = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.shockwave = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.aerialace = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.torment = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.roar = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.flash = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.icywind = ["3L1"]; - this.modData("Learnsets", "perrserker").learnset.hyperbeam = ["3L1"]; - this.modData("Learnsets", "tangela").learnset.ancientpower = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.ancientpower = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.block = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.aerialace = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.rocktomb = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.shockwave = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.earthquake = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.brickbreak = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.rockslide = ["3L1"]; - this.modData("Learnsets", "tangrowth").learnset.strength = ["3L1"]; - this.modData("Learnsets", "articunogalar").learnset.ancientpower = ["3L1"]; - this.modData("Learnsets", "moltresgalar").learnset.leer = ["3L1"]; - this.modData("Learnsets", "moltresgalar").learnset.gust = ["3L1"]; - this.modData("Learnsets", "zapdosgalar").learnset.fly = ["3L1"]; - this.modData("Learnsets", "zapdosgalar").learnset.strength = ["3L1"]; - this.modData("Learnsets", "zapdosgalar").learnset.bodyslam = ["3L1"]; - this.modData("Learnsets", "zapdosgalar").learnset.ancientpower = ["3L1"]; - this.modData("Learnsets", "weezinggalar").learnset.muddywater = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.psychup = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.skyattack = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.return = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "cramorant").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "jellicent").learnset.hydropump = ["3L1"]; - this.modData("Learnsets", "jellicent").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "jellicent").learnset.sludgebomb = ["3L1"]; - this.modData("Learnsets", "jellicent").learnset.flash = ["3L1"]; - this.modData("Learnsets", "jellicent").learnset.nightmare = ["3L1"]; - this.modData("Learnsets", "silvally").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "silvally").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.spark = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.megapunch = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.hyperbeam = ["3L1"]; - this.modData("Learnsets", "golemalola").learnset.spark = ["3L1"]; - this.modData("Learnsets", "electrodehisui").learnset.solarbeam = ["3L1"]; - this.modData("Learnsets", "electrodehisui").learnset.iceball = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.counter = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.darkestlariat = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.cut = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.strength = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.rocksmash = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "incineroar").learnset.metronome = ["3L1"]; - this.modData("Learnsets", "skuntank").learnset.selfdestruct = ["3L1"]; - this.modData("Learnsets", "skuntank").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "skuntank").learnset.bodyslam = ["3L1"]; - this.modData("Learnsets", "skuntank").learnset.torment = ["3L1"]; - this.modData("Learnsets", "lopunny").learnset.circlethrow = ["3L1"]; - this.modData("Learnsets", "lopunny").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "lopunny").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "lopunny").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "lopunny").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.bodyslam = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.counter = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.strength = ["3L1"]; - this.modData("Learnsets", "crabominable").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.cut = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.endure = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.furycutter = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.psychup = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.rocksmash = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.strength = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "zarude").learnset.return = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.counter = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.swift = ["3L1"]; - this.modData("Learnsets", "guzzlord").learnset.torment = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.counter = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.focuspunch = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.toxic = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.feintattack = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.beatup = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.flatter = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.rocksmash = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.strength = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.endure = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.flash = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.nightmare = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.return = ["3L1"]; - this.modData("Learnsets", "grimmsnarl").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "toxicroak").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "toxicroak").learnset.hyperbeam = ["3L1"]; - this.modData("Learnsets", "chesnaught").learnset.counter = ["3L1"]; - this.modData("Learnsets", "chesnaught").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "chesnaught").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "chesnaught").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "chesnaught").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "chesnaught").learnset.megapunch = ["3L1"]; - this.modData("Learnsets", "chesnaught").learnset.megakick = ["3L1"]; - this.modData("Learnsets", "dracovish").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "dracovish").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "dracovish").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "dracovish").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "dracovish").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "dracovish").learnset.return = ["3L1"]; - this.modData("Learnsets", "dracovish").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.flash = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.dreameater = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.psychup = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.swift = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.swagger = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "alcremie").learnset.doubleteam = ["3L1"]; - this.modData("Learnsets", "abomasnow").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "abomasnow").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "krookodile").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "krookodile").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "krookodile").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "krookodile").learnset.furycutter = ["3L1"]; - this.modData("Learnsets", "krookodile").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.swift = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.flash = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.swagger = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.return = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "pincurchin").learnset.doubleteam = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.supersonic = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.flash = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.foresight = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.sandstorm = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.swagger = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.safeguard = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.batonpass = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.sunnyday = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.raindance = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.charge = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.magiccoat = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.skillswap = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.imprison = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.metalsound = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.superpower = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.return = ["3L1"]; - this.modData("Learnsets", "regieleki").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.strength = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.rocksmash = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.focuspunch = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.thunderwave = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.swagger = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.rollout = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.megapunch = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.megakick = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.sandstorm = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.aerialace = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.doubleteam = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.safeguard = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.raindance = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.sunnyday = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.rocktomb = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.icepunch = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.bodyslam = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.psychup = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.curse = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.zapcannon = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.lockon = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.thunderbolt = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.thunder = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.return = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.frustration = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.shockwave = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.counter = ["3L1"]; - this.modData("Learnsets", "regidrago").learnset.earthquake = ["3L1"]; - this.modData("Learnsets", "stunfisk").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "stunfisk").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "stunfisk").learnset.swift = ["3L1"]; - this.modData("Learnsets", "stunfisk").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "stunfisk").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "stunfiskgalar").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "stunfiskgalar").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "stunfiskgalar").learnset.swift = ["3L1"]; - this.modData("Learnsets", "stunfiskgalar").learnset.waterpulse = ["3L1"]; - this.modData("Learnsets", "stunfiskgalar").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "golisopod").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "golisopod").learnset.secretpower = ["3L1"]; - this.modData("Learnsets", "golisopod").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "golisopod").learnset.strength = ["3L1"]; - this.modData("Learnsets", "golisopod").learnset.seismictoss = ["3L1"]; - this.modData("Learnsets", "golisopod").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "golisopod").learnset.rollout = ["3L1"]; - this.modData("Learnsets", "dragalge").learnset.swift = ["3L1"]; - this.modData("Learnsets", "dragalge").learnset.swagger = ["3L1"]; - this.modData("Learnsets", "dragalge").learnset.mudslap = ["3L1"]; - this.modData("Learnsets", "dragalge").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "dragalge").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.rocksmash = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.strength = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.dynamicpunch = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.leafblade = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.slam = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.skyattack = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.rocksmash = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.knockoff = ["3L1"]; - this.modData("Learnsets", "sirfetchd").learnset.bulkup = ["3L1"]; - this.modData("Learnsets", "talonflame").learnset.skyattack = ["3L1"]; - this.modData("Learnsets", "talonflame").learnset.doubleedge = ["3L1"]; - this.modData("Learnsets", "talonflame").learnset.mimic = ["3L1"]; - this.modData("Learnsets", "talonflame").learnset.mudslap = ["3L1"]; - delete this.modData('Learnsets', 'sirfetchd').learnset.featherdance; - delete this.modData('Learnsets', 'sirfetchd').learnset.wish; - delete this.modData('Learnsets', 'sirfetchd').learnset.yawn; - delete this.modData('Learnsets', 'sirfetchd').learnset.mirrormove; - delete this.modData('Learnsets', 'farfetchdgalar').learnset.featherdance; - delete this.modData('Learnsets', 'farfetchdgalar').learnset.wish; - delete this.modData('Learnsets', 'farfetchdgalar').learnset.yawn; - delete this.modData('Learnsets', 'farfetchdgalar').learnset.mirrormove; - delete this.modData('Learnsets', 'budew').learnset.sleeppowder; - delete this.modData('Learnsets', 'roselia').learnset.sleeppowder; - delete this.modData('Learnsets', 'roserade').learnset.sleeppowder; - delete this.modData('Learnsets', 'voltorbhisui').learnset.headbutt; - delete this.modData('Learnsets', 'voltorbhisui').learnset.refresh; - delete this.modData('Learnsets', 'electrodehisui').learnset.headbutt; - delete this.modData('Learnsets', 'electrodehisui').learnset.refresh; - delete this.modData('Learnsets', 'perrserker').learnset.batonpass; - delete this.modData('Learnsets', 'perrserker').learnset.crunch; - delete this.modData('Learnsets', 'perrserker').learnset.headbutt; - delete this.modData('Learnsets', 'perrserker').learnset.retaliate; - delete this.modData('Learnsets', 'dugtrioalola').learnset.headbutt; - delete this.modData('Learnsets', 'dugtrioalola').learnset.reversal; - delete this.modData('Learnsets', 'weavile').learnset.calmmind; - }, -}; diff --git a/data/mods/gen4/abilities.ts b/data/mods/gen4/abilities.ts index f72c7dab9d3e..ba42dd09525b 100644 --- a/data/mods/gen4/abilities.ts +++ b/data/mods/gen4/abilities.ts @@ -2,7 +2,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { airlock: { inherit: true, onSwitchIn() {}, - onStart() {}, + onStart(pokemon) { + pokemon.abilityState.ending = false; + }, }, angerpoint: { inherit: true, @@ -35,7 +37,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { cloudnine: { inherit: true, onSwitchIn() {}, - onStart() {}, + onStart(pokemon) { + pokemon.abilityState.ending = false; + }, }, colorchange: { inherit: true, @@ -134,6 +138,11 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { return this.chainModify(1.5); } }, + flags: {breakable: 1}, + }, + forecast: { + inherit: true, + flags: {notrace: 1}, }, forewarn: { inherit: true, @@ -385,7 +394,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { boosts[key]! *= 2; } }, - isBreakable: true, + flags: {breakable: 1}, name: "Simple", rating: 4, num: 86, @@ -481,7 +490,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { return this.chainModify(0.5); } }, - isBreakable: true, + flags: {breakable: 1}, name: "Thick Fat", rating: 3.5, num: 47, @@ -513,6 +522,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { this.add('-ability', pokemon, ability, '[from] ability: Trace', '[of] ' + target); } }, + flags: {notrace: 1}, }, unburden: { inherit: true, @@ -532,7 +542,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { inherit: true, onTryHit(target, source, move) { if (move.id === 'firefang') { - this.hint("In Gen 4, Fire Fang is always able to hit through Wonder Guard."); + this.hint("In Gen 4, Fire Fang is always able to hit through Wonder Guard.", true, target.side); return; } if (target === source || move.category === 'Status' || move.type === '???' || move.id === 'struggle') return; diff --git a/data/mods/gen4/moves.ts b/data/mods/gen4/moves.ts index 66566f6efd6c..448e44caba69 100644 --- a/data/mods/gen4/moves.ts +++ b/data/mods/gen4/moves.ts @@ -1,7 +1,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { acupressure: { inherit: true, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onHit(target) { if (target.volatiles['substitute']) { return false; @@ -35,7 +35,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, aquaring: { inherit: true, - flags: {}, + flags: {metronome: 1}, condition: { onStart(pokemon) { this.add('-start', pokemon, 'Aqua Ring'); @@ -180,7 +180,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, conversion: { inherit: true, - flags: {}, + flags: {metronome: 1}, onHit(target) { const possibleTypes = target.moveSlots.map(moveSlot => { const move = this.dex.moves.get(moveSlot.id); @@ -220,7 +220,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, curse: { inherit: true, - flags: {}, + flags: {metronome: 1}, onModifyMove(move, source, target) { if (!source.hasType('Ghost')) { delete move.volatileStatus; @@ -246,7 +246,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, defog: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, detect: { inherit: true, @@ -274,7 +274,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { disable: { inherit: true, accuracy: 80, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'disable', condition: { durationCallback() { @@ -332,7 +332,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Doom Desire", basePower: 120, category: "Special", - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, willCrit: false, type: '???', } as unknown as ActiveMove; @@ -348,7 +348,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { basePower: 0, damage: damage, category: "Special", - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, effectType: 'Move', type: '???', }, @@ -374,7 +374,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, embargo: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onTryHit(pokemon) { if (pokemon.ability === 'multitype' || pokemon.item === 'griseousorb') { return false; @@ -395,7 +395,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, encore: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1, failencore: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1, failencore: 1}, volatileStatus: 'encore', condition: { durationCallback() { @@ -476,7 +476,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, flail: { inherit: true, - basePowerCallback(pokemon, target) { + basePowerCallback(pokemon) { const ratio = Math.max(Math.floor(pokemon.hp * 64 / pokemon.maxhp), 1); let bp; if (ratio < 2) { @@ -517,7 +517,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, foresight: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, furycutter: { inherit: true, @@ -546,7 +546,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Future Sight", basePower: 80, category: "Special", - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, willCrit: false, type: '???', } as unknown as ActiveMove; @@ -562,7 +562,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { basePower: 0, damage: damage, category: "Special", - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, effectType: 'Move', type: '???', }, @@ -674,7 +674,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, healblock: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, condition: { duration: 5, durationCallback(target, source, effect) { @@ -715,7 +715,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, healingwish: { inherit: true, - flags: {heal: 1}, + flags: {heal: 1, metronome: 1}, onAfterMove(pokemon) { pokemon.switchFlag = true; }, @@ -752,7 +752,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, imprison: { inherit: true, - flags: {bypasssub: 1}, + flags: {bypasssub: 1, metronome: 1}, onTryHit(pokemon) { for (const target of pokemon.foes()) { for (const move of pokemon.moves) { @@ -802,7 +802,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { const item = target.getItem(); if (this.runEvent('TakeItem', target, source, move, item)) { target.itemState.knockedOff = true; - this.add('-enditem', target, item.name, '[from] move: Knock Off'); + this.add('-enditem', target, item.name, '[from] move: Knock Off', '[of] ' + source); this.hint("In Gens 3-4, Knock Off only makes the target's item unusable; it cannot obtain a new item.", true); } }, @@ -875,7 +875,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, luckychant: { inherit: true, - flags: {}, + flags: {metronome: 1}, condition: { duration: 5, onSideStart(side) { @@ -890,7 +890,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, lunardance: { inherit: true, - flags: {heal: 1}, + flags: {heal: 1, metronome: 1}, onAfterMove(pokemon) { pokemon.switchFlag = true; }, @@ -942,7 +942,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, magnetrise: { inherit: true, - flags: {gravity: 1}, + flags: {gravity: 1, metronome: 1}, volatileStatus: 'magnetrise', condition: { duration: 5, @@ -971,14 +971,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, metalburst: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, }, metronome: { inherit: true, flags: {noassist: 1, failcopycat: 1, nosleeptalk: 1, failmimic: 1}, - noMetronome: [ - "Assist", "Chatter", "Copycat", "Counter", "Covet", "Destiny Bond", "Detect", "Endure", "Feint", "Focus Punch", "Follow Me", "Helping Hand", "Me First", "Metronome", "Mimic", "Mirror Coat", "Mirror Move", "Protect", "Sketch", "Sleep Talk", "Snatch", "Struggle", "Switcheroo", "Thief", "Trick", - ], }, mimic: { inherit: true, @@ -1015,7 +1012,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, miracleeye: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, mirrormove: { inherit: true, @@ -1095,15 +1092,18 @@ export const Moves: {[k: string]: ModdedMoveData} = { onStart(pokemon) { this.add('-start', pokemon, 'move: Mud Sport'); }, - onBasePowerPriority: 3, + onAnyBasePowerPriority: 3, onAnyBasePower(basePower, user, target, move) { - if (move.type === 'Electric') return this.chainModify(0.5); + if (move.type === 'Electric') { + this.debug('mud sport weaken'); + return this.chainModify(0.5); + } }, }, }, naturepower: { inherit: true, - flags: {}, + flags: {metronome: 1}, onHit(pokemon) { this.actions.useMove('triattack', pokemon); }, @@ -1127,7 +1127,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, odorsleuth: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, outrage: { inherit: true, @@ -1178,7 +1178,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, powertrick: { inherit: true, - flags: {}, + flags: {metronome: 1}, }, protect: { inherit: true, @@ -1205,7 +1205,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, psychup: { inherit: true, - flags: {snatch: 1, bypasssub: 1}, + flags: {snatch: 1, bypasssub: 1, metronome: 1}, }, pursuit: { inherit: true, @@ -1257,7 +1257,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, recycle: { inherit: true, - flags: {}, + flags: {metronome: 1}, }, reflect: { inherit: true, @@ -1289,7 +1289,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, reversal: { inherit: true, - basePowerCallback(pokemon, target) { + basePowerCallback(pokemon) { const ratio = Math.max(Math.floor(pokemon.hp * 64 / pokemon.maxhp), 1); let bp; if (ratio < 2) { @@ -1311,7 +1311,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, roar: { inherit: true, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, }, rockblast: { inherit: true, @@ -1321,8 +1321,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, onTryHit(target, source) { if (target.ability === source.ability || source.hasItem('griseousorb')) return false; - const bannedTargetAbilities = ['multitype', 'wonderguard']; - if (bannedTargetAbilities.includes(target.ability) || source.ability === 'multitype') { + if (target.getAbility().flags['failroleplay'] || source.ability === 'multitype') { return false; } }, @@ -1455,17 +1454,21 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, }, }, + snore: { + inherit: true, + flags: {protect: 1, mirror: 1, sound: 1, metronome: 1}, + }, spikes: { inherit: true, - flags: {mustpressure: 1}, + flags: {metronome: 1, mustpressure: 1}, }, spite: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, stealthrock: { inherit: true, - flags: {mustpressure: 1}, + flags: {metronome: 1, mustpressure: 1}, }, struggle: { inherit: true, @@ -1594,7 +1597,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, taunt: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, condition: { durationCallback() { return this.random(3, 6); @@ -1631,7 +1634,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, torment: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, toxic: { inherit: true, @@ -1639,7 +1642,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, toxicspikes: { inherit: true, - flags: {mustpressure: 1}, + flags: {metronome: 1, mustpressure: 1}, condition: { // this is a side condition onSideStart(side) { @@ -1668,7 +1671,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, transform: { inherit: true, - flags: {bypasssub: 1, failencore: 1}, + flags: {bypasssub: 1, metronome: 1, failencore: 1}, }, trick: { inherit: true, @@ -1753,9 +1756,12 @@ export const Moves: {[k: string]: ModdedMoveData} = { onStart(pokemon) { this.add('-start', pokemon, 'move: Water Sport'); }, - onBasePowerPriority: 3, + onAnyBasePowerPriority: 3, onAnyBasePower(basePower, user, target, move) { - if (move.type === 'Fire') return this.chainModify(0.5); + if (move.type === 'Fire') { + this.debug('water sport weaken'); + return this.chainModify(0.5); + } }, }, }, @@ -1766,11 +1772,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, whirlwind: { inherit: true, - flags: {protect: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, wish: { inherit: true, - flags: {heal: 1}, + flags: {heal: 1, metronome: 1}, slotCondition: 'Wish', condition: { duration: 2, diff --git a/data/mods/gen4/scripts.ts b/data/mods/gen4/scripts.ts index 0e7bbd58e1bc..a9279586fb30 100644 --- a/data/mods/gen4/scripts.ts +++ b/data/mods/gen4/scripts.ts @@ -47,12 +47,17 @@ export const Scripts: ModdedBattleScriptsData = { baseDamage = this.battle.randomizer(baseDamage); // STAB - if (move.forceSTAB || type !== '???' && pokemon.hasType(type)) { - // The "???" type never gets STAB - // Not even if you Roost in Gen 4 and somehow manage to use - // Struggle in the same turn. - // (On second thought, it might be easier to get a MissingNo.) - baseDamage = this.battle.modify(baseDamage, move.stab || 1.5); + // The "???" type never gets STAB + // Not even if you Roost in Gen 4 and somehow manage to use + // Struggle in the same turn. + // (On second thought, it might be easier to get a MissingNo.) + if (type !== '???') { + let stab: number | [number, number] = 1; + if (move.forceSTAB || pokemon.hasType(type)) { + stab = 1.5; + } + stab = this.battle.runEvent('ModifySTAB', pokemon, target, move, stab); + baseDamage = this.battle.modify(baseDamage, stab); } // types let typeMod = target.runEffectiveness(move); diff --git a/data/mods/gen4pt/learnsets.ts b/data/mods/gen4pt/learnsets.ts index 99c945027f13..26fffa250ef3 100644 --- a/data/mods/gen4pt/learnsets.ts +++ b/data/mods/gen4pt/learnsets.ts @@ -17432,7 +17432,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { raikou: { inherit: true, learnset: { - aurasphere: ["4S3"], bite: ["4L1", "3L1"], bodyslam: ["3T"], calmmind: ["4M", "4L78", "3M", "3L81"], @@ -17445,7 +17444,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { doubleteam: ["4M", "3M"], endure: ["4M", "3T"], extrasensory: ["4L64"], - extremespeed: ["4S3"], facade: ["4M", "3M"], flash: ["4M", "3M"], frustration: ["4M", "3M"], @@ -17489,8 +17487,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { thundershock: ["4L8", "3L11", "3S0"], thunderwave: ["4M", "3T"], toxic: ["4M", "3M"], - weatherball: ["4S3"], - zapcannon: ["4S3"], }, }, entei: { @@ -17499,7 +17495,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { bite: ["4L1", "3L1"], bodyslam: ["3T"], calmmind: ["4M", "4L78", "3M", "3L81"], - crushclaw: ["4S3"], cut: ["4M", "3M"], dig: ["4M", "3M"], doubleedge: ["3T"], @@ -17508,19 +17503,16 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { endure: ["4M", "3T"], eruption: ["4L85"], extrasensory: ["4L64"], - extremespeed: ["4S3"], facade: ["4M", "3M"], fireblast: ["4M", "4L71", "3M", "3L71"], firefang: ["4L50"], firespin: ["4L22", "4S2", "3L31", "3S0", "3S1"], flamethrower: ["4M", "4L36", "4S2", "3M", "3L51", "3S1"], - flareblitz: ["4S3"], flash: ["4M", "3M"], frustration: ["4M", "3M"], gigaimpact: ["4M"], heatwave: ["4T"], hiddenpower: ["4M", "3M"], - howl: ["4S3"], hyperbeam: ["4M", "3M"], ironhead: ["4T"], irontail: ["4M", "3M"], @@ -17559,8 +17551,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { suicune: { inherit: true, learnset: { - airslash: ["4S3"], - aquaring: ["4S3"], aurorabeam: ["4L29", "4S2", "3L41", "3S0", "3S1"], avalanche: ["4M"], bite: ["4L1", "3L1"], @@ -17576,7 +17566,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { doubleteam: ["4M", "3M"], endure: ["4M", "3T"], extrasensory: ["4L64"], - extremespeed: ["4S3"], facade: ["4M", "3M"], frustration: ["4M", "3M"], gigaimpact: ["4M"], @@ -17609,7 +17598,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { sandstorm: ["4M", "3M"], secretpower: ["4M", "3M"], shadowball: ["4M"], - sheercold: ["4S3"], signalbeam: ["4T"], sleeptalk: ["4M", "3T"], snore: ["4T", "3T"], @@ -31694,7 +31682,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { heatran: { inherit: true, learnset: { - ancientpower: ["4T", "4L1", "4S2"], + ancientpower: ["4T", "4L1"], attract: ["4M"], captivate: ["4M"], crunch: ["4L33", "4S1"], @@ -31702,10 +31690,9 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { dig: ["4M"], doubleteam: ["4M"], dragonpulse: ["4M"], - earthpower: ["4T", "4L73", "4S2"], + earthpower: ["4T", "4L73"], earthquake: ["4M"], endure: ["4M"], - eruption: ["4S2"], explosion: ["4M"], facade: ["4M"], fireblast: ["4M"], @@ -31722,7 +31709,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { ironhead: ["4T", "4L65", "4S0"], lavaplume: ["4L49", "4S0", "4S1"], leer: ["4L9"], - magmastorm: ["4L96", "4S2"], + magmastorm: ["4L96"], metalsound: ["4L25", "4S1"], mudslap: ["4T"], naturalgift: ["4M"], diff --git a/data/mods/gen5/abilities.ts b/data/mods/gen5/abilities.ts index ba9dd5d9268d..e85062c742a8 100644 --- a/data/mods/gen5/abilities.ts +++ b/data/mods/gen5/abilities.ts @@ -52,6 +52,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { overcoat: { inherit: true, onTryHit() {}, + flags: {}, rating: 0.5, }, sapsipper: { diff --git a/data/mods/gen5/formats-data.ts b/data/mods/gen5/formats-data.ts index b3093596427b..54f3bdf573ad 100644 --- a/data/mods/gen5/formats-data.ts +++ b/data/mods/gen5/formats-data.ts @@ -37,7 +37,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, butterfree: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, weedle: { @@ -47,7 +47,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beedrill: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, pidgey: { @@ -57,28 +57,28 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, pidgeot: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, rattata: { tier: "LC", }, raticate: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, spearow: { tier: "LC", }, fearow: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, ekans: { tier: "LC", }, arbok: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, pichu: { @@ -88,7 +88,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, raichu: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, sandshrew: { @@ -142,7 +142,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, wigglytuff: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, zubat: { @@ -167,14 +167,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, bellossom: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, paras: { tier: "LC", }, parasect: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, venonat: { @@ -195,7 +195,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, persian: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, psyduck: { @@ -265,8 +265,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, tentacool: { - tier: "PU", - doublesTier: "LC", + tier: "LC", }, tentacruel: { tier: "OU", @@ -312,7 +311,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, farfetchd: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, doduo: { @@ -326,21 +325,21 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, dewgong: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, grimer: { tier: "LC", }, muk: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, shellder: { tier: "LC", }, cloyster: { - tier: "OU", + tier: "Uber", doublesTier: "DOU", }, gastly: { @@ -365,14 +364,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, hypno: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, krabby: { tier: "LC", }, kingler: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, voltorb: { @@ -393,7 +392,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, marowak: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, tyrogue: { @@ -444,7 +443,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "NFE", }, blissey: { - tier: "(OU)", + tier: "OU", doublesTier: "DUU", }, tangela: { @@ -473,7 +472,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, seaking: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, staryu: { @@ -487,7 +486,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, mrmime: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, scyther: { @@ -561,7 +560,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, flareon: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, espeon: { @@ -573,11 +572,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, leafeon: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, glaceon: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, porygon: { @@ -617,7 +616,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, articuno: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, zapdos: { @@ -653,7 +652,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, meganium: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, cyndaquil: { @@ -680,28 +679,28 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, furret: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, hoothoot: { tier: "LC", }, noctowl: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, ledyba: { tier: "LC", }, ledian: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, spinarak: { tier: "LC", }, ariados: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, chinchou: { @@ -722,8 +721,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, natu: { - tier: "PU", - doublesTier: "LC", + tier: "LC", }, xatu: { tier: "UU", @@ -753,7 +751,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sudowoodo: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, hoppip: { @@ -777,7 +775,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sunflora: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, yanma: { @@ -795,8 +793,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, murkrow: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, honchkrow: { tier: "UU", @@ -811,7 +808,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, unown: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, wynaut: { @@ -822,7 +819,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, girafarig: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, pineco: { @@ -833,7 +830,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, dunsparce: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, gligar: { @@ -848,7 +845,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, granbull: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, qwilfish: { @@ -856,7 +853,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, shuckle: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, heracross: { @@ -864,8 +861,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, sneasel: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, weavile: { tier: "UU", @@ -882,7 +878,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, magcargo: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, swinub: { @@ -897,18 +893,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, corsola: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, remoraid: { tier: "LC", }, octillery: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, delibird: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, mantyke: { @@ -937,7 +933,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, stantler: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, smeargle: { @@ -1017,7 +1013,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, mightyena: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, zigzagoon: { @@ -1034,14 +1030,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beautifly: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, cascoon: { tier: "NFE", }, dustox: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, lotad: { @@ -1075,7 +1071,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, pelipper: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, ralts: { @@ -1096,7 +1092,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, masquerain: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, shroomish: { @@ -1114,7 +1110,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "NFE", }, slaking: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, nincada: { @@ -1125,7 +1121,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, shedinja: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, whismur: { @@ -1135,7 +1131,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, exploud: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, makuhita: { @@ -1156,7 +1152,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, delcatty: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, sableye: { @@ -1192,11 +1188,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, plusle: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, minun: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, volbeat: { @@ -1204,7 +1200,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, illumise: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, budew: { @@ -1222,7 +1218,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, swalot: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, carvanha: { @@ -1236,7 +1232,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, wailord: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, numel: { @@ -1254,11 +1250,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, grumpig: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, spinda: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, trapinch: { @@ -1290,22 +1286,22 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, seviper: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, lunatone: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, solrock: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, barboach: { tier: "LC", }, whiscash: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, corphish: { @@ -1344,7 +1340,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, castform: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, castformsunny: { @@ -1353,7 +1349,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { }, castformsnowy: {}, kecleon: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, shuppet: { @@ -1375,14 +1371,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, tropius: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, chingling: { tier: "LC", }, chimecho: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, absol: { @@ -1393,7 +1389,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, glalie: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, froslass: { @@ -1407,7 +1403,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, walrein: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, clamperl: { @@ -1426,7 +1422,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, luvdisc: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, bagon: { @@ -1516,8 +1512,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, monferno: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, infernape: { tier: "(OU)", @@ -1547,14 +1542,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, bibarel: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, kricketot: { tier: "LC", }, kricketune: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, shinx: { @@ -1564,7 +1559,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, luxray: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, cranidos: { @@ -1585,30 +1580,30 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, wormadam: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, wormadamsandy: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, wormadamtrash: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, mothim: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, combee: { tier: "LC", }, vespiquen: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, pachirisu: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, buizel: { @@ -1622,7 +1617,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, cherrim: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, cherrimsunshine: {}, @@ -1644,7 +1639,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, lopunny: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, glameow: { @@ -1662,15 +1657,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, bronzor: { - tier: "PU", - doublesTier: "LC", + tier: "LC", }, bronzong: { tier: "UU", doublesTier: "DOU", }, chatot: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, spiritomb: { @@ -1681,8 +1675,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, gabite: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, garchomp: { tier: "OU", @@ -1700,7 +1693,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, hippowdon: { - tier: "(OU)", + tier: "OU", doublesTier: "DUU", }, skorupi: { @@ -1718,14 +1711,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, carnivine: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, finneon: { tier: "LC", }, lumineon: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, snover: { @@ -1784,7 +1777,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, regigigas: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, giratina: { @@ -1800,7 +1793,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, phione: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, manaphy: { @@ -1893,7 +1886,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, watchog: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, lillipup: { @@ -1924,7 +1917,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, simisear: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, panpour: { @@ -1948,7 +1941,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, unfezant: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, blitzle: { @@ -2022,7 +2015,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, leavanny: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, venipede: { @@ -2061,8 +2054,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, krokorok: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, krookodile: { tier: "UU", @@ -2080,16 +2072,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, dwebble: { - tier: "PU", - doublesTier: "LC", + tier: "LC", }, crustle: { tier: "RU", doublesTier: "DUU", }, scraggy: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, scrafty: { tier: "UU", @@ -2156,8 +2146,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, duosion: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, reuniclus: { tier: "OU", @@ -2177,7 +2166,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, vanilluxe: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, deerling: { @@ -2188,7 +2177,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, emolga: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, karrablast: { @@ -2235,8 +2224,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, klang: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, klinklang: { tier: "RU", @@ -2273,8 +2261,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, fraxure: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, haxorus: { tier: "(OU)", @@ -2284,7 +2271,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, beartic: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, cryogonal: { @@ -2346,7 +2333,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, heatmor: { - tier: "(PU)", + tier: "PU", doublesTier: "DUU", }, durant: { @@ -2357,8 +2344,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, zweilous: { - tier: "PU", - doublesTier: "NFE", + tier: "NFE", }, hydreigon: { tier: "OU", diff --git a/data/mods/gen5/moves.ts b/data/mods/gen5/moves.ts index 26cc616d84f7..ffd083c27fbe 100644 --- a/data/mods/gen5/moves.ts +++ b/data/mods/gen5/moves.ts @@ -1,7 +1,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { absorb: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, }, acidarmor: { inherit: true, @@ -76,11 +76,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, block: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, }, bounce: { inherit: true, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nosleeptalk: 1}, + flags: {contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1, nosleeptalk: 1}, }, bubble: { inherit: true, @@ -88,7 +88,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, bugbuzz: { inherit: true, - flags: {protect: 1, mirror: 1, sound: 1}, + flags: {protect: 1, mirror: 1, sound: 1, metronome: 1}, }, camouflage: { inherit: true, @@ -168,11 +168,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, dig: { inherit: true, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, nosleeptalk: 1}, + flags: {contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1, nosleeptalk: 1}, }, dive: { inherit: true, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, nosleeptalk: 1}, + flags: {contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1, nosleeptalk: 1}, }, dracometeor: { inherit: true, @@ -184,15 +184,15 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, drainpunch: { inherit: true, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, }, dreameater: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, }, echoedvoice: { inherit: true, - flags: {protect: 1, mirror: 1, sound: 1}, + flags: {protect: 1, mirror: 1, sound: 1, metronome: 1}, }, electroball: { inherit: true, @@ -217,7 +217,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, finalgambit: { inherit: true, - flags: {contact: 1, protect: 1}, + flags: {contact: 1, protect: 1, metronome: 1}, }, fireblast: { inherit: true, @@ -240,7 +240,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, fly: { inherit: true, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1}, + flags: {contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1}, }, followme: { inherit: true, @@ -282,7 +282,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { basePower: 100, category: "Special", priority: 0, - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, ignoreImmunity: false, effectType: 'Move', type: 'Psychic', @@ -294,7 +294,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, gigadrain: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, }, glare: { inherit: true, @@ -302,7 +302,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, grasswhistle: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1}, }, grasspledge: { inherit: true, @@ -317,7 +317,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, growl: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1}, }, growth: { inherit: true, @@ -338,7 +338,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, healbell: { inherit: true, - flags: {snatch: 1, sound: 1}, + flags: {snatch: 1, sound: 1, metronome: 1}, onHit(target, source) { this.add('-activate', source, 'move: Heal Bell'); const allies = [...target.side.pokemon, ...target.side.allySide?.pokemon || []]; @@ -435,7 +435,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, hornleech: { inherit: true, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, }, hurricane: { inherit: true, @@ -447,7 +447,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, hypervoice: { inherit: true, - flags: {protect: 1, mirror: 1, sound: 1}, + flags: {protect: 1, mirror: 1, sound: 1, metronome: 1}, }, icebeam: { inherit: true, @@ -474,7 +474,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, leechlife: { inherit: true, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, }, lick: { inherit: true, @@ -523,15 +523,15 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, meanlook: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, }, megadrain: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, }, metalsound: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1}, }, meteormash: { inherit: true, @@ -555,31 +555,22 @@ export const Moves: {[k: string]: ModdedMoveData} = { type: "Normal", }, mudsport: { - num: 300, - accuracy: true, - basePower: 0, - category: "Status", - name: "Mud Sport", - pp: 15, - priority: 0, - flags: {}, + inherit: true, + pseudoWeather: undefined, volatileStatus: 'mudsport', - onTryHitField(target, source) { - if (source.volatiles['mudsport']) return false; - }, condition: { noCopy: true, onStart(pokemon) { - this.add("-start", pokemon, 'Mud Sport'); + this.add('-start', pokemon, 'Mud Sport'); }, onAnyBasePowerPriority: 1, onAnyBasePower(basePower, user, target, move) { - if (move.type === 'Electric') return this.chainModify([1352, 4096]); + if (move.type === 'Electric') { + this.debug('mud sport weaken'); + return this.chainModify([1352, 4096]); + } }, }, - secondary: null, - target: "all", - type: "Ground", }, muddywater: { inherit: true, @@ -599,7 +590,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, perishsong: { inherit: true, - flags: {sound: 1, distance: 1}, + flags: {sound: 1, distance: 1, metronome: 1}, }, pinmissile: { inherit: true, @@ -717,7 +708,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { roar: { inherit: true, accuracy: 100, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, }, rocktomb: { inherit: true, @@ -727,7 +718,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, round: { inherit: true, - flags: {protect: 1, mirror: 1, sound: 1}, + flags: {protect: 1, mirror: 1, sound: 1, metronome: 1}, }, sacredsword: { inherit: true, @@ -739,7 +730,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, screech: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1}, }, secretpower: { inherit: true, @@ -752,11 +743,11 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, shadowforce: { inherit: true, - flags: {contact: 1, charge: 1, mirror: 1, nosleeptalk: 1}, + flags: {contact: 1, charge: 1, mirror: 1, metronome: 1, nosleeptalk: 1}, }, sing: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1}, }, skillswap: { inherit: true, @@ -778,7 +769,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, skydrop: { inherit: true, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nosleeptalk: 1}, + flags: {contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1, nosleeptalk: 1}, onTryHit(target, source, move) { if (target.fainted) return false; if (source.removeVolatile(move.id)) { @@ -910,7 +901,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, supersonic: { inherit: true, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, metronome: 1}, }, surf: { inherit: true, @@ -962,7 +953,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, uproar: { inherit: true, - flags: {protect: 1, mirror: 1, sound: 1, nosleeptalk: 1}, + flags: {protect: 1, mirror: 1, sound: 1, metronome: 1, nosleeptalk: 1}, }, vinewhip: { inherit: true, @@ -985,36 +976,27 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, }, watersport: { - num: 346, - accuracy: true, - basePower: 0, - category: "Status", - name: "Water Sport", - pp: 15, - priority: 0, - flags: {}, + inherit: true, + pseudoWeather: undefined, volatileStatus: 'watersport', - onTryHitField(target, source) { - if (source.volatiles['watersport']) return false; - }, condition: { noCopy: true, onStart(pokemon) { - this.add("-start", pokemon, 'move: Water Sport'); + this.add('-start', pokemon, 'move: Water Sport'); }, onAnyBasePowerPriority: 1, onAnyBasePower(basePower, user, target, move) { - if (move.type === 'Fire') return this.chainModify([1352, 4096]); + if (move.type === 'Fire') { + this.debug('water sport weaken'); + return this.chainModify([1352, 4096]); + } }, }, - secondary: null, - target: "all", - type: "Water", }, whirlwind: { inherit: true, accuracy: 100, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, }, wideguard: { inherit: true, diff --git a/data/mods/gen5bw1/learnsets.ts b/data/mods/gen5bw1/learnsets.ts index ed749bc42f1a..d2e3fa61e51f 100644 --- a/data/mods/gen5bw1/learnsets.ts +++ b/data/mods/gen5bw1/learnsets.ts @@ -2472,7 +2472,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { attract: ["5M", "4M", "3M"], bestow: ["5L25"], blizzard: ["5M", "4M", "3M"], - bodyslam: ["5L40", "3T"], + bodyslam: ["3T"], bounce: ["4T"], brickbreak: ["5M", "4M", "3M"], calmmind: ["5M", "4M", "3M"], @@ -3130,7 +3130,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { superfang: ["5D", "4T"], supersonic: ["5L5", "5D", "4L5", "3L6"], swagger: ["5M", "4M", "3T"], - swift: ["5L24", "4T", "3T"], + swift: ["4T", "3T"], tailwind: ["4T"], taunt: ["5M", "4M", "3M"], thief: ["5M", "4M", "3M"], @@ -3197,7 +3197,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { superfang: ["4T"], supersonic: ["5L1", "4L1", "3L1"], swagger: ["5M", "4M", "3T"], - swift: ["5L24", "4T", "3T"], + swift: ["4T", "3T"], tailwind: ["4T"], taunt: ["5M", "4M", "3M"], thief: ["5M", "4M", "3M"], @@ -3266,7 +3266,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { superfang: ["4T", "4S0"], supersonic: ["5L1", "4L1", "3L1"], swagger: ["5M", "4M", "3T"], - swift: ["5L24", "4T", "3T"], + swift: ["4T", "3T"], tailwind: ["4T"], taunt: ["5M", "4M", "3M"], thief: ["5M", "4M", "3M"], @@ -4045,7 +4045,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { substitute: ["5M", "4M", "3T"], sunnyday: ["5M", "4M", "3M"], swagger: ["5M", "4M", "3T", "3L61"], - swift: ["5L28", "4T", "3T"], + swift: ["4T", "3T"], switcheroo: ["5L1", "4L1"], taunt: ["5M", "5L25", "4M", "4L25", "3M"], thief: ["5M", "4M", "3M"], @@ -4064,7 +4064,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { learnset: { aerialace: ["5M", "4M", "3M"], amnesia: ["5L48", "4L44"], - aquatail: ["5L32", "4T"], + aquatail: ["4T"], attract: ["5M", "4M", "3M"], blizzard: ["5M", "4M", "3M"], bodyslam: ["3T"], @@ -4158,7 +4158,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { aerialace: ["5M", "4M", "3M"], amnesia: ["5L56", "4L50"], aquajet: ["5L1", "4L1"], - aquatail: ["5L32", "4T"], + aquatail: ["4T"], attract: ["5M", "4M", "3M"], blizzard: ["5M", "4M", "3M"], bodyslam: ["3T"], @@ -9492,7 +9492,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { fling: ["5M", "4M"], focusblast: ["5M", "4M"], frustration: ["5M", "4M"], - gigadrain: ["5L36", "4M"], + gigadrain: ["4M"], gigaimpact: ["5M", "4M"], grassknot: ["5M", "4M"], growth: ["5L12", "4L12"], @@ -9958,7 +9958,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { inherit: true, learnset: { blizzard: ["5M", "4M", "3M"], - brine: ["5L36", "4M"], + brine: ["4M"], bubblebeam: ["5L28", "4L28", "3L28"], camouflage: ["5L19", "4L19", "3L19"], cosmicpower: ["5L55", "4L51", "3L42", "3S0"], @@ -11351,7 +11351,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { curse: ["5E", "4E", "3E"], detect: ["5E", "4E"], dig: ["5M", "4M", "3M"], - doubleedge: ["5L37", "3T"], + doubleedge: ["3T"], doubleteam: ["5M", "4M", "3M"], echoedvoice: ["5M", "5S2"], endure: ["5E", "4M", "4E", "3T", "3E"], @@ -15431,7 +15431,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { frustration: ["5M", "4M", "3M"], hail: ["5M", "4M", "3M"], headbutt: ["4T"], - helpinghand: ["5L16", "4T"], + helpinghand: ["4T"], hiddenpower: ["5M", "4M", "3M"], icebeam: ["5M", "4M", "3M"], icywind: ["4T", "3T"], @@ -15502,7 +15502,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { grassknot: ["5M", "4M"], hail: ["5M", "4M", "3M"], headbutt: ["4T"], - helpinghand: ["5L16", "4T"], + helpinghand: ["4T"], hiddenpower: ["5M", "4M", "3M"], hydropump: ["5L42", "4L42", "3L45"], icebeam: ["5M", "4M", "3M"], @@ -15578,7 +15578,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { grassknot: ["5M", "4M"], hail: ["5M", "4M", "3M"], headbutt: ["4T"], - helpinghand: ["5L16", "4T"], + helpinghand: ["4T"], hiddenpower: ["5M", "4M", "3M"], hydropump: ["5L54", "4L54", "3L57"], hyperbeam: ["5M", "4M", "3M"], @@ -15607,7 +15607,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { snore: ["4T", "3T"], strength: ["5M", "4M", "3M"], substitute: ["5M", "4M", "3T"], - superpower: ["5L42", "4T"], + superpower: ["4T"], surf: ["5M", "4M", "3M"], swagger: ["5M", "4M", "3T"], swift: ["4T", "3T"], @@ -15690,7 +15690,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { calmmind: ["5M", "4M", "3M"], captivate: ["4M"], copycat: ["5L1", "4L1"], - counter: ["5L33", "3T"], + counter: ["3T"], curse: ["5E"], defensecurl: ["5E", "4E", "3T"], dig: ["5M", "4M", "3M"], @@ -16127,7 +16127,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { captivate: ["4M"], curse: ["5E", "4E", "3E"], cut: ["5M", "4M", "3M"], - doubleedge: ["5L37", "3T"], + doubleedge: ["3T"], doubleteam: ["5M", "4M", "3M"], earthpower: ["5D", "4T"], encore: ["5E", "4E", "3E"], @@ -16182,7 +16182,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { bulletseed: ["5L21", "4M", "4L21", "3M", "3L25"], captivate: ["4M"], cut: ["5M", "4M", "3M"], - doubleedge: ["5L37", "3T"], + doubleedge: ["3T"], doubleteam: ["5M", "4M", "3M"], earthpower: ["4T"], endeavor: ["4T"], @@ -16191,7 +16191,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { facade: ["5M", "4M", "3M"], flash: ["5M", "4M", "3M"], frustration: ["5M", "4M", "3M"], - gigadrain: ["5L22", "4M", "3M"], + gigadrain: ["4M", "3M"], gigaimpact: ["5M", "4M"], grassknot: ["5M", "4M"], grasswhistle: ["5L13", "4L13"], @@ -16205,7 +16205,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { lightscreen: ["5M", "4M", "3M"], megadrain: ["5L5", "4L5"], mimic: ["3T"], - naturalgift: ["5L31", "4M"], + naturalgift: ["4M"], petaldance: ["5L33", "4L33", "3L37"], pound: ["5L1", "4L1", "3L1"], protect: ["5M", "4M", "3M"], @@ -17102,12 +17102,12 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { curse: ["5E", "4E", "3E"], defensecurl: ["5L4", "4L5", "3T", "3L4"], dig: ["5M", "5L53", "4M", "4L45", "3M"], - doubleedge: ["5L34", "3T"], + doubleedge: ["3T"], doubleteam: ["5M", "4M", "3M"], dreameater: ["5M", "4M", "3T"], earthquake: ["5M", "4M", "3M"], endeavor: ["5L58", "4T", "4L49", "3L41"], - endure: ["5L40", "4M", "3T"], + endure: ["4M", "3T"], facade: ["5M", "4M", "3M"], fireblast: ["5M", "4M", "3M"], flail: ["5L63", "4L53", "3L44"], @@ -17686,7 +17686,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { bodyslam: ["3T"], brickbreak: ["5M", "5L19", "4M", "4L19", "3M", "3L23"], bugbite: ["4T"], - bulkup: ["5M", "4M", "3M"], + bulkup: ["4M", "3M"], bulldoze: ["5M"], captivate: ["4M"], closecombat: ["5L37", "4L37"], @@ -17834,7 +17834,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { slash: ["5L38", "4L35", "3L50"], sleeptalk: ["4M", "3T"], snarl: ["5E"], - snatch: ["5L40", "4M", "3M"], + snatch: ["4M", "3M"], snore: ["4T", "3T"], spite: ["5E", "4T", "4E", "3E"], strength: ["5M", "4M", "3M"], @@ -17919,7 +17919,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { shadowball: ["5M", "4M"], shadowclaw: ["5M", "4M"], sleeptalk: ["4M"], - snatch: ["5L40", "4M"], + snatch: ["4M"], snore: ["4T"], spite: ["4T"], strength: ["5M", "4M"], @@ -18477,7 +18477,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { earthpower: ["5L53", "4T", "4L53"], earthquake: ["5M", "4M", "3M"], endeavor: ["4T"], - endure: ["5L35", "4M", "3T"], + endure: ["4M", "3T"], explosion: ["5M", "4M", "3T"], facade: ["5M", "4M", "3M"], frustration: ["5M", "4M", "3M"], @@ -21939,7 +21939,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { learnset: { aerialace: ["5M", "5L42", "4M", "4L42", "3M"], agility: ["5L37", "5E", "4L37", "4E", "3L55", "3E"], - aircutter: ["5L33", "4T"], + aircutter: ["4T"], airslash: ["5L47", "4L47"], aquaring: ["5E", "4E"], attract: ["5M", "4M", "3M"], @@ -22006,7 +22006,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { aircutter: ["4T"], attract: ["5M", "4M", "3M"], blizzard: ["5M", "4M", "3M"], - brine: ["5L34", "4M"], + brine: ["4M"], captivate: ["4M"], defog: ["4M"], doubleedge: ["3T"], @@ -26035,7 +26035,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { hyperbeam: ["5M", "5L57", "4M", "4L57", "3M", "3L57"], mimic: ["3T"], mudshot: ["5E", "4E"], - mudslap: ["5L13", "4T", "3T"], + mudslap: ["4T", "3T"], naturalgift: ["4M"], protect: ["5M", "4M", "3M"], quickattack: ["5E", "4E", "3E"], @@ -26079,7 +26079,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { dracometeor: ["5T", "4T"], dragonbreath: ["5L35", "4L35", "3L35"], dragonpulse: ["4M"], - earthpower: ["5L39", "4T"], + earthpower: ["4T"], earthquake: ["5M", "4M", "3M"], endure: ["4M", "3T"], facade: ["5M", "4M", "3M"], @@ -26093,7 +26093,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { hiddenpower: ["5M", "4M", "3M"], hyperbeam: ["5M", "5L57", "4M", "4L57", "3M", "3L57"], mimic: ["3T"], - mudslap: ["5L13", "4T", "3T"], + mudslap: ["4T", "3T"], naturalgift: ["4M"], ominouswind: ["4T"], outrage: ["4T"], @@ -26150,7 +26150,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { dragonclaw: ["5M", "5L45", "4M", "4L45", "4S1", "3M"], dragonpulse: ["4M"], dragontail: ["5M", "5L65"], - earthpower: ["5L39", "4T"], + earthpower: ["4T"], earthquake: ["5M", "4M", "4S1", "3M"], endure: ["4M", "3T"], facade: ["5M", "4M", "3M"], @@ -26171,7 +26171,7 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { incinerate: ["5M"], irontail: ["4M", "3M"], mimic: ["3T"], - mudslap: ["5L13", "4T", "3T"], + mudslap: ["4T", "3T"], naturalgift: ["4M"], ominouswind: ["4T"], outrage: ["4T"], @@ -43943,120 +43943,6 @@ export const Learnsets: {[k: string]: ModdedLearnsetData} = { toxic: ["5M"], }, }, - kyuremblack: { - inherit: true, - learnset: { - ancientpower: ["5L15"], - blizzard: ["5M", "5L78"], - cut: ["5M"], - doubleteam: ["5M"], - dracometeor: ["5T"], - dragonbreath: ["5L29"], - dragonclaw: ["5M"], - dragonpulse: ["5L57", "5S0", "5S1"], - dragonrage: ["5L1"], - dragontail: ["5M"], - echoedvoice: ["5M"], - endeavor: ["5L71", "5S0"], - facade: ["5M"], - flashcannon: ["5M"], - fling: ["5M"], - fly: ["5M"], - focusblast: ["5M"], - freezeshock: ["5L43", "5S0", "5S1"], - frustration: ["5M"], - fusionbolt: ["5L50", "5S1"], - gigaimpact: ["5M"], - hail: ["5M"], - hiddenpower: ["5M"], - honeclaws: ["5M"], - hyperbeam: ["5M"], - hypervoice: ["5L92"], - icebeam: ["5M", "5L22"], - icywind: ["5L1"], - imprison: ["5L8", "5S0", "5S1"], - lightscreen: ["5M"], - outrage: ["5L85"], - payback: ["5M"], - protect: ["5M"], - psychic: ["5M"], - raindance: ["5M"], - reflect: ["5M"], - rest: ["5M"], - return: ["5M"], - rockslide: ["5M"], - rocksmash: ["5M"], - rocktomb: ["5M"], - round: ["5M"], - safeguard: ["5M"], - shadowball: ["5M"], - shadowclaw: ["5M"], - slash: ["5L36"], - stoneedge: ["5M"], - strength: ["5M"], - substitute: ["5M"], - sunnyday: ["5M"], - swagger: ["5M"], - toxic: ["5M"], - }, - }, - kyuremwhite: { - inherit: true, - learnset: { - ancientpower: ["5L15"], - blizzard: ["5M", "5L78"], - cut: ["5M"], - doubleteam: ["5M"], - dracometeor: ["5T"], - dragonbreath: ["5L29"], - dragonclaw: ["5M"], - dragonpulse: ["5L57", "5S0", "5S1"], - dragonrage: ["5L1"], - dragontail: ["5M"], - echoedvoice: ["5M"], - endeavor: ["5L71", "5S0"], - facade: ["5M"], - flashcannon: ["5M"], - fling: ["5M"], - fly: ["5M"], - focusblast: ["5M"], - frustration: ["5M"], - fusionflare: ["5L50", "5S1"], - gigaimpact: ["5M"], - hail: ["5M"], - hiddenpower: ["5M"], - honeclaws: ["5M"], - hyperbeam: ["5M"], - hypervoice: ["5L92"], - icebeam: ["5M", "5L22"], - iceburn: ["5L43", "5S0", "5S1"], - icywind: ["5L1"], - imprison: ["5L8", "5S0", "5S1"], - lightscreen: ["5M"], - outrage: ["5L85"], - payback: ["5M"], - protect: ["5M"], - psychic: ["5M"], - raindance: ["5M"], - reflect: ["5M"], - rest: ["5M"], - return: ["5M"], - rockslide: ["5M"], - rocksmash: ["5M"], - rocktomb: ["5M"], - round: ["5M"], - safeguard: ["5M"], - shadowball: ["5M"], - shadowclaw: ["5M"], - slash: ["5L36"], - stoneedge: ["5M"], - strength: ["5M"], - substitute: ["5M"], - sunnyday: ["5M"], - swagger: ["5M"], - toxic: ["5M"], - }, - }, keldeo: { inherit: true, learnset: { diff --git a/data/mods/gen6/abilities.ts b/data/mods/gen6/abilities.ts index def809f0ac31..0e5eae2c2c97 100644 --- a/data/mods/gen6/abilities.ts +++ b/data/mods/gen6/abilities.ts @@ -54,6 +54,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { move.type = 'Normal'; } }, + onBasePower() {}, rating: -1, }, parentalbond: { @@ -121,6 +122,6 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, zenmode: { inherit: true, - isPermanent: false, + flags: {failroleplay: 1, noentrain: 1, notrace: 1}, }, }; diff --git a/data/mods/gen6/formats-data.ts b/data/mods/gen6/formats-data.ts index 8df8a45971a2..526a112d64f8 100644 --- a/data/mods/gen6/formats-data.ts +++ b/data/mods/gen6/formats-data.ts @@ -52,7 +52,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, butterfree: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, weedle: { @@ -62,7 +62,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beedrill: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, beedrillmega: { @@ -76,7 +76,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, pidgeot: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pidgeotmega: { @@ -87,14 +87,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, raticate: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, spearow: { tier: "LC", }, fearow: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, ekans: { @@ -108,30 +108,31 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, pikachu: { - tier: "NFE", + tier: "ZU", + doublesTier: "(DUU)", }, pikachucosplay: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachurockstar: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachubelle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachupopstar: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachuphd: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachulibre: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, raichu: { @@ -190,7 +191,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, wigglytuff: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, zubat: { @@ -215,14 +216,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, bellossom: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, paras: { tier: "LC", }, parasect: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, venonat: { @@ -243,14 +244,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, persian: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, psyduck: { tier: "LC", }, golduck: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mankey: { @@ -278,7 +279,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, politoed: { - tier: "(PU)", + tier: "ZU", doublesTier: "DOU", }, abra: { @@ -368,7 +369,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, farfetchd: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, doduo: { @@ -382,7 +383,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, dewgong: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, grimer: { @@ -429,7 +430,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, hypno: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, krabby: { @@ -541,7 +542,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, seaking: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, staryu: { @@ -625,7 +626,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, ditto: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, eevee: { @@ -656,7 +657,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, glaceon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, porygon: { @@ -744,7 +745,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, meganium: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cyndaquil: { @@ -771,28 +772,28 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, furret: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, hoothoot: { tier: "LC", }, noctowl: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, ledyba: { tier: "LC", }, ledian: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, spinarak: { tier: "LC", }, ariados: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, chinchou: { @@ -848,7 +849,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sudowoodo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, hoppip: { @@ -858,7 +859,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, jumpluff: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, aipom: { @@ -872,7 +873,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sunflora: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, yanma: { @@ -905,18 +906,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, unown: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, wynaut: { tier: "LC", }, wobbuffet: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, girafarig: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pineco: { @@ -927,7 +928,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, dunsparce: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gligar: { @@ -980,7 +981,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, magcargo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, swinub: { @@ -995,18 +996,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, corsola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, remoraid: { tier: "LC", }, octillery: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, delibird: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mantyke: { @@ -1039,7 +1040,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, stantler: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, smeargle: { @@ -1135,7 +1136,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, mightyena: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, zigzagoon: { @@ -1152,14 +1153,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beautifly: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cascoon: { tier: "NFE", }, dustox: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lotad: { @@ -1222,7 +1223,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, masquerain: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, shroomish: { @@ -1240,7 +1241,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "NFE", }, slaking: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, nincada: { @@ -1251,7 +1252,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, shedinja: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, whismur: { @@ -1282,7 +1283,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, delcatty: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, sableye: { @@ -1338,19 +1339,19 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, plusle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, minun: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, volbeat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, illumise: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, budew: { @@ -1368,7 +1369,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, swalot: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, carvanha: { @@ -1386,7 +1387,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, wailord: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, numel: { @@ -1412,7 +1413,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, spinda: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, trapinch: { @@ -1448,22 +1449,22 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, seviper: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lunatone: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, solrock: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, barboach: { tier: "LC", }, whiscash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, corphish: { @@ -1502,7 +1503,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, castform: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, castformsunny: { @@ -1519,7 +1520,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, banette: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, banettemega: { @@ -1537,14 +1538,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, tropius: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, chingling: { tier: "LC", }, chimecho: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, absol: { @@ -1559,7 +1560,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, glalie: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, glaliemega: { @@ -1577,14 +1578,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, walrein: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, clamperl: { tier: "LC", }, huntail: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gorebyss: { @@ -1596,7 +1597,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, luvdisc: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, bagon: { @@ -1742,14 +1743,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, bibarel: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, kricketot: { tier: "LC", }, kricketune: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, shinx: { @@ -1759,7 +1760,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, luxray: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cranidos: { @@ -1773,37 +1774,37 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, bastiodon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, burmy: { tier: "LC", }, wormadam: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, wormadamsandy: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, wormadamtrash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mothim: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, combee: { tier: "LC", }, vespiquen: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pachirisu: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, buizel: { @@ -1817,7 +1818,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, cherrim: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cherrimsunshine: { @@ -1840,7 +1841,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, lopunny: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lopunnymega: { @@ -1851,7 +1852,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, purugly: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, stunky: { @@ -1924,7 +1925,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, carnivine: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, finneon: { @@ -1994,7 +1995,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, regigigas: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, giratina: { @@ -2008,7 +2009,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, phione: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, manaphy: { @@ -2103,7 +2104,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, watchog: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lillipup: { @@ -2127,21 +2128,21 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, simisage: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pansear: { tier: "LC", }, simisear: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, panpour: { tier: "LC", }, simipour: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, munna: { @@ -2158,7 +2159,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, unfezant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, blitzle: { @@ -2175,14 +2176,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, gigalith: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, woobat: { tier: "LC", }, swoobat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, drilbur: { @@ -2289,7 +2290,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, maractus: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, dwebble: { @@ -2359,7 +2360,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, gothitelle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, solosis: { @@ -2386,18 +2387,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, vanilluxe: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, deerling: { tier: "LC", }, sawsbuck: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, emolga: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, karrablast: { @@ -2481,7 +2482,8 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, fraxure: { - tier: "NFE", + tier: "ZUBL", + doublesTier: "NFE", }, haxorus: { tier: "UU", @@ -2491,7 +2493,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, beartic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cryogonal: { @@ -2555,7 +2557,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, heatmor: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, durant: { @@ -2752,7 +2754,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, gogoat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pancham: { @@ -2763,18 +2765,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, furfrou: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, espurr: { tier: "LC", }, meowstic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, meowsticf: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, honedge: { @@ -2862,11 +2864,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, dedenne: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, carbink: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, goomy: { @@ -2903,15 +2905,15 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, gourgeist: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gourgeistsmall: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gourgeistlarge: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gourgeistsuper: { diff --git a/data/mods/gen6/moves.ts b/data/mods/gen6/moves.ts index 21fa1dbcb21d..aa3c8df47fae 100644 --- a/data/mods/gen6/moves.ts +++ b/data/mods/gen6/moves.ts @@ -201,7 +201,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, rockblast: { inherit: true, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, }, sheercold: { inherit: true, diff --git a/data/mods/gen6/pokedex.ts b/data/mods/gen6/pokedex.ts index f43974752d84..2714d78bab35 100644 --- a/data/mods/gen6/pokedex.ts +++ b/data/mods/gen6/pokedex.ts @@ -348,7 +348,7 @@ export const Pokedex: {[k: string]: ModdedSpeciesData} = { }, revenankh: { inherit: true, - abilities: {0: "Shed Skin", 1: "Air Lock"}, + abilities: {0: "Air Lock", H: "Shed Skin"}, }, pyroak: { inherit: true, diff --git a/data/mods/gen7/abilities.ts b/data/mods/gen7/abilities.ts index 13cdad8bd6a4..6cc1cdc4bcd4 100644 --- a/data/mods/gen7/abilities.ts +++ b/data/mods/gen7/abilities.ts @@ -24,21 +24,17 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, darkaura: { inherit: true, - isBreakable: true, + flags: {breakable: 1}, }, fairyaura: { inherit: true, - isBreakable: true, + flags: {breakable: 1}, }, innerfocus: { inherit: true, rating: 1, onTryBoost() {}, }, - intimidate: { - inherit: true, - rating: 4, - }, moody: { inherit: true, onResidual(pokemon) { diff --git a/data/mods/gen7/formats-data.ts b/data/mods/gen7/formats-data.ts index 9add29a67ee2..4585f0639ba4 100644 --- a/data/mods/gen7/formats-data.ts +++ b/data/mods/gen7/formats-data.ts @@ -52,7 +52,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, butterfree: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, weedle: { @@ -62,7 +62,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beedrill: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, beedrillmega: { @@ -76,7 +76,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, pidgeot: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pidgeotmega: { @@ -90,67 +90,68 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, raticate: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, raticatealola: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, raticatealolatotem: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, spearow: { tier: "LC", }, fearow: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, ekans: { tier: "LC", }, arbok: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pichu: { tier: "LC", }, pikachu: { - tier: "NFE", + tier: "ZU", + doublesTier: "(DUU)", }, pikachuoriginal: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachuhoenn: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachusinnoh: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachuunova: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachukalos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachualola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pikachupartner: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, raichu: { - tier: "(PU)", + tier: "ZU", doublesTier: "DUU", }, raichualola: { @@ -164,7 +165,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sandslash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, sandslashalola: { @@ -223,7 +224,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, wigglytuff: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, zubat: { @@ -248,14 +249,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, bellossom: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, paras: { tier: "LC", }, parasect: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, venonat: { @@ -272,7 +273,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, dugtrio: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, dugtrioalola: { @@ -286,7 +287,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, persian: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, persianalola: { @@ -297,7 +298,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, golduck: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mankey: { @@ -321,18 +322,19 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, poliwrath: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, politoed: { - tier: "(PU)", + tier: "ZU", doublesTier: "DOU", }, abra: { tier: "LC", }, kadabra: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", }, alakazam: { tier: "UUBL", @@ -382,18 +384,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, golem: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, golemalola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, ponyta: { tier: "LC", }, rapidash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, slowpoke: { @@ -423,7 +425,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, farfetchd: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, doduo: { @@ -437,7 +439,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, dewgong: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, grimer: { @@ -447,7 +449,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, muk: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mukalola: { @@ -491,7 +493,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, hypno: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, krabby: { @@ -505,14 +507,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, electrode: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, exeggcute: { tier: "LC", }, exeggutor: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, exeggutoralola: { @@ -523,7 +525,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, marowak: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, marowakalola: { @@ -553,7 +555,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, lickilicky: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, koffing: { @@ -615,7 +617,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, seaking: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, staryu: { @@ -629,7 +631,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, mrmime: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, scyther: { @@ -648,7 +650,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, jynx: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, elekid: { @@ -658,7 +660,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, electivire: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, magby: { @@ -672,7 +674,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, pinsir: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pinsirmega: { @@ -695,11 +697,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, lapras: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, ditto: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, eevee: { @@ -714,7 +716,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, flareon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, espeon: { @@ -726,11 +728,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, leafeon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, glaceon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, porygon: { @@ -818,7 +820,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, meganium: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cyndaquil: { @@ -845,28 +847,28 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, furret: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, hoothoot: { tier: "LC", }, noctowl: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, ledyba: { tier: "LC", }, ledian: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, spinarak: { tier: "LC", }, ariados: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, chinchou: { @@ -900,7 +902,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, ampharos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, ampharosmega: { @@ -921,7 +923,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sudowoodo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, hoppip: { @@ -931,7 +933,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, jumpluff: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, aipom: { @@ -945,7 +947,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sunflora: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, yanma: { @@ -977,18 +979,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, unown: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, wynaut: { tier: "LC", }, wobbuffet: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, girafarig: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pineco: { @@ -999,7 +1001,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, dunsparce: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gligar: { @@ -1014,7 +1016,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, granbull: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, qwilfish: { @@ -1022,7 +1024,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, shuckle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, heracross: { @@ -1045,14 +1047,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, ursaring: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, slugma: { tier: "LC", }, magcargo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, swinub: { @@ -1067,18 +1069,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, corsola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, remoraid: { tier: "LC", }, octillery: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, delibird: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mantyke: { @@ -1111,11 +1113,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, stantler: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, smeargle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, miltank: { @@ -1178,7 +1180,8 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, combusken: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", }, blaziken: { tier: "Uber", @@ -1206,7 +1209,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, mightyena: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, zigzagoon: { @@ -1223,14 +1226,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, beautifly: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cascoon: { tier: "NFE", }, dustox: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lotad: { @@ -1250,7 +1253,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, shiftry: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, taillow: { @@ -1293,7 +1296,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, masquerain: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, shroomish: { @@ -1310,18 +1313,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, slaking: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, nincada: { tier: "LC", }, ninjask: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, shedinja: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, whismur: { @@ -1345,14 +1348,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, probopass: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, skitty: { tier: "LC", }, delcatty: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, sableye: { @@ -1364,7 +1367,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, mawile: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mawilemega: { @@ -1408,19 +1411,19 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, plusle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, minun: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, volbeat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, illumise: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, budew: { @@ -1438,7 +1441,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, swalot: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, carvanha: { @@ -1456,14 +1459,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, wailord: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, numel: { tier: "LC", }, camerupt: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cameruptmega: { @@ -1471,18 +1474,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, torkoal: { - tier: "(PU)", + tier: "ZU", doublesTier: "DUU", }, spoink: { tier: "LC", }, grumpig: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, spinda: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, trapinch: { @@ -1499,14 +1502,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, cacturne: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, swablu: { tier: "LC", }, altaria: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, altariamega: { @@ -1518,22 +1521,22 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, seviper: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lunatone: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, solrock: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, barboach: { tier: "LC", }, whiscash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, corphish: { @@ -1554,14 +1557,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, cradily: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, anorith: { tier: "LC", }, armaldo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, feebas: { @@ -1572,7 +1575,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, castform: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, castformsunny: { @@ -1582,14 +1585,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { castformsnowy: { }, kecleon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, shuppet: { tier: "LC", }, banette: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, banettemega: { @@ -1600,21 +1603,22 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, dusclops: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", }, dusknoir: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, tropius: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, chingling: { tier: "LC", }, chimecho: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, absol: { @@ -1629,7 +1633,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, glalie: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, glaliemega: { @@ -1647,26 +1651,26 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, walrein: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, clamperl: { tier: "LC", }, huntail: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gorebyss: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, relicanth: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, luvdisc: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, bagon: { @@ -1702,7 +1706,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, regice: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, registeel: { @@ -1776,7 +1780,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, torterra: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, chimchar: { @@ -1813,14 +1817,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, bibarel: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, kricketot: { tier: "LC", }, kricketune: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, shinx: { @@ -1830,65 +1834,65 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, luxray: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cranidos: { tier: "LC", }, rampardos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, shieldon: { tier: "LC", }, bastiodon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, burmy: { tier: "LC", }, wormadam: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, wormadamsandy: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, wormadamtrash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mothim: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, combee: { tier: "LC", }, vespiquen: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pachirisu: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, buizel: { tier: "LC", }, floatzel: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cherubi: { tier: "LC", }, cherrim: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cherrimsunshine: { @@ -1904,14 +1908,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, drifblim: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, buneary: { tier: "LC", }, lopunny: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lopunnymega: { @@ -1922,7 +1926,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, purugly: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, stunky: { @@ -1933,14 +1937,15 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, bronzor: { - tier: "LC", + tier: "ZU", + doublesTier: "LC", }, bronzong: { tier: "RU", doublesTier: "DUU", }, chatot: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, spiritomb: { @@ -1994,14 +1999,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, carnivine: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, finneon: { tier: "LC", }, lumineon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, snover: { @@ -2032,7 +2037,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, rotomfan: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, rotommow: { @@ -2064,7 +2069,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, regigigas: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, giratina: { @@ -2078,7 +2083,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, phione: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, manaphy: { @@ -2173,7 +2178,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, watchog: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lillipup: { @@ -2197,21 +2202,21 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, simisage: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pansear: { tier: "LC", }, simisear: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, panpour: { tier: "LC", }, simipour: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, munna: { @@ -2228,14 +2233,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, unfezant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, blitzle: { tier: "LC", }, zebstrika: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, roggenrola: { @@ -2252,7 +2257,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, swoobat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, drilbur: { @@ -2292,7 +2297,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, throh: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, sawk: { @@ -2306,7 +2311,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, leavanny: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, venipede: { @@ -2334,11 +2339,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, basculin: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, basculinbluestriped: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, sandile: { @@ -2359,14 +2364,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, maractus: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, dwebble: { tier: "LC", }, crustle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, scraggy: { @@ -2429,7 +2434,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, gothitelle: { - tier: "(PU)", + tier: "ZU", doublesTier: "DOU", }, solosis: { @@ -2446,7 +2451,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, swanna: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, vanillite: { @@ -2463,11 +2468,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, sawsbuck: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, emolga: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, karrablast: { @@ -2534,7 +2539,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, beheeyem: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, litwick: { @@ -2561,7 +2566,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, beartic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, cryogonal: { @@ -2576,7 +2581,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, stunfisk: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, mienfoo: { @@ -2598,14 +2603,15 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, pawniard: { - tier: "LC", + tier: "ZU", + doublesTier: "LC", }, bisharp: { tier: "UU", doublesTier: "DUU", }, bouffalant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, rufflet: { @@ -2623,7 +2629,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, heatmor: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, durant: { @@ -2836,7 +2842,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, gogoat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pancham: { @@ -2847,18 +2853,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, furfrou: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, espurr: { tier: "LC", }, meowstic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, meowsticf: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, honedge: { @@ -2946,11 +2952,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, dedenne: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, carbink: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, goomy: { @@ -2971,7 +2977,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, trevenant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, pumpkaboo: { @@ -2987,26 +2993,26 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, gourgeist: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gourgeistsmall: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gourgeistlarge: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gourgeistsuper: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, bergmite: { tier: "LC", }, avalugg: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, noibat: { @@ -3093,18 +3099,18 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, toucannon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, yungoos: { tier: "LC", }, gumshoos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, gumshoostotem: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, grubbin: { @@ -3125,11 +3131,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, crabominable: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, oricorio: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, oricoriopompom: { @@ -3137,7 +3143,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, oricoriopau: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, oricoriosensu: { @@ -3166,7 +3172,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, lycanrocmidnight: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, lycanrocdusk: { @@ -3174,13 +3180,14 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, wishiwashi: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, wishiwashischool: { }, mareanie: { - tier: "LC", + tier: "ZU", + doublesTier: "LC", }, toxapex: { tier: "OU", @@ -3219,7 +3226,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, shiinotic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, salandit: { @@ -3255,7 +3262,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, oranguru: { - tier: "(PU)", + tier: "ZU", doublesTier: "DUU", }, passimian: { @@ -3277,31 +3284,31 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, pyukumuku: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, typenull: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "NFE", }, silvally: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallybug: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallydark: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallydragon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyelectric: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyfairy: { @@ -3309,15 +3316,15 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, silvallyfighting: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyfire: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyflying: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyghost: { @@ -3325,27 +3332,27 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, silvallygrass: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyground: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyice: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallypoison: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallypsychic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallyrock: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, silvallysteel: { @@ -3353,7 +3360,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "(DUU)", }, silvallywater: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, minior: { @@ -3362,11 +3369,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { }, miniormeteor: {}, komala: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", }, turtonator: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", }, togedemaru: { diff --git a/data/mods/gen7/moves.ts b/data/mods/gen7/moves.ts index 850efdb363bb..fc8e6e3c57e4 100644 --- a/data/mods/gen7/moves.ts +++ b/data/mods/gen7/moves.ts @@ -153,7 +153,9 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, dive: { inherit: true, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1}, + flags: { + contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, + }, }, dizzypunch: { inherit: true, @@ -167,6 +169,10 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, + dragonhammer: { + inherit: true, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + }, dragonrage: { inherit: true, isNonstandard: null, @@ -497,7 +503,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, howl: { inherit: true, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { atk: 1, }, @@ -642,12 +648,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - metronome: { - inherit: true, - noMetronome: [ - "After You", "Assist", "Baneful Bunker", "Beak Blast", "Belch", "Bestow", "Celebrate", "Chatter", "Copycat", "Counter", "Covet", "Crafty Shield", "Destiny Bond", "Detect", "Diamond Storm", "Dragon Ascent", "Endure", "Feint", "Fleur Cannon", "Focus Punch", "Follow Me", "Freeze Shock", "Helping Hand", "Hold Hands", "Hyperspace Fury", "Hyperspace Hole", "Ice Burn", "Instruct", "King's Shield", "Light of Ruin", "Mat Block", "Me First", "Metronome", "Mimic", "Mind Blown", "Mirror Coat", "Mirror Move", "Nature Power", "Origin Pulse", "Photon Geyser", "Plasma Fists", "Precipice Blades", "Protect", "Quash", "Quick Guard", "Rage Powder", "Relic Song", "Secret Sword", "Shell Trap", "Sketch", "Sleep Talk", "Snarl", "Snatch", "Snore", "Spectral Thief", "Spiky Shield", "Spotlight", "Steam Eruption", "Struggle", "Switcheroo", "Techno Blast", "Thief", "Thousand Arrows", "Thousand Waves", "Transform", "Trick", "V-create", "Wide Guard", - ], - }, miracleeye: { inherit: true, isNonstandard: null, @@ -660,6 +660,10 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, + moongeistbeam: { + inherit: true, + flags: {protect: 1, mirror: 1, metronome: 1}, + }, moonlight: { inherit: true, onHit(pokemon) { @@ -724,6 +728,10 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, + naturesmadness: { + inherit: true, + flags: {protect: 1, mirror: 1, metronome: 1}, + }, needlearm: { inherit: true, isNonstandard: null, @@ -750,7 +758,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, pollenpuff: { inherit: true, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, onHit(target, source) { if (source.isAlly(target)) { if (!this.heal(Math.floor(target.baseMaxhp * 0.5))) { @@ -1024,6 +1032,10 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, + sunsteelstrike: { + inherit: true, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + }, supersonicskystrike: { inherit: true, isNonstandard: null, diff --git a/data/mods/gen7/random-doubles-data.json b/data/mods/gen7/random-doubles-data.json deleted file mode 100644 index 736566d59472..000000000000 --- a/data/mods/gen7/random-doubles-data.json +++ /dev/null @@ -1,1739 +0,0 @@ -{ - "venusaur": { - "moves": ["gigadrain", "hiddenpowerfire", "hiddenpowerice", "powerwhip", "protect", "sleeppowder", "sludgebomb"] - }, - "venusaurmega": { - "moves": ["gigadrain", "hiddenpowerfire", "hiddenpowerice", "powerwhip", "protect", "sleeppowder", "sludgebomb"] - }, - "charizard": { - "moves": ["airslash", "fireblast", "focusblast", "heatwave", "holdhands", "protect", "roost"] - }, - "charizardmegax": { - "moves": ["dragonclaw", "dragondance", "flareblitz", "rockslide", "roost", "thunderpunch"] - }, - "charizardmegay": { - "moves": ["airslash", "fireblast", "focusblast", "heatwave", "protect", "solarbeam"] - }, - "blastoise": { - "moves": ["fakeout", "followme", "icywind", "muddywater", "protect", "rapidspin", "scald"] - }, - "blastoisemega": { - "moves": ["aurasphere", "darkpulse", "fakeout", "icebeam", "muddywater", "protect", "waterpulse"] - }, - "butterfree": { - "moves": ["airslash", "bugbuzz", "protect", "quiverdance", "sleeppowder"] - }, - "beedrill": { - "moves": ["knockoff", "poisonjab", "protect", "tailwind", "toxicspikes", "uturn"] - }, - "beedrillmega": { - "moves": ["drillrun", "knockoff", "poisonjab", "protect", "uturn", "xscissor"] - }, - "pidgeot": { - "moves": ["bravebird", "doubleedge", "heatwave", "protect", "return", "tailwind", "uturn"] - }, - "pidgeotmega": { - "moves": ["heatwave", "hurricane", "protect", "tailwind", "uturn"] - }, - "raticate": { - "moves": ["crunch", "facade", "protect", "stompingtantrum", "suckerpunch", "uturn"] - }, - "raticatealola": { - "moves": ["doubleedge", "knockoff", "protect", "suckerpunch", "uturn"] - }, - "fearow": { - "moves": ["doubleedge", "drillpeck", "drillrun", "protect", "quickattack", "return", "uturn"] - }, - "arbok": { - "moves": ["aquatail", "coil", "gunkshot", "protect", "stompingtantrum", "suckerpunch"] - }, - "pikachu": { - "moves": ["encore", "fakeout", "grassknot", "hiddenpowerice", "knockoff", "protect", "voltswitch", "volttackle"] - }, - "raichu": { - "moves": ["encore", "fakeout", "focusblast", "grassknot", "hiddenpowerice", "protect", "thunderbolt", "voltswitch"] - }, - "raichualola": { - "moves": ["fakeout", "grassknot", "nastyplot", "protect", "psyshock", "thunderbolt", "voltswitch"] - }, - "sandslash": { - "moves": ["earthquake", "knockoff", "protect", "stealthrock", "stoneedge", "swordsdance"] - }, - "sandslashalola": { - "moves": ["drillrun", "iciclecrash", "ironhead", "protect", "swordsdance"] - }, - "nidoqueen": { - "moves": ["earthpower", "icebeam", "protect", "sludgebomb", "stealthrock"] - }, - "nidoking": { - "moves": ["earthpower", "fireblast", "icebeam", "protect", "sludgebomb"] - }, - "clefable": { - "moves": ["dazzlinggleam", "fireblast", "followme", "helpinghand", "moonblast", "protect", "softboiled", "thunderwave"] - }, - "ninetales": { - "moves": ["fireblast", "heatwave", "nastyplot", "protect", "solarbeam", "willowisp"] - }, - "ninetalesalola": { - "moves": ["auroraveil", "blizzard", "encore", "freezedry", "hiddenpowerfire", "moonblast", "protect"] - }, - "wigglytuff": { - "moves": ["dazzlinggleam", "fireblast", "hypervoice", "protect", "stealthrock", "thunderwave"] - }, - "vileplume": { - "moves": ["energyball", "hiddenpowerfire", "protect", "sleeppowder", "sludgebomb", "strengthsap"] - }, - "parasect": { - "moves": ["knockoff", "leechlife", "leechseed", "protect", "ragepowder", "seedbomb", "spore", "wideguard"] - }, - "venomoth": { - "moves": ["bugbuzz", "protect", "quiverdance", "ragepowder", "sleeppowder", "sludgebomb"] - }, - "dugtrio": { - "moves": ["earthquake", "protect", "rockslide", "stoneedge", "suckerpunch"] - }, - "dugtrioalola": { - "moves": ["earthquake", "ironhead", "protect", "rockslide", "stoneedge", "suckerpunch"] - }, - "persian": { - "moves": ["fakeout", "hypnosis", "knockoff", "protect", "return", "taunt", "uturn"] - }, - "persianalola": { - "moves": ["fakeout", "foulplay", "hiddenpowerfighting", "icywind", "partingshot", "protect", "snarl"] - }, - "golduck": { - "moves": ["calmmind", "encore", "focusblast", "hydropump", "icebeam", "protect", "scald"] - }, - "primeape": { - "moves": ["closecombat", "icepunch", "poisonjab", "protect", "rockslide", "stompingtantrum", "stoneedge", "taunt", "uturn"] - }, - "arcanine": { - "moves": ["closecombat", "extremespeed", "flareblitz", "protect", "snarl", "wildcharge", "willowisp"] - }, - "poliwrath": { - "moves": ["circlethrow", "encore", "icywind", "protect", "scald", "superpower", "toxic"] - }, - "alakazam": { - "moves": ["dazzlinggleam", "encore", "focusblast", "protect", "psychic", "shadowball"] - }, - "alakazammega": { - "moves": ["calmmind", "encore", "focusblast", "protect", "psychic", "shadowball"] - }, - "machamp": { - "moves": ["bulletpunch", "closecombat", "facade", "knockoff", "protect", "stoneedge", "wideguard"] - }, - "victreebel": { - "moves": ["growth", "knockoff", "powerwhip", "protect", "sleeppowder", "sludgebomb", "solarbeam", "suckerpunch", "sunnyday", "weatherball"] - }, - "tentacruel": { - "moves": ["acidspray", "knockoff", "muddywater", "protect", "rapidspin", "scald", "sludgebomb"] - }, - "golem": { - "moves": ["earthquake", "protect", "rockslide", "stealthrock", "stoneedge", "suckerpunch"] - }, - "golemalola": { - "moves": ["doubleedge", "protect", "rockslide", "stealthrock", "stompingtantrum", "stoneedge"] - }, - "rapidash": { - "moves": ["flareblitz", "highhorsepower", "hypnosis", "protect", "wildcharge", "willowisp"] - }, - "slowbro": { - "moves": ["protect", "psychic", "psyshock", "scald", "slackoff", "thunderwave", "toxic"] - }, - "slowbromega": { - "moves": ["fireblast", "icebeam", "protect", "psychic", "psyshock", "scald", "slackoff", "trickroom"] - }, - "farfetchd": { - "moves": ["bravebird", "knockoff", "leafblade", "protect", "return", "swordsdance"] - }, - "dodrio": { - "moves": ["bravebird", "knockoff", "protect", "quickattack", "return", "swordsdance"] - }, - "dewgong": { - "moves": ["encore", "fakeout", "helpinghand", "icebeam", "icywind", "liquidation", "protect", "toxic"] - }, - "muk": { - "moves": ["firepunch", "gunkshot", "icepunch", "poisonjab", "protect", "shadowsneak"] - }, - "mukalola": { - "moves": ["gunkshot", "knockoff", "poisonjab", "protect", "shadowsneak", "snarl", "stoneedge"] - }, - "cloyster": { - "moves": ["hydropump", "iciclespear", "protect", "rockblast", "shellsmash"] - }, - "gengar": { - "moves": ["focusblast", "protect", "shadowball", "sludgebomb", "taunt", "willowisp"] - }, - "gengarmega": { - "moves": ["disable", "focusblast", "hypnosis", "protect", "shadowball", "sludgebomb", "willowisp"] - }, - "hypno": { - "moves": ["hypnosis", "protect", "psychic", "seismictoss", "thunderwave"] - }, - "kingler": { - "moves": ["agility", "knockoff", "liquidation", "protect", "rockslide", "wideguard", "xscissor"] - }, - "electrode": { - "moves": ["foulplay", "protect", "taunt", "thunderbolt", "thunderwave", "voltswitch"] - }, - "exeggutor": { - "moves": ["energyball", "hiddenpowerfire", "leechseed", "protect", "psychic", "sleeppowder", "substitute", "trickroom"] - }, - "exeggutoralola": { - "moves": ["dracometeor", "dragonhammer", "flamethrower", "leafstorm", "protect", "trickroom", "woodhammer"] - }, - "marowak": { - "moves": ["bonemerang", "doubleedge", "firepunch", "protect", "rockslide", "stealthrock", "swordsdance"] - }, - "marowakalola": { - "moves": ["bonemerang", "flareblitz", "protect", "shadowbone", "stoneedge", "willowisp"] - }, - "hitmonlee": { - "moves": ["closecombat", "fakeout", "knockoff", "machpunch", "protect", "rockslide"] - }, - "hitmonchan": { - "moves": ["drainpunch", "fakeout", "firepunch", "icepunch", "machpunch", "protect"] - }, - "weezing": { - "moves": ["fireblast", "painsplit", "protect", "sludgebomb", "toxicspikes", "willowisp"] - }, - "rhydon": { - "moves": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] - }, - "chansey": { - "moves": ["helpinghand", "protect", "seismictoss", "softboiled", "thunderwave", "toxic"] - }, - "kangaskhan": { - "moves": ["crunch", "doubleedge", "drainpunch", "earthquake", "fakeout", "protect", "return", "suckerpunch"] - }, - "kangaskhanmega": { - "moves": ["drainpunch", "earthquake", "fakeout", "poweruppunch", "protect", "return", "suckerpunch"] - }, - "seaking": { - "moves": ["drillrun", "icywind", "knockoff", "megahorn", "protect", "waterfall"] - }, - "starmie": { - "moves": ["hydropump", "icebeam", "protect", "psychic", "psyshock", "scald", "thunderbolt"] - }, - "mrmime": { - "moves": ["dazzlinggleam", "encore", "fakeout", "followme", "hiddenpowerfighting", "icywind", "protect", "psychic", "thunderbolt", "thunderwave", "wideguard"] - }, - "scyther": { - "moves": ["aerialace", "brickbreak", "bugbite", "feint", "knockoff", "protect", "swordsdance", "uturn"] - }, - "jynx": { - "moves": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "protect", "psychic", "psyshock"] - }, - "pinsir": { - "moves": ["closecombat", "feint", "knockoff", "protect", "rockslide", "xscissor"] - }, - "pinsirmega": { - "moves": ["closecombat", "feint", "protect", "quickattack", "return", "rockslide", "swordsdance"] - }, - "tauros": { - "moves": ["doubleedge", "protect", "return", "rockslide", "stompingtantrum", "stoneedge", "zenheadbutt"] - }, - "gyarados": { - "moves": ["bounce", "dragondance", "protect", "stoneedge", "thunderwave", "waterfall"] - }, - "gyaradosmega": { - "moves": ["crunch", "dragondance", "icefang", "protect", "taunt", "thunderwave", "waterfall"] - }, - "lapras": { - "moves": ["freezedry", "helpinghand", "hydropump", "iceshard", "icywind", "protect"] - }, - "ditto": { - "moves": ["transform"] - }, - "vaporeon": { - "moves": ["helpinghand", "icywind", "muddywater", "protect", "scald", "toxic"] - }, - "jolteon": { - "moves": ["helpinghand", "hiddenpowergrass", "hiddenpowerice", "protect", "signalbeam", "thunderbolt", "voltswitch"] - }, - "flareon": { - "moves": ["facade", "flamecharge", "flareblitz", "protect", "superpower"] - }, - "omastar": { - "moves": ["earthpower", "hiddenpowerelectric", "hydropump", "icebeam", "muddywater", "protect", "shellsmash"] - }, - "kabutops": { - "moves": ["aquajet", "knockoff", "liquidation", "protect", "rockslide", "stoneedge", "swordsdance"] - }, - "aerodactyl": { - "moves": ["earthquake", "protect", "rockslide", "skydrop", "stoneedge", "tailwind", "wideguard"] - }, - "aerodactylmega": { - "moves": ["aquatail", "protect", "rockslide", "skydrop", "stoneedge", "tailwind", "wideguard"] - }, - "snorlax": { - "moves": ["bodyslam", "crunch", "curse", "highhorsepower", "protect", "rest", "return"] - }, - "articuno": { - "moves": ["freezedry", "hurricane", "protect", "roost", "tailwind"] - }, - "zapdos": { - "moves": ["heatwave", "hiddenpowergrass", "hiddenpowerice", "protect", "roost", "tailwind", "thunderbolt"] - }, - "moltres": { - "moves": ["airslash", "fireblast", "heatwave", "hurricane", "protect", "tailwind", "uturn", "willowisp"] - }, - "dragonite": { - "moves": ["dragonclaw", "dragondance", "extremespeed", "firepunch", "fly", "protect", "roost", "superpower"] - }, - "mewtwo": { - "moves": ["aurasphere", "calmmind", "fireblast", "icebeam", "protect", "psystrike"] - }, - "mewtwomegax": { - "moves": ["bulkup", "drainpunch", "icebeam", "stoneedge", "taunt", "zenheadbutt"] - }, - "mewtwomegay": { - "moves": ["aurasphere", "calmmind", "fireblast", "icebeam", "psystrike", "taunt", "willowisp"] - }, - "mew": { - "moves": ["fakeout", "fireblast", "helpinghand", "icebeam", "protect", "psyshock", "roost", "tailwind", "taunt", "transform", "willowisp"] - }, - "meganium": { - "moves": ["dragontail", "energyball", "healpulse", "leafstorm", "leechseed", "protect", "toxic"] - }, - "typhlosion": { - "moves": ["eruption", "extrasensory", "focusblast", "heatwave", "hiddenpowergrass"] - }, - "feraligatr": { - "moves": ["aquajet", "crunch", "dragondance", "icepunch", "liquidation", "protect"] - }, - "furret": { - "moves": ["doubleedge", "followme", "helpinghand", "knockoff", "protect", "superfang", "uturn"] - }, - "noctowl": { - "moves": ["airslash", "heatwave", "hypervoice", "hypnosis", "protect", "roost", "tailwind"] - }, - "ledian": { - "moves": ["bugbuzz", "encore", "knockoff", "lightscreen", "protect", "reflect", "tailwind", "uturn"] - }, - "ariados": { - "moves": ["megahorn", "poisonjab", "protect", "ragepowder", "stickyweb", "toxicthread"] - }, - "crobat": { - "moves": ["bravebird", "protect", "superfang", "tailwind", "taunt", "uturn"] - }, - "lanturn": { - "moves": ["icebeam", "protect", "scald", "thunderbolt", "thunderwave", "toxic"] - }, - "xatu": { - "moves": ["heatwave", "protect", "psychic", "roost", "tailwind", "thunderwave", "uturn"] - }, - "ampharos": { - "moves": ["focusblast", "hiddenpowergrass", "hiddenpowerice", "protect", "thunderbolt", "thunderwave"] - }, - "ampharosmega": { - "moves": ["dragonpulse", "focusblast", "hiddenpowergrass", "hiddenpowerice", "protect", "thunderbolt"] - }, - "bellossom": { - "moves": ["energyball", "moonblast", "quiverdance", "sleeppowder", "strengthsap"] - }, - "azumarill": { - "moves": ["aquajet", "knockoff", "liquidation", "playrough", "protect", "superpower"] - }, - "sudowoodo": { - "moves": ["headsmash", "helpinghand", "protect", "stealthrock", "stompingtantrum", "suckerpunch", "woodhammer"] - }, - "politoed": { - "moves": ["encore", "helpinghand", "hypnosis", "icywind", "protect", "scald"] - }, - "jumpluff": { - "moves": ["encore", "energyball", "helpinghand", "leechseed", "protect", "ragepowder", "sleeppowder", "strengthsap", "uturn"] - }, - "sunflora": { - "moves": ["earthpower", "encore", "energyball", "helpinghand", "hiddenpowerfire", "protect", "solarbeam", "sunnyday"] - }, - "quagsire": { - "moves": ["earthquake", "icywind", "protect", "recover", "scald", "toxic"] - }, - "espeon": { - "moves": ["calmmind", "dazzlinggleam", "helpinghand", "protect", "psychic", "shadowball"] - }, - "umbreon": { - "moves": ["foulplay", "helpinghand", "moonlight", "protect", "snarl"] - }, - "slowking": { - "moves": ["fireblast", "protect", "psychic", "psyshock", "scald", "trickroom"] - }, - "unown": { - "moves": ["hiddenpowerpsychic"] - }, - "wobbuffet": { - "moves": ["charm", "counter", "encore", "mirrorcoat"] - }, - "girafarig": { - "moves": ["hypervoice", "nastyplot", "protect", "psychic", "psyshock", "thunderbolt"] - }, - "forretress": { - "moves": ["gyroball", "protect", "stealthrock", "toxic", "voltswitch"] - }, - "dunsparce": { - "moves": ["bite", "bodyslam", "coil", "glare", "headbutt", "protect", "rockslide"] - }, - "gligar": { - "moves": ["defog", "earthquake", "knockoff", "roost", "stealthrock", "toxic", "uturn"] - }, - "steelix": { - "moves": ["earthquake", "headsmash", "heavyslam", "protect", "stealthrock", "wideguard"] - }, - "steelixmega": { - "moves": ["earthquake", "heavyslam", "protect", "rockslide", "stealthrock"] - }, - "granbull": { - "moves": ["playrough", "protect", "snarl", "stompingtantrum", "thunderwave"] - }, - "qwilfish": { - "moves": ["destinybond", "liquidation", "poisonjab", "protect", "swordsdance", "taunt", "thunderwave"] - }, - "scizor": { - "moves": ["bugbite", "bulletpunch", "feint", "knockoff", "protect", "superpower", "swordsdance", "uturn"] - }, - "scizormega": { - "moves": ["bugbite", "bulletpunch", "feint", "knockoff", "protect", "roost", "superpower", "swordsdance", "uturn"] - }, - "shuckle": { - "moves": ["encore", "guardsplit", "helpinghand", "knockoff", "stealthrock", "stickyweb", "toxic"] - }, - "heracross": { - "moves": ["closecombat", "facade", "knockoff", "megahorn", "protect", "swordsdance"] - }, - "heracrossmega": { - "moves": ["bulletseed", "closecombat", "knockoff", "pinmissile", "protect", "rockblast", "swordsdance"] - }, - "ursaring": { - "moves": ["closecombat", "crunch", "facade", "protect", "swordsdance"] - }, - "magcargo": { - "moves": ["earthpower", "fireblast", "heatwave", "incinerate", "protect", "stealthrock", "willowisp"] - }, - "corsola": { - "moves": ["icywind", "powergem", "protect", "scald", "stealthrock", "toxic"] - }, - "octillery": { - "moves": ["energyball", "fireblast", "hydropump", "icebeam", "protect"] - }, - "delibird": { - "moves": ["aerialace", "brickbreak", "fakeout", "icepunch", "iceshard", "protect"] - }, - "mantine": { - "moves": ["defog", "helpinghand", "protect", "scald", "tailwind", "toxic", "wideguard"] - }, - "skarmory": { - "moves": ["bravebird", "feint", "ironhead", "protect", "skydrop", "stealthrock", "tailwind", "taunt"] - }, - "houndoom": { - "moves": ["darkpulse", "heatwave", "nastyplot", "protect", "suckerpunch"] - }, - "houndoommega": { - "moves": ["darkpulse", "heatwave", "hiddenpowergrass", "nastyplot", "protect", "taunt"] - }, - "kingdra": { - "moves": ["dracometeor", "dragonpulse", "hydropump", "icebeam", "muddywater", "protect", "raindance"] - }, - "donphan": { - "moves": ["earthquake", "iceshard", "knockoff", "protect", "rapidspin", "rockslide", "stealthrock"] - }, - "porygon2": { - "moves": ["allyswitch", "icebeam", "protect", "recover", "thunderbolt", "thunderwave", "triattack"] - }, - "stantler": { - "moves": ["earthquake", "jumpkick", "megahorn", "protect", "return", "suckerpunch"] - }, - "smeargle": { - "moves": ["fakeout", "followme", "helpinghand", "kingsshield", "spore", "stickyweb", "tailwind", "transform", "wideguard"] - }, - "hitmontop": { - "moves": ["closecombat", "fakeout", "feint", "helpinghand", "machpunch", "rapidspin", "suckerpunch", "wideguard"] - }, - "miltank": { - "moves": ["bodyslam", "curse", "helpinghand", "milkdrink", "protect", "stompingtantrum", "thunderwave"] - }, - "blissey": { - "moves": ["helpinghand", "protect", "seismictoss", "softboiled", "thunderwave", "toxic"] - }, - "raikou": { - "moves": ["calmmind", "hiddenpowerice", "protect", "snarl", "thunderbolt"] - }, - "entei": { - "moves": ["extremespeed", "flareblitz", "protect", "sacredfire", "stompingtantrum", "stoneedge"] - }, - "suicune": { - "moves": ["icebeam", "scald", "snarl", "tailwind", "toxic"] - }, - "tyranitar": { - "moves": ["crunch", "fireblast", "icebeam", "protect", "rockslide", "stealthrock", "stompingtantrum", "stoneedge"] - }, - "tyranitarmega": { - "moves": ["crunch", "dragondance", "earthquake", "icepunch", "protect", "rockslide", "stoneedge"] - }, - "lugia": { - "moves": ["aeroblast", "protect", "psychic", "roost", "skydrop", "tailwind", "toxic"] - }, - "hooh": { - "moves": ["bravebird", "earthpower", "protect", "roost", "sacredfire", "skydrop", "tailwind", "toxic"] - }, - "celebi": { - "moves": ["earthpower", "energyball", "nastyplot", "protect", "psychic", "recover", "thunderwave", "uturn"] - }, - "sceptile": { - "moves": ["energyball", "focusblast", "hiddenpowerfire", "hiddenpowerice", "protect"] - }, - "sceptilemega": { - "moves": ["dragonpulse", "energyball", "focusblast", "hiddenpowerfire", "hiddenpowerice", "leafstorm", "protect"] - }, - "blaziken": { - "moves": ["fireblast", "hiddenpowerice", "highjumpkick", "knockoff", "protect"] - }, - "blazikenmega": { - "moves": ["flareblitz", "highjumpkick", "knockoff", "protect", "stoneedge", "swordsdance"] - }, - "swampert": { - "moves": ["earthquake", "icywind", "muddywater", "protect", "scald", "stealthrock", "wideguard"] - }, - "swampertmega": { - "moves": ["earthquake", "icepunch", "protect", "raindance", "waterfall"] - }, - "mightyena": { - "moves": ["crunch", "firefang", "playrough", "protect", "suckerpunch", "taunt"] - }, - "linoone": { - "moves": ["bellydrum", "extremespeed", "protect", "shadowclaw", "stompingtantrum"] - }, - "beautifly": { - "moves": ["aircutter", "bugbuzz", "protect", "quiverdance", "stringshot", "tailwind"] - }, - "dustox": { - "moves": ["bugbuzz", "protect", "sludgebomb", "stringshot", "strugglebug", "tailwind"] - }, - "ludicolo": { - "moves": ["fakeout", "gigadrain", "hydropump", "icebeam", "protect", "raindance"] - }, - "shiftry": { - "moves": ["fakeout", "knockoff", "leafblade", "leafstorm", "protect", "suckerpunch", "swordsdance"] - }, - "swellow": { - "moves": ["bravebird", "facade", "protect", "quickattack", "uturn"] - }, - "pelipper": { - "moves": ["hurricane", "protect", "scald", "tailwind", "uturn", "wideguard"] - }, - "gardevoir": { - "moves": ["dazzlinggleam", "focusblast", "helpinghand", "moonblast", "protect", "psyshock"] - }, - "gardevoirmega": { - "moves": ["calmmind", "focusblast", "hypervoice", "protect", "psyshock"] - }, - "masquerain": { - "moves": ["airslash", "bugbuzz", "hydropump", "protect", "quiverdance", "stickyweb", "strugglebug", "tailwind"] - }, - "breloom": { - "moves": ["bulletseed", "machpunch", "protect", "rocktomb", "spore"] - }, - "slaking": { - "moves": ["doubleedge", "earthquake", "hammerarm", "nightslash", "retaliate", "rockslide"] - }, - "ninjask": { - "moves": ["aerialace", "dig", "leechlife", "protect", "swordsdance"] - }, - "shedinja": { - "moves": ["allyswitch", "protect", "shadowsneak", "swordsdance", "willowisp", "xscissor"] - }, - "exploud": { - "moves": ["boomburst", "fireblast", "focusblast", "hypervoice", "icebeam", "protect"] - }, - "hariyama": { - "moves": ["bulletpunch", "closecombat", "facade", "fakeout", "helpinghand", "knockoff", "protect", "wideguard"] - }, - "delcatty": { - "moves": ["doubleedge", "fakeout", "helpinghand", "protect", "suckerpunch", "thunderwave"] - }, - "sableye": { - "moves": ["fakeout", "foulplay", "helpinghand", "protect", "recover", "snarl", "taunt", "willowisp"] - }, - "sableyemega": { - "moves": ["fakeout", "knockoff", "protect", "recover", "shadowball", "willowisp"] - }, - "mawile": { - "moves": ["ironhead", "knockoff", "playrough", "protect", "suckerpunch", "swordsdance"] - }, - "mawilemega": { - "moves": ["ironhead", "knockoff", "playrough", "protect", "suckerpunch", "swordsdance"] - }, - "aggron": { - "moves": ["headsmash", "heavyslam", "protect", "stealthrock", "stompingtantrum"] - }, - "aggronmega": { - "moves": ["heavyslam", "protect", "rockslide", "stealthrock", "stompingtantrum", "toxic"] - }, - "medicham": { - "moves": ["bulletpunch", "drainpunch", "fakeout", "highjumpkick", "icepunch", "protect", "zenheadbutt"] - }, - "medichammega": { - "moves": ["bulletpunch", "drainpunch", "fakeout", "highjumpkick", "icepunch", "protect", "zenheadbutt"] - }, - "manectric": { - "moves": ["flamethrower", "hiddenpowergrass", "hiddenpowerice", "protect", "snarl", "switcheroo", "thunderbolt", "voltswitch"] - }, - "manectricmega": { - "moves": ["flamethrower", "hiddenpowergrass", "hiddenpowerice", "protect", "snarl", "thunderbolt", "voltswitch"] - }, - "plusle": { - "moves": ["encore", "helpinghand", "hiddenpowerice", "nastyplot", "protect", "thunderbolt"] - }, - "minun": { - "moves": ["encore", "helpinghand", "hiddenpowerice", "nastyplot", "protect", "thunderbolt"] - }, - "volbeat": { - "moves": ["encore", "helpinghand", "protect", "stringshot", "strugglebug", "tailwind", "thunderwave", "uturn"] - }, - "illumise": { - "moves": ["bugbuzz", "encore", "helpinghand", "protect", "tailwind", "thunderwave"] - }, - "swalot": { - "moves": ["encore", "icebeam", "poisongas", "protect", "sludgebomb", "yawn"] - }, - "sharpedo": { - "moves": ["crunch", "icebeam", "liquidation", "protect", "psychicfangs"] - }, - "sharpedomega": { - "moves": ["crunch", "icefang", "liquidation", "protect", "psychicfangs"] - }, - "wailord": { - "moves": ["hiddenpowerfire", "hiddenpowergrass", "hydropump", "icebeam", "waterspout"] - }, - "camerupt": { - "moves": ["earthpower", "fireblast", "heatwave", "incinerate", "protect", "stealthrock"] - }, - "cameruptmega": { - "moves": ["earthpower", "fireblast", "heatwave", "protect", "rockslide"] - }, - "torkoal": { - "moves": ["earthpower", "fireblast", "heatwave", "protect", "solarbeam", "willowisp"] - }, - "grumpig": { - "moves": ["focusblast", "lightscreen", "protect", "psychic", "reflect", "taunt", "thunderwave"] - }, - "spinda": { - "moves": ["fakeout", "protect", "return", "suckerpunch", "superpower", "trickroom"] - }, - "flygon": { - "moves": ["dragonclaw", "dragondance", "earthquake", "fireblast", "protect", "tailwind", "uturn"] - }, - "cacturne": { - "moves": ["drainpunch", "seedbomb", "spikyshield", "substitute", "suckerpunch", "swordsdance"] - }, - "altaria": { - "moves": ["dracometeor", "dragonclaw", "fireblast", "protect", "tailwind"] - }, - "altariamega": { - "moves": ["doubleedge", "dragondance", "earthquake", "fireblast", "protect", "return"] - }, - "zangoose": { - "moves": ["closecombat", "facade", "knockoff", "protect", "quickattack"] - }, - "seviper": { - "moves": ["aquatail", "earthquake", "flamethrower", "gigadrain", "glare", "poisonjab", "protect", "sludgebomb", "suckerpunch"] - }, - "lunatone": { - "moves": ["earthpower", "helpinghand", "powergem", "protect", "psychic", "trickroom"] - }, - "solrock": { - "moves": ["helpinghand", "protect", "rockslide", "stealthrock", "stoneedge", "willowisp", "zenheadbutt"] - }, - "whiscash": { - "moves": ["dragondance", "earthquake", "protect", "stoneedge", "waterfall", "zenheadbutt"] - }, - "crawdaunt": { - "moves": ["aquajet", "crabhammer", "dragondance", "knockoff", "protect", "superpower", "swordsdance"] - }, - "claydol": { - "moves": ["allyswitch", "earthpower", "protect", "rapidspin", "stealthrock", "toxic"] - }, - "cradily": { - "moves": ["gigadrain", "protect", "recover", "rockslide", "stealthrock", "stringshot", "toxic"] - }, - "armaldo": { - "moves": ["knockoff", "protect", "rockslide", "stoneedge", "stringshot", "swordsdance", "xscissor"] - }, - "milotic": { - "moves": ["hypnosis", "icywind", "protect", "recover", "scald"] - }, - "castformsunny": { - "moves": ["fireblast", "icebeam", "solarbeam", "sunnyday"] - }, - "castformrainy": { - "moves": ["hurricane", "hydropump", "raindance", "thunder"] - }, - "castformsnowy": { - "moves": ["blizzard", "fireblast", "hail", "thunderbolt"] - }, - "kecleon": { - "moves": ["drainpunch", "fakeout", "knockoff", "protect", "shadowsneak", "trickroom"] - }, - "banette": { - "moves": ["knockoff", "protect", "shadowclaw", "shadowsneak", "willowisp"] - }, - "banettemega": { - "moves": ["destinybond", "knockoff", "protect", "shadowclaw", "suckerpunch", "taunt", "willowisp"] - }, - "tropius": { - "moves": ["airslash", "gigadrain", "leechseed", "protect", "roost", "tailwind"] - }, - "chimecho": { - "moves": ["helpinghand", "protect", "psychic", "recover", "taunt", "thunderwave", "trickroom"] - }, - "absol": { - "moves": ["knockoff", "playrough", "protect", "suckerpunch", "superpower", "swordsdance"] - }, - "absolmega": { - "moves": ["fireblast", "knockoff", "playrough", "protect", "suckerpunch", "superpower", "swordsdance"] - }, - "glalie": { - "moves": ["earthquake", "freezedry", "icebeam", "iceshard", "protect", "taunt"] - }, - "glaliemega": { - "moves": ["earthquake", "explosion", "freezedry", "iceshard", "protect", "return"] - }, - "walrein": { - "moves": ["brine", "icywind", "protect", "superfang"] - }, - "huntail": { - "moves": ["icebeam", "protect", "shellsmash", "suckerpunch", "waterfall"] - }, - "gorebyss": { - "moves": ["hiddenpowergrass", "hydropump", "icebeam", "protect", "shellsmash"] - }, - "relicanth": { - "moves": ["doubleedge", "earthquake", "headsmash", "protect", "rockslide", "waterfall"] - }, - "luvdisc": { - "moves": ["healpulse", "icebeam", "icywind", "protect", "scald", "sweetkiss", "toxic"] - }, - "salamence": { - "moves": ["dracometeor", "dragonclaw", "dragondance", "earthquake", "fireblast", "fly", "protect", "tailwind"] - }, - "salamencemega": { - "moves": ["doubleedge", "dracometeor", "dragonclaw", "dragondance", "earthquake", "fireblast", "protect", "return"] - }, - "metagross": { - "moves": ["agility", "bulletpunch", "icepunch", "meteormash", "protect", "stompingtantrum", "thunderpunch", "zenheadbutt"] - }, - "metagrossmega": { - "moves": ["icepunch", "meteormash", "protect", "stompingtantrum", "thunderpunch", "zenheadbutt"] - }, - "regirock": { - "moves": ["curse", "drainpunch", "protect", "rest", "rockslide", "stealthrock", "stoneedge", "thunderwave"] - }, - "regice": { - "moves": ["icebeam", "icywind", "protect", "rockpolish", "thunderbolt", "thunderwave"] - }, - "registeel": { - "moves": ["curse", "ironhead", "protect", "rest", "seismictoss", "stealthrock", "thunderwave"] - }, - "latias": { - "moves": ["dracometeor", "healpulse", "helpinghand", "protect", "psyshock", "tailwind"] - }, - "latiasmega": { - "moves": ["dragonpulse", "healpulse", "helpinghand", "protect", "psychic", "tailwind"] - }, - "latios": { - "moves": ["dracometeor", "dragonpulse", "hiddenpowerfire", "protect", "psyshock", "tailwind", "trick"] - }, - "latiosmega": { - "moves": ["dracometeor", "dragonpulse", "hiddenpowerfire", "protect", "psyshock", "tailwind"] - }, - "kyogre": { - "moves": ["calmmind", "icebeam", "originpulse", "protect", "thunder", "waterspout"] - }, - "kyogreprimal": { - "moves": ["calmmind", "icebeam", "originpulse", "protect", "thunder"] - }, - "groudon": { - "moves": ["firepunch", "precipiceblades", "protect", "rockpolish", "rockslide", "stoneedge", "swordsdance"] - }, - "groudonprimal": { - "moves": ["firepunch", "precipiceblades", "protect", "rockpolish", "rockslide", "stoneedge", "swordsdance"] - }, - "rayquaza": { - "moves": ["dracometeor", "dragonclaw", "dragondance", "earthquake", "extremespeed", "protect", "tailwind", "vcreate"] - }, - "rayquazamega": { - "moves": ["dragonascent", "dragonclaw", "dragondance", "earthquake", "extremespeed", "protect", "swordsdance", "vcreate"] - }, - "jirachi": { - "moves": ["bodyslam", "followme", "helpinghand", "icywind", "ironhead", "protect", "thunderwave", "uturn"] - }, - "deoxys": { - "moves": ["extremespeed", "firepunch", "icebeam", "knockoff", "protect", "psychoboost", "superpower"] - }, - "deoxysattack": { - "moves": ["extremespeed", "firepunch", "icebeam", "knockoff", "protect", "psychoboost", "superpower"] - }, - "deoxysdefense": { - "moves": ["lightscreen", "protect", "recover", "reflect", "seismictoss", "stealthrock", "taunt", "trickroom"] - }, - "deoxysspeed": { - "moves": ["knockoff", "lightscreen", "protect", "psychoboost", "reflect", "superpower", "taunt"] - }, - "torterra": { - "moves": ["earthquake", "protect", "rockpolish", "rockslide", "stoneedge", "wideguard", "woodhammer"] - }, - "infernape": { - "moves": ["closecombat", "fakeout", "feint", "flareblitz", "grassknot", "heatwave", "protect", "stoneedge", "taunt", "uturn"] - }, - "empoleon": { - "moves": ["defog", "flashcannon", "grassknot", "icywind", "protect", "scald"] - }, - "staraptor": { - "moves": ["bravebird", "closecombat", "doubleedge", "protect", "quickattack", "tailwind", "uturn"] - }, - "bibarel": { - "moves": ["aquajet", "liquidation", "quickattack", "return", "swordsdance"] - }, - "kricketune": { - "moves": ["knockoff", "leechlife", "protect", "stickyweb", "taunt"] - }, - "luxray": { - "moves": ["crunch", "helpinghand", "icefang", "protect", "superpower", "voltswitch", "wildcharge"] - }, - "roserade": { - "moves": ["gigadrain", "hiddenpowerfire", "leafstorm", "protect", "sleeppowder", "sludgebomb"] - }, - "rampardos": { - "moves": ["crunch", "earthquake", "headsmash", "protect", "rockslide", "stoneedge", "zenheadbutt"] - }, - "bastiodon": { - "moves": ["guardsplit", "metalburst", "protect", "stealthrock", "stoneedge", "wideguard"] - }, - "wormadam": { - "moves": ["bugbuzz", "gigadrain", "leafstorm", "protect", "stringshot"] - }, - "wormadamsandy": { - "moves": ["earthquake", "protect", "rockblast", "stringshot", "suckerpunch"] - }, - "wormadamtrash": { - "moves": ["bugbuzz", "flashcannon", "protect", "stringshot", "strugglebug", "suckerpunch"] - }, - "mothim": { - "moves": ["airslash", "bugbuzz", "energyball", "protect", "quiverdance"] - }, - "vespiquen": { - "moves": ["attackorder", "healorder", "protect", "stringshot", "strugglebug", "tailwind"] - }, - "pachirisu": { - "moves": ["followme", "helpinghand", "nuzzle", "protect", "superfang", "thunderbolt", "uturn"] - }, - "floatzel": { - "moves": ["aquajet", "icepunch", "liquidation", "protect", "switcheroo", "taunt"] - }, - "cherrim": { - "moves": ["dazzlinggleam", "energyball", "healingwish", "hiddenpowerfire", "synthesis"] - }, - "cherrimsunshine": { - "moves": ["gigadrain", "helpinghand", "solarbeam", "sunnyday", "weatherball"] - }, - "gastrodon": { - "moves": ["earthpower", "icywind", "muddywater", "protect", "recover", "scald"] - }, - "ambipom": { - "moves": ["fakeout", "icepunch", "knockoff", "lowkick", "protect", "return", "uturn"] - }, - "drifblim": { - "moves": ["acrobatics", "destinybond", "hypnosis", "protect", "shadowball", "thunderbolt", "willowisp"] - }, - "lopunny": { - "moves": ["encore", "fakeout", "firepunch", "helpinghand", "protect", "return", "switcheroo", "thunderwave"] - }, - "lopunnymega": { - "moves": ["encore", "fakeout", "highjumpkick", "icepunch", "protect", "return"] - }, - "mismagius": { - "moves": ["dazzlinggleam", "nastyplot", "protect", "shadowball", "taunt", "thunderbolt", "willowisp"] - }, - "honchkrow": { - "moves": ["bravebird", "heatwave", "protect", "roost", "suckerpunch", "superpower"] - }, - "purugly": { - "moves": ["fakeout", "knockoff", "protect", "quickattack", "return", "uturn"] - }, - "skuntank": { - "moves": ["crunch", "fireblast", "poisonjab", "protect", "snarl", "suckerpunch", "taunt"] - }, - "bronzong": { - "moves": ["earthquake", "explosion", "gyroball", "lightscreen", "protect", "reflect", "trickroom"] - }, - "chatot": { - "moves": ["boomburst", "chatter", "encore", "heatwave", "hypervoice", "nastyplot", "protect", "uturn"] - }, - "spiritomb": { - "moves": ["foulplay", "icywind", "protect", "shadowsneak", "snarl", "willowisp"] - }, - "garchomp": { - "moves": ["dragonclaw", "earthquake", "protect", "rockslide", "stoneedge", "swordsdance"] - }, - "garchompmega": { - "moves": ["dragonclaw", "earthquake", "fireblast", "protect", "rockslide", "stoneedge", "swordsdance"] - }, - "lucario": { - "moves": ["closecombat", "darkpulse", "extremespeed", "icepunch", "meteormash", "protect"] - }, - "lucariomega": { - "moves": ["closecombat", "darkpulse", "extremespeed", "icepunch", "meteormash", "protect", "swordsdance"] - }, - "hippowdon": { - "moves": ["earthquake", "protect", "rockslide", "slackoff", "stealthrock", "stoneedge", "whirlwind"] - }, - "drapion": { - "moves": ["aquatail", "knockoff", "poisonjab", "protect", "snarl", "swordsdance", "taunt"] - }, - "toxicroak": { - "moves": ["drainpunch", "fakeout", "gunkshot", "icepunch", "protect", "suckerpunch", "swordsdance"] - }, - "carnivine": { - "moves": ["knockoff", "powerwhip", "protect", "ragepowder", "return", "sleeppowder", "swordsdance"] - }, - "lumineon": { - "moves": ["defog", "icebeam", "protect", "scald", "tailwind", "toxic", "uturn"] - }, - "abomasnow": { - "moves": ["blizzard", "earthquake", "gigadrain", "iceshard", "protect", "woodhammer"] - }, - "abomasnowmega": { - "moves": ["blizzard", "earthquake", "gigadrain", "iceshard", "protect", "woodhammer"] - }, - "weavile": { - "moves": ["fakeout", "iceshard", "iciclecrash", "knockoff", "lowkick", "protect", "swordsdance"] - }, - "magnezone": { - "moves": ["electroweb", "flashcannon", "hiddenpowerfire", "protect", "thunderbolt", "voltswitch"] - }, - "lickilicky": { - "moves": ["bodyslam", "dragontail", "explosion", "knockoff", "powerwhip", "protect", "stompingtantrum"] - }, - "rhyperior": { - "moves": ["earthquake", "icepunch", "megahorn", "protect", "rockslide", "stealthrock", "stoneedge"] - }, - "tangrowth": { - "moves": ["earthquake", "focusblast", "gigadrain", "hiddenpowerice", "knockoff", "leechseed", "powerwhip", "protect", "ragepowder", "sleeppowder"] - }, - "electivire": { - "moves": ["crosschop", "flamethrower", "followme", "icepunch", "protect", "stompingtantrum", "wildcharge"] - }, - "magmortar": { - "moves": ["fireblast", "followme", "heatwave", "hiddenpowergrass", "hiddenpowerice", "protect", "taunt", "thunderbolt", "willowisp"] - }, - "togekiss": { - "moves": ["airslash", "dazzlinggleam", "followme", "nastyplot", "protect", "roost", "tailwind", "thunderwave"] - }, - "yanmega": { - "moves": ["airslash", "bugbuzz", "gigadrain", "protect", "uturn"] - }, - "leafeon": { - "moves": ["helpinghand", "knockoff", "leafblade", "protect", "swordsdance", "xscissor"] - }, - "glaceon": { - "moves": ["helpinghand", "hiddenpowerground", "icebeam", "protect", "toxic"] - }, - "gliscor": { - "moves": ["earthquake", "facade", "knockoff", "protect", "tailwind", "taunt"] - }, - "mamoswine": { - "moves": ["earthquake", "iceshard", "iciclecrash", "knockoff", "protect", "rockslide", "superpower"] - }, - "porygonz": { - "moves": ["darkpulse", "icebeam", "nastyplot", "protect", "thunderbolt", "triattack", "trick"] - }, - "gallade": { - "moves": ["closecombat", "helpinghand", "icepunch", "knockoff", "protect", "shadowsneak", "trick", "zenheadbutt"] - }, - "gallademega": { - "moves": ["closecombat", "drainpunch", "icepunch", "knockoff", "protect", "swordsdance", "zenheadbutt"] - }, - "probopass": { - "moves": ["flashcannon", "helpinghand", "powergem", "protect", "stealthrock", "thunderwave", "wideguard"] - }, - "dusknoir": { - "moves": ["allyswitch", "helpinghand", "icepunch", "painsplit", "protect", "shadowsneak", "trickroom", "willowisp"] - }, - "froslass": { - "moves": ["destinybond", "icebeam", "protect", "shadowball", "taunt", "thunderwave", "willowisp"] - }, - "rotom": { - "moves": ["electroweb", "hiddenpowerice", "protect", "shadowball", "thunderbolt", "trick", "voltswitch", "willowisp"] - }, - "rotomheat": { - "moves": ["electroweb", "overheat", "protect", "thunderbolt", "voltswitch", "willowisp"] - }, - "rotomwash": { - "moves": ["electroweb", "hydropump", "protect", "thunderbolt", "trick", "voltswitch", "willowisp"] - }, - "rotomfrost": { - "moves": ["blizzard", "electroweb", "protect", "thunderbolt", "trick", "voltswitch", "willowisp"] - }, - "rotomfan": { - "moves": ["airslash", "electroweb", "protect", "thunderbolt", "voltswitch", "willowisp"] - }, - "rotommow": { - "moves": ["electroweb", "hiddenpowerfire", "leafstorm", "protect", "thunderbolt", "trick", "voltswitch", "willowisp"] - }, - "uxie": { - "moves": ["helpinghand", "knockoff", "protect", "psychic", "stealthrock", "thunderwave", "uturn", "yawn"] - }, - "mesprit": { - "moves": ["calmmind", "helpinghand", "icebeam", "knockoff", "protect", "psychic", "thunderbolt", "trick", "uturn"] - }, - "azelf": { - "moves": ["fireblast", "knockoff", "nastyplot", "protect", "psychic", "taunt", "thunderbolt", "uturn"] - }, - "dialga": { - "moves": ["dracometeor", "dragonpulse", "earthpower", "fireblast", "flashcannon", "protect", "thunderbolt"] - }, - "palkia": { - "moves": ["dracometeor", "fireblast", "hydropump", "protect", "spacialrend", "thunderbolt"] - }, - "heatran": { - "moves": ["earthpower", "flashcannon", "heatwave", "protect", "willowisp"] - }, - "regigigas": { - "moves": ["icywind", "knockoff", "return", "substitute", "thunderwave", "wideguard"] - }, - "giratinaorigin": { - "moves": ["dracometeor", "dragonpulse", "protect", "shadowball", "shadowsneak", "tailwind", "willowisp"] - }, - "giratina": { - "moves": ["calmmind", "dragonpulse", "dragontail", "protect", "shadowball", "tailwind", "willowisp"] - }, - "cresselia": { - "moves": ["allyswitch", "helpinghand", "icywind", "moonblast", "moonlight", "protect", "psyshock", "thunderwave", "trickroom"] - }, - "phione": { - "moves": ["helpinghand", "icywind", "protect", "scald", "uturn"] - }, - "manaphy": { - "moves": ["energyball", "helpinghand", "icebeam", "protect", "scald", "surf", "tailglow"] - }, - "darkrai": { - "moves": ["darkpulse", "focusblast", "nastyplot", "protect", "sludgebomb", "snarl"] - }, - "shaymin": { - "moves": ["airslash", "earthpower", "leechseed", "protect", "rest", "seedflare", "substitute", "tailwind"] - }, - "shayminsky": { - "moves": ["airslash", "earthpower", "hiddenpowerice", "protect", "rest", "seedflare", "tailwind"] - }, - "arceus": { - "moves": ["earthquake", "extremespeed", "protect", "recover", "shadowclaw", "swordsdance"] - }, - "arceusbug": { - "moves": ["earthquake", "ironhead", "protect", "recover", "stoneedge", "swordsdance", "xscissor"] - }, - "arceusdark": { - "moves": ["calmmind", "focusblast", "judgment", "protect", "recover", "snarl", "willowisp"] - }, - "arceusdragon": { - "moves": ["dragonclaw", "earthquake", "extremespeed", "protect", "recover", "swordsdance"] - }, - "arceuselectric": { - "moves": ["calmmind", "icebeam", "judgment", "protect", "recover"] - }, - "arceusfairy": { - "moves": ["calmmind", "defog", "earthpower", "judgment", "protect", "recover", "thunderbolt", "willowisp"] - }, - "arceusfighting": { - "moves": ["calmmind", "icebeam", "judgment", "protect", "recover", "shadowball", "willowisp"] - }, - "arceusfire": { - "moves": ["calmmind", "heatwave", "judgment", "protect", "recover", "thunderbolt", "willowisp"] - }, - "arceusflying": { - "moves": ["calmmind", "earthpower", "judgment", "protect", "recover", "tailwind"] - }, - "arceusghost": { - "moves": ["brickbreak", "calmmind", "focusblast", "judgment", "protect", "recover", "shadowforce", "swordsdance", "willowisp"] - }, - "arceusgrass": { - "moves": ["calmmind", "heatwave", "icebeam", "judgment", "protect", "recover", "thunderwave"] - }, - "arceusground": { - "moves": ["calmmind", "earthquake", "icebeam", "judgment", "protect", "recover", "rockslide", "stoneedge", "swordsdance"] - }, - "arceusice": { - "moves": ["calmmind", "focusblast", "icywind", "judgment", "protect", "recover", "thunderbolt"] - }, - "arceuspoison": { - "moves": ["calmmind", "earthpower", "heatwave", "judgment", "protect", "recover", "sludgebomb", "willowisp"] - }, - "arceuspsychic": { - "moves": ["calmmind", "focusblast", "judgment", "protect", "psyshock", "recover", "willowisp"] - }, - "arceusrock": { - "moves": ["earthquake", "protect", "recover", "rockslide", "stoneedge", "swordsdance"] - }, - "arceussteel": { - "moves": ["calmmind", "earthpower", "judgment", "protect", "recover", "willowisp"] - }, - "arceuswater": { - "moves": ["calmmind", "fireblast", "icebeam", "icywind", "judgment", "protect", "recover", "surf"] - }, - "victini": { - "moves": ["blueflare", "boltstrike", "protect", "psychic", "uturn", "vcreate"] - }, - "serperior": { - "moves": ["dragonpulse", "hiddenpowerfire", "leafstorm", "protect", "taunt"] - }, - "emboar": { - "moves": ["flareblitz", "headsmash", "heatwave", "protect", "rockslide", "superpower", "wildcharge"] - }, - "samurott": { - "moves": ["aquajet", "helpinghand", "hiddenpowergrass", "hydropump", "icebeam", "protect", "scald", "taunt"] - }, - "watchog": { - "moves": ["hypnosis", "knockoff", "protect", "return", "superfang", "swordsdance"] - }, - "stoutland": { - "moves": ["crunch", "protect", "return", "superpower", "wildcharge"] - }, - "liepard": { - "moves": ["encore", "fakeout", "knockoff", "playrough", "protect", "suckerpunch", "thunderwave", "uturn"] - }, - "simisage": { - "moves": ["focusblast", "gigadrain", "helpinghand", "hiddenpowerfire", "hiddenpowerice", "leafstorm", "nastyplot", "spikyshield", "taunt"] - }, - "simisear": { - "moves": ["fireblast", "focusblast", "grassknot", "heatwave", "nastyplot", "protect", "taunt"] - }, - "simipour": { - "moves": ["helpinghand", "hydropump", "icebeam", "nastyplot", "protect", "taunt"] - }, - "musharna": { - "moves": ["helpinghand", "hypnosis", "moonlight", "protect", "psychic", "signalbeam", "thunderwave", "trickroom"] - }, - "unfezant": { - "moves": ["nightslash", "pluck", "protect", "return", "roost", "tailwind", "taunt", "uturn"] - }, - "zebstrika": { - "moves": ["hiddenpowergrass", "overheat", "protect", "voltswitch", "wildcharge"] - }, - "gigalith": { - "moves": ["protect", "rockslide", "stealthrock", "stompingtantrum", "stoneedge", "superpower", "wideguard"] - }, - "swoobat": { - "moves": ["airslash", "calmmind", "heatwave", "protect", "psychic", "tailwind"] - }, - "excadrill": { - "moves": ["drillrun", "earthquake", "ironhead", "protect", "rockslide", "swordsdance"] - }, - "audino": { - "moves": ["healpulse", "helpinghand", "hypervoice", "protect", "thunderwave", "trickroom"] - }, - "audinomega": { - "moves": ["dazzlinggleam", "healpulse", "helpinghand", "hypervoice", "protect", "thunderwave", "trickroom"] - }, - "conkeldurr": { - "moves": ["drainpunch", "facade", "knockoff", "machpunch", "protect"] - }, - "seismitoad": { - "moves": ["earthquake", "hydropump", "muddywater", "protect", "raindance", "sludgebomb"] - }, - "throh": { - "moves": ["circlethrow", "helpinghand", "icepunch", "knockoff", "protect", "stormthrow"] - }, - "sawk": { - "moves": ["closecombat", "icepunch", "knockoff", "protect", "rockslide"] - }, - "leavanny": { - "moves": ["leafblade", "protect", "stickyweb", "swordsdance", "xscissor"] - }, - "scolipede": { - "moves": ["aquatail", "megahorn", "poisonjab", "protect", "rockslide", "superpower", "swordsdance"] - }, - "whimsicott": { - "moves": ["dazzlinggleam", "defog", "encore", "gigadrain", "helpinghand", "leechseed", "moonblast", "protect", "stunspore", "substitute", "tailwind", "taunt", "uturn"] - }, - "lilligant": { - "moves": ["gigadrain", "helpinghand", "hiddenpowerfire", "hiddenpowerice", "hiddenpowerrock", "petaldance", "protect", "quiverdance", "sleeppowder"] - }, - "basculin": { - "moves": ["aquajet", "icebeam", "liquidation", "muddywater", "protect", "superpower"] - }, - "basculinbluestriped": { - "moves": ["aquajet", "icebeam", "liquidation", "muddywater", "protect", "superpower"] - }, - "krookodile": { - "moves": ["earthquake", "knockoff", "protect", "stoneedge", "superpower"] - }, - "darmanitan": { - "moves": ["earthquake", "flareblitz", "protect", "rockslide", "superpower", "uturn"] - }, - "maractus": { - "moves": ["energyball", "helpinghand", "hiddenpowerfire", "leechseed", "spikyshield", "suckerpunch"] - }, - "crustle": { - "moves": ["earthquake", "protect", "rockslide", "shellsmash", "stoneedge", "xscissor"] - }, - "scrafty": { - "moves": ["drainpunch", "fakeout", "icepunch", "knockoff", "protect", "superfang"] - }, - "sigilyph": { - "moves": ["airslash", "calmmind", "heatwave", "protect", "psyshock", "tailwind"] - }, - "cofagrigus": { - "moves": ["hiddenpowerfighting", "nastyplot", "protect", "shadowball", "trickroom", "willowisp"] - }, - "carracosta": { - "moves": ["aquajet", "earthquake", "liquidation", "protect", "rockslide", "shellsmash", "stoneedge", "wideguard"] - }, - "archeops": { - "moves": ["acrobatics", "earthpower", "protect", "rockslide", "stoneedge", "tailwind", "taunt", "uturn"] - }, - "garbodor": { - "moves": ["drainpunch", "gunkshot", "painsplit", "protect", "toxicspikes"] - }, - "zoroark": { - "moves": ["darkpulse", "flamethrower", "focusblast", "knockoff", "nastyplot", "protect", "suckerpunch", "uturn"] - }, - "cinccino": { - "moves": ["bulletseed", "knockoff", "protect", "rockblast", "tailslap", "uturn"] - }, - "gothitelle": { - "moves": ["charm", "healpulse", "protect", "psychic", "shadowball", "taunt", "thunderbolt", "trickroom"] - }, - "reuniclus": { - "moves": ["focusblast", "helpinghand", "protect", "psychic", "shadowball", "trickroom"] - }, - "swanna": { - "moves": ["bravebird", "hurricane", "icebeam", "protect", "scald", "tailwind"] - }, - "vanilluxe": { - "moves": ["autotomize", "blizzard", "flashcannon", "freezedry", "hiddenpowerground", "protect", "taunt"] - }, - "sawsbuck": { - "moves": ["hornleech", "jumpkick", "protect", "return", "swordsdance"] - }, - "emolga": { - "moves": ["airslash", "encore", "helpinghand", "protect", "roost", "tailwind", "thunderbolt"] - }, - "escavalier": { - "moves": ["drillrun", "ironhead", "knockoff", "megahorn", "protect", "swordsdance"] - }, - "amoonguss": { - "moves": ["gigadrain", "hiddenpowerfire", "protect", "ragepowder", "sludgebomb", "spore", "stunspore"] - }, - "jellicent": { - "moves": ["icywind", "protect", "recover", "scald", "shadowball", "trickroom", "willowisp"] - }, - "alomomola": { - "moves": ["helpinghand", "icywind", "knockoff", "protect", "scald", "wideguard"] - }, - "galvantula": { - "moves": ["bugbuzz", "energyball", "hiddenpowerice", "protect", "stickyweb", "thunder", "voltswitch"] - }, - "ferrothorn": { - "moves": ["gyroball", "knockoff", "leechseed", "powerwhip", "protect", "stealthrock"] - }, - "klinklang": { - "moves": ["geargrind", "protect", "return", "shiftgear", "wildcharge"] - }, - "eelektross": { - "moves": ["flamethrower", "gigadrain", "knockoff", "protect", "thunderbolt", "uturn", "voltswitch"] - }, - "beheeyem": { - "moves": ["hiddenpowerfighting", "protect", "psychic", "recover", "signalbeam", "thunderbolt", "trick", "trickroom"] - }, - "chandelure": { - "moves": ["energyball", "heatwave", "overheat", "protect", "shadowball", "trick"] - }, - "haxorus": { - "moves": ["dragonclaw", "dragondance", "earthquake", "poisonjab", "protect", "swordsdance", "taunt"] - }, - "beartic": { - "moves": ["aquajet", "iciclecrash", "protect", "stoneedge", "superpower", "swordsdance"] - }, - "cryogonal": { - "moves": ["freezedry", "hiddenpowerground", "icebeam", "icywind", "protect", "recover"] - }, - "accelgor": { - "moves": ["bugbuzz", "encore", "energyball", "focusblast", "hiddenpowerrock", "protect", "sludgebomb", "yawn"] - }, - "stunfisk": { - "moves": ["discharge", "earthpower", "electroweb", "protect", "scald", "stealthrock"] - }, - "mienshao": { - "moves": ["drainpunch", "fakeout", "feint", "highjumpkick", "knockoff", "protect", "stoneedge", "swordsdance", "uturn"] - }, - "druddigon": { - "moves": ["dragonclaw", "earthquake", "firepunch", "glare", "protect", "suckerpunch", "superpower", "thunderpunch"] - }, - "golurk": { - "moves": ["dynamicpunch", "earthquake", "icepunch", "protect", "rockpolish", "shadowpunch", "stoneedge"] - }, - "bisharp": { - "moves": ["ironhead", "knockoff", "protect", "suckerpunch", "swordsdance"] - }, - "bouffalant": { - "moves": ["headcharge", "megahorn", "protect", "stompingtantrum", "stoneedge", "superpower", "swordsdance"] - }, - "braviary": { - "moves": ["bravebird", "protect", "return", "skydrop", "superpower", "tailwind", "uturn"] - }, - "mandibuzz": { - "moves": ["bravebird", "knockoff", "protect", "roost", "snarl", "tailwind", "taunt", "uturn"] - }, - "heatmor": { - "moves": ["firelash", "gigadrain", "incinerate", "protect", "suckerpunch", "superpower"] - }, - "durant": { - "moves": ["honeclaws", "ironhead", "protect", "rockslide", "superpower", "xscissor"] - }, - "hydreigon": { - "moves": ["darkpulse", "dracometeor", "fireblast", "flashcannon", "protect", "tailwind", "uturn"] - }, - "volcarona": { - "moves": ["bugbuzz", "fierydance", "gigadrain", "heatwave", "protect", "quiverdance", "tailwind"] - }, - "cobalion": { - "moves": ["closecombat", "ironhead", "protect", "stoneedge", "swordsdance", "thunderwave"] - }, - "terrakion": { - "moves": ["closecombat", "protect", "rockslide", "stompingtantrum", "stoneedge", "taunt"] - }, - "virizion": { - "moves": ["closecombat", "leafblade", "protect", "stoneedge", "swordsdance", "taunt"] - }, - "tornadus": { - "moves": ["heatwave", "hurricane", "protect", "skydrop", "superpower", "tailwind", "taunt", "uturn"] - }, - "tornadustherian": { - "moves": ["heatwave", "hurricane", "protect", "skydrop", "tailwind", "taunt", "uturn"] - }, - "thundurus": { - "moves": ["focusblast", "hiddenpowerflying", "hiddenpowerice", "knockoff", "nastyplot", "protect", "taunt", "thunderbolt", "thunderwave"] - }, - "thundurustherian": { - "moves": ["focusblast", "hiddenpowerflying", "hiddenpowerice", "nastyplot", "protect", "thunderbolt", "voltswitch"] - }, - "reshiram": { - "moves": ["blueflare", "dracometeor", "dragonpulse", "flamecharge", "heatwave", "protect", "roost", "tailwind"] - }, - "zekrom": { - "moves": ["boltstrike", "dracometeor", "dragonclaw", "honeclaws", "protect", "roost", "tailwind"] - }, - "landorus": { - "moves": ["earthpower", "focusblast", "hiddenpowerice", "protect", "psychic", "rockslide", "sludgebomb"] - }, - "landorustherian": { - "moves": ["earthquake", "fly", "knockoff", "protect", "rockslide", "stoneedge", "superpower", "swordsdance", "uturn"] - }, - "kyurem": { - "moves": ["dracometeor", "dragonpulse", "earthpower", "glaciate", "icebeam", "protect", "roost"] - }, - "kyuremblack": { - "moves": ["dragonclaw", "earthpower", "fusionbolt", "icebeam", "protect", "roost"] - }, - "kyuremwhite": { - "moves": ["dracometeor", "dragonpulse", "earthpower", "fusionflare", "icebeam", "protect", "roost"] - }, - "keldeo": { - "moves": ["calmmind", "hiddenpowerelectric", "hiddenpowerflying", "hydropump", "icywind", "protect", "secretsword", "taunt"] - }, - "meloetta": { - "moves": ["calmmind", "focusblast", "hypervoice", "protect", "psyshock", "shadowball"] - }, - "meloettapirouette": { - "moves": ["closecombat", "knockoff", "protect", "relicsong", "return"] - }, - "genesect": { - "moves": ["bugbuzz", "extremespeed", "flamethrower", "icebeam", "ironhead", "protect", "technoblast", "thunderbolt", "uturn"] - }, - "chesnaught": { - "moves": ["hammerarm", "leechseed", "rockslide", "spikyshield", "stoneedge", "woodhammer"] - }, - "delphox": { - "moves": ["calmmind", "fireblast", "grassknot", "heatwave", "protect", "psyshock", "switcheroo"] - }, - "greninja": { - "moves": ["darkpulse", "gunkshot", "hydropump", "icebeam", "matblock", "protect", "taunt", "uturn"] - }, - "greninjabond": { - "moves": ["darkpulse", "hydropump", "icebeam", "uturn", "watershuriken"] - }, - "diggersby": { - "moves": ["earthquake", "knockoff", "protect", "quickattack", "return", "uturn"] - }, - "talonflame": { - "moves": ["bravebird", "flareblitz", "protect", "roost", "swordsdance", "tailwind", "taunt", "uturn", "willowisp"] - }, - "vivillon": { - "moves": ["bugbuzz", "hurricane", "protect", "quiverdance", "sleeppowder"] - }, - "pyroar": { - "moves": ["fireblast", "hypervoice", "protect", "solarbeam", "sunnyday", "willowisp"] - }, - "floetteeternal": { - "moves": ["calmmind", "dazzlinggleam", "hiddenpowerfire", "lightofruin", "protect", "psychic"] - }, - "florges": { - "moves": ["calmmind", "dazzlinggleam", "defog", "helpinghand", "moonblast", "protect", "psychic"] - }, - "gogoat": { - "moves": ["brickbreak", "bulkup", "earthquake", "hornleech", "leechseed", "milkdrink", "protect", "rockslide"] - }, - "pangoro": { - "moves": ["gunkshot", "hammerarm", "icepunch", "knockoff", "partingshot", "protect"] - }, - "furfrou": { - "moves": ["cottonguard", "protect", "return", "snarl", "thunderwave", "uturn"] - }, - "meowstic": { - "moves": ["fakeout", "lightscreen", "protect", "psychic", "reflect", "thunderwave"] - }, - "meowsticf": { - "moves": ["darkpulse", "energyball", "fakeout", "helpinghand", "nastyplot", "protect", "psychic", "thunderbolt"] - }, - "doublade": { - "moves": ["ironhead", "protect", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"] - }, - "aegislash": { - "moves": ["flashcannon", "hiddenpowerice", "kingsshield", "shadowball", "shadowsneak"] - }, - "aegislashblade": { - "moves": ["ironhead", "kingsshield", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"] - }, - "aromatisse": { - "moves": ["healpulse", "moonblast", "protect", "thunderbolt", "trickroom"] - }, - "slurpuff": { - "moves": ["bellydrum", "drainpunch", "playrough", "protect", "return"] - }, - "malamar": { - "moves": ["knockoff", "protect", "psychocut", "rockslide", "superpower", "trickroom"] - }, - "barbaracle": { - "moves": ["crosschop", "liquidation", "protect", "rockslide", "shellsmash"] - }, - "dragalge": { - "moves": ["dracometeor", "dragonpulse", "focusblast", "hiddenpowerfire", "protect", "scald", "sludgebomb"] - }, - "clawitzer": { - "moves": ["aurasphere", "darkpulse", "helpinghand", "icebeam", "muddywater", "protect", "uturn", "waterpulse"] - }, - "heliolisk": { - "moves": ["darkpulse", "grassknot", "hypervoice", "protect", "thunderbolt", "voltswitch"] - }, - "tyrantrum": { - "moves": ["dragonclaw", "dragondance", "earthquake", "headsmash", "protect", "rockslide"] - }, - "aurorus": { - "moves": ["ancientpower", "earthpower", "freezedry", "hypervoice", "icywind", "protect", "thunderwave"] - }, - "sylveon": { - "moves": ["helpinghand", "hiddenpowerground", "hypervoice", "protect", "psyshock", "shadowball"] - }, - "hawlucha": { - "moves": ["acrobatics", "encore", "highjumpkick", "protect", "swordsdance"] - }, - "dedenne": { - "moves": ["eerieimpulse", "helpinghand", "nuzzle", "recycle", "superfang", "thunderbolt"] - }, - "carbink": { - "moves": ["explosion", "lightscreen", "moonblast", "protect", "reflect", "stealthrock", "trickroom"] - }, - "goodra": { - "moves": ["dracometeor", "dragonpulse", "fireblast", "muddywater", "powerwhip", "protect", "thunderbolt"] - }, - "klefki": { - "moves": ["dazzlinggleam", "foulplay", "lightscreen", "playrough", "protect", "reflect", "thunderwave"] - }, - "trevenant": { - "moves": ["hornleech", "leechseed", "protect", "rockslide", "shadowclaw", "trickroom", "willowisp", "woodhammer"] - }, - "gourgeistsmall": { - "moves": ["leechseed", "phantomforce", "protect", "seedbomb", "shadowsneak", "willowisp"] - }, - "gourgeistlarge": { - "moves": ["leechseed", "phantomforce", "protect", "seedbomb", "shadowsneak", "trickroom", "willowisp"] - }, - "gourgeist": { - "moves": ["leechseed", "phantomforce", "protect", "seedbomb", "shadowsneak", "willowisp"] - }, - "gourgeistsuper": { - "moves": ["leechseed", "phantomforce", "protect", "seedbomb", "shadowsneak", "trickroom", "willowisp"] - }, - "avalugg": { - "moves": ["avalanche", "earthquake", "protect", "recover"] - }, - "noivern": { - "moves": ["dracometeor", "flamethrower", "hurricane", "protect", "switcheroo", "tailwind", "taunt", "uturn"] - }, - "xerneas": { - "moves": ["closecombat", "dazzlinggleam", "focusblast", "geomancy", "hiddenpowerfire", "protect", "psyshock", "rockslide", "thunderbolt"] - }, - "yveltal": { - "moves": ["darkpulse", "heatwave", "oblivionwing", "protect", "roost", "skydrop", "snarl", "suckerpunch", "taunt"] - }, - "zygarde": { - "moves": ["coil", "dragondance", "extremespeed", "glare", "protect", "rockslide", "stoneedge", "thousandarrows"] - }, - "zygarde10": { - "moves": ["dragondance", "extremespeed", "irontail", "protect", "thousandarrows"] - }, - "diancie": { - "moves": ["calmmind", "dazzlinggleam", "diamondstorm", "earthpower", "moonblast", "protect"] - }, - "dianciemega": { - "moves": ["calmmind", "dazzlinggleam", "diamondstorm", "earthpower", "hiddenpowerfire", "moonblast", "protect", "psyshock"] - }, - "hoopa": { - "moves": ["focusblast", "hyperspacehole", "protect", "shadowball", "trickroom"] - }, - "hoopaunbound": { - "moves": ["darkpulse", "drainpunch", "focusblast", "gunkshot", "hyperspacefury", "icepunch", "protect", "psychic", "zenheadbutt"] - }, - "volcanion": { - "moves": ["earthpower", "heatwave", "protect", "sludgebomb", "steameruption"] - }, - "decidueye": { - "moves": ["bravebird", "leafblade", "protect", "spiritshackle", "suckerpunch"] - }, - "incineroar": { - "moves": ["fakeout", "flareblitz", "knockoff", "snarl", "taunt", "uturn", "willowisp"] - }, - "primarina": { - "moves": ["hypervoice", "icebeam", "moonblast", "protect", "psychic"] - }, - "toucannon": { - "moves": ["beakblast", "bulletseed", "protect", "rockblast", "tailwind"] - }, - "gumshoos": { - "moves": ["crunch", "protect", "return", "superfang", "uturn"] - }, - "vikavolt": { - "moves": ["bugbuzz", "hiddenpowerice", "protect", "stringshot", "thunderbolt", "voltswitch"] - }, - "crabominable": { - "moves": ["closecombat", "earthquake", "icehammer", "protect", "stoneedge", "wideguard"] - }, - "oricorio": { - "moves": ["airslash", "hurricane", "protect", "revelationdance", "tailwind"] - }, - "oricoriopompom": { - "moves": ["airslash", "hurricane", "protect", "revelationdance", "tailwind"] - }, - "oricoriopau": { - "moves": ["airslash", "hurricane", "protect", "revelationdance", "tailwind"] - }, - "oricoriosensu": { - "moves": ["airslash", "hurricane", "protect", "revelationdance", "tailwind"] - }, - "ribombee": { - "moves": ["moonblast", "pollenpuff", "protect", "quiverdance", "stickyweb"] - }, - "lycanroc": { - "moves": ["accelerock", "crunch", "firefang", "protect", "stoneedge", "taunt"] - }, - "lycanrocmidnight": { - "moves": ["protect", "stoneedge", "suckerpunch", "swordsdance", "taunt"] - }, - "lycanrocdusk": { - "moves": ["accelerock", "drillrun", "firefang", "protect", "rockslide", "stoneedge"] - }, - "wishiwashischool": { - "moves": ["earthquake", "endeavor", "helpinghand", "hiddenpowergrass", "hydropump", "icebeam", "protect"] - }, - "toxapex": { - "moves": ["banefulbunker", "haze", "recover", "scald", "toxicspikes", "wideguard"] - }, - "mudsdale": { - "moves": ["closecombat", "heavyslam", "highhorsepower", "protect", "rockslide"] - }, - "araquanid": { - "moves": ["liquidation", "lunge", "protect", "stickyweb", "wideguard"] - }, - "lurantis": { - "moves": ["hiddenpowerice", "knockoff", "leafstorm", "protect", "superpower"] - }, - "shiinotic": { - "moves": ["gigadrain", "leechseed", "moonblast", "protect", "spore", "strengthsap"] - }, - "salazzle": { - "moves": ["encore", "fakeout", "flamethrower", "hiddenpowergrass", "hiddenpowerground", "protect", "sludgebomb", "taunt"] - }, - "bewear": { - "moves": ["doubleedge", "hammerarm", "icepunch", "protect", "wideguard"] - }, - "tsareena": { - "moves": ["feint", "knockoff", "playrough", "powerwhip", "protect", "uturn"] - }, - "comfey": { - "moves": ["drainingkiss", "floralhealing", "taunt", "toxic", "uturn"] - }, - "oranguru": { - "moves": ["foulplay", "instruct", "protect", "psychic", "trickroom"] - }, - "passimian": { - "moves": ["closecombat", "knockoff", "protect", "rockslide", "taunt", "uturn"] - }, - "golisopod": { - "moves": ["aquajet", "firstimpression", "leechlife", "liquidation", "protect", "wideguard"] - }, - "palossand": { - "moves": ["earthpower", "protect", "shadowball", "shoreup", "stealthrock", "toxic"] - }, - "pyukumuku": { - "moves": ["counter", "helpinghand", "lightscreen", "memento", "reflect"] - }, - "typenull": { - "moves": ["rest", "return", "sleeptalk", "swordsdance", "uturn"] - }, - "silvally": { - "moves": ["crunch", "doubleedge", "explosion", "flamecharge", "icebeam", "partingshot", "protect", "swordsdance", "uturn"] - }, - "silvallybug": { - "moves": ["flamethrower", "icebeam", "protect", "thunderbolt", "thunderwave", "uturn"] - }, - "silvallydark": { - "moves": ["icebeam", "multiattack", "partingshot", "protect", "snarl", "thunderwave", "uturn"] - }, - "silvallydragon": { - "moves": ["flamethrower", "icebeam", "multiattack", "partingshot", "protect", "thunderwave", "uturn"] - }, - "silvallyelectric": { - "moves": ["icebeam", "partingshot", "protect", "snarl", "thunderbolt", "thunderwave", "uturn"] - }, - "silvallyfairy": { - "moves": ["flamethrower", "icebeam", "multiattack", "partingshot", "protect", "thunderwave", "uturn"] - }, - "silvallyfighting": { - "moves": ["flamecharge", "multiattack", "protect", "rockslide", "swordsdance"] - }, - "silvallyfire": { - "moves": ["flamethrower", "icebeam", "protect", "snarl", "thunderbolt", "thunderwave", "uturn"] - }, - "silvallyflying": { - "moves": ["flamecharge", "ironhead", "multiattack", "partingshot", "protect", "swordsdance", "thunderwave", "uturn"] - }, - "silvallyghost": { - "moves": ["icebeam", "multiattack", "partingshot", "protect", "uturn"] - }, - "silvallygrass": { - "moves": ["flamethrower", "icebeam", "multiattack", "partingshot", "protect", "thunderwave", "uturn"] - }, - "silvallyground": { - "moves": ["flamecharge", "icebeam", "multiattack", "protect", "rockslide", "swordsdance", "thunderbolt"] - }, - "silvallyice": { - "moves": ["icebeam", "partingshot", "protect", "thunderbolt", "thunderwave", "uturn"] - }, - "silvallypoison": { - "moves": ["flamethrower", "icebeam", "multiattack", "partingshot", "protect", "thunderwave", "uturn"] - }, - "silvallypsychic": { - "moves": ["flamethrower", "multiattack", "partingshot", "protect", "thunderwave", "uturn"] - }, - "silvallyrock": { - "moves": ["flamethrower", "icebeam", "partingshot", "protect", "rockslide", "uturn"] - }, - "silvallysteel": { - "moves": ["flamecharge", "multiattack", "partingshot", "protect", "rockslide", "swordsdance", "uturn"] - }, - "silvallywater": { - "moves": ["flamethrower", "icebeam", "multiattack", "partingshot", "protect", "thunderbolt", "thunderwave", "uturn"] - }, - "minior": { - "moves": ["acrobatics", "earthquake", "powergem", "protect", "shellsmash"] - }, - "komala": { - "moves": ["playrough", "protect", "return", "shadowclaw", "suckerpunch", "swordsdance", "uturn", "woodhammer"] - }, - "turtonator": { - "moves": ["dracometeor", "dragonpulse", "fireblast", "protect", "shellsmash"] - }, - "togedemaru": { - "moves": ["encore", "fakeout", "ironhead", "nuzzle", "spikyshield", "uturn", "zingzap"] - }, - "mimikyu": { - "moves": ["playrough", "protect", "shadowclaw", "shadowsneak", "swordsdance", "willowisp"] - }, - "bruxish": { - "moves": ["aquajet", "crunch", "liquidation", "protect", "psychicfangs", "swordsdance"] - }, - "drampa": { - "moves": ["dracometeor", "dragonpulse", "fireblast", "glare", "hypervoice", "protect", "roost"] - }, - "dhelmise": { - "moves": ["anchorshot", "knockoff", "powerwhip", "protect", "rapidspin"] - }, - "kommoo": { - "moves": ["clangingscales", "closecombat", "dragondance", "poisonjab"] - }, - "tapukoko": { - "moves": ["dazzlinggleam", "hiddenpowerice", "naturesmadness", "protect", "skydrop", "taunt", "thunderbolt", "uturn"] - }, - "tapulele": { - "moves": ["dazzlinggleam", "focusblast", "moonblast", "protect", "psychic", "taunt"] - }, - "tapubulu": { - "moves": ["hornleech", "naturesmadness", "protect", "stoneedge", "superpower", "woodhammer"] - }, - "tapufini": { - "moves": ["healpulse", "moonblast", "muddywater", "naturesmadness", "protect", "swagger", "taunt"] - }, - "solgaleo": { - "moves": ["flareblitz", "morningsun", "protect", "sunsteelstrike", "wideguard", "zenheadbutt"] - }, - "lunala": { - "moves": ["moonblast", "moongeistbeam", "protect", "psychic", "roost", "wideguard"] - }, - "nihilego": { - "moves": ["grassknot", "hiddenpowerice", "powergem", "protect", "sludgebomb", "thunderbolt"] - }, - "buzzwole": { - "moves": ["drainpunch", "icepunch", "leechlife", "poisonjab", "protect", "superpower"] - }, - "pheromosa": { - "moves": ["bugbuzz", "highjumpkick", "icebeam", "poisonjab", "protect", "speedswap", "uturn"] - }, - "xurkitree": { - "moves": ["energyball", "hiddenpowerice", "hypnosis", "protect", "tailglow", "thunderbolt"] - }, - "celesteela": { - "moves": ["earthquake", "fireblast", "heavyslam", "leechseed", "protect", "wideguard"] - }, - "kartana": { - "moves": ["knockoff", "leafblade", "protect", "sacredsword", "smartstrike", "swordsdance"] - }, - "guzzlord": { - "moves": ["dracometeor", "fireblast", "knockoff", "protect", "wideguard"] - }, - "necrozma": { - "moves": ["calmmind", "earthpower", "heatwave", "moonlight", "photongeyser"] - }, - "necrozmaduskmane": { - "moves": ["earthquake", "knockoff", "photongeyser", "rockslide", "sunsteelstrike", "swordsdance"] - }, - "necrozmadawnwings": { - "moves": ["calmmind", "heatwave", "moongeistbeam", "photongeyser", "powergem", "trickroom"] - }, - "magearna": { - "moves": ["aurasphere", "dazzlinggleam", "flashcannon", "fleurcannon", "protect", "trickroom", "voltswitch"] - }, - "marshadow": { - "moves": ["bulkup", "closecombat", "icepunch", "protect", "shadowsneak", "spectralthief"] - }, - "naganadel": { - "moves": ["dracometeor", "dragonpulse", "fireblast", "protect", "sludgebomb", "tailwind", "uturn"] - }, - "stakataka": { - "moves": ["earthquake", "gyroball", "rockslide", "stealthrock", "stoneedge", "superpower", "trickroom"] - }, - "blacephalon": { - "moves": ["fireblast", "heatwave", "hiddenpowerice", "protect", "shadowball", "willowisp"] - }, - "zeraora": { - "moves": ["closecombat", "fakeout", "grassknot", "hiddenpowerice", "knockoff", "plasmafists", "protect", "voltswitch"] - } -} diff --git a/data/mods/gen7/random-doubles-teams.ts b/data/mods/gen7/random-doubles-teams.ts deleted file mode 100644 index 70ebb35f5bcd..000000000000 --- a/data/mods/gen7/random-doubles-teams.ts +++ /dev/null @@ -1,1526 +0,0 @@ -import {MoveCounter, RandomGen8Teams, OldRandomBattleSpecies} from '../gen8/random-teams'; -import {PRNG, PRNGSeed} from '../../../sim/prng'; -import {Utils} from '../../../lib'; -import {toID} from '../../../sim/dex'; - -const ZeroAttackHPIVs: {[k: string]: SparseStatsTable} = { - grass: {hp: 30, spa: 30}, - fire: {spa: 30, spe: 30}, - ice: {def: 30}, - ground: {spa: 30, spd: 30}, - fighting: {def: 30, spa: 30, spd: 30, spe: 30}, - electric: {def: 30, spe: 30}, - psychic: {spe: 30}, - flying: {spa: 30, spd: 30, spe: 30}, - rock: {def: 30, spd: 30, spe: 30}, -}; - -export class RandomGen7DoublesTeams extends RandomGen8Teams { - randomDoublesData: {[species: string]: OldRandomBattleSpecies} = require('./random-doubles-data.json'); - - constructor(format: Format | string, prng: PRNG | PRNGSeed | null) { - super(format, prng); - - this.moveEnforcementCheckers = { - Bug: (movePool, moves, abilities, types, counter) => ( - ['megahorn', 'pinmissile'].some(m => movePool.includes(m)) || - !counter.get('Bug') && (abilities.has('Tinted Lens') || abilities.has('Adaptability')) - ), - Dark: (movePool, moves, abilities, types, counter, species) => ( - (!counter.get('Dark') && !abilities.has('Protean')) || - (moves.has('pursuit') && species.types.length > 1 && counter.get('Dark') === 1) - ), - Dragon: (movePool, moves, abilities, types, counter) => ( - !counter.get('Dragon') && - !abilities.has('Aerilate') && !abilities.has('Pixilate') && - !moves.has('dragonascent') && !moves.has('fly') && !moves.has('rest') && !moves.has('sleeptalk') - ), - Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric') || movePool.includes('thunder'), - Fairy: (movePool, moves, abilities, types, counter) => ( - (!counter.get('Fairy') && !types.has('Flying') && !abilities.has('Pixilate')) - ), - Fighting: (movePool, moves, abilities, types, counter) => !counter.get('Fighting') || !counter.get('stab'), - Fire: (movePool, moves, abilities, types, counter) => ( - !counter.get('Fire') || ['eruption', 'quiverdance'].some(m => movePool.includes(m)) || - moves.has('flamecharge') && (movePool.includes('flareblitz') || movePool.includes('blueflare')) - ), - Flying: (movePool, moves, abilities, types, counter, species) => ( - !counter.get('Flying') && ( - species.id === 'rotomfan' || - abilities.has('Gale Wings') || - abilities.has('Serene Grace') || ( - types.has('Normal') && (movePool.includes('beakblast') || movePool.includes('bravebird')) - ) - ) - ), - Ghost: (movePool, moves, abilities, types, counter) => ( - (!counter.get('Ghost') || movePool.includes('spectralthief')) && - !types.has('Dark') && - !abilities.has('Steelworker') - ), - Grass: (movePool, moves, abilities, types, counter, species) => ( - !counter.get('Grass') && (species.baseStats.atk >= 100 || movePool.includes('leafstorm')) - ), - Ground: (movePool, moves, abilities, types, counter) => ( - !counter.get('Ground') && !moves.has('rest') && !moves.has('sleeptalk') - ), - Ice: (movePool, moves, abilities, types, counter) => ( - !abilities.has('Refrigerate') && ( - !counter.get('Ice') || - movePool.includes('iciclecrash') || - (abilities.has('Snow Warning') && movePool.includes('blizzard')) - ) - ), - Normal: movePool => movePool.includes('facade'), - Poison: (movePool, moves, abilities, types, counter) => ( - !counter.get('Poison') && - (!!counter.setupType || abilities.has('Adaptability') || abilities.has('Sheer Force') || movePool.includes('gunkshot')) - ), - Psychic: (movePool, moves, abilities, types, counter, species) => ( - !counter.get('Psychic') && ( - abilities.has('Psychic Surge') || - movePool.includes('psychicfangs') || - (!types.has('Steel') && !types.has('Flying') && !abilities.has('Pixilate') && - counter.get('stab') < species.types.length) - ) - ), - Rock: (movePool, moves, abilities, types, counter, species) => ( - !counter.get('Rock') && - !types.has('Fairy') && - (counter.setupType === 'Physical' || species.baseStats.atk >= 105 || abilities.has('Rock Head')) - ), - Steel: (movePool, moves, abilities, types, counter, species) => ( - !counter.get('Steel') && (species.baseStats.atk >= 100 || abilities.has('Steelworker')) - ), - Water: (movePool, moves, abilities, types, counter, species) => ( - (!counter.get('Water') && !abilities.has('Protean')) || - !counter.get('stab') || - movePool.includes('crabhammer') || - (abilities.has('Huge Power') && movePool.includes('aquajet')) - ), - Adaptability: (movePool, moves, abilities, types, counter, species) => ( - !counter.setupType && - species.types.length > 1 && - (!counter.get(species.types[0]) || !counter.get(species.types[1])) - ), - Contrary: (movePool, moves, abilities, types, counter, species) => ( - !counter.get('contrary') && species.name !== 'Shuckle' - ), - 'Slow Start': movePool => movePool.includes('substitute'), - }; - } - - shouldCullMove( - move: Move, - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - isLead: boolean - ): {cull: boolean, isSetup?: boolean} { - switch (move.id) { - // Not very useful without their supporting moves - case 'clangingscales': case 'electricterrain': case 'happyhour': case 'holdhands': - return { - cull: !!teamDetails.zMove, - isSetup: move.id === 'happyhour' || move.id === 'holdhands', - }; - case 'cottonguard': case 'defendorder': - return {cull: !counter.get('recovery') && !moves.has('rest')}; - case 'bounce': case 'dig': case 'fly': - return {cull: !!teamDetails.zMove || counter.setupType !== 'Physical'}; - case 'focuspunch': - return {cull: !moves.has('substitute') || counter.damagingMoves.size < 2}; - case 'icebeam': - return {cull: abilities.has('Tinted Lens') && !!counter.get('Status')}; - case 'lightscreen': - if (movePool.length > 1) { - const screen = movePool.indexOf('reflect'); - if (screen >= 0) this.fastPop(movePool, screen); - } - return {cull: !moves.has('reflect')}; - case 'perishsong': - return {cull: !moves.has('protect')}; - case 'reflect': - if (movePool.length > 1) { - const screen = movePool.indexOf('lightscreen'); - if (screen >= 0) this.fastPop(movePool, screen); - } - return {cull: !moves.has('calmmind') && !moves.has('lightscreen')}; - case 'rest': - return {cull: movePool.includes('sleeptalk')}; - case 'sleeptalk': - if (movePool.length > 1) { - const rest = movePool.indexOf('rest'); - if (rest >= 0) this.fastPop(movePool, rest); - } - return {cull: !moves.has('rest')}; - case 'storedpower': - return {cull: !counter.setupType}; - case 'switcheroo': case 'trick': - return {cull: ( - counter.get('Physical') + counter.get('Special') < 3 || - ['electroweb', 'snarl', 'suckerpunch'].some(m => moves.has(m)) - )}; - - // Set up once and only if we have the moves for it - case 'bellydrum': case 'bulkup': case 'coil': case 'curse': case 'dragondance': case 'honeclaws': case 'swordsdance': - return {cull: ( - counter.setupType !== 'Physical' || - counter.get('physicalsetup') > 1 || - (counter.get('Physical') + counter.get('physicalpool') < 2) || - (move.id === 'bellydrum' && !abilities.has('Unburden') && !counter.get('priority')) - ), isSetup: true}; - case 'calmmind': case 'geomancy': case 'nastyplot': case 'tailglow': - if (types.has('Dark') && moves.has('darkpulse')) { - counter.setupType = 'Special'; - return {cull: false, isSetup: true}; - } - return {cull: ( - counter.setupType !== 'Special' || - counter.get('specialsetup') > 1 || - (counter.get('Special') + counter.get('specialpool') < 2) - ), isSetup: true}; - case 'growth': case 'shellsmash': case 'workup': - return {cull: ( - counter.setupType !== 'Mixed' || - counter.get('mixedsetup') > 1 || - counter.damagingMoves.size + counter.get('physicalpool') + counter.get('specialpool') < 2 || - (move.id === 'growth' && !moves.has('sunnyday')) - ), isSetup: true}; - case 'agility': case 'autotomize': case 'rockpolish': case 'shiftgear': - return {cull: counter.damagingMoves.size < 2, isSetup: !counter.setupType}; - case 'flamecharge': - return {cull: ( - moves.has('dracometeor') || - moves.has('overheat') || - (counter.damagingMoves.size < 3 && !counter.setupType) - )}; - - // Bad after setup - case 'circlethrow': case 'dragontail': - return {cull: ( - !!counter.get('speedsetup') || - moves.has('superpower') || - (!!counter.setupType && ((!moves.has('rest') && !moves.has('sleeptalk')) || moves.has('stormthrow'))) || - ['encore', 'raindance', 'roar', 'trickroom', 'whirlwind'].some(m => moves.has(m)) || - (counter.get(move.type) > 1 && counter.get('Status') > 1) || - (abilities.has('Sheer Force') && !!counter.get('sheerforce')) - )}; - case 'defog': - return {cull: !!counter.setupType || moves.has('spikes') || moves.has('stealthrock') || !!teamDetails.defog}; - case 'fakeout': case 'tailwind': - return {cull: !!counter.setupType || ['substitute', 'switcheroo', 'trick'].some(m => moves.has(m))}; - case 'foulplay': - return {cull: ( - !!counter.setupType || - !!counter.get('speedsetup') || - counter.get('Dark') > 2 || - moves.has('clearsmog') || - (!!counter.get('priority') && counter.damagingMoves.size - 1 === counter.get('priority')) - )}; - case 'haze': case 'spikes': - return {cull: !!counter.setupType || !!counter.get('speedsetup') || moves.has('trickroom')}; - case 'healbell': case 'technoblast': - return {cull: !!counter.get('speedsetup')}; - case 'healingwish': case 'memento': - return {cull: !!counter.setupType || !!counter.get('recovery') || moves.has('substitute')}; - case 'helpinghand': case 'superfang': case 'yawn': - return {cull: !!counter.setupType}; - case 'icywind': case 'stringshot': - return {cull: !!counter.get('speedsetup') || moves.has('trickroom')}; - case 'leechseed': case 'roar': case 'whirlwind': - return {cull: ( - !!counter.setupType || - !!counter.get('speedsetup') || - moves.has('dragontail') || - (movePool.includes('protect') || movePool.includes('spikyshield')) - )}; - case 'protect': - const doublesCondition = ( - moves.has('fakeout') || - (moves.has('tailwind') && moves.has('roost')) || - movePool.includes('bellydrum') || - movePool.includes('shellsmash') - ); - return {cull: ( - doublesCondition || - !!counter.get('speedsetup') || - moves.has('rest') || moves.has('roar') || moves.has('whirlwind') || - (moves.has('lightscreen') && moves.has('reflect')) - )}; - case 'pursuit': - return {cull: ( - !!counter.setupType || - counter.get('Status') > 1 || - counter.get('Dark') > 2 || - (moves.has('knockoff') && !types.has('Dark')) - )}; - case 'rapidspin': - return {cull: !!counter.setupType || !!teamDetails.rapidSpin}; - case 'reversal': - return {cull: moves.has('substitute') && !!teamDetails.zMove}; - case 'seismictoss': - return {cull: !abilities.has('Parental Bond') && (counter.damagingMoves.size > 1 || !!counter.setupType)}; - case 'stealthrock': - return {cull: ( - !!counter.setupType || - !!counter.get('speedsetup') || - ['rest', 'substitute', 'trickroom'].some(m => moves.has(m)) || - !!teamDetails.stealthRock - )}; - case 'stickyweb': - return {cull: !!teamDetails.stickyWeb}; - case 'toxicspikes': - return {cull: !!counter.setupType || !!teamDetails.toxicSpikes}; - case 'trickroom': - return {cull: ( - !!counter.setupType || - !!counter.get('speedsetup') || - counter.damagingMoves.size < 2 || - moves.has('lightscreen') || - moves.has('reflect') - )}; - case 'uturn': - return {cull: ( - (abilities.has('Speed Boost') && moves.has('protect')) || - (abilities.has('Protean') && counter.get('Status') > 2) || - !!counter.setupType || - !!counter.get('speedsetup') - )}; - case 'voltswitch': - return {cull: ( - !!counter.setupType || - !!counter.get('speedsetup') || - movePool.includes('boltstrike') || - ['electricterrain', 'raindance', 'uturn'].some(m => moves.has(m)) - )}; - case 'wish': - return {cull: ( - species.baseStats.hp < 110 && - !abilities.has('Regenerator') && - !movePool.includes('protect') && - !['ironhead', 'protect', 'spikyshield', 'uturn'].some(m => moves.has(m)) - )}; - - // Bit redundant to have both - // Attacks: - case 'bugbite': case 'bugbuzz': case 'infestation': case 'signalbeam': - return {cull: moves.has('uturn') && !counter.setupType && !abilities.has('Tinted Lens')}; - case 'darkestlariat': case 'nightslash': - return {cull: moves.has('knockoff') || moves.has('pursuit')}; - case 'darkpulse': - return {cull: ['crunch', 'knockoff', 'hyperspacefury'].some(m => moves.has(m)) && counter.setupType !== 'Special'}; - case 'suckerpunch': - return {cull: counter.damagingMoves.size < 2 || moves.has('glare') || !types.has('Dark') && counter.get('Dark') > 1}; - case 'dragonpulse': case 'spacialrend': - return {cull: moves.has('dracometeor') || moves.has('outrage') || (moves.has('dragontail') && !counter.setupType)}; - case 'outrage': - return {cull: ( - moves.has('dragonclaw') || - (moves.has('dracometeor') && counter.damagingMoves.size < 3) || - (moves.has('clangingscales') && !teamDetails.zMove) - )}; - case 'thunderbolt': - return {cull: ['discharge', 'wildcharge'].some(m => moves.has(m))}; - case 'moonblast': - return {cull: moves.has('dazzlinggleam')}; - case 'aurasphere': case 'focusblast': - return {cull: (((moves.has('closecombat') || moves.has('superpower')) && counter.setupType !== 'Special'))}; - case 'drainpunch': - return {cull: ( - (!moves.has('bulkup') && (moves.has('closecombat') || moves.has('highjumpkick'))) || - ((moves.has('focusblast') || moves.has('superpower')) && counter.setupType !== 'Physical') - )}; - case 'closecombat': case 'highjumpkick': - return {cull: ( - (moves.has('bulkup') && moves.has('drainpunch')) || - (counter.setupType === 'Special' && ['aurasphere', 'focusblast'].some(m => moves.has(m) || movePool.includes(m))) - )}; - case 'dynamicpunch': case 'vacuumwave': - return {cull: (moves.has('closecombat') || moves.has('facade')) && counter.setupType !== 'Special'}; - case 'stormthrow': - return {cull: moves.has('circlethrow')}; - case 'superpower': - return { - cull: (counter.get('Fighting') > 1 && !!counter.setupType), - isSetup: abilities.has('Contrary'), - }; - case 'fierydance': case 'heatwave': - return {cull: moves.has('fireblast')}; - case 'firefang': case 'firepunch': case 'flamethrower': - return {cull: ( - ['blazekick', 'heatwave', 'overheat'].some(m => moves.has(m)) || - ((moves.has('fireblast') || moves.has('lavaplume')) && counter.setupType !== 'Physical') - )}; - case 'fireblast': case 'magmastorm': - return {cull: ( - (moves.has('flareblitz') && counter.setupType !== 'Special') || - (moves.has('lavaplume') && !counter.setupType && !counter.get('speedsetup')) - )}; - case 'lavaplume': - return {cull: moves.has('firepunch') || moves.has('fireblast') && (!!counter.setupType || !!counter.get('speedsetup'))}; - case 'overheat': - return {cull: ['fireblast', 'flareblitz', 'lavaplume'].some(m => moves.has(m))}; - case 'hurricane': - return {cull: moves.has('bravebird') || moves.has('airslash') && !!counter.get('Status')}; - case 'hex': - return {cull: !moves.has('thunderwave') && !moves.has('willowisp')}; - case 'shadowball': - return {cull: moves.has('darkpulse') || (moves.has('hex') && moves.has('willowisp'))}; - case 'shadowclaw': - return {cull: ( - moves.has('shadowforce') || - moves.has('shadowsneak') || - (moves.has('shadowball') && counter.setupType !== 'Physical') - )}; - case 'shadowsneak': - return {cull: ( - moves.has('trick') || - (types.has('Ghost') && species.types.length > 1 && counter.get('stab') < 2) - )}; - case 'gigadrain': - return {cull: ( - moves.has('petaldance') || - moves.has('powerwhip') || - (moves.has('leafstorm') && counter.get('Special') < 4 && !counter.setupType && !moves.has('trickroom')) - )}; - case 'leafblade': case 'woodhammer': - return {cull: ( - (moves.has('gigadrain') && counter.setupType !== 'Physical') || - (moves.has('hornleech') && !!counter.setupType) - )}; - case 'leafstorm': - return {cull: ( - moves.has('trickroom') || - moves.has('energyball') || - (counter.get('Grass') > 1 && !!counter.setupType) - )}; - case 'solarbeam': - return {cull: ( - (!abilities.has('Drought') && !moves.has('sunnyday')) || - moves.has('gigadrain') || - moves.has('leafstorm') - )}; - case 'bonemerang': case 'precipiceblades': - return {cull: moves.has('earthquake')}; - case 'earthpower': - return {cull: moves.has('earthquake') && counter.setupType !== 'Special'}; - case 'earthquake': - return {cull: moves.has('highhorsepower') || moves.has('closecombat') && abilities.has('Aerilate')}; - case 'freezedry': - return {cull: ( - moves.has('icebeam') || moves.has('icywind') || counter.get('stab') < species.types.length || - (moves.has('blizzard') && !!counter.setupType) - )}; - case 'bodyslam': case 'return': - return {cull: ( - moves.has('doubleedge') || - (moves.has('glare') && moves.has('headbutt')) || - (move.id === 'return' && moves.has('bodyslam')) - )}; - case 'endeavor': - return {cull: !isLead && !abilities.has('Defeatist')}; - case 'explosion': - return {cull: ( - !!counter.setupType || - moves.has('wish') || - (abilities.has('Refrigerate') && (moves.has('freezedry') || movePool.includes('return'))) - )}; - case 'extremespeed': case 'skyattack': - return {cull: moves.has('substitute') || counter.setupType !== 'Physical' && moves.has('vacuumwave')}; - case 'facade': - return {cull: moves.has('bulkup')}; - case 'hiddenpower': - return {cull: ( - moves.has('rest') || - (!counter.get('stab') && counter.damagingMoves.size < 2) || - // Force Moonblast on Special-setup Fairies - (counter.setupType === 'Special' && types.has('Fairy') && movePool.includes('moonblast')) - )}; - case 'hypervoice': - return {cull: moves.has('blizzard')}; - case 'judgment': - return {cull: counter.setupType !== 'Special' && counter.get('stab') > 1}; - case 'quickattack': - return {cull: ( - !!counter.get('speedsetup') || - (types.has('Rock') && !!counter.get('Status')) || - moves.has('feint') || - (types.has('Normal') && !counter.get('stab')) - )}; - case 'weatherball': - return {cull: !moves.has('raindance') && !moves.has('sunnyday')}; - case 'poisonjab': - return {cull: moves.has('gunkshot')}; - case 'acidspray': case 'sludgewave': - return {cull: moves.has('poisonjab') || moves.has('sludgebomb')}; - case 'psychic': - return {cull: moves.has('psyshock')}; - case 'psychocut': case 'zenheadbutt': - return {cull: ( - ((moves.has('psychic') || moves.has('psyshock')) && counter.setupType !== 'Physical') || - (abilities.has('Contrary') && !counter.setupType && !!counter.get('physicalpool')) - )}; - case 'psyshock': - const psychic = movePool.indexOf('psychic'); - if (psychic >= 0) this.fastPop(movePool, psychic); - return {cull: false}; - case 'headsmash': - return {cull: moves.has('stoneedge') || moves.has('rockslide')}; - case 'stoneedge': - return {cull: moves.has('rockslide') || (species.id === 'machamp' && !moves.has('dynamicpunch'))}; - case 'bulletpunch': - return {cull: types.has('Steel') && counter.get('stab') < 2 && !abilities.has('Technician')}; - case 'flashcannon': - return {cull: (moves.has('ironhead') || moves.has('meteormash')) && counter.setupType !== 'Special'}; - case 'hydropump': - return {cull: ( - moves.has('liquidation') || - moves.has('waterfall') || ( - moves.has('scald') && - ((counter.get('Special') < 4 && !moves.has('uturn')) || (species.types.length > 1 && counter.get('stab') < 3)) - ) - )}; - case 'muddywater': - return {cull: moves.has('scald') || moves.has('hydropump')}; - case 'originpulse': case 'surf': - return {cull: moves.has('hydropump') || moves.has('scald')}; - case 'scald': - return {cull: ['liquidation', 'waterfall', 'waterpulse'].some(m => moves.has(m))}; - - // Status: - case 'electroweb': case 'stunspore': case 'thunderwave': - return {cull: ( - !!counter.setupType || - !!counter.get('speedsetup') || - ['discharge', 'spore', 'toxic', 'trickroom', 'yawn'].some(m => moves.has(m)) - )}; - case 'glare': case 'headbutt': - return {cull: moves.has('bodyslam') || !moves.has('glare')}; - case 'toxic': - const otherStatus = ['hypnosis', 'sleeppowder', 'toxicspikes', 'willowisp', 'yawn'].some(m => moves.has(m)); - return {cull: otherStatus || !!counter.setupType || moves.has('flamecharge') || moves.has('raindance')}; - case 'raindance': - return {cull: ( - counter.get('Physical') + counter.get('Special') < 2 || - moves.has('rest') || - (!types.has('Water') && !counter.get('Water')) - )}; - case 'sunnyday': - const cull = ( - counter.get('Physical') + counter.get('Special') < 2 || - (!abilities.has('Chlorophyll') && !abilities.has('Flower Gift') && !moves.has('solarbeam')) - ); - - if (cull && movePool.length > 1) { - const solarbeam = movePool.indexOf('solarbeam'); - if (solarbeam >= 0) this.fastPop(movePool, solarbeam); - if (movePool.length > 1) { - const weatherball = movePool.indexOf('weatherball'); - if (weatherball >= 0) this.fastPop(movePool, weatherball); - } - } - - return {cull}; - case 'painsplit': case 'recover': case 'roost': case 'synthesis': - return {cull: ( - moves.has('leechseed') || moves.has('rest') || - (moves.has('wish') && (moves.has('protect') || movePool.includes('protect'))) - )}; - case 'substitute': - const moveBasedCull = ['copycat', 'dragondance', 'shiftgear'].some(m => movePool.includes(m)); - return {cull: ( - moves.has('dracometeor') || - (moves.has('leafstorm') && !abilities.has('Contrary')) || - ['encore', 'pursuit', 'rest', 'taunt', 'uturn', 'voltswitch', 'whirlwind'].some(m => moves.has(m)) || - moveBasedCull - )}; - case 'powersplit': - return {cull: moves.has('guardsplit')}; - case 'wideguard': - return {cull: moves.has('protect')}; - case 'bravebird': - // Hurricane > Brave Bird in the rain - return {cull: (moves.has('raindance') || abilities.has('Drizzle')) && movePool.includes('hurricane')}; - } - return {cull: false}; - } - - shouldCullAbility( - ability: string, - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - ): boolean { - switch (ability) { - case 'Battle Bond': case 'Dazzling': case 'Flare Boost': case 'Hyper Cutter': - case 'Ice Body': case 'Innards Out': case 'Moody': case 'Steadfast': case 'Magician': - return true; - case 'Aerilate': case 'Galvanize': case 'Pixilate': case 'Refrigerate': - return !counter.get('Normal'); - case 'Analytic': case 'Download': - return species.nfe; - case 'Battle Armor': case 'Sturdy': - return (!!counter.get('recoil') && !counter.get('recovery')); - case 'Chlorophyll': - return ( - species.baseStats.spe > 100 || - abilities.has('Harvest') || - (!moves.has('sunnyday') && !teamDetails.sun) - ); - case 'Competitive': - return (!counter.get('Special') || moves.has('sleeptalk') && moves.has('rest')); - case 'Compound Eyes': case 'No Guard': - return !counter.get('inaccurate'); - case 'Contrary': case 'Iron Fist': case 'Skill Link': case 'Strong Jaw': - return !counter.get(toID(ability)); - case 'Defiant': case 'Justified': case 'Moxie': - return !counter.get('Physical') || moves.has('dragontail'); - case 'Flash Fire': - return abilities.has('Drought'); - case 'Gluttony': - return !moves.has('bellydrum'); - case 'Harvest': - return abilities.has('Frisk'); - case 'Hustle': - return counter.get('Physical') < 2; - case 'Hydration': case 'Rain Dish': case 'Swift Swim': - return ( - species.baseStats.spe > 100 || !moves.has('raindance') && !teamDetails.rain || - !moves.has('raindance') && ['Rock Head', 'Water Absorb'].some(abil => abilities.has(abil)) - ); - case 'Slush Rush': case 'Snow Cloak': - return !teamDetails.hail; - case 'Immunity': case 'Snow Warning': - return (moves.has('facade') || moves.has('hypervoice')); - case 'Intimidate': - return (moves.has('bodyslam') || moves.has('rest') || abilities.has('Reckless') && counter.get('recoil') > 1); - case 'Lightning Rod': - return ( - species.types.includes('Ground') || - (!!teamDetails.rain || moves.has('raindance')) && abilities.has('Swift Swim') - ); - case 'Limber': - return species.types.includes('Electric'); - case 'Liquid Voice': - return !counter.get('sound'); - case 'Magic Guard': case 'Speed Boost': - return (abilities.has('Tinted Lens') && (!counter.get('Status') || moves.has('uturn'))); - case 'Magnet Pull': - return (!!counter.get('Normal') || !types.has('Electric') && !moves.has('earthpower')); - case 'Mold Breaker': - return ( - moves.has('acrobatics') || moves.has('sleeptalk') || - abilities.has('Adaptability') || abilities.has('Iron Fist') || - (abilities.has('Sheer Force') && !!counter.get('sheerforce')) - ); - case 'Overgrow': - return !counter.get('Grass'); - case 'Poison Heal': - return (abilities.has('Technician') && !!counter.get('technician')); - case 'Power Construct': - return species.forme === '10%'; - case 'Prankster': - return !counter.get('Status'); - case 'Pressure': case 'Synchronize': - return (counter.get('Status') < 2 || !!counter.get('recoil') || !!species.isMega); - case 'Regenerator': - return abilities.has('Magic Guard'); - case 'Quick Feet': - return moves.has('bellydrum'); - case 'Reckless': case 'Rock Head': - return (!counter.get('recoil') || !!species.isMega); - case 'Sand Force': case 'Sand Rush': case 'Sand Veil': - return !teamDetails.sand; - case 'Scrappy': - return !species.types.includes('Normal'); - case 'Serene Grace': - return (!counter.get('serenegrace') || species.name === 'Blissey'); - case 'Sheer Force': - return (!counter.get('sheerforce') || moves.has('doubleedge') || abilities.has('Guts') || !!species.isMega); - case 'Simple': - return (!counter.setupType && !moves.has('flamecharge')); - case 'Solar Power': - return (!counter.get('Special') || abilities.has('Harvest') || !teamDetails.sun || !!species.isMega); - case 'Swarm': - return (!counter.get('Bug') || !!species.isMega); - case 'Sweet Veil': - return types.has('Grass'); - case 'Technician': - return (!counter.get('technician') || moves.has('tailslap') || !!species.isMega); - case 'Tinted Lens': - return ( - moves.has('protect') || !!counter.get('damage') || - (counter.get('Status') > 2 && !counter.setupType) || - abilities.has('Prankster') || - (abilities.has('Magic Guard') && !!counter.get('Status')) - ); - case 'Torrent': - return (!counter.get('Water') || !!species.isMega); - case 'Unaware': - return (!!counter.setupType || abilities.has('Magic Guard')); - case 'Unburden': - return (!!species.isMega || abilities.has('Prankster') || !counter.setupType && !moves.has('acrobatics')); - case 'Water Absorb': - return moves.has('raindance') || ['Drizzle', 'Unaware', 'Volt Absorb'].some(abil => abilities.has(abil)); - case 'Weak Armor': - return counter.setupType !== 'Physical'; - } - - return false; - } - - - getAbility( - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species - ): string { - if (species.battleOnly && !species.requiredAbility) { - abilities = new Set(Object.values(this.dex.species.get(species.battleOnly as string).abilities)); - } - const abilityData = Array.from(abilities).map(a => this.dex.abilities.get(a)); - Utils.sortBy(abilityData, abil => -abil.rating); - - if (abilityData.length <= 1) return abilityData[0].name; - - // Hard-code abilities here - if ( - abilities.has('Guts') && - !abilities.has('Quick Feet') && - (moves.has('facade') || (moves.has('sleeptalk') && moves.has('rest'))) - ) return 'Guts'; - if (abilities.has('Intimidate')) return 'Intimidate'; - if (abilities.has('Guts')) return 'Guts'; - if (abilities.has('Storm Drain')) return 'Storm Drain'; - if (abilities.has('Harvest')) return 'Harvest'; - if (abilities.has('Unburden') && !abilities.has('Prankster') && !species.isMega) return 'Unburden'; - if (species.name === 'Ambipom' && !counter.get('technician')) { - // If it doesn't qualify for Technician, Skill Link is useless on it - return 'Pickup'; - } - if (species.name === 'Raticate-Alola') return 'Hustle'; - if (species.baseSpecies === 'Altaria') return 'Natural Cure'; - - let abilityAllowed: Ability[] = []; - // Obtain a list of abilities that are allowed (not culled) - for (const ability of abilityData) { - if (ability.rating >= 1 && !this.shouldCullAbility( - ability.name, types, moves, abilities, counter, movePool, teamDetails, species - )) { - abilityAllowed.push(ability); - } - } - - // If all abilities are rejected, re-allow all abilities - if (!abilityAllowed.length) { - for (const ability of abilityData) { - if (ability.rating > 0) abilityAllowed.push(ability); - } - if (!abilityAllowed.length) abilityAllowed = abilityData; - } - - if (abilityAllowed.length === 1) return abilityAllowed[0].name; - // Sort abilities by rating with an element of randomness - // All three abilities can be chosen - if (abilityAllowed[2] && abilityAllowed[0].rating - 0.5 <= abilityAllowed[2].rating) { - if (abilityAllowed[1].rating <= abilityAllowed[2].rating) { - if (this.randomChance(1, 2)) [abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]]; - } else { - if (this.randomChance(1, 3)) [abilityAllowed[1], abilityAllowed[2]] = [abilityAllowed[2], abilityAllowed[1]]; - } - if (abilityAllowed[0].rating <= abilityAllowed[1].rating) { - if (this.randomChance(2, 3)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; - } else { - if (this.randomChance(1, 2)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; - } - } else { - // Third ability cannot be chosen - if (abilityAllowed[0].rating <= abilityAllowed[1].rating) { - if (this.randomChance(1, 2)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; - } else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) { - if (this.randomChance(1, 3)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; - } - } - - // After sorting, choose the first ability - return abilityAllowed[0].name; - } - - /** Item generation specific to Random Doubles */ - getDoublesItem( - ability: string, - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - ): string | undefined { - const defensiveStatTotal = species.baseStats.hp + species.baseStats.def + species.baseStats.spd; - if (species.requiredItems) { - if ( - species.baseSpecies === 'Arceus' && - (moves.has('judgment') || !counter.get(species.types[0]) || teamDetails.zMove) - ) { - // Judgment doesn't change type with Z-Crystals - return species.requiredItems[0]; - } - return this.sample(species.requiredItems); - } - - // First, the extra high-priority items - if (species.name === 'Dedenne') return moves.has('substitute') ? 'Petaya Berry' : 'Sitrus Berry'; - if (species.name === 'Deoxys-Attack') return 'Life Orb'; - if (species.name === 'Farfetch\u2019d') return 'Stick'; - if (species.name === 'Genesect' && moves.has('technoblast')) return 'Douse Drive'; - if (species.baseSpecies === 'Marowak') return 'Thick Club'; - if (species.name === 'Pikachu') return 'Light Ball'; - if (species.name === 'Shedinja' || species.name === 'Smeargle') return 'Focus Sash'; - if (species.name === 'Unfezant' && counter.get('Physical') >= 2) return 'Scope Lens'; - if (species.name === 'Unown') return 'Choice Specs'; - if (species.name === 'Wobbuffet') return 'Custap Berry'; - if (ability === 'Harvest' || ability === 'Emergency Exit' && !!counter.get('Status')) return 'Sitrus Berry'; - if (ability === 'Imposter') return 'Choice Scarf'; - if (ability === 'Poison Heal') return 'Toxic Orb'; - if (species.nfe) return (ability === 'Technician' && counter.get('Physical') >= 4) ? 'Choice Band' : 'Eviolite'; - if (moves.has('switcheroo') || moves.has('trick')) { - if (species.baseStats.spe >= 60 && species.baseStats.spe <= 108) { - return 'Choice Scarf'; - } else { - return (counter.get('Physical') > counter.get('Special')) ? 'Choice Band' : 'Choice Specs'; - } - } - if (moves.has('bellydrum')) { - if (ability === 'Gluttony') { - return `${this.sample(['Aguav', 'Figy', 'Iapapa', 'Mago', 'Wiki'])} Berry`; - } else if (species.baseStats.spe <= 50 && !teamDetails.zMove && this.randomChance(1, 2)) { - return 'Normalium Z'; - } else { - return 'Sitrus Berry'; - } - } - if (moves.has('copycat') && counter.get('Physical') >= 3) return 'Choice Band'; - if (moves.has('geomancy') || moves.has('skyattack')) return 'Power Herb'; - if (moves.has('shellsmash')) { - return (ability === 'Solid Rock' && !!counter.get('priority')) ? 'Weakness Policy' : 'White Herb'; - } - if ((ability === 'Guts' || moves.has('facade')) && !moves.has('sleeptalk')) { - return (types.has('Fire') || ability === 'Quick Feet' || ability === 'Toxic Boost') ? 'Toxic Orb' : 'Flame Orb'; - } - if (ability === 'Magic Guard' && counter.damagingMoves.size > 1) { - return moves.has('counter') ? 'Focus Sash' : 'Life Orb'; - } - if (ability === 'Sheer Force' && counter.get('sheerforce')) return 'Life Orb'; - if (ability === 'Unburden') return moves.has('fakeout') ? 'Normal Gem' : 'Sitrus Berry'; - if (moves.has('acrobatics')) return ''; - if (moves.has('electricterrain') || ability === 'Electric Surge' && moves.has('thunderbolt')) return 'Electrium Z'; - if ( - moves.has('happyhour') || - moves.has('holdhands') || - (moves.has('encore') && ability === 'Contrary') - ) return 'Normalium Z'; - if (moves.has('raindance')) { - if (species.baseSpecies === 'Castform' && !teamDetails.zMove) { - return 'Waterium Z'; - } else { - return (ability === 'Forecast') ? 'Damp Rock' : 'Life Orb'; - } - } - if (moves.has('sunnyday')) { - if ((species.baseSpecies === 'Castform' || species.baseSpecies === 'Cherrim') && !teamDetails.zMove) { - return 'Firium Z'; - } else { - return (ability === 'Forecast') ? 'Heat Rock' : 'Life Orb'; - } - } - - if (moves.has('solarbeam') && ability !== 'Drought' && !moves.has('sunnyday') && !teamDetails.sun) { - return !teamDetails.zMove ? 'Grassium Z' : 'Power Herb'; - } - - if (moves.has('auroraveil') || moves.has('lightscreen') && moves.has('reflect')) return 'Light Clay'; - if ( - moves.has('rest') && !moves.has('sleeptalk') && - ability !== 'Natural Cure' && ability !== 'Shed Skin' && ability !== 'Shadow Tag' - ) { - return 'Chesto Berry'; - } - - // Z-Moves - if (!teamDetails.zMove) { - if (species.name === 'Decidueye' && moves.has('spiritshackle') && counter.setupType) { - return 'Decidium Z'; - } - if (species.name === 'Kommo-o') return moves.has('clangingscales') ? 'Kommonium Z' : 'Dragonium Z'; - if (species.baseSpecies === 'Lycanroc' && moves.has('stoneedge') && counter.setupType) { - return 'Lycanium Z'; - } - if (species.name === 'Marshadow' && moves.has('spectralthief') && counter.setupType) { - return 'Marshadium Z'; - } - if (species.name === 'Necrozma-Dusk-Mane' || species.name === 'Necrozma-Dawn-Wings') { - if (moves.has('autotomize') && moves.has('sunsteelstrike')) { - return 'Solganium Z'; - } else if (moves.has('trickroom') && moves.has('moongeistbeam')) { - return 'Lunalium Z'; - } else { - return 'Ultranecrozium Z'; - } - } - - if (species.name === 'Mimikyu' && moves.has('playrough') && counter.setupType) return 'Mimikium Z'; - if (species.name === 'Raichu-Alola' && moves.has('thunderbolt') && counter.setupType) return 'Aloraichium Z'; - if (moves.has('bugbuzz') && counter.setupType && species.baseStats.spa > 100) return 'Buginium Z'; - if ( - (moves.has('darkpulse') && ability === 'Fur Coat' && counter.setupType) || - (moves.has('suckerpunch') && ability === 'Moxie' && counter.get('Dark') < 2) - ) { - return 'Darkinium Z'; - } - if (moves.has('outrage') && counter.setupType && !moves.has('fly')) return 'Dragonium Z'; - if (moves.has('fleurcannon') && !!counter.get('speedsetup')) return 'Fairium Z'; - if ( - (moves.has('focusblast') && types.has('Fighting') && counter.setupType) || - (moves.has('reversal') && moves.has('substitute')) - ) { - return 'Fightinium Z'; - } - if ( - moves.has('fly') || - (moves.has('hurricane') && species.baseStats.spa >= 125 && (!!counter.get('Status') || moves.has('superpower'))) || - ((moves.has('bounce') || moves.has('bravebird')) && counter.setupType) - ) { - return 'Flyinium Z'; - } - if (moves.has('shadowball') && counter.setupType && ability === 'Beast Boost') return 'Ghostium Z'; - if ( - moves.has('sleeppowder') && types.has('Grass') && - counter.setupType && species.baseStats.spe <= 70 - ) { - return 'Grassium Z'; - } - if (moves.has('magmastorm')) return 'Firium Z'; - if (moves.has('dig')) return 'Groundium Z'; - if (moves.has('photongeyser') && counter.setupType) return 'Psychium Z'; - if (moves.has('stoneedge') && types.has('Rock') && moves.has('swordsdance')) return 'Rockium Z'; - if (moves.has('hydropump') && ability === 'Battle Bond' && moves.has('uturn')) return 'Waterium Z'; - if ((moves.has('hail') || (moves.has('blizzard') && ability !== 'Snow Warning'))) return 'Icium Z'; - } - - if ( - (ability === 'Speed Boost' || ability === 'Stance Change' || species.name === 'Pheromosa') && - counter.get('Physical') + counter.get('Special') > 2 && - !moves.has('uturn') - ) { - return 'Life Orb'; - } - - if (moves.has('uturn') && counter.get('Physical') === 4 && !moves.has('fakeout')) { - return ( - species.baseStats.spe >= 60 && species.baseStats.spe <= 108 && - !counter.get('priority') && this.randomChance(1, 2) - ) ? 'Choice Scarf' : 'Choice Band'; - } - if (counter.get('Special') === 4 && (moves.has('waterspout') || moves.has('eruption'))) { - return 'Choice Scarf'; - } - - if (['endeavor', 'flail', 'reversal'].some(m => moves.has(m)) && ability !== 'Sturdy') { - return (ability === 'Defeatist') ? 'Expert Belt' : 'Focus Sash'; - } - if (moves.has('outrage') && counter.setupType) return 'Lum Berry'; - if ( - counter.damagingMoves.size >= 3 && - species.baseStats.spe >= 70 && - ability !== 'Multiscale' && ability !== 'Sturdy' && [ - 'acidspray', 'electroweb', 'fakeout', 'feint', 'flamecharge', 'icywind', - 'incinerate', 'naturesmadness', 'rapidspin', 'snarl', 'suckerpunch', 'uturn', - ].every(m => !moves.has(m)) - ) { - return defensiveStatTotal >= 275 ? 'Sitrus Berry' : 'Life Orb'; - } - - if (moves.has('substitute')) return counter.damagingMoves.size > 2 && !!counter.get('drain') ? 'Life Orb' : 'Leftovers'; - if ((ability === 'Iron Barbs' || ability === 'Rough Skin') && this.randomChance(1, 2)) return 'Rocky Helmet'; - if ( - counter.get('Physical') + counter.get('Special') >= 4 && - species.baseStats.spd >= 50 && defensiveStatTotal >= 235 - ) { - return 'Assault Vest'; - } - if (species.name === 'Palkia' && (moves.has('dracometeor') || moves.has('spacialrend')) && moves.has('hydropump')) { - return 'Lustrous Orb'; - } - if (species.types.includes('Normal') && moves.has('fakeout') && counter.get('Normal') >= 2) return 'Silk Scarf'; - if (counter.damagingMoves.size >= 4) { - return (counter.get('Dragon') || moves.has('suckerpunch') || counter.get('Normal')) ? 'Life Orb' : 'Expert Belt'; - } - if (counter.damagingMoves.size >= 3 && !!counter.get('speedsetup') && defensiveStatTotal >= 300) { - return 'Weakness Policy'; - } - - // This is the "REALLY can't think of a good item" cutoff - if (moves.has('stickyweb') && ability === 'Sturdy') return 'Mental Herb'; - if (ability === 'Serene Grace' && moves.has('airslash') && species.baseStats.spe > 100) return 'Metronome'; - if (ability === 'Sturdy' && moves.has('explosion') && !counter.get('speedsetup')) return 'Custap Berry'; - if (ability === 'Super Luck') return 'Scope Lens'; - } - - randomSet( - species: string | Species, - teamDetails: RandomTeamsTypes.TeamDetails = {}, - isLead = false, - isDoubles = true, - ): RandomTeamsTypes.RandomSet { - species = this.dex.species.get(species); - let forme = species.name; - - if (typeof species.battleOnly === 'string') { - // Only change the forme. The species has custom moves, and may have different typing and requirements. - forme = species.battleOnly; - } - if (species.cosmeticFormes) { - forme = this.sample([species.name].concat(species.cosmeticFormes)); - } - - const data = this.randomDoublesData[species.id]; - - const randMoves = data.moves; - const movePool = (randMoves || Object.keys(Dex.species.getLearnset(species.id)!)).slice(); - if (this.format.gameType === 'multi') { - // Random Multi Battle uses doubles move pools, but Ally Switch fails in multi battles - const allySwitch = movePool.indexOf('allyswitch'); - if (allySwitch > -1) { - if (movePool.length > this.maxMoveCount) { - this.fastPop(movePool, allySwitch); - } else { - // Ideally, we'll never get here, but better to have a move that usually does nothing than one that always does - movePool[allySwitch] = 'sleeptalk'; - } - } - } - const rejectedPool = []; - const moves = new Set(); - let ability = ''; - - const evs = {hp: 85, atk: 85, def: 85, spa: 85, spd: 85, spe: 85}; - const ivs = {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}; - - const types = new Set(species.types); - const abilities = new Set(); - for (const abilityName of Object.values(species.abilities)) { - if (abilityName === species.abilities.S || (species.unreleasedHidden && abilityName === species.abilities.H)) continue; - abilities.add(abilityName); - } - - let availableHP = 0; - for (const moveid of movePool) { - if (moveid.startsWith('hiddenpower')) availableHP++; - } - - // These moves can be used even if we aren't setting up to use them: - const SetupException = ['closecombat', 'diamondstorm', 'extremespeed', 'superpower', 'clangingscales']; - - let counter: MoveCounter; - // We use a special variable to track Hidden Power - // so that we can check for all Hidden Powers at once - let hasHiddenPower = false; - - do { - // Choose next 4 moves from learnset/viable moves and add them to moves list: - while (moves.size < this.maxMoveCount && movePool.length) { - const moveid = this.sampleNoReplace(movePool); - if (moveid.startsWith('hiddenpower')) { - availableHP--; - if (hasHiddenPower) continue; - hasHiddenPower = true; - } - moves.add(moveid); - } - while (moves.size < this.maxMoveCount && rejectedPool.length) { - const moveid = this.sampleNoReplace(rejectedPool); - if (moveid.startsWith('hiddenpower')) { - if (hasHiddenPower) continue; - hasHiddenPower = true; - } - moves.add(moveid); - } - - counter = this.queryMoves(moves, species.types, abilities, movePool); - const runEnforcementChecker = (checkerName: string) => { - if (!this.moveEnforcementCheckers[checkerName]) return false; - return this.moveEnforcementCheckers[checkerName]( - movePool, moves, abilities, types, counter, species as Species, teamDetails - ); - }; - - // Iterate through the moves again, this time to cull them: - for (const moveid of moves) { - const move = this.dex.moves.get(moveid); - - let {cull, isSetup} = this.shouldCullMove( - move, types, moves, abilities, counter, movePool, teamDetails, - species, isLead - ); - - // This move doesn't satisfy our setup requirements: - if ( - (move.category === 'Physical' && counter.setupType === 'Special') || - (move.category === 'Special' && counter.setupType === 'Physical') - ) { - // Reject STABs last in case the setup type changes later on - const stabs = counter.get(species.types[0]) + (counter.get(species.types[1]) || 0); - if ( - !SetupException.includes(moveid) && - (!types.has(move.type) || stabs > 1 || counter.get(move.category) < 2) - ) cull = true; - } - // Hidden Power isn't good enough - if ( - counter.setupType === 'Special' && - moveid === 'hiddenpower' && - species.types.length > 1 && - counter.get('Special') <= 2 && - !types.has(move.type) && - !counter.get('Physical') && - counter.get('specialpool') - ) { - cull = true; - } - - // Pokemon should have moves that benefit their Type/Ability/Weather, as well as moves required by its forme - if ( - !cull && - !move.damage && - !isSetup && - !move.weather && - !move.stallingMove && - ( - !counter.setupType || counter.setupType === 'Mixed' || - (move.category !== counter.setupType && move.category !== 'Status') || - (counter.get(counter.setupType) + counter.get('Status') > 3 && !counter.get('hazards')) - ) && ( - move.category === 'Status' || - !types.has(move.type) || - (move.basePower && move.basePower < 40 && !move.multihit) - ) - ) { - if ( - (!counter.get('stab') && !moves.has('nightshade') && !moves.has('seismictoss') && ( - species.types.length > 1 || - (species.types[0] !== 'Normal' && species.types[0] !== 'Psychic') || - !moves.has('icebeam') || - species.baseStats.spa >= species.baseStats.spd - )) || ( - moves.has('suckerpunch') && !abilities.has('Contrary') && - counter.get('stab') < species.types.length && species.id !== 'honchkrow' - ) || ( - (['recover', 'roost', 'slackoff', 'softboiled'].some(m => movePool.includes(m))) && - counter.get('Status') && - !counter.setupType && - ['healingwish', 'switcheroo', 'trick', 'trickroom'].every(m => !moves.has(m)) - ) || ( - movePool.includes('milkdrink') || - movePool.includes('shoreup') || - (movePool.includes('moonlight') && types.size < 2) || - (movePool.includes('stickyweb') && !counter.setupType && !teamDetails.stickyWeb) || - (movePool.includes('quiverdance') && ['defog', 'uturn', 'stickyweb'].every(m => !moves.has(m)) && - counter.get('Special') < 4) - ) || ( - isLead && - movePool.includes('stealthrock') && - counter.get('Status') && !counter.setupType && - !counter.get('speedsetup') && !moves.has('substitute') - ) || ( - species.requiredMove && movePool.includes(toID(species.requiredMove)) - ) || ( - !counter.get('Normal') && - (abilities.has('Aerilate') || abilities.has('Pixilate') || (abilities.has('Refrigerate') && !moves.has('blizzard'))) - ) - ) { - cull = true; - } else { - for (const type of types) { - if (runEnforcementChecker(type)) { - cull = true; - } - } - for (const abil of abilities) { - if (runEnforcementChecker(abil)) { - cull = true; - } - } - } - } - - // Sleep Talk shouldn't be selected without Rest - if (moveid === 'rest' && cull) { - const sleeptalk = movePool.indexOf('sleeptalk'); - if (sleeptalk >= 0) { - if (movePool.length < 2) { - cull = false; - } else { - this.fastPop(movePool, sleeptalk); - } - } - } - - // Remove rejected moves from the move list - const moveIsHP = moveid.startsWith('hiddenpower'); - if (cull && ( - movePool.length - availableHP || - (availableHP && (moveIsHP || !hasHiddenPower)) - )) { - if ( - move.category !== 'Status' && - !move.damage && - !move.flags.charge && - (!moveIsHP || !availableHP) - ) { - rejectedPool.push(moveid); - } - if (moveIsHP) hasHiddenPower = false; - moves.delete(moveid); - break; - } - - if (cull && rejectedPool.length) { - if (moveIsHP) hasHiddenPower = false; - moves.delete(moveid); - break; - } - } - } while (moves.size < this.maxMoveCount && (movePool.length || rejectedPool.length)); - - const battleOnly = species.battleOnly && !species.requiredAbility; - const baseSpecies: Species = battleOnly ? this.dex.species.get(species.battleOnly as string) : species; - - ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species); - - if (species.name === 'Genesect' && moves.has('technoblast')) forme = 'Genesect-Douse'; - - if ( - !moves.has('photongeyser') && - !teamDetails.zMove && - (species.name === 'Necrozma-Dusk-Mane' || species.name === 'Necrozma-Dawn-Wings') - ) { - for (const moveid of moves) { - const move = this.dex.moves.get(moveid); - if (move.category === 'Status' || types.has(move.type)) continue; - moves.delete(moveid); - moves.add('photongeyser'); - break; - } - } - - let item = this.getDoublesItem(ability, types, moves, abilities, counter, teamDetails, species); - - // fallback - if (item === undefined) item = 'Sitrus Berry'; - // For Trick / Switcheroo - if (item === 'Leftovers' && types.has('Poison')) { - item = 'Black Sludge'; - } - - let level: number; - if (this.adjustLevel) { - level = this.adjustLevel; - } else { - // We choose level based on BST. Min level is 70, max level is 99. 600+ BST is 70, less than 300 is 99. Calculate with those values. - // Every 10.34 BST adds a level from 70 up to 99. Results are floored. Uses the Mega's stats if holding a Mega Stone - const baseStats = species.baseStats; - - let bst = species.bst; - // If Wishiwashi, use the school-forme's much higher stats - if (species.baseSpecies === 'Wishiwashi') bst = this.dex.species.get('wishiwashischool').bst; - // Adjust levels of mons based on abilities (Pure Power, Sheer Force, etc.) and also Eviolite - // For the stat boosted, treat the Pokemon's base stat as if it were multiplied by the boost. (Actual effective base stats are higher.) - const speciesAbility = (baseSpecies === species ? ability : species.abilities[0]); - if (speciesAbility === 'Huge Power' || speciesAbility === 'Pure Power') { - bst += baseStats.atk; - } else if (speciesAbility === 'Parental Bond') { - bst += 0.25 * (counter.get('Physical') > counter.get('Special') ? baseStats.atk : baseStats.spa); - } else if (speciesAbility === 'Protean') { - bst += 0.3 * (counter.get('Physical') > counter.get('Special') ? baseStats.atk : baseStats.spa); - } else if (speciesAbility === 'Fur Coat') { - bst += baseStats.def; - } else if (speciesAbility === 'Slow Start') { - bst -= baseStats.atk / 2 + baseStats.spe / 2; - } else if (speciesAbility === 'Truant') { - bst *= 2 / 3; - } - if (item === 'Eviolite') { - bst += 0.5 * (baseStats.def + baseStats.spd); - } else if (item === 'Light Ball') { - bst += baseStats.atk + baseStats.spa; - } - level = 70 + Math.floor(((600 - Utils.clampIntRange(bst, 300, 600)) / 10.34)); - } - - // Prepare optimal HP - const srWeakness = this.dex.getEffectiveness('Rock', species); - while (evs.hp > 1) { - const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); - if (moves.has('substitute') && moves.has('reversal')) { - // Reversal users should be able to use four Substitutes - if (hp % 4 > 0) break; - } else if (moves.has('substitute') && ( - item === 'Petaya Berry' || item === 'Sitrus Berry' || - (ability === 'Power Construct' && item !== 'Leftovers') - )) { - // Three Substitutes should activate Petaya Berry for Dedenne - // Two Substitutes should activate Sitrus Berry or Power Construct - if (hp % 4 === 0) break; - } else if (moves.has('bellydrum') && (item === 'Sitrus Berry' || ability === 'Gluttony')) { - // Belly Drum should activate Sitrus Berry - if (hp % 2 === 0) break; - } else { - // Maximize number of Stealth Rock switch-ins - if (srWeakness <= 0 || hp % (4 / srWeakness) > 0) break; - } - evs.hp -= 4; - } - - // Minimize confusion damage - if (!counter.get('Physical') && !moves.has('copycat') && !moves.has('transform')) { - evs.atk = 0; - ivs.atk = 0; - } - - // Ensure Nihilego's Beast Boost gives it Special Attack boosts instead of Special Defense - if (forme === 'Nihilego') evs.spd -= 32; - - if (ability === 'Beast Boost' && counter.get('Special') < 1) { - evs.spa = 0; - ivs.spa = 0; - } - - // Fix IVs for non-Bottle Cap-able sets - if (hasHiddenPower && level < 100) { - let hpType; - for (const move of moves) { - if (move.startsWith('hiddenpower')) hpType = move.substr(11); - } - if (!hpType) throw new Error(`hasHiddenPower is true, but no Hidden Power move was found.`); - const HPivs = ivs.atk === 0 ? ZeroAttackHPIVs[hpType] : this.dex.types.get(hpType).HPivs; - let iv: StatID; - for (iv in HPivs) { - ivs[iv] = HPivs[iv]!; - } - } - - if (['gyroball', 'metalburst', 'trickroom'].some(m => moves.has(m))) { - evs.spe = 0; - ivs.spe = (hasHiddenPower && level < 100) ? ivs.spe - 30 : 0; - } - - return { - name: species.baseSpecies, - species: forme, - gender: species.gender, - shiny: this.randomChance(1, 1024), - moves: Array.from(moves), - ability, - evs, - ivs, - item, - level, - }; - } - - randomTeam() { - this.enforceNoDirectCustomBanlistChanges(); - - const seed = this.prng.seed; - const ruleTable = this.dex.formats.getRuleTable(this.format); - const pokemon: RandomTeamsTypes.RandomSet[] = []; - - // For Monotype - const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause'); - const typePool = this.dex.types.names(); - const type = this.forceMonotype || this.sample(typePool); - - const baseFormes: {[k: string]: number} = {}; - let hasMega = false; - - const tierCount: {[k: string]: number} = {}; - const typeCount: {[k: string]: number} = {}; - const typeComboCount: {[k: string]: number} = {}; - const typeWeaknesses: {[k: string]: number} = {}; - const teamDetails: RandomTeamsTypes.TeamDetails = {}; - - // We make at most two passes through the potential Pokemon pool when creating a team - if the first pass doesn't - // result in a team of six Pokemon we perform a second iteration relaxing as many restrictions as possible. - for (const restrict of [true, false]) { - if (pokemon.length >= this.maxTeamSize) break; - - const pokemonList = Object.keys(this.randomDoublesData); - const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); - while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { - const baseSpecies = this.sampleNoReplace(baseSpeciesPool); - const currentSpeciesPool: Species[] = []; - // Check if the base species has a mega forme available - let canMega = false; - for (const poke of pokemonPool) { - const species = this.dex.species.get(poke); - if (!hasMega && species.baseSpecies === baseSpecies && species.isMega) canMega = true; - } - for (const poke of pokemonPool) { - const species = this.dex.species.get(poke); - if (species.baseSpecies === baseSpecies) { - // Prevent multiple megas - if (hasMega && species.isMega) continue; - // Prevent base forme, if a mega is available - if (canMega && !species.isMega) continue; - currentSpeciesPool.push(species); - } - } - const species = this.sample(currentSpeciesPool); - if (!species.exists) continue; - - // Limit to one of each species (Species Clause) - if (baseFormes[species.baseSpecies]) continue; - - // Limit one Mega per team - if (hasMega && species.isMega) continue; - - const tier = species.tier; - const types = species.types; - const typeCombo = types.slice().sort().join(); - // Dynamically scale limits for different team sizes. The default and minimum value is 1. - const limitFactor = Math.round(this.maxTeamSize / 6) || 1; - - if (restrict) { - // Limit one Pokemon per tier, two for Monotype - if ( - (tierCount[tier] >= (isMonotype || this.forceMonotype ? 2 : 1) * limitFactor) && - !this.randomChance(1, Math.pow(5, tierCount[tier])) - ) { - continue; - } - - if (!isMonotype && !this.forceMonotype) { - // Limit two of any type - let skip = false; - for (const typeName of types) { - if (typeCount[typeName] >= 2 * limitFactor) { - skip = true; - break; - } - } - if (skip) continue; - - // Limit three weak to any type - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, species) > 0) { - if (!typeWeaknesses[typeName]) typeWeaknesses[typeName] = 0; - if (typeWeaknesses[typeName] >= 3 * limitFactor) { - skip = true; - break; - } - } - } - if (skip) continue; - } - - // Limit one of any type combination, three in Monotype - if (!this.forceMonotype && typeComboCount[typeCombo] >= (isMonotype ? 3 : 1) * limitFactor) continue; - } - - const set = this.randomSet( - species, - teamDetails, - pokemon.length === this.maxTeamSize - 1, - true - ); - - const item = this.dex.items.get(set.item); - - // Limit one Z-Move per team - if (item.zMove && teamDetails.zMove) continue; - - // Zoroark copies the last Pokemon - if (set.ability === 'Illusion') { - if (pokemon.length < 1) continue; - set.level = pokemon[pokemon.length - 1].level; - } - - // Okay, the set passes, add it to our team - pokemon.unshift(set); - - // Don't bother tracking details for the last Pokemon - if (pokemon.length === this.maxTeamSize) break; - - // Now that our Pokemon has passed all checks, we can increment our counters - baseFormes[species.baseSpecies] = 1; - - // Increment tier counter - if (tierCount[tier]) { - tierCount[tier]++; - } else { - tierCount[tier] = 1; - } - - // Increment type counters - for (const typeName of types) { - if (typeName in typeCount) { - typeCount[typeName]++; - } else { - typeCount[typeName] = 1; - } - } - if (typeCombo in typeComboCount) { - typeComboCount[typeCombo]++; - } else { - typeComboCount[typeCombo] = 1; - } - - // Increment weakness counter - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, species) > 0) { - typeWeaknesses[typeName]++; - } - } - - // Track what the team has - if (item.megaStone || species.name === 'Rayquaza-Mega') hasMega = true; - if (item.zMove) teamDetails.zMove = 1; - if (set.ability === 'Snow Warning' || set.moves.includes('hail')) teamDetails.hail = 1; - if (set.moves.includes('raindance') || set.ability === 'Drizzle' && !item.onPrimal) teamDetails.rain = 1; - if (set.ability === 'Sand Stream') teamDetails.sand = 1; - if (set.moves.includes('sunnyday') || set.ability === 'Drought' && !item.onPrimal) teamDetails.sun = 1; - if (set.moves.includes('spikes')) teamDetails.spikes = (teamDetails.spikes || 0) + 1; - if (set.moves.includes('stealthrock')) teamDetails.stealthRock = 1; - if (set.moves.includes('stickyweb')) teamDetails.stickyWeb = 1; - if (set.moves.includes('toxicspikes')) teamDetails.toxicSpikes = 1; - if (set.moves.includes('defog')) teamDetails.defog = 1; - if (set.moves.includes('rapidspin')) teamDetails.rapidSpin = 1; - if (set.moves.includes('auroraveil') || (set.moves.includes('reflect') && set.moves.includes('lightscreen'))) { - teamDetails.screens = 1; - } - } - } - if (pokemon.length < this.maxTeamSize && pokemon.length < 12) { - throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`); - } - - return pokemon; - } -} - -export default RandomGen7DoublesTeams; diff --git a/data/mods/gen7letsgo/formats-data.ts b/data/mods/gen7letsgo/formats-data.ts index 71f3cfd513a3..7914ce92eda2 100644 --- a/data/mods/gen7letsgo/formats-data.ts +++ b/data/mods/gen7letsgo/formats-data.ts @@ -6,7 +6,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, venusaur: { - tier: "UU", + tier: "OU", doublesTier: "DOU", }, venusaurmega: { @@ -165,7 +165,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, clefable: { - tier: "UU", + tier: "OU", doublesTier: "DOU", }, vulpix: { @@ -245,7 +245,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, persianalola: { - tier: "OU", + tier: "UU", doublesTier: "DOU", }, psyduck: { @@ -492,7 +492,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, chansey: { - tier: "OU", + tier: "UU", doublesTier: "DOU", }, tangela: { @@ -588,11 +588,11 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, vaporeon: { - tier: "UU", + tier: "OU", doublesTier: "DOU", }, jolteon: { - tier: "UU", + tier: "OU", doublesTier: "DOU", }, flareon: { @@ -648,7 +648,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, dragonite: { - tier: "OU", + tier: "UU", doublesTier: "DOU", }, mewtwo: { diff --git a/data/mods/gen7letsgo/moves.ts b/data/mods/gen7letsgo/moves.ts index 949a6b8c9ec0..47e0b8e00b43 100644 --- a/data/mods/gen7letsgo/moves.ts +++ b/data/mods/gen7letsgo/moves.ts @@ -42,9 +42,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { desc: "A random move that was introduced in gen 1 is selected for use, other than Counter, Mimic, Mirror Move, Struggle, or Transform.", shortDesc: "Picks a random move from gen 1.", onHit(target, source, effect) { - const moves = this.dex.moves.all().filter( - move => !move.realMove && move.gen === 1 && !effect.noMetronome!.includes(move.name) - ); + const moves = this.dex.moves.all().filter(move => move.gen === 1 && move.flags['metronome']); let randomMove = ''; if (moves.length) { moves.sort((a, b) => a.num - b.num); diff --git a/data/mods/gen7letsgo/scripts.ts b/data/mods/gen7letsgo/scripts.ts index 7083f9bbf422..16fa5913cce3 100644 --- a/data/mods/gen7letsgo/scripts.ts +++ b/data/mods/gen7letsgo/scripts.ts @@ -1,11 +1,62 @@ +function checkMegaForme(species: Species, forme: string, battle: Battle) { + const baseSpecies = battle.dex.species.get(species.baseSpecies); + const altForme = battle.dex.species.get(`${baseSpecies.name}-${forme}`); + if ( + altForme.exists && !battle.ruleTable.isBannedSpecies(altForme) && + !battle.ruleTable.isBanned('pokemontag:mega') + ) { + return altForme.name; + } + return null; +} + export const Scripts: ModdedBattleScriptsData = { inherit: 'gen7', init() { this.modData('Abilities', 'noability').isNonstandard = null; for (const i in this.data.Pokedex) { this.modData('Pokedex', i).abilities = {0: 'No Ability'}; + delete this.modData('Pokedex', i).requiredItem; } }, + actions: { + canMegaEvo(pokemon) { + return checkMegaForme(pokemon.baseSpecies, 'Mega', this.battle); + }, + canMegaEvoX(pokemon) { + return checkMegaForme(pokemon.baseSpecies, 'Mega-X', this.battle); + }, + canMegaEvoY(pokemon) { + return checkMegaForme(pokemon.baseSpecies, 'Mega-Y', this.battle); + }, + runMegaEvo(pokemon) { + const speciesid = pokemon.canMegaEvo || pokemon.canMegaEvoX || pokemon.canMegaEvoY; + if (!speciesid) return false; + + pokemon.formeChange(speciesid, null, true); + this.battle.add('-mega', pokemon, this.dex.species.get(speciesid).baseSpecies); + + // Limit one mega evolution + for (const ally of pokemon.side.pokemon) { + ally.canMegaEvo = null; + ally.canMegaEvoX = null; + ally.canMegaEvoY = null; + } + + this.battle.runEvent('AfterMega', pokemon); + return true; + }, + runMegaEvoX(pokemon) { + if (!pokemon.canMegaEvoX) return false; + pokemon.canMegaEvoY = null; + return this.runMegaEvo(pokemon); + }, + runMegaEvoY(pokemon) { + if (!pokemon.canMegaEvoY) return false; + pokemon.canMegaEvoX = null; + return this.runMegaEvo(pokemon); + }, + }, /** * Given a table of base stats and a pokemon set, return the actual stats. */ diff --git a/data/mods/gen7pokebilities/abilities.ts b/data/mods/gen7pokebilities/abilities.ts index 8f20a102ecac..978934e45901 100644 --- a/data/mods/gen7pokebilities/abilities.ts +++ b/data/mods/gen7pokebilities/abilities.ts @@ -4,7 +4,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { onDamagingHit(damage, target, source, move) { if (target.ability === 'mummy') { const sourceAbility = source.getAbility(); - if (sourceAbility.isPermanent || sourceAbility.id === 'mummy') { + if (sourceAbility.flags['cantsuppress'] || sourceAbility.id === 'mummy') { return; } if (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) { @@ -15,7 +15,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { } } else { const possibleAbilities = [source.ability, ...(source.m.innates || [])] - .filter(val => !this.dex.abilities.get(val).isPermanent && val !== 'mummy'); + .filter(val => !this.dex.abilities.get(val).flags['cantsuppress'] && val !== 'mummy'); if (!possibleAbilities.length) return; if (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) { const abil = this.sample(possibleAbilities); @@ -43,11 +43,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { const isAbility = pokemon.ability === 'powerofalchemy'; let possibleAbilities = [ally.ability]; if (ally.m.innates) possibleAbilities.push(...ally.m.innates); - const additionalBannedAbilities = [ - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', pokemon.ability, ...(pokemon.m.innates || []), - ]; + const additionalBannedAbilities = [pokemon.ability, ...(pokemon.m.innates || [])]; possibleAbilities = possibleAbilities - .filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val)); + .filter(val => !this.dex.abilities.get(val).flags['noreceiver'] && !additionalBannedAbilities.includes(val)); if (!possibleAbilities.length) return; const ability = this.dex.abilities.get(possibleAbilities[this.random(possibleAbilities.length)]); this.add('-ability', pokemon, ability, '[from] ability: Power of Alchemy', '[of] ' + ally); @@ -67,11 +65,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { const isAbility = pokemon.ability === 'receiver'; let possibleAbilities = [ally.ability]; if (ally.m.innates) possibleAbilities.push(...ally.m.innates); - const additionalBannedAbilities = [ - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', pokemon.ability, ...(pokemon.m.innates || []), - ]; + const additionalBannedAbilities = [pokemon.ability, ...(pokemon.m.innates || [])]; possibleAbilities = possibleAbilities - .filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val)); + .filter(val => !this.dex.abilities.get(val).flags['noreceiver'] && !additionalBannedAbilities.includes(val)); if (!possibleAbilities.length) return; const ability = this.dex.abilities.get(possibleAbilities[this.random(possibleAbilities.length)]); this.add('-ability', pokemon, ability, '[from] ability: Receiver', '[of] ' + ally); @@ -99,12 +95,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { const target = possibleTargets[rand]; let possibleAbilities = [target.ability]; if (target.m.innates) possibleAbilities.push(...target.m.innates); - const additionalBannedAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', pokemon.ability, ...(pokemon.m.innates || []), - ]; + const additionalBannedAbilities = [pokemon.ability, ...(pokemon.m.innates || [])]; possibleAbilities = possibleAbilities - .filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val)); + .filter(val => !this.dex.abilities.get(val).flags['notrace'] && !additionalBannedAbilities.includes(val)); if (!possibleAbilities.length) { possibleTargets.splice(rand, 1); continue; diff --git a/data/mods/gen7pokebilities/random-teams.ts b/data/mods/gen7pokebilities/random-teams.ts deleted file mode 100644 index f364755b8a78..000000000000 --- a/data/mods/gen7pokebilities/random-teams.ts +++ /dev/null @@ -1,5 +0,0 @@ -import RandomGen7Teams from '../gen7/random-teams'; - -export class RandomGen7PokebilitiesTeams extends RandomGen7Teams {} - -export default RandomGen7PokebilitiesTeams; diff --git a/data/mods/gen7pokebilities/scripts.ts b/data/mods/gen7pokebilities/scripts.ts index 5e9c498b30db..d97584a1c134 100644 --- a/data/mods/gen7pokebilities/scripts.ts +++ b/data/mods/gen7pokebilities/scripts.ts @@ -32,7 +32,7 @@ export const Scripts: ModdedBattleScriptsData = { ((this.volatiles['gastroacid'] || (neutralizinggas && (this.ability !== ('neutralizinggas' as ID) || this.m.innates?.some((k: string) => k === 'neutralizinggas')) - )) && !this.getAbility().isPermanent + )) && !this.getAbility().flags['cantsuppress'] ) ); }, diff --git a/data/mods/gen8/abilities.ts b/data/mods/gen8/abilities.ts index 382cbf802eff..3d343babdc72 100644 --- a/data/mods/gen8/abilities.ts +++ b/data/mods/gen8/abilities.ts @@ -172,6 +172,24 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, competitive: { inherit: true, + onAfterEachBoost(boost, target, source, effect) { + if (!source || target.isAlly(source)) { + if (effect.id === 'stickyweb') { + this.hint("In Gen 8, Court Change Sticky Web counts as lowering your own Speed, and Competitive only affects stats lowered by foes.", true, source.side); + } + return; + } + let statsLowered = false; + let i: BoostID; + for (i in boost) { + if (boost[i]! < 0) { + statsLowered = true; + } + } + if (statsLowered) { + this.boost({spa: 2}, target, target, null, false, true); + } + }, rating: 2.5, }, compoundeyes: { @@ -231,6 +249,24 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, defiant: { inherit: true, + onAfterEachBoost(boost, target, source, effect) { + if (!source || target.isAlly(source)) { + if (effect.id === 'stickyweb') { + this.hint("In Gen 8, Court Change Sticky Web counts as lowering your own Speed, and Defiant only affects stats lowered by foes.", true, source.side); + } + return; + } + let statsLowered = false; + let i: BoostID; + for (i in boost) { + if (boost[i]! < 0) { + statsLowered = true; + } + } + if (statsLowered) { + this.boost({atk: 2}, target, target, null, false, true); + } + }, rating: 2.5, }, deltastream: { @@ -371,6 +407,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, gulpmissile: { inherit: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1}, rating: 2.5, }, guts: { @@ -442,7 +479,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { inherit: true, onTryBoost() {}, onModifyMove() {}, - isBreakable: undefined, + flags: {}, rating: 0, }, illusion: { @@ -1071,7 +1108,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, trace: { inherit: true, - rating: 2.5, + rating: 3, }, transistor: { inherit: true, @@ -1163,6 +1200,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, wonderguard: { inherit: true, + flags: {failroleplay: 1, noreceiver: 1, failskillswap: 1, breakable: 1}, rating: 5, }, wonderskin: { diff --git a/data/mods/gen8/formats-data.ts b/data/mods/gen8/formats-data.ts index e024f52c5e69..2facdbeea697 100644 --- a/data/mods/gen8/formats-data.ts +++ b/data/mods/gen8/formats-data.ts @@ -77,7 +77,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, butterfree: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -180,7 +180,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, pikachu: { - tier: "NFE", + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", }, pikachucosplay: { isNonstandard: "Past", @@ -207,37 +209,37 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, pikachuoriginal: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachuhoenn: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachusinnoh: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachuunova: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachukalos: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachualola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pikachupartner: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -252,12 +254,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "(Uber)", }, pikachuworld: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, raichu: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -310,7 +312,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, clefairy: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", }, clefable: { tier: "OU", @@ -325,7 +329,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "LC", }, ninetales: { - tier: "(PU)", + tier: "ZU", doublesTier: "DUU", natDexTier: "RU", }, @@ -341,7 +345,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, wigglytuff: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -368,7 +372,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, bellossom: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -399,12 +403,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, dugtrio: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, dugtrioalola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -424,17 +428,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "(Uber)", }, persian: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, persianalola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, perrserker: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -442,7 +446,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, golduck: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -479,12 +483,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, poliwrath: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, politoed: { - tier: "(PU)", + tier: "ZU", doublesTier: "DUU", natDexTier: "RU", }, @@ -581,12 +585,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, rapidash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, rapidashgalar: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -635,7 +639,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "OU", }, farfetchd: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -700,7 +704,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "LC", }, haunter: { - tier: "NFE", + tier: "ZUBL", + doublesTier: "NFE", + natDexTier: "NFE", }, gengar: { tier: "UUBL", @@ -777,7 +783,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, exeggutor: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -790,7 +796,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, marowak: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -813,7 +819,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, hitmonchan: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -826,7 +832,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, lickilicky: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -847,7 +853,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, rhydon: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", }, rhyperior: { tier: "RU", @@ -877,7 +885,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RUBL", }, kangaskhan: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -901,7 +909,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, seaking: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -917,7 +925,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, mrmime: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -925,7 +933,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, mrrime: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -948,7 +956,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, jynx: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -959,7 +967,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, electivire: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -970,12 +978,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, magmortar: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, pinsir: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1003,7 +1011,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UUBL", }, lapras: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1014,7 +1022,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "(Uber)", }, ditto: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1042,7 +1050,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, flareon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1057,12 +1065,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, leafeon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, glaceon: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1096,7 +1104,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, kabutops: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1125,7 +1133,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "(Uber)", }, articuno: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1248,7 +1256,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, noctowl: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1334,7 +1342,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, sudowoodo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1420,7 +1428,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, wobbuffet: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1440,7 +1448,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, dunsparce: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1465,7 +1473,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, qwilfish: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1474,7 +1482,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, shuckle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1489,7 +1497,8 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UUBL", }, sneasel: { - tier: "NFE", + tier: "ZUBL", + doublesTier: "NFE", natDexTier: "LC", }, sneaselhisui: { @@ -1525,7 +1534,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, piloswine: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", }, mamoswine: { tier: "UU", @@ -1533,7 +1544,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, corsola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1542,7 +1553,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "LC", }, cursola: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1550,12 +1561,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, octillery: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, delibird: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1608,7 +1619,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, miltank: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1767,7 +1778,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, ludicolo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1778,7 +1789,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, shiftry: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1865,12 +1876,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, ninjask: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, shedinja: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1916,7 +1927,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, sableye: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1926,7 +1937,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UUBL", }, mawile: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -1970,7 +1981,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, manectric: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2037,7 +2048,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, wailord: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2101,7 +2112,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, altaria: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2121,12 +2132,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, lunatone: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, solrock: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2134,7 +2145,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, whiscash: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2158,7 +2169,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, cradily: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2166,7 +2177,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, armaldo: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2219,7 +2230,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, dusknoir: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2252,7 +2263,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, glalie: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2262,7 +2273,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, froslass: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2273,7 +2284,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, walrein: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2293,7 +2304,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, relicanth: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2340,7 +2351,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, regice: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2511,7 +2522,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, luxray: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2564,7 +2575,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, vespiquen: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2588,7 +2599,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "LC", }, cherrim: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2607,7 +2618,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "LC", }, drifblim: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2615,7 +2626,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, lopunny: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2638,7 +2649,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, skuntank: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2656,7 +2667,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, spiritomb: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2732,7 +2743,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, abomasnow: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2742,7 +2753,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, rotom: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2757,12 +2768,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, rotomfrost: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, rotomfan: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2772,7 +2783,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, uxie: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2810,7 +2821,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "OU", }, regigigas: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2981,7 +2992,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, stoutland: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -2989,7 +3000,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, liepard: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3027,7 +3038,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, musharna: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3038,7 +3049,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, unfezant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3068,7 +3079,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "LC", }, swoobat: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3094,7 +3105,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, gurdurr: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", }, conkeldurr: { tier: "UU", @@ -3113,12 +3126,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, throh: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, sawk: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3160,7 +3173,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, lilligant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3169,12 +3182,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "Illegal", }, basculin: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, basculinbluestriped: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3220,7 +3233,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, maractus: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3228,7 +3241,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, crustle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3253,12 +3266,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, cofagrigus: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, runerigus: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3266,7 +3279,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, carracosta: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3324,7 +3337,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, gothitelle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3371,7 +3384,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, emolga: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3429,7 +3442,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, klinklang: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3452,7 +3465,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, beheeyem: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3482,12 +3495,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, beartic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, cryogonal: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3495,17 +3508,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, accelgor: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, stunfisk: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, stunfiskgalar: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3539,7 +3552,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RUBL", }, bouffalant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3566,7 +3579,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, heatmor: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3853,12 +3866,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, meowstic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, meowsticf: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3901,7 +3914,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, malamar: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3949,7 +3962,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, aurorus: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3959,12 +3972,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UUBL", }, dedenne: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, carbink: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -3996,7 +4009,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, trevenant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4013,22 +4026,22 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, gourgeist: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, gourgeistsmall: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, gourgeistlarge: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, gourgeistsuper: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4036,7 +4049,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, avalugg: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4180,7 +4193,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, vikavolt: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4245,7 +4258,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, lycanrocmidnight: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4294,7 +4307,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, lurantis: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4307,7 +4320,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, shiinotic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4349,7 +4362,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, oranguru: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4370,12 +4383,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, palossand: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pyukumuku: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4383,27 +4396,27 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, silvally: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallybug: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallydark: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallydragon: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, silvallyelectric: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4413,17 +4426,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, silvallyfighting: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallyfire: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallyflying: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4433,7 +4446,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, silvallygrass: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4443,22 +4456,22 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, silvallyice: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallypoison: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallypsychic: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, silvallyrock: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4468,7 +4481,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, silvallywater: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4486,7 +4499,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, turtonator: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4673,7 +4686,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "UU", }, meltan: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4692,7 +4705,9 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, thwackey: { - tier: "NFE", + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", }, rillaboom: { tier: "OU", @@ -4743,7 +4758,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, greedent: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4771,7 +4786,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, orbeetle: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4785,7 +4800,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, thievul: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4801,7 +4816,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, dubwool: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4809,7 +4824,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, drednaw: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4823,7 +4838,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, boltund: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4834,7 +4849,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "NFE", }, coalossal: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4848,7 +4863,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, flapple: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4859,7 +4874,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "(Uber)", }, appletun: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4884,17 +4899,17 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "(Uber)", }, cramorant: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, cramorantgulping: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, cramorantgorging: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4935,7 +4950,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, centiskorch: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -4949,7 +4964,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, grapploct: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5002,7 +5017,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { tier: "LC", }, alcremie: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5013,12 +5028,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "(Uber)", }, falinks: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, pincurchin: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5031,12 +5046,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, stonjourner: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, eiscue: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5051,12 +5066,12 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, morpeko: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, morpekohangry: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5090,7 +5105,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, arctovish: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5188,7 +5203,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "RU", }, glastrier: { - tier: "(PU)", + tier: "ZUBL", doublesTier: "(DUU)", natDexTier: "RU", }, @@ -5198,7 +5213,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = { natDexTier: "Uber", }, calyrex: { - tier: "(PU)", + tier: "ZU", doublesTier: "(DUU)", natDexTier: "RU", }, diff --git a/data/mods/gen8/items.ts b/data/mods/gen8/items.ts index 83aacd3f55c7..8a1dbdd47201 100644 --- a/data/mods/gen8/items.ts +++ b/data/mods/gen8/items.ts @@ -131,14 +131,6 @@ export const Items: {[k: string]: ModdedItemData} = { inherit: true, isNonstandard: null, }, - galaricacuff: { - inherit: true, - isNonstandard: null, - }, - galaricawreath: { - inherit: true, - isNonstandard: null, - }, ghostmemory: { inherit: true, isNonstandard: null, @@ -282,10 +274,6 @@ export const Items: {[k: string]: ModdedItemData} = { inherit: true, isNonstandard: null, }, - safariball: { - inherit: true, - isNonstandard: null, - }, seaincense: { inherit: true, isNonstandard: null, @@ -298,10 +286,6 @@ export const Items: {[k: string]: ModdedItemData} = { inherit: true, isNonstandard: "Past", }, - souldew: { - inherit: true, - isNonstandard: null, - }, splashplate: { inherit: true, isNonstandard: "Past", @@ -310,10 +294,6 @@ export const Items: {[k: string]: ModdedItemData} = { inherit: true, isNonstandard: "Past", }, - sportball: { - inherit: true, - isNonstandard: null, - }, starsweet: { inherit: true, isNonstandard: null, diff --git a/data/mods/gen8/moves.ts b/data/mods/gen8/moves.ts index 19e096a7c414..63c1056a739b 100644 --- a/data/mods/gen8/moves.ts +++ b/data/mods/gen8/moves.ts @@ -1,18 +1,8 @@ export const Moves: {[k: string]: ModdedMoveData} = { - aeroblast: { - inherit: true, - isNonstandard: null, - }, allyswitch: { inherit: true, - stallingMove: false, + // Prevents setting the volatile used to check for Ally Switch failure onPrepareHit() {}, - onHit(pokemon) { - const newPosition = (pokemon.position === 0 ? pokemon.side.active.length - 1 : 0); - if (!pokemon.side.active[newPosition]) return false; - if (pokemon.side.active[newPosition].fainted) return false; - this.swapPosition(pokemon, newPosition, '[from] move: Ally Switch'); - }, }, anchorshot: { inherit: true, @@ -36,6 +26,10 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, + beakblast: { + inherit: true, + isNonstandard: "Past", + }, belch: { inherit: true, flags: {protect: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1}, @@ -46,19 +40,15 @@ export const Moves: {[k: string]: ModdedMoveData} = { if (this.field.isWeather('hail')) move.accuracy = true; }, }, - blueflare: { - inherit: true, - isNonstandard: null, - }, boltbeak: { inherit: true, isNonstandard: null, }, - boltstrike: { + bonemerang: { inherit: true, isNonstandard: null, }, - bonemerang: { + burnup: { inherit: true, isNonstandard: null, }, @@ -104,14 +94,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { noassist: 1, failcopycat: 1, failinstruct: 1, failmefirst: 1, nosleeptalk: 1, failmimic: 1, }, }, - conversion: { - inherit: true, - isNonstandard: null, - }, - conversion2: { - inherit: true, - isNonstandard: null, - }, copycat: { inherit: true, flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1}, @@ -120,7 +102,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - cosmicpower: { + corrosivegas: { inherit: true, isNonstandard: null, }, @@ -128,10 +110,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - crushgrip: { - inherit: true, - isNonstandard: null, - }, curse: { inherit: true, onModifyMove(move, source, target) { @@ -141,13 +119,14 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, target: "randomNormal", }, - darkvoid: { + cut: { inherit: true, - isNonstandard: "Past", + isNonstandard: null, }, - decorate: { + darkvoid: { inherit: true, - isNonstandard: null, + isNonstandard: "Past", + noSketch: false, }, doubleironbash: { inherit: true, @@ -155,7 +134,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, dragonhammer: { inherit: true, - isNonstandard: null, + flags: {contact: 1, protect: 1, mirror: 1}, }, dualchop: { inherit: true, @@ -174,10 +153,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - floralhealing: { - inherit: true, - isNonstandard: null, - }, flowershield: { inherit: true, isNonstandard: null, @@ -197,7 +172,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { // The animation leak target itself isn't "accurate"; the target it reveals is as if Fly weren't a charge movee // (Fly, like all other charge moves, will actually target slots on its charging turn, relevant for things like Follow Me) // We use a generic single-target move to represent this - if (this.gameType === 'doubles' || this.gameType === 'multi') { + if (this.sides.length > 2) { const animatedTarget = attacker.getMoveTargets(this.dex.getActiveMove('aerialace'), defender).targets[0]; if (animatedTarget) { this.hint(`${move.name}'s animation targeted ${animatedTarget.name}`); @@ -207,21 +182,9 @@ export const Moves: {[k: string]: ModdedMoveData} = { return null; }, }, - freezeshock: { - inherit: true, - isNonstandard: null, - }, - fusionbolt: { - inherit: true, - isNonstandard: null, - }, - fusionflare: { - inherit: true, - isNonstandard: null, - }, futuresight: { inherit: true, - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, }, geargrind: { inherit: true, @@ -239,10 +202,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, basePower: 130, }, - glaciate: { - inherit: true, - isNonstandard: null, - }, grassyglide: { inherit: true, basePower: 70, @@ -259,30 +218,28 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - healbell: { - inherit: true, - isNonstandard: null, - }, heartswap: { inherit: true, isNonstandard: "Past", }, + holdback: { + inherit: true, + isNonstandard: null, + }, holdhands: { inherit: true, + isNonstandard: null, flags: {bypasssub: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1}, }, hyperspacefury: { inherit: true, isNonstandard: "Past", + noSketch: false, }, hyperspacehole: { inherit: true, isNonstandard: "Past", }, - iceburn: { - inherit: true, - isNonstandard: null, - }, icehammer: { inherit: true, isNonstandard: "Past", @@ -317,7 +274,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, lusterpurge: { inherit: true, - isNonstandard: null, + basePower: 70, }, magiccoat: { inherit: true, @@ -439,11 +396,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, mistball: { inherit: true, - isNonstandard: null, - }, - moongeistbeam: { - inherit: true, - isNonstandard: null, + basePower: 70, }, multiattack: { inherit: true, @@ -474,10 +427,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - photongeyser: { - inherit: true, - isNonstandard: null, - }, plasmafists: { inherit: true, isNonstandard: null, @@ -486,9 +435,9 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - prismaticlaser: { + psychoboost: { inherit: true, - isNonstandard: null, + isNonstandard: "Past", }, psychoshift: { inherit: true, @@ -518,18 +467,10 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - rockwrecker: { - inherit: true, - isNonstandard: null, - }, roost: { inherit: true, pp: 10, }, - sacredfire: { - inherit: true, - isNonstandard: null, - }, searingshot: { inherit: true, isNonstandard: null, @@ -554,9 +495,9 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, pp: 10, }, - simplebeam: { + sketch: { inherit: true, - isNonstandard: null, + isNonstandard: "Past", }, skullbash: { inherit: true, @@ -578,17 +519,22 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, pp: 10, }, - sparklingaria: { - inherit: true, - isNonstandard: null, - }, spectralthief: { inherit: true, isNonstandard: null, }, - spiderweb: { + stickyweb: { inherit: true, - isNonstandard: "Past", + condition: { + onSideStart(side) { + this.add('-sidestart', side, 'move: Sticky Web'); + }, + onEntryHazard(pokemon) { + if (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots')) return; + this.add('-activate', pokemon, 'move: Sticky Web'); + this.boost({spe: -1}, pokemon, this.effectState.source, this.dex.getActiveMove('stickyweb')); + }, + }, }, stormthrow: { inherit: true, @@ -598,10 +544,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - sunsteelstrike: { - inherit: true, - isNonstandard: null, - }, tailglow: { inherit: true, isNonstandard: "Past", @@ -618,10 +560,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - topsyturvy: { - inherit: true, - isNonstandard: null, - }, toxicthread: { inherit: true, isNonstandard: "Past", @@ -630,7 +568,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: null, }, - triplekick: { + vcreate: { inherit: true, isNonstandard: null, }, diff --git a/data/mods/gen8/rulesets.ts b/data/mods/gen8/rulesets.ts index 9c5b0ea62b03..1dc66795cac3 100644 --- a/data/mods/gen8/rulesets.ts +++ b/data/mods/gen8/rulesets.ts @@ -43,6 +43,8 @@ export const Rulesets: {[k: string]: ModdedFormatData} = { nu: 30, publ: 30, pu: 40, + zubl: 40, + zu: 40, nfe: 40, lc: 40, }; diff --git a/data/mods/gen8/typechart.ts b/data/mods/gen8/typechart.ts new file mode 100644 index 000000000000..8035817ee651 --- /dev/null +++ b/data/mods/gen8/typechart.ts @@ -0,0 +1,6 @@ +export const TypeChart: {[k: string]: ModdedTypeData | null} = { + stellar: { + inherit: true, + isNonstandard: 'Future', + }, +}; diff --git a/data/mods/gen8bdsp/formats-data.ts b/data/mods/gen8bdsp/formats-data.ts index e23fbc5f6500..ecf95fb85a52 100644 --- a/data/mods/gen8bdsp/formats-data.ts +++ b/data/mods/gen8bdsp/formats-data.ts @@ -644,7 +644,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUber", }, mew: { - tier: "UU", + tier: "OU", doublesTier: "DUU", }, chikorita: { @@ -930,7 +930,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, donphan: { - tier: "OU", + tier: "UU", doublesTier: "DUU", }, stantler: { @@ -946,7 +946,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUU", }, raikou: { - tier: "UUBL", + tier: "UU", doublesTier: "DOU", }, entei: { @@ -954,7 +954,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DOU", }, suicune: { - tier: "UU", + tier: "OU", doublesTier: "DOU", }, larvitar: { @@ -964,7 +964,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, tyranitar: { - tier: "OU", + tier: "UU", doublesTier: "DOU", }, lugia: { @@ -976,7 +976,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUber", }, celebi: { - tier: "UUBL", + tier: "OU", doublesTier: "DOU", }, treecko: { @@ -1209,7 +1209,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "NFE", }, roserade: { - tier: "UU", + tier: "OU", doublesTier: "DUU", }, gulpin: { @@ -1334,7 +1334,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { tier: "LC", }, milotic: { - tier: "UU", + tier: "OU", doublesTier: "DOU", }, castform: { @@ -1470,7 +1470,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { doublesTier: "DUber", }, jirachi: { - tier: "OU", + tier: "UU", doublesTier: "DUU", }, deoxys: { diff --git a/data/mods/gen8bdsp/moves.ts b/data/mods/gen8bdsp/moves.ts index 8926f4d90a53..02582b33e52d 100644 --- a/data/mods/gen8bdsp/moves.ts +++ b/data/mods/gen8bdsp/moves.ts @@ -123,6 +123,10 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, isNonstandard: "Past", }, + dragonhammer: { + inherit: true, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + }, drumbeating: { inherit: true, isNonstandard: "Past", @@ -615,9 +619,6 @@ export const Moves: {[k: string]: ModdedMoveData} = { inherit: true, desc: "A random move is selected for use, other than After You, Belch, Body Press, Chatter, Copycat, Counter, Covet, Destiny Bond, Detect, Dragon Ascent, Endure, Feint, Focus Punch, Follow Me, Helping Hand, Life Dew, Metronome, Mimic, Mirror Coat, Nature Power, Origin Pulse, Precipice Blades, Protect, Quash, Quick Guard, Rage Powder, Sketch, Sleep Talk, Snarl, Snore, Spiky Shield, Struggle, Switcheroo, Thief, Transform, Trick, or Wide Guard.", shortDesc: "Picks a random move.", - noMetronome: [ - "After You", "Belch", "Body Press", "Chatter", "Copycat", "Counter", "Covet", "Destiny Bond", "Detect", "Dragon Ascent", "Endure", "Feint", "Focus Punch", "Follow Me", "Helping Hand", "Life Dew", "Metronome", "Mimic", "Mirror Coat", "Nature Power", "Origin Pulse", "Precipice Blades", "Protect", "Quash", "Quick Guard", "Rage Powder", "Sketch", "Sleep Talk", "Snarl", "Snore", "Spiky Shield", "Struggle", "Switcheroo", "Thief", "Transform", "Trick", "Wide Guard", - ], }, mindblown: { inherit: true, diff --git a/data/mods/gen8joltemons/abilities.ts b/data/mods/gen8joltemons/abilities.ts deleted file mode 100644 index 5c25e342fa05..000000000000 --- a/data/mods/gen8joltemons/abilities.ts +++ /dev/null @@ -1,2240 +0,0 @@ -export const Abilities: {[k: string]: ModdedAbilityData} = { - schooling: { - onStart(pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Wishiwashi' || pokemon.level < 20 || pokemon.transformed) return; - if (pokemon.hp > pokemon.maxhp / 4 || pokemon.hasItem('graduationscale')) { - if (pokemon.species.id === 'wishiwashi') { - pokemon.formeChange('Wishiwashi-School'); - } - } else { - if (pokemon.species.id === 'wishiwashischool') { - pokemon.formeChange('Wishiwashi'); - } - } - }, - onResidualOrder: 27, - onResidual(pokemon) { - if ( - pokemon.baseSpecies.baseSpecies !== 'Wishiwashi' || pokemon.level < 20 || - pokemon.transformed || !pokemon.hp - ) return; - if (pokemon.hp > pokemon.maxhp / 4 || pokemon.hasItem('graduationscale')) { - if (pokemon.species.id === 'wishiwashi') { - pokemon.formeChange('Wishiwashi-School'); - } - } else { - if (pokemon.species.id === 'wishiwashischool') { - pokemon.formeChange('Wishiwashi'); - } - } - }, - inherit: true, - }, - lightpower: { - onModifySpAPriority: 5, - onModifySpA(spa) { - return this.chainModify(2); - }, - name: "Light Power", - shortDesc: "This Pokemon's Special Attack is doubled.", - rating: 5, - }, - raindish: { - onResidualOrder: 5, - onResidualSubOrder: 2, - onResidual(pokemon) { - if (this.field.isWeather(['raindance', 'primordialsea'])) return; - this.heal(pokemon.maxhp / 16); - }, - onWeather(target, source, effect) { - if (effect.id === 'raindance' || effect.id === 'primordialsea') { - this.heal(target.baseMaxhp / 8); - } - }, - name: "Rain Dish", - shortDesc: "Heals 6.25% of user's max HP at the end of each turn. Heals 12.5% in Rain.", - num: 44, - rating: 3, - }, - icebody: { - onResidualOrder: 5, - onResidualSubOrder: 2, - onResidual(pokemon) { - if (this.field.isWeather('hail')) return; - this.heal(pokemon.maxhp / 16); - }, - onWeather(target, source, effect) { - if (effect.id === 'hail') { - this.heal(target.baseMaxhp / 8); - } - }, - name: "Ice Body", - shortDesc: "Heals 6.25% of user's max HP at the end of each turn. Heals 12.5% in Hail.", - num: 115, - rating: 3, - }, - sweetveil: { - name: "Sweet Veil", - shortDesc: "This Pokemon and its allies can't fall asleep. This Pokemon heals 1/8 of its max HP if it's holding Honey.", - onAllySetStatus(status, target, source, effect) { - if (status.id === 'slp') { - this.debug('Sweet Veil interrupts sleep'); - const effectHolder = this.effectState.target; - this.add('-block', target, 'ability: Sweet Veil', '[of] ' + effectHolder); - return null; - } - }, - onAllyTryAddVolatile(status, target) { - if (status.id === 'yawn') { - this.debug('Sweet Veil blocking yawn'); - const effectHolder = this.effectState.target; - this.add('-block', target, 'ability: Sweet Veil', '[of] ' + effectHolder); - return null; - } - }, - onResidualOrder: 26, - onResidualSubOrder: 1, - onResidual(pokemon) { - if (pokemon.hasItem('honey')) { - this.heal(pokemon.baseMaxhp / 8); - } - }, - rating: 2, - num: 175, - }, - libero: { - shortDesc: "Non-STAB moves have 1.2x power.", - onBasePowerPriority: 23, - onBasePower(basePower, pokemon, target, move) { - if (!pokemon.hasType(move.type)) { - return this.chainModify(1.2); - } - }, - name: "Libero", - rating: 4.5, - num: 236, - }, - moody: { - shortDesc: "This Pokemon's lowest stat goes up by 1 every turn.", - onResidualOrder: 26, - onResidualSubOrder: 1, - onResidual(pokemon) { - if (pokemon.activeTurns) { - let statName = 'atk'; - let worstStat = 3000; // The highest possible stat number (with boosts) is 2,676 - let s: StatIDExceptHP; - for (s in pokemon.storedStats) { - if (pokemon.storedStats[s] >= worstStat) continue; - statName = s; - worstStat = pokemon.storedStats[s]; - } - this.boost({[statName]: 1}, pokemon, pokemon); - } - }, - name: "Moody", - rating: 3, - num: 141, - }, - stickyhold: { - onTakeItem(item, pokemon, source) { - if (this.suppressingAbility(pokemon) || !pokemon.hp || pokemon.item === 'stickybarb') return; - if (!this.activeMove) throw new Error("Battle.activeMove is null"); - if ((source && source !== pokemon) || this.activeMove.id === 'knockoff') { - this.add('-activate', pokemon, 'ability: Sticky Hold'); - return false; - } - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.name === 'Knock Off') { - this.debug('Sticky Hold weaken'); - return this.chainModify(0.67); - } - }, - onTryHit(pokemon, target, move) { - if (move.name === 'Poltergeist') { - this.add('-immune', pokemon, '[from] ability: Sticky Hold'); - return null; - } - }, - name: "Sticky Hold", - rating: 2, - num: 60, - }, - watercompaction: { - shortDesc: "This Pokemon's Defense goes up 2 stages when hit by a Water-type move; Water immunity.", - onTryHitPriority: 1, - onTryHit(target, source, move) { - if (target !== source && move.type === 'Water') { - if (!this.boost({def: 2})) { - this.add('-immune', target, '[from] ability: Water Compaction'); - } - return null; - } - }, - onAllyTryHitSide(target, source, move) { - if (target === this.effectState.target || target.side !== source.side) return; - if (move.type === 'Water') { - this.boost({def: 2}, this.effectState.target); - } - }, - name: "Water Compaction", - rating: 3, - num: 195, - }, - ironfist: { - shortDesc: "This Pokemon's punch attacks have 1.25x power and don't make contact. Sucker Punch is not boosted.", - onBasePowerPriority: 23, - onBasePower(basePower, attacker, defender, move) { - if (move.flags['punch']) { - this.debug('Iron Fist boost'); - return this.chainModify([0x1400, 0x1000]); - } - }, - onModifyMove(move) { - if (move.flags['punch']) { - delete move.flags['contact']; - } - }, - name: "Iron Fist", - rating: 3, - num: 89, - }, - overclock: { - shortDesc: "This Pokemon's moves that lower its stats have 1.3x power.", - onBasePowerPriority: 23, - onBasePower(basePower, attacker, defender, move) { - const statLoweringMoves = [ - 'Draco Meteor', 'Fleur Cannon', 'Leaf Storm', 'Overheat', 'Psycho Boost', 'Superpower', - 'Lightning Lance', 'Clanging Scales', 'Close Combat', 'Dragon Ascent', 'Hyperspace Fury', - 'Scale Shot', 'V-create', 'Hammer Arm', 'Ice Hammer', - ]; - if (statLoweringMoves.includes(move.name)) { - return this.chainModify(1.3); - } - }, - name: "Overclock", - rating: 4, - }, - pricklycoat: { - shortDesc: "This Pokemon sets a layer of Spikes when hit by a contact move, or Toxic Spikes if it's a Poison-type or hit by a Poison-type move.", - onDamagingHitOrder: 1, - onDamagingHit(damage, target, source, move) { - if (move.flags['contact']) { - this.add('-ability', target, 'Prickly Coat'); - if (move.type === 'Poison' || target.hasType('Poison')) { - target.side.foe.addSideCondition('toxicspikes'); - } else { - target.side.foe.addSideCondition('spikes'); - } - } - }, - name: "Prickly Coat", - rating: 3, - }, - sandveil: { - desc: "If Sandstorm is active, this Pokemon's SpD is multiplied by 1.5. This Pokemon takes no damage from Sandstorm.", - shortDesc: "If Sandstorm is active, this Pokemon's SpD is boosted 1.5x; immunity to Sandstorm.", - onImmunity(type, pokemon) { - if (type === 'sandstorm') return false; - }, - onModifySpD(spd, pokemon) { - if (this.field.isWeather('sandstorm')) { - return this.chainModify(1.5); - } - }, - name: "Sand Veil", - rating: 3, - num: 146, - }, - snowcloak: { - desc: "If Hail is active, this Pokemon's Ice, Water, and Fairy-type moves deal 1.3x damage. This Pokemon takes no damage from Hail.", - shortDesc: "This Pokemon's Ice/Water/Fairy attacks deal 1.3x damage in Hail; immunity to Hail.", - onImmunity(type, pokemon) { - if (type === 'hail') return false; - }, - onBasePowerPriority: 21, - onBasePower(basePower, attacker, defender, move) { - if (this.field.isWeather('hail')) { - if (move.type === 'Ice' || move.type === 'Water' || move.type === 'Fairy') { - this.debug('Snow Cloak boost'); - return this.chainModify([0x14CD, 0x1000]); - } - } - }, - name: "Snow Cloak", - rating: 3, - num: 81, - }, - powerofalchemy: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - isPermanent: true, - name: "Power of Alchemy", - rating: 0, - num: 223, - }, - powerofalchemymukalola: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onModifyMove(move) { - if (!move || !move.flags['contact'] || move.target === 'self') return; - if (!move.secondaries) { - move.secondaries = []; - } - move.secondaries.push({ - chance: 30, - status: 'psn', - ability: this.dex.abilities.get('poisontouch'), - }); - }, - onSourceAfterFaint(length, target, source, effect) { - if (effect && effect.effectType === 'Move') { - this.add('-activate', source, 'ability: Scavenge'); - this.heal(source.baseMaxhp / 3, source, source, effect); - } - }, - isPermanent: true, - name: "Power of Alchemy (Muk-Alola)", - rating: 5, - }, - merciless: { - shortDesc: "This Pokemon's attacks are critical hits if the target is statused.", - onModifyCritRatio(critRatio, source, target) { - if (target?.status) return 5; - }, - name: "Merciless", - rating: 1.5, - num: 196, - }, - pastelveil: { - shortDesc: "This Pokemon and its allies cannot be poisoned. Poison-type moves have 0.5x power against this Pokemon and its allies. On switch-in, cures poisoned allies.", - onStart(pokemon) { - for (const ally of pokemon.allies()) { - if (['psn', 'tox'].includes(ally.status)) { - this.add('-activate', pokemon, 'ability: Pastel Veil'); - ally.cureStatus(); - } - } - }, - onUpdate(pokemon) { - if (['psn', 'tox'].includes(pokemon.status)) { - this.add('-activate', pokemon, 'ability: Pastel Veil'); - pokemon.cureStatus(); - } - }, - onAllySwitchIn(pokemon) { - if (['psn', 'tox'].includes(pokemon.status)) { - this.add('-activate', this.effectState.target, 'ability: Pastel Veil'); - pokemon.cureStatus(); - } - }, - onSetStatus(status, target, source, effect) { - if (!['psn', 'tox'].includes(status.id)) return; - if ((effect as Move)?.status) { - this.add('-immune', target, '[from] ability: Pastel Veil'); - } - return false; - }, - onAllySetStatus(status, target, source, effect) { - if (!['psn', 'tox'].includes(status.id)) return; - if ((effect as Move)?.status) { - const effectHolder = this.effectState.target; - this.add('-block', target, 'ability: Pastel Veil', '[of] ' + effectHolder); - } - return false; - }, - onSourceModifyAtkPriority: 6, - onSourceModifyAtk(atk, attacker, defender, move) { - if (move.type === 'Poison') { - this.debug('Pastel Veil weaken'); - return this.chainModify(0.5); - } - }, - onSourceModifySpAPriority: 5, - onSourceModifySpA(atk, attacker, defender, move) { - if (move.type === 'Poison') { - this.debug('Pastel Veil weaken'); - return this.chainModify(0.5); - } - }, - name: "Pastel Veil", - rating: 2, - num: 257, - }, - gravitation: { - shortDesc: "On switch-in, this Pokemon summons Gravity.", - onStart(source) { - this.add('-ability', source, 'Gravitation'); - this.field.addPseudoWeather('gravity', source, source.getAbility()); - }, - name: "Gravitation", - rating: 4, - }, - buzzoff: { - shortDesc: "This Pokemon switches out after using a Bug-type move.", - onModifyMove(move, pokemon) { - if (move.type === 'Bug') { - move.selfSwitch = true; - this.add('-ability', pokemon, 'Buzz Off'); - } - }, - name: "Buzz Off", - rating: 4.5, - }, - magmaarmor: { - onUpdate(pokemon) { - if (pokemon.status === 'frz') { - this.add('-activate', pokemon, 'ability: Magma Armor'); - pokemon.cureStatus(); - } - }, - onImmunity(type, pokemon) { - if (type === 'hail') return false; - if (type === 'frz') return false; - }, - onSourceModifyAtkPriority: 6, - onSourceModifyAtk(atk, attacker, defender, move) { - if (move.type === 'Ice' || move.type === 'Water') { - this.debug('Magma Armor weaken'); - return this.chainModify(0.5); - } - }, - onSourceModifySpAPriority: 5, - onSourceModifySpA(atk, attacker, defender, move) { - if (move.type === 'Ice' || move.type === 'Water') { - this.debug('Magma Armor weaken'); - return this.chainModify(0.5); - } - }, - name: "Magma Armor", - rating: 2, - num: 40, - shortDesc: "Water/Ice-type moves against this Pokemon deal damage with a halved attacking stat. Hail & Freeze immunity.", - }, - leafguard: { - onSetStatus(status, target, source, effect) { - if (['sunnyday', 'desolateland'].includes(target.effectiveWeather())) { - if ((effect as Move)?.status) { - this.add('-immune', target, '[from] ability: Leaf Guard'); - } - return false; - } - }, - onTryAddVolatile(status, target) { - if ((status.id === 'yawn' || status.id === 'flinch') && - ['sunnyday', 'desolateland'].includes(target.effectiveWeather())) { - this.add('-immune', target, '[from] ability: Leaf Guard'); - return null; - } - }, - onSourceModifyAtkPriority: 6, - onSourceModifyAtk(atk, attacker, defender, move) { - if (move.type === 'Flying' || move.type === 'Bug') { - this.debug('Leaf Guard weaken'); - return this.chainModify(0.5); - } - }, - onSourceModifySpAPriority: 5, - onSourceModifySpA(atk, attacker, defender, move) { - if (move.type === 'Flying' || move.type === 'Bug') { - this.debug('Leaf Guard weaken'); - return this.chainModify(0.5); - } - }, - name: "Leaf Guard", - rating: 0.5, - num: 102, - shortDesc: "Flying/Bug-type moves against this Pokemon deal damage with a halved attacking stat. Can't be statused or flinched by others in Sun.", - }, - - soullink: { - onDamagingHitOrder: 1, - onDamagingHit(damage, target, source, move) { - if (move.flags['contact'] && !source.hasType('Ghost') && source.addType('Ghost')) { - this.add('-start', source, 'typeadd', 'Ghost', '[from] ability: Soul Link'); - } - }, - name: "Soul Link", - shortDesc: "Pokémon that make contact with this Pokémon have the Ghost-type added to their existing typings until they switch out (Trick-or-Treat effect).", - rating: 2.5, - }, - wanderingspirit: { - shortDesc: "On switch-in, swaps ability with the opponent.", - onSwitchIn(pokemon) { - this.effectState.switchingIn = true; - }, - onStart(pokemon) { - if (pokemon.foes().some( - foeActive => foeActive && foeActive.isAdjacent(pokemon) && foeActive.ability === 'noability' - ) || ![ - 'spiritomb', 'spectrier', 'yamaskgalar', 'runerigus', 'cofagrigus', 'cacturne', 'hoopa', 'marowak', 'rotom', - ].includes(pokemon.species.id)) { - this.effectState.gaveUp = true; - } - }, - onUpdate(pokemon) { - if (!pokemon.isStarted || this.effectState.gaveUp) return; - if (!this.effectState.switchingIn) return; - const possibleTargets = pokemon.foes().filter(foeActive => foeActive && foeActive.isAdjacent(pokemon)); - while (possibleTargets.length) { - let rand = 0; - if (possibleTargets.length > 1) rand = this.random(possibleTargets.length); - const target = possibleTargets[rand]; - const ability = target.getAbility(); - const additionalBannedAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'wanderingspirit', - 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', 'concussion', 'gorillatactics', 'counterfeit', - ]; - if (target.getAbility().isPermanent || additionalBannedAbilities.includes(target.ability)) { - possibleTargets.splice(rand, 1); - continue; - } - target.setAbility('wanderingspirit', pokemon); - pokemon.setAbility(ability); - this.add('-activate', pokemon, 'ability: Wandering Spirit', ability.name, 'Wandering Spirit', '[of] ' + target); - return; - } - }, - name: "Wandering Spirit", - rating: 4, - num: 254, - }, - honeygather: { - name: "Honey Gather", - shortDesc: "At the end of each turn, if this Pokemon has no item, it gets Honey. Knock Off doesn't get boosted against Pokemon with this ability.", - onResidualOrder: 26, - onResidualSubOrder: 1, - onResidual(pokemon) { - if (pokemon.hp && !pokemon.item) { - pokemon.setItem('honey'); - this.add('-item', pokemon, pokemon.getItem(), '[from] ability: Honey Gather'); - } - if (pokemon.hasItem('honey')) { - this.heal(pokemon.baseMaxhp / 8); - } - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.name === 'Knock Off') { - this.debug('Honey Gather weaken'); - return this.chainModify(0.67); - } - }, - rating: 3, - num: 118, - }, - hydration: { - shortDesc: "This Pokemon has its status cured at the end of each turn if Rain Dance is active or it gets hit by a Water move; Water immunity. Heals 12.5% HP if hit by a Water move.", - onResidualOrder: 5, - onResidualSubOrder: 4, - onResidual(pokemon) { - if (pokemon.status && ['raindance', 'primordialsea'].includes(pokemon.effectiveWeather())) { - this.debug('hydration'); - this.add('-activate', pokemon, 'ability: Hydration'); - this.add('-message', `Hydration activated!`); - pokemon.cureStatus(); - } - }, - onTryHit(target, source, move) { - if (target !== source && move.type === 'Water') { - if (!this.heal(target.baseMaxhp / 8) || !target.cureStatus()) { - this.add('-immune', target, '[from] ability: Hydration'); - } - return null; - } - }, - name: "Hydration", - rating: 1.5, - num: 93, - }, - parentalbond: { - onPrepareHit(source, target, move) { - if (move.category === 'Status' || move.selfdestruct || move.multihit) return; - const noParentalBond = [ - 'endeavor', 'seismictoss', 'psywave', 'nightshade', 'sonicboom', 'dragonrage', - 'superfang', 'naturesmadness', 'bide', 'counter', 'mirrorcoat', 'metalburst', - ]; - if (noParentalBond.includes(move.id)) return; - if (!move.spreadHit && !move.isZ && !move.isMax) { - move.multihit = 2; - move.multihitType = 'parentalbond'; - } - }, - onBasePowerPriority: 7, - onBasePower(basePower, pokemon, target, move) { - if (move.multihitType === 'parentalbond' && move.hit > 1) return this.chainModify(0.25); - }, - onSourceModifySecondaries(secondaries, target, source, move) { - if (move.multihitType === 'parentalbond' && move.id === 'secretpower' && move.hit < 2) { - // hack to prevent accidentally suppressing King's Rock/Razor Fang - return secondaries.filter(effect => effect.volatileStatus === 'flinch'); - } - }, - name: "Parental Bond", - rating: 4.5, - num: 184, - }, - scavenge: { - shortDesc: "This Pokemon's heals 33% of its HP when another Pokemon faints.", - onSourceAfterFaint(length, target, source, effect) { - if (effect && effect.effectType === 'Move') { - this.add('-activate', source, 'ability: Scavenge'); - this.heal(source.baseMaxhp / 3, source, source, effect); - } - }, - name: "Scavenge", - rating: 3.5, - }, - unimpressed: { - shortDesc: "Moves used against this Pokemon don't receive STAB.", - onSourceModifyDamage(damage, source, target, move) { - if (source.hasType(move.type)) { - this.debug('Unimpressed weaken'); - return this.chainModify(source.hasAbility('adaptability') ? 0.5 : 0.67); - } - }, - name: "Unimpressed", - rating: 3.5, - }, - counterfeit: { - shortDesc: "On switch-in, identifies and copies the effect of the opponent's held item.", - onStart(pokemon) { - if (pokemon.foes().some( - foeActive => foeActive && foeActive.isAdjacent(pokemon) && !foeActive.item - )) { - this.effectState.gaveUp = true; - } - }, - onUpdate(pokemon) { - if (!pokemon.isStarted || this.effectState.gaveUp) return; - const possibleTargets = pokemon.foes().filter(foeActive => foeActive && foeActive.isAdjacent(pokemon)); - while (possibleTargets.length) { - let rand = 0; - if (possibleTargets.length > 1) rand = this.random(possibleTargets.length); - const target = possibleTargets[rand]; - const item = target.getItem(); - const additionalBannedItems = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', - 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', - ]; - if (!this.singleEvent('TakeItem', item, target.itemState, target, pokemon, this.effect, item) || - additionalBannedItems.includes(target.item)) { - possibleTargets.splice(rand, 1); - continue; - } - this.add('-ability', pokemon, item, '[from] ability: Counterfeit', '[of] ' + target); - pokemon.setAbility(item as unknown as Ability); - return; - } - }, - name: "Counterfeit", - rating: 3.5, - }, - optimistic: { - onTryBoost(boost, target, source, effect) { - if (source && target !== source) return; - let showMsg = false; - let i: BoostID; - for (i in boost) { - if (boost[i]! < 0) { - delete boost[i]; - showMsg = true; - } - } - if (showMsg && !(effect as ActiveMove).secondaries && effect.id !== 'octolock') { - this.add("-fail", target, "unboost", "[from] ability: Optimistic", "[of] " + target); - } - }, - shortDesc: "This Pokemon can't lower its own stats.", - name: "Optimistic", - rating: 5, - }, - rivalry: { - onBasePowerPriority: 24, - onBasePower(basePower, pokemon, target) { - if (target.hasType(pokemon.getTypes())) { - return this.chainModify(1.33); - } - }, - name: "Rivalry", - rating: 0, - num: 79, - shortDesc: "This Pokemon's moves deal 1.33x damage to targets that share a type with it.", - }, - vaporcontrol: { - onUpdate(pokemon) { - if (['sunnyday', 'desolateland'].includes(pokemon.effectiveWeather()) && !pokemon.side.getSideCondition('mist')) { - this.actions.useMove("Mist", pokemon); - } - }, - onBasePowerPriority: 21, - onBasePower(basePower, attacker, defender, move) { - if ((this.field.isWeather('sunnyday') || this.field.isWeather('desolateland')) && - move.type === 'Water') { - this.debug('Vapor Control boost'); - return this.chainModify(1.5); - } - }, - shortDesc: "If Sun is active, 1.5x power Water moves and sets Mist; Ignores Sun Water drop.", - name: "Vapor Control", - rating: 3, - }, - // Edited by proxy - oblivious: { - onUpdate(pokemon) { - if (pokemon.volatiles['attract']) { - this.add('-activate', pokemon, 'ability: Oblivious'); - pokemon.removeVolatile('attract'); - this.add('-end', pokemon, 'move: Attract', '[from] ability: Oblivious'); - } - if (pokemon.volatiles['taunt']) { - this.add('-activate', pokemon, 'ability: Oblivious'); - pokemon.removeVolatile('taunt'); - // Taunt's volatile already sends the -end message when removed - } - if (pokemon.volatiles['trashtalk']) { - this.add('-activate', pokemon, 'ability: Oblivious'); - pokemon.removeVolatile('trashtalk'); - } - }, - onImmunity(type, pokemon) { - if (type === 'attract' || type === 'trashtalk') return false; - }, - onTryHit(pokemon, target, move) { - if (move.id === 'attract' || move.id === 'captivate' || move.id === 'taunt') { - this.add('-immune', pokemon, '[from] ability: Oblivious'); - return null; - } - }, - name: "Oblivious", - rating: 1.5, - num: 12, - }, - aromaveil: { - onAllyTryAddVolatile(status, target, source, effect) { - if (['attract', 'disable', 'encore', 'healblock', 'taunt', 'torment', 'trashtalk'].includes(status.id)) { - if (effect.effectType === 'Move') { - const effectHolder = this.effectState.target; - this.add('-block', target, 'ability: Aroma Veil', '[of] ' + effectHolder); - } - return null; - } - }, - name: "Aroma Veil", - rating: 2, - num: 165, - }, - trace: { - onStart(pokemon) { - if (pokemon.foes().some( - foeActive => foeActive && foeActive.isAdjacent(pokemon) && foeActive.ability === 'noability' - )) { - this.effectState.gaveUp = true; - } - }, - onUpdate(pokemon) { - if (!pokemon.isStarted || this.effectState.gaveUp) return; - const possibleTargets = pokemon.foes().filter(foeActive => foeActive && foeActive.isAdjacent(pokemon)); - while (possibleTargets.length) { - let rand = 0; - if (possibleTargets.length > 1) rand = this.random(possibleTargets.length); - const target = possibleTargets[rand]; - const ability = target.getAbility(); - const additionalBannedAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', - 'powerofalchemy', 'receiver', 'trace', 'zenmode', 'wanderingspirit', - ]; - if (target.getAbility().isPermanent || additionalBannedAbilities.includes(target.ability)) { - possibleTargets.splice(rand, 1); - continue; - } - this.add('-ability', pokemon, ability, '[from] ability: Trace', '[of] ' + target); - pokemon.setAbility(ability); - return; - } - }, - name: "Trace", - rating: 2.5, - num: 36, - }, - concussion: { - name: "Concussion", - shortDesc: "While this Pokemon is active, the opponents' held items have no effect.", - onStart(source) { - let activated = false; - for (const pokemon of source.foes()) { - if (!activated) { - this.add('-ability', source, 'Concussion'); - } - activated = true; - if (!pokemon.volatiles['embargo'] && !pokemon.hasItem('morningblossom')) { - pokemon.addVolatile('embargo'); - } - } - }, - onAnySwitchIn(pokemon) { - const source = this.effectState.target; - if (pokemon === source) return; - for (const target of source.foes()) { - if (!target.volatiles['embargo'] && !target.hasItem('morningblossom')) { - target.addVolatile('embargo'); - } - } - }, - onEnd(pokemon) { - for (const target of pokemon.foes()) { - target.removeVolatile('embargo'); - } - }, - rating: 4, - }, - gorillatactics: { - name: "Gorilla Tactics", - shortDesc: "While this Pokemon is active, the opponents' held items have no effect.", - onStart(source) { - let activated = false; - for (const pokemon of source.foes()) { - if (!activated) { - this.add('-ability', source, 'Gorilla Tactics'); - } - activated = true; - if (!pokemon.volatiles['embargo'] && !pokemon.hasItem('morningblossom')) { - pokemon.addVolatile('embargo'); - } - } - }, - onAnySwitchIn(pokemon) { - const source = this.effectState.target; - if (pokemon === source) return; - for (const target of source.foes()) { - if (!target.volatiles['embargo'] && !target.hasItem('morningblossom')) { - target.addVolatile('embargo'); - } - } - }, - onEnd(pokemon) { - for (const target of pokemon.foes()) { - target.removeVolatile('embargo'); - } - }, - rating: 4, - num: 255, - }, - toxicboost: { - shortDesc: "1.5x Attack and Defense while poisoned; Immune to poison status damage.", - onBasePowerPriority: 19, - onBasePower(basePower, attacker, defender, move) { - if ((attacker.status === 'psn' || attacker.status === 'tox') && move.category === 'Physical') { - return this.chainModify(1.5); - } - }, - onModifyDefPriority: 6, - onModifyDef(def, pokemon) { - if (pokemon.status === 'psn' || pokemon.status === 'tox') { - return this.chainModify(1.5); - } - }, - onDamagePriority: 1, - onDamage(damage, target, source, effect) { - if (effect.id === 'psn' || effect.id === 'tox') { - return false; - } - }, - name: "Toxic Boost", - rating: 2.5, - num: 137, - }, - flareboost: { - shortDesc: "1.5x SpA and SpD while burned; Immune to burn damage.", - onBasePowerPriority: 19, - onBasePower(basePower, attacker, defender, move) { - if (attacker.status === 'brn' && move.category === 'Special') { - return this.chainModify(1.5); - } - }, - onModifySpDPriority: 6, - onModifySpD(spd, pokemon) { - if (pokemon.status === 'brn') { - return this.chainModify(1.5); - } - }, - onDamagePriority: 1, - onDamage(damage, target, source, effect) { - if (effect.id === 'brn') { - return false; - } - }, - name: "Flare Boost", - rating: 2.5, - num: 138, - }, - // The other Power of Alchemies - powerofalchemyweezing: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Neutralizing Gas'); - pokemon.abilityState.ending = false; - for (const target of this.getAllActive()) { - if (target.illusion) { - this.singleEvent('End', this.dex.abilities.get('Illusion'), target.abilityState, target, pokemon, 'neutralizinggas'); - } - if (target.volatiles['slowstart']) { - delete target.volatiles['slowstart']; - this.add('-end', target, 'Slow Start', '[silent]'); - } - } - }, - onEnd(source) { - // FIXME this happens before the pokemon switches out, should be the opposite order. - // Not an easy fix since we cant use a supported event. Would need some kind of special event that - // gathers events to run after the switch and then runs them when the ability is no longer accessible. - // (If your tackling this, do note extreme weathers have the same issue) - - // Mark this pokemon's ability as ending so Pokemon#ignoringAbility skips it - source.abilityState.ending = true; - for (const pokemon of this.getAllActive()) { - if (pokemon !== source) { - // Will be suppressed by Pokemon#ignoringAbility if needed - this.singleEvent('Start', pokemon.getAbility(), pokemon.abilityState, pokemon); - } - } - }, - isPermanent: true, - name: "Power of Alchemy (Weezing)", - rating: 5, - }, - powerofalchemyalcremie: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onTakeItem(item, pokemon, source) { - if (this.suppressingAbility(pokemon) || !pokemon.hp || pokemon.item === 'stickybarb') return; - if (!this.activeMove) throw new Error("Battle.activeMove is null"); - if ((source && source !== pokemon) || this.activeMove.id === 'knockoff') { - this.add('-activate', pokemon, 'ability: Sticky Hold'); - return false; - } - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.name === 'Knock Off') { - this.debug('Sticky Hold weaken'); - return this.chainModify(0.67); - } - }, - onTryHit(pokemon, target, move) { - if (move.name === 'Poltergeist') { - this.add('-immune', pokemon, '[from] ability: Sticky Hold'); - return null; - } - }, - onAllySetStatus(status, target, source, effect) { - if (status.id === 'slp') { - this.debug('Sweet Veil interrupts sleep'); - const effectHolder = this.effectState.target; - this.add('-block', target, 'ability: Sweet Veil', '[of] ' + effectHolder); - return null; - } - }, - onAllyTryAddVolatile(status, target) { - if (status.id === 'yawn') { - this.debug('Sweet Veil blocking yawn'); - const effectHolder = this.effectState.target; - this.add('-block', target, 'ability: Sweet Veil', '[of] ' + effectHolder); - return null; - } - }, - onResidualOrder: 26, - onResidualSubOrder: 1, - onResidual(pokemon) { - if (pokemon.hasItem('honey')) { - this.heal(pokemon.baseMaxhp / 8); - } - }, - isPermanent: true, - name: "Power of Alchemy (Alcremie)", - rating: 5, - }, - powerofalchemymismagius: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - isPermanent: true, - name: "Power of Alchemy (Mismagius)", - rating: 5, - }, - powerofalchemyslowkinggalar: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onStart(pokemon) { - for (const ally of pokemon.allies()) { - ally.clearBoosts(); - this.add('-clearboost', ally, '[from] ability: Curious Medicine', '[of] ' + pokemon); - } - }, - onSwitchOut(pokemon) { - pokemon.heal(pokemon.baseMaxhp / 3); - }, - isPermanent: true, - name: "Power of Alchemy (Slowking-Galar)", - rating: 5, - }, - powerofalchemyditto: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onUpdate(pokemon) { - if (pokemon.status === 'par') { - this.add('-activate', pokemon, 'ability: Limber'); - pokemon.cureStatus(); - } - }, - onSetStatus(status, target, source, effect) { - if (status.id !== 'par') return; - if ((effect as Move)?.status) { - this.add('-immune', target, '[from] ability: Limber'); - } - return false; - }, - onSwitchIn(pokemon) { - this.effectState.switchingIn = true; - }, - onStart(pokemon) { - // Imposter does not activate when Skill Swapped or when Neutralizing Gas leaves the field - if (!this.effectState.switchingIn) return; - const target = pokemon.foes()[pokemon.foes().length - 1 - pokemon.position]; - if (target) { - pokemon.transformInto(target, this.dex.abilities.get('powerofalchemyditto')); - } - this.effectState.switchingIn = false; - }, - isPermanent: true, - name: "Power of Alchemy (Ditto)", - rating: 5, - }, - powerofalchemyvanillite: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onImmunity(type, pokemon) { - if (type === 'hail') return false; - }, - onModifyDef(def, pokemon) { - if (this.field.isWeather('hail')) { - return this.chainModify(1.25); - } - }, - onModifySpD(spd, pokemon) { - if (this.field.isWeather('hail')) { - return this.chainModify(1.25); - } - }, - onResidualOrder: 5, - onResidualSubOrder: 2, - onResidual(pokemon) { - if (this.field.isWeather('hail')) return; - this.heal(pokemon.maxhp / 16); - }, - onWeather(target, source, effect) { - if (effect.id === 'hail') { - this.heal(target.baseMaxhp / 8); - } - }, - isPermanent: true, - name: "Power of Alchemy (Vanillite)", - rating: 5, - }, - powerofalchemyvanilluxe: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onStart(source) { - this.field.setWeather('hail'); - }, - onResidualOrder: 5, - onResidualSubOrder: 2, - onResidual(pokemon) { - if (this.field.isWeather('hail')) return; - this.heal(pokemon.maxhp / 16); - }, - onWeather(target, source, effect) { - if (effect.id === 'hail') { - this.heal(target.baseMaxhp / 8); - } - }, - isPermanent: true, - name: "Power of Alchemy (Vanilluxe)", - rating: 5, - }, - powerofalchemytypenull: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onStart(pokemon) { - this.add('-ability', pokemon, 'Pressure'); - }, - onDeductPP(target, source) { - if (target.side === source.side) return; - return 1; - }, - onCriticalHit: false, - isPermanent: true, - name: "Power of Alchemy (Type: Null)", - rating: 5, - }, - powerofalchemysilvally: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onStart(pokemon) { - let totaldef = 0; - let totalspd = 0; - for (const target of pokemon.foes()) { - if (!target || target.fainted) continue; - totaldef += target.getStat('def', false, true); - totalspd += target.getStat('spd', false, true); - } - if (totaldef && totaldef >= totalspd) { - this.boost({spa: 1}); - } else if (totalspd) { - this.boost({atk: 1}); - } - }, - isPermanent: true, - name: "Power of Alchemy (Silvally)", - rating: 5, - }, - powerofalchemyvaporeon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onResidualOrder: 5, - onResidualSubOrder: 4, - onResidual(pokemon) { - if (pokemon.status && ['raindance', 'primordialsea'].includes(pokemon.effectiveWeather())) { - this.debug('hydration'); - this.add('-activate', pokemon, 'ability: Hydration'); - this.add('-message', `Hydration activated!`); - pokemon.cureStatus(); - } - }, - onTryHit(target, source, move) { - if (target !== source && move.type === 'Water') { - if (!this.heal(target.baseMaxhp / 2.667) || !target.cureStatus()) { - this.add('-immune', target, '[from] ability: Power of Alchemy (Vaporeon)'); - } - return null; - } - }, - isPermanent: true, - name: "Power of Alchemy (Vaporeon)", - rating: 5, - }, - powerofalchemyjolteon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onTryHit(target, source, move) { - if (target !== source && move.type === 'Electric') { - if (!this.heal(target.baseMaxhp / 4)) { - this.add('-immune', target, '[from] ability: Volt Absorb'); - } - return null; - } - }, - onDamagingHitOrder: 1, - onDamagingHit(damage, target, source, move) { - if (move.flags['contact']) { - this.add('-ability', target, 'Prickly Coat'); - if (move.type === 'Poison' || target.hasType('Poison')) { - target.side.foe.addSideCondition('toxicspikes'); - } else { - target.side.foe.addSideCondition('spikes'); - } - } - }, - isPermanent: true, - name: "Power of Alchemy (Jolteon)", - rating: 5, - }, - powerofalchemyflareon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onTryHit(target, source, move) { - if (target !== source && move.type === 'Fire') { - move.accuracy = true; - if (!target.addVolatile('flashfire')) { - this.add('-immune', target, '[from] ability: Flash Fire'); - } - return null; - } - }, - onSourceModifyDamage(damage, source, target, move) { - let mod = 1; - if (move.type === 'Fire') mod *= 2; - if (move.flags['contact']) mod /= 2; - return this.chainModify(mod); - }, - isPermanent: true, - name: "Power of Alchemy (Flareon)", - rating: 5, - }, - powerofalchemyespeon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onBasePowerPriority: 21, - onBasePower(basePower, pokemon) { - let boosted = true; - for (const target of this.getAllActive()) { - if (target === pokemon) continue; - if (this.queue.willMove(target)) { - boosted = false; - break; - } - } - if (boosted) { - this.debug('Analytic boost'); - return this.chainModify([0x14CD, 0x1000]); - } - }, - onTryHitPriority: 1, - onTryHit(target, source, move) { - if (target === source || move.hasBounced || !move.flags['reflectable']) { - return; - } - const newMove = this.dex.getActiveMove(move.id); - newMove.hasBounced = true; - newMove.pranksterBoosted = false; - this.actions.useMove(newMove, target, source); - return null; - }, - onAllyTryHitSide(target, source, move) { - if (target.side === source.side || move.hasBounced || !move.flags['reflectable']) { - return; - } - const newMove = this.dex.getActiveMove(move.id); - newMove.hasBounced = true; - newMove.pranksterBoosted = false; - this.actions.useMove(newMove, this.effectState.target, source); - return null; - }, - condition: { - duration: 1, - }, - isPermanent: true, - name: "Power of Alchemy (Espeon)", - rating: 5, - }, - powerofalchemyumbreon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onModifyCritRatio(critRatio, source, target) { - if (target?.status) return 5; - }, - isPermanent: true, - name: "Power of Alchemy (Umbreon)", - rating: 5, - }, - powerofalchemyleafeon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onSetStatus(status, target, source, effect) { - if (['sunnyday', 'desolateland'].includes(target.effectiveWeather())) { - if ((effect as Move)?.status) { - this.add('-immune', target, '[from] ability: Leaf Guard'); - } - return false; - } - }, - onTryAddVolatile(status, target) { - if ((status.id === 'yawn' || status.id === 'flinch') && - ['sunnyday', 'desolateland'].includes(target.effectiveWeather())) { - this.add('-immune', target, '[from] ability: Leaf Guard'); - return null; - } - }, - onSourceModifyAtkPriority: 6, - onSourceModifyAtk(atk, attacker, defender, move) { - if (move.type === 'Flying' || move.type === 'Bug') { - this.debug('Leaf Guard weaken'); - return this.chainModify(0.5); - } - }, - onSourceModifySpAPriority: 5, - onSourceModifySpA(atk, attacker, defender, move) { - if (move.type === 'Flying' || move.type === 'Bug') { - this.debug('Leaf Guard weaken'); - return this.chainModify(0.5); - } - }, - onModifySpe(spe, pokemon) { - if (['sunnyday', 'desolateland'].includes(pokemon.effectiveWeather())) { - return this.chainModify(2); - } - }, - isPermanent: true, - name: "Power of Alchemy (Leafeon)", - rating: 5, - }, - powerofalchemyglaceon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onStart(source) { - this.field.setWeather('hail'); - }, - onImmunity(type, pokemon) { - if (type === 'hail') return false; - }, - onBasePowerPriority: 21, - onBasePower(basePower, attacker, defender, move) { - if (this.field.isWeather('hail')) { - if (move.type === 'Ice' || move.type === 'Water' || move.type === 'Fairy') { - this.debug('Snow Cloak boost'); - return this.chainModify([0x14CD, 0x1000]); - } - } - }, - isPermanent: true, - name: "Power of Alchemy (Glaceon)", - rating: 5, - }, - powerofalchemysylveon: { - shortDesc: "All of this Pokemon's abilities are active at once.", - onPreStart(pokemon) { - this.add('-ability', pokemon, 'Power of Alchemy'); - }, - onCheckShow(pokemon) { - // This is complicated - // For the most part, in-game, it's obvious whether or not Natural Cure activated, - // since you can see how many of your opponent's pokemon are statused. - // The only ambiguous situation happens in Doubles/Triples, where multiple pokemon - // that could have Natural Cure switch out, but only some of them get cured. - if (pokemon.side.active.length === 1) return; - if (pokemon.showCure === true || pokemon.showCure === false) return; - - const cureList = []; - let noCureCount = 0; - for (const curPoke of pokemon.side.active) { - // pokemon not statused - if (!curPoke || !curPoke.status) { - // this.add('-message', "" + curPoke + " skipped: not statused or doesn't exist"); - continue; - } - if (curPoke.showCure) { - // this.add('-message', "" + curPoke + " skipped: Natural Cure already known"); - continue; - } - const species = curPoke.species; - // pokemon can't get Natural Cure - if (!Object.values(species.abilities).includes('Natural Cure')) { - // this.add('-message', "" + curPoke + " skipped: no Natural Cure"); - continue; - } - // pokemon's ability is known to be Natural Cure - if (!species.abilities['1'] && !species.abilities['H']) { - // this.add('-message', "" + curPoke + " skipped: only one ability"); - continue; - } - // pokemon isn't switching this turn - if (curPoke !== pokemon && !this.queue.willSwitch(curPoke)) { - // this.add('-message', "" + curPoke + " skipped: not switching"); - continue; - } - - if (curPoke.hasAbility('naturalcure')) { - // this.add('-message', "" + curPoke + " confirmed: could be Natural Cure (and is)"); - cureList.push(curPoke); - } else { - // this.add('-message', "" + curPoke + " confirmed: could be Natural Cure (but isn't)"); - noCureCount++; - } - } - - if (!cureList.length || !noCureCount) { - // It's possible to know what pokemon were cured - for (const pkmn of cureList) { - pkmn.showCure = true; - } - } else { - // It's not possible to know what pokemon were cured - - // Unlike a -hint, this is real information that battlers need, so we use a -message - this.add('-message', "(" + cureList.length + " of " + pokemon.side.name + "'s pokemon " + (cureList.length === 1 ? "was" : "were") + " cured by Natural Cure.)"); - - for (const pkmn of cureList) { - pkmn.showCure = false; - } - } - }, - onSwitchOut(pokemon) { - if (!pokemon.status) return; - - // if pokemon.showCure is undefined, it was skipped because its ability - // is known - if (pokemon.showCure === undefined) pokemon.showCure = true; - - if (pokemon.showCure) this.add('-curestatus', pokemon, pokemon.status, '[from] ability: Natural Cure'); - pokemon.setStatus(''); - - // only reset .showCure if it's false - // (once you know a Pokemon has Natural Cure, its cures are always known) - if (!pokemon.showCure) pokemon.showCure = undefined; - }, - onModifyTypePriority: -1, - onModifyType(move, pokemon) { - const noModifyType = [ - 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'technoblast', 'terrainpulse', 'weatherball', - ]; - if (move.type === 'Normal' && !noModifyType.includes(move.id) && !(move.isZ && move.category !== 'Status')) { - move.type = 'Fairy'; - move.typeChangerBoosted = this.effect; - } - }, - onBasePowerPriority: 23, - onBasePower(basePower, pokemon, target, move) { - if (move.typeChangerBoosted === this.effect) return this.chainModify([0x1333, 0x1000]); - }, - isPermanent: true, - name: "Power of Alchemy (Sylveon)", - rating: 5, - }, - // Counterfeit Stuff, never ask me for anything ever again - lifeorb: { - onModifyDamage(damage, source, target, move) { - return this.chainModify(1.3); - }, - onAfterMoveSecondarySelf(source, target, move) { - if (source && source !== target && move && move.category !== 'Status') { - this.add('-ability', source, 'Life Orb'); - this.damage(source.baseMaxhp / 10, source, source); - } - }, - name: "Life Orb", - }, - assaultvest: { - onModifySpDPriority: 1, - onModifySpD(spd) { - return this.chainModify(1.5); - }, - onDisableMove(pokemon) { - for (const moveSlot of pokemon.moveSlots) { - if (this.dex.moves.get(moveSlot.move).category === 'Status') { - pokemon.disableMove(moveSlot.id); - } - } - }, - name: "Assault Vest", - }, - choiceband: { - onStart(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - onBeforeMove(pokemon, target, move) { - if (move.isZOrMaxPowered || move.id === 'struggle') return; - if (pokemon.abilityState.choiceLock && pokemon.abilityState.choiceLock !== move.id) { - // Fails unless ability is being ignored (these events will not run), no PP lost. - this.addMove('move', pokemon, move.name); - this.attrLastMove('[still]'); - this.debug("Disabled by Choice Band"); - this.add('-fail', pokemon); - return false; - } - }, - onModifyMove(move, pokemon) { - if (pokemon.abilityState.choiceLock || move.isZOrMaxPowered || move.id === 'struggle') return; - pokemon.abilityState.choiceLock = move.id; - }, - onModifyAtkPriority: 1, - onModifyAtk(atk, pokemon) { - if (pokemon.volatiles['dynamax']) return; - // PLACEHOLDER - this.debug('Choice Band Atk Boost'); - return this.chainModify(1.5); - }, - onDisableMove(pokemon) { - if (!pokemon.abilityState.choiceLock) return; - if (pokemon.volatiles['dynamax']) return; - for (const moveSlot of pokemon.moveSlots) { - if (moveSlot.id !== pokemon.abilityState.choiceLock) { - pokemon.disableMove(moveSlot.id, false, this.effectState.sourceEffect); - } - } - }, - onEnd(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - name: "Choice Band", - }, - choicespecs: { - name: "Choice Specs", - shortDesc: "This Pokemon's Sp. Atk is 1.5x, but it can only select the first move it executes.", - onStart(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - onBeforeMove(pokemon, target, move) { - if (move.isZOrMaxPowered || move.id === 'struggle') return; - if (pokemon.abilityState.choiceLock && pokemon.abilityState.choiceLock !== move.id) { - // Fails unless ability is being ignored (these events will not run), no PP lost. - this.addMove('move', pokemon, move.name); - this.attrLastMove('[still]'); - this.debug("Disabled by Choice Specs"); - this.add('-fail', pokemon); - return false; - } - }, - onModifyMove(move, pokemon) { - if (pokemon.abilityState.choiceLock || move.isZOrMaxPowered || move.id === 'struggle') return; - pokemon.abilityState.choiceLock = move.id; - }, - onModifySpAPriority: 5, - onModifySpA(atk, pokemon, move) { - if (pokemon.volatiles['dynamax']) return; - // PLACEHOLDER - this.debug('Choice Specs Sp. Atk Boost'); - return this.chainModify(1.5); - }, - onDisableMove(pokemon) { - if (!pokemon.abilityState.choiceLock) return; - if (pokemon.volatiles['dynamax']) return; - for (const moveSlot of pokemon.moveSlots) { - if (moveSlot.id !== pokemon.abilityState.choiceLock) { - pokemon.disableMove(moveSlot.id, false, this.effectState.sourceEffect); - } - } - }, - onEnd(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - }, - choicescarf: { - onStart(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - onBeforeMove(pokemon, target, move) { - if (move.isZOrMaxPowered || move.id === 'struggle') return; - if (pokemon.abilityState.choiceLock && pokemon.abilityState.choiceLock !== move.id) { - // Fails unless ability is being ignored (these events will not run), no PP lost. - this.addMove('move', pokemon, move.name); - this.attrLastMove('[still]'); - this.debug("Disabled by Choice Scarf"); - this.add('-fail', pokemon); - return false; - } - }, - onModifyMove(move, pokemon) { - if (pokemon.abilityState.choiceLock || move.isZOrMaxPowered || move.id === 'struggle') return; - pokemon.abilityState.choiceLock = move.id; - }, - onModifySpe(spe, pokemon) { - if (pokemon.volatiles['dynamax']) return; - // PLACEHOLDER - this.debug('Choice Scarf Spe Boost'); - return this.chainModify(1.5); - }, - onDisableMove(pokemon) { - if (!pokemon.abilityState.choiceLock) return; - if (pokemon.volatiles['dynamax']) return; - for (const moveSlot of pokemon.moveSlots) { - if (moveSlot.id !== pokemon.abilityState.choiceLock) { - pokemon.disableMove(moveSlot.id, false, this.effectState.sourceEffect); - } - } - }, - onEnd(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - name: "Choice Scarf", - }, - eviolite: { - onModifyDefPriority: 2, - onModifyDef(def, pokemon) { - if (pokemon.baseSpecies.nfe) { - return this.chainModify(1.5); - } - }, - onModifySpDPriority: 2, - onModifySpD(spd, pokemon) { - if (pokemon.baseSpecies.nfe) { - return this.chainModify(1.5); - } - }, - name: "Eviolite", - }, - eviolith: { - onModifyAtkPriority: 2, - onModifyAtk(atk, pokemon) { - if (pokemon.baseSpecies.nfe) { - return this.chainModify(1.5); - } - }, - onModifySpAPriority: 2, - onModifySpA(spa, pokemon) { - if (pokemon.baseSpecies.nfe) { - return this.chainModify(1.5); - } - }, - name: "Eviolith", - }, - momentumarmor: { - onModifyAtkPriority: 1, - onModifyAtk(atk, pokemon) { - const def = pokemon.getStat('def', false, true); - const newAtk = atk + (def / 4); - return newAtk; - }, - name: "Momentum Armor", - }, - shellbell: { - onAfterMoveSecondarySelfPriority: -1, - onAfterMoveSecondarySelf(pokemon, target, move) { - if (move.category !== 'Status') { - this.heal(pokemon.baseMaxhp / 8); - } - }, - name: "Shell Bell", - }, - cursedbelt: { - onAfterMoveSecondarySelf(target, source, move) { - if (move.category === 'Status') { - target.addVolatile('disable'); - } - }, - onModifyDamage(damage, source, target, move) { - if (source.volatiles['disable']) { - return this.chainModify(1.2); - } - }, - name: "Cursed Belt", - }, - focussash: { - onStart(pokemon) { - pokemon.addVolatile('focussash'); - }, - condition: { - onDamagePriority: -100, - onDamage(damage, target, source, effect) { - if (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') { - this.add('-ability', target, 'Focus Sash'); - target.removeVolatile('focussash'); - return target.hp - 1; - } - }, - }, - name: "Focus Sash", - }, - leftovers: { - onResidualOrder: 5, - onResidualSubOrder: 5, - onResidual(pokemon) { - this.heal(pokemon.baseMaxhp / 16); - }, - name: "Leftovers", - }, - rockyhelmet: { - onDamagingHitOrder: 2, - onDamagingHit(damage, target, source, move) { - if (move.flags['contact']) { - this.damage(source.baseMaxhp / 6, source, target); - } - }, - name: "Rocky Helmet", - }, - blacksludge: { - onResidualOrder: 5, - onResidualSubOrder: 5, - onResidual(pokemon) { - if (pokemon.hasType('Poison')) { - this.heal(pokemon.baseMaxhp / 16); - } else { - this.damage(pokemon.baseMaxhp / 8); - } - }, - name: "Black Sludge", - }, - reapercloth: { - onResidualOrder: 5, - onResidualSubOrder: 5, - onResidual(pokemon) { - if (pokemon.hasType('Ghost')) { - this.heal(pokemon.baseMaxhp / 16); - } - }, - onDisableMove(pokemon) { - if (!pokemon.hasType('Ghost') && pokemon.lastMove && pokemon.lastMove.id !== 'struggle') { - pokemon.disableMove(pokemon.lastMove.id); - } - }, - name: "Reaper Cloth", - }, - flameorb: { - onResidualOrder: 26, - onResidualSubOrder: 2, - onResidual(pokemon) { - pokemon.trySetStatus('brn', pokemon); - }, - name: "Flame Orb", - }, - toxicorb: { - onResidualOrder: 26, - onResidualSubOrder: 2, - onResidual(pokemon) { - pokemon.trySetStatus('tox', pokemon); - }, - name: "Toxic Orb", - }, - widelens: { - onSourceModifyAccuracyPriority: 4, - onSourceModifyAccuracy(accuracy) { - if (typeof accuracy === 'number') { - return accuracy * 1.2; - } - }, - name: "Wide Lens", - }, - zoomlens: { - onSourceModifyAccuracyPriority: 4, - onSourceModifyAccuracy(accuracy, target) { - if (typeof accuracy === 'number' && (!this.queue.willMove(target) || target.newlySwitched)) { - this.debug('Zoom Lens boosting accuracy'); - return accuracy * 1.5; - } - }, - name: "Zoom Lens", - }, - protector: { - onSourceModifyDamage(damage, source, target, move) { - if (target.getMoveHitData(move).typeMod > 0) { - this.debug('Protector neutralize'); - return this.chainModify(0.75); - } - }, - name: "Protector", - }, - quickclaw: { - onFractionalPriorityPriority: -2, - onFractionalPriority(priority, pokemon) { - if (priority <= 0 && this.randomChance(1, 5)) { - this.add('-activate', pokemon, 'ability: Quick Claw'); - return 0.1; - } - }, - name: "Quick Claw", - }, - shedshell: { - onTrapPokemonPriority: -10, - onTrapPokemon(pokemon) { - pokemon.trapped = pokemon.maybeTrapped = false; - }, - name: "Shed Shell", - }, - scopelens: { - onModifyCritRatio(critRatio) { - return critRatio + 1; - }, - name: "Scope Lens", - }, - razorclaw: { - onModifyCritRatio(critRatio) { - return critRatio + 1; - }, - name: "Razor Claw", - }, - whippeddream: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fairy') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Whipped Dream", - }, - pixieplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fairy') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Pixie Plate", - }, - blackbelt: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fighting') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Black Belt", - }, - blackglasses: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Dark') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Black Glasses", - }, - charcoal: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fire') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Charcoal", - }, - dragonfang: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Dragon') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Dragon Fang", - }, - hardstone: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Rock') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Hard Stone", - }, - magnet: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Electric') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Magnet", - }, - metalcoat: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Steel') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Metal Coat", - }, - miracleseed: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Grass') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Miracle Seed", - }, - mysticwater: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Water') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Mystic Water", - }, - nevermeltice: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Ice') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Never-Melt Ice", - }, - poisonbarb: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Poison') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Poison Barb", - }, - sharpbeak: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Flying') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Sharp Beak", - }, - silkscarf: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Normal') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Silk Scarf", - }, - softsand: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Ground') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Soft Sand", - }, - spelltag: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Ghost') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Spell Tag", - }, - twistedspoon: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Psychic') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Twisted Spoon", - }, - silverpowder: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Bug') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Silver Powder", - }, - protectivepads: { - onModifyMove(move) { - delete move.flags['contact']; - }, - name: "Protective Pads", - }, - safetygoggles: { - onImmunity(type, pokemon) { - if (type === 'sandstorm' || type === 'hail' || type === 'powder') return false; - }, - onTryHit(pokemon, source, move) { - if (move.flags['powder'] && pokemon !== source && this.dex.getImmunity('powder', pokemon)) { - this.add('-activate', pokemon, 'ability: Safety Goggles', move.name); - return null; - } - }, - name: "Safety Goggles", - }, - bigroot: { - onTryHealPriority: 1, - onTryHeal(damage, target, source, effect) { - const heals = ['drain', 'leechseed', 'ingrain', 'aquaring', 'strengthsap']; - if (heals.includes(effect.id)) { - return this.chainModify([0x14CC, 0x1000]); - } - }, - name: "Big Root", - }, - utilityumbrella: { - onImmunity(type, pokemon) { - if (type === 'sandstorm' || type === 'hail') return false; - }, - onWeather(target, source, effect) { - if (this.field.isWeather(['sunnyday', 'desolateland', 'hail', 'raindance', 'primordialsea', 'sandstorm'])) { - this.heal(target.baseMaxhp / 12); - } - }, - name: "Utility Umbrella", - }, - soulblade: { - onModifyDamage(damage, source, target, move) { - return this.chainModify([0x1199, 0x1000]); - }, - name: "Soul Blade", - }, - fistplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fighting') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Fist Plate", - }, - dreadplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Dark') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Dread Plate", - }, - flameplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fire') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Flame Plate", - }, - dracoplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Dragon') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Draco Plate", - }, - stoneplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Rock') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Stone Plate", - }, - rockincense: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Rock') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Rock Incense", - }, - zapplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Electric') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Zap Plate", - }, - ironplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Steel') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Iron Plate", - }, - meadowplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Grass') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Meadow Plate", - }, - roseincense: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Grass') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Rose Incense", - }, - splashplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Water') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Splash Plate", - }, - seaincense: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Water') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Sea Incense", - }, - waveincense: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Water') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Wave Incense", - }, - icicleplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Ice') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Icicle Plate", - }, - toxicplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Poison') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Toxic Plate", - }, - skyplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Flying') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Sky Plate", - }, - earthplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Ground') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Earth Plate", - }, - spookyplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Ghost') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Spooky Plate", - }, - mindplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Psychic') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Mind Plate", - }, - oddincense: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Psychic') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Odd Incense", - }, - insectplate: { - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Bug') { - return this.chainModify([0x1333, 0x1000]); - } - }, - name: "Insect Plate", - }, - fullincense: { - onFractionalPriority: -0.1, - name: "Full Incense", - }, - laggingtail: { - onFractionalPriority: -0.1, - name: "Lagging Tail", - }, - muscleband: { - onBasePowerPriority: 16, - onBasePower(basePower, user, target, move) { - if (move.category === 'Physical') { - return this.chainModify([0x1199, 0x1000]); - } - }, - name: "Muscle Band", - }, - wiseglasses: { - onBasePowerPriority: 16, - onBasePower(basePower, user, target, move) { - if (move.category === 'Special') { - return this.chainModify([0x1199, 0x1000]); - } - }, - name: "Wise Glasses", - }, - focusband: { - onDamage(damage, target, source, effect) { - if (this.randomChance(1, 10) && damage >= target.hp && effect && effect.effectType === 'Move') { - this.add("-activate", target, "ability: Focus Band"); - return target.hp - 1; - } - }, - name: "Focus Band", - }, - metronome: { - onStart(pokemon) { - pokemon.addVolatile('metronome'); - }, - condition: { - onStart(pokemon) { - this.effectState.lastMove = ''; - this.effectState.numConsecutive = 0; - }, - onTryMovePriority: -2, - onTryMove(pokemon, target, move) { - if (!pokemon.hasItem('metronome')) { - pokemon.removeVolatile('metronome'); - return; - } - if (this.effectState.lastMove === move.id && pokemon.moveLastTurnResult) { - this.effectState.numConsecutive++; - } else if (pokemon.volatiles['twoturnmove'] && this.effectState.lastMove !== move.id) { - this.effectState.numConsecutive = 1; - } else { - this.effectState.numConsecutive = 0; - } - this.effectState.lastMove = move.id; - }, - onModifyDamage(damage, source, target, move) { - const dmgMod = [0x1000, 0x1333, 0x1666, 0x1999, 0x1CCC, 0x2000]; - const numConsecutive = this.effectState.numConsecutive > 5 ? 5 : this.effectState.numConsecutive; - return this.chainModify([dmgMod[numConsecutive], 0x1000]); - }, - }, - name: "Metronome", - }, -}; diff --git a/data/mods/gen8joltemons/conditions.ts b/data/mods/gen8joltemons/conditions.ts deleted file mode 100644 index 88c882a7e73c..000000000000 --- a/data/mods/gen8joltemons/conditions.ts +++ /dev/null @@ -1,174 +0,0 @@ -export const Conditions: {[k: string]: ConditionData} = { - silvally: { - name: 'Silvally', - onTypePriority: 1, - onType(types, pokemon) { - if (pokemon.transformed || - !(pokemon.ability === 'rkssystem' || pokemon.ability === 'powerofalchemysilvally') && this.gen >= 8) { - return types; - } - let type: string | undefined = 'Normal'; - if (pokemon.ability === 'rkssystem' || pokemon.ability === 'powerofalchemysilvally') { - type = pokemon.getItem().onMemory; - if (!type) { - type = 'Normal'; - } - } - return [type]; - }, - }, - raindance: { - name: 'RainDance', - effectType: 'Weather', - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('damprock')) { - return 8; - } - return 5; - }, - onWeatherModifyDamage(damage, attacker, defender, move) { - if (defender.hasItem('utilityumbrella') || attacker.hasItem('utilityumbrella') || - defender.hasAbility('utilityumbrella') || attacker.hasAbility('utilityumbrella')) return; - if (move.type === 'Water') { - this.debug('rain water boost'); - return this.chainModify(1.5); - } - if (move.type === 'Fire') { - this.debug('rain fire suppress'); - return this.chainModify(0.5); - } - }, - onStart(battle, source, effect) { - if (effect?.effectType === 'Ability') { - if (this.gen <= 5) this.effectState.duration = 0; - this.add('-weather', 'RainDance', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-weather', 'RainDance'); - } - }, - onResidualOrder: 1, - onResidual() { - this.add('-weather', 'RainDance', '[upkeep]'); - this.eachEvent('Weather'); - }, - onEnd() { - this.add('-weather', 'none'); - }, - }, - primordialsea: { - name: 'PrimordialSea', - effectType: 'Weather', - duration: 0, - onTryMovePriority: 1, - onTryMove(attacker, defender, move) { - if (move.type === 'Fire' && move.category !== 'Status' && - !attacker.hasItem('utilityumbrella') && !attacker.hasAbility('utilityumbrella')) { - this.debug('Primordial Sea fire suppress'); - this.add('-fail', attacker, move, '[from] Primordial Sea'); - this.attrLastMove('[still]'); - return null; - } - }, - onWeatherModifyDamage(damage, attacker, defender, move) { - if (defender.hasItem('utilityumbrella') || attacker.hasItem('utilityumbrella') || - defender.hasAbility('utilityumbrella') || attacker.hasAbility('utilityumbrella')) return; - if (move.type === 'Water') { - this.debug('Rain water boost'); - return this.chainModify(1.5); - } - }, - onStart(battle, source, effect) { - this.add('-weather', 'PrimordialSea', '[from] ability: ' + effect, '[of] ' + source); - }, - onResidualOrder: 1, - onResidual() { - this.add('-weather', 'PrimordialSea', '[upkeep]'); - this.eachEvent('Weather'); - }, - onEnd() { - this.add('-weather', 'none'); - }, - }, - sunnyday: { - name: 'SunnyDay', - effectType: 'Weather', - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('heatrock')) { - return 8; - } - return 5; - }, - onWeatherModifyDamage(damage, attacker, defender, move) { - if (defender.hasItem('utilityumbrella') || attacker.hasItem('utilityumbrella') || - defender.hasAbility('utilityumbrella') || attacker.hasAbility('utilityumbrella')) return; - if (move.type === 'Fire') { - this.debug('Sunny Day fire boost'); - return this.chainModify(1.5); - } - if (move.type === 'Water' && !attacker.hasAbility('vaporcontrol')) { - this.debug('Sunny Day water suppress'); - return this.chainModify(0.5); - } - }, - onStart(battle, source, effect) { - if (effect?.effectType === 'Ability') { - if (this.gen <= 5) this.effectState.duration = 0; - this.add('-weather', 'SunnyDay', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-weather', 'SunnyDay'); - } - }, - onImmunity(type, pokemon) { - if (pokemon.hasItem('utilityumbrella')) return; - if (type === 'frz') return false; - }, - onResidualOrder: 1, - onResidual() { - this.add('-weather', 'SunnyDay', '[upkeep]'); - this.eachEvent('Weather'); - }, - onEnd() { - this.add('-weather', 'none'); - }, - }, - desolateland: { - name: 'DesolateLand', - effectType: 'Weather', - duration: 0, - onTryMovePriority: 1, - onTryMove(attacker, defender, move) { - if (move.type === 'Water' && move.category !== 'Status' && - !attacker.hasItem('utilityumbrella') && !attacker.hasAbility('utilityumbrella')) { - this.debug('Desolate Land water suppress'); - this.add('-fail', attacker, move, '[from] Desolate Land'); - this.attrLastMove('[still]'); - return null; - } - }, - onWeatherModifyDamage(damage, attacker, defender, move) { - if (defender.hasItem('utilityumbrella') || attacker.hasItem('utilityumbrella') || - defender.hasAbility('utilityumbrella') || attacker.hasAbility('utilityumbrella')) return; - if (move.type === 'Fire') { - this.debug('Sunny Day fire boost'); - return this.chainModify(1.5); - } - }, - onStart(battle, source, effect) { - this.add('-weather', 'DesolateLand', '[from] ability: ' + effect, '[of] ' + source); - }, - onImmunity(type, pokemon) { - if (pokemon.hasItem('utilityumbrella') || pokemon.hasAbility('utilityumbrella')) return; - if (type === 'frz') return false; - }, - onResidualOrder: 1, - onResidual() { - this.add('-weather', 'DesolateLand', '[upkeep]'); - this.eachEvent('Weather'); - }, - onEnd() { - this.add('-weather', 'none'); - }, - }, -}; diff --git a/data/mods/gen8joltemons/formats-data.ts b/data/mods/gen8joltemons/formats-data.ts deleted file mode 100644 index ee7b23c0df47..000000000000 --- a/data/mods/gen8joltemons/formats-data.ts +++ /dev/null @@ -1,2694 +0,0 @@ -export const FormatsData: {[k: string]: SpeciesFormatsData} = { - alakazammega: { - tier: "OU", - doublesTier: "DOU", - }, - arceus: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusbug: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusdragon: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusdark: { - tier: "Uber", - doublesTier: "DOU", - }, - arceuselectric: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusfairy: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusfire: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusfighting: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusflying: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusground: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusgrass: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusghost: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusice: { - tier: "Uber", - doublesTier: "DOU", - }, - arceuspsychic: { - tier: "Uber", - doublesTier: "DOU", - }, - arceusrock: { - tier: "Uber", - doublesTier: "DOU", - }, - arceuspoison: { - tier: "Uber", - doublesTier: "DOU", - }, - arceuswater: { - tier: "Uber", - doublesTier: "DOU", - }, - arceussteel: { - tier: "Uber", - doublesTier: "DOU", - }, - blastoisemega: { - tier: "Uber", - doublesTier: "DOU", - }, - blazikenmega: { - tier: "Uber", - doublesTier: "DOU", - }, - calyrexice: { - tier: "Uber", - doublesTier: "DOU", - }, - calyrexshadow: { - tier: "Uber", - doublesTier: "DOU", - }, - cinderace: { - tier: "UU", - doublesTier: "DOU", - }, - darkrai: { - tier: "Uber", - doublesTier: "DOU", - }, - darmanitangalar: { - tier: "UU", - doublesTier: "DOU", - }, - deoxysattack: { - tier: "Uber", - doublesTier: "DOU", - }, - deoxys: { - tier: "Uber", - doublesTier: "DOU", - }, - deoxysspeed: { - tier: "Uber", - doublesTier: "DOU", - }, - dialga: { - tier: "Uber", - doublesTier: "DOU", - }, - dracovish: { - tier: "Uber", - doublesTier: "DOU", - }, - dragapult: { - tier: "OU", - doublesTier: "DOU", - }, - eternatus: { - tier: "Uber", - doublesTier: "DOU", - }, - genesect: { - tier: "Uber", - doublesTier: "DOU", - }, - gengarmega: { - tier: "Uber", - doublesTier: "DOU", - }, - giratina: { - tier: "Uber", - doublesTier: "DOU", - }, - giratinaorigin: { - tier: "Uber", - doublesTier: "DOU", - }, - groudon: { - tier: "Uber", - doublesTier: "DOU", - }, - hooh: { - tier: "Uber", - doublesTier: "DOU", - }, - kangaskhanmega: { - tier: "UU", - doublesTier: "DOU", - }, - kyogre: { - tier: "Uber", - doublesTier: "DOU", - }, - kyuremblack: { - tier: "Uber", - doublesTier: "DOU", - }, - kyuremwhite: { - tier: "Uber", - doublesTier: "DOU", - }, - landorus: { - tier: "Uber", - doublesTier: "DOU", - }, - lucariomega: { - tier: "UUBL", - doublesTier: "DOU", - }, - lugia: { - tier: "Uber", - doublesTier: "DOU", - }, - lunala: { - tier: "Uber", - doublesTier: "DOU", - }, - magearna: { - tier: "Uber", - doublesTier: "DOU", - }, - marshadow: { - tier: "Uber", - doublesTier: "DOU", - }, - metagrossmega: { - tier: "Uber", - doublesTier: "DOU", - }, - mewtwo: { - tier: "Uber", - doublesTier: "DOU", - }, - naganadel: { - tier: "Uber", - doublesTier: "DOU", - }, - mewtwomegax: { - tier: "Uber", - doublesTier: "DOU", - }, - mewtwomegay: { - tier: "Uber", - doublesTier: "DOU", - }, - necrozmadawnwings: { - tier: "Uber", - doublesTier: "DOU", - }, - necrozmaduskmane: { - tier: "Uber", - doublesTier: "DOU", - }, - necrozmaultra: { - tier: "Uber", - doublesTier: "DOU", - }, - palkia: { - tier: "Uber", - doublesTier: "DOU", - }, - pheromosa: { - tier: "Uber", - doublesTier: "DOU", - }, - rayquaza: { - tier: "Uber", - doublesTier: "DOU", - }, - rayquazamega: { - tier: "AG", - doublesTier: "DOU", - }, - reshiram: { - tier: "Uber", - doublesTier: "DOU", - }, - salamencemega: { - tier: "Uber", - doublesTier: "DOU", - }, - shayminsky: { - tier: "UU", - doublesTier: "DOU", - }, - solgaleo: { - tier: "Uber", - doublesTier: "DOU", - }, - spectrier: { - tier: "Uber", - doublesTier: "DOU", - }, - tornadustherian: { - tier: "OU", - doublesTier: "DOU", - }, - urshifu: { - tier: "Uber", - doublesTier: "DOU", - }, - xerneas: { - tier: "Uber", - doublesTier: "DOU", - }, - yveltal: { - tier: "Uber", - doublesTier: "DOU", - }, - zacian: { - tier: "AG", - doublesTier: "DOU", - }, - zaciancrowned: { - tier: "AG", - doublesTier: "DOU", - }, - zamazenta: { - tier: "Uber", - doublesTier: "DOU", - }, - zamazentacrowned: { - tier: "Uber", - doublesTier: "DOU", - }, - zekrom: { - tier: "Uber", - doublesTier: "DOU", - }, - zygarde: { - tier: "Uber", - doublesTier: "DOU", - }, - zygardecomplete: { - tier: "Uber", - doublesTier: "DOU", - }, - genesectburn: { - tier: "Uber", - doublesTier: "DOU", - }, - genesectshock: { - tier: "Uber", - doublesTier: "DOU", - }, - genesectchill: { - tier: "Uber", - doublesTier: "DOU", - }, - genesectdouse: { - tier: "Uber", - doublesTier: "DOU", - }, - groudonprimal: { - tier: "Uber", - doublesTier: "DOU", - }, - kyogreprimal: { - tier: "Uber", - doublesTier: "DOU", - }, - darmanitangalarzen: { - tier: "OU", - doublesTier: "DOU", - }, - darmanitanzen: { - tier: "UU", - doublesTier: "DOU", - }, - meloettapirouette: { - tier: "UU", - doublesTier: "DOU", - }, - blissey: { - tier: "OU", - doublesTier: "DOU", - }, - chansey: { - tier: "UU", - doublesTier: "DOU", - }, - charizardmegax: { - tier: "UUBL", - doublesTier: "DOU", - }, - charizardmegay: { - tier: "UUBL", - doublesTier: "DOU", - }, - clefable: { - tier: "OU", - doublesTier: "DOU", - }, - corviknight: { - tier: "OU", - doublesTier: "DOU", - }, - excadrill: { - tier: "UU", - doublesTier: "DOU", - }, - ferrothorn: { - tier: "OU", - doublesTier: "DOU", - }, - garchompmega: { - tier: "OU", - doublesTier: "DOU", - }, - garchomp: { - tier: "OU", - doublesTier: "DOU", - }, - gliscor: { - tier: "OU", - doublesTier: "DOU", - }, - greninja: { - tier: "UU", - doublesTier: "DOU", - }, - greninjabond: { - tier: "OU", - doublesTier: "DOU", - }, - heatran: { - tier: "OU", - doublesTier: "DOU", - }, - kartana: { - tier: "OU", - doublesTier: "DOU", - }, - kommoo: { - tier: "UU", - doublesTier: "DOU", - }, - kyurem: { - tier: "OU", - doublesTier: "DOU", - }, - landorustherian: { - tier: "OU", - doublesTier: "DOU", - }, - lopunnymega: { - tier: "OU", - doublesTier: "DOU", - }, - magnezone: { - tier: "OU", - doublesTier: "DOU", - }, - mawilemega: { - tier: "OU", - doublesTier: "DOU", - }, - pelipper: { - tier: "OU", - doublesTier: "DOU", - }, - rillaboom: { - tier: "UU", - doublesTier: "DOU", - }, - scizormega: { - tier: "OU", - doublesTier: "DOU", - }, - serperior: { - tier: "OU", - doublesTier: "DOU", - }, - slowbro: { - tier: "OU", - doublesTier: "DOU", - }, - swampertmega: { - tier: "OU", - doublesTier: "DOU", - }, - tapufini: { - tier: "OU", - doublesTier: "DOU", - }, - tapukoko: { - tier: "OU", - doublesTier: "DOU", - }, - tapulele: { - tier: "OU", - doublesTier: "DOU", - }, - toxapex: { - tier: "OU", - doublesTier: "DOU", - }, - tyranitar: { - tier: "UU", - doublesTier: "DOU", - }, - tyranitarmega: { - tier: "UUBL", - doublesTier: "DOU", - }, - victini: { - tier: "OU", - doublesTier: "DOU", - }, - volcarona: { - tier: "OU", - doublesTier: "DOU", - }, - weavile: { - tier: "OU", - doublesTier: "DOU", - }, - zapdos: { - tier: "OU", - doublesTier: "DOU", - }, - silvally: { - tier: "RU", - doublesTier: "DOU", - }, - silvallybug: { - tier: "RU", - doublesTier: "DOU", - }, - silvallydragon: { - tier: "RU", - doublesTier: "DOU", - }, - silvallydark: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyelectric: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyfairy: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyfire: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyfighting: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyflying: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyground: { - tier: "RU", - doublesTier: "DOU", - }, - silvallygrass: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyghost: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyice: { - tier: "RU", - doublesTier: "DOU", - }, - silvallypsychic: { - tier: "RU", - doublesTier: "DOU", - }, - silvallyrock: { - tier: "RU", - doublesTier: "DOU", - }, - silvallypoison: { - tier: "RU", - doublesTier: "DOU", - }, - silvallywater: { - tier: "RU", - doublesTier: "DOU", - }, - silvallysteel: { - tier: "RU", - doublesTier: "DOU", - }, - aerodactylmega: { - tier: "UUBL", - doublesTier: "DOU", - }, - alakazam: { - tier: "UU", - doublesTier: "DOU", - }, - blacephalon: { - tier: "OU", - doublesTier: "DOU", - }, - blaziken: { - tier: "UUBL", - doublesTier: "DOU", - }, - dianciemega: { - tier: "UUBL", - doublesTier: "DOU", - }, - gallademega: { - tier: "OU", - doublesTier: "DOU", - }, - gardevoirmega: { - tier: "UUBL", - doublesTier: "DOU", - }, - gengar: { - tier: "UUBL", - doublesTier: "DOU", - }, - gyarados: { - tier: "UU", - doublesTier: "DOU", - }, - gyaradosmega: { - tier: "OU", - doublesTier: "DOU", - }, - hawlucha: { - tier: "UUBL", - doublesTier: "DOU", - }, - heracrossmega: { - tier: "UUBL", - doublesTier: "DOU", - }, - hoopaunbound: { - tier: "UUBL", - doublesTier: "DOU", - }, - hydreigon: { - tier: "UUBL", - doublesTier: "DOU", - }, - jirachi: { - tier: "UU", - doublesTier: "DOU", - }, - latias: { - tier: "UU", - doublesTier: "DOU", - }, - latiasmega: { - tier: "OU", - doublesTier: "DOU", - }, - latios: { - tier: "UUBL", - doublesTier: "DOU", - }, - latiosmega: { - tier: "UUBL", - doublesTier: "DOU", - }, - manaphy: { - tier: "OU", - doublesTier: "DOU", - }, - medichammega: { - tier: "OU", - doublesTier: "DOU", - }, - melmetal: { - tier: "OU", - doublesTier: "DOU", - }, - mew: { - tier: "UU", - doublesTier: "DOU", - }, - moltresgalar: { - tier: "OU", - doublesTier: "DOU", - }, - pinsirmega: { - tier: "UUBL", - doublesTier: "DOU", - }, - sableye: { - tier: "RU", - doublesTier: "DOU", - }, - slowbromega: { - tier: "OU", - doublesTier: "DOU", - }, - slowkinggalar: { - tier: "OU", - doublesTier: "DOU", - }, - thundurus: { - tier: "UU", - doublesTier: "DOU", - }, - thundurustherian: { - tier: "UU", - doublesTier: "DOU", - }, - venusaurmega: { - tier: "UUBL", - doublesTier: "DOU", - }, - xurkitree: { - tier: "UU", - doublesTier: "DOU", - }, - zapdosgalar: { - tier: "OU", - doublesTier: "DOU", - }, - aegislash: { - tier: "UU", - doublesTier: "DOU", - }, - altariamega: { - tier: "UU", - doublesTier: "DOU", - }, - amoonguss: { - tier: "UU", - doublesTier: "DOU", - }, - azumarill: { - tier: "UU", - doublesTier: "DOU", - }, - beedrillmega: { - tier: "OU", - doublesTier: "DOU", - }, - breloom: { - tier: "UU", - doublesTier: "DOU", - }, - celesteela: { - tier: "OU", - doublesTier: "DOU", - }, - chandelure: { - tier: "UU", - doublesTier: "DOU", - }, - donphan: { - tier: "RU", - doublesTier: "DOU", - }, - dracozolt: { - tier: "UU", - doublesTier: "DOU", - }, - dragonite: { - tier: "UU", - doublesTier: "DOU", - }, - feraligatr: { - tier: "RU", - doublesTier: "DOU", - }, - gastrodon: { - tier: "UU", - doublesTier: "DOU", - }, - hatterene: { - tier: "UU", - doublesTier: "DOU", - }, - hippowdon: { - tier: "UU", - doublesTier: "DOU", - }, - infernape: { - tier: "UU", - doublesTier: "DOU", - }, - keldeo: { - tier: "UU", - doublesTier: "DOU", - }, - keldeoresolute: { - tier: "UU", - doublesTier: "DOU", - }, - krookodile: { - tier: "UU", - doublesTier: "DOU", - }, - mamoswine: { - tier: "UU", - doublesTier: "DOU", - }, - mandibuzz: { - tier: "UU", - doublesTier: "DOU", - }, - manectricmega: { - tier: "UU", - doublesTier: "DOU", - }, - mienshao: { - tier: "UU", - doublesTier: "DOU", - }, - moltres: { - tier: "RU", - doublesTier: "DOU", - }, - nidoking: { - tier: "OU", - doublesTier: "DOU", - }, - nidoqueen: { - tier: "UU", - doublesTier: "DOU", - }, - nihilego: { - tier: "UU", - doublesTier: "DOU", - }, - quagsire: { - tier: "UU", - doublesTier: "DOU", - }, - regieleki: { - tier: "UU", - doublesTier: "DOU", - }, - ribombee: { - tier: "UU", - doublesTier: "DOU", - }, - rotomheat: { - tier: "UU", - doublesTier: "DOU", - }, - rotomwash: { - tier: "OU", - doublesTier: "DOU", - }, - salamence: { - tier: "UU", - doublesTier: "DOU", - }, - scizor: { - tier: "UU", - doublesTier: "DOU", - }, - skarmory: { - tier: "UU", - doublesTier: "DOU", - }, - slowking: { - tier: "UU", - doublesTier: "DOU", - }, - swampert: { - tier: "UU", - doublesTier: "DOU", - }, - talonflame: { - tier: "RU", - doublesTier: "DOU", - }, - tangrowth: { - tier: "UU", - doublesTier: "DOU", - }, - tornadus: { - tier: "RUBL", - doublesTier: "DOU", - }, - umbreon: { - tier: "RU", - doublesTier: "DOU", - }, - urshifurapidstrike: { - tier: "UU", - doublesTier: "DOU", - }, - abomasnow: { - tier: "RU", - doublesTier: "DOU", - }, - abomasnowmega: { - tier: "RU", - doublesTier: "DOU", - }, - absol: { - tier: "RU", - doublesTier: "DOU", - }, - absolmega: { - tier: "RUBL", - doublesTier: "DOU", - }, - aerodactyl: { - tier: "RU", - doublesTier: "DOU", - }, - accelgor: { - tier: "RU", - doublesTier: "DOU", - }, - aggron: { - tier: "RU", - doublesTier: "DOU", - }, - aggronmega: { - tier: "UU", - doublesTier: "DOU", - }, - alcremie: { - tier: "RU", - doublesTier: "DOU", - }, - alomomola: { - tier: "UU", - doublesTier: "DOU", - }, - altaria: { - tier: "RU", - doublesTier: "DOU", - }, - ambipom: { - tier: "RU", - doublesTier: "DOU", - }, - ampharos: { - tier: "RU", - doublesTier: "DOU", - }, - ampharosmega: { - tier: "UU", - doublesTier: "DOU", - }, - appletun: { - tier: "RU", - doublesTier: "DOU", - }, - araquanid: { - tier: "RU", - doublesTier: "DOU", - }, - arbok: { - tier: "RU", - doublesTier: "DOU", - }, - arcanine: { - tier: "RU", - doublesTier: "DOU", - }, - archeops: { - tier: "UU", - doublesTier: "DOU", - }, - arctovish: { - tier: "RU", - doublesTier: "DOU", - }, - arctozolt: { - tier: "OU", - doublesTier: "DOU", - }, - ariados: { - tier: "RU", - doublesTier: "DOU", - }, - armaldo: { - tier: "RU", - doublesTier: "DOU", - }, - aromatisse: { - tier: "RU", - doublesTier: "DOU", - }, - articuno: { - tier: "RU", - doublesTier: "DOU", - }, - articunogalar: { - tier: "UU", - doublesTier: "DOU", - }, - audino: { - tier: "RU", - doublesTier: "DOU", - }, - audinomega: { - tier: "UU", - doublesTier: "DOU", - }, - aurorus: { - tier: "RU", - doublesTier: "DOU", - }, - avalugg: { - tier: "UU", - doublesTier: "DOU", - }, - azelf: { - tier: "UU", - doublesTier: "DOU", - }, - banette: { - tier: "RU", - doublesTier: "DOU", - }, - banettemega: { - tier: "UU", - doublesTier: "DOU", - }, - barbaracle: { - tier: "RU", - doublesTier: "DOU", - }, - barraskewda: { - tier: "UU", - doublesTier: "DOU", - }, - basculin: { - tier: "RU", - doublesTier: "DOU", - }, - basculinbluestriped: { - tier: "RU", - doublesTier: "DOU", - }, - bastiodon: { - tier: "RU", - doublesTier: "DOU", - }, - beautifly: { - tier: "RU", - doublesTier: "DOU", - }, - beedrill: { - tier: "RU", - doublesTier: "DOU", - }, - beheeyem: { - tier: "RU", - doublesTier: "DOU", - }, - bellossom: { - tier: "RU", - doublesTier: "DOU", - }, - bewear: { - tier: "RU", - doublesTier: "DOU", - }, - bibarel: { - tier: "RU", - doublesTier: "DOU", - }, - bisharp: { - tier: "UU", - doublesTier: "DOU", - }, - blastoise: { - tier: "RU", - doublesTier: "DOU", - }, - boltund: { - tier: "RU", - doublesTier: "DOU", - }, - bouffalant: { - tier: "RU", - doublesTier: "DOU", - }, - braviary: { - tier: "RU", - doublesTier: "DOU", - }, - bronzong: { - tier: "RU", - doublesTier: "DOU", - }, - bruxish: { - tier: "RU", - doublesTier: "DOU", - }, - butterfree: { - tier: "RU", - doublesTier: "DOU", - }, - buzzwole: { - tier: "OU", - doublesTier: "DOU", - }, - cacturne: { - tier: "RU", - doublesTier: "DOU", - }, - calyrex: { - tier: "RU", - doublesTier: "DOU", - }, - camerupt: { - tier: "RU", - doublesTier: "DOU", - }, - cameruptmega: { - tier: "UU", - doublesTier: "DOU", - }, - carbink: { - tier: "RU", - doublesTier: "DOU", - }, - carnivine: { - tier: "RU", - doublesTier: "DOU", - }, - carracosta: { - tier: "RU", - doublesTier: "DOU", - }, - castform: { - tier: "RU", - doublesTier: "DOU", - }, - celebi: { - tier: "RU", - doublesTier: "DOU", - }, - centiskorch: { - tier: "UU", - doublesTier: "DOU", - }, - charizard: { - tier: "RU", - doublesTier: "DOU", - }, - chatot: { - tier: "RU", - doublesTier: "DOU", - }, - cherrim: { - tier: "RU", - doublesTier: "DOU", - }, - chesnaught: { - tier: "UU", - doublesTier: "DOU", - }, - chimecho: { - tier: "RU", - doublesTier: "DOU", - }, - cinccino: { - tier: "RU", - doublesTier: "DOU", - }, - clawitzer: { - tier: "RU", - doublesTier: "DOU", - }, - claydol: { - tier: "RU", - doublesTier: "DOU", - }, - cloyster: { - tier: "RU", - doublesTier: "DOU", - }, - coalossal: { - tier: "RU", - doublesTier: "DOU", - }, - cobalion: { - tier: "UU", - doublesTier: "DOU", - }, - cofagrigus: { - tier: "RU", - doublesTier: "DOU", - }, - comfey: { - tier: "RU", - doublesTier: "DOU", - }, - conkeldurr: { - tier: "RUBL", - doublesTier: "DOU", - }, - copperajah: { - tier: "RU", - doublesTier: "DOU", - }, - corsola: { - tier: "RU", - doublesTier: "DOU", - }, - corsolagalar: { - tier: "RU", - doublesTier: "DOU", - }, - cursola: { - tier: "RU", - doublesTier: "DOU", - }, - crabominable: { - tier: "RU", - doublesTier: "DOU", - }, - typenull: { - tier: "RU", - doublesTier: "DOU", - }, - darmanitan: { - tier: "UU", - doublesTier: "DOU", - }, - decidueye: { - tier: "UU", - doublesTier: "DOU", - }, - dedenne: { - tier: "RU", - doublesTier: "DOU", - }, - delcatty: { - tier: "RU", - doublesTier: "DOU", - }, - delibird: { - tier: "RU", - doublesTier: "DOU", - }, - delphox: { - tier: "RU", - doublesTier: "DOU", - }, - deoxysdefense: { - tier: "UU", - doublesTier: "DOU", - }, - dewgong: { - tier: "RU", - doublesTier: "DOU", - }, - dhelmise: { - tier: "RU", - doublesTier: "DOU", - }, - diancie: { - tier: "RU", - doublesTier: "DOU", - }, - diggersby: { - tier: "UU", - doublesTier: "DOU", - }, - ditto: { - tier: "RU", - doublesTier: "DOU", - }, - dodrio: { - tier: "UU", - doublesTier: "DOU", - }, - dragalge: { - tier: "RU", - doublesTier: "DOU", - }, - drampa: { - tier: "RU", - doublesTier: "DOU", - }, - drapion: { - tier: "RU", - doublesTier: "DOU", - }, - drednaw: { - tier: "RU", - doublesTier: "DOU", - }, - drifblim: { - tier: "RU", - doublesTier: "DOU", - }, - druddigon: { - tier: "RU", - doublesTier: "DOU", - }, - dubwool: { - tier: "RU", - doublesTier: "DOU", - }, - dugtrio: { - tier: "RU", - doublesTier: "DOU", - }, - dugtrioalola: { - tier: "RU", - doublesTier: "DOU", - }, - dunsparce: { - tier: "RU", - doublesTier: "DOU", - }, - duraludon: { - tier: "RU", - doublesTier: "DOU", - }, - durant: { - tier: "RUBL", - doublesTier: "DOU", - }, - dusknoir: { - tier: "UU", - doublesTier: "DOU", - }, - dustox: { - tier: "RU", - doublesTier: "DOU", - }, - eelektross: { - tier: "UU", - doublesTier: "DOU", - }, - eiscue: { - tier: "RU", - doublesTier: "DOU", - }, - eldegoss: { - tier: "RU", - doublesTier: "DOU", - }, - electivire: { - tier: "RU", - doublesTier: "DOU", - }, - electrode: { - tier: "RU", - doublesTier: "DOU", - }, - emboar: { - tier: "RU", - doublesTier: "DOU", - }, - emolga: { - tier: "RU", - doublesTier: "DOU", - }, - empoleon: { - tier: "UU", - doublesTier: "DOU", - }, - entei: { - tier: "RU", - doublesTier: "DOU", - }, - escavalier: { - tier: "RU", - doublesTier: "DOU", - }, - espeon: { - tier: "RU", - doublesTier: "DOU", - }, - exeggutor: { - tier: "RU", - doublesTier: "DOU", - }, - exeggutoralola: { - tier: "RU", - doublesTier: "DOU", - }, - exploud: { - tier: "RU", - doublesTier: "DOU", - }, - falinks: { - tier: "RU", - doublesTier: "DOU", - }, - farfetchd: { - tier: "RU", - doublesTier: "DOU", - }, - farfetchdgalar: { - tier: "RU", - doublesTier: "DOU", - }, - fearow: { - tier: "RU", - doublesTier: "DOU", - }, - flapple: { - tier: "UU", - doublesTier: "DOU", - }, - flareon: { - tier: "RU", - doublesTier: "DOU", - }, - floatzel: { - tier: "RU", - doublesTier: "DOU", - }, - florges: { - tier: "UU", - doublesTier: "DOU", - }, - flygon: { - tier: "RU", - doublesTier: "DOU", - }, - forretress: { - tier: "RU", - doublesTier: "DOU", - }, - froslass: { - tier: "RU", - doublesTier: "DOU", - }, - frosmoth: { - tier: "RU", - doublesTier: "DOU", - }, - furfrou: { - tier: "RU", - doublesTier: "DOU", - }, - furret: { - tier: "RU", - doublesTier: "DOU", - }, - gallade: { - tier: "RU", - doublesTier: "DOU", - }, - galvantula: { - tier: "RU", - doublesTier: "DOU", - }, - garbodor: { - tier: "RU", - doublesTier: "DOU", - }, - gardevoir: { - tier: "RU", - doublesTier: "DOU", - }, - gigalith: { - tier: "RU", - doublesTier: "DOU", - }, - girafarig: { - tier: "RU", - doublesTier: "DOU", - }, - glaceon: { - tier: "RU", - doublesTier: "DOU", - }, - glalie: { - tier: "RU", - doublesTier: "DOU", - }, - glaliemega: { - tier: "RU", - doublesTier: "DOU", - }, - glastrier: { - tier: "RU", - doublesTier: "DOU", - }, - gogoat: { - tier: "RU", - doublesTier: "DOU", - }, - golduck: { - tier: "RU", - doublesTier: "DOU", - }, - golem: { - tier: "RU", - doublesTier: "DOU", - }, - golemalola: { - tier: "RU", - doublesTier: "DOU", - }, - golisopod: { - tier: "RU", - doublesTier: "DOU", - }, - golurk: { - tier: "RU", - doublesTier: "DOU", - }, - goodra: { - tier: "UU", - doublesTier: "DOU", - }, - gorebyss: { - tier: "RU", - doublesTier: "DOU", - }, - gothitelle: { - tier: "RU", - doublesTier: "DOU", - }, - gourgeist: { - tier: "RU", - doublesTier: "DOU", - }, - gourgeistsmall: { - tier: "OU", - doublesTier: "DOU", - }, - gourgeistlarge: { - tier: "RU", - doublesTier: "DOU", - }, - gourgeistsuper: { - tier: "RU", - doublesTier: "DOU", - }, - granbull: { - tier: "RU", - doublesTier: "DOU", - }, - grapploct: { - tier: "RU", - doublesTier: "DOU", - }, - greedent: { - tier: "RU", - doublesTier: "DOU", - }, - grimmsnarl: { - tier: "RU", - doublesTier: "DOU", - }, - grumpig: { - tier: "RU", - doublesTier: "DOU", - }, - gumshoos: { - tier: "RU", - doublesTier: "DOU", - }, - guzzlord: { - tier: "UU", - doublesTier: "DOU", - }, - hariyama: { - tier: "UU", - doublesTier: "DOU", - }, - haxorus: { - tier: "UU", - doublesTier: "DOU", - }, - heatmor: { - tier: "RU", - doublesTier: "DOU", - }, - heliolisk: { - tier: "RU", - doublesTier: "DOU", - }, - heracross: { - tier: "RUBL", - doublesTier: "DOU", - }, - hitmonchan: { - tier: "RU", - doublesTier: "DOU", - }, - hitmonlee: { - tier: "RU", - doublesTier: "DOU", - }, - hitmontop: { - tier: "RU", - doublesTier: "DOU", - }, - honchkrow: { - tier: "UU", - doublesTier: "DOU", - }, - hoopa: { - tier: "RU", - doublesTier: "DOU", - }, - houndoommega: { - tier: "OU", - doublesTier: "DOU", - }, - houndoom: { - tier: "RU", - doublesTier: "DOU", - }, - huntail: { - tier: "RU", - doublesTier: "DOU", - }, - hypno: { - tier: "RU", - doublesTier: "DOU", - }, - illumise: { - tier: "RU", - doublesTier: "DOU", - }, - incineroar: { - tier: "RU", - doublesTier: "DOU", - }, - indeedee: { - tier: "RU", - doublesTier: "DOU", - }, - indeedeef: { - tier: "RU", - doublesTier: "DOU", - }, - inteleon: { - tier: "RU", - doublesTier: "DOU", - }, - jellicent: { - tier: "RU", - doublesTier: "DOU", - }, - jolteon: { - tier: "RU", - doublesTier: "DOU", - }, - jumpluff: { - tier: "RU", - doublesTier: "DOU", - }, - jynx: { - tier: "RU", - doublesTier: "DOU", - }, - kabutops: { - tier: "RU", - doublesTier: "DOU", - }, - kangaskhan: { - tier: "RU", - doublesTier: "DOU", - }, - kecleon: { - tier: "RU", - doublesTier: "DOU", - }, - kingdra: { - tier: "RU", - doublesTier: "DOU", - }, - kingler: { - tier: "RU", - doublesTier: "DOU", - }, - klefki: { - tier: "RU", - doublesTier: "DOU", - }, - klinklang: { - tier: "RU", - doublesTier: "DOU", - }, - klang: { - tier: "NFE", - doublesTier: "DOU", - }, - komala: { - tier: "RU", - doublesTier: "DOU", - }, - kricketune: { - tier: "RU", - doublesTier: "DOU", - }, - lanturn: { - tier: "RU", - doublesTier: "DOU", - }, - lapras: { - tier: "RU", - doublesTier: "DOU", - }, - leafeon: { - tier: "RU", - doublesTier: "DOU", - }, - leavanny: { - tier: "RU", - doublesTier: "DOU", - }, - ledian: { - tier: "RU", - doublesTier: "DOU", - }, - lickilicky: { - tier: "RU", - doublesTier: "DOU", - }, - liepard: { - tier: "RU", - doublesTier: "DOU", - }, - lilligant: { - tier: "RU", - doublesTier: "DOU", - }, - linoone: { - tier: "RU", - doublesTier: "DOU", - }, - lopunny: { - tier: "RU", - doublesTier: "DOU", - }, - lucario: { - tier: "RU", - doublesTier: "DOU", - }, - ludicolo: { - tier: "RU", - doublesTier: "DOU", - }, - lumineon: { - tier: "UU", - doublesTier: "DOU", - }, - lunatone: { - tier: "RU", - doublesTier: "DOU", - }, - luvdisc: { - tier: "RU", - doublesTier: "DOU", - }, - luxray: { - tier: "RU", - doublesTier: "DOU", - }, - lycanroc: { - tier: "RU", - doublesTier: "DOU", - }, - lycanrocdusk: { - tier: "UU", - doublesTier: "DOU", - }, - lycanrocmidnight: { - tier: "RU", - doublesTier: "DOU", - }, - machamp: { - tier: "RU", - doublesTier: "DOU", - }, - magcargo: { - tier: "RU", - doublesTier: "DOU", - }, - magmortar: { - tier: "UU", - doublesTier: "DOU", - }, - malamar: { - tier: "RU", - doublesTier: "DOU", - }, - manectric: { - tier: "RU", - doublesTier: "DOU", - }, - mantine: { - tier: "RU", - doublesTier: "DOU", - }, - maractus: { - tier: "RU", - doublesTier: "DOU", - }, - marowak: { - tier: "UU", - doublesTier: "DOU", - }, - marowakalola: { - tier: "RU", - doublesTier: "DOU", - }, - masquerain: { - tier: "RU", - doublesTier: "DOU", - }, - mawile: { - tier: "RU", - doublesTier: "DOU", - }, - medicham: { - tier: "RU", - doublesTier: "DOU", - }, - meganium: { - tier: "RU", - doublesTier: "DOU", - }, - meloetta: { - tier: "UU", - doublesTier: "DOU", - }, - meltan: { - tier: "RU", - doublesTier: "DOU", - }, - meowstic: { - tier: "RU", - doublesTier: "DOU", - }, - meowsticf: { - tier: "RU", - doublesTier: "DOU", - }, - mesprit: { - tier: "UU", - doublesTier: "DOU", - }, - metagross: { - tier: "UU", - doublesTier: "DOU", - }, - mightyena: { - tier: "RU", - doublesTier: "DOU", - }, - milotic: { - tier: "RU", - doublesTier: "DOU", - }, - miltank: { - tier: "RU", - doublesTier: "DOU", - }, - mimikyu: { - tier: "UU", - doublesTier: "DOU", - }, - minior: { - tier: "RU", - doublesTier: "DOU", - }, - minun: { - tier: "RU", - doublesTier: "DOU", - }, - mismagius: { - tier: "RU", - doublesTier: "DOU", - }, - morpeko: { - tier: "RU", - doublesTier: "DOU", - }, - mothim: { - tier: "RU", - doublesTier: "DOU", - }, - mrmime: { - tier: "RU", - doublesTier: "DOU", - }, - mrrime: { - tier: "RU", - doublesTier: "DOU", - }, - mudsdale: { - tier: "RU", - doublesTier: "DOU", - }, - muk: { - tier: "UU", - doublesTier: "DOU", - }, - mukalola: { - tier: "OU", - doublesTier: "DOU", - }, - musharna: { - tier: "RU", - doublesTier: "DOU", - }, - necrozma: { - tier: "RUBL", - doublesTier: "DOU", - }, - ninetales: { - tier: "RU", - doublesTier: "DOU", - }, - ninetalesalola: { - tier: "OU", - doublesTier: "DOU", - }, - ninjask: { - tier: "RU", - doublesTier: "DOU", - }, - noctowl: { - tier: "RU", - doublesTier: "DOU", - }, - noivern: { - tier: "RU", - doublesTier: "DOU", - }, - obstagoon: { - tier: "RUBL", - doublesTier: "DOU", - }, - octillery: { - tier: "RU", - doublesTier: "DOU", - }, - omastar: { - tier: "RU", - doublesTier: "DOU", - }, - oranguru: { - tier: "RU", - doublesTier: "DOU", - }, - orbeetle: { - tier: "RU", - doublesTier: "DOU", - }, - oricorio: { - tier: "RU", - doublesTier: "DOU", - }, - oricoriopau: { - tier: "RU", - doublesTier: "DOU", - }, - oricoriopompom: { - tier: "RU", - doublesTier: "DOU", - }, - oricoriosensu: { - tier: "RU", - doublesTier: "DOU", - }, - pachirisu: { - tier: "RU", - doublesTier: "DOU", - }, - palossand: { - tier: "RU", - doublesTier: "DOU", - }, - pangoro: { - tier: "RU", - doublesTier: "DOU", - }, - parasect: { - tier: "RU", - doublesTier: "DOU", - }, - passimian: { - tier: "RU", - doublesTier: "DOU", - }, - perrserker: { - tier: "RU", - doublesTier: "DOU", - }, - persian: { - tier: "RU", - doublesTier: "DOU", - }, - persianalola: { - tier: "RU", - doublesTier: "DOU", - }, - phione: { - tier: "RU", - doublesTier: "DOU", - }, - pidgeot: { - tier: "RU", - doublesTier: "DOU", - }, - pidgeotmega: { - tier: "UU", - doublesTier: "DOU", - }, - pikachu: { - tier: "RU", - doublesTier: "DOU", - }, - pikachualola: { - tier: "RU", - doublesTier: "DOU", - }, - pikachuhoenn: { - tier: "RU", - doublesTier: "DOU", - }, - pikachukalos: { - tier: "RU", - doublesTier: "DOU", - }, - pikachuoriginal: { - tier: "RU", - doublesTier: "DOU", - }, - pikachupartner: { - tier: "RU", - doublesTier: "DOU", - }, - pikachusinnoh: { - tier: "RU", - doublesTier: "DOU", - }, - pikachuunova: { - tier: "RU", - doublesTier: "DOU", - }, - pikachuworld: { - tier: "RU", - doublesTier: "DOU", - }, - pincurchin: { - tier: "RU", - doublesTier: "DOU", - }, - pinsir: { - tier: "RU", - doublesTier: "DOU", - }, - plusle: { - tier: "RU", - doublesTier: "DOU", - }, - politoed: { - tier: "RU", - doublesTier: "DOU", - }, - poliwrath: { - tier: "RU", - doublesTier: "DOU", - }, - polteageist: { - tier: "UU", - doublesTier: "DOU", - }, - polteageistantique: { - tier: "UU", - doublesTier: "DOU", - }, - porygonz: { - tier: "UU", - doublesTier: "DOU", - }, - primarina: { - tier: "UU", - doublesTier: "DOU", - }, - primeape: { - tier: "RU", - doublesTier: "DOU", - }, - probopass: { - tier: "RU", - doublesTier: "DOU", - }, - purugly: { - tier: "RU", - doublesTier: "DOU", - }, - pyroar: { - tier: "RU", - doublesTier: "DOU", - }, - pyukumuku: { - tier: "UU", - doublesTier: "DOU", - }, - qwilfish: { - tier: "RU", - doublesTier: "DOU", - }, - raichu: { - tier: "RU", - doublesTier: "DOU", - }, - raichualola: { - tier: "RU", - doublesTier: "DOU", - }, - raikou: { - tier: "UU", - doublesTier: "DOU", - }, - rampardos: { - tier: "RU", - doublesTier: "DOU", - }, - ferroseed: { - tier: "RU", - doublesTier: "DOU", - }, - rapidashgalar: { - tier: "RU", - doublesTier: "DOU", - }, - rapidash: { - tier: "RU", - doublesTier: "DOU", - }, - raticate: { - tier: "RU", - doublesTier: "DOU", - }, - raticatealola: { - tier: "RU", - doublesTier: "DOU", - }, - regice: { - tier: "RU", - doublesTier: "DOU", - }, - regidrago: { - tier: "RU", - doublesTier: "DOU", - }, - regigigas: { - tier: "UU", - doublesTier: "DOU", - }, - regirock: { - tier: "RU", - doublesTier: "DOU", - }, - registeel: { - tier: "RU", - doublesTier: "DOU", - }, - reuniclus: { - tier: "UU", - doublesTier: "DOU", - }, - rhyperior: { - tier: "UU", - doublesTier: "DOU", - }, - roserade: { - tier: "RU", - doublesTier: "DOU", - }, - rotom: { - tier: "RU", - doublesTier: "DOU", - }, - rotomfan: { - tier: "RU", - doublesTier: "DOU", - }, - rotommow: { - tier: "UU", - doublesTier: "DOU", - }, - rotomfrost: { - tier: "RU", - doublesTier: "DOU", - }, - runerigus: { - tier: "UU", - doublesTier: "DOU", - }, - salazzle: { - tier: "RU", - doublesTier: "DOU", - }, - samurott: { - tier: "UU", - doublesTier: "DOU", - }, - sandaconda: { - tier: "RU", - doublesTier: "DOU", - }, - sandslash: { - tier: "RU", - doublesTier: "DOU", - }, - sandslashalola: { - tier: "RU", - doublesTier: "DOU", - }, - sawk: { - tier: "RU", - doublesTier: "DOU", - }, - sawsbuck: { - tier: "RU", - doublesTier: "DOU", - }, - sceptile: { - tier: "RU", - doublesTier: "DOU", - }, - sceptilemega: { - tier: "RU", - doublesTier: "DOU", - }, - scolipede: { - tier: "RUBL", - doublesTier: "DOU", - }, - scrafty: { - tier: "RU", - doublesTier: "DOU", - }, - seaking: { - tier: "RU", - doublesTier: "DOU", - }, - seismitoad: { - tier: "RU", - doublesTier: "DOU", - }, - seviper: { - tier: "RU", - doublesTier: "DOU", - }, - sharpedo: { - tier: "RU", - doublesTier: "DOU", - }, - sharpedomega: { - tier: "UU", - doublesTier: "DOU", - }, - shaymin: { - tier: "RU", - doublesTier: "DOU", - }, - shedinja: { - tier: "UU", - doublesTier: "DOU", - }, - shiftry: { - tier: "RU", - doublesTier: "DOU", - }, - shiinotic: { - tier: "RU", - doublesTier: "DOU", - }, - shuckle: { - tier: "RU", - doublesTier: "DOU", - }, - sigilyph: { - tier: "RU", - doublesTier: "DOU", - }, - simipour: { - tier: "RU", - doublesTier: "DOU", - }, - simisage: { - tier: "RU", - doublesTier: "DOU", - }, - simisear: { - tier: "RU", - doublesTier: "DOU", - }, - sirfetchd: { - tier: "RU", - doublesTier: "DOU", - }, - skuntank: { - tier: "RU", - doublesTier: "DOU", - }, - slaking: { - tier: "RU", - doublesTier: "DOU", - }, - slowbrogalar: { - tier: "RUBL", - doublesTier: "DOU", - }, - slurpuff: { - tier: "RU", - doublesTier: "DOU", - }, - smeargle: { - tier: "RU", - doublesTier: "DOU", - }, - snorlax: { - tier: "RU", - doublesTier: "DOU", - }, - solrock: { - tier: "RU", - doublesTier: "DOU", - }, - spinda: { - tier: "RU", - doublesTier: "DOU", - }, - spiritomb: { - tier: "RU", - doublesTier: "DOU", - }, - stakataka: { - tier: "UU", - doublesTier: "DOU", - }, - stantler: { - tier: "RU", - doublesTier: "DOU", - }, - staraptor: { - tier: "RUBL", - doublesTier: "DOU", - }, - starmie: { - tier: "UU", - doublesTier: "DOU", - }, - steelix: { - tier: "RU", - doublesTier: "DOU", - }, - steelixmega: { - tier: "UU", - doublesTier: "DOU", - }, - stonjourner: { - tier: "RU", - doublesTier: "DOU", - }, - stoutland: { - tier: "RU", - doublesTier: "DOU", - }, - stunfisk: { - tier: "RU", - doublesTier: "DOU", - }, - stunfiskgalar: { - tier: "RU", - doublesTier: "DOU", - }, - sudowoodo: { - tier: "RU", - doublesTier: "DOU", - }, - suicune: { - tier: "RU", - doublesTier: "DOU", - }, - sunflora: { - tier: "RU", - doublesTier: "DOU", - }, - swalot: { - tier: "RU", - doublesTier: "DOU", - }, - swanna: { - tier: "RU", - doublesTier: "DOU", - }, - swellow: { - tier: "RU", - doublesTier: "DOU", - }, - swoobat: { - tier: "RU", - doublesTier: "DOU", - }, - sylveon: { - tier: "UU", - doublesTier: "DOU", - }, - tapubulu: { - tier: "UU", - doublesTier: "DOU", - }, - tauros: { - tier: "RU", - doublesTier: "DOU", - }, - tentacruel: { - tier: "UU", - doublesTier: "DOU", - }, - terrakion: { - tier: "UUBL", - doublesTier: "DOU", - }, - thievul: { - tier: "RU", - doublesTier: "DOU", - }, - throh: { - tier: "RU", - doublesTier: "DOU", - }, - togedemaru: { - tier: "UU", - doublesTier: "DOU", - }, - togekiss: { - tier: "RU", - doublesTier: "DOU", - }, - torkoal: { - tier: "UU", - doublesTier: "DOU", - }, - torterra: { - tier: "RU", - doublesTier: "DOU", - }, - toucannon: { - tier: "RU", - doublesTier: "DOU", - }, - toxicroak: { - tier: "RU", - doublesTier: "DOU", - }, - toxtricity: { - tier: "RU", - doublesTier: "DOU", - }, - toxtricitylowkey: { - tier: "RU", - doublesTier: "DOU", - }, - trevenant: { - tier: "RU", - doublesTier: "DOU", - }, - tropius: { - tier: "RU", - doublesTier: "DOU", - }, - tsareena: { - tier: "RU", - doublesTier: "DOU", - }, - turtonator: { - tier: "RU", - doublesTier: "DOU", - }, - typhlosion: { - tier: "UU", - doublesTier: "DOU", - }, - tyrantrum: { - tier: "RU", - doublesTier: "DOU", - }, - unfezant: { - tier: "RU", - doublesTier: "DOU", - }, - unown: { - tier: "RU", - doublesTier: "DOU", - }, - ursaring: { - tier: "RU", - doublesTier: "DOU", - }, - uxie: { - tier: "UU", - doublesTier: "DOU", - }, - vanilluxe: { - tier: "RU", - doublesTier: "DOU", - }, - vaporeon: { - tier: "RU", - doublesTier: "DOU", - }, - venomoth: { - tier: "RUBL", - doublesTier: "DOU", - }, - venusaur: { - tier: "UU", - doublesTier: "DOU", - }, - vespiquen: { - tier: "RU", - doublesTier: "DOU", - }, - victreebel: { - tier: "RU", - doublesTier: "DOU", - }, - vikavolt: { - tier: "RU", - doublesTier: "DOU", - }, - vileplume: { - tier: "RU", - doublesTier: "DOU", - }, - virizion: { - tier: "RU", - doublesTier: "DOU", - }, - vivillon: { - tier: "RU", - doublesTier: "DOU", - }, - volbeat: { - tier: "RU", - doublesTier: "DOU", - }, - volcanion: { - tier: "OU", - doublesTier: "DOU", - }, - wailord: { - tier: "RU", - doublesTier: "DOU", - }, - vivillonfancy: { - tier: "RU", - doublesTier: "DOU", - }, - vivillonpokeball: { - tier: "RU", - doublesTier: "DOU", - }, - walrein: { - tier: "RU", - doublesTier: "DOU", - }, - watchog: { - tier: "RU", - doublesTier: "DOU", - }, - weezing: { - tier: "RU", - doublesTier: "DOU", - }, - weezinggalar: { - tier: "RU", - doublesTier: "DOU", - }, - whimsicott: { - tier: "RU", - doublesTier: "DOU", - }, - whiscash: { - tier: "RU", - doublesTier: "DOU", - }, - wigglytuff: { - tier: "RU", - doublesTier: "DOU", - }, - wishiwashi: { - tier: "OU", - doublesTier: "DOU", - }, - wormadam: { - tier: "RU", - doublesTier: "DOU", - }, - wormadamsandy: { - tier: "UU", - doublesTier: "DOU", - }, - wormadamtrash: { - tier: "RU", - doublesTier: "DOU", - }, - xatu: { - tier: "RU", - doublesTier: "DOU", - }, - yanmega: { - tier: "RU", - doublesTier: "DOU", - }, - zangoose: { - tier: "RU", - doublesTier: "DOU", - }, - zarude: { - tier: "UU", - doublesTier: "DOU", - }, - zarudedada: { - tier: "OU", - doublesTier: "DOU", - }, - zeraora: { - tier: "OU", - doublesTier: "DOU", - }, - zoroark: { - tier: "RU", - doublesTier: "DOU", - }, - zygarde10: { - tier: "UU", - doublesTier: "DOU", - }, - porygon2: { - tier: "RU", - doublesTier: "DOU", - }, - crawdaunt: { - tier: "UU", - doublesTier: "DOU", - }, - cresselia: { - tier: "OU", - doublesTier: "DOU", - }, - doublade: { - tier: "UU", - doublesTier: "DOU", - }, - magneton: { - tier: "UU", - doublesTier: "DOU", - }, - scyther: { - tier: "RU", - doublesTier: "DOU", - }, - beartic: { - tier: "RU", - doublesTier: "DOU", - }, - cradily: { - tier: "RU", - doublesTier: "DOU", - }, - cramorant: { - tier: "RU", - doublesTier: "DOU", - }, - crustle: { - tier: "RU", - doublesTier: "DOU", - }, - cryogonal: { - tier: "RU", - doublesTier: "DOU", - }, - lurantis: { - tier: "RU", - doublesTier: "DOU", - }, - relicanth: { - tier: "RU", - doublesTier: "DOU", - }, - wobbuffet: { - tier: "RU", - doublesTier: "DOU", - }, - sandshrewalola: { - tier: "LC", - doublesTier: "DOU", - }, - zebstrika: { - tier: "RU", - doublesTier: "DOU", - }, - clamperl: { - tier: "LC", - doublesTier: "DOU", - }, - sableyemega: { - tier: "UUBL", - doublesTier: "DOU", - }, - sneasel: { - tier: "RU", - doublesTier: "DOU", - }, - crobat: { - tier: "RU", - doublesTier: "DOU", - }, -}; diff --git a/data/mods/gen8joltemons/items.ts b/data/mods/gen8joltemons/items.ts deleted file mode 100644 index ee9a75725725..000000000000 --- a/data/mods/gen8joltemons/items.ts +++ /dev/null @@ -1,833 +0,0 @@ -export const Items: {[itemid: string]: ModdedItemData} = { - boomerang: { - name: "Boomerang", - fling: { - basePower: 120, - }, - num: -1001, - gen: 8, - desc: "Comes back to the user when flung.", - }, - momentumarmor: { - name: "Momentum Armor", - fling: { - basePower: 80, - }, - onModifyAtkPriority: 1, - onModifyAtk(atk, pokemon) { - const def = pokemon.getStat('def', false, true); - const newAtk = atk + (def / 4); - return newAtk; - }, - num: -1002, - gen: 8, - desc: "Boosts the user's Attack by 25% of its Defense.", - }, - shellbell: { - name: "Shell Bell", - spritenum: 438, - fling: { - basePower: 40, - }, - onAfterMoveSecondarySelfPriority: -1, - onAfterMoveSecondarySelf(pokemon, target, move) { - if (move.category !== 'Status') { - this.heal(pokemon.baseMaxhp / 8); - } - }, - num: 253, - gen: 3, - desc: "The holder heals 12.5% of their max HP upon successfully damaging a Pokemon with an attack.", - }, - honey: { - name: "Honey", - fling: { - basePower: 30, - }, - num: -1003, - gen: 4, - shortDesc: "Pokemon with the ability Honey Gather or Sweet Veil heal 12.5% when holding this item.", - }, - eviolith: { - name: "Eviolith", - spritenum: 130, - fling: { - basePower: 40, - }, - onModifyAtkPriority: 2, - onModifyAtk(atk, pokemon) { - if (pokemon.baseSpecies.nfe) { - return this.chainModify(1.5); - } - }, - onModifySpAPriority: 2, - onModifySpA(spa, pokemon) { - if (pokemon.baseSpecies.nfe) { - return this.chainModify(1.5); - } - }, - num: -1004, - gen: 8, - desc: "If holder's species can evolve, its Atk and Sp. Atk are 1.5x.", - }, - reliccharm: { - name: "Relic Charm", - spritenum: 390, - onSwitchIn(pokemon) { - if (pokemon.isActive && pokemon.baseSpecies.name === 'Meloetta') { - pokemon.formeChange('Meloetta-Pirouette'); - } - }, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fighting') { - return this.chainModify([0x1333, 0x1000]); - } - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Meloetta') return false; - return true; - }, - itemUser: ["Meloetta"], - num: -1005, - gen: 8, - desc: "If held by Meloetta: Pirouette Forme on entry, 1.2x power Fighting-type attacks.", - }, - chillpill: { - name: "Chill Pill", - spritenum: 390, - onStart(pokemon) { - if (pokemon.isActive && pokemon.baseSpecies.name === 'Darmanitan') { - if (!pokemon.species.name.includes('Galar')) { - if (pokemon.species.id !== 'darmanitanzen') pokemon.formeChange('Darmanitan-Zen'); - pokemon.setAbility('psychicsurge', pokemon, true); - } else { - if (pokemon.species.id !== 'darmanitangalarzen') pokemon.formeChange('Darmanitan-Galar-Zen'); - pokemon.setAbility('snowwarning', pokemon, true); - } - } - }, - onBasePower(basePower, user, target, move) { - if (move && ( - (user.species.id === 'darmanitanzen' && move.type === 'Psychic') || - (user.species.id === 'darmanitangalarzen') && (move.type === 'Fire') - )) { - return this.chainModify([0x1333, 0x1000]); - } - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Darmanitan') return false; - return true; - }, - itemUser: ["Darmanitan"], - num: -1006, - gen: 8, - desc: "If held by Darmanitan: Zen Mode and Psychic Terrain on entry, 1.2x power Psychic-type attacks.", - }, - chillpillg: { - name: "Chill Pill G", - spritenum: 390, - onStart(pokemon) { - this.add('-item', pokemon, 'Chill Pill'); - if (pokemon.baseSpecies.baseSpecies === 'Darmanitan' && pokemon.species.name.includes('Galar')) { - this.add('-formechange', pokemon, 'Darmanitan-Galar-Zen', '[msg]'); - pokemon.formeChange("Darmanitan-Galar-Zen"); - const oldAbility = pokemon.setAbility('snowwarning', pokemon, true); - if (oldAbility) { - this.add('-activate', pokemon, 'ability: Snow Warning', oldAbility, '[of] ' + pokemon); - } - } - }, - onBasePower(basePower, user, target, move) { - if (move && user.species.id === 'darmanitangalarzen' && move.type === 'Fire') { - return this.chainModify([0x1333, 0x1000]); - } - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Darmanitan') return false; - return true; - }, - itemUser: ["Darmanitan-Galar"], - num: -1006, - gen: 8, - desc: "If held by Darmanitan: Zen Mode and Hail on entry, 1.2x power Fire-type attacks.", - }, - graduationscale: { - name: "Graduation Scale", - onStart(pokemon) { - pokemon.setAbility('intimidate', pokemon, true); - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Wishiwashi') return false; - return true; - }, - fling: { - basePower: 20, - }, - onBasePowerPriority: 6, - onBasePower(basePower, user, target, move) { - if (move && user.baseSpecies.num === 746 && move.type === 'Water') { - return this.chainModify([0x1333, 0x1000]); - } - }, - gen: 7, - desc: "If holder is a Wishiwashi, it becomes School Form. Its ability becomes Intimidate. Water moves are boosted by 1.2x", - }, - blunderpolicy: { - name: "Blunder Policy", - spritenum: 716, - fling: { - basePower: 80, - }, - onUpdate(pokemon) { - if (pokemon.moveThisTurnResult === false) { - this.boost({spe: 2}); - pokemon.useItem(); - } - }, - // Item activation located in scripts.js - num: 1121, - gen: 8, - desc: "+2 Speed if the holder's move fails. Single use.", - }, - lightball: { - name: "Light Ball", - spritenum: 251, - fling: { - basePower: 30, - status: 'par', - }, - onModifyAtkPriority: 1, - onModifyAtk(atk, pokemon) { - if (['Pikachu', 'Raichu', 'Togedemaru', 'Morpeko'].includes((pokemon.baseSpecies.baseSpecies))) { - return this.chainModify(1.5); - } - }, - onModifyDefPriority: 1, - onModifyDef(def, pokemon) { - if (['Emolga', 'Dedenne', 'Togedemaru', 'Pachirisu'].includes(pokemon.baseSpecies.baseSpecies)) { - return this.chainModify(1.5); - } - }, - onModifySpAPriority: 1, - onModifySpA(spa, pokemon) { - if (['Pikachu', 'Raichu', 'Raichu-Alola', 'Plusle', 'Dedenne'].includes(pokemon.baseSpecies.baseSpecies)) { - return this.chainModify(1.5); - } - }, - onModifySpDPriority: 1, - onModifySpD(spd, pokemon) { - if (['Plusle', 'Minun', 'Pachirisu', 'Morpeko'].includes(pokemon.baseSpecies.baseSpecies)) { - return this.chainModify(1.5); - } - }, - onModifySpePriority: 1, - onModifySpe(spe, pokemon) { - if (['Pikachu', 'Minun', 'Emolga'].includes(pokemon.baseSpecies.baseSpecies)) { - return this.chainModify(1.5); - } - }, - itemUser: ["Pikachu", "Raichu", "Plusle", "Minun", "Emolga", "Morpeko", "Dedenne", "Togedemaru"], - num: 236, - gen: 2, - desc: "If held by Pikachu, Raichu, or a Pikaclone, 2 of its stats are boosted 1.5x.", - }, - /* - soulblade: { - name: "Soul Blade", - spritenum: 297, - fling: { - basePower: 100, - }, - onModifyDamage(damage, source, target, move) { - return this.chainModify([0x1199, 0x1000]); - }, - gen: 8, - desc: "(Non-functional placeholder) The holder's moves deal 1.1x damage + .2x for every KO it has.", - }, - */ - mentalherb: { - name: "Mental Herb", - spritenum: 285, - fling: { - basePower: 10, - effect(pokemon) { - const conditions = ['attract', 'taunt', 'encore', 'torment', 'disable', 'healblock', 'trashtalk']; - for (const firstCondition of conditions) { - if (pokemon.volatiles[firstCondition]) { - for (const secondCondition of conditions) { - pokemon.removeVolatile(secondCondition); - if (firstCondition === 'attract' && secondCondition === 'attract') { - this.add('-end', pokemon, 'move: Attract', '[from] item: Mental Herb'); - } - } - return; - } - } - }, - }, - onUpdate(pokemon) { - const conditions = ['attract', 'taunt', 'encore', 'torment', 'disable', 'healblock', 'trashtalk']; - for (const firstCondition of conditions) { - if (pokemon.volatiles[firstCondition]) { - if (!pokemon.useItem()) return; - for (const secondCondition of conditions) { - pokemon.removeVolatile(secondCondition); - if (firstCondition === 'attract' && secondCondition === 'attract') { - this.add('-end', pokemon, 'move: Attract', '[from] item: Mental Herb'); - } - } - return; - } - } - }, - num: 219, - gen: 3, - }, - morningblossom: { - name: "Morning Blossom", - spritenum: 297, - fling: { - basePower: 10, - }, - onSwitchIn(pokemon) { - if (pokemon.isActive && pokemon.baseSpecies.name === 'Cherrim') { - this.field.setWeather('desolateland'); - } - }, - onSwitchOut(pokemon) { - this.field.clearWeather(); - }, - onFaint(pokemon) { - this.field.clearWeather(); - }, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Grass') { - return this.chainModify([0x1333, 0x1000]); - } - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Cherrim') return false; - return true; - }, - onUpdate(pokemon) { - if (pokemon.volatiles['embargo']) { - this.add('-activate', pokemon, 'item: Morning Blossom'); - pokemon.removeVolatile('embargo'); - // Taunt's volatile already sends the -end message when removed - } - }, - onTryHit(pokemon, target, move) { - if (move.id === 'embargo') { - this.add('-immune', pokemon, '[from] item: Morning Blossom'); - return null; - } - }, - itemUser: ["Cherrim"], - gen: 8, - desc: "If held by Cherrim: Desolate Land on entry, 1.2x power Grass-type attacks.", - }, - absorbbulb: { - name: "Absorb Bulb", - spritenum: 2, - fling: { - basePower: 30, - }, - onDamagingHit(damage, target, source, move) { - if (move.type === 'Water') { - target.useItem(); - } - }, - boosts: { - def: 1, - spa: 1, - spd: 1, - }, - num: 545, - gen: 5, - desc: "Raises holder's Def, SpA, & SpD by 1 stage if hit by a Water-type attack. Single use.", - }, - cellbattery: { - name: "Cell Battery", - spritenum: 60, - fling: { - basePower: 30, - }, - onDamagingHit(damage, target, source, move) { - if (move.type === 'Electric') { - target.useItem(); - } - }, - boosts: { - atk: 1, - spe: 1, - accuracy: 1, - }, - num: 546, - gen: 5, - desc: "Raises holder's Atk, Spe, & Acc by 1 stage if hit by an Electric-type attack. Single use.", - }, - luminousmoss: { - name: "Luminous Moss", - spritenum: 595, - fling: { - basePower: 30, - }, - onDamagingHit(damage, target, source, move) { - if (move.type === 'Grass') { - target.useItem(); - } - }, - boosts: { - spa: 2, - spd: 2, - }, - num: 648, - gen: 6, - desc: "Raises holder's SpA & SpD by 2 stages if hit by a Grass-type attack. Single use.", - }, - snowball: { - name: "Snowball", - spritenum: 606, - fling: { - basePower: 30, - }, - onDamagingHit(damage, target, source, move) { - if (move.type === 'Ice') { - target.useItem(); - } - }, - boosts: { - atk: 2, - def: 2, - }, - num: 649, - gen: 6, - desc: "Raises holder's Atk & Def by 2 stages if hit by an Ice-type attack. Single use.", - }, - coalengine: { - name: "Coal Engine", - spritenum: 297, - fling: { - basePower: 60, - }, - onStart(pokemon) { - if (pokemon.side.getSideCondition('stealthrock') && !pokemon.ignoringItem()) { - pokemon.useItem(); - this.boost({spe: 1}, pokemon); - } - }, - gen: 8, - desc: "If Stealth Rock is on the field, damage is ignored, and the user's Speed is raised by 1. Single use.", - }, - tartapple: { - name: "Tart Apple", - spritenum: 712, - fling: { - basePower: 20, - }, - onModifySpe(spe, pokemon) { - if (pokemon.baseSpecies.baseSpecies === 'Flapple') { - return this.chainModify(1.5); - } - }, - onStart(pokemon) { - if (pokemon.baseSpecies.baseSpecies === 'Flapple') { - this.boost({accuracy: 2}); - } - }, - itemUser: ["Flapple"], - num: 1117, - gen: 8, - desc: "If the holder is Flapple: 1.5x Speed and +2 Accuracy.", - }, - sweetapple: { - name: "Sweet Apple", - spritenum: 711, - fling: { - basePower: 20, - }, - onResidualOrder: 5, - onResidualSubOrder: 5, - onResidual(pokemon) { - if (pokemon.baseSpecies.name === 'Appletun') { - this.heal(pokemon.baseMaxhp / 8); - } - }, - onSourceModifyAtkPriority: 6, - onSourceModifyAtk(atk, attacker, defender, move) { - if (move.type === 'Poison') { - this.debug('Sweet Apple weaken'); - return this.chainModify(0.5); - } - }, - onSourceModifySpAPriority: 5, - onSourceModifySpA(atk, attacker, defender, move) { - if (move.type === 'Poison') { - this.debug('Sweet Apple weaken'); - return this.chainModify(0.5); - } - }, - onDamage(damage, target, source, effect) { - if (effect && (effect.id === 'tox' || effect.id === 'psn')) { - return damage / 2; - } - }, - num: 1116, - gen: 8, - desc: "If the holder is Appletun: Heals 12.5% HP every turn and takes 50% damage from Poison moves and poison status.", - }, - protector: { - name: "Protector", - spritenum: 367, - fling: { - basePower: 100, - }, - onSourceModifyDamage(damage, source, target, move) { - if (target.getMoveHitData(move).typeMod > 0 && !target.hasAbility('solidrock') && !target.hasAbility('filter')) { - this.debug('Protector neutralize'); - return this.chainModify(0.75); - } - }, - num: 321, - gen: 4, - desc: "Super effective attacks deal 3/4 damage to the holder.", - }, - powerherb: { - onChargeMove(pokemon, target, move) { - if (pokemon.useItem()) { - this.debug('power herb - remove charge turn for ' + move.id); - this.attrLastMove('[still]'); - this.addMove('-anim', pokemon, move.name, target); - return false; // skip charge turn - } - }, - onUpdate(pokemon) { - if (pokemon.volatiles['mustrecharge']) { - pokemon.removeVolatile('mustrecharge'); - pokemon.useItem(); - } - }, - name: "Power Herb", - spritenum: 358, - fling: { - basePower: 10, - }, - num: 271, - gen: 4, - desc: "Holder's two-turn moves and recharge complete in one turn (except Sky Drop). Single use.", - }, - pillow: { - name: "Pillow", - spritenum: 242, - fling: { - basePower: 10, - // status: 'slp', Fixed - }, - onResidualOrder: 5, - onResidualSubOrder: 5, - onResidual(pokemon) { - if (pokemon.status === 'slp' || pokemon.hasAbility('comatose')) { - this.heal(pokemon.baseMaxhp / 8); - } - }, - /* - onStart(pokemon) { - if (pokemon.status === 'slp' || pokemon.hasAbility('comatose')) { - pokemon.addVolatile('pillow'); - } - }, - condition: { - onTryMovePriority: -2, - onTryMove(pokemon, target, move) { - if (!pokemon.hasItem('pillow') || (pokemon.status !== 'slp' && !pokemon.hasAbility('comatose'))) { - pokemon.removeVolatile('pillow'); - return; - } - if (pokemon.status === 'slp' || pokemon.hasAbility('comatose')) { - this.useMove("Sleep Talk", pokemon); - } - }, - }, - */ - gen: 8, - desc: "(Bugged) Holder heals 12.5% HP while asleep. If asleep, calls a random attack.", - }, - reapercloth: { - name: "Reaper Cloth", - spritenum: 385, - fling: { - basePower: 100, - }, - onResidualOrder: 5, - onResidualSubOrder: 5, - onResidual(pokemon) { - if (pokemon.hasType('Ghost')) { - this.heal(pokemon.baseMaxhp / 16); - } - }, - onDisableMove(pokemon) { - if (!pokemon.hasType('Ghost') && pokemon.lastMove && pokemon.lastMove.id !== 'struggle') { - pokemon.disableMove(pokemon.lastMove.id); - } - }, - onTakeItem(item, source) { - if (source.hasType('Ghost')) return false; - return true; - }, - num: 325, - gen: 4, - desc: "Each turn, if holder is a Ghost type, restores 1/16 max HP; is Tormented if not.", - }, - chilipepper: { - name: "Chili Pepper", - spritenum: 13, - fling: { - basePower: 10, - status: 'brn', - }, - onSetStatus(status, target, source, effect) { - if (status.id !== 'brn') return; - if ((effect as Move)?.status) { - this.add('-immune', target, '[from] item: Chili Pepper'); - } - return false; - }, - onUpdate(pokemon) { - if (pokemon.status === 'frz') { - this.add('-activate', pokemon, 'item: Chili Pepper'); - pokemon.cureStatus(); - pokemon.useItem(); - } - }, - desc: "The holder is immune to burns. Thaws the user and is consumed if the holder is frozen.", - }, - widelens: { - name: "Wide Lens", - spritenum: 537, - fling: { - basePower: 10, - }, - onSourceModifyAccuracyPriority: 4, - onSourceModifyAccuracy(accuracy) { - if (typeof accuracy === 'number') { - return accuracy * 1.2; - } - }, - num: 265, - gen: 4, - desc: "The accuracy of attacks by the holder is 1.2x.", - }, - zoomlens: { - name: "Zoom Lens", - spritenum: 574, - fling: { - basePower: 10, - }, - onSourceModifyAccuracyPriority: 4, - onSourceModifyAccuracy(accuracy, target) { - if (typeof accuracy === 'number' && (!this.queue.willMove(target) || target.newlySwitched)) { - this.debug('Zoom Lens boosting accuracy'); - return accuracy * 1.5; - } - }, - num: 276, - gen: 4, - desc: "The accuracy of attacks by the holder is 1.5x if it moves lasts or the foe switches.", - }, - whippeddream: { - name: "Whipped Dream", - spritenum: 692, - fling: { - basePower: 30, - }, - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Fairy') { - return this.chainModify([0x1333, 0x1000]); - } - }, - num: 646, - gen: 6, - desc: "Holder's Fairy-type attacks have 1.2x power.", - }, - ironball: { - name: "Iron Ball", - spritenum: 224, - fling: { - basePower: 130, - }, - onEffectiveness(typeMod, target, type, move) { - if (!target) return; - if (target.volatiles['ingrain'] || target.volatiles['smackdown'] || this.field.getPseudoWeather('gravity')) return; - if (move.type === 'Ground' && target.hasType('Flying')) return 0; - }, - // airborneness negation implemented in sim/pokemon.js:Pokemon#isGrounded - num: 278, - gen: 4, - desc: "Holder's use of Gravity lasts 8 turns instead of 5. Grounds holder.", - }, - cursedbelt: { - name: "Cursed Belt", - spritenum: 13, - fling: { - basePower: 10, - }, - onAfterMoveSecondarySelf(target, source, move) { - if (move.category === 'Status') { - target.addVolatile('disable'); - } - }, - onModifyDamage(damage, source, target, move) { - if (source.volatiles['disable']) { - return this.chainModify(1.2); - } - }, - desc: "When the holder uses a status move, it is disabled. Moves deal 1.2x damage while a move is disabled.", - }, - utilityumbrella: { - name: "Utility Umbrella", - spritenum: 718, - fling: { - basePower: 60, - }, - onImmunity(type, pokemon) { - if (type === 'sandstorm' || type === 'hail') return false; - }, - onWeather(target, source, effect) { - if (this.field.isWeather(['sunnyday', 'desolateland', 'hail', 'raindance', 'primordialsea', 'sandstorm'])) { - this.heal(target.baseMaxhp / 12); - } - }, - // Other effects implemented in statuses.js, moves.js, and abilities.js - num: 1123, - gen: 8, - desc: "The holder ignores rain- and sun-based effects & weather damage. Heals 1/12 of its max HP in weather.", - }, - nightlightball: { - name: "Nightlight Ball", - spritenum: 251, - fling: { - basePower: 90, - status: 'brn', - }, - onStart(pokemon) { - this.add('-item', pokemon, 'Nightlight Ball'); - this.add('-message', `Mimikyu's Nightlight Ball has a sinister sheen!`); - }, - onModifyAtkPriority: 1, - onModifyAtk(atk, pokemon) { - if (pokemon.baseSpecies.baseSpecies === 'Mimikyu') { - return this.chainModify(1.3); - } - }, - onModifyDefPriority: 1, - onModifyDef(def, pokemon) { - if (pokemon.baseSpecies.baseSpecies === 'Mimikyu') { - return this.chainModify(1.3); - } - }, - onTryHit(target, source, move) { - if (target !== source && move.type === 'Electric' && target.baseSpecies.baseSpecies === 'Mimikyu') { - if (!this.heal(target.baseMaxhp / 4)) { - this.add('-immune', target, '[from] item: Nightlight Ball'); - } - return null; - } - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Mimikyu') return false; - return true; - }, - itemUser: ["Mimikyu"], - desc: "If held by Mimikyu: 1.3x Atk and Def, Heals 1/4 of its max HP when hit by Electric moves.", - }, - seawaterbead: { - name: "Seawater Bead", - spritenum: 251, - fling: { - basePower: 30, - }, - onModifyDefPriority: 2, - onModifyDef(def, pokemon) { - if (pokemon.baseSpecies.baseSpecies === 'Phione') { - return this.chainModify(1.5); - } - }, - onModifySpDPriority: 2, - onModifySpD(spd, pokemon) { - if (pokemon.baseSpecies.baseSpecies === 'Phione') { - return this.chainModify(1.5); - } - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Phione') return false; - return true; - }, - itemUser: ["Phione"], - desc: "If held by Phione: 1.5x Defense & Special Defense.", - }, - sacredropes: { - name: "Sacred Ropes", - spritenum: 251, - fling: { - basePower: 130, - }, - onStart(pokemon) { - this.add('-item', pokemon, 'Sacred Ropes'); - this.add('-message', `Regigigas is adorned with continent-towing ropes!`); - }, - onSwitchIn(pokemon) { - if (pokemon.isActive && pokemon.baseSpecies.baseSpecies === 'Regigigas') { - const oldAbility = pokemon.setAbility('thickfat', pokemon, true); - if (oldAbility) { - this.add('-activate', pokemon, 'ability: Thick Fat', oldAbility, '[of] ' + pokemon); - } - } - }, - onSourceModifyAtkPriority: 6, - onSourceModifyAtk(atk, attacker, defender, move) { - if ((move.type === 'Fighting' || move.type === 'Rock') && - defender.baseSpecies.baseSpecies === 'Regigigas') { - this.debug('Sacred Ropes weaken'); - return this.chainModify(0.75); - } - }, - onSourceModifySpAPriority: 5, - onSourceModifySpA(atk, attacker, defender, move) { - if ((move.type === 'Fighting' || move.type === 'Rock') && - defender.baseSpecies.baseSpecies === 'Regigigas') { - this.debug('Sacred Ropes weaken'); - return this.chainModify(0.75); - } - }, - onTakeItem(item, source) { - if (source.baseSpecies.baseSpecies === 'Regigigas') return false; - return true; - }, - itemUser: ["Regigigas"], - desc: "If held by Regigigas: Ability becomes Thick Fat, takes 0.75x damage from Fighting and Rock moves.", - }, - // soul blades - soulblade: { - name: "Soul Blade", - spritenum: 297, - fling: { - basePower: 100, - }, - onModifyDamage(damage, source, target, move) { - const soulBladePower = [[0x1199, 0x1000], [0x14CC, 0x1000], 1.5, 1.7, 1.9, 2.1]; - const soulBladeLevel = source.m.soulBladeLevel || 1; - return this.chainModify(soulBladePower[soulBladeLevel - 1]); - }, - onSourceAfterFaint(length, target, source, effect) { - if (effect && effect.effectType === 'Move') { - if (!source.m.soulBladeLevel) source.m.soulBladeLevel = 1; - if (source.m.soulBladeLevel < 6) this.add('-activate', source, 'item: Soul Blade'); - source.m.soulBladeLevel += 1; - if (source.m.soulBladeLevel > 6) source.m.soulBladeLevel = 6; - } - }, - gen: 8, - desc: "The holder's moves deal 1.1x damage + .2x for every KO it has.", - }, -}; diff --git a/data/mods/gen8joltemons/learnsets.ts b/data/mods/gen8joltemons/learnsets.ts deleted file mode 100644 index bbc2b6eb4f89..000000000000 --- a/data/mods/gen8joltemons/learnsets.ts +++ /dev/null @@ -1,170 +0,0 @@ -/* eslint-disable max-len */ - -export const Learnsets: {[k: string]: LearnsetData} = { - articunogalar: { - learnset: { - agility: ["8M", "8L20"], - airslash: ["8M"], - allyswitch: ["8M"], - ancientpower: ["8L25"], - bravebird: ["8M"], - calmmind: ["8M"], - confusion: ["8L5"], - dreameater: ["8L50"], - dualwingbeat: ["8T"], - endure: ["8M"], - expandingforce: ["8T"], - facade: ["8M"], - fly: ["8M"], - freezingglare: ["8L45", "8S0", "8S1"], - futuresight: ["8M", "8L65"], - gigaimpact: ["8M"], - guardswap: ["8M"], - gust: ["8L1"], - hurricane: ["8M", "8L55", "8S0", "8S1"], - hyperbeam: ["8M"], - hypervoice: ["8M"], - hypnosis: ["8L15"], - imprison: ["8M"], - lightscreen: ["8M"], - mindreader: ["8L60"], - powerswap: ["8M"], - protect: ["8M"], - psychic: ["8M"], - psychocut: ["8M", "8L35", "8S0", "8S1"], - psychoshift: ["8L1", "8S0", "8S1"], - psyshock: ["8M"], - recover: ["8L40"], - reflect: ["8M", "8L10"], - rest: ["8M"], - round: ["8M"], - scaryface: ["8M"], - shadowball: ["8M"], - skillswap: ["8M"], - sleeptalk: ["8M"], - snore: ["8M"], - steelwing: ["8M"], - storedpower: ["8M"], - substitute: ["8M"], - swift: ["8M"], - tailwind: ["8L30"], - trickroom: ["8M", "8L70"], - uturn: ["8M"], - }, - eventData: [ - {generation: 8, level: 70, moves: ["freezingglare", "hurricane", "psychocut", "psychoshift"]}, - {generation: 8, level: 70, shiny: true, moves: ["freezingglare", "hurricane", "psychocut", "psychoshift"], pokeball: "cherishball"}, - ], - eventOnly: true, - }, - zapdosgalar: { - learnset: { - acrobatics: ["8M"], - agility: ["8M", "8L20"], - ancientpower: ["8L25"], - assurance: ["8M"], - blazekick: ["8M"], - bounce: ["8M"], - bravebird: ["8M"], - brickbreak: ["8M", "8L30"], - bulkup: ["8M", "8L50"], - closecombat: ["8M", "8L65"], - coaching: ["8T"], - counter: ["8L55"], - detect: ["8L60"], - drillpeck: ["8L35", "8S0", "8S1"], - dualwingbeat: ["8T"], - endure: ["8M"], - facade: ["8M"], - fly: ["8M"], - focusenergy: ["8M", "8L1", "8S0", "8S1"], - gigaimpact: ["8M"], - hurricane: ["8M"], - hyperbeam: ["8M"], - lightscreen: ["8M", "8L10"], - lowkick: ["8M"], - lowsweep: ["8M"], - megakick: ["8M"], - payback: ["8M"], - peck: ["8L1"], - pluck: ["8L15"], - protect: ["8M"], - quickguard: ["8L40"], - rest: ["8M"], - retaliate: ["8M"], - revenge: ["8M"], - reversal: ["8M", "8L70", "8S0", "8S1"], - rocksmash: ["8L5"], - round: ["8M"], - scaryface: ["8M"], - screech: ["8M"], - sleeptalk: ["8M"], - snore: ["8M"], - steelwing: ["8M"], - stompingtantrum: ["8M"], - substitute: ["8M"], - superpower: ["8M"], - swift: ["8M"], - taunt: ["8M"], - throatchop: ["8M"], - thunderouskick: ["8L45", "8S0", "8S1"], - uturn: ["8M"], - }, - eventData: [ - {generation: 8, level: 70, moves: ["thunderouskick", "drillpeck", "reversal", "focusenergy"]}, - {generation: 8, level: 70, shiny: true, moves: ["thunderouskick", "drillpeck", "reversal", "focusenergy"], pokeball: "cherishball"}, - ], - eventOnly: true, - }, - moltresgalar: { - learnset: { - afteryou: ["8L40"], - agility: ["8M", "8L20"], - airslash: ["8M", "8L35"], - ancientpower: ["8L25"], - assurance: ["8M"], - bravebird: ["8M"], - darkpulse: ["8M"], - dualwingbeat: ["8T"], - endure: ["8M", "8L60"], - facade: ["8M"], - fierywrath: ["8L45", "8S0", "8S1"], - fly: ["8M"], - foulplay: ["8M"], - gigaimpact: ["8M"], - gust: ["8L1"], - hex: ["8M"], - hurricane: ["8M", "8L55", "8S0", "8S1"], - hyperbeam: ["8M"], - hypervoice: ["8M"], - imprison: ["8M"], - lashout: ["8T"], - leer: ["8L1"], - memento: ["8L65"], - nastyplot: ["8M", "8L50", "8S0", "8S1"], - payback: ["8M", "8L5"], - protect: ["8M"], - rest: ["8M"], - round: ["8M"], - safeguard: ["8M", "8L10"], - scaryface: ["8M"], - shadowball: ["8M"], - skyattack: ["8L70"], - sleeptalk: ["8M"], - snarl: ["8M"], - snore: ["8M"], - steelwing: ["8M"], - substitute: ["8M"], - suckerpunch: ["8L30", "8S0", "8S1"], - swift: ["8M"], - taunt: ["8M"], - uturn: ["8M"], - wingattack: ["8L15"], - }, - eventData: [ - {generation: 8, level: 70, moves: ["fierywrath", "hurricane", "suckerpunch", "nastyplot"]}, - {generation: 8, level: 70, shiny: true, moves: ["fierywrath", "hurricane", "suckerpunch", "nastyplot"], pokeball: "cherishball"}, - ], - eventOnly: true, - }, -}; diff --git a/data/mods/gen8joltemons/moves.ts b/data/mods/gen8joltemons/moves.ts deleted file mode 100644 index c7b14b08b1cc..000000000000 --- a/data/mods/gen8joltemons/moves.ts +++ /dev/null @@ -1,1490 +0,0 @@ -export const Moves: {[k: string]: ModdedMoveData} = { - toxicthread: { - num: 672, - accuracy: 100, - basePower: 0, - category: "Status", - shortDesc: "Badly poisons and lowers the target's Speed by 2", - name: "Toxic Thread", - pp: 20, - priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, - status: 'tox', - boosts: { - spe: -2, - }, - secondary: null, - target: "normal", - type: "Poison", - zMove: {boost: {spe: 1}}, - contestType: "Tough", - }, - meltingpoint: { - accuracy: 100, - basePower: 80, - category: "Special", - shortDesc: "Replaces the user's Ice-type with Water. 1.5x power when used by Ice-types. Soaks foe.", - name: "Melting Point", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Scald", target); - this.add('-anim', source, "Acid Armor", target); - }, - onBasePower(basePower, pokemon, target) { - if (pokemon.hasType('Ice')) { - return this.chainModify(1.5); - } - }, - onHit(target) { - if (target.getTypes().join() === 'Water' || !target.setType('Water')) { - // Soak should animate even when it fails. - // Returning false would suppress the animation. - this.add('-fail', target); - return null; - } - this.add('-start', target, 'typechange', 'Water'); - }, - self: { - onHit(pokemon) { - if (pokemon.hasType('Water')) { - pokemon.setType(pokemon.getTypes(true).map(type => type === "Ice" ? "???" : type)); - this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[from] move: Melting Point'); - } else { - pokemon.setType(pokemon.getTypes(true).map(type => type === "Ice" ? "Water" : type)); - this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[from] move: Melting Point'); - } - }, - }, - secondary: null, - target: "normal", - type: "Water", - contestType: "Clever", - }, - /* - reconstruct: { - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "(Bugged) Charges turn 1. Heals 50% and resets lowered stats turn 2.", - name: "Reconstruct", - pp: 10, - priority: 0, - flags: {charge: 1, heal: 1}, - heal: [1, 2], - beforeTurnCallback(pokemon) { - pokemon.addVolatile('reconstruct'); - }, - condition: { - duration: 2, - onStart(pokemon) { - this.add('-start', pokemon, 'move: Reconstruct'); - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.category === 'Special' || move.category === 'Physical') { - return this.chainModify(0.5); - } - }, - onTryMove(attacker, defender, move) { - if (attacker.removeVolatile(move.id)) return; - this.add('-prepare', attacker, move.name); - if (!this.runEvent('ChargeMove', attacker, defender, move)) return; - attacker.addVolatile('twoturnmove', defender); - return null; - }, - }, - onAfterMove(pokemon) { - pokemon.removeVolatile('reconstruct'); - }, - self: { - onHit(pokemon) { - const boosts: SparseBoostsTable = {}; - let i: BoostName; - for (i in pokemon.boosts) { - if (pokemon.boosts[i] < 0) { - boosts[i] = 0; - } - } - pokemon.setBoost(boosts); - this.add('-clearnegativeboost', pokemon, '[silent]'); - this.add('-message', pokemon.name + "'s negative stat changes were removed!"); - }, - }, - secondary: null, - target: "self", - type: "Steel", - }, - reconstruct: { - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "Charges turn 1. Heals 50% and resets lowered stats turn 2.", - name: "Reconstruct", - pp: 10, - priority: 0, - flags: {charge: 1, heal: 1}, - heal: [1, 2], - onTryMove(attacker, defender, move) { - if (attacker.removeVolatile(move.id)) { - return; - } - this.add('-prepare', attacker, move.name); - if (!this.runEvent('ChargeMove', attacker, defender, move)) { - return; - } - attacker.addVolatile('twoturnmove', defender); - return null; - }, - self: { - onHit(pokemon) { - const boosts: SparseBoostsTable = {}; - let i: BoostName; - for (i in pokemon.boosts) { - if (pokemon.boosts[i] < 0) { - boosts[i] = 0; - } - } - pokemon.setBoost(boosts); - this.add('-clearnegativeboost', pokemon, '[silent]'); - this.add('-message', pokemon.name + "'s negative stat changes were removed!"); - }, - }, - secondary: null, - target: "self", - type: "Steel", - }, - */ - reconstruct: { - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "Charges turn 1. Heals 50% and resets lowered stats turn 2.", - name: "Reconstruct", - pp: 10, - priority: 5, - flags: {charge: 1, heal: 1}, - volatileStatus: 'reconstruct', - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Recover", target); - }, - beforeMoveCallback(pokemon) { - if (pokemon.volatiles['reconstruct']) return true; - }, - condition: { - duration: 2, - onLockMove: 'reconstruct', - onStart(pokemon) { - this.effectState.totalDamage = 0; - this.add('-start', pokemon, 'move: Reconstruct'); - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.category === 'Special' || move.category === 'Physical') { - return this.chainModify(0.5); - } - }, - onBeforeMove(pokemon, target, move) { - if (this.effectState.duration === 1) { - this.add('-end', pokemon, 'move: Reconstruct'); - const moveData: Partial = { - id: 'reconstruct' as ID, - name: "Reconstruct", - accuracy: true, - category: "Status", - priority: 0, - flags: {charge: 1, heal: 1}, - heal: [1, 2], - effectType: 'Move', - type: 'Steel', - }; - this.actions.tryMoveHit(target, pokemon, moveData as ActiveMove); - return false; - } - this.add('-activate', pokemon, 'move: Reconstruct'); - }, - onMoveAborted(pokemon) { - pokemon.removeVolatile('reconstruct'); - }, - onEnd(pokemon) { - this.add('-end', pokemon, 'move: Reconstruct', '[silent]'); - }, - }, - self: { - onHit(pokemon) { - const boosts: SparseBoostsTable = {}; - let i: BoostID; - for (i in pokemon.boosts) { - if (pokemon.boosts[i] < 0) { - boosts[i] = 0; - } - } - pokemon.setBoost(boosts); - this.add('-clearnegativeboost', pokemon, '[silent]'); - this.add('-message', pokemon.name + "'s negative stat changes were removed!"); - }, - }, - secondary: null, - target: "self", - type: "Steel", - contestType: "Tough", - }, - focusblast: { - num: 411, - accuracy: 70, - basePower: 120, - category: "Special", - shortDesc: "10% chance to lower the foe's SpD. Never misses if the user moves last.", - name: "Focus Blast", - pp: 5, - priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, - onModifyMove(move, source, target) { - if (target && (target.newlySwitched || !this.queue.willMove(target))) move.accuracy = true; - }, - secondary: { - chance: 10, - boosts: { - spd: -1, - }, - }, - target: "normal", - type: "Fighting", - contestType: "Cool", - }, - /* - aridabsorption: { - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "(Placeholder, Currently a Life Dew clone)", - name: "Arid Absorption", - pp: 10, - priority: 0, - flags: {snatch: 1, heal: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Shore Up", target); - }, - heal: [1, 4], - secondary: null, - target: "self", - type: "Ground", - }, -*/ - aridabsorption: { - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "Heals by 33% of its max HP +33% and +1 Atk for every active Water-type.", - name: "Arid Absorption", - pp: 10, - priority: 0, - flags: {snatch: 1, heal: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Shore Up", target); - }, - self: { - onHit(pokemon, source, move) { - this.heal(source.baseMaxhp / 3, source, pokemon); - }, - }, - onHitField(target, source) { - if (target.hasType('Water')) { - this.heal(source.baseMaxhp / 3, source, target); - this.boost({atk: 1}, source); - } - if (source.hasType('Water')) { - this.heal(source.baseMaxhp / 3, source, target); - this.boost({atk: 1}, source); - this.damage(source.baseMaxhp / 3, source, target); - } - }, - secondary: null, - target: "all", - type: "Ground", - }, - rototiller: { - num: 563, - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "Raises Atk/Def of grounded Grass types by 1, sets Grassy Terrain.", - name: "Rototiller", - pp: 10, - priority: 0, - flags: {distance: 1, nonsky: 1}, - onHitField(target, source) { - this.field.setTerrain('grassyterrain'); - const targets: Pokemon[] = []; - let anyAirborne = false; - for (const pokemon of this.getAllActive()) { - if (!pokemon.runImmunity('Ground')) { - this.add('-immune', pokemon); - anyAirborne = true; - continue; - } - if (pokemon.hasType('Grass')) { - // This move affects every grounded Grass-type Pokemon in play. - targets.push(pokemon); - } - } - if (!targets.length && !anyAirborne) return false; // Fails when there are no grounded Grass types or airborne Pokemon - for (const pokemon of targets) { - this.boost({atk: 1, def: 1}, pokemon, source); - } - }, - secondary: null, - target: "all", - type: "Ground", - zMove: {boost: {atk: 1}}, - contestType: "Tough", - }, - armthrust: { - num: 292, - accuracy: 100, - basePower: 25, - category: "Physical", - name: "Arm Thrust", - pp: 20, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, - multihit: [2, 5], - secondary: null, - target: "normal", - type: "Fighting", - contestType: "Tough", - }, - counterspell: { - accuracy: 100, - basePower: 110, - category: "Special", - shortDesc: "Uses target's SpA stat in damage calculation. -1 priority.", - name: "Counterspell", - pp: 15, - priority: -1, - flags: {protect: 1, mirror: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Psybeam", target); - }, - overrideOffensivePokemon: 'target', - secondary: null, - target: "normal", - type: "Fairy", - contestType: "Clever", - }, - lightninglance: { - accuracy: 100, - basePower: 110, - category: "Physical", - shortDesc: "Lowers the user's Attack and Sp. Def by 1.", - name: "Lightning Lance", - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, defrost: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Charge", target); - this.add('-anim', source, "Sacred Sword", target); - }, - self: { - boosts: { - atk: -1, - spd: -1, - }, - }, - secondary: null, - target: "normal", - type: "Electric", - contestType: "Cool", - }, - lifedew: { - num: 791, - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "Heals the user by 50% of its max HP; 66% in Rain.", - name: "Life Dew", - pp: 10, - priority: 0, - flags: {snatch: 1, heal: 1, bypasssub: 1}, - onHit(pokemon) { - let factor = 0.5; - if (this.field.isWeather('raindance')) { - factor = 0.667; - } - return !!this.heal(this.modify(pokemon.maxhp, factor)); - }, - secondary: null, - target: "allies", - type: "Water", - }, - trashtalk: { - accuracy: 100, - basePower: 85, - category: "Special", - shortDesc: "Prevents the target from using status moves for 1 turn.", - name: "Trash Talk", - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Confide", target); - this.add('-anim', source, "Gunk Shot", target); - }, - volatileStatus: 'trashtalk', - condition: { - duration: 1, - onStart(target) { - this.add('-singleturn', target, 'move: Trash Talk'); - }, - onResidualOrder: 12, - onEnd(target) { - this.add('-end', target, 'move: Trash Talk'); - }, - onBeforeMovePriority: 5, - onBeforeMove(attacker, defender, move) { - if (!move.isZ && !move.isMax && move.category === 'Status' && move.id !== 'mefirst') { - this.add('cant', attacker, 'move: Trash Talk', move); - return false; - } - }, - }, - secondary: null, - target: "normal", - type: "Poison", - contestType: "Cool", - }, - deafeningshriek: { - accuracy: 100, - basePower: 100, - category: "Special", - shortDesc: "Target becomes immune to sound moves after being hit.", - name: "Deafening Shriek", - pp: 5, - priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Hyper Voice", target); - this.add('-anim', source, "Boomburst", target); - }, - volatileStatus: 'deafeningshriek', - condition: { - onStart(target) { - this.add('-start', target, 'move: Deafening Shriek'); - }, - onTryHitPriority: 3, - onTryHit(target, source, move) { - if (move.target !== 'self' && move.flags['sound']) { - this.add('-immune', target, '[from] move: Deafening Shriek'); - return null; - } - }, - }, - target: "normal", - type: "Ghost", - contestType: "Cool", - }, - enchantedpunch: { - accuracy: 100, - basePower: 80, - category: "Physical", - overrideDefensiveStat: 'spd', - shortDesc: "Damages target based on Sp. Def, not Defense.", - name: "Enchanted Punch", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, contact: 1, punch: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Meteor Mash", target); - }, - secondary: null, - target: "normal", - type: "Fairy", - contestType: "Beautiful", - }, - electroball: { - num: 486, - accuracy: 100, - basePower: 80, - category: "Special", - name: "Electro Ball", - pp: 10, - priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, - overrideOffensiveStat: 'spe', - secondary: null, - target: "normal", - type: "Electric", - contestType: "Clever", - shortDesc: "Uses user's Spe stat as SpA in damage calculation.", - }, - firepunch: { - num: 7, - accuracy: 100, - basePower: 85, - category: "Physical", - name: "Fire Punch", - pp: 15, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, - secondary: { - chance: 10, - status: 'brn', - }, - target: "normal", - type: "Fire", - contestType: "Tough", - }, - icepunch: { - num: 8, - accuracy: 100, - basePower: 85, - category: "Physical", - name: "Ice Punch", - pp: 15, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, - secondary: { - chance: 10, - status: 'frz', - }, - target: "normal", - type: "Ice", - contestType: "Beautiful", - }, - thunderpunch: { - num: 9, - accuracy: 100, - basePower: 85, - category: "Physical", - name: "Thunder Punch", - pp: 15, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, - secondary: { - chance: 10, - status: 'par', - }, - target: "normal", - type: "Electric", - contestType: "Cool", - }, - skyuppercut: { - num: 327, - accuracy: 100, - basePower: 70, - category: "Physical", - shortDesc: "Hits Flying-types super effectively. Can hit Pokemon using Bounce, Fly, or Sky Drop.", - name: "Sky Uppercut", - pp: 15, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, - onEffectiveness(typeMod, target, type) { - if (type === 'Flying') return 1; - }, - secondary: null, - target: "normal", - type: "Fighting", - contestType: "Cool", - }, - crushclaw: { - inherit: true, - accuracy: 100, - basePower: 20, - shortDesc: "Hits twice. Lowers the target's Def after each hit.", - pp: 20, - multihit: 2, - secondary: { - chance: 100, - boosts: { - def: -1, - }, - }, - type: "Dark", - maxMove: {basePower: 100}, - }, - poisondart: { - accuracy: true, - basePower: 40, - category: "Physical", - shortDesc: "Usually goes first. 10% chance to poison foe.", - name: "Poison Dart", - pp: 30, - priority: 1, - flags: {protect: 1, mirror: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Poison Sting", target); - }, - secondary: { - chance: 10, - status: 'psn', - }, - target: "normal", - type: "Poison", - contestType: "Cool", - }, - acidicfists: { - accuracy: 100, - basePower: 90, - category: "Physical", - shortDesc: "Destroys screens, unless the target is immune. 10% poison chance.", - name: "Acidic Fists", - pp: 10, - priority: 0, - flags: {punch: 1, contact: 1, protect: 1, mirror: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Poison Jab", target); - this.add('-anim', source, "Corrosive Gas", target); - }, - onTryHit(pokemon) { - // will shatter screens through sub, before you hit - if (pokemon.runImmunity('Poison')) { - pokemon.side.removeSideCondition('reflect'); - pokemon.side.removeSideCondition('lightscreen'); - pokemon.side.removeSideCondition('auroraveil'); - } - }, - secondary: { - chance: 10, - status: 'psn', - }, - target: "normal", - type: "Poison", - contestType: "Cool", - }, - mudspike: { - num: 398, - accuracy: 100, - basePower: 85, - category: "Physical", - shortDesc: "10% poison chance, 30% if the user is a Poison-type", - name: "Mud Spike", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Muddy Water", target); - this.add('-anim', source, "Corrosive Gas", target); - }, - onModifyMove(move, pokemon) { - if (!pokemon.hasType('Poison')) return; - if (!move.secondaries) move.secondaries = []; - move.secondaries = move.secondaries.filter(s => s.chance !== 10 && s.status !== 'psn'); - move.secondaries.push({ - chance: 30, - status: 'psn', - }); - }, - secondary: { - chance: 10, - status: 'psn', - }, - target: "normal", - type: "Ground", - contestType: "Tough", - }, - bonemerang: { - num: 155, - accuracy: 100, - basePower: 50, - category: "Physical", - shortDesc: "(Bugged) First hit has +1 priority, second hit has -1 priority.", - name: "Bonemerang", - pp: 10, - priority: 1, - flags: {protect: 1, mirror: 1}, - onModifyMove(move) { - if (move.hit !== 1) move.priority = -1; - }, - secondary: null, - target: "normal", - type: "Ground", - maxMove: {basePower: 130}, - contestType: "Tough", - }, - rashpowder: { - accuracy: 75, - basePower: 0, - category: "Status", - shortDesc: "Burns the target.", - name: "Rash Powder", - pp: 30, - priority: 0, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Spore", target); - }, - status: 'brn', - secondary: null, - target: "normal", - type: "Grass", - zMove: {boost: {def: 1}}, - contestType: "Clever", - }, - payback: { - num: 371, - accuracy: 100, - basePower: 50, - basePowerCallback(pokemon, target, move) { - if (this.queue.willMove(target)) { - this.debug('Payback NOT boosted'); - return move.basePower; - } - this.debug('Payback damage boost'); - return move.basePower * 2; - }, - category: "Physical", - shortDesc: "Power doubles if the user moves last or the foe switches.", - name: "Payback", - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - secondary: null, - target: "normal", - type: "Dark", - contestType: "Tough", - }, - revenge: { - num: 279, - accuracy: 100, - basePower: 50, - basePowerCallback(pokemon, target, move) { - if (this.queue.willMove(target)) { - this.debug('Revenge NOT boosted'); - return move.basePower; - } - this.debug('Revenge damage boost'); - return move.basePower * 2; - }, - category: "Physical", - shortDesc: "Power doubles if the user moves last or the foe switches.", - name: "Revenge", - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - secondary: null, - target: "normal", - type: "Fighting", - contestType: "Tough", - }, - avalanche: { - num: 419, - accuracy: 100, - basePower: 50, - basePowerCallback(pokemon, target, move) { - if (this.queue.willMove(target)) { - this.debug('Avalanche NOT boosted'); - return move.basePower; - } - this.debug('Avalanche damage boost'); - return move.basePower * 2; - }, - category: "Physical", - shortDesc: "Power doubles if the user moves last or the foe switches.", - name: "Avalanche", - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - secondary: null, - target: "normal", - type: "Ice", - contestType: "Beautiful", - }, - technoblast: { - num: 546, - accuracy: 100, - basePower: 90, - onBasePower(basePower, source) { - if (source.hasItem(['burndrive', 'dousedrive', 'chilldrive', 'shockdrive'])) { - return this.chainModify(1.2); - } - }, - category: "Special", - shortDesc: "Type varies based on the held Drive. 1.2x power when holding a Drive.", - name: "Techno Blast", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, pulse: 1, bullet: 1}, - onModifyType(move, pokemon) { - if (pokemon.ignoringItem()) return; - move.type = this.runEvent('Drive', pokemon, null, move, 'Normal'); - }, - secondary: null, - target: "normal", - type: "Normal", - contestType: "Cool", - }, - aggravate: { - accuracy: 100, - basePower: 85, - category: "Physical", - shortDesc: "If the target is statused, applies Taunt.", - name: "Aggravate", - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Power Trip", target); - }, - secondary: { - chance: 100, - onHit(target, source, move) { - if (target.status) { - return !!target.addVolatile('taunt'); - } - return false; - }, - }, - target: "normal", - type: "Dark", - contestType: "Clever", - }, - curse: { - num: 174, - accuracy: true, - basePower: 0, - category: "Status", - shortDesc: "Curses if Ghost, else -1 Spe, +2 Atk, +1 Def.", - name: "Curse", - pp: 10, - priority: 0, - flags: {}, - volatileStatus: 'curse', - onModifyMove(move, source, target) { - if (!source.hasType('Ghost')) { - move.target = move.nonGhostTarget as MoveTarget; - } - }, - onTryHit(target, source, move) { - if (!source.hasType('Ghost')) { - delete move.volatileStatus; - move.self = {boosts: {spe: -1, atk: 2, def: 1}}; - } else if ((move.volatileStatus && target.volatiles['curse']) || target.hasType(['Normal', 'Ghost']) || - target.volatiles['protect'] || target.volatiles['spikyshield'] || target.volatiles['banefulbunker']) { - return false; - } - }, - condition: { - onStart(target) { - this.add('-start', target, 'move: Curse'); - }, - onResidualOrder: 8, - onResidual(pokemon) { - const target = this.effectState.source.side.active[pokemon.volatiles['curse'].sourcePosition]; - if (!target || target.fainted || target.hp <= 0) { - this.debug('Nothing to curse'); - return; - } - const damage = this.damage(pokemon.baseMaxhp / 8, pokemon, target); - if (damage) { - this.heal(damage, target, pokemon); - } - }, - }, - onTryImmunity(target) { - return (!target.hasType('Normal') || !target.hasType('Ghost')); - }, - secondary: null, - target: "randomNormal", - nonGhostTarget: "self", - type: "Ghost", - zMove: {effect: 'curse'}, - contestType: "Tough", - }, - octazooka: { - num: 190, - accuracy: 100, - basePower: 75, - category: "Special", - shortDesc: "100% chance to lower the target's Evasion by 1.", - name: "Octazooka", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, pulse: 1, bullet: 1}, - secondary: { - chance: 100, - boosts: { - evasion: -1, - }, - }, - target: "normal", - type: "Water", - contestType: "Tough", - }, - signalbeam: { - num: 324, - accuracy: 100, - basePower: 75, - category: "Special", - shortDesc: "100% chance to lower the target's Speed by 1.", - name: "Signal Beam", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - secondary: { - chance: 100, - boosts: { - spe: -1, - }, - }, - target: "normal", - type: "Bug", - contestType: "Tough", - }, - aurorabeam: { - num: 62, - accuracy: 100, - basePower: 75, - category: "Special", - shortDesc: "100% chance to lower the target's Attack by 1.", - name: "Aurora Beam", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - secondary: { - chance: 100, - boosts: { - atk: -1, - }, - }, - target: "normal", - type: "Ice", - contestType: "Tough", - }, - venoshock: { - num: 474, - accuracy: 100, - basePower: 65, - basePowerCallback(pokemon, target, move) { - if (target.status || target.hasAbility('comatose')) return move.basePower * 2; - return move.basePower; - }, - category: "Special", - shortDesc: "Power doubles if the target has a status ailment.", - name: "Venoshock", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - secondary: null, - target: "normal", - type: "Poison", - contestType: "Beautiful", - }, - attackorder: { - num: 454, - accuracy: 100, - basePower: 75, - basePowerCallback(pokemon, target, move) { - if (target.status || target.hasAbility('comatose')) return move.basePower * 2; - return move.basePower; - }, - category: "Physical", - shortDesc: "Power doubles if the target has a status ailment.", - name: "Attack Order", - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - secondary: null, - target: "normal", - type: "Flying", - contestType: "Clever", - }, - smother: { - accuracy: 100, - basePower: 65, - basePowerCallback(pokemon, target, move) { - if (target.newlySwitched || this.queue.willMove(target)) { - this.debug('Smother damage boost'); - return move.basePower * 1.5; - } - this.debug('Smother NOT boosted'); - return move.basePower; - }, - category: "Physical", - shortDesc: "The target must move last next turn. 1.5x if the user moves first.", - name: "Smother", - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Wrap", target); - }, - onHit(target, source) { - target.addVolatile('smother', source); - }, - condition: { - duration: 2, - onStart(target) { - this.add('-start', target, 'Smother', '[silent]'); - }, - onFractionalPriority: -0.1, - onResidualOrder: 22, - onEnd(target) { - this.add('-end', target, 'Smother', '[silent]'); - }, - }, - secondary: null, - target: "normal", - type: "Fairy", - contestType: "Clever", - }, - fierydance: { - num: 552, - accuracy: 100, - basePower: 85, - category: "Special", - name: "Fiery Dance", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, - secondary: { - chance: 50, - self: { - boosts: { - spa: 1, - }, - }, - }, - target: "normal", - type: "Fire", - contestType: "Beautiful", - }, - snowmanjazz: { - accuracy: 100, - basePower: 85, - category: "Special", - shortDesc: "50% chance to raise the user's Sp. Atk by 1.", - name: "Snowman Jazz", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Quiver Dance", target); - this.add('-anim', source, "Ice Beam", target); - }, - secondary: { - chance: 50, - self: { - boosts: { - spa: 1, - }, - }, - }, - target: "normal", - type: "Ice", - contestType: "Beautiful", - }, - moonlitwaltz: { - accuracy: 100, - basePower: 85, - category: "Special", - shortDesc: "50% chance to raise the user's Sp. Atk by 1.", - name: "Moonlit Waltz", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Quiver Dance", target); - this.add('-anim', source, "Dark Pulse", target); - }, - secondary: { - chance: 50, - self: { - boosts: { - spa: 1, - }, - }, - }, - target: "normal", - type: "Dark", - contestType: "Beautiful", - }, - petaldance: { - num: 80, - accuracy: 100, - basePower: 85, - category: "Special", - shortDesc: "50% chance to raise the user's Sp. Atk by 1.", - name: "Petal Dance", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, - secondary: { - chance: 50, - self: { - boosts: { - spa: 1, - }, - }, - }, - target: "normal", - type: "Grass", - contestType: "Beautiful", - }, - skysoiree: { - accuracy: 100, - basePower: 85, - category: "Special", - shortDesc: "50% chance to raise the user's Sp. Atk by 1.", - name: "Sky Soiree", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Quiver Dance", target); - this.add('-anim', source, "Gust", target); - }, - secondary: { - chance: 50, - self: { - boosts: { - spa: 1, - }, - }, - }, - target: "normal", - type: "Flying", - contestType: "Beautiful", - }, - shadowpunch: { - num: 325, - accuracy: true, - basePower: 80, - category: "Physical", - shortDesc: "Ignores burn, screens, and Substitute.", - name: "Shadow Punch", - pp: 20, - priority: 0, - flags: {protect: 1, mirror: 1, punch: 1}, - onBasePower(basePower, pokemon) { - if (pokemon.status === 'brn') { - return this.chainModify(2); - } - }, - infiltrates: true, - secondary: null, - target: "normal", - type: "Ghost", - contestType: "Clever", - }, - bouncybubble: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Bubble", target); - }, - }, - buzzybuzz: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Discharge", target); - }, - }, - sizzlyslide: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Flame Charge", target); - }, - }, - glitzyglow: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Psychic", target); - }, - }, - baddybad: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Photon Geyser", target); - }, - }, - freezyfrost: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Blizzard", target); - }, - }, - sappyseed: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Horn Leech", target); - }, - }, - sparklyswirl: { - inherit: true, - isNonstandard: null, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Dazzling Gleam", target); - }, - }, - // stuff that needs to be edited because of other stuff - fling: { - num: 374, - accuracy: 100, - basePower: 0, - category: "Physical", - name: "Fling", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, allyanim: 1}, - onPrepareHit(target, source, move) { - if (source.ignoringItem()) return false; - const item = source.getItem(); - if (!this.singleEvent('TakeItem', item, source.itemState, source, source, move, item)) return false; - if (!item.fling) return false; - move.basePower = item.fling.basePower; - if (item.isBerry) { - move.onHit = function (foe) { - if (this.singleEvent('Eat', item, null, foe, null, null)) { - this.runEvent('EatItem', foe, null, null, item); - if (item.id === 'leppaberry') foe.staleness = 'external'; - } - if (item.onEat) foe.ateBerry = true; - }; - } else if (item.fling.effect) { - move.onHit = item.fling.effect; - } else { - if (!move.secondaries) move.secondaries = []; - if (item.fling.status) { - move.secondaries.push({status: item.fling.status}); - } else if (item.fling.volatileStatus) { - move.secondaries.push({volatileStatus: item.fling.volatileStatus}); - } - } - source.addVolatile('fling'); - if (item.id === 'boomerang') { - source.removeVolatile('fling'); - } - }, - condition: { - onUpdate(pokemon) { - const item = pokemon.getItem(); - pokemon.setItem(''); - pokemon.lastItem = item.id; - pokemon.usedItemThisTurn = true; - this.add('-enditem', pokemon, item.name, '[from] move: Fling'); - this.runEvent('AfterUseItem', pokemon, null, null, item); - pokemon.removeVolatile('fling'); - }, - }, - secondary: null, - target: "normal", - type: "Dark", - contestType: "Cute", - }, - knockoff: { - num: 282, - accuracy: 100, - basePower: 65, - category: "Physical", - name: "Knock Off", - pp: 20, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onBasePower(basePower, source, target, move) { - const item = target.getItem(); - if (!this.singleEvent('TakeItem', item, target.itemState, target, target, move, item)) return; - if (item.id && item.id !== 'boomerang') { - return this.chainModify(1.5); - } - }, - onAfterHit(target, source) { - if (source.hp) { - const item = target.takeItem(); - if (item) { - this.add('-enditem', target, item.name, '[from] move: Knock Off', '[of] ' + source); - if (item.id === 'boomerang') { - this.add('-item', target, this.dex.items.get(item), '[from] item: Boomerang'); - target.setItem(item); - } - } - } - }, - secondary: null, - target: "normal", - type: "Dark", - contestType: "Clever", - }, - stealthrock: { - inherit: true, - condition: { - // this is a side condition - onStart(side) { - this.add('-sidestart', side, 'move: Stealth Rock'); - }, - onSwitchIn(pokemon) { - if ( - pokemon.hasItem('heavydutyboots') || pokemon.hasItem('coalengine') - ) return; - const typeMod = this.clampIntRange(pokemon.runEffectiveness(this.dex.getActiveMove('stealthrock')), -6, 6); - this.damage(pokemon.maxhp * Math.pow(2, typeMod) / 8); - }, - }, - }, - gravity: { - num: 356, - accuracy: true, - basePower: 0, - category: "Status", - name: "Gravity", - pp: 5, - priority: 0, - flags: {nonsky: 1}, - pseudoWeather: 'gravity', - condition: { - duration: 5, - durationCallback(source, effect) { - if (source?.hasAbility('persistent')) { - this.add('-activate', source, 'ability: Persistent', effect); - return 7; - } else if (source && source.hasItem('ironball')) { - return 8; - } - return 5; - }, - onStart() { - this.add('-fieldstart', 'move: Gravity'); - for (const pokemon of this.getAllActive()) { - let applies = false; - if (pokemon.removeVolatile('bounce') || pokemon.removeVolatile('fly')) { - applies = true; - this.queue.cancelMove(pokemon); - pokemon.removeVolatile('twoturnmove'); - } - if (pokemon.volatiles['skydrop']) { - applies = true; - this.queue.cancelMove(pokemon); - - if (pokemon.volatiles['skydrop'].source) { - this.add('-end', pokemon.volatiles['twoturnmove'].source, 'Sky Drop', '[interrupt]'); - } - pokemon.removeVolatile('skydrop'); - pokemon.removeVolatile('twoturnmove'); - } - if (pokemon.volatiles['magnetrise']) { - applies = true; - delete pokemon.volatiles['magnetrise']; - } - if (pokemon.volatiles['telekinesis']) { - applies = true; - delete pokemon.volatiles['telekinesis']; - } - if (applies) this.add('-activate', pokemon, 'move: Gravity'); - } - }, - onModifyAccuracy(accuracy) { - if (typeof accuracy !== 'number') return; - return accuracy * 5 / 3; - }, - onDisableMove(pokemon) { - for (const moveSlot of pokemon.moveSlots) { - if (this.dex.moves.get(moveSlot.id).flags['gravity']) { - pokemon.disableMove(moveSlot.id); - } - } - }, - // groundedness implemented in battle.engine.js:BattlePokemon#isGrounded - onBeforeMovePriority: 6, - onBeforeMove(pokemon, target, move) { - if (move.flags['gravity']) { - this.add('cant', pokemon, 'move: Gravity', move); - return false; - } - }, - onResidualOrder: 22, - onEnd() { - this.add('-fieldend', 'move: Gravity'); - }, - }, - secondary: null, - target: "all", - type: "Psychic", - zMove: {boost: {spa: 1}}, - contestType: "Clever", - }, - rapidspin: { - num: 229, - accuracy: 100, - basePower: 50, - category: "Physical", - name: "Rapid Spin", - pp: 40, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onAfterHit(target, pokemon) { - if (pokemon.hp && pokemon.removeVolatile('leechseed')) { - this.add('-end', pokemon, 'Leech Seed', '[from] move: Rapid Spin', '[of] ' + pokemon); - } - if (pokemon.hp && pokemon.removeVolatile('curse')) { - this.add('-end', pokemon, 'Curse', '[from] move: Rapid Spin', '[of] ' + pokemon); - } - const sideConditions = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; - for (const condition of sideConditions) { - if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { - this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Rapid Spin', '[of] ' + pokemon); - } - } - if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { - pokemon.removeVolatile('partiallytrapped'); - } - }, - onAfterSubDamage(damage, target, pokemon) { - if (pokemon.hp && pokemon.removeVolatile('leechseed')) { - this.add('-end', pokemon, 'Leech Seed', '[from] move: Rapid Spin', '[of] ' + pokemon); - } - if (pokemon.hp && pokemon.removeVolatile('curse')) { - this.add('-end', pokemon, 'Curse', '[from] move: Rapid Spin', '[of] ' + pokemon); - } - const sideConditions = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; - for (const condition of sideConditions) { - if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { - this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Rapid Spin', '[of] ' + pokemon); - } - } - if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { - pokemon.removeVolatile('partiallytrapped'); - } - }, - secondary: { - chance: 100, - self: { - boosts: { - spe: 1, - }, - }, - }, - target: "normal", - type: "Normal", - contestType: "Cool", - }, -}; diff --git a/data/mods/gen8joltemons/pokedex.ts b/data/mods/gen8joltemons/pokedex.ts deleted file mode 100644 index 51243c72e851..000000000000 --- a/data/mods/gen8joltemons/pokedex.ts +++ /dev/null @@ -1,1438 +0,0 @@ -export const Pokedex: {[speciesid: string]: ModdedSpeciesData} = { - moltresgalar: { - inherit: true, - abilities: {0: "Berserk", H: "Regenerator"}, - }, - zapdosgalar: { - inherit: true, - abilities: {0: "Defiant", H: "Intimidate"}, - }, - articunogalar: { - inherit: true, - abilities: {0: "Competitive", H: "Magic Bounce"}, - }, - magmortar: { - inherit: true, - types: ["Fire", "Fighting"], - abilities: {0: "Flame Body", 1: "Magma Armor", H: "Neutralizing Gas"}, - }, - magmar: { - inherit: true, - abilities: {0: "Flame Body", 1: "Magma Armor", H: "Vital Spirit"}, - }, - magby: { - inherit: true, - abilities: {0: "Flame Body", 1: "Magma Armor", H: "Vital Spirit"}, - }, - sandslashalola: { - inherit: true, - abilities: {0: "Ice Body", 1: "Prickly Coat", H: "Slush Rush"}, - }, - ninetalesalola: { - inherit: true, - abilities: {0: "Snow Cloak", 1: "Ice Body", H: "Snow Warning"}, - }, - volbeat: { - inherit: true, - abilities: {0: "Light Power", 1: "Swarm", H: "Prankster"}, - }, - solrock: { - inherit: true, - abilities: {0: "Levitate", H: "Light Power"}, - }, - pachirisu: { - inherit: true, - abilities: {0: "Light Power", 1: "Pickup", H: "Volt Absorb"}, - }, - lumineon: { - inherit: true, - abilities: {0: "Swift Swim", 1: "Storm Drain", H: "Light Power"}, - }, - froslass: { - inherit: true, - abilities: {0: "Soul Link", 1: "Ice Body", H: "Merciless"}, - }, - watchog: { - inherit: true, - abilities: {0: "Light Power", 1: "Keen Eye", H: "Analytic"}, - }, - simipour: { - inherit: true, - abilities: {0: "Gorilla Tactics", 1: "Rain Dish", H: "Torrent"}, - }, - simisear: { - inherit: true, - abilities: {0: "Gorilla Tactics", 1: "Optimistic", H: "Blaze"}, - }, - simisage: { - inherit: true, - abilities: {0: "Gorilla Tactics", 1: "Rivalry", H: "Overgrow"}, - }, - gigalith: { - inherit: true, - abilities: {0: "Sturdy", 1: "Sand Stream", H: "Light Power"}, - }, - jellicent: { - inherit: true, - abilities: {0: "Hydration", 1: "Sticky Hold", H: "Merciless"}, - }, - cryogonal: { - inherit: true, - abilities: {0: "Levitate", 1: "Vapor Control", H: "Ice Body"}, - }, - gourgeist: { - inherit: true, - abilities: {0: "Soul Link", 1: "Frisk", H: "Light Power"}, - }, - gourgeistsmall: { - inherit: true, - abilities: {0: "Soul Link", 1: "Frisk", H: "Light Power"}, - }, - gourgeistlarge: { - inherit: true, - abilities: {0: "Soul Link", 1: "Frisk", H: "Light Power"}, - }, - gourgeistsuper: { - inherit: true, - abilities: {0: "Soul Link", 1: "Frisk", H: "Light Power"}, - }, - crabominable: { - inherit: true, - abilities: {0: "Hyper Cutter", 1: "Iron Fist", H: "Ice Body"}, - }, - grapploct: { - inherit: true, - abilities: {0: "Limber", 1: "Rain Dish", H: "Technician"}, - }, - polteageist: { - inherit: true, - abilities: {0: "Weak Armor", 1: "Rain Dish", H: "Counterfeit"}, - }, - polteageistantique: { - inherit: true, - abilities: {0: "Weak Armor", 1: "Rain Dish", H: "Unimpressed"}, - }, - glastrier: { - inherit: true, - abilities: {0: "Chilling Neigh", H: "Ice Body"}, - }, - spectrier: { - inherit: true, - abilities: {0: "Grim Neigh", H: "Wandering Spirit"}, - }, - rotom: { - inherit: true, - abilities: {0: "Levitate", 1: "Wandering Spirit", H: "Unburden"}, - }, - rotomheat: { - inherit: true, - abilities: {0: "Levitate", 1: "Counterfeit", H: "Flame Body"}, - }, - rotomwash: { - inherit: true, - abilities: {0: "Levitate", 1: "Counterfeit", H: "Water Absorb"}, - }, - rotomfrost: { - inherit: true, - abilities: {0: "Levitate", 1: "Counterfeit", H: "Refrigerate"}, - }, - rotomfan: { - inherit: true, - abilities: {0: "Levitate", 1: "Counterfeit", H: "Speed Boost"}, - }, - rotommow: { - inherit: true, - abilities: {0: "Levitate", 1: "Counterfeit", H: "Grassy Surge"}, - }, - ampharos: { - inherit: true, - abilities: {0: "Static", 1: "Plus", H: "Mold Breaker"}, - }, - ampharosmega: { - inherit: true, - abilities: {0: "Fluffy"}, - }, - meganium: { - inherit: true, - types: ["Grass", "Fairy"], - abilities: {0: "Overgrow", H: "Flower Veil"}, - }, - garbodor: { - inherit: true, - abilities: {0: "Stench", 1: "Sticky Hold", H: "Aftermath"}, - }, - duosion: { - inherit: true, - abilities: {0: "Sticky Hold", 1: "Magic Guard", H: "Regenerator"}, - }, - reuniclus: { - inherit: true, - abilities: {0: "Sticky Hold", 1: "Magic Guard", H: "Regenerator"}, - }, - deoxys: { - inherit: true, - abilities: {0: "Pressure", H: "Sticky Hold"}, - }, - deoxysattack: { - inherit: true, - abilities: {0: "Pressure", H: "Sticky Hold"}, - }, - deoxysdefense: { - inherit: true, - abilities: {0: "Pressure", H: "Sticky Hold"}, - }, - deoxysspeed: { - inherit: true, - abilities: {0: "Pressure", H: "Sticky Hold"}, - }, - umbreon: { - inherit: true, - abilities: {0: "Corrosion", 1: "Merciless", H: "Power of Alchemy (Umbreon)"}, - }, - alcremie: { - inherit: true, - abilities: {0: "Sweet Veil", 1: "Sticky Hold", H: "Power of Alchemy (Alcremie)"}, - }, - milcery: { - inherit: true, - abilities: {0: "Sweet Veil", 1: "Sticky Hold", H: "Aroma Veil"}, - }, - mantine: { - inherit: true, - abilities: {0: "Swift Swim", 1: "Hydration", H: "Sticky Hold"}, - }, - melmetal: { - inherit: true, - abilities: {0: "Iron Fist", H: "Sticky Hold"}, - }, - mesprit: { - inherit: true, - types: ["Psychic", "Fairy"], - abilities: {0: "Levitate", 1: "Moody", H: "Prankster"}, - }, - azelf: { - inherit: true, - types: ["Psychic", "Fighting"], - abilities: {0: "Levitate", 1: "Competitive", H: "Moxie"}, - }, - dartrix: { - inherit: true, - abilities: {0: "Overgrow", H: "Moody"}, - }, - decidueye: { - inherit: true, - abilities: {0: "Overgrow", H: "Moody"}, - }, - steenee: { - inherit: true, - abilities: {0: "Leaf Guard", 1: "Moody", H: "Sweet Veil"}, - }, - malamar: { - inherit: true, - abilities: {0: "Contrary", 1: "Suction Cups", H: "Moody"}, - }, - hypno: { - inherit: true, - abilities: {0: "Insomnia", 1: "Forewarn", H: "Moody"}, - }, - spinda: { - inherit: true, - abilities: {0: "Moody", 1: "Tangled Feet", H: "Contrary"}, - }, - passimian: { - inherit: true, - abilities: {0: "Receiver", 1: "Libero", H: "Defiant"}, - }, - electrode: { - inherit: true, - abilities: {0: "Libero", 1: "Counterfeit", H: "Aftermath"}, - }, - dubwool: { - inherit: true, - abilities: {0: "Fluffy", 1: "Libero", H: "Bulletproof"}, - }, - jumpluff: { - inherit: true, - abilities: {0: "Leaf Guard", 1: "Libero", H: "Infiltrator"}, - }, - lucario: { - inherit: true, - abilities: {0: "Libero", 1: "Inner Focus", H: "Rivalry"}, - }, - wigglytuff: { - inherit: true, - abilities: {0: "Cute Charm", 1: "Competitive", H: "Libero"}, - }, - electivire: { - inherit: true, - types: ["Electric", "Dark"], - abilities: {0: "Motor Drive", 1: "Libero", H: "Iron Fist"}, - }, - eevee: { - inherit: true, - abilities: {0: "Run Away", 1: "Adaptability", H: "Libero"}, - }, - plusle: { - inherit: true, - abilities: {0: "Plus", 1: "Libero", H: "Lightning Rod"}, - }, - minun: { - inherit: true, - abilities: {0: "Minus", 1: "Libero", H: "Volt Absorb"}, - }, - cacnea: { - inherit: true, - abilities: {0: "Sand Veil", 1: "Water Compaction", H: "Water Absorb"}, - }, - cacturne: { - inherit: true, - abilities: {0: "Wandering Spirit", 1: "Water Compaction", H: "Prickly Coat"}, - }, - lileep: { - inherit: true, - abilities: {0: "Suction Cups", 1: "Water Compaction", H: "Storm Drain"}, - }, - cradily: { - inherit: true, - abilities: {0: "Suction Cups", 1: "Water Compaction", H: "Storm Drain"}, - }, - stunfisk: { - inherit: true, - abilities: {0: "Static", 1: "Water Compaction", H: "Sand Veil"}, - }, - phanpy: { - inherit: true, - abilities: {0: "Pickup", 1: "Water Compaction", H: "Sand Veil"}, - }, - donphan: { - inherit: true, - abilities: {0: "Sturdy", 1: "Water Compaction", H: "Sand Veil"}, - }, - muk: { - inherit: true, - abilities: {0: "Regenerator", 1: "Sticky Hold", H: "Poison Touch"}, - }, - mukalola: { - inherit: true, - abilities: {0: "Poison Touch", 1: "Scavenge", H: "Power of Alchemy (Muk-Alola)"}, - }, - mismagius: { - inherit: true, - types: ["Ghost", "Fairy"], - abilities: {0: "Levitate", 1: "Power of Alchemy (Mismagius)", H: "Corrosion"}, - }, - samurott: { - inherit: true, - types: ["Water", "Fighting"], - abilities: {0: "Torrent", H: "Shell Armor"}, - }, - dewott: { - inherit: true, - types: ["Water", "Fighting"], - abilities: {0: "Torrent", H: "No Guard"}, - }, - oshawott: { - inherit: true, - abilities: {0: "Torrent", H: "No Guard"}, - }, - buzzwole: { - inherit: true, - abilities: {0: "Beast Boost", H: "Iron Fist"}, - }, - metagross: { - inherit: true, - abilities: {0: "Clear Body", 1: "Iron Fist", H: "Neuroforce"}, - }, - metang: { - inherit: true, - abilities: {0: "Clear Body", 1: "Iron Fist", H: "Neuroforce"}, - }, - metagrossmega: { - inherit: true, - abilities: {0: "Neuroforce"}, - }, - poliwrath: { - inherit: true, - abilities: {0: "Water Absorb", 1: "Iron Fist", H: "Swift Swim"}, - }, - toxicroak: { - inherit: true, - abilities: {0: "Iron Fist", 1: "Dry Skin", H: "Poison Touch"}, - }, - lucariomega: { - inherit: true, - abilities: {0: "Iron Fist"}, - }, - zebstrika: { - inherit: true, - abilities: {0: "Overclock", 1: "Motor Drive", H: "Sap Sipper"}, - }, - manectric: { - inherit: true, - abilities: {0: "Static", 1: "Lightning Rod", H: "Overclock"}, - }, - celebi: { - inherit: true, - abilities: {0: "Natural Cure", H: "Overclock"}, - }, - braviary: { - inherit: true, - abilities: {0: "Optimistic", 1: "Sheer Force", H: "Defiant"}, - }, - haxorus: { - inherit: true, - abilities: {0: "Overclock", 1: "Mold Breaker", H: "Rivalry"}, - }, - duraludon: { - inherit: true, - abilities: {0: "Light Metal", 1: "Heavy Metal", H: "Overclock"}, - }, - hydreigon: { - inherit: true, - abilities: {0: "Levitate", H: "Overclock"}, - }, - gallademega: { - inherit: true, - abilities: {0: "Overclock"}, - }, - exeggutoralola: { - inherit: true, - abilities: {0: "Frisk", 1: "Optimistic", H: "Harvest"}, - }, - infernape: { - inherit: true, - abilities: {0: "Blaze", H: "Overclock"}, - }, - blazikenmega: { - inherit: true, - abilities: {0: "Overclock"}, - }, - magearna: { - inherit: true, - abilities: {0: "Soul-Heart", H: "Overclock"}, - }, - magearnaoriginal: { - inherit: true, - abilities: {0: "Soul-Heart", H: "Overclock"}, - }, - dialga: { - inherit: true, - abilities: {0: "Pressure", 1: "Overclock", H: "Telepathy"}, - }, - slowbromega: { - inherit: true, - abilities: {0: "Prickly Coat"}, - }, - omastar: { - inherit: true, - abilities: {0: "Swift Swim", 1: "Prickly Coat", H: "Weak Armor"}, - }, - corsolagalar: { - inherit: true, - abilities: {0: "Weak Armor", 1: "Prickly Coat", H: "Cursed Body"}, - }, - cursola: { - inherit: true, - abilities: {0: "Weak Armor", 1: "Prickly Coat", H: "Perish Body"}, - }, - corsola: { - inherit: true, - abilities: {0: "Prickly Coat", 1: "Natural Cure", H: "Regenerator"}, - }, - qwilfish: { - inherit: true, - abilities: {0: "Prickly Coat", 1: "Swift Swim", H: "Intimidate"}, - }, - roselia: { - inherit: true, - abilities: {0: "Natural Cure", 1: "Prickly Coat", H: "Leaf Guard"}, - }, - roserade: { - inherit: true, - abilities: {0: "Natural Cure", 1: "Prickly Coat", H: "Technician"}, - }, - maractus: { - inherit: true, - abilities: {0: "Prickly Coat", 1: "Chlorophyll", H: "Storm Drain"}, - }, - chesnaught: { - inherit: true, - abilities: {0: "Overgrow", H: "Prickly Coat"}, - }, - sandslash: { - inherit: true, - abilities: {0: "Sand Veil", 1: "Prickly Coat", H: "Sand Rush"}, - }, - pincurchin: { - inherit: true, - abilities: {0: "Lightning Rod", 1: "Prickly Coat", H: "Electric Surge"}, - }, - jolteon: { - inherit: true, - abilities: {0: "Volt Absorb", 1: "Prickly Coat", H: "Power of Alchemy (Jolteon)"}, - }, - toxapex: { - inherit: true, - abilities: {0: "Merciless", 1: "Prickly Coat", H: "Regenerator"}, - }, - poipole: { - inherit: true, - abilities: {0: "Beast Boost", H: "Prickly Coat"}, - }, - naganadel: { - inherit: true, - abilities: {0: "Beast Boost", H: "Prickly Coat"}, - }, - bastiodon: { - inherit: true, - abilities: {0: "Sturdy", 1: "Sand Veil", H: "Soundproof"}, - }, - regirock: { - inherit: true, - abilities: {0: "Clear Body", 1: "Sand Veil", H: "Sturdy"}, - }, - vibrava: { - inherit: true, - abilities: {0: "Levitate", H: "Sand Veil"}, - }, - flygon: { - inherit: true, - abilities: {0: "Levitate", H: "Sand Veil"}, - }, - sandile: { - inherit: true, - abilities: {0: "Intimidate", 1: "Moxie", H: "Sand Veil"}, - }, - krokorok: { - inherit: true, - abilities: {0: "Intimidate", 1: "Moxie", H: "Sand Veil"}, - }, - krookodile: { - inherit: true, - abilities: {0: "Intimidate", 1: "Moxie", H: "Concussion"}, - }, - weezing: { - inherit: true, - abilities: {0: "Levitate", 1: "Neutralizing Gas", H: "Power of Alchemy (Weezing)"}, - }, - weezinggalar: { - inherit: true, - abilities: {0: "Levitate", 1: "Neutralizing Gas", H: "Power of Alchemy (Weezing)"}, - }, - slowkinggalar: { - inherit: true, - abilities: {0: "Curious Medicine", 1: "Power of Alchemy (Slowking-Galar)", H: "Regenerator"}, - }, - ditto: { - inherit: true, - abilities: {0: "Limber", 1: "Power of Alchemy (Ditto)", H: "Imposter"}, - }, - vanillite: { - inherit: true, - abilities: {0: "Ice Body", 1: "Snow Cloak", H: "Power of Alchemy (Vanillite)"}, - }, - vanillish: { - inherit: true, - abilities: {0: "Ice Body", 1: "Snow Cloak", H: "Power of Alchemy (Vanillite)"}, - }, - vanilluxe: { - inherit: true, - abilities: {0: "Ice Body", 1: "Snow Warning", H: "Power of Alchemy (Vanilluxe)"}, - }, - cyndaquil: { - inherit: true, - abilities: {0: "Blaze", H: "Magma Armor"}, - }, - quilava: { - inherit: true, - abilities: {0: "Blaze", H: "Magma Armor"}, - }, - typhlosion: { - inherit: true, - types: ["Fire", "Ground"], - abilities: {0: "Blaze", H: "Neuroforce"}, - }, - feraligatr: { - inherit: true, - types: ["Water", "Dark"], - }, - centiskorch: { - inherit: true, - abilities: {0: "Flash Fire", 1: "Intimidate", H: "Sticky Hold"}, - }, - houndoom: { - inherit: true, - abilities: {0: "Scavenge", 1: "Flash Fire", H: "Solar Power"}, - }, - houndoommega: { - inherit: true, - abilities: {0: "Sheer Force"}, - }, - blacephalon: { - inherit: true, - abilities: {0: "Beast Boost", H: "Regenerator"}, - }, - chandelure: { - inherit: true, - abilities: {0: "Flash Fire", 1: "Merciless", H: "Infiltrator"}, - }, - salazzle: { - inherit: true, - abilities: {0: "Corrosion", 1: "Merciless", H: "Oblivious"}, - }, - skorupi: { - inherit: true, - abilities: {0: "Buzz Off", 1: "Sniper", H: "Keen Eye"}, - }, - drapion: { - inherit: true, - abilities: {0: "Buzz Off", 1: "Sniper", H: "Merciless"}, - }, - trevenant: { - inherit: true, - abilities: {0: "Leaf Guard", 1: "Merciless", H: "Harvest"}, - }, - skuntank: { - inherit: true, - abilities: {0: "Neutralizing Gas", 1: "Aftermath", H: "Merciless"}, - }, - seviper: { - inherit: true, - abilities: {0: "Rivalry", 1: "Merciless", H: "Infiltrator"}, - }, - zangoose: { - inherit: true, - abilities: {0: "Rivalry", 1: "Immunity", H: "Toxic Boost"}, - }, - honchkrow: { - inherit: true, - abilities: {0: "Counterfeit", 1: "Merciless", H: "Moxie"}, - }, - smeargle: { - inherit: true, - abilities: {0: "Pastel Veil", 1: "Technician", H: "Moody"}, - }, - florges: { - inherit: true, - abilities: {0: "Flower Veil", 1: "Pastel Veil", H: "Symbiosis"}, - }, - sylveon: { - inherit: true, - abilities: {0: "Natural Cure", 1: "Pixilate", H: "Power of Alchemy (Sylveon)"}, - }, - vivillon: { - inherit: true, - abilities: {0: "Pastel Veil", 1: "Compound Eyes", H: "Friend Guard"}, - }, - bruxish: { - inherit: true, - abilities: {0: "Dazzling", 1: "Strong Jaw", H: "Pastel Veil"}, - }, - milotic: { - inherit: true, - abilities: {0: "Marvel Scale", 1: "Competitive", H: "Pastel Veil"}, - }, - kecleon: { - inherit: true, - abilities: {0: "Color Change", 1: "Pastel Veil", H: "Protean"}, - }, - aromatisse: { - inherit: true, - abilities: {0: "Unimpressed", 1: "Pastel Veil", H: "Aroma Veil"}, - }, - lilligant: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Optimistic", H: "Pastel Veil"}, - }, - calyrex: { - inherit: true, - abilities: {0: "Unnerve", H: "Neuroforce"}, - }, - uxie: { - inherit: true, - types: ["Psychic", "Steel"], - abilities: {0: "Levitate", 1: "Neuroforce", H: "Filter"}, - }, - necrozma: { - inherit: true, - abilities: {0: "Prism Armor", H: "Neuroforce"}, - }, - lapras: { - inherit: true, - abilities: {0: "Water Absorb", 1: "Neuroforce", H: "Hydration"}, - }, - psyduck: { - inherit: true, - abilities: {0: "Neuroforce", 1: "Cloud Nine", H: "Swift Swim"}, - }, - golduck: { - inherit: true, - abilities: {0: "Neuroforce", 1: "Vapor Control", H: "Swift Swim"}, - }, - nihilego: { - inherit: true, - abilities: {0: "Beast Boost", H: "Neuroforce"}, - }, - chatot: { - inherit: true, - abilities: {0: "Keen Eye", 1: "Tangled Feet", H: "Neuroforce"}, - }, - wishiwashischool: { - inherit: true, - types: ["Water", "Dragon"], - }, - paras: { - inherit: true, - abilities: {0: "Effect Spore", 1: "Dry Skin", H: "Buzz Off"}, - }, - parasect: { - inherit: true, - abilities: {0: "Effect Spore", 1: "Hydration", H: "Buzz Off"}, - }, - spinarak: { - inherit: true, - abilities: {0: "Buzz Off", 1: "Insomnia", H: "Sniper"}, - }, - ariados: { - inherit: true, - abilities: {0: "Buzz Off", 1: "Merciless", H: "Sniper"}, - }, - combee: { - inherit: true, - abilities: {0: "Honey Gather", 1: "Buzz Off", H: "Hustle"}, - }, - vespiquen: { - inherit: true, - abilities: {0: "Parental Bond", 1: "Buzz Off", H: "Honey Gather"}, - }, - sewaddle: { - inherit: true, - abilities: {0: "Swarm", 1: "Chlorophyll", H: "Buzz Off"}, - }, - swadloon: { - inherit: true, - abilities: {0: "Swarm", 1: "Chlorophyll", H: "Buzz Off"}, - }, - leavanny: { - inherit: true, - abilities: {0: "Parental Bond", 1: "Leaf Guard", H: "Buzz Off"}, - }, - joltik: { - inherit: true, - abilities: {0: "Compound Eyes", 1: "Unnerve", H: "Swarm"}, - }, - galvantula: { - inherit: true, - abilities: {0: "Compound Eyes", 1: "Unnerve", H: "Swarm"}, - }, - pheromosa: { - inherit: true, - abilities: {0: "Beast Boost", H: "Buzz Off"}, - }, - vikavolt: { - inherit: true, - abilities: {0: "Levitate", H: "Scavenge"}, - }, - starmie: { - inherit: true, - abilities: {0: "Gravitation", 1: "Natural Cure", H: "Analytic"}, - }, - forretress: { - inherit: true, - abilities: {0: "Sturdy", 1: "Gravitation", H: "Overcoat"}, - }, - steelixmega: { - inherit: true, - abilities: {0: "Gravitation"}, - }, - baltoy: { - inherit: true, - abilities: {0: "Levitate", 1: "Gravitation", H: "Water Compaction"}, - }, - claydol: { - inherit: true, - abilities: {0: "Levitate", 1: "Gravitation", H: "Water Compaction"}, - }, - torterra: { - inherit: true, - abilities: {0: "Overgrow", H: "Gravitation"}, - }, - cresselia: { - inherit: true, - types: ["Psychic", "Fairy"], - abilities: {0: "Levitate", 1: "Cloud Nine", H: "Gravitation"}, - }, - giratina: { - inherit: true, - abilities: {0: "Pressure", 1: "Gravitation", H: "Telepathy"}, - }, - elgyem: { - inherit: true, - abilities: {0: "Gravitation", 1: "Synchronize", H: "Analytic"}, - }, - beheeyem: { - inherit: true, - abilities: {0: "Gravitation", 1: "Synchronize", H: "Analytic"}, - }, - orbeetle: { - inherit: true, - abilities: {0: "Swarm", 1: "Frisk", H: "Gravitation"}, - }, - stonjourner: { - inherit: true, - abilities: {0: "Power Spot", H: "Gravitation"}, - }, - rhyhorn: { - inherit: true, - abilities: {0: "Lightning Rod", 1: "Rock Head", H: "Magma Armor"}, - }, - rhydon: { - inherit: true, - abilities: {0: "Lightning Rod", 1: "Rock Head", H: "Magma Armor"}, - }, - rhyperior: { - inherit: true, - abilities: {0: "Lightning Rod", 1: "Solid Rock", H: "Magma Armor"}, - }, - diglettalola: { - inherit: true, - abilities: {0: "Magma Armor", 1: "Tangling Hair", H: "Sand Force"}, - }, - dugtrioalola: { - inherit: true, - abilities: {0: "Magma Armor", 1: "Tangling Hair", H: "Sand Force"}, - }, - turtonator: { - inherit: true, - abilities: {0: "Shell Armor", 1: "Optimistic", H: "Magma Armor"}, - }, - entei: { - inherit: true, - abilities: {0: "Pressure", 1: "Magma Armor", H: "Inner Focus"}, - }, - suicune: { - inherit: true, - abilities: {0: "Pressure", 1: "Hydration", H: "Inner Focus"}, - }, - torkoal: { - inherit: true, - abilities: {0: "White Smoke", 1: "Drought", H: "Magma Armor"}, - }, - crustle: { - inherit: true, - abilities: {0: "Sturdy", 1: "Magma Armor", H: "Weak Armor"}, - }, - archeops: { - inherit: true, - abilities: {0: "Defeatist", H: "Early Bird"}, - }, - celesteela: { - inherit: true, - abilities: {0: "Beast Boost", H: "Flare Boost"}, - }, - zarude: { - inherit: true, - abilities: {0: "Natural Cure", H: "Leaf Guard"}, - }, - zarudedada: { - inherit: true, - abilities: {0: "Parental Bond", H: "Leaf Guard"}, - }, - shiftry: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Leaf Guard", H: "Optimistic"}, - }, - appletun: { - inherit: true, - abilities: {0: "Ripen", 1: "Leaf Guard", H: "Thick Fat"}, - }, - tropius: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Leaf Guard", H: "Harvest"}, - }, - exeggutor: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Leaf Guard", H: "Harvest"}, - }, - virizion: { - inherit: true, - abilities: {0: "Justified", H: "Leaf Guard"}, - }, - shayminsky: { - inherit: true, - abilities: {0: "Leaf Guard"}, - }, - victreebel: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Leaf Guard", H: "Gluttony"}, - }, - sirfetchd: { - inherit: true, - abilities: {0: "Steadfast", 1: "Leaf Guard", H: "Scrappy"}, - }, - banette: { - inherit: true, - abilities: {0: "Insomnia", 1: "Soul Link", H: "Cursed Body"}, - }, - spiritomb: { - inherit: true, - abilities: {0: "Pressure", 1: "Soul Link", H: "Wandering Spirit"}, - }, - hoopa: { - inherit: true, - abilities: {0: "Magician", H: "Wandering Spirit"}, - }, - hoopaunbound: { - inherit: true, - abilities: {0: "Magician", H: "Soul Link"}, - }, - honedge: { - inherit: true, - abilities: {0: "No Guard", 1: "Rivalry", H: "Soul Link"}, - }, - doublade: { - inherit: true, - abilities: {0: "No Guard", 1: "Rivalry", H: "Soul Link"}, - }, - dusclops: { - inherit: true, - types: ["Ghost", "Fighting"], - abilities: {0: "Pressure", 1: "Soul Link", H: "Iron Fist"}, - }, - dusknoir: { - inherit: true, - types: ["Ghost", "Fighting"], - abilities: {0: "Pressure", 1: "Soul Link", H: "Iron Fist"}, - }, - gardevoir: { - inherit: true, - abilities: {0: "Synchronize", 1: "Trace", H: "Soul Link"}, - }, - marowakalola: { - inherit: true, - abilities: {0: "Soul Link", 1: "Lightning Rod", H: "Rock Head"}, - }, - marowak: { - inherit: true, - abilities: {0: "Wandering Spirit", 1: "Lightning Rod", H: "Battle Armor"}, - }, - cofagrigus: { - inherit: true, - abilities: {0: "Mummy", H: "Wandering Spirit"}, - }, - goodra: { - inherit: true, - types: ["Dragon", "Poison"], - abilities: {0: "Sticky Hold", 1: "Neuroforce", H: "Gooey"}, - }, - sliggoo: { - inherit: true, - types: ["Dragon", "Poison"], - abilities: {0: "Sticky Hold", 1: "Hydration", H: "Gooey"}, - }, - dodrio: { - inherit: true, - types: ["Ground", "Flying"], - abilities: {0: "Analytic", 1: "Early Bird", H: "Moody"}, - }, - beedrillmega: { - inherit: true, - types: ["Bug", "Ground"], - abilities: {0: "Adaptability"}, - }, - heracross: { - inherit: true, - abilities: {0: "Honey Gather", 1: "Guts", H: "Moxie"}, - }, - beautifly: { - inherit: true, - abilities: {0: "Swarm", 1: "Honey Gather", H: "Rivalry"}, - }, - dustox: { - inherit: true, - abilities: {0: "Shield Dust", 1: "Honey Gather", H: "Compound Eyes"}, - }, - cherubi: { - inherit: true, - abilities: {0: "Chlorophyll", H: "Honey Gather"}, - }, - snorlax: { - inherit: true, - abilities: {0: "Honey Gather", 1: "Thick Fat", H: "Gluttony"}, - }, - ursaring: { - inherit: true, - abilities: {0: "Guts", 1: "Quick Feet", H: "Honey Gather"}, - }, - surskit: { - inherit: true, - abilities: {0: "Swift Swim", 1: "Honey Gather", H: "Rain Dish"}, - }, - masquerain: { - inherit: true, - abilities: {0: "Intimidate", 1: "Honey Gather", H: "Unnerve"}, - }, - burmy: { - inherit: true, - abilities: {0: "Shed Skin", 1: "Honey Gather", H: "Overcoat"}, - }, - wormadam: { - inherit: true, - abilities: {0: "Simple", 1: "Honey Gather", H: "Overcoat"}, - }, - wormadamsandy: { - inherit: true, - abilities: {0: "Fur Coat", 1: "Honey Gather", H: "Overcoat"}, - }, - wormadamtrash: { - inherit: true, - abilities: {0: "Thick Fat", 1: "Honey Gather", H: "Overcoat"}, - }, - mothim: { - inherit: true, - abilities: {0: "Swarm", 1: "Honey Gather", H: "Tinted Lens"}, - }, - armaldo: { - inherit: true, - abilities: {0: "Battle Armor", 1: "Hydration", H: "Swift Swim"}, - }, - politoed: { - inherit: true, - abilities: {0: "Hydration", 1: "Damp", H: "Drizzle"}, - }, - kangaskhan: { - inherit: true, - abilities: {0: "Early Bird", 1: "Scrappy", H: "Parental Bond"}, - }, - eelektross: { - inherit: true, - types: ["Electric", "Poison"], - abilities: {0: "Levitate", 1: "Neuroforce", H: "Swift Swim"}, - }, - audinomega: { - inherit: true, - abilities: {0: "Fairy Aura"}, - }, - guzzlord: { - inherit: true, - abilities: {0: "Beast Boost", H: "Honey Gather"}, - }, - breloom: { - inherit: true, - abilities: {0: "Toxic Boost", 1: "Technician", H: "Poison Heal"}, - }, - hariyama: { - inherit: true, - abilities: {0: "Thick Fat", 1: "Toxic Boost", H: "Sheer Force"}, - }, - gligar: { - inherit: true, - abilities: {0: "Hyper Cutter", 1: "Sand Veil", H: "Toxic Boost"}, - }, - seismitoad: { - inherit: true, - abilities: {0: "Swift Swim", 1: "Toxic Boost", H: "Water Absorb"}, - }, - heliolisk: { - inherit: true, - abilities: {0: "Dry Skin", 1: "Flare Boost", H: "Solar Power"}, - }, - sunflora: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Optimistic", H: "Flare Boost"}, - }, - darmanitan: { - inherit: true, - abilities: {0: "Sheer Force", 1: "Gorilla Tactics", H: "Zen Mode"}, - }, - darmanitanzen: { - inherit: true, - abilities: {0: "Sheer Force", 1: "Gorilla Tactics", H: "Zen Mode"}, - }, - primeape: { - inherit: true, - abilities: {0: "Vital Spirit", 1: "Gorilla Tactics", H: "Defiant"}, - }, - oranguru: { - inherit: true, - abilities: {0: "Inner Focus", 1: "Gorilla Tactics", H: "Symbiosis"}, - }, - bewear: { - inherit: true, - abilities: {0: "Fluffy", 1: "Concussion", H: "Unnerve"}, - }, - terrakion: { - inherit: true, - abilities: {0: "Justified", H: "Concussion"}, - }, - pangoro: { - inherit: true, - abilities: {0: "Iron Fist", 1: "Concussion", H: "Scrappy"}, - }, - scrafty: { - inherit: true, - abilities: {0: "Shed Skin", 1: "Moxie", H: "Concussion"}, - }, - eternatus: { - inherit: true, - abilities: {0: "Pressure", H: "Concussion"}, - }, - swoobat: { - inherit: true, - abilities: {0: "Concussion", 1: "Klutz", H: "Simple"}, - }, - druddigon: { - inherit: true, - abilities: {0: "Rough Skin", 1: "Sheer Force", H: "Concussion"}, - }, - victini: { - inherit: true, - abilities: {0: "Victory Star", H: "Neuroforce"}, - }, - garchompmega: { - inherit: true, - abilities: {0: "Neuroforce"}, - }, - raikou: { - inherit: true, - abilities: {0: "Pressure", 1: "Neuroforce", H: "Inner Focus"}, - }, - banettemega: { - inherit: true, - types: ["Ghost", "Steel"], - abilities: {0: "Counterfeit"}, - }, - silvally: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - typenull: { - inherit: true, - abilities: {0: "Battle Armor", 1: "Pressure", H: "Power of Alchemy (Type: Null)"}, - }, - gyaradosmega: { - inherit: true, - abilities: {0: "Rain Dish"}, - }, - amoonguss: { - inherit: true, - abilities: {0: "Effect Spore", 1: "Counterfeit", H: "Regenerator"}, - }, - klefki: { - inherit: true, - abilities: {0: "Prankster", 1: "Counterfeit", H: "Magician"}, - }, - liepard: { - inherit: true, - abilities: {0: "Counterfeit", 1: "Unburden", H: "Prankster"}, - }, - stunfiskgalar: { - inherit: true, - abilities: {0: "Mimicry", H: "Counterfeit"}, - }, - sudowoodo: { - inherit: true, - abilities: {0: "Counterfeit", 1: "Rock Head", H: "Rattled"}, - }, - grimmsnarl: { - inherit: true, - abilities: {0: "Prankster", 1: "Counterfeit", H: "Pickpocket"}, - }, - absol: { - inherit: true, - abilities: {0: "Scavenge", 1: "Super Luck", H: "Justified"}, - }, - luxray: { - inherit: true, - abilities: {0: "Scavenge", 1: "Intimidate", H: "Guts"}, - }, - mandibuzz: { - inherit: true, - abilities: {0: "Big Pecks", 1: "Overcoat", H: "Scavenge"}, - }, - mightyena: { - inherit: true, - abilities: {0: "Intimidate", 1: "Quick Feet", H: "Scavenge"}, - }, - purugly: { - inherit: true, - abilities: {0: "Scavenge", 1: "Unimpressed", H: "Defiant"}, - }, - raticate: { - inherit: true, - abilities: {0: "Scavenge", 1: "Guts", H: "Hustle"}, - }, - raticatealola: { - inherit: true, - abilities: {0: "Scavenge", 1: "Hustle", H: "Thick Fat"}, - }, - staraptor: { - inherit: true, - abilities: {0: "Intimidate", 1: "Scavenge", H: "Reckless"}, - }, - remoraid: { - inherit: true, - abilities: {0: "Scavenge", 1: "Sniper", H: "Moody"}, - }, - octillery: { - inherit: true, - abilities: {0: "Scavenge", 1: "Sniper", H: "Moody"}, - }, - sneasel: { - inherit: true, - abilities: {0: "Inner Focus", 1: "Keen Eye", H: "Snow Cloak"}, - }, - weavile: { - inherit: true, - abilities: {0: "Pressure", 1: "Pickpocket", H: "Snow Cloak"}, - }, - linoone: { - inherit: true, - abilities: {0: "Scavenge", 1: "Gluttony", H: "Quick Feet"}, - }, - whiscash: { - inherit: true, - abilities: {0: "Unimpressed", 1: "Anticipation", H: "Hydration"}, - }, - vileplume: { - inherit: true, - abilities: {0: "Chlorophyll", 1: "Unimpressed", H: "Effect Spore"}, - }, - empoleon: { - inherit: true, - abilities: {0: "Torrent", H: "Competitive"}, - }, - espurr: { - inherit: true, - abilities: {0: "Keen Eye", 1: "Infiltrator", H: "Unimpressed"}, - }, - tsareena: { - inherit: true, - abilities: {0: "Leaf Guard", 1: "Queenly Majesty", H: "Unimpressed"}, - }, - wailord: { - inherit: true, - abilities: {0: "Water Veil", 1: "Unimpressed", H: "Pressure"}, - }, - mudsdale: { - inherit: true, - abilities: {0: "Unimpressed", 1: "Stamina", H: "Inner Focus"}, - }, - cobalion: { - inherit: true, - abilities: {0: "Justified", H: "Unimpressed"}, - }, - lickilicky: { - inherit: true, - abilities: {0: "Unimpressed", 1: "Oblivious", H: "Cloud Nine"}, - }, - musharna: { - inherit: true, - abilities: {0: "Forewarn", 1: "Synchronize", H: "Unimpressed"}, - }, - vaporeon: { - inherit: true, - abilities: {0: "Water Absorb", 1: "Hydration", H: "Power of Alchemy (Vaporeon)"}, - }, - flareon: { - inherit: true, - abilities: {0: "Flash Fire", 1: "Fluffy", H: "Power of Alchemy (Flareon)"}, - }, - espeon: { - inherit: true, - abilities: {0: "Analytic", 1: "Magic Bounce", H: "Power of Alchemy (Espeon)"}, - }, - leafeon: { - inherit: true, - abilities: {0: "Leaf Guard", 1: "Chlorophyll", H: "Power of Alchemy (Leafeon)"}, - }, - glaceon: { - inherit: true, - abilities: {0: "Snow Cloak", 1: "Snow Warning", H: "Power of Alchemy (Glaceon)"}, - }, - keldeo: { - inherit: true, - abilities: {0: "Justified", H: "Vapor Control"}, - }, - keldeoresolute: { - inherit: true, - abilities: {0: "Justified", H: "Vapor Control"}, - }, - gastrodon: { - inherit: true, - abilities: {0: "Sticky Hold", 1: "Storm Drain", H: "Vapor Control"}, - }, - swanna: { - inherit: true, - abilities: {0: "Vapor Control", 1: "Big Pecks", H: "Hydration"}, - }, - volcanion: { - inherit: true, - abilities: {0: "Water Absorb", H: "Vapor Control"}, - }, - walrein: { - inherit: true, - abilities: {0: "Thick Fat", 1: "Ice Body", H: "Vapor Control"}, - }, - floatzel: { - inherit: true, - abilities: {0: "Swift Swim", 1: "Vapor Control", H: "Water Veil"}, - }, - cloyster: { - inherit: true, - abilities: {0: "Vapor Control", 1: "Skill Link", H: "Overcoat"}, - }, - pyroar: { - inherit: true, - abilities: {0: "Rivalry", 1: "Optimistic", H: "Moxie"}, - }, - crobat: { - inherit: true, - abilities: {0: "Inner Focus", 1: "Optimistic", H: "Infiltrator"}, - }, - noivern: { - inherit: true, - abilities: {0: "Frisk", 1: "Optimistic", H: "Scavenge"}, - }, - meloetta: { - inherit: true, - abilities: {0: "Serene Grace", H: "Optimistic"}, - }, - meloettapirouette: { - inherit: true, - abilities: {0: "Serene Grace", H: "Optimistic"}, - }, - sceptilemega: { - inherit: true, - abilities: {0: "Optimistic"}, - }, - kartana: { - inherit: true, - abilities: {0: "Beast Boost", H: "Light Power"}, - }, - salamence: { - inherit: true, - abilities: {0: "Intimidate", 1: "Rivalry", H: "Moxie"}, - }, - girafarig: { - inherit: true, - abilities: {0: "Inner Focus", 1: "Rivalry", H: "Sap Sipper"}, - }, - fearow: { - inherit: true, - abilities: {0: "Keen Eye", 1: "Rivalry", H: "Sniper"}, - }, - tauros: { - inherit: true, - abilities: {0: "Intimidate", 1: "Rivalry", H: "Sheer Force"}, - }, - basculin: { - inherit: true, - abilities: {0: "Reckless", 1: "Adaptability", H: "Rivalry"}, - }, - basculinbluestriped: { - inherit: true, - abilities: {0: "Rock Head", 1: "Adaptability", H: "Rivalry"}, - }, - arctovish: { - inherit: true, - abilities: {0: "Water Absorb", 1: "Snow Cloak", H: "Slush Rush"}, - }, - darmanitangalar: { - inherit: true, - abilities: {0: "Gorilla Tactics", 1: "Snow Cloak", H: "Zen Mode"}, - }, - darmanitangalarzen: { - inherit: true, - abilities: {0: "Gorilla Tactics", 1: "Snow Cloak", H: "Zen Mode"}, - }, - xurkitree: { - inherit: true, - abilities: {0: "Beast Boost", H: "Counterfeit"}, - }, - stakataka: { - inherit: true, - abilities: {0: "Beast Boost", H: "Sand Veil"}, - }, - diancie: { - inherit: true, - abilities: {0: "Clear Body", H: "Sand Veil"}, - }, - carbink: { - inherit: true, - abilities: {0: "Clear Body", 1: "Sturdy", H: "Sand Veil"}, - }, - shuckle: { - inherit: true, - abilities: {0: "Sturdy", 1: "Sand Veil", H: "Contrary"}, - }, - // silvally moment - silvallybug: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallydark: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallydragon: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyelectric: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyfairy: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyfighting: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyfire: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyflying: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyghost: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallygrass: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyground: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyice: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallypoison: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallypsychic: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallyrock: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallysteel: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, - silvallywater: { - inherit: true, - abilities: {0: "RKS System", 1: "Download", H: "Power of Alchemy (Silvally)"}, - }, -}; diff --git a/data/mods/gen8joltemons/random-data.json b/data/mods/gen8joltemons/random-data.json deleted file mode 100644 index feccafa1f145..000000000000 --- a/data/mods/gen8joltemons/random-data.json +++ /dev/null @@ -1,1850 +0,0 @@ -{ - "venusaur": { - "moves": ["sunnyday", "weatherball", "solarbeam", "earthpower"] - }, - "venusaurmega": { - "moves": ["rashpowder", "sludgebomb", "gigadrain", "synthesis"] - }, - "charizard": { - "moves": ["roost", "fireblast", "hurricane", "defog"] - }, - "charizardmegax": { - "moves": ["dragondance", "flareblitz", "dragonclaw", "thunderpunch"] - }, - "charizardmegay": { - "moves": ["weatherball", "focusblast", "solarbeam", "roost"] - }, - "blastoise": { - "moves": ["scald", "rapidspin", "lifedew", "flipturn"] - }, - "butterfree": { - "moves": ["quiverdance", "hurricane", "substitute", "sleeppowder"] - }, - "beedrillmega": { - "moves": ["uturn", "knockoff", "mudspike", "toxicthread"] - }, - "beedrill": { - "moves": ["swordsdance", "poisondart", "xscissor", "mudspike"] - }, - "pidgeot": { - "moves": ["doubleedge", "bravebird", "uturn", "quickattack"] - }, - "pidgeotmega": { - "moves": ["heatwave", "hurricane", "roost", "uturn"] - }, - "raticate": { - "moves": ["facade", "uturn", "suckerpunch", "stompingtantrum"] - }, - "raticatealola": { - "moves": ["swordsdance", "knockoff", "suckerpunch", "doubleedge"] - }, - "fearow": { - "moves": ["bravebird", "drillrun", "uturn", "rapidspin"] - }, - "arbok": { - "moves": ["coil", "gunkshot", "earthquake", "suckerpunch"] - }, - "pikachu": { - "moves": ["electroball", "petaldance", "surf", "voltswitch"] - }, - "raichu": { - "moves": ["volttackle", "fakeout", "extremespeed", "knockoff"] - }, - "raichualola": { - "moves": ["electroball", "psychic", "focusblast", "nastyplot"] - }, - "sandslashalola": { - "moves": ["swordsdance", "earthquake", "tripleaxel", "ironhead"] - }, - "sandslash": { - "moves": ["aridabsorption", "earthquake", "knockoff", "swordsdance"] - }, - "nidoqueen": { - "moves": ["acidicfists", "mudspike", "poisondart", "firepunch"] - }, - "nidoking": { - "moves": ["acidicfists", "mudspike", "poisondart", "icepunch"] - }, - "clefable": { - "moves": ["moonblast", "lifedew", "stealthrock", "flamethrower"] - }, - "ninetalesalola": { - "moves": ["auroraveil", "blizzard", "moonblast", "freezedry"] - }, - "ninetales": { - "moves": ["nastyplot", "fireblast", "solarbeam", "scorchingsands"] - }, - "wigglytuff": { - "moves": ["geomancy", "dazzlinggleam", "focusblast", "thunderbolt"] - }, - "vileplume": { - "moves": ["rashpowder", "strengthsap", "sludgebomb", "gigadrain"] - }, - "parasect": { - "moves": ["spore", "leechlife", "mudspike", "synthesis"] - }, - "venomoth": { - "moves": ["quiverdance", "sleeppowder", "bugbuzz", "sludgebomb"] - }, - "dugtrioalola": { - "moves": ["earthquake", "stoneedge", "suckerpunch", "ironhead"] - }, - "dugtrio": { - "moves": ["earthquake", "stoneedge", "suckerpunch", "memento"] - }, - "persian": { - "moves": ["fakeout", "doubleedge", "crushclaw", "uturn"] - }, - "persianalola": { - "moves": ["darkpulse", "trashtalk", "nastyplot", "thunderbolt"] - }, - "golduck": { - "moves": ["hydropump", "icebeam", "petaldance", "flipturn", "focusblast"] - }, - "primeape": { - "moves": ["closecombat", "aggravate", "uturn", "gunkshot"] - }, - "arcanine": { - "moves": ["flareblitz", "closecombat", "extremespeed", "morningsun"] - }, - "poliwrath": { - "moves": ["liquidation", "closecombat", "acidicfists", "flipturn"] - }, - "alakazam": { - "moves": ["psychic", "focusblast", "dazzlinggleam", "calmmind"] - }, - "alakazammega": { - "moves": ["psychic", "shadowball", "focusblast", "recover"] - }, - "machamp": { - "moves": ["dynamicpunch", "stoneedge", "bulletpunch", "knockoff"] - }, - "victreebel": { - "moves": ["swordsdance", "powerwhip", "poisonjab", "mudspike"] - }, - "tentacruel": { - "moves": ["scald", "rapidspin", "knockoff", "sludgebomb"] - }, - "golem": { - "moves": ["stealthrock", "stoneedge", "earthquake", "rapidspin"] - }, - "golemalola": { - "moves": ["lightninglance", "firepunch", "earthquake", "rapidspin"] - }, - "rapidash": { - "moves": ["swordsdance", "flareblitz", "highhorsepower", "wildcharge"] - }, - "rapidashgalar": { - "moves": ["swordsdance", "playrough", "highhorsepower", "morningsun"] - }, - "slowbromega": { - "moves": ["scald", "futuresight", "slackoff", "teleport"] - }, - "slowbro": { - "moves": ["scald", "futuresight", "slackoff", "teleport"] - }, - "slowbrogalar": { - "moves": ["nastyplot", "shellsidearm", "psychic", "focusblast"] - }, - "magneton": { - "moves": ["thunderbolt", "flashcannon", "hiddenpowerfire", "voltswitch"] - }, - "farfetchd": { - "moves": ["bravebird", "closecombat", "uturn", "leafblade"] - }, - "dodrio": { - "moves": ["earthquake", "bravebird", "tripleaxel", "jumpkick"] - }, - "dewgong": { - "moves": ["whirlpool", "lifedew", "perishsong", "protect"] - }, - "muk": { - "moves": ["recover", "acidicfists", "mudspike", "curse"] - }, - "mukalola": { - "moves": ["knockoff", "recover", "acidicfists", "pursuit"] - }, - "cloyster": { - "moves": ["shellsmash", "iciclespear", "rockblast", "liquidation"] - }, - "gengar": { - "moves": ["shadowball", "sludgewave", "nastyplot", "focusblast"] - }, - "gengarmega": { - "moves": ["hex", "trashtalk", "substitute", "toxic"] - }, - "hypno": { - "moves": ["bellydrum", "zenheadbutt", "hypnosis", "drainpunch"] - }, - "kingler": { - "moves": ["liquidation", "mudspike", "rockslide", "swordsdance"] - }, - "electrode": { - "moves": ["electroball", "rapidspin", "technoblast", "voltswitch"] - }, - "exeggutoralola": { - "moves": ["leafstorm", "dracometeor", "flamethrower", "trickroom"] - }, - "exeggutor": { - "moves": ["leafstorm", "psychic", "hiddenpowerfire", "gigadrain"] - }, - "marowakalola": { - "moves": ["bonemerang", "poltergeist", "flareblitz", "swordsdance"] - }, - "marowak": { - "moves": ["bonemerang", "earthquake", "knockoff", "swordsdance"] - }, - "hitmonlee": { - "moves": ["closecombat", "knockoff", "stoneedge", "poisonjab"] - }, - "hitmonchan": { - "moves": ["drainpunch", "shadowpunch", "machpunch", "icepunch"] - }, - "weezing": { - "moves": ["trashtalk", "flamethrower", "willowisp", "painsplit"] - }, - "weezinggalar": { - "moves": ["strangesteam", "willowisp", "sludgebomb", "defog"] - }, - "rhydon": { - "moves": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] - }, - "chansey": { - "moves": ["softboiled", "teleport", "toxic", "seismictoss"] - }, - "kangaskhan": { - "moves": ["fakeout", "doubleedge", "suckerpunch", "poweruppunch"] - }, - "kangaskhanmega": { - "moves": ["fakeout", "suckerpunch", "doubleedge", "poweruppunch"] - }, - "seaking": { - "moves": ["swordsdance", "waterfall", "lightninglance", "megahorn"] - }, - "starmie": { - "moves": ["hydropump", "blizzard", "flipturn", "thunder"] - }, - "mrmime": { - "moves": ["trick", "focusblast", "dazzlinggleam", "psychic"] - }, - "mrmimegalar": { - "moves": ["focusblast", "freezedry", "nastyplot", "psychic", "rapidspin"] - }, - "scyther": { - "moves": ["dualwingbeat", "uturn", "swordsdance", "knockoff"] - }, - "jynx": { - "moves": ["lovelykiss", "snowmanjazz", "focusblast", "nastyplot"] - }, - "pinsir": { - "moves": ["swordsdance", "xscissor", "closecombat", "earthquake"] - }, - "pinsirmega": { - "moves": ["swordsdance", "quickattack", "closecombat", "doubleedge"] - }, - "tauros": { - "moves": ["bodyslam", "aggravate", "closecombat", "ironhead"] - }, - "gyaradosmega": { - "moves": ["waterfall", "crunch", "rapidspin", "lifedew"] - }, - "gyarados": { - "moves": ["dragondance", "waterfall", "earthquake", "powerwhip"] - }, - "lapras": { - "moves": ["meltingpoint", "icebeam", "thunderbolt", "lifedew"] - }, - "ditto": { - "moves": ["transform"] - }, - "vaporeon": { - "moves": ["scald", "teleport", "lifedew", "toxic"] - }, - "jolteon": { - "moves": ["thunderbolt", "buzzybuzz", "aurorabeam", "spikes", "voltswitch"] - }, - "flareon": { - "moves": ["firelash", "morningsun", "teleport", "sizzlyslide"] - }, - "omastar": { - "moves": ["shellsmash", "earthpower", "hydropump", "icebeam"] - }, - "kabutops": { - "moves": ["swordsdance", "liquidation", "stoneedge", "superpower"] - }, - "aerodactyl": { - "moves": ["dragondance", "stoneedge", "dualwingbeat", "icefang"] - }, - "aerodactylmega": { - "moves": ["dualwingbeat", "stoneedge", "earthquake", "roost"] - }, - "snorlax": { - "moves": ["bodyslam", "curse", "payback", "earthquake"] - }, - "articunogalar": { - "moves": ["hurricane", "defog", "recover", "uturn"] - }, - "articuno": { - "moves": ["meltingpoint", "freezedry", "hurricane", "uturn"] - }, - "zapdosgalar": { - "moves": ["thunderouskick", "bravebird", "crushclaw", "uturn"] - }, - "zapdos": { - "moves": ["thunderbolt", "hurricane", "heatwave", "uturn"] - }, - "moltresgalar": { - "moves": ["fierywrath", "toxic", "defog", "uturn"] - }, - "moltres": { - "moves": ["roost", "fireblast", "hurricane", "hiddenpowergrass"] - }, - "dragonite": { - "moves": ["dragondance", "dualwingbeat", "firepunch", "icepunch"] - }, - "mew": { - "moves": ["nastyplot", "psychic", "focusblast", "thunder"] - }, - "meganium": { - "moves": ["curse", "lifedew", "petalblizzard", "earthquake"] - }, - "typhlosion": { - "moves": ["eruption", "fireblast", "earthpower", "meteorbeam"] - }, - "feraligatr": { - "moves": ["swordsdance", "liquidation", "aggravate", "suckerpunch"] - }, - "furret": { - "moves": ["coil", "doubleedge", "knockoff", "firepunch"] - }, - "noctowl": { - "moves": ["nastyplot", "hurricane", "roost", "heatwave"] - }, - "ledian": { - "moves": ["reflect", "lightscreen", "uturn", "skysoiree"] - }, - "ariados": { - "moves": ["stickyweb", "megahorn", "toxicthread", "suckerpunch"] - }, - "crobat": { - "moves": ["crosspoison", "curse", "bravebird", "aggravate"] - }, - "lanturn": { - "moves": ["scald", "voltswitch", "protect", "toxic", "discharge"] - }, - "xatu": { - "moves": ["psychic", "roost", "teleport", "heatwave"] - }, - "ampharos": { - "moves": ["slackoff", "discharge", "hiddenpowerice", "voltswitch"] - }, - "ampharosmega": { - "moves": ["slackoff", "dracometeor", "focusblast", "thunderbolt"] - }, - "bellossom": { - "moves": ["quiverdance", "strengthsap", "gigadrain", "moonlitwaltz"] - }, - "azumarill": { - "moves": ["bellydrum", "aquajet", "enchantedpunch", "mudspike"] - }, - "sudowoodo": { - "moves": ["headsmash", "stealthrock", "earthquake", "woodhammer"] - }, - "politoed": { - "moves": ["scald", "lifedew", "icebeam", "flipturn"] - }, - "jumpluff": { - "moves": ["skysoiree", "uturn", "strengthsap", "sleeppowder"] - }, - "sunflora": { - "moves": ["leafstorm", "earthpower", "hiddenpowerfire", "gigadrain"] - }, - "quagsire": { - "moves": ["scald", "earthquake", "recover", "curse"] - }, - "espeon": { - "moves": ["psychic", "focusblast", "meteorbeam", "shadowball"] - }, - "umbreon": { - "moves": ["aggravate", "toxicthread", "teleport", "moonlight"] - }, - "slowkinggalar": { - "moves": ["futuresight", "sludgebomb", "scald", "fireblast"] - }, - "slowking": { - "moves": ["scald", "futuresight", "slackoff", "teleport"] - }, - "unown": { - "moves": ["hiddenpowerpsychic"] - }, - "wobbuffet": { - "moves": ["counter", "mirrorcoat", "encore", "destinybond"] - }, - "girafarig": { - "moves": ["nastyplot", "hypervoice", "psychic", "focusblast"] - }, - "forretress": { - "moves": ["spikes", "rapidspin", "voltswitch", "gyroball"] - }, - "dunsparce": { - "moves": ["coil", "glare", "headbutt", "roost"] - }, - "steelixmega": { - "moves": ["aridabsorption", "stealthrock", "irontail", "earthquake"] - }, - "steelix": { - "moves": ["aridabsorption", "curse", "heavyslam", "earthquake"] - }, - "granbull": { - "moves": ["smother", "thunderwave", "earthquake", "healbell"] - }, - "qwilfish": { - "moves": ["swordsdance", "liquidation", "poisondart", "mudspike"] - }, - "scizor": { - "moves": ["swordsdance", "bulletpunch", "uturn", "knockoff"] - }, - "scizormega": { - "moves": ["bulkup", "bulletpunch", "knockoff", "roost"] - }, - "shuckle": { - "moves": ["aridabsorption", "stealthrock", "toxicthread", "knockoff"] - }, - "heracross": { - "moves": ["swordsdance", "megahorn", "closecombat", "knockoff"] - }, - "heracrossmega": { - "moves": ["armthrust", "pinmissile", "knockoff", "swordsdance"] - }, - "sneasel": { - "moves": ["knockoff", "tripleaxel", "iceshard", "pursuit"] - }, - "ursaring": { - "moves": ["facade", "closecombat", "payback", "swordsdance"] - }, - "magcargo": { - "moves": ["lavaplume", "earthpower", "recover", "stealthrock"] - }, - "corsolagalar": { - "moves": ["stealthrock", "nightshade", "willowisp", "strengthsap"] - }, - "corsola": { - "moves": ["stealthrock", "lifedew", "scald", "earthpower"] - }, - "octillery": { - "moves": ["hydropump", "fireblast", "icebeam", "energyball"] - }, - "delibird": { - "moves": ["spikes", "tripleaxel", "bravebird", "drillrun"] - }, - "mantine": { - "moves": ["scald", "roost", "toxic", "defog"] - }, - "skarmory": { - "moves": ["bodypress", "roost", "spikes", "irondefense"] - }, - "houndoom": { - "moves": ["darkpulse", "fireblast", "trashtalk", "hiddenpowergrass"] - }, - "houndoommega": { - "moves": ["darkpulse", "fireblast", "trashtalk", "nastyplot"] - }, - "kingdra": { - "moves": ["hydropump", "icebeam", "dracometeor", "flipturn"] - }, - "donphan": { - "moves": ["earthquake", "knockoff", "rapidspin", "iceshard"] - }, - "porygon2": { - "moves": ["icebeam", "foulplay", "recover", "thunderwave"] - }, - "stantler": { - "moves": ["doubleedge", "suckerpunch", "earthquake", "jumpkick"] - }, - "smeargle": { - "moves": ["stickyweb", "stealthrock", "spore", "rapidspin"] - }, - "hitmontop": { - "moves": ["rapidspin", "tripleaxel", "closecombat", "payback"] - }, - "miltank": { - "moves": ["milkdrink", "bodyslam", "curse", "bodypress"] - }, - "blissey": { - "moves": ["lifedew", "teleport", "stealthrock", "counterspell"] - }, - "raikou": { - "moves": ["thunderbolt", "aurorabeam", "aurasphere", "voltswitch"] - }, - "entei": { - "moves": ["sacredfire", "extremespeed", "stoneedge", "flareblitz"] - }, - "suicune": { - "moves": ["calmmind", "scald", "substitute", "protect"] - }, - "tyranitar": { - "moves": ["stealthrock", "stoneedge", "crunch", "pursuit"] - }, - "tyranitarmega": { - "moves": ["dragondance", "stoneedge", "crunch", "icepunch"] - }, - "celebi": { - "moves": ["leafstorm", "earthpower", "nastyplot", "psychic"] - }, - "sceptilemega": { - "moves": ["leafstorm", "dragonpulse", "focusblast", "toxic"] - }, - "sceptile": { - "moves": ["swordsdance", "earthquake", "leafblade", "rockslide"] - }, - "blazikenmega": { - "moves": ["overheat", "closecombat", "uturn", "protect"] - }, - "blaziken": { - "moves": ["flareblitz", "closecombat", "thunderpunch", "swordsdance"] - }, - "swampert": { - "moves": ["flipturn", "earthquake", "toxic", "stealthrock"] - }, - "swampertmega": { - "moves": ["liquidation", "flipturn", "earthquake", "acidicfists"] - }, - "mightyena": { - "moves": ["aggravate", "suckerpunch", "irontail", "playrough"] - }, - "linoone": { - "moves": ["bellydrum", "extremespeed", "seedbomb", "stompingtantrum"] - }, - "beautifly": { - "moves": ["quiverdance", "skysoiree", "bugbuzz", "hiddenpowerground"] - }, - "dustox": { - "moves": ["rashpowder", "venoshock", "roost", "moonlitwaltz"] - }, - "ludicolo": { - "moves": ["hydropump", "petaldance", "icebeam", "flipturn"] - }, - "shiftry": { - "moves": ["leafstorm", "moonlitwaltz", "focusblast", "nastyplot"] - }, - "swellow": { - "moves": ["boomburst", "hurricane", "heatwave", "uturn"] - }, - "pelipper": { - "moves": ["scald", "roost", "defog", "uturn"] - }, - "gardevoir": { - "moves": ["trick", "psychic", "moonblast", "mysticalfire"] - }, - "gardevoirmega": { - "moves": ["hypervoice", "rapidspin", "psyshock", "focusblast"] - }, - "masquerain": { - "moves": ["stickyweb", "skysoiree", "hydropump", "quiverdance"] - }, - "breloom": { - "moves": ["swordsdance", "spore", "machpunch", "bulletseed"] - }, - "slaking": { - "moves": ["doubleedge", "aggravate", "earthquake", "lowkick"] - }, - "ninjask": { - "moves": ["swordsdance", "uturn", "dualwingbeat", "mudspike"] - }, - "shedinja": { - "moves": ["hex", "toxic", "curse", "protect"] - }, - "exploud": { - "moves": ["boomburst", "focusblast", "overheat", "hydropump"] - }, - "hariyama": { - "moves": ["closecombat", "fakeout", "icepunch", "knockoff"] - }, - "delcatty": { - "moves": ["fakeout", "doubleedge", "suckerpunch", "thunderwave"] - }, - "sableye": { - "moves": ["recover", "substitute", "knockoff", "curse"] - }, - "sableyemega": { - "moves": ["recover", "knockoff", "willowisp", "taunt"] - }, - "mawile": { - "moves": ["stealthrock", "playrough", "superfang", "toxic"] - }, - "mawilemega": { - "moves": ["enchantedpunch", "icepunch", "thunderpunch", "firefang"] - }, - "aggron": { - "moves": ["headsmash", "heavyslam", "earthquake", "icepunch"] - }, - "aggronmega": { - "moves": ["reconstruct", "stealthrock", "heavyslam", "earthquake"] - }, - "medicham": { - "moves": ["fakeout", "highjumpkick", "enchantedpunch", "icepunch"] - }, - "medichammega": { - "moves": ["fakeout", "highjumpkick", "shadowpunch", "skyuppercut"] - }, - "manectric": { - "moves": ["thunderbolt", "overheat", "voltswitch", "switcheroo"] - }, - "manectricmega": { - "moves": ["thunderbolt", "overheat", "hiddenpowerice", "voltswitch"] - }, - "plusle": { - "moves": ["nastyplot", "thunderbolt", "hiddenpowerice", "grassknot"] - }, - "minun": { - "moves": ["nastyplot", "batonpass", "thunderbolt", "hiddenpowerice"] - }, - "volbeat": { - "moves": ["tailglow", "batonpass", "bugbuzz", "thunderbolt"] - }, - "illumise": { - "moves": ["roost", "thunderwave", "uturn", "bugbuzz"] - }, - "swalot": { - "moves": ["acidicfists", "earthquake", "icepunch", "aggravate"] - }, - "sharpedo": { - "moves": ["liquidation", "aggravate", "closecombat", "protect"] - }, - "sharpedomega": { - "moves": ["icefang", "crunch", "closecombat", "protect"] - }, - "wailord": { - "moves": ["liquidation", "lifedew", "curse", "earthquake"] - }, - "camerupt": { - "moves": ["fireblast", "earthpower", "stealthrock", "aridabsorption"] - }, - "cameruptmega": { - "moves": ["fireblast", "earthpower", "stealthrock", "aridabsorption"] - }, - "torkoal": { - "moves": ["stealthrock", "lavaplume", "bodypress", "aridabsorption"] - }, - "grumpig": { - "moves": ["psychic", "focusblast", "shadowball", "trick"] - }, - "spinda": { - "moves": ["fakeout", "doubleedge", "superpower", "suckerpunch"] - }, - "flygon": { - "moves": ["earthquake", "outrage", "stoneedge", "dragondance"] - }, - "cacturne": { - "moves": ["spikes", "seedbomb", "aggravate", "suckerpunch"] - }, - "altaria": { - "moves": ["defog", "roost", "skysoiree", "flamethrower"] - }, - "altariamega": { - "moves": ["roost", "dragondance", "return", "earthquake"] - }, - "zangoose": { - "moves": ["facade", "quickattack", "knockoff", "closecombat"] - }, - "seviper": { - "moves": ["swordsdance", "poisondart", "poisonjab", "knockoff", "earthquake"] - }, - "lunatone": { - "moves": ["meteorbeam", "psyshock", "earthpower", "rockpolish"] - }, - "solrock": { - "moves": ["swordsdance", "stoneedge", "flareblitz", "earthquake"] - }, - "whiscash": { - "moves": ["dragondance", "liquidation", "earthquake", "stoneedge"] - }, - "crawdaunt": { - "moves": ["swordsdance", "knockoff", "crabhammer", "aquajet"] - }, - "claydol": { - "moves": ["rapidspin", "stealthrock", "scorchingsands", "teleport"] - }, - "cradily": { - "moves": ["stealthrock", "recover", "gigadrain", "toxic"] - }, - "armaldo": { - "moves": ["rapidspin", "stoneedge", "knockoff", "aridabsorption"] - }, - "milotic": { - "moves": ["scald", "lifedew", "flipturn", "dragontail"] - }, - "castform": { - "moves": ["raindance", "hydropump", "snowmanjazz", "thunder"] - }, - "kecleon": { - "moves": ["knockoff", "mudspike", "suckerpunch", "drainpunch"] - }, - "banette": { - "moves": ["swordsdance", "poltergeist", "gunkshot", "superpower"] - }, - "banettemega": { - "moves": ["shiftgear", "poltergeist", "ironhead", "superpower"] - }, - "tropius": { - "moves": ["dragondance", "roost", "earthquake", "leafblade"] - }, - "chimecho": { - "moves": ["healingwish", "psychic", "recover", "thunderwave"] - }, - "absol": { - "moves": ["nightslash", "stoneedge", "suckerpunch", "psychocut"] - }, - "absolmega": { - "moves": ["closecombat", "knockoff", "playrough", "suckerpunch"] - }, - "glalie": { - "moves": ["iceshard", "iciclecrash", "earthquake", "protect"] - }, - "glaliemega": { - "moves": ["spikes", "doubleedge", "earthquake", "explosion"] - }, - "walrein": { - "moves": ["meltingpoint", "toxic", "superfang", "protect"] - }, - "huntail": { - "moves": ["waterfall", "shellsmash", "suckerpunch", "icefang"] - }, - "gorebyss": { - "moves": ["shellsmash", "hydropump", "icebeam", "hiddenpowergrass"] - }, - "relicanth": { - "moves": ["curse", "liquidation", "headsmash", "earthquake"] - }, - "luvdisc": { - "moves": ["scald", "icebeam", "mistyexplosion", "flipturn"] - }, - "salamence": { - "moves": ["dracometeor", "hurricane", "flamethrower", "roost"] - }, - "metagross": { - "moves": ["meteormash", "icepunch", "thunderpunch", "bulletpunch"] - }, - "metagrossmega": { - "moves": ["meteormash", "thunderpunch", "icepunch", "earthquake"] - }, - "regirock": { - "moves": ["curse", "rockblast", "bodypress", "reconstruct"] - }, - "regice": { - "moves": ["icebeam", "focusblast", "thunderbolt", "rockpolish"] - }, - "registeel": { - "moves": ["bodypress", "reconstruct", "heavyslam", "stealthrock"] - }, - "latias": { - "moves": ["defog", "healingwish", "dracometeor", "psychic"] - }, - "latiasmega": { - "moves": ["calmmind", "psyshock", "mysticalfire", "roost"] - }, - "latios": { - "moves": ["calmmind", "agility", "psychic", "aurasphere"] - }, - "latiosmega": { - "moves": ["psychic", "aurasphere", "icebeam", "recover"] - }, - "kyogre": { - "moves": ["waterspout", "thunder", "icebeam", "originpulse"] - }, - "kyogreprimal": { - "moves": ["calmmind", "thunder", "icebeam", "originpulse"] - }, - "groudon": { - "moves": ["precipiceblades", "heatcrash", "swordsdance", "aridabsorption"] - }, - "groudonprimal": { - "moves": ["precipiceblades", "heatcrash", "stealthrock", "aridabsorption"] - }, - "rayquaza": { - "moves": ["hurricane", "focusblast", "icebeam", "thunderbolt"] - }, - "rayquazamega": { - "moves": ["dragonascent", "vcreate", "extremespeed", "swordsdance"] - }, - "jirachi": { - "moves": ["ironhead", "uturn", "icepunch", "trick"] - }, - "deoxysdefense": { - "moves": ["nightshade", "cosmicpower", "taunt", "recover"] - }, - "torterra": { - "moves": ["swordsdance", "woodhammer", "earthquake", "avalanche"] - }, - "infernape": { - "moves": ["overheat", "closecombat", "gunkshot", "uturn"] - }, - "empoleon": { - "moves": ["scald", "lifedew", "flipturn", "flashcannon"] - }, - "staraptor": { - "moves": ["bravebird", "doubleedge", "closecombat", "uturn"] - }, - "bibarel": { - "moves": ["swordsdance", "rapidspin", "liquidation", "return"] - }, - "kricketune": { - "moves": ["leechlife", "stickyweb", "taunt", "brickbreak"] - }, - "luxray": { - "moves": ["lightninglance", "superpower", "voltswitch", "icefang"] - }, - "roserade": { - "moves": ["spikes", "gigadrain", "sludgebomb", "hiddenpowerfire"] - }, - "rampardos": { - "moves": ["headsmash", "firepunch", "superpower", "zenheadbutt"] - }, - "bastiodon": { - "moves": ["reconstruct", "rockslide", "metalburst", "stealthrock"] - }, - "wormadam": { - "moves": ["quiverdance", "gigadrain", "earthpower", "thunderbolt"] - }, - "wormadamsandy": { - "moves": ["spikes", "recover", "earthquake", "uturn"] - }, - "wormadamtrash": { - "moves": ["rapidspin", "flashcannon", "uturn", "stealthrock"] - }, - "mothim": { - "moves": ["lunge", "mudspike", "uturn", "roost"] - }, - "vespiquen": { - "moves": ["attackorder", "toxicthread", "healorder", "signalbeam"] - }, - "pachirisu": { - "moves": ["electroball", "hiddenpowerice", "grassknot", "voltswitch"] - }, - "floatzel": { - "moves": ["liquidation", "flipturn", "icepunch", "lowkick"] - }, - "cherrim": { - "moves": ["solarblade", "weatherball", "growth", "hiddenpowerground"] - }, - "gastrodon": { - "moves": ["recover", "scald", "earthpower", "toxic"] - }, - "ambipom": { - "moves": ["tailslap", "armthrust", "knockoff", "uturn"] - }, - "drifblim": { - "moves": ["shadowball", "calmmind", "strengthsap", "thunderbolt"] - }, - "lopunny": { - "moves": ["return", "closecombat", "switcheroo", "healingwish"] - }, - "lopunnymega": { - "moves": ["fakeout", "return", "closecombat", "uturn"] - }, - "mismagius": { - "moves": ["hex", "toxic", "moonblast", "taunt"] - }, - "honchkrow": { - "moves": ["suckerpunch", "aggravate", "bravebird", "superpower"] - }, - "purugly": { - "moves": ["fakeout", "bodyslam", "knockoff", "uturn"] - }, - "skuntank": { - "moves": ["strengthsap", "willowisp", "knockoff", "partingshot"] - }, - "bronzong": { - "moves": ["stealthrock", "heavyslam", "earthquake", "toxic"] - }, - "chatot": { - "moves": ["boomburst", "skysoiree", "heatwave", "nastyplot"] - }, - "spiritomb": { - "moves": ["poltergeist", "suckerpunch", "pursuit", "willowisp"] - }, - "garchompmega": { - "moves": ["swordsdance", "earthquake", "scaleshot", "firefang"] - }, - "garchomp": { - "moves": ["earthquake", "dracometeor", "fireblast", "aridabsorption"] - }, - "lucario": { - "moves": ["swordsdance", "closecombat", "meteormash", "extremespeed"] - }, - "lucariomega": { - "moves": ["swordsdance", "closecombat", "meteormash", "skyuppercut"] - }, - "hippowdon": { - "moves": ["slackoff", "earthquake", "stealthrock", "stoneedge"] - }, - "drapion": { - "moves": ["knockoff", "poisonjab", "pursuit", "earthquake"] - }, - "toxicroak": { - "moves": ["swordsdance", "gunkshot", "armthrust", "suckerpunch"] - }, - "carnivine": { - "moves": ["swordsdance", "powerwhip", "knockoff", "mudspike"] - }, - "lumineon": { - "moves": ["surf", "icebeam", "hiddenpowergrass", "uturn"] - }, - "abomasnow": { - "moves": ["blizzard", "auroraveil", "leafstorm", "focusblast"] - }, - "abomasnowmega": { - "moves": ["rototiller", "grassyglide", "avalanche", "rockslide"] - }, - "weavile": { - "moves": ["knockoff", "tripleaxel", "iceshard", "swordsdance"] - }, - "magnezone": { - "moves": ["thunderbolt", "hiddenpowerfire", "flashcannon", "voltswitch"] - }, - "lickilicky": { - "moves": ["wish", "rapidspin", "protect", "knockoff"] - }, - "rhyperior": { - "moves": ["aridabsorption", "rapidspin", "earthquake", "stoneedge"] - }, - "tangrowth": { - "moves": ["gigadrain", "knockoff", "focusblast", "smother"] - }, - "electivire": { - "moves": ["thunderpunch", "knockoff", "icepunch", "suckerpunch"] - }, - "magmortar": { - "moves": ["fireblast", "focusblast", "recover", "thunderbolt"] - }, - "togekiss": { - "moves": ["nastyplot", "skysoiree", "flamethrower", "roost"] - }, - "yanmega": { - "moves": ["bugbuzz", "airslash", "gigadrain", "uturn"] - }, - "leafeon": { - "moves": ["sappyseed", "strengthsap", "teleport", "mudspike"] - }, - "glaceon": { - "moves": ["blizzard", "freezedry", "meltingpoint", "hiddenpowerfire"] - }, - "gliscor": { - "moves": ["uturn", "earthquake", "knockoff", "roost"] - }, - "mamoswine": { - "moves": ["iceshard", "earthquake", "iciclecrash", "superpower"] - }, - "porygonz": { - "moves": ["technoblast", "shadowball", "icebeam", "nastyplot"] - }, - "gallademega": { - "moves": ["closecombat", "knockoff", "swordsdance", "tripleaxel"] - }, - "gallade": { - "moves": ["swordsdance", "closecombat", "knockoff", "rapidspin"] - }, - "probopass": { - "moves": ["stealthrock", "powergem", "earthpower", "aurorabeam"] - }, - "dusknoir": { - "moves": ["poltergeist", "bodypress", "strengthsap", "icepunch"] - }, - "froslass": { - "moves": ["snowmanjazz", "spikes", "taunt", "shadowball"] - }, - "rotom": { - "moves": ["nastyplot", "thunderbolt", "shadowball", "painsplit"] - }, - "rotomheat": { - "moves": ["nastyplot", "overheat", "discharge", "painsplit"] - }, - "rotomwash": { - "moves": ["voltswitch", "hydropump", "defog", "willowisp"] - }, - "rotomfrost": { - "moves": ["hypervoice", "thunderbolt", "voltswitch", "nastyplot"] - }, - "rotomfan": { - "moves": ["nastyplot", "electroball", "airslash", "protect"] - }, - "rotommow": { - "moves": ["thunderbolt", "leafstorm", "voltswitch", "trick"] - }, - "uxie": { - "moves": ["stealthrock", "teleport", "doomdesire", "taunt"] - }, - "mesprit": { - "moves": ["psychic", "moonblast", "hiddenpowerfire", "nastyplot"] - }, - "azelf": { - "moves": ["psychic", "focusblast", "thunderbolt", "uturn"] - }, - "dialga": { - "moves": ["dracometeor", "flashcannon", "fireblast", "stealthrock"] - }, - "palkia": { - "moves": ["hydropump", "spacialrend", "thunder", "fireblast"] - }, - "heatran": { - "moves": ["stealthrock", "earthpower", "magmastorm", "flashcannon"] - }, - "regigigas": { - "moves": ["return", "earthquake", "knockoff", "reconstruct"] - }, - "giratina": { - "moves": ["defog", "curse", "willowisp", "rest"] - }, - "giratinaorigin": { - "moves": ["poltergeist", "shadowsneak", "dracometeor", "earthquake"] - }, - "cresselia": { - "moves": ["moonblast", "psyshock", "moonlight", "calmmind"] - }, - "phione": { - "moves": ["scald", "knockoff", "uturn", "lifedew"] - }, - "manaphy": { - "moves": ["tailglow", "surf", "psychic", "energyball"] - }, - "darkrai": { - "moves": ["hypnosis", "moonlitwaltz", "focusblast", "nastyplot"] - }, - "shayminsky": { - "moves": ["seedflare", "skysoiree", "earthpower", "healingwish"] - }, - "shaymin": { - "moves": ["seedflare", "earthpower", "substitute", "leechseed"] - }, - "victini": { - "moves": ["vcreate", "boltstrike", "glaciate", "uturn"] - }, - "serperior": { - "moves": ["leafstorm", "hiddenpowerfire", "substitute", "glare"] - }, - "emboar": { - "moves": ["flareblitz", "revenge", "earthquake", "suckerpunch"] - }, - "samurott": { - "moves": ["shellsmash", "hydropump", "focusblast", "blizzard"] - }, - "watchog": { - "moves": ["focusblast", "shadowball", "nastyplot", "thunder"] - }, - "stoutland": { - "moves": ["return", "superpower", "playrough", "bonemerang"] - }, - "liepard": { - "moves": ["nastyplot", "darkpulse", "trashtalk", "copycat"] - }, - "simisage": { - "moves": ["rototiller", "seedbomb", "superpower", "knockoff"] - }, - "simisear": { - "moves": ["nastyplot", "overheat", "focusblast", "grassknot"] - }, - "simipour": { - "moves": ["hydropump", "icebeam", "focusblast", "flipturn"] - }, - "musharna": { - "moves": ["lifedew", "calmmind", "psyshock", "moonblast"] - }, - "unfezant": { - "moves": ["uturn", "quickattack", "aggravate", "bravebird"] - }, - "zebstrika": { - "moves": ["lightninglance", "hiddenpowerice", "overheat", "voltswitch"] - }, - "gigalith": { - "moves": ["stealthrock", "stoneedge", "avalanche", "earthquake"] - }, - "swoobat": { - "moves": ["calmmind", "roost", "storedpower", "skysoiree"] - }, - "excadrill": { - "moves": ["swordsdance", "earthquake", "ironhead", "aridabsorption"] - }, - "audinomega": { - "moves": ["calmmind", "lifedew", "moonblast", "flamethrower"] - }, - "audino": { - "moves": ["lifedew", "toxic", "knockoff", "healbell"] - }, - "gurdurr": { - "moves": ["bulkup", "defog", "drainpunch", "knockoff", "machpunch"] - }, - "conkeldurr": { - "moves": ["closecombat", "knockoff", "machpunch", "icepunch"] - }, - "seismitoad": { - "moves": ["stealthrock", "earthquake", "scald", "toxic"] - }, - "throh": { - "moves": ["circlethrow", "knockoff", "rest", "sleeptalk"] - }, - "sawk": { - "moves": ["closecombat", "knockoff", "poisonjab", "skyuppercut"] - }, - "leavanny": { - "moves": ["stickyweb", "xscissor", "knockoff", "leafblade"] - }, - "scolipede": { - "moves": ["swordsdance", "earthquake", "megahorn", "poisonjab"] - }, - "whimsicott": { - "moves": ["rashpowder", "uturn", "moonblast", "energyball"] - }, - "lilligant": { - "moves": ["quiverdance", "leafstorm", "hiddenpowerfire", "sleeppowder"] - }, - "basculin": { - "moves": ["flipturn", "liquidation", "superpower", "psychicfangs"] - }, - "basculinbluestriped": { - "moves": ["hydropump", "flipturn", "icebeam", "finalgambit"] - }, - "krookodile": { - "moves": ["rapidspin", "earthquake", "knockoff", "aridabsorption"] - }, - "darmanitan": { - "moves": ["flareblitz", "thunderpunch", "uturn", "earthquake"] - }, - "darmanitanzen": { - "moves": ["fireblast", "expandingforce", "uturn", "focusblast"] - }, - "darmanitangalar": { - "moves": ["icepunch", "flareblitz", "uturn", "earthquake"] - }, - "darmanitangalarzen": { - "moves": ["icepunch", "flareblitz", "uturn", "earthquake"] - }, - "maractus": { - "moves": ["rototiller", "grassyglide", "knockoff", "drainpunch"] - }, - "crustle": { - "moves": ["shellsmash", "stoneedge", "earthquake", "spikes"] - }, - "scrafty": { - "moves": ["curse", "knockoff", "drainpunch", "acidicfists"] - }, - "sigilyph": { - "moves": ["psychic", "heatwave", "roost", "defog", "dazzlinggleam"] - }, - "cofagrigus": { - "moves": ["shadowball", "bodypress", "irondefense", "willowisp"] - }, - "carracosta": { - "moves": ["shellsmash", "stoneedge", "aquajet", "liquidation"] - }, - "archeops": { - "moves": ["stoneedge", "bravebird", "uturn", "earthquake"] - }, - "garbodor": { - "moves": ["gunkshot", "mudspike", "spikes", "corrosivegas"] - }, - "zoroark": { - "moves": ["nastyplot", "trashtalk", "moonlitwaltz", "flamethrower"] - }, - "cinccino": { - "moves": ["tailslap", "bulletseed", "uturn", "rockblast"] - }, - "gothitelle": { - "moves": ["cosmicpower", "storedpower", "rest", "sleeptalk"] - }, - "reuniclus": { - "moves": ["calmmind", "recover", "psyshock", "focusblast"] - }, - "swanna": { - "moves": ["hurricane", "scald", "flipturn", "icebeam"] - }, - "vanilluxe": { - "moves": ["blizzard", "hiddenpowerfire", "freezedry", "meltingpoint"] - }, - "sawsbuck": { - "moves": ["rototiller", "hornleech", "doubleedge", "jumpkick"] - }, - "emolga": { - "moves": ["electroball", "energyball", "voltswitch", "roost"] - }, - "escavalier": { - "moves": ["curse", "ironhead", "revenge", "knockoff"] - }, - "amoonguss": { - "moves": ["gigadrain", "spore", "venoshock", "hiddenpowerfire"] - }, - "jellicent": { - "moves": ["willowisp", "hex", "scald", "strengthsap"] - }, - "alomomola": { - "moves": ["scald", "wish", "flipturn", "toxic"] - }, - "galvantula": { - "moves": ["stickyweb", "bugbuzz", "voltswitch", "thunder"] - }, - "ferrothorn": { - "moves": ["spikes", "powerwhip", "knockoff", "leechseed"] - }, - "klang": { - "moves": ["geargrind", "rapidspin", "voltswitch", "toxic"] - }, - "klinklang": { - "moves": ["geargrind", "shiftgear", "electroball", "substitute"] - }, - "eelektross": { - "moves": ["lightninglance", "gunkshot", "uturn", "icepunch"] - }, - "beheeyem": { - "moves": ["teleport", "psychic", "thunderbolt", "signalbeam"] - }, - "chandelure": { - "moves": ["shadowball", "fireblast", "energyball", "hex"] - }, - "haxorus": { - "moves": ["swordsdance", "scaleshot", "closecombat", "poisonjab"] - }, - "beartic": { - "moves": ["swordsdance", "icepunch", "thunderpunch", "superpower"] - }, - "cryogonal": { - "moves": ["icebeam", "meltingpoint", "recover", "defog"] - }, - "accelgor": { - "moves": ["spikes", "bugbuzz", "focusblast", "sludgebomb"] - }, - "stunfisk": { - "moves": ["flipturn", "stealthrock", "discharge", "earthpower"] - }, - "stunfiskgalar": { - "moves": ["earthquake", "stealthrock", "stoneedge", "toxic"] - }, - "mienshao": { - "moves": ["closecombat", "icepunch", "knockoff", "uturn"] - }, - "druddigon": { - "moves": ["dragontail", "glare", "stealthrock", "earthquake"] - }, - "golurk": { - "moves": ["poltergeist", "closecombat", "earthquake", "trick"] - }, - "bisharp": { - "moves": ["swordsdance", "knockoff", "suckerpunch", "ironhead"] - }, - "bouffalant": { - "moves": ["headcharge", "closecombat", "payback", "earthquake"] - }, - "braviary": { - "moves": ["bravebird", "closecombat", "roost", "curse"] - }, - "mandibuzz": { - "moves": ["foulplay", "roost", "defog", "uturn"] - }, - "heatmor": { - "moves": ["curse", "firelash", "suckerpunch", "drainpunch"] - }, - "durant": { - "moves": ["firstimpression", "ironhead", "superpower", "mudspike"] - }, - "hydreigon": { - "moves": ["dracometeor", "darkpulse", "trashtalk", "superpower"] - }, - "volcarona": { - "moves": ["bugbuzz", "fierydance", "psychic", "quiverdance"] - }, - "cobalion": { - "moves": ["stealthrock", "bodypress", "ironhead", "voltswitch"] - }, - "terrakion": { - "moves": ["accelerock", "stoneedge", "earthquake", "closecombat"] - }, - "virizion": { - "moves": ["sleeppowder", "swordsdance", "powerwhip", "closecombat"] - }, - "tornadus": { - "moves": ["nastyplot", "hurricane", "focusblast", "darkpulse"] - }, - "tornadustherian": { - "moves": ["hurricane", "focusblast", "heatwave", "nastyplot", "uturn"] - }, - "thundurus": { - "moves": ["lightninglance", "uturn", "knockoff", "superpower"] - }, - "thundurustherian": { - "moves": ["nastyplot", "thunderbolt", "focusblast", "hiddenpowerice"] - }, - "landorustherian": { - "moves": ["earthquake", "uturn", "stoneedge", "stealthrock"] - }, - "kyurem": { - "moves": ["icebeam", "freezedry", "roost", "earthpower"] - }, - "kyuremblack": { - "moves": ["dragondance", "iciclespear", "fusionbolt", "fling"] - }, - "kyuremwhite": { - "moves": ["icebeam", "freezedry", "earthpower", "fusionflare"] - }, - "keldeo": { - "moves": ["calmmind", "taunt", "scald", "secretsword"] - }, - "keldeoresolute": { - "moves": ["hydropump", "secretsword", "aurorabeam", "flipturn"] - }, - "meloetta": { - "moves": ["psychic", "fierydance", "moonlitwaltz", "uturn"] - }, - "meloettapirouette": { - "moves": ["return", "closecombat", "knockoff", "rapidspin"] - }, - "chesnaught": { - "moves": ["spikes", "synthesis", "woodhammer", "drainpunch"] - }, - "delphox": { - "moves": ["calmmind", "fierydance", "psyshock", "focusblast"] - }, - "greninja": { - "moves": ["spikes", "hydropump", "icebeam", "uturn"] - }, - "greninjabond": { - "moves": ["hydropump", "darkpulse", "watershuriken", "spikes"] - }, - "diggersby": { - "moves": ["uturn", "return", "earthquake", "skyuppercut"] - }, - "talonflame": { - "moves": ["bravebird", "roost", "flareblitz", "uturn"] - }, - "vivillon": { - "moves": ["quiverdance", "hurricane", "sleeppowder", "substitute"] - }, - "pyroar": { - "moves": ["overheat", "hypervoice", "hiddenpowergrass", "fireblast"] - }, - "florges": { - "moves": ["moonblast", "lifedew", "hiddenpowerfire", "calmmind"] - }, - "gogoat": { - "moves": ["bulkup", "hornleech", "earthquake", "milkdrink"] - }, - "pangoro": { - "moves": ["closecombat", "knockoff", "acidicfists", "partingshot"] - }, - "furfrou": { - "moves": ["return", "thunderwave", "uturn", "suckerpunch"] - }, - "meowstic": { - "moves": ["lightscreen", "reflect", "thunderwave", "psyshock"] - }, - "meowsticf": { - "moves": ["psychic", "signalbeam", "thunderbolt", "nastyplot"] - }, - "doublade": { - "moves": ["swordsdance", "shadowclaw", "shadowsneak", "closecombat"] - }, - "aegislash": { - "moves": ["shadowball", "closecombat", "ironhead", "kingsshield"] - }, - "aegislashblade": { - "moves": ["closecombat", "ironhead", "shadowclaw", "shadowsneak", "swordsdance"] - }, - "aromatisse": { - "moves": ["moonblast", "trickroom", "thunderbolt", "nastyplot"] - }, - "slurpuff": { - "moves": ["bellydrum", "enchantedpunch", "firepunch", "thunderpunch"] - }, - "malamar": { - "moves": ["knockoff", "superpower", "flipturn", "psychocut"] - }, - "barbaracle": { - "moves": ["shellsmash", "liquidation", "icepunch", "crosschop"] - }, - "dragalge": { - "moves": ["dracometeor", "sludgewave", "focusblast", "flipturn"] - }, - "clawitzer": { - "moves": ["octazooka", "aurasphere", "technoblast", "darkpulse"] - }, - "heliolisk": { - "moves": ["thunderbolt", "surf", "voltswitch", "hypervoice"] - }, - "tyrantrum": { - "moves": ["dragondance", "headsmash", "earthquake", "scaleshot"] - }, - "aurorus": { - "moves": ["ancientpower", "blizzard", "earthpower", "freezedry", "stealthrock", "thunderwave"] - }, - "sylveon": { - "moves": ["sparklyswirl", "moonlight", "lovelykiss", "mysticalfire"] - }, - "hawlucha": { - "moves": ["closecombat", "acrobatics", "swordsdance", "substitute"] - }, - "dedenne": { - "moves": ["voltswitch", "thunderbolt", "dazzlinggleam", "hiddenpowerice"] - }, - "carbink": { - "moves": ["moonblast", "toxic", "stealthrock", "reconstruct"] - }, - "goodra": { - "moves": ["dracometeor", "sludgewave", "fireblast", "lifedew"] - }, - "klefki": { - "moves": ["spikes", "dazzlinggleam", "thunderwave", "foulplay"] - }, - "trevenant": { - "moves": ["rototiller", "poltergeist", "grassyglide", "drainpunch"] - }, - "gourgeist": { - "moves": ["poltergeist", "powerwhip", "shadowsneak", "synthesis"] - }, - "gourgeistsmall": { - "moves": ["deafeningshriek", "energyball", "focusblast", "nastyplot"] - }, - "gourgeistlarge": { - "moves": ["poltergeist", "powerwhip", "willowisp", "synthesis"] - }, - "gourgeistsuper": { - "moves": ["deafeningshriek", "energyball", "fireblast", "trickroom"] - }, - "avalugg": { - "moves": ["avalanche", "recover", "bodypress", "rapidspin"] - }, - "noivern": { - "moves": ["dracometeor", "hurricane", "uturn", "flamethrower"] - }, - "xerneas": { - "moves": ["geomancy", "focusblast", "moonblast", "lifedew"] - }, - "yveltal": { - "moves": ["knockoff", "oblivionwing", "taunt", "defog"] - }, - "zygarde10": { - "moves": ["thousandarrows", "toxic", "extremespeed", "outrage"] - }, - "diancie": { - "moves": ["trickroom", "diamondstorm", "moonblast", "bodypress"] - }, - "dianciemega": { - "moves": ["diamondstorm", "moonblast", "earthpower", "stealthrock"] - }, - "hoopa": { - "moves": ["nastyplot", "psychic", "focusblast", "shadowball"] - }, - "hoopaunbound": { - "moves": ["hyperspacefury", "gunkshot", "firepunch", "enchantedpunch"] - }, - "volcanion": { - "moves": ["steameruption", "fireblast", "earthpower", "aridabsorption"] - }, - "decidueye": { - "moves": ["swordsdance", "leafblade", "spiritshackle", "bravebird"] - }, - "incineroar": { - "moves": ["knockoff", "flareblitz", "rapidspin", "partingshot"] - }, - "primarina": { - "moves": ["hydropump", "moonblast", "snowmanjazz", "flipturn"] - }, - "toucannon": { - "moves": ["boomburst", "heatwave", "skysoiree", "roost"] - }, - "gumshoos": { - "moves": ["return", "uturn", "payback", "earthquake"] - }, - "vikavolt": { - "moves": ["agility", "thunderbolt", "bugbuzz", "energyball"] - }, - "crabominable": { - "moves": ["drainpunch", "icehammer", "earthquake", "thunderpunch"] - }, - "oricorio": { - "moves": ["revelationdance", "hurricane", "petaldance", "calmmind"] - }, - "oricoriopompom": { - "moves": ["revelationdance", "hurricane", "snowmanjazz", "calmmind"] - }, - "oricoriopau": { - "moves": ["revelationdance", "hurricane", "moonlitwaltz", "calmmind"] - }, - "oricoriosensu": { - "moves": ["revelationdance", "skysoiree", "hiddenpowerfighting", "calmmind"] - }, - "ribombee": { - "moves": ["stickyweb", "moonblast", "uturn", "rashpowder"] - }, - "lycanroc": { - "moves": ["accelerock", "stoneedge", "closecombat", "stealthrock"] - }, - "lycanrocmidnight": { - "moves": ["bonemerang", "stoneedge", "closecombat", "swordsdance"] - }, - "lycanrocdusk": { - "moves": ["accelerock", "stoneedge", "closecombat", "swordsdance"] - }, - "wishiwashischool": { - "moves": ["earthquake", "hydropump", "icebeam", "scald", "uturn"] - }, - "wishiwashi": { - "moves": ["scald", "coreenforcer", "recover", "uturn"] - }, - "toxapex": { - "moves": ["toxic", "recover", "scald", "haze"] - }, - "mudsdale": { - "moves": ["aridabsorption", "earthquake", "avalanche", "stealthrock"] - }, - "araquanid": { - "moves": ["substitute", "liquidation", "toxicthread", "leechlife"] - }, - "lurantis": { - "moves": ["leafstorm", "superpower", "defog", "synthesis"] - }, - "shiinotic": { - "moves": ["strengthsap", "moonblast", "spore", "gigadrain"] - }, - "salazzle": { - "moves": ["nastyplot", "sludgewave", "fierydance", "hiddenpowergrass"] - }, - "bewear": { - "moves": ["curse", "doubleedge", "drainpunch", "darkestlariat"] - }, - "tsareena": { - "moves": ["tropkick", "rapidspin", "knockoff", "uturn", "tripleaxel"] - }, - "comfey": { - "moves": ["calmmind", "drainingkiss", "substitute", "leechseed"] - }, - "oranguru": { - "moves": ["nastyplot", "psychic", "focusblast", "trickroom"] - }, - "passimian": { - "moves": ["closecombat", "knockoff", "icepunch", "uturn"] - }, - "golisopod": { - "moves": ["firstimpression", "spikes", "liquidation", "crushclaw"] - }, - "palossand": { - "moves": ["shoreup", "scorchingsands", "hex", "toxic"] - }, - "pyukumuku": { - "moves": ["rest", "recover", "block", "spite"] - }, - "typenull": { - "moves": ["uturn", "return", "rest", "sleeptalk"] - }, - "silvally": { - "moves": ["multiattack", "explosion", "earthquake", "uturn"] - }, - "silvallybug": { - "moves": ["multiattack", "blazekick", "earthquake", "uturn"] - }, - "silvallydark": { - "moves": ["multiattack", "pursuit", "ironhead", "uturn"] - }, - "silvallydragon": { - "moves": ["dracometeor", "trashtalk", "flamethrower", "partingshot"] - }, - "silvallyelectric": { - "moves": ["thunderbolt", "icebeam", "flamethrower", "uturn"] - }, - "silvallyfairy": { - "moves": ["multiattack", "defog", "toxic", "uturn"] - }, - "silvallyfighting": { - "moves": ["multiattack", "aggravate", "earthquake", "swordsdance"] - }, - "silvallyfire": { - "moves": ["multiattack", "flamecharge", "earthquake", "swordsdance"] - }, - "silvallyflying": { - "moves": ["multiattack", "crushclaw", "earthquake", "defog"] - }, - "silvallyghost": { - "moves": ["multiattack", "superpower", "earthquake", "uturn"] - }, - "silvallygrass": { - "moves": ["multiattack", "blazekick", "earthquake", "partingshot"] - }, - "silvallyground": { - "moves": ["multiattack", "flamecharge", "rockslide", "swordsdance"] - }, - "silvallyice": { - "moves": ["icebeam", "flamethrower", "thunderbolt", "partingshot"] - }, - "silvallypoison": { - "moves": ["poisonfang", "defog", "earthquake", "partingshot"] - }, - "silvallypsychic": { - "moves": ["multiattack", "blazekick", "earthquake", "explosion"] - }, - "silvallyrock": { - "moves": ["multiattack", "superpower", "earthquake", "swordsdance"] - }, - "silvallysteel": { - "moves": ["multiattack", "defog", "earthquake", "uturn"] - }, - "silvallywater": { - "moves": ["surf", "defog", "thunderbolt", "partingshot"] - }, - "minior": { - "moves": ["shellsmash", "acrobatics", "stoneedge", "earthquake"] - }, - "komala": { - "moves": ["return", "curse", "suckerpunch", "firepunch"] - }, - "turtonator": { - "moves": ["shellsmash", "overheat", "dracometeor", "scorchingsands"] - }, - "togedemaru": { - "moves": ["lightninglance", "ironhead", "uturn", "fakeout"] - }, - "mimikyu": { - "moves": ["swordsdance", "shadowpunch", "shadowsneak", "playrough"] - }, - "bruxish": { - "moves": ["liquidation", "psychicfangs", "icefang", "flipturn"] - }, - "drampa": { - "moves": ["dracometeor", "hypervoice", "focusblast", "fireblast"] - }, - "dhelmise": { - "moves": ["rototiller", "poltergeist", "grassyglide", "rapidspin"] - }, - "kommoo": { - "moves": ["clangoroussoul", "clangingscales", "focusblast", "boomburst"] - }, - "tapukoko": { - "moves": ["wildcharge", "enchantedpunch", "bravebird", "uturn"] - }, - "tapulele": { - "moves": ["psyshock", "psychic", "focusblast", "moonblast"] - }, - "tapubulu": { - "moves": ["swordsdance", "woodhammer", "superpower", "enchantedpunch"] - }, - "tapufini": { - "moves": ["defog", "scald", "moonblast", "taunt"] - }, - "nihilego": { - "moves": ["meteorbeam", "sludgewave", "grassknot", "powergem"] - }, - "buzzwole": { - "moves": ["closecombat", "thunderpunch", "icepunch", "roost"] - }, - "pheromosa": { - "moves": ["bugbuzz", "focusblast", "icebeam", "shockwave"] - }, - "xurkitree": { - "moves": ["hypnosis", "thunderbolt", "energyball", "tailglow"] - }, - "celesteela": { - "moves": ["autotomize", "fireblast", "airslash", "flashcannon"] - }, - "kartana": { - "moves": ["swordsdance", "leafblade", "knockoff", "sacredsword"] - }, - "guzzlord": { - "moves": ["partingshot", "glare", "knockoff", "earthquake"] - }, - "necrozma": { - "moves": ["photongeyser", "earthquake", "xscissor", "dragondance"] - }, - "magearna": { - "moves": ["fleurcannon", "voltswitch", "icebeam", "focusblast"] - }, - "magearnaoriginal": { - "moves": ["agility", "calmmind", "flashcannon", "fleurcannon"] - }, - "naganadel": { - "moves": ["rapidspin", "dracometeor", "sludgewave", "flamethrower"] - }, - "stakataka": { - "moves": ["trickroom", "gyroball", "stoneedge", "earthquake"] - }, - "blacephalon": { - "moves": ["shadowball", "overheat", "flamethrower", "electroball"] - }, - "zeraora": { - "moves": ["electroball", "closecombat", "hiddenpowerice", "voltswitch"] - }, - "melmetal": { - "moves": ["doubleironbash", "thunderwave", "icepunch", "armthrust"] - }, - "rillaboom": { - "moves": ["grassyglide", "woodhammer", "knockoff", "uturn"] - }, - "cinderace": { - "moves": ["pyroball", "suckerpunch", "uturn", "highjumpkick"] - }, - "inteleon": { - "moves": ["hydropump", "icebeam", "signalbeam", "uturn"] - }, - "greedent": { - "moves": ["curse", "bodyslam", "firepunch", "smother"] - }, - "corviknight": { - "moves": ["uturn", "bravebird", "defog", "roost"] - }, - "orbeetle": { - "moves": ["hypnosis", "stickyweb", "uturn", "bodypress"] - }, - "thievul": { - "moves": ["nastyplot", "darkpulse", "trashtalk", "burningjealousy"] - }, - "eldegoss": { - "moves": ["lifedew", "sleeppowder", "gigadrain", "leechseed"] - }, - "dubwool": { - "moves": ["cottonguard", "bodypress", "rest", "rapidspin"] - }, - "drednaw": { - "moves": ["swordsdance", "liquidation", "stoneedge", "earthquake"] - }, - "boltund": { - "moves": ["thunderfang", "firefang", "crunch", "voltswitch"] - }, - "coalossal": { - "moves": ["stealthrock", "flamethrower", "rapidspin", "aridabsorption"] - }, - "flapple": { - "moves": ["gravapple", "dragonrush", "uturn", "suckerpunch"] - }, - "appletun": { - "moves": ["recover", "appleacid", "bodypress", "leechseed"] - }, - "sandaconda": { - "moves": ["aridabsorption", "earthquake", "glare", "stealthrock"] - }, - "cramorant": { - "moves": ["surf", "attackorder", "roost", "endure"] - }, - "barraskewda": { - "moves": ["liquidation", "closecombat", "poisonjab", "flipturn"] - }, - "toxtricity": { - "moves": ["boomburst", "overdrive", "shiftgear", "technoblast"] - }, - "centiskorch": { - "moves": ["firelash", "uturn", "recover", "firstimpression"] - }, - "grapploct": { - "moves": ["closecombat", "suckerpunch", "flipturn", "acidicfists"] - }, - "polteageist": { - "moves": ["shellsmash", "shadowball", "gigadrain", "storedpower"] - }, - "polteageistantique": { - "moves": ["strengthsap", "hex", "willowisp", "curse"] - }, - "hatterene": { - "moves": ["lifedew", "nuzzle", "mysticalfire", "dazzlinggleam"] - }, - "grimmsnarl": { - "moves": ["bulkup", "payback", "playrough", "suckerpunch"] - }, - "obstagoon": { - "moves": ["obstruct", "facade", "knockoff", "closecombat"] - }, - "perrserker": { - "moves": ["ironhead", "closecombat", "uturn", "fakeout"] - }, - "cursola": { - "moves": ["shadowball", "hydropump", "earthpower", "burningjealousy"] - }, - "sirfetchd": { - "moves": ["closecombat", "firstimpression", "lightninglance", "knockoff"] - }, - "mrrime": { - "moves": ["rapidspin", "focusblast", "icebeam", "psychic"] - }, - "runerigus": { - "moves": ["aridabsorption", "poltergeist", "bodypress", "willowisp"] - }, - "alcremie": { - "moves": ["dazzlinggleam", "mysticalfire", "rapidspin", "recover"] - }, - "falinks": { - "moves": ["noretreat", "closecombat", "throatchop", "poisonjab"] - }, - "pincurchin": { - "moves": ["risingvoltage", "recover", "spikes", "signalbeam"] - }, - "frosmoth": { - "moves": ["quiverdance", "bugbuzz", "meltingpoint", "snowmanjazz"] - }, - "stonjourner": { - "moves": ["stoneedge", "heatcrash", "earthquake", "stealthrock"] - }, - "eiscue": { - "moves": ["bellydrum", "icepunch", "liquidation", "zenheadbutt"] - }, - "indeedee": { - "moves": ["expandingforce", "hypervoice", "mysticalfire", "trick"] - }, - "indeedeef": { - "moves": ["expandingforce", "dazzlinggleam", "lifedew", "calmmind"] - }, - "morpeko": { - "moves": ["aurawheel", "partingshot", "protect", "seedbomb"] - }, - "copperajah": { - "moves": ["heavyslam", "powerwhip", "stoneedge", "heatcrash"] - }, - "dracozolt": { - "moves": ["boltbeak", "fireblast", "earthquake", "dracometeor"] - }, - "arctozolt": { - "moves": ["boltbeak", "iciclecrash", "freezedry", "lowkick"] - }, - "dracovish": { - "moves": ["fishiousrend", "crunch", "psychicfangs", "earthquake"] - }, - "arctovish": { - "moves": ["fishiousrend", "iciclecrash", "freezedry", "meltingpoint"] - }, - "duraludon": { - "moves": ["dracometeor", "flashcannon", "technoblast", "stealthrock"] - }, - "dragapult": { - "moves": ["dracometeor", "shadowball", "uturn", "flamethrower"] - }, - "zacian": { - "moves": ["playrough", "closecombat", "lightninglance", "swordsdance"] - }, - "zaciancrowned": { - "moves": ["playrough", "closecombat", "lightninglance", "behemothblade"] - }, - "zamazenta": { - "moves": ["crunch", "closecombat", "howl", "wildcharge"] - }, - "zamazentacrowned": { - "moves": ["reconstruct", "closecombat", "crunch", "behemothbash"] - }, - "urshifu": { - "moves": ["wickedblow", "closecombat", "uturn", "icepunch"] - }, - "urshifurapidstrike": { - "moves": ["closecombat", "surgingstrikes", "uturn", "thunderpunch"] - }, - "zarude": { - "moves": ["bulkup", "powerwhip", "aggravate", "junglehealing"] - }, - "zarudedada": { - "moves": ["powerwhip", "aggravate", "uturn", "closecombat"] - }, - "regieleki": { - "moves": ["lightninglance", "voltswitch", "rapidspin", "explosion"] - }, - "regidrago": { - "moves": ["dragonenergy", "dracometeor", "dragonpulse", "explosion"] - }, - "glastrier": { - "moves": ["swordsdance", "avalanche", "highhorsepower", "closecombat"] - }, - "spectrier": { - "moves": ["substitute", "curse", "shadowball", "calmmind"] - }, - "calyrex": { - "moves": ["rototiller", "seedbomb", "zenheadbutt", "batonpass"] - } -} diff --git a/data/mods/gen8joltemons/random-teams.ts b/data/mods/gen8joltemons/random-teams.ts deleted file mode 100644 index 89f7cf754292..000000000000 --- a/data/mods/gen8joltemons/random-teams.ts +++ /dev/null @@ -1,292 +0,0 @@ -import {Species} from '../../../sim/dex-species'; -import {MoveCounter, RandomGen8Teams, OldRandomBattleSpecies} from '../gen8/random-teams'; - -export class RandomJoltemonsTeams extends RandomGen8Teams { - randomData: {[species: string]: OldRandomBattleSpecies} = require('./random-data.json'); - - shouldCullAbility( - ability: string, - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - isDoubles: boolean, - preferredType: string, - role: RandomTeamsTypes.Role, - isNoDynamax: boolean - ): boolean { - if ([ - 'Immunity', 'Innards Out', 'Insomnia', 'Misty Surge', - 'Quick Feet', 'Snow Cloak', 'Steadfast', 'Steam Engine', - ].includes(ability)) return true; - - switch (ability) { - // Abilities which are primarily useful for certain moves - case 'Contrary': case 'Serene Grace': case 'Skill Link': case 'Strong Jaw': - return !counter.get(this.dex.toID(ability)); - case 'Analytic': - return (moves.has('rapidspin') || species.nfe || isDoubles); - case 'Blaze': - return (isDoubles && abilities.has('Solar Power')) || (!isDoubles && !isNoDynamax && species.id === 'charizard'); - case 'Buzz Off': - return !counter.has('Bug'); - case 'Chlorophyll': - return (species.baseStats.spe > 100 || !counter.get('Fire') && !moves.has('sunnyday') && !teamDetails.sun); - case 'Cloud Nine': - return (!isNoDynamax || species.id !== 'golduck'); - case 'Competitive': - return (counter.get('Special') < 2 || (moves.has('rest') && moves.has('sleeptalk'))); - case 'Compound Eyes': case 'No Guard': - return !counter.get('inaccurate'); - case 'Cursed Body': - return abilities.has('Infiltrator'); - case 'Defiant': - return !counter.get('Physical'); - case 'Download': - return (counter.damagingMoves.size < 3 || moves.has('trick')); - case 'Early Bird': - return (types.has('Grass') && isDoubles); - case 'Flash Fire': - return (this.dex.getEffectiveness('Fire', species) < -1 || abilities.has('Drought')); - case 'Frisk': - return abilities.has('Light Power') && counter.get('Physical') < 2 || abilities.has('Optimistic'); - case 'Gluttony': - return !moves.has('bellydrum'); - case 'Guts': - return (!moves.has('facade') && !moves.has('sleeptalk') && !species.nfe); - case 'Harvest': case 'Pastel Veil': - return (abilities.has('Frisk') && !isDoubles) || abilities.has('Optimistic'); - case 'Hustle': case 'Inner Focus': - return (counter.get('Physical') < 2 || abilities.has('Iron Fist')); - case 'Infiltrator': - return (moves.has('rest') && moves.has('sleeptalk')) || (isDoubles && abilities.has('Clear Body')); - case 'Intimidate': - if (species.id === 'salamence' && moves.has('dragondance')) return true; - return ['bodyslam', 'bounce', 'tripleaxel'].some(m => moves.has(m)); - case 'Iron Fist': - return (counter.get('ironfist') < 2 || moves.has('dynamicpunch')); - case 'Justified': - return (isDoubles && abilities.has('Inner Focus')); - case 'Light Power': - return abilities.has('Beast Boost') || counter.get('Physical') > 2; - case 'Lightning Rod': - return (species.types.includes('Ground') || (!isNoDynamax && counter.setupType === 'Physical')); - case 'Limber': - return species.types.includes('Electric') || moves.has('facade'); - case 'Liquid Voice': - return !moves.has('hypervoice'); - case 'Magic Guard': - // For Sigilyph - return (abilities.has('Tinted Lens') && !counter.get('Status') && !isDoubles); - case 'Mold Breaker': - return ( - abilities.has('Adaptability') || abilities.has('Scrappy') || (abilities.has('Unburden') && !!counter.setupType) || - (abilities.has('Sheer Force') && !!counter.get('sheerforce')) - ); - case 'Moxie': - return (counter.get('Physical') < 2 || moves.has('stealthrock') || moves.has('defog')); - case 'Overgrow': - return !counter.get('Grass'); - case 'Own Tempo': - return !moves.has('petaldance') || abilities.has('Swift Swim'); - case 'Power Construct': - return (species.forme === '10%' && !isDoubles); - case 'Prankster': - return !counter.get('Status'); - case 'Pressure': - return (!!counter.setupType || counter.get('Status') < 2 || isDoubles); - case 'Refrigerate': - return !counter.get('Normal'); - case 'Regenerator': - // For Reuniclus - return abilities.has('Magic Guard'); - case 'Reckless': - return !counter.get('recoil') || moves.has('curse'); - case 'Rock Head': - return !counter.get('recoil'); - case 'Sand Force': case 'Sand Veil': - return !teamDetails.sand; - case 'Sand Rush': - return (!teamDetails.sand && (isNoDynamax || !counter.setupType || !counter.get('Rock') || moves.has('rapidspin'))); - case 'Sap Sipper': - // For Drampa, which wants Berserk with Roost - return moves.has('roost'); - case 'Scrappy': - return (moves.has('earthquake') && species.id === 'miltank'); - case 'Screen Cleaner': - return !!teamDetails.screens; - case 'Shed Skin': - // For Scrafty - return moves.has('dragondance'); - case 'Sheer Force': - return (!counter.get('sheerforce') || abilities.has('Guts') || (species.id === 'druddigon' && !isDoubles)); - case 'Shell Armor': - return ( - (counter.setupType && abilities.has('Optimistic')) || - (species.id === 'omastar' && (moves.has('spikes') || moves.has('stealthrock'))) - ); - case 'Slush Rush': - return (!teamDetails.hail && !abilities.has('Swift Swim')); - case 'Sniper': - // Inteleon wants Torrent unless it is Gmax - return (species.name === 'Inteleon' || (counter.get('Water') > 1 && !moves.has('focusenergy'))); - case 'Solar Power': - return (isNoDynamax && !teamDetails.sun); - case 'Soul Link': - return abilities.has('Light Power') && counter.get('Physical') < 2; - case 'Speed Boost': - return (isNoDynamax && species.id === 'ninjask'); - case 'Steely Spirit': - return (moves.has('fakeout') && !isDoubles); - case 'Sturdy': - return (moves.has('bulkup') || !!counter.get('recoil') || (!isNoDynamax && abilities.has('Solid Rock'))); - case 'Swarm': - return (!counter.get('Bug') || !!counter.get('recovery')); - case 'Sweet Veil': - return types.has('Grass'); - case 'Swift Swim': - if (isNoDynamax) { - const neverWantsSwim = !moves.has('raindance') && [ - 'Intimidate', 'Rock Head', 'Water Absorb', - ].some(m => abilities.has(m)); - const noSwimIfNoRain = !moves.has('raindance') && [ - 'Cloud Nine', 'Lightning Rod', 'Intimidate', 'Rock Head', 'Sturdy', 'Water Absorb', 'Weak Armor', - ].some(m => abilities.has(m)); - return teamDetails.rain ? neverWantsSwim : noSwimIfNoRain; - } - return (!moves.has('raindance') && ( - ['Intimidate', 'Rock Head', 'Slush Rush', 'Water Absorb'].some(abil => abilities.has(abil)) || - (abilities.has('Lightning Rod') && !counter.setupType) - )); - case 'Synchronize': - return counter.get('Status') < 3; - case 'Technician': - return ( - !counter.get('technician') || - moves.has('tailslap') || - abilities.has('Punk Rock') || - // For Doubles Alolan Persian - movePool.includes('snarl') - ); - case 'Tinted Lens': - return ( - // For Sigilyph - moves.has('defog') || - // For Butterfree - (moves.has('hurricane') && abilities.has('Compound Eyes')) || - (counter.get('Status') > 2 && !counter.setupType) - ); - case 'Torrent': - // For Inteleon-Gmax and Primarina - return (moves.has('focusenergy') || moves.has('hypervoice')); - case 'Tough Claws': - // For Perrserker - return (types.has('Steel') && !moves.has('fakeout')); - case 'Unaware': - // For Swoobat and Clefable - return (!!counter.setupType || moves.has('fireblast')); - case 'Unburden': - return (abilities.has('Prankster') || !counter.setupType && !isDoubles); - case 'Vapor Control': - return !teamDetails.sun; - case 'Volt Absorb': - return (this.dex.getEffectiveness('Electric', species) < -1); - case 'Water Absorb': - return ( - moves.has('raindance') || - ['Drizzle', 'Strong Jaw', 'Unaware', 'Volt Absorb'].some(abil => abilities.has(abil)) - ); - case 'Weak Armor': - // The Speed less than 50 case is intended for Cursola, but could apply to any slow Pokémon. - return ( - (!isNoDynamax && species.baseStats.spe > 50) || - species.id === 'skarmory' || - moves.has('shellsmash') || moves.has('rapidspin') - ); - } - - return false; - } - - getHighPriorityItem( - ability: string, - types: Set, - moves: Set, - counter: MoveCounter, - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - isLead: boolean, - isDoubles: boolean - ) { - if (ability === 'Honey Gather') return 'Red Card'; - if (ability === 'Scavenge') return 'Soul Blade'; - if (ability === 'Sweet Veil') return 'Honey'; - - if (['stakataka', 'buzzwole', 'donphan'].includes(species.id)) return 'Momentum Armor'; - if (['scyther', 'sneasel', 'magneton'].includes(species.id)) return 'Eviolith'; - if (species.id === 'appletun') return 'Sweet Apple'; - if (species.id.startsWith('darmanitan') && counter.get('Special') > 2) return 'Chill Pill'; - if (species.id === 'castform' && (moves.has('raindance') || moves.has('sunnyday'))) return 'Cursed Belt'; - if (species.id === 'cherrim') return 'Morning Blossom'; - if (species.id === 'flapple') return 'Tart Apple'; - if (species.id === 'meloetta' && counter.get('Physical') > 2) return 'Relic Charm'; - if (species.id === 'mimikyu') return 'Nightlight Ball'; - if (species.id === 'phione') return 'Seawater Bead'; - if (species.id === 'regigigas') return 'Sacred Ropes'; - if (species.id === 'swoobat') return 'Coal Engine'; - if (species.id === 'wishiwashi') return 'Graduation Scale'; - if ([ - 'pikachu', 'raichu', 'raichualola', 'plusle', 'minun', 'pachirisu', - 'emolga', 'dedenne', 'togedemaru', 'morpeko', - ].includes(species.id)) return 'Light Ball'; - - return super.getHighPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, isDoubles); - } - - getMediumPriorityItem( - ability: string, - moves: Set, - counter: MoveCounter, - species: Species, - isLead: boolean, - isDoubles: boolean, - isNoDynamax: boolean - ) { - const item = super.getMediumPriorityItem(ability, moves, counter, species, isLead, isDoubles, isNoDynamax); - if (counter.setupType === 'Physical' && counter.get('Status') < 2 && !item) return 'Cursed Belt'; - return item; - } - - getLowPriorityItem( - ability: string, - types: Set, - moves: Set, - abilities: Set, - counter: MoveCounter, - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - isLead: boolean, - isDoubles: boolean, - isNoDynamax: boolean - ) { - const item = super.getLowPriorityItem( - ability, - types, - moves, - abilities, - counter, - teamDetails, - species, - isLead, - isDoubles, - isNoDynamax - ); - if (item === 'Leftovers' && types.has('Ghost')) return 'Reaper Cloth'; - return item; - } -} - -export default RandomJoltemonsTeams; diff --git a/data/mods/gen8joltemons/rulesets.ts b/data/mods/gen8joltemons/rulesets.ts deleted file mode 100644 index df872b807a72..000000000000 --- a/data/mods/gen8joltemons/rulesets.ts +++ /dev/null @@ -1,43 +0,0 @@ -export const Rulesets: {[k: string]: ModdedFormatData} = { - megadatamod: { - effectType: 'Rule', - name: 'Mega Data Mod', - desc: 'Gives data on stats, Ability and types when a Pokémon Mega Evolves or undergoes Ultra Burst.', - onSwitchIn(pokemon) { - if (pokemon.illusion) { - if (pokemon.illusion.species.forme.startsWith('Mega') || pokemon.illusion.species.forme.startsWith('Ultra')) { - this.add('-start', pokemon, 'typechange', pokemon.illusion.getTypes(true).join('/'), '[silent]'); - } - } else { - if (pokemon.species.forme.startsWith('Mega') || pokemon.species.forme.startsWith('Ultra')) { - this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]'); - } - } - }, - onDamagingHit(damage, target, source, move) { - if (target.hasAbility('illusion')) { - if (target.species.forme.startsWith('Mega') || target.species.forme.startsWith('Ultra')) { - this.add('-start', target, 'typechange', target.getTypes(true).join('/'), '[silent]'); - } else { - const types = target.baseSpecies.types; - if (target.getTypes().join() === types.join()) { - this.add('-end', target, 'typechange', '[silent]'); - } - } - } - }, - onAfterMega(pokemon) { - this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]'); - const species = this.dex.species.get(pokemon.species.name); - const abilities = species.abilities; - const baseStats = species.baseStats; - const type = species.types[0]; - if (species.types[1]) { - const type2 = species.types[1]; - this.add(`raw|
  • ` + species.name + ` ${type}${type2} ` + abilities[0] + `HP
    ` + baseStats.hp + `
    Atk
    ` + baseStats.atk + `
    Def
    ` + baseStats.def + `
    SpA
    ` + baseStats.spa + `
    SpD
    ` + baseStats.spd + `
    Spe
    ` + baseStats.spe + `
`); - } else { - this.add(`raw|
  • ` + species.name + ` ${type} ` + abilities[0] + `HP
    ` + baseStats.hp + `
    Atk
    ` + baseStats.atk + `
    Def
    ` + baseStats.def + `
    SpA
    ` + baseStats.spa + `
    SpD
    ` + baseStats.spd + `
    Spe
    ` + baseStats.spe + `
`); - } - }, - }, -}; diff --git a/data/mods/gen8joltemons/scripts.ts b/data/mods/gen8joltemons/scripts.ts deleted file mode 100644 index 21fe63935a2b..000000000000 --- a/data/mods/gen8joltemons/scripts.ts +++ /dev/null @@ -1,1655 +0,0 @@ -import {RESTORATIVE_BERRIES} from "../../../sim/pokemon"; - -export const Scripts: ModdedBattleScriptsData = { - inherit: 'gen8', - gen: 8, - actions: { - canMegaEvo(pokemon) { - const altForme = pokemon.baseSpecies.otherFormes && this.dex.species.get(pokemon.baseSpecies.otherFormes[0]); - const item = pokemon.getItem(); - if ( - altForme?.isMega && altForme?.requiredMove && - pokemon.baseMoves.includes(this.dex.toID(altForme.requiredMove)) && !item.zMove - ) { - return altForme.name; - } - if (item.name === "Slowbronite" && pokemon.baseSpecies.name === "Slowbro-Galar") { - return null; - } - return item.megaStone; - }, - modifyDamage(baseDamage, pokemon, target, move, suppressMessages) { - const tr = this.battle.trunc; - if (!move.type) move.type = '???'; - const type = move.type; - - baseDamage += 2; - - // multi-target modifier (doubles only) - if (move.spreadHit) { - // multi-target modifier (doubles only) - const spreadModifier = move.spreadModifier || (this.battle.gameType === 'freeforall' ? 0.5 : 0.75); - this.battle.debug('Spread modifier: ' + spreadModifier); - baseDamage = this.battle.modify(baseDamage, spreadModifier); - } else if (move.multihitType === 'parentalbond' && move.hit > 1) { - // Parental Bond modifier - const bondModifier = this.battle.gen > 6 ? 0.25 : 0.5; - this.battle.debug(`Parental Bond modifier: ${bondModifier}`); - baseDamage = this.battle.modify(baseDamage, bondModifier); - } - - // weather modifier - baseDamage = this.battle.runEvent('WeatherModifyDamage', pokemon, target, move, baseDamage); - - // crit - not a modifier - const isCrit = target.getMoveHitData(move).crit; - if (isCrit) { - baseDamage = tr(baseDamage * (move.critModifier || (this.battle.gen >= 6 ? 1.5 : 2))); - } - - // random factor - also not a modifier - baseDamage = this.battle.randomizer(baseDamage); - - // STAB - if (move.forceSTAB || (type !== '???' && pokemon.hasType(type))) { - // The "???" type never gets STAB - // Not even if you Roost in Gen 4 and somehow manage to use - // Struggle in the same turn. - // (On second thought, it might be easier to get a MissingNo.) - baseDamage = this.battle.modify(baseDamage, move.stab || 1.5); - } - // types - let typeMod = target.runEffectiveness(move); - typeMod = this.battle.clampIntRange(typeMod, -6, 6); - target.getMoveHitData(move).typeMod = typeMod; - if (typeMod > 0) { - if (!suppressMessages) this.battle.add('-supereffective', target); - - for (let i = 0; i < typeMod; i++) { - baseDamage *= 2; - } - } - if (typeMod < 0) { - if (!suppressMessages) this.battle.add('-resisted', target); - - for (let i = 0; i > typeMod; i--) { - baseDamage = tr(baseDamage / 2); - } - } - - if (isCrit && !suppressMessages) this.battle.add('-crit', target); - - if (pokemon.status === 'brn' && move.category === 'Physical' && !pokemon.hasAbility('guts')) { - if (this.battle.gen < 6 || move.id !== 'facade' || move.id !== 'shadowpunch') { - baseDamage = this.battle.modify(baseDamage, 0.5); - } - } - - // Generation 5, but nothing later, sets damage to 1 before the final damage modifiers - if (this.battle.gen === 5 && !baseDamage) baseDamage = 1; - - // Final modifier. Modifiers that modify damage after min damage check, such as Life Orb. - baseDamage = this.battle.runEvent('ModifyDamage', pokemon, target, move, baseDamage); - - if (move.isZOrMaxPowered && target.getMoveHitData(move).zBrokeProtect) { - baseDamage = this.battle.modify(baseDamage, 0.25); - this.battle.add('-zbroken', target); - } - - // Generation 6-7 moves the check for minimum 1 damage after the final modifier... - if (this.battle.gen !== 5 && !baseDamage) return 1; - - // ...but 16-bit truncation happens even later, and can truncate to 0 - return tr(baseDamage, 16); - }, - }, - pokemon: { - isGrounded(negateImmunity = false) { - if ('gravity' in this.battle.field.pseudoWeather) return true; - if ('ingrain' in this.volatiles && this.battle.gen >= 4) return true; - if ('smackdown' in this.volatiles) return true; - const item = (this.ignoringItem() ? '' : this.item); - if (item === 'ironball') return true; - // If a Fire/Flying type uses Burn Up and Roost, it becomes ???/Flying-type, but it's still grounded. - if (!negateImmunity && this.hasType('Flying') && !('roost' in this.volatiles)) return false; - if ( - this.hasAbility(['levitate', 'powerofalchemyweezing', 'powerofalchemymismagius']) && - !this.battle.suppressingAbility(this) - ) return null; - if ('magnetrise' in this.volatiles) return false; - if ('telekinesis' in this.volatiles) return false; - return item !== 'airballoon'; - }, - ignoringAbility() { - // Check if any active pokemon have the ability Neutralizing Gas - let neutralizinggas = false; - let powerofalchemyweezing = false; - for (const pokemon of this.battle.getAllActive()) { - // can't use hasAbility because it would lead to infinite recursion - if (pokemon.ability === ('neutralizinggas' as ID) || - ( - pokemon.ability === ('powerofalchemyweezing' as ID) && - !pokemon.volatiles['gastroacid'] && - !pokemon.abilityState.ending - ) - ) { - neutralizinggas = true; - powerofalchemyweezing = true; - break; - } - } - - return !!( - (this.battle.gen >= 5 && !this.isActive) || - ((this.volatiles['gastroacid'] || - (neutralizinggas && this.ability !== ('neutralizinggas' as ID)) || - (powerofalchemyweezing && this.ability !== ('powerofalchemyweezing' as ID)) - ) && !this.getAbility().isPermanent) - ); - }, - setStatus( - status: string | Condition, - source: Pokemon | null = null, - sourceEffect: Effect | null = null, - ignoreImmunities = false - ) { - if (!this.hp) return false; - status = this.battle.dex.conditions.get(status); - if (this.battle.event) { - if (!source) source = this.battle.event.source; - if (!sourceEffect) sourceEffect = this.battle.effect; - } - if (!source) source = this; - - if (this.status === status.id) { - if ((sourceEffect as Move)?.status === this.status) { - this.battle.add('-fail', this, this.status); - } else if ((sourceEffect as Move)?.status) { - this.battle.add('-fail', source); - this.battle.attrLastMove('[still]'); - } - return false; - } - if (!ignoreImmunities && status.id && - !(source?.hasAbility([ - 'corrosion', 'powerofalchemymismagius', 'powerofalchemyumbreon', - ]) && ['tox', 'psn'].includes(status.id))) { - // the game currently never ignores immunities - if (!this.runStatusImmunity(status.id === 'tox' ? 'psn' : status.id)) { - this.battle.debug('immune to status'); - if ((sourceEffect as Move)?.status) { - this.battle.add('-immune', this); - } - return false; - } - } - const prevStatus = this.status; - const prevStatusState = this.statusState; - if (status.id) { - const result: boolean = this.battle.runEvent('SetStatus', this, source, sourceEffect, status); - if (!result) { - this.battle.debug('set status [' + status.id + '] interrupted'); - return result; - } - } - this.status = status.id; - this.statusState = {id: status.id, target: this}; - if (source) this.statusState.source = source; - if (status.duration) this.statusState.duration = status.duration; - if (status.durationCallback) { - this.statusState.duration = status.durationCallback.call(this.battle, this, source, sourceEffect); - } - - if (status.id && !this.battle.singleEvent('Start', status, this.statusState, this, source, sourceEffect)) { - this.battle.debug('status start [' + status.id + '] interrupted'); - // cancel the setstatus - this.status = prevStatus; - this.statusState = prevStatusState; - return false; - } - if (status.id && !this.battle.runEvent('AfterSetStatus', this, source, sourceEffect, status)) { - return false; - } - return true; - }, - getAbility() { - const item = this.battle.dex.items.getByID(this.ability); - return item.exists ? item as Effect as Ability : this.battle.dex.abilities.getByID(this.ability); - }, - hasItem(item) { - if (this.ignoringItem()) return false; - if (!Array.isArray(item)) { - item = this.battle.toID(item); - return item === this.item || item === this.ability; - } - item = item.map(this.battle.toID); - return item.includes(this.item) || item.includes(this.ability); - }, - eatItem(force, source, sourceEffect) { - if (!this.item || this.itemState.knockedOff) return false; - if ((!this.hp && this.item !== 'jabocaberry' && this.item !== 'rowapberry') || !this.isActive) return false; - - if (!sourceEffect && this.battle.effect) sourceEffect = this.battle.effect; - if (!source && this.battle.event && this.battle.event.target) source = this.battle.event.target; - const item = this.getItem(); - if ( - this.battle.runEvent('UseItem', this, null, null, item) && - (force || this.battle.runEvent('TryEatItem', this, null, null, item)) - ) { - this.battle.add('-enditem', this, item, '[eat]'); - - this.battle.singleEvent('Eat', item, this.itemState, this, source, sourceEffect); - this.battle.runEvent('EatItem', this, null, null, item); - - if (RESTORATIVE_BERRIES.has(item.id)) { - switch (this.pendingStaleness) { - case 'internal': - if (this.staleness !== 'external') this.staleness = 'internal'; - break; - case 'external': - this.staleness = 'external'; - break; - } - this.pendingStaleness = undefined; - } - if (this.item === item.id) { - this.lastItem = this.item; - this.item = ''; - this.itemState = {id: '', target: this}; - } - if (this.ability === item.id) { - this.lastItem = this.ability; - this.baseAbility = this.ability = ''; - this.abilityState = {id: '', target: this}; - } - this.usedItemThisTurn = true; - this.ateBerry = true; - this.battle.runEvent('AfterUseItem', this, null, null, item); - return true; - } - return false; - }, - useItem(source, sourceEffect) { - if ((!this.hp && !this.getItem().isGem) || !this.isActive) return false; - if (!this.item || this.itemState.knockedOff) return false; - - if (!sourceEffect && this.battle.effect) sourceEffect = this.battle.effect; - if (!source && this.battle.event && this.battle.event.target) source = this.battle.event.target; - const item = this.getItem(); - if (this.battle.runEvent('UseItem', this, null, null, item)) { - switch (item.id) { - case 'redcard': - this.battle.add('-enditem', this, item, '[of] ' + source); - break; - default: - if (item.isGem) { - this.battle.add('-enditem', this, item, '[from] gem'); - } else { - this.battle.add('-enditem', this, item); - } - break; - } - if (item.boosts) { - this.battle.boost(item.boosts, this, source, item); - } - - this.battle.singleEvent('Use', item, this.itemState, this, source, sourceEffect); - - if (this.item === item.id) { - this.lastItem = this.item; - this.item = ''; - this.itemState = {id: '', target: this}; - } - if (this.ability === item.id) { - this.lastItem = this.ability; - this.baseAbility = this.ability = ''; - this.abilityState = {id: '', target: this}; - } - this.usedItemThisTurn = true; - this.battle.runEvent('AfterUseItem', this, null, null, item); - return true; - } - return false; - }, - setAbility(ability, source, isFromFormeChange) { - if (this.battle.dex.items.get(this.ability).exists) return false; - return Object.getPrototypeOf(this).setAbility.call(this, ability, source, isFromFormeChange); - }, - }, - - init() { - this.modData('Learnsets', 'wigglytuff').learnset.geomancy = ['8L1']; - this.modData('Learnsets', 'articunogalar').learnset.defog = ['8L1']; - this.modData('Learnsets', 'zapdosgalar').learnset.defog = ['8L1']; - this.modData('Learnsets', 'moltresgalar').learnset.defog = ['8L1']; - this.modData('Learnsets', 'articunogalar').learnset.toxic = ['8L1']; - this.modData('Learnsets', 'articunogalar').learnset.heatwave = ['8L1']; - this.modData('Learnsets', 'zapdosgalar').learnset.toxic = ['8L1']; - this.modData('Learnsets', 'moltresgalar').learnset.toxic = ['8L1']; - this.modData('Learnsets', 'magmortar').learnset.recover = ['8L1']; - this.modData('Learnsets', 'girafarig').learnset.focusblast = ['8L1']; - this.modData('Learnsets', 'zarude').learnset.focusblast = ['8L1']; - this.modData('Learnsets', 'zarudedada').learnset.focusblast = ['8L1']; - this.modData('Learnsets', 'samurott').learnset.focusblast = ['8L1']; - this.modData('Learnsets', 'jirachi').learnset.focusblast = ['8L1']; - this.modData('Learnsets', 'delphox').learnset.focusblast = ['8L1']; - this.modData('Learnsets', 'ninetalesalola').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'sandslashalola').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'abomasnow').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'arctozolt').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'arctovish').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'avalugg').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'articuno').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'crabominable').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'cryogonal').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'dewgong').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'froslass').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'frosmoth').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'glaceon').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'glalie').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'glastrier').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'jynx').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'lapras').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'mrrime').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'vanilluxe').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'walrein').learnset.meltingpoint = ['8L1']; - this.modData('Learnsets', 'spinarak').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'weedle').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'wurmple').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'venonat').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'combee').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'volbeat').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'illumise').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'shuckle').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'surskit').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'bulbasaur').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'joltik').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'dewpider').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'slowbrogalar').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'tentacool').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'poipole').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'umbreon').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'tangrowth').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'accelgor').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'leavanny').learnset.toxicthread = ['8L1']; - this.modData('Learnsets', 'anorith').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'croagunk').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'cubone').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'diglett').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'diglettalola').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'drilbur').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'geodude').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'geodudealola').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'gible').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'gligar').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'groudon').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'helioptile').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'jynx').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'mudbray').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'numel').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'lileep').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'onix').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'paras').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'rhyhorn').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'rolycoly').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'salandit').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'sandile').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'sandshrew').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'shuckle').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'silicobra').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'torkoal').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'trapinch').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'volcanion').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'wormadamsandy').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'yamaskgalar').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'solrock').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'lunatone').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'minior').learnset.aridabsorption = ['8L1']; - this.modData('Learnsets', 'aegislash').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'aggron').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'arceus').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'bastiodon').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'bronzong').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'carbink').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'celesteela').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'copperajah').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'dialga').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'duraludon').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'empoleon').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'escavalier').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'forretress').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'genesect').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'jirachi').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'kartana').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'klinklang').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'magearna').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'magnezone').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'melmetal').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'necrozma').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'probopass').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'regice').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'regigigas').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'registeel').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'regirock').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'scizor').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'skarmory').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'solgaleo').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'stakataka').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'steelix').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'wormadamtrash').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'wormadam').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'wormadamsandy').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'zamazenta').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'reuniclus').learnset.reconstruct = ['8L1']; - this.modData('Learnsets', 'porygon').learnset.reconstruct = ['8L1']; - delete this.modData('Learnsets', 'alakazam').learnset.nastyplot; - this.modData('Learnsets', 'meganium').learnset.wish = ['8L1']; - this.modData('Learnsets', 'meganium').learnset.weatherball = ['8L1']; - this.modData('Learnsets', 'meganium').learnset.bodypress = ['8L1']; - this.modData('Learnsets', 'ampharos').learnset.dracometeor = ['8L1']; - this.modData('Learnsets', 'ampharos').learnset.slackoff = ['8L1']; - this.modData('Learnsets', 'ambipom').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'breloom').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'grapploct').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'sawk').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'infernape').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'scrafty').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'hitmonchan').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'crabominable').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'machamp').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'conkeldurr').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'melmetal').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'pangoro').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'ledian').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'toxicroak').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'mukalola').learnset.armthrust = ['8L1']; - this.modData('Learnsets', 'trevenant').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'exeggcute').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'landorus').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'thundurus').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'tornadus').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'ferrothorn').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'calyrex').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'dhelmise').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'leafeon').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'meganium').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'torterra').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'dubwool').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'sawsbuck').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'comfey').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'maractus').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'abomasnow').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'scolipede').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'regigigas').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'simisage').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'simisear').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'simipour').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'sirfetchd').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'skiddo').learnset.rototiller = ['8L1']; - this.modData('Learnsets', 'chansey').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'umbreon').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'milotic').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'amoonguss').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'mismagius').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'braixen').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'murkrow').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'ninetales').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'lumineon').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'volbeat').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'solrock').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'pachirisu').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'gigalith').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'watchog').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'gourgeist').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'zekrom').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'electivire').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'golemalola').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'luxray').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'thundurus').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'eelektross').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'zeraora').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'pincurchin').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'arctozolt').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'dracozolt').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'regieleki').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'zebstrika').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'togedemaru').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'toxtricitylowkey').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'morpeko').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'zapdos').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'raichualola').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'raichu').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'raikou').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'xurkitree').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'marowak').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'marowakalola').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'rhydon').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'goldeen').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'manectric').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'terrakion').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'virizion').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'keldeo').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'cobalion').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'sirfetchd').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'escavalier').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'celesteela').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'zacian').learnset.lightninglance = ['8L1']; - this.modData('Learnsets', 'cleffa').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'ralts').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'mawile').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'tapukoko').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'tapulele').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'tapubulu').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'tapufini').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'azurill').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'diancie').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'flabebe').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'snubbull').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'impidimp').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'hatenna').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'ninetalesalola').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'primarina').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'klefki').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'mimikyu').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'togepi').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'weezinggalar').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'swirlix').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'comfey').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'carbink').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'sylveon').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'spritzee').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'cutiefly').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'cottonee').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'milcery').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'dedenne').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'mimejr').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'ponytagalar').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'morelull').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'igglybuff').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'xerneas').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'magearna').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'zacian').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'hoopa').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'latias').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'latios').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'meditite').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'slowpoke').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'slowpokegalar').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'abra').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'victini').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'articunogalar').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'azelf').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'bruxish').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'chingling').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'delphox').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'deoxys').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'girafarig').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'spoink').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'drowzee').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'jirachi').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'mew').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'beldum').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'necrozma').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'solosis').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'cresselia').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'indeedee').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'indeedeef').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'sigilyph').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'bronzor').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'celebi').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'espeon').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'starmie').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'raichualola').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'calyrex').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'baltoy').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'mesprit').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'natu').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'elgyem').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'exeggcute').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'gothita').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'smoochum').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'lunatone').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'inkay').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'espurr').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'munna').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'oranguru').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'dottler').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'woobat').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'uxie').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'mewtwo').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'lugia').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'arceus').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'solgaleo').learnset.counterspell = ['8L1']; - this.modData('Learnsets', 'lunala').learnset.counterspell = ['8L1']; - this.modData("Learnsets", "oshawott").learnset.firstimpression = ["8L1"]; - this.modData("Learnsets", "dewott").learnset.brickbreak = ["8L1"]; - this.modData("Learnsets", "dewott").learnset.closecombat = ["8L1"]; - this.modData("Learnsets", "samurott").learnset.shellsmash = ["8L1"]; - this.modData("Learnsets", "samurott").learnset.drillrun = ["8L1"]; - this.modData("Learnsets", "muk").learnset.recover = ["8L1"]; - this.modData("Learnsets", "muk").learnset.stealthrock = ["8L1"]; - this.modData("Learnsets", "mukalola").learnset.recover = ["8L1"]; - this.modData("Learnsets", "mukalola").learnset.toxicspikes = ["8L1"]; - this.modData("Learnsets", "mismagius").learnset.moonblast = ["8L1"]; - this.modData("Learnsets", "mismagius").learnset.partingshot = ["8L1"]; - this.modData("Learnsets", "mismagius").learnset.toxicspikes = ["8L1"]; - this.modData("Learnsets", "mismagius").learnset.venoshock = ["8L1"]; - this.modData('Learnsets', 'mismagius').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'primarina').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'froslass').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'chatot').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'cursola').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'exploud').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'gourgeist').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'drifblim').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'guzzlord').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'banette').learnset.deafeningshriek = ['8L1']; - this.modData('Learnsets', 'ludicolo').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'politoed').learnset.lifedew = ['8L1']; - // this.modData('Learnsets', 'alomomola').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'luvdisc').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'florges').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'xerneas').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'empoleon').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'phione').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'indeedee').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'indeedeef').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'comfey').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'eldegoss').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'seel').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'meganium').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'wailmer').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'panpour').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'misdreavus').learnset.lifedew = ['8L1']; - // this.modData('Learnsets', 'hoopa').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'morelull').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'munna').learnset.lifedew = ['8L1']; - this.modData('Learnsets', 'litten').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'zigzagoongalar').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'silvally').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'pancham').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'chatot').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'morpeko').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'persianalola').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'thievul').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'trubbish').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'articunogalar').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'muk').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'toxtricitylowkey').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'muk').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'mukalola').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'weezing').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'crobat').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'toxicroak').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'scrafty').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'simisage').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'salandit').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'yveltal').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'sneasel').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'hoopa').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'zweilous').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'krookodile').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'cacturne').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'houndoom').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'zoroark').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'slowkinggalar').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'gastly').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'liepard').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'malamar').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'vullaby').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'zarude').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'zarudedada').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'seviper').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'zangoose').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'gulpin').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'skuntank').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'rattataalola').learnset.trashtalk = ['8L1']; - this.modData('Learnsets', 'bruxish').learnset.trashtalk = ['8L1']; - this.modData("Learnsets", "meganium").learnset.playrough = ["8L1"]; - this.modData("Learnsets", "meganium").learnset.moonblast = ["8L1"]; - this.modData("Learnsets", "meganium").learnset.drainingkiss = ["8L1"]; - this.modData("Learnsets", "meganium").learnset.superpower = ["8L1"]; - this.modData("Learnsets", "meganium").learnset.dazzlinggleam = ["8L1"]; - this.modData("Learnsets", "typhlosion").learnset.earthpower = ["8L1"]; - this.modData("Learnsets", "typhlosion").learnset.meteorbeam = ["8L1"]; - this.modData("Learnsets", "typhlosion").learnset.scorchingsands = ["8L1"]; - this.modData("Learnsets", "typhlosion").learnset.stealthrock = ["8L1"]; - this.modData("Learnsets", "feraligatr").learnset.suckerpunch = ["8L1"]; - this.modData("Learnsets", "feraligatr").learnset.pursuit = ["8L1"]; - this.modData("Learnsets", "feraligatr").learnset.scaleshot = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.scaleshot = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.recover = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.suckerpunch = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.firstimpression = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.uturn = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.earthquake = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.toxic = ["8L1"]; - this.modData("Learnsets", "centiskorch").learnset.rapidspin = ["8L1"]; - this.modData("Learnsets", "blacephalon").learnset.headbutt = ["8L1"]; - this.modData("Learnsets", "blacephalon").learnset.headcharge = ["8L1"]; - this.modData('Learnsets', 'tapukoko').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'tapulele').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'tapufini').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'tapubulu').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'clefairy').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'wigglytuff').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'hatterene').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'grimmsnarl').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'mrmime').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'golett').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'ledian').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'hitmonchan').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'trevenant').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'haunter').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'shroomish').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'infernape').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'meditite').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'slurpuff').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'shiinotic').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'aromatisse').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'regigigas').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'ralts').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'whimsicott').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'mawile').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'azumarill').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'granbull').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'dusclops').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'jirachi').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'reuniclus').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'audino').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'marshadow').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'hoopa').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'sableye').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'mesprit').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'uxie').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'azelf').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'delphox').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'celebi').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'victini').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'mew').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'mewtwo').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'abra').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'diancie').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'wooper').learnset.enchantedpunch = ['8L1']; - this.modData('Learnsets', 'golemalola').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'passimian').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'klinklang').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'jumpluff').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'raikou').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'eelektrik').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'blacephalon').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'zebstrika').learnset.electroball = ['8L1']; - this.modData('Learnsets', 'diggersby').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'dusknoir').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'grapploct').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'passimian').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'machamp').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'sawk').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'throh').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'lurantis').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'metagross').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'pignite').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'aipom').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'golurk').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'ledian').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'regigigas').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'poliwhirl').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'primeape').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'hawlucha').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'toxicroak').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'eelektross').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'mienshao').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'thundurus').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'tornadus').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'medicham').learnset.skyuppercut = ['8L1']; - this.modData('Learnsets', 'hariyama').learnset.skyuppercut = ['8L1']; - delete this.modData('Learnsets', 'lopunny').learnset.skyuppercut; - delete this.modData('Learnsets', 'buneary').learnset.skyuppercut; - delete this.modData('Learnsets', 'tapukoko').learnset.electroball; - delete this.modData('Learnsets', 'regieleki').learnset.electroball; - this.modData('Learnsets', 'slurpuff').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'greedent').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'komala').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'indeedee').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'indeedeef').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'passimian').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'darmanitan').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'beartic').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'mienfoo').learnset.thunderpunch = ['8L1']; - this.modData('Learnsets', 'slurpuff').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'greedent').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'komala').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'indeedee').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'indeedeef').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'passimian').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'cherrim').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'mienfoo').learnset.firepunch = ['8L1']; - this.modData('Learnsets', 'slurpuff').learnset.icepunch = ['8L1']; - this.modData('Learnsets', 'greedent').learnset.icepunch = ['8L1']; - this.modData('Learnsets', 'komala').learnset.icepunch = ['8L1']; - this.modData('Learnsets', 'indeedee').learnset.icepunch = ['8L1']; - this.modData('Learnsets', 'indeedeef').learnset.icepunch = ['8L1']; - this.modData('Learnsets', 'passimian').learnset.icepunch = ['8L1']; - this.modData('Learnsets', 'barbaracle').learnset.icepunch = ['8L1']; - this.modData('Learnsets', 'mienfoo').learnset.icepunch = ['8L1']; - this.modData("Learnsets", "wishiwashi").learnset.recover = ["8L1"]; - this.modData("Learnsets", "wishiwashi").learnset.outrage = ["8L1"]; - this.modData("Learnsets", "wishiwashi").learnset.dragondance = ["8L1"]; - this.modData("Learnsets", "wishiwashi").learnset.dragonpulse = ["8L1"]; - this.modData("Learnsets", "wishiwashi").learnset.dracometeor = ["8L1"]; - this.modData("Learnsets", "wishiwashi").learnset.coreenforcer = ["8L1"]; - this.modData("Learnsets", "azelf").learnset.aurasphere = ["8L1"]; - this.modData("Learnsets", "azelf").learnset.focusblast = ["8L1"]; - this.modData("Learnsets", "azelf").learnset.reversal = ["8L1"]; - this.modData("Learnsets", "azelf").learnset.vacuumwave = ["8L1"]; - this.modData("Learnsets", "azelf").learnset.forcepalm = ["8L1"]; - this.modData("Learnsets", "mesprit").learnset.taunt = ["8L1"]; - this.modData("Learnsets", "mesprit").learnset.moonblast = ["8L1"]; - this.modData("Learnsets", "mesprit").learnset.spiritbreak = ["8L1"]; - this.modData("Learnsets", "mesprit").learnset.fairylock = ["8L1"]; - this.modData("Learnsets", "mesprit").learnset.defog = ["8L1"]; - this.modData("Learnsets", "uxie").learnset.flashcannon = ["8L1"]; - this.modData("Learnsets", "uxie").learnset.disable = ["8L1"]; - this.modData("Learnsets", "uxie").learnset.doomdesire = ["8L1"]; - this.modData("Learnsets", "uxie").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "uxie").learnset.steelbeam = ["8L1"]; - this.modData("Learnsets", "uxie").learnset.reconstruct = ["8L1"]; - delete this.modData('Learnsets', 'melmetal').learnset.thunderpunch; - this.modData('Learnsets', 'fearow').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'graveler').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'graveleralola').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'voltorb').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'rhydon').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'totodile').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'hoppip').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'miltank').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'dunsparce').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'kirlia').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'spheal').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'bidoof').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'burmy').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'floatzel').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'lickilicky').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'whirlipede').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'sandile').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'minccino').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'klink').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'incineroar').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'poipole').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'wooloo').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'barraskewda').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'alcremie').learnset.rapidspin = ['8L1']; - this.modData('Learnsets', 'meowth').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'meowthalola').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'meowthgalar').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'krabby').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'zapdosgalar').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'totodile').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'ursaring').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'gligar').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'corphish').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'absol').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'metang').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'drapion').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'dwebble').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'krokorok').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'beartic').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'binacle').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'clawitzer').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'pangoro').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'trevenant').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'yveltal').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'incineroar').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'crabrawler').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'golisopod').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'bewear').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'guzzlord').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'necrozma').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'zeraora').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'hatterene').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'zarude').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'zarudedada').learnset.crushclaw = ['8L1']; - this.modData('Learnsets', 'poliwag').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'seel').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'qwilfish').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'lotad').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'huntail').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'gorebyss').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'luvdisc').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'anorith').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'piplup').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'bidoof').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'buizel').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'finneon').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'croagunk').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'phione').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'oshawott').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'panpour').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'alomomola').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'ducklett').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'stunfisk').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'eelektrik').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'inkay').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'bruxish').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'golisopod').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'grapploct').learnset.flipturn = ['8L1']; - this.modData('Learnsets', 'meganium').learnset.highhorsepower = ['8L1']; - this.modData('Learnsets', 'celesteela').learnset.thunderbolt = ['8L1']; - this.modData('Learnsets', 'archeops').learnset.bravebird = ['8L1']; - this.modData('Learnsets', 'archeops').learnset.hurricane = ['8L1']; - this.modData('Learnsets', 'weedle').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'nidoranm').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'slowbrogalar').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'mareanie').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'ekans').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'spinarak').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'wurmple').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'nidoranf').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'nihilego').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'seviper').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'tentacool').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'venonat').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'victreebel').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'venipede').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'zubat').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'roselia').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'toxtricitylowkey').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'skorupi').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'croagunk').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'trubbish').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'qwilfish').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'stunky').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'poipole').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'gligar').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'sandshrew').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'sandshrewalola').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'cacnea').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'vespiquen').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'breloom').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'decidueye').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'buzzwole').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'spearow').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'heracross').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'omastar').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'accelgor').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'pincurchin').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'seismitoad').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'froakie').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'skrelp').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'cloyster').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'frillish').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'octillery').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'clobbopus').learnset.poisondart = ['8L1']; - this.modData('Learnsets', 'accelgor').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'trubbish').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'goodra').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'grimer').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'grimeralola').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'nidoking').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'nidoqueen').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'pancham').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'reuniclus').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'swalot').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'croagunk').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'haunter').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'guzzlord').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'hitmonchan').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'breloom').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'seismitoad').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'scraggy').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'marshtomp').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'toxtricitylowkey').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'poliwrath').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'quagsire').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'clobbopus').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'eelektross').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'deoxys').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'tsareena').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'shiinotic').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'gloom').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'ludicolo').learnset.acidicfists = ['8L1']; - this.modData('Learnsets', 'tangela').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'foongus').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'oddish').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'butterfree').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'cherrim').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'gossifleur').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'exeggcute').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'hoppip').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'paras').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'morelull').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'venonat').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'bellsprout').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'spewpa').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'carnivine').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'petilil').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'budew').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'shroomish').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'cottonee').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'bulbasaur').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'chikorita').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'dustox').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'mothim').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'beautifly').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'cutiefly').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'volcarona').learnset.rashpowder = ['8L1']; - this.modData('Learnsets', 'voltorb').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'klefki').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'flabebe').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'dedenne').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'luvdisc').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'togetic').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'altaria').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'castform').learnset.mistyexplosion = ['8L1']; - this.modData('Learnsets', 'mandibuzz').learnset.bonemerang = ['8L1']; - this.modData('Learnsets', 'houndour').learnset.bonemerang = ['8L1']; - this.modData('Learnsets', 'stoutland').learnset.bonemerang = ['8L1']; - this.modData('Learnsets', 'lycanroc').learnset.bonemerang = ['8L1']; - this.modData('Learnsets', 'lycanrocdusk').learnset.bonemerang = ['8L1']; - this.modData('Learnsets', 'lycanrocmidnight').learnset.bonemerang = ['8L1']; - this.modData('Learnsets', 'lucario').learnset.bonemerang = ['8L1']; - this.modData('Learnsets', 'bulbasaur').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'ekans').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'nidoranm').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'nidoranf').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'bellsprout').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'paras').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'poliwag').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'grimer').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'grimeralola').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'slowbrogalar').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'vileplume').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'diglett').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'diglettalola').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'spinarak').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'wooper').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'yanma').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'qwilfish').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'swinub').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'shuckle').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'mudkip').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'nincada').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'corphish').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'surskit').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'barboach').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'baltoy').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'anorith').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'stunky').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'burmy').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'shellos').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'croagunk').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'skorupi').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'carnivine').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'venipede').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'tympole').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'trubbish').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'shelmet').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'stunfisk').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'golett').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'eelektrik').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'durant').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'bunnelby').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'goomy').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'grubbin').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'wimpod').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'mudbray').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'poipole').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'buzzwole').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'gulpin').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'bidoof').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'marill').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'kecleon').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'tangela').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'crabrawler').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'karrablast').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'krabby').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'dwebble').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'tropius').learnset.mudspike = ['8L1']; - this.modData('Learnsets', 'corsolagalar').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'munchlax').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'stonjourner').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'wailmer').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'jigglypuff').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'pincurchin').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'golett').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'heatran').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'gastly').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'azelf').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'volcanion').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'spheal').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'cyndaquil').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'skwovet').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'geodude').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'geodudealola').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'voltorb').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'koffing').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'pineco').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'seedot').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'lunatone').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'solrock').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'baltoy').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'drifloon').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'stunky').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'roggenrola').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'trubbish').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'ferroseed').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'silvally').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'minior').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'turtonator').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'magnemite').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'grimer').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'grimeralola').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'exeggcute').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'bonsly').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'onix').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'qwilfish').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'corsola').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'nosepass').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'gulpin').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'numel').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'glalie').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'bronzor').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'lickitung').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'solosis').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'vanillite').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'cryogonal').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'rolycoly').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'regirock').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'regice').learnset.selfdestruct = ['8L1']; - this.modData('Learnsets', 'registeel').learnset.selfdestruct = ['8L1']; - this.modData("Learnsets", "dusclops").learnset.bodypress = ["8L1"]; - this.modData("Learnsets", "dusclops").learnset.drainpunch = ["8L1"]; - this.modData("Learnsets", "dusclops").learnset.strengthsap = ["8L1"]; - this.modData("Learnsets", "magmortar").learnset.aurasphere = ["8L1"]; - this.modData("Learnsets", "magmortar").learnset.sludgebomb = ["8L1"]; - this.modData("Learnsets", "magmortar").learnset.dragonpulse = ["8L1"]; - this.modData("Learnsets", "magmortar").learnset.vacuumwave = ["8L1"]; - this.modData("Learnsets", "electivire").learnset.knockoff = ["8L1"]; - this.modData("Learnsets", "electivire").learnset.suckerpunch = ["8L1"]; - this.modData("Learnsets", "electivire").learnset.swordsdance = ["8L1"]; - this.modData("Learnsets", "electivire").learnset.closecombat = ["8L1"]; - this.modData("Learnsets", "electivire").learnset.machpunch = ["8L1"]; - this.modData("Learnsets", "electivire").learnset.drainpunch = ["8L1"]; - this.modData("Learnsets", "electivire").learnset.meteormash = ["8L1"]; - this.modData("Learnsets", "sliggoo").learnset.corrosivegas = ["8L1"]; - this.modData("Learnsets", "dodrio").learnset.earthquake = ["8L1"]; - this.modData("Learnsets", "dodrio").learnset.highhorsepower = ["8L1"]; - this.modData("Learnsets", "dodrio").learnset.tripleaxel = ["8L1"]; - this.modData("Learnsets", "cresselia").learnset.haze = ["8L1"]; - this.modData("Learnsets", "cresselia").learnset.defog = ["8L1"]; - this.modData("Learnsets", "beedrill").learnset.mudspike = ["8L1"]; - this.modData('Learnsets', 'vigoroth').learnset.payback = ['8L1']; - this.modData('Learnsets', 'incineroar').learnset.payback = ['8L1']; - this.modData('Learnsets', 'grimmsnarl').learnset.payback = ['8L1']; - this.modData('Learnsets', 'breloom').learnset.payback = ['8L1']; - this.modData('Learnsets', 'tyrogue').learnset.payback = ['8L1']; - this.modData('Learnsets', 'tepig').learnset.payback = ['8L1']; - this.modData('Learnsets', 'munchlax').learnset.payback = ['8L1']; - this.modData('Learnsets', 'banette').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'dusclops').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'vigoroth').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'breloom').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'tepig').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'mimikyu').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'leafeon').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'flareon').learnset.revenge = ['8L1']; - this.modData('Learnsets', 'donphan').learnset.avalanche = ['8L1']; - this.modData('Learnsets', 'steelix').learnset.avalanche = ['8L1']; - this.modData('Learnsets', 'gigalith').learnset.avalanche = ['8L1']; - this.modData('Learnsets', 'forretress').learnset.avalanche = ['8L1']; - this.modData('Learnsets', 'torterra').learnset.avalanche = ['8L1']; - this.modData('Learnsets', 'whiscash').learnset.avalanche = ['8L1']; - this.modData('Learnsets', 'mudsdale').learnset.avalanche = ['8L1']; - this.modData('Learnsets', 'snorlax').learnset.avalanche = ['8L1']; - delete this.modData('Learnsets', 'houndoom').learnset.sludgebomb; - delete this.modData('Learnsets', 'houndour').learnset.sludgebomb; - this.modData('Learnsets', 'litten').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'zigzagoongalar').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'silvally').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'pancham').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'chatot').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'morpeko').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'persianalola').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'thievul').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'trubbish').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'articunogalar').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'muk').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'mukalola').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'weezing').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'crobat').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'toxicroak').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'scrafty').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'simisage').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'salandit').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'yveltal').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'sneasel').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'hoopa').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'zweilous').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'hydreigon').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'krookodile').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'cacturne').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'houndoom').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'zoroark').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'slowkinggalar').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'gastly').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'liepard').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'malamar').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'vullaby').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'zarude').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'zarudedada').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'seviper').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'zangoose').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'gulpin').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'skuntank').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'liepard').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'rattataalola').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'bruxish').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'ariados').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'persian').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'perrserker').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'primeape').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'tauros').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'feraligatr').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'slowbrogalar').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'honchkrow').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'entei').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'mightyena').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'shiftry').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'slaking').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'sharpedo').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'walrein').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'luxray').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'purugly').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'abomasnow').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'mesprit').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'unfezant').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'darmanitan').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'beartic').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'tornadus').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'thundurus').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'tsareena').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'corviknight').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'drapion').learnset.aggravate = ['8L1']; - this.modData('Learnsets', 'porygon').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'klink').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'elgyem').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'metang').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'voltorb').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'clauncher').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'slowbrogalar').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'duraludon').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'silvally').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'mewtwo').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'magearna').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'toxtricitylowkey').learnset.technoblast = ['8L1']; - this.modData('Learnsets', 'magmortar').learnset.technoblast = ['8L1']; - delete this.modData('Learnsets', 'scyther').learnset.curse; - delete this.modData('Learnsets', 'scizor').learnset.curse; - this.modData('Learnsets', 'scyther').learnset.bulkup = ['8L1']; - this.modData('Learnsets', 'scizor').learnset.bulkup = ['8L1']; - this.modData('Learnsets', 'spectrier').learnset.curse = ['8L1']; - this.modData('Learnsets', 'dhelmise').learnset.curse = ['8L1']; - this.modData('Learnsets', 'jellicent').learnset.curse = ['8L1']; - this.modData('Learnsets', 'giratina').learnset.curse = ['8L1']; - this.modData('Learnsets', 'hoopa').learnset.curse = ['8L1']; - this.modData('Learnsets', 'marshadow').learnset.curse = ['8L1']; - this.modData('Learnsets', 'sableye').learnset.curse = ['8L1']; - this.modData('Learnsets', 'shedinja').learnset.curse = ['8L1']; - this.modData('Learnsets', 'audino').learnset.curse = ['8L1']; - this.modData('Learnsets', 'bewear').learnset.curse = ['8L1']; - this.modData('Learnsets', 'bouffalant').learnset.curse = ['8L1']; - this.modData('Learnsets', 'braviary').learnset.curse = ['8L1']; - this.modData('Learnsets', 'claydol').learnset.curse = ['8L1']; - this.modData('Learnsets', 'crabominable').learnset.curse = ['8L1']; - this.modData('Learnsets', 'escavalier').learnset.curse = ['8L1']; - this.modData('Learnsets', 'greedent').learnset.curse = ['8L1']; - this.modData('Learnsets', 'gumshoos').learnset.curse = ['8L1']; - this.modData('Learnsets', 'kecleon').learnset.curse = ['8L1']; - this.modData('Learnsets', 'komala').learnset.curse = ['8L1']; - this.modData('Learnsets', 'relicanth').learnset.curse = ['8L1']; - this.modData('Learnsets', 'scrafty').learnset.curse = ['8L1']; - this.modData('Learnsets', 'watchog').learnset.curse = ['8L1']; - this.modData('Learnsets', 'toucannon').learnset.curse = ['8L1']; - this.modData("Learnsets", "eelektross").learnset.poisonjab = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.gunkshot = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.surf = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.sludgebomb = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.toxicspikes = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.liquidation = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.venoshock = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.icepunch = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.toxicthread = ["8L1"]; - this.modData("Learnsets", "eelektross").learnset.scald = ["8L1"]; - this.modData("Learnsets", "audino").learnset.moonblast = ["8L1"]; - this.modData("Learnsets", "audino").learnset.counterspell = ["8L1"]; - this.modData("Learnsets", "guzzlord").learnset.glare = ["8L1"]; - this.modData("Learnsets", "guzzlord").learnset.nastyplot = ["8L1"]; - this.modData("Learnsets", "guzzlord").learnset.partingshot = ["8L1"]; - this.modData("Learnsets", "guzzlord").learnset.slackoff = ["8L1"]; - this.modData("Learnsets", "banette").learnset.poltergeist = ["8L1"]; - this.modData("Learnsets", "banette").learnset.metalclaw = ["8L1"]; - this.modData("Learnsets", "banette").learnset.bulletpunch = ["8L1"]; - this.modData("Learnsets", "banette").learnset.ironhead = ["8L1"]; - this.modData("Learnsets", "banette").learnset.smartstrike = ["8L1"]; - this.modData("Learnsets", "banette").learnset.swordsdance = ["8L1"]; - this.modData("Learnsets", "banette").learnset.shiftgear = ["8L1"]; - this.modData("Learnsets", "banette").learnset.irondefense = ["8L1"]; - this.modData("Learnsets", "banette").learnset.superpower = ["8L1"]; - this.modData("Learnsets", "gyarados").learnset.lifedew = ["8L1"]; - this.modData("Learnsets", "gyarados").learnset.pursuit = ["8L1"]; - this.modData("Learnsets", "gyarados").learnset.rapidspin = ["8L1"]; - this.modData("Learnsets", "typenull").learnset.wildcharge = ["8L1"]; - this.modData("Learnsets", "typenull").learnset.superpower = ["8L1"]; - this.modData("Learnsets", "silvally").learnset.wildcharge = ["8L1"]; - this.modData("Learnsets", "silvally").learnset.superpower = ["8L1"]; - this.modData("Learnsets", "silvally").learnset.earthquake = ["8L1"]; - this.modData("Learnsets", "silvally").learnset.blazekick = ["8L1"]; - this.modData("Learnsets", "wormadam").learnset.recover = ["8L1"]; - this.modData("Learnsets", "wormadam").learnset.thunderbolt = ["8L1"]; - this.modData("Learnsets", "wormadam").learnset.earthpower = ["8L1"]; - this.modData("Learnsets", "wormadam").learnset.uturn = ["8L1"]; - this.modData("Learnsets", "wormadamsandy").learnset.recover = ["8L1"]; - this.modData("Learnsets", "wormadamsandy").learnset.spikes = ["8L1"]; - this.modData("Learnsets", "wormadamsandy").learnset.stickyweb = ["8L1"]; - this.modData("Learnsets", "wormadamsandy").learnset.uturn = ["8L1"]; - this.modData("Learnsets", "wormadamtrash").learnset.spikes = ["8L1"]; - this.modData("Learnsets", "wormadamtrash").learnset.thunderbolt = ["8L1"]; - this.modData("Learnsets", "wormadamtrash").learnset.earthpower = ["8L1"]; - this.modData("Learnsets", "wormadamtrash").learnset.uturn = ["8L1"]; - this.modData('Learnsets', 'clauncher').learnset.octazooka = ['8L1']; - this.modData('Learnsets', 'inteleon').learnset.octazooka = ['8L1']; - this.modData('Learnsets', 'inkay').learnset.octazooka = ['8L1']; - this.modData('Learnsets', 'mantine').learnset.octazooka = ['8L1']; - this.modData('Learnsets', 'inteleon').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'toxtricity').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'dottler').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'hatenna').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'pincurchin').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'boltund').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'ponytagalar').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'slowpokegalar').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'frosmoth').learnset.signalbeam = ['8L1']; - this.modData('Learnsets', 'raikou').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'jolteon').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'keldeo').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'chinchou').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'beheeyem').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'staryu').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'glaceon').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'empoleon').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'nosepass').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'articuno').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'lugia').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'lapras').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'regice').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'jynx').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'gigalith').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'xurkitree').learnset.aurorabeam = ['8L1']; - this.modData('Learnsets', 'palossand').learnset.hex = ['8L1']; - this.modData('Learnsets', 'hatterene').learnset.hex = ['8L1']; - this.modData('Learnsets', 'delphox').learnset.hex = ['8L1']; - this.modData('Learnsets', 'seadra').learnset.venoshock = ['8L1']; - this.modData('Learnsets', 'shiinotic').learnset.venoshock = ['8L1']; - this.modData('Learnsets', 'umbreon').learnset.venoshock = ['8L1']; - this.modData('Learnsets', 'sandshrew').learnset.venoshock = ['8L1']; - this.modData('Learnsets', 'falinks').learnset.attackorder = ['8L1']; - this.modData('Learnsets', 'honchkrow').learnset.attackorder = ['8L1']; - this.modData('Learnsets', 'bisharp').learnset.attackorder = ['8L1']; - this.modData('Learnsets', 'cramorant').learnset.attackorder = ['8L1']; - delete this.modData('Learnsets', 'gastly').learnset.curse; - delete this.modData('Learnsets', 'haunter').learnset.curse; - delete this.modData('Learnsets', 'gengar').learnset.curse; - delete this.modData('Learnsets', 'dreepy').learnset.curse; - delete this.modData('Learnsets', 'drakloak').learnset.curse; - delete this.modData('Learnsets', 'dragapult').learnset.curse; - delete this.modData('Learnsets', 'misdreavus').learnset.curse; - delete this.modData('Learnsets', 'mismagius').learnset.curse; - delete this.modData('Learnsets', 'pumpkaboo').learnset.curse; - delete this.modData('Learnsets', 'gourgeist').learnset.curse; - delete this.modData('Learnsets', 'litwick').learnset.curse; - delete this.modData('Learnsets', 'lampent').learnset.curse; - delete this.modData('Learnsets', 'chandelure').learnset.curse; - delete this.modData('Learnsets', 'mimikyu').learnset.curse; - delete this.modData('Learnsets', 'decidueye').learnset.curse; - delete this.modData('Learnsets', 'dartrix').learnset.curse; - delete this.modData('Learnsets', 'rowlet').learnset.curse; - this.modData("Learnsets", "keldeo").learnset.vacuumwave = ["8L1"]; - this.modData("Learnsets", "keldeo").learnset.highjumpkick = ["8L1"]; - this.modData("Learnsets", "keldeo").learnset.bulkup = ["8L1"]; - this.modData("Learnsets", "keldeo").learnset.aurasphere = ["8L1"]; - this.modData("Learnsets", "keldeo").learnset.brine = ["8L1"]; - this.modData("Learnsets", "keldeo").learnset.aquaring = ["8L1"]; - // this.modData("Learnsets", "keldeo").learnset.lifedew = ["8L1"]; - this.modData("Learnsets", "keldeo").learnset.signalbeam = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.vacuumwave = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.highjumpkick = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.bulkup = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.aurasphere = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.kingsshield = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.doomdesire = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.bodypress = ["8L1"]; - this.modData("Learnsets", "cobalion").learnset.reconstruct = ["8L1"]; - this.modData("Learnsets", "terrakion").learnset.vacuumwave = ["8L1"]; - this.modData("Learnsets", "terrakion").learnset.highjumpkick = ["8L1"]; - this.modData("Learnsets", "terrakion").learnset.bulkup = ["8L1"]; - this.modData("Learnsets", "terrakion").learnset.aurasphere = ["8L1"]; - this.modData("Learnsets", "terrakion").learnset.accelerock = ["8L1"]; - this.modData("Learnsets", "terrakion").learnset.spikes = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.vacuumwave = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.highjumpkick = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.bulkup = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.aurasphere = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.hornleech = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.powerwhip = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.spikyshield = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.sleeppowder = ["8L1"]; - this.modData("Learnsets", "virizion").learnset.rashpowder = ["8L1"]; - this.modData("Learnsets", "vaporeon").learnset.meltingpoint = ["8L1"]; - this.modData("Learnsets", "vaporeon").learnset.lifedew = ["8L1"]; - this.modData("Learnsets", "vaporeon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "vaporeon").learnset.bouncybubble = ["8L1"]; - this.modData("Learnsets", "jolteon").learnset.lightinglance = ["8L1"]; - this.modData("Learnsets", "jolteon").learnset.spikes = ["8L1"]; - this.modData("Learnsets", "jolteon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "jolteon").learnset.buzzybuzz = ["8L1"]; - this.modData("Learnsets", "flareon").learnset.firelash = ["8L1"]; - this.modData("Learnsets", "flareon").learnset.morningsun = ["8L1"]; - this.modData("Learnsets", "flareon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "flareon").learnset.sizzlyslide = ["8L1"]; - this.modData("Learnsets", "espeon").learnset.focusblast = ["8L1"]; - this.modData("Learnsets", "espeon").learnset.meteorbeam = ["8L1"]; - this.modData("Learnsets", "espeon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "espeon").learnset.glitzyglow = ["8L1"]; - this.modData("Learnsets", "umbreon").learnset.aggravate = ["8L1"]; - this.modData("Learnsets", "umbreon").learnset.toxicspikes = ["8L1"]; - this.modData("Learnsets", "umbreon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "umbreon").learnset.baddybad = ["8L1"]; - this.modData("Learnsets", "glaceon").learnset.dazzlinggleam = ["8L1"]; - this.modData("Learnsets", "glaceon").learnset.calmmind = ["8L1"]; - this.modData("Learnsets", "glaceon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "glaceon").learnset.freezyfrost = ["8L1"]; - this.modData("Learnsets", "leafeon").learnset.mudspike = ["8L1"]; - this.modData("Learnsets", "leafeon").learnset.strengthsap = ["8L1"]; - this.modData("Learnsets", "leafeon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "leafeon").learnset.sappyseed = ["8L1"]; - this.modData("Learnsets", "sylveon").learnset.moonlight = ["8L1"]; - this.modData("Learnsets", "sylveon").learnset.lovelykiss = ["8L1"]; - this.modData("Learnsets", "sylveon").learnset.teleport = ["8L1"]; - this.modData("Learnsets", "sylveon").learnset.sparklyswirl = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.knockoff = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.willowisp = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.thunderwave = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.swordsdance = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.gunkshot = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.blazekick = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.aromatherapy = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.bulkup = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.superpower = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.partingshot = ["8L1"]; - this.modData("Learnsets", "skuntank").learnset.strengthsap = ["8L1"]; - this.modData('Learnsets', 'alcremie').learnset.smother = ['8L1']; - this.modData('Learnsets', 'alomomola').learnset.smother = ['8L1']; - this.modData('Learnsets', 'altaria').learnset.smother = ['8L1']; - this.modData('Learnsets', 'ambipom').learnset.smother = ['8L1']; - this.modData('Learnsets', 'audino').learnset.smother = ['8L1']; - this.modData('Learnsets', 'azumarill').learnset.smother = ['8L1']; - this.modData('Learnsets', 'bewear').learnset.smother = ['8L1']; - this.modData('Learnsets', 'chansey').learnset.smother = ['8L1']; - this.modData('Learnsets', 'cinccino').learnset.smother = ['8L1']; - this.modData('Learnsets', 'clefable').learnset.smother = ['8L1']; - this.modData('Learnsets', 'diggersby').learnset.smother = ['8L1']; - this.modData('Learnsets', 'dubwool').learnset.smother = ['8L1']; - this.modData('Learnsets', 'electivire').learnset.smother = ['8L1']; - this.modData('Learnsets', 'florges').learnset.smother = ['8L1']; - this.modData('Learnsets', 'garbodor').learnset.smother = ['8L1']; - this.modData('Learnsets', 'gardevoir').learnset.smother = ['8L1']; - this.modData('Learnsets', 'gastrodon').learnset.smother = ['8L1']; - this.modData('Learnsets', 'goodra').learnset.smother = ['8L1']; - this.modData('Learnsets', 'granbull').learnset.smother = ['8L1']; - this.modData('Learnsets', 'grapploct').learnset.smother = ['8L1']; - this.modData('Learnsets', 'greedent').learnset.smother = ['8L1']; - this.modData('Learnsets', 'grimmsnarl').learnset.smother = ['8L1']; - this.modData('Learnsets', 'guzzlord').learnset.smother = ['8L1']; - this.modData('Learnsets', 'hariyama').learnset.smother = ['8L1']; - this.modData('Learnsets', 'hatterene').learnset.smother = ['8L1']; - this.modData('Learnsets', 'hawlucha').learnset.smother = ['8L1']; - this.modData('Learnsets', 'honchkrow').learnset.smother = ['8L1']; - this.modData('Learnsets', 'incineroar').learnset.smother = ['8L1']; - this.modData('Learnsets', 'kangaskhan').learnset.smother = ['8L1']; - this.modData('Learnsets', 'lopunny').learnset.smother = ['8L1']; - this.modData('Learnsets', 'mantine').learnset.smother = ['8L1']; - this.modData('Learnsets', 'miltank').learnset.smother = ['8L1']; - // this.modData('Learnsets', 'mimikyu').learnset.smother = ['8L1']; - this.modData('Learnsets', 'muk').learnset.smother = ['8L1']; - this.modData('Learnsets', 'mukalola').learnset.smother = ['8L1']; - this.modData('Learnsets', 'nidoqueen').learnset.smother = ['8L1']; - this.modData('Learnsets', 'regigigas').learnset.smother = ['8L1']; - this.modData('Learnsets', 'sandaconda').learnset.smother = ['8L1']; - this.modData('Learnsets', 'seviper').learnset.smother = ['8L1']; - this.modData('Learnsets', 'slaking').learnset.smother = ['8L1']; - this.modData('Learnsets', 'slurpuff').learnset.smother = ['8L1']; - this.modData('Learnsets', 'snorlax').learnset.smother = ['8L1']; - this.modData('Learnsets', 'swalot').learnset.smother = ['8L1']; - this.modData('Learnsets', 'tangrowth').learnset.smother = ['8L1']; - this.modData('Learnsets', 'throh').learnset.smother = ['8L1']; - this.modData('Learnsets', 'togekiss').learnset.smother = ['8L1']; - this.modData('Learnsets', 'wailord').learnset.smother = ['8L1']; - this.modData('Learnsets', 'wigglytuff').learnset.smother = ['8L1']; - this.modData('Learnsets', 'zygarde').learnset.smother = ['8L1']; - this.modData('Learnsets', 'milotic').learnset.smother = ['8L1']; - this.modData('Learnsets', 'purugly').learnset.smother = ['8L1']; - this.modData('Learnsets', 'jellicent').learnset.smother = ['8L1']; - this.modData('Learnsets', 'dragonite').learnset.smother = ['8L1']; - this.modData('Learnsets', 'arbok').learnset.smother = ['8L1']; - this.modData('Learnsets', 'lickilicky').learnset.smother = ['8L1']; - this.modData('Learnsets', 'salazzle').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'torchic').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'victini').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'pansear').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'darumaka').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'braixen').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'spinda').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'flareon').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'marowakalola').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'cherrim').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'bellossom').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'solgaleo').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.fierydance = ['8L1']; - this.modData('Learnsets', 'crabominable').learnset.shadowpunch = ['8L1']; - this.modData('Learnsets', 'pangoro').learnset.shadowpunch = ['8L1']; - this.modData('Learnsets', 'hoopa').learnset.shadowpunch = ['8L1']; - this.modData('Learnsets', 'mimikyu').learnset.shadowpunch = ['8L1']; - this.modData('Learnsets', 'hitmonchan').learnset.shadowpunch = ['8L1']; - this.modData('Learnsets', 'medicham').learnset.shadowpunch = ['8L1']; - this.modData('Learnsets', 'toxicroak').learnset.shadowpunch = ['8L1']; - this.modData('Learnsets', 'snover').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'mrmimegalar').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'smoochum').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'darumakagalar').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'snorunt').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'frosmoth').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'spinda').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'glaceon').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'lotad').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'cryogonal').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'crabominable').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'castform').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'brionne').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'oricorio').learnset.snowmanjazz = ['8L1']; - this.modData('Learnsets', 'impidimp').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'nuzleaf').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'spinda').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'zorua').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'sneasel').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'morelull').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'oddish').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'umbreon').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'teddiursa').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'clefairy').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'cresselia').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'darkrai').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'lunala').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'lunatone').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'primarina').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'cacnea').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'dustox').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'frosmoth').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'volbeat').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'illumise').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'venomoth').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'oricorio').learnset.moonlitwaltz = ['8L1']; - this.modData('Learnsets', 'pansage').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'lotad').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'spinda').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'leafeon').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'psyduck').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'pichu').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'igglybuff').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'cleffa').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'smoochum').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'mimejr').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'kirlia').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'shaymin').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'steenee').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'hoppip').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'oricorio').learnset.petaldance = ['8L1']; - this.modData('Learnsets', 'swablu').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'chatot').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'oricorio').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'delibird').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'spinda').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'ducklett').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'meloetta').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'pidove').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'pidgey').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'pikipek').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'beautifly').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'vivillon').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'butterfree').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'masquerain').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'mothim').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'swoobat').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'togekiss').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'shaymin').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'vespiquen').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'ledian').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'woobat').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'castform').learnset.skysoiree = ['8L1']; - this.modData('Learnsets', 'hoppip').learnset.skysoiree = ['8L1']; - this.modData("Learnsets", "gourgeist").learnset.disarmingvoice = ["8L1"]; - delete this.modData('Learnsets', 'gourgeist').learnset.moonblast; - }, -}; diff --git a/data/mods/gen9dlc1/abilities.ts b/data/mods/gen9dlc1/abilities.ts new file mode 100644 index 000000000000..7b62af1a0c7d --- /dev/null +++ b/data/mods/gen9dlc1/abilities.ts @@ -0,0 +1,108 @@ +export const Abilities: {[k: string]: ModdedAbilityData} = { + commander: { + inherit: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, + }, + gulpmissile: { + inherit: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1}, + }, + protosynthesis: { + inherit: true, + condition: { + noCopy: true, + onStart(pokemon, source, effect) { + if (effect?.name === 'Booster Energy') { + this.effectState.fromBooster = true; + this.add('-activate', pokemon, 'ability: Protosynthesis', '[fromitem]'); + } else { + this.add('-activate', pokemon, 'ability: Protosynthesis'); + } + this.effectState.bestStat = pokemon.getBestStat(false, true); + this.add('-start', pokemon, 'protosynthesis' + this.effectState.bestStat); + }, + onModifyAtkPriority: 5, + onModifyAtk(atk, pokemon) { + if (this.effectState.bestStat !== 'atk') return; + this.debug('Protosynthesis atk boost'); + return this.chainModify([5325, 4096]); + }, + onModifyDefPriority: 6, + onModifyDef(def, pokemon) { + if (this.effectState.bestStat !== 'def') return; + this.debug('Protosynthesis def boost'); + return this.chainModify([5325, 4096]); + }, + onModifySpAPriority: 5, + onModifySpA(spa, pokemon) { + if (this.effectState.bestStat !== 'spa') return; + this.debug('Protosynthesis spa boost'); + return this.chainModify([5325, 4096]); + }, + onModifySpDPriority: 6, + onModifySpD(spd, pokemon) { + if (this.effectState.bestStat !== 'spd') return; + this.debug('Protosynthesis spd boost'); + return this.chainModify([5325, 4096]); + }, + onModifySpe(spe, pokemon) { + if (this.effectState.bestStat !== 'spe') return; + this.debug('Protosynthesis spe boost'); + return this.chainModify(1.5); + }, + onEnd(pokemon) { + this.add('-end', pokemon, 'Protosynthesis'); + }, + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1, cantsuppress: 1}, + }, + quarkdrive: { + inherit: true, + condition: { + noCopy: true, + onStart(pokemon, source, effect) { + if (effect?.name === 'Booster Energy') { + this.effectState.fromBooster = true; + this.add('-activate', pokemon, 'ability: Quark Drive', '[fromitem]'); + } else { + this.add('-activate', pokemon, 'ability: Quark Drive'); + } + this.effectState.bestStat = pokemon.getBestStat(false, true); + this.add('-start', pokemon, 'quarkdrive' + this.effectState.bestStat); + }, + onModifyAtkPriority: 5, + onModifyAtk(atk, pokemon) { + if (this.effectState.bestStat !== 'atk') return; + this.debug('Quark Drive atk boost'); + return this.chainModify([5325, 4096]); + }, + onModifyDefPriority: 6, + onModifyDef(def, pokemon) { + if (this.effectState.bestStat !== 'def') return; + this.debug('Quark Drive def boost'); + return this.chainModify([5325, 4096]); + }, + onModifySpAPriority: 5, + onModifySpA(spa, pokemon) { + if (this.effectState.bestStat !== 'spa') return; + this.debug('Quark Drive spa boost'); + return this.chainModify([5325, 4096]); + }, + onModifySpDPriority: 6, + onModifySpD(spd, pokemon) { + if (this.effectState.bestStat !== 'spd') return; + this.debug('Quark Drive spd boost'); + return this.chainModify([5325, 4096]); + }, + onModifySpe(spe, pokemon) { + if (this.effectState.bestStat !== 'spe') return; + this.debug('Quark Drive spe boost'); + return this.chainModify(1.5); + }, + onEnd(pokemon) { + this.add('-end', pokemon, 'Quark Drive'); + }, + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1, cantsuppress: 1}, + }, +}; diff --git a/data/mods/gen9dlc1/formats-data.ts b/data/mods/gen9dlc1/formats-data.ts new file mode 100644 index 000000000000..5e2dd6dbc8a9 --- /dev/null +++ b/data/mods/gen9dlc1/formats-data.ts @@ -0,0 +1,5816 @@ +export const FormatsData: {[k: string]: SpeciesFormatsData} = { + bulbasaur: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + ivysaur: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + venusaur: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + venusaurmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + venusaurgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + charmander: { + tier: "LC", + }, + charmeleon: { + tier: "NFE", + }, + charizard: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + charizardmegax: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UUBL", + }, + charizardmegay: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + charizardgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + squirtle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + wartortle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + blastoise: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + blastoisemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + blastoisegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + caterpie: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + metapod: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + butterfree: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + butterfreegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + weedle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + kakuna: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + beedrill: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + beedrillmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + pidgey: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + pidgeotto: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + pidgeot: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pidgeotmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + rattata: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + rattataalola: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + raticate: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + raticatealola: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + raticatealolatotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + spearow: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + fearow: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + ekans: { + tier: "LC", + }, + arbok: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pichu: { + tier: "LC", + }, + pichuspikyeared: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachu: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachucosplay: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachurockstar: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachubelle: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachupopstar: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachuphd: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachulibre: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachuoriginal: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachuhoenn: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachusinnoh: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachuunova: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachukalos: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachualola: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachupartner: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pikachustarter: { + isNonstandard: "LGPE", + tier: "Illegal", + }, + pikachugmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + pikachuworld: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + raichu: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + raichualola: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + sandshrew: { + tier: "LC", + }, + sandshrewalola: { + tier: "LC", + }, + sandslash: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + sandslashalola: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + nidoranf: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + nidorina: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + nidoqueen: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + nidoranm: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + nidorino: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + nidoking: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + cleffa: { + tier: "LC", + }, + clefairy: { + tier: "NFE", + doublesTier: "DUU", + natDexTier: "NFE", + }, + clefable: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + vulpix: { + tier: "NFE", + }, + vulpixalola: { + tier: "NFE", + }, + ninetales: { + tier: "NU", + doublesTier: "DUU", + natDexTier: "RU", + }, + ninetalesalola: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "UU", + }, + igglybuff: { + tier: "LC", + }, + jigglypuff: { + tier: "NFE", + }, + wigglytuff: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + zubat: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + golbat: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + crobat: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + oddish: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + gloom: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + vileplume: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + bellossom: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + paras: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + parasect: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + venonat: { + tier: "LC", + }, + venomoth: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + diglett: { + tier: "NFE", + }, + diglettalola: { + tier: "LC", + }, + dugtrio: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + dugtrioalola: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + meowth: { + tier: "LC", + }, + meowthalola: { + tier: "LC", + }, + meowthgalar: { + tier: "LC", + }, + meowthgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + persian: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + persianalola: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + perrserker: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + psyduck: { + tier: "LC", + }, + golduck: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + mankey: { + tier: "LC", + }, + primeape: { + tier: "PUBL", + doublesTier: "NFE", + natDexTier: "NFE", + }, + growlithe: { + tier: "LC", + }, + growlithehisui: { + tier: "NFE", + }, + arcanine: { + tier: "NU", + doublesTier: "DUU", + natDexTier: "RU", + }, + arcaninehisui: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "RU", + }, + poliwag: { + tier: "LC", + }, + poliwhirl: { + tier: "NFE", + }, + poliwrath: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + politoed: { + tier: "RU", + doublesTier: "DUU", + natDexTier: "RU", + }, + abra: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + kadabra: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + alakazam: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + alakazammega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + machop: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + machoke: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + machamp: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + machampgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + bellsprout: { + tier: "LC", + }, + weepinbell: { + tier: "NFE", + }, + victreebel: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + tentacool: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + tentacruel: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + geodude: { + tier: "LC", + }, + geodudealola: { + tier: "LC", + }, + graveler: { + tier: "NFE", + }, + graveleralola: { + tier: "NFE", + }, + golem: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + golemalola: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ponyta: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + ponytagalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + rapidash: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + rapidashgalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + slowpoke: { + tier: "LC", + }, + slowpokegalar: { + tier: "LC", + }, + slowbro: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + slowbromega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + slowbrogalar: { + tier: "NUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + slowking: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + slowkinggalar: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + magnemite: { + tier: "LC", + }, + magneton: { + tier: "PUBL", + doublesTier: "NFE", + natDexTier: "NFE", + }, + magnezone: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + farfetchd: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + farfetchdgalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + sirfetchd: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + doduo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + dodrio: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + seel: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + dewgong: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + grimer: { + tier: "LC", + }, + grimeralola: { + tier: "LC", + }, + muk: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + mukalola: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + shellder: { + tier: "LC", + }, + cloyster: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + gastly: { + tier: "NFE", + }, + haunter: { + tier: "PU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + gengar: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + gengarmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "AG", + }, + gengargmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + onix: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + steelix: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + steelixmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + drowzee: { + tier: "LC", + }, + hypno: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + krabby: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + kingler: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + kinglergmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + voltorb: { + tier: "LC", + }, + voltorbhisui: { + tier: "LC", + }, + electrode: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + electrodehisui: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + exeggcute: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + exeggutor: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + exeggutoralola: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + cubone: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + marowak: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + marowakalola: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + marowakalolatotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + tyrogue: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + hitmonlee: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + hitmonchan: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + hitmontop: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + lickitung: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + lickilicky: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + koffing: { + tier: "LC", + }, + weezing: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + weezinggalar: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + rhyhorn: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + rhydon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + rhyperior: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + happiny: { + tier: "LC", + }, + chansey: { + tier: "NU", + doublesTier: "NFE", + natDexTier: "UU", + }, + blissey: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + tangela: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + tangrowth: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + kangaskhan: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + kangaskhanmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + horsea: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + seadra: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + kingdra: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + goldeen: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + seaking: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + staryu: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + starmie: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + mimejr: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + mrmime: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + mrmimegalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + mrrime: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + scyther: { + tier: "NU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + scizor: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "RU", + }, + scizormega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + kleavor: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "UU", + }, + smoochum: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + jynx: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + elekid: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + electabuzz: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + electivire: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + magby: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + magmar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + magmortar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pinsir: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pinsirmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UUBL", + }, + tauros: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + taurospaldeacombat: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + taurospaldeablaze: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + taurospaldeaaqua: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + magikarp: { + tier: "LC", + }, + gyarados: { + tier: "RUBL", + doublesTier: "DUU", + natDexTier: "UUBL", + }, + gyaradosmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + lapras: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + laprasgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + ditto: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + eevee: { + tier: "LC", + }, + eeveestarter: { + isNonstandard: "LGPE", + tier: "Illegal", + }, + eeveegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + vaporeon: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + jolteon: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + flareon: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + espeon: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + umbreon: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + leafeon: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + glaceon: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + sylveon: { + tier: "NU", + doublesTier: "DUU", + natDexTier: "RU", + }, + porygon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + porygon2: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + porygonz: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + omanyte: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + omastar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + kabuto: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + kabutops: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + aerodactyl: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + aerodactylmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + munchlax: { + tier: "LC", + }, + snorlax: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + snorlaxgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + articuno: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + articunogalar: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + zapdos: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "OU", + }, + zapdosgalar: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + moltres: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + moltresgalar: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + dratini: { + tier: "LC", + }, + dragonair: { + tier: "NFE", + }, + dragonite: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + mewtwo: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + mewtwomegax: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + mewtwomegay: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + mew: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + chikorita: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + bayleef: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + meganium: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + cyndaquil: { + tier: "LC", + }, + quilava: { + tier: "NFE", + }, + typhlosion: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + typhlosionhisui: { + tier: "RU", + doublesTier: "DUU", + natDexTier: "RU", + }, + totodile: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + croconaw: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + feraligatr: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sentret: { + tier: "LC", + }, + furret: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + hoothoot: { + tier: "LC", + }, + noctowl: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ledyba: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + ledian: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + spinarak: { + tier: "LC", + }, + ariados: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + chinchou: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + lanturn: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + togepi: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + togetic: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + togekiss: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + natu: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + xatu: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + mareep: { + tier: "LC", + }, + flaaffy: { + tier: "NFE", + }, + ampharos: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ampharosmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + azurill: { + tier: "LC", + }, + marill: { + tier: "NFE", + }, + azumarill: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "RU", + }, + bonsly: { + tier: "LC", + }, + sudowoodo: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + hoppip: { + tier: "LC", + }, + skiploom: { + tier: "NFE", + }, + jumpluff: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + aipom: { + tier: "NFE", + }, + ambipom: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + sunkern: { + tier: "LC", + }, + sunflora: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + yanma: { + tier: "NFE", + }, + yanmega: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + wooper: { + tier: "LC", + }, + wooperpaldea: { + tier: "LC", + }, + quagsire: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + murkrow: { + tier: "NFE", + doublesTier: "DUU", + }, + honchkrow: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + misdreavus: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + mismagius: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + unown: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wynaut: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + wobbuffet: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + girafarig: { + tier: "NFE", + }, + farigiraf: { + tier: "PU", + doublesTier: "DOU", + natDexTier: "RU", + }, + pineco: { + tier: "LC", + }, + forretress: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + dunsparce: { + tier: "NFE", + }, + dudunsparce: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + gligar: { + tier: "NU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + gliscor: { + tier: "Uber", + doublesTier: "DUU", + natDexTier: "OU", + }, + snubbull: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + granbull: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + qwilfish: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + qwilfishhisui: { + tier: "NU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + overqwil: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + shuckle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + heracross: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + heracrossmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + sneasel: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + sneaselhisui: { + tier: "PU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + weavile: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UUBL", + }, + sneasler: { + tier: "Uber", + doublesTier: "(DUU)", + natDexTier: "Uber", + }, + teddiursa: { + tier: "LC", + }, + ursaring: { + tier: "ZUBL", + doublesTier: "NFE", + natDexTier: "NFE", + }, + ursaluna: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "OU", + }, + ursalunabloodmoon: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + slugma: { + tier: "LC", + }, + magcargo: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + swinub: { + tier: "LC", + }, + piloswine: { + tier: "NU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + mamoswine: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + corsola: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + corsolagalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + cursola: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + remoraid: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + octillery: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + delibird: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + mantyke: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + mantine: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + skarmory: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + houndour: { + tier: "LC", + }, + houndoom: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + houndoommega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + phanpy: { + tier: "LC", + }, + donphan: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + stantler: { + tier: "NFE", + }, + wyrdeer: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + smeargle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + miltank: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + raikou: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + entei: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + suicune: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + larvitar: { + tier: "LC", + }, + pupitar: { + tier: "NFE", + }, + tyranitar: { + tier: "RU", + doublesTier: "DOU", + natDexTier: "UU", + }, + tyranitarmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + lugia: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + hooh: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + celebi: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + treecko: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + grovyle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + sceptile: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sceptilemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + torchic: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + combusken: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + blaziken: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UUBL", + }, + blazikenmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + mudkip: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + marshtomp: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + swampert: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + swampertmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + poochyena: { + tier: "LC", + }, + mightyena: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + zigzagoon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + zigzagoongalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + linoone: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + linoonegalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + obstagoon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wurmple: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + silcoon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + beautifly: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + cascoon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + dustox: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + lotad: { + tier: "LC", + }, + lombre: { + tier: "NFE", + }, + ludicolo: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + seedot: { + tier: "LC", + }, + nuzleaf: { + tier: "NFE", + }, + shiftry: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + taillow: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + swellow: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wingull: { + tier: "LC", + }, + pelipper: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "OU", + }, + ralts: { + tier: "LC", + }, + kirlia: { + tier: "NFE", + }, + gardevoir: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + gardevoirmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + gallade: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + gallademega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + surskit: { + tier: "LC", + }, + masquerain: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + shroomish: { + tier: "LC", + }, + breloom: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + slakoth: { + tier: "LC", + }, + vigoroth: { + tier: "NFE", + }, + slaking: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + nincada: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + ninjask: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + shedinja: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "AG", + }, + whismur: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + loudred: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + exploud: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + makuhita: { + tier: "LC", + }, + hariyama: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + nosepass: { + tier: "LC", + }, + probopass: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + skitty: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + delcatty: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sableye: { + tier: "PU", + doublesTier: "DUU", + natDexTier: "RU", + }, + sableyemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + mawile: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + mawilemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UUBL", + }, + aron: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + lairon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + aggron: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + aggronmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + meditite: { + tier: "NFE", + }, + medicham: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + medichammega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UUBL", + }, + electrike: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + manectric: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + manectricmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + plusle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + minun: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + volbeat: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + illumise: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + budew: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + roselia: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + roserade: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + gulpin: { + tier: "LC", + }, + swalot: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + carvanha: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + sharpedo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sharpedomega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wailmer: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + wailord: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + numel: { + tier: "LC", + }, + camerupt: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + cameruptmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + torkoal: { + tier: "RU", + doublesTier: "DOU", + natDexTier: "RU", + }, + spoink: { + tier: "LC", + }, + grumpig: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + spinda: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + trapinch: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + vibrava: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + flygon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + cacnea: { + tier: "LC", + }, + cacturne: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + swablu: { + tier: "LC", + }, + altaria: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + altariamega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + zangoose: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + seviper: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + lunatone: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + solrock: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + barboach: { + tier: "LC", + }, + whiscash: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + corphish: { + tier: "LC", + }, + crawdaunt: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + baltoy: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + claydol: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + lileep: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + cradily: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + anorith: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + armaldo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + feebas: { + tier: "LC", + }, + milotic: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + castform: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + castformsunny: { + isNonstandard: "Past", + }, + castformrainy: { + isNonstandard: "Past", + }, + castformsnowy: { + isNonstandard: "Past", + }, + kecleon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + shuppet: { + tier: "LC", + }, + banette: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + banettemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + duskull: { + tier: "LC", + }, + dusclops: { + tier: "NFE", + }, + dusknoir: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + tropius: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + chingling: { + tier: "LC", + }, + chimecho: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + absol: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + absolmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + snorunt: { + tier: "LC", + }, + glalie: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + glaliemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + froslass: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + spheal: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + sealeo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + walrein: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + clamperl: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + huntail: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + gorebyss: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + relicanth: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + luvdisc: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + bagon: { + tier: "LC", + }, + shelgon: { + tier: "NFE", + }, + salamence: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + salamencemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + beldum: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + metang: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + metagross: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + metagrossmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + regirock: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + regice: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + registeel: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + latias: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + latiasmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + latios: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + latiosmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + kyogre: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + kyogreprimal: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + groudon: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + groudonprimal: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + rayquaza: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + rayquazamega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "AG", + }, + jirachi: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + deoxys: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + deoxysattack: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + deoxysdefense: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + deoxysspeed: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + turtwig: { + tier: "LC", + }, + grotle: { + tier: "NFE", + }, + torterra: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + chimchar: { + tier: "LC", + }, + monferno: { + tier: "NFE", + }, + infernape: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + piplup: { + tier: "LC", + }, + prinplup: { + tier: "NFE", + }, + empoleon: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "RU", + }, + starly: { + tier: "LC", + }, + staravia: { + tier: "NFE", + }, + staraptor: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + bidoof: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + bibarel: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + kricketot: { + tier: "LC", + }, + kricketune: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + shinx: { + tier: "LC", + }, + luxio: { + tier: "NFE", + }, + luxray: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + cranidos: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + rampardos: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + shieldon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + bastiodon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + burmy: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + wormadam: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wormadamsandy: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wormadamtrash: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + mothim: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + combee: { + tier: "LC", + }, + vespiquen: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pachirisu: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + buizel: { + tier: "LC", + }, + floatzel: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + cherubi: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + cherrim: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + cherrimsunshine: { + isNonstandard: "Past", + }, + shellos: { + tier: "LC", + }, + gastrodon: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "UU", + }, + drifloon: { + tier: "LC", + }, + drifblim: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + buneary: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + lopunny: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + lopunnymega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + glameow: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + purugly: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + stunky: { + tier: "LC", + }, + skuntank: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + bronzor: { + tier: "LC", + }, + bronzong: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + chatot: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + spiritomb: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + gible: { + tier: "LC", + }, + gabite: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + garchomp: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "OU", + }, + garchompmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "(OU)", + }, + riolu: { + tier: "LC", + }, + lucario: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + lucariomega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + hippopotas: { + tier: "LC", + }, + hippowdon: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + skorupi: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + drapion: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + croagunk: { + tier: "LC", + }, + toxicroak: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + carnivine: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + finneon: { + tier: "LC", + }, + lumineon: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + snover: { + tier: "LC", + }, + abomasnow: { + tier: "NU", + doublesTier: "DUU", + natDexTier: "RU", + }, + abomasnowmega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + rotom: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + rotomheat: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + rotomwash: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + rotomfrost: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + rotomfan: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + rotommow: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + uxie: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + mesprit: { + tier: "PUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + azelf: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + dialga: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + dialgaorigin: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + palkia: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + palkiaorigin: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + heatran: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + regigigas: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + giratina: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + giratinaorigin: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + cresselia: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "RU", + }, + phione: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + manaphy: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "UUBL", + }, + darkrai: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + shaymin: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + shayminsky: { + tier: "Uber", + doublesTier: "(DUU)", + natDexTier: "Uber", + }, + arceus: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + victini: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + snivy: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + servine: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + serperior: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + tepig: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + pignite: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + emboar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + oshawott: { + tier: "LC", + }, + dewott: { + tier: "NFE", + }, + samurott: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + samurotthisui: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + patrat: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + watchog: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + lillipup: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + herdier: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + stoutland: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + purrloin: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + liepard: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pansage: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + simisage: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pansear: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + simisear: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + panpour: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + simipour: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + munna: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + musharna: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pidove: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + tranquill: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + unfezant: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + blitzle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + zebstrika: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + roggenrola: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + boldore: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + gigalith: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + woobat: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + swoobat: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + drilbur: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + excadrill: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + audino: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + audinomega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + timburr: { + tier: "LC", + }, + gurdurr: { + tier: "PU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + conkeldurr: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "RU", + }, + tympole: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + palpitoad: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + seismitoad: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + throh: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sawk: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sewaddle: { + tier: "LC", + }, + swadloon: { + tier: "NFE", + }, + leavanny: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + venipede: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + whirlipede: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + scolipede: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + cottonee: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + whimsicott: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + petilil: { + tier: "LC", + }, + lilligant: { + tier: "PUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + lilliganthisui: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + basculin: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + basculegion: { + tier: "RU", + doublesTier: "DUber", + natDexTier: "RU", + }, + basculegionf: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "RU", + }, + sandile: { + tier: "LC", + }, + krokorok: { + tier: "NFE", + }, + krookodile: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + darumaka: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + darumakagalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + darmanitan: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + darmanitanzen: { + isNonstandard: "Past", + }, + darmanitangalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + darmanitangalarzen: { + isNonstandard: "Past", + }, + maractus: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + dwebble: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + crustle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + scraggy: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + scrafty: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sigilyph: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + yamask: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + yamaskgalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + cofagrigus: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + runerigus: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + tirtouga: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + carracosta: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + archen: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + archeops: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + trubbish: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + garbodor: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + garbodorgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + zorua: { + tier: "LC", + }, + zoruahisui: { + tier: "LC", + }, + zoroark: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + zoroarkhisui: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + minccino: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + cinccino: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + gothita: { + tier: "LC", + }, + gothorita: { + tier: "NFE", + }, + gothitelle: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + solosis: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + duosion: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + reuniclus: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + ducklett: { + tier: "LC", + }, + swanna: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + vanillite: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + vanillish: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + vanilluxe: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + deerling: { + tier: "LC", + }, + sawsbuck: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + emolga: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + karrablast: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + escavalier: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + foongus: { + tier: "LC", + }, + amoonguss: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "UU", + }, + frillish: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + jellicent: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + alomomola: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + joltik: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + galvantula: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + ferroseed: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + ferrothorn: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + klink: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + klang: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + klinklang: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + tynamo: { + tier: "LC", + }, + eelektrik: { + tier: "NFE", + }, + eelektross: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + elgyem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + beheeyem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + litwick: { + tier: "LC", + }, + lampent: { + tier: "NFE", + }, + chandelure: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + axew: { + tier: "LC", + }, + fraxure: { + tier: "NFE", + }, + haxorus: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + cubchoo: { + tier: "LC", + }, + beartic: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + cryogonal: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + shelmet: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + accelgor: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + stunfisk: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + stunfiskgalar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + mienfoo: { + tier: "LC", + }, + mienshao: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + druddigon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + golett: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + golurk: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pawniard: { + tier: "LC", + }, + bisharp: { + tier: "RU", + doublesTier: "NFE", + natDexTier: "UU", + }, + bouffalant: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + rufflet: { + tier: "NFE", + }, + braviary: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + braviaryhisui: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + vullaby: { + tier: "LC", + }, + mandibuzz: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + heatmor: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + durant: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + deino: { + tier: "LC", + }, + zweilous: { + tier: "NFE", + }, + hydreigon: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + larvesta: { + tier: "LC", + }, + volcarona: { + tier: "Uber", + doublesTier: "DUU", + natDexTier: "OU", + }, + cobalion: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + terrakion: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RUBL", + }, + virizion: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + tornadus: { + tier: "NU", + doublesTier: "DOU", + natDexTier: "RU", + }, + tornadustherian: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UUBL", + }, + thundurus: { + tier: "RU", + doublesTier: "DUU", + natDexTier: "RU", + }, + thundurustherian: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + reshiram: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + zekrom: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + landorus: { + tier: "Uber", + doublesTier: "DUU", + natDexTier: "Uber", + }, + landorustherian: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + kyurem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UUBL", + }, + kyuremblack: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + kyuremwhite: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + keldeo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + keldeoresolute: { + isNonstandard: "Past", + }, + meloetta: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + genesect: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + genesectburn: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + genesectchill: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + genesectdouse: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + genesectshock: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + chespin: { + tier: "LC", + }, + quilladin: { + tier: "NFE", + }, + chesnaught: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + fennekin: { + tier: "LC", + }, + braixen: { + tier: "NFE", + }, + delphox: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + froakie: { + tier: "LC", + }, + frogadier: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + greninja: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + greninjaash: { + isNonstandard: "Past", + tier: "Illegal", + }, + bunnelby: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + diggersby: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + fletchling: { + tier: "LC", + }, + fletchinder: { + tier: "NFE", + }, + talonflame: { + tier: "RU", + doublesTier: "DUU", + natDexTier: "UU", + }, + scatterbug: { + tier: "LC", + }, + spewpa: { + tier: "NFE", + }, + vivillon: { + tier: "PUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + litleo: { + tier: "LC", + }, + pyroar: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + flabebe: { + tier: "LC", + }, + floette: { + tier: "NFE", + }, + floetteeternal: { + isNonstandard: "Past", + tier: "Illegal", + }, + florges: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + skiddo: { + tier: "LC", + }, + gogoat: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pancham: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + pangoro: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + furfrou: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + espurr: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + meowstic: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + meowsticf: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + honedge: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + doublade: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + aegislash: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + aegislashblade: { + isNonstandard: "Past", + }, + spritzee: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + aromatisse: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + swirlix: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + slurpuff: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + inkay: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + malamar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + binacle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + barbaracle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + skrelp: { + tier: "LC", + }, + dragalge: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + clauncher: { + tier: "LC", + }, + clawitzer: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + helioptile: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + heliolisk: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + tyrunt: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + tyrantrum: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + amaura: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + aurorus: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + hawlucha: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + dedenne: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + carbink: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + goomy: { + tier: "LC", + }, + sliggoo: { + tier: "NFE", + }, + sliggoohisui: { + tier: "NFE", + }, + goodra: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + goodrahisui: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + klefki: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + phantump: { + tier: "LC", + }, + trevenant: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pumpkaboo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + pumpkaboosmall: { + isNonstandard: "Past", + }, + pumpkaboolarge: { + isNonstandard: "Past", + }, + pumpkaboosuper: { + isNonstandard: "Past", + }, + gourgeist: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + gourgeistsmall: { + isNonstandard: "Past", + }, + gourgeistlarge: { + isNonstandard: "Past", + }, + gourgeistsuper: { + isNonstandard: "Past", + }, + bergmite: { + tier: "LC", + }, + avalugg: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + avalugghisui: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + noibat: { + tier: "LC", + }, + noivern: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + xerneas: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + xerneasneutral: { + isNonstandard: "Custom", // can't be used in battle + tier: "Illegal", + }, + yveltal: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + zygarde: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + zygarde10: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + zygardecomplete: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + diancie: { + tier: "RU", + doublesTier: "DOU", + natDexTier: "RU", + }, + dianciemega: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + hoopa: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + hoopaunbound: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + volcanion: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "RU", + }, + rowlet: { + tier: "LC", + }, + dartrix: { + tier: "NFE", + }, + decidueye: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + decidueyehisui: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + litten: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + torracat: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + incineroar: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + popplio: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + brionne: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + primarina: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pikipek: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + trumbeak: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + toucannon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + yungoos: { + tier: "LC", + }, + gumshoos: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + gumshoostotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + grubbin: { + tier: "LC", + }, + charjabug: { + tier: "NFE", + }, + vikavolt: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + vikavolttotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + crabrawler: { + tier: "LC", + }, + crabominable: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + oricorio: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + oricoriopompom: { + tier: "NUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + oricoriopau: { + tier: "PUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + oricoriosensu: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + cutiefly: { + tier: "NFE", + }, + ribombee: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ribombeetotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + rockruff: { + tier: "LC", + }, + rockruffdusk: { + tier: "LC", + }, + lycanroc: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + lycanrocmidnight: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + lycanrocdusk: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + wishiwashi: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wishiwashischool: { + isNonstandard: "Past", + }, + mareanie: { + tier: "LC", + }, + toxapex: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + mudbray: { + tier: "LC", + }, + mudsdale: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + dewpider: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + araquanid: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + araquanidtotem: { + isNonstandard: "Past", + }, + fomantis: { + tier: "LC", + }, + lurantis: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + lurantistotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + morelull: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + shiinotic: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + salandit: { + tier: "LC", + }, + salazzle: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + salazzletotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + stufful: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + bewear: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + bounsweet: { + tier: "LC", + }, + steenee: { + tier: "NFE", + }, + tsareena: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + comfey: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + oranguru: { + tier: "ZU", + doublesTier: "DUU", + natDexTier: "RU", + }, + passimian: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + wimpod: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + golisopod: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sandygast: { + tier: "LC", + }, + palossand: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pyukumuku: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + typenull: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + silvally: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallybug: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallydark: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallydragon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyelectric: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyfairy: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyfighting: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyfire: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyflying: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyghost: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallygrass: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyground: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyice: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallypoison: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallypsychic: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallyrock: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallysteel: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + silvallywater: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + minior: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + miniormeteor: { + isNonstandard: "Past", + }, + komala: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + turtonator: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + togedemaru: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + togedemarutotem: { + isNonstandard: "Past", + }, + mimikyu: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + mimikyutotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + mimikyubustedtotem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + bruxish: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + drampa: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + dhelmise: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + jangmoo: { + tier: "LC", + }, + hakamoo: { + tier: "NFE", + }, + kommoo: { + tier: "UUBL", + doublesTier: "DOU", + natDexTier: "OU", + }, + kommoototem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + tapukoko: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + tapulele: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + tapubulu: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + tapufini: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + cosmog: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + cosmoem: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + solgaleo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + lunala: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + nihilego: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + buzzwole: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + pheromosa: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + xurkitree: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UUBL", + }, + celesteela: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + kartana: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "OU", + }, + guzzlord: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + necrozma: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + necrozmaduskmane: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + necrozmadawnwings: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + necrozmaultra: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + magearna: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + marshadow: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + poipole: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + naganadel: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + stakataka: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + blacephalon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + zeraora: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + meltan: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + melmetal: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + melmetalgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + grookey: { + tier: "LC", + }, + thwackey: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + rillaboom: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + rillaboomgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + scorbunny: { + tier: "LC", + }, + raboot: { + tier: "NFE", + }, + cinderace: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + cinderacegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + sobble: { + tier: "LC", + }, + drizzile: { + tier: "NFE", + }, + inteleon: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + inteleongmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + skwovet: { + tier: "LC", + }, + greedent: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + rookidee: { + tier: "LC", + }, + corvisquire: { + tier: "NFE", + }, + corviknight: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + corviknightgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + blipbug: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + dottler: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "NFE", + }, + orbeetle: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + orbeetlegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + nickit: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + thievul: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + gossifleur: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + eldegoss: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + wooloo: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + dubwool: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + chewtle: { + tier: "LC", + }, + drednaw: { + tier: "NUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + drednawgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + yamper: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + boltund: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + rolycoly: { + tier: "LC", + }, + carkol: { + tier: "NFE", + }, + coalossal: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + coalossalgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + applin: { + tier: "LC", + }, + flapple: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + flapplegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + appletun: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + appletungmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + dipplin: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + silicobra: { + tier: "LC", + }, + sandaconda: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + sandacondagmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + cramorant: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + arrokuda: { + tier: "LC", + }, + barraskewda: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + toxel: { + tier: "LC", + }, + toxtricity: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + toxtricitygmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + toxtricitylowkeygmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + sizzlipede: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + centiskorch: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + centiskorchgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + clobbopus: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + grapploct: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + sinistea: { + tier: "LC", + }, + polteageist: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + hatenna: { + tier: "LC", + }, + hattrem: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + hatterene: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "OU", + }, + hatterenegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + impidimp: { + tier: "LC", + }, + morgrem: { + tier: "NFE", + }, + grimmsnarl: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "UU", + }, + grimmsnarlgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + milcery: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "LC", + }, + alcremie: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + alcremiegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + falinks: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pincurchin: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + snom: { + tier: "LC", + }, + frosmoth: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + stonjourner: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + eiscue: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + indeedee: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + indeedeef: { + tier: "ZU", + doublesTier: "DOU", + natDexTier: "RU", + }, + morpeko: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + cufant: { + tier: "LC", + }, + copperajah: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + copperajahgmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + dracozolt: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "UU", + }, + arctozolt: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + dracovish: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "Uber", + }, + arctovish: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + duraludon: { + isNonstandard: "Past", + tier: "Illegal", + natDexTier: "RU", + }, + duraludongmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + dreepy: { + tier: "LC", + }, + drakloak: { + tier: "NFE", + }, + dragapult: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "Uber", + }, + zacian: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + zaciancrowned: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + zamazenta: { + tier: "OU", + doublesTier: "DUber", + natDexTier: "OU", + }, + zamazentacrowned: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + eternatus: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + eternatuseternamax: { + isNonstandard: "Past", + tier: "Illegal", + }, + kubfu: { + tier: "NFE", + }, + urshifu: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + urshifurapidstrike: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "OU", + }, + urshifugmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + urshifurapidstrikegmax: { + isNonstandard: "Past", + tier: "Illegal", + }, + zarude: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + regieleki: { + tier: "Uber", + doublesTier: "DUU", + natDexTier: "Uber", + }, + regidrago: { + tier: "RUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + glastrier: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + spectrier: { + tier: "Uber", + doublesTier: "(DUU)", + natDexTier: "Uber", + }, + calyrex: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + calyrexice: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + calyrexshadow: { + tier: "AG", + doublesTier: "DUber", + natDexTier: "AG", + }, + enamorus: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "UU", + }, + enamorustherian: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + sprigatito: { + tier: "LC", + }, + floragato: { + tier: "NFE", + }, + meowscarada: { + tier: "UU", + doublesTier: "DUU", + natDexTier: "UU", + }, + fuecoco: { + tier: "LC", + }, + crocalor: { + tier: "NFE", + }, + skeledirge: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + quaxly: { + tier: "LC", + }, + quaxwell: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + quaquaval: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + lechonk: { + tier: "LC", + }, + oinkologne: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + oinkolognef: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + tarountula: { + tier: "LC", + }, + spidops: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + nymble: { + tier: "LC", + }, + lokix: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + rellor: { + tier: "LC", + }, + rabsca: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + greavard: { + tier: "LC", + }, + houndstone: { + tier: "PU", + doublesTier: "DUU", + natDexTier: "RU", + }, + flittle: { + tier: "NFE", + }, + espathra: { + tier: "Uber", + doublesTier: "(DUU)", + natDexTier: "Uber", + }, + wiglett: { + tier: "LC", + }, + wugtrio: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + dondozo: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "UUBL", + }, + veluza: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + finizen: { + tier: "LC", + }, + palafin: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + smoliv: { + tier: "LC", + }, + dolliv: { + tier: "NFE", + }, + arboliva: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + capsakid: { + tier: "LC", + }, + scovillain: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + tadbulb: { + tier: "LC", + }, + bellibolt: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + varoom: { + tier: "LC", + }, + revavroom: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + orthworm: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + tandemaus: { + tier: "LC", + }, + maushold: { + tier: "RU", + doublesTier: "DUU", + natDexTier: "RU", + }, + cetoddle: { + tier: "LC", + }, + cetitan: { + tier: "NUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + frigibax: { + tier: "LC", + }, + arctibax: { + tier: "NFE", + }, + baxcalibur: { + tier: "Uber", + doublesTier: "DUU", + natDexTier: "Uber", + }, + tatsugiri: { + tier: "NU", + doublesTier: "DUber", + natDexTier: "RU", + }, + cyclizar: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + pawmi: { + tier: "LC", + }, + pawmo: { + tier: "NFE", + }, + pawmot: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + wattrel: { + tier: "LC", + }, + kilowattrel: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + bombirdier: { + tier: "PU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + squawkabilly: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + flamigo: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + klawf: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + nacli: { + tier: "LC", + }, + naclstack: { + tier: "PU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + garganacl: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "OU", + }, + glimmet: { + tier: "LC", + }, + glimmora: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + shroodle: { + tier: "LC", + }, + grafaiai: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + fidough: { + tier: "LC", + }, + dachsbun: { + tier: "ZU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + maschiff: { + tier: "LC", + }, + mabosstiff: { + tier: "ZUBL", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + bramblin: { + tier: "LC", + }, + brambleghast: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + gimmighoul: { + tier: "LC", + }, + gimmighoulroaming: { + tier: "LC", + }, + gholdengo: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "Uber", + }, + greattusk: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "OU", + }, + brutebonnet: { + tier: "NU", + doublesTier: "DUU", + natDexTier: "RU", + }, + sandyshocks: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + screamtail: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + fluttermane: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + slitherwing: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + roaringmoon: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + irontreads: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + ironmoth: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "UU", + }, + ironhands: { + tier: "UUBL", + doublesTier: "DOU", + natDexTier: "UU", + }, + ironjugulis: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ironthorns: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ironbundle: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + ironvaliant: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + tinglu: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + chienpao: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + wochien: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + chiyu: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + koraidon: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "AG", + }, + miraidon: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "AG", + }, + tinkatink: { + tier: "LC", + }, + tinkatuff: { + tier: "ZU", + doublesTier: "NFE", + natDexTier: "NFE", + }, + tinkaton: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + charcadet: { + tier: "LC", + }, + armarouge: { + tier: "RU", + doublesTier: "DOU", + natDexTier: "RU", + }, + ceruledge: { + tier: "OU", + doublesTier: "(DUU)", + natDexTier: "UU", + }, + toedscool: { + tier: "LC", + }, + toedscruel: { + tier: "NU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + kingambit: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "Uber", + }, + clodsire: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "OU", + }, + annihilape: { + tier: "Uber", + doublesTier: "DUber", + natDexTier: "Uber", + }, + walkingwake: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "Uber", + }, + ironleaves: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RUBL", + }, + poltchageist: { + tier: "LC", + }, + sinistcha: { + tier: "UU", + doublesTier: "DOU", + natDexTier: "UU", + }, + okidogi: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + munkidori: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + fezandipiti: { + tier: "RU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ogerpon: { + tier: "UU", + doublesTier: "(DUU)", + natDexTier: "RU", + }, + ogerponwellspring: { + tier: "OU", + doublesTier: "DOU", + natDexTier: "OU", + }, + ogerponhearthflame: { + tier: "Uber", + doublesTier: "DOU", + natDexTier: "Uber", + }, + ogerponcornerstone: { + tier: "OU", + doublesTier: "DUU", + natDexTier: "UUBL", + }, + archaludon: { + isNonstandard: "Future", + tier: "Illegal", + }, + hydrapple: { + isNonstandard: "Future", + tier: "Illegal", + }, + gougingfire: { + isNonstandard: "Future", + tier: "Illegal", + }, + ragingbolt: { + isNonstandard: "Future", + tier: "Illegal", + }, + ironboulder: { + isNonstandard: "Future", + tier: "Illegal", + }, + ironcrown: { + isNonstandard: "Future", + tier: "Illegal", + }, + terapagos: { + isNonstandard: "Future", + tier: "Illegal", + }, + terapagosterastal: { + isNonstandard: "Future", + tier: "Illegal", + }, + terapagosstellar: { + isNonstandard: "Future", + tier: "Illegal", + }, + pecharunt: { + isNonstandard: "Future", + tier: "Illegal", + }, +}; diff --git a/data/mods/gen9dlc1/items.ts b/data/mods/gen9dlc1/items.ts new file mode 100644 index 000000000000..7925a1dbeb61 --- /dev/null +++ b/data/mods/gen9dlc1/items.ts @@ -0,0 +1,75 @@ +export const Items: {[k: string]: ModdedItemData} = { + berrysweet: { + inherit: true, + isNonstandard: "Past", + }, + cloversweet: { + inherit: true, + isNonstandard: "Past", + }, + dragonscale: { + inherit: true, + isNonstandard: "Past", + }, + dubiousdisc: { + inherit: true, + isNonstandard: "Past", + }, + electirizer: { + inherit: true, + isNonstandard: "Past", + }, + eviolite: { + inherit: true, + onModifyDef(def, pokemon) { + if (pokemon.baseSpecies.nfe || pokemon.baseSpecies.id === 'dipplin') { + return this.chainModify(1.5); + } + }, + onModifySpD(spd, pokemon) { + if (pokemon.baseSpecies.nfe || pokemon.baseSpecies.id === 'dipplin') { + return this.chainModify(1.5); + } + }, + }, + flowersweet: { + inherit: true, + isNonstandard: "Past", + }, + lovesweet: { + inherit: true, + isNonstandard: "Past", + }, + magmarizer: { + inherit: true, + isNonstandard: "Past", + }, + metalalloy: { + inherit: true, + isNonstandard: "Future", + }, + protector: { + inherit: true, + isNonstandard: "Past", + }, + ribbonsweet: { + inherit: true, + isNonstandard: "Past", + }, + souldew: { + inherit: true, + isNonstandard: "Past", + }, + starsweet: { + inherit: true, + isNonstandard: "Past", + }, + strawberrysweet: { + inherit: true, + isNonstandard: "Past", + }, + upgrade: { + inherit: true, + isNonstandard: "Past", + }, +}; diff --git a/data/mods/gen9dlc1/learnsets.ts b/data/mods/gen9dlc1/learnsets.ts new file mode 100644 index 000000000000..5978b1f50a99 --- /dev/null +++ b/data/mods/gen9dlc1/learnsets.ts @@ -0,0 +1,96711 @@ +export const Learnsets: {[k: string]: LearnsetData} = { + missingno: { + learnset: { + blizzard: ["3L1"], + bubblebeam: ["3L1"], + cut: ["3L1"], + doubleedge: ["3L1"], + earthquake: ["3L1"], + fissure: ["3L1"], + fly: ["3L1"], + icebeam: ["3L1"], + megakick: ["3L1"], + megapunch: ["3L1"], + psychic: ["3L1"], + rage: ["3L1"], + razorwind: ["3L1"], + rest: ["3L1"], + seismictoss: ["3L1"], + skyattack: ["3L1"], + submission: ["3L1"], + substitute: ["3L1"], + swordsdance: ["3L1"], + takedown: ["3L1"], + teleport: ["3L1"], + thunder: ["3L1"], + thunderwave: ["3L1"], + toxic: ["3L1"], + triattack: ["3L1"], + watergun: ["3L1"], + }, + }, + bulbasaur: { + learnset: { + amnesia: ["8M", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + block: ["5S3"], + bodyslam: ["8M", "7V", "3T"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + celebrate: ["6S5"], + charm: ["8M", "7E", "6E", "5E", "4E", "3E"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + doubleedge: ["8L33", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "5S3"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frenzyplant: ["5S3"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigadrain: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasspledge: ["8T", "7T", "6T", "5T"], + grasswhistle: ["7E", "6E", "5E", "4E", "3E"], + grassyglide: ["8T"], + grassyterrain: ["8M", "7E", "6E"], + growl: ["8L1", "8V", "7L3", "7V", "6L3", "6S4", "6S5", "5L3", "5S2", "4L3", "3L4", "3S1"], + growth: ["8L6", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L32", "3S0"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + ingrain: ["8E", "7E", "6E", "5E", "4E"], + knockoff: ["7T", "6T", "5T", "4T"], + leafstorm: ["8M", "7E", "6E", "5E", "4E"], + leechseed: ["8L9", "8V", "7L7", "7V", "6L7", "6S4", "5L7", "5S2", "4L7", "3L7", "3S1"], + lightscreen: ["8M", "8V", "7M", "7V", "6M", "5M", "4E", "3E"], + magicalleaf: ["8M", "7E", "6E", "5E", "4E", "3E"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["8E", "7M", "7E", "6M", "6E", "5E", "4E"], + outrage: ["8V"], + petaldance: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + poisonpowder: ["8L15", "8V", "7L13", "7V", "6L13", "6S4", "5L13", "4L13", "3L15"], + powerwhip: ["8M", "7E", "6E", "5E", "4E"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["8L12", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L20"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "8L18", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L37"], + skullbash: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + sleeppowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludge: ["7E", "6E", "5E", "4E"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8L36", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3L46", "3S0"], + strength: ["6M", "5M", "4M", "3M"], + stringshot: ["4T"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8L24", "7L21", "7V", "6L21", "5L21", "4L21", "3L25", "3S0"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["8L27", "7T", "7L33", "7V", "6T", "6L33", "5T", "5L33", "4T", "4L33", "3L39", "3S0"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "6S5", "5L1", "5S2", "4L1", "3L1", "3S1"], + takedown: ["8L21", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + toxic: ["8E", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + venoshock: ["8M", "7M", "6M", "5M"], + vinewhip: ["8L3", "8V", "7L7", "7V", "6L9", "6S4", "5L9", "5S2", "4L9", "3L10", "3S1"], + weatherball: ["8M", "5S3"], + workup: ["8M", "7M"], + worryseed: ["8L30", "7T", "7L31", "6T", "6L31", "5T", "5L31", "4T", "4L31"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["sweetscent", "growth", "solarbeam", "synthesis"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["tackle", "growl", "leechseed", "vinewhip"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tackle", "growl", "leechseed", "vinewhip"]}, + {generation: 5, level: 1, shiny: 1, ivs: {def: 31}, moves: ["falseswipe", "block", "frenzyplant", "weatherball"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["growl", "leechseed", "vinewhip", "poisonpowder"], pokeball: "cherishball"}, + {generation: 6, level: 5, isHidden: true, moves: ["tackle", "growl", "celebrate"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + ivysaur: { + learnset: { + amnesia: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + bodyslam: ["8M", "7V", "3T"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + doubleedge: ["8L45", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasspledge: ["8T", "7T", "6T", "5T"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + growth: ["8L1", "8V", "7L28", "7V", "6L28", "5L28", "4L28", "3L38"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + leafstorm: ["8M"], + leechseed: ["8L9", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "8V", "7M", "6M", "5M"], + magicalleaf: ["8M"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + outrage: ["8V"], + poisonpowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + powerwhip: ["8M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["8L12", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L22"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "8L20", "7T", "6T", "5T", "4T"], + sleeppowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8L50", "8V", "7M", "7L44", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L44", "3M", "3L56"], + strength: ["6M", "5M", "4M", "3M"], + stringshot: ["4T"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8L30", "7L23", "7V", "6L23", "5L23", "4L23", "3L29"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["8L35", "7T", "7L39", "7V", "6T", "6L39", "5T", "5L39", "4T", "4L39", "3L47"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L25", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + venoshock: ["8M", "7M", "6M", "5M"], + vinewhip: ["8L1", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L10"], + weatherball: ["8M"], + workup: ["8M", "7M"], + worryseed: ["8L40", "7T", "7L36", "6T", "6L36", "5T", "5L36", "4T", "4L36"], + }, + }, + venusaur: { + learnset: { + amnesia: ["8M", "8V"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["8M", "7V", "3T"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + doubleedge: ["8L51", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M"], + earthquake: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frenzyplant: ["8T", "7T", "6T", "6S0", "5T", "4T", "3T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasspledge: ["8T", "7T", "6T", "6S0", "5T"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + growth: ["8L1", "8V", "7L28", "7V", "6L28", "5L28", "4L28", "3L41"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + leafstorm: ["8M"], + leechseed: ["8L9", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "8V", "7M", "6M", "5M"], + magicalleaf: ["8M"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + petalblizzard: ["8L0", "7L50", "6L50"], + petaldance: ["8L1", "8V", "7L1", "6L32", "5L32", "4L32"], + poisonpowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + powerwhip: ["8M", "8V"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["8L12", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L22"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "8L20", "7T", "6T", "5T", "4T"], + sleeppowder: ["8L15", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8L58", "8V", "7M", "7L53", "7V", "6M", "6L53", "6S0", "5M", "5L53", "4M", "4L53", "3M", "3L65"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + stringshot: ["4T"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8L30", "7L23", "7V", "6L23", "5L23", "4L23", "3L29"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["8L37", "7T", "7L45", "7V", "6T", "6L45", "6S0", "5T", "5L45", "4T", "4L45", "3L53"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L25", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + terrainpulse: ["8T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + venoshock: ["8M", "7M", "6M", "5M"], + vinewhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + weatherball: ["8M"], + workup: ["8M", "7M"], + worryseed: ["8L44", "7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L39"], + }, + eventData: [ + {generation: 6, level: 100, isHidden: true, moves: ["solarbeam", "frenzyplant", "synthesis", "grasspledge"], pokeball: "cherishball"}, + ], + }, + charmander: { + learnset: { + acrobatics: ["8M", "5S6"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aircutter: ["7E", "6E"], + ancientpower: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + bellydrum: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + bite: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + blastburn: ["5S6"], + block: ["5S6"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + celebrate: ["6S8"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T"], + crunch: ["9M", "8M", "7E", "6E", "5E", "4E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["9L12", "8L12", "7V"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + dragonpulse: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5E"], + dragonrage: ["8V", "7L16", "7V", "6L16", "6S7", "5L16", "4L16", "3L43"], + dragonrush: ["9E", "8E", "7E", "6E", "5E", "4E"], + dragontail: ["9M", "9E", "8E"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["9L4", "8L4", "8V", "7L7", "7V", "6L7", "6S7", "5L7", "5S4", "4L7", "3L7", "3S0"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M", "5S6"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L17", "8M", "8L17", "7L25", "6L25", "5L25", "4L25"], + firepledge: ["9M", "8T", "7T", "6T", "5T"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + firespin: ["9M", "9L32", "8M", "8L32", "8V", "7L43", "7V", "6L43", "5L43", "4L37", "3L49"], + flameburst: ["7L28", "6L28", "5L28"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L24", "8M", "8L24", "8V", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L34", "3M", "3L31"], + flareblitz: ["9M", "9L40", "8M", "8L40", "7E", "6E", "5E", "4E"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M"], + focuspunch: ["9M", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["8V"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S7", "6S8", "5L1", "5S4", "4L1", "3L1", "3S0"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "4S1", "4S2", "4S3", "4S5", "3M"], + honeclaws: ["6M", "5M"], + howl: ["4S1", "4S2", "4S3", "4S5"], + incinerate: ["6M", "5M"], + inferno: ["9L36", "8L36", "7L46", "6L46", "5L46"], + irontail: ["9E", "8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["7V"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metalclaw: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3L13"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "8V", "7E", "7V", "6E", "5T", "5E", "4E", "3E"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["4S1", "4S2", "4S3", "4S5"], + rage: ["7V", "3L19"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "4S1", "4S2", "4S3", "4S5", "3M"], + roar: ["9M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L28", "8M", "8L28", "7L19", "7V", "6L19", "5L19", "4L19", "3L25"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S8", "5L1", "5S4", "4L1", "3L1", "3S0"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + skullbash: ["7V"], + slash: ["9L20", "8L20", "8V", "7L34", "7V", "6L34", "5L34", "4L28", "3L37"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L8", "8L8", "8V", "7L10", "7V", "6L10", "6S7", "5L10", "5S4", "4L10", "3L13"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + wingattack: ["8E"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["scratch", "growl", "ember"], pokeball: "pokeball"}, + {generation: 4, level: 40, gender: "M", nature: "Mild", moves: ["return", "hiddenpower", "quickattack", "howl"], pokeball: "cherishball"}, + {generation: 4, level: 40, gender: "M", nature: "Naive", moves: ["return", "hiddenpower", "quickattack", "howl"], pokeball: "cherishball"}, + {generation: 4, level: 40, gender: "M", nature: "Naughty", moves: ["return", "hiddenpower", "quickattack", "howl"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["scratch", "growl", "ember", "smokescreen"]}, + {generation: 4, level: 40, gender: "M", nature: "Hardy", moves: ["return", "hiddenpower", "quickattack", "howl"], pokeball: "cherishball"}, + {generation: 5, level: 1, shiny: 1, ivs: {spe: 31}, moves: ["falseswipe", "block", "blastburn", "acrobatics"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["growl", "ember", "smokescreen", "dragonrage"], pokeball: "cherishball"}, + {generation: 6, level: 5, isHidden: true, moves: ["scratch", "growl", "celebrate"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + charmeleon: { + learnset: { + acrobatics: ["8M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + crunch: ["9M", "8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["9L12", "8L12", "7V"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T"], + dragonrage: ["8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L48"], + dragontail: ["9M"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L19", "8M", "8L19", "7L28", "6L28", "5L28", "4L28"], + firepledge: ["9M", "8T", "7T", "6T", "5T"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + firespin: ["9M", "8M", "8L42", "8V", "7L50", "7V", "6L50", "5L50", "4L43", "3L55"], + flameburst: ["7L32", "6L32", "5L32"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L30", "8M", "8L30", "8V", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L39", "3M", "3L34"], + flareblitz: ["9M", "9L54", "8M", "8L54"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["8V"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + inferno: ["9L48", "8L48", "7L54", "6L54", "5L54"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["7V"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metalclaw: ["3L13"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "8V", "5T"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V", "3L20"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L37", "8M", "8L37", "7L21", "7V", "6L21", "5L21", "4L21", "3L27"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + skullbash: ["7V"], + slash: ["9L24", "8L24", "8V", "7L39", "7V", "6L39", "5L39", "4L32", "3L41"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L1", "8L1", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L13"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + workup: ["8M", "7M"], + }, + }, + charizard: { + learnset: { + acrobatics: ["9M", "9S11", "8M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L0", "8M", "8L0", "8V", "7L1", "6L1", "6S1", "6S2", "5L1", "4L1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M"], + bellydrum: ["9S11"], + bide: ["7V"], + blastburn: ["9M", "8T", "7T", "6T", "6S4", "5T", "4T", "3T"], + blazekick: ["8M"], + bodyslam: ["9M", "8M", "7V", "3T"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["8V", "7V", "3T"], + crunch: ["9M", "9S11", "8M", "8V"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + defog: ["7T", "4M"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["9L12", "8L12", "7V"], + dragonclaw: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "7S6", "7S7", "6M", "6L1", "6S2", "5M", "5L1", "4M", "4L1", "3M"], + dragondance: ["9M", "8M", "7S9"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + dragonrage: ["8V", "7L17", "7V", "7S6", "7S7", "7S8", "6L17", "6S2", "5L17", "4L17", "3L54", "3S0"], + dragontail: ["9M", "8V", "8S10", "7M", "6M", "5M"], + dualwingbeat: ["8T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "7S9", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S5", "5L1", "4L1", "3L1"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L19", "8M", "8L19", "7L28", "6L28", "6S1", "6S2", "5L28", "4L28"], + firepledge: ["9M", "8T", "7T", "6T", "6S4", "5T"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + firespin: ["9M", "9L46", "8M", "8L46", "8V", "7L56", "7V", "6L56", "6S5", "5L56", "4L49", "3L64", "3S0"], + fissure: ["7V"], + flameburst: ["7L32", "6L32", "6S1", "6S5", "5L32"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L30", "8M", "8L30", "8V", "8S10", "7M", "7L47", "7V", "7S8", "6M", "6L47", "6S5", "5M", "5L47", "4M", "4L42", "3M", "3L34"], + flareblitz: ["9M", "9L62", "9S11", "8M", "8L62", "8V", "7L1", "7S6", "7S7", "7S9", "6L1", "6S4", "5L77", "4L66"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + fly: ["9M", "8M", "8V", "7M", "7V", "7S6", "7S7", "7S9", "6M", "5M", "4M", "3M"], + focusblast: ["9M", "8M", "7M", "6M", "6S3", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["8V"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V", "7V", "4T"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "9L1", "8M", "8L1", "8V", "7T", "7L1", "6T", "6L1", "5T", "5L71", "4T", "4L59", "3L1"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + holdhands: ["6S3"], + honeclaws: ["6M", "5M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + inferno: ["9L54", "8L54", "7L62", "6L62", "6S1", "5L62"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["7V"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metalclaw: ["3L1"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + ominouswind: ["4T"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + overheat: ["9M", "8M", "7M", "6M", "6S3", "5M", "4M", "3M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V", "3L20"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "7V"], + scaleshot: ["8T"], + scaryface: ["9M", "9L39", "8M", "8L39", "7L21", "7V", "6L21", "6S4", "5L21", "4L21", "3L27"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "8S10", "7V", "7S8", "3T"], + shadowclaw: ["9M", "8M", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + skullbash: ["7V"], + skydrop: ["7M", "6M", "5M"], + slash: ["9L24", "8L24", "8V", "8S10", "7L41", "7V", "7S8", "6L41", "5L41", "4L32", "3L44", "3S0"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L1", "8L1", "8V", "7L10", "7V", "6L1", "5L1", "4L1", "3L1"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "6M", "6S3", "5M", "4M"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + wingattack: ["8V", "7L1", "7V", "6L36", "5L36", "4L36", "3L36", "3S0"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["wingattack", "slash", "dragonrage", "firespin"], pokeball: "pokeball"}, + {generation: 6, level: 36, gender: "M", moves: ["firefang", "flameburst", "airslash", "inferno"], pokeball: "cherishball"}, + {generation: 6, level: 36, gender: "M", moves: ["firefang", "airslash", "dragonclaw", "dragonrage"], pokeball: "cherishball"}, + {generation: 6, level: 36, shiny: true, gender: "M", moves: ["overheat", "solarbeam", "focusblast", "holdhands"], pokeball: "cherishball"}, + {generation: 6, level: 100, isHidden: true, moves: ["flareblitz", "blastburn", "scaryface", "firepledge"], pokeball: "cherishball"}, + {generation: 6, level: 36, gender: "M", nature: "Serious", moves: ["flamethrower", "ember", "firespin", "flameburst"], pokeball: "cherishball"}, + {generation: 7, level: 40, nature: "Jolly", moves: ["dragonclaw", "dragonrage", "fly", "flareblitz"], pokeball: "cherishball"}, + {generation: 7, level: 40, gender: "M", nature: "Jolly", moves: ["flareblitz", "dragonclaw", "fly", "dragonrage"], pokeball: "cherishball"}, + {generation: 7, level: 40, gender: "M", nature: "Adamant", moves: ["flamethrower", "dragonrage", "slash", "seismictoss"], pokeball: "pokeball"}, + {generation: 7, level: 50, moves: ["dragondance", "flareblitz", "fly", "earthquake"], pokeball: "cherishball"}, + {generation: 8, level: 50, gender: "M", nature: "Adamant", moves: ["flamethrower", "dragontail", "slash", "seismictoss"], pokeball: "pokeball"}, + {generation: 9, level: 50, nature: "Adamant", ivs: {hp: 20, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["crunch", "flareblitz", "acrobatics", "bellydrum"], pokeball: "pokeball"}, + ], + }, + squirtle: { + learnset: { + aquajet: ["8E", "7E", "6E", "5E", "4E"], + aquaring: ["8E", "7E", "6E", "5E", "4E"], + aquatail: ["8L24", "7T", "7L28", "6T", "6L28", "5T", "5L28", "4T", "4L28"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurasphere: ["8M", "7E", "6E"], + bide: ["7V"], + bite: ["8L12", "8V", "7L16", "7V", "6L16", "5L16", "4L16", "3L18"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["5S2"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "7E", "6E", "5E", "4M"], + bubble: ["8V", "7L13", "7V", "6L13", "6S3", "5L7", "5S1", "4L7", "3L7", "3S0"], + bubblebeam: ["8V", "7V"], + captivate: ["4M"], + celebrate: ["6S4"], + confide: ["7M", "6M"], + confusion: ["7V"], + counter: ["7V", "3T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "8V", "7T", "7E", "6T", "6E"], + dynamicpunch: ["7V", "3T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8E", "7E", "6E", "5E", "4E"], + falseswipe: ["8M", "5S2"], + flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + fling: ["8M", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + focuspunch: ["7T", "6T", "4M", "3M"], + followme: ["5S2"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydrocannon: ["5S2"], + hydropump: ["8M", "8L33", "8V", "7L40", "7V", "6L40", "5L40", "4L37", "3L47"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "8L30", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4T", "4L34"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lifedew: ["8E"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mirrorcoat: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + mist: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + muddywater: ["8M", "7E", "6E", "5E", "4E"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + outrage: ["8V"], + poweruppunch: ["6M"], + protect: ["8M", "8L18", "8V", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L28"], + rage: ["7V"], + raindance: ["8M", "8L21", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L34", "3M", "3L33"], + rapidspin: ["8L9", "7L19", "7V", "6L19", "5L19", "4L19", "3L23"], + reflect: ["8V", "7V"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["8V"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shellsmash: ["8L27"], + skullbash: ["8L36", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3L40"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "6S4", "5L1", "5S1", "4L1", "3L1", "3S0"], + tailwhip: ["8L1", "8V", "7L4", "7V", "6L4", "6S3", "6S4", "5L4", "5S1", "4L4", "3L4", "3S0"], + takedown: ["7V"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L3", "8V", "7L7", "7V", "6L7", "6S3", "5L13", "4L13", "3L13"], + waterpledge: ["8T", "7T", "6T", "5T"], + waterpulse: ["8L15", "7T", "7L25", "6T", "6L25", "5L25", "4M", "4L25", "3M"], + waterspout: ["8E", "7E", "6E", "5E", "4E"], + weatherball: ["8M"], + whirlpool: ["8M", "7V", "4M"], + withdraw: ["8L6", "8V", "7L10", "7V", "6L10", "6S3", "5L10", "5S1", "4L10", "3L10", "3S0"], + workup: ["8M", "7M"], + yawn: ["8E", "7E", "6E", "5E", "4E", "3E"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "tailwhip", "bubble", "withdraw"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tackle", "tailwhip", "bubble", "withdraw"]}, + {generation: 5, level: 1, shiny: 1, ivs: {hp: 31}, moves: ["falseswipe", "block", "hydrocannon", "followme"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["tailwhip", "watergun", "withdraw", "bubble"], pokeball: "cherishball"}, + {generation: 6, level: 5, isHidden: true, moves: ["tackle", "tailwhip", "celebrate"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + wartortle: { + learnset: { + aquatail: ["8L30", "7T", "7L33", "6T", "6L32", "5T", "5L32", "4T", "4L32"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurasphere: ["8M"], + bide: ["7V"], + bite: ["8L12", "8V", "7L17", "7V", "6L16", "5L16", "4L16", "3L19"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "4M"], + bubble: ["8V", "7L13", "7V", "6L13", "5L1", "4L1", "3L1"], + bubblebeam: ["8V", "7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "8V", "7T", "6T"], + dynamicpunch: ["7V", "3T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L45", "8V", "7L49", "7V", "6L48", "5L48", "4L44", "3L53"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "8L40", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["8V"], + poweruppunch: ["6M"], + protect: ["8M", "8L20", "8V", "7M", "7L25", "7V", "6M", "6L24", "5M", "5L24", "4M", "4L24", "3M", "3L31"], + rage: ["7V"], + raindance: ["8M", "8L25", "7M", "7L45", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L40", "3M", "3L37"], + rapidspin: ["8L9", "7L21", "7V", "6L20", "5L20", "4L20", "3L25"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["8V"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shellsmash: ["8L35"], + skullbash: ["8L50", "8V", "7L37", "7V", "6L36", "5L36", "4L36", "3L45"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], + waterpledge: ["8T", "7T", "6T", "5T"], + waterpulse: ["8L15", "7T", "7L29", "6T", "6L28", "5L28", "4M", "4L28", "3M"], + weatherball: ["8M"], + whirlpool: ["8M", "7V", "4M"], + withdraw: ["8L1", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L10"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + blastoise: { + learnset: { + aquajet: ["8V"], + aquatail: ["8L30", "7T", "7L33", "6T", "6L32", "5T", "5L32", "4T", "4L32"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurasphere: ["8M"], + avalanche: ["8M", "4M"], + bide: ["7V"], + bite: ["8L12", "8V", "7L17", "7V", "6L16", "5L16", "4L16", "3L19"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "4M"], + bubble: ["8V", "7L13", "7V", "6L13", "5L1", "4L1", "3L1"], + bubblebeam: ["8V", "7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + crunch: ["8M"], + curse: ["7V"], + darkpulse: ["8M", "8V", "7M", "6M"], + defensecurl: ["7V", "3T"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "8V", "7T", "6T"], + dragontail: ["8V", "7M", "6M", "5M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8V"], + falseswipe: ["8M"], + fissure: ["7V"], + flashcannon: ["8M", "8L0", "8V", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + fling: ["8M", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydrocannon: ["8T", "7T", "6T", "6S1", "5T", "4T", "3T"], + hydropump: ["8M", "8L49", "8V", "7L60", "7V", "6L60", "6S1", "5L60", "4L53", "3L68", "3S0"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "8L42", "7T", "7L47", "6T", "6L46", "6S1", "5T", "5L46", "4T", "4L46"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + liquidation: ["8M", "7T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + poweruppunch: ["6M"], + protect: ["8M", "8L20", "8V", "7M", "7L25", "7V", "6M", "6L24", "5M", "5L24", "4M", "4L24", "3M", "3L31", "3S0"], + rage: ["7V"], + raindance: ["8M", "8L25", "7M", "7L54", "7V", "6M", "6L53", "5M", "5L53", "4M", "4L46", "3M", "3L42", "3S0"], + rapidspin: ["8L9", "7L21", "7V", "6L20", "5L20", "4L20", "3L25"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shellsmash: ["8L35"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["8L56", "8V", "7L40", "7V", "6L39", "5L39", "4L39", "3L55", "3S0"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + terrainpulse: ["8T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], + waterpledge: ["8T", "7T", "6T", "6S1", "5T"], + waterpulse: ["8L15", "7T", "7L29", "6T", "6L28", "5L28", "4M", "4L28", "3M"], + weatherball: ["8M"], + whirlpool: ["8M", "7V", "4M"], + withdraw: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["protect", "raindance", "skullbash", "hydropump"], pokeball: "pokeball"}, + {generation: 6, level: 100, isHidden: true, moves: ["hydropump", "hydrocannon", "irondefense", "waterpledge"], pokeball: "cherishball"}, + ], + }, + caterpie: { + learnset: { + bugbite: ["8L9", "7T", "7L9", "6T", "6L15", "5T", "5L15", "4T", "4L15"], + electroweb: ["8M", "7T", "6T", "5T"], + snore: ["7T", "6T", "5T", "4T"], + stringshot: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 3}, + {generation: 3, level: 3}, + ], + }, + metapod: { + learnset: { + bugbite: ["7T", "6T", "5T", "4T"], + electroweb: ["8M", "7T", "6T", "5T"], + harden: ["8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + stringshot: ["4T"], + }, + encounters: [ + {generation: 1, level: 4}, + {generation: 2, level: 4}, + {generation: 3, level: 4}, + {generation: 4, level: 3}, + {generation: 6, level: 4}, + {generation: 7, level: 3}, + ], + }, + butterfree: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M", "3S0"], + aircutter: ["5D", "4T"], + airslash: ["8M", "8L24", "8V", "7L43"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M"], + bide: ["7V"], + bugbite: ["8L1", "7T", "6T", "5T", "4T"], + bugbuzz: ["8M", "8L32", "8V", "7L31", "6L42", "5L42", "4L40"], + captivate: ["7L37", "6L40", "5L40", "4M", "4L36"], + confide: ["7M", "6M"], + confusion: ["8L8", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + curse: ["7V"], + defog: ["7T", "4M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["8M"], + dreameater: ["8V", "7M", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gust: ["8L0", "8V", "7L1", "7V", "6L16", "5L16", "4L16", "3L28"], + harden: ["8L1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + irondefense: ["8M"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + morningsun: ["3S0"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + ominouswind: ["4T"], + poisonpowder: ["8L12", "8V", "7L13", "7V", "6L12", "5L12", "4L12", "3L13"], + pollenpuff: ["8M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L16", "8V", "7L17", "7V", "6L24", "5L24", "4L24", "3L34"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + psychup: ["7M", "6M", "5M", "4M"], + psywave: ["7V"], + quiverdance: ["8L44", "8V", "7L47", "6L46", "5L46"], + rage: ["7V"], + ragepowder: ["8L40", "7L35", "6L34", "5L34"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "5D", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L28", "7M", "7L25", "7V", "6M", "6L36", "5M", "5L36", "4M", "4L34", "3M", "3L40"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["7L19", "6L28", "5L28", "4M", "4L28", "3L47"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + sleeppowder: ["8L12", "8V", "7L13", "7V", "6L12", "5L12", "4L12", "3L15", "3S0"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stringshot: ["8L1", "4T"], + strugglebug: ["6M", "5M"], + stunspore: ["8L12", "8V", "7L13", "7V", "6L12", "5L12", "4L12", "3L14"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["8L4", "8V", "7L23", "7V", "6L18", "5L18", "4L18", "3L18"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1"], + tailwind: ["8L36", "7T", "7L41", "6T", "6L30", "5T", "5L30", "4T", "4L30"], + takedown: ["7V"], + teleport: ["8V", "7V"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uturn: ["8M", "8V", "7M", "6M", "5M", "4M"], + venoshock: ["8M", "7M", "6M", "5M"], + whirlwind: ["8L20", "8V", "7L29", "7V", "6L22", "5L22", "4L22", "3L23"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["morningsun", "psychic", "sleeppowder", "aerialace"]}, + ], + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 6}, + {generation: 7, level: 9}, + ], + }, + weedle: { + learnset: { + bugbite: ["7T", "7L9", "6T", "6L15", "5T", "5L15", "4T", "4L15"], + electroweb: ["7T", "6T", "5T"], + poisonsting: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + stringshot: ["8V", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 3}, + {generation: 3, level: 3}, + ], + }, + kakuna: { + learnset: { + bugbite: ["7T", "6T", "5T", "4T"], + electroweb: ["7T", "6T", "5T"], + harden: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + irondefense: ["7T", "6T", "5T", "4T"], + stringshot: ["4T"], + }, + encounters: [ + {generation: 1, level: 4}, + {generation: 2, level: 4}, + {generation: 3, level: 4}, + {generation: 4, level: 3}, + {generation: 6, level: 4}, + {generation: 7, level: 3}, + ], + }, + beedrill: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8V", "7L38", "7V", "6L31", "5L31", "4L31", "3L40"], + aircutter: ["5D", "4T"], + assurance: ["7L26", "6L34", "5L34", "4L34"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["3S0"], + bide: ["7V"], + brickbreak: ["8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["7M"], + bugbite: ["7T", "6T", "5T", "4T"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8V", "7T", "6T", "5T"], + electroweb: ["7T", "6T", "5T"], + endeavor: ["7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40", "3L45"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["7M", "6M", "5M", "4M"], + fellstinger: ["7L44", "6L45"], + flash: ["6M", "5M", "4M"], + focusenergy: ["8V", "7L20", "7V", "6L13", "5L13", "4L13", "3L15"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + furycutter: ["7V", "5D", "4T", "3T"], + gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + knockoff: ["7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + outrage: ["8V"], + payback: ["7M", "6M", "5M", "4M"], + peck: ["8V"], + pinmissile: ["8V", "7L32", "7V", "6L28", "5L28", "4L28", "3L35"], + poisonjab: ["8V", "7M", "7L35", "6M", "6L37", "5M", "5L37", "4M", "4L37"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L17", "7V", "6L22", "5L22", "4L22", "3L30"], + rage: ["8V", "7L14", "7V", "6L19", "5L19", "4L19", "3L25"], + reflect: ["8V", "7V"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + silverwind: ["4M"], + skullbash: ["7V"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8V", "7M", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["7V", "4T", "3T"], + swordsdance: ["7M", "7V", "6M", "5M", "4M", "3T", "3S0"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + thief: ["7M", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["7L29", "6L25", "5L25", "4L25"], + twineedle: ["8V", "7L1", "7V", "6L16", "5L16", "4L16", "3L20", "3S0"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + venoshock: ["7M", "7L23", "6M", "5M"], + xscissor: ["8V", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["batonpass", "sludgebomb", "twineedle", "swordsdance"]}, + ], + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 6}, + ], + }, + pidgey: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L39"], + aircutter: ["7E", "6E", "5E", "4T", "4E", "3E"], + airslash: ["8V", "7L49", "7E", "6L49", "6E", "5L49", "5E", "4L49", "4E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bravebird: ["7E", "6E", "5E", "4E"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "7E", "6E", "5E", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["7L25", "6L25", "5L25", "4L25", "3L31"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gust: ["8V", "7L9", "7V", "6L9", "5L9", "5D", "4L9", "3L9"], + headbutt: ["8V"], + heatwave: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["7L53", "6L53", "5L53"], + mimic: ["7V", "3T"], + mirrormove: ["8V", "7L45", "7V", "6L45", "5L45", "4L45", "3L47"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pluck: ["5M", "4M"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + quickattack: ["8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L13"], + rage: ["7V"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + razorwind: ["8V", "7V"], + reflect: ["8V", "7V"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "7L37", "6M", "6L37", "5T", "5L37", "4M", "4L37"], + round: ["7M", "6M", "5M"], + sandattack: ["8V", "7L5", "7V", "6L5", "5L5", "4L5", "3L5"], + secretpower: ["6M", "5D", "4M", "3M"], + skyattack: ["7T", "7V", "6T", "3T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7E", "7V", "6M", "6E", "5E", "5D", "4M", "4E", "3M", "3E"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + tackle: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L41"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["7L21", "6L21", "5L21", "4T", "4L21"], + uproar: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + whirlwind: ["8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L19"], + wingattack: ["8V", "7L33", "7V", "6L33", "5L33", "4L33", "3L25"], + workup: ["7M", "5M"], + }, + encounters: [ + {generation: 1, level: 2}, + {generation: 2, level: 2}, + {generation: 3, level: 2}, + ], + }, + pidgeotto: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8V", "7L32", "7V", "6L32", "5L32", "4L32", "3L43"], + aircutter: ["4T"], + airslash: ["8V", "7L57", "6L57", "5L57", "4L57"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["7L27", "6L27", "5L27", "4L27", "3L34", "3S0"], + fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gust: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V"], + heatwave: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["7L62", "6L62", "5L62"], + mimic: ["7V", "3T"], + mirrormove: ["8V", "7L52", "7V", "6L52", "5L52", "4L52", "3L52"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pluck: ["5M", "4M"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L13"], + rage: ["7V"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + razorwind: ["8V", "7V"], + reflect: ["8V", "7V"], + refresh: ["3S0"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "7L42", "6M", "6L42", "5T", "5L42", "4M", "4L42"], + round: ["7M", "6M", "5M"], + sandattack: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["7T", "7V", "6T", "3T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7V", "6M", "4M", "3M", "3S0"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + tackle: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["7T", "7L47", "6T", "6L47", "5T", "5L47", "4T", "4L47"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["7L22", "6L22", "5L22", "4T", "4L22"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + whirlwind: ["8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L20"], + wingattack: ["8V", "7L37", "7V", "6L37", "5L37", "4L37", "3L27", "3S0"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 3, level: 30, abilities: ["keeneye"], moves: ["refresh", "wingattack", "steelwing", "featherdance"]}, + ], + encounters: [ + {generation: 1, level: 9}, + {generation: 2, level: 7}, + {generation: 3, level: 7}, + {generation: 4, level: 7}, + ], + }, + pidgeot: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8V", "7L32", "7V", "6L32", "5L32", "4L32", "3L48"], + aircutter: ["4T"], + airslash: ["8V", "7L62", "6L62", "5L62", "4L62"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["7L27", "6L27", "5L27", "4L27", "3L34"], + fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + gust: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V"], + heatwave: ["8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["7L1", "6L1", "5L68"], + hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + laserfocus: ["7T"], + mimic: ["7V", "3T"], + mirrormove: ["8V", "7L56", "7V", "6L56", "5L56", "5S0", "4L56", "3L62"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pluck: ["5M", "4M"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + rage: ["7V"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + razorwind: ["8V", "7V"], + reflect: ["8V", "7V"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "7L44", "6M", "6L44", "5T", "5L44", "4M", "4L44"], + round: ["7M", "6M", "5M"], + sandattack: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["8V", "7T", "7V", "6T", "5T", "5S0", "4T", "3T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7V", "6M", "4M", "3M"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + tackle: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["7T", "7L50", "6T", "6L50", "5T", "5L50", "4T", "4L50"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["7L22", "6L22", "5L22", "4T", "4L22"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + whirlwind: ["8V", "7L17", "7V", "6L17", "5L17", "5S0", "4L17", "3L20"], + wingattack: ["8V", "7L38", "7V", "6L38", "5L38", "5S0", "4L38", "3L27"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 5, level: 61, gender: "M", nature: "Naughty", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, abilities: ["keeneye"], moves: ["whirlwind", "wingattack", "skyattack", "mirrormove"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 29}, + ], + }, + rattata: { + learnset: { + assurance: ["7L19", "6L25", "5L25", "4L25"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["8V", "7L10", "7E", "7V", "6L10", "6E", "5L10", "5E", "4L10", "4E", "3E"], + blizzard: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["7V", "3T"], + bubblebeam: ["7V"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + counter: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], + covet: ["7T", "6T", "5T"], + crunch: ["8V", "7L22", "6L22", "5L22", "4L22"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + dig: ["8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["8V", "7L31", "7V", "6L31", "5L31", "4L31", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["7T", "7L34", "6T", "6L34", "5T", "5L34", "4T", "4L34", "3L41"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + finalgambit: ["7E", "6E", "5E"], + flamewheel: ["7E", "7V", "6E", "5E", "4E", "3E"], + focusenergy: ["8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L20"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["7E", "7V", "6E", "5E", "4E", "3E"], + grassknot: ["7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperfang: ["8V", "7L16", "7V", "6L16", "5L16", "4L16", "3L13"], + icebeam: ["8V", "7M", "6M", "5M", "4M", "3M"], + icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8V", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + lastresort: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + mefirst: ["7E", "6E", "5E", "5D", "4E"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + pluck: ["5M", "4M"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L13", "7V", "6L13", "5L13", "4L13", "3L27"], + quickattack: ["8V", "7L4", "7V", "6L4", "5L4", "5D", "4L4", "3L7"], + rage: ["7V"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["7E", "6E", "5E"], + reversal: ["7E", "7V", "6E", "5E", "4E", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + screech: ["7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["8V", "7L25", "6L19", "5L19", "4T", "4L19"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["8V", "7T", "7L28", "7V", "6T", "6L28", "5T", "5L28", "4T", "4L28", "3L34"], + swagger: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + swift: ["7V", "4T", "3T"], + tackle: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + taunt: ["8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8V", "7M", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + watergun: ["7V"], + wildcharge: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 1, level: 2}, + {generation: 2, level: 2}, + {generation: 3, level: 2}, + ], + }, + rattataalola: { + learnset: { + assurance: ["7L19"], + attract: ["7M"], + bite: ["8V", "7L10"], + blizzard: ["8V", "7M"], + confide: ["7M"], + counter: ["7E"], + covet: ["7T"], + crunch: ["8V", "7L22"], + darkpulse: ["8V", "7M"], + dig: ["8V"], + doubleedge: ["8V", "7L31"], + doubleteam: ["7M"], + embargo: ["7M"], + endeavor: ["7T", "7L34"], + facade: ["8V", "7M"], + finalgambit: ["7E"], + focusenergy: ["8V", "7L7"], + frustration: ["7M"], + furyswipes: ["7E"], + grassknot: ["7M"], + headbutt: ["8V"], + hiddenpower: ["7M"], + hyperfang: ["8V", "7L16"], + icebeam: ["8V", "7M"], + icywind: ["7T"], + irontail: ["8V", "7T"], + lastresort: ["7T"], + mefirst: ["7E"], + protect: ["8V", "7M"], + pursuit: ["7L13"], + quash: ["7M"], + quickattack: ["8V", "7L4"], + raindance: ["7M"], + rest: ["8V", "7M"], + return: ["7M"], + revenge: ["7E"], + reversal: ["7E"], + round: ["7M"], + shadowball: ["8V", "7M"], + shadowclaw: ["7M"], + shockwave: ["7T"], + sleeptalk: ["7M"], + sludgebomb: ["8V", "7M"], + snarl: ["7M"], + snatch: ["7T", "7E"], + snore: ["7T"], + stockpile: ["7E"], + substitute: ["8V", "7M"], + suckerpunch: ["8V", "7L25"], + sunnyday: ["7M"], + superfang: ["8V", "7T", "7L28"], + swagger: ["7M"], + swallow: ["7E"], + switcheroo: ["7E"], + tackle: ["8V", "7L1"], + tailwhip: ["8V", "7L1"], + taunt: ["8V", "7M"], + thief: ["7M"], + torment: ["7M"], + toxic: ["8V", "7M"], + uproar: ["7T", "7E"], + uturn: ["8V", "7M"], + zenheadbutt: ["7T"], + }, + }, + raticate: { + learnset: { + assurance: ["7L19", "6L29", "5L29", "4L29"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["8V", "7L10", "6L10", "5L10", "4L10"], + blizzard: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["7V", "3T"], + bubblebeam: ["7V"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + counter: ["8V", "3T"], + covet: ["7T", "6T", "5T"], + crunch: ["8V", "7L24", "6L24", "5L24", "4L24"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + dig: ["8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["8V", "7L39", "7V", "6L39", "5L39", "4L39", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["7T", "7L44", "6T", "6L44", "5T", "5L44", "4T", "4L44", "3L50"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + focusenergy: ["8V", "7L1", "7V", "6L1", "5L1", "4L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["8V"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hyperfang: ["8V", "7L16", "7V", "6L16", "5L16", "4L16", "3L13", "3S0"], + icebeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "4T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + pluck: ["5M", "4M"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L13", "7V", "6L13", "5L13", "4L13", "3L30"], + quickattack: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + rage: ["7V"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["7L1", "7V", "6L20", "5L20", "4L20", "3L20", "3S0"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + stompingtantrum: ["7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["8V", "7L29", "6L19", "5L19", "4T", "4L19"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["8V", "7T", "7L34", "7V", "6T", "6L34", "5T", "5L34", "4T", "4L34", "3L40", "3S0"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + swordsdance: ["8V", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + tackle: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + taunt: ["8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + thunder: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8V", "7M", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + watergun: ["7V"], + wildcharge: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 34, moves: ["refresh", "superfang", "scaryface", "hyperfang"]}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 6}, + {generation: 4, level: 13}, + ], + }, + raticatealola: { + learnset: { + assurance: ["7L19"], + attract: ["7M"], + bite: ["8V", "7L10"], + blizzard: ["8V", "7M"], + bulkup: ["8V", "7M"], + confide: ["7M"], + counter: ["8V"], + covet: ["7T"], + crunch: ["8V", "7L24"], + darkpulse: ["8V", "7M"], + dig: ["8V"], + doubleedge: ["8V", "7L39"], + doubleteam: ["7M"], + embargo: ["7M"], + endeavor: ["7T", "7L44"], + facade: ["8V", "7M"], + focusenergy: ["8V", "7L1"], + frustration: ["7M"], + furyswipes: ["8V"], + gigaimpact: ["7M"], + grassknot: ["7M"], + headbutt: ["8V"], + hiddenpower: ["7M"], + hyperbeam: ["8V", "7M"], + hyperfang: ["8V", "7L16"], + icebeam: ["8V", "7M"], + icywind: ["7T"], + irontail: ["8V", "7T"], + knockoff: ["7T"], + lastresort: ["7T"], + protect: ["8V", "7M"], + pursuit: ["7L13"], + quash: ["7M"], + quickattack: ["8V", "7L1"], + raindance: ["7M"], + rest: ["8V", "7M"], + return: ["7M"], + roar: ["7M"], + round: ["7M"], + scaryface: ["7L1"], + shadowball: ["8V", "7M"], + shadowclaw: ["7M"], + shockwave: ["7T"], + sleeptalk: ["7M"], + sludgebomb: ["8V", "7M"], + sludgewave: ["7M"], + snarl: ["7M"], + snatch: ["7T"], + snore: ["7T"], + stompingtantrum: ["7T"], + substitute: ["8V", "7M"], + suckerpunch: ["8V", "7L29"], + sunnyday: ["7M"], + superfang: ["8V", "7T", "7L34"], + swagger: ["7M"], + swordsdance: ["8V", "7M", "7L1"], + tackle: ["8V", "7L1"], + tailwhip: ["8V", "7L1"], + taunt: ["8V", "7M"], + thief: ["7M"], + throatchop: ["7T"], + torment: ["7M"], + toxic: ["8V", "7M"], + uproar: ["7T"], + uturn: ["8V", "7M"], + venoshock: ["7M"], + zenheadbutt: ["7T"], + }, + encounters: [ + {generation: 7, level: 17}, + ], + }, + raticatealolatotem: { + learnset: { + assurance: ["7L19", "7S0"], + attract: ["7M"], + bite: ["7L10", "7S0"], + blizzard: ["7M"], + bulkup: ["7M"], + confide: ["7M"], + covet: ["7T"], + crunch: ["7L24"], + darkpulse: ["7M"], + doubleedge: ["7L39"], + doubleteam: ["7M"], + embargo: ["7M"], + endeavor: ["7T", "7L44"], + facade: ["7M"], + focusenergy: ["7L1"], + frustration: ["7M"], + gigaimpact: ["7M"], + grassknot: ["7M"], + hiddenpower: ["7M"], + hyperbeam: ["7M"], + hyperfang: ["7L16", "7S0"], + icebeam: ["7M"], + icywind: ["7T"], + irontail: ["7T"], + knockoff: ["7T"], + lastresort: ["7T"], + protect: ["7M"], + pursuit: ["7L13", "7S0"], + quash: ["7M"], + quickattack: ["7L1"], + raindance: ["7M"], + rest: ["7M"], + return: ["7M"], + roar: ["7M"], + round: ["7M"], + scaryface: ["7L1"], + shadowball: ["7M"], + shadowclaw: ["7M"], + shockwave: ["7T"], + sleeptalk: ["7M"], + sludgebomb: ["7M"], + sludgewave: ["7M"], + snarl: ["7M"], + snatch: ["7T"], + snore: ["7T"], + stompingtantrum: ["7T"], + substitute: ["7M"], + suckerpunch: ["7L29"], + sunnyday: ["7M"], + superfang: ["7T", "7L34"], + swagger: ["7M"], + swordsdance: ["7M", "7L1"], + tackle: ["7L1"], + tailwhip: ["7L1"], + taunt: ["7M"], + thief: ["7M"], + throatchop: ["7T"], + torment: ["7M"], + toxic: ["7M"], + uproar: ["7T"], + uturn: ["7M"], + venoshock: ["7M"], + zenheadbutt: ["7T"], + }, + eventData: [ + {generation: 7, level: 20, perfectIVs: 3, moves: ["bite", "pursuit", "hyperfang", "assurance"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + spearow: { + learnset: { + aerialace: ["7M", "7L15", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L25", "3S0"], + agility: ["8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L43"], + aircutter: ["4T"], + assurance: ["7L22", "6L29", "5L29", "4L29"], + astonish: ["7E", "6E", "5E", "4E", "3E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["3S0"], + bide: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillpeck: ["8V", "7L36", "7V", "6L37", "5L37", "4L37", "3L37"], + drillrun: ["8V", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["7M", "7V", "6M", "5M", "4E", "3E", "3S0"], + featherdance: ["7E", "6E", "5E", "4E"], + feintattack: ["7E", "7V", "6E", "5E", "5D", "4E", "3E"], + fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + focusenergy: ["8V", "7L29"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L11", "7V", "6L9", "5L9", "4L9", "3L13"], + growl: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V"], + heatwave: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + leer: ["8V", "7L4", "7V", "6L5", "5L5", "4L5", "3L7", "3S0"], + mimic: ["7V", "3T"], + mirrormove: ["8V", "7L18", "7V", "6L21", "5L21", "4L21", "3L31"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + peck: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + pluck: ["5M", "4M"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L8", "7V", "6L13", "5L13", "4L13", "3L19"], + quickattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + razorwind: ["7E", "7V", "6E", "5E"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "7L32", "6M", "6L33", "5T", "5L33", "4M", "4L33"], + round: ["7M", "6M", "5M"], + scaryface: ["7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4E", "3T", "3E"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7E", "7V", "6M", "6E", "5E", "5D", "4M", "3M"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8V", "7E", "7V", "6E", "5E", "4E", "3E"], + twister: ["4T"], + uproar: ["7T", "7E", "6T", "6E", "5T", "5E", "4E"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + whirlwind: ["7E", "7V", "6E", "5E", "4E"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 3, level: 22, moves: ["batonpass", "falseswipe", "leer", "aerialace"]}, + ], + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 2}, + {generation: 3, level: 3}, + ], + }, + fearow: { + learnset: { + aerialace: ["7M", "7L15", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M"], + agility: ["8V", "7L27", "7V", "6L29", "5L29", "4L29", "3L47"], + aircutter: ["4T"], + assurance: ["7L23", "6L35", "5L35", "4L35"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillpeck: ["8V", "7L41", "7V", "6L47", "5L47", "4L47", "3L40"], + drillrun: ["8V", "7T", "7L1", "6T", "6L1", "5T", "5L53"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["7M", "6M", "5M"], + fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + focusenergy: ["8V", "7L32"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L11", "7V", "6L1", "5L1", "4L1", "3L1"], + gigaimpact: ["7M", "6M", "5M", "4M"], + growl: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V"], + heatwave: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + laserfocus: ["7T"], + leer: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["7V", "3T"], + mirrormove: ["8V", "7L18", "7V", "6L23", "5L23", "4L23", "3L32"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + peck: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["7L1", "6L1", "5M", "5L1", "4M", "4L1"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L1", "7V", "6L13", "5L13", "4L13", "3L26"], + quickattack: ["8V"], + rage: ["7V"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "7L36", "6M", "6L41", "5T", "5L41", "4M", "4L41"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["8V", "7T", "7V", "6T", "5T", "4T", "3T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7V", "6M", "4M", "3M"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8V"], + twister: ["4T"], + uproar: ["7T", "6T", "5T"], + uturn: ["8V", "7M", "6M", "5M", "4M"], + whirlwind: ["7V"], + workup: ["7M", "5M"], + }, + encounters: [ + {generation: 1, level: 19}, + {generation: 2, level: 7}, + {generation: 4, level: 7}, + ], + }, + ekans: { + learnset: { + acid: ["9L20", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L32"], + acidspray: ["9M", "9L28", "7L28", "6L28", "5L28"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["7E", "7V", "6E", "5E", "5D", "4E", "3E"], + belch: ["9L38", "7L38", "6L38"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + bite: ["9L9", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L13", "3S0"], + bodyslam: ["7V", "3T"], + brutalswing: ["7M"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + coil: ["9L44", "7L44", "6L44", "5L44"], + confide: ["7M", "6M"], + crunch: ["9M", "7V"], + curse: ["7V"], + darkpulse: ["9M", "8V", "7M", "6M", "5T", "5D", "4M"], + dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], + disable: ["7E", "6E", "5E", "4E"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthquake: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M"], + fissure: ["7V"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["9L36", "7T", "7L36", "6T", "6L36", "5T", "5L36", "4T", "4L33"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + glare: ["9L12", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L20"], + gunkshot: ["9M", "9L49", "7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L41"], + haze: ["9M", "9L41", "8V", "7L41", "7V", "6L41", "5L41", "4L36", "3L44"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + irontail: ["8V", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + knockoff: ["9M"], + lashout: ["9M"], + leechlife: ["9M"], + leer: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + mudbomb: ["7L33", "6L33", "5L33", "4L28"], + mudshot: ["9M"], + mudslap: ["9M"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + poisonfang: ["9E", "7E", "6E", "5E", "4E", "3E"], + poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], + poisonsting: ["9L4", "8V", "7L4", "7V", "6L4", "5L4", "5D", "4L4", "3L8", "3S0", "3S1"], + poisontail: ["9M", "9E", "7E", "6E", "5E", "4E"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scaleshot: ["9M"], + scaryface: ["9M", "9E", "7E", "6E", "5E", "4E"], + screech: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L25"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + skullbash: ["7V"], + slam: ["8V", "7E", "7V", "6E", "5E", "4E", "3E"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "9L33", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["7M", "6M", "5M"], + snarl: ["9M"], + snatch: ["7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "9E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + spitup: ["9L25", "7L25", "6L25", "5L25", "4L25", "3L37"], + stockpile: ["9L25", "7L25", "6L25", "5L25", "4L25", "3L37"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9E", "7E", "6E", "5E"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9L25", "7L25", "6L25", "5L25", "4L25", "3L37"], + switcheroo: ["9E", "7E", "6E", "5E", "4E"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venoshock: ["9M", "7M", "6M", "5M"], + wrap: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + }, + eventData: [ + {generation: 3, level: 14, gender: "F", nature: "Docile", ivs: {hp: 26, atk: 28, def: 6, spa: 14, spd: 30, spe: 11}, abilities: ["shedskin"], moves: ["leer", "wrap", "poisonsting", "bite"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["wrap", "leer", "poisonsting"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 6}, + {generation: 2, level: 4}, + ], + }, + arbok: { + learnset: { + acid: ["9L20", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L38"], + acidspray: ["9M", "9L32", "7L32", "6L32", "5L32"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["9L48", "7L48", "6L48"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + bite: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + bodyslam: ["9M", "7V", "3T"], + brutalswing: ["7M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + coil: ["9L56", "7L56", "6L56", "5L56"], + confide: ["7M", "6M"], + crunch: ["9M", "9L0", "8V", "7L1", "6L22", "5L22", "4L22"], + curse: ["7V"], + darkpulse: ["9M", "8V", "7M", "6M", "5T", "4M"], + dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragontail: ["9M", "8V", "7M", "6M", "5M"], + earthquake: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + fissure: ["7V"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["9L44", "7T", "7L44", "6T", "6L44", "5T", "5L44", "4T", "4L42"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + glare: ["9L12", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L20", "3S0"], + gunkshot: ["9M", "9L63", "7T", "7L63", "6T", "6L63", "5T", "5L63", "4T", "4L56"], + haze: ["9M", "9L51", "8V", "7L51", "7V", "6L51", "5L51", "4L48", "3L56"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + infestation: ["7M", "6M"], + irontail: ["8V", "7T", "6T", "5T", "4M", "3M"], + knockoff: ["9M"], + lashout: ["9M"], + leechlife: ["9M"], + leer: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + mudbomb: ["7L39", "6L39", "5L39", "4L34"], + mudshot: ["9M"], + mudslap: ["9M"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], + poisonsting: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poisontail: ["9M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + rage: ["7V"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scaleshot: ["9M"], + scaryface: ["9M"], + screech: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L28"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + skullbash: ["7V"], + slam: ["8V"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "9L39", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + sludgewave: ["7M", "6M", "5M"], + snarl: ["9M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + spitup: ["9L27", "7L27", "6L27", "5L27", "4L28", "3L46"], + stockpile: ["9L27", "7L27", "6L27", "5L27", "4L28", "3L46"], + stompingtantrum: ["9M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["8V"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9L27", "7L27", "6L27", "5L27", "4L28", "3L46"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venoshock: ["9M", "7M", "6M", "5M"], + wrap: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + }, + eventData: [ + {generation: 3, level: 33, moves: ["refresh", "sludgebomb", "glare", "bite"]}, + ], + encounters: [ + {generation: 2, level: 10}, + {generation: 4, level: 10}, + ], + }, + pichu: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bestow: ["7E", "6E", "5E"], + bide: ["7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["9M", "8M", "3T"], + captivate: ["4M"], + charge: ["9M", "9E", "9S6", "8E", "7E", "6E", "5E", "4E", "4S5", "3E"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["9M", "9L20", "8M", "8L20", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1", "3S2", "3S3"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + disarmingvoice: ["9M", "9E", "8E", "7E", "6E"], + doubleedge: ["3T"], + doubleslap: ["7E", "7V", "6E", "5E", "4E", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + electricterrain: ["9M", "8M", "7E"], + electroball: ["9M"], + electroweb: ["8M", "7T", "6T"], + encore: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + endeavor: ["4S5"], + endure: ["9M", "9S6", "8M", "7E", "7V", "6E", "5E", "4M", "4S5", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9E", "8E", "7E", "6E", "5E", "4E"], + flail: ["9E", "8E", "7E", "6E", "5E", "4E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + followme: ["3S3"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M", "4S4"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "9S6", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7E", "6E", "5E"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "9L16", "8M", "8L16", "7L13", "6L13", "5L18", "4L18"], + naturalgift: ["4M"], + nuzzle: ["9L12", "8L12"], + playnice: ["9L4", "8L4"], + playrough: ["9M", "8M"], + present: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "4S4", "3M"], + reversal: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "3S0"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L8", "8L8", "7L10", "7V", "6L10", "5L13", "4L13", "3L11"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwhip: ["9L1", "8L1", "7L5", "7V", "6L5", "5L5", "4L5", "3L6"], + takedown: ["9M"], + teeterdance: ["3S2"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "4S4", "3M"], + thunderpunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5E", "4E"], + thundershock: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1", "3S2", "3S3"], + thunderwave: ["9M", "8M", "7M", "7L18", "7V", "6M", "6L13", "5M", "5L10", "4M", "4L10", "3T", "3L8"], + tickle: ["9E", "8E", "7E", "6E", "5E", "4E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + volttackle: ["9R", "9S6", "8R", "7R", "6E", "5E", "4E", "4S4", "4S5", "3E"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + wish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E", "3S1"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["thundershock", "charm", "surf"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 5, shiny: 1, moves: ["thundershock", "charm", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["thundershock", "charm", "teeterdance"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["thundershock", "charm", "followme"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 4, level: 1, moves: ["volttackle", "thunderbolt", "grassknot", "return"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: true, gender: "M", nature: "Jolly", moves: ["charge", "volttackle", "endeavor", "endure"], pokeball: "cherishball"}, + {generation: 9, level: 30, shiny: true, gender: "M", nature: "Jolly", moves: ["charge", "volttackle", "endure", "helpinghand"], pokeball: "cherishball"}, + ], + }, + pichuspikyeared: { + learnset: { + attract: ["4M"], + captivate: ["4M"], + chargebeam: ["4M"], + charm: ["4L1"], + doubleteam: ["4M"], + endure: ["4M"], + facade: ["4M"], + flash: ["4M"], + fling: ["4M"], + frustration: ["4M"], + grassknot: ["4M"], + headbutt: ["4T"], + helpinghand: ["4T", "4S0"], + hiddenpower: ["4M"], + irontail: ["4M"], + lightscreen: ["4M"], + magnetrise: ["4T"], + mudslap: ["4T"], + nastyplot: ["4L18"], + naturalgift: ["4M"], + painsplit: ["4S0"], + protect: ["4M"], + raindance: ["4M"], + rest: ["4M"], + return: ["4M"], + rollout: ["4T"], + secretpower: ["4M"], + shockwave: ["4M"], + signalbeam: ["4T"], + sleeptalk: ["4M"], + snore: ["4T"], + substitute: ["4M"], + swagger: ["4M", "4S0"], + sweetkiss: ["4L13"], + swift: ["4T"], + tailwhip: ["4L5"], + thunder: ["4M"], + thunderbolt: ["4M"], + thundershock: ["4L1"], + thunderwave: ["4M", "4L10"], + toxic: ["4M"], + uproar: ["4T"], + volttackle: ["4S0"], + }, + eventData: [ + {generation: 4, level: 30, gender: "F", nature: "Naughty", moves: ["helpinghand", "volttackle", "swagger", "painsplit"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachu: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "8V", "7L45", "7V", "6L37", "6S41", "5L37", "4L34", "3L33", "3S0", "3S8"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bestow: ["7S44", "6S42"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "5S26", "4M", "3M"], + calmmind: ["8V"], + captivate: ["4M"], + celebrate: ["9S55", "8S50", "8S51", "8S52", "7S43", "7S48", "6S31", "6S41"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1", "6S36"], + confide: ["7M", "6M"], + counter: ["7S48", "3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M"], + discharge: ["9L32", "8L32", "7L34", "7S47", "6L34", "5L42", "4L37"], + doubleedge: ["7V", "3T"], + doublekick: ["8V"], + doubleteam: ["9L8", "8L8", "8V", "7M", "7L23", "7V", "6M", "6L21", "6S32", "5M", "5L21", "4M", "4L18", "4S13", "3M", "3L15"], + drainingkiss: ["9M", "8M"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "8S52", "7L13", "6L13", "6S32", "6S37", "5L18", "5S23", "5S24", "5S30"], + electroweb: ["8M", "7T", "6T"], + encore: ["9M", "8M", "8S52", "6S39", "5S23"], + endeavor: ["6S39"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extremespeed: ["5S26"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["6S39"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21", "6L21", "5L34", "5S29", "4L29"], + flash: ["7V", "6M", "6S40", "5M", "4M", "4S13", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + fly: ["9S53", "7S49", "6S41", "5S24", "5S27", "3S2", "3S4", "3S6"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "5S25", "5S26", "5S27", "4M", "4S13"], + growl: ["9L1", "8L1", "8V", "7L5", "7V", "7S43", "7S46", "6L5", "6S31", "5L1", "4L1", "3L1", "3S1", "3S2", "3S3", "3S4", "3S5", "3S10"], + happyhour: ["7S45", "7S46", "6S40"], + headbutt: ["8V", "7V", "5S28", "4T"], + heartstamp: ["6S34"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + holdhands: ["7S44", "7S45", "6S33", "6S34", "6S35", "6S40", "6S42"], + irontail: ["9L28", "9S54", "8M", "8V", "7T", "7V", "6T", "6S37", "5T", "5S24", "5S30", "4M", "4S21", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["4S18"], + lightscreen: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L53", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L42", "4S11", "3M", "3L50", "3S0", "3S6", "3S7", "3S8"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "6S32", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + naturalgift: ["4M"], + nuzzle: ["9L1", "8L1", "7L29", "7S47", "6L23", "6S36", "6S38"], + payday: ["8M", "8V", "7V"], + playnice: ["9L1", "9S55", "8L1", "8S50", "7L7", "7S43", "7S44", "7S45", "6L7", "6S31", "6S35", "6S36", "6S38", "6S40", "6S42"], + playrough: ["9M", "9S54", "8M"], + present: ["9S55", "4S12", "4S15", "4S17", "4S18", "4S20", "4S22"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5S27", "4M", "4S14", "4S16", "3M"], + quickattack: ["9L1", "9S53", "8L1", "8V", "8S50", "7L10", "7V", "7S43", "7S46", "7S49", "6L10", "6S31", "6S32", "6S33", "6S34", "6S37", "5L13", "5S24", "5S25", "5S29", "5S30", "4L13", "4S11", "4S12", "4S15", "4S17", "4S18", "4S20", "4S21", "4S22", "3L11"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "8M", "8V", "7V"], + refresh: ["7S48"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4S19", "3M"], + return: ["7M", "7V", "7S44", "6M", "6S42", "5M", "4M", "3M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["8S52", "5S23"], + skullbash: ["7V"], + slam: ["8L28", "8V", "7L37", "7V", "7S47", "6L26", "5L26", "4L21", "3L20"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "4S19", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "4S19", "3T"], + spark: ["9L20", "8L20", "7L26", "6L26"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "6S35", "5M", "4M", "3T"], + surf: ["9M", "9S54", "8M", "7S47", "7S49", "6S33", "6S41", "4S9", "4S11", "4S14", "4S16", "3S3", "3S5", "3S7"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L1", "8L1", "6S36"], + sweetscent: ["7S48"], + swift: ["9M", "8M", "8S51", "7V", "4T", "3T"], + tailwhip: ["9L1", "9S53", "8L1", "8V", "7L1", "7V", "6L1", "6S38", "5L5", "5S28", "4L5", "4S9", "4S12", "4S15", "4S17", "4S20", "4S22", "3L6", "3S1", "3S2", "3S3", "3S4", "3S10"], + takedown: ["9M", "7V"], + teeterdance: ["7S45", "6S38", "5S23"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "9S54", "8M", "8L44", "8V", "7M", "7L58", "7V", "6M", "6L50", "6S35", "5M", "5L50", "5S25", "4M", "4L45", "4S14", "4S16", "3M", "3L41", "3S0", "3S6", "3S7", "3S8"], + thunderbolt: ["9M", "9L36", "9S55", "8M", "8L36", "8V", "8S51", "7M", "7L42", "7V", "7S49", "6M", "6L29", "6S33", "6S34", "6S37", "5M", "5L29", "5S26", "5S27", "5S30", "4M", "4L26", "4S11", "4S13", "4S18", "4S21", "3M", "3L26", "3S0", "3S6", "3S7", "3S8"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thundershock: ["9L1", "9S53", "8L1", "8V", "8S50", "7L1", "7V", "7S46", "6L1", "5L1", "5S28", "4L1", "4S12", "4S15", "4S20", "4S22", "3L1", "3S1", "3S5", "3S10"], + thunderwave: ["9M", "9L4", "8M", "8L4", "8V", "7M", "7L18", "7V", "6M", "6L13", "5M", "5L10", "5S28", "4M", "4L10", "4S9", "4S17", "3T", "3L8", "3S1", "3S2", "3S3", "3S4", "3S5", "3S10"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M", "5S29"], + volttackle: ["7T", "6S39", "5S25", "5S29", "4S9", "4S21"], + wildcharge: ["9M", "8M", "7M", "7L50", "6M", "6L50", "5M"], + wish: ["8S51"], + yawn: ["4S19"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["thunderbolt", "agility", "thunder", "lightscreen"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["thundershock", "growl", "tailwhip", "thunderwave"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["fly", "tailwhip", "growl", "thunderwave"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["surf", "growl", "tailwhip", "thunderwave"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["fly", "growl", "tailwhip", "thunderwave"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["thundershock", "growl", "thunderwave", "surf"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["thunderbolt", "thunder", "lightscreen", "fly"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["thunderbolt", "thunder", "lightscreen", "surf"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["thunderbolt", "thunder", "lightscreen", "agility"], pokeball: "pokeball"}, + {generation: 4, level: 10, gender: "F", nature: "Hardy", moves: ["surf", "volttackle", "tailwhip", "thunderwave"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["thundershock", "growl", "tailwhip", "thunderwave"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Hardy", moves: ["surf", "thunderbolt", "lightscreen", "quickattack"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "F", nature: "Bashful", moves: ["present", "quickattack", "thundershock", "tailwhip"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "M", nature: "Jolly", moves: ["grassknot", "thunderbolt", "flash", "doubleteam"], pokeball: "pokeball"}, + {generation: 4, level: 40, gender: "M", nature: "Modest", moves: ["surf", "thunder", "protect"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "F", nature: "Bashful", moves: ["quickattack", "thundershock", "tailwhip", "present"], pokeball: "cherishball"}, + {generation: 4, level: 40, gender: "M", nature: "Mild", moves: ["surf", "thunder", "protect"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "F", nature: "Bashful", moves: ["present", "quickattack", "thunderwave", "tailwhip"], pokeball: "cherishball"}, + {generation: 4, level: 30, gender: "M", nature: "Naughty", moves: ["lastresort", "present", "thunderbolt", "quickattack"], pokeball: "cherishball"}, + {generation: 4, level: 50, gender: "M", nature: "Relaxed", moves: ["rest", "sleeptalk", "yawn", "snore"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "M", nature: "Docile", moves: ["present", "quickattack", "thundershock", "tailwhip"], pokeball: "cherishball"}, + {generation: 4, level: 50, gender: "M", nature: "Naughty", moves: ["volttackle", "irontail", "quickattack", "thunderbolt"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "M", nature: "Bashful", moves: ["present", "quickattack", "thundershock", "tailwhip"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "F", isHidden: true, moves: ["sing", "teeterdance", "encore", "electroball"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["fly", "irontail", "electroball", "quickattack"], pokeball: "cherishball"}, + {generation: 5, level: 100, shiny: 1, gender: "F", moves: ["thunder", "volttackle", "grassknot", "quickattack"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, gender: "F", moves: ["extremespeed", "thunderbolt", "grassknot", "brickbreak"], pokeball: "cherishball"}, + {generation: 5, level: 50, gender: "F", nature: "Timid", isHidden: true, moves: ["fly", "thunderbolt", "grassknot", "protect"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["thundershock", "tailwhip", "thunderwave", "headbutt"]}, + {generation: 5, level: 100, gender: "M", isHidden: true, moves: ["volttackle", "quickattack", "feint", "voltswitch"], pokeball: "cherishball"}, + {generation: 5, level: 50, gender: "M", nature: "Brave", moves: ["thunderbolt", "quickattack", "irontail", "electroball"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["celebrate", "growl", "playnice", "quickattack"], pokeball: "cherishball"}, + {generation: 6, level: 22, moves: ["quickattack", "electroball", "doubleteam", "megakick"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["thunderbolt", "quickattack", "surf", "holdhands"], pokeball: "cherishball"}, + {generation: 6, level: 10, gender: "F", moves: ["thunderbolt", "quickattack", "heartstamp", "holdhands"], pokeball: "healball"}, + {generation: 6, level: 36, shiny: true, isHidden: true, moves: ["thunder", "substitute", "playnice", "holdhands"], pokeball: "cherishball"}, + {generation: 6, level: 10, gender: "F", moves: ["playnice", "charm", "nuzzle", "sweetkiss"], pokeball: "cherishball"}, + {generation: 6, level: 50, gender: "M", nature: "Naughty", moves: ["thunderbolt", "quickattack", "irontail", "electroball"], pokeball: "cherishball"}, + {generation: 6, level: 10, shiny: true, moves: ["teeterdance", "playnice", "tailwhip", "nuzzle"], pokeball: "cherishball"}, + {generation: 6, level: 10, perfectIVs: 2, isHidden: true, moves: ["fakeout", "encore", "volttackle", "endeavor"], pokeball: "cherishball"}, + {generation: 6, level: 99, moves: ["happyhour", "playnice", "holdhands", "flash"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["fly", "surf", "agility", "celebrate"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["bestow", "holdhands", "return", "playnice"], pokeball: "healball"}, + {generation: 7, level: 10, nature: "Jolly", moves: ["celebrate", "growl", "playnice", "quickattack"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["bestow", "holdhands", "return", "playnice"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["holdhands", "playnice", "teeterdance", "happyhour"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["growl", "quickattack", "thundershock", "happyhour"], pokeball: "cherishball"}, + {generation: 7, level: 40, shiny: 1, perfectIVs: 3, moves: ["nuzzle", "discharge", "slam", "surf"], pokeball: "pokeball"}, + {generation: 7, level: 5, moves: ["celebrate", "sweetscent", "counter", "refresh"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["fly", "surf", "thunderbolt", "quickattack"], pokeball: "cherishball"}, + {generation: 8, level: 5, gender: "M", nature: "Serious", moves: ["celebrate", "playnice", "thundershock", "quickattack"], pokeball: "cherishball"}, + {generation: 8, level: 21, gender: "M", nature: "Brave", moves: ["thunderbolt", "swift", "wish", "celebrate"], pokeball: "cherishball"}, + {generation: 8, level: 25, isHidden: true, moves: ["sing", "encore", "celebrate", "electroball"], pokeball: "cherishball"}, + {generation: 9, level: 5, moves: ["fly", "tailwhip", "thundershock", "quickattack"], pokeball: "pokeball"}, + {generation: 9, level: 100, gender: "M", nature: "Quiet", perfectIVs: 6, isHidden: true, moves: ["thunder", "surf", "playrough", "irontail"], pokeball: "pokeball"}, + {generation: 9, level: 25, gender: "M", ivs: {hp: 25, atk: 25, def: 25, spa: 25, spd: 25, spe: 25}, moves: ["celebrate", "playnice", "present", "thunderbolt"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 4}, + {generation: 3, level: 3}, + ], + }, + pikachucosplay: { + learnset: { + agility: ["6L45"], + attract: ["6M"], + brickbreak: ["6M"], + chargebeam: ["6M"], + confide: ["6M"], + covet: ["6T"], + dig: ["6M"], + discharge: ["6L34"], + doubleteam: ["6M", "6L23"], + echoedvoice: ["6M"], + electroball: ["6L13", "6S0"], + electroweb: ["6T"], + facade: ["6M"], + feint: ["6L21"], + flash: ["6M"], + fling: ["6M"], + focuspunch: ["6T"], + frustration: ["6M"], + grassknot: ["6M"], + growl: ["6L5"], + helpinghand: ["6T"], + hiddenpower: ["6M"], + irontail: ["6T"], + knockoff: ["6T"], + lightscreen: ["6M", "6L53"], + magnetrise: ["6T"], + nuzzle: ["6L29"], + playnice: ["6L7"], + protect: ["6M"], + quickattack: ["6L10", "6S0"], + raindance: ["6M"], + rest: ["6M"], + return: ["6M"], + rocksmash: ["6M"], + round: ["6M"], + secretpower: ["6M"], + shockwave: ["6T"], + signalbeam: ["6T"], + slam: ["6L37"], + sleeptalk: ["6M"], + snore: ["6T"], + spark: ["6L26"], + strength: ["6M"], + substitute: ["6M"], + swagger: ["6M"], + tailwhip: ["6L1"], + thunder: ["6M", "6L58"], + thunderbolt: ["6M", "6L42"], + thunderpunch: ["6T"], + thundershock: ["6L1", "6S0"], + thunderwave: ["6M", "6L18", "6S0"], + toxic: ["6M"], + voltswitch: ["6M"], + wildcharge: ["6M", "6L50"], + }, + eventData: [ + {generation: 6, level: 20, perfectIVs: 3, moves: ["quickattack", "electroball", "thunderwave", "thundershock"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachurockstar: { + learnset: { + meteormash: ["6R"], + }, + eventOnly: true, + }, + pikachubelle: { + learnset: { + iciclecrash: ["6R"], + }, + eventOnly: true, + }, + pikachupopstar: { + learnset: { + drainingkiss: ["6R"], + }, + eventOnly: true, + }, + pikachuphd: { + learnset: { + electricterrain: ["6R"], + }, + eventOnly: true, + }, + pikachulibre: { + learnset: { + flyingpress: ["6R"], + }, + eventOnly: true, + }, + pikachuoriginal: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "7L45", "7S0"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], + charge: ["9M", "8E"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32", "7L34"], + doubleteam: ["9L8", "8L8", "7M", "7L23"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L13"], + electroweb: ["8M", "8S1", "7T"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21"], + flail: ["8E"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L5"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + irontail: ["9L28", "8M", "8S1", "7T"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L53"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1", "7L29"], + payday: ["8M"], + playnice: ["9L1", "8L1", "7L7"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "8S1", "7L10", "7S0"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slam: ["8L28", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L20", "8L20", "7L26"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44", "7M", "7L58", "7S0"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "7M", "7L42", "7S0"], + thunderpunch: ["9M", "8M", "7T"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "9L4", "8M", "8L4", "7M", "7L18"], + tickle: ["8E"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + volttackle: ["8S1", "7T"], + wildcharge: ["9M", "8M", "7M", "7L50"], + wish: ["8E"], + }, + eventData: [ + {generation: 7, level: 1, nature: "Hardy", moves: ["thunderbolt", "quickattack", "thunder", "agility"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachuhoenn: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "7L45"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], + charge: ["9M", "8E"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32", "7L34"], + doubleteam: ["9L8", "8L8", "7M", "7L23"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L13"], + electroweb: ["8M", "8S1", "7T"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21"], + flail: ["8E"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L5"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + irontail: ["9L28", "8M", "8S1", "7T", "7S0"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L53"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1", "7L29"], + payday: ["8M"], + playnice: ["9L1", "8L1", "7L7"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "8S1", "7L10", "7S0"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slam: ["8L28", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L20", "8L20", "7L26"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44", "7M", "7L58", "7S0"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "7M", "7L42", "7S0"], + thunderpunch: ["9M", "8M", "7T"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "9L4", "8M", "8L4", "7M", "7L18"], + tickle: ["8E"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + volttackle: ["8S1", "7T"], + wildcharge: ["9M", "8M", "7M", "7L50"], + wish: ["8E"], + }, + eventData: [ + {generation: 7, level: 6, nature: "Hardy", moves: ["thunderbolt", "quickattack", "thunder", "irontail"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachusinnoh: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "7L45"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], + charge: ["9M", "8E"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32", "7L34"], + doubleteam: ["9L8", "8L8", "7M", "7L23"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L13"], + electroweb: ["8M", "8S1", "7T"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21"], + flail: ["8E"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L5"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + irontail: ["9L28", "8M", "8S1", "7T", "7S0"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L53"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1", "7L29"], + payday: ["8M"], + playnice: ["9L1", "8L1", "7L7"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "8S1", "7L10", "7S0"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slam: ["8L28", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L20", "8L20", "7L26"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44", "7M", "7L58"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "7M", "7L42", "7S0"], + thunderpunch: ["9M", "8M", "7T"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "9L4", "8M", "8L4", "7M", "7L18"], + tickle: ["8E"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + volttackle: ["8S1", "7T", "7S0"], + wildcharge: ["9M", "8M", "7M", "7L50"], + wish: ["8E"], + }, + eventData: [ + {generation: 7, level: 10, nature: "Hardy", moves: ["thunderbolt", "quickattack", "irontail", "volttackle"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachuunova: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "7L45"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], + charge: ["9M", "8E"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32", "7L34"], + doubleteam: ["9L8", "8L8", "7M", "7L23"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L13"], + electroweb: ["8M", "8S1", "7T"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21"], + flail: ["8E"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L5"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + irontail: ["9L28", "8M", "8S1", "7T", "7S0"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L53"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1", "7L29"], + payday: ["8M"], + playnice: ["9L1", "8L1", "7L7"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "8S1", "7L10", "7S0"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slam: ["8L28", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L20", "8L20", "7L26"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44", "7M", "7L58"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "7M", "7L42", "7S0"], + thunderpunch: ["9M", "8M", "7T"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "9L4", "8M", "8L4", "7M", "7L18"], + tickle: ["8E"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + volttackle: ["8S1", "7T", "7S0"], + wildcharge: ["9M", "8M", "7M", "7L50"], + wish: ["8E"], + }, + eventData: [ + {generation: 7, level: 14, nature: "Hardy", moves: ["thunderbolt", "quickattack", "irontail", "volttackle"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachukalos: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "7L45"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], + charge: ["9M", "8E"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32", "7L34"], + doubleteam: ["9L8", "8L8", "7M", "7L23"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L13", "7S0"], + electroweb: ["8M", "8S1", "7T"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21"], + flail: ["8E"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L5"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + irontail: ["9L28", "8M", "8S1", "7T", "7S0"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L53"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1", "7L29"], + payday: ["8M"], + playnice: ["9L1", "8L1", "7L7"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "8S1", "7L10", "7S0"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slam: ["8L28", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L20", "8L20", "7L26"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44", "7M", "7L58"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "7M", "7L42", "7S0"], + thunderpunch: ["9M", "8M", "7T"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "9L4", "8M", "8L4", "7M", "7L18"], + tickle: ["8E"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + volttackle: ["8S1", "7T"], + wildcharge: ["9M", "8M", "7M", "7L50"], + wish: ["8E"], + }, + eventData: [ + {generation: 7, level: 17, nature: "Hardy", moves: ["thunderbolt", "quickattack", "irontail", "electroball"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachualola: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "7L45"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], + charge: ["9M", "8E"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32", "7L34"], + doubleteam: ["9L8", "8L8", "7M", "7L23"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L13", "7S0"], + electroweb: ["8M", "8S1", "7T"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21"], + flail: ["8E"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L5"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + irontail: ["9L28", "8M", "8S1", "7T", "7S0"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L53"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1", "7L29"], + payday: ["8M"], + playnice: ["9L1", "8L1", "7L7"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "8S1", "7L10", "7S0"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slam: ["8L28", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L20", "8L20", "7L26"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44", "7M", "7L58"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "7M", "7L42", "7S0"], + thunderpunch: ["9M", "8M", "7T"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "9L4", "8M", "8L4", "7M", "7L18"], + tickle: ["8E"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + volttackle: ["8S1", "7T"], + wildcharge: ["9M", "8M", "7M", "7L50"], + wish: ["8E"], + }, + eventData: [ + {generation: 7, level: 20, nature: "Hardy", moves: ["thunderbolt", "quickattack", "irontail", "electroball"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachupartner: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24", "7L45"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M"], + charge: ["9M", "8E"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32", "7L34"], + doubleteam: ["9L8", "8L8", "7M", "7L23"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L13"], + electroweb: ["8M", "8S1", "7T"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16", "7L21"], + flail: ["8E"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L5"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + irontail: ["9L28", "8M", "8S1", "7T", "7S0"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L53"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1", "7L29"], + payday: ["8M"], + playnice: ["9L1", "8L1", "7L7"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "8S1", "7L10", "7S0"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slam: ["8L28", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L20", "8L20", "7L26"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44", "7M", "7L58", "7S0"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "7M", "7L42", "7S0"], + thunderpunch: ["9M", "8M", "7T"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "9L4", "8M", "8L4", "7M", "7L18"], + tickle: ["8E"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + volttackle: ["8S1", "7T"], + wildcharge: ["9M", "8M", "7M", "7L50"], + wish: ["8E"], + }, + eventData: [ + {generation: 7, level: 21, shiny: 1, nature: "Hardy", moves: ["thunderbolt", "quickattack", "thunder", "irontail"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachustarter: { + learnset: { + agility: ["8V", "7L27"], + brickbreak: ["8V", "7M"], + calmmind: ["8V", "7M"], + dig: ["8V", "7M"], + doublekick: ["8V", "7L9"], + doubleteam: ["8V", "7L12"], + facade: ["8V", "7M"], + floatyfall: ["8V", "7T"], + growl: ["8V", "7L1", "7S0"], + headbutt: ["8V", "7M"], + helpinghand: ["8V", "7M"], + irontail: ["8V", "7M"], + lightscreen: ["8V", "7M", "7L18"], + payday: ["8V", "7M"], + pikapapow: ["8V", "7T"], + protect: ["8V", "7M"], + quickattack: ["8V", "7L6"], + reflect: ["8V", "7M"], + rest: ["8V", "7M"], + seismictoss: ["8V", "7M"], + slam: ["8V", "7L24"], + splishysplash: ["8V", "7T"], + substitute: ["8V", "7M"], + tailwhip: ["8V", "7L3", "7S0"], + thunder: ["8V", "7M", "7L30"], + thunderbolt: ["8V", "7M", "7L21"], + thunderpunch: ["8V", "7M"], + thundershock: ["8V", "7L1", "7S0"], + thunderwave: ["8V", "7M", "7L15"], + toxic: ["8V", "7M"], + zippyzap: ["8V", "7T"], + }, + eventData: [ + {generation: 7, level: 5, perfectIVs: 6, moves: ["thundershock", "tailwhip", "growl"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + pikachuworld: { + learnset: { + agility: ["9M", "9L24", "8M", "8L24"], + attract: ["8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + charge: ["8E"], + chargebeam: ["9M"], + charm: ["9M", "9L1", "8M", "8L1"], + dig: ["9M", "8M"], + disarmingvoice: ["9M", "8E"], + discharge: ["9L32", "8L32"], + doubleteam: ["9L8", "8L8"], + drainingkiss: ["9M", "8M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L12", "8M", "8L12"], + electroweb: ["8M", "8S1", "8S0"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["8E"], + faketears: ["9M"], + feint: ["9L16", "8L16"], + flail: ["8E"], + fling: ["9M", "8M"], + grassknot: ["9M", "8M"], + growl: ["9L1", "8L1"], + helpinghand: ["9M", "8M"], + irontail: ["9L28", "8M", "8S1", "8S0"], + lightscreen: ["9M", "9L40", "8M", "8L40"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1"], + payday: ["8M"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + present: ["8E"], + protect: ["9M", "8M"], + quickattack: ["9L1", "8L1", "8S1", "8S0"], + raindance: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M"], + slam: ["8L28"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spark: ["9L20", "8L20"], + substitute: ["9M", "8M"], + surf: ["9M", "8M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "9L44", "8M", "8L44"], + thunderbolt: ["9M", "9L36", "8M", "8L36", "8S1", "8S0"], + thunderpunch: ["9M", "8M"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "9L4", "8M", "8L4"], + tickle: ["8E"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M"], + volttackle: ["8S0"], + wildcharge: ["9M", "8M"], + wish: ["8E"], + }, + eventData: [ + {generation: 8, level: 25, nature: "Hardy", moves: ["thunderbolt", "quickattack", "irontail", "electroweb", "volttackle"], pokeball: "pokeball"}, + {generation: 8, level: 80, nature: "Hardy", ivs: {hp: 31, atk: 30, def: 30, spa: 31, spd: 30, spe: 31}, moves: ["thunderbolt", "quickattack", "irontail", "electroweb"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + raichu: { + learnset: { + agility: ["9M", "9L1", "8M", "8L1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M"], + calmmind: ["8V"], + captivate: ["4M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M"], + discharge: ["9L1", "8L1"], + doubleedge: ["7V", "3T"], + doubleteam: ["9L1", "8L1", "7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L1", "8M", "8L1"], + electroweb: ["8M", "7T", "6T"], + encore: ["9M", "8M", "8V"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8V"], + faketears: ["9M"], + feint: ["9L1", "8L1"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V", "7V"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["9L1", "8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L1", "8M", "8L1", "8V", "7M", "6M", "5M", "4M", "3M"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + naturalgift: ["4M"], + nuzzle: ["9L1", "8L1"], + payday: ["8M", "8V", "7V"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "8M", "8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + slam: ["8L1"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spark: ["9L1", "8L1"], + speedswap: ["8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "9L5", "8M", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + thunderpunch: ["9M", "9L0", "8M", "8L0", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thundershock: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + }, + raichualola: { + learnset: { + agility: ["9M", "9L1", "8M", "8L1"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "8V", "7M"], + calmmind: ["9M", "8M", "8V", "7M"], + charge: ["9M"], + chargebeam: ["9M", "7M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M"], + covet: ["7T"], + dig: ["9M", "8M", "8V"], + discharge: ["9L1", "8L1"], + doubleteam: ["9L1", "8L1", "8V", "7M"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L1", "8M", "8L1"], + electroweb: ["8M", "7T"], + encore: ["9M", "8M", "8V"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "8V", "7M"], + fakeout: ["8V"], + faketears: ["9M"], + feint: ["9L1", "8L1"], + fling: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + futuresight: ["8M"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "8V"], + headbutt: ["8V"], + helpinghand: ["9M", "8M", "8V", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "8V", "7M"], + irontail: ["9L1", "8M", "8V", "7T"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L1", "8M", "8L1", "8V", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nuzzle: ["9L1", "8L1"], + payday: ["8M", "8V"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "8V", "7M"], + psychic: ["9M", "9L0", "8M", "8L0", "8V", "7M", "7L1"], + psychicterrain: ["9M"], + psyshock: ["9M", "8M", "7M"], + quickattack: ["9L1", "8L1", "7L1"], + raindance: ["9M", "8M", "7M"], + recycle: ["7T"], + reflect: ["9M", "8M", "8V", "7M"], + rest: ["9M", "8M", "8V", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seismictoss: ["8V"], + shockwave: ["7T"], + signalbeam: ["7T"], + skillswap: ["9M"], + slam: ["8L1"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L1", "8L1"], + speedswap: ["8M", "7L1"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "8V", "7M"], + surf: ["9M", "8M"], + swagger: ["7M"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1", "8V", "7L1"], + takedown: ["9M"], + telekinesis: ["7T"], + teleport: ["8V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + thunder: ["9M", "9L1", "8M", "8L1", "8V", "7M"], + thunderbolt: ["9M", "9L5", "8M", "8L1", "8V", "7M", "7L1"], + thunderpunch: ["9M", "8M", "8V", "7T"], + thundershock: ["9L1", "8L1", "8V", "7L1"], + thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M"], + toxic: ["8V", "7M"], + trailblaze: ["9M"], + uproar: ["8M"], + voltswitch: ["9M", "8M", "7M"], + wildcharge: ["9M", "8M", "7M"], + }, + }, + sandshrew: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L27", "8M", "8L27"], + amnesia: ["9M", "8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], + covet: ["7T", "6T", "5T"], + crushclaw: ["7E", "6E", "5E", "4E", "3E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L3", "4L3", "3T", "3L6", "3S0"], + detect: ["7V"], + dig: ["9M", "9L33", "8M", "8L33", "8V", "7L30", "7V", "6M", "6L30", "5M", "5L30", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L45", "8M", "8L45", "8V", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "3M"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M"], + fissure: ["7V"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["9L12", "8L12", "7L11", "7V", "6L11", "5L25", "4T", "4L25", "3T"], + furyswipes: ["9L24", "8L24", "8V", "7L20", "7V", "6L20", "5L19", "4L19", "3L37"], + gyroball: ["9M", "9L36", "8M", "8L36", "7M", "7L34", "6M", "6L34", "5M", "5L33", "4M", "4L33"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + honeclaws: ["9E", "8E", "7E", "6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + leechlife: ["9M", "8M"], + lowkick: ["9M"], + magnitude: ["7L14", "6L14", "5L17"], + metalclaw: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + mimic: ["7V", "3T"], + mudshot: ["9M", "8M", "7E", "6E", "5E", "4E"], + mudslap: ["9M", "9E", "8E", "7V", "4T", "3T"], + naturalgift: ["4M"], + nightslash: ["9E", "8E", "7E", "6E", "5E", "4E"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + poisonsting: ["9L3", "8L3", "8V", "7L5", "7V", "6L5", "5L9", "4L9", "3L17", "3S0"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + rapidspin: ["9L15", "8L15", "7L9", "7E", "7V", "6L9", "6E", "5L13", "5E", "4L13", "4E", "3E"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["7E", "6E", "5E", "4M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L9", "8L9", "7L7", "7V", "6L7", "5L21", "4T", "4L21", "3T"], + rototiller: ["7E", "6E"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + sandattack: ["9L6", "8L6", "8V", "7L3", "7V", "6L3", "5L7", "5D", "4L7", "3L11", "3S0"], + sandstorm: ["9M", "9L42", "8M", "8L42", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L37", "4M", "4L37", "3M", "3L53"], + sandtomb: ["9M", "8M", "7L23", "6L23", "5L27", "4L27", "3L45"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + skullbash: ["7V"], + slash: ["9L30", "8L30", "8V", "7L26", "7V", "6L26", "5L31", "4L31", "3L23"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikes: ["9M"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + steelroller: ["8T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "5D", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L21", "8M", "8L21", "8V", "7L17", "7V", "6L11", "5L15", "4T", "4L15", "3T", "3L30"], + swordsdance: ["9M", "9L39", "8M", "8L39", "8V", "7M", "7L38", "7V", "6M", "6L38", "5M", "5L38", "4M", "4E", "3T", "3E"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + workup: ["8M"], + xscissor: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 12, gender: "M", nature: "Docile", ivs: {hp: 4, atk: 23, def: 8, spa: 31, spd: 1, spe: 25}, moves: ["scratch", "defensecurl", "sandattack", "poisonsting"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 6}, + ], + }, + sandshrewalola: { + learnset: { + aerialace: ["9M", "7M"], + amnesia: ["9M", "8M", "7E"], + aquatail: ["7T"], + attract: ["8M", "7M"], + auroraveil: ["7M"], + avalanche: ["9M", "8M"], + bide: ["8V", "7L3", "7S0"], + blizzard: ["9M", "9L45", "8M", "8L45", "8V", "7M", "7L46"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "8V", "7M"], + bulldoze: ["9M", "8M", "7M"], + chipaway: ["7E"], + confide: ["7M"], + counter: ["9E", "8E", "7E"], + covet: ["7T"], + crushclaw: ["9E", "8E", "7E"], + curse: ["9E", "8E", "7E"], + defensecurl: ["9L1", "8L1", "8V", "7L1"], + dig: ["9M", "8M", "8V"], + doubleteam: ["7M"], + earthquake: ["9M", "8M", "8V", "7M"], + endure: ["9M", "8M", "7E"], + facade: ["9M", "8M", "8V", "7M"], + flail: ["9E", "8E", "7E"], + flashcannon: ["9M"], + fling: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frostbreath: ["7M"], + frustration: ["7M"], + furycutter: ["9L12", "8L12", "7L11"], + furyswipes: ["9L24", "8L24", "8V", "7L20"], + gyroball: ["9M", "9L36", "8M", "8L36", "7M", "7L34"], + hail: ["8M", "8L42", "7M", "7L42"], + headbutt: ["8V"], + hiddenpower: ["7M"], + honeclaws: ["9E", "8E", "7E"], + iceball: ["7L7", "7S0"], + icebeam: ["9M", "8V"], + icepunch: ["9M", "8M", "8V", "7T"], + iceshard: ["9E", "8V"], + icespinner: ["9M"], + iciclecrash: ["7E"], + iciclespear: ["9M", "8M", "7E"], + icywind: ["9M", "8M", "7T"], + irondefense: ["9M", "9L27", "8M", "8L27", "7T", "7L23"], + ironhead: ["9M", "9L33", "8M", "8L33", "7T", "7L30"], + irontail: ["8M", "8V", "7T"], + knockoff: ["9M", "7T"], + leechlife: ["9M", "8M", "7M"], + lowkick: ["9M"], + metalclaw: ["9M", "9L18", "8L18", "7L14", "7E"], + mirrorcoat: ["9E", "8V"], + mist: ["9L3", "8L3"], + nightslash: ["9E", "8E", "7E"], + poisonjab: ["9M", "8M", "8V", "7M"], + powdersnow: ["9L6", "8L6", "7L5", "7S0"], + protect: ["9M", "8M", "8V", "7M"], + rapidspin: ["9L15", "8L15", "7L9", "7S0"], + rest: ["9M", "8M", "8V", "7M"], + return: ["7M"], + rockslide: ["9M", "8M", "8V", "7M"], + rocktomb: ["9M", "8M"], + rollout: ["9L9", "8L9"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scratch: ["9L1", "8L1", "8V", "7L1"], + seismictoss: ["8V"], + shadowclaw: ["9M", "8M", "7M"], + slash: ["9L30", "8L30", "8V", "7L26"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M", "9L42"], + stealthrock: ["9M", "8M", "8V", "7T"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + substitute: ["9M", "8M", "8V", "7M"], + sunnyday: ["8M", "7M"], + superfang: ["9M", "7T"], + swagger: ["7M"], + swift: ["9M", "9L21", "8M", "8L21", "8V", "7L17"], + swordsdance: ["9M", "9L39", "8M", "8L39", "8V", "7M", "7L38"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M"], + tripleaxel: ["8T"], + workup: ["8M", "7M"], + xscissor: ["9M", "8M", "8V", "7M"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["rapidspin", "iceball", "powdersnow", "bide"], pokeball: "cherishball"}, + ], + }, + sandslash: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M"], + amnesia: ["9M", "8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["8V", "3T"], + covet: ["7T", "6T", "5T"], + crushclaw: ["9L1", "8L1", "7L1", "6L22", "5L22", "4L22"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + detect: ["7V"], + dig: ["9M", "9L41", "8M", "8L41", "8V", "7L33", "7V", "6M", "6L30", "5M", "5L30", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["9M", "8M", "8V"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L61", "8M", "8L61", "8V", "7M", "7L53", "7V", "6M", "6L46", "5M", "5L46", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M"], + fissure: ["7V"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["9L12", "8L12", "7L11", "7V", "6L11", "5L28", "4T", "4L28", "3T"], + furyswipes: ["9L26", "8L26", "8V", "7L20", "7V", "6L20", "5L19", "4L19", "3L42"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M"], + gyroball: ["9M", "9L46", "8M", "8L46", "7M", "7L38", "6M", "6L34", "5M", "5L45", "4M", "4L45"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + leechlife: ["9M", "8M"], + lowkick: ["9M"], + magnitude: ["7L14", "6L14", "5L17"], + metalclaw: ["9M"], + mimic: ["7V", "3T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + pinmissile: ["8M"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + poisonsting: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L9", "4L9", "3L17"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + rapidspin: ["9L15", "8L15", "7L9", "6L9", "5L13", "4L13"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L9", "8L9", "7L7", "7V", "6L7", "5L21", "4T", "4L21", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sandstorm: ["9M", "9L56", "8M", "8L56", "7M", "7L48", "7V", "6M", "6L42", "5M", "5L52", "4M", "4L52", "3M", "3L62"], + sandtomb: ["9M", "9L31", "8M", "8L31", "7L24", "6L23", "5L33", "4L33", "3L52"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + skullbash: ["7V"], + slash: ["9L36", "8L36", "8V", "7L28", "7V", "6L26", "5L40", "4L40", "3L24"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikes: ["9M", "8M"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + steelroller: ["8T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L21", "8M", "8L21", "8V", "7L17", "7V", "6L11", "5L15", "4T", "4L15", "3T", "3L33"], + swordsdance: ["9M", "9L51", "8M", "8L51", "8V", "7M", "7L43", "7V", "6M", "6L38", "5M", "5L38", "4M", "3T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + workup: ["8M"], + xscissor: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 2, level: 10}, + {generation: 4, level: 10}, + ], + }, + sandslashalola: { + learnset: { + aerialace: ["9M", "7M"], + agility: ["9M", "8M"], + amnesia: ["9M", "8M"], + aquatail: ["7T"], + attract: ["8M", "7M"], + auroraveil: ["7M"], + avalanche: ["9M", "8M"], + bide: ["8V"], + blizzard: ["9M", "9L1", "8M", "8L1", "8V", "7M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "8V", "7M"], + bulldoze: ["9M", "8M", "7M"], + confide: ["7M"], + counter: ["8V"], + covet: ["7T"], + defensecurl: ["9L1", "8L1", "8V", "7L1"], + dig: ["9M", "8M", "8V"], + doubleteam: ["7M"], + drillrun: ["9M", "8M", "8V", "7T"], + earthquake: ["9M", "8M", "8V", "7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "8V", "7M"], + falseswipe: ["9M"], + flashcannon: ["9M"], + fling: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frostbreath: ["7M"], + frustration: ["7M"], + furycutter: ["9L1", "8L1"], + furyswipes: ["9L1", "8L1"], + gigaimpact: ["9M", "8M", "7M"], + gyroball: ["9M", "9L1", "8M", "8L1", "7M"], + hail: ["8M", "8L1", "7M"], + headbutt: ["8V"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "8V", "7M"], + iceball: ["7L1"], + icebeam: ["9M", "8V"], + icepunch: ["9M", "8M", "8V", "7T"], + iceshard: ["8V"], + icespinner: ["9M"], + iciclecrash: ["9L1", "8L1", "7L1"], + iciclespear: ["9M", "9L0", "8M", "8L0", "7L1"], + icywind: ["9M", "8M", "7T"], + irondefense: ["9M", "9L1", "8M", "8L1", "7T"], + ironhead: ["9M", "9L1", "8M", "8L1", "7T"], + irontail: ["8M", "8V", "7T"], + knockoff: ["9M", "7T"], + leechlife: ["9M", "8M", "7M"], + lowkick: ["9M"], + metalburst: ["9L1", "8L1", "7L1"], + metalclaw: ["9M", "9L1", "8L1", "7L1"], + mist: ["9L1", "8L1"], + pinmissile: ["8M"], + poisonjab: ["9M", "8M", "8V", "7M"], + powdersnow: ["9L1", "8L1"], + protect: ["9M", "8M", "8V", "7M"], + rapidspin: ["9L1", "8L1"], + rest: ["9M", "8M", "8V", "7M"], + return: ["7M"], + rockslide: ["9M", "8M", "8V", "7M"], + rocktomb: ["9M", "8M"], + rollout: ["9L1", "8L1"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scratch: ["9L1", "8L1", "8V"], + seismictoss: ["8V"], + shadowclaw: ["9M", "8M", "7M"], + slash: ["9L1", "8L1", "7L1"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M", "9L1"], + spikes: ["9M", "8M"], + stealthrock: ["9M", "8M", "8V", "7T"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + substitute: ["9M", "8M", "8V", "7M"], + sunnyday: ["8M", "7M"], + superfang: ["9M", "7T"], + swagger: ["7M"], + swift: ["9M", "9L1", "8M", "8L1"], + swordsdance: ["9M", "9L1", "8M", "8L1", "7M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M"], + tripleaxel: ["8T"], + workup: ["8M", "7M"], + xscissor: ["9M", "8M", "8V", "7M"], + }, + }, + nidoranf: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + bite: ["8L30", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L20"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + captivate: ["7L43", "6L43", "5L43", "4M", "4L43"], + charm: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + chipaway: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + crunch: ["8M", "8L50", "8V", "7L37", "6L37", "5L37", "4L37", "3L47"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + disable: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + doubleedge: ["7V", "3T"], + doublekick: ["8L25", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L12"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "8L55"], + echoedvoice: ["7M", "6M"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flatter: ["8L45", "7L33", "6L33", "5L33", "4L33", "3L38"], + focusenergy: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["8L15", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L30"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8L35", "8V", "7T", "7L25", "6T", "6L25", "5T", "5L25", "4T", "4L25", "3L23"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + icebeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + poisonfang: ["8E", "7L45", "6L45", "5L45", "4L45"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poisonsting: ["8L1", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L17"], + poisontail: ["8E", "7E", "6E", "5E"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "6E", "5E", "4E"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scratch: ["8L5", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["8E", "7E", "7V", "6E", "5E", "4E"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["5D"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["8V", "7T", "6T", "5T", "5D", "4T"], + supersonic: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7V"], + tailwhip: ["8L10", "8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L8"], + takedown: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8L40", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "8L20", "7L31", "6L31", "5L31", "4L31"], + venomdrench: ["8M", "7E", "6E"], + venoshock: ["8M", "7M", "6M", "5M"], + waterpulse: ["7T", "6T", "4M", "3M"], + }, + encounters: [ + {generation: 1, level: 2}, + ], + }, + nidorina: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M"], + bide: ["7V"], + bite: ["8L36", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L22"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + bubblebeam: ["7V"], + captivate: ["7L50", "6L50", "5L50", "4M", "4L50"], + charm: ["8M"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["8M", "8L64", "8V", "7L43", "6L43", "5L43", "4L43", "3L53"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doublekick: ["8L29", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L12"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "8L71"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flatter: ["8L57", "7L38", "6L38", "5L38", "4L38", "3L43"], + focusenergy: ["8M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["8L15", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L34"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8L43", "8V", "7T", "7L28", "6T", "6L28", "5T", "5L28", "4T", "4L28", "3L26"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + horndrill: ["7V"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + poisonfang: ["7L58", "6L58", "5L58", "4L58"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poisonsting: ["8L1", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L18"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scratch: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stompingtantrum: ["8M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7V"], + tailwhip: ["8L1", "8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L8"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8L50", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "8L22", "7L35", "6L35", "5L35", "4L35"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + }, + encounters: [ + {generation: 4, level: 15, pokeball: "safariball"}, + ], + }, + nidoqueen: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + beatup: ["8M"], + bide: ["7V"], + bite: ["8L1"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "8V", "7L35", "7V", "6L35", "6S0", "5L35", "4L23", "3T", "3L22"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["8M"], + chipaway: ["7L23", "6L23", "5L23"], + confide: ["7M", "6M"], + counter: ["8V", "7V", "3T"], + crunch: ["8M", "8L1"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doublekick: ["8L1", "7L1", "7V", "6L1", "6S0", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], + dragontail: ["8V", "7M", "6M", "5M"], + drillrun: ["8M", "8V", "7T", "6T"], + dynamicpunch: ["7V", "3T"], + earthpower: ["8M", "8L1", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flatter: ["8L1"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["8L1"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "8V"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8L1", "8V", "7T", "6T", "5T", "4T"], + hex: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + honeclaws: ["6M", "5M"], + horndrill: ["7V"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudshot: ["8M"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + payday: ["8M", "8V", "7V"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poisonsting: ["8L1", "8V", "7L1", "7V", "6L1", "6S0", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quash: ["7M", "6M", "5M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + scorchingsands: ["8T"], + scratch: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + superpower: ["8M", "8L0", "8V", "7T", "7L1", "6T", "6L1", "5T", "5L58", "4T", "4L58", "3L43"], + supersonic: ["8V"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7V"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "6S0", "5L1", "4L1", "3L1"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "8L1"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 6, level: 41, perfectIVs: 2, abilities: ["poisonpoint"], moves: ["tailwhip", "doublekick", "poisonsting", "bodyslam"], pokeball: "cherishball"}, + ], + }, + nidoranm: { + learnset: { + amnesia: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + captivate: ["7L43", "6L43", "5L43", "4M", "4L43"], + chipaway: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + confusion: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + counter: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + disable: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + doubleedge: ["7V", "3T"], + doublekick: ["8L25", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L12"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8M", "8V", "7T", "6T", "5T"], + earthpower: ["8M", "8L55"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flatter: ["8L45", "7L33", "6L33", "5L33", "4L33", "3L38"], + focusenergy: ["8M", "8L10", "8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L8"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8L15", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L30"], + headbutt: ["8V", "7V", "4T"], + headsmash: ["8E", "7E", "6E", "5E", "4E"], + helpinghand: ["8M", "8L35", "8V", "7T", "7L25", "6T", "6L25", "5T", "5L25", "4T", "4L25", "3L23"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hornattack: ["8L30", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L20"], + horndrill: ["8E", "8V", "7L45", "7V", "6L45", "5L45", "4L45", "3L47"], + icebeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + peck: ["8L5", "8V", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + poisonjab: ["8M", "8L50", "8V", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L37"], + poisonsting: ["8L1", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L17"], + poisontail: ["8E", "7E", "6E", "5E"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["8E", "7E", "6E", "5E", "4T", "4E"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "5D", "4T"], + supersonic: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7V"], + takedown: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8E"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8L40", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "8L20", "7L31", "6L31", "5L31", "4L31"], + venomdrench: ["8M", "7E", "6E"], + venoshock: ["8M", "7M", "6M", "5M"], + waterpulse: ["7T", "6T", "4M", "3M"], + }, + encounters: [ + {generation: 1, level: 2}, + ], + }, + nidorino: { + learnset: { + amnesia: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + bubblebeam: ["7V"], + captivate: ["7L50", "6L50", "5L50", "4M", "4L50"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doublekick: ["8L29", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L12"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8M", "8V", "7T", "6T", "5T"], + earthpower: ["8M", "8L71"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flatter: ["8L57", "7L38", "6L38", "5L38", "4L38", "3L43"], + focusenergy: ["8M", "8L1", "8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L8"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8L15", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L34"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8L43", "8V", "7T", "7L28", "6T", "6L28", "5T", "5L28", "4T", "4L28", "3L26"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hornattack: ["8L36", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L22"], + horndrill: ["8V", "7L58", "7V", "6L58", "5L58", "4L58", "3L53"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + peck: ["8L1", "8V", "7L1", "6L1", "5L1", "4L1", "3L1"], + poisonjab: ["8M", "8L64", "8V", "7M", "7L43", "6M", "6L43", "5M", "5L43", "4M", "4L43"], + poisonsting: ["8L1", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L18"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stompingtantrum: ["8M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7V"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8L50", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "8L22", "7L35", "6L35", "5L35", "4L35"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + }, + encounters: [ + {generation: 4, level: 15, pokeball: "safariball"}, + ], + }, + nidoking: { + learnset: { + amnesia: ["8M"], + aquatail: ["7T", "7S0", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + beatup: ["8M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L23", "6L23", "5L23"], + confide: ["7M", "6M"], + counter: ["8V", "7V", "3T"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doublekick: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], + dragontail: ["8V", "7M", "6M", "5M"], + drillrun: ["8M", "8V", "7T", "6T", "5T"], + dynamicpunch: ["7V", "3T"], + earthpower: ["8M", "8L1", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + earthquake: ["8M", "8V", "7M", "7V", "7S0", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flatter: ["8L1"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L1", "8V", "7L1", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8L1"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8L1", "8V", "7T", "6T", "5T", "4T"], + hex: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + honeclaws: ["6M", "5M"], + hornattack: ["8L1", "7V"], + horndrill: ["7V"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["8L1", "8V"], + megahorn: ["8M", "8L0", "8V", "7L1", "6L1", "5L58", "4L58", "3L43"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudshot: ["8M"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + payday: ["8M", "8V", "7V"], + peck: ["8L1", "8V", "7L1", "6L1", "5L1", "4L1", "3L1"], + poisonjab: ["8M", "8L1", "8V", "7M", "7S0", "6M", "5M", "4M"], + poisonsting: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quash: ["7M", "6M", "5M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + supersonic: ["8V"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7V"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8V", "7L35", "7V", "6L35", "5L35", "4L23", "3L22"], + throatchop: ["8M", "7T", "7S0"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "8L1"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 7, level: 68, abilities: ["poisonpoint"], moves: ["earthquake", "poisonjab", "throatchop", "aquatail"], pokeball: "cherishball"}, + ], + }, + cleffa: { + learnset: { + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + aromatherapy: ["8E", "7E", "6E", "5E", "5D", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bellydrum: ["7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["9M", "8M", "3T"], + calmmind: ["9M"], + captivate: ["4M"], + charm: ["9M", "9L20", "8M", "8L20", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1", "7L13", "6L13", "5L13", "4L13"], + counter: ["3T"], + covet: ["7T", "7E", "6T", "6E", "5T", "5E", "4E"], + curse: ["7V"], + dazzlinggleam: ["9M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M", "9L12", "8L12"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "9L16", "8M", "8L16", "7L4", "7V", "6L4", "5L4", "5D", "4L4", "3L4"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M", "7E", "6E", "5E", "4E"], + fireblast: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["7V", "4T"], + healpulse: ["9E", "8E", "7E", "6E"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M", "8M", "7L16", "6L16", "5L16", "4L16", "3L17"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + mimic: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], + mistyterrain: ["9M", "8M", "7E", "6E"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + playrough: ["9M", "8M"], + pound: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + present: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["9L4", "8L4", "7L7", "7V", "6L7", "5L7", "4L7", "3L8"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "5D", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + softboiled: ["3T"], + solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + splash: ["9L1", "8L1", "7E", "7V", "6E", "5E", "4E", "3E"], + storedpower: ["9M", "8M", "7E", "6E", "5E"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L8", "8L8", "7L10", "7V", "6L10", "5L10", "4L10", "3L13"], + swift: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + tickle: ["9E", "8E", "7E", "6E", "5E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + }, + clefairy: { + learnset: { + afteryou: ["9L12", "8L12", "7T", "7L58", "6T", "6L1", "5T", "5L52"], + allyswitch: ["8M"], + amnesia: ["9M", "8M", "8V"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "8M"], + bestow: ["7L19", "6L19", "5L25"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "8V", "7L40", "7V", "6L40", "5L40", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + cosmicpower: ["9L40", "8M", "8L40", "7L34", "6L34", "5L28", "4L25", "3L33"], + counter: ["7V", "3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], + defensecurl: ["9L1", "8L1", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3T", "3L25"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M", "9L1", "8L1", "7L1", "6L1"], + doubleedge: ["7V", "3T"], + doubleslap: ["8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L13"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dualwingbeat: ["9M", "8T"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "9L8", "8M", "8L1", "8V", "7L1", "7V", "6L1", "5L4", "4L4", "3L5"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + followme: ["9L36", "8L36", "8S0", "7L16", "6L16", "5L16", "4L16", "3L17"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9L28", "8L28", "7T", "7L49", "6T", "6L49", "5T", "5L37", "4T", "4L34"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + healingwish: ["9L48", "8L48", "7L55", "6L1", "5L49", "4L46"], + helpinghand: ["9M", "8M", "8V", "8S0", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "8S0", "7T", "6T", "5T", "4T"], + imprison: ["9M", "8M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + lifedew: ["9L16", "8L16"], + lightscreen: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5L46", "4M", "4L40", "3M", "3L41"], + luckychant: ["7L37", "6L37", "5L31", "4L28"], + magicalleaf: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + meteorbeam: ["8T"], + meteormash: ["9L32", "8L32", "7L50", "6L50", "5L55", "4L43", "3L45"], + metronome: ["9M", "9L20", "8M", "8L20", "8V", "8S1", "7L31", "7V", "6L31", "5L34", "4L31", "3T", "3L29"], + mimic: ["7V", "3T"], + minimize: ["8L8", "8V", "7L25", "7V", "6L25", "5L19", "4L19", "3L21"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + moonblast: ["9L44", "8L44", "8V", "8S1", "7L46", "6L46"], + moonlight: ["9L24", "8L24", "8S1", "7L43", "7V", "6L43", "5L40", "4L37", "3L37"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M"], + playrough: ["9M", "8M", "8V"], + pound: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "8S0", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["9L1", "8L1", "8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L9"], + skillswap: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + softboiled: ["3T"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + splash: ["9L1", "8L1"], + spotlight: ["7L1"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + storedpower: ["9M", "9L4", "8M", "8L4", "7L28", "6L28", "5L43"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M"], + takedown: ["9M", "7V"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + uproar: ["9M", "8M"], + wakeupslap: ["7L22", "6L22", "5L22", "4L22"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "8S1", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 8, level: 50, gender: "F", shiny: true, nature: "Bold", isHidden: true, ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["followme", "icywind", "helpinghand", "protect"], pokeball: "cherishball"}, + {generation: 8, level: 15, gender: "M", nature: "Modest", abilities: ["cutecharm"], moves: ["metronome", "moonblast", "zenheadbutt", "moonlight"], pokeball: "moonball"}, + ], + encounters: [ + {generation: 1, level: 8}, + ], + }, + clefable: { + learnset: { + afteryou: ["9L1", "8L1", "7T", "6T", "5T"], + allyswitch: ["8M"], + amnesia: ["9M", "8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "8M"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + cosmicpower: ["9L1", "8M", "8L1"], + counter: ["7V", "3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], + defensecurl: ["9L1", "8L1", "8V", "7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M", "9L1", "8L1", "7L1", "6L1"], + doubleedge: ["7V", "3T"], + doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dualwingbeat: ["9M", "8T"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "9L1", "8M", "8L1"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + followme: ["9L1", "8L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9L1", "8L1", "7T", "6T", "5T", "4T"], + growl: ["9L1", "8L1", "8V"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + healingwish: ["9L1", "8L1"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "8M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lifedew: ["9L1", "8L1"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + meteorbeam: ["8T"], + meteormash: ["9L1", "8L1"], + metronome: ["9M", "9L1", "8M", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + mimic: ["7V", "3T"], + minimize: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + moonblast: ["9L1", "8L1"], + moonlight: ["9L1", "8L1", "7V"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M"], + playrough: ["9M", "8M", "8V"], + pound: ["9L1", "8L1", "8V"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + skillswap: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + softboiled: ["3T"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + splash: ["9L1", "8L1"], + spotlight: ["7L1"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + storedpower: ["9M", "9L1", "8M", "8L1"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M"], + takedown: ["9M", "7V"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + uproar: ["9M", "8M"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + }, + vulpix: { + learnset: { + agility: ["9M", "8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + babydolleyes: ["9E", "8E", "7L9", "6L9"], + batonpass: ["9M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + burningjealousy: ["9M", "8T"], + captivate: ["7L47", "7E", "6L47", "6E", "5L41", "4M", "4L37"], + charm: ["9M", "3S1"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L20", "8L20", "8V", "7L12", "7V", "6L12", "5L17", "4L17", "3L21"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "5D", "4M"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M", "3S1"], + disable: ["9L4", "8L4", "7E", "7V", "6E", "5E", "4E", "3E"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + ember: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4E"], + extrasensory: ["9L28", "8L28", "7L31", "7E", "6L31", "6E", "5L51", "5E", "4L44", "4E"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L23", "7E", "7V", "6L20", "6E", "5L20", "5E", "4E", "3E"], + fireblast: ["9M", "9L52", "8M", "8L56", "8V", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L54", "4M", "4L47", "3M"], + firespin: ["9M", "9L40", "8M", "8L40", "8V", "7L15", "7V", "6L12", "5L14", "4L34", "3L41"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + flameburst: ["7L28", "6L23", "5L24"], + flamecharge: ["9M", "9E", "8E", "7M", "6M", "5M"], + flamethrower: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L36", "7V", "6M", "6L34", "5M", "5L37", "4M", "4L24", "3M", "3L29"], + flareblitz: ["9M", "8M", "7E", "6E", "5E", "4E"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grudge: ["8L52", "7L44", "6L44", "5L47", "4L41", "3L37"], + headbutt: ["8V", "7V", "4T"], + healingwish: ["9E"], + heatwave: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E", "3S1"], + helpinghand: ["9M"], + hex: ["9M", "8M", "7L26", "7E", "6L26", "6E", "5L28", "5E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + hypnosis: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + imprison: ["9M", "9L36", "8M", "8L36", "7L39", "6L18", "5L21", "4L21", "3L25"], + incinerate: ["9L16", "8L16", "6M", "5M"], + inferno: ["9L48", "8L48", "7L50", "6L50", "5L44"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + memento: ["9E", "8E"], + mimic: ["7V", "3T"], + mysticalfire: ["8M"], + nastyplot: ["9M"], + naturalgift: ["4M"], + ominouswind: ["4T"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "7L18", "6M", "6L18", "5M", "5L34", "4M", "4L31"], + powerswap: ["8M", "7E", "6E", "5E", "4E"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "4E", "3E"], + quickattack: ["9L8", "8L8", "8V", "7L10", "7V", "6L10", "5L11", "4L11", "3L13", "3S0"], + rage: ["7V"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "9E", "8E", "8V", "7M", "7L7", "7V", "6M", "6L7", "5M", "5L7", "5D", "4M", "4L7", "3M", "3L9", "3S0"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L44", "8M", "8L44", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L27", "4M", "4L27", "3M", "3L33"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "9L12", "8L12", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["8V"], + tailslap: ["8M", "7E", "6E", "5E"], + tailwhip: ["9L1", "8L1", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3L5", "3S0"], + takedown: ["9M", "7V"], + terablast: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "9L24", "8M", "8L24", "8V", "7M", "7L20", "6M", "6L20", "5M", "5L31", "4M", "4L14", "3L17", "3S0"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 18, gender: "F", nature: "Quirky", ivs: {hp: 15, atk: 6, def: 3, spa: 25, spd: 13, spe: 22}, moves: ["tailwhip", "roar", "quickattack", "willowisp"], pokeball: "pokeball"}, + {generation: 3, level: 18, moves: ["charm", "heatwave", "ember", "dig"]}, + ], + encounters: [ + {generation: 1, level: 18}, + ], + }, + vulpixalola: { + learnset: { + agility: ["9M", "8M", "7E"], + aquatail: ["7T"], + attract: ["8M", "7M"], + aurorabeam: ["9L24", "8L24", "8V", "7L28"], + auroraveil: ["9L44", "8L44", "7M"], + babydolleyes: ["9E", "8E", "7L9", "7S0"], + batonpass: ["9M"], + blizzard: ["9M", "9L52", "8M", "8L56", "8V", "7M", "7L42"], + bodyslam: ["9M", "8M"], + captivate: ["7L47"], + celebrate: ["7S0"], + charm: ["9M", "8M", "7E"], + chillingwater: ["9M"], + confide: ["7M"], + confuseray: ["9M", "9L20", "8L20", "8V", "7L12"], + covet: ["7T"], + darkpulse: ["9M", "8M", "8V", "7M"], + dazzlinggleam: ["9M", "8V"], + dig: ["9M", "8M", "8V"], + disable: ["9L4", "8L4", "7E"], + disarmingvoice: ["9M"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + encore: ["9M", "8M", "7E"], + endure: ["9M", "8M"], + extrasensory: ["9L28", "8L28", "7L31", "7E"], + facade: ["9M", "8M", "8V", "7M"], + faketears: ["9M"], + feintattack: ["7L23"], + flail: ["9E", "8E", "7E"], + foulplay: ["9M", "8M", "8V", "7T"], + freezedry: ["9L48", "8E", "7E"], + frostbreath: ["7M"], + frustration: ["7M"], + grudge: ["8L52", "7L44"], + hail: ["8M", "7M"], + headbutt: ["8V"], + healbell: ["7T"], + helpinghand: ["9M"], + hex: ["9M", "8M", "7L26"], + hiddenpower: ["7M"], + howl: ["9E", "8E", "7E"], + hypnosis: ["9E", "8E", "7E"], + icebeam: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L36"], + iceshard: ["9L8", "8L8", "8V", "7L10", "7S0"], + iciclespear: ["9M"], + icywind: ["9M", "9L16", "8M", "8L16", "7T", "7L15"], + imprison: ["9M", "9L36", "8M", "8L36", "7L39"], + irontail: ["8M", "8V", "7T"], + mist: ["9L40", "8L40", "8V", "7L20"], + mistyterrain: ["9M"], + moonblast: ["9E", "8E", "7E"], + nastyplot: ["9M"], + painsplit: ["7T"], + payback: ["8M", "7M", "7L18"], + playrough: ["9M"], + powdersnow: ["9L1", "8L1", "7L1", "7S1"], + powerswap: ["8M", "7E"], + protect: ["9M", "8M", "8V", "7M"], + psychup: ["7M"], + raindance: ["9M", "8M", "7M"], + reflect: ["8V"], + rest: ["9M", "8M", "8V", "7M"], + return: ["7M"], + roar: ["9M", "9E", "8E", "8V", "7M", "7L7"], + roleplay: ["7T"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "7L34"], + secretpower: ["7E"], + sheercold: ["8L48", "7L50"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + spite: ["9M", "9L12", "8L12", "7T", "7E"], + storedpower: ["9M"], + substitute: ["9M", "8M", "8V", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + tackle: ["8V"], + tailslap: ["8M", "7E"], + tailwhip: ["9L1", "8L1", "8V", "7L4", "7S0"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["8V", "7M"], + weatherball: ["9M", "8M"], + zenheadbutt: ["9M", "8M", "7T"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["celebrate", "tailwhip", "babydolleyes", "iceshard"], pokeball: "cherishball"}, + {generation: 7, level: 10, gender: "F", nature: "Modest", moves: ["powdersnow"], pokeball: "cherishball"}, + ], + }, + ninetales: { + learnset: { + agility: ["9M", "8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + disable: ["9L1", "8L1"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V", "7M", "6M", "5M", "4M"], + ember: ["9L1", "8L1", "8V", "7V", "5L1", "4L1", "3L1"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + extrasensory: ["9L1", "8L1"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fireblast: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firespin: ["9M", "9L1", "8M", "8L1", "7V", "3L45"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1", "6M", "6L1", "5M", "4M", "3M"], + flareblitz: ["9M", "8M"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grudge: ["8L1"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "5S0", "4T"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["8V"], + imprison: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + incinerate: ["9L1", "8L1", "6M", "5M"], + inferno: ["9L1", "8L1"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + mimic: ["7V", "3T"], + mysticalfire: ["8M"], + nastyplot: ["9M", "9L1", "8M", "8L1", "8V", "7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["4T"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + powerswap: ["8M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M", "5S0"], + quickattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + rage: ["7V"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L1", "8M", "8L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "6M", "5M", "5S0", "4M"], + spite: ["9M", "9L1", "8L1", "7T", "6T", "5T", "4T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["8V"], + tailslap: ["8M"], + tailwhip: ["9L1", "8L1", "8V", "7V"], + takedown: ["9M", "7V"], + terablast: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "9L1", "8M", "8L1", "8V", "7M", "6M", "5M", "5S0", "4M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Bold", ivs: {def: 31}, isHidden: true, moves: ["heatwave", "solarbeam", "psyshock", "willowisp"], pokeball: "cherishball"}, + ], + }, + ninetalesalola: { + learnset: { + agility: ["9M", "8M"], + aquatail: ["7T"], + attract: ["8M", "7M"], + aurorabeam: ["9L1", "8L1"], + auroraveil: ["9L1", "8L1", "7M"], + avalanche: ["9M", "8M"], + batonpass: ["9M"], + blizzard: ["9M", "9L1", "8M", "8L1", "8V", "7M"], + bodyslam: ["9M", "8M"], + calmmind: ["9M", "8M", "8V", "7M"], + charm: ["9M", "8M"], + chillingwater: ["9M"], + confide: ["7M"], + confuseray: ["9M", "9L1", "8L1", "7L1"], + covet: ["7T"], + darkpulse: ["9M", "8M", "8V", "7M"], + dazzlinggleam: ["9M", "9L0", "8M", "8L0", "8V", "7M", "7L1"], + dig: ["9M", "8M", "8V"], + disable: ["9L1", "8L1"], + disarmingvoice: ["9M"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + dreameater: ["8V", "7M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + extrasensory: ["9L1", "8L1"], + facade: ["9M", "8M", "8V", "7M"], + faketears: ["9M", "8M"], + foulplay: ["9M", "8M", "8V", "7T"], + freezedry: ["9L1"], + frostbreath: ["7M"], + frustration: ["7M"], + gigaimpact: ["9M", "8M", "7M"], + grudge: ["8L1"], + hail: ["8M", "7M"], + headbutt: ["8V"], + healbell: ["7T"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "8V", "7M"], + hypnosis: ["8V"], + icebeam: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1"], + iceshard: ["9L1", "8L1", "8V", "7L1"], + iciclespear: ["9M"], + icywind: ["9M", "9L1", "8M", "8L1", "7T"], + imprison: ["9M", "9L1", "8M", "8L1", "7L1"], + irontail: ["8M", "8V", "7T"], + laserfocus: ["7T"], + mist: ["9L1", "8L1", "8V"], + mistyterrain: ["9M", "8M"], + nastyplot: ["9M", "9L1", "8M", "8L1", "8V", "7L1"], + painsplit: ["7T"], + payback: ["8M", "7M"], + playrough: ["9M"], + powdersnow: ["9L1", "8L1"], + powerswap: ["8M"], + protect: ["9M", "8M", "8V", "7M"], + psychup: ["7M"], + psyshock: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + reflect: ["8V"], + rest: ["9M", "8M", "8V", "7M"], + return: ["7M"], + roar: ["9M", "7M"], + roleplay: ["7T"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "7L1"], + sheercold: ["8L1"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + solarbeam: ["8M"], + spite: ["9M", "9L1", "8L1", "7T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "8V", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + tackle: ["8V"], + tailslap: ["8M"], + tailwhip: ["9L1", "8L1", "8V"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["8V", "7M"], + tripleaxel: ["8T"], + weatherball: ["9M", "8M"], + wonderroom: ["8M", "7T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + igglybuff: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + captivate: ["7E", "6E", "5E", "4M"], + charm: ["9M", "9L20", "8M", "8L20", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1", "7L11", "6L11", "5L17", "4L17"], + counter: ["3T"], + covet: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + curse: ["7V"], + dazzlinggleam: ["9M"], + defensecurl: ["9L4", "8L4", "7L3", "7V", "6L3", "5L5", "4L5", "3T", "3L4", "3S0"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + disable: ["9L16", "8L16"], + disarmingvoice: ["9M", "9L12", "8L12"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M", "7E", "6E", "5E", "5D", "4E", "3E"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + fireblast: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + healpulse: ["9E", "8E", "7E", "6E"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "5D", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + lastresort: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mistyterrain: ["9M", "8M", "7E", "6E"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + painsplit: ["7T", "6T", "5T", "4T"], + perishsong: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + playrough: ["9M", "8M"], + pound: ["9L1", "8L1", "7L5", "7V", "6L5", "5L9", "4L9", "3L9"], + present: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + punishment: ["7E", "6E", "5E"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["9E", "8E", "7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L8", "8L8", "7L9", "7V", "6L9", "5L13", "4L13", "3L14"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + tickle: ["3S0"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + wish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["cutecharm"], moves: ["sing", "charm", "defensecurl", "tickle"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + jigglypuff: { + learnset: { + allyswitch: ["8M", "7T"], + amnesia: ["9M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "8M"], + bide: ["8V", "7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["9M"], + bodyslam: ["9M", "9L24", "8M", "8L24", "8V", "7L32", "7V", "6L33", "5L33", "4L29", "3T", "3L34"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + calmmind: ["9M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + counter: ["7V", "3T"], + covet: ["9L8", "8L8", "7T", "6T", "5T"], + curse: ["7V"], + darkpulse: ["9M"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], + defensecurl: ["9L1", "8L1", "8V", "7L3", "7V", "6L3", "5L5", "4L5", "3T", "3L4"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + disable: ["9L1", "8L1", "8V", "7L14", "7V", "6L13", "5L13", "4L13", "3L14"], + disarmingvoice: ["9M", "9L1", "8L1", "7L11", "6L11"], + doubleedge: ["9L44", "8L44", "8V", "7L45", "7V", "6L49", "5L53", "4L49", "3T", "3L49"], + doubleslap: ["8V", "7L17", "7V", "6L18", "5L25", "4L21", "3L24"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["9L4", "8L4", "7M", "6M", "5M"], + encore: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "9L32", "8M", "8L32", "7M", "7L35", "6M", "6L37", "5M", "5L37", "4M", "4L33"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "9L36", "8M", "8L36", "7T", "7L41", "6T", "6L44", "5T", "5L49", "4L45", "3L44"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M"], + mimic: ["9L28", "8L28", "8V", "7L38", "7V", "6L37", "5L45", "4L41", "3T", "3L39"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + painsplit: ["7T", "6T", "5T", "4T"], + playnice: ["7L9", "6L8"], + playrough: ["9M", "8M", "8L40", "8V"], + pound: ["9L1", "8L1", "8V", "7L5", "7V", "6L5", "5L9", "4L9", "3L9"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L30", "7V", "6M", "6L29", "5M", "5L29", "4M", "4L25", "3M", "3L29"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["7L20", "7V", "6L21", "5L21", "4T", "4L17", "3T", "3L19"], + round: ["9L16", "8M", "8L16", "7M", "7L22", "6M", "6L17", "5M", "5L17"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + skillswap: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + spitup: ["9L12", "8L12", "7L25"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + steelroller: ["8T"], + stockpile: ["9L12", "8L12", "7L25"], + storedpower: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9L12", "8L12", "7L25"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M"], + takedown: ["9M", "7V"], + taunt: ["9M"], + telekinesis: ["7T"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + triattack: ["8M", "8V", "7V"], + uproar: ["9M", "8M"], + wakeupslap: ["7L27", "6L28", "5L41", "4L37"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 3}, + {generation: 3, level: 3}, + ], + }, + wigglytuff: { + learnset: { + allyswitch: ["8M", "7T"], + amnesia: ["9M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "8M"], + bide: ["8V", "7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["9M"], + bodyslam: ["9M", "9L1", "8M", "8L1", "7V", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + calmmind: ["9M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + counter: ["7V", "3T"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["7V"], + darkpulse: ["9M"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], + defensecurl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + disable: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + disarmingvoice: ["9M", "9L1", "8L1"], + doubleedge: ["9L1", "8L1", "7L1", "7V", "6L1", "3T"], + doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["9L1", "8L1", "7M", "6M", "5M"], + encore: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M"], + mimic: ["9L1", "8L1", "7V", "3T"], + minimize: ["8V"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + painsplit: ["7T", "6T", "5T", "4T"], + playrough: ["9M", "9L5", "8M", "8L1", "8V", "7L1", "6L1"], + pound: ["9L1", "8L1", "8V"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["7V", "4T", "3T"], + round: ["9L1", "8M", "8L1", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + skillswap: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + spitup: ["9L1", "8L1"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + steelroller: ["8T"], + stockpile: ["9L1", "8L1"], + storedpower: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9L1", "8L1"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M"], + takedown: ["9M", "7V"], + taunt: ["9M"], + telekinesis: ["7T"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + triattack: ["8M", "8V", "7V"], + uproar: ["9M", "8M"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M"], + }, + encounters: [ + {generation: 1, level: 22}, + ], + }, + zubat: { + learnset: { + absorb: ["8L1", "8V", "7L1"], + acrobatics: ["8M", "7M", "6M", "6L30", "5M", "5L33"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M"], + aircutter: ["8L25", "7L19", "6L19", "5L25", "4T", "4L25", "3L31"], + airslash: ["8M", "8L50", "8V", "7L41", "6L41", "5L45", "4L41"], + assurance: ["8M"], + astonish: ["8L5", "7L7", "6L7", "5L9", "4L9", "3L6"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["8L30", "8V", "7L11", "7V", "6L11", "5L13", "4L13", "3L16"], + bravebird: ["8M", "7E", "6E", "5E", "4E"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8L45", "8V", "7L17", "7V", "6L17", "5L21", "4L21", "3L26"], + crunch: ["8M"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + defog: ["8E", "7T", "7E", "6E", "5E", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualwingbeat: ["8T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + fly: ["8M", "8V", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + gust: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + haze: ["8L35", "8V", "7L35", "7V", "6L35", "5L41", "4L37", "3L46"], + headbutt: ["8V"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["8E", "7E", "6E", "5E", "5D", "4E"], + leechlife: ["8M", "8L55", "8V", "7M", "7L31", "7V", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["8L10", "7L29", "7V", "6L29", "5L29", "4L29", "3L36"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + nastyplot: ["8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + ominouswind: ["4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pluck: ["5M", "4M"], + poisonfang: ["8L15", "7L25", "6L25", "5L37", "4L33", "3L41"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + quickattack: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + quickguard: ["8L20", "7L43", "6L43"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["8M", "7M", "7E", "7V", "6M", "6E", "5E", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "5D", "4T"], + supersonic: ["8L1", "8V", "7L5", "7V", "6L4", "5L5", "5D", "4L5", "3L6"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "8V", "7L23", "7V", "6L23", "5L24", "4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["8M", "8V", "7M", "6M", "5M", "4M"], + venomdrench: ["8M", "7E", "6E"], + venoshock: ["8M", "8L40", "7M", "7L37", "6M", "6L37", "5M"], + whirlwind: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + wingattack: ["8E", "8V", "7L13", "7V", "6L13", "5L17", "4L17", "3L21"], + zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + }, + encounters: [ + {generation: 1, level: 6}, + {generation: 2, level: 2}, + ], + }, + golbat: { + learnset: { + absorb: ["8L1", "8V", "7L1"], + acrobatics: ["8M", "7M", "6M", "6L33", "5M", "5L39"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M"], + aircutter: ["8L27", "7L19", "6L19", "5L27", "4T", "4L27", "3L35"], + airslash: ["8M", "8L62", "8V", "7L48", "6L48", "5L57", "4L51"], + assurance: ["8M"], + astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["8L34", "8V", "7L1", "7V", "6L1", "5L13", "4L13", "3L16"], + bravebird: ["8M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8L55", "8V", "7L17", "7V", "6L17", "5L21", "4L21", "3L28"], + crunch: ["8M", "8V"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualwingbeat: ["8T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fly: ["8M", "8V", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + haze: ["8L41", "8V", "7L40", "7V", "6L40", "5L51", "4L45", "3L56"], + headbutt: ["8V"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + leechlife: ["8M", "8L69", "8V", "7M", "7L35", "7V", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["8L1", "7L32", "7V", "6L32", "5L33", "4L33", "3L42"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + nastyplot: ["8M"], + naturalgift: ["4M"], + ominouswind: ["4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pluck: ["5M", "4M"], + poisonfang: ["8L15", "7L27", "6L27", "5L45", "4L39", "3L49"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["8V"], + quickguard: ["8L20", "7L51", "6L51"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + supersonic: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "8V", "7L24", "7V", "6L24", "5L24", "4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["8M", "8V", "7M", "6M", "5M", "4M"], + venomdrench: ["8M"], + venoshock: ["8M", "8L48", "7M", "7L43", "6M", "6L43", "5M"], + whirlwind: ["8V", "7V"], + wingattack: ["8V", "7L13", "7V", "6L13", "5L17", "4L17", "3L21"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 2, level: 13}, + {generation: 3, level: 5}, + {generation: 4, level: 10}, + {generation: 6, level: 19, maxEggMoves: 1}, + {generation: 7, level: 20}, + ], + }, + crobat: { + learnset: { + absorb: ["8L1", "7L1"], + acrobatics: ["8M", "7M", "6M", "6L33", "5M", "5L39"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M"], + aircutter: ["8L27", "7L19", "6L19", "5L27", "4T", "4L27", "3L35"], + airslash: ["8M", "8L62", "7L48", "7S1", "6L48", "5L57", "4L51", "4S0"], + assurance: ["8M"], + astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["8L34", "7L1", "7V", "6L1", "5L13", "4L13", "3L16"], + bravebird: ["8M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8L55", "7L17", "7V", "6L17", "5L21", "4L21", "3L28"], + crosspoison: ["8M", "8L0", "7L1", "6L1", "5L1", "4L1"], + crunch: ["8M"], + curse: ["7V"], + darkpulse: ["8M", "7M", "7S1", "6M", "5T", "4M"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualwingbeat: ["8T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + haze: ["8L41", "7L40", "7V", "6L40", "5L51", "4L45", "3L56"], + heatwave: ["8M", "7T", "6T", "5T", "4T", "4S0"], + hex: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["8M"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + leechlife: ["8M", "8L69", "7M", "7L35", "7V", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["8L1", "7L32", "7V", "6L32", "5L33", "4L33", "3L42"], + mimic: ["3T"], + nastyplot: ["8M"], + naturalgift: ["4M"], + ominouswind: ["4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pluck: ["5M", "4M"], + poisonfang: ["8L15", "7L27", "6L27", "5L45", "4L39", "3L49"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickguard: ["8L20", "7L51", "6L51"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + skyattack: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "7S1", "6M", "5M", "4M", "4S0", "3M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T", "4S0"], + supersonic: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7L24", "7V", "6L24", "5L24", "4T", "3T"], + tailwind: ["8L1", "7T", "6T", "5T", "4T"], + taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8L1", "7M", "7V", "7S1", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["8M", "7M", "6M", "5M", "4M"], + venomdrench: ["8M"], + venoshock: ["8M", "8L48", "7M", "7L43", "6M", "6L43", "5M"], + wingattack: ["7L13", "7V", "6L13", "5L17", "4L17", "3L21"], + xscissor: ["8M", "7M", "6M", "5M", "4M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 30, gender: "M", nature: "Timid", moves: ["heatwave", "airslash", "sludgebomb", "superfang"], pokeball: "cherishball"}, + {generation: 7, level: 64, gender: "M", moves: ["airslash", "toxic", "darkpulse", "sludgebomb"], pokeball: "cherishball"}, + ], + }, + oddish: { + learnset: { + absorb: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + acid: ["8L4", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L23", "3S0"], + afteryou: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M", "7E", "6E", "5E", "4E", "3E"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["7T", "6T", "5T", "4T"], + gigadrain: ["8M", "8L20", "7T", "7L31", "7V", "6T", "6L31", "5T", "5L37", "5D", "4M", "4L37", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L32", "7L47", "6L45"], + growth: ["8L1", "8V", "7L1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + ingrain: ["8E", "7E", "6E", "5E", "4E", "3E"], + leechseed: ["8E", "3S1"], + luckychant: ["7L23", "6L23", "5L25", "4L25"], + megadrain: ["8L12", "8V", "7L19", "7V", "6L19", "5L21", "4L21"], + mimic: ["7V", "3T"], + moonblast: ["8L28", "8V", "7L43", "6L43"], + moonlight: ["8L36", "7L27", "7V", "6L27", "5L33", "4L33", "3L32"], + naturalgift: ["7L39", "6L29", "5L29", "4M", "4L29"], + naturepower: ["8E", "7M", "7E", "6M", "6E", "5E"], + petaldance: ["8L40", "7L51", "7V", "6L41", "5L41", "4L41", "3L39"], + poisonpowder: ["8L14", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L14", "3S0"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["8L18", "8V", "7L15", "7V", "6L15", "5L17", "4L17", "3L18", "3S0"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + strengthsap: ["8E", "7E"], + stunspore: ["8L16", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L16", "3S0"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8L8", "7L5", "7V", "6L5", "5L5", "5D", "4L5", "3L7"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + synthesis: ["8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + takedown: ["7V"], + teeterdance: ["8E", "7E", "6E", "5E", "5D", "4E"], + tickle: ["8E", "7E", "6E", "5E", "4E"], + toxic: ["8L24", "8V", "7M", "7L35", "7V", "6M", "6L35", "5M", "4M", "3M"], + venoshock: ["8M", "7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 26, gender: "M", nature: "Quirky", ivs: {hp: 23, atk: 24, def: 20, spa: 21, spd: 9, spe: 16}, moves: ["poisonpowder", "stunspore", "sleeppowder", "acid"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["absorb", "leechseed"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 12}, + ], + }, + gloom: { + learnset: { + absorb: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + acid: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L24", "3S0"], + afteryou: ["7T", "6T", "5T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["7T", "6T", "5T", "4T"], + gigadrain: ["8M", "8L20", "7T", "7L34", "7V", "6T", "6L34", "5T", "5L47", "4M", "4L47", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L38", "7L54", "6L54"], + growth: ["8L1", "8V", "7L1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + luckychant: ["7L24", "6L24", "5L29", "4L29"], + megadrain: ["8L12", "8V", "7L19", "7V", "6L19", "5L23", "4L23"], + mimic: ["7V", "3T"], + moonblast: ["8L32", "8V"], + moonlight: ["8L44", "7L29", "7V", "6L29", "5L41", "4L41", "3L35", "3S0"], + naturalgift: ["7L44", "6L35", "5L35", "4M", "4L35"], + naturepower: ["7M", "6M"], + petalblizzard: ["7L49", "6L49"], + petaldance: ["8L50", "7L59", "7V", "6L53", "5L53", "4L53", "3L44", "3S0"], + poisonpowder: ["8L14", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L1"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["8V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["8L18", "8V", "7L15", "7V", "6L15", "5L17", "4L17", "3L18", "3S0"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stunspore: ["8L16", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L16"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + toxic: ["8L26", "8V", "7M", "7L39", "7V", "6M", "6L39", "5M", "4M", "3M"], + venoshock: ["8M", "7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["sleeppowder", "acid", "moonlight", "petaldance"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 2, level: 14}, + {generation: 4, level: 14}, + {generation: 6, level: 18, maxEggMoves: 1}, + ], + }, + vileplume: { + learnset: { + absorb: ["8L1", "8V", "7V", "3L1"], + acid: ["8L1", "8V", "7V"], + afteryou: ["7T", "6T", "5T"], + aromatherapy: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["7T", "6T", "5T", "4T"], + gigadrain: ["8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L1"], + growth: ["8L1", "8V"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + megadrain: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["7V", "3T"], + moonblast: ["8L1"], + moonlight: ["8L1"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + petalblizzard: ["8L0", "7L49", "6L49"], + petaldance: ["8L1", "8V", "7L59", "7V", "6L53", "5L53", "4L53", "3L44"], + poisonpowder: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], + pollenpuff: ["8M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["8L1", "7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "7L69", "7V", "6M", "6L64", "5M", "5L65", "4M", "4L65", "3M"], + stunspore: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8L1", "7V"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + toxic: ["8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + venoshock: ["8M", "7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + }, + bellossom: { + learnset: { + absorb: ["8L1", "7V", "3L1"], + acid: ["8L1"], + afteryou: ["7T", "6T", "5T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["7T", "6T", "5T", "4T"], + gigadrain: ["8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L1"], + growth: ["8L1"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + laserfocus: ["7T"], + leafblade: ["8M", "7L1", "6L1", "5L1", "4L1"], + leafstorm: ["8M", "7L1", "6L1", "5L53", "4L53"], + magicalleaf: ["8M", "7L1", "6L23", "5L23", "4L23", "3L1"], + megadrain: ["8L1", "7L1", "6L1", "5L1", "4L1"], + mimic: ["3T"], + moonblast: ["8L1"], + moonlight: ["8L1"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + petalblizzard: ["8L0", "7L49", "6L49"], + petaldance: ["8L1", "7L59", "7V", "3L44"], + playrough: ["8M"], + poisonpowder: ["8L1"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quiverdance: ["8L1", "7L39"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + sleeppowder: ["8L1"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M", "3L55"], + stunspore: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + toxic: ["8L1", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venoshock: ["8M", "7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + }, + paras: { + learnset: { + absorb: ["8V", "7L11"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + afteryou: ["7T", "6T", "5T"], + agility: ["7E", "6E", "5E", "4E"], + aromatherapy: ["7L43", "6L43", "5L43", "4L38", "3L49"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["7V", "3T"], + brickbreak: ["8V", "7M", "6M", "5M", "4M"], + bugbite: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + bulletseed: ["4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], + crosspoison: ["7E", "6E", "5E", "5D", "4E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["7E", "7V", "6E", "5E", "4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["7M", "7V", "6M", "5M", "4M", "4E", "3E", "3S0"], + fellstinger: ["7E", "6E"], + flail: ["7E", "7V", "6E", "5E", "4E", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7L17", "7V", "6L17", "5L17", "4T", "3T"], + furyswipes: ["8V"], + gigadrain: ["7T", "7L38", "7V", "6T", "6L38", "5T", "5L38", "4M", "4L33", "3M", "3L43"], + grassknot: ["7M", "6M", "5M", "4M"], + grassyterrain: ["7E"], + growth: ["8V", "7L33", "7V", "6L33", "5L33", "4L27", "3L37"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + knockoff: ["7T", "6T", "5T", "4T"], + leechlife: ["8V", "7M", "7V", "6L11", "5L11", "4L11", "3L19"], + leechseed: ["7E", "6E", "5E"], + lightscreen: ["8V", "7M", "7V", "6M", "5M", "4E", "3E"], + megadrain: ["8V", "7V"], + metalclaw: ["7E", "6E", "5E", "4E"], + mimic: ["7V", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + naturepower: ["7M", "6M"], + poisonpowder: ["8V", "7L6", "7V", "6L6", "5L6", "4L6", "3L13"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["7E", "7V", "6E", "5E", "4E", "3E"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + ragepowder: ["7L49", "6L49", "5L49"], + reflect: ["8V", "7V"], + refresh: ["3S0"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rototiller: ["7E", "6E"], + round: ["7M", "6M", "5M"], + scratch: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + slash: ["8V", "7L27", "7V", "6L27", "5L27", "4L22", "3L31", "3S0"], + sleeppowder: ["8V"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + spore: ["8V", "7L22", "7V", "6L22", "5L22", "4L17", "3L25", "3S0"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + stunspore: ["8V", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L7"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7E", "7V", "6E", "5E", "4E", "3E"], + swordsdance: ["7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "5D", "4T"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + venoshock: ["7M", "6M", "5M"], + wideguard: ["7E", "6E"], + worryseed: ["7T", "6T", "5T", "4T"], + xscissor: ["8V", "7M", "7L54", "6M", "6L54", "5M", "5L54", "4M", "4L43"], + }, + eventData: [ + {generation: 3, level: 28, abilities: ["effectspore"], moves: ["refresh", "spore", "slash", "falseswipe"]}, + ], + encounters: [ + {generation: 1, level: 8}, + ], + }, + parasect: { + learnset: { + absorb: ["8V", "7L1"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + afteryou: ["7T", "6T", "5T"], + aromatherapy: ["7L51", "6L51", "5L51", "4L47", "3L59"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["7V", "3T"], + brickbreak: ["8V", "7M", "6M", "5M", "4M"], + bugbite: ["7T", "6T", "5T", "4T"], + bulletseed: ["4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + crosspoison: ["7L1", "6L1", "5L1", "4L1"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["7V", "4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["7M", "6M", "5M", "4M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7L17", "7V", "6L17", "5L17", "4T", "3T"], + furyswipes: ["8V"], + gigadrain: ["7T", "7L44", "7V", "6T", "6L44", "5T", "5L44", "4M", "4L39", "3M", "3L51"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + growth: ["8V", "7L37", "7V", "6L37", "5L37", "4L30", "3L43"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + leechlife: ["8V", "7M", "7V", "6L1", "5L1", "4L1", "3L19"], + leechseed: ["8V"], + lightscreen: ["8V", "7M", "6M", "5M"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + poisonpowder: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + ragepowder: ["7L59", "6L59", "5L59"], + reflect: ["8V", "7V"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scratch: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["8V"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + slash: ["8V", "7L29", "7V", "6L29", "5L29", "4L22", "3L35"], + sleeppowder: ["8V"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + spore: ["8V", "7L22", "7V", "6L22", "5L22", "4L17", "3L27"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + stunspore: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swordsdance: ["7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + venoshock: ["7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + xscissor: ["8V", "7M", "7L66", "6M", "6L66", "5M", "5L66", "4M", "4L55"], + }, + encounters: [ + {generation: 1, level: 13}, + {generation: 2, level: 5}, + ], + }, + venonat: { + learnset: { + acidspray: ["9M"], + agility: ["9M", "9E", "7E", "6E", "5E", "4E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + bide: ["7V"], + bugbite: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + bugbuzz: ["9M", "9L25"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L11", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L17"], + curse: ["7V"], + disable: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foresight: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "4E", "3M", "3E"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + leechlife: ["9M", "9L35", "8V", "7M", "7L35", "7V", "6L17", "5L17", "4L17", "3L25"], + lunge: ["9M"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + morningsun: ["9E", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + nightshade: ["9M"], + poisonfang: ["9L41", "7L41", "6L41", "5L41", "4L41"], + poisonpowder: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L20"], + pounce: ["9M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L17", "8V", "7L17", "7V", "6L25", "5L25", "4L25", "3L33"], + psychic: ["9M", "9L47", "8V", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L47", "4M", "4L47", "3M", "3L41"], + psywave: ["7V"], + rage: ["7V"], + ragepowder: ["9E", "7E", "6E", "5E"], + reflect: ["8V", "7V"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + screech: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + signalbeam: ["7T", "7L25", "7E", "6T", "6L35", "6E", "5T", "5L35", "5E", "4T", "4L35", "4E", "3E"], + skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + sleeppowder: ["9L29", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L36"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + stunspore: ["9L23", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L28"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["9L5", "8V", "7L5", "7V", "6L5", "5L5", "4L5", "3L9"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["9M", "7V", "4T", "3T"], + tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "9E", "7E", "6E", "5E", "4E"], + venoshock: ["9M", "9E", "7M", "6M", "5M"], + zenheadbutt: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L37"], + }, + encounters: [ + {generation: 1, level: 13}, + ], + }, + venomoth: { + learnset: { + acidspray: ["9M"], + acrobatics: ["9M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8V"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L0"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bide: ["7V"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L25", "8V", "7L1", "6L1", "5L59", "4L59"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L11", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L17"], + curse: ["7V"], + defog: ["7T", "4M"], + disable: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foresight: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gust: ["8V", "7L1", "7V", "6L31", "5L31", "4L31", "3L31"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + leechlife: ["9M", "9L37", "8V", "7M", "7L37", "7V", "6L17", "5L17", "4L17", "3L25"], + lunge: ["9M"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["4T"], + poisonfang: ["9L47", "7L47", "6L47", "5L47", "4L47"], + poisonpowder: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L20"], + pounce: ["9M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L17", "8V", "7L17", "7V", "6L25", "5L25", "4L25", "3L36"], + psychic: ["9M", "9L55", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L55", "3M", "3L52", "3S0"], + psywave: ["7V"], + quiverdance: ["9L1", "8V", "7L1", "6L1", "5L63"], + rage: ["7V"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + refresh: ["3S0"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + screech: ["8V"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "7L25", "6T", "6L37", "5T", "5L37", "4T", "4L37"], + silverwind: ["7L1", "6L1", "5L1", "4M", "4L1", "3L1", "3S0"], + skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + sleeppowder: ["9L29", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L42"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + stunspore: ["9L23", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L28"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T", "3S0"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["9M", "7V", "4T", "3T"], + tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["9M", "7V"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + twister: ["4T"], + uturn: ["9M", "8V", "7M", "6M", "5M", "4M"], + venoshock: ["9M", "7M", "6M", "5M"], + whirlwind: ["7V"], + zenheadbutt: ["9M", "9L41", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L41"], + }, + eventData: [ + {generation: 3, level: 32, abilities: ["shielddust"], moves: ["refresh", "silverwind", "substitute", "psychic"]}, + ], + encounters: [ + {generation: 1, level: 30}, + {generation: 2, level: 10}, + {generation: 4, level: 8}, + {generation: 6, level: 30}, + ], + }, + diglett: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "8V"], + allyswitch: ["8M"], + ancientpower: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + assurance: ["8M"], + astonish: ["9L8", "8L8", "7L7", "7E", "6L7", "6E", "5L7", "5E", "4L7", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulldoze: ["9M", "9L16", "8M", "8L16", "7M", "7L18", "6M", "6L18", "5M", "5L18"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "9L32", "8M", "8L32", "8V", "7L31", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L18", "3M", "3L17"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L36", "8M", "8L36", "7T", "7L28", "6T", "6L29", "5T", "5L29", "4T", "4L26"], + earthquake: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L39", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L37", "3M", "3L41"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + finalgambit: ["9E", "8E", "7E", "6E", "5E"], + fissure: ["9L44", "8L44", "8V", "7L43", "7V", "6L45", "5L45", "4L40", "3L49"], + foulplay: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["8V", "3L21"], + growl: ["9L4", "8L4", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3L5"], + headbutt: ["9E", "8E", "8V", "7E", "6E", "5E"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["9E", "8E", "6M", "5M"], + magnitude: ["7L14", "7V", "6L15", "5L15", "4L12", "3L9"], + memento: ["9E", "8E", "7E", "6E", "5E"], + mimic: ["7V", "3T"], + mudbomb: ["7L25", "7E", "6L26", "6E", "5L26", "5E", "4L29", "4E"], + mudshot: ["9M"], + mudslap: ["9M", "9L12", "8L12", "7L10", "7V", "6L12", "5L12", "4T", "4L15", "3T", "3L25"], + naturalgift: ["4M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "8M", "7E", "6E", "5E", "4E"], + rockblast: ["9M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + sandstorm: ["9M", "9L28", "8M", "8L28", "7M", "6M", "5M", "4M"], + sandtomb: ["9M"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L24", "8L24", "8V", "7L35", "7V", "6L37", "5L37", "4L34", "3L33"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + smackdown: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "5D", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L20", "8L20", "8V", "7L22", "6L23", "5L23", "4T", "4L23"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["9M"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["9M", "8M", "7E", "6E", "5T", "5E", "4E", "3E"], + workup: ["8M"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 2}, + ], + }, + diglettalola: { + learnset: { + aerialace: ["7M"], + agility: ["9M", "8M", "8V"], + allyswitch: ["8M"], + ancientpower: ["9E", "8E", "7E"], + assurance: ["8M"], + astonish: ["9L8", "8L8", "7L7", "7S0"], + attract: ["8M", "7M"], + beatup: ["8M", "7E"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "9L16", "8M", "8L16", "7M", "7L18"], + charm: ["9M"], + confide: ["7M"], + dig: ["9M", "9L32", "8M", "8L32", "8V", "7L31"], + doubleteam: ["7M"], + earthpower: ["9M", "9L36", "8M", "8L36", "7T", "7L28"], + earthquake: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L39"], + echoedvoice: ["7M"], + endure: ["9M", "8M", "7E"], + facade: ["9M", "8M", "8V", "7M"], + feintattack: ["7E"], + finalgambit: ["9E", "8E", "7E"], + fissure: ["9L44", "8L44", "8V", "7L43"], + flashcannon: ["9M", "8M", "8V", "7M"], + foulplay: ["9M"], + frustration: ["7M"], + furyswipes: ["8V"], + growl: ["9L4", "8L4", "8V", "7L4", "7S0"], + headbutt: ["9E", "8E", "8V", "7E"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + honeclaws: ["9E", "8E"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "9L24", "8M", "8L24", "7T", "7L35"], + magnitude: ["7L14"], + memento: ["9E", "8E", "7E"], + metalclaw: ["9M", "9L1", "8L1", "7L1", "7S0"], + metalsound: ["9E", "8E", "7E"], + mudbomb: ["7L25"], + mudshot: ["9M"], + mudslap: ["9M", "9L12", "8L12", "7L10", "7S0"], + protect: ["9M", "8M", "8V", "7M"], + pursuit: ["7E"], + rest: ["9M", "8M", "8V", "7M"], + return: ["7M"], + reversal: ["9M", "8M", "7E"], + rockblast: ["9M"], + rockslide: ["9M", "8M", "8V", "7M"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + sandattack: ["9L1", "8L1", "8V", "7L1"], + sandstorm: ["9M", "9L28", "8M", "8L28", "7M"], + sandtomb: ["9M"], + scaryface: ["9M"], + scorchingsands: ["8T"], + scratch: ["8V"], + screech: ["8M"], + shadowclaw: ["9M", "8M", "7M"], + slash: ["8V"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "8V", "7M"], + smackdown: ["9M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "8V", "7T"], + steelbeam: ["9M", "8T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + substitute: ["9M", "8M", "8V", "7M"], + suckerpunch: ["9L20", "8L20", "8V", "7L22"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swordsdance: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + thrash: ["9E", "8E", "7E"], + toxic: ["8V", "7M"], + uproar: ["8M"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 10, abilities: ["tanglinghair"], moves: ["mudslap", "astonish", "growl", "metalclaw"], pokeball: "cherishball"}, + ], + }, + dugtrio: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "8V"], + allyswitch: ["8M"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L7", "6L7", "5L7", "4L7"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["8M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulldoze: ["9M", "9L16", "8M", "8L16", "7M", "7L18", "6M", "6L18", "5M", "5L18"], + captivate: ["4M"], + charm: ["9M", "3S0"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["9M", "9L36", "8M", "8L36", "8V", "7L35", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L18", "3M", "3L17"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L42", "8M", "8L42", "7T", "7L30", "6T", "6L33", "5T", "5L33", "4T", "4L28"], + earthquake: ["9M", "9L48", "8M", "8L48", "8V", "7M", "7L47", "7V", "6M", "6L50", "5M", "5L50", "4M", "4L45", "3M", "3L51", "3S0"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fissure: ["9L54", "8L54", "8V", "7L53", "7V", "6L57", "5L57", "4L50", "3L64"], + foulplay: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["8V", "3L21"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + magnitude: ["7L14", "7V", "6L15", "5L15", "4L12", "3L9"], + mimic: ["7V", "3T"], + mudbomb: ["7L25", "6L28", "5L28", "4L33"], + mudshot: ["9M"], + mudslap: ["9M", "9L12", "8L12", "7L10", "7V", "6L12", "5L12", "4T", "4L15", "3T", "3L25"], + naturalgift: ["4M"], + nightslash: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "8M"], + rockblast: ["9M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rototiller: ["7L1", "6L1"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sandstorm: ["9M", "9L30", "8M", "8L30", "7M", "6M", "5M", "4M", "3S0"], + sandtomb: ["9M", "9L0", "8M", "8L0", "7L1", "6L26", "5L26", "4L26", "3L26"], + scaryface: ["9M"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["8M", "8V"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L24", "8L24", "8V", "7L41", "7V", "6L45", "5L45", "4L40", "3L38"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L20", "8L20", "8V", "7L22", "6L23", "5L23", "4T", "4L23"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["9M"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["9L1", "8M", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + uproar: ["9M", "8M", "5T"], + workup: ["8M"], + }, + eventData: [ + {generation: 3, level: 40, moves: ["charm", "earthquake", "sandstorm", "triattack"]}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 5}, + {generation: 4, level: 19}, + ], + }, + dugtrioalola: { + learnset: { + aerialace: ["7M"], + agility: ["9M", "8M", "8V"], + allyswitch: ["8M"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L7"], + attract: ["8M", "7M"], + beatup: ["8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "9L16", "8M", "8L16", "7M", "7L18"], + charm: ["9M"], + confide: ["7M"], + dig: ["9M", "9L36", "8M", "8L36", "8V", "7L35"], + doubleteam: ["7M"], + earthpower: ["9M", "9L42", "8M", "8L42", "7T", "7L30"], + earthquake: ["9M", "9L48", "8M", "8L48", "8V", "7M", "7L47"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "8V", "7M"], + fissure: ["9L54", "8L54", "8V", "7L53"], + flashcannon: ["9M", "8M", "8V", "7M"], + foulplay: ["9M"], + frustration: ["7M"], + furyswipes: ["8V"], + gigaimpact: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "8V", "7L1"], + headbutt: ["8V"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + highhorsepower: ["8M"], + hyperbeam: ["9M", "8M", "8V", "7M"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "9L24", "8M", "8L24", "7T", "7L41"], + magnitude: ["7L14"], + metalclaw: ["9M", "9L1", "8L1", "7L1"], + mudbomb: ["7L25"], + mudshot: ["9M"], + mudslap: ["9M", "9L12", "8L12", "7L10"], + nightslash: ["9L1", "8L1", "7L1"], + protect: ["9M", "8M", "8V", "7M"], + rest: ["9M", "8M", "8V", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + rockblast: ["9M"], + rockslide: ["9M", "8M", "8V", "7M"], + rocktomb: ["9M", "8M", "7M"], + rototiller: ["7L1"], + round: ["8M", "7M"], + sandattack: ["9L1", "8L1", "8V", "7L1"], + sandstorm: ["9M", "9L30", "8M", "8L30", "7M"], + sandtomb: ["9M", "9L0", "8M", "8L0", "7L1"], + scaryface: ["9M"], + scorchingsands: ["8T"], + scratch: ["8V"], + screech: ["8M", "8V"], + shadowclaw: ["9M", "8M", "7M"], + slash: ["8V"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "8V", "7M"], + sludgewave: ["8M", "7M"], + smackdown: ["9M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "8V", "7T"], + steelbeam: ["9M", "8T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M"], + substitute: ["9M", "8M", "8V", "7M"], + suckerpunch: ["9L20", "8L20", "8V", "7L22"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swordsdance: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + toxic: ["8V", "7M"], + triattack: ["9L1", "8M", "8L1", "8V", "7L1"], + uproar: ["9M", "8M"], + workup: ["8M", "7M"], + }, + }, + meowth: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M"], + amnesia: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + assist: ["7E", "6E", "5E", "4E", "4S5", "3E"], + assurance: ["9L24", "8M", "8L24", "7L41", "6L41", "5L41", "4L41"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["9L16", "8L16", "8V", "7L6", "7V", "6L6", "6S7", "5L6", "4L6", "4S4", "3L10", "3S2", "3S3"], + bodyslam: ["9M", "8M", "7V", "3T"], + bubblebeam: ["7V"], + captivate: ["7L46", "6L46", "5L46", "4M", "4L46"], + charm: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["9E", "8E", "7T", "6T", "5T"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1", "8V", "7L9", "6L9", "6S7", "5L9", "4L9", "4S4", "4S5", "3L43"], + faketears: ["9M"], + falseswipe: ["9M"], + feint: ["9L4", "8L4", "8V", "7L50", "6L50", "5L54", "4L54"], + feintattack: ["7L22", "7V", "6L22", "5L22", "4L22", "3L25"], + flail: ["9E", "8E", "7E", "6E", "5E", "4E"], + flash: ["6M", "5M", "4M", "3M"], + foulplay: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["9L29", "8L29", "8V", "7L14", "7V", "6L14", "5L14", "5S6", "4L14", "4S4", "3L36"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1", "3S2"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + happyhour: ["6S7"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], + lastresort: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + metalclaw: ["9M"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "9L40", "8M", "8L40", "8V", "7L38", "6L38", "5L38", "5S6", "4L38"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightslash: ["7L49", "6L49", "5L49", "4L49"], + odorsleuth: ["7E", "6E", "5E", "4E"], + payback: ["8M", "7M", "6M", "5M", "4M"], + payday: ["9L12", "8M", "8L12", "8V", "7L30", "7V", "6L30", "5L30", "4L30", "4S5", "3L18", "3S3"], + petaldance: ["3S0"], + playrough: ["9M", "9L44", "8M", "8L44", "8V"], + powergem: ["9M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + punishment: ["7E", "6E", "5E", "4E"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scratch: ["9L8", "8L8", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "4S5", "3L1", "3S0", "3S1", "3S2"], + screech: ["9L32", "8M", "8L32", "8V", "7L17", "7V", "6L17", "6S7", "5L17", "4L17", "4S4", "3L31"], + secretpower: ["6M", "5D", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["5S6", "3S3"], + skullbash: ["7V"], + slash: ["9L36", "8L36", "8V", "7L33", "7V", "6L33", "5L33", "4L33", "3L40", "3S3"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M"], + snatch: ["7T", "7E", "6T", "6E", "5T", "5E", "5S6", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "9E", "8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T", "3L45"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwhip: ["9E", "8E", "7E", "6E", "5E", "4E"], + takedown: ["9M", "7V"], + taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["9M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["scratch", "growl", "petaldance"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["scratch", "growl"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["scratch", "growl", "bite"], pokeball: "pokeball"}, + {generation: 3, level: 22, moves: ["sing", "slash", "payday", "bite"]}, + {generation: 4, level: 21, gender: "F", nature: "Jolly", abilities: ["pickup"], moves: ["bite", "fakeout", "furyswipes", "screech"], pokeball: "cherishball"}, + {generation: 4, level: 10, gender: "M", nature: "Jolly", abilities: ["pickup"], moves: ["fakeout", "payday", "assist", "scratch"], pokeball: "cherishball"}, + {generation: 5, level: 15, gender: "M", abilities: ["pickup"], moves: ["furyswipes", "sing", "nastyplot", "snatch"], pokeball: "cherishball"}, + {generation: 6, level: 20, abilities: ["pickup"], moves: ["happyhour", "screech", "bite", "fakeout"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 10}, + {generation: 3, level: 3, gender: "M", nature: "Naive", ivs: {hp: 4, atk: 5, def: 4, spa: 5, spd: 4, spe: 4}, abilities: ["pickup"], pokeball: "pokeball"}, + ], + }, + meowthalola: { + learnset: { + aerialace: ["9M", "7M"], + agility: ["9M"], + amnesia: ["9M", "8M", "7E"], + assist: ["7E"], + assurance: ["9L24", "8M", "8L24", "7L41"], + attract: ["8M", "7M"], + bite: ["9L16", "8L16", "8V", "7L6"], + bodyslam: ["9M", "8M"], + captivate: ["7L46"], + charm: ["9M", "8M", "7E"], + chillingwater: ["9M"], + confide: ["7M"], + confuseray: ["9M"], + covet: ["9E", "8E", "7T", "7E"], + darkpulse: ["9M", "8M", "8V", "7M", "7L55"], + dig: ["9M", "8M"], + doubleteam: ["7M"], + dreameater: ["8V", "7M"], + echoedvoice: ["7M"], + embargo: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "8V", "7M"], + fakeout: ["9L1", "8L1", "8V", "7L9"], + faketears: ["9M"], + feint: ["9L4", "8L4", "8V", "7L50"], + feintattack: ["7L22"], + flail: ["9E", "8E", "7E"], + flatter: ["9E", "8E", "7E"], + foulplay: ["9M", "8M", "8V", "7T", "7E"], + frustration: ["7M"], + furyswipes: ["9L29", "8L29", "8V", "7L14"], + growl: ["9L1", "8L1", "8V", "7L1"], + gunkshot: ["9M", "8M", "7T"], + headbutt: ["8V"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + hypervoice: ["9M", "8M", "7T"], + hypnosis: ["9E", "8E", "7E"], + icywind: ["9M", "8M", "7T"], + irontail: ["8M", "8V", "7T"], + knockoff: ["9M", "7T"], + lashout: ["9M", "8T"], + lastresort: ["7T"], + metalclaw: ["9M"], + nastyplot: ["9M", "9L40", "8M", "8L40", "8V", "7L38"], + nightslash: ["9L36", "8L36", "7L49"], + partingshot: ["9E", "8E", "7E"], + payback: ["8M", "7M"], + payday: ["9L12", "8M", "8L12", "8V", "7L30"], + playrough: ["9M", "9L44", "8M", "8L44", "8V"], + powergem: ["9M"], + protect: ["9M", "8M", "8V", "7M"], + psychup: ["7M"], + punishment: ["7E"], + quash: ["7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "8V", "7M"], + retaliate: ["8M"], + return: ["7M"], + round: ["8M", "7M"], + scratch: ["9L8", "8L8", "8V", "7L1"], + screech: ["9L32", "8M", "8L32", "8V", "7L17"], + seedbomb: ["9M", "8M", "7T"], + shadowball: ["9M", "8M", "8V", "7M"], + shadowclaw: ["9M", "8M", "7M"], + shockwave: ["7T"], + slash: ["8V", "7L33"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M"], + snatch: ["7T", "7E"], + snore: ["8M", "7T"], + spite: ["9M", "9E", "8E", "7T", "7E"], + substitute: ["9M", "8M", "8V", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + throatchop: ["8M", "7T"], + thunder: ["9M", "8M", "8V", "7M"], + thunderbolt: ["9M", "8M", "8V", "7M"], + thunderwave: ["9M"], + torment: ["7M"], + toxic: ["8V", "7M"], + trailblaze: ["9M"], + uproar: ["8M", "7T"], + uturn: ["9M", "8M", "8V", "7M"], + waterpulse: ["7T"], + workup: ["8M", "7M"], + }, + }, + meowthgalar: { + learnset: { + aerialace: ["9M"], + amnesia: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M"], + charm: ["9M"], + covet: ["9E", "8E"], + crunch: ["9M", "8M"], + curse: ["9E", "8E"], + darkpulse: ["9M", "8M"], + dig: ["9M", "8M"], + doubleedge: ["9E", "8E"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["9L1", "8L1", "8S0"], + faketears: ["9M"], + falseswipe: ["9M"], + flail: ["9E", "8E"], + flashcannon: ["9M"], + fling: ["9M"], + foulplay: ["9M", "8M"], + furyswipes: ["9L29", "8L29"], + growl: ["9L1", "8L1", "8S0"], + gunkshot: ["9M", "8M"], + gyroball: ["9M", "8M"], + helpinghand: ["9M"], + honeclaws: ["9L4", "8L4", "8S0"], + hypervoice: ["9M", "8M"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M"], + irontail: ["8M"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + metalclaw: ["9M", "9L16", "8L16"], + metalsound: ["9L40", "8L40"], + metronome: ["9M"], + nastyplot: ["9M", "8M"], + nightslash: ["9E", "8E"], + payback: ["8M"], + payday: ["9L12", "8M", "8L12", "8S0"], + playrough: ["9M", "8M"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + round: ["8M"], + scratch: ["9L8", "8L8"], + screech: ["9L32", "8M", "8L32"], + seedbomb: ["9M", "8M"], + shadowball: ["9M", "8M"], + shadowclaw: ["9M", "8M"], + slash: ["9L36", "8L36"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spite: ["9M", "9E", "8E"], + stealthrock: ["9M"], + steelbeam: ["9M", "8T"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swagger: ["9L24", "8L24"], + swordsdance: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L20", "8M", "8L20"], + terablast: ["9M"], + thief: ["9M", "8M"], + thrash: ["9L44", "8L44"], + throatchop: ["8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + trailblaze: ["9M"], + uproar: ["8M"], + uturn: ["9M", "8M"], + workup: ["8M"], + xscissor: ["9M"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["fakeout", "growl", "honeclaws", "payday"], pokeball: "cherishball"}, + ], + }, + persian: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M"], + amnesia: ["9M", "8M", "8V"], + assurance: ["9L24", "8M", "8L24", "7L49", "6L49", "5L49", "4L49"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["9L16", "8L16", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "8M", "7V", "3T"], + bubblebeam: ["7V"], + captivate: ["7L56", "6L56", "5L56", "4M", "4L56"], + charm: ["9M", "8M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1", "8V", "7L1", "6L1", "5L1", "4L1", "3L55"], + faketears: ["9M"], + falseswipe: ["9M"], + feint: ["9L1", "8L1", "8V", "7L65", "6L65", "5L68", "4L68"], + feintattack: ["7L22", "7V", "6L22", "5L22", "4L22", "3L25"], + flash: ["6M", "5M", "4M", "3M"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["9L31", "8L31", "8V", "7L14", "7V", "6L14", "5L14", "4L14", "3L42"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["8V"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], + lastresort: ["7T", "6T", "5T", "4T"], + metalclaw: ["9M"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "9L48", "8M", "8L48", "8V", "7L44", "6L44", "5L44", "4L44"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightslash: ["7L61", "6L61", "5L61", "4L61"], + payback: ["8M", "7M", "6M", "5M", "4M"], + payday: ["9L12", "8M", "8L12", "8V", "7V", "3L18"], + playrough: ["9M", "9L54", "8M", "8L54", "8V", "7L1", "6L1"], + powergem: ["9M", "9L0", "8M", "8L0", "7L32", "6L32", "5L32", "4L32"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["9L36", "8M", "8L36", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L34"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skittersmack: ["8T"], + skullbash: ["7V"], + slash: ["9L42", "8L42", "8V", "7L37", "7V", "6L37", "5L37", "4L37", "3L49"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T", "3L61"], + swift: ["9M", "8M", "8V", "7L1", "7V", "6L28", "5L28", "4T", "3T"], + switcheroo: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "7V"], + taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["9M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 2, level: 18}, + {generation: 4, level: 19}, + ], + }, + persianalola: { + learnset: { + aerialace: ["9M", "7M"], + agility: ["9M"], + amnesia: ["9M", "8M", "8V"], + assurance: ["9L24", "8M", "8L24", "7L49"], + attract: ["8M", "7M"], + beatup: ["8M"], + bite: ["9L16", "8L16", "8V", "7L1"], + bodyslam: ["9M", "8M"], + burningjealousy: ["9M", "8T"], + captivate: ["7L56"], + charm: ["9M", "8M"], + chillingwater: ["9M"], + confide: ["7M"], + confuseray: ["9M"], + covet: ["7T"], + darkpulse: ["9M", "8M", "8V", "7M", "7L69"], + dig: ["9M", "8M"], + doubleteam: ["7M"], + dreameater: ["8V", "7M"], + echoedvoice: ["7M"], + embargo: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "8V", "7M"], + fakeout: ["9L1", "8L1", "8V", "7L1"], + faketears: ["9M", "8M"], + feint: ["9L1", "8L1", "8V", "7L65"], + feintattack: ["7L22"], + foulplay: ["9M", "8M", "8V", "7T"], + frustration: ["7M"], + furyswipes: ["9L31", "8L31", "8V", "7L14"], + gigaimpact: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "8V", "7L1"], + gunkshot: ["9M", "8M", "7T"], + headbutt: ["8V"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "8V", "7M"], + hypervoice: ["9M", "8M", "7T"], + hypnosis: ["8V"], + icywind: ["9M", "8M", "7T"], + irontail: ["8M", "8V", "7T"], + knockoff: ["9M", "7T"], + lashout: ["9M", "8T"], + lastresort: ["7T"], + metalclaw: ["9M"], + nastyplot: ["9M", "9L48", "8M", "8L48", "8V", "7L44"], + nightslash: ["9L42", "8L42", "7L61"], + payback: ["8M", "7M"], + payday: ["9L12", "8M", "8L12", "8V"], + playrough: ["9M", "9L54", "8M", "8L54", "8V", "7L1"], + powergem: ["9M", "9L0", "8M", "8L0", "7L32"], + protect: ["9M", "8M", "8V", "7M"], + psychup: ["7M"], + quash: ["9L1", "8L1", "7M", "7L1"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "8V", "7M"], + retaliate: ["8M"], + return: ["7M"], + roar: ["9M", "7M"], + round: ["8M", "7M"], + scratch: ["9L1", "8L1", "8V", "7L1"], + screech: ["9L36", "8M", "8L36", "8V", "7L17"], + seedbomb: ["9M", "8M", "7T"], + shadowball: ["9M", "8M", "8V", "7M"], + shadowclaw: ["9M", "8M", "7M"], + shockwave: ["7T"], + skittersmack: ["8T"], + slash: ["8V", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + smackdown: ["9M"], + snarl: ["9M", "8M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + spite: ["9M", "7T"], + substitute: ["9M", "8M", "8V", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M", "8V", "7L1"], + switcheroo: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + taunt: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L25"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + throatchop: ["8M", "7T"], + thunder: ["9M", "8M", "8V", "7M"], + thunderbolt: ["9M", "8M", "8V", "7M"], + thunderwave: ["9M"], + torment: ["7M"], + toxic: ["8V", "7M"], + trailblaze: ["9M"], + uproar: ["8M", "7T"], + uturn: ["9M", "8M", "8V", "7M"], + waterpulse: ["7T"], + workup: ["8M", "7M"], + }, + }, + perrserker: { + learnset: { + aerialace: ["9M"], + amnesia: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + batonpass: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M"], + charm: ["9M"], + chillingwater: ["9M"], + closecombat: ["9M", "8M"], + crunch: ["9M", "8M"], + darkpulse: ["9M", "8M"], + dig: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["9L1", "8L1"], + faketears: ["9M"], + falseswipe: ["9M"], + flashcannon: ["9M"], + fling: ["9M", "8M"], + foulplay: ["9M", "8M"], + furyswipes: ["9L31", "8L31"], + gigaimpact: ["9M", "8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M", "8M"], + gyroball: ["9M", "8M"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M"], + honeclaws: ["9L1", "8L1"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + irondefense: ["9M", "9L1", "8M", "8L1"], + ironhead: ["9M", "9L0", "8M", "8L0"], + irontail: ["8M"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + metalburst: ["9L1", "8L1"], + metalclaw: ["9M", "9L16", "8L16"], + metalsound: ["9L48", "8L48"], + metronome: ["9M"], + nastyplot: ["9M", "8M"], + payback: ["8M"], + payday: ["9L12", "8M", "8L12"], + playrough: ["9M", "8M"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + round: ["8M"], + scratch: ["9L1", "8L1"], + screech: ["9L36", "8M", "8L36"], + seedbomb: ["9M", "8M"], + shadowball: ["9M", "8M"], + shadowclaw: ["9M", "8M"], + slash: ["9L42", "8L42"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spite: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M", "8T"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swagger: ["9L24", "8L24"], + swordsdance: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L20", "8M", "8L20"], + terablast: ["9M"], + thief: ["9M", "8M"], + thrash: ["9L54", "8L54"], + throatchop: ["8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + trailblaze: ["9M"], + uproar: ["8M"], + uturn: ["9M", "8M"], + workup: ["8M"], + xscissor: ["9M"], + }, + }, + psyduck: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + amnesia: ["9M", "9L34", "8M", "8L34", "8V", "7L37", "6L43", "5L48", "4L44"], + aquatail: ["9L24", "8L24", "7T", "7L28", "6T", "6L29", "5T", "5L32", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "5D", "4M"], + bubblebeam: ["7V"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + clearsmog: ["9E", "8E", "7E", "6E"], + confide: ["7M", "6M"], + confuseray: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + confusion: ["9L6", "8L6", "8V", "7L10", "7V", "6L11", "5L18", "4L18", "3L16", "3S0"], + counter: ["7V", "3T"], + crosschop: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["7V"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L11", "5L14", "4L14", "3L10", "3S0"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + encore: ["9M", "8M", "7E", "6E", "5E", "5D", "4E"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["9L9", "8L9", "8V", "7L13", "7V", "6L15", "5L27", "4L27", "3L40"], + futuresight: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "8M", "8L36", "8V", "7L40", "7V", "6L46", "5L53", "4L48", "3L50"], + hypnosis: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M"], + lightscreen: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4E", "3E"], + liquidation: ["9M"], + lowkick: ["9M"], + lowsweep: ["9M"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M"], + mimic: ["7V", "3T"], + mudbomb: ["7E", "6E", "5E", "4E"], + mudshot: ["9M"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["3S1"], + nastyplot: ["9M"], + naturalgift: ["4M"], + payday: ["8M", "8V", "7V"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9E", "8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3E"], + psychup: ["9L30", "8L30", "7M", "7L34", "7V", "6M", "6L39", "5M", "5L40", "4M", "4L35", "3T", "3L31"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + screech: ["9L21", "8M", "8L21", "8V", "7L22", "7V", "6L25", "5L31", "4L31", "3L23", "3S0"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + simplebeam: ["9E", "8E", "7E", "6E"], + skillswap: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + soak: ["9L27", "8L27", "7L31", "6L36", "5L35"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + synchronoise: ["7E", "6E", "5E"], + tailwhip: ["9L1", "8L1", "8V", "7L4", "7V", "6L4", "5L5", "4L5", "3L5", "3S0", "3S1"], + takedown: ["9M", "7V"], + taunt: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + vacuumwave: ["9M"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L3", "8L3", "8V", "7L7", "7V", "6L8", "5L9", "4L9"], + waterpulse: ["9M", "9L12", "8L12", "7T", "7L16", "6T", "6L18", "5L22", "4M", "4L22", "3M"], + watersport: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S1"], + whirlpool: ["8M", "7V", "4M"], + wonderroom: ["9L39", "8M", "8L39", "7T", "7L43", "6T", "6L50", "5T", "5L57"], + worryseed: ["7T", "6T", "5T", "4T"], + yawn: ["9E", "8E", "7E", "6E", "5E", "4E"], + zenheadbutt: ["9M", "9L18", "8M", "8L18", "7T", "7L25", "6T", "6L29", "5T", "5L44", "4T", "4L40"], + }, + eventData: [ + {generation: 3, level: 27, gender: "M", nature: "Lax", ivs: {hp: 31, atk: 16, def: 12, spa: 29, spd: 31, spe: 14}, abilities: ["damp"], moves: ["tailwhip", "confusion", "disable", "screech"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["watersport", "scratch", "tailwhip", "mudsport"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + golduck: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + amnesia: ["9M", "9L36", "8M", "8L36", "8V", "7L41", "6L49", "5L56", "4L50"], + aquajet: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + aquatail: ["9L24", "8L24", "7T", "7L28", "6T", "6L32", "5T", "5L32", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M", "3S0"], + brine: ["8M", "4M"], + bubblebeam: ["7V"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + charm: ["3S0"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "8V", "7L10", "7V", "6L11", "5L18", "4L18", "3L16"], + counter: ["7V", "3T"], + curse: ["7V"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L11", "5L14", "4L14", "3L1"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + encore: ["9M", "8M", "8V", "7S1"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["9L9", "8L9", "8V", "7L13", "7V", "6L15", "5L27", "4L27", "3L44"], + futuresight: ["8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "9L40", "8M", "8L40", "8V", "7L46", "7V", "7S1", "6L54", "5L63", "4L56", "3L58"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M"], + laserfocus: ["7T"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M"], + liquidation: ["9M", "8M", "7T"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + mefirst: ["7L1"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + mudshot: ["9M"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + payday: ["8M", "8V", "7V"], + powergem: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "7S1", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "8V"], + psychic: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + psychup: ["9L30", "8L30", "7M", "7L36", "7V", "6M", "6L43", "5M", "5L44", "4M", "4L37", "3T", "3L31", "3S0"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "7S1", "6M", "5M"], + scratch: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["9L21", "8M", "8L21", "8V", "7L22", "7V", "6L25", "5L31", "4L31", "3L23"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + soak: ["9L27", "8L27", "7L31", "6L38", "5L37"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + taunt: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + vacuumwave: ["9M"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + watergun: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], + waterpulse: ["9M", "9L12", "8L12", "7T", "7L16", "6T", "6L18", "5L22", "4M", "4L22", "3M"], + watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + whirlpool: ["8M", "7V", "4M"], + wonderroom: ["9L45", "8M", "8L45", "7T", "7L51", "6T", "6L60", "5T", "5L69"], + worryseed: ["7T", "6T", "5T", "4T"], + yawn: ["8V"], + zenheadbutt: ["9M", "9L18", "8M", "8L18", "7T", "7L25", "6T", "6L25", "5T", "5L50", "4T", "4L44"], + }, + eventData: [ + {generation: 3, level: 33, moves: ["charm", "waterfall", "psychup", "brickbreak"]}, + {generation: 7, level: 50, gender: "M", nature: "Timid", ivs: {hp: 31, atk: 30, def: 31, spa: 31, spd: 31, spe: 31}, isHidden: true, moves: ["hydropump", "scald", "encore", "protect"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 25, pokeball: "safariball"}, + {generation: 4, level: 10}, + ], + }, + mankey: { + learnset: { + acrobatics: ["9M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + assurance: ["9L26", "7L26", "6L25", "5L25", "4L25"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["9M", "9L33", "7L36", "7E", "6L49", "6E", "5L49", "5E", "4L49", "4E"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + covet: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1"], + crosschop: ["9L22", "7L22", "7V", "6L37", "5L37", "4L37", "3L31"], + curse: ["9E", "7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M", "9E", "7E", "6E", "5E", "4E"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + finalgambit: ["9L48", "7L50", "6L53", "5L53"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L21"], + focuspunch: ["9M", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["9L5", "8V", "7L5", "7V", "6L9", "5L9", "4L9", "3L16"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + icepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8V", "7T", "7V", "6T", "5T", "4M", "3M"], + karatechop: ["8V", "7L8", "7V", "6L13", "5L13", "4L13", "3L11"], + lashout: ["9M"], + leer: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "9L8", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "5D", "4T", "4L1", "3L6"], + lowsweep: ["9M", "7M", "6M", "5M"], + meditate: ["7E", "7V", "6E", "5E", "4E", "3E"], + megakick: ["7V", "3T"], + megapunch: ["7V", "3T"], + metronome: ["9M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + nightslash: ["9E", "7E", "6E"], + outrage: ["9M", "9L44", "8V", "7T", "7L47", "6T", "5T", "4T"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + payback: ["7M", "6M", "5M", "4M"], + payday: ["8V", "7V"], + poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], + powertrip: ["7E"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7V", "3T"], + punishment: ["7L29", "6L45", "5L45", "4L45"], + pursuit: ["7L12"], + rage: ["7V"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["7E", "6E", "5E", "4E", "3E"], + reversal: ["9M", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + rockclimb: ["4M"], + rockslide: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + scratch: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["9L36", "8V", "7L40", "7V", "6L21", "5L21", "4L21", "3L41"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + seismictoss: ["9L12", "8V", "7L15", "7V", "6L17", "5L17", "4L17", "3T", "3L26"], + shadowclaw: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + snore: ["7T", "7V", "6T", "3T"], + spite: ["9M", "9E", "7T", "6T", "5T", "4T"], + stompingtantrum: ["9M", "9L40", "7T", "7L43"], + stoneedge: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L17", "7M", "7L19", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L33", "3T", "3L36"], + swift: ["9M", "7V", "4T", "3T"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9L29", "8V", "7L33", "7V", "6L41", "5L41", "4L41", "3L46"], + thunder: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8V", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8V", "7M", "6M", "5M", "4M"], + vacuumwave: ["4T"], + workup: ["7M", "5M"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 3, level: 2}, + ], + }, + primeape: { + learnset: { + acrobatics: ["9M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + assurance: ["9L26", "7L26", "6L25", "5L25", "4L25"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["9M", "9L39", "7L39", "6L59", "5L59", "4L59"], + confide: ["7M", "6M"], + counter: ["8V", "7V", "3T"], + covet: ["7T", "6T", "5T"], + crosschop: ["9L22", "7L22", "7V", "6L41", "5L41", "4L41", "3L35", "3S0"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M", "8V"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + finalgambit: ["9L57", "7L1", "6L1", "5L63"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fling: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L21", "3S0"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["9L5", "8V", "7L5", "7V", "6L9", "5L9", "4L9", "3L16"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M", "8V", "7T", "6T", "5T", "4T", "3S0"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8V", "7T", "7V", "6T", "5T", "4M", "3M"], + karatechop: ["8V", "7L8", "7V", "6L13", "5L13", "4L13", "3L11"], + lashout: ["9M"], + leer: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "9L8", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + lowsweep: ["9M", "7M", "6M", "5M"], + megakick: ["7V", "3T"], + megapunch: ["7V", "3T"], + metronome: ["9M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "9L53", "8V", "7T", "7L53", "6T", "5T", "4T"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + payback: ["7M", "6M", "5M", "4M"], + payday: ["8V", "7V"], + poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7V", "3T"], + punishment: ["7L30", "6L53", "5L53", "4L53"], + pursuit: ["7L12"], + rage: ["8V", "7L1", "7V", "6L28", "5L28", "4L28", "3L1"], + ragefist: ["9L35"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "3S0"], + rockclimb: ["4M"], + rockslide: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + scratch: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["9L44", "8V", "7L44", "7V", "6L21", "5L21", "4L21", "3L53"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + seismictoss: ["9L15", "8V", "7L15", "7V", "6L17", "5L17", "4L17", "3T", "3L26"], + shadowclaw: ["9M"], + skullbash: ["7V"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["7T", "7V", "6T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M"], + stompingtantrum: ["9M", "9L48", "7T", "7L48"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L17", "7M", "7L19", "7V", "6M", "6L35", "5M", "5L35", "4M", "4L35", "3T", "3L44"], + swift: ["9M", "7V", "4T", "3T"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9L30", "8V", "7L35", "7V", "6L47", "5L47", "4L47", "3L62"], + throatchop: ["7T"], + thunder: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8V", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "4T"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 3, level: 34, abilities: ["vitalspirit"], moves: ["helpinghand", "crosschop", "focusenergy", "reversal"]}, + ], + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 15}, + ], + }, + annihilape: { + learnset: { + acrobatics: ["9M"], + assurance: ["9L26"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulkup: ["9M"], + bulldoze: ["9M"], + closecombat: ["9M", "9L39"], + counter: ["9L1"], + crosschop: ["9L22"], + dig: ["9M"], + drainpunch: ["9M"], + earthquake: ["9M"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + finalgambit: ["9L57"], + firepunch: ["9M"], + fling: ["9M", "9L1"], + focusblast: ["9M"], + focusenergy: ["9L1"], + focuspunch: ["9M"], + furyswipes: ["9L5"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + icepunch: ["9M"], + lashout: ["9M"], + leer: ["9L1"], + lowkick: ["9M", "9L8"], + lowsweep: ["9M"], + metronome: ["9M"], + nightshade: ["9M"], + outrage: ["9M", "9L53"], + overheat: ["9M"], + phantomforce: ["9M"], + poisonjab: ["9M"], + protect: ["9M"], + ragefist: ["9L35"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + scaryface: ["9M"], + scratch: ["9L1"], + screech: ["9L44"], + seedbomb: ["9M"], + seismictoss: ["9L12"], + shadowball: ["9M"], + shadowclaw: ["9M"], + shadowpunch: ["9L0"], + sleeptalk: ["9M"], + smackdown: ["9M"], + spite: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M", "9L48"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L17"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L30"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderpunch: ["9M"], + uproar: ["9M"], + uturn: ["9M"], + vacuumwave: ["9M"], + }, + }, + growlithe: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L20", "8M", "8L20", "8V", "7L30", "7V", "6L30", "5L42", "4L39", "3L43"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["9L8", "8L8", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S1", "3S2"], + bodyslam: ["9M", "8M", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], + burnup: ["7E"], + captivate: ["4M"], + charm: ["9M", "3S2"], + closecombat: ["9M", "8M", "7E", "6E", "5E"], + confide: ["7M", "6M"], + covet: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + crunch: ["9M", "9L32", "8M", "8L32", "8V", "7L39", "7E", "7V", "6L39", "6E", "5L45", "5E", "4L42", "4E", "3E"], + curse: ["7V"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T"], + doublekick: ["9E", "8E", "7E", "6E", "5E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["7V"], + dragonrage: ["7V"], + ember: ["9L1", "8L1", "8V", "7L6", "7V", "6L6", "5L6", "4L6", "3L7", "3S1"], + endure: ["9M", "8M", "7V", "5D", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L24", "8M", "8L24", "7L21", "6L21", "5L28", "4L28"], + firespin: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + flameburst: ["7L28", "6L28", "5L31"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L39", "4M", "4L34", "3M", "3L49", "3S2"], + flamewheel: ["9L12", "8L12", "7L17", "7V", "6L17", "5L20", "4L20", "3L31", "3S0"], + flareblitz: ["9M", "9L56", "8M", "8L56", "8V", "7L45", "7E", "6L45", "6E", "5L56", "5E", "4L48", "4E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["9M", "8M", "8V", "7T", "7L41", "7E", "6T", "6L41", "6E", "5T", "5L51", "5E", "4T", "4L45", "4E", "3E"], + helpinghand: ["9M", "9L16", "8M", "8L16", "8V", "7T", "7L12", "6T", "6L12", "5T", "5L17", "4T", "4L17", "3L37"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["9L4", "8L4", "7E", "6E", "5E", "4E", "3E"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + leer: ["9L1", "8L1", "8V", "7L8", "7V", "6L8", "5L9", "4L9", "3L13", "3S0"], + mimic: ["7V", "3T"], + morningsun: ["9E", "8E", "7E", "6E", "5E", "4E"], + mudslap: ["4T"], + naturalgift: ["4M"], + odorsleuth: ["7L10", "6L10", "5L14", "4L14", "3L19", "3S0"], + outrage: ["9M", "8M", "8V", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + playrough: ["9M", "9L48", "8M", "8L48", "8V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M", "8M"], + rage: ["7V"], + ragingfury: ["9E"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["9L28", "8M", "8L28", "7L32", "6M", "6L32", "5M", "5L48"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9L52", "8M", "8L52", "7L19", "6L19", "5L25", "4L25"], + roar: ["9M", "9L44", "8L44", "8V", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "5D", "4M", "4L1", "3M", "3L1", "3S1"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + takedown: ["9M", "9L36", "8L36", "8V", "7L23", "7V", "6L23", "5L34", "4L31", "3L25", "3S0", "3S2"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thrash: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + thunderfang: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 32, gender: "F", nature: "Quiet", ivs: {hp: 11, atk: 24, def: 28, spa: 1, spd: 20, spe: 2}, abilities: ["intimidate"], moves: ["leer", "odorsleuth", "takedown", "flamewheel"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["bite", "roar", "ember"], pokeball: "pokeball"}, + {generation: 3, level: 28, moves: ["charm", "flamethrower", "bite", "takedown"]}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + growlithehisui: { + learnset: { + agility: ["9M"], + bite: ["9L8", "9S0"], + bodyslam: ["9M"], + closecombat: ["9M"], + covet: ["9E"], + crunch: ["9M", "9L32"], + dig: ["9M"], + doubleedge: ["9E"], + doublekick: ["9E"], + ember: ["9L1", "9S0"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M", "9L24"], + firespin: ["9M"], + flamecharge: ["9M"], + flamethrower: ["9M", "9L40"], + flamewheel: ["9L12", "9S0"], + flareblitz: ["9M", "9L56"], + headsmash: ["9E"], + heatwave: ["9M"], + helpinghand: ["9M", "9L16"], + howl: ["9L4", "9S0"], + leer: ["9L1"], + morningsun: ["9E"], + outrage: ["9M"], + overheat: ["9M"], + powergem: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + rest: ["9M"], + retaliate: ["9L28"], + reversal: ["9M", "9L52"], + roar: ["9M", "9L44"], + rockblast: ["9M"], + rockslide: ["9M", "9L48"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M"], + smartstrike: ["9M"], + stealthrock: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + takedown: ["9M", "9L36"], + terablast: ["9M"], + thrash: ["9E"], + thunderfang: ["9M"], + wildcharge: ["9M"], + willowisp: ["9M"], + }, + eventData: [ + {generation: 9, level: 15, isHidden: true, nature: "Jolly", ivs: {hp: 31, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["flamewheel", "bite", "howl", "ember"], pokeball: "pokeball"}, + ], + }, + arcanine: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L1", "8M", "8L1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["9L1", "8L1", "8V", "7L1", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "8M", "7V", "3T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + burnup: ["8L1"], + captivate: ["4M"], + charm: ["9M"], + closecombat: ["9M", "8M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["9M", "9L1", "8M", "8L1", "4S0"], + curse: ["7V"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["8V", "7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["7V"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + dragonrage: ["7V"], + ember: ["9L1", "8L1", "8V", "7V", "3L1"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extremespeed: ["9L0", "9S2", "8L0", "7L34", "7V", "7S1", "6L34", "5L39", "4L39", "4S0", "3L49"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L5", "8M", "8L1", "8V", "7M", "6M", "5M", "4M", "3M"], + flamewheel: ["9L1", "8L1", "7V"], + flareblitz: ["9M", "9L1", "9S2", "8M", "8L1", "7S1", "4S0"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + heatcrash: ["9M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["9L1", "8L1"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "8V", "7V"], + mimic: ["7V", "3T"], + mudslap: ["4T"], + naturalgift: ["4M"], + odorsleuth: ["7L1", "6L1", "5L1", "4L1", "3L1"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + playrough: ["9M", "9L1", "8M", "8L1", "8V"], + protect: ["9M", "9S2", "8M", "8V", "7M", "7V", "7S1", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M", "8M"], + rage: ["7V"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["9L1", "8M", "8L1", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9L1", "8M", "8L1"], + roar: ["9M", "9L1", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8V"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + takedown: ["9M", "9L1", "8L1", "7V"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "8M", "7L1", "6L1", "5L1", "4L1", "4S0"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "9S2", "8M", "8V", "7M", "7S1", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 4, level: 50, abilities: ["intimidate"], moves: ["flareblitz", "thunderfang", "crunch", "extremespeed"], pokeball: "cherishball"}, + {generation: 7, level: 50, abilities: ["intimidate"], moves: ["flareblitz", "extremespeed", "willowisp", "protect"], pokeball: "cherishball"}, + {generation: 9, level: 50, shiny: true, gender: "F", nature: "Adamant", abilities: ["intimidate"], ivs: {hp: 31, atk: 31, def: 31, spa: 8, spd: 31, spe: 31}, moves: ["flareblitz", "extremespeed", "willowisp", "protect"], pokeball: "cherishball"}, + ], + }, + arcaninehisui: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "9L1"], + bite: ["9L1"], + bodyslam: ["9M"], + bulldoze: ["9M"], + closecombat: ["9M"], + crunch: ["9M", "9L1"], + dig: ["9M"], + dragonpulse: ["9M"], + ember: ["9L1"], + endure: ["9M"], + extremespeed: ["9L0"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M", "9L1"], + firespin: ["9M"], + flamecharge: ["9M"], + flamethrower: ["9M", "9L5"], + flamewheel: ["9L1"], + flareblitz: ["9M", "9L1"], + gigaimpact: ["9M"], + heatcrash: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M", "9L1"], + howl: ["9L1"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + ironhead: ["9M"], + leer: ["9L1"], + outrage: ["9M"], + overheat: ["9M"], + powergem: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + ragingfury: ["9L64"], + rest: ["9M"], + retaliate: ["9L1"], + reversal: ["9M", "9L1"], + roar: ["9M", "9L1"], + rockblast: ["9M"], + rockslide: ["9M", "9L1"], + rockthrow: ["9L1"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M"], + smartstrike: ["9M"], + snarl: ["9M"], + solarbeam: ["9M"], + stealthrock: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + takedown: ["9M", "9L1"], + terablast: ["9M"], + thief: ["9M"], + thunderfang: ["9M"], + wildcharge: ["9M"], + willowisp: ["9M"], + }, + }, + poliwag: { + learnset: { + amnesia: ["9M", "7V"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bellydrum: ["9L48", "8L48", "7L31", "7V", "6L31", "5L31", "4L31", "3L37"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9L30", "8M", "8L30", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3T", "3L31"], + bubble: ["8V", "7L11", "7V", "6L11", "5L5", "4L5", "3L1", "3S0"], + bubblebeam: ["9L18", "8L18", "8V", "7L25", "7E", "7V", "6L25", "6E", "5L25", "5E", "4L25", "4E", "3E"], + bulldoze: ["9M", "8M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L54", "8L54", "7V", "3T"], + doubleslap: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L19"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L36", "8M", "8L36"], + encore: ["9M", "8M", "7E", "6E", "5E", "4E"], + endeavor: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + focuspunch: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L42", "8M", "8L42", "8V", "7L38", "7V", "6L38", "5L38", "4L38", "3L43"], + hypnosis: ["9L1", "8L1", "8V", "7L8", "7V", "6L8", "5L8", "5D", "4L8", "3L7"], + iceball: ["7E", "6E", "5E", "4E", "3E"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + liquidation: ["9M"], + lowkick: ["9M", "8V"], + mimic: ["7V", "3T"], + mindreader: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + mist: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + mudbomb: ["7L41", "6L41", "5L41", "4L41"], + muddywater: ["9E", "8M"], + mudshot: ["9M", "9L12", "8M", "8L12", "7L28", "7E", "6L28", "6E", "5L28", "5E", "4L28", "4E"], + mudslap: ["9M"], + naturalgift: ["4M"], + pound: ["9L6", "8L6", "8V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "9L24", "8M", "8L24", "7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L25"], + refresh: ["7E", "6E", "5E", "4E"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "5D", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + splash: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["3S0"], + swift: ["9M"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + wakeupslap: ["7L35", "6L35", "5L35", "4L35"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "8V", "7L5", "7V", "6L5", "5L11", "4L11", "3L13"], + waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + watersport: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E", "3E"], + weatherball: ["9M"], + whirlpool: ["8M", "7V", "4M"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["bubble", "sweetkiss"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 5}, + {generation: 2, level: 3}, + ], + }, + poliwhirl: { + learnset: { + amnesia: ["9M", "7V"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bellydrum: ["9L56", "8L56", "7L37", "7V", "6L37", "5L37", "4L37", "3L43"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9L32", "8M", "8L32", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3T", "3L35"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubble: ["8V", "7L11", "7V", "6L11", "5L1", "4L1", "3L1"], + bubblebeam: ["9L18", "8L18", "8V", "7L27", "7V", "6L27", "5L27", "4L27"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L66", "8L66", "7V", "3T"], + doubleslap: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L19"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L40", "8M", "8L40"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M", "8M"], + endeavor: ["7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fissure: ["7V"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L48", "8M", "8L48", "8V", "7L48", "7V", "6L48", "5L48", "4L48", "3L51"], + hypnosis: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + liquidation: ["9M"], + lowkick: ["9M", "8V"], + lowsweep: ["9M"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M", "8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudbomb: ["7L53", "6L53", "5L53", "4L53"], + muddywater: ["8M"], + mudshot: ["9M", "9L1", "8M", "8L1", "7L32", "6L32", "5L32", "4L32"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + pound: ["9L1", "8L1", "8V"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "9L24", "8M", "8L24", "7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L27"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + wakeupslap: ["7L43", "6L43", "5L43", "4L43"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L11", "4L11", "3L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + watersport: ["7L1", "6L1", "5L1", "4L1"], + weatherball: ["9M"], + whirlpool: ["8M", "7V", "4M"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 20}, + {generation: 4, level: 10}, + {generation: 7, level: 24}, + {generation: 7, level: 22, gender: "F", nature: "Naughty", abilities: ["damp"], pokeball: "pokeball"}, + ], + }, + poliwrath: { + learnset: { + amnesia: ["9M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bellydrum: ["9L1", "8L1"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9L1", "8M", "8L1", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M", "3S0"], + bubble: ["8V"], + bubblebeam: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1"], + bulkup: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + circlethrow: ["9L1", "8L1", "7L1", "6L1", "5L53"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["7V"], + darkestlariat: ["8M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L1", "8L1", "7V", "3T"], + doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M"], + dualchop: ["7T"], + dynamicpunch: ["9L0", "8L1", "7L32", "7V", "6L32", "5L32", "4L43", "3T"], + earthpower: ["9M", "9L1", "8M", "8L1"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M", "8M"], + endeavor: ["7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fissure: ["7V"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M", "8V"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T", "3S0"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + hydropump: ["9M", "9L1", "8M", "8L1", "3S0"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + knockoff: ["9M"], + liquidation: ["9M", "8M"], + lowkick: ["9M"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M", "8M", "7V", "3T"], + mimic: ["7V", "3T"], + mindreader: ["8L1", "7L43", "7V", "6L43", "5L43", "4L53", "3L51"], + mist: ["8V"], + muddywater: ["8M"], + mudshot: ["9M", "9L1", "8M", "8L1"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + pound: ["9L1", "8L1", "8V"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "9L1", "8M", "8L1", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "8M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + superpower: ["8M", "8V"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M"], + takedown: ["9M", "7V"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + vacuumwave: ["9M", "4T"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "8V", "7V", "3L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["8M", "7V", "4M"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 3, level: 42, moves: ["helpinghand", "hydropump", "raindance", "brickbreak"]}, + ], + }, + politoed: { + learnset: { + amnesia: ["9M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bellydrum: ["9L1", "8L1"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9L1", "8M", "8L1", "3T"], + bounce: ["9L0", "8M", "8L0", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L37"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L1", "8L1", "3T"], + doubleslap: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "9L1", "8M", "8L1"], + earthquake: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endeavor: ["7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L1", "8M", "8L1"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "9L1", "8M", "8L1", "7T", "7L48", "6T", "6L48", "5T", "5L48", "4L48"], + hypnosis: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "7V", "6T", "5T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + liquidation: ["9M", "8M"], + lowkick: ["9M"], + lowsweep: ["9M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M", "8M", "3T"], + mimic: ["3T"], + muddywater: ["8M"], + mudshot: ["9M", "9L1", "8M", "8L1"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + perishsong: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + pound: ["9L1", "8L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "5S0", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L1", "8M", "8L1", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M", "5S0"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L1", "8L1", "7M", "7L27", "7V", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3T", "3L51"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7V", "3L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "7V", "4M"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Calm", ivs: {hp: 31, atk: 13, def: 31, spa: 5, spd: 31, spe: 5}, isHidden: true, moves: ["scald", "icebeam", "perishsong", "protect"], pokeball: "cherishball"}, + ], + }, + abra: { + learnset: { + allyswitch: ["8M", "7T", "7E", "6E", "5M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + calmmind: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8E"], + counter: ["7V", "3T"], + curse: ["7V"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + foulplay: ["8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "5D", "4T"], + guardsplit: ["8E", "7E", "6E", "5E"], + guardswap: ["8M", "7E", "6E", "5E", "4E"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + irontail: ["8M", "8V", "7T", "6T", "5T", "4M", "3M"], + knockoff: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + lightscreen: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + magiccoat: ["8E", "7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + powerswap: ["8M"], + powertrick: ["7E", "6E", "5E", "4E"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicterrain: ["8M", "7E"], + psychoshift: ["7E", "6E"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + speedswap: ["8M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 1, level: 6}, + ], + }, + kadabra: { + learnset: { + allyswitch: ["8M", "8L15", "7T", "7L36", "6L24", "5M", "5L24"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + calmmind: ["8M", "8L50", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + counter: ["7V", "3T"], + curse: ["7V"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + dig: ["8V", "7V"], + disable: ["8L1", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3L18"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["8M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flash: ["8V", "7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + foulplay: ["8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L45", "7L43", "7V", "6L43", "5L48", "4L42", "3L30"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + guardswap: ["8M"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "6T", "5T", "4M", "3M"], + kinesis: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + knockoff: ["7T", "6T", "5T", "4T"], + lightscreen: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + miracleeye: ["7L23", "6L22", "5L22", "4L22"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["8V"], + powerswap: ["8M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L5", "8V", "7L21", "7V", "6L21", "5L28", "4L24", "3L21"], + psychic: ["8M", "8L35", "8V", "7M", "7L38", "7V", "6M", "6L38", "5M", "5L46", "4M", "4L40", "3M", "3L36"], + psychicterrain: ["8M"], + psychocut: ["8M", "8L20", "7L28", "6L28", "5L40", "4L34"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "8L30", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["8L25", "8V", "7L31", "7V", "6L31", "5L36", "4L30", "3L25"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "8L10", "8V", "7M", "7L26", "7V", "6M", "6L26", "5M", "5L30", "4M", "4L28", "3M", "3L23"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["8L40", "7T", "7L41", "6T", "6L41", "5T", "5L42", "4T", "4L36", "3L33"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + speedswap: ["8M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "7L33", "6L33", "5M", "5L34"], + teleport: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["8M", "7T", "7L46", "6T", "6L46", "5T", "5L52", "4T", "4L46", "3L43"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 15}, + {generation: 7, level: 11, pokeball: "pokeball"}, + ], + }, + alakazam: { + learnset: { + allyswitch: ["8M", "8L15", "7T", "7L36", "6L24", "5M", "5L24"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["8V"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + calmmind: ["8M", "8L50", "8V", "7M", "7L41", "6M", "6L41", "5M", "5L42", "4M", "4L36", "3M", "3L33", "3S0"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + counter: ["7V", "3T"], + curse: ["7V"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + dig: ["8V", "7V"], + disable: ["8L1", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3L18"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["8M", "8V"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flash: ["8V", "7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + foulplay: ["8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L45", "7L43", "7V", "6L43", "5L48", "4L42", "3L30", "3S0"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + guardswap: ["8M"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["8M"], + irontail: ["8M", "8V", "7T", "6T", "5T", "4M", "3M"], + kinesis: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + knockoff: ["7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lightscreen: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + miracleeye: ["7L23", "6L22", "5L22", "4L22"], + nastyplot: ["8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["8V"], + powerswap: ["8M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L5", "8V", "7L21", "7V", "6L21", "5L28", "4L24", "3L21"], + psychic: ["8M", "8L35", "8V", "7M", "7L38", "7V", "6M", "6L38", "5M", "5L46", "4M", "4L40", "3M", "3L36", "3S0"], + psychicterrain: ["8M"], + psychocut: ["8M", "8L20", "7L28", "6L28", "5L40", "4L34"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "8L30", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["8L25", "8V", "7L31", "7V", "6L31", "5L36", "4L30", "3L25"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "8L10", "8V", "7M", "7L26", "7V", "6M", "6L26", "5M", "5L30", "4M", "4L28", "3M", "3L23"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["8L40", "7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + speedswap: ["8M"], + storedpower: ["8M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "7L33", "6L33", "5M", "5L34"], + teleport: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["8M", "7T", "7L46", "6T", "6L46", "5T", "5L52", "4T", "4L46", "3L43", "3S0"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["futuresight", "calmmind", "psychic", "trick"], pokeball: "pokeball"}, + ], + }, + machop: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["8V", "7V"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M", "8L36", "8V", "7M", "7L37", "6M", "6L37", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletpunch: ["8E", "7E", "6E", "5E", "5D", "4E"], + captivate: ["4M"], + closecombat: ["8M", "7E", "6E", "5E", "4E"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + crosschop: ["8L48", "7L39", "7V", "6L39", "5L43", "4L37", "3L40"], + curse: ["7V"], + detect: ["7V"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["8L52", "7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualchop: ["8L32", "7T", "7L31", "6T", "6L31", "5T"], + dynamicpunch: ["8L44", "7L45", "7V", "6L45", "5L49", "4L46", "3T", "3L49"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L4", "8V", "7L3", "7V", "6L3", "5L7", "4L7", "3L7"], + focuspunch: ["7T", "6T", "4M", "3M"], + foresight: ["7L9", "7V", "6L9", "5L19", "4L13", "3L22"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + heavyslam: ["8M", "7E", "6E", "5E"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "5D", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + incinerate: ["6M", "5M"], + karatechop: ["8V", "7L7", "7V", "6L7", "5L10", "4L10", "3L13"], + knockoff: ["8L16", "7T", "7L21", "7E", "6T", "6L21", "6E", "5T", "5E"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "8V", "7M", "7V", "6M", "5M", "4E", "3E"], + lowkick: ["8M", "8L1", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "5D", "4T", "4L1", "3L1"], + lowsweep: ["8M", "8L12", "7M", "7L13", "6M", "6L13", "5M", "5L13"], + meditate: ["7E", "7V", "6E", "5E", "4E", "3E"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + powertrick: ["7E", "6E", "5E", "4E"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickguard: ["8E", "7E", "6E"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "8L8", "7L19", "6L19", "5L25", "4L22", "3L25"], + reversal: ["8M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollingkick: ["7E", "7V", "6E", "5E", "4E", "3E"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L20", "7L43", "7V", "6L43", "5L46", "4L43", "3L43"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8L40", "8V", "7L15", "7V", "6L15", "5L22", "4L19", "3T", "3L19"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["8L29", "7V", "6M", "5M", "4M", "3M"], + submission: ["8E", "8V", "7L33", "7V", "6L33", "5L34", "4L31", "3L37"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + tickle: ["8E", "7E", "6E", "5E"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + vacuumwave: ["4T"], + vitalthrow: ["8L24", "7L25", "7V", "6L25", "5L31", "4L25", "3L31"], + wakeupslap: ["7L27", "6L27", "5L37", "4L34"], + workup: ["8M", "7M", "5M"], + }, + encounters: [ + {generation: 1, level: 15}, + ], + }, + machoke: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["8V", "7V"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M", "8L42", "8V", "7M", "7L43", "6M", "6L43", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + crosschop: ["8L60", "7L47", "7V", "6L44", "5L44", "4L40", "3L46"], + curse: ["7V"], + detect: ["7V"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["8L66", "7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualchop: ["8L36", "7T", "7L33", "6T", "6L33", "5T"], + dynamicpunch: ["8L54", "7L57", "7V", "6L55", "5L55", "4L51", "3T", "3L59"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["8M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["7T", "6T", "4M", "3M"], + foresight: ["7L9", "7V", "6L9", "5L19", "5S0", "4L13", "3L22"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + heavyslam: ["8M"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + karatechop: ["8V", "7L1", "7V", "6L1", "5L1", "4L10", "3L13"], + knockoff: ["8L16", "7T", "7L21", "6T", "6L21", "5T"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "8V", "7M", "6M", "5M"], + lowkick: ["8M", "8L1", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + lowsweep: ["8M", "8L12", "7M", "7L13", "6M", "6L13", "5M", "5L13", "5S0"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "8L1", "7L19", "6L19", "5L25", "5S0", "4L22", "3L25"], + reversal: ["8M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L20", "7L53", "7V", "6L51", "5L51", "4L44", "3L51"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8L48", "8V", "7L15", "7V", "6L15", "5L22", "5S0", "4L19", "3T", "3L19"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stompingtantrum: ["8M", "7T"], + strength: ["8L31", "7V", "6M", "5M", "4M", "3M"], + submission: ["8V", "7L37", "7V", "6L36", "5L36", "4L32", "3L41"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + vacuumwave: ["4T"], + vitalthrow: ["8L24", "7L25", "7V", "6L25", "5L32", "4L25", "3L33"], + wakeupslap: ["7L27", "6L27", "5L40", "4L36"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["lowsweep", "foresight", "seismictoss", "revenge"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 2, level: 14}, + {generation: 4, level: 14}, + ], + }, + machamp: { + learnset: { + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["8V", "7V"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M", "8L42", "8V", "7M", "7L43", "7S3", "6M", "6L43", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["8V", "7V", "3T"], + crosschop: ["8L60", "7L47", "7V", "6L44", "5L44", "4L40", "3L46"], + crosspoison: ["8M"], + curse: ["7V"], + darkestlariat: ["8M"], + detect: ["7V"], + dig: ["8M", "8V", "7V", "6M", "6S2", "5M", "4M", "3M"], + doubleedge: ["8L66", "7V", "7S3", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualchop: ["8L36", "7T", "7L33", "6T", "6L33", "5T"], + dynamicpunch: ["8L54", "7L57", "7V", "6L55", "6S1", "6S2", "5L55", "4L51", "3T", "3L59"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["8M", "8V"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L1", "8V", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1"], + focuspunch: ["7T", "6T", "4M", "3M"], + foresight: ["7L9", "7V", "6L9", "5L19", "4L13", "3L22", "3S0"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + heavyslam: ["8M"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + karatechop: ["8V", "7L1", "7V", "6L1", "5L1", "4L10", "3L13"], + knockoff: ["8L16", "7T", "7L21", "6T", "6L21", "6S1", "5T"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "8V", "7M", "6M", "5M"], + lowkick: ["8M", "8L1", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + lowsweep: ["8M", "8L12", "7M", "7L13", "6M", "6L13", "5M", "5L13"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickguard: ["7S3"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "8L1", "7L19", "6L19", "5L25", "4L22", "3L25", "3S0"], + reversal: ["8M"], + rockblast: ["8M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L20", "7L53", "7V", "6L51", "5L51", "4L44", "3L51"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8L48", "8V", "7L15", "7V", "6L15", "6S2", "5L22", "4L19", "3T", "3L19", "3S0"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "6S1", "5M", "4M"], + strength: ["8L31", "8V", "7L1", "7V", "7S3", "6M", "5M", "4M", "3M"], + submission: ["8V", "7L37", "7V", "6L36", "5L36", "4L32", "3L41"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + vacuumwave: ["4T"], + vitalthrow: ["8L24", "7L25", "7V", "6L25", "5L32", "4L25", "3L33", "3S0"], + wakeupslap: ["7L27", "6L27", "5L40", "4L36"], + wideguard: ["8L1", "7L1", "6L1", "6S1", "5L1"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 3, level: 38, gender: "M", nature: "Quiet", ivs: {hp: 9, atk: 23, def: 25, spa: 20, spd: 15, spe: 10}, abilities: ["guts"], moves: ["seismictoss", "foresight", "revenge", "vitalthrow"], pokeball: "pokeball"}, + {generation: 6, level: 50, shiny: true, gender: "M", nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}, abilities: ["noguard"], moves: ["dynamicpunch", "stoneedge", "wideguard", "knockoff"], pokeball: "cherishball"}, + {generation: 6, level: 39, gender: "M", nature: "Hardy", abilities: ["noguard"], moves: ["seismictoss", "dynamicpunch", "dig", "focusenergy"], pokeball: "cherishball"}, + {generation: 7, level: 34, gender: "F", nature: "Brave", ivs: {atk: 31}, abilities: ["guts"], moves: ["strength", "bulkup", "quickguard", "doubleedge"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 16}, + {generation: 2, level: 5}, + ], + }, + bellsprout: { + learnset: { + acid: ["9L23", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L23"], + acidspray: ["9M", "7E", "6E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["7E", "6E"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + bulletseed: ["9M", "7E", "6E", "5E", "4M", "3M"], + captivate: ["4M"], + clearsmog: ["9E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["9L35", "7T", "7L35", "6T", "6L35", "5T", "5L35", "4T", "4L35"], + gigadrain: ["9M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L7", "8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L6", "3S1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + ingrain: ["9E", "7E", "6E", "5E", "4E", "3E"], + knockoff: ["9M", "9L27", "7T", "7L27", "6T", "6L27", "5T", "5L27", "4T", "4L27"], + leafstorm: ["9M"], + leechlife: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + lunge: ["9M"], + magicalleaf: ["9M", "7E", "6E", "5E", "4E", "3E"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + naturepower: ["7M", "6M"], + poisonjab: ["9M", "9L41", "8V", "7M", "7L41"], + poisonpowder: ["9L15", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L17"], + pounce: ["9M"], + powerwhip: ["9L52", "7E", "6E", "5E"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["9L39", "8V", "7L39", "7V", "6L39", "5L39", "4L39", "3L37"], + reflect: ["9M", "8V", "7M", "7V", "6M", "5M", "4E", "3E"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "5D", "4T"], + slam: ["9L47", "8V", "7L47", "7V", "6L41", "5L41", "4L41", "3L45"], + sleeppowder: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + strengthsap: ["9E", "7E"], + stunspore: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L19"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9E", "4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["9L29", "7L29", "7V", "6L29", "5L29", "4L29", "3L30"], + swordsdance: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + synthesis: ["9E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + takedown: ["7V"], + teeterdance: ["3S0"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + tickle: ["9E", "7E", "6E", "5E", "4E"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "7M", "6M", "5M"], + vinewhip: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0", "3S1"], + weatherball: ["9M", "7E", "6E", "5E", "4E"], + worryseed: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + wrap: ["9L11", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L11"], + wringout: ["7L50", "6L47", "5L47", "4L47"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["vinewhip", "teeterdance"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["vinewhip", "growth"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 12}, + {generation: 2, level: 3}, + ], + }, + weepinbell: { + learnset: { + acid: ["9L24", "8V", "7L24", "7V", "6L23", "5L23", "4L23", "3L24"], + acidspray: ["9M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + bodyslam: ["9M"], + bugbite: ["9M", "5T"], + bulletseed: ["9M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["9L39", "7T", "7L39", "6T", "6L35", "5T", "5L35", "4T", "4L35"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + knockoff: ["9M", "9L29", "7T", "7L29", "6T", "6L27", "5T", "5L27", "4T", "4L27"], + leafstorm: ["9M"], + leechlife: ["9M"], + lunge: ["9M"], + magicalleaf: ["9M", "3S0"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + morningsun: ["3S0"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + poisonjab: ["9M", "9L47", "8V", "7M", "7L47"], + poisonpowder: ["9L15", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L17"], + pounce: ["9M"], + powerwhip: ["9L58"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["9L44", "8V", "7L44", "7V", "6L39", "5L39", "4L39", "3L42"], + reflect: ["9M", "8V", "7M", "7V", "6M", "5M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + slam: ["9L54", "8V", "7L54", "7V", "6L41", "5L41", "4L41", "3L54"], + sleeppowder: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L15"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stunspore: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L19"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["9L32", "7L32", "7V", "6L29", "5L29", "4L29", "3L33", "3S0"], + swift: ["9M"], + swordsdance: ["9M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "7M", "6M", "5M"], + vinewhip: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + weatherball: ["9M"], + worryseed: ["7T", "6T", "5T", "4T"], + wrap: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + wringout: ["7L58", "6L47", "5L47", "4L47"], + }, + eventData: [ + {generation: 3, level: 32, moves: ["morningsun", "magicalleaf", "sludgebomb", "sweetscent"]}, + ], + encounters: [ + {generation: 2, level: 12}, + {generation: 4, level: 10}, + ], + }, + victreebel: { + learnset: { + acid: ["8V", "7V"], + acidspray: ["9M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + bodyslam: ["9M", "7V", "3T"], + bugbite: ["9M", "5T"], + bulletseed: ["9M", "4M", "3M"], + captivate: ["4M"], + clearsmog: ["8V"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["9L1", "7T", "6T", "5T", "4T"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["8V"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + leafblade: ["9L44", "7L44", "6L47", "5L47", "4L47"], + leafstorm: ["9M", "9L0", "7L32", "6L47", "5L47", "4L47"], + leaftornado: ["7L1", "6L27", "5L27"], + leechlife: ["9M", "8V"], + lunge: ["9M"], + magicalleaf: ["9M"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + poisonjab: ["9M", "8V", "7M"], + poisonpowder: ["7V"], + pounce: ["9M"], + powerwhip: ["9L1", "8V"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + razorleaf: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + reflect: ["9M", "8V", "7M", "7V", "6M", "5M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + sleeppowder: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + spitup: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + stockpile: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + stunspore: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["8V", "4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sweetscent: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swift: ["9M"], + swordsdance: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venoshock: ["9M", "7M", "6M", "5M"], + vinewhip: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + weatherball: ["9M"], + worryseed: ["7T", "6T", "5T", "4T"], + wrap: ["8V", "7V"], + }, + }, + tentacool: { + learnset: { + acid: ["8L4", "8V", "7L10", "7V", "6L10", "5L12", "4L12", "3L19"], + acidarmor: ["8L32"], + acidspray: ["7L22", "6L22", "5L26"], + acupressure: ["8E", "7E", "6E", "5E", "5D", "4E"], + aquaring: ["8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + barrier: ["8V", "7L28", "7V", "6L28", "5L29", "4L26", "3L36"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + brine: ["8M", "7L34", "6L34", "4M"], + brutalswing: ["8M"], + bubble: ["7E", "6E", "5E"], + bubblebeam: ["8L24", "8V", "7L25", "7V", "6L19", "5L19", "4L19", "3L25"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E", "4E", "3E"], + constrict: ["8V", "7L7", "7V", "6L7", "5L8", "4L8", "3L12"], + crosspoison: ["8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V"], + hex: ["8M", "8L28", "7L40", "6L40", "5L43"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L48", "8V", "7L46", "7V", "6L46", "5L47", "4L40", "3L49"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + magiccoat: ["7T", "6T", "5T", "4T"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + mirrorcoat: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + muddywater: ["8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["8M", "8L36", "8V", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L33"], + poisonsting: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rapidspin: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + scald: ["8M", "8V", "7M", "6M", "5M"], + screech: ["8M", "8L20", "8V", "7L37", "7V", "6L37", "5L40", "4L36", "3L43"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "8L44", "7M", "7L43", "6M", "6L43", "5M", "5L50"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["8L12", "8V", "7L4", "7V", "6L4", "5L5", "5D", "4L5", "3L6"], + surf: ["8M", "8L40", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + tickle: ["8E", "7E", "6E", "5E"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "7L13", "6L13", "5L15", "4L15"], + venoshock: ["8M", "7M", "6M", "5M"], + waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7V"], + waterpulse: ["8L16", "7T", "7L16", "6T", "6L16", "5L33", "4M", "4L29", "3M"], + whirlpool: ["8M", "7V", "4M"], + wrap: ["8L8", "8V", "7L19", "7V", "6L19", "5L22", "4L22", "3L30"], + wringout: ["7L49", "6L49", "5L54", "4L43"], + }, + encounters: [ + {generation: 1, level: 5}, + ], + }, + tentacruel: { + learnset: { + acid: ["8L1", "8V", "7L1", "7V", "6L1", "5L12", "4L12", "3L19"], + acidarmor: ["8L34"], + acidspray: ["7L22", "6L22", "5L26"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["8V", "7L28", "7V", "6L28", "5L29", "4L26", "3L38"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + brine: ["8M", "7L36", "6L36", "4M"], + brutalswing: ["8M"], + bubblebeam: ["8L24", "8V", "7L25", "7V", "6L19", "5L19", "4L19", "3L25"], + captivate: ["4M"], + confide: ["7M", "6M"], + constrict: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + corrosivegas: ["8T"], + crosspoison: ["8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["8V"], + headbutt: ["8V"], + hex: ["8M", "8L28", "7L44", "6L44", "5L47"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L58", "8V", "7L52", "7V", "6L52", "5L52", "4L49", "3L55"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + knockoff: ["7T", "6T", "5T", "4T"], + magiccoat: ["7T", "6T", "5T", "4T"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + mirrorcoat: ["8V"], + muddywater: ["8M"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["8M", "8L40", "8V", "7M", "7L32", "6M", "6L32", "5M", "5L38", "4M", "4L36"], + poisonsting: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + reflecttype: ["8L1", "7L1", "6L1"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + screech: ["8M", "8L20", "8V", "7L40", "7V", "6L40", "5L43", "4L42", "3L47"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "8L52", "7M", "7L48", "6M", "6L48", "5M", "5L56"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["8L12", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + surf: ["8M", "8L46", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "7L13", "6L13", "5L15", "4L15"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7V"], + waterpulse: ["8L16", "7T", "7L16", "6T", "6L16", "5L34", "4M", "4L29", "3M"], + whirlpool: ["8M", "7V", "4M"], + wrap: ["8L1", "8V", "7L19", "7V", "6L19", "5L22", "4L22", "3L30"], + wringout: ["7L1", "6L1", "5L61", "4L55"], + }, + encounters: [ + {generation: 1, level: 20}, + {generation: 2, level: 20}, + {generation: 3, level: 20}, + {generation: 4, level: 15}, + {generation: 6, level: 21, maxEggMoves: 1}, + ], + }, + geodude: { + learnset: { + ancientpower: ["4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + autotomize: ["7E", "6E", "5E"], + bide: ["8V", "7V"], + block: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L12", "7M", "7L22", "6M", "6L22", "5M", "5L32"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["9E", "7E", "7V", "6E", "5E", "4E"], + defensecurl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3T", "3L1"], + dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L40", "8V", "7L40", "7V", "6L40", "5L46", "4L36", "3T", "3L46"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["9E", "7V", "3T"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L34", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L39", "4M", "4L29", "3M", "3L36"], + endure: ["9M", "7E", "7V", "6E", "5E", "4M", "3T"], + explosion: ["9L36", "8V", "7M", "7L36", "7V", "6M", "6L36", "5M", "5L43", "4M", "4L32", "3T", "3L41"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flail: ["9E", "7E", "6E", "5E", "4E"], + flamethrower: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["9M", "7M", "6M", "5M", "4M"], + hammerarm: ["9E", "7E", "6E", "5E", "4E"], + harden: ["7V"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "7T", "6T", "5T"], + magnitude: ["7L12", "7V", "6L12", "5L15", "4L15", "3L16"], + megapunch: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + metronome: ["9M", "7V", "3T"], + mimic: ["7V", "3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + mudsport: ["7L4", "6L4", "5L4", "4L4", "3L6"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "9L30", "7L30", "6L22", "5L22", "4L25", "3L31"], + rockclimb: ["7E", "6E", "5E", "5D", "4M"], + rockpolish: ["9L6", "7M", "7L6", "6M", "6L6", "5M", "5L8", "4M", "4L8"], + rockslide: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["9L16", "8V", "7L16", "7V", "6L16", "5L11", "4L11", "3L11"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L10", "7L10", "7V", "6L10", "5L18", "4T", "4L22", "3T", "3L26"], + round: ["7M", "6M", "5M"], + sandattack: ["8V"], + sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["9L24", "8V", "7L24", "7V", "6L24", "5L29", "4L18", "3T", "3L21"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L18", "7M", "7L18", "6M", "6L18", "5M", "5L25"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["9M", "9L28", "8V", "7T", "7L28", "6T", "6L28", "5T", "5L36", "5D", "4M"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "9L42", "7M", "7L42", "6M", "6L42", "5M", "5L50", "4M", "4L39"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "8V", "7V"], + terablast: ["9M"], + thunderpunch: ["9M", "8V", "7T", "6T", "5T", "4T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + wideguard: ["9E", "7E", "6E"], + }, + encounters: [ + {generation: 1, level: 7}, + {generation: 2, level: 2}, + ], + }, + geodudealola: { + learnset: { + attract: ["7M"], + autotomize: ["7E"], + bide: ["8V"], + block: ["9E", "7T", "7E"], + bodyslam: ["9M"], + brickbreak: ["9M", "8V", "7M"], + brutalswing: ["7M"], + bulldoze: ["9M", "7M"], + charge: ["9M", "9L4", "7L4"], + chargebeam: ["9M", "7M"], + confide: ["7M"], + counter: ["9E", "7E"], + curse: ["9E", "7E"], + defensecurl: ["9L1", "8V", "7L1"], + dig: ["9M", "8V"], + discharge: ["9L34", "7L34"], + doubleedge: ["9L40", "8V", "7L40"], + doubleteam: ["7M"], + earthpower: ["9M", "7T"], + earthquake: ["9M", "8V", "7M"], + electroweb: ["7T"], + endure: ["9M", "9E", "7E"], + explosion: ["9L36", "8V", "7M", "7L36"], + facade: ["9M", "8V", "7M"], + fireblast: ["9M", "8V", "7M"], + firepunch: ["9M", "8V", "7T"], + flail: ["9E", "7E"], + flamethrower: ["9M", "8V", "7M"], + fling: ["9M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + gyroball: ["9M", "7M"], + headbutt: ["8V"], + hiddenpower: ["7M"], + highhorsepower: ["9M"], + irondefense: ["9M", "7T"], + magnetrise: ["7T", "7E"], + mudshot: ["9M"], + mudslap: ["9M"], + naturepower: ["7M"], + protect: ["9M", "8V", "7M"], + rest: ["9M", "8V", "7M"], + return: ["7M"], + rockblast: ["9M", "9L30", "7L30"], + rockclimb: ["7E"], + rockpolish: ["9L6", "7M", "7L6"], + rockslide: ["9M", "8V", "7M"], + rockthrow: ["9L16", "8V", "7L16"], + rocktomb: ["9M", "7M"], + rollout: ["9L10", "7L10"], + round: ["7M"], + sandstorm: ["9M", "7M"], + screech: ["9E", "7E"], + seismictoss: ["8V"], + selfdestruct: ["9L24", "8V", "7L24"], + sleeptalk: ["9M", "7M"], + smackdown: ["9M", "9L18", "7M", "7L18"], + snore: ["7T"], + spark: ["9L12", "7L12"], + stealthrock: ["9M", "9L28", "8V", "7T", "7L28"], + stoneedge: ["9M", "9L42", "7M", "7L42"], + substitute: ["9M", "8V", "7M"], + sunnyday: ["9M", "7M"], + superpower: ["8V", "7T"], + swagger: ["7M"], + tackle: ["9L1", "8V", "7L1"], + takedown: ["9M", "8V"], + terablast: ["9M"], + thunder: ["9M", "8V", "7M"], + thunderbolt: ["9M", "8V", "7M"], + thunderpunch: ["9M", "9L22", "8V", "7T", "7L22"], + thundershock: ["8V"], + thunderwave: ["9M", "8V"], + toxic: ["8V", "7M"], + voltswitch: ["9M", "7M"], + wideguard: ["9E", "7E"], + wildcharge: ["9M"], + zapcannon: ["9E"], + }, + }, + graveler: { + learnset: { + ancientpower: ["4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["8V", "7V"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L12", "7M", "7L22", "6M", "6L22", "5M", "5L36"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["7V"], + defensecurl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L50", "8V", "7L50", "7V", "6L50", "5L58", "4L44", "3T", "3L62"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L40", "8V", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L47", "4M", "4L33", "3M", "3L45"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["9L44", "8V", "7M", "7L44", "7V", "6M", "6L44", "5M", "5L53", "4M", "4L38", "3T", "3L53"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["7M", "6M", "5M", "4M"], + harden: ["7V"], + headbutt: ["8V", "7V", "4T"], + heavyslam: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "7T", "6T", "5T"], + ironhead: ["9M"], + magnitude: ["7L12", "7V", "6L12", "5L15", "4L15", "3L16"], + megapunch: ["7V", "3T"], + metronome: ["9M", "7V", "3T"], + mimic: ["7V", "3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "9L34", "7L34", "6L22", "5L22", "4L27", "3L37"], + rockclimb: ["4M"], + rockpolish: ["9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + rockslide: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["9L16", "8V", "7L16", "7V", "6L16", "5L11", "4L11", "3L1"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L10", "7L10", "7V", "6L10", "5L18", "4T", "4L22", "3T", "3L29"], + round: ["7M", "6M", "5M"], + sandattack: ["8V"], + sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["9L24", "8V", "7L24", "7V", "6L24", "5L31", "4L18", "3T", "3L21"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L18", "7M", "7L18", "6M", "6L18", "5M", "5L27"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["9M", "9L30", "8V", "7T", "7L30", "6T", "6L30", "5T", "5L42", "4M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "9L54", "7M", "7L54", "6M", "6L54", "5M", "5L64", "4M", "4L49"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "8V", "7V"], + terablast: ["9M"], + thunderpunch: ["9M", "8V", "7T", "6T", "5T", "4T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + }, + encounters: [ + {generation: 2, level: 23}, + {generation: 4, level: 16, pokeball: "safariball"}, + {generation: 6, level: 24}, + ], + }, + graveleralola: { + learnset: { + allyswitch: ["7T"], + attract: ["7M"], + bide: ["8V"], + block: ["7T"], + bodyslam: ["9M"], + brickbreak: ["9M", "8V", "7M"], + brutalswing: ["7M"], + bulldoze: ["9M", "7M"], + charge: ["9M", "9L1", "7L1"], + chargebeam: ["9M", "7M"], + confide: ["7M"], + defensecurl: ["9L1", "8V", "7L1"], + dig: ["9M", "8V"], + discharge: ["9L40", "7L40"], + doubleedge: ["9L50", "8V", "7L50"], + doubleteam: ["7M"], + earthpower: ["9M", "7T"], + earthquake: ["9M", "8V", "7M"], + electricterrain: ["9M"], + electroweb: ["7T"], + endure: ["9M"], + explosion: ["9L44", "8V", "7M", "7L44"], + facade: ["9M", "8V", "7M"], + fireblast: ["9M", "8V", "7M"], + firepunch: ["9M", "8V", "7T"], + flamethrower: ["9M", "8V", "7M"], + fling: ["9M", "7M"], + focusblast: ["9M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + gyroball: ["9M", "7M"], + headbutt: ["8V"], + hiddenpower: ["7M"], + highhorsepower: ["9M"], + irondefense: ["9M", "7T"], + magnetrise: ["7T"], + metronome: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + naturepower: ["7M"], + protect: ["9M", "8V", "7M"], + rest: ["9M", "8V", "7M"], + return: ["7M"], + rockblast: ["9M", "9L34", "7L34"], + rockpolish: ["9L1", "7M", "7L1"], + rockslide: ["9M", "8V", "7M"], + rockthrow: ["9L16", "8V", "7L16"], + rocktomb: ["9M", "7M"], + rollout: ["9L10", "7L10"], + round: ["7M"], + sandstorm: ["9M", "7M"], + scaryface: ["9M"], + seismictoss: ["8V"], + selfdestruct: ["9L24", "8V", "7L24"], + shockwave: ["7T"], + sleeptalk: ["9M", "7M"], + smackdown: ["9M", "9L18", "7M", "7L18"], + snore: ["7T"], + spark: ["9L12", "7L12"], + stealthrock: ["9M", "9L30", "8V", "7T", "7L30"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "9L54", "7M", "7L54"], + substitute: ["9M", "8V", "7M"], + sunnyday: ["9M", "7M"], + superpower: ["8V", "7T"], + swagger: ["7M"], + tackle: ["9L1", "8V", "7L1"], + takedown: ["9M", "8V"], + terablast: ["9M"], + thunder: ["9M", "8V", "7M"], + thunderbolt: ["9M", "8V", "7M"], + thunderpunch: ["9M", "9L22", "8V", "7T", "7L22"], + thundershock: ["8V"], + thunderwave: ["9M", "8V"], + toxic: ["8V", "7M"], + voltswitch: ["9M", "7M"], + wildcharge: ["9M"], + }, + }, + golem: { + learnset: { + ancientpower: ["4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["8V", "7V"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L36"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["7V"], + defensecurl: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + dig: ["9M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L50", "8V", "7L50", "7V", "6L50", "5L58", "4L44", "3T", "3L62"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L40", "8V", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L47", "4M", "4L33", "3M", "3L45"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["9L44", "8V", "7M", "7L44", "7V", "6M", "6L44", "5M", "5L53", "4M", "4L38", "3T", "3L53"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "7M", "6M", "5M", "4M"], + harden: ["7V"], + headbutt: ["8V", "7V", "4T"], + heavyslam: ["9M", "9L1", "7L1", "6L1", "5L69"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "7T", "6T", "5T"], + ironhead: ["9M", "7T", "6T", "5T", "4T"], + magnitude: ["7L12", "7V", "6L12", "5L15", "4L15", "3L16"], + megakick: ["7V", "3T"], + megapunch: ["8V", "7V", "3T"], + metronome: ["9M", "7V", "3T"], + mimic: ["7V", "3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "9L34", "7L34", "6L22", "5L22", "4L27", "3L37"], + rockclimb: ["4M"], + rockpolish: ["9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + rockslide: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["9L16", "8V", "7L16", "7V", "6L16", "5L11", "4L11", "3L1"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "4L22", "3T", "3L29"], + round: ["7M", "6M", "5M"], + sandattack: ["8V"], + sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["9L24", "8V", "7L24", "7V", "6L24", "5L31", "4L18", "3T", "3L21"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L18", "7M", "7L18", "6M", "6L18", "5M", "5L27"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["9M", "9L30", "8V", "7T", "7L30", "6T", "6L30", "5T", "5L42", "4M"], + steamroller: ["7L10", "6L10", "5L18"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "9L54", "7M", "7L54", "6M", "6L54", "5M", "5L64", "4M", "4L49"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "8V", "7V"], + terablast: ["9M"], + thunderpunch: ["9M", "8V", "7T", "6T", "5T", "4T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + }, + }, + golemalola: { + learnset: { + allyswitch: ["7T"], + attract: ["7M"], + bide: ["8V"], + block: ["7T"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8V", "7M"], + brutalswing: ["7M"], + bulldoze: ["9M", "7M"], + charge: ["9M", "9L1", "7L1"], + chargebeam: ["9M", "7M"], + confide: ["7M"], + defensecurl: ["9L1", "8V", "7L1"], + dig: ["9M", "8V"], + discharge: ["9L40", "7L40"], + doubleedge: ["9L50", "8V", "7L50"], + doubleteam: ["7M"], + earthpower: ["9M", "7T"], + earthquake: ["9M", "8V", "7M"], + echoedvoice: ["7M"], + electricterrain: ["9M"], + electroweb: ["7T"], + endure: ["9M"], + explosion: ["9L44", "8V", "7M", "7L44"], + facade: ["9M", "8V", "7M"], + fireblast: ["9M", "8V", "7M"], + firepunch: ["9M", "8V", "7T"], + flamethrower: ["9M", "8V", "7M"], + fling: ["9M", "7M"], + focusblast: ["9M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + gigaimpact: ["9M", "7M"], + gyroball: ["9M", "7M"], + headbutt: ["8V"], + heavyslam: ["9M", "9L1", "7L1"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8V", "7M"], + irondefense: ["9M", "7T"], + ironhead: ["9M", "7T"], + magnetrise: ["7T"], + megapunch: ["8V"], + metronome: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + naturepower: ["7M"], + protect: ["9M", "8V", "7M"], + rest: ["9M", "8V", "7M"], + return: ["7M"], + roar: ["9M", "7M"], + rockblast: ["9M", "9L34", "7L34"], + rockpolish: ["9L1", "7M", "7L1"], + rockslide: ["9M", "8V", "7M"], + rockthrow: ["9L16", "8V", "7L16"], + rocktomb: ["9M", "7M"], + round: ["7M"], + sandstorm: ["9M", "7M"], + scaryface: ["9M"], + seismictoss: ["8V"], + selfdestruct: ["9L24", "8V", "7L24"], + shockwave: ["7T"], + sleeptalk: ["9M", "7M"], + smackdown: ["9M", "9L18", "7M", "7L18"], + snore: ["7T"], + spark: ["9L12", "7L12"], + stealthrock: ["9M", "9L30", "8V", "7T", "7L30"], + steamroller: ["7L10"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "9L54", "7M", "7L54"], + substitute: ["9M", "8V", "7M"], + sunnyday: ["9M", "7M"], + superpower: ["8V", "7T"], + swagger: ["7M"], + tackle: ["9L1", "8V", "7L1"], + takedown: ["9M", "8V"], + terablast: ["9M"], + thunder: ["9M", "8V", "7M"], + thunderbolt: ["9M", "8V", "7M"], + thunderpunch: ["9M", "9L22", "8V", "7T", "7L22"], + thundershock: ["8V"], + thunderwave: ["9M", "8V"], + toxic: ["8V", "7M"], + voltswitch: ["9M", "7M"], + wildcharge: ["9M", "7M"], + }, + }, + ponyta: { + learnset: { + agility: ["8M", "8L20", "8V", "7L37", "7V", "6L37", "5L37", "4L33", "3L38"], + allyswitch: ["8M", "7T", "7E", "6E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + bounce: ["8M", "7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L42", "3L45"], + captivate: ["7E", "6E", "5E", "4M"], + charm: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + confide: ["7M", "6M"], + curse: ["7V"], + doubleedge: ["8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + doublekick: ["8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["8L10", "8V", "7L9", "7V", "6L9", "5L9", "4L10", "3L14"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8L50", "8V", "7M", "7L41", "7V", "6M", "6L41", "5M", "5L41", "4M", "4L37", "3M", "3L53"], + firespin: ["8M", "8L35", "8V", "7L25", "7V", "6L25", "5L25", "4L24", "3L25"], + flamecharge: ["8L15", "7M", "7L21", "6M", "6L21", "5M", "5L21"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flamewheel: ["8L25", "7L13", "7E", "7V", "6L13", "6E", "5L13", "5E", "4L15", "4E", "3E"], + flareblitz: ["8M", "8L55", "8V", "7L49", "6L49", "5L49", "4L46"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L5"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "5D", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M", "7E"], + horndrill: ["8E", "7E", "7V", "6E", "5E", "4E"], + hypnosis: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + incinerate: ["6M", "5M"], + inferno: ["8L45", "7L33", "6L33", "5L33"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lowkick: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + mimic: ["7V", "3T"], + morningsun: ["8E", "7E", "6E", "5E", "4E"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + playrough: ["8M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["8V", "7V", "3L1"], + rage: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + solarblade: ["8M"], + stomp: ["8L30", "8V", "7L17", "7V", "6L17", "5L17", "4L19", "3L19"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + tailwhip: ["8L5", "8V", "7L4", "7V", "6L4", "5L4", "4L6", "3L9"], + takedown: ["8L41", "8V", "7L29", "7V", "6L29", "5L29", "4L28", "3L31"], + thrash: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + wildcharge: ["8M", "7M", "6M", "5M"], + willowisp: ["8M", "8V", "7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 1, level: 28}, + ], + }, + ponytagalar: { + learnset: { + agility: ["8M", "8L20"], + allyswitch: ["8M"], + attract: ["8M"], + bodyslam: ["8M"], + bounce: ["8M"], + calmmind: ["8M"], + charm: ["8M"], + confusion: ["8L10", "8S0"], + dazzlinggleam: ["8M", "8L45"], + doubleedge: ["8E"], + doublekick: ["8E"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M"], + fairywind: ["8L15", "8S0"], + futuresight: ["8M"], + growl: ["8L1", "8S0"], + healingwish: ["8L55"], + healpulse: ["8L35"], + highhorsepower: ["8M"], + horndrill: ["8E"], + hypnosis: ["8E"], + imprison: ["8M"], + irontail: ["8M"], + lowkick: ["8M"], + morningsun: ["8E"], + mysticalfire: ["8M"], + playrough: ["8M"], + protect: ["8M"], + psybeam: ["8L25"], + psychic: ["8M", "8L50"], + rest: ["8M"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + stomp: ["8L30"], + storedpower: ["8M"], + substitute: ["8M"], + swift: ["8M"], + tackle: ["8L1", "8S0"], + tailwhip: ["8L5"], + takedown: ["8L41"], + thrash: ["8E"], + wildcharge: ["8M"], + zenheadbutt: ["8M"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["tackle", "growl", "confusion", "fairywind"], pokeball: "cherishball"}, + ], + }, + rapidash: { + learnset: { + agility: ["8M", "8L20", "8V", "7L37", "7V", "6L37", "5L37", "4L33", "3L38"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "3S0"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + bounce: ["8M", "7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L47", "3L50"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + curse: ["7V"], + doubleedge: ["7V", "3T"], + doublekick: ["8V"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8M", "8V", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8L56", "8V", "7M", "7L41", "7V", "6M", "6L41", "5M", "5L41", "4M", "4L37", "3M", "3L63"], + firespin: ["8M", "8L35", "8V", "7L25", "7V", "6L25", "5L25", "4L24", "3L25"], + flamecharge: ["8L15", "7M", "7L21", "6M", "6L21", "5M", "5L21"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M", "3S0"], + flamewheel: ["8L25", "7L13", "6L13", "5L13", "4L15"], + flareblitz: ["8M", "8L63", "8V", "7L49", "6L49", "5L49", "4L56"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L1", "7V", "6L40", "5L40", "4L40", "3L40"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + horndrill: ["8V", "7V"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["8V"], + incinerate: ["6M", "5M"], + inferno: ["8L49", "7L33", "6L33", "5L33"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lowkick: ["8M", "7T", "6T", "5T"], + megahorn: ["8M", "8L1", "8V", "7L1", "6L1", "5L1", "4L1"], + mimic: ["7V", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + payday: ["8M"], + playrough: ["8M"], + poisonjab: ["8M", "8L1", "8V", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["8L1", "8V", "7L1", "6L1", "5L1", "4L1", "3L1"], + rage: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smartstrike: ["8M", "8L0", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M", "3S0"], + solarblade: ["8M"], + stomp: ["8L30", "8V", "7L17", "7V", "6L17", "5L17", "4L19", "3L19"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + swordsdance: ["8M"], + tackle: ["8L1", "8V", "7V", "3L1"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L43", "8V", "7L29", "7V", "6L29", "5L29", "4L28", "3L31"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + wildcharge: ["8M", "7M", "6M", "5M"], + willowisp: ["8M", "8V", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 40, moves: ["batonpass", "solarbeam", "sunnyday", "flamethrower"]}, + ], + encounters: [ + {generation: 2, level: 14, gender: "M"}, + {generation: 3, level: 37}, + ], + }, + rapidashgalar: { + learnset: { + agility: ["8M", "8L20"], + allyswitch: ["8M"], + attract: ["8M"], + batonpass: ["8M"], + bodyslam: ["8M"], + bounce: ["8M"], + calmmind: ["8M"], + charm: ["8M"], + confusion: ["8L1"], + dazzlinggleam: ["8M", "8L49"], + drillrun: ["8M"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M"], + fairywind: ["8L15"], + futuresight: ["8M"], + gigaimpact: ["8M"], + growl: ["8L1"], + healingwish: ["8L63"], + healpulse: ["8L35"], + highhorsepower: ["8M"], + hyperbeam: ["8M"], + imprison: ["8M"], + irontail: ["8M"], + lowkick: ["8M"], + magicroom: ["8M"], + megahorn: ["8M", "8L1"], + mistyterrain: ["8M"], + mysticalfire: ["8M"], + payday: ["8M"], + playrough: ["8M"], + protect: ["8M"], + psybeam: ["8L25"], + psychic: ["8M", "8L56"], + psychicterrain: ["8M"], + psychocut: ["8M", "8L0"], + quickattack: ["8L1"], + rest: ["8M"], + round: ["8M"], + sleeptalk: ["8M"], + smartstrike: ["8M"], + snore: ["8M"], + stomp: ["8L30"], + storedpower: ["8M"], + substitute: ["8M"], + swift: ["8M"], + swordsdance: ["8M"], + tackle: ["8L1"], + tailwhip: ["8L1"], + takedown: ["8L43"], + throatchop: ["8M"], + trickroom: ["8M"], + wildcharge: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["8M"], + }, + }, + slowpoke: { + learnset: { + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L27", "8M", "8L27", "8V", "7L41", "7V", "6L41", "5L41", "4L43", "3L36"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M"], + belch: ["9E", "8E", "7E", "6E"], + bellydrum: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + bodyslam: ["9M", "8M", "7V", "3T"], + brine: ["8M", "5D", "4M"], + bubblebeam: ["7V"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confusion: ["9L12", "8L12", "8V", "7L14", "7V", "6L14", "5L14", "5S2", "4L15", "3L17", "3S0"], + curse: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L19", "5L19", "5S2", "4L20", "3L24", "3S0"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + fissure: ["7V"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foulplay: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L3", "8L3", "8V", "7L5", "7V", "6L5", "5L5", "4L6", "3L6", "3S1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["9L21", "8L21", "8V", "7L23", "7V", "6L23", "5L23", "5S2", "4T", "4L25", "3L29", "3S0"], + healpulse: ["9L45", "8L45", "7L58", "6L58", "5L58"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "8M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + liquidation: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + mefirst: ["7E", "6E", "5E", "4E"], + mimic: ["7V", "3T"], + mudshot: ["9M", "8M"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payday: ["8M", "8V", "7V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L48", "3M", "3L40"], + psychicterrain: ["9M", "8M"], + psychup: ["9L39", "8L39", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L57", "3T", "3L47"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "9L42", "8M", "8L42", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L53", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4M", "4E", "3M", "3E"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + slackoff: ["9L33", "8L33", "7L36", "6L36", "5L36", "4L39"], + sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + snore: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + snowscape: ["9M"], + stomp: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "9L30", "8M", "8L30", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + takedown: ["9M", "7V"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + waterfall: ["9M"], + watergun: ["9L6", "8L6", "8V", "7L9", "7V", "6L9", "5L9", "4L11", "3L13", "3S0"], + waterpulse: ["9M", "9L18", "8L18", "7T", "7L28", "6T", "6L28", "5L28", "5S2", "4M", "4L29", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "4M"], + wonderroom: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + yawn: ["9L9", "8L9", "8V", "7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S1"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "9L24", "8M", "8L24", "7T", "7L32", "7E", "6T", "6L32", "6E", "5T", "5L32", "5E", "4T", "4L34", "4E"], + }, + eventData: [ + {generation: 3, level: 31, gender: "F", nature: "Naive", ivs: {hp: 17, atk: 11, def: 19, spa: 20, spd: 5, spe: 10}, abilities: ["oblivious"], moves: ["watergun", "confusion", "disable", "headbutt"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["curse", "yawn", "tackle", "growl"], pokeball: "pokeball"}, + {generation: 5, level: 30, moves: ["confusion", "disable", "headbutt", "waterpulse"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + slowpokegalar: { + learnset: { + acid: ["9L6", "8L6"], + amnesia: ["9M", "9L27", "8M", "8L27"], + attract: ["8M"], + avalanche: ["9M"], + belch: ["9E", "8E"], + bellydrum: ["9E", "8E"], + blizzard: ["9M", "8M"], + block: ["9E", "8E"], + bodyslam: ["9M", "8M"], + brine: ["8M"], + bulldoze: ["9M", "8M"], + calmmind: ["9M", "8M"], + chillingwater: ["9M"], + confusion: ["9L12", "8L12"], + curse: ["9L1", "8L1"], + dig: ["9M", "8M"], + disable: ["9L15", "8L15"], + dive: ["8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + flamethrower: ["9M", "8M"], + foulplay: ["9M", "8M"], + futuresight: ["8M"], + grassknot: ["9M", "8M"], + growl: ["9L3", "8L3"], + hail: ["8M"], + headbutt: ["9L21", "8L21"], + healpulse: ["9L45", "8L45"], + helpinghand: ["9M"], + hydropump: ["9M", "8M"], + icebeam: ["9M", "8M"], + icywind: ["9M", "8M"], + imprison: ["9M", "8M"], + irontail: ["8M"], + lightscreen: ["9M", "8M"], + liquidation: ["9M", "8M"], + mudshot: ["9M", "8M"], + payday: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M"], + psychic: ["9M", "9L36", "8M", "8L36"], + psychicterrain: ["9M", "8M"], + psychup: ["9L39", "8L39"], + psyshock: ["9M", "8M"], + raindance: ["9M", "9L42", "8M", "8L42"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + scald: ["8M"], + shadowball: ["9M", "8M"], + skillswap: ["9M", "8M"], + slackoff: ["9L33", "8L33"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + snowscape: ["9M"], + stomp: ["9E", "8E"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + surf: ["9M", "9L30", "8M", "8L30"], + swift: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + triattack: ["8M"], + trick: ["9M", "8M"], + trickroom: ["9M", "8M"], + waterfall: ["9M"], + waterpulse: ["9M", "9L18", "8L18"], + weatherball: ["9M", "8M"], + whirlpool: ["8M"], + wonderroom: ["8M"], + yawn: ["9L9", "8L9"], + zenheadbutt: ["9M", "9L24", "8M", "8L24"], + }, + }, + slowbro: { + learnset: { + aerialace: ["7M", "6M", "5M"], + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L27", "8M", "8L27", "8V", "7L43", "7V", "6L43", "5L43", "4L47", "3L36"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "4M"], + bubblebeam: ["7V"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confusion: ["9L12", "8L12", "8V", "7L14", "7V", "6L14", "5L14", "4L15", "3L17"], + counter: ["7V", "3T"], + curse: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + disable: ["9L15", "8L15", "8V", "7L19", "7V", "6L19", "5L19", "4L20", "3L24"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + fissure: ["7V"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + futuresight: ["9L1", "8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["9L21", "8L21", "8V", "7L23", "7V", "6L23", "5L23", "4T", "4L25", "3L29"], + healpulse: ["9L51", "8L51", "7L1", "6L1", "5L68"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "6S0", "5T", "4M", "3M"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + liquidation: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payday: ["8M", "8V", "7V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L54", "3M", "3L44"], + psychicterrain: ["9M", "8M"], + psychup: ["9L41", "8L41", "7M", "7L62", "7V", "6M", "6L62", "5M", "5L62", "4M", "4L67", "3T", "3L55"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "9L46", "8M", "8L46", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L61", "3M"], + razorshell: ["8M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + scald: ["9M", "8M", "8V", "7M", "6M", "6S0", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + slackoff: ["9L33", "8L33", "7L36", "6L36", "6S0", "5L36", "4L41"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + stomp: ["8V"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "9L30", "8M", "8L30", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "6S0", "5M", "4M"], + waterfall: ["9M"], + watergun: ["9L1", "8L1", "8V", "7L9", "7V", "6L9", "5L9", "4L11", "3L13"], + waterpulse: ["9M", "9L18", "8L18", "7T", "7L28", "6T", "6L28", "5L28", "4M", "4L29", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "4M"], + withdraw: ["9L1", "8L1", "8V", "7L1", "7V", "6L37", "5L37", "4L37", "3L37"], + wonderroom: ["8M", "7T", "6T", "5T"], + yawn: ["9L9", "8L9", "8V", "7L1", "6L1", "5L1", "4L1", "3L1"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "9L24", "8M", "8L24", "7T", "7L32", "6T", "6L32", "5T", "5L32", "4T", "4L34"], + }, + eventData: [ + {generation: 6, level: 100, nature: "Quiet", abilities: ["oblivious"], moves: ["scald", "trickroom", "slackoff", "irontail"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 1, level: 23}, + {generation: 2, level: 20}, + {generation: 3, level: 32}, + {generation: 4, level: 15}, + {generation: 5, level: 35}, + {generation: 7, level: 15}, + ], + }, + slowbrogalar: { + learnset: { + acid: ["9L1", "8L1"], + acidspray: ["9M"], + amnesia: ["9M", "9L27", "8M", "8L27"], + attract: ["8M"], + avalanche: ["9M", "8M"], + blizzard: ["9M", "8M"], + bodypress: ["9M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + brine: ["8M"], + brutalswing: ["8M"], + bulldoze: ["9M", "8M"], + calmmind: ["9M", "8M"], + chillingwater: ["9M"], + confusion: ["9L12", "8L12"], + curse: ["9L1", "8L1"], + dig: ["9M", "8M"], + disable: ["9L15", "8L15"], + dive: ["8M"], + drainpunch: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + flamethrower: ["9M", "8M"], + fling: ["9M", "8M"], + focusblast: ["9M", "8M"], + foulplay: ["9M", "8M"], + futuresight: ["8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M"], + hail: ["8M"], + haze: ["9M"], + headbutt: ["9L21", "8L21"], + healpulse: ["9L45", "8L45"], + helpinghand: ["9M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + icefang: ["9M"], + icepunch: ["9M", "8M"], + icywind: ["9M", "8M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "8M"], + irontail: ["8M"], + lightscreen: ["9M", "8M"], + liquidation: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + nastyplot: ["9M", "8M"], + payday: ["8M"], + poisonjab: ["9M", "8M"], + powergem: ["9M"], + protect: ["9M", "8M"], + psybeam: ["9M"], + psychic: ["9M", "9L36", "8M", "8L36"], + psychicterrain: ["9M", "8M"], + psychup: ["9L39", "8L39"], + psyshock: ["9M", "8M"], + raindance: ["9M", "9L42", "8M", "8L42"], + razorshell: ["8M"], + rest: ["9M", "8M"], + rockblast: ["9M"], + round: ["8M"], + safeguard: ["8M"], + sandstorm: ["9M"], + scald: ["8M"], + scaryface: ["9M"], + shadowball: ["9M", "8M"], + shellsidearm: ["9L0", "8L0"], + skillswap: ["9M", "8M"], + slackoff: ["9L33", "8L33"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + sludgewave: ["8M"], + smackdown: ["9M"], + snore: ["8M"], + snowscape: ["9M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + surf: ["9M", "9L30", "8M", "8L30"], + swift: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + toxic: ["9M"], + triattack: ["8M"], + trick: ["9M", "8M"], + trickroom: ["9M", "8M"], + venoshock: ["9M", "8M"], + waterfall: ["9M"], + watergun: ["8L1"], + waterpulse: ["9M", "9L18", "8L18"], + weatherball: ["9M", "8M"], + whirlpool: ["8M"], + withdraw: ["9L1", "8L1"], + wonderroom: ["8M"], + yawn: ["9L9", "8L9"], + zenheadbutt: ["9M", "9L24", "8M", "8L24"], + }, + }, + slowking: { + learnset: { + afteryou: ["7T", "6T", "5T"], + allyswitch: ["7T"], + amnesia: ["9M", "9L27", "8M", "8L27"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + chillyreception: ["9L1"], + confide: ["7M", "6M"], + confusion: ["9L12", "8L12", "7L14", "7V", "6L14", "5L14", "4L15", "3L17"], + counter: ["3T"], + curse: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + disable: ["9L15", "8L15", "7L19", "7V", "6L19", "5L19", "4L20", "3L24"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragontail: ["7M", "6M", "5M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + futuresight: ["9L1", "8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L5", "7V", "6L5", "5L5", "4L6", "3L6"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["9L21", "8L21", "7L23", "7V", "6L23", "5L23", "4T", "4L25", "3L29"], + healpulse: ["9L45", "8L45", "7L1", "6L1", "5L58"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + liquidation: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M"], + mimic: ["3T"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "9L1", "8M", "8L1", "7L36", "6L36", "5L36", "4L39"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payday: ["8M"], + powergem: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "9L36", "8M", "8L36", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L48", "3M", "3L40"], + psychicterrain: ["9M", "8M"], + psychup: ["9L39", "8L39", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L57", "3T", "3L47"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "9L42", "8M", "8L42", "7M", "7V", "6M", "5M", "4M", "3M"], + razorshell: ["8M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + scald: ["9M", "8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + slackoff: ["9L33", "8L33"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "9L30", "8M", "8L30", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L1", "8L1", "7M", "7L41", "7V", "6M", "6L41", "5M", "5L41", "4M", "4L43", "3T", "3L36"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunderpunch: ["9M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + trumpcard: ["7L49", "6L49", "5L49", "4L53"], + waterfall: ["9M"], + watergun: ["9L1", "8L1", "7L9", "7V", "6L9", "5L9", "4L11", "3L13"], + waterpulse: ["9M", "9L18", "8L18", "7T", "7L28", "6T", "6L28", "5L28", "4M", "4L29", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "7V", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + yawn: ["9L9", "8L9", "7L1", "6L1", "5L1", "4L1", "3L1"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "8L24", "7T", "7L32", "6T", "6L32", "5T", "5L32", "4T", "4L34"], + }, + }, + slowkinggalar: { + learnset: { + acid: ["9L1", "8L1"], + acidspray: ["9M"], + amnesia: ["9M", "9L27", "8M", "8L27"], + attract: ["8M"], + avalanche: ["9M", "8M"], + blizzard: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + brine: ["8M"], + bulldoze: ["9M", "8M"], + calmmind: ["9M", "8M"], + chillingwater: ["9M"], + chillyreception: ["9L1"], + confusion: ["9L12", "8L12"], + curse: ["9L1", "8L1"], + dig: ["9M", "8M"], + disable: ["9L15", "8L15"], + dive: ["8M"], + drainpunch: ["9M", "8M"], + earthquake: ["9M", "8M"], + eeriespell: ["9L0", "8L0"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + firepunch: ["9M"], + flamethrower: ["9M", "8M"], + fling: ["9M", "8M"], + focusblast: ["9M", "8M"], + foulplay: ["9M", "8M"], + futuresight: ["9L1", "8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M"], + hail: ["8M"], + headbutt: ["9L21", "8L21"], + healpulse: ["9L45", "8L45"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + icepunch: ["8M"], + icywind: ["9M", "8M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "8M"], + irontail: ["8M"], + lightscreen: ["9M", "8M"], + liquidation: ["9M", "8M"], + lowsweep: ["9M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + payday: ["8M"], + poisonjab: ["9M"], + powergem: ["9M", "9L1", "8M", "8L1"], + protect: ["9M", "8M"], + psybeam: ["9M"], + psychic: ["9M", "9L36", "8M", "8L36"], + psychicterrain: ["9M", "8M"], + psychup: ["9L39", "8L39"], + psyshock: ["9M", "8M"], + raindance: ["9M", "9L42", "8M", "8L42"], + razorshell: ["8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + scald: ["8M"], + scaryface: ["9M"], + shadowball: ["9M", "8M"], + skillswap: ["9M", "8M"], + slackoff: ["9L33", "8L33"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + sludgewave: ["8M"], + snarl: ["9M"], + snore: ["8M"], + snowscape: ["9M"], + stompingtantrum: ["9M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + surf: ["9M", "9L30", "8M", "8L30"], + swagger: ["9L1", "8L1"], + swift: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M"], + thunderwave: ["9M", "8M"], + toxic: ["9M", "9L1"], + toxicspikes: ["9M"], + triattack: ["8M"], + trick: ["9M", "8M"], + trickroom: ["9M", "8M"], + venomdrench: ["8M"], + venoshock: ["9M", "8M"], + waterfall: ["9M", "9L1"], + waterpulse: ["9M", "9L18", "8L18"], + weatherball: ["9M", "8M"], + whirlpool: ["8M"], + wonderroom: ["8M"], + yawn: ["9L9", "8L9"], + zenheadbutt: ["9M", "9L24", "8M", "8L24"], + }, + }, + magnemite: { + learnset: { + bide: ["7V"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + curse: ["7V"], + discharge: ["9L36", "8L36", "7L37", "6L37", "5L43", "4L38"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "9L12", "8M", "8L12", "7L29", "6L29", "5L27"], + electroweb: ["9E", "8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + explosion: ["9E", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L31", "6M", "6L31", "5M", "5L35", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gravity: ["9M", "7T", "6T", "5T", "5D", "4T"], + gyroball: ["9M", "9L16", "8M", "8L16", "7M", "7L47", "6M", "6L47", "5M", "5L54", "4M", "4L49"], + headbutt: ["8V"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M"], + lightscreen: ["9M", "9L44", "8M", "8L44", "8V", "7M", "7L13", "6M", "5M", "4M"], + lockon: ["9L48", "8L48", "7L41", "7V", "6L41", "5L30", "4L27", "3L32"], + magiccoat: ["7T", "6T", "5T", "4T"], + magnetbomb: ["7L11", "6L17", "5L18", "4L30"], + magnetrise: ["9L28", "8L28", "7T", "7L43", "6T", "6L43", "5T", "5L49", "4T", "4L46"], + metalsound: ["9L40", "8L40", "7L25", "6L25", "5L1", "5D", "4L1", "3L1"], + mimic: ["7V", "3T"], + mirrorshot: ["7L23", "6L23", "5L46", "4L43"], + naturalgift: ["4M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "5D", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + screech: ["9L24", "8M", "8L24", "8V", "7L35", "7V", "6L35", "5L38", "4L33", "3L44"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + sonicboom: ["8V", "7L17", "7V", "6L11", "5L14", "4L14", "3L16"], + spark: ["9L20", "8L20", "7L19", "6L19", "5L22", "4L22", "3L26"], + steelbeam: ["9M", "8T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["9L4", "8L4", "8V", "7L1", "7V", "6L4", "5L11", "4L11", "3L11"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T", "3L38"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thundershock: ["9L1", "8L1", "8V", "7L5", "7V", "6L7", "5L6", "5D", "4L6", "3L6"], + thunderwave: ["9M", "9L8", "8M", "8L8", "8V", "7M", "7L11", "7V", "6M", "6L13", "5M", "5L17", "4M", "4L17", "3T", "3L21"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + zapcannon: ["9L52", "8L52", "7L49", "7V", "6L49", "5L59", "4L54", "3L50"], + }, + encounters: [ + {generation: 1, level: 16}, + ], + }, + magneton: { + learnset: { + bide: ["7V"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + curse: ["7V"], + discharge: ["9L40", "8L40", "7L43", "6L43", "5L46", "4L40"], + doubleedge: ["7V", "3T", "3S0"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + electroball: ["9M", "9L12", "8M", "8L12", "7L29", "6L29", "5L27"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "9L34", "8M", "8L34", "8V", "7M", "7L33", "6M", "6L33", "5M", "5L39", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "9L16", "8M", "8L16", "7M", "7L59", "6M", "6L59", "5M", "5L60", "4M", "4L54"], + headbutt: ["8V"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M"], + lightscreen: ["9M", "9L52", "8M", "8L52", "8V", "7M", "7L13", "6M", "5M", "4M"], + lockon: ["9L58", "8L58", "7L49", "7V", "6L49", "5L30", "4L27", "3L35"], + magiccoat: ["7T", "6T", "5T", "4T"], + magnetbomb: ["7L1", "6L17", "5L34", "4L30"], + magnetrise: ["9L28", "8L28", "7T", "7L53", "6T", "6L53", "5T", "5L54", "4T", "4L50"], + metalsound: ["9L46", "8L46", "7L25", "6L25", "5L1", "4L1", "3L1"], + mimic: ["7V", "3T"], + mirrorshot: ["7L23", "6L23", "5L50", "4L46"], + naturalgift: ["4M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + screech: ["9L24", "8M", "8L24", "8V", "7L39", "7V", "6L39", "5L40", "4L34", "3L53"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + sonicboom: ["8V", "7L17", "7V", "6L1", "5L14", "4L14", "3L16"], + spark: ["9L20", "8L20", "7L19", "6L19", "5L22", "4L22", "3L26"], + steelbeam: ["9M", "8T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thundershock: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L13", "5M", "5L17", "4M", "4L17", "3T", "3L21"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["9L0", "8M", "8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L44"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + zapcannon: ["9L64", "8L64", "7L1", "7V", "6L1", "5L66", "4L60", "3L62"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["refresh", "doubleedge", "raindance", "thunder"]}, + ], + encounters: [ + {generation: 2, level: 5}, + {generation: 3, level: 26}, + {generation: 4, level: 17, pokeball: "safariball"}, + ], + }, + magnezone: { + learnset: { + allyswitch: ["8M", "7T"], + barrier: ["7L1", "6L1", "5L1", "4L1"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + discharge: ["9L40", "8L40", "7L43", "6L43", "5L46", "4L40"], + doubleteam: ["7M", "6M", "5M", "4M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + electroball: ["9M", "9L12", "8M", "8L12", "7L29", "6L29", "5L27"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "4M"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + flashcannon: ["9M", "9L34", "8M", "8L34", "7M", "7L33", "6M", "6L33", "5M", "5L39", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "9L16", "8M", "8L16", "7M", "7L59", "6M", "6L59", "5M", "5L60", "4M", "4L54"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + lightscreen: ["9M", "9L52", "8M", "8L52", "7M", "7L13", "6M", "5M", "4M"], + lockon: ["9L58", "8L58", "7L49", "6L49", "5L30", "4L27"], + magiccoat: ["7T", "6T", "5T", "4T"], + magnetbomb: ["7L1", "6L17", "5L34", "4L30"], + magneticflux: ["9L1", "8L1", "7L1", "6L1"], + magnetrise: ["9L28", "8L28", "7T", "7L53", "6T", "6L53", "5T", "5L54", "4T", "4L50"], + metalsound: ["9L46", "8L46", "7L25", "6L25", "5L1", "4L1"], + mirrorcoat: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + mirrorshot: ["7L23", "6L23", "5L50", "4L46"], + naturalgift: ["4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + risingvoltage: ["8T"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + screech: ["9L24", "8M", "8L24", "7L39", "6L39", "5L40", "4L34"], + secretpower: ["6M", "4M"], + selfdestruct: ["8M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + sonicboom: ["7L17", "6L1", "5L14", "4L14"], + spark: ["9L20", "8L20", "7L19", "6L19", "5L22", "4L22"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + supersonic: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thundershock: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + thunderwave: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L13", "5M", "5L17", "4M", "4L17"], + toxic: ["7M", "6M", "5M", "4M"], + triattack: ["9L1", "8M", "8L1", "7L1"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + zapcannon: ["9L64", "8L64", "7L1", "6L1", "5L66", "4L60"], + }, + }, + farfetchd: { + learnset: { + acrobatics: ["8M", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + aerialace: ["8L20", "7M", "7L9", "6M", "6L9", "5M", "5L13", "4M", "4L13", "3M", "3S1"], + agility: ["8M", "8L60", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3L36"], + aircutter: ["8L25", "7L21", "6L21", "5L21", "4T", "4L21"], + airslash: ["8M", "8L50", "8V", "7L49", "6L49", "5L49", "4L37"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "3S1"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + bravebird: ["8M", "8L65", "7L1", "6L1", "5L55"], + brutalswing: ["8M", "7M"], + captivate: ["4M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + covet: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + cut: ["8L15", "8V", "7V", "6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualwingbeat: ["8T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L35", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L43", "3L46"], + featherdance: ["8E", "7E", "6E", "5E", "4E", "3E"], + feint: ["8E", "8V", "7L43", "6L43", "5L43", "4L43"], + finalgambit: ["8E", "7E"], + firstimpression: ["8E", "7E"], + flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + fly: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + focusenergy: ["8M", "8V"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L7", "7V", "6L7", "5L7", "4L7", "3L16"], + furycutter: ["8L10", "7L1", "6L1", "5L1", "5D", "4T", "4L1", "3L26"], + gust: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M", "8V", "7T", "6T", "5T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["8L30", "7T", "7L13", "6T", "6L13", "5T", "5L9", "4T", "4L9", "3L21"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + leafblade: ["8M", "8L55", "7E", "6E", "5E", "5D", "4E"], + leer: ["8L5", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L11"], + mimic: ["7V", "3T"], + mirrormove: ["8V", "7E", "7V", "6E", "5E", "4E", "3E"], + mudslap: ["7E", "7V", "6E", "5E", "4T", "4E", "3T"], + naturalgift: ["4M"], + nightslash: ["8E", "7L33", "7E", "6L33", "6E", "5L33", "5E", "4L33", "4E"], + ominouswind: ["4T"], + peck: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["5M", "4M"], + poisonjab: ["8M", "8V", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + quickattack: ["8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + razorleaf: ["8V"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "7E", "6E", "5E"], + roost: ["8E", "8V", "7M", "7E", "6M", "6E", "5T", "5E", "5D", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L6"], + secretpower: ["6M", "4M", "3M"], + simplebeam: ["8E", "7E", "6E"], + skullbash: ["7V"], + skyattack: ["8E", "8V", "7T", "6T", "5T"], + slash: ["8L40", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L41", "3S1"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarblade: ["8M"], + steelwing: ["8M", "7M", "7E", "7V", "6M", "6E", "5E", "4M", "4E", "3M", "3E"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + swordsdance: ["8M", "8L45", "8V", "7M", "7L25", "7V", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3T", "3L31", "3S1"], + tailwind: ["7T", "6T", "5T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trumpcard: ["7E", "6E", "5E"], + twister: ["4T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["8M", "8V", "7M", "6M", "5M", "4M"], + whirlwind: ["7V"], + wish: ["3S0"], + workup: ["8M", "7M", "5M"], + yawn: ["3S0"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["yawn", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 36, moves: ["batonpass", "slash", "swordsdance", "aerialace"]}, + ], + encounters: [ + {generation: 1, level: 3}, + {generation: 3, level: 3, gender: "M", nature: "Adamant", ivs: {hp: 20, atk: 25, def: 21, spa: 24, spd: 15, spe: 20}, abilities: ["keeneye"], pokeball: "pokeball"}, + ], + }, + farfetchdgalar: { + learnset: { + assurance: ["8M"], + attract: ["8M"], + bodyslam: ["8M"], + bravebird: ["8M", "8L65"], + brickbreak: ["8M", "8L40"], + brutalswing: ["8M", "8L20"], + closecombat: ["8M"], + counter: ["8E"], + covet: ["8E"], + curse: ["8E"], + defog: ["8L35"], + detect: ["8L25"], + doubleedge: ["8E"], + dualwingbeat: ["8T"], + endure: ["8M"], + facade: ["8M"], + feint: ["8E"], + finalgambit: ["8L60"], + flail: ["8E"], + focusenergy: ["8M"], + furycutter: ["8L10"], + helpinghand: ["8M"], + knockoff: ["8L30"], + leafblade: ["8M", "8L55"], + leer: ["8L5"], + nightslash: ["8E"], + peck: ["8L1"], + poisonjab: ["8M"], + protect: ["8M"], + quickattack: ["8E"], + quickguard: ["8E"], + rest: ["8M"], + retaliate: ["8M"], + revenge: ["8M"], + rocksmash: ["8L15"], + round: ["8M"], + sandattack: ["8L1"], + simplebeam: ["8E"], + skyattack: ["8E"], + slam: ["8L50"], + sleeptalk: ["8M"], + snore: ["8M"], + solarblade: ["8M"], + steelwing: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + superpower: ["8M"], + swordsdance: ["8M", "8L45"], + throatchop: ["8M"], + workup: ["8M"], + }, + }, + sirfetchd: { + learnset: { + assurance: ["8M"], + attract: ["8M"], + bodyslam: ["8M"], + bravebird: ["8M", "8L65"], + brickbreak: ["8M", "8L40"], + brutalswing: ["8M", "8L20", "8S0"], + closecombat: ["8M"], + coaching: ["8T"], + defog: ["8L35"], + detect: ["8L25", "8S0"], + dualwingbeat: ["8T"], + endure: ["8M"], + facade: ["8M"], + finalgambit: ["8L60"], + firstimpression: ["8L1"], + focusenergy: ["8M"], + furycutter: ["8L1", "8S0"], + grassyglide: ["8T"], + helpinghand: ["8M"], + irondefense: ["8M", "8L0"], + knockoff: ["8L30"], + leafblade: ["8M", "8L55"], + leer: ["8L1"], + meteorassault: ["8L70", "8S0"], + peck: ["8L1"], + poisonjab: ["8M"], + protect: ["8M"], + rest: ["8M"], + retaliate: ["8M"], + revenge: ["8M"], + rocksmash: ["8L15"], + round: ["8M"], + sandattack: ["8L1"], + slam: ["8L50"], + sleeptalk: ["8M"], + snore: ["8M"], + solarblade: ["8M"], + steelwing: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + superpower: ["8M"], + swordsdance: ["8M", "8L45"], + throatchop: ["8M"], + workup: ["8M"], + }, + eventData: [ + {generation: 8, level: 80, gender: "M", nature: "Brave", abilities: ["steadfast"], ivs: {hp: 30, atk: 31, def: 31, spa: 30, spd: 30, spe: 31}, moves: ["meteorassault", "brutalswing", "furycutter", "detect"], pokeball: "pokeball"}, + ], + }, + doduo: { + learnset: { + acupressure: ["7L33", "6L28", "5L28", "4L28"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8V", "7L26", "7V", "6L33", "5L37", "4L37", "3L45"], + aircutter: ["4T"], + assurance: ["7E", "6E", "5E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["7V", "3T"], + bravebird: ["7E", "6E", "5E", "4E"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + doubleedge: ["7V", "3T"], + doublehit: ["7L22", "6L25", "5L32", "4L32"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillpeck: ["8V", "7L43", "7V", "6L37", "5L41", "4L41", "3L37"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["7T", "7L47", "7E", "6T", "6L45", "6E", "5T", "5L46", "5E", "4T", "4L46", "4E", "3E"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + flail: ["7E", "7V", "6E", "5E", "5D", "4E", "3E"], + fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L12", "7V", "6L13", "5L14", "4L14", "3L13"], + growl: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + haze: ["7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + jumpkick: ["8V", "7L40"], + knockoff: ["7T", "6T", "5T", "4T"], + mimic: ["7V", "3T"], + mirrormove: ["7E", "6E", "5E", "4E"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + peck: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["7L19", "6L21", "5M", "4M"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L15", "7V", "6L17", "5L19", "4L19", "3L9"], + quickattack: ["8V", "7L5", "7E", "7V", "6L5", "6E", "5L5", "5E", "4L5", "4E", "3E"], + rage: ["8V", "7L8", "7V", "6L9", "5L10", "4L10", "3L25"], + reflect: ["8V", "7V"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "5D", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + skyattack: ["7V", "3T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7V", "6M", "4M", "3M"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["7E", "7V", "6E", "5E", "4E", "3E"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + swordsdance: ["8V", "7M", "7L36"], + takedown: ["7V"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8V", "7L50", "6L49", "5L50"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["7V", "3L21"], + uproar: ["7T", "7L29", "6T", "6L23", "5T", "5L23", "4T", "4L23", "3L33"], + whirlwind: ["7V"], + workup: ["7M", "5M"], + }, + encounters: [ + {generation: 1, level: 18}, + {generation: 2, level: 4}, + ], + }, + dodrio: { + learnset: { + acupressure: ["7L34", "6L28", "5L28", "4L28"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8V", "7L26", "7V", "6L35", "5L41", "4L41", "3L60", "3S0"], + aircutter: ["4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["3S0"], + bide: ["7V"], + bodyslam: ["7V", "3T"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + doubleedge: ["7V", "3T"], + doublehit: ["7L22"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillpeck: ["8V", "7L47", "7V", "6L41", "5L47", "4L47", "3L47", "3S0"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["7T", "7L52", "6T", "6L53", "5T", "5L54", "4T", "4L54"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + fly: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L12", "7V", "6L13", "5L14", "4L14", "3L1"], + gigaimpact: ["7M", "6M", "5M", "4M"], + growl: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + jumpkick: ["8V", "7L43"], + knockoff: ["7T", "6T", "5T", "4T"], + mimic: ["7V", "3T"], + mirrormove: ["8V"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + peck: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["7L19", "6L1", "5M", "5L1", "4M", "4L1"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L15", "7V", "6L17", "5L19", "4L19", "3L1"], + quickattack: ["8V", "7L1", "6L1", "5L1", "4L1"], + rage: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L25"], + reflect: ["8V", "7V"], + rest: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + skyattack: ["7T", "7V", "6T", "5T", "4T", "3T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7V", "6M", "4M", "3M"], + stompingtantrum: ["7T"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["8V"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + swordsdance: ["8V", "7M", "7L38"], + takedown: ["7V"], + taunt: ["8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8V", "7L56", "6L59", "5L60"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8V", "7L1", "7V", "6L25", "5L34", "4L34", "3L21", "3S0"], + uproar: ["7T", "7L29", "6T", "6L23", "5T", "5L23", "4T", "4L23", "3L38"], + whirlwind: ["7V"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 3, level: 34, moves: ["batonpass", "drillpeck", "agility", "triattack"]}, + ], + encounters: [ + {generation: 1, level: 29}, + {generation: 2, level: 10, gender: "F"}, + {generation: 2, level: 30}, + {generation: 3, level: 29, pokeball: "safariball"}, + {generation: 4, level: 15, gender: "F", nature: "Impish", ivs: {hp: 20, atk: 20, def: 20, spa: 15, spd: 15, spe: 15}, abilities: ["runaway"], pokeball: "pokeball"}, + ], + }, + seel: { + learnset: { + aquajet: ["8V", "7L31", "6L31", "5L31", "4L31"], + aquaring: ["7L23", "6L23", "5L23", "4L23"], + aquatail: ["7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L21"], + belch: ["7E", "6E"], + bide: ["7V"], + blizzard: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["7V", "3T"], + brine: ["7L33", "6L33", "5L33", "4M", "4L33"], + bubblebeam: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + disable: ["7E", "7V", "6E", "5E", "4E", "3E"], + dive: ["7L41", "6M", "6L41", "5M", "5L41", "4T", "4L41", "3M"], + doubleedge: ["8V", "7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8V", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8V", "7L13", "7E", "7V", "6L13", "6E", "5L13", "5E", "4L13", "4E", "3E"], + endure: ["7V", "4M", "3T"], + entrainment: ["7E", "6E"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["7E", "6E", "5E", "4E", "3E"], + fling: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + growl: ["8V", "7L3", "7V", "6L3", "5L3", "4L3", "3L9"], + hail: ["7M", "7L53", "6M", "6L53", "5M", "5L53", "4M", "3M"], + headbutt: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4T", "4L1", "3L1"], + helpinghand: ["8V", "3S0"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + horndrill: ["7E", "7V", "6E", "5E", "4E", "3E"], + icebeam: ["8V", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L47", "4M", "4L47", "3M", "3L41", "3S0"], + iceshard: ["8V", "7L17", "6L17", "5L17", "4L17"], + iciclespear: ["7E", "6E", "5E", "5D", "4E", "3E"], + icywind: ["7T", "7L11", "7V", "6T", "6L11", "5T", "5L11", "4T", "4L11", "3T", "3L17"], + irontail: ["8V", "7T", "7E", "6T", "6E", "5T", "5E"], + lick: ["7E", "7V", "6E", "5E", "4E", "3E"], + megahorn: ["8V"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + payday: ["8V", "7V"], + peck: ["7V"], + perishsong: ["7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8V", "7M", "7L21", "7V", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3M", "3L29"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7L51", "7V", "6M", "6L51", "5M", "5L51", "4M", "4L51", "3M", "3L49", "3S0"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + skullbash: ["7V"], + slam: ["7E", "7V", "6E", "5E", "4E", "3E"], + sleeptalk: ["7M", "7E", "7V", "6M", "6E", "5T", "5E", "5D", "4M", "3T"], + smartstrike: ["7M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spitup: ["7E", "6E", "5E", "4E"], + stockpile: ["7E", "6E", "5E", "4E"], + strength: ["7V"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["7E", "6E", "5E", "4E"], + takedown: ["8V", "7L37", "7V", "6L37", "5L37", "4L37", "3L37"], + thief: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + watersport: ["7L7", "6L7", "5L7", "4L7"], + whirlpool: ["7V", "4M"], + }, + eventData: [ + {generation: 3, level: 23, abilities: ["thickfat"], moves: ["helpinghand", "surf", "safeguard", "icebeam"]}, + ], + encounters: [ + {generation: 1, level: 22}, + ], + }, + dewgong: { + learnset: { + aquajet: ["8V", "7L31", "6L31", "5L31", "4L31"], + aquaring: ["7L23", "6L23", "5L23", "4L23"], + aquatail: ["7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L43"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L1"], + avalanche: ["4M"], + bide: ["7V"], + blizzard: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["7V", "3T"], + brine: ["7L33", "6L33", "5L33", "4M", "4L33"], + bubblebeam: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + dive: ["7L45", "6M", "6L45", "5M", "5L45", "4T", "4L41", "3M"], + doubleedge: ["8V", "7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8V", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8V", "7L13", "6L13", "5L13", "4L13"], + endure: ["7V", "4M", "3T"], + facade: ["8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8V"], + fling: ["7M", "6M", "5M", "4M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + growl: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + hail: ["7M", "7L65", "6M", "6L65", "5M", "5L65", "4M", "3M"], + headbutt: ["8V", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + helpinghand: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + horndrill: ["8V", "7V"], + hyperbeam: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L47", "3M", "3L51"], + iceshard: ["8V", "7L17", "6L17", "5L17", "4L17"], + icywind: ["7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], + irontail: ["8V", "7T", "6T", "5T"], + liquidation: ["7T"], + megahorn: ["8V"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + payday: ["8V", "7V"], + protect: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8V", "7M", "7L21", "7V", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3M", "3L29"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7L61", "7V", "6M", "6L61", "5M", "5L61", "4M", "4L51", "3M", "3L64"], + secretpower: ["6M", "4M", "3M"], + sheercold: ["7L1", "6L34", "5L34", "4L34", "3L34"], + signalbeam: ["7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + skullbash: ["7V"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + smartstrike: ["7M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V"], + substitute: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["8V", "7L39", "7V", "6L39", "5L39", "4L37", "3L42"], + thief: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["7V", "4M"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 5}, + {generation: 3, level: 32}, + {generation: 5, level: 30}, + {generation: 6, level: 30, maxEggMoves: 1}, + ], + }, + grimer: { + learnset: { + acidarmor: ["9L43", "8V", "7L43", "7V", "6L40", "5L39", "4L39", "3L34"], + acidspray: ["9M", "9E", "7E", "6E", "5E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["9L46", "7L46", "6L46"], + bide: ["7V"], + bodyslam: ["9M", "7V", "3T"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + curse: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + dig: ["9M", "8V", "6M", "5M", "4M", "3M"], + disable: ["9L12", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L8"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["7V", "3T"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "7L26", "6M", "6L26", "5M", "5L28", "4M", "4L28"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gunkshot: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L49", "4T", "4L44"], + harden: ["9L4", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3L4"], + haze: ["9M", "9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + headbutt: ["8V"], + helpinghand: ["9M", "8V", "3S0"], + hex: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M", "7E", "6E", "5E", "4E", "3E"], + incinerate: ["6M", "5M"], + infestation: ["7M", "6M"], + lick: ["7E", "7V", "6E", "5E", "4E", "3E"], + meanlook: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + megadrain: ["8V", "7V"], + memento: ["9L48", "7L48", "6L48", "5L52", "4L49", "3L53"], + metronome: ["9M"], + mimic: ["7V", "3T"], + minimize: ["9L21", "8V", "7L21", "7V", "6L18", "5L17", "4L17", "3L19", "3S0"], + mudbomb: ["7L18", "6L18", "5L23", "4L23"], + mudshot: ["9M", "9L18"], + mudslap: ["9M", "9L7", "7L7", "7V", "6L7", "5L7", "4T", "4L7", "3T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["7M", "6M", "5M", "4M"], + poisongas: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], + pound: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["7E", "6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8V", "7M", "6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M"], + scaryface: ["9M", "7E", "6E", "5E"], + screech: ["9L37", "8V", "7L37", "7V", "6L32", "5L33", "4L33", "3L26"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8V", "7V", "3T"], + shadowball: ["9M", "8V", "7M", "6M", "5M", "4M"], + shadowpunch: ["9E", "7E", "6E", "5E", "4E", "3E", "3S0"], + shadowsneak: ["9E", "7E", "6E", "5E", "5D", "4E"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludge: ["9L15", "8V", "7L15", "7V", "6L15", "5L20", "4L20", "3L13"], + sludgebomb: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L36", "4M", "4L36", "3M", "3L43", "3S0"], + sludgewave: ["9L32", "7M", "7L32", "6M", "6L32", "5M", "5L44"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spitup: ["9E", "7E", "6E", "5E", "4E"], + stockpile: ["9E", "7E", "6E", "5E", "4E"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9E", "7E", "6E", "5E", "4E"], + takedown: ["9M"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "9L26", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + venoshock: ["9M", "7M", "6M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 23, moves: ["helpinghand", "sludgebomb", "shadowpunch", "minimize"]}, + ], + encounters: [ + {generation: 1, level: 23}, + ], + }, + grimeralola: { + learnset: { + acidarmor: ["9L43", "8V", "7L43"], + acidspray: ["9M", "9L15", "7L15"], + assurance: ["9E", "7E"], + attract: ["7M"], + belch: ["9L46", "7L46"], + bite: ["9L7", "8V", "7L7", "7S0"], + bodyslam: ["9M"], + brickbreak: ["9M"], + brutalswing: ["7M"], + clearsmog: ["9E", "7E"], + confide: ["7M"], + crunch: ["9M", "9L32", "8V", "7L32"], + curse: ["9E", "7E"], + darkpulse: ["9M"], + dig: ["9M", "8V"], + disable: ["9L12", "8V", "7L12"], + doubleteam: ["7M"], + drainpunch: ["9M"], + embargo: ["7M"], + endure: ["9M"], + explosion: ["7M"], + facade: ["9M", "8V", "7M"], + fireblast: ["9M", "8V", "7M"], + firepunch: ["9M", "8V", "7T"], + flamethrower: ["9M", "8V", "7M"], + fling: ["9M", "7M", "7L26"], + frustration: ["7M"], + gastroacid: ["7T"], + gigadrain: ["9M", "7T"], + gigaimpact: ["9M"], + gunkshot: ["9M", "9L40", "7T", "7L40"], + harden: ["9L4", "8V", "7L4", "7S0"], + headbutt: ["8V"], + helpinghand: ["9M", "8V"], + hex: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M"], + icepunch: ["9M", "8V", "7T"], + imprison: ["9M", "7E"], + infestation: ["7M"], + knockoff: ["9M", "9L29", "7T", "7L29"], + meanlook: ["9E", "7E"], + megadrain: ["8V"], + memento: ["9L48", "7L48"], + metronome: ["9M"], + minimize: ["9L21", "8V", "7L21"], + mudshot: ["9M"], + mudslap: ["9M"], + painsplit: ["7T"], + payback: ["7M"], + poisonfang: ["9L18", "7L18"], + poisongas: ["9L1", "8V", "7L1", "7S0"], + poisonjab: ["9M", "8V", "7M"], + pound: ["9L1", "8V", "7L1", "7S0"], + poweruppunch: ["7E"], + protect: ["9M", "8V", "7M"], + pursuit: ["7E"], + quash: ["7M"], + raindance: ["9M", "7M"], + recycle: ["9E"], + rest: ["9M", "8V", "7M"], + return: ["7M"], + rockpolish: ["7M"], + rockslide: ["9M", "8V", "7M"], + rocktomb: ["9M", "7M"], + round: ["7M"], + sandstorm: ["9M"], + scaryface: ["9M", "7E"], + screech: ["9L37", "8V", "7L37"], + selfdestruct: ["8V"], + shadowball: ["9M", "8V", "7M"], + shadowsneak: ["9E", "7E"], + shockwave: ["7T"], + sleeptalk: ["9M", "7M"], + sludgebomb: ["9M", "8V", "7M"], + sludgewave: ["7M"], + snarl: ["9M", "7M"], + snore: ["7T"], + spite: ["9M", "9E", "7T", "7E"], + spitup: ["9E", "7E"], + stockpile: ["9E", "7E"], + stoneedge: ["9M", "7M"], + substitute: ["9M", "8V", "7M"], + sunnyday: ["9M", "7M"], + swagger: ["7M"], + swallow: ["9E", "7E"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8V", "7M"], + terablast: ["9M"], + thief: ["9M", "7M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderpunch: ["9M", "8V", "7T"], + torment: ["7M"], + toxic: ["9M", "9L26", "8V", "7M"], + venoshock: ["9M", "7M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 7, level: 10, abilities: ["poisontouch"], moves: ["bite", "harden", "poisongas", "pound"], pokeball: "cherishball"}, + ], + }, + muk: { + learnset: { + acidarmor: ["9L46", "8V", "7L46", "7V", "6L43", "5L42", "4L44", "3L34"], + acidspray: ["9M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["9L52", "7L52", "6L52"], + bide: ["7V"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + curse: ["7V"], + darkpulse: ["9M", "8V", "7M", "6M", "5T", "4M"], + dig: ["9M", "8V", "6M", "5M", "4M", "3M"], + disable: ["9L12", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L8"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["7V", "3T"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "7L26", "6M", "6L26", "5M", "5L28", "4M", "4L28"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L58", "4T", "4L54"], + harden: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + haze: ["9M", "8V"], + headbutt: ["8V"], + helpinghand: ["9M", "8V"], + hex: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + incinerate: ["6M", "5M"], + infestation: ["7M", "6M"], + knockoff: ["9M"], + lashout: ["9M"], + lunge: ["9M"], + megadrain: ["8V", "7V"], + memento: ["9L57", "7L57", "6L57", "5L64", "4L65", "3L61"], + metronome: ["9M"], + mimic: ["7V", "3T"], + minimize: ["9L21", "8V", "7L21", "7V", "6L18", "5L17", "4L17", "3L19"], + moonblast: ["8V"], + mudbomb: ["7L18", "6L18", "5L23", "4L23"], + mudshot: ["9M", "9L18"], + mudslap: ["9M", "9L1", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["7M", "6M", "5M", "4M"], + poisongas: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poisonjab: ["9M", "8V", "7M", "6M", "5M", "4M"], + pound: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M"], + scaryface: ["9M"], + screech: ["9L37", "8V", "7L37", "7V", "6L32", "5L33", "4L33", "3L26"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8V", "7V", "3T"], + shadowball: ["9M", "8V", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludge: ["9L15", "8V", "7L15", "7V", "6L15", "5L20", "4L20", "3L13"], + sludgebomb: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L36", "4M", "4L36", "3M", "3L47"], + sludgewave: ["9L32", "7M", "7L32", "6M", "6L32", "5M", "5L50"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "9L26", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + venomdrench: ["7L1", "6L38"], + venoshock: ["9M", "7M", "6M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M"], + }, + encounters: [ + {generation: 1, level: 25}, + {generation: 2, level: 5}, + {generation: 3, level: 32}, + {generation: 4, level: 15}, + {generation: 5, level: 5}, + {generation: 5, level: 35, isHidden: true}, + {generation: 6, level: 30}, + ], + }, + mukalola: { + learnset: { + acidarmor: ["9L46", "8V", "7L46"], + acidspray: ["9M", "9L15", "7L15"], + attract: ["7M"], + belch: ["9L52", "7L52"], + bite: ["9L1", "8V", "7L1"], + block: ["7T"], + bodyslam: ["9M"], + brickbreak: ["9M", "8V", "7M"], + brutalswing: ["7M"], + confide: ["7M"], + crunch: ["9M", "9L32", "8V", "7L32"], + darkpulse: ["9M", "8V", "7M"], + dig: ["9M", "8V"], + disable: ["9L12", "8V", "7L12"], + doubleteam: ["7M"], + drainpunch: ["9M"], + embargo: ["7M"], + endure: ["9M"], + explosion: ["7M"], + facade: ["9M", "8V", "7M"], + fireblast: ["9M", "8V", "7M"], + firepunch: ["9M", "8V", "7T"], + flamethrower: ["9M", "8V", "7M"], + fling: ["9M", "7M", "7L26"], + focusblast: ["9M", "7M"], + focuspunch: ["9M", "7T"], + foulplay: ["8V"], + frustration: ["7M"], + gastroacid: ["7T"], + gigadrain: ["9M", "7T"], + gigaimpact: ["9M", "7M"], + gunkshot: ["9M", "9L40", "7T", "7L40"], + harden: ["9L1", "8V", "7L1"], + haze: ["9M", "8V"], + headbutt: ["8V"], + helpinghand: ["9M", "8V"], + hex: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8V", "7M"], + icepunch: ["9M", "8V", "7T"], + imprison: ["9M"], + infestation: ["7M"], + knockoff: ["9M", "9L29", "7T", "7L29"], + lashout: ["9M"], + megadrain: ["8V"], + memento: ["9L57", "7L57"], + metronome: ["9M"], + minimize: ["9L21", "8V", "7L21"], + moonblast: ["8V"], + mudshot: ["9M"], + mudslap: ["9M"], + painsplit: ["7T"], + payback: ["7M"], + poisonfang: ["9L18", "7L18"], + poisongas: ["9L1", "8V", "7L1"], + poisonjab: ["9M", "8V", "7M"], + pound: ["9L1", "8V", "7L1"], + protect: ["9M", "8V", "7M"], + quash: ["7M"], + raindance: ["9M", "7M"], + recycle: ["7T"], + rest: ["9M", "8V", "7M"], + return: ["7M"], + rockpolish: ["7M"], + rockslide: ["9M", "8V", "7M"], + rocktomb: ["9M", "7M"], + round: ["7M"], + sandstorm: ["9M"], + scaryface: ["9M"], + screech: ["9L37", "8V", "7L37"], + selfdestruct: ["8V"], + shadowball: ["9M", "8V", "7M"], + shockwave: ["7T"], + sleeptalk: ["9M", "7M"], + sludgebomb: ["9M", "8V", "7M"], + sludgewave: ["7M"], + snarl: ["9M", "7M"], + snore: ["7T"], + spite: ["9M", "7T"], + stoneedge: ["9M", "7M"], + substitute: ["9M", "8V", "7M"], + sunnyday: ["9M", "7M"], + swagger: ["7M"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8V", "7M"], + terablast: ["9M"], + thief: ["9M", "7M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderpunch: ["9M", "8V", "7T"], + torment: ["7M"], + toxic: ["9M", "9L26", "8V", "7M"], + venomdrench: ["7L1"], + venoshock: ["9M", "7M"], + zenheadbutt: ["9M"], + }, + }, + shellder: { + learnset: { + aquaring: ["9E", "8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["9L24", "8L24", "8V", "7L37", "7V", "6L37", "5L37", "4L32", "3L17", "3S0", "3S2"], + avalanche: ["9M", "8M", "7E", "6E", "5E"], + barrier: ["7E", "7V", "6E", "5E", "5D", "4E", "3E"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + brine: ["8M", "7L44", "6L44", "5L44", "4M", "4L44"], + bubblebeam: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + captivate: ["4M"], + chillingwater: ["9M"], + clamp: ["8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L41"], + confide: ["7M", "6M"], + curse: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L48", "8M", "8L48", "8V", "7L61", "6L61", "5L61"], + icebeam: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L52", "4M", "4L49", "3M", "3L49"], + iceshard: ["9L8", "8L8", "8V", "7L28", "6L28", "5L28", "4L28"], + icespinner: ["9M"], + iciclespear: ["9M", "8M", "7L13", "7E", "6L13", "6E", "5L13", "5E", "4L13", "4E", "3L8", "3E", "3S0", "3S1"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + irondefense: ["9M", "9L36", "8M", "8L36", "7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L40"], + leer: ["9L12", "8L12", "8V", "7L20", "7V", "6L20", "5L20", "4L20", "3L33"], + lifedew: ["9E", "8E"], + liquidation: ["9M", "8M", "7T"], + mimic: ["7V", "3T"], + mudshot: ["9M", "8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "9L28", "8M", "8L28", "8V", "7M", "7L16", "7V", "6M", "6L16", "5M", "5L16", "4M", "4L16", "3M", "3L25"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rapidspin: ["7E", "7V", "6E", "5E", "4E", "3E"], + razorshell: ["9L32", "8M", "8L32", "7L32", "6L32", "5L32"], + reflect: ["8V", "7V"], + refresh: ["3S2"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "8M", "7E", "6E", "5E", "4E"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shellsmash: ["9L44", "8L44", "8V", "7L56", "6L56", "5L56"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + spikes: ["9M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["9L20", "8L20", "8V", "7L8", "7V", "6L8", "5L8", "4L8", "3L9", "3S0"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S2"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + takedown: ["9M", "7E", "7V", "6E", "5E", "4E", "3E", "3S2"], + teleport: ["8V", "7V"], + terablast: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + triattack: ["8M", "8V", "7V"], + twineedle: ["7E", "6E", "5E"], + waterfall: ["9M"], + watergun: ["9L1", "8L1", "8V", "7L1", "7V"], + waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["9L16", "8M", "8L16", "7L40", "7V", "6L40", "5L40", "4M", "4L37"], + withdraw: ["9L4", "8L4", "8V", "7L4", "7V", "6L4", "5L4", "5D", "4L4", "3L1", "3S0", "3S1"], + }, + eventData: [ + {generation: 3, level: 24, gender: "F", nature: "Brave", ivs: {hp: 5, atk: 19, def: 18, spa: 5, spd: 11, spe: 13}, abilities: ["shellarmor"], moves: ["withdraw", "iciclespear", "supersonic", "aurorabeam"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", abilities: ["shellarmor"], moves: ["tackle", "withdraw", "iciclespear"], pokeball: "pokeball"}, + {generation: 3, level: 29, abilities: ["shellarmor"], moves: ["refresh", "takedown", "surf", "aurorabeam"]}, + ], + encounters: [ + {generation: 1, level: 10}, + ], + }, + cloyster: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + avalanche: ["9M", "8M", "4M"], + barrier: ["8V"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M"], + brine: ["8M", "4M"], + bubblebeam: ["7V"], + captivate: ["4M"], + chillingwater: ["9M"], + clamp: ["7V"], + confide: ["7M", "6M"], + curse: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "5S0", "4M", "3M"], + hydropump: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + iceshard: ["9L1", "8L1"], + icespinner: ["9M"], + iciclecrash: ["9L1", "8L1", "7L50", "6L50", "5L52"], + iciclespear: ["9M", "9L0", "8M", "8L0", "5S0"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T", "4T"], + leer: ["9L1", "8L1", "8V"], + lightscreen: ["9M", "8M"], + liquidation: ["9M", "8M", "7T"], + mimic: ["7V", "3T"], + mudshot: ["9M", "8M"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pinmissile: ["8M"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + protect: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorshell: ["9L5", "8M", "8L1", "5S0"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "8M", "5S0"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shellsmash: ["9L1", "8L1", "7L1", "6L1"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smartstrike: ["9M", "8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + spikecannon: ["8V", "7L13", "7V", "6L13", "5L13", "4L40", "3L41"], + spikes: ["9M", "9L1", "8M", "8L1", "7L28", "7V", "6L28", "5L28", "4L28", "3L33"], + steelroller: ["8T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V"], + takedown: ["9M", "7V"], + teleport: ["8V", "7V"], + terablast: ["9M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + triattack: ["8M", "8V", "7V"], + twineedle: ["8V"], + waterfall: ["9M"], + watergun: ["9L1", "8L1", "8V", "7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["9L1", "8M", "8L1", "7V", "4M"], + withdraw: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + }, + eventData: [ + {generation: 5, level: 30, gender: "M", nature: "Naughty", abilities: ["skilllink"], moves: ["iciclespear", "rockblast", "hiddenpower", "razorshell"], pokeball: "pokeball"}, + ], + }, + gastly: { + learnset: { + acidspray: ["9M"], + allyswitch: ["8M", "7T"], + astonish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + captivate: ["4M"], + clearsmog: ["9E", "8E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L21"], + corrosivegas: ["8T"], + curse: ["9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], + darkpulse: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L36", "6M", "6L36", "5T", "5L36", "4M", "4L36"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], + destinybond: ["9L44", "8L44", "7L40", "7V", "6L40", "5L40", "4L40", "3L33"], + disable: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["9L48", "8L48", "8V", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L33", "3T", "3L28"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + explosion: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + grudge: ["8E", "7E", "6E", "5E", "4E", "3E"], + gunkshot: ["9M"], + haze: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V"], + hex: ["9M", "9L24", "8M", "8L24", "7L43", "6L43", "5L43"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["9L4", "8L4", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + icepunch: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M"], + infestation: ["7M", "6M"], + knockoff: ["7T", "6T", "5T", "4T"], + lick: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["9L8", "8L8", "7L8", "7V", "6L8", "5L8", "4L8", "3L13"], + megadrain: ["8V", "7V"], + mimic: ["7V", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["7L47", "7V", "6L47", "5L47", "4L43", "3T", "3L41"], + nightshade: ["9M", "9L28", "8L28", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L16"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L12", "8M", "8L12", "7M", "7L26", "6M", "6L26", "5M", "5L26", "4M", "4L26"], + perishsong: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + poisongas: ["8V"], + poisonjab: ["9M", "8M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psywave: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflecttype: ["9E", "8E", "7E", "6E"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M", "7E", "6E", "5E"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shadowball: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L29", "4M", "4L29", "3M", "3L36"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "5D"], + smog: ["9E", "8E", "8V", "7E", "6E", "5E"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "9L16", "8L16", "7T", "7L5", "7V", "6T", "6L5", "5T", "5L5", "4T", "4L5", "3L8"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L32", "8L32", "8V", "7L22", "6L22", "5L22", "4T", "4L22"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8V", "7V"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "9E", "8E", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "4E", "3E"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 1, level: 18}, + ], + }, + haunter: { + learnset: { + acidspray: ["9M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "8V", "7L19", "7V", "6L19", "5L19", "5S0", "4L19", "3L21"], + corrosivegas: ["8T"], + curse: ["9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], + darkpulse: ["9M", "9L42", "8M", "8L42", "8V", "7M", "7L44", "6M", "6L44", "5T", "5L44", "4M", "4L44"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], + destinybond: ["9L54", "8L54", "7L50", "7V", "6L50", "5L50", "4L50", "3L39"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["9L60", "8L60", "8V", "7M", "7L39", "7V", "6M", "6L39", "5M", "5L39", "4M", "4L39", "3T", "3L31"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gunkshot: ["9M"], + haze: ["9M"], + headbutt: ["8V"], + hex: ["9M", "9L24", "8M", "8L24", "7L55", "6L55", "5L55"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + icepunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M"], + infestation: ["7M", "6M"], + knockoff: ["7T", "6T", "5T", "4T"], + lick: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["9L1", "8L1", "7L8", "7V", "6L8", "5L8", "4L8", "3L13"], + megadrain: ["8V", "7V"], + metronome: ["9M"], + mimic: ["7V", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["7L61", "7V", "6L61", "5L61", "4L55", "3T", "3L53"], + nightshade: ["9M", "9L30", "8L30", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L16"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L12", "8M", "8L12", "7M", "7L28", "6M", "6L28", "5M", "5L28", "5S0", "4M", "4L28"], + phantomforce: ["9M"], + poisongas: ["8V"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shadowball: ["9M", "9L48", "8M", "8L48", "8V", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L33", "3M", "3L45"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowpunch: ["9L0", "8L0", "7L1", "6L25", "5L25", "5S0", "4L25", "3L25"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["8M"], + smog: ["8V"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "9L16", "8L16", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L36", "8L36", "8V", "7L22", "6L22", "5L22", "5S0", "4T", "4L22"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8V", "7V"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["confuseray", "suckerpunch", "shadowpunch", "payback"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 20}, + {generation: 2, level: 15}, + {generation: 3, level: 20}, + {generation: 4, level: 16}, + ], + }, + gengar: { + learnset: { + acidspray: ["9M"], + allyswitch: ["8M", "7T"], + astonish: ["6S4"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "8V", "7L19", "7V", "6L19", "6S1", "6S2", "6S4", "5L19", "4L19", "3L21", "3S0"], + corrosivegas: ["8T"], + counter: ["7V", "3T"], + curse: ["9L20", "8L20", "7L12", "7V", "6L12", "5L12", "4L12", "3L13", "3S0"], + darkpulse: ["9M", "9L42", "8M", "8L42", "8V", "7M", "7L44", "6M", "6L44", "5T", "5L44", "4M", "4L44"], + dazzlinggleam: ["9M", "8M", "8V", "8S7", "7M", "6M"], + destinybond: ["9L54", "8L54", "7L50", "7V", "6L50", "6S3", "5L50", "4L50", "3L39"], + disable: ["8V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["9L60", "8L60", "8V", "7M", "7L39", "7V", "6M", "6L39", "5M", "5L39", "4M", "4L39", "3T", "3L31"], + dynamicpunch: ["7V", "3T"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M"], + haze: ["9M", "8V"], + headbutt: ["8V", "7V", "4T"], + hex: ["9M", "9L24", "8M", "8L24", "7L55", "6L55", "5L55"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "6S5", "6S6", "5M", "4M", "3M"], + hypnosis: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S5", "6S6", "5L1", "4L1", "3L1"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "8M"], + infestation: ["7M", "6M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lick: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["9L1", "8L1", "7L8", "7V", "6L8", "6S5", "6S6", "5L8", "4L8", "3L13"], + megadrain: ["8V", "7V"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M", "8M", "7V", "3T"], + mimic: ["7V", "3T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightmare: ["7L61", "7V", "6L61", "5L61", "4L55", "3T", "3L53"], + nightshade: ["9M", "9L30", "8L30", "8V", "7L15", "7V", "6L15", "6S2", "5L15", "4L15", "3L16", "3S0"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L12", "8M", "8L12", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28"], + perishsong: ["9L1", "8L1"], + phantomforce: ["9M", "8M"], + poisongas: ["8V"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + poltergeist: ["9M", "8T"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "6S1", "6S5", "6S6", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflecttype: ["9L1", "8L1"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shadowball: ["9M", "9L48", "8M", "8L48", "8V", "8S7", "7M", "7L33", "7V", "6M", "6L33", "6S3", "6S4", "5M", "5L33", "4M", "4L33", "3M", "3L45"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowpunch: ["9L1", "8L1", "7L1", "6L25", "6S1", "6S2", "5L25", "4L25", "3L25"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["8T"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "8V", "8S7", "7M", "6M", "6S3", "5M", "4M", "3M"], + sludgewave: ["8M", "6S4"], + smog: ["8V"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "9L16", "8L16", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1", "3S0"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L36", "8L36", "8V", "7L22", "6L22", "6S1", "6S2", "5L22", "4T", "4L22"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "8V", "8S7", "7M", "6M", "6S3", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 23, gender: "F", nature: "Hardy", ivs: {hp: 19, atk: 14, def: 0, spa: 14, spd: 17, spe: 27}, moves: ["spite", "curse", "nightshade", "confuseray"], pokeball: "pokeball"}, + {generation: 6, level: 25, nature: "Timid", moves: ["psychic", "confuseray", "suckerpunch", "shadowpunch"], pokeball: "cherishball"}, + {generation: 6, level: 25, moves: ["nightshade", "confuseray", "suckerpunch", "shadowpunch"], pokeball: "cherishball"}, + {generation: 6, level: 50, moves: ["shadowball", "sludgebomb", "willowisp", "destinybond"], pokeball: "cherishball"}, + {generation: 6, level: 25, shiny: true, moves: ["shadowball", "sludgewave", "confuseray", "astonish"], pokeball: "duskball"}, + {generation: 6, level: 50, shiny: true, gender: "M", moves: ["meanlook", "hypnosis", "psychic", "hyperbeam"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["meanlook", "hypnosis", "psychic", "hyperbeam"], pokeball: "cherishball"}, + {generation: 8, level: 80, gender: "M", nature: "Naughty", abilities: ["cursedbody"], ivs: {hp: 30, atk: 30, def: 30, spa: 31, spd: 31, spe: 31}, moves: ["shadowball", "sludgebomb", "dazzlinggleam", "willowisp"], pokeball: "pokeball"}, + ], + }, + onix: { + learnset: { + ancientpower: ["4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["8L1", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "5D", "4L1", "3L8"], + block: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + bodypress: ["8M"], + bodyslam: ["8M", "7V", "3T"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["8L16", "7L4", "7V", "6L4", "5L46", "4L38"], + defensecurl: ["8E", "7E", "6E", "5E", "4E"], + dig: ["8M", "8L44", "8V", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "3M"], + doubleedge: ["8L56", "8V", "7L49", "7V", "6L49", "5L57", "4L46", "3T", "3L56"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["8L12", "7L25", "6L25", "5L41", "4L33", "3L30"], + dragondance: ["8M"], + dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], + dragontail: ["8E", "8V", "7M", "6M", "5M"], + drillrun: ["8M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + explosion: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fissure: ["7V"], + flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + flashcannon: ["8M", "8V", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["8M", "7M", "7L20", "6M", "6L20", "5M", "4M"], + harden: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L19"], + headbutt: ["8V", "7V", "4T"], + headsmash: ["8E"], + heavyslam: ["8M", "7E", "6E", "5E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8L48", "8V", "7T", "7L40", "7V", "6T", "6L40", "5T", "5L49", "4M", "4L38", "3M", "3L45"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + rage: ["8V", "7L13", "7V", "6L13", "5L14", "4L14", "3L23"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "7E", "6E", "5E", "4E"], + rockclimb: ["7E", "6E", "5E", "5D", "4M"], + rockpolish: ["8L8", "7M", "7L19", "6M", "6L19", "5M", "5L30", "4M", "4L30"], + rockslide: ["8M", "8L20", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8L1", "8V", "7L7", "7V", "6L7", "5L9", "4L9", "3L12"], + rocktomb: ["8M", "7M", "7L10", "6M", "6L10", "5M", "5L17", "4M", "4L17", "3M"], + rollout: ["8E", "7E", "6E", "5E", "4T", "4E"], + rototiller: ["7E", "6E"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "8L40", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L25", "4M", "4L22", "3M", "3L33"], + sandtomb: ["8M", "8L28", "7L37", "6L37", "5L54", "4L41", "3L49"], + scaryface: ["8M"], + scorchingsands: ["8T"], + screech: ["8M", "8L24", "8V", "7L31", "7V", "6L31", "5L6", "4L6", "3L1"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "8V", "7V", "3T"], + skullbash: ["7V"], + slam: ["8L36", "8V", "7L28", "7V", "6L28", "5L33", "4L25", "3L37"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["8L4", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8L32", "8V", "7T", "7L16", "7E", "6T", "6L16", "6E", "5T", "5L38", "5E", "5D", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L52", "7M", "7L46", "6M", "6L46", "5M", "5L62", "4M", "4L49"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + wideguard: ["8E", "7E"], + }, + encounters: [ + {generation: 1, level: 13}, + ], + }, + steelix: { + learnset: { + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + autotomize: ["8L8", "7L19", "6L19", "5L30"], + bind: ["8L1", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4L1", "3L8"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L1", "7L37", "7V", "6L37", "5L54", "4L41", "3L49"], + curse: ["8L16", "7L4", "7V", "6L4", "5L46", "4L38"], + cut: ["7V", "6M", "5M", "4M", "3M"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + defensecurl: ["7V", "3T"], + dig: ["8M", "8L44", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "3M"], + doubleedge: ["8L56", "7L49", "6L49", "5L57", "4L46", "3T", "3L56"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["8L12", "7L25", "7V", "6L25", "5L41", "4L33", "3L30"], + dragondance: ["8M"], + dragonpulse: ["8M", "7T", "6T", "5T", "4M"], + dragontail: ["7M", "6M", "5M"], + drillrun: ["8M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gyroball: ["8M", "7M", "7L20", "6M", "6L20", "5M", "4M"], + harden: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L19"], + headbutt: ["7V", "4T"], + heavyslam: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + irondefense: ["8M"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8L48", "7T", "7L40", "7V", "6T", "6L40", "5T", "5L49", "4M", "4L38", "3M", "3L45"], + magnetrise: ["8L60", "7T", "6T", "5T", "4T"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["8M"], + psychup: ["7M", "6M", "5M", "4M"], + rage: ["7L13", "7V", "6L13", "5L14", "4L14", "3L23"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockclimb: ["4M"], + rockpolish: ["8L1", "7M", "6M", "5M", "4M", "4L30"], + rockslide: ["8M", "8L20", "7M", "7L34", "6M", "6L34", "5M", "5L34", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8L1", "7L7", "7V", "6L7", "5L9", "4L9", "3L12"], + rocktomb: ["8M", "7M", "7L10", "6M", "6L10", "5M", "5L17", "4M", "4L17", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "8L40", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L25", "4M", "4L22", "3M", "3L33"], + sandtomb: ["8M", "8L28"], + scaryface: ["8M"], + scorchingsands: ["8T"], + screech: ["8M", "8L24", "7L31", "7V", "6L31", "5L6", "4L6", "3L1"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + slam: ["8L36", "7L28", "7V", "6L28", "5L33", "4L25", "3L37"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["8L4", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8L32", "7T", "7L16", "6T", "6L16", "5T", "5L38", "4M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L52", "7M", "7L46", "6M", "6L46", "5M", "5L62", "4M", "4L49"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderfang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + }, + }, + drowzee: { + learnset: { + allyswitch: ["7T"], + assist: ["7E", "6E", "5E", "4E", "3E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["7E", "7V", "6E", "5E", "4E", "3E"], + bellydrum: ["3S0"], + bide: ["7V"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + calmmind: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confusion: ["9L9", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L11"], + counter: ["7V", "3T"], + curse: ["7V"], + dazzlinggleam: ["9M", "8V", "7M", "6M"], + disable: ["9L5", "8V", "7L5", "7V", "6L5", "5L5", "4L7", "3L7"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M"], + drainpunch: ["9M", "7T", "6T", "5T", "5D", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "9E", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flatter: ["9E", "7E", "6E", "5E", "4E"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9L49", "7L61", "7V", "6L61", "5L61", "4L53", "3L45"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + guardswap: ["9E", "7E", "6E", "5E", "4E"], + haze: ["9M"], + headbutt: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4T", "4L15", "3L17"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + icepunch: ["9M", "9E", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + imprison: ["9M"], + knockoff: ["9M"], + lightscreen: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["7T", "6T", "5T"], + meditate: ["8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L27"], + megakick: ["7V", "3T"], + megapunch: ["7V", "3T"], + metronome: ["9M", "7V", "3T"], + mimic: ["7V", "3T"], + nastyplot: ["9M", "9L41", "8V", "7L53", "7E", "6L53", "6E", "5L53", "5E", "4L43", "4E"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M"], + poisongas: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L18", "3L21"], + pound: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + powersplit: ["9E", "7E"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L21", "8V", "7L25", "6L25", "5L25", "4L26"], + psychic: ["9M", "9L37", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L40", "3M", "3L31"], + psychicterrain: ["9M", "7E"], + psychocut: ["9E", "7E", "6E", "5E", "5D", "4E"], + psychup: ["9L25", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L29", "3T", "3L37"], + psyshock: ["9M", "9L45", "7M", "7L57", "6M", "6L57", "5M", "5L57"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "3T"], + storedpower: ["9M"], + submission: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L33", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L37", "3T", "3L41"], + swift: ["9M"], + synchronoise: ["7L37", "6L37", "5L37"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "9E", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + thunderwave: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + triattack: ["8V", "7V"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + wakeupslap: ["7L29"], + wish: ["3S0"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "9L29", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["insomnia"], moves: ["bellydrum", "wish"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 9}, + ], + }, + hypno: { + learnset: { + allyswitch: ["7T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["8V"], + batonpass: ["9M", "3S0"], + bide: ["7V"], + bodypress: ["9M"], + bodyslam: ["9M", "7V", "3T"], + brickbreak: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + calmmind: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + counter: ["7V", "3T"], + curse: ["7V"], + dazzlinggleam: ["9M", "8V", "7M", "6M"], + disable: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9L56", "7L1", "7V", "6L1", "5L61", "4L69", "3L57"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + haze: ["9M"], + headbutt: ["9L13", "8V", "7L13", "7V", "6L13", "5L13", "4T", "4L15", "3L17"], + helpinghand: ["9M"], + hex: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + icepunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + knockoff: ["9M"], + lightscreen: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["7T", "6T", "5T"], + meditate: ["8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L29", "3S0"], + megakick: ["7V", "3T"], + megapunch: ["7V", "3T"], + metronome: ["9M", "7V", "3T"], + mimic: ["7V", "3T"], + nastyplot: ["9M", "9L47", "8V", "7L1", "6L1", "5L53", "4L55"], + naturalgift: ["4M"], + nightmare: ["7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + nightshade: ["9M"], + poisongas: ["9L17", "8V", "7L17", "7V", "6L17", "5L17", "4L18", "3L21"], + pound: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L21", "8V", "7L25", "6L25", "5L25", "4L28"], + psychic: ["9M", "9L42", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L49", "4M", "4L50", "3M", "3L35", "3S0"], + psychicterrain: ["9M"], + psychup: ["9L25", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L33", "3T", "3L43"], + psyshock: ["9M", "9L51", "7M", "7L57", "6M", "6L57", "5M", "5L57"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "3T"], + storedpower: ["9M"], + submission: ["7V"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L37", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L45", "3T", "3L49"], + swift: ["9M"], + switcheroo: ["9L1", "7L1", "6L1", "5L1", "4L1"], + synchronoise: ["7L37", "6L37", "5L37"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + triattack: ["8V", "7V"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + wakeupslap: ["7L29"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "9L32", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L64"], + }, + eventData: [ + {generation: 3, level: 34, abilities: ["insomnia"], moves: ["batonpass", "psychic", "meditate", "shadowball"]}, + ], + encounters: [ + {generation: 2, level: 16}, + {generation: 4, level: 16}, + ], + }, + krabby: { + learnset: { + agility: ["8M", "7E", "6E", "5E", "4E"], + allyswitch: ["8M", "7T", "7E", "6E"], + amnesia: ["8M", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + ancientpower: ["8E", "7E", "6E", "5E", "4T", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7E", "7V", "6E", "5E"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M"], + brine: ["8M", "7L39", "6L39", "5L39", "4M", "4L39"], + bubble: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bubblebeam: ["8L20", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + captivate: ["4M"], + chipaway: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + crabhammer: ["8L44", "8V", "7L41", "7V", "6L41", "5L41", "4L41", "3L45"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "4E", "3M", "3E"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M"], + flail: ["8L29", "7L45", "7E", "7V", "6L45", "6E", "5L45", "5E", "4L45", "4E", "3L49", "3E"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + guillotine: ["8L48", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3L34"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + hammerarm: ["8E"], + harden: ["8L4", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L16"], + haze: ["7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + leer: ["8L1", "8V", "7L9", "7V", "6L9", "5L9", "4L9", "3L5"], + liquidation: ["8M", "7T"], + metalclaw: ["8L8", "7L21", "6L21", "5L21", "4L21"], + mimic: ["7V", "3T"], + mudshot: ["8M", "8L12", "7L19", "6L19", "5L19", "4L19", "3L23"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + nightslash: ["8E"], + protect: ["8M", "8L16", "8V", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L29", "4M", "4L29", "3M", "3L38"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorshell: ["8M", "8L32"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "5D", "4M", "3M"], + slam: ["8L36", "8V", "7L35", "7E", "7V", "6L35", "6E", "5L35", "5E", "4L35", "4E", "3E"], + slash: ["8E"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stomp: ["8L24", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L27"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "8L40", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + tickle: ["7E", "6E", "5E", "4E"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + visegrip: ["8V", "7L5", "7V", "6L5", "5L5", "5D", "4L5", "3L12"], + watergun: ["8L1", "7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + xscissor: ["8M", "8V", "7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 1, level: 10}, + ], + }, + kingler: { + learnset: { + agility: ["8M", "8V"], + allyswitch: ["8M", "7T"], + amnesia: ["8M", "8V"], + ancientpower: ["4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M"], + brine: ["8M", "7L51", "6L51", "5L51", "4M", "4L51"], + brutalswing: ["8M"], + bubble: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bubblebeam: ["8L20", "8V", "7L15", "7V", "6L15", "5L15", "4L15"], + captivate: ["4M"], + confide: ["7M", "6M"], + crabhammer: ["8L54", "8V", "7L56", "7V", "6L56", "5L56", "4L56", "3L57"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M"], + flail: ["8L31", "7L63", "6L63", "5L63", "4L63", "3L65"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + guillotine: ["8L60", "8V", "7L37", "7V", "6L37", "5L37", "4L37", "3L38"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + hammerarm: ["8L1"], + harden: ["8L1", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + honeclaws: ["6M", "5M"], + hydropump: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["7T", "6T", "5T", "4T"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L9", "3L1"], + liquidation: ["8M", "7T"], + metalclaw: ["8L1", "7L21", "6L21", "5L21", "4L21", "3L1"], + mimic: ["7V", "3T"], + mudshot: ["8M", "8L12", "7L19", "6L19", "5L19", "4L19", "3L23"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + protect: ["8M", "8L16", "8V", "7M", "7L32", "7V", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3M", "3L42"], + quash: ["7M", "6M", "5M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorshell: ["8M", "8L36"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + slam: ["8L42", "8V", "7L44", "6L44", "5L44", "4L44"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stomp: ["8L24", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L27"], + stompingtantrum: ["8M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "8L48", "7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + visegrip: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + watergun: ["8L1", "7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + wideguard: ["8L1", "7L1", "6L1", "5L1"], + xscissor: ["8M", "8V", "7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 3, level: 25}, + {generation: 4, level: 22}, + ], + }, + voltorb: { + learnset: { + agility: ["9M"], + bide: ["7V"], + charge: ["9M", "9L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + chargebeam: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L22", "4M", "4L26"], + confide: ["7M", "6M"], + curse: ["7V"], + discharge: ["9L37", "7L37", "6L37"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + eerieimpulse: ["9M", "9L6", "7L6", "6L6"], + electricterrain: ["9M"], + electroball: ["9M", "9L22", "7L22", "6L22", "5L29"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["9L41", "8V", "7M", "7L41", "7V", "6M", "6L41", "5M", "5L47", "4M", "4L43", "3T", "3L46"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foulplay: ["9M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["9M", "9L46", "7M", "7L46", "6M", "6L43", "5M", "5L43", "4M", "4L40"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + lightscreen: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L22", "3M", "3L37"], + magiccoat: ["7T", "6T", "5T", "4T"], + magnetrise: ["9L34", "7T", "7L34", "6T", "6L34", "5T", "5L40", "4T", "4L36"], + metalsound: ["9E"], + mimic: ["7V", "3T"], + mirrorcoat: ["9L50", "8V", "7L48", "7V", "6L48", "5L50", "4L47", "3L49", "3S0"], + naturalgift: ["5D", "4M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["9E"], + reflect: ["8V", "7V"], + refresh: ["3S0"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["9L11", "7L11", "7V", "6L11", "5L15", "4T", "4L15", "3T", "3L32"], + round: ["7M", "6M", "5M"], + screech: ["9L13", "8V", "7L13", "7V", "6L13", "5L19", "4L19", "3L8"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["9L26", "8V", "7L26", "7V", "6L26", "5L33", "4L29", "3T", "3L27"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "5D", "4T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + sonicboom: ["8V", "7L4", "7V", "6L4", "5L8", "4L8", "3L15"], + spark: ["9L9", "7L9", "6L9", "5L12", "4L12", "3L21", "3S0"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L20", "8V", "7L20", "7V", "6L20", "5L36", "4T", "4L33", "3T", "3L42", "3S0"], + tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L5", "4L5", "3L1"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thundershock: ["9L4", "8V"], + thunderwave: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 19, moves: ["refresh", "mirrorcoat", "spark", "swift"]}, + ], + encounters: [ + {generation: 1, level: 14}, + {generation: 1, level: 40}, + ], + }, + voltorbhisui: { + learnset: { + agility: ["9M"], + bulletseed: ["9M", "9L9"], + charge: ["9M", "9L1"], + chargebeam: ["9M", "9L16"], + discharge: ["9L34"], + electricterrain: ["9M"], + electroball: ["9M", "9L22"], + endure: ["9M"], + energyball: ["9M", "9L29"], + explosion: ["9L41"], + facade: ["9M"], + foulplay: ["9M"], + gigadrain: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M", "9L50"], + gyroball: ["9M", "9L46"], + leafstorm: ["9M"], + leechseed: ["9E"], + protect: ["9M"], + raindance: ["9M"], + recycle: ["9E"], + reflect: ["9M"], + rest: ["9M"], + rollout: ["9L11"], + screech: ["9L13"], + seedbomb: ["9M", "9L34"], + selfdestruct: ["9L26"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + stunspore: ["9L6"], + substitute: ["9M"], + swift: ["9M", "9L20"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thundershock: ["9L4"], + thunderwave: ["9M"], + voltswitch: ["9M"], + wildcharge: ["9M"], + worryseed: ["9E"], + }, + }, + electrode: { + learnset: { + agility: ["9M"], + bide: ["7V"], + charge: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + chargebeam: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L22", "4M", "4L26"], + confide: ["7M", "6M"], + curse: ["7V"], + discharge: ["9L41", "7L41", "6L41"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + eerieimpulse: ["9M", "9L1", "7L1", "6L6"], + electricterrain: ["9M"], + electroball: ["9M", "9L22", "7L22", "6L22", "5L29"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["9L47", "8V", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L57", "4M", "4L51", "3T", "3L54"], + facade: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foulplay: ["9M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "9L54", "7M", "7L54", "6M", "6L51", "5M", "5L51", "4M", "4L46"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + lightscreen: ["9M", "9L29", "8V", "7M", "7L29", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L22", "3M", "3L41"], + magiccoat: ["7T", "6T", "5T", "4T"], + magneticflux: ["9L1", "7L1", "6L1"], + magnetrise: ["9L36", "7T", "7L36", "6T", "6L36", "5T", "5L46", "4T", "4L40"], + mimic: ["7V", "3T"], + mirrorcoat: ["9L58", "8V", "7L58", "7V", "6L58", "5L62", "4L57", "3L59"], + naturalgift: ["4M"], + protect: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["9L11", "7L11", "7V", "6L11", "5L15", "4T", "4L15", "3T", "3L34"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["9L13", "8V", "7L13", "7V", "6L13", "5L19", "4L19", "3L1"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["9L26", "8V", "7L26", "7V", "6L26", "5L35", "4L29", "3T", "3L27"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + sonicboom: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + spark: ["9L9", "7L9", "6L1", "5L1", "4L1", "3L21"], + substitute: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L20", "8V", "7L20", "7V", "6L20", "5L40", "4T", "4L35", "3T", "3L48"], + tackle: ["9L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + taunt: ["9M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thundershock: ["9L1", "8V"], + thunderwave: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 23}, + {generation: 3, level: 3, nature: "Hasty", ivs: {hp: 19, atk: 16, def: 18, spa: 25, spd: 25, spe: 19}, abilities: ["static"], pokeball: "pokeball"}, + {generation: 4, level: 23}, + ], + }, + electrodehisui: { + learnset: { + agility: ["9M"], + bulletseed: ["9M", "9L9"], + charge: ["9M", "9L1"], + chargebeam: ["9M", "9L16"], + chloroblast: ["9L0"], + discharge: ["9L34"], + electricterrain: ["9M"], + electroball: ["9M", "9L22"], + endure: ["9M"], + energyball: ["9M", "9L29"], + explosion: ["9L41"], + facade: ["9M"], + foulplay: ["9M"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M", "9L50"], + gyroball: ["9M", "9L46"], + hyperbeam: ["9M"], + leafstorm: ["9M"], + protect: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + rollout: ["9L11"], + scaryface: ["9M"], + screech: ["9L13"], + seedbomb: ["9M", "9L34"], + selfdestruct: ["9L26"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + stunspore: ["9L6"], + substitute: ["9M"], + swift: ["9M", "9L20"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thundershock: ["9L4"], + thunderwave: ["9M"], + voltswitch: ["9M"], + wildcharge: ["9M"], + }, + }, + exeggcute: { + learnset: { + absorb: ["8L1"], + ancientpower: ["8E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrage: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + bestow: ["7L50", "6L50", "5L53"], + bide: ["7V"], + block: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + bulletseed: ["8M", "8L30", "7L17", "6L17", "5L17", "4M", "4L17", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confusion: ["8L20", "8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L19"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + eggbomb: ["7V"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + extrasensory: ["8L40", "7L47", "6L47", "5L47"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "8L35", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "7E", "6E"], + gravity: ["7T", "6T", "5T", "4T"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + infestation: ["7M", "6M"], + ingrain: ["8E", "7E", "6E", "5E", "4E", "3E"], + leafstorm: ["8M", "7E", "6E", "5E", "4E"], + leechseed: ["8L10", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L13"], + lightscreen: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7E", "6E", "5E", "4E"], + megadrain: ["8L15", "8V", "7V"], + mimic: ["7V", "3T"], + moonlight: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + naturalgift: ["7L37", "7E", "6L37", "6E", "5L37", "5E", "4M", "4L37"], + naturepower: ["7M", "7E", "6M", "6E", "5E", "4E"], + nightmare: ["7V", "3T"], + poisonpowder: ["8E", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L31"], + powerswap: ["8M", "7E", "6E", "5E", "4E"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8V"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "5L47", "4M", "4L47", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psywave: ["7V"], + rage: ["7V"], + reflect: ["8M", "8L5", "8V", "7M", "7L7", "7V", "6M", "6L7", "5M", "5L7", "4M", "4L7", "4E", "3M", "3L7", "3E"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + selfdestruct: ["8M", "8V", "7V", "3T"], + skillswap: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + sleeppowder: ["8E", "8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L37"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8L55", "8V", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + strength: ["7V", "6M", "5M", "4M", "3M"], + stunspore: ["8E", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L25"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["3S0"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["8L25", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + takedown: ["7V"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "8L45", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + wish: ["3S0"], + worryseed: ["8L50", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["sweetscent", "wish"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 20}, + ], + }, + exeggutor: { + learnset: { + absorb: ["8L1"], + ancientpower: ["4T", "3S0"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrage: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bide: ["7V"], + block: ["7T", "6T", "5T"], + bulldoze: ["8M"], + bulletseed: ["8M", "8L1", "4M", "3M"], + calmmind: ["8M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confusion: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + curse: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + eggbomb: ["8V", "7L27", "7V", "6L27", "5L27", "4L27", "3L31"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + extrasensory: ["8L1"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M"], + gigadrain: ["8M", "8L1", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + gravity: ["7T", "6T", "5T", "4T"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + infestation: ["7M", "6M"], + leafstorm: ["8M", "8L1", "7L47", "6L47", "5L47", "4L47"], + leechseed: ["8L1"], + lightscreen: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + magicalleaf: ["8M"], + megadrain: ["8L1", "8V", "7V"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + nightmare: ["7V", "3T"], + powerswap: ["8M"], + powerwhip: ["8V"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + psychocut: ["8M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "8L1", "7M", "7L17", "6M", "6L17", "5M", "5L17"], + psywave: ["7V"], + rage: ["7V"], + reflect: ["8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + selfdestruct: ["8M", "8V", "7V", "3T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stomp: ["8L0", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L19"], + stompingtantrum: ["8M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + stunspore: ["8V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["8L1", "7T", "6T", "5T", "4T"], + takedown: ["7V"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terrainpulse: ["8T"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "8L1"], + woodhammer: ["8L1", "7L37", "6L37", "5L37", "4L37"], + worryseed: ["8L1", "7T", "6T", "5T", "4T"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 46, moves: ["refresh", "psychic", "hypnosis", "ancientpower"]}, + ], + }, + exeggutoralola: { + learnset: { + absorb: ["8L1"], + attract: ["8M", "7M"], + barrage: ["8V", "7L1"], + block: ["7T"], + breakingswipe: ["8M"], + brickbreak: ["8M", "8V", "7M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M"], + bulletseed: ["8M", "8L1"], + celebrate: ["7S0"], + confide: ["7M"], + confusion: ["8L1", "8V", "7L1"], + doubleteam: ["7M"], + dracometeor: ["8T", "7T", "7S0"], + dragonhammer: ["8L0", "7L1"], + dragonpulse: ["8M", "8V", "7T"], + dragontail: ["8V", "7M"], + dreameater: ["8V", "7M"], + earthquake: ["8M", "8V", "7M"], + eggbomb: ["8V", "7L27"], + endure: ["8M"], + energyball: ["8M", "7M"], + explosion: ["7M"], + extrasensory: ["8L1"], + facade: ["8M", "8V", "7M"], + flamethrower: ["8M", "8V", "7M"], + frustration: ["7M"], + gigadrain: ["8M", "8L1", "7T"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + gravity: ["7T"], + headbutt: ["8V"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "8V", "7M"], + hypnosis: ["8L1", "8V", "7L1"], + infestation: ["7M"], + ironhead: ["8M", "7T"], + irontail: ["8M", "8V", "7T"], + knockoff: ["7T"], + leafstorm: ["8M", "8L1", "7L47", "7S0"], + leechseed: ["8L1"], + lightscreen: ["8M", "8V", "7M"], + lowkick: ["8M", "7T"], + magicalleaf: ["8M"], + megadrain: ["8L1", "8V"], + naturepower: ["7M"], + outrage: ["8M", "8V", "7T"], + powerswap: ["8M", "7S0"], + powerwhip: ["8M", "8V"], + protect: ["8M", "8V", "7M"], + psychic: ["8M", "8V", "7M"], + psychup: ["7M"], + psyshock: ["8M", "8L1", "7M", "7L17"], + reflect: ["8M", "8L1", "8V", "7M"], + rest: ["8M", "8V", "7M"], + return: ["7M"], + round: ["8M", "7M"], + seedbomb: ["8M", "8L1", "7T", "7L1"], + selfdestruct: ["8M", "8V"], + skillswap: ["8M", "7T"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "8V", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "8L1", "8V", "7M"], + stompingtantrum: ["8M", "7T"], + stunspore: ["8V"], + substitute: ["8M", "8V", "7M"], + sunnyday: ["8M", "7M"], + superpower: ["8M", "8V", "7T"], + swagger: ["7M"], + swordsdance: ["8M", "7M"], + synthesis: ["8L1", "7T"], + telekinesis: ["7T"], + teleport: ["8V"], + terrainpulse: ["8T"], + thief: ["8M", "7M"], + toxic: ["8V", "7M"], + trickroom: ["8M", "7M"], + uproar: ["8M", "8L1"], + woodhammer: ["8L1", "7L37"], + worryseed: ["8L1", "7T"], + zenheadbutt: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 50, gender: "M", nature: "Modest", isHidden: true, moves: ["powerswap", "celebrate", "leafstorm", "dracometeor"], pokeball: "cherishball"}, + ], + }, + cubone: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bellydrum: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + boneclub: ["8V", "7L7", "7V", "6L7", "5L7", "5D", "4L7", "3L9"], + bonemerang: ["8L40", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L25"], + bonerush: ["8L29", "7L51", "7V", "6L37", "5L37", "4L37", "3L41"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["8E", "7E", "7V"], + detect: ["8E", "7E", "7V", "6E", "5E", "4E"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["8L48", "8V", "7L43", "7V", "6L43", "5L43", "4L43", "3T", "3L45"], + doublekick: ["8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L36", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L41"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L8", "7M", "7L27", "7V", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3L33"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "8L20", "7M", "7L33", "6M", "6L33", "5M", "5L33", "4M", "4L33"], + focusenergy: ["8M", "8L32", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L21"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["4T"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8L12", "8V", "7L11", "7V", "6L11", "5L11", "4T", "4L11", "3L13"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + ironhead: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + leer: ["8E", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L17"], + lowkick: ["8M", "7T", "6T", "5T", "5D", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["8L1", "7V", "4T", "3T"], + naturalgift: ["4M"], + perishsong: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L29"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "8L16", "7L47", "6M", "6L47", "5M", "5L47"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scorchingsands: ["8T"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + skullbash: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "8L24", "7L37"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + tailwhip: ["8L4", "8V", "7L3", "7V", "6L3", "5L3", "4L3", "3L5"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8L44", "8V", "7L31", "7V", "6L31", "5L31", "4L31", "3L37"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + watergun: ["7V"], + }, + encounters: [ + {generation: 1, level: 16}, + ], + }, + marowak: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + boneclub: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bonemerang: ["8L48", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L25"], + bonerush: ["8L31", "7L65", "7V", "6L43", "5L43", "4L43", "3L53"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["7V"], + detect: ["7V"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["8L60", "8V", "7L53", "7V", "6L53", "5L53", "4L53", "3T", "3L61"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L42", "7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L49"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L1", "7M", "7L27", "7V", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3L39"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "8L20", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L37"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L36", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L21"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["4T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8L12", "8V", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + ironhead: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + leer: ["8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L17"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["8L1", "7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["8V", "7L23", "7V", "6L23", "5L23", "4L23", "3L32"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "8L16", "7L59", "6M", "6L59", "5M", "5L59"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T", "3S0"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scorchingsands: ["8T"], + screech: ["8M", "8V"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + sing: ["3S0"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "8L24", "7T", "7L43"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M"], + swordsdance: ["8M", "8V", "7M", "6M", "5M", "4M", "3T", "3S0"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8L54", "8V", "7L33", "7V", "6L33", "5L33", "4L33", "3L46"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + watergun: ["7V"], + }, + eventData: [ + {generation: 3, level: 44, moves: ["sing", "earthquake", "swordsdance", "rockslide"]}, + ], + encounters: [ + {generation: 1, level: 24}, + {generation: 2, level: 12}, + {generation: 4, level: 14}, + ], + }, + marowakalola: { + learnset: { + aerialace: ["7M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M"], + blizzard: ["8M", "8V", "7M"], + bodyslam: ["8M"], + boneclub: ["8V", "7L1"], + bonemerang: ["8L48", "8V", "7L21"], + bonerush: ["8L31", "7L65"], + brickbreak: ["8M", "8V", "7M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M"], + burningjealousy: ["8T"], + confide: ["7M"], + darkpulse: ["8M", "8V", "7M"], + dig: ["8M", "8V"], + doubleedge: ["8L1"], + doubleteam: ["7M"], + dreameater: ["8V", "7M"], + earthpower: ["8M", "7T"], + earthquake: ["8M", "8V", "7M"], + echoedvoice: ["7M"], + endeavor: ["8L42", "7T", "7L49"], + endure: ["8M"], + facade: ["8M", "8V", "7M"], + falseswipe: ["8M", "8L1", "7M"], + fireblast: ["8M", "8V", "7M"], + firepunch: ["8M", "8V", "7T"], + firespin: ["8M", "8L1", "8V"], + flamecharge: ["7M"], + flamethrower: ["8M", "8V", "7M"], + flamewheel: ["8L12", "7L1"], + flareblitz: ["8M", "8L60", "8V", "7L53"], + fling: ["8M", "8L20", "7M", "7L37"], + focusblast: ["8M", "7M"], + focusenergy: ["8M", "8L1"], + focuspunch: ["7T"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + growl: ["8L1", "8V", "7L1"], + headbutt: ["8L1", "8V"], + heatwave: ["8M", "7T"], + hex: ["8M", "8L16", "7L17"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "8V", "7M"], + icebeam: ["8M", "8V", "7M"], + icywind: ["8M", "7T"], + imprison: ["8M"], + irondefense: ["8M", "7T"], + ironhead: ["8M", "7T"], + irontail: ["8M", "8V", "7T"], + knockoff: ["7T"], + laserfocus: ["7T"], + leer: ["8V", "7L13"], + lowkick: ["8M", "7T"], + megakick: ["8M"], + megapunch: ["8M"], + mudslap: ["8L1"], + outrage: ["8M", "8V", "7T"], + painsplit: ["7T"], + poltergeist: ["8T"], + protect: ["8M", "8V", "7M"], + rage: ["8V"], + raindance: ["8M", "7M"], + rest: ["8M", "8V", "7M"], + retaliate: ["8M", "8L1", "7L59"], + return: ["7M"], + rockslide: ["8M", "8V", "7M"], + rocktomb: ["8M", "7M"], + round: ["8M", "7M"], + sandstorm: ["8M", "7M"], + scorchingsands: ["8T"], + screech: ["8M", "8V"], + seismictoss: ["8V"], + shadowball: ["8M", "8V", "7M"], + shadowbone: ["8L0", "7L27"], + sleeptalk: ["8M", "7M"], + smackdown: ["7M"], + snore: ["8M", "7T"], + spite: ["7T"], + stealthrock: ["8M", "8V", "7T"], + stompingtantrum: ["8M", "8L24", "7T", "7L43"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "8V", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M"], + swordsdance: ["8M", "8V", "7M"], + tailwhip: ["8L1", "8V", "7L1"], + thief: ["8M", "7M"], + thrash: ["8L54", "8V", "7L33"], + throatchop: ["8M", "7T"], + thunder: ["8M", "8V", "7M"], + thunderbolt: ["8M", "8V", "7M"], + thunderpunch: ["8M", "8V", "7T"], + toxic: ["8V", "7M"], + uproar: ["8M", "7T"], + willowisp: ["8M", "8L36", "8V", "7M", "7L23"], + }, + }, + marowakalolatotem: { + learnset: { + aerialace: ["7M"], + allyswitch: ["7T"], + attract: ["7M"], + blizzard: ["7M"], + boneclub: ["7L1"], + bonemerang: ["7L21", "7S0"], + bonerush: ["7L65"], + brickbreak: ["7M"], + brutalswing: ["7M"], + bulldoze: ["7M"], + confide: ["7M"], + darkpulse: ["7M"], + doubleteam: ["7M"], + dreameater: ["7M"], + earthpower: ["7T"], + earthquake: ["7M"], + echoedvoice: ["7M"], + endeavor: ["7T", "7L49"], + facade: ["7M"], + falseswipe: ["7M"], + fireblast: ["7M"], + firepunch: ["7T"], + flamecharge: ["7M"], + flamethrower: ["7M"], + flamewheel: ["7L1"], + flareblitz: ["7L53"], + fling: ["7M", "7L37"], + focusblast: ["7M"], + focuspunch: ["7T"], + frustration: ["7M"], + gigaimpact: ["7M"], + growl: ["7L1"], + heatwave: ["7T"], + hex: ["7L17", "7S0"], + hiddenpower: ["7M"], + hyperbeam: ["7M"], + icebeam: ["7M"], + icywind: ["7T"], + irondefense: ["7T"], + ironhead: ["7T"], + irontail: ["7T"], + knockoff: ["7T"], + laserfocus: ["7T"], + leer: ["7L13", "7S0"], + lowkick: ["7T"], + outrage: ["7T"], + painsplit: ["7T"], + protect: ["7M"], + raindance: ["7M"], + rest: ["7M"], + retaliate: ["7L59"], + return: ["7M"], + rockslide: ["7M"], + rocktomb: ["7M"], + round: ["7M"], + sandstorm: ["7M"], + shadowball: ["7M"], + shadowbone: ["7L27"], + sleeptalk: ["7M"], + smackdown: ["7M"], + snore: ["7T"], + spite: ["7T"], + stealthrock: ["7T"], + stompingtantrum: ["7T", "7L43"], + stoneedge: ["7M"], + substitute: ["7M"], + sunnyday: ["7M"], + swagger: ["7M"], + swordsdance: ["7M"], + tailwhip: ["7L1"], + thief: ["7M"], + thrash: ["7L33"], + throatchop: ["7T"], + thunder: ["7M"], + thunderbolt: ["7M"], + thunderpunch: ["7T"], + toxic: ["7M"], + uproar: ["7T"], + willowisp: ["7M", "7L23", "7S0"], + }, + eventData: [ + {generation: 7, level: 25, perfectIVs: 3, moves: ["leer", "hex", "bonemerang", "willowisp"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + tyrogue: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletpunch: ["8E", "7E", "6E", "5E", "4E"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "6E", "5E", "4E", "3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8L1", "7L1", "6L1", "5L1", "5D", "4L1"], + feint: ["8E", "7E", "6E", "5E", "5D"], + focusenergy: ["8M", "8L1"], + foresight: ["7L1", "6L1", "5L1", "4L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + helpinghand: ["8M", "8L1", "7T", "7L1", "7E", "6T", "6L1", "6E", "5T", "5L1", "5E", "4T", "4L1", "4E", "3E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highjumpkick: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + laserfocus: ["7T"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + machpunch: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + megakick: ["8M", "3T"], + megapunch: ["8M"], + mimic: ["3T"], + mindreader: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "6E", "5E"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rapidspin: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + vacuumwave: ["8E", "7E", "6E", "5E", "4T", "4E"], + workup: ["8M", "7M", "5M"], + }, + }, + hitmonlee: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurasphere: ["8M"], + bide: ["7V"], + blazekick: ["8M", "8L24", "7L45", "6L45", "5L45", "4L41"], + bodyslam: ["8M", "7V", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["8M", "8L0", "8V", "7M", "7L17", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L20"], + bulkup: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["8M", "8L36", "7L1", "6L1", "5L57", "4L53"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doublekick: ["8L4", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "8L12", "7L49", "7V", "6L49", "5L49", "4M", "4L45", "3T", "3L41"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8L1"], + feint: ["8L1", "8V", "7L25", "6L25", "5L25", "4L25"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L1", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L21"], + focuspunch: ["7T", "6T", "4M", "3M"], + foresight: ["7L37", "7V", "6L37", "5L37", "4L37", "3L36"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8L1", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highjumpkick: ["8L44", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L26", "3S0"], + jumpkick: ["8V", "7L1", "7V", "6L13", "5L13", "4L13", "3L16"], + knockoff: ["7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lowkick: ["8M", "8L8", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "8L1", "7M", "6M", "5M"], + meditate: ["8V", "7L1", "7V", "6L5", "5L5", "4L5", "3L6"], + megakick: ["8M", "8L32", "8V", "7L1", "7V", "6L1", "5L53", "4L49", "3T", "3L46", "3S0"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mindreader: ["8L28", "7L33", "7V", "6L33", "5L33", "4L33", "3L31", "3S0"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], + reversal: ["8M", "8L40", "7L1", "7V", "6L1", "5L61", "4L57", "3L51"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollingkick: ["8V", "7L1", "7V", "6L9", "5L9", "4L9", "3L11"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M"], + vacuumwave: ["4T"], + wideguard: ["8L21", "7L41", "6L41", "5L41"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 3, level: 38, abilities: ["limber"], moves: ["refresh", "highjumpkick", "mindreader", "megakick"]}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + hitmonchan: { + learnset: { + agility: ["8M", "8L28", "8V", "7L1", "7V", "6L6", "5L6", "4L6", "3L7"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurasphere: ["8M"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletpunch: ["8L1", "7L16", "6L16", "5L16", "4L16"], + captivate: ["4M"], + closecombat: ["8M", "8L36", "7L1", "6L1", "5L66", "4L56"], + coaching: ["8T"], + cometpunch: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + confide: ["7M", "6M"], + counter: ["8L40", "8V", "7L1", "7V", "6L1", "5L61", "4L51", "3T", "3L50"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + detect: ["8L12", "7L50", "7V", "6L50", "5L51", "4L46", "3L44"], + dizzypunch: ["8V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "8L0", "7T", "6T", "5T", "4M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8L1"], + feint: ["8L1", "8V", "7L21", "6L21", "5L21", "4L21"], + firepunch: ["8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L1", "8V"], + focuspunch: ["8L44", "7T", "7L1", "6T", "6L1", "5L56", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8L1", "8V", "7T", "6T", "5T", "4T", "3S0"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], + laserfocus: ["7T"], + leer: ["8V"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + machpunch: ["8L4", "7L1", "7V", "6L16", "5L16", "4L16", "3L20"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "8L32", "8V", "7L46", "7V", "6L46", "5L46", "4L41", "3T", "3L38", "3S0"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mindreader: ["3S0"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["8L8", "6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L1", "7V", "6L11", "5L11", "4L11", "3L13"], + quickguard: ["8L21", "7L31", "6L31", "5L31"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + skullbash: ["7V"], + skyuppercut: ["7L41", "6L41", "5L41", "4L36", "3L32", "3S0"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "8V", "7V", "4T", "3T"], + tackle: ["8L1"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "8L24", "8V", "7T", "7L36", "7V", "6T", "6L36", "5T", "5L36", "4T", "4L31", "3T", "3L26"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M"], + vacuumwave: ["8L1", "7L26", "6L26", "5L26", "4T", "4L26"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 3, level: 38, abilities: ["keeneye"], moves: ["helpinghand", "skyuppercut", "mindreader", "megapunch"]}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + hitmontop: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["8M", "8L28", "7L37", "7V", "6L37", "5L37", "4L37", "3L37"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M"], + bulkup: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["8M", "8L36", "7L1", "6L1", "5L55", "5S0", "4L51"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["8L40", "7L28", "7V", "6L28", "5L28", "4L28", "3T", "3L31"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + detect: ["8L12", "7L1", "7V", "6L50", "5L51", "4L46", "3L43"], + dig: ["8M", "8L32", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8M", "5T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["8L44", "7T", "7L1", "6T", "6L1", "5T", "5L60", "4T", "4L55", "3L49"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8L1", "5S0"], + feint: ["8L1", "7L24", "6L33", "5L33", "4L33"], + focusblast: ["8M"], + focusenergy: ["8M", "8L1", "7L1", "7V", "6L6", "5L6", "4L6", "3L7"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["8M", "8L8", "7M", "7L42", "6M", "6L42", "5M", "5L42", "4M", "4L42"], + headbutt: ["7V", "4T"], + helpinghand: ["8M", "8L1", "7T", "6T", "5T", "5S0", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + laserfocus: ["7T"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + megakick: ["8M", "3T"], + megapunch: ["8M"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L1", "7V", "6L10", "5L10", "4L10", "3L13"], + quickattack: ["8L4", "7L1", "7V", "6L15", "5L15", "4L15", "3L19"], + quickguard: ["8L21", "7L46", "6L46", "5L46"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rapidspin: ["8L1", "7L19", "7V", "6L24", "5L24", "4L24", "3L25"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollingkick: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["8L24", "5S0", "4T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + tripleaxel: ["8T"], + triplekick: ["8L0", "7L33", "7V", "6L19", "5L19", "4L19", "3L20"], + twister: ["4T"], + uproar: ["8M"], + vacuumwave: ["4T"], + wideguard: ["8L21", "7L46", "6L46", "5L46"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 5, level: 55, gender: "M", nature: "Adamant", abilities: ["intimidate"], moves: ["fakeout", "closecombat", "suckerpunch", "helpinghand"]}, + ], + }, + lickitung: { + learnset: { + acid: ["8V"], + amnesia: ["8M", "7E", "6E", "5E", "4E"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["8E", "7E", "6E"], + bellydrum: ["8L60", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + bind: ["8V", "7T", "6T", "5T"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L37", "6L37", "5L37"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["8L1", "7L9", "7V", "6L9", "5L9", "4L9", "3T", "3L12", "3S1"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + disable: ["8L24", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L34"], + doubleedge: ["7V", "3T", "3S1"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragontail: ["8V", "7M", "6M", "5M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hammerarm: ["8E", "7E", "6E", "5E", "4E"], + headbutt: ["8V", "7V", "4T"], + healbell: ["3S0"], + helpinghand: ["8M", "8V", "3S1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["8L36", "7T", "7L13", "6T", "6L13", "5T", "5L13", "4T", "4L13", "3L18"], + lick: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + magnitude: ["7E", "7V", "6E", "5E", "4E", "3E"], + mefirst: ["7L41", "6L41", "5L41", "4L37"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + muddywater: ["8M", "7E", "6E", "5E", "4E"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + poweruppunch: ["6M"], + powerwhip: ["8M", "8L54", "8V", "7L53", "6L53", "5L53", "4L49"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + refresh: ["7L45", "6L45", "5L45", "4L41", "3L51"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["5D", "4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L6", "7L33", "7V", "6L33", "5L33", "4T", "4L33", "3T", "3S1"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + screech: ["8M", "8L42", "8V", "7L49", "7V", "6L49", "5L49", "4L45", "3L45"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + slam: ["8L48", "8V", "7L29", "7V", "6L29", "5L29", "4L29", "3L40"], + sleeptalk: ["8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "5D", "4M", "4E", "3T", "3E"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + snore: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + solarbeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + steelroller: ["8T"], + stomp: ["8L30", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L23"], + stompingtantrum: ["8M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["8L12", "7L5", "7V", "6L5", "5L5", "4L5", "3L7"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + terrainpulse: ["8T"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8E", "8V", "7E"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + wish: ["3S0"], + workup: ["8M", "7M", "5M"], + wrap: ["8L18", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L29"], + wringout: ["7L57", "6L57", "5L57", "4L53"], + zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["healbell", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 38, moves: ["helpinghand", "doubleedge", "defensecurl", "rollout"]}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + lickilicky: { + learnset: { + amnesia: ["8M"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bellydrum: ["8L60"], + bind: ["7T", "6T", "5T"], + blizzard: ["8M", "7M", "6M", "5M", "4M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L37", "6L37", "5L37"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M"], + defensecurl: ["8L1", "7L9", "6L9", "5L9", "4L9"], + dig: ["8M", "6M", "5M", "4M"], + disable: ["8L24", "7L25", "6L25", "5L25", "4L25"], + doubleteam: ["7M", "6M", "5M", "4M"], + dragontail: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M", "4M"], + earthquake: ["8M", "7M", "6M", "5M", "4M"], + endure: ["8M", "4M"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + fireblast: ["8M", "7M", "6M", "5M", "4M"], + firepunch: ["8M", "7T", "6T", "5T", "4T"], + flamethrower: ["8M", "7M", "6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gyroball: ["8M", "7M", "7L61", "6M", "6L61", "5M", "5L61", "4M", "4L57"], + headbutt: ["4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["8M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + icebeam: ["8M", "7M", "6M", "5M", "4M"], + icepunch: ["8M", "7T", "6T", "5T", "4T"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + knockoff: ["8L36", "7T", "7L13", "6T", "6L13", "5T", "5L13", "4T", "4L13"], + lick: ["8L1", "7L1", "6L1", "5L1", "4L1"], + mefirst: ["7L41", "6L41", "5L41", "4L37"], + megakick: ["8M"], + megapunch: ["8M"], + muddywater: ["8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + powerwhip: ["8M", "8L54", "7L1", "6L1", "5L53", "4L49"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + refresh: ["7L45", "6L45", "5L45", "4L41"], + rest: ["8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rollout: ["8L1", "7L33", "6L33", "5L33", "4T", "4L33"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M"], + screech: ["8M", "8L42", "7L49", "6L49", "5L49", "4L45"], + secretpower: ["6M", "4M"], + selfdestruct: ["8M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + slam: ["8L48", "7L29", "6L29", "5L29", "4L29"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + steelroller: ["8T"], + stomp: ["8L30", "7L21", "6L21", "5L21", "4L21"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + supersonic: ["8L1", "7L5", "6L5", "5L5", "4L5"], + surf: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + terrainpulse: ["8T"], + thief: ["8M", "7M", "6M", "5M", "4M"], + thunder: ["8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M"], + waterpulse: ["7T", "6T", "4M"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M", "5M"], + wrap: ["8L18", "7L17", "6L17", "5L17", "4L17"], + wringout: ["7L1", "6L1", "5L57", "4L53"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + koffing: { + learnset: { + acidspray: ["9M"], + assurance: ["9L16", "8M", "8L16", "7L12", "6L12", "5L15", "4L15"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["9L40", "8L40", "7L42", "6L42"], + bide: ["7V"], + bodyslam: ["9M"], + captivate: ["4M"], + clearsmog: ["9L12", "8L12", "8V", "7L15", "6L15", "5L19"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E"], + darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "5D", "4M"], + destinybond: ["9L52", "8L52", "7L40", "7E", "7V", "6L40", "6E", "5L51", "5E", "4L46", "4E", "3L45", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + explosion: ["9L44", "8L44", "8V", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L42", "4M", "4L37", "3T", "3L41"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grudge: ["8E", "7E", "6E", "5E", "4E"], + gunkshot: ["9M"], + gyroball: ["9M", "8M", "7M", "7L29", "6M", "6L29", "5M", "5L37", "4M", "4L33"], + haze: ["9M", "9L24", "8L24", "8V", "7L26", "7V", "6L26", "5L33", "4L28", "3L33"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + infestation: ["7M", "6M"], + memento: ["9L48", "8L48", "7L45", "6L45", "5L55", "4L51", "3L49"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + painsplit: ["9E", "8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisongas: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + psywave: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["9L28", "8M", "8L28", "8V", "7L23", "7V", "6L23", "5L24", "4L19", "3T", "3L17"], + shadowball: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludge: ["9L20", "8L20", "8V", "7L18", "7V", "6L18", "5L28", "4L24", "3L21"], + sludgebomb: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L46", "4M", "4L42", "3M"], + sludgewave: ["8M", "5D"], + smog: ["9L4", "8L4", "8V", "7L4", "7V", "6L4", "5L6", "5D", "4L6", "3L9"], + smokescreen: ["9L8", "8L8", "7L7", "7V", "6L7", "5L10", "4L10", "3L25"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + spitup: ["9E", "8E", "7E", "6E", "5E"], + stockpile: ["9E", "8E", "7E", "6E", "5E"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9E", "8E", "7E", "6E", "5E"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "9L36", "8L36", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "8M", "7E", "6E"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venomdrench: ["8M", "7E"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "4E", "3E"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 1, level: 30}, + ], + }, + weezing: { + learnset: { + acidspray: ["9M"], + assurance: ["9L16", "8M", "8L16", "7L12", "6L12", "5L15", "4L15"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["9L44", "8L44", "7L51", "6L50"], + bide: ["7V"], + bodyslam: ["9M"], + captivate: ["4M"], + clearsmog: ["9L12", "8L12", "8V", "7L15", "6L15", "5L19"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + curse: ["7V"], + darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], + destinybond: ["9L62", "8L62", "7L46", "7V", "6L46", "5L59", "4L55", "3L51"], + doublehit: ["9L0", "8L0", "7L1", "6L29", "5L39", "4L33"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + explosion: ["9L50", "8L50", "8V", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L46", "4M", "4L40", "3T", "3L44"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M"], + gyroball: ["9M", "8M", "7M", "7L29", "6M", "5M", "4M"], + haze: ["9M", "9L24", "8L24", "8V", "7L26", "7V", "6L26", "5L33", "4L28", "3L33"], + headbutt: ["8V"], + heatwave: ["9M", "9L1", "8M", "8L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + infestation: ["7M", "6M"], + memento: ["9L56", "8L56", "7L57", "6L54", "5L65", "4L63", "3L58"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisongas: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "8V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M", "8V"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["9L28", "8M", "8L28", "8V", "7L23", "7V", "6L23", "5L24", "4L19", "3T", "3L1"], + shadowball: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludge: ["9L20", "8L20", "8V", "7L18", "7V", "6L18", "5L28", "4L24", "3L21"], + sludgebomb: ["9M", "9L32", "8M", "8L32", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L52", "4M", "4L48", "3M"], + sludgewave: ["8M"], + smog: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + smokescreen: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L25"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "9L38", "8L38", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "8M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 2, level: 16}, + {generation: 3, level: 32}, + {generation: 4, level: 15, pokeball: "safariball"}, + ], + }, + weezinggalar: { + learnset: { + acidspray: ["9M"], + aromatherapy: ["8L24"], + aromaticmist: ["9L1", "8L1"], + assurance: ["9L16", "8M", "8L16"], + attract: ["8M"], + belch: ["9L44", "8L44"], + bodyslam: ["9M"], + brutalswing: ["8M"], + clearsmog: ["9L12", "8L12"], + corrosivegas: ["8T"], + darkpulse: ["9M", "8M"], + dazzlinggleam: ["9M", "8M"], + defog: ["9L1", "8L1"], + destinybond: ["9L62", "8L62"], + doublehit: ["9L0", "8L0"], + endure: ["9M", "8M"], + explosion: ["9L50", "8L50"], + facade: ["9M", "8M"], + fairywind: ["9L24", "8L1"], + fireblast: ["9M", "8M"], + flamethrower: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gunkshot: ["9M"], + gyroball: ["9M", "8M"], + haze: ["9M", "9L1", "8L1"], + heatwave: ["9M", "9L1", "8M", "8L1"], + hyperbeam: ["9M", "8M"], + memento: ["9L56", "8L56"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "9L68", "8M", "8L68"], + overheat: ["9M", "8M"], + payback: ["8M"], + playrough: ["9M", "8M"], + poisongas: ["9L1", "8L1"], + protect: ["9M", "8M"], + psybeam: ["9M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M"], + screech: ["8M"], + selfdestruct: ["9L28", "8M", "8L28"], + shadowball: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + sludge: ["9L20", "8L20"], + sludgebomb: ["9M", "9L32", "8M", "8L32"], + sludgewave: ["8M"], + smog: ["9L1", "8L1"], + smokescreen: ["9L1", "8L1"], + snore: ["8M"], + spite: ["9M"], + strangesteam: ["9L1", "8L1"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + toxic: ["9M", "9L38", "8L38"], + toxicspikes: ["9M", "8M"], + uproar: ["8M"], + venomdrench: ["8M"], + venoshock: ["9M", "8M"], + willowisp: ["9M", "8M"], + wonderroom: ["8M"], + }, + }, + rhyhorn: { + learnset: { + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + bulldoze: ["8M", "8L10", "7M", "7L21", "6M", "6L21", "5M", "5L30"], + captivate: ["4M"], + chipaway: ["7L25", "6L25", "5L34"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], + crunch: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + crushclaw: ["7E", "6E", "5E", "4E", "3E"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "5D", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], + dragonrush: ["8E", "7E", "6E", "5E", "4E"], + drillrun: ["8M", "8L35", "8V", "7T", "7L33", "6T", "6L33", "5T", "5L45"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8L45", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L56", "4M", "4L49", "3M", "3L52"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["8M", "7E", "6E", "5E", "4E"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L5", "7V", "6L5", "5L12", "4L13", "3L15"], + guardsplit: ["8E", "7E", "6E"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + hornattack: ["8L15", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + horndrill: ["8L60", "8V", "7L53", "7V", "6L53", "5L63", "4L37", "3L38"], + icebeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + icefang: ["8M", "7E", "6E", "5E", "4E"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + leer: ["7V"], + magnitude: ["7E", "7V", "6E", "5E", "4E", "3E"], + megahorn: ["8M", "8L55", "8V", "7L49", "6L49", "5L67", "4L57", "3L57"], + metalburst: ["8E", "7E", "6E"], + mimic: ["7V", "3T"], + mudshot: ["8M"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7V"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "8L30", "7L29", "6L23", "5L23", "4L25", "3L29"], + rockclimb: ["7E", "6E", "5E", "4M"], + rockpolish: ["8E", "7M", "6M", "5M", "4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8V"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + rototiller: ["7E", "6E"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8V"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["8M", "8L20", "7L9", "7V", "6L9", "5L19", "4L21", "3L24"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["8E", "7E", "7V", "6E", "5E", "4E"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["8L5", "7M", "7L13", "6M", "6L13"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stomp: ["8L25", "8V", "7L17", "7V", "6L8", "5L8", "4L9", "3L10"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L50", "7M", "7L41", "6M", "6L41", "5M", "5L52", "4M", "4L45"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + tackle: ["8L1"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L40", "8V", "7L37", "7V", "6L37", "5L41", "4L33", "3L43"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thrash: ["7V"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderfang: ["8M", "7E", "6E", "5E", "4E"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 1, level: 20}, + ], + }, + rhydon: { + learnset: { + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "7V", "3T"], + breakingswipe: ["8M"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bulldoze: ["8M", "8L1", "7M", "7L21", "6M", "6L21", "5M", "5L30"], + captivate: ["4M"], + chipaway: ["7L25", "6L25", "5L34"], + confide: ["7M", "6M"], + counter: ["8V", "7V", "3T"], + crunch: ["8M", "8V"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["8M", "8V", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], + dragontail: ["8V", "7M", "6M", "5M"], + drillrun: ["8M", "8L35", "8V", "7T", "7L33", "6T", "6L33", "5T", "5L47"], + dynamicpunch: ["7V", "3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8L47", "8V", "7M", "7L48", "7V", "6M", "6L48", "5M", "5L62", "4M", "4L49", "3M", "3L58", "3S0"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["8M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hammerarm: ["8L0", "7L1", "6L42", "5L42", "4L42"], + headbutt: ["8V", "7V", "4T"], + heatcrash: ["8M"], + heavyslam: ["8M"], + helpinghand: ["8M", "8V", "3S0"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + hornattack: ["8L15", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + horndrill: ["8L68", "8V", "7L1", "7V", "6L1", "5L71", "4L37", "3L38"], + hydropump: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icefang: ["8M"], + icepunch: ["8M", "8V", "7T", "6T", "5T", "4T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irondefense: ["8M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["7V"], + megahorn: ["8M", "8L61", "8V", "7L55", "6L1", "5L77", "4L57", "3L66", "3S0"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + mudshot: ["8M"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + payday: ["8M", "8V", "7V"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["8M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "8L30", "7L29", "6L23", "5L23", "4L25", "3L29"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8V"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8V"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["8M", "8L20", "7L1", "7V", "6L1", "5L19", "4L21", "3L24", "3S0"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["8L1", "7M", "7L13", "6M", "6L13", "5M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stomp: ["8L25", "8V", "7L17", "7V", "6L1", "5L1", "4L1", "3L1"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L54", "7M", "7L41", "6M", "6L41", "5M", "5L56", "4M", "4L45"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L40", "8V", "7L37", "7V", "6L37", "5L41", "4L33", "3L46"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderfang: ["8M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + watergun: ["7V"], + whirlpool: ["8M", "4M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 46, moves: ["helpinghand", "megahorn", "scaryface", "earthquake"]}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 4, level: 41}, + {generation: 6, level: 30}, + ], + }, + rhyperior: { + learnset: { + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + avalanche: ["8M", "4M"], + blizzard: ["8M", "7M", "6M", "5M", "4M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M"], + breakingswipe: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "8L1", "7M", "7L21", "6M", "6L21", "5M"], + captivate: ["4M"], + chipaway: ["7L25", "6L25", "5L30"], + confide: ["7M", "6M"], + crunch: ["8M"], + cut: ["6M", "5M", "4M"], + dig: ["8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dragonpulse: ["8M", "7T", "6T", "5T", "4M"], + dragontail: ["7M", "6M", "5M"], + drillrun: ["8M", "8L35", "7T", "7L33", "6T", "6L33", "5T", "5L47"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8L47", "7M", "7L48", "6M", "6L48", "5M", "5L62", "4M", "4L49"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + fireblast: ["8M", "7M", "6M", "5M", "4M"], + firefang: ["8M"], + firepunch: ["8M", "7T", "6T", "5T", "4T"], + flamethrower: ["8M", "7M", "6M", "5M", "4M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furyattack: ["7L1", "6L1", "5L1", "4L1"], + furycutter: ["4T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hammerarm: ["8L1", "7L1", "6L42", "5L42", "4L42"], + headbutt: ["4T"], + heatcrash: ["8M"], + heavyslam: ["8M"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["8M"], + hornattack: ["8L15", "7L1", "6L1", "5L1", "4L1"], + horndrill: ["8L68", "7L1", "6L1", "5L71", "4L37"], + hydropump: ["8M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + icebeam: ["8M", "7M", "6M", "5M", "4M"], + icefang: ["8M"], + icepunch: ["8M", "7T", "6T", "5T", "4T"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + irondefense: ["8M"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + megahorn: ["8M", "8L61", "7L55", "6L1", "5L77", "4L57"], + megakick: ["8M"], + megapunch: ["8M"], + meteorbeam: ["8T"], + mudshot: ["8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + payday: ["8M"], + poisonjab: ["8M", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + reversal: ["8M"], + roar: ["7M", "6M", "5M", "4M"], + rockblast: ["8M", "8L30", "7L29", "6L23", "5L23", "4L25"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rockwrecker: ["8L75", "7L1", "6L1", "5L86", "4L61"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M"], + scaryface: ["8M", "8L20", "7L1", "6L1", "5L19", "4L21"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + smackdown: ["8L1", "7M", "7L13", "6M", "6L13", "5M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stomp: ["8L25", "7L17", "6L1", "5L1", "4L1"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L54", "7M", "7L41", "6M", "6L41", "5M", "5L56", "4M", "4L45"], + strength: ["6M", "5M", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + surf: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + tackle: ["8L1"], + tailwhip: ["8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["8L40", "7L37", "6L37", "5L41", "4L33"], + thief: ["8M", "7M", "6M", "5M", "4M"], + thunder: ["8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thunderfang: ["8M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + whirlpool: ["8M", "4M"], + }, + }, + happiny: { + learnset: { + aromatherapy: ["8E", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + charm: ["9M", "9L20", "8M", "8L20", "7L1", "6L1", "5L1", "4L1"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1", "7L5", "6L5", "5L5", "4L5"], + counter: ["7E", "6E", "5E", "4E"], + covet: ["9L16", "8L16", "7T", "6T", "5T"], + defensecurl: ["9L4", "8L4"], + disarmingvoice: ["9M", "9L12", "8L12"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7E", "6E", "5E", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["8M", "7M", "6M", "5M", "4M"], + flamethrower: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + hail: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healbell: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + helpinghand: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + lastresort: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + metronome: ["9M", "8M", "7E", "6E", "5E", "4E"], + minimize: ["8L1"], + mudbomb: ["7E", "6E", "5E", "4E"], + mudslap: ["4T"], + naturalgift: ["7E", "6E", "5E", "4M"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + present: ["9E", "8E", "7E", "6E", "5E", "4E"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + refresh: ["7L9", "6L9", "5L9", "4L9"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + seismictoss: ["9E", "8E"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "4E"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + sweetkiss: ["9L8", "8L8", "7L12", "6L12", "5L12", "4L12"], + takedown: ["9M"], + terablast: ["9M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + }, + chansey: { + learnset: { + allyswitch: ["8M", "7T"], + aromatherapy: ["8E", "7E", "6E", "5E", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bestow: ["7L20", "6L20", "5L20"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + celebrate: ["8V"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1", "8S3"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + counter: ["7E", "7V", "6E", "5E", "5D", "4E", "3T"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["7V"], + dazzlinggleam: ["9M", "8M", "8V", "7M", "6M"], + defensecurl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L31", "3T", "3L41"], + disarmingvoice: ["9M", "9L1", "8L1"], + doubleedge: ["9L40", "8L40", "8V", "7L1", "7V", "6L1", "5L54", "4L46", "3T", "3L57"], + doubleslap: ["8V", "7L12", "7V", "6L12", "5L12", "4L16", "3L17"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["9L8", "8L8", "7M", "6M", "5M"], + eggbomb: ["8V", "7L42", "7V", "6L42", "5L42", "4L38", "3L35"], + electricterrain: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "9L20", "8M", "8L20", "7M", "7L34", "6M", "6L34", "5M", "5L34", "4M", "4L27"], + focusblast: ["9M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + growl: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + healingwish: ["9L52", "8L52", "7L50", "6L50", "5L50", "4L42"], + healpulse: ["9L28", "8L28", "7L38", "6L38", "5L38"], + helpinghand: ["9M", "9L32", "8M", "8L32", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lastresort: ["9L48", "8L48", "7T", "6T", "5T", "4T"], + lifedew: ["9L12", "8L12"], + lightscreen: ["9M", "9L36", "8M", "8L36", "8V", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L34", "3M", "3L49"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + mimic: ["7V", "3T"], + minimize: ["8L1", "8V", "7L23", "7V", "6L23", "5L23", "4L20", "3L23"], + mudbomb: ["7E", "6E", "5E", "4E"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + pound: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + poweruppunch: ["6M"], + present: ["8E", "8S3", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8V", "7V"], + refresh: ["7L9", "6L9", "5L9", "4L9", "3L9", "3S1"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8E", "8V", "7E", "7V", "6E", "3T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["9L16", "8L16", "8V", "7L31", "7V", "6L31", "5L31", "4L23", "3L29"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M", "3S2"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + softboiled: ["9L44", "8L44", "8V", "8S3", "7L16", "7V", "6L16", "5L16", "4L12", "3T", "3L13", "3S2"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L1", "8L1", "8S3", "3S2"], + sweetscent: ["3S0"], + swift: ["9M"], + tailwhip: ["9L4", "8L4", "8V", "7L5", "7V", "6L5", "5L5", "4L5", "3L5", "3S1"], + takedown: ["9M", "9L24", "8L24", "8V", "7L27", "7V", "6L27", "5L27"], + telekinesis: ["7T"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S2"], + thunderpunch: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + triattack: ["8M", "8V", "7V"], + uproar: ["8M"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + wish: ["3S0"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["sweetscent", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["pound", "growl", "tailwhip", "refresh"], pokeball: "pokeball"}, + {generation: 3, level: 39, moves: ["sweetkiss", "thunderbolt", "softboiled", "skillswap"]}, + {generation: 8, level: 7, moves: ["present", "sweetkiss", "charm", "softboiled"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 7}, + ], + }, + blissey: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + bestow: ["7L20", "6L20", "5L20"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + counter: ["3T"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["7V"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + defensecurl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L31", "3T", "3L33"], + disarmingvoice: ["9M", "9L1", "8L1"], + doubleedge: ["9L40", "8L40", "7L1", "7V", "6L1", "5L54", "4L46", "3T", "3L47"], + doubleslap: ["7L12", "7V", "6L12", "5L12", "4L16", "3L13"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["9L8", "8L8", "7M", "6M", "5M"], + eggbomb: ["7L42", "7V", "6L42", "5L42", "4L38", "3L28"], + electricterrain: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "9L20", "8M", "8L20", "7M", "7L34", "6M", "6L34", "5M", "5L34", "4M", "4L27"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + growl: ["7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + healingwish: ["9L52", "8L52", "7L50", "6L50", "5L50", "4L42"], + healpulse: ["9L28", "8L28", "7L38", "6L38", "5L38"], + helpinghand: ["9M", "9L32", "8M", "8L32", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lastresort: ["9L48", "8L48", "7T", "6T", "5T", "4T"], + lifedew: ["9L12", "8L12"], + lightscreen: ["9M", "9L36", "8M", "8L36", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L34", "3M", "3L40"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M", "8M", "3T"], + mimic: ["3T"], + minimize: ["8L1", "7L23", "7V", "6L23", "5L23", "4L20", "3L18"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + pound: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + refresh: ["7L9", "6L9", "5L9", "5S0", "4L9", "3L7"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["9L16", "8L16", "7L31", "7V", "6L31", "5L31", "4L23", "3L23"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + softboiled: ["9L44", "8L44", "7L16", "7V", "6L16", "5L16", "4L12", "3T", "3L10"], + solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L1", "8L1"], + swift: ["9M"], + tailwhip: ["9L4", "8L4", "7L5", "7V", "6L5", "5L5", "5S0", "4L5", "3L4"], + takedown: ["9M", "9L24", "8L24", "7L27", "6L27", "5L27"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + triattack: ["8M"], + trick: ["9M"], + uproar: ["8M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 5, level: 10, isHidden: true, moves: ["pound", "growl", "tailwhip", "refresh"]}, + ], + }, + tangela: { + learnset: { + absorb: ["8L1", "8V", "7L10", "7V", "6L10", "5L8", "4L8", "3L10"], + amnesia: ["8M", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], + ancientpower: ["8L24", "7L38", "6L38", "5L36", "4T", "4L33"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["8L1", "8V", "7T", "7L17", "7V", "6T", "6L17", "5T", "5L22", "4L22", "3L28"], + bodyslam: ["8M", "7V", "3T"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confusion: ["8E", "8V", "7E", "7V", "6E", "5E", "4E", "3E"], + constrict: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "8L32", "7T", "7L36", "7E", "7V", "6T", "6L36", "6E", "5T", "5L36", "5E", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L56", "7L48", "6L48"], + growth: ["8L8", "8V", "7L20", "7V", "6L20", "5L12", "4L12", "3L13"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + ingrain: ["8L52", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + knockoff: ["8L28", "7T", "7L27", "6T", "6L27", "5T", "5L33", "4T", "4L36"], + leafstorm: ["8M", "7E", "6E", "5E", "4E"], + leechseed: ["8E", "8V", "7E", "6E", "5E", "5D", "4E", "3E"], + megadrain: ["8L12", "8V", "7L23", "7E", "7V", "6L23", "6E", "5L26", "5E", "4L26", "4E", "3L31", "3E"], + mimic: ["7V", "3T"], + morningsun: ["3S0"], + naturalgift: ["7L33", "7E", "6L33", "6E", "5L40", "5E", "4M", "4L40"], + naturepower: ["8E", "7M", "7E", "6E", "5E", "4E", "3E"], + painsplit: ["7T", "6T", "5T", "4T"], + poisonpowder: ["8L20", "8V", "7L14", "7V", "6L14", "5L15", "4L15", "3L19"], + powerswap: ["8M", "7E", "6E", "5E", "4E"], + powerwhip: ["8M", "8L48", "8V", "7L50", "6L50", "5L54", "4L54"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + rage: ["7V"], + ragepowder: ["8E", "7E", "6E", "5E"], + reflect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3E"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "5D", "4T"], + shockwave: ["7T", "6T", "4M"], + skullbash: ["7V"], + slam: ["8L40", "8V", "7L41", "7V", "6L41", "5L43", "4L43", "3L40"], + sleeppowder: ["8L36", "8V", "7L4", "7V", "6L4", "5L5", "5D", "4L5", "3L4"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + stunspore: ["8L4", "8V", "7L30", "7V", "6L30", "5L29", "4L29", "3L37"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swordsdance: ["8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + tickle: ["8L44", "7L44", "6L44", "5L47", "4L47", "3L46"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + vinewhip: ["8L16", "8V", "7L7", "7V", "6L7", "5L19", "4L19", "3L22"], + wakeupslap: ["7E"], + worryseed: ["7T", "6T", "5T", "4T"], + wringout: ["7L46", "6L46", "5L50", "4L50"], + }, + eventData: [ + {generation: 3, level: 30, abilities: ["chlorophyll"], moves: ["morningsun", "solarbeam", "sunnyday", "ingrain"]}, + ], + encounters: [ + {generation: 1, level: 13}, + ], + }, + tangrowth: { + learnset: { + absorb: ["8L1", "7L10", "6L10", "5L8", "4L8"], + aerialace: ["7M", "6M", "5M", "4M"], + amnesia: ["8M"], + ancientpower: ["8L24", "7L40", "6L40", "5L36", "4T", "4L33", "4S0"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bind: ["8L1", "7T", "7L17", "6T", "6L17", "5T", "5L22", "4L22"], + block: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L57", "4T", "4L57"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + brutalswing: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletseed: ["8M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + constrict: ["7L1", "6L1", "5L1", "4L1"], + cut: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthquake: ["8M", "7M", "6M", "5M", "4M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M", "4M"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["8M", "8L32", "7T", "7L36", "6T", "6L36", "5T", "5L36", "4M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L56", "7L50", "6L50"], + growth: ["8L1", "7L20", "6L20", "5L12", "4L12"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + infestation: ["7M", "6M"], + ingrain: ["8L52", "7L1", "6L1", "5L1", "4L1"], + knockoff: ["8L28", "7T", "7L27", "6T", "6L27", "5T", "5L33", "4T", "4L36"], + leafstorm: ["8M"], + megadrain: ["8L12", "7L23", "6L23", "5L26", "4L26"], + morningsun: ["4S0"], + mudslap: ["4T"], + naturalgift: ["7L33", "6L33", "5L40", "4M", "4L40", "4S0"], + naturepower: ["7M", "6M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poisonpowder: ["8L20", "7L14", "6L14", "5L15", "4L15"], + powerswap: ["8M"], + powerwhip: ["8M", "8L48", "7L53", "6L53", "5L54", "4L54"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + reflect: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + shockwave: ["7T", "6T", "4M"], + slam: ["8L40", "7L43", "6L43", "5L43", "4L43"], + sleeppowder: ["8L36", "7L4", "6L4", "5L5", "4L5"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + solarblade: ["8M"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M"], + stunspore: ["8L1", "7L30", "6L30", "5L29", "4L29"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "4S0"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + thief: ["8M", "7M", "6M", "5M", "4M"], + tickle: ["8L44", "7L46", "6L46", "5L47", "4L47"], + toxic: ["7M", "6M", "5M", "4M"], + vinewhip: ["8L16", "7L7", "6L7", "5L19", "4L19"], + worryseed: ["7T", "6T", "5T", "4T"], + wringout: ["7L49", "6L49", "5L50", "4L50"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Brave", moves: ["sunnyday", "morningsun", "ancientpower", "naturalgift"], pokeball: "cherishball"}, + ], + }, + kangaskhan: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aquatail: ["7T", "6T", "5T", "4T"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + beatup: ["8M"], + bide: ["7V"], + bite: ["8L12", "8V", "7L13", "7V", "6L13", "5L13", "4L13", "3L7", "3S1"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L31", "6L31", "5L31"], + circlethrow: ["8E", "7E", "6E", "5E"], + cometpunch: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], + covet: ["7T", "6T", "5T"], + crunch: ["8M", "8L36", "8V", "7L37", "6L37", "5L37", "4L31"], + crushclaw: ["7E", "6E", "5E", "4E", "3E"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + disable: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + dizzypunch: ["8V", "7L34", "7V", "6L34", "5L34", "4L25", "3L43", "3S2"], + doubleedge: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], + doublehit: ["8L32", "7L19", "6L19", "5L19", "4L43"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "5D", "4M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "6S3", "5M", "4M", "3M", "3S2"], + endeavor: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + endure: ["8M", "8L40", "7L43", "7V", "6L43", "5L43", "4M", "4L34", "3T", "3L37"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8L8", "8V", "7L7", "6L7", "6S3", "5L7", "5D", "4L7", "3L19"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + fissure: ["7V"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L20", "7E", "7V", "6E", "5E", "4E", "3E"], + focuspunch: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L4"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + hammerarm: ["8E", "7E", "6E", "5E", "4E"], + headbutt: ["8L24", "8V", "7V", "4T"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lastresort: ["8L52"], + leer: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "8V", "7L25", "7V", "6L25", "5L25", "4L19", "3T", "3L25"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["8M", "8L48", "8V", "7T", "7L46", "6T", "6L46", "5T", "5L46", "4T", "4L37"], + pound: ["8L1"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["8V", "7L22", "7V", "6L22", "5L22", "4L22", "3L31"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "6S3", "5M", "4M", "3M"], + reversal: ["8M", "8L44", "7L50", "7V", "6L50", "5L55", "4L49", "3L49"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["3S2"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + spite: ["7T", "6T", "5T", "4T"], + stomp: ["8L16", "7E", "7V", "6E", "5E", "4E", "3E"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + suckerpunch: ["8L28", "8V", "7L49", "6L49", "6S3", "5L49", "4T", "4L46"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tailwhip: ["8L1", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L13", "3S2"], + takedown: ["7V"], + terrainpulse: ["8T"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trumpcard: ["7E", "6E", "5E"], + uproar: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + wish: ["3S0"], + workup: ["8M", "7M", "5M"], + yawn: ["3S0"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["earlybird"], moves: ["yawn", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 10, abilities: ["earlybird"], moves: ["cometpunch", "leer", "bite"], pokeball: "pokeball"}, + {generation: 3, level: 35, abilities: ["earlybird"], moves: ["sing", "earthquake", "tailwhip", "dizzypunch"]}, + {generation: 6, level: 50, abilities: ["scrappy"], moves: ["fakeout", "return", "earthquake", "suckerpunch"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 25}, + ], + }, + horsea: { + learnset: { + agility: ["8M", "8L30", "8V", "7L36", "7V", "6L23", "5L23", "4L23", "3L36"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "7L31", "6L30", "5L30", "5D", "4M", "4L30"], + bubble: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "5S0", "4L1", "3L1"], + bubblebeam: ["8L25", "8V", "7L21", "7V", "6L18", "5L18", "4L18"], + captivate: ["4M"], + clearsmog: ["8E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + curse: ["7V"], + disable: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["8L20", "7E", "7V", "6E", "5E", "4E", "3E"], + dragondance: ["8M", "8L50", "7L46", "6L38", "5L38", "4L38", "3L50"], + dragonpulse: ["8M", "8L40", "8V", "7T", "7L41", "6T", "6L41", "5T", "5L42", "4M", "4L42"], + dragonrage: ["7E", "7V", "6E", "5E", "4E", "3E"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + flashcannon: ["8M", "8V", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + focusenergy: ["8M", "8L15", "8V", "7L26", "6L14", "5L14", "4L14"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L45", "8V", "7L52", "7V", "6L35", "5L35", "4L35", "3L43"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + laserfocus: ["8L35"], + leer: ["8L1", "8V", "7L9", "7V", "6L8", "5L8", "4L8", "3L15"], + liquidation: ["8M"], + mimic: ["7V", "3T"], + muddywater: ["8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + octazooka: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + outrage: ["8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "8L55", "7M", "7V", "6M", "5M", "4M", "3M"], + razorwind: ["7E", "6E", "5E", "4E"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["8L5", "8V", "7L5", "7V", "6L4", "5L4", "4L4", "3L8"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + splash: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + takedown: ["7V"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["8L10", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29"], + waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "8V", "7L13", "7V", "6L1", "5L11", "4L11", "3L22"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["bubble"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + seadra: { + learnset: { + agility: ["8M", "8L30", "8V", "7L38", "7V", "6L23", "5L23", "4L23", "3L40", "3S0"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "7L31", "6L30", "5L30", "4M", "4L30"], + bubble: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bubblebeam: ["8L25", "8V", "7L21", "7V", "6L18", "5L18", "4L18"], + captivate: ["4M"], + clearsmog: ["8V"], + confide: ["7M", "6M"], + curse: ["7V"], + disable: ["8V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["8L20", "7V"], + dragondance: ["8M", "8L58", "7L52", "6L48", "5L48", "4L48", "3L62"], + dragonpulse: ["8M", "8L44", "8V", "7T", "7L45", "6T", "6L45", "5T", "5L57", "4M", "4L57"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "8V", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + focusenergy: ["8M", "8L15", "8V", "7L26", "6L14", "5L14", "4L14"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L51", "8V", "7L1", "7V", "6L1", "5L40", "4L40", "3L51"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + laserfocus: ["8L37", "7T"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + liquidation: ["8M"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + naturalgift: ["4M"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "8L65", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + takedown: ["7V"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["8L1", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29", "3S0"], + waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + }, + eventData: [ + {generation: 3, level: 45, abilities: ["poisonpoint"], moves: ["leer", "watergun", "twister", "agility"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 20}, + {generation: 2, level: 20}, + {generation: 3, level: 25}, + {generation: 4, level: 15}, + ], + }, + kingdra: { + learnset: { + agility: ["8M", "8L30", "7L38", "7V", "6L23", "5L23", "4L23", "3L40", "3S0"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + breakingswipe: ["8M"], + brine: ["8M", "7L31", "6L30", "5L30", "4M", "4L30"], + bubble: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bubblebeam: ["8L25", "7L21", "6L18", "5L18", "4L18"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dracometeor: ["8T", "7T", "6T", "5T", "5S1", "4T"], + dragonbreath: ["8L20", "7V"], + dragondance: ["8M", "8L58", "7L52", "6L48", "5L48", "4L48", "3L62"], + dragonpulse: ["8M", "8L44", "7T", "7L45", "6T", "6L1", "5T", "5L57", "5S1", "4M", "4L57"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + focusenergy: ["8M", "8L15", "7L26", "6L14", "5L14", "4L14"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["8M"], + hydropump: ["8M", "8L51", "7L1", "7V", "6L1", "5L40", "4L40", "3L51"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + laserfocus: ["8L37", "7T"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + liquidation: ["8M"], + mimic: ["3T"], + muddywater: ["8M", "5S1"], + naturalgift: ["4M"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + protect: ["8M", "7M", "7V", "6M", "5M", "5S1", "4M", "3M"], + quash: ["7M", "6M", "5M"], + raindance: ["8M", "8L65", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["8L1", "7L17", "7V", "6L17", "5L26", "4T", "4L26", "3L29", "3S0"], + waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "8L1", "7V", "4M"], + yawn: ["8L1", "7L1", "6L1", "5L1", "4L1"], + }, + eventData: [ + {generation: 3, level: 50, abilities: ["swiftswim"], moves: ["leer", "watergun", "twister", "agility"], pokeball: "pokeball"}, + {generation: 5, level: 50, gender: "M", nature: "Timid", ivs: {hp: 31, atk: 17, def: 8, spa: 31, spd: 11, spe: 31}, abilities: ["swiftswim"], moves: ["dracometeor", "muddywater", "dragonpulse", "protect"], pokeball: "cherishball"}, + ], + }, + goldeen: { + learnset: { + acupressure: ["8E"], + agility: ["8M", "8L20", "8V", "7L29", "7V", "6L29", "5L47", "4L47", "3L52"], + aquaring: ["8L25", "7L21", "6L21", "5L27", "4L27"], + aquatail: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7E", "6E", "5E", "4E"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + bubblebeam: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8M", "8V", "7T", "6T", "5T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L30", "7L13", "7V", "6L13", "5L21", "4L21", "3L24"], + flipturn: ["8T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L24", "7V", "6L24", "5L31", "4L31", "3L29"], + furycutter: ["4T"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hornattack: ["8L15", "8V", "7L8", "7V", "6L8", "5L11", "4L11", "3L15"], + horndrill: ["8L50", "8V", "7L37", "7V", "6L37", "5L41", "4L41", "3L43"], + hydropump: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + knockoff: ["7T", "6T", "5T", "4T"], + megahorn: ["8M", "8L45", "8V", "7L45", "6L45", "5L57", "4L51", "3L57"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + mudshot: ["8M", "7E", "6E", "5E"], + mudslap: ["8E", "7E", "6E", "5E", "4T", "4E"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + peck: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + poisonjab: ["8M", "8V", "7M", "6M", "5M", "4M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + quickattack: ["8V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E"], + skullbash: ["7E", "7V", "6E", "5E"], + sleeptalk: ["8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + soak: ["8L40", "7L40", "6L40", "5L51"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["8L5", "8V", "7L5", "7V", "6L5", "5L7", "4L7", "3L10"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + swordsdance: ["8M"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8L35", "8V", "7M", "7L32", "7V", "6M", "6L32", "5M", "5L37", "4M", "4L37", "3M", "3L38"], + watergun: ["7V"], + waterpulse: ["8L10", "7T", "7L16", "6T", "6L16", "5L17", "5D", "4M", "4L17", "3M"], + watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + whirlpool: ["8M", "4M"], + }, + encounters: [ + {generation: 1, level: 5}, + ], + }, + seaking: { + learnset: { + agility: ["8M", "8L20", "8V", "7L29", "7V", "6L29", "5L56", "4L56", "3L61"], + aquaring: ["8L25", "7L21", "6L21", "5L27", "4L27"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + bubblebeam: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["8M", "8V", "7T", "6T", "5T"], + endure: ["8M", "7V", "5D", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L30", "7L13", "7V", "6L13", "5L21", "4L21", "3L24"], + flipturn: ["8T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8V", "7L24", "7V", "6L24", "5L31", "4L31", "3L29"], + furycutter: ["4T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hornattack: ["8L15", "8V", "7L8", "7V", "6L8", "5L11", "4L11", "3L15"], + horndrill: ["8L58", "8V", "7L40", "7V", "6L40", "5L47", "4L47", "3L49"], + hydropump: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + knockoff: ["7T", "6T", "5T", "4T"], + megahorn: ["8M", "8L51", "8V", "7L1", "6L1", "5L72", "4L63", "3L69"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + mudshot: ["8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + peck: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poisonjab: ["8M", "8V", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8V"], + quickattack: ["8V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T"], + skullbash: ["8V", "7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "5D", "4M", "3T"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + soak: ["8L44", "7L46", "6L46", "5L63"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + swordsdance: ["8M"], + tailwhip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8L37", "8V", "7M", "7L32", "7V", "6M", "6L32", "5M", "5L40", "4M", "4L40", "3M", "3L41"], + watergun: ["7V"], + waterpulse: ["8L1", "7T", "7L16", "6T", "6L16", "5L17", "5D", "4M", "4L17", "3M"], + watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + whirlpool: ["8M", "4M"], + }, + encounters: [ + {generation: 1, level: 23}, + {generation: 2, level: 10}, + {generation: 3, level: 20}, + {generation: 4, level: 10}, + {generation: 6, level: 26, maxEggMoves: 1}, + {generation: 7, level: 10}, + ], + }, + staryu: { + learnset: { + attract: ["7V"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + brine: ["8M", "8L28", "7L28", "6L28", "5L36", "4M"], + bubblebeam: ["8V", "7L18", "7V", "6L18", "5L28", "4L28", "3L28"], + camouflage: ["7L22", "6L15", "5L19", "4L19", "3L19"], + confide: ["7M", "6M"], + confuseray: ["8L8", "8V", "7L40", "6L40"], + cosmicpower: ["8M", "8L52", "7L49", "6L48", "5L55", "4L51", "3L42", "3S0"], + curse: ["7V"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "8V", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gravity: ["7T", "6T", "5T", "4T"], + gyroball: ["8M", "7M", "7L24", "6M", "6L24", "5M", "5L37", "4M", "4L37"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L56", "8V", "7L53", "7V", "6L52", "5L60", "4L55", "3L46", "3S0"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + lightscreen: ["8M", "8L32", "8V", "7M", "7L46", "7V", "6M", "6L33", "5M", "5L42", "4M", "4L42", "3M", "3L37", "3S0"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["7V", "3T"], + minimize: ["8L16", "8V", "7L31", "7V", "6L25", "5L33", "4L33", "3L33", "3S0"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + powergem: ["8M", "8L36", "7L37", "6L37", "5L51", "4L46"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L24"], + psychic: ["8M", "8L40", "8V", "7M", "7L42", "7V", "6M", "6L42", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psywave: ["8V", "7L13", "7V", "6L13"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rapidspin: ["8L12", "7L7", "7V", "6L7", "5L10", "4L10", "3L10", "3S1"], + recover: ["8L48", "8V", "7L10", "7V", "6L10", "5L15", "4L15", "3L15", "3S1"], + recycle: ["7T", "6T", "5T", "5D", "4M"], + reflect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + reflecttype: ["7L35", "6L35", "5L46"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8L44", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "8L20", "8V", "7L16", "7V", "6L16", "5L24", "4T", "4L24", "3T", "3L24"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["7V"], + teleport: ["8V", "7V"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + twister: ["4T"], + waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L4", "8V", "7L4", "7V", "6L4", "5L6", "5D", "4L6", "3L6", "3S1"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["minimize", "lightscreen", "cosmicpower", "hydropump"], pokeball: "pokeball"}, + {generation: 3, level: 18, nature: "Timid", ivs: {hp: 10, atk: 3, def: 22, spa: 24, spd: 3, spe: 18}, abilities: ["illuminate"], moves: ["harden", "watergun", "rapidspin", "recover"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + starmie: { + learnset: { + agility: ["8M"], + allyswitch: ["8M", "7T"], + attract: ["7V"], + avalanche: ["8M", "4M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + brine: ["8M", "8L1", "4M"], + bubblebeam: ["7V"], + confide: ["7M", "6M"], + confuseray: ["8L1", "7L40", "7V", "6L22", "5L28", "4L28", "3L33"], + cosmicpower: ["8M", "8L1"], + curse: ["7V"], + dazzlinggleam: ["8M", "8V", "7M", "6M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + endure: ["8M", "7V", "4M", "3T"], + expandingforce: ["8T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "8V", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["8L1", "8V", "7V"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L1", "7L1", "6L1"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + lightscreen: ["8M", "8L1", "8V", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + minimize: ["8L1"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + painsplit: ["7T", "6T", "5T", "4T"], + powergem: ["8M", "8L1"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L1"], + psychic: ["8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychocut: ["8M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["8V", "7V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rapidspin: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + recover: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spotlight: ["7L1"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8L1", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "8L1", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + tackle: ["8L1", "8V", "7V"], + takedown: ["7V"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8V", "7V"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + twister: ["4T"], + waterfall: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 41, moves: ["refresh", "waterfall", "icebeam", "recover"]}, + ], + }, + mimejr: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + barrier: ["7L1", "6L1", "5L1", "4L1"], + batonpass: ["8M", "8L4", "7L46", "6L46", "5L46", "4L46"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + calmmind: ["8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["8M", "7E", "6E", "5E", "4E"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E", "4E"], + confusion: ["8L12", "7L1", "6L1", "5L1", "4L1"], + copycat: ["8L1", "7L4", "6L4", "5L4", "4L4"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["8M", "8L44"], + doubleslap: ["7L11", "6L11", "5L15", "4L15"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + encore: ["8M", "8L8", "7L18", "6L18", "5L11", "4L11"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + fakeout: ["8E", "7E", "6E", "5E", "4E"], + flash: ["6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["8M", "7E", "6E", "5E", "4E"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healingwish: ["7E", "6E", "5E", "4E"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypnosis: ["8E", "7E", "6E", "5E", "4E"], + icywind: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + infestation: ["7M", "6M"], + lightscreen: ["8M", "8L36", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + meditate: ["7L8", "6L8", "5L8", "4L8"], + mimic: ["8L32", "7L15", "7E", "6L15", "6E", "5L18", "5E", "4L18", "4E"], + mistyterrain: ["8M"], + mudslap: ["4T"], + nastyplot: ["8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + pound: ["8L1", "7L1"], + powersplit: ["8E", "7E", "6E", "5E"], + protect: ["8M", "8L20", "7M", "6M", "5M", "4M"], + psybeam: ["8L28", "7L25", "6L25", "5L25", "4L25"], + psychic: ["8M", "8L48", "7M", "7L39", "6M", "6L39", "5M", "5L39", "4M", "4L39"], + psychicterrain: ["8M", "7E"], + psychup: ["7M", "6M", "5M", "4M", "4E"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + recycle: ["8L24", "7T", "7L32", "6T", "6L32", "5T", "5L32", "4M", "4L32"], + reflect: ["8M", "8L36", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roleplay: ["8L16", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L36", "7M", "7L50", "6M", "6L50", "5M", "5L50", "4M", "4L50"], + secretpower: ["6M", "4M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L29"], + suckerpunch: ["8L40"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + taunt: ["8M", "7M", "6M", "5M", "4M"], + teeterdance: ["8L52", "7E", "6E", "5E", "4E"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M", "4M"], + thunder: ["8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M"], + tickle: ["8E", "7L1", "6L1", "5L1", "4L1"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["8M", "7T", "7L36", "7E", "6T", "6L36", "6E", "5T", "5L36", "5E", "4T", "4L36", "4E"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + wakeupslap: ["7E", "6E", "5E", "4E"], + wonderroom: ["8M", "7T", "6T", "5T"], + }, + }, + mrmime: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + batonpass: ["8M", "8L1", "7L46", "7V", "6L46", "5L46", "4L46", "3L47"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + calmmind: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["8M"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E", "4E"], + confusion: ["8L12", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L5"], + copycat: ["8L1", "7L4", "6L4", "5L4", "4L4"], + counter: ["7V", "3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + dazzlinggleam: ["8M", "8L44", "8V", "7M", "6M"], + doubleedge: ["7V", "3T"], + doubleslap: ["8V", "7L11", "7V", "6L11", "5L15", "4L15", "3L15"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V"], + encore: ["8M", "8L1", "8V", "7L18", "7V", "6L18", "5L11", "4L11", "3L25", "3S0"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8E", "7E", "6E", "5E", "4E", "3E"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + followme: ["3S0"], + foulplay: ["8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + guardswap: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + lightscreen: ["8M", "8L36", "8V", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L19"], + magicalleaf: ["8M", "7L1", "6L1", "5L1", "4L1", "3L22"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + meditate: ["8V", "7L8", "7V", "6L8", "5L8", "4L8", "3L12"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["8L32", "8V", "7L15", "7E", "7V", "6L15", "6E", "5L18", "5E", "4L18", "4E", "3T", "3E"], + mistyterrain: ["8M", "7L1", "6L1"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + nastyplot: ["8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pound: ["8L1", "8V", "7L1"], + powersplit: ["8E", "7E", "6E", "5E"], + powerswap: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + poweruppunch: ["6M"], + protect: ["8M", "8L20", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L28", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L29"], + psychic: ["8M", "8L48", "8V", "7M", "7L39", "7V", "6M", "6L39", "5M", "5L39", "4M", "4L39", "3M", "3L43", "3S0"], + psychicterrain: ["8M", "7E"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["8V", "7L15", "7V", "6L15", "5L15"], + quickguard: ["8L1", "7L1", "6L1", "5L1"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["8L24", "7T", "7L32", "6T", "6L32", "5T", "5L32", "4M", "4L32", "3L33"], + reflect: ["8M", "8L36", "8V", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L19"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["8L16", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43", "3L40"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L36", "7M", "7L50", "7V", "6M", "6L50", "5M", "5L50", "4M", "4L50", "3M", "3L50"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "5D", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + storedpower: ["8M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L29", "4M", "4L29", "3T", "3L8"], + suckerpunch: ["8L40"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + teeterdance: ["8L52", "7E", "6E", "5E", "5D", "4E"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T", "3S0"], + thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + tickle: ["8E"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "7L36", "7E", "6T", "6L36", "6E", "5T", "5L36", "5E", "4T", "4L36", "4E", "3L36", "3E"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["8M"], + wakeupslap: ["7E", "6E", "5E", "4E"], + wideguard: ["8L1", "7L1", "6L1", "5L1"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 42, abilities: ["soundproof"], moves: ["followme", "psychic", "encore", "thunderpunch"]}, + ], + encounters: [ + {generation: 1, level: 6}, + ], + }, + mrmimegalar: { + learnset: { + allyswitch: ["8M", "8L16"], + attract: ["8M"], + avalanche: ["8M"], + batonpass: ["8M", "8L1"], + blizzard: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M"], + calmmind: ["8M"], + charm: ["8M"], + confuseray: ["8E"], + confusion: ["8L12", "8S0"], + copycat: ["8L1", "8S0"], + dazzlinggleam: ["8M", "8L1"], + doublekick: ["8L24"], + drainpunch: ["8M"], + encore: ["8M", "8L1", "8S0"], + endure: ["8M"], + energyball: ["8M"], + expandingforce: ["8T"], + facade: ["8M"], + fakeout: ["8E"], + fling: ["8M"], + focusblast: ["8M"], + foulplay: ["8M"], + freezedry: ["8L44"], + futuresight: ["8M"], + gigaimpact: ["8M"], + grassknot: ["8M"], + guardswap: ["8M"], + hail: ["8M"], + helpinghand: ["8M"], + hyperbeam: ["8M"], + hypnosis: ["8L32"], + icebeam: ["8M"], + icepunch: ["8M"], + iceshard: ["8L1", "8S0"], + iciclespear: ["8M"], + icywind: ["8M", "8L20"], + irondefense: ["8M"], + lightscreen: ["8M", "8L1"], + magicroom: ["8M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["8M"], + mimic: ["8L1"], + mirrorcoat: ["8L36"], + mistyterrain: ["8M", "8L1"], + nastyplot: ["8M"], + payback: ["8M"], + pound: ["8L1"], + powersplit: ["8E"], + powerswap: ["8M"], + protect: ["8M", "8L1"], + psybeam: ["8L28"], + psychic: ["8M", "8L48"], + psychicterrain: ["8M"], + psyshock: ["8M"], + raindance: ["8M"], + rapidspin: ["8L1"], + recycle: ["8L1"], + reflect: ["8M", "8L1"], + rest: ["8M"], + roleplay: ["8L1"], + round: ["8M"], + safeguard: ["8M", "8L1"], + screech: ["8M"], + shadowball: ["8M"], + skillswap: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + stompingtantrum: ["8M"], + storedpower: ["8M"], + substitute: ["8M"], + suckerpunch: ["8L40"], + sunnyday: ["8M"], + taunt: ["8M"], + teeterdance: ["8L52"], + thief: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderwave: ["8M"], + tickle: ["8E"], + trick: ["8M"], + trickroom: ["8M"], + tripleaxel: ["8T"], + uproar: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["8M"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["copycat", "encore", "iceshard", "confusion"], pokeball: "cherishball"}, + ], + }, + mrrime: { + learnset: { + afteryou: ["8L1"], + allyswitch: ["8M", "8L16"], + attract: ["8M"], + avalanche: ["8M"], + batonpass: ["8M", "8L1"], + blizzard: ["8M"], + block: ["8L1"], + bodyslam: ["8M"], + brickbreak: ["8M"], + calmmind: ["8M"], + charm: ["8M"], + confusion: ["8L12"], + copycat: ["8L1"], + dazzlinggleam: ["8M", "8L1"], + doublekick: ["8L24"], + drainpunch: ["8M"], + encore: ["8M", "8L1"], + endure: ["8M"], + energyball: ["8M"], + expandingforce: ["8T"], + facade: ["8M"], + faketears: ["8M", "8L1"], + fling: ["8M"], + focusblast: ["8M"], + foulplay: ["8M"], + freezedry: ["8L44"], + futuresight: ["8M"], + gigaimpact: ["8M"], + grassknot: ["8M"], + guardswap: ["8M"], + hail: ["8M"], + helpinghand: ["8M"], + hyperbeam: ["8M"], + hypnosis: ["8L32"], + icebeam: ["8M"], + icepunch: ["8M"], + iceshard: ["8L1"], + iciclespear: ["8M"], + icywind: ["8M", "8L20"], + irondefense: ["8M"], + lightscreen: ["8M", "8L1"], + magicroom: ["8M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["8M"], + mimic: ["8L1"], + mirrorcoat: ["8L36"], + mistyterrain: ["8M", "8L1"], + nastyplot: ["8M"], + payback: ["8M"], + pound: ["8L1"], + powerswap: ["8M"], + protect: ["8M", "8L1"], + psybeam: ["8L28"], + psychic: ["8M", "8L48"], + psychicterrain: ["8M"], + psyshock: ["8M"], + raindance: ["8M"], + rapidspin: ["8L1"], + recycle: ["8L1"], + reflect: ["8M", "8L1"], + rest: ["8M"], + roleplay: ["8L1"], + round: ["8M"], + safeguard: ["8M", "8L1"], + screech: ["8M"], + shadowball: ["8M"], + skillswap: ["8M"], + slackoff: ["8L1"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + stompingtantrum: ["8M"], + storedpower: ["8M"], + substitute: ["8M"], + suckerpunch: ["8L40"], + sunnyday: ["8M"], + taunt: ["8M"], + teeterdance: ["8L52"], + thief: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderwave: ["8M"], + trick: ["8M"], + trickroom: ["8M"], + tripleaxel: ["8T"], + uproar: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["8M"], + }, + }, + scyther: { + learnset: { + acrobatics: ["9M", "8M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L32", "8M", "8L32", "8V", "7L17", "7V", "6L17", "5L17", "5S2", "4L17", "3L21"], + aircutter: ["9M"], + airslash: ["9M", "9L36", "8M", "8L36", "8V", "7L50", "6L50", "5L53", "4L53"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "8M", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + bide: ["7V"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + brutalswing: ["8M", "7M"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "8M", "7E", "6E", "5E", "4E"], + captivate: ["4M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + crosspoison: ["8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defog: ["9E", "8E", "7T", "7E", "6E", "5E", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doublehit: ["9L20", "8L20", "7L49", "6L49", "5L49", "4L49"], + doubleteam: ["9L16", "8L16", "8V", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M", "3L41"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "4E", "3T", "3E"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "9L8", "8M", "8L8", "7M", "7L13", "7V", "6M", "6L13", "5M", "5L13", "4M", "4L13", "3L16"], + feint: ["9E", "8E", "8V", "7L61", "6L61", "5L61", "4L61"], + focusenergy: ["9L28", "8M", "8L28", "8V", "7L5", "7V", "6L5", "5L5", "4L5", "3L6", "3S0"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["9L4", "8L4", "7L25", "7V", "6L25", "5L25", "5S2", "4T", "4L25", "3T", "3L46"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + laserfocus: ["8L44", "7T"], + leer: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + lightscreen: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4E", "3E"], + lunge: ["9M"], + mimic: ["7V", "3T"], + morningsun: ["3S1"], + naturalgift: ["4M"], + nightslash: ["9E", "8E", "7L45", "7E", "6L45", "6E", "5L45", "5E", "4L45", "4E"], + ominouswind: ["4T"], + pounce: ["9M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychocut: ["8M"], + pursuit: ["7L9", "7V", "6L9", "5L9", "4L9", "3L11"], + quickattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + quickguard: ["9E", "8E", "7E", "6E"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["8V", "7L33", "7E", "7V", "6L33", "6E", "5L33", "5E", "4L33", "4E", "3E", "3S1"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + silverwind: ["7E", "6E", "5E", "4M", "4E", "3E", "3S1"], + skullbash: ["7V"], + slash: ["9L24", "8L24", "8V", "7L29", "7V", "6L29", "5L29", "5S2", "4L29", "3L31", "3S1"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["8M", "7M", "7E", "7V", "6M", "6E", "5E", "4M", "3M"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M", "9L44", "8M", "8L48", "8V", "7M", "7L57", "7V", "6M", "6L57", "5M", "5L57", "4M", "4L57", "3T", "3L36"], + tailwind: ["9M", "7T", "6T", "5T", "5D", "4T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "7L1", "6L1", "5L1", "4L1"], + wingattack: ["9L12", "8L12", "8V", "7L21", "7V", "6L21", "5L21", "5S2", "4L21", "3L26"], + xscissor: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L41"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["swarm"], moves: ["quickattack", "leer", "focusenergy"], pokeball: "pokeball"}, + {generation: 3, level: 40, abilities: ["swarm"], moves: ["morningsun", "razorwind", "silverwind", "slash"]}, + {generation: 5, level: 30, moves: ["agility", "wingattack", "furycutter", "slash"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 1, level: 25}, + ], + }, + scizor: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "6S5", "5M", "4M", "3M"], + agility: ["9M", "9L1", "8M", "8L1", "7L17", "7V", "6L17", "6S5", "6S6", "5L17", "4L17", "4S1", "3L21"], + aircutter: ["9M"], + airslash: ["9M", "9L1", "8M", "8L1"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + brutalswing: ["8M", "7M"], + bugbite: ["9M", "7T", "6T", "5T", "5S2", "4T"], + bugbuzz: ["9M", "8M"], + bulletpunch: ["9L0", "8L0", "7L1", "6L1", "6S7", "5L1", "5S2", "4L1"], + captivate: ["4M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + crosspoison: ["8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doublehit: ["9L20", "8L20", "7L49", "6L49", "6S4", "5L49", "4L49"], + doubleteam: ["9L16", "8L16", "7M", "7V", "6M", "5M", "4M", "3M", "3L41"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "9L1", "8M", "8L1", "7M", "7L13", "7V", "6M", "6L13", "6S5", "6S6", "5M", "5L13", "4M", "4L13", "3L16"], + feint: ["7L1", "6L1", "5L61", "4L61"], + flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L28", "8M", "8L28", "7L5", "7V", "6L5", "5L5", "5S3", "4L5", "3L6"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["9L1", "8L1", "7L25", "7V", "6L25", "6S5", "6S6", "5L25", "4T", "4L25", "3T", "3L46", "3S0"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + irondefense: ["9M", "9L32", "8M", "8L32", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L37", "4S1", "3L41"], + ironhead: ["9M", "9L36", "8M", "8L36", "7T", "7L50", "6T", "6L50", "6S4", "5T", "5L53", "4T", "4L53"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["8L44", "7T"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S3", "4L1", "3L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + lunge: ["9M"], + metalclaw: ["9M", "9L12", "8L12", "7L21", "7V", "6L21", "6S6", "5L21", "4L21", "3L26", "3S0"], + mimic: ["3T"], + naturalgift: ["4M"], + nightslash: ["7L45", "6L45", "6S4", "5L45", "4L45"], + ominouswind: ["4T"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychocut: ["8M"], + pursuit: ["7L9", "7V", "6L9", "5L9", "5S3", "4L9", "3L11"], + quickattack: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7L33", "6L33", "5L33", "4L33"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "8M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "6S7", "5T", "5S2", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + silverwind: ["4M"], + slash: ["9L24", "8L24", "7L29", "7V", "6L29", "5L29", "4L29", "3L31", "3S0"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + steelbeam: ["9M", "8T"], + steelwing: ["8M", "7M", "7V", "6M", "5S3", "4M", "3M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M", "9L44", "8M", "8L48", "7M", "7L57", "7V", "6M", "6L57", "6S7", "5M", "5L57", "5S2", "4M", "4L57", "4S1", "3T", "3L36", "3S0"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "6M", "6S7", "5M", "4M"], + vacuumwave: ["9M"], + venoshock: ["8M", "7M", "6M", "5M"], + wingattack: ["9L1", "8L1"], + xscissor: ["9M", "9L40", "8M", "8L40", "7M", "7L41", "6M", "6L41", "6S4", "5M", "5L41", "4M", "4L41", "4S1"], + }, + eventData: [ + {generation: 3, level: 50, gender: "M", abilities: ["swarm"], moves: ["furycutter", "metalclaw", "swordsdance", "slash"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Adamant", abilities: ["swarm"], moves: ["xscissor", "swordsdance", "irondefense", "agility"], pokeball: "cherishball"}, + {generation: 5, level: 100, gender: "M", abilities: ["technician"], moves: ["bulletpunch", "bugbite", "roost", "swordsdance"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["leer", "focusenergy", "pursuit", "steelwing"]}, + {generation: 6, level: 50, gender: "M", moves: ["xscissor", "nightslash", "doublehit", "ironhead"], pokeball: "cherishball"}, + {generation: 6, level: 25, nature: "Adamant", abilities: ["technician"], moves: ["aerialace", "falseswipe", "agility", "furycutter"], pokeball: "cherishball"}, + {generation: 6, level: 25, moves: ["metalclaw", "falseswipe", "agility", "furycutter"], pokeball: "cherishball"}, + {generation: 6, level: 50, abilities: ["technician"], moves: ["bulletpunch", "swordsdance", "roost", "uturn"], pokeball: "cherishball"}, + ], + }, + kleavor: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M", "9L32"], + aircutter: ["9M"], + airslash: ["9M"], + batonpass: ["9M"], + brickbreak: ["9M"], + bugbite: ["9M"], + bugbuzz: ["9M"], + closecombat: ["9M"], + doublehit: ["9L20"], + doubleteam: ["9L16"], + dualwingbeat: ["9M"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M", "9L8"], + focusenergy: ["9L28"], + furycutter: ["9L4"], + gigaimpact: ["9M"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + leer: ["9L1"], + lightscreen: ["9M"], + lunge: ["9M"], + pounce: ["9M"], + protect: ["9M"], + quickattack: ["9L1"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rockblast: ["9M"], + rockslide: ["9M", "9L36"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + slash: ["9L24"], + sleeptalk: ["9M"], + smackdown: ["9M", "9L12"], + stealthrock: ["9M"], + stoneaxe: ["9L0"], + stoneedge: ["9M"], + strugglebug: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + swordsdance: ["9M", "9L44"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + uturn: ["9M"], + vacuumwave: ["9M"], + xscissor: ["9M", "9L40"], + }, + }, + smoochum: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + auroraveil: ["7M"], + avalanche: ["8M", "7L35", "6L35", "5L35", "4M", "4L31"], + blizzard: ["8M", "8L48", "7M", "7L48", "7V", "6M", "6L48", "5M", "5L48", "4M", "4L45", "3M", "3L57"], + bodyslam: ["8M", "3T"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["7E", "6E", "5E", "5D", "4M"], + charm: ["8M"], + confide: ["7M", "6M"], + confusion: ["8L12", "7L15", "7V", "6L15", "5L15", "4L15", "3L21"], + copycat: ["8L8", "7L41", "6L41", "5L41", "4L38"], + counter: ["3T"], + covet: ["8L16", "7T", "6T", "5T"], + curse: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["8M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["8E", "7E", "6E", "5E", "4E", "3E"], + faketears: ["8M", "8L24", "7L28", "6L28", "5L28", "4L25", "3L37"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + healbell: ["7T", "6T", "5T", "4T"], + heartstamp: ["7L21", "6L21", "5L21"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8L28", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + lick: ["8L1", "7L5", "7V", "6L5", "5L5", "4L5", "3L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7L31", "6L31", "5L31", "4L28"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + meanlook: ["8L40", "7L25", "7V", "6L25", "5L25", "4L21", "3L33"], + meditate: ["7E", "7V", "6E", "5E", "4E", "3E"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["8M", "3T"], + mimic: ["3T"], + miracleeye: ["7E", "6E", "5E", "4E"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + perishsong: ["8L44", "7L45", "7V", "6L45", "5L45", "4L41", "3L49"], + pound: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + powdersnow: ["8L4", "7L11", "7V", "6L11", "5L11", "4L11", "3L13"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L32", "7M", "7L38", "7V", "6M", "6L38", "5M", "5L38", "4M", "4L35", "3M", "3L45"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["8E", "7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["8L20", "7L18", "7V", "6L18", "5L18", "4L18", "3L25"], + skillswap: ["8M", "7T", "6T", "5T", "5D", "4M", "3M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["8L36", "7L8", "7V", "6L8", "5L8", "5D", "4L8", "3L9"], + sweetscent: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + wakeupslap: ["7E", "6E", "5E"], + waterpulse: ["7T", "6T", "4M", "3M"], + wish: ["8E", "7E", "6E", "5E", "4E", "3E"], + wonderroom: ["8M", "7T"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + jynx: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + auroraveil: ["7M"], + avalanche: ["8M", "7L39", "6L39", "5L39", "4M", "4L33"], + bide: ["7V"], + blizzard: ["8M", "8L58", "8V", "7M", "7L60", "7V", "6M", "6L60", "5M", "5L60", "4M", "4L55", "3M", "3L67"], + bodyslam: ["8M", "8V", "7L44", "7V", "6L44", "5L44", "4L39", "3T", "3L51"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + calmmind: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + confusion: ["8L12", "8V"], + copycat: ["8L1"], + counter: ["7V", "3T"], + covet: ["8L16", "7T", "6T", "5T"], + curse: ["7V"], + doubleedge: ["7V", "3T"], + doubleslap: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L21"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["8M", "7L1", "6L1"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["8M", "8L24", "7L28", "6L28", "5L28", "4L25", "3L41"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + heartstamp: ["7L21", "6L21", "5L21"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8L28", "8V", "7T", "7L18", "7V", "6T", "6L18", "5T", "5L18", "4T", "4L18", "3T", "3L25"], + iciclespear: ["8M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + lick: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + lovelykiss: ["8L40", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + meanlook: ["8L46", "7L25", "7V", "6L25", "5L25", "4L21", "3L35"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["8M", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + perishsong: ["8L52", "7L1", "7V", "6L1", "5L55", "4L49", "3L57"], + pound: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + powdersnow: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L34", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicterrain: ["8M"], + psychocut: ["8M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8V"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shadowball: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["8L20"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + storedpower: ["8M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["8L1"], + sweetscent: ["7V"], + takedown: ["7V"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["7V"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + tripleaxel: ["8T"], + uproar: ["8M"], + wakeupslap: ["7L33", "6L33", "5L33", "4L28"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + wonderroom: ["8M", "7T"], + wringout: ["7L49", "6L49", "5L49", "4L44"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 20, nature: "Mild", ivs: {hp: 18, atk: 17, def: 18, spa: 22, spd: 25, spe: 21}, abilities: ["oblivious"], pokeball: "pokeball"}, + {generation: 4, level: 22}, + {generation: 7, level: 9}, + ], + }, + elekid: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + charge: ["8L8"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + crosschop: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E", "3S0"], + curse: ["7V"], + detect: ["7V"], + discharge: ["8L32", "7L33", "6L33", "5L41", "4L34"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], + electroball: ["8M", "7L22", "6L22", "5L31"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["8E", "7E", "6E", "5E", "4E"], + firepunch: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E", "3S0"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hammerarm: ["8E", "7E", "6E", "5E"], + headbutt: ["7V", "4T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E", "3S0"], + karatechop: ["7E", "7V", "6E", "5E", "4E", "3E"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "8L44", "7M", "7L26", "7V", "6M", "6L26", "5M", "5L26", "4M", "4L25", "3M", "3L17"], + lowkick: ["8M", "8L36", "7T", "7L8", "6T", "6L8", "5T", "5L11", "4T", "4L10"], + magnetrise: ["7T", "6T", "5T", "5D", "4T"], + meditate: ["7E", "7V", "6E", "5E", "4E", "3E"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollingkick: ["7E", "7V", "6E", "5E", "4E", "3E"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L24", "7L36", "7V", "6L36", "5L51", "4L43", "3L33"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shockwave: ["8L16", "7T", "7L15", "6T", "6L15", "5L21", "4M", "4L19", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "8L12", "7L12", "7V", "6L12", "5L16", "4T", "4L16", "3T", "3L25"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8L48", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L56", "4M", "4L46", "3M", "3L49"], + thunderbolt: ["8M", "8L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L46", "4M", "4L37", "3M", "3L41"], + thunderpunch: ["8M", "8L28", "7T", "7L29", "7V", "6T", "6L29", "5T", "5L36", "4T", "4L28", "3T", "3L9", "3S0"], + thundershock: ["8L4", "7L5", "6L5", "5L6", "5D", "4L7"], + thunderwave: ["8M", "8L20", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 20, moves: ["icepunch", "firepunch", "thunderpunch", "crosschop"], pokeball: "pokeball"}, + ], + }, + electabuzz: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + charge: ["8L1"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + counter: ["7V", "3T"], + covet: ["7T", "6T", "5T"], + crosschop: ["3S1"], + curse: ["7V"], + detect: ["7V"], + discharge: ["8L34", "7L36", "6L36", "5L44", "4L37"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["7V", "3T"], + electroball: ["8M", "7L22", "6L22", "5L32"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + followme: ["3S1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "8L64", "7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + lightscreen: ["8M", "8L52", "8V", "7M", "7L26", "7V", "6M", "6L26", "6S4", "5M", "5L26", "5S3", "4M", "4L25", "4S2", "3M", "3L17"], + lowkick: ["8M", "8L40", "8V", "7T", "7L8", "6T", "6L8", "6S4", "5T", "5L11", "5S3", "4T", "4L10", "4S2"], + lowsweep: ["8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["7V"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psywave: ["7V"], + quickattack: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L24", "8V", "7L42", "7V", "6L42", "5L56", "4L52", "3L36"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shockwave: ["8L16", "7T", "7L15", "6T", "6L15", "6S4", "5L21", "5S3", "4M", "4L19", "4S2", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "8L12", "8V", "7L12", "7V", "6L12", "5L16", "5S3", "4T", "4L16", "3T", "3L25"], + takedown: ["7V"], + taunt: ["8V"], + teleport: ["8V", "7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8L58", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L62", "4M", "4L58", "3M", "3L58"], + thunderbolt: ["8M", "8L46", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L50", "4M", "4L43", "3M", "3L47", "3S1"], + thunderpunch: ["8M", "8L28", "8V", "7T", "7L29", "7V", "6T", "6L29", "6S4", "5T", "5L38", "4T", "4L28", "4S2", "3T", "3L1", "3S0"], + thundershock: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1"], + thunderwave: ["8M", "8L20", "8V", "7M", "7L19", "7V", "6M", "6L19", "5M", "5L19", "4M", "3T", "3S1"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["quickattack", "leer", "thunderpunch"], pokeball: "pokeball"}, + {generation: 3, level: 43, moves: ["followme", "crosschop", "thunderwave", "thunderbolt"]}, + {generation: 4, level: 30, gender: "M", nature: "Naughty", moves: ["lowkick", "shockwave", "lightscreen", "thunderpunch"], pokeball: "pokeball"}, + {generation: 5, level: 30, moves: ["lowkick", "swift", "shockwave", "lightscreen"], pokeball: "cherishball"}, + {generation: 6, level: 30, gender: "M", isHidden: true, moves: ["lowkick", "shockwave", "lightscreen", "thunderpunch"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 33}, + {generation: 2, level: 15}, + {generation: 4, level: 15}, + {generation: 7, level: 25}, + ], + }, + electivire: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + charge: ["8L1"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crosschop: ["4S0"], + darkestlariat: ["8M"], + dig: ["8M", "6M", "5M", "4M"], + discharge: ["8L34", "7L36", "6L36", "5L44", "4L37", "4S1"], + doubleteam: ["7M", "6M", "5M", "4M"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "4S0"], + electricterrain: ["8M", "7L1", "6L1"], + electroball: ["8M", "7L22", "6L22", "5L32"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + firepunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + flamethrower: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["8M", "8L64", "7M", "7L62", "6M", "6L62", "5M", "5L68", "4M", "4L67"], + headbutt: ["4T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "4S0"], + iondeluge: ["7L1", "6L1"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1"], + lightscreen: ["8M", "8L52", "7M", "7L26", "6M", "6L26", "5M", "5L26", "4M", "4L25", "4S1"], + lowkick: ["8M", "8L40", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + lowsweep: ["8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M"], + megapunch: ["8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psychic: ["8M", "7M", "6M", "5M", "4M"], + quickattack: ["8L1", "7L1", "6L1", "5L1", "4L1"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + risingvoltage: ["8T"], + rockclimb: ["4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L24", "7L42", "6L42", "5L56", "4L52"], + secretpower: ["6M", "4M"], + shockwave: ["8L16", "7T", "7L15", "6T", "6L15", "5L21", "4M", "4L19"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["8M", "8L12", "7L12", "6L12", "5L16", "4T", "4L16"], + taunt: ["8M", "7M", "6M", "5M", "4M"], + thief: ["8M", "7M", "6M", "5M", "4M"], + thunder: ["8M", "8L58", "7M", "7L55", "6M", "6L55", "5M", "5L62", "4M", "4L58"], + thunderbolt: ["8M", "8L46", "7M", "7L49", "6M", "6L49", "5M", "5L50", "4M", "4L43", "4S1"], + thunderpunch: ["8M", "8L28", "7T", "7L29", "6T", "6L29", "5T", "5L38", "4T", "4L28", "4S0", "4S1"], + thundershock: ["8L1", "7L1", "6L1", "5L1", "4L1"], + thunderwave: ["8M", "8L20", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["8M"], + voltswitch: ["8M", "7M", "6M", "5M"], + weatherball: ["8M"], + wildcharge: ["8M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Adamant", moves: ["thunderpunch", "icepunch", "crosschop", "earthquake"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Serious", moves: ["lightscreen", "thunderpunch", "discharge", "thunderbolt"], pokeball: "cherishball"}, + ], + }, + magby: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["7E", "7V", "6E", "5E", "4E", "3E"], + belch: ["8E", "7E", "6E"], + bellydrum: ["7E", "6E", "5E", "4E"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + clearsmog: ["8L12", "7L19", "6L19", "5L19"], + confide: ["7M", "6M"], + confuseray: ["8L20", "7L26", "7V", "6L26", "5L25", "4L25", "3L43"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + crosschop: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + curse: ["7V"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], + ember: ["8L4", "7L5", "7V", "6L5", "5L7", "5D", "4L7", "3L1"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L12", "6L12", "5L16", "4L16"], + fireblast: ["8M", "8L48", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L49", "4M", "4L46", "3M", "3L49"], + firepunch: ["8M", "8L28", "7T", "7L29", "7V", "6T", "6L29", "5T", "5L34", "4T", "4L28", "3T", "3L19"], + firespin: ["8M", "7L15", "6L15", "5L19", "4L19"], + flameburst: ["7L22", "6L22", "5L28"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["8M", "8L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L43", "4M", "4L37", "3M", "3L37"], + flamewheel: ["8L16"], + flareblitz: ["8M", "7E", "6E", "5E", "4E"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "7E", "6E", "5E"], + focuspunch: ["8E", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "5D", "4T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + karatechop: ["7E", "7V", "6E", "5E", "4E", "3E"], + lavaplume: ["8L32", "7L33", "6L33", "5L37", "4L34"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L7"], + lowkick: ["8M", "8L36"], + machpunch: ["8E", "7E", "6E", "5E", "4E"], + megakick: ["8M", "3T"], + megapunch: ["8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M"], + powerswap: ["8M", "7E", "6E"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L24"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smog: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L13"], + smokescreen: ["8L8", "7L8", "7V", "6L8", "5L10", "4L10", "3L25"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "8L44", "7M", "7L36", "7V", "6M", "6L36", "5M", "5L46", "4M", "4L43", "3M", "3L31"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3T", "3E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + }, + }, + magmar: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + burningjealousy: ["8T"], + captivate: ["4M"], + clearsmog: ["8L12", "8V", "7L19", "6L19", "5L19"], + confide: ["7M", "6M"], + confuseray: ["8L20", "8V", "7L26", "7V", "6L26", "6S4", "5L26", "5S3", "4L25", "4S2", "3L49"], + counter: ["7V", "3T"], + covet: ["7T", "6T", "5T"], + crosschop: ["3S1"], + curse: ["7V"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["7V", "3T"], + ember: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L12", "6L12", "5L16", "5S3", "4L16"], + fireblast: ["8M", "8L58", "8V", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L62", "4M", "4L54", "3M", "3L57", "3S1"], + firepunch: ["8M", "8L28", "8V", "7T", "7L29", "7V", "6T", "6L29", "6S4", "5T", "5L38", "4T", "4L28", "4S2", "3T", "3L1", "3S0"], + firespin: ["8M", "8V", "7L15", "6L15", "6S4", "5L21", "5S3", "4L19", "4S2"], + flameburst: ["7L22", "6L22", "5L32"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["8M", "8L46", "8V", "7M", "7L49", "7V", "6M", "6L49", "5M", "5L50", "4M", "4L41", "3M", "3L41"], + flamewheel: ["8L16"], + flareblitz: ["8M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M"], + focuspunch: ["7T", "6T", "4M", "3M"], + followme: ["3S1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8L64", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lavaplume: ["8L34", "7L36", "6L36", "5L44", "4L36"], + leer: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + lowkick: ["8M", "8L40", "8V", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["7V"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M"], + powerswap: ["8M"], + poweruppunch: ["6M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psywave: ["7V"], + rage: ["7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L24"], + scorchingsands: ["8T"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smog: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + smokescreen: ["8L1", "8V", "7L8", "7V", "6L8", "6S4", "5L11", "5S3", "4L10", "4S2", "3L25"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "8L52", "7M", "7L42", "7V", "6M", "6L42", "5M", "5L56", "4M", "4L49", "3M", "3L33"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + taunt: ["8V"], + teleport: ["8V", "7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T", "3S1"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M"], + willowisp: ["8M", "8V", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["leer", "smog", "firepunch", "ember"], pokeball: "pokeball"}, + {generation: 3, level: 36, moves: ["followme", "fireblast", "crosschop", "thunderpunch"]}, + {generation: 4, level: 30, gender: "M", nature: "Quiet", moves: ["smokescreen", "firespin", "confuseray", "firepunch"], pokeball: "pokeball"}, + {generation: 5, level: 30, moves: ["smokescreen", "feintattack", "firespin", "confuseray"], pokeball: "cherishball"}, + {generation: 6, level: 30, gender: "M", isHidden: true, moves: ["smokescreen", "firespin", "confuseray", "firepunch"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 34}, + {generation: 2, level: 14}, + {generation: 4, level: 14}, + {generation: 7, level: 16}, + ], + }, + magmortar: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + burningjealousy: ["8T"], + captivate: ["4M"], + clearsmog: ["8L12", "7L19", "6L19", "5L19"], + confide: ["7M", "6M"], + confuseray: ["8L20", "7L26", "6L26", "5L26", "4L25", "4S1"], + covet: ["7T", "6T", "5T"], + doubleteam: ["7M", "6M", "5M", "4M"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M", "4M"], + ember: ["8L1", "7L1", "6L1", "5L1", "4L1"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + feintattack: ["7L12", "6L12", "5L16", "4L16"], + fireblast: ["8M", "8L58", "7M", "7L55", "6M", "6L55", "5M", "5L62", "4M", "4L58"], + firepunch: ["8M", "8L28", "7T", "7L29", "6T", "6L29", "5T", "5L38", "4T", "4L28", "4S1"], + firespin: ["8M", "7L15", "6L15", "5L21", "4L19"], + flameburst: ["7L22", "6L22", "5L32"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["8M", "8L46", "7M", "7L49", "6M", "6L49", "5M", "5L50", "4M", "4L43", "4S0", "4S1"], + flamewheel: ["8L16"], + flareblitz: ["8M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["8M", "8L64", "7M", "7L62", "6M", "6L62", "5M", "5L68", "4M", "4L67", "4S0"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + lavaplume: ["8L34", "7L36", "6L36", "5L44", "4L37", "4S1"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1"], + lowkick: ["8M", "8L40", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + mudslap: ["4T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M"], + powerswap: ["8M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psychic: ["8M", "7M", "6M", "5M", "4M", "4S0"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L24"], + scorchingsands: ["8T"], + screech: ["8M"], + secretpower: ["6M", "4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + smog: ["8L1", "7L1", "6L1", "5L1", "4L1"], + smokescreen: ["8L1", "7L1", "6L1", "5L1", "4L1"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "4S0"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "8L52", "7M", "7L42", "6M", "6L42", "5M", "5L56", "4M", "4L52"], + swagger: ["7M", "6M", "5M", "4M"], + taunt: ["8M", "7M", "6M", "5M", "4M"], + thief: ["8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["8M"], + weatherball: ["8M"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 4, level: 50, gender: "F", nature: "Modest", moves: ["flamethrower", "psychic", "hyperbeam", "solarbeam"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Hardy", moves: ["confuseray", "firepunch", "lavaplume", "flamethrower"], pokeball: "cherishball"}, + ], + }, + pinsir: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["8L8", "8V", "7T", "7L4", "7V", "6T", "6L4", "5T", "5L4", "4L4", "3L7"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "7L26", "6M", "6L18", "5M", "5L21", "4M", "4L21", "3M", "3L31"], + brutalswing: ["8M", "7M"], + bugbite: ["8L16", "7T", "7E", "6T", "6E", "5T", "5E"], + bulkup: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["8M", "7E", "6E", "5E", "5D", "4E"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["7V", "3T"], + doublehit: ["8L24", "7L22", "6L22"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "8V", "7M", "6M", "6S1", "6S2", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M", "4E", "3E", "3S0"], + feint: ["8E", "7E", "6E", "6S2", "5E", "4E"], + feintattack: ["7E", "6E", "5E", "4E", "3E"], + flail: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L4", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + guillotine: ["8L48", "8V", "7L50", "7V", "6L47", "5L47", "4L47", "3L37", "3S0"], + harden: ["8L1", "8V", "7L11", "7V", "6L11", "5L13", "4L13", "3L19"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["8M", "8V", "3S0"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["7T", "6T", "5T", "4T"], + mefirst: ["7E", "6E", "5E", "5D"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + outrage: ["8V"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["8E", "7E", "6E", "6S2", "5E", "4E"], + rage: ["7V"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "6S1", "5M", "4M", "3M"], + revenge: ["8M", "7L15", "6L15", "5L18", "4L18", "3L25"], + reversal: ["8M"], + rockclimb: ["4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8L12", "8V", "7L8", "7V", "6L8", "5L8", "4L8", "3T", "3L13"], + slash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stoneedge: ["8M", "7M", "6M", "6S1", "5M", "4M"], + stormthrow: ["8L20", "7L36", "6L33", "5L33"], + strength: ["8L36", "7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + submission: ["8L44", "8V", "7L33", "7V", "6L26", "5L42", "4L42", "3L43", "3S0"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8L52", "8V", "7T", "7L47", "7E", "6T", "6L43", "6E", "5T", "5L52", "5E", "4T", "4L52"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "8L40", "8V", "7M", "7L40", "7V", "6M", "6L40", "6S2", "5M", "5L38", "4M", "4L38", "3T", "3L49"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["8E", "8V", "7L43", "6L36", "5L35", "4L35"], + throatchop: ["8M", "7T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + visegrip: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + vitalthrow: ["8L28", "7L18", "6L18", "5L25", "4L25"], + xscissor: ["8M", "8L32", "8V", "7M", "7L29", "6M", "6L29", "6S1", "5M", "5L30", "4M", "4L30"], + }, + eventData: [ + {generation: 3, level: 35, abilities: ["hypercutter"], moves: ["helpinghand", "guillotine", "falseswipe", "submission"]}, + {generation: 6, level: 50, gender: "F", nature: "Adamant", moves: ["xscissor", "earthquake", "stoneedge", "return"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Jolly", isHidden: true, moves: ["earthquake", "swordsdance", "feint", "quickattack"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 1, level: 20}, + ], + }, + tauros: { + learnset: { + assurance: ["9L15", "8M", "8L15"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T", "3S2"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["9M", "8M"], + confide: ["7M", "6M"], + curse: ["9E", "7V"], + dig: ["9M"], + doubleedge: ["9L55", "8L55", "8V", "7L63", "7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S2"], + endeavor: ["9E", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + fissure: ["7V"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + focusenergy: ["8V"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "9L60", "8M", "8L60", "7M", "7L63", "6M", "6L63", "5M", "5L63", "4M", "4L55"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + hornattack: ["9L20", "8L20", "8V", "7L8", "7V", "6L8", "5L8", "4L8", "3L8", "3S0", "3S1"], + horndrill: ["7V"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + lashout: ["9M", "8T"], + leer: ["8V", "7V"], + megahorn: ["8M"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + payback: ["9L10", "8M", "8L10", "7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7L15", "7V", "6L15", "5L15", "4L15", "3L19", "3S0"], + rage: ["8V", "7L5", "7V", "6L5", "5L5", "5D", "4L5", "3L4", "3S0", "3S1"], + ragingbull: ["9L35"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S2"], + rest: ["9M", "9L40", "8M", "8L40", "8V", "7M", "7L19", "7V", "6M", "6L19", "5M", "5L19", "4M", "4L19", "3M", "3L34"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rockclimb: ["5D", "4M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "9L25", "8M", "8L25", "7L11", "7V", "6L11", "5L11", "4L11", "3L13", "3S0"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smartstrike: ["9M", "8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + spite: ["7T", "6T", "5T", "4T"], + stomp: ["7V"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["9L45", "8L45", "7M", "7L48", "7V", "6M", "6L48", "5M", "5L48", "4M", "4L41", "3T", "3L26"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S1"], + tailwhip: ["9L1", "8L1", "8V", "7L3", "7V", "6L3", "5L3", "4L3", "3L1", "3S1", "3S2"], + takedown: ["9M", "8L35", "8V", "7L35", "7V", "6L41", "5L41", "4L35", "3L53"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L50", "8L50", "8V", "7L50", "7V", "6L50", "5L55", "4L48", "3L43"], + throatchop: ["8M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + workup: ["9L5", "8M", "8L5", "7M", "7L29", "6L29", "5M", "5L29"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "9L30", "8M", "8L30", "7T", "7L35", "6T", "6L35", "5T", "5L35", "4T", "4L29"], + }, + eventData: [ + {generation: 3, level: 25, nature: "Docile", ivs: {hp: 14, atk: 19, def: 12, spa: 17, spd: 5, spe: 26}, abilities: ["intimidate"], moves: ["rage", "hornattack", "scaryface", "pursuit"], pokeball: "safariball"}, + {generation: 3, level: 10, abilities: ["intimidate"], moves: ["tackle", "tailwhip", "rage", "hornattack"], pokeball: "pokeball"}, + {generation: 3, level: 46, abilities: ["intimidate"], moves: ["refresh", "earthquake", "tailwhip", "bodyslam"]}, + ], + encounters: [ + {generation: 1, level: 21}, + ], + }, + taurospaldeacombat: { + learnset: { + assurance: ["9L15"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulkup: ["9M"], + bulldoze: ["9M"], + closecombat: ["9M", "9L60"], + curse: ["9E"], + dig: ["9M"], + doubleedge: ["9L55"], + doublekick: ["9L10"], + drillrun: ["9M"], + earthquake: ["9M"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L20"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + ironhead: ["9M"], + lashout: ["9M"], + outrage: ["9M"], + protect: ["9M"], + ragingbull: ["9L35"], + raindance: ["9M"], + rest: ["9M", "9L40"], + reversal: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M", "9L25"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + surf: ["9M"], + swagger: ["9L45"], + tackle: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L50"], + trailblaze: ["9M"], + wildcharge: ["9M"], + workup: ["9L5"], + zenheadbutt: ["9M", "9L30"], + }, + }, + taurospaldeablaze: { + learnset: { + bodypress: ["9M"], + bodyslam: ["9M"], + bulkup: ["9M"], + bulldoze: ["9M"], + closecombat: ["9M", "9L60"], + curse: ["9E"], + dig: ["9M"], + doublekick: ["9L10"], + drillrun: ["9M"], + earthquake: ["9M"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firespin: ["9M"], + flamecharge: ["9M", "9L15"], + flamethrower: ["9M"], + flareblitz: ["9M", "9L55"], + gigaimpact: ["9M"], + headbutt: ["9L20"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + ironhead: ["9M"], + lashout: ["9M"], + outrage: ["9M"], + overheat: ["9M"], + protect: ["9M"], + ragingbull: ["9L35"], + raindance: ["9M"], + rest: ["9M", "9L40"], + reversal: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M", "9L25"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L45"], + tackle: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L50"], + trailblaze: ["9M"], + wildcharge: ["9M"], + willowisp: ["9M"], + workup: ["9L5"], + zenheadbutt: ["9M", "9L30"], + }, + }, + taurospaldeaaqua: { + learnset: { + aquajet: ["9L15"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulkup: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + closecombat: ["9M", "9L60"], + curse: ["9E"], + dig: ["9M"], + doublekick: ["9L10"], + drillrun: ["9M"], + earthquake: ["9M"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L20"], + highhorsepower: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + ironhead: ["9M"], + lashout: ["9M"], + liquidation: ["9M"], + outrage: ["9M"], + protect: ["9M"], + ragingbull: ["9L35"], + raindance: ["9M"], + rest: ["9M", "9L40"], + reversal: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M", "9L25"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + surf: ["9M"], + swagger: ["9L45"], + tackle: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L50"], + trailblaze: ["9M"], + waterpulse: ["9M"], + wavecrash: ["9L55"], + wildcharge: ["9M"], + workup: ["9L5"], + zenheadbutt: ["9M", "9L30"], + }, + }, + magikarp: { + learnset: { + bounce: ["8M", "7T", "7S7", "6T", "5T", "5D", "5S5", "4T"], + celebrate: ["6S6"], + flail: ["9L25", "8L25", "7L30", "7V", "6L30", "5L30", "5S5", "4L30", "3L30"], + happyhour: ["6S6"], + hydropump: ["8M", "5S5"], + splash: ["9L1", "8L1", "8V", "7L1", "7V", "7S7", "6L1", "6S6", "5L1", "5D", "5S5", "4L1", "4S0", "4S1", "4S2", "4S3", "4S4", "3L1"], + tackle: ["9L15", "8L15", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L15"], + }, + eventData: [ + {generation: 4, level: 5, gender: "M", nature: "Relaxed", moves: ["splash"], pokeball: "pokeball"}, + {generation: 4, level: 6, gender: "F", nature: "Rash", moves: ["splash"], pokeball: "pokeball"}, + {generation: 4, level: 7, gender: "F", nature: "Hardy", moves: ["splash"], pokeball: "pokeball"}, + {generation: 4, level: 5, gender: "F", nature: "Lonely", moves: ["splash"], pokeball: "pokeball"}, + {generation: 4, level: 4, gender: "M", nature: "Modest", moves: ["splash"], pokeball: "pokeball"}, + {generation: 5, level: 99, shiny: true, gender: "M", moves: ["flail", "hydropump", "bounce", "splash"], pokeball: "cherishball"}, + {generation: 6, level: 1, shiny: 1, moves: ["splash", "celebrate", "happyhour"], pokeball: "cherishball"}, + {generation: 7, level: 19, shiny: true, moves: ["splash", "bounce"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + gyarados: { + learnset: { + aquatail: ["9L32", "8L32", "7T", "7L30", "6T", "6L35", "5T", "5L35", "4T", "4L35"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + bide: ["7V"], + bind: ["8V"], + bite: ["9L0", "8L0", "8V", "7L1", "7V", "6L20", "6S1", "5L20", "4L20", "3L20"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["9L12", "8M", "8L12", "4M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L24", "8M", "8L24", "8V", "7L39", "6L41"], + curse: ["7V"], + darkpulse: ["9M", "8M", "8V", "7M", "6M", "5T", "4M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["7V"], + dragondance: ["9M", "9L36", "8M", "8L36", "7L45", "6L44", "6S0", "5L44", "4L44", "3L50"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + dragonrage: ["8V", "7L36", "7V", "6L23", "5L23", "4L23", "3L25"], + dragontail: ["9M", "8V", "7M", "6M", "5M"], + earthquake: ["9M", "8M", "8V", "7M", "6M", "6S0", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + flail: ["9L1", "8L1"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "9L44", "8M", "8L44", "7L48"], + hydropump: ["9M", "9L40", "8M", "8L40", "8V", "7L42", "7V", "6L41", "5L41", "4L41", "3L40"], + hyperbeam: ["9M", "9L52", "8M", "8L52", "8V", "7M", "7L54", "7V", "6M", "6L47", "5M", "5L47", "4M", "4L47", "3M", "3L55"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icefang: ["9M", "9L8", "8M", "8L8", "7L27", "6L32", "6S0", "6S1", "5L32", "4L32"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "6S1", "5T", "4T"], + irontail: ["8M", "8V", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "8V", "7L21", "7V", "6L26", "5L26", "4L26", "3L30"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + powerwhip: ["8M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["8V", "7V"], + raindance: ["9M", "9L28", "8M", "8L28", "7M", "7L51", "7V", "6M", "6L38", "5M", "5L38", "4M", "4L38", "3M", "3L45"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["9M", "8M", "8V", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L16", "8M", "8L16", "7L33"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + splash: ["9L1", "8L1"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1", "7V"], + takedown: ["9M", "7V"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thrash: ["9L48", "8L48", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["9L1", "8L1", "7L24", "7V", "6L29", "5L29", "4T", "4L29", "3L35"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterfall: ["9M", "9L21", "8M", "8L21", "8V", "7M", "7V", "6M", "6S0", "6S1", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["9L4", "8M", "8L4", "7V", "4M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["waterfall", "earthquake", "icefang", "dragondance"], pokeball: "cherishball"}, + {generation: 6, level: 20, shiny: true, moves: ["waterfall", "bite", "icefang", "ironhead"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 15}, + {generation: 3, level: 5}, + {generation: 4, level: 10}, + {generation: 5, level: 1}, + {generation: 7, level: 10}, + ], + }, + lapras: { + learnset: { + ancientpower: ["8E", "7E", "6E", "5E", "4T", "4E"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["7V"], + avalanche: ["8M", "7E", "6E", "5E", "4M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "8L40", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3T", "3L13"], + brine: ["8M", "8L35", "7L37", "6L37", "5L37", "4M", "4L37"], + bubblebeam: ["7V"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["8M"], + confide: ["7M", "6M"], + confuseray: ["8L25", "8V", "7L7", "7V", "6L7", "5L7", "5D", "4L7", "3L19"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["7V"], + dragondance: ["8M", "7E", "6E", "5E", "4E", "3E"], + dragonpulse: ["8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + dragonrage: ["7V"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + drillrun: ["8M", "8V", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fissure: ["8E", "7E", "6E", "5E", "4E"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + freezedry: ["8E", "7E", "6E"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "7E", "6E", "5E"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T", "3S0"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + horndrill: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + hydropump: ["8M", "8L55", "8V", "7L47", "7V", "6L47", "5L49", "4L49", "3L49", "3S0"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "8L45", "8V", "7M", "7L32", "7V", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3M", "3L31"], + iceshard: ["8L20", "8V", "7L10", "6L10", "5L10", "4L10"], + icywind: ["8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lifedew: ["8L15"], + liquidation: ["8M"], + megahorn: ["8M", "8V"], + mimic: ["7V", "3T"], + mist: ["8L10", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3L7"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + outrage: ["8M", "8V", "7T", "6T", "5T", "4T"], + perishsong: ["8L60", "7L27", "7V", "6L27", "5L27", "4L27", "3L25"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["8M", "8L50", "7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L37", "3S0"], + reflect: ["8V", "7V"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + secretpower: ["6M", "4M", "3M"], + sheercold: ["8L65", "7L50", "6L50", "5L55", "4L55", "3L55"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["8L5", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8V", "7V"], + sparklingaria: ["8E"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + tickle: ["8E", "7E", "6E", "5E", "4E", "3E"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["8L30", "7T", "7L14", "6T", "6L14", "5L14", "4M", "4L14", "3M"], + weatherball: ["8M"], + whirlpool: ["8M", "7E", "7V", "6E", "5E", "4M", "4E"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 44, moves: ["hydropump", "raindance", "blizzard", "healbell"]}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + ditto: { + learnset: { + transform: ["9L1", "8L1", "8V", "7L1", "7V", "7S0", "6L1", "5L1", "4L1", "3L1"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["transform"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 12}, + {generation: 2, level: 10}, + {generation: 3, level: 23}, + {generation: 4, level: 10}, + {generation: 5, level: 45}, + {generation: 6, level: 30}, + {generation: 7, level: 25}, + ], + }, + eevee: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "5S2", "4M", "4S0", "3M"], + babydolleyes: ["9L15", "8L15", "7L9", "7S5", "6L9", "6S3", "6S4"], + batonpass: ["9M", "9L35", "8M", "8L35", "7L33", "7V", "6L33", "5L36", "4L36", "3L36"], + bide: ["7V"], + bite: ["9L25", "8L25", "8V", "7L17", "7V", "6L17", "5L29", "4L29", "4S0", "3L30"], + bodyslam: ["9M", "8M", "7V", "3T"], + calmmind: ["9M"], + captivate: ["7E", "6E", "4M"], + celebrate: ["8S6", "7S5", "6S3"], + charm: ["9M", "9L45", "8M", "8L45", "7L29", "7E", "7V", "6L29", "6E", "5L29", "5E", "5D", "4E", "3E"], + confide: ["7M", "6M"], + copycat: ["9L30", "8L30"], + covet: ["9L1", "8L1", "8S6", "7T", "7L1", "7E", "6T", "6L23", "6E", "5T", "5L21", "5E", "4E", "4S0"], + curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + detect: ["9E", "8E", "7E", "7V", "6E", "5E", "4E"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L50", "8L50", "8V", "7L37", "7V", "6L37", "5L37", "3T"], + doublekick: ["9E", "8E", "8V"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M", "5S2"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "4E", "3T", "3E"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M", "7E", "6E", "5E", "4E"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "4S1", "3E"], + focusenergy: ["8M", "7V"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + growl: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L15", "4L15", "3L16"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "8S6", "7T", "7L1", "6T", "6L1", "6S4", "5T", "5L1", "4T", "4L1", "4S0", "3L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "4S1", "3M"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + mimic: ["7V", "3T"], + mudslap: ["9M", "9E", "8E", "7V", "4T", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + payday: ["8M", "8V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "6S4", "5L22", "4L22", "4S1", "3L23"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + refresh: ["7L20", "6L20"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "5S2", "4M", "3M"], + roar: ["9M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "7S5", "6L5", "6S3", "5L8", "5D", "4L8", "3L8"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sing: ["5S2"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M", "7E", "6E", "5E"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L20", "8M", "8L20", "8V", "7L17", "7V", "6L10", "6S3", "6S4", "5D", "4T", "3T"], + synchronoise: ["7E", "6E", "5E"], + tackle: ["9L1", "8L1", "8V", "8S6", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L40", "8L40", "8V", "7L25", "7V", "6L25", "5L43", "4L43", "3L42"], + terablast: ["9M"], + tickle: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trumpcard: ["7L45", "6L45", "5L57", "4L57", "4S1"], + weatherball: ["9M", "8M"], + wish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + workup: ["8M", "7M", "5M"], + yawn: ["9E", "8E", "7E", "6E", "5E", "4E"], + }, + eventData: [ + {generation: 4, level: 10, gender: "F", nature: "Lonely", abilities: ["adaptability"], moves: ["covet", "bite", "helpinghand", "attract"], pokeball: "cherishball"}, + {generation: 4, level: 50, shiny: true, gender: "M", nature: "Hardy", abilities: ["adaptability"], moves: ["irontail", "trumpcard", "flail", "quickattack"], pokeball: "cherishball"}, + {generation: 5, level: 50, gender: "F", nature: "Hardy", abilities: ["adaptability"], moves: ["sing", "return", "echoedvoice", "attract"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["celebrate", "sandattack", "babydolleyes", "swift"], pokeball: "cherishball"}, + {generation: 6, level: 15, shiny: true, isHidden: true, moves: ["swift", "quickattack", "babydolleyes", "helpinghand"], pokeball: "cherishball"}, + {generation: 7, level: 10, nature: "Jolly", moves: ["celebrate", "sandattack", "babydolleyes"], pokeball: "cherishball"}, + {generation: 8, level: 5, gender: "M", nature: "Docile", abilities: ["runaway"], moves: ["celebrate", "covet", "helpinghand", "tackle"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 25}, + ], + }, + eeveestarter: { + learnset: { + baddybad: ["8V", "7T"], + bite: ["8V", "7L17"], + bouncybubble: ["8V", "7T"], + buzzybuzz: ["8V", "7T"], + dig: ["8V", "7M"], + doubleedge: ["8V", "7L28"], + doublekick: ["8V", "7L10"], + facade: ["8V", "7M"], + freezyfrost: ["8V", "7T"], + glitzyglow: ["8V", "7T"], + growl: ["8V", "7L1", "7S0"], + headbutt: ["8V", "7M"], + helpinghand: ["8V", "7M", "7L31"], + irontail: ["8V", "7M"], + payday: ["8V", "7M"], + protect: ["8V", "7M"], + quickattack: ["8V", "7L6"], + reflect: ["8V", "7M"], + rest: ["8V", "7M"], + sandattack: ["8V", "7L14"], + sappyseed: ["8V", "7T"], + shadowball: ["8V", "7M"], + sizzlyslide: ["8V", "7T"], + sparklyswirl: ["8V", "7T"], + substitute: ["8V", "7M"], + swift: ["8V", "7L21"], + tackle: ["8V", "7L1", "7S0"], + tailwhip: ["8V", "7L3", "7S0"], + takedown: ["8V", "7L24"], + toxic: ["8V", "7M"], + veeveevolley: ["8V", "7T"], + }, + eventData: [ + {generation: 7, level: 5, perfectIVs: 6, moves: ["tackle", "tailwhip", "growl"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + vaporeon: { + learnset: { + acidarmor: ["9L45", "8L45", "8V", "7L29", "7V", "6L29", "5L64", "4L64", "3L47"], + aquaring: ["9L35", "8L35", "7L25", "6L25", "5L43", "4L43"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["9L30", "8L30", "8V", "7L20", "7V", "6L20", "5L36", "4L36", "3L36"], + babydolleyes: ["9L15", "8L15", "7L9"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bide: ["7V"], + bite: ["9L1", "8L1", "7V", "5L29", "4L29", "3L30"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brine: ["8M", "4M"], + bubblebeam: ["7V"], + calmmind: ["9M"], + captivate: ["4M"], + celebrate: ["6S1"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["7V"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L1", "8L1", "7V", "3T"], + doublekick: ["8V"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + flipturn: ["9M", "8T"], + focusenergy: ["8M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M", "9L20", "8L20", "8V", "7L33", "7V", "6L33", "5L57", "4L57", "3L42"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S0", "4T", "4L1", "3L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L50", "8M", "8L50", "8V", "7L45", "7V", "6L45", "5L71", "4L71", "3L52"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + liquidation: ["9M", "8M"], + mimic: ["7V", "3T"], + mist: ["7V"], + muddywater: ["9L40", "8M", "8L40", "7L37", "6L37", "5L78", "4L78"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + payday: ["8M", "8V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "5L22", "4L22", "3L23"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L8", "5S0", "4L8", "3L8"], + scald: ["9M", "8M", "8V", "7M", "7S2", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L1", "8M", "8L1", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S1", "5L1", "5S0", "4L1", "3L1"], + takedown: ["9M", "9L1", "8L1", "7V"], + terablast: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L15", "4L15", "3L16"], + waterpulse: ["9M", "9L25", "8L25", "7T", "7L17", "6T", "6L17", "4M", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "7V", "4M"], + workup: ["8M", "7M", "5M"], + yawn: ["8V"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tailwhip", "tackle", "helpinghand", "sandattack"]}, + {generation: 6, level: 10, moves: ["celebrate", "tailwhip", "sandattack", "watergun"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["scald", "icebeam", "raindance", "rest"], pokeball: "cherishball"}, + ], + }, + jolteon: { + learnset: { + agility: ["9M", "9L45", "8M", "8L45", "8V", "7L29", "7V", "6L29", "5L64", "4L64", "3L47"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + babydolleyes: ["9L15", "8L15", "7L9"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bide: ["7V"], + bite: ["9L1", "8L1"], + bodyslam: ["9M", "8M", "7V", "3T"], + calmmind: ["9M"], + captivate: ["4M"], + celebrate: ["6S1"], + charge: ["9M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["7V"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + discharge: ["9L40", "8L40", "7L37", "6L37", "5L78", "4L78"], + doubleedge: ["9L1", "8L1", "7V", "3T"], + doublekick: ["9L25", "8L25", "8V", "7L17", "7V", "6L17", "5L29", "4L29", "3L30"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + falseswipe: ["9M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + focusenergy: ["8M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S0", "4T", "4L1", "3L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + lightscreen: ["9M", "8M", "8V", "7M", "7S2", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mimic: ["7V", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + payday: ["8M", "8V"], + pinmissile: ["9L35", "8M", "8L35", "8V", "7L25", "7V", "6L25", "5L36", "4L36", "3L36"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "6L13", "5L22", "4L22", "3L23"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L8", "5S0", "4L8", "3L8"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L1", "8M", "8L1", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S1", "5L1", "5S0", "4L1", "3L1"], + takedown: ["9M", "9L1", "8L1", "7V"], + terablast: ["9M"], + thunder: ["9M", "9L50", "8M", "8L50", "8V", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L71", "4M", "4L71", "3M", "3L52"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "7S2", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L43", "4L43"], + thundershock: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L15", "4L15", "3L16"], + thunderwave: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L57", "4M", "4L57", "3T", "3L42"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + voltswitch: ["9M", "8M", "7M", "7S2", "6M", "5M"], + weatherball: ["9M", "8M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + yawn: ["8V"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tailwhip", "tackle", "helpinghand", "sandattack"]}, + {generation: 6, level: 10, moves: ["celebrate", "tailwhip", "sandattack", "thundershock"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", moves: ["thunderbolt", "shadowball", "lightscreen", "voltswitch"], pokeball: "cherishball"}, + ], + }, + flareon: { + learnset: { + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + babydolleyes: ["9L15", "8L15", "7L9"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bide: ["7V"], + bite: ["9L25", "8L25", "7L17", "7V", "6L17", "5L29", "4L29", "3L30"], + bodyslam: ["9M", "8M", "7V", "3T"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M"], + captivate: ["4M"], + celebrate: ["6S1"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["7V"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L1", "8L1", "7V", "3T"], + doublekick: ["8V"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["9L0", "8L0", "8V", "7L1", "7V", "6L9", "6S1", "5L15", "4L15", "3L16"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "7S2", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5L71", "4M", "4L71", "3M"], + firefang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L43", "4L43"], + firespin: ["9M", "9L35", "8M", "8L35", "8V", "7L25", "7V", "6L25", "5L36", "4L36", "3L36"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3L52"], + flareblitz: ["9M", "9L50", "8M", "8L50", "8V", "7L45", "7S2", "6L45"], + focusenergy: ["8M", "8V"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "8V"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "8V", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S0", "4T", "4L1", "3L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + lavaplume: ["9L40", "8L40", "7L37", "6L37", "5L78", "4L78"], + leer: ["7V", "3L47"], + mimic: ["7V", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + payday: ["8M", "8V"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L10", "8L10", "8V", "7L13", "7V", "7S2", "6L13", "5L22", "4L22", "3L23"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "8V", "7L5", "7V", "6L5", "6S1", "5L8", "5S0", "4L8", "3L8"], + scaryface: ["9M", "9L45", "8M", "8L45", "7L29", "6L29", "5L64", "4L64"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smog: ["9L20", "8L20", "8V", "7L33", "7V", "6L33", "5L57", "4L57", "3L42"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L1", "8M", "8L1", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "6S1", "5L1", "5S0", "4L1", "3L1"], + takedown: ["9M", "9L1", "8L1", "7V"], + terablast: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "8V", "7M", "7S2", "6M", "5M", "4M"], + workup: ["8M", "7M", "5M"], + yawn: ["8V"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tailwhip", "tackle", "helpinghand", "sandattack"]}, + {generation: 6, level: 10, moves: ["celebrate", "tailwhip", "sandattack", "ember"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["flareblitz", "facade", "willowisp", "quickattack"], pokeball: "cherishball"}, + ], + }, + espeon: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + babydolleyes: ["9L15", "8L15", "7L9"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bite: ["9L1", "8L1"], + bodyslam: ["9M", "8M", "3T"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + celebrate: ["6S2"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L0", "8L0", "7L1", "7V", "6L9", "6S2", "5L15", "4L15", "3L16"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["9M", "8M", "7M", "7S3", "6M"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9L1", "8L1", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + focusenergy: ["8M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9L50", "8M", "8L50", "7L25", "6L25", "5L43", "4L43"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M"], + growl: ["9L1", "8L1"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S1", "4T", "4L1", "3L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + imprison: ["9M"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + mimic: ["3T"], + morningsun: ["9L30", "8L30", "7L33", "7V", "6L33", "5L71", "4L71", "3L52", "3S0"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payday: ["8M"], + powergem: ["9M"], + powerswap: ["9L35", "8M", "8L35", "7L45", "6L45", "5L78", "4L78"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L25", "8L25", "7L20", "7V", "6L20", "5L36", "4L36", "3L36", "3S0"], + psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L37", "7V", "7S3", "6M", "6L37", "5M", "5L64", "4M", "4L64", "3M", "3L47", "3S0"], + psychicfangs: ["9M", "8M"], + psychicterrain: ["9M"], + psychup: ["9L45", "8L45", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L57", "4M", "4L57", "3T", "3L42", "3S0"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + quickattack: ["9L10", "8L10", "7L13", "7V", "6L13", "5L22", "4L22", "3L23"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "8M", "7M", "7S3", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "7L5", "7V", "6L5", "6S2", "5L8", "5S1", "4L8", "3L8"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "7V", "7S3", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L20", "8M", "8L20", "7L17", "7V", "6L17", "5L29", "4T", "4L29", "3T", "3L30"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S1", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "7L1", "7V", "6L1", "6S2", "5L1", "5S1", "4L1", "3L1"], + takedown: ["9M", "9L1", "8L1"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunderwave: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + weatherball: ["9M", "8M"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["psybeam", "psychup", "psychic", "morningsun"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tailwhip", "tackle", "helpinghand", "sandattack"]}, + {generation: 6, level: 10, moves: ["celebrate", "tailwhip", "sandattack", "confusion"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["psychic", "dazzlinggleam", "shadowball", "reflect"], pokeball: "cherishball"}, + ], + }, + umbreon: { + learnset: { + assurance: ["9L25", "8M", "8L25", "7L25", "6L25", "5L25", "4L43"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + babydolleyes: ["9L15", "8L15", "7L9"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bite: ["9L1", "8L1"], + bodyslam: ["9M", "8M", "3T"], + calmmind: ["9M"], + captivate: ["4M"], + celebrate: ["6S2"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L20", "8L20", "7L17", "7V", "6L17", "5L17", "4L29", "3L30"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + crunch: ["9M", "8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + darkpulse: ["9M", "9L40", "8M", "8L40", "7M", "6M", "5T", "4M"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9L1", "8L1", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + feintattack: ["7L20", "7V", "6L20", "5L21", "4L36", "3L36", "3S0"], + flash: ["7V", "6M", "5M", "4M", "3M"], + focusenergy: ["8M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1"], + guardswap: ["9L35", "8M", "8L35", "7L45", "6L45", "5L45", "4L78"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S1", "4T", "4L1", "3L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4T", "4L50"], + lightscreen: ["9M"], + meanlook: ["9L50", "8L50", "7L37", "7V", "6L37", "5L37", "4L57", "3L42", "3S0"], + mimic: ["3T"], + moonlight: ["9L30", "8L30", "7L33", "7V", "7S3", "6L33", "5L33", "4L71", "3L52", "3S0"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + payday: ["8M"], + protect: ["9M", "8M", "7M", "7V", "7S3", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + pursuit: ["7L1", "7V", "6L9", "6S2", "5L15", "4L15", "3L16"], + quickattack: ["9L10", "8L10", "7L13", "7V", "6L13", "5L13", "4L22", "3L23"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "7L5", "7V", "6L5", "6S2", "5L8", "5S1", "4L8", "3L8"], + scaryface: ["9M"], + screech: ["9L45", "8M", "8L45", "7L29", "7V", "6L29", "5L29", "4L64", "3L47", "3S0"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M", "9L0", "8M", "8L0", "7M", "7S3", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L1", "8M", "8L1", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S1", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "7L1", "7V", "6L1", "6S2", "5L1", "5S1", "4L1", "3L1"], + takedown: ["9M", "9L1", "8L1"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "8M"], + throatchop: ["8M", "7T"], + thunderwave: ["9M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "7M", "7V", "7S3", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + weatherball: ["9M", "8M"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["feintattack", "meanlook", "screech", "moonlight"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tailwhip", "tackle", "helpinghand", "sandattack"]}, + {generation: 6, level: 10, moves: ["celebrate", "tailwhip", "sandattack", "pursuit"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", moves: ["snarl", "toxic", "protect", "moonlight"], pokeball: "cherishball"}, + ], + }, + leafeon: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + babydolleyes: ["9L15", "8L15", "7L9"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bite: ["9L1", "8L1"], + bodyslam: ["9M", "8M"], + bulletseed: ["9M", "8M", "4M"], + calmmind: ["9M"], + captivate: ["4M"], + celebrate: ["6S1"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleedge: ["9L1", "8L1"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "8M"], + flash: ["6M", "5M", "4M"], + focusenergy: ["8M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigadrain: ["9M", "9L40", "8M", "8L40", "7T", "7L25", "6T", "6L25", "5T", "5L43", "4M", "4L43"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7L17", "6L17", "5L57", "4L57"], + grassyglide: ["9M", "8T"], + growl: ["9L1", "8L1"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S0", "4T", "4L1"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + leafblade: ["9L50", "8M", "8L50", "7L45", "7S2", "6L45", "5L71", "4L71"], + leafstorm: ["9M", "8M"], + leechseed: ["9L20", "8L20"], + magicalleaf: ["9M", "9L25", "8M", "8L25", "7L20", "6L20", "5L36", "4L36"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + payday: ["8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + quickattack: ["9L10", "8L10", "7L13", "6L13", "5L22", "4L22"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + razorleaf: ["9L0", "8L0", "7L1", "6L9", "6S1", "5L15", "4L15"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "7L5", "6L5", "6S1", "5L8", "5S0", "4L8"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + solarblade: ["9M", "8M"], + storedpower: ["9M", "8M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "9L35", "8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L64", "4M", "4L64"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L1", "8M", "8L1", "4T"], + swordsdance: ["9M", "9L45", "8M", "8L45", "7M", "7L29", "7S2", "6M", "6L29", "5M", "5L78", "4M", "4L78"], + synthesis: ["9L30", "8L30", "7T", "7L33", "7S2", "6T", "6L33", "5T", "5L29", "4T", "4L29"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0", "4L1"], + tailwhip: ["9L1", "8L1", "7L1", "6L1", "6S1", "5L1", "5S0", "4L1"], + takedown: ["9M", "9L1", "8L1"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + weatherball: ["9M", "8M"], + workup: ["8M", "7M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tailwhip", "tackle", "helpinghand", "sandattack"]}, + {generation: 6, level: 10, moves: ["celebrate", "tailwhip", "sandattack", "razorleaf"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["leafblade", "swordsdance", "sunnyday", "synthesis"], pokeball: "cherishball"}, + ], + }, + glaceon: { + learnset: { + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + auroraveil: ["7M", "7S2"], + avalanche: ["9M", "8M", "4M"], + babydolleyes: ["9L15", "8L15", "7L9"], + barrier: ["7L29", "6L29", "5L78", "4L78"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bite: ["9L25", "8L25", "7L17", "6L17", "5L29", "4L29"], + blizzard: ["9M", "9L50", "8M", "8L50", "7M", "7L45", "7S2", "6M", "6L45", "5M", "5L71", "4M", "4L71"], + bodyslam: ["9M", "8M"], + calmmind: ["9M"], + captivate: ["4M"], + celebrate: ["6S1"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T", "5T"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleedge: ["9L1", "8L1"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "8M"], + focusenergy: ["8M"], + freezedry: ["9L40", "8L40"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M"], + growl: ["9L1", "8L1"], + hail: ["8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L64", "4M", "4L64"], + haze: ["9M"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S0", "4T", "4L1"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icefang: ["9M", "9L30", "8M", "8L30", "7L20", "6L20", "5L43", "4L43"], + iceshard: ["9L20", "8L20", "7L25", "6L25", "5L36", "4L36"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L0", "8M", "8L0", "7T", "7L1", "6T", "6L9", "6S1", "5T", "5L15", "4T", "4L15"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41", "5T", "5L50", "4T", "4L50"], + mirrorcoat: ["9L45", "8L45", "7L33", "6L33", "5L57", "4L57"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + payday: ["8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + quickattack: ["9L10", "8L10", "7L13", "6L13", "5L22", "4L22"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L5", "8L5", "7L5", "6L5", "6S1", "5L8", "5S0", "4L8"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "7S2", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M", "9L35"], + storedpower: ["9M", "8M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L1", "8M", "8L1", "4T"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0", "4L1"], + tailwhip: ["9L1", "8L1", "7L1", "6L1", "6S1", "5L1", "5S0", "4L1"], + takedown: ["9M", "9L1", "8L1"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + tripleaxel: ["8T"], + waterpulse: ["9M", "7T", "6T", "4M"], + weatherball: ["9M", "8M"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tailwhip", "tackle", "helpinghand", "sandattack"]}, + {generation: 6, level: 10, moves: ["celebrate", "tailwhip", "sandattack", "icywind"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", moves: ["blizzard", "shadowball", "hail", "auroraveil"], pokeball: "cherishball"}, + ], + }, + porygon: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L30", "8V", "7L12", "7V", "6L12", "5L12", "4L12", "3L9"], + allyswitch: ["8M", "7T"], + barrier: ["8V"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + conversion: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + conversion2: ["8L25", "8S1", "7L1", "6L1", "5L1", "4L1", "3L1"], + curse: ["7V"], + defensecurl: ["7V"], + discharge: ["8L40", "7L40", "6L40", "5L40", "4L40"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + eerieimpulse: ["8M"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foulplay: ["8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + guardswap: ["8M"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "4T"], + lockon: ["8L55", "7L45", "7V", "6L45", "5L45", "4L45", "3L32"], + magiccoat: ["8L50", "7T", "7L56", "6T", "6L56", "5T", "5L56", "4T", "4L56"], + magnetrise: ["8L10", "8S1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + painsplit: ["7T", "6T", "5T", "4T"], + powerswap: ["8M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L20", "8V", "8S1", "7L7", "7V", "6L7", "5L7", "5S0", "4L7", "3L12"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7V"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["8L35", "8V", "7L18", "7V", "6L18", "5L18", "4L18", "3L20"], + recycle: ["8L5", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4M", "4L34", "3L44"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + sharpen: ["8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L24"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L29"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + speedswap: ["8M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + takedown: ["7V"], + telekinesis: ["7T"], + teleport: ["8V", "7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thundershock: ["8L15", "8S1"], + thunderwave: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8L45", "8V", "7L50", "7V", "6L50", "5L51", "4L51", "3L36"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["8L60", "7L62", "7V", "6L62", "5L62", "4L62", "3L48"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 5, level: 10, isHidden: true, moves: ["tackle", "conversion", "sharpen", "psybeam"]}, + {generation: 8, level: 25, isHidden: true, moves: ["magnetrise", "thundershock", "psybeam", "conversion2"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 18}, + ], + }, + porygon2: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L30", "7L12", "7V", "6L12", "5L12", "4L12", "3L9"], + allyswitch: ["8M", "7T"], + blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + conversion: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + conversion2: ["8L25", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + curse: ["7V"], + defensecurl: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L24"], + discharge: ["8L40", "7L40", "6L40", "5L40", "4L40"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + eerieimpulse: ["8M"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + guardswap: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8L65", "7M", "7L67", "7V", "6M", "6L67", "5M", "5L67", "4M", "4L67", "3M"], + icebeam: ["8M", "8S0", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "4T"], + lockon: ["8L55", "7L45", "7V", "6L45", "5L45", "4L45", "3L32"], + magiccoat: ["8L50", "7T", "7L1", "6T", "6L1", "5T", "5L56", "4T", "4L56"], + magnetrise: ["8L1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], + mimic: ["3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + painsplit: ["7T", "6T", "5T", "4T"], + powerswap: ["8M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L20", "7L7", "7V", "6L7", "5L7", "4L7", "3L12"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["8L35", "8S0", "7L18", "7V", "6L18", "5L18", "4L18", "3L20"], + recycle: ["8L1", "7T", "7L34", "6T", "6L34", "5T", "5L34", "4M", "4L34", "3L44"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L29"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + speedswap: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + telekinesis: ["7T"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "8S0", "7M", "6M", "5M", "4M", "3M"], + thundershock: ["8L15"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "8L45", "7L50", "7V", "6L50", "5L51", "4L51", "3L36"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "8S0", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["8L60", "7L1", "7V", "6L1", "5L62", "4L62", "3L48"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 8, level: 50, nature: "Sassy", abilities: ["download"], ivs: {hp: 31, atk: 0, spe: 0}, moves: ["recover", "trickroom", "icebeam", "thunderbolt"], pokeball: "cherishball"}, + ], + }, + porygonz: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["8M", "8L30", "7L12", "6L12", "5L12", "4L12"], + allyswitch: ["8M", "7T"], + blizzard: ["8M", "7M", "6M", "5M", "4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + conversion: ["8L1", "7L1", "6L1", "5L1", "4L1"], + conversion2: ["8L25", "7L1", "6L1", "5L1", "4L1"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + defensecurl: ["8L1"], + discharge: ["8L40", "7L40", "6L40", "5L40", "4L40"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + eerieimpulse: ["8M"], + electroweb: ["8M", "7T", "6T", "5T"], + embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L34", "4M", "4L34"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + guardswap: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["8M", "8L65", "7M", "7L67", "6M", "6L67", "5M", "5L67", "4M", "4L67"], + icebeam: ["8M", "7M", "6M", "5M", "4M"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + lastresort: ["7T", "6T", "5T", "4T"], + lockon: ["8L55", "7L45", "6L45", "5L45", "4L45"], + magiccoat: ["8L50", "7T", "7L1", "6T", "6L1", "5T", "5L56", "4T", "4L56"], + magnetrise: ["8L1", "7T", "7L23", "6T", "6L23", "5T", "5L23", "4L23"], + nastyplot: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + powerswap: ["8M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psybeam: ["8L20", "7L7", "6L7", "5L7", "4L7"], + psychic: ["8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + recover: ["8L35", "7L18", "6L18", "5L18", "4L18"], + recycle: ["8L1", "7T", "6T", "5T", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L29"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + speedswap: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["8M", "4T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1"], + telekinesis: ["7T"], + thief: ["8M", "7M", "6M", "5M", "4M"], + thunder: ["8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thundershock: ["8L15"], + thunderwave: ["8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + triattack: ["8M", "8L45", "7L50", "6L50", "5L51", "4L51"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + wonderroom: ["8M", "7T", "5T"], + zapcannon: ["8L60", "7L1", "6L1", "5L62", "4L62"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + omanyte: { + learnset: { + ancientpower: ["8L30", "7L37", "7V", "6L37", "5L37", "4T", "4L37", "3L49"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7E", "7V", "6E", "5E"], + bind: ["8L1", "7T", "6T", "5T"], + bite: ["8E", "8V", "7L7", "7V", "6L7", "5L7", "5D", "5S0", "4L7", "3L13"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brine: ["8M", "8L35", "7L28", "6L28", "5L28", "4M", "4L28"], + bubblebeam: ["8E", "7E", "7V", "6E", "5E", "5S0", "4E", "3E"], + captivate: ["4M"], + confide: ["7M", "6M"], + constrict: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + curse: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hornattack: ["7V"], + hydropump: ["8M", "8L60", "8V", "7L55", "7V", "6L55", "5L55", "4L52", "3L55"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + leer: ["8L20", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L31"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + muddywater: ["8M", "7E", "6E", "5E", "5D", "4E"], + mudshot: ["8M", "8L25", "7L25", "6L25", "5L25", "4L25", "3L25"], + naturalgift: ["4M"], + protect: ["8M", "8L41", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L34", "3M", "3L37"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + reflecttype: ["8E", "7E", "6E"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "8L45", "7L46", "6L46", "5L46", "4L46"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8V"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L5", "7L16", "7V", "6L16", "5L16", "4T", "4L16", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L10"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shellsmash: ["8L55", "8V", "7L50", "6L50", "5L52"], + slam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikecannon: ["7V"], + spikes: ["8M", "7E", "6E", "5E", "4E", "3E"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["8E", "7E", "7V", "6E", "5E", "5S0", "4E", "3E"], + surf: ["8M", "8L50", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + tickle: ["8E", "7L43", "6L43", "5L43", "4L43", "3L43"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M", "7E", "6E", "5E", "4E"], + waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L15", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L19"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["8M", "7E", "7V", "6E", "5E", "4M"], + withdraw: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + wringout: ["7E", "6E", "5E", "4E"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["swiftswim"], moves: ["bubblebeam", "supersonic", "withdraw", "bite"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + omastar: { + learnset: { + ancientpower: ["8L30", "7L37", "7V", "6L37", "5L37", "4T", "4L37", "3L55"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["8V", "7V"], + bind: ["8L1", "7T", "6T", "5T"], + bite: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brine: ["8M", "8L35", "7L28", "6L28", "5L28", "4M", "4L28"], + bubblebeam: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + constrict: ["8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + crunch: ["8M", "8L0"], + curse: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hornattack: ["7V"], + horndrill: ["7V"], + hydropump: ["8M", "8L70", "8V", "7L1", "7V", "6L1", "5L75", "4L67", "3L65"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["7T", "6T", "5T", "4T"], + leer: ["8L20", "8V", "7L19", "7V", "6L19", "5L19", "4L19", "3L31"], + liquidation: ["8M"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + muddywater: ["8M"], + mudshot: ["8M", "8L25", "7L25", "6L25", "5L25", "4L25", "3L25"], + naturalgift: ["4M"], + pinmissile: ["8M"], + protect: ["8M", "8L43", "8V", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L34", "3M", "3L37"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "8L49", "7L56", "6L56", "5L56", "4L56"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8V"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L1", "7L16", "7V", "6L16", "5L16", "4T", "4L16", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + shellsmash: ["8L63", "8V", "7L67", "6L67", "5L67"], + skullbash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikecannon: ["8V", "7L1", "7V", "6L40", "5L40", "4L40", "3L40"], + spikes: ["8M"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + supersonic: ["8V"], + surf: ["8M", "8L56", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + tickle: ["7L48", "6L48", "5L48", "4L48", "3L46"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["8M"], + waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L15", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + withdraw: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + }, + }, + kabuto: { + learnset: { + absorb: ["8L1", "8V", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L13"], + aerialace: ["7M", "3M"], + ancientpower: ["8L30", "7L46", "7V", "6L46", "5L46", "4T", "4L46", "3L55"], + aquajet: ["8L15", "8V", "7L31", "6L31", "5L31", "4L31"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brine: ["8M", "8L35", "4M"], + bubblebeam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E", "5S0", "4E", "3E"], + curse: ["7V"], + dig: ["8M", "8V", "7V", "6M", "5M", "5S0", "4M", "4E", "3M", "3E"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + endure: ["8M", "7L26", "7V", "6L26", "5L26", "4M", "4L26", "3T", "3L37"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flail: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + foresight: ["7E", "6E", "5E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + headbutt: ["8V"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["8M", "7V"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + leechlife: ["8M", "8L45", "8V"], + leer: ["8L20", "8V", "7L11", "7V", "6L11", "5L11", "4L11", "3L19"], + liquidation: ["8M", "8L50"], + megadrain: ["8E", "8V", "7L36", "7V", "6L36", "5L36", "4L36", "3L49"], + metalsound: ["8L55", "7L41", "6L41", "5L41", "4L41", "3L43"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + mudshot: ["8M", "8L25", "7L16", "7E", "6L16", "6E", "5L16", "5E", "4L16", "4E", "3L25"], + mudslap: ["4T"], + naturalgift: ["4M"], + protect: ["8M", "8L41", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rapidspin: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8V"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L10", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L31"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scratch: ["8L5", "8V", "7L1", "7V", "6L1", "5L1", "5S0", "4L1", "3L1"], + screech: ["8M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M", "3M"], + slash: ["7V"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "5D", "4M"], + stoneedge: ["8M", "8L60"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["8E", "7E", "7V", "6E"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + wringout: ["7L50", "6L50", "5L51", "4L51"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["battlearmor"], moves: ["confuseray", "dig", "scratch", "harden"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + kabutops: { + learnset: { + absorb: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["8L30", "7L54", "7V", "6L54", "5L54", "4T", "4L54", "3L65"], + aquajet: ["8L15", "8V", "7L31", "6L31", "5L31", "4L31"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + blizzard: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "7V", "3T"], + brickbreak: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "8L35", "4M"], + bubblebeam: ["7V"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8V"], + crosspoison: ["8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dig: ["8M", "8V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + endure: ["8M", "7L26", "7V", "6L26", "5L26", "4M", "4L26", "3T", "3L37"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + feint: ["8L1", "8V", "7L1", "6L1", "5L1", "4L1"], + flipturn: ["8T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T", "3L1"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8V", "7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["8M", "7V"], + hyperbeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + knockoff: ["7T", "6T", "5T", "4T"], + leechlife: ["8M", "8L49", "8V"], + leer: ["8L20", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["8M", "8L56", "7T"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + megadrain: ["8V", "7L36", "7V", "6L36", "5L36", "4L36", "3L55"], + megakick: ["8M", "7V", "3T"], + metalsound: ["8L63", "7L45", "6L45", "5L45", "4L45", "3L46"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + mudshot: ["8M", "8L25", "7L16", "6L16", "5L16", "4L16", "3L25"], + mudslap: ["4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + nightslash: ["8L1", "7L1", "6L1", "5L72", "4L72"], + protect: ["8M", "8L43", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychocut: ["8M"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorshell: ["8M"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8V", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8V"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L31"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "8V", "7M", "6M", "5M"], + scratch: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["8M", "8V"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + skullbash: ["7V"], + slash: ["8L0", "8V", "7L1", "7V", "6L40", "5L40", "4L40", "3L40"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "4M"], + stoneedge: ["8M", "8L70", "7M", "6M", "5M", "4M"], + submission: ["7V"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + surf: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["7V"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + wringout: ["7L63", "6L63", "5L63", "4L63"], + xscissor: ["8M", "8V", "7M", "6M", "5M", "4M"], + }, + }, + aerodactyl: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L50", "8V", "7L17", "7V", "6L17", "5L17", "4L17", "3L8"], + aircutter: ["4T"], + ancientpower: ["8L1", "7L25", "7V", "7S1", "6L25", "5L25", "4T", "4L25", "3L29"], + aquatail: ["7T", "6T", "5T", "4T"], + assurance: ["8M", "7E", "6E", "5E", "5D", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bite: ["8L1", "8V", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L15"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + celebrate: ["7S1"], + confide: ["7M", "6M"], + crunch: ["8M", "8L30", "8V", "7L33", "6L33", "5L33", "4L33"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8V", "7T", "6T", "5T", "4M"], + dragonrage: ["7V"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["8M", "7L1", "6L1", "5L1", "5S0", "4L1"], + flamethrower: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fly: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "8L60", "7M", "7L81", "6M", "6L81", "5M", "5L81", "4M", "4L73"], + headbutt: ["8V", "7V", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hurricane: ["8M"], + hyperbeam: ["8M", "8L55", "8V", "7M", "7L65", "7V", "6M", "6L65", "5M", "5L65", "4M", "4L57", "3M", "3L50"], + icefang: ["8M", "7L1", "6L1", "5L1", "5S0", "4L1"], + incinerate: ["6M", "5M"], + ironhead: ["8M", "8L35", "7T", "7L1", "6T", "6L1", "5T", "5L57", "4T", "4L49"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + meteorbeam: ["8T"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + protect: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["8M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7V"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["8L25", "8V", "7M", "7L9", "7V", "6M", "6L9", "5M", "5L9", "4M", "4L9", "3M"], + rockblast: ["8M"], + rockpolish: ["7M", "7S1", "6M", "5M", "4M"], + rockslide: ["8M", "8L20", "8V", "7M", "7L73", "6M", "6L73", "5M", "5L73", "4M", "4L65", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8V"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roost: ["8E", "8V", "7M", "7E", "6M", "6E", "5T", "5E", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["8M", "8L15", "7L1", "7V", "6L1", "5L1", "4L1", "3L36"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["7T", "7V", "6T", "5T", "4T", "3T"], + skydrop: ["7M", "7L49", "6M", "6L49", "5M", "5L49"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "8V", "7T", "6T", "5T", "5D", "4M"], + steelwing: ["8M", "7M", "7E", "7V", "6M", "6E", "5E", "5S0", "4M", "4E", "3M", "3E"], + stoneedge: ["8M", "8L45", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["8L5", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L22"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tailwind: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + takedown: ["8L40", "8V", "7L41", "7V", "6L41", "5L41", "4L41", "3L43"], + taunt: ["8M", "8V", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderfang: ["8M", "7L1", "6L1", "5L1", "5S0", "4L1"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + whirlwind: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + wideguard: ["8E", "7E", "7S1", "6E"], + wingattack: ["8L10", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["pressure"], moves: ["steelwing", "icefang", "firefang", "thunderfang"], pokeball: "cherishball"}, + {generation: 7, level: 50, isHidden: true, moves: ["ancientpower", "rockpolish", "wideguard", "celebrate"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + munchlax: { + learnset: { + afteryou: ["7T", "7E", "6T", "6E", "5T", "5E"], + amnesia: ["9M", "9L36", "8M", "8L36", "7L9", "6L9", "5L9", "4L9"], + attract: ["8M", "7M", "6M", "5M", "4M"], + belch: ["9E", "8E", "7E", "6E"], + bellydrum: ["9L48", "8L48", "7L44", "6L44"], + bite: ["9L16", "8L16"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M", "9L28", "8M", "8L28", "7L25", "6L25", "5L36", "4L33"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M", "8M", "7E", "6E", "5E", "4E"], + chillingwater: ["9M"], + chipaway: ["7L17", "6L17", "5L25"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + covet: ["9L12", "8L12", "7T", "6T", "5T"], + crunch: ["9M"], + curse: ["9E", "8E", "7E", "6E", "5E", "4E", "4S1"], + defensecurl: ["9L4", "8L4", "7L4", "6L4", "5L4", "4L4", "4S0"], + dig: ["9M"], + doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + fissure: ["9E", "8E"], + flail: ["9L44", "8L44"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "9L32", "8M", "8L32", "7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L36"], + focuspunch: ["9M", "7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + happyhour: ["7S2"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + holdback: ["7S2"], + hydropump: ["8M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + lastresort: ["9L52", "8L52", "7T", "7L1", "6T", "6L1", "5T", "5L57", "4T", "4L49"], + lick: ["9L1", "9S3", "8L1", "7L1", "7E", "6L1", "6E", "5L12", "5E", "4L12", "4E"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M", "9L40", "8M", "8L40", "7L1", "7S2", "6L1", "5L1", "4L1", "4S0", "4S1"], + mudslap: ["9M", "4T"], + naturalgift: ["7L49", "7E", "6L49", "6E", "5L49", "5E", "4M", "4L44"], + odorsleuth: ["7L1", "6L1", "5L1", "4L1", "4S1"], + payday: ["8M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["8M", "7M", "6M", "5M", "4M"], + pursuit: ["7E", "6E", "5E", "4E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["9L8", "8L8", "7T", "7L1", "6T", "6L1", "5T", "5L17", "4M", "4L17"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + rollout: ["7L36", "6L36", "5L44", "4T", "4L41"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + screech: ["9L24", "8M", "8L24", "7L20", "6L20", "5L20", "4L20"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + selfdestruct: ["8M", "7E", "6E", "5E", "4S0"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "7L50", "6T", "6L1", "5T", "5L52"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + stockpile: ["9L20", "8L20", "7L28", "6L28", "5L28", "4L25"], + stompingtantrum: ["9M", "8M", "7T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "4E"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swallow: ["9L20", "8L20", "7L33", "6L33", "5L33", "4L28"], + tackle: ["9L1", "9S3", "8L1", "7L1", "7S2", "6L1", "5L1", "4L1", "4S0", "4S1"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M"], + whirlpool: ["8M", "4M"], + whirlwind: ["7E", "6E", "5E", "4E"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + }, + eventData: [ + {generation: 4, level: 5, moves: ["metronome", "tackle", "defensecurl", "selfdestruct"]}, + {generation: 4, level: 5, gender: "F", nature: "Relaxed", abilities: ["thickfat"], moves: ["metronome", "odorsleuth", "tackle", "curse"], pokeball: "cherishball"}, + {generation: 7, level: 5, abilities: ["thickfat"], moves: ["tackle", "metronome", "holdback", "happyhour"], pokeball: "cherishball"}, + {generation: 9, level: 1, shiny: true, gender: "M", isHidden: true, nature: "Impish", moves: ["lick", "tackle"], pokeball: "pokeball"}, + ], + }, + snorlax: { + learnset: { + afteryou: ["7T", "7E", "6T", "6E", "5T", "5E"], + amnesia: ["9M", "9L36", "8M", "8L36", "8V", "7L9", "7V", "6L9", "5L9", "5D", "4L9", "3L5"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + belch: ["9L52", "8L52", "7E", "6E"], + bellydrum: ["9L48", "8L48", "7L44", "7V", "6L44", "5L17", "4L17", "3L13"], + bide: ["7V"], + bite: ["9L16", "8L16"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["9L1", "8L1", "7T", "7L41", "7S1", "6T", "6L41", "5T", "5L41", "4T", "4L36", "3L37"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L28", "8M", "8L28", "8V", "7L25", "7V", "7S1", "6L25", "5L36", "4L33", "3T", "3L33", "3S0"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["7V"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + celebrate: ["7S1"], + charm: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + chillingwater: ["9M"], + chipaway: ["7L17", "6L17", "5L25"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], + covet: ["9L1", "8L1", "7T", "6T", "5T", "3L42"], + crunch: ["9M", "9L24", "8M", "8L24", "8V", "7L49", "6L49", "5L49", "4L44"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E", "3S0"], + darkestlariat: ["8M"], + defensecurl: ["9L1", "8L1", "8V", "7L4", "7V", "6L4", "5L4", "4L4", "3T", "3L9"], + dig: ["9M"], + doubleedge: ["8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + fissure: ["8E", "7E", "7V", "6E", "5E", "4E", "3E", "3S0"], + flail: ["9L1", "8L1"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["8E"], + gigaimpact: ["9M", "9L56", "8M", "8L56", "7M", "7L35", "6M", "6L57", "5M", "5L57", "4M", "4L49"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + hammerarm: ["9L44", "8L44"], + harden: ["7V"], + headbutt: ["8V", "7V", "4T", "3L17"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "9L32", "8M", "8L32", "7L50", "6L50", "5L52"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "9L40", "8M", "8L40", "7L57"], + hydropump: ["8M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3L51"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + lastresort: ["9L1", "8L1", "7T", "6T", "5T", "4T"], + lick: ["9L1", "8L1", "8V", "7L12", "7E", "7V", "6L12", "6E", "5L12", "5E", "4L12", "4E", "3E"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M", "9L1", "8M", "8L1", "7V", "3T"], + mimic: ["7V", "3T"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + payday: ["8M", "8V", "7V"], + poweruppunch: ["7E", "6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7V", "3T"], + psywave: ["7V"], + pursuit: ["7E", "6E", "5E", "4E"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recycle: ["9L1", "8L1", "7T", "6T", "5T", "5D", "4M"], + reflect: ["8V", "7V"], + refresh: ["3S0"], + rest: ["9M", "9L20", "8M", "8L20", "8V", "7M", "7L28", "7V", "6M", "6L28", "5M", "5L28", "4M", "4L25", "3M", "3L25"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7L36", "7V", "6L36", "5L44", "4T", "4L41", "3T", "3L46"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + screech: ["9L1", "8M", "8L1", "8V"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "9L20", "8M", "8L20", "7M", "7L33", "7V", "6M", "6L33", "5T", "5L33", "4M", "4L28", "3T", "3L37"], + smackdown: ["9M", "7M", "6M", "5M"], + snatch: ["7T"], + snore: ["9L20", "8M", "8L20", "7T", "7L28", "7V", "6T", "6L28", "5T", "5L28", "4T", "4L28", "3T", "3L28"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + steelroller: ["8T"], + stockpile: ["9L1", "8L1"], + stompingtantrum: ["9M", "8M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + sunnyday: ["9M", "8M", "7M", "7V", "7S1", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9L1", "8L1"], + tackle: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "7V"], + terablast: ["9M"], + terrainpulse: ["8T"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "8M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + whirlwind: ["7E", "6E", "5E", "4E"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + yawn: ["9L12", "8L12", "8V", "7L20", "6L20", "5L20", "4L20", "3L21"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 43, moves: ["refresh", "fissure", "curse", "bodyslam"]}, + {generation: 7, level: 30, abilities: ["thickfat"], moves: ["sunnyday", "block", "bodyslam", "celebrate"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + articuno: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L20", "8M", "8L20", "8V", "7L36", "7V", "6L36", "5L36", "4L36", "4S3", "4S4", "3L25", "3S0", "3S1"], + aircutter: ["9M", "4T"], + airslash: ["9M", "8M"], + ancientpower: ["9L25", "8L25", "7L29", "7S7", "6L29", "5L29", "4T", "4L29"], + auroraveil: ["7M"], + avalanche: ["9M", "8M", "4M"], + bide: ["7V"], + blizzard: ["9M", "9L65", "8M", "8L65", "8V", "7M", "7L78", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M", "3L73"], + bravebird: ["9M", "8M"], + bubblebeam: ["7V"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["3S2"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + freezedry: ["9L35", "8L35", "8S8", "7L43", "7S7", "6L1", "6S6"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "8L50", "7M", "7L57", "7S7", "6M", "6L57", "6S5", "6S6", "5M", "5L85", "4M", "4L85", "3M"], + haze: ["9M", "9L60", "3S2"], + headbutt: ["8V"], + healbell: ["3S2"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "9L55", "8M", "8L55", "8S8", "7L92", "6L1", "5L92"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "9L45", "8M", "8L45", "8V", "8S8", "7M", "7L71", "7V", "6M", "6L43", "6S5", "6S6", "5M", "5L43", "4M", "4L43", "4S3", "4S4", "3M", "3L49", "3S0", "3S1", "3S2"], + iceshard: ["9L15", "8L15", "8V", "7L15", "6L15", "5L15", "4L15"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + laserfocus: ["7T"], + leer: ["8V"], + lightscreen: ["9M"], + mimic: ["7V", "3T"], + mindreader: ["8L60", "7L22", "7V", "6L22", "5L22", "4L22", "4S4", "3L37", "3S0", "3S1"], + mirrorcoat: ["8V"], + mist: ["9L1", "8L1", "8V", "8S8", "7L8", "7V", "6L8", "5L8", "4L8", "4S4", "3L13", "3S0"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + peck: ["7V"], + pluck: ["5M", "4M"], + powdersnow: ["9L5", "8L5", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + reflect: ["9M", "9L10", "8M", "8L10", "8V", "7M", "7L50", "7V", "7S7", "6M", "6L50", "6S5", "6S6", "5M", "5L50", "4M", "4L50", "4S3", "3M", "3L61", "3S1"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roost: ["9L40", "8L40", "8V", "7M", "7L85", "6M", "6L1", "5T", "5L57", "4M", "4L57", "4S3"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + sheercold: ["9L70", "8L70", "7L99", "6L1", "5L78", "4L78", "3L85"], + signalbeam: ["7T", "6T", "5T", "4T"], + skyattack: ["8V", "7T", "7V", "6T", "5T", "4T", "3T"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M", "9L50"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwind: ["9M", "9L30", "8L30", "7T", "7L64", "6T", "6L1", "6S5", "5T", "5L64", "4T", "4L64"], + takedown: ["9M", "7V"], + terablast: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + tripleaxel: ["8T"], + twister: ["4T"], + uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "8M"], + whirlwind: ["7V"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["mist", "agility", "mindreader", "icebeam"]}, + {generation: 3, level: 70, moves: ["agility", "mindreader", "icebeam", "reflect"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["icebeam", "healbell", "extrasensory", "haze"]}, + {generation: 4, level: 60, shiny: 1, moves: ["agility", "icebeam", "reflect", "roost"]}, + {generation: 4, level: 50, shiny: 1, moves: ["mist", "agility", "mindreader", "icebeam"]}, + {generation: 6, level: 70, moves: ["icebeam", "reflect", "hail", "tailwind"]}, + {generation: 6, level: 70, isHidden: true, moves: ["freezedry", "icebeam", "hail", "reflect"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["ancientpower", "freezedry", "reflect", "hail"]}, + {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "freezedry", "hurricane", "mist"]}, + ], + encounters: [ + {generation: 1, level: 50}, + ], + eventOnly: true, + }, + articunogalar: { + learnset: { + agility: ["9M", "9L20", "8M", "8L20"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + allyswitch: ["8M"], + ancientpower: ["9L25", "8L25"], + bravebird: ["9M", "8M"], + calmmind: ["9M", "8M"], + confusion: ["9L5", "8L5"], + doubleteam: ["9L60"], + dreameater: ["9L50", "8L50"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + fly: ["9M", "8M"], + freezingglare: ["9L45", "8L45", "8S0", "8S1"], + futuresight: ["9L65", "8M", "8L65"], + gigaimpact: ["9M", "8M"], + guardswap: ["8M"], + gust: ["9L1", "8L1"], + helpinghand: ["9M"], + hurricane: ["9M", "9L55", "8M", "8L55", "8S0", "8S1"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + hypnosis: ["9L15", "8L15"], + imprison: ["9M", "8M"], + lightscreen: ["9M", "8M"], + mindreader: ["8L60"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M"], + psychic: ["9M", "8M"], + psychocut: ["9L35", "8M", "8L35", "8S0", "8S1"], + psychoshift: ["8L1", "8S0", "8S1"], + psyshock: ["9M", "8M"], + raindance: ["9M"], + recover: ["9L40", "8L40"], + reflect: ["9M", "9L10", "8M", "8L10"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "8M"], + shadowball: ["9M", "8M"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + snowscape: ["9M"], + steelwing: ["8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + swift: ["9M", "8M"], + tailwind: ["9M", "9L30", "8L30"], + takedown: ["9M"], + terablast: ["9M"], + trick: ["9M"], + trickroom: ["9M", "9L70", "8M", "8L70"], + uturn: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 70, moves: ["freezingglare", "hurricane", "psychocut", "psychoshift"]}, + {generation: 8, level: 70, shiny: true, moves: ["freezingglare", "hurricane", "psychocut", "psychoshift"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + zapdos: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L20", "8M", "8L20", "8V", "8S8", "7L43", "7V", "6L43", "6S5", "6S6", "5L43", "4L43", "4S3", "4S4", "3L25", "3S0", "3S1"], + aircutter: ["9M", "4T"], + ancientpower: ["9L25", "8L25", "7L29", "7S7", "6L29", "5L29", "4T", "4L29"], + batonpass: ["9M", "8M", "3S2"], + bide: ["7V"], + bravebird: ["9M", "8M", "8S8"], + charge: ["9M", "9L30", "8L30", "7L36", "6L36", "5L36", "4L36", "4S3", "3L61", "3S1"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["9L60", "8L60", "7L15", "7V", "6L15", "5L15", "4L15", "4S4", "3L37", "3S0", "3S1"], + discharge: ["9L45", "8L45", "7L50", "7S7", "6L50", "6S5", "6S6", "5L50", "4L50", "4S3"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillpeck: ["9L35", "8L35", "8V", "8S8", "7L71", "7V", "6L1", "5L71", "4L71", "4S4", "3L49", "3S0", "3S1"], + dualwingbeat: ["9M", "8T"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M"], + electroball: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["3S2"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M"], + headbutt: ["8V"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + laserfocus: ["7T"], + leer: ["8V"], + lightscreen: ["9M", "9L10", "8M", "8L10", "8V", "7M", "7L64", "7V", "6M", "6L64", "6S5", "5M", "5L64", "4M", "4L64", "3M", "3L73"], + magneticflux: ["9L65", "8L65", "7L92"], + metalsound: ["3S2"], + mimic: ["7V", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + peck: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["9L15", "8L15", "7L22", "7S7", "6L22", "5M", "5L22", "4M", "4L22"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "9L50", "8M", "8L50", "7M", "7L57", "7V", "7S7", "6M", "6L57", "6S5", "6S6", "5M", "5L85", "4M", "4L85", "3M"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roost: ["9L40", "8L40", "8V", "7M", "7L85", "6M", "6L1", "5T", "5L57", "4M", "4L57", "4S3"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skyattack: ["8V", "7T", "7V", "6T", "5T", "4T", "3T"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunder: ["9M", "9L55", "8M", "8L55", "8V", "8S8", "7M", "7L78", "7V", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L85"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M", "3S2"], + thundershock: ["9L5", "8L5", "8V", "7L1", "7V", "6L1", "6S6", "5L1", "4L1", "3L1"], + thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L8", "7V", "6M", "6L8", "5M", "5L8", "4M", "4L8", "4S4", "3T", "3L13", "3S0"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + weatherball: ["9M", "8M"], + whirlwind: ["7V"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + zapcannon: ["9L70", "8L70", "7L99", "7V", "6L1", "5L92"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["thunderwave", "agility", "detect", "drillpeck"]}, + {generation: 3, level: 70, moves: ["agility", "detect", "drillpeck", "charge"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["thunderbolt", "extrasensory", "batonpass", "metalsound"]}, + {generation: 4, level: 60, shiny: 1, moves: ["charge", "agility", "discharge", "roost"]}, + {generation: 4, level: 50, shiny: 1, moves: ["thunderwave", "agility", "detect", "drillpeck"]}, + {generation: 6, level: 70, moves: ["agility", "discharge", "raindance", "lightscreen"]}, + {generation: 6, level: 70, isHidden: true, moves: ["discharge", "thundershock", "raindance", "agility"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["ancientpower", "discharge", "pluck", "raindance"]}, + {generation: 8, level: 70, shiny: 1, moves: ["thunder", "drillpeck", "bravebird", "agility"]}, + ], + encounters: [ + {generation: 1, level: 50}, + ], + eventOnly: true, + }, + zapdosgalar: { + learnset: { + acrobatics: ["9M", "8M"], + aerialace: ["9M"], + agility: ["9M", "9L20", "8M", "8L20"], + ancientpower: ["9L25", "8L25"], + assurance: ["8M"], + blazekick: ["8M"], + bounce: ["8M"], + bravebird: ["9M", "8M"], + brickbreak: ["9M", "9L30", "8M", "8L30"], + bulkup: ["9M", "9L50", "8M", "8L50"], + closecombat: ["9M", "9L65", "8M", "8L65"], + coaching: ["8T"], + counter: ["9L55", "8L55"], + detect: ["9L60", "8L60"], + drillpeck: ["9L35", "8L35", "8S0", "8S1"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fly: ["9M", "8M"], + focusenergy: ["9L1", "8M", "8L1", "8S0", "8S1"], + gigaimpact: ["9M", "8M"], + helpinghand: ["9M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + knockoff: ["9M"], + lightscreen: ["9M", "9L10", "8M", "8L10"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + payback: ["8M"], + peck: ["9L1", "8L1"], + pluck: ["9L15", "8L15"], + protect: ["9M", "8M"], + quickguard: ["9L40", "8L40"], + raindance: ["9M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "9L70", "8M", "8L70", "8S0", "8S1"], + rocksmash: ["9L5", "8L5"], + round: ["8M"], + sandstorm: ["9M"], + scaryface: ["9M", "8M"], + screech: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + steelwing: ["8M"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + superpower: ["8M"], + swift: ["9M", "8M"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + throatchop: ["8M"], + thunderouskick: ["9L45", "8L45", "8S0", "8S1"], + trailblaze: ["9M"], + uturn: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 70, moves: ["thunderouskick", "drillpeck", "reversal", "focusenergy"]}, + {generation: 8, level: 70, shiny: true, moves: ["thunderouskick", "drillpeck", "reversal", "focusenergy"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + moltres: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L20", "8M", "8L20", "8V", "7L15", "7V", "6L15", "5L15", "4L15", "4S4", "3L25", "3S0", "3S1"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L35", "8M", "8L35", "8V", "7L50", "7S7", "6L50", "6S5", "5L50", "4L50", "4S3"], + ancientpower: ["9L25", "8L25", "7L29", "7S7", "6L29", "5L29", "4T", "4L29"], + bide: ["7V"], + bravebird: ["9M", "8M"], + burningjealousy: ["9M", "8T"], + burnup: ["8L65", "7L99"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M", "8T"], + ember: ["9L5", "8L5", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "9L60", "8M", "8L60", "7L22", "7V", "6L22", "5L22", "4M", "4L22", "4S4", "3T", "3L37", "3S0", "3S1"], + extrasensory: ["3S2"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firespin: ["9M", "8M", "8V", "8S8", "7L8", "7V", "6L8", "5L8", "4L8", "4S4", "3L13", "3S0"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "8V", "7M", "7L36", "7V", "7S7", "6M", "6L36", "5M", "5L36", "4M", "4L36", "4S3", "4S4", "3M", "3L49", "3S0", "3S1", "3S2"], + flareblitz: ["9M", "8M"], + fly: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "8L1"], + headbutt: ["8V"], + heatwave: ["9M", "9L45", "8M", "8L45", "8V", "8S8", "7T", "7L64", "6T", "6L1", "6S5", "6S6", "5T", "5L64", "4T", "4L64", "3L73"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "9L55", "8M", "8L55", "7L92", "6L1", "5L92"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["9L30", "8L30", "6M", "5M"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "8V", "8S8", "7V"], + mimic: ["7V", "3T"], + morningsun: ["3S2"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + ominouswind: ["4T"], + overheat: ["9M", "9L65", "8M", "7M", "6M", "5M", "4M", "3M"], + peck: ["7V"], + pluck: ["5M", "4M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roost: ["9L40", "8L40", "8V", "7M", "7L85", "6M", "6L1", "5T", "5L57", "4M", "4L57", "4S3"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L10", "8M", "8L10", "7M", "7L43", "7V", "6M", "6L43", "6S5", "6S6", "5M", "5L43", "4M", "4L43", "4S3", "3M", "3L61", "3S1"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["9L70", "8L70", "8V", "7T", "7L78", "7V", "6T", "6L1", "6S6", "5T", "5L78", "4T", "4L78", "3T", "3L85"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "7L71", "6M", "6L71", "5M", "5L71", "4M", "4L71"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "9L50", "8M", "8L50", "7M", "7L57", "7V", "7S7", "6M", "6L57", "6S5", "6S6", "5M", "5L85", "4M", "4L85", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + weatherball: ["9M", "8M"], + whirlwind: ["7V"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3S2"], + wingattack: ["9L15", "8L15", "8V", "8S8", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["firespin", "agility", "endure", "flamethrower"]}, + {generation: 3, level: 70, moves: ["agility", "endure", "flamethrower", "safeguard"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["extrasensory", "morningsun", "willowisp", "flamethrower"]}, + {generation: 4, level: 60, shiny: 1, moves: ["flamethrower", "safeguard", "airslash", "roost"]}, + {generation: 4, level: 50, shiny: 1, moves: ["firespin", "agility", "endure", "flamethrower"]}, + {generation: 6, level: 70, moves: ["safeguard", "airslash", "sunnyday", "heatwave"]}, + {generation: 6, level: 70, isHidden: true, moves: ["skyattack", "heatwave", "sunnyday", "safeguard"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["ancientpower", "flamethrower", "airslash", "sunnyday"]}, + {generation: 8, level: 70, shiny: 1, moves: ["heatwave", "wingattack", "leer", "firespin"]}, + ], + encounters: [ + {generation: 1, level: 50}, + ], + eventOnly: true, + }, + moltresgalar: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + afteryou: ["9L40", "8L40"], + agility: ["9M", "9L20", "8M", "8L20"], + airslash: ["9M", "9L35", "8M", "8L35"], + ancientpower: ["9L25", "8L25"], + assurance: ["8M"], + bravebird: ["9M", "8M"], + darkpulse: ["9M", "8M"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "9L60", "8M", "8L60"], + facade: ["9M", "8M"], + fierywrath: ["9L45", "8L45", "8S0", "8S1"], + fly: ["9M", "8M"], + foulplay: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gust: ["9L1", "8L1"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hurricane: ["9M", "9L55", "8M", "8L55", "8S0", "8S1"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + imprison: ["9M", "8M"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1"], + memento: ["9L65", "8L65"], + nastyplot: ["9M", "9L50", "8M", "8L50", "8S0", "8S1"], + payback: ["9L5", "8M", "8L5"], + protect: ["9M", "8M"], + raindance: ["9M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["9L10", "8M", "8L10"], + sandstorm: ["9M"], + scaryface: ["9M", "8M"], + shadowball: ["9M", "8M"], + skyattack: ["9L70", "8L70"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + spite: ["9M"], + steelwing: ["8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9L30", "8L30", "8S0", "8S1"], + sunnyday: ["9M"], + swift: ["9M", "8M"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M"], + uturn: ["9M", "8M"], + wingattack: ["9L15", "8L15"], + }, + eventData: [ + {generation: 8, level: 70, moves: ["fierywrath", "hurricane", "suckerpunch", "nastyplot"]}, + {generation: 8, level: 70, shiny: true, moves: ["fierywrath", "hurricane", "suckerpunch", "nastyplot"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + dratini: { + learnset: { + agility: ["9M", "9L20", "8M", "8L20", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L36"], + aquajet: ["9E", "8E", "7E", "6E", "5E"], + aquatail: ["9L31", "8L31", "7T", "7L35", "6T", "6L35", "5T", "5L35", "4T", "4L31"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + curse: ["7V"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + dragondance: ["9M", "9L50", "8M", "8L50", "7L51", "7E", "6L51", "6E", "5L51", "5E", "4L45", "4E", "3E"], + dragonpulse: ["9M", "8M", "8V", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + dragonrage: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L22"], + dragonrush: ["9L35", "8L35", "7L41", "7E", "6L41", "6E", "5L41", "5E", "4L35", "4E"], + dragontail: ["9M", "9L15", "8L15", "8V", "7M", "7L31", "6M", "6L31", "5M", "5L31"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extremespeed: ["9E", "8E", "7E", "7V", "6E", "5E", "4E"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firespin: ["9M", "8M"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "9L60", "8M", "8L60", "8V", "7M", "7L61", "7V", "6M", "6L61", "5M", "5L61", "4M", "4L55", "3M", "3L57"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + ironhead: ["9M"], + irontail: ["8M", "8V", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + leer: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4E", "3E"], + mimic: ["7V", "3T"], + mist: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + outrage: ["9M", "9L55", "8M", "8L55", "8V", "7T", "7L55", "7V", "6T", "6L55", "5T", "5L55", "4T", "4L51", "3L50"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "9L45", "8M", "8L45", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L40", "8M", "8L40", "7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L41", "3M", "3L43"], + scaleshot: ["9M", "8T"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + slam: ["9L25", "8L25", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L29"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "9L10", "8M", "8L10", "8V", "7M", "7L5", "7V", "6M", "6L5", "5M", "5L5", "5D", "4M", "4L5", "3T", "3L8"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["9L5", "8L5", "7L11", "7V", "6L11", "5L11", "4T", "4L11", "3L15"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "5D", "4M", "3M"], + whirlpool: ["8M", "4M"], + wrap: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 1, level: 10}, + ], + }, + dragonair: { + learnset: { + agility: ["9M", "9L20", "8M", "8L20", "8V", "7L25", "7V", "6L25", "5L25", "4L25", "3L38"], + aquatail: ["9L33", "8L33", "7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L33"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + curse: ["7V"], + detect: ["7V"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["7V"], + dragondance: ["9M", "9L60", "8M", "8L60", "7L61", "6L61", "5L61", "4L53"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + dragonrage: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L22"], + dragonrush: ["9L39", "8L39", "7L47", "6L47", "5L47", "4L39"], + dragontail: ["9M", "9L15", "8L15", "8V", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firespin: ["9M", "8M"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["8V", "7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + horndrill: ["7V"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "9L74", "8M", "8L74", "8V", "7M", "7L75", "7V", "6M", "6L75", "5M", "5L75", "4M", "4L67", "3M", "3L65"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + ironhead: ["9M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M"], + mimic: ["7V", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "9L67", "8M", "8L67", "8V", "7T", "7L67", "7V", "6T", "6L67", "5T", "5L67", "4T", "4L61", "3L56"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "9L53", "8M", "8L53", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L46", "8M", "8L46", "7M", "7L53", "7V", "6M", "6L53", "5M", "5L53", "4M", "4L47", "3M", "3L47"], + scaleshot: ["9M", "8T"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + slam: ["9L25", "8L25", "8V", "7L21", "7V", "6L21", "5L21", "4L21", "3L29"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["8M", "4M"], + wrap: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 25, pokeball: "safariball"}, + {generation: 4, level: 15}, + {generation: 7, level: 10}, + ], + }, + dragonite: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L20", "8M", "8L20", "8V", "7L25", "7V", "6L25", "6S8", "5L25", "4L25", "3L38", "3S0"], + aircutter: ["9M", "4T"], + airslash: ["9M", "8M"], + aquajet: ["8V"], + aquatail: ["9L33", "8L33", "7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L33"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["6S8"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "7V", "3T"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + detect: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "8S9", "7T", "6T", "5T", "4T", "4S2"], + dragonbreath: ["7V"], + dragonclaw: ["9M", "8M", "8S9", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "9L62", "8M", "8L62", "8S9", "7L61", "6L61", "6S7", "5L61", "5S3", "4L53", "4S2", "3S1"], + dragonpulse: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + dragonrage: ["8V", "7L15", "7V", "6L15", "5L15", "4L15", "3L22"], + dragonrush: ["9L39", "8L39", "7L47", "6L47", "5L47", "5S4", "5S5", "4L39"], + dragontail: ["9M", "9L15", "8L15", "8V", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + dualwingbeat: ["8T"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M", "3S1"], + encore: ["9M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extremespeed: ["9L1", "8L1", "6S7", "5S3", "5S5"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5S6", "4M", "3M"], + firepunch: ["9M", "9L1", "8M", "8L1", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "5S3", "4T", "4L1", "3T"], + firespin: ["9M", "8M"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + fly: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["8V", "7V", "4T"], + healbell: ["3S1"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + horndrill: ["7V"], + hurricane: ["9M", "9L0", "8M", "8L0", "8S9", "7L1", "6L1", "6S7", "5L81"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "9L80", "8M", "8L80", "8V", "7M", "7L75", "7V", "6M", "6L75", "6S8", "5M", "5L75", "5S6", "4M", "4L73", "3M", "3L75", "3S1"], + icebeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M"], + lowkick: ["9M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + mimic: ["7V", "3T"], + mist: ["8V"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + outrage: ["9M", "9L41", "8M", "8L41", "8V", "7T", "7L67", "7V", "6T", "6L67", "6S7", "5T", "5L67", "5S3", "5S6", "4T", "4L64", "4S2", "3L61", "3S0"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7V"], + raindance: ["9M", "9L53", "8M", "8L53", "7M", "7V", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + reflect: ["8V", "7V"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + roost: ["9L1", "8L1", "8V", "7M", "7L1", "6M", "6L1", "5T", "5L1", "4M", "4L1"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L46", "8M", "8L46", "7M", "7L53", "7V", "6M", "6L53", "5M", "5L53", "5S4", "5S5", "5S6", "4M", "4L47", "3M", "3L47", "3S0"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skullbash: ["7V"], + skydrop: ["7M", "6M", "5M"], + slam: ["9L25", "8L25", "8V", "7L21", "7V", "6L21", "6S8", "5L21", "4L21", "3L29"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + surf: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "7V"], + terablast: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "4S2", "3M"], + thunderpunch: ["9M", "9L1", "8M", "8L1", "8V", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "5S4", "4T", "4L1", "3T"], + thunderwave: ["9M", "9L1", "8M", "8L1", "8V", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["8M", "7V", "4M"], + wingattack: ["9L1", "8L1", "8V", "7L1", "7V", "6L55", "5L55", "5S4", "5S5", "4L55", "3L55", "3S0"], + wrap: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["agility", "safeguard", "wingattack", "outrage"], pokeball: "pokeball"}, + {generation: 3, level: 55, moves: ["healbell", "hyperbeam", "dragondance", "earthquake"]}, + {generation: 4, level: 50, gender: "M", nature: "Mild", moves: ["dracometeor", "thunderbolt", "outrage", "dragondance"], pokeball: "cherishball"}, + {generation: 5, level: 100, gender: "M", isHidden: true, moves: ["extremespeed", "firepunch", "dragondance", "outrage"], pokeball: "cherishball"}, + {generation: 5, level: 55, gender: "M", isHidden: true, moves: ["dragonrush", "safeguard", "wingattack", "thunderpunch"]}, + {generation: 5, level: 55, gender: "M", isHidden: true, moves: ["dragonrush", "safeguard", "wingattack", "extremespeed"]}, + {generation: 5, level: 50, gender: "M", nature: "Brave", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["fireblast", "safeguard", "outrage", "hyperbeam"], pokeball: "cherishball"}, + {generation: 6, level: 55, gender: "M", isHidden: true, moves: ["dragondance", "outrage", "hurricane", "extremespeed"], pokeball: "cherishball"}, + {generation: 6, level: 62, gender: "M", ivs: {hp: 31, def: 31, spa: 31, spd: 31}, moves: ["agility", "slam", "barrier", "hyperbeam"], pokeball: "cherishball"}, + {generation: 8, level: 80, gender: "F", nature: "Jolly", abilities: ["innerfocus"], ivs: {hp: 30, atk: 31, def: 30, spa: 30, spd: 31, spe: 31}, moves: ["dragonclaw", "dracometeor", "hurricane", "dragondance"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 5, level: 50}, + {generation: 7, level: 10}, + ], + }, + mewtwo: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "8V"], + allyswitch: ["8M"], + amnesia: ["9M", "9L32", "8M", "8L32", "8V", "7L79", "7V", "6L79", "5L50", "4L57", "4S1", "3L77"], + ancientpower: ["9L8", "8L8"], + aquatail: ["7T", "6T", "5T", "4T"], + aurasphere: ["9M", "9L40", "9S8", "8M", "8L40", "7L70", "6L70", "6S4", "6S5", "5L93", "5S2", "4L100"], + avalanche: ["9M", "8M", "4M"], + barrier: ["8V", "7L64", "7V", "6L64", "6S4", "5L1", "4L8", "3L11"], + bide: ["7V"], + blizzard: ["9M", "8M", "8V", "8S7", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7V", "3T"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bulkup: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "9S8", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "8V"], + confusion: ["9L1", "8L1", "8V", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + counter: ["7V", "3T"], + curse: ["7V"], + darkpulse: ["9M"], + detect: ["7V"], + disable: ["9L1", "8L1", "8V", "8S7", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + dive: ["8M", "6M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M"], + earthquake: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + electroball: ["9M", "8M", "5S2"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9L88", "8M", "8L88", "7L15", "7V", "6L15", "5L15", "4L22", "3L44"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + guardswap: ["9L56", "8M", "8L56", "7L43", "6L43", "5L57", "4L64", "4S1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["8V", "7V", "4T"], + healpulse: ["5S3"], + helpinghand: ["9M"], + hex: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "8M", "5S3"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "9S8", "8M", "8V", "7M", "7V", "6M", "5M", "5S3", "4M", "3M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M"], + laserfocus: ["8L1", "7T", "7L1"], + lashout: ["9M"], + lifedew: ["9L1", "8L1"], + lightscreen: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + mefirst: ["7L93", "6L93", "5L71", "4L79"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "7V", "3T"], + metronome: ["9M", "8M", "7V", "3T"], + mimic: ["7V", "3T"], + miracleeye: ["7L29", "6L29", "5L29", "4L36"], + mist: ["9L64", "8L64", "8V", "7L86", "7V", "6L86", "5L36", "4L43", "3L22"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M"], + payday: ["8M", "8V", "7V"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + powergem: ["9M"], + powerswap: ["9L56", "8M", "8L56", "7L43", "6L43", "5L57", "4L64", "4S1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "8V"], + psychic: ["9M", "9L48", "8M", "8L48", "8V", "8S7", "7M", "7L57", "7V", "7S6", "6M", "6L57", "6S4", "6S5", "5M", "5L64", "4M", "4L71", "3M", "3L66", "3S0"], + psychicterrain: ["9M", "8M"], + psychocut: ["9L16", "8M", "8L16", "7L36", "7S6", "6L36", "5L43", "4L50", "4S1"], + psychup: ["7M", "7L22", "7V", "6M", "6L22", "5M", "5L22", "4M", "4L29", "3T", "3L33"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + psystrike: ["9L72", "9S8", "8L72", "7L100", "6L100", "6S5", "5L100", "5S2", "5S3"], + psywave: ["8V", "7L1", "7V"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["9L80", "8L80", "8V", "8S7", "7L50", "7V", "7S6", "6L50", "6S4", "6S5", "5L79", "4L86", "3L44", "3S0"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L24", "8M", "8L24", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L86", "4M", "4L93", "3M", "3L55", "3S0"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shadowball: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "5S2", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skullbash: ["7V"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + speedswap: ["8M"], + spite: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L1", "8M", "8L1", "8V", "7L8", "7V", "7S6", "6L8", "5L8", "4T", "4L15", "3T", "3L22", "3S0"], + takedown: ["9M", "7V"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V"], + terablast: ["9M"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["8V", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + triattack: ["8M", "8V", "7V"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + watergun: ["7V"], + waterpulse: ["7T", "6T", "4M", "3M"], + weatherball: ["9M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["swift", "recover", "safeguard", "psychic"]}, + {generation: 4, level: 70, shiny: 1, moves: ["psychocut", "amnesia", "powerswap", "guardswap"]}, + {generation: 5, level: 70, moves: ["psystrike", "shadowball", "aurasphere", "electroball"], pokeball: "cherishball"}, + {generation: 5, level: 100, nature: "Timid", ivs: {spa: 31, spe: 31}, isHidden: true, moves: ["psystrike", "icebeam", "healpulse", "hurricane"], pokeball: "cherishball"}, + {generation: 6, level: 70, moves: ["recover", "psychic", "barrier", "aurasphere"]}, + {generation: 6, level: 100, shiny: true, isHidden: true, moves: ["psystrike", "psychic", "recover", "aurasphere"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["psychic", "recover", "swift", "psychocut"]}, + {generation: 8, level: 70, shiny: 1, moves: ["psychic", "disable", "recover", "blizzard"]}, + {generation: 9, level: 100, nature: "Modest", perfectIVs: 6, isHidden: true, moves: ["psystrike", "aurasphere", "icebeam", "calmmind"]}, + ], + encounters: [ + {generation: 1, level: 70}, + ], + eventOnly: true, + }, + mew: { + learnset: { + acidspray: ["9M"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + afteryou: ["7T", "6T", "5T"], + agility: ["9M", "8M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9S26", "8M"], + allyswitch: ["8M", "7T", "5M"], + amnesia: ["9M", "9L10", "8M", "8L10", "8V", "7L60", "6L60", "5L60", "4L60", "4S17"], + ancientpower: ["9L30", "8L30", "7L50", "7V", "6L50", "5L50", "4T", "4L50", "4S14", "3L50"], + aquatail: ["7T", "6T", "5T", "4T"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurasphere: ["9M", "9L90", "9S26", "8M", "8L90", "7L100", "6L100", "5L100", "4L100", "4S14", "4S15", "4S16", "4S17", "4S18", "4S19"], + auroraveil: ["7M"], + avalanche: ["9M", "8M", "4M"], + barrier: ["8V", "7L40", "7S24", "6L40", "5L40", "4L40", "4S15"], + batonpass: ["9M", "9L20", "8M", "8L20", "7L80", "6L80", "5L80", "4L80"], + beatup: ["8M"], + bide: ["7V"], + bind: ["7T", "6T", "5T"], + blastburn: ["9M"], + blazekick: ["8M"], + blizzard: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "7V", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + bravebird: ["9M", "8M"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "4M"], + brutalswing: ["8M", "7M"], + bubblebeam: ["7V"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "8M"], + bulkup: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletseed: ["9M", "8M", "4M", "3M"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "8M"], + chillingwater: ["9M"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["8V"], + corrosivegas: ["8T"], + cosmicpower: ["8M"], + counter: ["7V", "3T"], + covet: ["7T", "6T", "5T"], + crosspoison: ["8M"], + crunch: ["9M", "8M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + darkestlariat: ["8M"], + darkpulse: ["9M", "9S26", "8M", "8V", "7M", "6M", "5T", "4M"], + dazzlinggleam: ["9M", "9S26", "8M", "8V", "7M", "6M"], + defensecurl: ["7V", "3T"], + defog: ["7T", "4M"], + detect: ["7V"], + dig: ["9M", "8M", "8V", "7V", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["7V", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dracometeor: ["9M"], + dragonbreath: ["7V"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9S26", "8M", "8V", "7T", "6T", "5T", "4M"], + dragonrage: ["7V"], + dragontail: ["9M", "8V", "7M", "6M", "5M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["8V", "7M", "7V", "6M", "5M", "4M", "3T"], + drillrun: ["9M", "8M", "8V", "7T", "6T", "5T"], + dualchop: ["7T", "6T", "5T"], + dualwingbeat: ["9M", "8T"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "9S26", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M", "8M"], + eggbomb: ["7V"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T", "6T", "5T"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + energyball: ["9M", "9S26", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + explosion: ["7M", "7V", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["3S2", "3S3"], + faketears: ["9M", "8M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], + feintattack: ["3S4", "3S5"], + fireblast: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "8M"], + firepledge: ["9M"], + firepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + firespin: ["9M", "8M"], + fissure: ["7V"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9S26", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["9M", "8M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "9S26", "8M", "8V", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + flipturn: ["9M", "8T"], + fly: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8M", "8V", "7T", "6T", "5T"], + frenzyplant: ["9M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + futuresight: ["8M"], + gastroacid: ["7T", "6T", "5T", "4T"], + gigadrain: ["9M", "8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + guardswap: ["8M"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["8V", "7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + honeclaws: ["6M", "5M"], + horndrill: ["7V"], + hurricane: ["9M", "8M"], + hydrocannon: ["9M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "9S26", "8M", "7T", "6T", "5T"], + hypnosis: ["4S20", "3S6", "3S7"], + icebeam: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["9M", "9L70", "8M", "8L70"], + incinerate: ["6M", "5M"], + infestation: ["7M", "6M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "8V", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + lastresort: ["7T", "6T", "5T", "4T"], + leafblade: ["8M"], + leafstorm: ["9M", "8M"], + leechlife: ["9M", "8M", "7M"], + lifedew: ["9L40", "9S26", "8L40"], + lightscreen: ["9M", "9S26", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + liquidation: ["9M", "8M", "7T"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + lunge: ["9M"], + magicalleaf: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T", "4T"], + mefirst: ["7L70", "6L70", "5L70", "4L70"], + megadrain: ["8V", "7V"], + megahorn: ["8M", "8V"], + megakick: ["8M", "7V", "3T"], + megapunch: ["8M", "8V", "7L10", "7V", "6L10", "5L10", "4L10", "4S16", "3T", "3L20", "3S0"], + metalclaw: ["9M"], + meteorbeam: ["8T"], + metronome: ["9M", "9L60", "8M", "8L60", "8V", "7L20", "7V", "7S24", "6L20", "5L20", "4L20", "4S14", "4S15", "4S16", "4S17", "4S18", "4S19", "3T", "3L30", "3S0"], + mimic: ["8V", "7V", "3T"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "7V", "4T", "3T"], + mysticalfire: ["8M"], + nastyplot: ["9M", "9L50", "8M", "8L50", "8V", "7L90", "6L90", "5L90", "4L90"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + nightmare: ["7V", "3T"], + nightshade: ["9M", "3S8", "3S9"], + ominouswind: ["4T"], + outrage: ["9M", "8M", "8V", "7T", "6T", "5T", "4T"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + payday: ["8M", "8V", "7V"], + phantomforce: ["9M", "8M"], + pinmissile: ["8M"], + playrough: ["9M", "8M", "8V"], + pluck: ["5M", "4M"], + poisonjab: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + poisontail: ["9M"], + pollenpuff: ["9M", "9S26", "8M"], + poltergeist: ["9M", "8T"], + pounce: ["9M"], + pound: ["9L1", "8L1", "8V", "8S25", "7L1", "7V", "7S23", "6L1", "6S22", "5L1", "4L1", "4S21", "3L1", "3S0", "3S1"], + powergem: ["9M", "9S26", "8M"], + powerswap: ["8M"], + poweruppunch: ["6M"], + powerwhip: ["8M"], + protect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "9L100", "8M", "8L100", "8V", "7M", "7L30", "7V", "7S24", "6M", "6L30", "5M", "5L30", "4M", "4L30", "4S19", "3M", "3L40"], + psychicfangs: ["9M", "8M"], + psychicterrain: ["9M", "8M"], + psychocut: ["8M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "9S26", "8M", "7M", "6M", "5M"], + psywave: ["8V", "7V"], + quash: ["7M", "6M", "5M"], + rage: ["7V"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + razorshell: ["8M"], + razorwind: ["7V"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + reflecttype: ["9L1", "8L1", "7L1", "6L1", "5L1"], + rest: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "4S20", "3M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "8M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T", "3S10", "3S11"], + rollout: ["7V", "4T", "3T"], + roost: ["8V", "7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M"], + scald: ["9M", "8M", "8V", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M"], + scorchingsands: ["8T"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + seismictoss: ["8V", "7V", "3T"], + selfdestruct: ["8M", "8V", "7V", "3T"], + shadowball: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["8T"], + skullbash: ["7V"], + skyattack: ["7T", "7V", "6T", "5T", "4T", "3T"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["9M", "7M", "6M", "5M"], + smartstrike: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + softboiled: ["7V", "3T"], + solarbeam: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + solarblade: ["9M", "8M"], + speedswap: ["8M"], + spikes: ["9M", "8M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "8V", "7T", "6T", "5T", "4M"], + steelbeam: ["9M"], + steelroller: ["8T"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + submission: ["7V"], + substitute: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + superpower: ["8M", "8V", "7T", "6T", "5T", "4T"], + surf: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["9M", "9S26", "8M", "8V", "7V", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T", "4S20"], + tailslap: ["8M"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "7V"], + taunt: ["9M", "8M", "8V", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["8V", "7V", "4S14", "4S15", "4S16", "4S17", "4S18", "4S19", "4S20"], + terablast: ["9M"], + terrainpulse: ["8T"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunder: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "9S26", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "8M"], + thunderpunch: ["9M", "8M", "8V", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "8M"], + trailblaze: ["9M"], + transform: ["9L80", "8L80", "8V", "7L1", "7V", "7S24", "6L1", "5L1", "4L1", "4S18", "3L10", "3S0", "3S1"], + triattack: ["8M", "8V", "7V"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + tripleaxel: ["8T"], + twister: ["4T"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "4T"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + waterfall: ["9M", "8M", "8V", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["7V"], + waterpledge: ["9M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "7V", "4M"], + whirlwind: ["7V"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + xscissor: ["9M", "8M", "8V", "7M", "6M", "5M", "4M"], + zapcannon: ["7V", "3S12", "3S13"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 30, shiny: 1, moves: ["pound", "transform", "megapunch", "metronome"]}, + {generation: 3, level: 10, moves: ["pound", "transform"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["fakeout"]}, + {generation: 3, level: 10, moves: ["fakeout"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["feintattack"]}, + {generation: 3, level: 10, moves: ["feintattack"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["hypnosis"]}, + {generation: 3, level: 10, moves: ["hypnosis"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["nightshade"]}, + {generation: 3, level: 10, moves: ["nightshade"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["roleplay"]}, + {generation: 3, level: 10, moves: ["roleplay"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["zapcannon"]}, + {generation: 3, level: 10, moves: ["zapcannon"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["ancientpower", "metronome", "teleport", "aurasphere"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["barrier", "metronome", "teleport", "aurasphere"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["megapunch", "metronome", "teleport", "aurasphere"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["amnesia", "metronome", "teleport", "aurasphere"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["transform", "metronome", "teleport", "aurasphere"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["psychic", "metronome", "teleport", "aurasphere"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["synthesis", "return", "hypnosis", "teleport"], pokeball: "cherishball"}, + {generation: 4, level: 5, moves: ["pound"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["pound"], pokeball: "cherishball"}, + {generation: 7, level: 5, perfectIVs: 5, moves: ["pound"], pokeball: "pokeball"}, + {generation: 7, level: 50, moves: ["psychic", "barrier", "metronome", "transform"], pokeball: "cherishball"}, + {generation: 8, level: 1, moves: ["pound"], pokeball: "pokeball"}, + {generation: 9, level: 5, moves: ["pollenpuff", "darkpulse", "dragonpulse", "thunderbolt", "dazzlinggleam", "aurasphere", "flamethrower", "airslash", "shadowball", "energyball", "earthpower", "icebeam", "hypervoice", "sludgebomb", "psyshock", "powergem", "flashcannon", "surf", "swift", "lightscreen", "lifedew"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + chikorita: { + learnset: { + ancientpower: ["7E", "7V", "6E", "5E", "4T", "4E", "3E", "3S1"], + aromatherapy: ["7L42", "7E", "6L42", "6E", "5L42", "5E", "4L42", "4E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["7L34", "7E", "7V", "6L34", "6E", "5L34", "5E", "4L34", "4E", "3T", "3L29"], + bulletseed: ["4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["7V", "4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flail: ["7E", "7V", "6E", "5E", "4E", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frenzyplant: ["3S1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["4T"], + gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], + grassknot: ["7M", "6M", "5M", "4M"], + grasspledge: ["7T", "6T", "5T"], + grasswhistle: ["7E", "6E", "5E", "4E", "3E"], + grassyterrain: ["7E", "6E"], + growl: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + headbutt: ["7V", "4T"], + healpulse: ["7E", "6E", "5E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + ingrain: ["7E", "6E", "5E", "4E", "3E"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + leafstorm: ["7E", "6E", "5E", "4E"], + leechseed: ["7E", "7V", "6E", "5E", "4E", "3E"], + lightscreen: ["7M", "7L31", "7V", "6M", "6L31", "5M", "5L31", "4M", "4L31", "3M", "3L36"], + magicalleaf: ["7L20", "6L20", "5L20", "4L20"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7L23", "6L23", "5L23", "4M", "4L23"], + naturepower: ["7M", "7E", "6M", "6E", "5E", "4E", "3E"], + poisonpowder: ["7L9", "7V", "6L9", "5L9", "4L9", "3L15"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + razorleaf: ["7L6", "7V", "6L6", "5L6", "4L6", "3L8", "3S0"], + reflect: ["7M", "7L17", "7V", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L12"], + refresh: ["7E", "6E", "5E"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7L39", "7V", "6M", "6L39", "5M", "5L39", "4M", "4L39", "3M", "3L43"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["7T", "6T", "5T", "4T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "7L45", "7V", "6M", "6L45", "5M", "5L45", "4M", "4L45", "3M", "3L50"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7L28", "7V", "6L28", "5L28", "4L28"], + swordsdance: ["7M", "7V", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "7L12", "7V", "6T", "6L12", "5T", "5L12", "4T", "4L12", "3L22"], + tackle: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + vinewhip: ["7E", "7V", "6E", "5E", "4E", "3E"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T", "4T"], + wringout: ["7E", "6E", "5E", "4E"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "growl", "razorleaf"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["tackle", "growl", "ancientpower", "frenzyplant"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["tackle", "growl"], pokeball: "cherishball"}, + ], + }, + bayleef: { + learnset: { + ancientpower: ["4T"], + aromatherapy: ["7L50", "6L50", "5L50", "4L50"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["7L40", "7V", "6L40", "5L40", "4L40", "3T", "3L31"], + bulletseed: ["4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["7V", "4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], + grassknot: ["7M", "6M", "5M", "4M"], + grasspledge: ["7T", "6T", "5T"], + growl: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lightscreen: ["7M", "7L36", "7V", "6M", "6L36", "5M", "5L36", "4M", "4L36", "3M", "3L39"], + magicalleaf: ["7L22", "6L22", "5L22", "4L22"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7L26", "6L26", "5L26", "4M", "4L26"], + naturepower: ["7M", "6M"], + poisonpowder: ["7L1", "7V", "6L1", "5L1", "4L1", "3L15"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + razorleaf: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + reflect: ["7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L1"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L47"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["7T", "6T", "5T", "4T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L54", "3M", "3L55"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7L32", "7V", "6L32", "5L32", "4L32"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "7L12", "7V", "6T", "6L12", "5T", "5L12", "4T", "4L12", "3L23"], + tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + }, + meganium: { + learnset: { + ancientpower: ["4T"], + aromatherapy: ["7L60", "6L60", "5L60", "4L60"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["7L46", "7V", "6L46", "6S0", "5L46", "4L46", "3T", "3L31"], + bulldoze: ["7M", "6M", "5M"], + bulletseed: ["4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragontail: ["7M", "6M", "5M"], + earthquake: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["7V", "4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frenzyplant: ["7T", "6T", "5T", "4T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + grasspledge: ["7T", "6T", "5T"], + growl: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lightscreen: ["7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3M", "3L41"], + magicalleaf: ["7L22", "6L22", "5L22", "4L22"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7L26", "6L26", "5L26", "4M", "4L26"], + naturepower: ["7M", "6M"], + outrage: ["7T", "6T", "5T", "4T"], + petalblizzard: ["7L1", "6L1"], + petaldance: ["7L1", "6L32", "5L32", "4L32"], + poisonpowder: ["7L1", "7V", "6L1", "5L1", "4L1", "3L15"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + razorleaf: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + reflect: ["7M", "7L18", "7V", "6M", "6L18", "5M", "5L18", "4M", "4L18", "3M", "3L1"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L54", "3M", "3L51"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["7T", "6T", "5T", "4T"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "7L66", "7V", "6M", "6L66", "6S0", "5M", "5L66", "4M", "4L66", "3M", "3L61"], + stompingtantrum: ["7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "6S0", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7L34", "7V", "6L34", "5L34", "4L34"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "7L12", "7V", "6T", "6L12", "6S0", "5T", "5L12", "4T", "4L12", "3L23"], + tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 6, level: 50, isHidden: true, moves: ["solarbeam", "sunnyday", "synthesis", "bodyslam"], pokeball: "pokeball"}, + ], + }, + cyndaquil: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + blastburn: ["3S1"], + bodyslam: ["9M", "3T"], + burningjealousy: ["9M"], + burnup: ["7L58"], + captivate: ["4M"], + confide: ["7M", "6M"], + covet: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], + crushclaw: ["7E", "6E", "5E", "4E", "3E"], + curse: ["9E", "7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["9L22", "7L22", "7V", "6L22", "5L22", "4L22", "3T"], + detect: ["7V"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L55", "7L55", "7E", "6L55", "6E", "5L55", "5E", "4L46", "4E", "3T"], + doublekick: ["9E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + ember: ["9L10", "7L10", "7V", "6L10", "5L10", "4L10", "3L12"], + endure: ["9M", "7V", "4M", "3T"], + eruption: ["9L64", "7L64", "6L58", "5L58", "4L49"], + extrasensory: ["9E", "7E", "6E", "5E", "4E"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M"], + firepledge: ["9M", "7T", "6T", "5T"], + firespin: ["9M"], + flameburst: ["7E", "6E", "5E"], + flamecharge: ["9M", "9L28", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + flamethrower: ["9M", "9L40", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L37", "3M", "3L46"], + flamewheel: ["9L19", "7L19", "7V", "6L19", "5L19", "4L19", "3L27"], + flareblitz: ["9M", "7E", "6E", "5E", "4E"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["7V", "4T"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["9E", "7E", "6E", "5E", "4E", "3E"], + incinerate: ["6M", "5M"], + inferno: ["9L46", "7L46", "6L46", "5L46"], + ironhead: ["9M"], + irontail: ["7V"], + lavaplume: ["9L37", "7L37", "6L37", "5L37", "4L31"], + leer: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "7E", "6M", "6E", "5E"], + overheat: ["9M", "9L58", "7M", "6M", "5M", "4M", "3M"], + playrough: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L13", "7L13", "7E", "7V", "6L13", "6E", "5L13", "5E", "4L13", "4E", "3L19", "3E"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E", "3S1"], + roar: ["9M"], + rollout: ["9L49", "7L49", "7V", "6L49", "5L49", "4T", "4L40", "3T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L6", "7L6", "7V", "6L6", "5L6", "4L4", "3L6", "3S0"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + submission: ["7V"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L31", "7L31", "7V", "6L31", "5L31", "4T", "4L28", "3T", "3L36"], + tackle: ["9L1", "7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["7E", "7V", "6E", "5E", "4E", "3E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + wildcharge: ["9M", "7M", "6M", "5M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + workup: ["7M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "leer", "smokescreen"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["tackle", "leer", "reversal", "blastburn"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["tackle", "leer"], pokeball: "cherishball"}, + ], + }, + quilava: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + burningjealousy: ["9M"], + burnup: ["7L68"], + captivate: ["4M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["9L24", "7L24", "7V", "6L24", "5L24", "4L24", "3T"], + detect: ["7V"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L64", "7L64", "6L64", "5L64", "4L53", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + ember: ["9L10", "7L10", "7V", "6L10", "5L10", "4L10", "3L12"], + endure: ["9M", "7V", "4M", "3T"], + eruption: ["9L75", "7L75", "6L68", "5L68", "4L57"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M"], + firepledge: ["9M", "7T", "6T", "5T"], + firespin: ["9M"], + flamecharge: ["9M", "9L35", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + flamethrower: ["9M", "9L46", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L42", "3M", "3L54"], + flamewheel: ["9L20", "7L20", "7V", "6L20", "5L20", "4L20", "3L31"], + flareblitz: ["9M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + headbutt: ["7V", "4T"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + inferno: ["9L53", "7L53", "6L53", "5L53"], + ironhead: ["9M"], + irontail: ["7V"], + lavaplume: ["9L42", "7L42", "6L42", "5L42", "4L35"], + leer: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "9L68", "7M", "6M", "5M", "4M", "3M"], + playrough: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L21"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rollout: ["9L57", "7L57", "7V", "6L57", "5L57", "4T", "4L46", "3T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L31", "7L31", "7V", "6L31", "5L31", "4T", "4L31", "3T", "3L42"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + wildcharge: ["9M", "7M", "6M", "5M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + workup: ["7M"], + zenheadbutt: ["9M"], + }, + }, + typhlosion: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + blastburn: ["9M", "7T", "6T", "5T", "4T"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + burningjealousy: ["9M"], + burnup: ["7L74"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["9L24", "7L24", "7V", "6L24", "5L24", "4L24", "3T"], + detect: ["7V"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L1", "7L1", "6L1", "5L69", "4L53", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + ember: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "7V", "4M", "3T"], + eruption: ["9L1", "7L1", "6L1", "5L74", "4L57"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M"], + firepledge: ["9M", "7T", "6T", "5T"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + firespin: ["9M"], + flamecharge: ["9M", "9L35", "7M", "7L35", "6M", "6L35", "6S1", "5M", "5L35"], + flamethrower: ["9M", "9L48", "7M", "7L48", "7V", "6M", "6L48", "5M", "5L48", "4M", "4L42", "3M", "3L60", "3S0"], + flamewheel: ["9L20", "7L20", "7V", "6L20", "6S1", "5L20", "4L20", "3L31", "3S0"], + flareblitz: ["9M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + headbutt: ["7V", "4T"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + inferno: ["9L56", "7L56", "6L56", "5L56"], + ironhead: ["9M"], + irontail: ["7V"], + laserfocus: ["7T"], + lavaplume: ["9L43", "7L43", "6L43", "5L43", "4L35"], + leer: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "9L74", "7M", "6M", "6S1", "5M", "4M", "3M"], + playrough: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L21", "3S0"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + rollout: ["9L61", "7L61", "7V", "6L61", "5L61", "4T", "4L46", "3T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + stompingtantrum: ["9M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L31", "7L31", "7V", "6L31", "6S1", "5L31", "4T", "4L31", "3T", "3L45", "3S0"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["7T"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + wildcharge: ["9M", "7M", "6M", "5M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + workup: ["7M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["quickattack", "flamewheel", "swift", "flamethrower"], pokeball: "pokeball"}, + {generation: 6, level: 50, isHidden: true, moves: ["overheat", "flamewheel", "flamecharge", "swift"], pokeball: "pokeball"}, + ], + }, + typhlosionhisui: { + learnset: { + aerialace: ["9M"], + blastburn: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + burningjealousy: ["9M"], + calmmind: ["9M"], + confuseray: ["9M"], + defensecurl: ["9L24"], + dig: ["9M"], + doubleedge: ["9L1"], + earthquake: ["9M"], + ember: ["9L1"], + endure: ["9M"], + eruption: ["9L1"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M"], + firepledge: ["9M"], + firepunch: ["9M"], + firespin: ["9M"], + flamecharge: ["9M", "9L35"], + flamethrower: ["9M", "9L48"], + flamewheel: ["9L20"], + flareblitz: ["9M"], + focusblast: ["9M"], + focuspunch: ["9M"], + gigaimpact: ["9M"], + gyroball: ["9M", "9L1"], + heatwave: ["9M"], + hex: ["9M"], + hyperbeam: ["9M"], + infernalparade: ["9L0"], + inferno: ["9L56"], + ironhead: ["9M"], + lavaplume: ["9L43"], + leer: ["9L1"], + lowkick: ["9M"], + nightshade: ["9M"], + overheat: ["9M", "9L74"], + playrough: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + quickattack: ["9L13"], + rest: ["9M"], + reversal: ["9M"], + roar: ["9M"], + rockslide: ["9M"], + rollout: ["9L61"], + shadowball: ["9M"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + smokescreen: ["9L1"], + solarbeam: ["9M"], + spite: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M", "9L31"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M"], + wildcharge: ["9M"], + willowisp: ["9M"], + zenheadbutt: ["9M"], + }, + }, + totodile: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["7E", "7V", "6E", "5E", "4T", "4E", "3E"], + aquajet: ["7E", "6E", "5E", "4E"], + aquatail: ["7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L36"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["7L13", "7V", "6L13", "5L13", "4L13", "3L20"], + blizzard: ["7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "7E", "6T", "6E", "5T", "5E"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chipaway: ["7L29", "6L29", "5L29"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["7L27", "7E", "7V", "6L27", "6E", "5L27", "5E", "4L27", "4E", "3E", "3S1"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + dig: ["7V", "6M", "5M", "4M", "3M"], + dive: ["6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonclaw: ["7M", "6M", "5M", "4E", "3E"], + dragondance: ["7E", "6E", "5E", "4E"], + dynamicpunch: ["7V", "3T"], + endure: ["7V", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + faketears: ["7E", "6E", "5E"], + flail: ["7L22", "6L22", "5L22", "4L22"], + flatter: ["7E", "6E"], + fling: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydrocannon: ["3S1"], + hydropump: ["7L50", "7E", "7V", "6L50", "6E", "5L50", "5E", "4L43", "4E", "3L52", "3E"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icefang: ["7L20", "6L20", "5L20", "4L20"], + icepunch: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + lowkick: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + metalclaw: ["7E", "6E", "5E", "4E"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7L8", "7V", "6L8", "5L8", "4L8", "3L7", "3S0"], + raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + razorwind: ["7V"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocktomb: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["7L15", "7V", "6L15", "5L15", "4L15", "3L27"], + scratch: ["7L1", "7V", "6L1", "6S2", "5L1", "4L1", "3L1", "3S0", "3S1"], + screech: ["7L36", "7V", "6L36", "5L36", "4L34", "3L43"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["7M", "6M", "5M", "4M"], + slash: ["7L34", "7V", "6L34", "5L34", "4L29", "3L35"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + superpower: ["7T", "7L48", "6T", "6L48", "5T", "5L48", "4T", "4L41"], + surf: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + thrash: ["7L41", "7E", "7V", "6L41", "6E", "5L41", "5E", "4L22", "4E", "3E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T", "4T"], + waterfall: ["7M", "6M", "5M", "4M", "3M"], + watergun: ["7L6", "7V", "6L6", "5L6", "4L6", "3L13"], + waterpledge: ["7T", "6T", "5T"], + waterpulse: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + watersport: ["7E", "6E", "5E", "4E", "3E"], + whirlpool: ["7V", "4M"], + workup: ["7M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["scratch", "leer", "rage"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["scratch", "leer", "crunch", "hydrocannon"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["scratch", "leer"], pokeball: "cherishball"}, + ], + }, + croconaw: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["4T"], + aquatail: ["7T", "7L51", "6T", "6L51", "5T", "5L51", "4L42"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["7L13", "7V", "6L13", "5L13", "4L13", "3L21"], + blizzard: ["7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chipaway: ["7L33", "6L33", "5L33"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["7L30", "6L30", "5L30", "4L30"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + dig: ["7V", "6M", "5M", "4M", "3M"], + dive: ["6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonclaw: ["7M", "6M", "5M"], + dynamicpunch: ["7V", "3T"], + endure: ["7V", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flail: ["7L24", "6L24", "5L24", "4L24"], + fling: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + hail: ["7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["7L60", "7V", "6L60", "5L60", "4L51", "3L55"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icefang: ["7L21", "6L21", "5L21", "4L21"], + icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7L8", "7V", "6L8", "5L8", "4L8", "3L1"], + raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["7L15", "7V", "6L15", "5L15", "4L15", "3L28"], + scratch: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["7L42", "7V", "6L42", "5L42", "4L39", "3L45"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["7M", "6M", "5M", "4M"], + slash: ["7L39", "7V", "6L39", "5L39", "4L33", "3L37"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + superpower: ["7T", "7L57", "6T", "6L57", "5T", "5L57", "4T", "4L48"], + surf: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + thrash: ["7L48", "6L48", "5L48", "4L24"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T", "4T"], + waterfall: ["7M", "6M", "5M", "4M", "3M"], + watergun: ["7L1", "7V", "6L1", "5L1", "4L1", "3L13"], + waterpledge: ["7T", "6T", "5T"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["7V", "4M"], + workup: ["7M"], + }, + }, + feraligatr: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["7L1", "6L30", "5L30", "4L30"], + ancientpower: ["4T"], + aquatail: ["7T", "7L63", "6T", "6L63", "5T", "5L63", "4T", "4L50"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["4M"], + bite: ["7L13", "7V", "6L13", "5L13", "4L13", "3L21"], + blizzard: ["7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L37", "6L37", "5L37"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["7L32", "6L32", "6S0", "5L32", "4L32"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + dig: ["7V", "6M", "5M", "4M", "3M"], + dive: ["6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonclaw: ["7M", "6M", "5M", "4M", "3M"], + dragonpulse: ["7T", "6T", "5T", "4M"], + dragontail: ["7M", "6M", "5M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["7V", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flail: ["7L24", "6L24", "5L24", "4L24"], + fling: ["7M", "6M", "5M", "4M"], + focusblast: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["7M", "6M", "5M", "4M"], + hail: ["7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydrocannon: ["7T", "6T", "5T", "4T"], + hydropump: ["7L76", "7V", "6L76", "5L76", "4L63", "3L58"], + hyperbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icefang: ["7L21", "6L21", "5L21", "4L21"], + icepunch: ["7T", "7V", "6T", "6S0", "5T", "4T", "3T"], + icywind: ["7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + leer: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["7T"], + lowkick: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["7T", "6T", "5T", "4T"], + poweruppunch: ["6M"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["7L15", "7V", "6L15", "5L15", "4L15", "3L28"], + scratch: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["7L50", "7V", "6L50", "6S0", "5L50", "4L45", "3L47"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["7M", "6M", "5M", "4M"], + slash: ["7L45", "7V", "6L45", "5L45", "4L37", "3L38"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + superpower: ["7T", "7L71", "6T", "6L71", "5T", "5L71", "4T", "4L58"], + surf: ["7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + thrash: ["7L58", "6L58", "5L58", "4L24"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T", "4T"], + waterfall: ["7M", "6M", "6S0", "5M", "4M", "3M"], + watergun: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpledge: ["7T", "6T", "5T"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["7V", "4M"], + workup: ["7M"], + }, + eventData: [ + {generation: 6, level: 50, isHidden: true, moves: ["icepunch", "crunch", "waterfall", "screech"], pokeball: "pokeball"}, + ], + }, + sentret: { + learnset: { + amnesia: ["9M", "9L36", "7L36", "7V", "6L36", "5L36", "4L36", "3L49"], + aquatail: ["7T", "6T", "5T", "4T"], + assist: ["7E", "6E", "5E", "4E", "3E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + babydolleyes: ["9E", "7E"], + batonpass: ["9M", "9L39", "7L39", "6L39", "5L39", "4L39"], + blizzard: ["9M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["7M"], + captivate: ["7E", "6E", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "7E", "6E", "5E", "4E"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "7E", "6T", "6E", "5T", "5E", "5D", "4E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["9L4", "7L4", "7V", "6L4", "5L4", "4L4", "3T", "3L4"], + detect: ["7V"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L42", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "7V", "5D", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + followme: ["9L19", "7L19", "6L19", "5L19", "4L19", "3L31"], + foresight: ["7L1", "6L1", "5L1", "4L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L12"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "9L16", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T", "4L16", "3L17"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hypervoice: ["9M", "9L47", "7T", "7L47", "6T", "6L47", "5T", "5L47", "4L47"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + mefirst: ["7L42", "6L42", "5L42", "4L42"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + playrough: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + quickattack: ["9L7", "7L7", "7V", "6L7", "5L7", "4L7", "3L7"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L28", "7M", "7L28", "7V", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L40"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], + rollout: ["7V", "4T", "3T"], + round: ["7M", "6M", "5M"], + scratch: ["9L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slam: ["9L25", "7L25", "7V", "6L25", "5L25", "4L25", "3L24"], + slash: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + suckerpunch: ["9L31", "7L31", "6L31", "5L31", "4T", "4L31"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + surf: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + tackle: ["7V"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + tidyup: ["9E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["4M"], + workup: ["7M", "5M"], + }, + encounters: [ + {generation: 2, level: 2}, + ], + }, + furret: { + learnset: { + agility: ["9M", "9L0", "7L1"], + amnesia: ["9M", "9L42", "7L42", "7V", "6L42", "5L42", "4L42", "3L59"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "9L46", "7L46", "6L46", "5L46", "4L46"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["7M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M"], + chillingwater: ["9M"], + coil: ["9L1", "7L1"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + detect: ["7V"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L50", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + followme: ["9L21", "7L21", "6L21", "5L21", "4L21", "3L37"], + foresight: ["7L1", "6L1", "5L1", "4L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L12"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "9L17", "7T", "7L17", "6T", "6L17", "5T", "5L17", "4T", "4L17", "3L19"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "9L56", "7T", "7L56", "6T", "6L56", "5T", "5L56", "4L56"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + mefirst: ["7L50", "6L50", "5L50", "4L50"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + playrough: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L32", "7M", "7L32", "7V", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3M", "3L48"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["7M", "6M", "5M"], + scratch: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slam: ["9L28", "7L28", "7V", "6L28", "5L28", "4L28", "3L28"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L36", "7L36", "6L36", "5L36", "4T", "4L36"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + surf: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "6T", "5T"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["4M"], + workup: ["7M", "5M"], + zenheadbutt: ["9M"], + }, + encounters: [ + {generation: 2, level: 6}, + {generation: 4, level: 6}, + ], + }, + hoothoot: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "7E", "6E", "5E", "4E"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L18", "8M", "8L18", "7L31", "6L33", "5L33", "4L29"], + amnesia: ["9M", "8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bravebird: ["9M"], + calmmind: ["9M", "8M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L9", "8L9", "7L10", "7V", "6L21", "5L21", "4L21", "3L34"], + curse: ["7V"], + defog: ["9L15", "8E", "7T", "7E", "6E", "5E", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["9L39", "8L39", "7M", "7L46", "7V", "6M", "6L57", "5M", "5L57", "4M", "4L49", "3T", "3L48"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["9L6", "8L6", "7M", "7L13", "6M", "6L25", "5M", "5L25"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["9L21", "8L21", "7L22", "6L45", "5L45", "4L37"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + flash: ["7V", "3M"], + fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + foresight: ["7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L6", "3S0"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + growl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + haze: ["9M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "8M", "7E"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["9L36", "8L36", "7L4", "7V", "6L5", "5L5", "4L5", "3L16"], + imprison: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + meanlook: ["7E"], + mimic: ["3T"], + mirrormove: ["7E", "7V", "6E", "5E", "4E", "3E"], + moonblast: ["9L33", "8L33", "7L40"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M", "9E", "8E", "7E", "6E", "5E", "5D", "4E"], + ominouswind: ["4T"], + peck: ["9L1", "8L1", "7L7", "7V", "6L9", "5L9", "4L9", "3L11"], + pluck: ["5M", "4M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychoshift: ["8L15", "7L19", "6L49", "5L49", "4L41"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "5D", "4M"], + reflect: ["9M", "9L12", "8M", "8L12", "7M", "7L28", "7V", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L22"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["9L30", "8L30", "7M", "7L37", "6M", "6L53", "5T", "5L53", "4M", "4L45"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + silverwind: ["4M"], + skillswap: ["9M"], + skyattack: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4E", "3T", "3E"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "3T"], + spite: ["9M"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + synchronoise: ["7L43", "6L41", "5L41"], + tackle: ["9L3", "8L3", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "9L24", "8L24", "7L25", "7V", "6L29", "5L29", "4L25", "3L28"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["9M", "9L27", "8M", "8L27", "7T", "7L34", "6T", "6L13", "5T", "5L13", "4T", "4L13"], + whirlwind: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + wingattack: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "7L16", "6T", "6L37", "5T", "5L37", "4T", "4L33"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "growl", "foresight"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 2, level: 2}, + ], + }, + noctowl: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L18", "8M", "8L18", "7L35", "6L37", "5L37", "4L32"], + amnesia: ["9M", "8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M"], + bravebird: ["9M"], + calmmind: ["9M", "8M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L9", "8L9", "7L10", "7V", "6L22", "5L22", "4L22", "3L41"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["9L53", "8L53", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L67", "4M", "4L57", "3T", "3L57"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["9L1", "8L1", "7M", "7L13", "6M", "6L27", "5M", "5L27"], + endure: ["9M", "8M", "7V", "4M", "3T"], + extrasensory: ["9L23", "8L23", "7L23", "6L52", "5L52", "4L42"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "3M"], + fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + foresight: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + haze: ["9M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["9L48", "8L48", "7L1", "7V", "6L1", "5L1", "4L1", "3L16"], + imprison: ["9M", "8M"], + laserfocus: ["7T"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + moonblast: ["9L43", "8L43", "7L47"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M"], + ominouswind: ["4T"], + peck: ["9L1", "8L1", "7L7", "7V", "6L9", "5L9", "4L9", "3L1"], + pluck: ["5M", "4M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychoshift: ["8L15", "7L19", "6L57", "5L57", "4L47"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "9L12", "8M", "8L12", "7M", "7L31", "7V", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L25"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["9L38", "8L38", "7M", "7L43", "6M", "6L62", "5T", "5L62", "4M", "4L52"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + silverwind: ["4M"], + skillswap: ["9M"], + skyattack: ["9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "3T"], + spite: ["9M"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + synchronoise: ["7L51", "6L47", "5L47"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "9L28", "8L28", "7L27", "7V", "6L32", "5L32", "4L27", "3L33"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["9M", "9L33", "8M", "8L33", "7T", "7L39", "6T", "6L13", "5T", "5L13", "4T", "4L13"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "7L16", "6T", "6L42", "5T", "5L42", "4T", "4L37"], + }, + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 5}, + {generation: 7, level: 19}, + ], + }, + ledyba: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M", "3S0"], + agility: ["7L29", "7V", "6L30", "5L30", "4L30", "3L43"], + aircutter: ["4T"], + airslash: ["7L36"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["7L26", "7V", "6L22", "5L22", "4L22", "3L29"], + bide: ["7E", "7V", "6E", "5E", "4E", "3E"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + bugbite: ["7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + bugbuzz: ["7L33", "7E", "6L41", "6E", "5L41", "5E", "4L41", "4E"], + captivate: ["4M"], + cometpunch: ["7L22", "7V", "6L9", "5L9", "5D", "4L9", "3L15"], + confide: ["7M", "6M"], + counter: ["7E"], + curse: ["7V"], + dig: ["7V", "6M", "5M", "4M", "3M"], + dizzypunch: ["7E", "6E", "5E"], + doubleedge: ["7L40", "7V", "6L38", "5L38", "4L38", "3T", "3L50"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], + dynamicpunch: ["7V", "3T"], + encore: ["7E", "6E", "5E", "4E"], + endure: ["7E", "7V", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + knockoff: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lightscreen: ["7M", "7L12", "7V", "6M", "6L14", "5M", "5L14", "4M", "4L14", "3M", "3L22"], + machpunch: ["7L15", "6L17", "5L17", "4L17"], + megapunch: ["3T"], + mimic: ["3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + poweruppunch: ["6M"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["7E", "7V", "6E", "5E", "4E", "3E", "3S0"], + reflect: ["7M", "7L12", "7V", "6M", "6L14", "5M", "5L14", "4M", "4L14", "3M", "3L22"], + refresh: ["3S0"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7L12", "7V", "6M", "6L14", "5M", "5L14", "4M", "4L14", "3M", "3L22"], + screech: ["7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M", "3M"], + silverwind: ["7L19", "7E", "6L25", "6E", "5L25", "5E", "4M", "4L25", "4E", "3E"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["7L5", "7V", "6L6", "5L6", "4L6", "3L8", "3S0"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["7L8", "7V", "6L33", "5L33", "4T", "4L33", "3T", "3L36"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["7T", "7E", "6T", "6E", "5T", "4T"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["7T", "7V", "6T", "5T", "5D", "4T", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["refresh", "psybeam", "aerialace", "supersonic"]}, + ], + encounters: [ + {generation: 2, level: 3}, + ], + }, + ledian: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["7L33", "7V", "6L36", "5L36", "4L36", "3L51"], + aircutter: ["4T"], + airslash: ["7L42"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["7L29", "7V", "6L24", "5L24", "4L24", "3L33"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + bugbite: ["7T", "6T", "5T", "4T"], + bugbuzz: ["7L38", "6L53", "5L53", "4L53"], + captivate: ["4M"], + cometpunch: ["7L24", "7V", "6L1", "5L1", "4L1", "3L15"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T"], + dig: ["7V", "6M", "5M", "4M", "3M"], + doubleedge: ["7L47", "7V", "6L48", "5L48", "4L48", "3T", "3L60"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["7T", "6T", "5T", "4M"], + dynamicpunch: ["7V", "3T"], + endure: ["7V", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + focusblast: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + knockoff: ["7T", "6T", "5T", "4T"], + lightscreen: ["7M", "7L12", "7V", "6M", "6L14", "5M", "5L14", "4M", "4L14", "3M", "3L24"], + machpunch: ["7L15", "6L17", "5L17", "4L17"], + megapunch: ["3T"], + mimic: ["3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + poweruppunch: ["6M"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["7M", "7L12", "7V", "6M", "6L14", "5M", "5L14", "4M", "4L14", "3M", "3L24"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M"], + rollout: ["7V", "4T", "3T"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7L12", "7V", "6M", "6L14", "5M", "5L14", "4M", "4L14", "3M", "3L24"], + secretpower: ["6M", "4M", "3M"], + silverwind: ["7L20", "6L29", "5L29", "4M", "4L29"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], + strength: ["6M", "5M", "4M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["7L1", "7V", "6L41", "5L41", "4T", "4L41", "3T", "3L42"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["7T", "6T", "5T", "4T"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 5}, + ], + }, + spinarak: { + learnset: { + absorb: ["9L5", "7L5"], + acidspray: ["9M"], + agility: ["9M", "9L29", "7L33", "7V", "6L33", "5L33", "4L33", "3L45"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["3T"], + bounce: ["7T", "6T", "5T", "4T"], + bugbite: ["9M", "7T", "6T", "5T", "5D", "4T"], + bugbuzz: ["9M"], + captivate: ["4M"], + confide: ["7M", "6M"], + constrict: ["7L1", "7V", "6L8", "5L8", "4L8", "3L11"], + crosspoison: ["9L44", "7L47", "6L47", "5L47"], + curse: ["7V"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M", "3S0"], + disable: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + electroweb: ["7T", "7E", "6T", "6E", "5T", "5E", "5D"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["9L22", "7L22", "7V", "6L22", "5L22", "4L22", "3L30"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + hex: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + infestation: ["9L8", "7M", "7L8", "6M"], + knockoff: ["9M"], + leechlife: ["9M", "7M", "7V", "6L12", "5L12", "4L12", "3L23"], + lunge: ["9M", "9E", "7E"], + megahorn: ["9E", "7E", "6E"], + mimic: ["3T"], + naturalgift: ["4M"], + nightshade: ["9M", "9L15", "7L15", "7V", "6L15", "5L15", "4L15", "3L17", "3S0"], + nightslash: ["9E", "7E", "6E", "5E"], + pinmissile: ["9L33", "7L36", "6L36", "5L36", "4L36"], + poisonjab: ["9M", "9L40", "7M", "7L43", "6M", "6L43", "5M", "5L43", "4M", "4L43", "4E"], + poisonsting: ["9L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + pounce: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["7E", "7V", "6E", "5E", "4E", "3E"], + psychic: ["9M", "9L36", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3M", "3L53"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + ragepowder: ["9E", "7E", "6E", "5E"], + refresh: ["3S0"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M", "9L12", "7L12", "7V", "6L5", "5L5", "4L5", "3L6"], + screech: ["7V"], + secretpower: ["6M", "4M", "3M"], + shadowsneak: ["9L19", "7L19", "6L19", "5L19", "4L19"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E", "3S0"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sonicboom: ["7E", "7V", "6E", "5E", "4E", "3E"], + spiderweb: ["7L29", "7V", "6L29", "5L29", "4L29", "3L37"], + spite: ["9M"], + stickyweb: ["9L47", "7L50", "6L50"], + stringshot: ["9L1", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L26", "7L26", "6L26", "5L26", "4T", "4L26"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "7E", "6E", "5E", "4E"], + toxicthread: ["9L51", "7L54"], + trailblaze: ["9M"], + twineedle: ["7E", "6E", "5E"], + venoshock: ["9M", "7M", "6M", "5M"], + xscissor: ["9M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 3, level: 14, moves: ["refresh", "dig", "signalbeam", "nightshade"]}, + ], + encounters: [ + {generation: 2, level: 3}, + ], + }, + ariados: { + learnset: { + absorb: ["9L1", "7L1"], + acidspray: ["9M"], + agility: ["9M", "9L31", "7L37", "7V", "6L37", "5L37", "4L37", "3L53"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bodyslam: ["3T"], + bounce: ["7T", "6T", "5T", "4T"], + bugbite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + bugbuzz: ["9M"], + captivate: ["4M"], + confide: ["7M", "6M"], + constrict: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + crosspoison: ["9L50", "9S0", "7L55", "6L55", "5L55"], + curse: ["7V"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + electroweb: ["7T", "6T", "5T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fellstinger: ["9L1", "7L1", "6L1"], + flash: ["7V", "6M", "5M", "4M", "3M"], + focusenergy: ["9L1", "7L1"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyswipes: ["9L23", "7L23", "7V", "6L23", "5L23", "4L23", "3L34"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + hex: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["9L8", "7M", "7L8", "6M"], + knockoff: ["9M"], + leechlife: ["9M", "7M", "7V", "6L12", "5L12", "4L12", "3L25"], + lunge: ["9M"], + mimic: ["3T"], + naturalgift: ["4M"], + nightshade: ["9M", "9L15", "7L15", "7V", "6L15", "5L15", "4L15", "3L17"], + pinmissile: ["9L35", "7L41", "6L41", "5L41", "4L41"], + poisonjab: ["9M", "9L46", "9S0", "7M", "7L50", "6M", "6L50", "5M", "5L50", "4M", "4L50"], + poisonsting: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pounce: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "9L41", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L63"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M", "9L12", "7L12", "7V", "6L1", "5L1", "4L1", "3L1"], + screech: ["7V"], + secretpower: ["6M", "4M", "3M"], + shadowsneak: ["9L19", "7L19", "6L19", "5L19", "4L19"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + smartstrike: ["9M", "7M"], + snore: ["7T", "7V", "6T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + spiderweb: ["7L32", "7V", "6L32", "5L32", "4L32", "3L43"], + spite: ["9M"], + stickyweb: ["9L54", "9S0", "7L58", "6L58"], + stompingtantrum: ["7T"], + stringshot: ["9L1", "7L1", "7V", "6L1", "5L1", "4T", "4L1", "3L1"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L28", "7L28", "6L28", "5L28", "4T", "4L28"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["9M", "9L0", "7M", "7L1"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + toxicthread: ["9L59", "9S0", "7L63"], + trailblaze: ["9M"], + venomdrench: ["7L1", "6L1"], + venoshock: ["9M", "7M", "6M", "5M"], + xscissor: ["9M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 9, level: 65, gender: "M", nature: "Hardy", abilities: ["swarm"], ivs: {hp: 20, atk: 20, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["toxicthread", "stickyweb", "crosspoison", "poisonjab"]}, + ], + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 5}, + {generation: 6, level: 19, maxEggMoves: 1}, + ], + }, + chinchou: { + learnset: { + agility: ["8M", "7E", "6E", "5E", "4E"], + amnesia: ["8M", "7E", "6E", "5E", "5D", "4E", "3E"], + aquaring: ["8L32", "7L42", "6L42", "5L42", "4L39"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "7E", "6E", "5E", "4M"], + bubble: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bubblebeam: ["8L12", "7L20", "6L20", "5L31", "4L28"], + captivate: ["4M"], + charge: ["8L24", "7L50", "6L50", "5L50", "4L45", "3L49"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["8L16", "7L17", "7V", "6L17", "5L12", "4L17", "3L29"], + curse: ["7V"], + dazzlinggleam: ["8M", "7M", "6M"], + discharge: ["8L28", "7L34", "6L34", "5L39", "4L34"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + electroball: ["8M", "8L4", "7L9", "6L9", "5L28"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L36", "7L31", "7E", "7V", "6L9", "6E", "5L9", "5E", "4L9", "4E", "3L13", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + healbell: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L44", "7L45", "7V", "6L45", "5L45", "4L42", "3L41"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + iondeluge: ["7L47", "6L47"], + mimic: ["3T"], + mist: ["8E", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8E", "7E", "6E", "5E", "4E"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "7E", "6T", "6E", "5E", "5D", "4M", "3M"], + signalbeam: ["7T", "7L28", "6T", "6L28", "5T", "5L34", "4T", "4L31"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + soak: ["8E", "7E", "6E"], + spark: ["8L20", "7L23", "7V", "6L20", "5L20", "4L20", "3L25"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + supersonic: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L5"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["8L40", "7L39", "7V", "6L23", "5L23", "4L23", "3L37"], + thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "8L8", "7M", "7L6", "7V", "6M", "6L6", "5M", "5L6", "5D", "4M", "4L6", "3T", "3L1"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + voltswitch: ["8M", "7M", "6M", "5M"], + waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L12", "7V", "6L1", "5L17", "4L12", "3L17"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["8M", "7E", "7V", "6E", "5E", "4M", "4E"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + }, + lanturn: { + learnset: { + agility: ["8M"], + amnesia: ["8M"], + aquaring: ["8L36", "7L47", "6L47", "5L52", "4L47"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "4M"], + bubble: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bubblebeam: ["8L12", "7L20", "6L20", "5L35", "4L30"], + captivate: ["4M"], + charge: ["8L24", "7L58", "6L58", "5L64", "4L57", "3L61"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["8L16", "7L17", "7V", "6L17", "5L17", "4L17", "3L32"], + curse: ["7V"], + dazzlinggleam: ["8M", "7M", "6M"], + discharge: ["8L30", "7L37", "6L37", "5L47", "4L40"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + eerieimpulse: ["8M", "8L1", "7L1", "6L1"], + electroball: ["8M", "8L1", "7L1", "6L1", "5L30"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L42", "7L33", "7V", "6L9", "5L9", "4L9", "3L13"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + healbell: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L54", "7L51", "7V", "6L51", "5L57", "4L52", "3L50"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + iondeluge: ["7L54", "6L54"], + mimic: ["3T"], + naturalgift: ["4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "7L29", "6T", "6L29", "5T", "5L40", "4T", "4L35"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spark: ["8L20", "7L23", "7V", "6L20", "5L20", "4L20", "3L25"], + spitup: ["8L0", "7L1", "6L27", "5L27", "4L27"], + spotlight: ["7L1"], + stockpile: ["8L0", "7L1", "6L27", "5L27", "4L27"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + supersonic: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["8L0", "7L1", "6L27", "5L27", "4L27"], + takedown: ["8L48", "7L43", "7V", "6L23", "5L23", "4L23", "3L43"], + thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "8L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + voltswitch: ["8M", "7M", "6M", "5M"], + waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L12", "7V", "6L1", "5L12", "4L12", "3L17"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 4, level: 20}, + {generation: 6, level: 26, maxEggMoves: 1}, + {generation: 7, level: 10}, + ], + }, + togepi: { + learnset: { + aerialace: ["8E"], + afteryou: ["8L28", "7T", "7L53", "6T", "6L53", "5T", "5L53"], + ancientpower: ["8L16", "7L33", "6L33", "5L33", "4T", "4L33", "3L21", "3S1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "8L44", "7L41", "6L41", "5L41", "4L42", "3L41"], + bestow: ["7L25", "6L25", "5L25"], + bodyslam: ["8M", "3T"], + captivate: ["4M"], + charm: ["8M", "8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + dazzlinggleam: ["8M", "7M", "6M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + doubleedge: ["8L32", "7L45", "7V", "6L45", "5L45", "4L46", "3T", "3L37"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["8M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M", "7L17", "7V", "6L17", "5L17", "4L19", "3L17"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "7V", "4M", "3T"], + extrasensory: ["8E", "7E", "6E", "5E", "4E"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + followme: ["8L40", "7L21", "6L21", "5L21", "4L24", "3L25", "3S1"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["8M", "3S1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + lastresort: ["8L48", "7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L51"], + lifedew: ["8L8"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7E", "6E", "5E", "5D", "4E"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["8M", "8L24", "7L5", "7V", "6L5", "5L5", "5D", "4L6", "3T", "3L4", "3S0"], + mimic: ["3T"], + mirrormove: ["7E", "7V", "6E", "5E", "4E", "3E"], + morningsun: ["8E", "7E", "6E", "5E"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + nastyplot: ["8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + peck: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + playrough: ["8M"], + pound: ["8L1"], + present: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychoshift: ["8E", "7E", "6E", "5E", "4E"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L36", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M", "3L33"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + softboiled: ["3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + storedpower: ["8M", "7E", "6E", "5E"], + substitute: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["8L4", "7L9", "7V", "6L9", "5L9", "4L10", "3L9", "3S0"], + swift: ["8M", "7V", "4T", "3T"], + telekinesis: ["7T", "5M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M", "3S1"], + trick: ["8M", "7T", "6T", "5T", "4T"], + uproar: ["8M", "7T", "6T", "5T", "5D", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + wish: ["8L52", "7L29", "6L29", "5L29", "4L28", "3L29"], + workup: ["8M", "7M", "5M"], + yawn: ["8L20", "7L13", "6L13", "5L13", "4L15", "3L13", "3S0"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 20, gender: "F", abilities: ["serenegrace"], moves: ["metronome", "charm", "sweetkiss", "yawn"], pokeball: "pokeball"}, + {generation: 3, level: 25, moves: ["triattack", "followme", "ancientpower", "helpinghand"]}, + ], + }, + togetic: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + afteryou: ["8L28", "7T", "7L53", "6T", "6L53", "5T", "5L53"], + aircutter: ["4T"], + ancientpower: ["8L16", "7L33", "6L33", "5L33", "4T", "4L33", "3L21"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "8L44", "7L41", "6L41", "5L41", "4L42", "3L41"], + bestow: ["7L25", "6L25", "5L25"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + charm: ["8M", "8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + dazzlinggleam: ["8M", "7M", "6M"], + defensecurl: ["7V", "3T"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["8L32", "7L45", "7V", "6L45", "5L45", "4L46", "3T", "3L37"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["8M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M", "7L17", "7V", "6L17", "5L17", "4L19", "3L17"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fairywind: ["8L0", "7L14", "6L14"], + fireblast: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + focuspunch: ["7T", "6T", "4M", "3M"], + followme: ["8L40", "7L21", "6L21", "5L21", "4L24", "3L25"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + incinerate: ["6M", "5M"], + lastresort: ["8L48", "7T", "7L49", "6T", "6L49", "5T", "5L49", "4T", "4L51"], + lifedew: ["8L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["8M", "7L1", "6L1", "5L1", "4L1", "3L1"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["8M", "8L24", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + nastyplot: ["8M"], + naturalgift: ["4M"], + ominouswind: ["4T"], + playrough: ["8M"], + pound: ["8L1"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L36", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M", "3L33"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + skyattack: ["3T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + softboiled: ["3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetkiss: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + swift: ["8M", "7V", "4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + telekinesis: ["7T", "5M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + triattack: ["8M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + twister: ["4T"], + uproar: ["8M"], + waterpulse: ["7T", "6T", "4M", "3M"], + wish: ["8L52", "7L29", "6L29", "5L29", "4L28", "3L29"], + workup: ["8M", "7M", "5M"], + yawn: ["8L20", "7L13", "6L13", "5L13", "4L15", "3L13"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + togekiss: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + afteryou: ["8L1", "7T", "7L1", "6T", "6L1"], + aircutter: ["4T"], + airslash: ["8M", "8L0", "7L1", "6L1", "5L1", "5S0", "4L1"], + allyswitch: ["8M"], + amnesia: ["8M"], + ancientpower: ["8L1", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + aurasphere: ["8M", "8L1", "7L1", "6L1", "5L1", "5S0", "4L1"], + batonpass: ["8M", "8L1"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + charm: ["8M", "8L1"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + defog: ["7T", "4M"], + doubleedge: ["8L1"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainingkiss: ["8M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + dualwingbeat: ["8T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "4M"], + extremespeed: ["8L1", "7L1", "6L1", "5L1", "5S0", "4L1"], + facade: ["8M", "7M", "6M", "5M", "4M"], + fairywind: ["8L1"], + fireblast: ["8M", "7M", "6M", "5M", "4M"], + flamethrower: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + fly: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + followme: ["8L1"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + hypervoice: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + incinerate: ["6M", "5M"], + laserfocus: ["7T"], + lastresort: ["8L1", "7T", "6T", "5T", "4T"], + lifedew: ["8L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M"], + magicalleaf: ["8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["8M", "8L1"], + mudslap: ["4T"], + mysticalfire: ["8M"], + nastyplot: ["8M"], + naturalgift: ["4M"], + ominouswind: ["4T"], + playrough: ["8M"], + pluck: ["5M", "4M"], + pound: ["8L1"], + present: ["5S0"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psychic: ["8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + reflect: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rollout: ["4T"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L1", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + skyattack: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + smartstrike: ["8M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + steelwing: ["8M", "7M", "6M", "4M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + sweetkiss: ["8L1"], + swift: ["8M", "4T"], + tailwind: ["7T", "6T", "5T", "4T"], + telekinesis: ["7T", "5M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + triattack: ["8M", "8L1"], + trick: ["8M", "7T", "6T", "5T", "4T"], + twister: ["4T"], + uproar: ["8M"], + waterpulse: ["7T", "6T", "4M"], + wish: ["8L1"], + workup: ["8M", "7M", "5M"], + yawn: ["8L1"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["extremespeed", "aurasphere", "airslash", "present"]}, + ], + }, + natu: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M", "3S0"], + aircutter: ["4T"], + airslash: ["8M"], + allyswitch: ["8M", "7T", "7E", "6E", "5M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "3S0"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8L15", "7L23", "7V", "6L23", "5L23", "4L23", "3L40"], + cosmicpower: ["8M"], + curse: ["7V"], + dazzlinggleam: ["8M", "7M", "6M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + drillpeck: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + dualwingbeat: ["8T"], + endure: ["8M", "7V", "4M", "3T"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["8E", "7E", "6E", "5E", "5D", "4E", "3E"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L45", "7L44", "7V", "6L36", "5L36", "4L36", "3L30", "3S0"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + guardswap: ["8M", "8L35", "7L47", "6L47", "5L47", "4L44"], + haze: ["7E", "7V", "6E", "5E", "4E", "3E"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + imprison: ["8M"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7L12", "6L12", "5L12", "4L12"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + mefirst: ["7L50", "6L20", "5L20", "4L20"], + mimic: ["3T"], + miracleeye: ["7L36", "6L17", "5L17", "4L17"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["8L20", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L10", "3S0"], + ominouswind: ["7L20", "6L20", "5L44", "4T", "4L39"], + painsplit: ["7T", "6T", "5T", "4T"], + peck: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["5M", "4M"], + powerswap: ["8M", "8L30", "7L47", "6L47", "5L47", "4L44"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L35", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L50", "4M", "4L47", "3M", "3L50"], + psychoshift: ["8L26", "7L39", "6L33", "5L33", "4L33"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshock: ["8M", "7M", "6M", "5M"], + quickattack: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["8E", "7M", "7E", "6M", "6E", "5T", "5E", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + simplebeam: ["8E", "7E", "6E"], + skillswap: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + skyattack: ["7T", "6T", "3T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + steelwing: ["8M", "7M", "7E", "7V", "6M", "6E", "5E", "4M", "4E", "3M", "3E"], + storedpower: ["8M", "8L5", "7L17", "6L17", "5L39"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["8E", "7E", "6E", "5E", "4T", "4E"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + synchronoise: ["7E", "6E", "5E"], + tailwind: ["7T", "6T", "5T", "4T"], + telekinesis: ["7T", "5M"], + teleport: ["8L10", "7L9", "7V", "6L9", "5L9", "4L9", "3L20"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + twister: ["4T"], + uturn: ["8M", "7M", "6M", "5M", "4M"], + wish: ["8L40", "7L28", "6L28", "5L28", "4L28", "3L30"], + zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + }, + eventData: [ + {generation: 3, level: 22, moves: ["batonpass", "futuresight", "nightshade", "aerialace"]}, + ], + }, + xatu: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aircutter: ["4T"], + airslash: ["8M", "8L0", "7L1", "6L25"], + allyswitch: ["8M", "7T", "5M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["8M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8L15", "7L23", "7V", "6L23", "5L23", "4L23", "3L50"], + cosmicpower: ["8M"], + curse: ["7V"], + dazzlinggleam: ["8M", "7M", "6M"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + endure: ["8M", "7V", "4M", "3T"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L55", "7L49", "7V", "6L42", "5L42", "4L42", "3L35"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + guardswap: ["8M", "8L34", "7L53", "6L53", "5L59", "4L54"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + imprison: ["8M"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7L12", "6L12", "5L12", "4L12"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + mefirst: ["7L57", "6L20", "5L20", "4L20"], + mimic: ["3T"], + miracleeye: ["7L39", "6L17", "5L17", "4L17"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["8L20", "7L1", "7V", "6L1", "5L6", "4L6", "3L10"], + ominouswind: ["7L20", "6L20", "5L54", "4T", "4L47"], + painsplit: ["7T", "6T", "5T", "4T"], + peck: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + pluck: ["5M", "4M"], + powerswap: ["8M", "8L34", "7L53", "6L53", "5L54", "4L54"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L41", "7M", "7L35", "7V", "6M", "6L35", "5M", "5L66", "4M", "4L59", "3M", "3L65"], + psychoshift: ["8L28", "7L43", "6L37", "5L37", "4L37"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + skyattack: ["7T", "6T", "5T", "4T", "3T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + storedpower: ["8M", "8L1", "7L17", "6L17", "5L47"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tailwind: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L27", "4T", "4L27"], + telekinesis: ["7T", "5M"], + teleport: ["8L1", "7L1", "7V", "6L1", "5L9", "4L9", "3L20"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + twister: ["4T"], + uturn: ["8M", "7M", "6M", "5M", "4M"], + wish: ["8L48", "7L29", "6L29", "5L30", "4L30", "3L35"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 16, gender: "M", nature: "Modest", ivs: {hp: 15, atk: 20, def: 15, spa: 20, spd: 20, spe: 20}, abilities: ["synchronize"], pokeball: "pokeball"}, + {generation: 6, level: 24, maxEggMoves: 1}, + {generation: 7, level: 21}, + ], + }, + mareep: { + learnset: { + afteryou: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], + agility: ["9M", "9E", "7E", "6E", "5E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "7E", "7V", "6E", "5E", "4E", "3T", "3E", "3S2"], + captivate: ["4M"], + charge: ["9M", "9L15", "7L15", "7E", "6L15", "6E", "5L23", "5E", "4L23", "4E", "3E"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L25", "7L25", "6L25", "5L25"], + cottonguard: ["9L36", "7L36", "6L36", "5L32"], + cottonspore: ["9L11", "7L11", "7V", "6L11", "5L19", "4L19", "3L23", "3S0"], + curse: ["7V"], + dazzlinggleam: ["9M", "9L39"], + defensecurl: ["7V", "3T"], + dig: ["9M"], + discharge: ["9L32", "7L32", "6L32", "5L37", "4L28"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M", "9E", "7E", "6E"], + electricterrain: ["9M", "9E", "7E", "6E"], + electroball: ["9M", "9L22", "7L22", "6L22", "5L28"], + electroweb: ["9E", "7T", "6T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flatter: ["9E", "7E", "6E", "5E", "4E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + growl: ["9L1", "7L1", "7V", "6L1", "5L5", "4L5", "3L1", "3S1"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T", "3S2"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + holdback: ["6S3"], + irontail: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4M", "3M"], + lightscreen: ["9M", "9L43", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L46", "4M", "4L37", "3M", "3L30"], + magnetrise: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + naturalgift: ["4M"], + odorsleuth: ["7E", "6E", "5E", "4E", "3E"], + powergem: ["9M", "9L29", "7L29", "6L29", "5L50", "4L41"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "7V", "5D", "4E", "3E"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "7V", "6M", "5M", "4E", "3E"], + sandattack: ["7E", "6E", "5E", "4E"], + screech: ["7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "5D", "4M", "3M"], + signalbeam: ["7T", "7L39", "6T", "6L39", "5T", "5L41", "4T", "4L32"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "6S3", "5L1", "4L1", "3L1", "3S1"], + takedown: ["9M", "9L18", "7L18", "7E", "7V", "6L18", "6E", "5L18", "5E", "4E", "3E"], + terablast: ["9M"], + thunder: ["9M", "9L46", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L55", "4M", "4L46", "3M", "3L37", "3S0"], + thunderbolt: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thundershock: ["9L8", "7L8", "7V", "6L8", "6S3", "5L10", "5D", "4L10", "3L9", "3S0", "3S1", "3S2"], + thunderwave: ["9M", "9L4", "7M", "7L4", "7V", "6M", "6L4", "6S3", "5M", "5L14", "4M", "4L14", "3T", "3L16", "3S0", "3S2"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + voltswitch: ["9M"], + wildcharge: ["9M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 37, gender: "F", moves: ["thunder", "thundershock", "thunderwave", "cottonspore"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["tackle", "growl", "thundershock"], pokeball: "pokeball"}, + {generation: 3, level: 17, moves: ["healbell", "thundershock", "thunderwave", "bodyslam"]}, + {generation: 6, level: 10, moves: ["holdback", "tackle", "thunderwave", "thundershock"], pokeball: "cherishball"}, + ], + }, + flaaffy: { + learnset: { + afteryou: ["7T", "6T", "5T"], + agility: ["9M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + charge: ["9M", "9L16", "7L16", "6L16", "5L25", "4L25"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L29", "7L29", "6L29", "5L29"], + cottonguard: ["9L43", "7L43", "6L43", "5L36"], + cottonspore: ["9L11", "7L11", "7V", "6L11", "5L20", "4L20", "3L27"], + counter: ["3T"], + curse: ["7V"], + dazzlinggleam: ["9M", "9L47"], + defensecurl: ["7V", "3T"], + dig: ["9M"], + discharge: ["9L38", "7L38", "6L38", "5L42", "4L31"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "9L25", "7L25", "6L25", "5L31"], + electroweb: ["7T", "6T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + lightscreen: ["9M", "9L52", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L53", "4M", "4L42", "3M", "3L36"], + lowkick: ["9M"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + mimic: ["3T"], + naturalgift: ["4M"], + powergem: ["9M", "9L34", "7L34", "6L34", "5L59", "4L47"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "7L47", "6T", "6L47", "5T", "5L47", "4T", "4L36"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L20", "7L20", "6L20", "5L20"], + terablast: ["9M"], + thunder: ["9M", "9L56", "7M", "7L56", "7V", "6M", "6L56", "5M", "5L65", "4M", "4L53", "3M", "3L45"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + thundershock: ["9L6", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thunderwave: ["9M", "9L9", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L14", "4M", "4L14", "3T", "3L18"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "7M", "6M", "5M"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 7, level: 11, pokeball: "pokeball"}, + ], + }, + ampharos: { + learnset: { + afteryou: ["7T", "6T", "5T"], + agility: ["9M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["7M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + charge: ["9M", "9L16", "7L16", "6L16", "5L25", "4L25"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L29", "7L29", "6L29", "5L29"], + cottonguard: ["9L46", "7L46", "6L46", "5L40"], + cottonspore: ["9L11", "7L11", "7V", "6L11", "5L20", "4L20", "3L27"], + counter: ["3T"], + curse: ["7V"], + dazzlinggleam: ["9M", "9L51"], + defensecurl: ["7V", "3T"], + dig: ["9M"], + discharge: ["9L40", "7L40", "6L40", "5L48", "4L34"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonpulse: ["9M", "9L1", "7T", "7L1", "6T", "6L1"], + dragontail: ["9M"], + dynamicpunch: ["7V", "3T"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "9L25", "7L25", "6L25", "5L33"], + electroweb: ["7T", "6T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "9L1", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + icepunch: ["9M"], + iondeluge: ["7L1", "6L1"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L57", "7M", "7L57", "7V", "6M", "6L57", "5M", "5L63", "4M", "4L51", "3M", "3L42"], + lowkick: ["9M"], + magneticflux: ["9L1", "7L1", "6L1"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + mimic: ["3T"], + naturalgift: ["4M"], + outrage: ["9M", "7T", "6T", "5T", "4T"], + powergem: ["9M", "9L35", "7L35", "6L35", "5L71", "4L59"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "7L51", "6T", "6L51", "5T", "5L55", "4T", "4L42"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + stompingtantrum: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L20", "7L20", "6L20", "5L20"], + terablast: ["9M"], + thunder: ["9M", "9L62", "7M", "7L62", "7V", "6M", "6L62", "5M", "5L79", "4M", "4L68", "3M", "3L57"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "9L0", "7T", "7L1", "7V", "6T", "6L30", "5T", "5L30", "4T", "4L30", "3T", "3L30"], + thundershock: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thunderwave: ["9M", "9L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "7M", "6M", "5M"], + zapcannon: ["9L1", "7L1", "7V", "6L1"], + }, + }, + azurill: { + learnset: { + aquajet: ["9E", "8E"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bellydrum: ["9E", "8E"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7E", "6E", "5E", "4E", "3T"], + bounce: ["9L15", "8M", "8L15", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + brutalswing: ["8M"], + bubble: ["7L7", "6L7", "5L10", "4L10", "3L10"], + bubblebeam: ["9L6", "8L6", "7L13", "6L13", "5L13"], + camouflage: ["7E", "6E"], + captivate: ["4M"], + charm: ["9M", "9L9", "8M", "8L9", "7L10", "6L10", "5L2", "4L2", "3L3"], + confide: ["7M", "6M"], + copycat: ["9E", "8E", "7E", "6E"], + covet: ["7T", "6T", "5T"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + encore: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M", "7E", "6E", "5E", "4E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + helpinghand: ["9M", "9L3", "8M", "8L3", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + mimic: ["3T"], + muddywater: ["8M", "7E", "6E", "5E"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + perishsong: ["9E", "8E"], + present: ["9E", "8E"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + sing: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + slam: ["9L12", "8L12", "7L20", "7E", "6L20", "6E", "5L15", "5E", "4L15", "4E", "3L15", "3E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + soak: ["9E", "8E", "7E", "6E", "5E"], + splash: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + supersonic: ["9E", "8E"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tailwhip: ["9L1", "8L1", "7L2", "6L2", "5L7", "4L7", "3L6"], + takedown: ["9M"], + terablast: ["9M"], + tickle: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L18", "4L18", "3L21"], + waterpulse: ["7T", "6T", "4M", "3M"], + watersport: ["7L5", "7E", "6L5", "6E", "5L5", "5E"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M", "5M"], + }, + }, + marill: { + learnset: { + amnesia: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + aquajet: ["8E", "7E", "6E", "5E", "5D", "4E"], + aquaring: ["9L24", "8L24", "7L28", "6L28", "5L23", "4L23"], + aquatail: ["9L19", "8L19", "7T", "7L20", "6T", "6L20", "5T", "5L37", "4T", "4L37"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bellydrum: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7E", "6E", "5E", "4E", "3T"], + bounce: ["9L15", "8M", "8L15", "7T", "6T", "5T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M"], + bubble: ["7L7", "6L7", "5L1"], + bubblebeam: ["9L6", "8L6", "7L13", "7V", "6L13", "5L18", "4L18", "3L21"], + bulldoze: ["9M"], + camouflage: ["7E", "6E"], + captivate: ["4M"], + charm: ["9M", "9L9", "8M", "8L9"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["8E"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + defensecurl: ["9L1", "8L1", "7L10", "7V", "6L10", "5L2", "5D", "4L2", "3T", "3L3"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L33", "8L33", "7L37", "7V", "6L23", "5L27", "4L27", "3T", "3L28"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + dynamicpunch: ["7V", "3T"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foresight: ["7V"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L30", "8M", "8L30", "7L47", "6L40", "5L42", "4L42", "3L45"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "7M", "7V", "6M", "5M", "4E", "3E"], + liquidation: ["9M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M"], + mimic: ["3T"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + muddywater: ["8M", "7E", "6E", "5E"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + perishsong: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + playrough: ["9M", "9L21", "8M", "8L21", "7L23", "6L23"], + poweruppunch: ["6M"], + present: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L27", "8M", "8L27", "7M", "7L31", "7V", "6M", "6L31", "5M", "5L32", "4M", "4L32", "3M", "3L36"], + refresh: ["7E", "6E", "5E", "4E"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["9L1", "8L1", "7L10", "7V", "6L10", "5L15", "4T", "4L15", "3T", "3L15"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + sing: ["8E"], + slam: ["9L12", "8L12"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + soak: ["8E"], + steelroller: ["8T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + superpower: ["9L36", "8M", "8L36", "7T", "7L40", "7E", "6T", "6L37", "6E", "5T", "5L37", "5E", "4T", "4E"], + supersonic: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "7L2", "7V", "6L2", "5L7", "4L7", "3L6"], + takedown: ["9M"], + terablast: ["9M"], + tickle: ["8E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L10", "4L10", "3L10"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + watersport: ["7L5", "7E", "6L5", "6E", "5L5", "5E"], + whirlpool: ["8M", "7V", "4M"], + workup: ["8M", "7M", "5M"], + }, + }, + azumarill: { + learnset: { + amnesia: ["9M", "8M"], + aquaring: ["9L30", "8L30", "7L31", "6L31", "5L27", "4L27"], + aquatail: ["9L21", "8L21", "7T", "7L21", "6T", "6L21", "5T", "5L47", "4T", "4L47"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + bounce: ["9L15", "8M", "8L15", "7T", "6T", "5T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M"], + bubble: ["7L7", "6L7", "5L1"], + bubblebeam: ["9L6", "8L6", "7L13", "7V", "6L13", "5L20", "4L20", "3L24"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M", "9L9", "8M", "8L9"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + curse: ["7V"], + defensecurl: ["9L1", "8L1", "7L10", "7V", "6L10", "5L1", "4L1", "3T", "3L1"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + disarmingvoice: ["9M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L45", "8L45", "7L42", "7V", "6L25", "5L33", "4L33", "3T", "3L34"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "8M"], + dynamicpunch: ["7V", "3T"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L40", "8M", "8L40", "7L55", "6L46", "5L54", "4L54", "3L57"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + liquidation: ["9M", "8M", "7T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M"], + mimic: ["3T"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + playrough: ["9M", "9L25", "8M", "8L25", "7L25", "6L25"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L35", "8M", "8L35", "7M", "7L35", "7V", "6M", "6L35", "5M", "5L40", "4M", "4L40", "3M", "3L45"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rollout: ["9L1", "8L1", "7L10", "7V", "6L10", "5L15", "4T", "4L15", "3T", "3L15"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + slam: ["9L12", "8L12"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + steelroller: ["8T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["9L50", "8M", "8L50", "7T", "7L46", "6T", "6L42", "5T", "5L42", "4T"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + watersport: ["7L1", "6L1", "5L1"], + whirlpool: ["8M", "7V", "4M"], + workup: ["8M", "7M", "5M"], + }, + encounters: [ + {generation: 5, level: 5}, + {generation: 6, level: 16, maxEggMoves: 1}, + ], + }, + bonsly: { + learnset: { + afteryou: ["7T", "6T", "5T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + block: ["9L12", "8L12", "7T", "7L29", "6T", "6L26", "5T", "5L22", "4T", "4L22"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + counter: ["9L40", "8L40", "7L36", "6L33"], + covet: ["7T", "6T", "5T"], + curse: ["9E", "8E", "7E", "6E", "5E"], + defensecurl: ["9E", "8E", "7E", "6E", "5E", "4E"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleedge: ["9L44", "8L44", "7L43", "6L40", "5L46", "4L46"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M"], + endure: ["9M", "8M", "7E", "6E", "5E", "4M"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + feintattack: ["7L19", "6L19", "5L25", "4L25"], + flail: ["9L4", "8L4", "7L5", "6L5", "5L6", "4L6"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + grassknot: ["9M"], + harden: ["9E", "8E", "7E", "6E", "5E", "4E"], + headbutt: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + lowkick: ["9M", "9L36", "8M", "8L36", "7T", "7L8", "6T", "6L8", "5T", "5L9", "4T", "4L9"], + mimic: ["9L16", "8L16", "7L15", "6L15", "5L17", "4L17"], + mudshot: ["9M"], + mudslap: ["9M"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + powergem: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockblast: ["9M"], + rockpolish: ["9E", "8E", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L33", "6M", "6L29", "5M", "5L33", "4M", "4L33"], + rockthrow: ["9L8", "8L8", "7L12", "6L12", "5L14", "4L14"], + rocktomb: ["9M", "9L20", "8M", "8L20", "7M", "7L26", "6M", "6L22", "5M", "5L30", "4M", "4L30"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M", "8M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M"], + selfdestruct: ["8M", "7E", "6E", "5E", "4E"], + slam: ["5L38", "4L38"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spikes: ["9M"], + stealthrock: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L28", "8L28", "7L40", "6L36", "5L41", "4T", "4L41"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + takedown: ["9M"], + tearfullook: ["9L24", "8L24", "7L22"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + sudowoodo: { + learnset: { + afteryou: ["7T", "6T", "5T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["9L12", "8L12", "7T", "7L29", "6T", "6L26", "5T", "5L22", "4T", "4L22", "3L33"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + counter: ["9L40", "8L40", "7L36", "6L33", "5L33", "3T"], + covet: ["7T", "6T", "5T"], + curse: ["8E", "7E", "7V", "6E", "5E"], + defensecurl: ["8E", "7E", "7V", "6E", "5E", "4E", "3T"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L44", "8L44", "7L43", "6L40", "5L46", "4L46", "3T", "3L57"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7E", "7V", "6E", "5E", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "9L1", "8M", "8L1"], + feintattack: ["7L19", "7V", "6L19", "5L25", "4L25", "3L41"], + firepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + flail: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L9"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + hammerarm: ["9L1", "8L1", "7L50", "6L47", "5L49", "4L49"], + harden: ["8E", "7E", "6E", "5E", "4E"], + headbutt: ["8E", "7E", "7V", "6E", "5E", "4T", "4E"], + headsmash: ["9L48", "8L48", "7L54"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + icepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "8M"], + lowkick: ["9M", "9L36", "8M", "8L36", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L17"], + lowsweep: ["9M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + meteorbeam: ["8T"], + mimic: ["9L16", "8L16", "7L15", "7V", "6L15", "5L17", "4L17", "3T", "3L1"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + powergem: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "8M"], + rockpolish: ["8E", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L33", "7V", "6M", "6L29", "5M", "5L33", "4M", "4L33", "3T", "3L25"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + rocktomb: ["9M", "9L20", "8M", "8L20", "7M", "7L26", "6M", "6L22", "5M", "5L30", "4M", "4L30", "3M"], + roleplay: ["7T", "6T", "5T", "5D", "4T"], + rollout: ["8E", "7E", "7V", "6E", "5E", "5D", "4T", "4E", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + selfdestruct: ["8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + slam: ["9L0", "8L0", "7L1", "7V", "6L15", "5L38", "4L38", "3L49"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikes: ["9M"], + stealthrock: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L1", "8M", "8L1", "7M", "7L47", "6M", "6L43", "5M", "5L43", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L28", "8L28", "7L40", "6L36", "5L41", "4T", "4L41"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + tearfullook: ["9L24", "8L24", "7L22"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["8M"], + woodhammer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + }, + }, + hoppip: { + learnset: { + absorb: ["9L6", "7L1"], + acrobatics: ["9M", "9L24", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + amnesia: ["7E", "7V", "6E", "5E", "4E", "3E"], + aromatherapy: ["7E", "6E", "5E", "4E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bounce: ["9L35", "7T", "7L46", "6T", "6L46", "5T", "5L46", "5D", "4T", "4L40"], + bulletseed: ["9M", "9L12", "7L19", "6L19", "5L19", "5D", "4M", "4L19", "3M"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + confusion: ["7E", "7V", "6E", "5E", "4E", "3E"], + cottonguard: ["9E", "7E", "6E", "5E"], + cottonspore: ["9L27", "7L34", "7V", "6L34", "5L34", "4L28", "3L25"], + curse: ["7V"], + dazzlinggleam: ["9M", "7M", "6M"], + defensecurl: ["7V", "3T"], + doubleedge: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M", "9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + endure: ["9M", "7E", "7V", "6E", "5E", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fairywind: ["9L8", "7L10", "6L10"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L32", "7T", "7L43", "7V", "6T", "6L43", "5T", "5L43", "4M", "4L37", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyterrain: ["9M", "9E", "7E", "6E"], + growl: ["7V"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + leafstorm: ["9M"], + leechseed: ["9L19", "7L22", "7V", "6L22", "5L22", "4L22", "3L20"], + lightscreen: ["9M"], + lunge: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L22", "7L25", "7V", "6L25", "5L25", "4L25", "3L30"], + memento: ["9L38", "7L49", "6L49", "5L49", "4L43"], + mimic: ["3T"], + naturalgift: ["4M"], + payday: ["7V"], + poisonpowder: ["9L10", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], + pollenpuff: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4E", "3E"], + ragepowder: ["9E", "7L31", "6L31", "5L31"], + raindance: ["9M"], + reflect: ["9M", "7M", "7V", "6M", "5M", "4E", "3E"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + silverwind: ["4M"], + sleeppowder: ["9L10", "7L16", "7V", "6L16", "5L16", "4L16", "3L17"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + splash: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + strengthsap: ["9E", "7E"], + stunspore: ["9L10", "7L14", "7V", "6L14", "5L14", "4L14", "3L15"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + switcheroo: ["9E"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L15", "7T", "7L4", "7V", "6T", "6L4", "5T", "5L4", "5D", "4T", "4L4", "3L5"], + tackle: ["9L1", "7L8", "7V", "6L8", "5L10", "4L10", "3L10"], + tailwhip: ["9L4", "7L6", "7V", "6L6", "5L7", "4L7", "3L5"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uturn: ["9M", "9L29", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L31"], + worryseed: ["9E", "7T", "7L40", "7E", "6T", "6L40", "6E", "5T", "5L40", "5E", "4T", "4L34", "4E"], + }, + encounters: [ + {generation: 2, level: 3}, + ], + }, + skiploom: { + learnset: { + absorb: ["9L1", "7L1"], + acrobatics: ["9M", "9L28", "7M", "7L32", "6M", "6L32", "5M", "5L32"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bounce: ["9L41", "7T", "7L56", "6T", "6L56", "5T", "5L56", "4T", "4L48"], + bulletseed: ["9M", "9L15", "7L20", "6L20", "5L20", "4M", "4L20", "3M"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + cottonspore: ["9L31", "7L40", "7V", "6L40", "5L40", "4L32", "3L29"], + curse: ["7V"], + dazzlinggleam: ["9M", "7M", "6M"], + defensecurl: ["7V", "3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fairywind: ["9L10", "7L10", "6L10"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L37", "7T", "7L52", "7V", "6T", "6L52", "5T", "5L52", "4M", "4L44", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyterrain: ["9M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + leafstorm: ["9M"], + leechseed: ["9L20", "7L24", "7V", "6L24", "5L24", "4L24", "3L22"], + lightscreen: ["9M"], + lunge: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L24", "7L28", "7V", "6L28", "5L28", "4L28", "3L36"], + memento: ["9L44", "7L60", "6L60", "5L60", "4L52"], + mimic: ["3T"], + naturalgift: ["4M"], + poisonpowder: ["9L12", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], + pollenpuff: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M"], + ragepowder: ["7L36", "6L36", "5L36"], + raindance: ["9M"], + reflect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + silverwind: ["4M"], + sleeppowder: ["9L12", "7L16", "7V", "6L16", "5L16", "4L16", "3L17"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + splash: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + stunspore: ["9L12", "7L14", "7V", "6L14", "5L14", "4L14", "3L15"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L1", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + tackle: ["9L8", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uturn: ["9M", "9L34", "7M", "7L44", "6M", "6L44", "5M", "5L44", "4M", "4L36"], + worryseed: ["7T", "7L48", "6T", "6L48", "5T", "5L48", "4T", "4L40"], + }, + encounters: [ + {generation: 4, level: 12}, + ], + }, + jumpluff: { + learnset: { + absorb: ["9L1", "7L1"], + acrobatics: ["9M", "9L30", "7M", "7L34", "6M", "6L34", "5M", "5L34"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bounce: ["9L49", "7T", "7L64", "6T", "6L64", "5T", "5L64", "4T", "4L48"], + bulletseed: ["9M", "9L15", "7L20", "6L20", "5L20", "5S0", "4M", "4L20", "3M"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + cottonspore: ["9L35", "7L44", "7V", "6L44", "5L44", "4L32", "3L33"], + curse: ["7V"], + dazzlinggleam: ["9M", "7M", "6M"], + defensecurl: ["7V", "3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["9M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fairywind: ["9L10", "7L10", "6L10"], + falseswipe: ["5S0"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L43", "7T", "7L59", "7V", "6T", "6L59", "5T", "5L59", "4M", "4L44", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyterrain: ["9M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + leafstorm: ["9M"], + leechseed: ["9L20", "7L24", "7V", "6L24", "5L24", "5S0", "4L24", "3L22"], + lightscreen: ["9M"], + lunge: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L24", "7L29", "7V", "6L29", "5L29", "4L28", "3L44"], + memento: ["9L55", "7L69", "6L69", "5L69", "4L52"], + mimic: ["3T"], + naturalgift: ["4M"], + poisonpowder: ["9L12", "7L12", "7V", "6L12", "5L12", "4L12", "3L13"], + pollenpuff: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M"], + ragepowder: ["7L39", "6L39", "5L39"], + raindance: ["9M"], + reflect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + silverwind: ["4M"], + sleeppowder: ["9L12", "7L16", "7V", "6L16", "5L16", "5S0", "4L16", "3L17"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + splash: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + stunspore: ["9L12", "7L14", "7V", "6L14", "5L14", "4L14", "3L15"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L1", "7T", "7L1", "7V", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + tackle: ["9L8", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uturn: ["9M", "9L39", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L36"], + worryseed: ["7T", "7L54", "6T", "6L54", "5T", "5L54", "4T", "4L40"], + }, + eventData: [ + {generation: 5, level: 27, gender: "M", isHidden: true, moves: ["falseswipe", "sleeppowder", "bulletseed", "leechseed"]}, + ], + }, + aipom: { + learnset: { + acrobatics: ["9M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L29", "7L29", "7E", "7V", "6L29", "6E", "5L29", "5E", "4L29", "4E", "3L50", "3E"], + astonish: ["9L8", "7L8", "6L8", "5L8", "4L8", "3L13"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "9L11", "7L11", "7V", "6L11", "5L11", "4L11", "3L18"], + beatup: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["3T"], + bounce: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + covet: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doublehit: ["9L32", "7L32", "6L32", "5L32", "4L32"], + doubleslap: ["7E", "7V", "6E", "5E", "4E", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9E", "7E", "6E", "5E", "5D", "4E"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "5D", "4T", "3T"], + fling: ["9M", "9L36", "7M", "7L36", "6M", "6L36", "5M", "5L36", "4M", "4L36"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["9L18", "7L18", "7V", "6L18", "5L18", "4L18", "3L31"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + irontail: ["9E", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["9L43", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + nastyplot: ["9M", "9L39", "7L39", "6L39", "5L39", "4L39"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payback: ["7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + quickguard: ["9E", "7E", "6E"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["7E", "6E", "5E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + sandattack: ["9L4", "7L4", "7V", "6L4", "5L4", "4L4", "3L6", "3S0"], + scratch: ["9L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + screech: ["9L25", "7L25", "7E", "7V", "6L25", "6E", "5L25", "5E", "4L25", "4E", "3L43", "3E"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slam: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spite: ["9M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L22", "7L22", "7V", "6L22", "5L22", "4T", "4L22", "3T", "3L38"], + switcheroo: ["9E", "7E", "6E", "5E"], + tailslap: ["7E"], + tailwhip: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + tickle: ["9L15", "7L15", "6L15", "5L15", "4L15", "3L25"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + workup: ["7M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["scratch", "tailwhip", "sandattack"], pokeball: "pokeball"}, + ], + }, + ambipom: { + learnset: { + acrobatics: ["9M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M", "9L29", "7L29", "6L29", "5L29", "4L29"], + astonish: ["9L1", "7L1", "6L1", "5L1", "4L1"], + attract: ["7M", "6M", "5M", "4M"], + batonpass: ["9M", "9L11", "7L11", "6L11", "5L11", "4L11"], + bounce: ["7T", "6T", "5T", "4T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dig: ["9M", "6M", "5M", "4M"], + doublehit: ["9L32", "7L32", "6L32", "5L32", "4L32"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + dualchop: ["7L1"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "7T", "6T", "5T", "4T"], + fling: ["9M", "9L36", "7M", "7L36", "6M", "6L36", "5M", "5L36", "4M", "4L36"], + focuspunch: ["9M", "7T", "6T", "4M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + furyswipes: ["9L18", "7L18", "6L18", "5L18", "4L18"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["9L43", "7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + metronome: ["9M"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + nastyplot: ["9M", "9L39", "7L39", "6L39", "5L39", "4L39"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + sandattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], + scratch: ["9L1", "7L1", "6L1", "5L1", "4L1"], + screech: ["9L25", "7L25", "6L25", "5L25", "4L25"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + shadowball: ["9M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L22", "7L22", "6L22", "5L22", "4T", "4L22"], + tailwhip: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + tickle: ["9L15", "7L15", "6L15", "5L15", "4L15"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M"], + workup: ["7M", "5M"], + }, + }, + sunkern: { + learnset: { + absorb: ["9L7", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + afteryou: ["7T", "6T", "5T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7E", "6E", "5E"], + bulletseed: ["9M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + cut: ["7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9L34", "7L37", "6L37", "5L37", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "7T", "6T", "5T", "5D", "4T"], + encore: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + endeavor: ["9L25", "7T", "7L25", "6T", "6L25", "5T", "5L21", "4T", "4L21", "3L25"], + endure: ["9M", "7E", "7V", "6E", "5E", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L22", "7T", "7L22", "7V", "6T", "6L22", "5T", "5L41", "4M", "4L41", "3M", "3L42"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7L7", "7E", "6L7", "6E", "5L13", "5E", "4L13", "4E", "3E"], + grassyterrain: ["9M", "9E", "7E", "6E"], + growth: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L6", "3S0"], + helpinghand: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + ingrain: ["9E", "7L4", "7E", "6L4", "6E", "5L9", "5E", "4L9", "4E", "3L18"], + leafstorm: ["9M"], + leechseed: ["9E", "7L13", "7E", "6L13", "6E", "5L17", "5E", "4L17", "4E", "3E"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M"], + megadrain: ["9L10", "7L10", "7V", "6L10", "5L5", "5D", "4L5", "3L13"], + mimic: ["3T"], + morningsun: ["9E", "7E", "6E", "5E"], + naturalgift: ["7L31", "7E", "6L31", "6E", "5L31", "5E", "4M"], + naturepower: ["7M", "7E", "6M", "6E", "5E", "4E", "3E"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + razorleaf: ["9L16", "7L16", "6L16", "5L29", "4L29"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "9L39", "7T", "7L43", "6T", "6L43", "5T", "5L45", "4T", "4L45"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "9L31", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "9L36", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L37", "4M", "4L37", "3M", "3L30"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7E", "7V", "6E", "5E", "5D", "4E"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L28", "7T", "7L28", "7V", "6T", "6L28", "5T", "5L33", "4T", "4L33", "3L37"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T", "4T"], + weatherball: ["9M"], + worryseed: ["9L19", "7T", "7L19", "6T", "6L19", "5T", "5L25", "4T", "4L25"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["chlorophyll"], moves: ["absorb", "growth"], pokeball: "pokeball"}, + ], + }, + sunflora: { + learnset: { + absorb: ["9L7", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + afteryou: ["7T", "6T", "5T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bulletseed: ["9M", "9L25", "7L25", "6L25", "5L21", "4M", "4L21", "3M", "3L25"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + dazzlinggleam: ["9M"], + doubleedge: ["9L34", "7L37", "6L37", "5L37", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + encore: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + flowershield: ["7L1", "6L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L22", "7T", "7L22", "7V", "6T", "6L22", "5T", "5L22", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7L7", "6L7", "5L13", "4L13"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L6"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + ingrain: ["9L4", "7L4", "6L4", "5L9", "4L9", "3L18"], + leafstorm: ["9M", "9L43", "7L43", "6L43", "5L45", "4L43"], + leechseed: ["9L13", "7L13", "6L13", "5L17", "4L17"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M"], + megadrain: ["9L10", "7L10", "6L10", "5L5", "4L5"], + mimic: ["3T"], + naturalgift: ["7L31", "6L31", "5L31", "4M"], + naturepower: ["7M", "6M"], + petalblizzard: ["9L50", "7L50", "6L50"], + petaldance: ["9L28", "7L28", "7V", "6L28", "5L33", "4L33", "3L37"], + pound: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + razorleaf: ["9L16", "7L16", "7V", "6L16", "5L29", "4L29", "3L13"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "9L31", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L41", "4M", "4L41", "3M", "3L42"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "9L39", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L37", "4M", "4L37", "3M", "3L30"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T", "4T"], + weatherball: ["9M"], + worryseed: ["9L19", "7T", "7L19", "6T", "6L19", "5T", "5L25", "4T", "4L25"], + }, + }, + yanma: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "9L14", "4T"], + airslash: ["9M", "9L54", "7L54", "6L54", "5L54", "4L54"], + ancientpower: ["9L33", "7L33", "6L33", "5L33", "4T", "4L33"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bugbite: ["9M", "9L30", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L57", "7L57", "6L57", "5L57", "4L57"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["9L17", "7L17", "7V", "6L17", "5L17", "4L17", "3L25"], + doubleedge: ["9E", "7E", "6E", "5E", "3T"], + doubleteam: ["9L11", "7M", "7L11", "7V", "6M", "6L11", "5M", "5L11", "4M", "4L11", "3M", "3L12"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9E", "7E", "6E", "5E", "5D", "4E"], + feintattack: ["7E", "6E", "5E", "4E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foresight: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypnosis: ["9L38", "7L38", "6L38", "5L38", "4L38", "3L23"], + leechlife: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + lunge: ["9M"], + mimic: ["3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pounce: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7L30", "7E", "6L30", "6E", "5L30", "5E", "4L30", "4E"], + quickattack: ["9L6", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L6"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + screech: ["9L46", "7L46", "7V", "6L46", "5L46", "4L46", "3L49"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + silverwind: ["7E", "6E", "5E", "4M", "4E", "3E"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sonicboom: ["7L14", "7V", "6L14", "5L14", "4L14", "3L17"], + steelwing: ["7M", "6M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + supersonic: ["9L22", "7L22", "7V", "6L22", "5L22", "4L22", "3L31"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + swordsdance: ["9M"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["9M", "9L27", "7T", "7L27", "6T", "6L27", "5T", "5L27", "4T", "4L27", "3L34"], + uturn: ["9M", "9L49", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L49"], + whirlwind: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + wingattack: ["9L43", "7L43", "7V", "6L43", "5L43", "4L43", "3L39"], + }, + }, + yanmega: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L1", "7L1", "6L1", "5L54", "4L49"], + ancientpower: ["9L33", "7L33", "6L33", "5L33", "4T", "4L33"], + attract: ["7M", "6M", "5M", "4M"], + bugbite: ["9M", "9L30", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + bugbuzz: ["9M", "9L1", "7L1", "6L1", "5L57", "4L54"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M"], + defog: ["7T", "4M"], + detect: ["9L17", "7L17", "6L17", "5L17", "4L17"], + doubleteam: ["9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + dreameater: ["7M", "6M", "5M", "4M"], + dualwingbeat: ["9M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + feint: ["9L38", "7L38", "6L38", "5L38", "4L38"], + flash: ["6M", "5M", "4M"], + foresight: ["7L1", "6L1", "5L1", "4L1"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["9M", "7T", "6T", "5T", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + laserfocus: ["7T"], + leechlife: ["9M", "7M"], + lunge: ["9M"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightslash: ["9L1", "7L1", "6L1", "5L1", "4L1"], + ominouswind: ["4T"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + pursuit: ["7L30", "6L30", "5L30", "4L30"], + quickattack: ["9L14", "7L1", "6L1", "5L1", "4L1"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + reversal: ["9M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["9L46", "7L46", "6L46", "5L46", "4L43"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + slash: ["9L43", "7L43", "6L43", "5L43", "4L38"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + sonicboom: ["7L14", "6L14", "5L14", "4L14"], + steelwing: ["7M", "6M", "4M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + supersonic: ["9L22", "7L22", "6L22", "5L22", "4L22"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + swordsdance: ["9M"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["9M", "9L27", "7T", "7L27", "6T", "6L27", "5T", "5L27", "4T", "4L27"], + uturn: ["9M", "9L49", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L46"], + }, + }, + wooper: { + learnset: { + acidspray: ["9M", "9E", "8E", "7E", "6E", "5E"], + afteryou: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + amnesia: ["9M", "9L32", "8M", "8L32", "7L23", "7V", "6L23", "5L23", "4L23", "3L21"], + ancientpower: ["9E", "8E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], + aquatail: ["9L24", "8L24", "7T", "6T", "5T", "5D", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7E", "7V", "6E", "5E", "5D", "4E", "3T", "3E"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + defensecurl: ["7V", "3T"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doublekick: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L40", "8M", "8L40", "7M", "7L33", "7V", "6M", "6L33", "5M", "5L33", "4M", "4L33", "3M", "3L36"], + eerieimpulse: ["8M", "7E", "6E"], + encore: ["9M", "8M", "7E", "6E", "5E", "4E"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + guardswap: ["8M", "7E", "6E"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M", "9L12", "8L12", "7L43", "7V", "6L43", "5L43", "4L43", "3L51"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "8M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + infestation: ["7M", "6M"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + liquidation: ["9M"], + mimic: ["3T"], + mist: ["9L12", "8L12", "7L43", "7V", "6L43", "5L43", "4L43", "3L51"], + mudbomb: ["7L19", "6L19", "5L19", "4L19"], + muddywater: ["9L28", "8M", "8L28", "7L47", "6L47", "5L47", "4L47"], + mudshot: ["9M", "9L8", "8M", "8L8", "7L9", "6L9", "5L9", "4L9", "3L16"], + mudslap: ["9M", "7V", "4T", "3T"], + mudsport: ["7L5", "7E", "6L5", "6E", "5L5", "5E", "4L5", "4E", "3E"], + naturalgift: ["4M"], + poweruppunch: ["8E", "7E"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L4", "8M", "8L4", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M", "3L41"], + recover: ["9E", "8E", "7E", "6E", "5E", "4E"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + slam: ["9L16", "8L16", "7L15", "7V", "6L15", "5L15", "4L15", "3L11"], + sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + spikes: ["9M"], + spitup: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + stealthrock: ["9M"], + stockpile: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + tailwhip: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L36", "8L36", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + yawn: ["9L21", "8L21", "7L29", "6L29", "5L29", "4L29", "3L31"], + }, + encounters: [ + {generation: 2, level: 4}, + ], + }, + wooperpaldea: { + learnset: { + acidspray: ["9M", "9E"], + afteryou: ["9E"], + amnesia: ["9M", "9L32"], + ancientpower: ["9E"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + counter: ["9E"], + curse: ["9E"], + dig: ["9M"], + doublekick: ["9E"], + earthpower: ["9M"], + earthquake: ["9M", "9L40"], + endure: ["9M"], + facade: ["9M"], + gunkshot: ["9M"], + haze: ["9M", "9E"], + helpinghand: ["9M"], + hydropump: ["9M"], + liquidation: ["9M"], + lowkick: ["9M"], + mist: ["9E"], + mudshot: ["9M", "9L1"], + mudslap: ["9M"], + poisonjab: ["9M", "9L24"], + poisontail: ["9M", "9L8"], + protect: ["9M"], + raindance: ["9M"], + recover: ["9E"], + rest: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + slam: ["9L16"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + sludgewave: ["9L28"], + spikes: ["9M"], + spitup: ["9E"], + stealthrock: ["9M"], + stockpile: ["9E"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + surf: ["9M"], + swallow: ["9E"], + tackle: ["9L4"], + tailwhip: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L36"], + toxicspikes: ["9M", "9L12"], + trailblaze: ["9M"], + venoshock: ["9M"], + waterfall: ["9M"], + waterpulse: ["9M"], + yawn: ["9L21"], + }, + }, + quagsire: { + learnset: { + acidspray: ["9M"], + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L40", "8M", "8L40", "7L24", "7V", "6L24", "5L24", "4L24", "3L23"], + ancientpower: ["4T"], + aquatail: ["9L28", "8L28", "7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["9M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L52", "8M", "8L52", "7M", "7L36", "7V", "6M", "6L36", "5M", "5L36", "4M", "4L36", "3M", "3L42"], + eerieimpulse: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + guardswap: ["8M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M", "9L12", "8L12", "7L48", "7V", "6L48", "5L48", "4L48", "3L61"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + infestation: ["7M", "6M"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + liquidation: ["9M", "8M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mist: ["9L12", "8L12", "7L48", "7V", "6L48", "5L48", "4L48", "3L61"], + mudbomb: ["7L19", "6L19", "5L19", "4L19"], + muddywater: ["9L34", "8M", "8L34", "7L53", "6L53", "5L53", "4L53"], + mudshot: ["9M", "9L1", "8M", "8L1", "7L9", "6L9", "5L9", "4L9", "3L16"], + mudslap: ["9M", "7V", "4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L1", "8M", "8L1", "7M", "7L41", "7V", "6M", "6L41", "5M", "5L41", "4M", "4L41", "3M", "3L49"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + slam: ["9L16", "8L16", "7L15", "7V", "6L15", "5L15", "4L15", "3L11"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + spikes: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tailwhip: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + toxic: ["9M", "9L46", "8L46", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + yawn: ["9L23", "8L23", "7L31", "6L31", "5L31", "4L31", "3L35"], + }, + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 10}, + ], + }, + clodsire: { + learnset: { + acidspray: ["9M"], + amnesia: ["9M", "9L0"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + dig: ["9M"], + earthpower: ["9M"], + earthquake: ["9M", "9L48"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + haze: ["9M"], + heavyslam: ["9M"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + ironhead: ["9M"], + liquidation: ["9M"], + lowkick: ["9M"], + megahorn: ["9L36"], + mudshot: ["9M", "9L8"], + mudslap: ["9M"], + poisonjab: ["9M", "9L24"], + poisonsting: ["9L1"], + poisontail: ["9M", "9L12"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + slam: ["9L16"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + sludgewave: ["9L30"], + spikes: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + surf: ["9M"], + tailwhip: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L40"], + toxicspikes: ["9M", "9L4"], + trailblaze: ["9M"], + venoshock: ["9M"], + waterfall: ["9M"], + waterpulse: ["9M"], + yawn: ["9L21"], + zenheadbutt: ["9M"], + }, + }, + murkrow: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + assurance: ["9L25", "7L25", "7E", "6L25", "6E", "5L25", "5E", "4L25"], + astonish: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L9", "3S0"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bravebird: ["9M", "9E", "7E", "6E", "5E", "4E"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9E", "7E", "6E", "5E", "5D", "4E", "3E"], + curse: ["7V"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + drillpeck: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + dualwingbeat: ["9M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["9E", "7E", "6E", "5E", "4E", "3E"], + feintattack: ["7L35", "7E", "7V", "6L35", "6E", "5L35", "5E", "4L35", "4E", "3L35"], + flatter: ["9E", "7E", "6E"], + fly: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + foulplay: ["9M", "9L40", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], + gust: ["9L5"], + haze: ["9M", "9L11", "7L11", "7V", "6L11", "5L11", "4L11", "3L22"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + hex: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["9M"], + hyperbeam: ["9M"], + icywind: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + lashout: ["9M"], + meanlook: ["9L35", "7L41", "7V", "6L41", "5L41", "4L41", "3L48"], + mimic: ["3T"], + mirrormove: ["7E", "7V", "6E", "5E", "4E", "3E"], + mudslap: ["9M", "7V", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M", "9L21", "7L21", "7V", "6L21", "5L21", "4L21", "3L27"], + ominouswind: ["4T"], + payback: ["7M", "6M", "5M", "4M"], + peck: ["9L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + perishsong: ["9E", "7E", "6E", "5E", "4E", "3E"], + pluck: ["5M", "4M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychoshift: ["7E", "6E", "5E", "4E"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + pursuit: ["7L5", "7V", "6L5", "5L5", "4L5", "3L14"], + quash: ["9L60", "7M", "7L65", "6M", "6L65", "5M", "5L65"], + quickattack: ["7V"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roost: ["7M", "7E", "6M", "6E", "5T", "5E", "5D", "4M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["9E", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + skyattack: ["9E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4E", "3T", "3E"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + steelwing: ["7M", "7V", "6M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L50", "7L55", "6L55", "5L55", "4T", "4L45"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + tailwind: ["9M", "7T", "7L50", "6T", "6L50", "5T", "5L51", "4T"], + takedown: ["9M"], + taunt: ["9M", "9L31", "7M", "7L31", "6M", "6L31", "5M", "5L31", "4M", "4L31", "3M", "3L40"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + torment: ["9L55", "7M", "7L61", "6M", "6L61", "5M", "5L61", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M"], + whirlwind: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + wingattack: ["9L15", "7L15", "7E", "7V", "6L15", "6E", "5L15", "5E", "4L15", "4E", "3E"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["insomnia"], moves: ["peck", "astonish"], pokeball: "pokeball"}, + ], + }, + honchkrow: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + astonish: ["9L1", "7L1", "6L1", "5L1", "4L1"], + attract: ["7M", "6M", "5M", "4M"], + bravebird: ["9M"], + calmmind: ["9M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + comeuppance: ["9L65"], + confide: ["7M", "6M"], + confuseray: ["9M"], + darkpulse: ["9M", "9L55", "7M", "7L75", "6M", "6L75", "5T", "5L75", "4M", "4L55"], + defog: ["7T", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + dualwingbeat: ["9M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fly: ["9M", "7M", "6M", "5M", "4M"], + foulplay: ["9M", "9L45", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + haze: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + heatwave: ["9M", "7T", "7S0", "6T", "5T", "4T"], + helpinghand: ["9M"], + hex: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hurricane: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "7T", "7S0", "6T", "5T"], + incinerate: ["6M", "5M"], + lashout: ["9M"], + mudslap: ["9M", "4T"], + nastyplot: ["9M", "9L35", "7L35", "6L35", "5L35", "4L35"], + naturalgift: ["4M"], + nightshade: ["9M"], + nightslash: ["9L1", "7L1", "7S0", "6L1", "5L55", "4L45"], + ominouswind: ["4T"], + payback: ["7M", "6M", "5M", "4M"], + pluck: ["5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + pursuit: ["7L1", "6L1", "5L1", "4L1"], + quash: ["9L1", "7M", "7L65", "6M", "6L65", "5M", "5L65"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "7M", "6M", "5M", "4M"], + skyattack: ["7T", "7S0", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snarl: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["7T", "6T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + steelwing: ["7M", "6M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L1", "7L1", "6L1", "4T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["9L25", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25"], + swift: ["4T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M"], + wingattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], + }, + eventData: [ + {generation: 7, level: 65, gender: "M", abilities: ["superluck"], moves: ["nightslash", "skyattack", "heatwave", "icywind"], pokeball: "cherishball"}, + ], + }, + misdreavus: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + allyswitch: ["7T"], + astonish: ["9L10", "7L10", "6L10", "5L10", "4L10", "3L11"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + burningjealousy: ["9M"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L14", "7L14", "7V", "6L14", "5L14", "4L14", "3L17"], + confusion: ["9L1"], + curse: ["9E", "7E", "7V", "6E", "5E", "4E"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + dazzlinggleam: ["9M", "7M", "6M"], + defensecurl: ["7V", "3T"], + destinybond: ["9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + grudge: ["7L50", "6L50", "5L50", "4L46", "3L53"], + headbutt: ["7V", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hex: ["9M", "9L23", "7L23", "6L23", "5L23"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M"], + hypervoice: ["9M", "7T", "6T", "5T"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + inferno: ["5D"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["7T", "6T", "5T"], + meanlook: ["9L19", "7L19", "7V", "6L19", "5L19", "4L19", "3L23"], + mefirst: ["7E", "6E"], + memento: ["9E", "7E", "6E", "5E", "4E"], + mimic: ["3T"], + nastyplot: ["9M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + nightshade: ["9M"], + ominouswind: ["7E", "6E", "5E", "4T", "4E"], + painsplit: ["9L32", "7T", "7L32", "7V", "6T", "6L32", "5T", "5L32", "4T", "4L28", "3L37"], + payback: ["9L37", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L32"], + perishsong: ["9L46", "7L46", "7V", "6L46", "5L46", "4L41", "3L45"], + phantomforce: ["9M"], + poltergeist: ["9M"], + powergem: ["9M", "9L50", "7L55", "6L55", "5L55", "4L50"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L28", "7L28", "7V", "6L28", "5L28", "4L23", "3L30"], + psychic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshock: ["9M"], + psywave: ["7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "9L41", "7M", "7L41", "7V", "6M", "6L41", "5M", "5L41", "4M", "4L37", "3M"], + shadowsneak: ["9E", "7E", "6E", "5E", "4E"], + shockwave: ["7T", "6T", "4M", "3M"], + skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + spite: ["9M", "9E", "7T", "7L5", "7E", "7V", "6T", "6L5", "6E", "5T", "5L5", "5E", "4T", "4L5", "4E", "3L6", "3S0"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9E", "7E", "6E", "5E", "4T", "4E"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + wonderroom: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["growl", "psywave", "spite"], pokeball: "pokeball"}, + ], + }, + mismagius: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + allyswitch: ["7T"], + astonish: ["9L1", "7L1", "6L1", "5L1", "4L1"], + attract: ["7M", "6M", "5M", "4M"], + burningjealousy: ["9M"], + calmmind: ["9M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + dazzlinggleam: ["9M", "7M", "6M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainingkiss: ["9M"], + dreameater: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "4M"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + faketears: ["9M"], + flash: ["6M", "5M", "4M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hex: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "7T", "6T", "5T"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + imprison: ["9M"], + laserfocus: ["7T"], + lashout: ["9M"], + luckychant: ["7L1", "6L1", "5L1", "4L1"], + magicalleaf: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["7T", "6T", "5T"], + mysticalfire: ["9L1", "7L1", "6L1"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["7M", "6M", "5M", "4M"], + phantomforce: ["9M", "9L1", "7L1", "6L1"], + poltergeist: ["9M"], + powergem: ["9M", "9L1", "7L1", "6L1"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psybeam: ["9M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M"], + psywave: ["7L1", "6L1", "5L1", "4L1"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + skillswap: ["9M", "7T", "6T", "5T", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + snowscape: ["9M"], + spite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + wonderroom: ["7T", "6T", "5T"], + }, + }, + unown: { + learnset: { + hiddenpower: ["7M", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + }, + encounters: [ + {generation: 2, level: 5}, + {generation: 3, level: 25}, + {generation: 4, level: 5}, + {generation: 6, level: 32}, + ], + }, + wynaut: { + learnset: { + amnesia: ["8M", "8L1"], + charm: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + counter: ["8L1", "7L15", "6L15", "5L15", "4L15", "3L15"], + destinybond: ["8L1", "7L15", "6L15", "5L15", "4L15", "3L15"], + encore: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + mirrorcoat: ["8L1", "7L15", "6L15", "5L15", "4L15", "3L15"], + safeguard: ["8M", "8L1", "7M", "7L15", "6M", "6L15", "5L15", "4L15", "3L15"], + splash: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + tickle: ["3S0"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["splash", "charm", "encore", "tickle"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + wobbuffet: { + learnset: { + amnesia: ["8M", "8L1"], + charm: ["8M", "8L1", "5D"], + counter: ["8L0", "7L1", "7V", "6L1", "6S2", "6S3", "5L1", "4L1", "3L1", "3S0", "3S1"], + destinybond: ["8L0", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + encore: ["8M", "8L1", "5D"], + mirrorcoat: ["8L0", "7L1", "7V", "6L1", "6S3", "5L1", "5D", "4L1", "3L1", "3S0", "3S1"], + safeguard: ["8M", "8L0", "7M", "7L1", "7V", "6M", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + splash: ["8L1"], + }, + eventData: [ + {generation: 3, level: 5, moves: ["counter", "mirrorcoat", "safeguard", "destinybond"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["counter", "mirrorcoat", "safeguard", "destinybond"], pokeball: "pokeball"}, + {generation: 6, level: 10, gender: "M", moves: ["counter"], pokeball: "cherishball"}, + {generation: 6, level: 15, gender: "M", moves: ["counter", "mirrorcoat"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 2, level: 5}, + {generation: 4, level: 3}, + ], + }, + girafarig: { + learnset: { + agility: ["9M", "9L23", "7L23", "7V", "6L14", "5L14", "4L14", "3L31"], + allyswitch: ["9E", "7T"], + amnesia: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + assurance: ["9L10", "7L10", "6L10", "5L28", "4L28"], + astonish: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L7"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "9L41", "7L41", "7V", "6L23", "5L23", "4L23", "3L37"], + beatup: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["9M", "3T"], + bulldoze: ["9M", "7M", "6M", "5M"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L5", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L13"], + crunch: ["9M", "9L37", "7L37", "7V", "6L37", "5L46", "4L46", "3L49"], + curse: ["7V"], + dazzlinggleam: ["9M", "7M", "6M"], + doubleedge: ["3T"], + doublehit: ["9L28", "7L28", "6L28", "5L32", "4L32"], + doublekick: ["9E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + gigaimpact: ["9M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + guardswap: ["9L1", "7L1", "6L1", "5L1", "4L1"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M", "7T", "6T", "5T"], + imprison: ["9M"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M"], + magiccoat: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + meanlook: ["9E", "7E", "6E", "5E"], + mimic: ["3T"], + mirrorcoat: ["9E", "7E", "6E", "5E", "5D", "4E"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M", "9L46", "7L46", "6L46"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + odorsleuth: ["7L5", "6L5", "5L5", "4L5", "3L25"], + powerswap: ["9L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L19", "7L19", "7V", "6L19", "5L19", "4L19", "3L43"], + psychic: ["9M", "9L50", "7M", "7L50", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M"], + psychicfangs: ["9M", "7E"], + psychicterrain: ["9M", "7E"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshock: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7E", "6E", "5E", "4E"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + stomp: ["9L14", "7L14", "7V", "6L10", "5L10", "4L10", "3L19"], + stompingtantrum: ["9M", "7T"], + storedpower: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + twinbeam: ["9L32"], + uproar: ["9M", "9E", "7T", "6T", "5T", "4T"], + wish: ["9E", "7E", "6E", "5E", "4E", "3E"], + workup: ["7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "7T", "7L32", "6T", "6L32", "5T", "5L41", "4T", "4L41"], + }, + }, + pineco: { + learnset: { + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7L20", "7V", "6L20", "5L20", "4L17", "3L29"], + bodyslam: ["9M", "3T"], + bugbite: ["9M", "9L9", "7T", "7L9", "6T", "6L9", "5T", "5L9", "4T", "4L9"], + bugbuzz: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E", "3S1"], + curse: ["9L23", "7V"], + defensecurl: ["7V", "3T"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["9L45", "7L45", "7E", "7V", "6L45", "6E", "5L45", "5E", "4L42", "4E", "3T", "3L50"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["9M", "7T", "6T", "5T"], + earthquake: ["7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "7E", "7V", "6E", "5E", "4M", "3T"], + explosion: ["9L34", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L34", "4M", "4L31", "3T", "3L36"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gravity: ["9M", "7T", "6T", "5T", "5D", "4T"], + gyroball: ["9M", "9L42", "7M", "7L42", "6M", "6L42", "5M", "5L42", "4M", "4L39"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icespinner: ["9M"], + irondefense: ["9M", "9L39", "7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L34"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lunge: ["9M"], + mimic: ["3T"], + naturalgift: ["7L23", "6L23", "5L23", "4M", "4L20"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L31", "7M", "7L31", "6M", "6L31", "5M", "5L31", "4M", "4L28"], + pinmissile: ["9E", "7E", "7V", "6E", "5E", "4E", "3E", "3S1"], + poisonjab: ["9M"], + pounce: ["9M"], + powertrick: ["9E", "7E", "6E", "5E", "4E"], + protect: ["9M", "9L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1", "3S0"], + raindance: ["9M"], + rapidspin: ["9L17", "7L17", "7V", "6L17", "5L17", "4L12", "3L22"], + reflect: ["9M", "7M", "7V", "6M", "5M", "4M", "4E", "3M", "3E"], + refresh: ["3S1"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["7E", "6E", "5E", "4E"], + reversal: ["9M"], + rockblast: ["9M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + rollout: ["9L20", "7V", "4T", "3T"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + selfdestruct: ["9L6", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3T", "3L8", "3S0"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + spikes: ["9M", "9L28", "7L28", "7V", "6L28", "5L28", "4L23", "3L43", "3S1"], + stealthrock: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + takedown: ["9M", "9L12", "7L12", "7V", "6L12", "5L12", "4L9", "3L15"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "9E", "7E", "6E", "5E", "5D", "4E"], + venoshock: ["9M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "protect", "selfdestruct"], pokeball: "pokeball"}, + {generation: 3, level: 20, moves: ["refresh", "pinmissile", "spikes", "counter"]}, + ], + }, + forretress: { + learnset: { + allyswitch: ["7T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + autotomize: ["7L1", "6L32", "5L32"], + bide: ["7L20", "7V", "6L20", "5L20", "4L17", "3L29"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + bugbite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + bugbuzz: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["9L23", "7V"], + defensecurl: ["7V", "3T"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["9L50", "7L50", "7V", "6L56", "5L56", "4L50", "3T", "3L59"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillrun: ["9M", "7T", "6T", "5T"], + earthpower: ["9M"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["9L36", "7M", "7L36", "7V", "6M", "6L42", "5M", "5L42", "4M", "4L33", "3T", "3L39"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "9L46", "7M", "7L46", "6M", "6L50", "5M", "5L50", "4M", "4L45"], + headbutt: ["7V", "4T"], + heavyslam: ["9M", "9L0", "7L1", "6L1", "5L70"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + icespinner: ["9M"], + irondefense: ["9M", "9L42", "7T", "7L42", "6T", "6L46", "5T", "5L46", "4T", "4L38"], + ironhead: ["9M"], + laserfocus: ["7T"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lunge: ["9M"], + magnetrise: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L60", "4T", "4L57"], + mimic: ["3T"], + mirrorshot: ["7L1", "6L31", "5L31", "4L31"], + naturalgift: ["7L23", "6L23", "5L23", "4M", "4L20"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L32", "7M", "7L32", "6M", "6L36", "5M", "5L36", "4M", "4L28"], + poisonjab: ["9M"], + pounce: ["9M"], + protect: ["9M", "9L1", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + raindance: ["9M"], + rapidspin: ["9L17", "7L17", "7V", "6L17", "5L17", "4L12", "3L22"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + rockblast: ["9M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + rollout: ["9L20", "7V", "4T", "3T"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["9M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + selfdestruct: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L1"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smartstrike: ["9M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + spikes: ["9M", "9L28", "7L28", "7V", "6L28", "5L28", "4L23", "3L49"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M"], + stoneedge: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["9M"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L12", "7L12", "7V", "6L12", "5L12", "4L1", "3L15"], + telekinesis: ["7T"], + terablast: ["9M"], + thunderwave: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + venoshock: ["9M", "7M", "6M", "5M"], + voltswitch: ["9M", "7M", "6M", "5M"], + zapcannon: ["9L1", "7L1", "6L1", "5L64", "4L62", "3L31"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + dunsparce: { + learnset: { + agility: ["9M", "8M", "7E", "6E", "5E", "4E"], + airslash: ["9M", "8M", "7L41"], + amnesia: ["9M", "8M"], + ancientpower: ["9L20", "8L20", "7L16", "7E", "7V", "6L19", "6E", "5L48", "5E", "4T", "4L41", "4E", "3E"], + aquatail: ["9E", "8E", "7T", "6T", "5T", "4T"], + astonish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "8M"], + bide: ["7E", "7V", "6E", "5E", "4E", "3E"], + bind: ["7T", "6T", "5T"], + bite: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "8L32", "7L18", "3T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + chillingwater: ["9M"], + coil: ["9L44", "8L48", "7L28", "6L37", "5L43"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + defensecurl: ["9L1", "8L1", "7L1", "7V", "6L1", "5L4", "5D", "4L5", "3T", "3L4"], + dig: ["9M", "8M", "7L31", "7V", "6M", "6L31", "5M", "5L53", "4M", "4L45", "3M"], + doubleedge: ["9L48", "8L52", "7L36", "6L34", "5L34", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonrush: ["9L40", "8L44", "7L43"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + drillrun: ["9M", "9L24", "8M", "8L24", "7T", "7L21", "6T", "6L43", "5T", "5L43"], + dualwingbeat: ["8T"], + earthpower: ["9M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["9L52", "8L56", "7T", "7L38", "6T", "6L46", "5T", "5L58", "4T", "4L49", "3L41"], + endure: ["9M", "8M", "7L46", "7V", "6L40", "5L40", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L1", "8L1", "7L48", "6L49", "5L63", "4L53", "3L44"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], + glare: ["9L12", "8L12", "7L33", "7V", "6L28", "5L12", "4L13", "3L14"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["9E", "8E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], + helpinghand: ["9M", "8M"], + hex: ["9M", "8M", "7E", "6E", "5E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M"], + hyperdrill: ["9L32"], + hypervoice: ["9M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icespinner: ["9M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + lastresort: ["9E", "8E", "7T", "6T", "5T", "4T"], + lunge: ["9M"], + magiccoat: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "9L4", "8L4", "7L13", "7V", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + painsplit: ["7T", "6T", "5T", "4T"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poisontail: ["9M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + pursuit: ["7L8", "7V", "6L10", "5L24", "4L25", "3L24"], + rage: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L8", "8L8", "7L3", "7V", "6L4", "5L16", "4T", "4L17", "3T", "3L21"], + roost: ["9L36", "8L40", "7M", "7L23", "6M", "6L25", "5T", "5L33", "4M", "4L33"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + screech: ["9L16", "8M", "8L16", "7L11", "7V", "6L13", "5L28", "4L29", "3L31"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "3T"], + smartstrike: ["9M"], + snore: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + solarbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + spite: ["9M", "7T", "7L6", "7V", "6T", "6L7", "5T", "5L20", "4T", "4L21", "3L21"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "5D", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + storedpower: ["9M", "8M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["9M", "8L36", "7L26", "7V", "6L22", "5L38", "4L37", "3L34"], + terablast: ["9M"], + terrainpulse: ["8T"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + trumpcard: ["7E", "6E", "5E", "4E"], + uproar: ["9M"], + waterpulse: ["7T", "6T", "4M", "3M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + yawn: ["9L28", "8L28", "7L13", "6L16", "5L8", "4L9", "3L11"], + zapcannon: ["7V"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + }, + dudunsparce: { + learnset: { + agility: ["9M"], + airslash: ["9M"], + amnesia: ["9M"], + ancientpower: ["9L20"], + batonpass: ["9M"], + blizzard: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M"], + boomburst: ["9L62"], + bulldoze: ["9M"], + calmmind: ["9M"], + chillingwater: ["9M"], + coil: ["9L44"], + defensecurl: ["9L1"], + dig: ["9M"], + doubleedge: ["9L48"], + dragonrush: ["9L40"], + dragontail: ["9M"], + drillrun: ["9M", "9L24"], + dualwingbeat: ["9M"], + earthpower: ["9M"], + earthquake: ["9M"], + endeavor: ["9L52"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + flail: ["9L1"], + flamethrower: ["9M"], + gigaimpact: ["9M"], + glare: ["9L12"], + gyroball: ["9M"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hex: ["9M"], + hurricane: ["9M", "9L56"], + hyperbeam: ["9M"], + hyperdrill: ["9L32"], + hypervoice: ["9M"], + icebeam: ["9M"], + icespinner: ["9M"], + lunge: ["9M"], + mudshot: ["9M"], + mudslap: ["9M", "9L4"], + outrage: ["9M"], + poisonjab: ["9M"], + poisontail: ["9M"], + pounce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + rollout: ["9L8"], + roost: ["9L36"], + sandstorm: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M"], + screech: ["9L16"], + shadowball: ["9M"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + solarbeam: ["9M"], + spite: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + toxic: ["9M"], + uproar: ["9M"], + wildcharge: ["9M"], + yawn: ["9L28"], + zenheadbutt: ["9M"], + }, + }, + gligar: { + learnset: { + acrobatics: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L27"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "7E", "6E", "5E", "4E"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "7E", "6E", "5E", "4E"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bugbite: ["7T", "6T", "5T"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + crabhammer: ["9L45"], + crosspoison: ["9E", "7E", "6E", "5E", "4E"], + crunch: ["9M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + defog: ["7T", "4M"], + detect: ["7V"], + dig: ["6M", "5M", "4M", "3M"], + doubleedge: ["9E", "7E", "6E", "5E", "4E", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["3T"], + dualwingbeat: ["9M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "7M", "6M", "5M", "4M"], + feint: ["9E", "7E", "6E", "5E", "5D", "4E"], + feintattack: ["7L19", "7V", "6L19", "5L23", "4L23", "3L28"], + firefang: ["9M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["9L16", "7L16", "7V", "6L16", "5L20", "4T", "4L20", "3T"], + guillotine: ["7L55", "7V", "6L55", "5L49", "4L45", "3L52"], + gunkshot: ["9M"], + harden: ["9L7", "7L7", "7V", "6L7", "5L9", "4L9", "3L13"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + honeclaws: ["6M", "5M"], + icefang: ["9M"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "9L10", "7T", "7L10", "6T", "6L10", "5T", "5L12", "4T", "4L12"], + lunge: ["9M"], + metalclaw: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M"], + naturalgift: ["4M"], + nightslash: ["9E", "7E", "6E", "5E", "4E"], + payback: ["7M", "6M", "5M", "4M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poisonsting: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + poisontail: ["9M", "9L19", "7E", "6E", "5E"], + powertrick: ["7E", "6E", "5E", "4E"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + quickattack: ["9L13", "7L13", "7V", "6L13", "5L16", "4L16", "3L20"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7E", "7V", "6E", "5E", "4E", "3E"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["7E", "6E", "5E"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + sandattack: ["9L4", "7L4", "7V", "6L4", "5L5", "5D", "4L5", "3L6", "3S0"], + sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "7E", "6E", "5E", "4E", "3E"], + scaleshot: ["9M"], + scaryface: ["9M"], + screech: ["9L35", "7L35", "7V", "6L35", "5L31", "4L27", "3L44"], + secretpower: ["6M", "4M", "3M"], + skyuppercut: ["7L45", "6L45", "5L45"], + slash: ["9L27", "7L27", "7V", "6L27", "5L34", "4L31", "3L36"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spikes: ["9M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + steelwing: ["7M", "6M", "4M", "3M"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "7V", "4T", "3T"], + swordsdance: ["9M", "9L50", "7M", "7L50", "6M", "6L50", "5M", "5L38", "4M", "4L34", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "5D", "4T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + thunderfang: ["9M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + uturn: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L42", "4M", "4L38"], + venoshock: ["9M", "7M", "6M", "5M"], + wingattack: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L45", "4M", "4L42"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["poisonsting", "sandattack"], pokeball: "pokeball"}, + ], + }, + gliscor: { + learnset: { + acrobatics: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L27"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["7M", "6M", "5M", "4M"], + batonpass: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + brutalswing: ["7M"], + bugbite: ["7T", "6T", "5T"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crabhammer: ["9L45"], + crunch: ["9M"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + defog: ["7T", "4M"], + dig: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dualwingbeat: ["9M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + falseswipe: ["9M", "7M", "6M", "5M", "4M"], + feintattack: ["7L19", "6L19", "5L23", "4L23"], + firefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + fling: ["9M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["9L16", "7L16", "6L16", "5L20", "4T", "4L20"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + guillotine: ["7L1", "6L1", "5L49", "4L45"], + gunkshot: ["9M"], + harden: ["9L1", "7L1", "6L1", "5L1", "4L1"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["9M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + irontail: ["7T", "6T", "5T", "4M"], + knockoff: ["9M", "9L19", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + lunge: ["9M"], + metalclaw: ["9M"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + nightslash: ["9L27", "7L27", "6L27", "5L34", "4L31"], + payback: ["7M", "6M", "5M", "4M"], + poisonjab: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + poisontail: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychicfangs: ["9M"], + quickattack: ["9L13", "7L13", "6L13", "5L16", "4L16"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + sandattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], + sandstorm: ["9M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M"], + scaryface: ["9M"], + screech: ["9L35", "7L35", "6L35", "5L31", "4L27"], + secretpower: ["6M", "4M"], + skyattack: ["7T", "6T", "5T", "4T"], + skyuppercut: ["7L45", "6L45", "5L45"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "7M", "6M", "5M", "4M"], + snore: ["7T", "6T", "5T", "4T"], + spikes: ["9M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + steelwing: ["7M", "6M", "4M"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + swordsdance: ["9M", "9L50", "7M", "7L50", "6M", "6L50", "5M", "5L38", "4M", "4L34"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + throatchop: ["7T"], + thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["9M", "7M", "6M", "5M", "4M"], + toxicspikes: ["9M"], + uturn: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L42", "4M", "4L38"], + venoshock: ["9M", "7M", "6M", "5M"], + xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L45", "4M", "4L42"], + }, + }, + snubbull: { + learnset: { + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["7L7", "7V", "6L7", "5L7", "4L7", "3L13"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + bulkup: ["7M", "6M", "5M", "4M", "3M"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + charm: ["7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L8", "3S0"], + closecombat: ["7E", "6E", "5E", "5D", "4E"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + crunch: ["7L49", "7E", "7V", "6L49", "6E", "5L49", "5E", "4L49", "4E", "3L53", "3E"], + curse: ["7V"], + dazzlinggleam: ["7M", "6M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["6M", "5M", "4M", "3M"], + doubleedge: ["7E", "6E", "5E", "5D", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["7M", "6M", "5M", "4M", "3M"], + endure: ["7V", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + faketears: ["7E", "6E"], + feintattack: ["7E", "7V", "6E", "5E", "4E", "3E"], + fireblast: ["7M", "6M", "5M", "4M", "3M"], + firefang: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + firepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["7M", "6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["7L19", "7V", "6L19", "5L19", "4T", "4L19"], + healbell: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["7T", "6T", "5T"], + icefang: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + lastresort: ["7T", "6T", "5T", "4T"], + leer: ["7V"], + lick: ["7L13", "7V", "6L13", "5L13", "4L13", "3L19"], + lowkick: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["7E", "7V", "6E", "5E", "4E", "3T", "3E"], + mimic: ["7E", "6E", "5E", "3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + overheat: ["7M", "6M", "5M", "4M", "3M"], + payback: ["7M", "7L43", "6M", "6L43", "5M", "5L43", "4M", "4L43"], + playrough: ["7L37", "6L37"], + poweruppunch: ["6M"], + present: ["7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7L31", "7V", "6L31", "5L31", "4L31", "3L34"], + raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["7M", "7V", "6M", "5M", "4E", "3E"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7L25", "7V", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M", "3L26"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["7M", "7V", "6M", "5M", "4M", "3M"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + snarl: ["7M", "6M", "5M"], + snore: ["7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + tailwhip: ["7L1", "7V", "6L1", "5L1", "4L1", "3L4", "3S0"], + takedown: ["7V", "5L37", "4L37", "3L43"], + taunt: ["7M", "6M", "5M", "4M", "3M"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderfang: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + thunderpunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + wildcharge: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "scaryface", "tailwhip", "charm"], pokeball: "pokeball"}, + ], + }, + granbull: { + learnset: { + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["7L7", "7V", "6L7", "5L7", "4L7", "3L13"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + bulkup: ["7M", "6M", "5M", "4M", "3M"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + charm: ["7L1", "7V", "6L1", "5L1", "4L1", "3L8"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + crunch: ["7L59", "6L59", "5L59", "4L59", "3L61"], + curse: ["7V"], + dazzlinggleam: ["7M", "6M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["7M", "6M", "5M", "4M", "3M"], + endure: ["7V", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + fireblast: ["7M", "6M", "5M", "4M", "3M"], + firefang: ["7L1", "6L1", "5L1", "4L1"], + firepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["7M", "6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + focusblast: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + headbutt: ["7L19", "7V", "6L19", "5L19", "4T", "4L19"], + healbell: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["7T", "6T", "5T"], + icefang: ["7L1", "6L1", "5L1", "4L1"], + icepunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "4T"], + lick: ["7L13", "7V", "6L13", "5L13", "4L13", "3L19"], + lowkick: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["7T", "7L1", "6T", "6L1", "5T", "5L67"], + overheat: ["7M", "6M", "5M", "4M", "3M"], + payback: ["7M", "7L51", "6M", "6L51", "5M", "5L51", "4M", "4L51"], + playrough: ["7L43", "6L43"], + poweruppunch: ["6M"], + protect: ["7M", "7V", "6M", "5M", "4M", "3M"], + rage: ["7L35", "7V", "6L35", "5L35", "4L35", "3L38"], + raindance: ["7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["7M", "6M", "5M"], + rest: ["7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7L27", "7V", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3M", "3L28"], + rockclimb: ["4M"], + rockslide: ["7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["7M", "7V", "6M", "5M", "4M", "3M"], + snarl: ["7M", "6M", "5M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + stompingtantrum: ["7T"], + stoneedge: ["7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + tailwhip: ["7L1", "7V", "6L1", "5L1", "4L1", "3L4"], + takedown: ["7V", "5L43", "4L43", "3L49"], + taunt: ["7M", "6M", "5M", "4M", "3M"], + thief: ["7M", "7V", "6M", "5M", "4M", "3M"], + thunder: ["7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderfang: ["7L1", "6L1", "5L1", "4L1"], + thunderpunch: ["7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + wildcharge: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 2, level: 15}, + ], + }, + qwilfish: { + learnset: { + acidspray: ["9M", "9E", "8E", "7E", "6E", "5E"], + acupressure: ["9L52", "8L60"], + agility: ["9M"], + aquajet: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + aquatail: ["9L48", "8L56", "7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L45"], + assurance: ["8M"], + astonish: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barbbarrage: ["9E"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["9L24", "8M", "8L24", "7L33", "7E", "6L33", "6E", "5L33", "5E", "4M", "4L33"], + bubble: ["7L13", "6L13"], + bubblebeam: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + destinybond: ["9L56", "8L66", "7L1", "6L1", "5L53", "4L53", "3L45"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fellstinger: ["9L12", "8L12", "7L1", "6L1"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + flipturn: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["9L4", "8L4", "7L9", "7V", "6L9", "5L9", "4L9", "3L9", "3S0"], + haze: ["9M", "9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["7V", "4T"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "8M", "7L1", "7V", "6L1", "5L57", "4L57", "3L37"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + liquidation: ["9M", "8M", "7T"], + mimic: ["3T"], + minimize: ["9L16", "8L16", "7L9", "7V", "6L9", "5L9", "4L9", "3L9", "3S0"], + mudshot: ["9M"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pinmissile: ["9L32", "8M", "8L32", "7L37", "7V", "6L37", "5L37", "4L37", "3L21"], + poisonjab: ["9M", "9L28", "8M", "8L40", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L49", "4E"], + poisonsting: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + poisontail: ["9M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "8L28", "7L29", "6L29", "5L29", "4L29", "3L25"], + reversal: ["9M", "8M"], + rollout: ["7L17", "7V", "6L17", "5L17", "4T", "4L17", "3T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "5D", "4M", "3M"], + selfdestruct: ["9E", "8M", "3T"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikes: ["9M", "9L20", "8M", "8L20", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + spite: ["9M"], + spitup: ["9L40", "8L44", "7L25", "6L25", "5L25", "4L25"], + steelroller: ["8T"], + stockpile: ["9L40", "8L44", "7L25", "6L25", "5L25", "4L25"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + supersonic: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M", "8M", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + takedown: ["9M", "8L48", "7L41", "7V", "6L41", "5L41", "4L41", "3L33"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + throatchop: ["8M", "7T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["9M", "9L44", "8L52", "7M", "7V", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M", "9L36", "8M", "8L36", "7L21", "6L21", "5L21", "4L21"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + waterfall: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["9L8", "8L8", "7L1", "7V", "6L1", "5L13", "4L13", "3L13"], + waterpulse: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "poisonsting", "harden", "minimize"], pokeball: "pokeball"}, + ], + }, + qwilfishhisui: { + learnset: { + acidspray: ["9M", "9E"], + acupressure: ["9L52"], + agility: ["9M"], + aquajet: ["9E"], + aquatail: ["9E"], + astonish: ["9E"], + barbbarrage: ["9L28"], + bite: ["9L8"], + blizzard: ["9M"], + brine: ["9L24"], + bubblebeam: ["9E"], + chillingwater: ["9M"], + crunch: ["9M", "9L48"], + darkpulse: ["9M"], + destinybond: ["9L56"], + endure: ["9M"], + facade: ["9M"], + fellstinger: ["9L12"], + flail: ["9E"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + gyroball: ["9M"], + harden: ["9L4"], + haze: ["9M", "9E"], + hex: ["9M"], + hydropump: ["9M"], + icebeam: ["9M"], + icywind: ["9M"], + lashout: ["9M"], + liquidation: ["9M"], + minimize: ["9L16"], + mudshot: ["9M"], + pinmissile: ["9L32"], + poisonjab: ["9M"], + poisonsting: ["9L1"], + poisontail: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M"], + selfdestruct: ["9E"], + shadowball: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + spikes: ["9M", "9L20"], + spite: ["9M"], + spitup: ["9L40"], + stockpile: ["9L40"], + substitute: ["9M"], + supersonic: ["9E"], + surf: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L44"], + toxicspikes: ["9M", "9L36"], + venoshock: ["9M"], + waterfall: ["9M"], + waterpulse: ["9M", "9E"], + }, + }, + overqwil: { + learnset: { + acidspray: ["9M"], + acupressure: ["9L52"], + agility: ["9M"], + barbbarrage: ["9L28"], + bite: ["9L8"], + blizzard: ["9M"], + brine: ["9L24"], + chillingwater: ["9M"], + crunch: ["9M", "9L48"], + darkpulse: ["9M"], + destinybond: ["9L56"], + endure: ["9M"], + facade: ["9M"], + fellstinger: ["9L12"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + gyroball: ["9M"], + harden: ["9L4"], + haze: ["9M"], + hex: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icywind: ["9M"], + lashout: ["9M"], + liquidation: ["9M"], + minimize: ["9L16"], + mudshot: ["9M"], + pinmissile: ["9L32"], + poisonjab: ["9M"], + poisonsting: ["9L1"], + poisontail: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M"], + shadowball: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + smartstrike: ["9M"], + spikes: ["9M", "9L20"], + spite: ["9M"], + spitup: ["9L40"], + stockpile: ["9L40"], + substitute: ["9M"], + surf: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L44"], + toxicspikes: ["9M", "9L36"], + venoshock: ["9M"], + waterfall: ["9M"], + waterpulse: ["9M"], + }, + }, + shuckle: { + learnset: { + acid: ["8E", "7E", "6E", "5E"], + acupressure: ["8E", "7E", "6E", "5E", "4E"], + afteryou: ["7T", "6T", "5T"], + ancientpower: ["4T"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7L1", "7V", "6L1", "5L1", "4L1", "3L28"], + bind: ["7T", "6T", "5T"], + bodyslam: ["8M", "3T"], + bugbite: ["8L30", "7T", "7L42", "6T", "6L42", "5T", "5L49", "4T", "4L40"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + constrict: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + covet: ["8E"], + curse: ["7V"], + defensecurl: ["8E", "7V", "3T"], + dig: ["8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + encore: ["8M", "7L5", "7V", "6L5", "5L7", "5D", "4L9", "3L14", "3S1"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + finalgambit: ["8E", "7E", "6E", "5E"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gastroacid: ["8L45", "7T", "7L27", "6T", "6L27", "5T", "5L31", "4T", "4L35"], + guardsplit: ["8L35", "7L45", "6L45", "5L55"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + helpinghand: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + infestation: ["8E", "7M", "6M"], + irondefense: ["8M"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["7E", "7V", "6E", "5E", "4T", "4E", "3T"], + naturalgift: ["4M"], + powersplit: ["8L35", "7L45", "6L45", "5L55"], + powertrick: ["8L55", "7L31", "6L31", "5L43", "4L48"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L25", "7M", "7L20", "7V", "6M", "6L20", "5M", "5L25", "4M", "4L27", "3M", "3L37"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["8M"], + rockblast: ["8M", "7E", "6E", "5E"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8L40", "7M", "7L38", "6M", "6L38", "5M", "5L38", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["8L15", "7L23", "6L23", "5L23"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L5", "7L1", "7V", "6L1", "5L37", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L20", "7M", "7L16", "7V", "6M", "6L16", "5M", "5L19", "4M", "4L14", "3M", "3L23"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["8M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M", "3M"], + shellsmash: ["8L65", "7L34", "6L34", "5L34", "5D"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "7V", "6M", "5M", "4M", "3M", "3S1"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + steelroller: ["8T"], + stickyweb: ["8L50", "7L1", "6L1"], + stoneedge: ["8M", "8L60", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["8L10", "7L12", "6M", "6L12", "5M", "5L1"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T", "3S1"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + toxic: ["8E", "7M", "7V", "6M", "5M", "4M", "3M", "3S1"], + venoshock: ["8M", "7M", "6M", "5M"], + withdraw: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + wrap: ["8L1", "7L9", "7V", "6L9", "5L13", "4L22", "3L9", "3S0"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["sturdy"], moves: ["constrict", "withdraw", "wrap"], pokeball: "pokeball"}, + {generation: 3, level: 20, abilities: ["sturdy"], moves: ["substitute", "toxic", "sludgebomb", "encore"], pokeball: "pokeball"}, + ], + }, + heracross: { + learnset: { + aerialace: ["9M", "9L15", "8L15", "7M", "7L10", "6M", "6L10", "5M", "5L13", "4M", "4L13"], + armthrust: ["9L1", "7L1", "6L1"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bide: ["7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "9L30", "8M", "8L30", "7M", "7L28", "6M", "6L25", "5M", "5L19", "4M", "4L19", "3M", "3L23"], + brutalswing: ["8M", "7M"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletseed: ["9M", "8M", "7L1", "6L1", "6S0", "6S1"], + captivate: ["4M"], + chipaway: ["7L16", "6L16", "5L16"], + closecombat: ["9M", "9L60", "8M", "8L60", "7L43", "6L34", "6S0", "5L37", "4L37"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["9L25", "8L25", "7L19", "7V", "6L19", "5L25", "4L25", "3T", "3L30"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthquake: ["9M", "8M", "7M", "7V", "6M", "6S1", "5M", "4M", "3M"], + endure: ["9M", "9L10", "8M", "8L10", "7L1", "7V", "6L1", "5L1", "4M", "4L1", "3T", "3L11"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4E", "3E"], + feint: ["9E", "8E", "7L7", "6L7", "5L49", "4L49"], + flail: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "7E", "6T", "6E", "5E", "5D", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["9L5", "8L5", "7L25", "7V", "6L7", "5L7", "4L7", "3L17"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + harden: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + hornattack: ["9L20", "8L20", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L6"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lunge: ["9M"], + megahorn: ["9L55", "8M", "8L55", "7L37", "7E", "7V", "6L37", "6E", "6S0", "5L55", "5E", "4L55", "3L53"], + mimic: ["3T"], + naturalgift: ["4M"], + nightslash: ["9E", "8E", "7L1", "6L1", "5L1", "4L1"], + pinmissile: ["9L35", "8M", "8L35", "7L31", "6L31", "6S0", "6S1"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "6E", "5E", "4E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M", "7E", "6E", "5E", "4E"], + reversal: ["9M", "8M", "7L46", "7V", "6L43", "5L43", "4L43", "3L45"], + rockblast: ["9M", "8M", "7E", "6E", "6S1"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["9E", "8E", "7E", "6E", "5E", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + smartstrike: ["9M", "8M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikes: ["9M", "8M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swordsdance: ["9M", "9L50", "8M", "8L50", "7M", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "8E", "7L34", "7V", "6L28", "5L31", "4L31", "3L37"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9L45", "8L45"], + throatchop: ["9L40", "8M", "8L40", "7T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + vacuumwave: ["9M", "4T"], + venoshock: ["8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 6, level: 50, gender: "F", nature: "Adamant", moves: ["bulletseed", "pinmissile", "closecombat", "megahorn"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Adamant", abilities: ["guts"], moves: ["pinmissile", "bulletseed", "earthquake", "rockblast"], pokeball: "cherishball"}, + ], + }, + sneasel: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L48", "8M", "8L48", "7L20", "7V", "6L20", "5L24", "4L24", "3L36"], + assist: ["7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "7E", "6E", "5E", "4M"], + beatup: ["9L42", "8M", "8L42", "7L28", "7V", "6L28", "5L42", "4L38", "3L57"], + bite: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + crushclaw: ["7E", "6E", "5E", "4E", "3E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doublehit: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dynamicpunch: ["7V", "3T"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + faketears: ["9M", "8M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], + feint: ["9E", "8E", "7E", "6E", "5E"], + feintattack: ["7L10", "7V", "6L10", "5L14", "4L14", "3L22"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foresight: ["7E", "7V", "6E", "5E", "4E", "3E"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["9L30", "8L30", "7L16", "7V", "6L16", "5L21", "4L21", "3L29"], + gigaimpact: ["9M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["9L36", "8L36", "7L25", "6M", "6L25", "5M", "5L35"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3T"], + iceshard: ["9E", "8E", "7L47", "7E", "6L47", "6E", "5L51", "5E", "4L49", "4E"], + iciclecrash: ["9E", "8E", "7E", "6E"], + iciclespear: ["9M"], + icywind: ["9M", "9L24", "8M", "8L24", "7T", "7L14", "7V", "6T", "6L14", "5T", "5L28", "4T", "4L28", "3T", "3L43"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "5D", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M", "9L18", "8L18", "7L22", "7V", "6L22", "5L49", "4L42", "3L64"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychocut: ["8M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + punishment: ["7L44", "7E", "6L44", "6E", "5L44", "5E", "4E"], + pursuit: ["7E", "6E", "5E", "4E"], + quickattack: ["9L12", "8L12", "7L8", "7V", "6L8", "5L8", "4L8", "3L8", "3S0"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "7V", "6M", "5M", "4E", "3E"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + scratch: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + screech: ["9L54", "8M", "8L54", "7L32", "7V", "6L32", "5L10", "4L10", "3L15"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L60", "8L60", "7L35", "7V", "6L35", "5L38", "4L35", "3L50"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "7L40", "6T", "6L40", "5T", "5L40", "4M", "3M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + spite: ["9M", "9E", "8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + taunt: ["9M", "9L6", "8M", "8L6", "7M", "7L1", "6M", "6L1", "5M", "5L1", "5D", "4M", "4L1", "3M", "3L1", "3S0"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T", "7E"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + tripleaxel: ["8T"], + waterpulse: ["9M"], + whirlpool: ["8M", "4M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["scratch", "leer", "taunt", "quickattack"], pokeball: "pokeball"}, + ], + }, + sneaselhisui: { + learnset: { + acidspray: ["9M"], + aerialace: ["9M"], + agility: ["9M", "9L48"], + brickbreak: ["9M", "9L30"], + bulkup: ["9M"], + calmmind: ["9M"], + closecombat: ["9M", "9L60"], + counter: ["9E"], + dig: ["9M"], + doublehit: ["9E"], + endure: ["9M"], + facade: ["9M"], + fakeout: ["9E"], + falseswipe: ["9M"], + feint: ["9E"], + fling: ["9M"], + focusblast: ["9M"], + focuspunch: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + gunkshot: ["9M"], + honeclaws: ["9L36"], + lashout: ["9M"], + leer: ["9L1"], + lowkick: ["9M"], + lowsweep: ["9M"], + metalclaw: ["9M", "9L18"], + nastyplot: ["9M"], + nightslash: ["9E"], + poisonjab: ["9M", "9L24"], + poisontail: ["9M"], + protect: ["9M"], + quickattack: ["9L12"], + quickguard: ["9E"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rocksmash: ["9L1"], + scratch: ["9L1"], + screech: ["9L54"], + shadowball: ["9M"], + shadowclaw: ["9M"], + slash: ["9L42"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + spite: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + switcheroo: ["9E"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L6"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["9M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + vacuumwave: ["9M"], + venoshock: ["9M"], + xscissor: ["9M"], + }, + }, + weavile: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M", "9L1", "8M", "8L1"], + assurance: ["9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + avalanche: ["9M", "8M", "4M"], + batonpass: ["9M"], + beatup: ["9L1", "8M", "8L1"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + brickbreak: ["9M", "8M", "7M", "6M", "6S1", "5M", "4M", "4S0"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "9L66", "8M", "8L66", "7M", "7L47", "6M", "6L47", "5T", "5L51", "4M", "4L49"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + embargo: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fakeout: ["4S0"], + faketears: ["9M", "8M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], + feintattack: ["7L10", "6L10", "5L14", "4L14"], + fling: ["9M", "9L42", "8M", "8L42", "7M", "7L28", "6M", "6L28", "5M", "5L42", "4M", "4L38"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + furyswipes: ["9L30", "8L30", "7L16", "6L16", "5L21", "4L21"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["9L36", "8L36", "7L25", "6M", "6L25", "5M", "5L35"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "6S1", "5T", "4T"], + iceshard: ["9L1", "8L1", "4S0"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L24", "8M", "8L24", "7T", "7L14", "6T", "6L14", "5T", "5L28", "4T", "4L28"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M", "9L18", "8L18", "7L22", "6L22", "5L49", "4L42"], + metronome: ["9M"], + mudslap: ["4T"], + nastyplot: ["9M", "9L48", "8M", "8L48", "7L20", "6L20", "5L24", "4L24"], + naturalgift: ["4M"], + nightslash: ["9L60", "8L60", "7L35", "6L35", "6S1", "5L35", "4L35", "4S0"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychocut: ["8M"], + psychup: ["7M", "6M", "5M", "4M"], + punishment: ["7L44", "6L44"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + reversal: ["9M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + screech: ["9L54", "8M", "8L54", "7L32", "6L32", "5L10", "4L10"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L1", "8L1"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "7L40", "6T", "6L40", "5T", "5L40", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + tripleaxel: ["8T"], + waterpulse: ["9M"], + whirlpool: ["8M", "4M"], + xscissor: ["9M", "8M", "7M", "6M", "6S1", "5M", "4M"], + }, + eventData: [ + {generation: 4, level: 30, gender: "M", nature: "Jolly", moves: ["fakeout", "iceshard", "nightslash", "brickbreak"], pokeball: "cherishball"}, + {generation: 6, level: 48, gender: "M", perfectIVs: 2, moves: ["nightslash", "icepunch", "brickbreak", "xscissor"], pokeball: "cherishball"}, + ], + }, + sneasler: { + learnset: { + acidspray: ["9M"], + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M", "9L48"], + brickbreak: ["9M", "9L30"], + bulkup: ["9M"], + calmmind: ["9M"], + closecombat: ["9M", "9L60"], + dig: ["9M"], + direclaw: ["9L0"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + firepunch: ["9M"], + fling: ["9M", "9L1"], + focusblast: ["9M"], + focuspunch: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + gunkshot: ["9M"], + honeclaws: ["9L36"], + hyperbeam: ["9M"], + lashout: ["9M"], + leer: ["9L1"], + lowkick: ["9M"], + lowsweep: ["9M"], + metalclaw: ["9M", "9L18"], + nastyplot: ["9M"], + poisonjab: ["9M", "9L24"], + poisontail: ["9M"], + protect: ["9M"], + quickattack: ["9L12"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rockslide: ["9M"], + rocksmash: ["9L1"], + rocktomb: ["9M"], + scratch: ["9L1"], + screech: ["9L54"], + shadowball: ["9M"], + shadowclaw: ["9M"], + slash: ["9L42"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + spite: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L6"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["9M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + uturn: ["9M"], + vacuumwave: ["9M"], + venoshock: ["9M"], + xscissor: ["9M"], + }, + }, + teddiursa: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M"], + babydolleyes: ["9L1", "7L1", "6L1"], + bellydrum: ["9E", "7E", "6E", "5E", "4E"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M", "9L33", "7L36", "6L36", "5L36", "4L36"], + chipaway: ["7E", "6E", "5E"], + closecombat: ["9M", "9E", "7E", "6E", "5E", "4E"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + covet: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1"], + crosschop: ["9E", "7E", "6E", "5E", "4E"], + crunch: ["9M", "9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["9E", "7E", "6E", "5E", "4E", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "9E", "7L1", "7E", "6L1", "6E", "5L1", "5E", "5D", "4L1", "4E", "3L19", "3E"], + feintattack: ["7L15", "7V", "6L15", "5L15", "4L15", "3L25"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + fling: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L57", "4M", "4L57"], + focusenergy: ["7V"], + focuspunch: ["9M", "7T", "6T", "5D", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["9E", "7V", "4T", "3T"], + furyswipes: ["9L8", "7L8", "7V", "6L8", "5L8", "4L8", "3L13"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hypervoice: ["9M", "7T", "6T", "5T"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + lastresort: ["7T", "6T", "5T", "4T"], + leer: ["7V", "5L1", "4L1", "3L1", "3S0"], + lick: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L7", "3S0", "3S1"], + lowkick: ["9M"], + megakick: ["3T"], + megapunch: ["3T"], + metalclaw: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E", "3S1"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + nightslash: ["9E", "7E", "6E", "5E", "4E"], + payback: ["9L13", "7M", "6M", "5M", "4M"], + playnice: ["9L25", "7L25", "6L25"], + playrough: ["9M", "9L29", "7E", "6E"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S1"], + rest: ["9M", "9L37", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L31"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M", "3S1"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + rollout: ["7V", "4T", "3T"], + round: ["7M", "6M", "5M"], + scratch: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + seismictoss: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slash: ["9L22", "7L29", "7V", "6L29", "5L29", "4L29", "3L37"], + sleeptalk: ["9M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + smackdown: ["9M"], + snore: ["9L37", "7T", "7L43", "7V", "6T", "6L43", "5T", "5L43", "4T", "4L43", "3T", "3L43"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["9L17", "7L22", "6L22", "5L22", "4L22"], + swift: ["9M", "7V", "4T", "3T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M", "7E", "7V", "6E", "5E", "4E", "3E"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9L41", "7L50", "7V", "6L50", "5L50", "4L50", "3L49"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M"], + workup: ["7M", "5M"], + yawn: ["9E", "7E", "6E", "5E", "4E", "3E"], + zapcannon: ["7V"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["pickup"], moves: ["scratch", "leer", "lick"], pokeball: "pokeball"}, + {generation: 3, level: 11, abilities: ["pickup"], moves: ["refresh", "metalclaw", "lick", "return"]}, + ], + encounters: [ + {generation: 2, level: 2}, + ], + }, + ursaring: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "4M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1"], + crunch: ["9M"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + defensecurl: ["7V", "3T"], + dig: ["9M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L19"], + feintattack: ["7L15", "7V", "6L15", "5L15", "4L15", "3L25"], + firepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + furyswipes: ["9L8", "7L8", "7V", "6L8", "5L8", "4L8", "3L1"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + hammerarm: ["9L64", "7L1", "6L1", "5L67", "4L67"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "9L48"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "7T", "6T", "5T"], + icepunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + leer: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lick: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + metalclaw: ["9M"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + payback: ["9L13", "7M", "6M", "5M", "4M"], + playnice: ["9L25", "7L25", "6L25"], + playrough: ["9M", "9L29"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L41", "7M", "7L47", "7V", "6M", "6L47", "5M", "5L47", "4M", "4L47", "3M", "3L31"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M", "9L35", "7L38", "6L38", "5L38", "4L38"], + scratch: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slash: ["9L22", "7L29", "7V", "6L29", "5L29", "4L29", "3L37"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["9L41", "7T", "7L49", "7V", "6T", "6L49", "5T", "5L49", "4T", "4L49", "3T", "3L43"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["9L17", "7L22", "6L22", "5L22", "4L22"], + swift: ["9M", "7V", "4T", "3T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9L56", "7L58", "7V", "6L58", "5L58", "4L58", "3L49"], + throatchop: ["7T"], + thunderpunch: ["9M", "7T", "7V", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + workup: ["7M", "5M"], + zapcannon: ["7V"], + }, + encounters: [ + {generation: 2, level: 25}, + ], + }, + ursaluna: { + learnset: { + aerialace: ["9M"], + avalanche: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulkup: ["9M"], + bulldoze: ["9M"], + charm: ["9M"], + closecombat: ["9M"], + covet: ["9L1"], + crunch: ["9M"], + dig: ["9M"], + drainpunch: ["9M"], + earthpower: ["9M"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9M", "9L1"], + firepunch: ["9M"], + fling: ["9M"], + focuspunch: ["9M"], + furyswipes: ["9L8"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + hammerarm: ["9L64"], + headlongrush: ["9L0"], + heavyslam: ["9M"], + helpinghand: ["9M"], + highhorsepower: ["9M", "9L48"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icepunch: ["9M"], + leer: ["9L1"], + lick: ["9L1"], + lowkick: ["9M"], + metalclaw: ["9M"], + metronome: ["9M"], + payback: ["9L13"], + playnice: ["9L25"], + playrough: ["9M", "9L29"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M", "9L41"], + roar: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + scaryface: ["9M", "9L35"], + scratch: ["9L1"], + seedbomb: ["9M"], + shadowclaw: ["9M"], + slash: ["9L22"], + sleeptalk: ["9M"], + smackdown: ["9M"], + snore: ["9L41"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetscent: ["9L17"], + swift: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L56"], + thunderpunch: ["9M"], + trailblaze: ["9M"], + uproar: ["9M"], + }, + }, + ursalunabloodmoon: { + learnset: { + avalanche: ["9M"], + bellydrum: ["9E"], + bloodmoon: ["9L70", "9S0"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + calmmind: ["9M", "9S0"], + closecombat: ["9E"], + counter: ["9E"], + crosschop: ["9E"], + crunch: ["9M", "9E"], + dig: ["9M"], + doubleedge: ["9E"], + earthpower: ["9M", "9L48", "9S0"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9E"], + firepunch: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + focuspunch: ["9M"], + furycutter: ["9E"], + furyswipes: ["9L8"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + hammerarm: ["9L64"], + harden: ["9L17"], + headlongrush: ["9L1"], + heavyslam: ["9M"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icepunch: ["9M"], + leer: ["9L1"], + lick: ["9L1"], + lowkick: ["9M"], + metalclaw: ["9M", "9E"], + moonblast: ["9L56"], + moonlight: ["9L1"], + mudshot: ["9M"], + nightslash: ["9E"], + payback: ["9L13"], + playnice: ["9L25"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M", "9L41"], + roar: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + scaryface: ["9M", "9L35"], + scratch: ["9L1"], + seedbomb: ["9M"], + seismictoss: ["9E"], + shadowclaw: ["9M"], + slash: ["9L22", "9S0"], + sleeptalk: ["9M"], + smackdown: ["9M"], + snarl: ["9M"], + snore: ["9L41"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M"], + trailblaze: ["9M"], + uproar: ["9M"], + vacuumwave: ["9M"], + yawn: ["9E"], + }, + eventData: [ + {generation: 9, level: 70, nature: "Hardy", perfectIVs: 3, moves: ["bloodmoon", "earthpower", "slash", "calmmind"]}, + ], + eventOnly: true, + }, + slugma: { + learnset: { + acidarmor: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L36", "7L36", "7V", "6L32", "5L32", "4L31", "3L29"], + ancientpower: ["9L22", "7L22", "6L22", "5L28", "4T", "4L26"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9L41", "7L41", "7V", "6L41", "5L46", "4L46", "3T", "3L50"], + bulldoze: ["9M"], + captivate: ["4M"], + clearsmog: ["9L20", "7L20", "6L20"], + confide: ["7M", "6M"], + curse: ["9E", "7E", "7V", "6E", "5E", "4E"], + defensecurl: ["7V", "3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L50", "7T", "7L50", "7E", "6T", "6L50", "6E", "5T", "5L55", "5E", "4T", "4L56"], + earthquake: ["9M"], + ember: ["9L6", "7L6", "7V", "6L5", "5L5", "5D", "4L8", "3L8"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + firespin: ["9M"], + flameburst: ["7L27", "6L23", "5L23"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L48", "7M", "7L48", "7V", "6M", "6L48", "5M", "5L50", "4M", "4L53", "3M", "3L36"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + guardswap: ["9E", "7E", "6E"], + harden: ["9L13", "7L13", "7V", "6L13", "5L14", "4L16", "3L22"], + heatcrash: ["9M"], + heatwave: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + incinerate: ["9L27", "7L15", "6M", "6L15", "5M"], + inferno: ["9E", "7E", "6E", "5E", "5D"], + infestation: ["7M", "6M"], + irondefense: ["9M", "7T", "6T", "5T", "4T"], + lavaplume: ["9L34", "7L34", "6L34", "5L37", "4L38"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + memento: ["9E", "7E", "6E", "5E", "4E"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["7T", "6T", "5T", "4T"], + powergem: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["9L43", "7L43", "6L19", "5L19", "4L23"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M"], + rockslide: ["9M", "9L29", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L41", "4M", "4L41", "3T", "3L43"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["9L8", "7L8", "7V", "6L8", "5L10", "4L11", "3L15"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + rollout: ["9E", "7E", "7V", "6E", "5E", "4T", "3T"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["3T"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + smog: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + smokescreen: ["9E", "7E", "6E", "5E", "4E"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + spitup: ["7E", "6E", "5E", "4E"], + stealthrock: ["9M"], + stockpile: ["9E", "7E", "6E", "5E", "4E"], + stoneedge: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swallow: ["7E", "6E", "5E", "4E"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + yawn: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + }, + }, + magcargo: { + learnset: { + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L36", "7L36", "7V", "6L32", "5L32", "4L31", "3L29"], + ancientpower: ["9L22", "7L22", "6L22", "5L28", "4T", "4L26"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9L43", "7L43", "7V", "6L43", "5L52", "4L52", "3T", "3L60"], + bulldoze: ["9M", "7M", "6M", "5M"], + burningjealousy: ["9M"], + captivate: ["4M"], + clearsmog: ["9L20", "7L20", "6L20"], + confide: ["7M", "6M"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L67", "4T", "4L66"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M", "3S0"], + ember: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "7V", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + firespin: ["9M"], + flameburst: ["7L27", "6L23", "5L23"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L54", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L59", "4M", "4L61", "3M", "3L36", "3S0"], + flareblitz: ["9M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "7M", "6M", "5M", "4M"], + harden: ["9L13", "7L13", "7V", "6L13", "5L14", "4L16", "3L22"], + heatcrash: ["9M"], + heatwave: ["9M", "7T", "6T", "5T", "4T", "3S0"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["9L27", "7L15", "6M", "6L15", "5M"], + infestation: ["7M", "6M"], + irondefense: ["9M", "7T", "6T", "5T", "4T"], + lavaplume: ["9L34", "7L34", "6L34", "5L37", "4L40"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["7T", "6T", "5T", "4T"], + powergem: ["9M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["9L47", "7L47", "6L19", "5L19", "4L23"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L29", "7M", "7L29", "7V", "6M", "6L29", "5M", "5L44", "4M", "4L45", "3T", "3L48"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["3T"], + shellsmash: ["9L0", "7L1", "6L38", "5L38"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + smog: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + yawn: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + }, + eventData: [ + {generation: 3, level: 38, moves: ["refresh", "heatwave", "earthquake", "flamethrower"]}, + ], + encounters: [ + {generation: 3, level: 25}, + {generation: 6, level: 30}, + ], + }, + swinub: { + learnset: { + amnesia: ["9M", "9L35", "8M", "8L35", "7L48", "7V", "6L48", "5L49", "4L49", "3L55"], + ancientpower: ["9E", "8E", "7E", "7V", "6E", "5E", "5D", "4T", "4E", "3E", "3S0"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "7E", "6E", "5E"], + bite: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + blizzard: ["9M", "9L50", "8M", "8L50", "7M", "7L44", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L44", "3M", "3L46"], + bodyslam: ["9M", "8M", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M", "3S0"], + confide: ["7M", "6M"], + curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E", "3T", "3E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L45", "8M", "8L45", "7M", "7L37", "7V", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "9L25", "8M", "8L25", "7L14", "7V", "6L14", "5L16", "4M", "4L16", "3T", "3L19"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fissure: ["9E", "8E", "7E", "6E", "5E", "4E"], + flail: ["9L10", "8L10", "7L40", "6L40", "5L40"], + freezedry: ["9E", "8E", "7E", "6E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["9M"], + iceshard: ["9L15", "8L15", "7L24", "6L24", "5L28", "4L28"], + iciclecrash: ["9E", "8E", "7E", "6E", "5E"], + iciclespear: ["9M", "8M", "7E", "6E", "5E", "5D", "4E", "3E"], + icywind: ["9M", "9L30", "8M", "8L30", "7T", "7L21", "7V", "6T", "6L21", "5T", "5L25", "4T", "4L25", "3T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + mist: ["9L20", "8L20", "7L35", "7V", "6L35", "5L40", "4L40", "3L37", "3S0"], + mudbomb: ["7L18", "6L18", "5L20", "4L20"], + mudshot: ["9M", "8M", "7E", "6E", "5E", "4E", "3E", "3S0"], + mudslap: ["9M", "9L1", "8L1", "7L11", "7V", "6L11", "5L13", "4T", "4L13", "3T"], + mudsport: ["7L5", "6L5", "5L4", "4L4"], + naturalgift: ["4M"], + odorsleuth: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + powdersnow: ["9L5", "8L5", "7L8", "7V", "6L8", "5L8", "4L8", "3L10"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + stealthrock: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L40", "8L40", "7L28", "7E", "7V", "6L28", "6E", "5L32", "5E", "4L32", "4E", "3L28", "3E"], + terablast: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + }, + eventData: [ + {generation: 3, level: 22, abilities: ["oblivious"], moves: ["charm", "ancientpower", "mist", "mudshot"]}, + ], + }, + piloswine: { + learnset: { + amnesia: ["9M", "9L37", "8M", "8L37", "7L58", "7V", "6L58", "5L65", "4L65", "3L70"], + ancientpower: ["9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "9L58", "8M", "8L58", "7M", "7L52", "7V", "6M", "6L52", "5M", "5L56", "4M", "4L56", "3M", "3L56"], + bodyslam: ["9M", "8M", "3T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L51", "8M", "8L51", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L40", "4M", "4L40", "3M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "9L25", "8M", "8L25", "7L14", "7V", "6L14", "5L16", "4M", "4L16", "3T", "3L1"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L1", "8L1"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["7L1", "7V", "6L33", "5L33", "4L33", "3L33"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + headbutt: ["7V", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + hornattack: ["3L1"], + hyperbeam: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["9M", "9L0", "8M", "8L0", "7L24", "6L24", "5L28", "4L28"], + iceshard: ["9L15", "8L15"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L30", "8M", "8L30", "7T", "7L21", "7V", "6T", "6L21", "5T", "5L25", "4T", "4L25", "3T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + mist: ["9L20", "8L20", "7L37", "7V", "6L37", "5L48", "4L48", "3L42"], + mudbomb: ["7L18", "6L18", "5L20", "4L20"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L11", "7V", "6L11", "5L13", "4T", "4L13", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + odorsleuth: ["7L1", "6L1", "5L1", "4L1", "3L1"], + peck: ["7L1", "6L1", "5L1", "4L1"], + powdersnow: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "9L44", "8L44", "7L28", "7V", "6L28", "5L32", "4L32", "3L28"], + terablast: ["9M"], + thrash: ["9L65", "8L65", "7L41", "6L41", "5L41"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + mamoswine: { + learnset: { + amnesia: ["9M", "9L37", "8M", "8L37"], + ancientpower: ["9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "9L58", "8M", "8L58", "7M", "7L52", "6M", "6L52", "5M", "5L56", "4M", "4L56"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doublehit: ["9L0", "8L0", "7L33", "6L33", "5L33", "5S0", "4L33"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L51", "8M", "8L51", "7M", "7L46", "6M", "6L46", "6S1", "5M", "5L40", "4M", "4L40"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "9L25", "8M", "8L25", "7L14", "6L14", "5L16", "4M", "4L16"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flail: ["9L1", "8L1"], + frustration: ["7M", "6M", "5M", "4M"], + furyattack: ["7L1"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "7L21", "6M", "6L21", "5M", "5L25", "5S0", "4M", "4L25"], + haze: ["9M"], + headbutt: ["4T"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icefang: ["9M", "9L1", "8M", "8L1", "7L24", "6L24", "5L28", "5S0", "4L28"], + iceshard: ["9L15", "8L15"], + iciclecrash: ["6S1"], + iciclespear: ["9M", "8M", "6S1"], + icywind: ["9M", "9L30", "8M", "8L30", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M"], + mist: ["9L20", "8L20", "7L37", "6L37", "5L48", "4L48"], + mudbomb: ["7L18", "6L18", "5L20", "4L20"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L11", "6L11", "5L13", "4T", "4L13"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + odorsleuth: ["7L1", "6L1", "5L1", "4L1"], + peck: ["7L1", "6L1", "5L1", "4L1"], + powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockblast: ["9M", "8M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "6S1", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M", "8M"], + scaryface: ["9M", "8M", "7L1", "6L1", "5L65", "4L65"], + secretpower: ["6M", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smackdown: ["9M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "9L44", "8L44", "7L28", "6L28", "5L32", "5S0", "4L32"], + terablast: ["9M"], + thrash: ["9L65", "8L65", "7L41", "6L41", "5L41"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + }, + eventData: [ + {generation: 5, level: 34, gender: "M", isHidden: true, moves: ["hail", "icefang", "takedown", "doublehit"]}, + {generation: 6, level: 50, shiny: true, gender: "M", nature: "Adamant", isHidden: true, moves: ["iciclespear", "earthquake", "iciclecrash", "rockslide"], pokeball: "pokeball"}, + ], + }, + corsola: { + learnset: { + amnesia: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + ancientpower: ["8L20", "7L17", "7V", "6L17", "5L32", "4T", "4L32", "3L45"], + aquaring: ["8L10", "7L38", "7E", "6L38", "6E", "5L37", "5E", "4L37", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + barrier: ["7E", "6E", "5E", "4E", "3E"], + bide: ["7E", "6E", "5E"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brine: ["8M", "7L27", "6L27", "4M"], + bubble: ["7L4", "7V", "6L4", "5L8", "5D", "4L8", "3L12"], + bubblebeam: ["8L25", "7L10", "7V", "6L10", "5L25", "4L25", "3L23"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + camouflage: ["7E", "6E"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E", "5D", "4E", "3E"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E"], + defensecurl: ["7V", "3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "8L45", "7T", "7L47", "6T", "6L47", "5T", "5L53", "4T", "4L53"], + earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "8L15", "7L35", "7V", "6L35", "5L35", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L30", "7L50", "6L50", "5L52"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["8L1", "7L1", "7V", "6L1", "5L4", "4L4", "3L6"], + headbutt: ["7V", "4T"], + headsmash: ["8E", "7E", "6E", "5E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + iciclespear: ["8M", "7E", "6E", "5E", "4E", "3E"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + ingrain: ["7E", "6E", "5E", "4E", "3E"], + irondefense: ["8M", "7T", "7L29", "6T", "6L29", "5T", "5L29"], + lifedew: ["8L35"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + liquidation: ["8M", "7T", "7E"], + luckychant: ["7L23", "6L23", "5L28", "4L28"], + magiccoat: ["7T", "6T", "5T", "4T"], + meteorbeam: ["8T"], + mimic: ["3T"], + mirrorcoat: ["8L55", "7L45", "7V", "6L45", "5L48", "4L48", "3L39"], + mist: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["3S0"], + naturalgift: ["4M"], + naturepower: ["8E", "7M", "7E", "6M", "6E", "5E", "4E"], + powergem: ["8M", "8L40", "7L41", "7S1", "6L41", "5L44", "4L44"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["8L50", "7L8", "7V", "6L8", "5L13", "4L13", "3L17"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7L13", "6L13", "5L16", "4L16", "3L17"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "7L31", "6L31", "5L20", "4L20", "3L34"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7V", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikecannon: ["7L20", "7V", "6L20", "5L40", "4L40", "3L28"], + stealthrock: ["8M", "7T", "6T", "5T", "5D", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "7V", "7S1", "6L1", "5L1", "4L1", "3L1", "3S0"], + throatchop: ["8M", "7T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L5"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["tackle", "mudsport"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 7, level: 50, gender: "F", nature: "Serious", abilities: ["hustle"], moves: ["tackle", "powergem"], pokeball: "ultraball"}, + ], + }, + corsolagalar: { + learnset: { + amnesia: ["8M"], + ancientpower: ["8L20"], + astonish: ["8L5", "8S0"], + attract: ["8M"], + blizzard: ["8M"], + bodyslam: ["8M"], + brine: ["8M"], + bulldoze: ["8M"], + calmmind: ["8M"], + confuseray: ["8E"], + curse: ["8L30"], + destinybond: ["8E"], + dig: ["8M"], + disable: ["8L10", "8S0"], + earthpower: ["8M"], + earthquake: ["8M"], + endure: ["8M"], + facade: ["8M"], + gigadrain: ["8M"], + grudge: ["8L50"], + hail: ["8M"], + harden: ["8L1"], + haze: ["8E"], + headsmash: ["8E"], + hex: ["8M", "8L25"], + hydropump: ["8M"], + icebeam: ["8M"], + iciclespear: ["8M"], + icywind: ["8M"], + irondefense: ["8M"], + lightscreen: ["8M"], + liquidation: ["8M"], + meteorbeam: ["8T"], + mirrorcoat: ["8L55"], + naturepower: ["8E"], + nightshade: ["8L45"], + powergem: ["8M", "8L40"], + protect: ["8M"], + psychic: ["8M"], + raindance: ["8M"], + reflect: ["8M"], + rest: ["8M"], + rockblast: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + safeguard: ["8M"], + sandstorm: ["8M"], + scald: ["8M"], + screech: ["8M"], + selfdestruct: ["8M"], + shadowball: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + spite: ["8L15", "8S0"], + stealthrock: ["8M"], + stompingtantrum: ["8M"], + stoneedge: ["8M"], + strengthsap: ["8L35"], + substitute: ["8M"], + sunnyday: ["8M"], + surf: ["8M"], + tackle: ["8L1", "8S0"], + throatchop: ["8M"], + waterpulse: ["8E"], + whirlpool: ["8M"], + willowisp: ["8M"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["tackle", "astonish", "disable", "spite"], pokeball: "cherishball"}, + ], + }, + cursola: { + learnset: { + amnesia: ["8M"], + ancientpower: ["8L20"], + astonish: ["8L1"], + attract: ["8M"], + blizzard: ["8M"], + bodyslam: ["8M"], + brine: ["8M"], + bulldoze: ["8M"], + burningjealousy: ["8T"], + calmmind: ["8M"], + curse: ["8L30"], + dig: ["8M"], + disable: ["8L1"], + earthpower: ["8M"], + earthquake: ["8M"], + endure: ["8M"], + facade: ["8M"], + gigadrain: ["8M"], + gigaimpact: ["8M"], + grudge: ["8L50"], + hail: ["8M"], + harden: ["8L1"], + hex: ["8M", "8L25"], + hydropump: ["8M"], + hyperbeam: ["8M"], + icebeam: ["8M"], + iciclespear: ["8M"], + icywind: ["8M"], + irondefense: ["8M"], + leechlife: ["8M"], + lightscreen: ["8M"], + liquidation: ["8M"], + meteorbeam: ["8T"], + mirrorcoat: ["8L55"], + nightshade: ["8L45"], + perishsong: ["8L1"], + pinmissile: ["8M"], + poltergeist: ["8T"], + powergem: ["8M", "8L40"], + protect: ["8M"], + psychic: ["8M"], + raindance: ["8M"], + reflect: ["8M"], + rest: ["8M"], + revenge: ["8M"], + rockblast: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + safeguard: ["8M"], + sandstorm: ["8M"], + scald: ["8M"], + screech: ["8M"], + selfdestruct: ["8M"], + shadowball: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + spite: ["8L15"], + stealthrock: ["8M"], + stompingtantrum: ["8M"], + stoneedge: ["8M"], + strengthsap: ["8L35"], + substitute: ["8M"], + sunnyday: ["8M"], + surf: ["8M"], + tackle: ["8L1"], + throatchop: ["8M"], + whirlpool: ["8M"], + willowisp: ["8M"], + }, + }, + remoraid: { + learnset: { + acidspray: ["8E", "7E", "6E", "5E"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8L16", "7L14", "7E", "7V", "6L14", "6E", "5L14", "5E", "4L14", "4E", "3L22", "3E"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "5D", "4M"], + bubblebeam: ["8L20", "7L18", "7V", "6L18", "5L19", "4L19", "3L22"], + bulletseed: ["8M", "8L28", "7L38", "6L38", "5L27", "4M", "4L27"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + entrainment: ["7E", "6E"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["8E", "7E", "6E", "5E", "4E"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + focusenergy: ["8M", "8L8", "7L22", "7V", "6L22", "5L23", "4L23", "3L33"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gunkshot: ["8M", "7T", "6T", "5T", "4T"], + haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + helpinghand: ["8M", "8L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L36", "7L42", "6L42", "5L42"], + hyperbeam: ["8M", "8L44", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L45", "4M", "4L45", "3M", "3L55"], + icebeam: ["8M", "8L32", "7M", "7L34", "7V", "6M", "6L34", "5M", "5L40", "4M", "4L40", "3M", "3L44"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + lockon: ["8L24", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L11"], + mimic: ["3T"], + mudshot: ["8M", "7E", "6E", "5E"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + octazooka: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L12", "7L10", "7V", "6L10", "5L10", "4L10", "3L22"], + psychic: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "7E", "6E", "5E", "5D", "4E", "3E"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + signalbeam: ["7T", "7L30", "6T", "6L30", "5T", "5L36", "4T", "4L36"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + soak: ["8L40", "7L50", "6L50", "5L49"], + stringshot: ["4T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7E", "7V", "6E", "5E", "4T", "3T"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["8L4", "7T", "7L26", "7E", "6T", "6L26", "6E", "5L32", "5E", "4M", "4L32", "3M"], + waterspout: ["8E", "7E", "6E", "5E", "4E"], + whirlpool: ["8M", "7V", "4M"], + }, + }, + octillery: { + learnset: { + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["8L16", "7L1", "7V", "6L1", "5L1", "4L1", "3L22"], + bind: ["7T", "6T", "5T"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "4M"], + bubblebeam: ["8L20", "7L18", "7V", "6L18", "5L19", "4L19", "3L22"], + bulletseed: ["8M", "8L30", "7L46", "6L46", "5L29", "4M", "4L29", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + constrict: ["7L1", "7V", "6L1", "5L1", "4L1", "3L11"], + curse: ["7V"], + defensecurl: ["7V", "3T"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L1", "7L22", "7V", "6L22", "5L23", "4L23", "3L38"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gunkshot: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + helpinghand: ["8M", "8L1"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L42", "7L52", "6L52", "5L52"], + hyperbeam: ["8M", "8L54", "7M", "7L58", "7V", "6M", "6L58", "5M", "5L55", "4M", "4L55", "4S0", "3M", "3L70"], + icebeam: ["8M", "8L36", "7M", "7L40", "7V", "6M", "6L40", "5M", "5L48", "4M", "4L48", "4S0", "3M", "3L54"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + liquidation: ["8M"], + lockon: ["8L24"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + octazooka: ["8L0", "7L1", "7V", "6L25", "5L25", "4L25", "4S0", "3L25"], + payback: ["8M", "7M", "6M", "5M", "4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L22"], + psychic: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + signalbeam: ["7T", "7L34", "6T", "6L34", "5T", "5L42", "4T", "4L42", "4S0"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + soak: ["8L48", "7L64", "6L64", "5L61"], + stringshot: ["4T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["8L1", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7V", "4M"], + wrap: ["8L1"], + wringout: ["7L28", "6L28", "5L36", "4L36"], + }, + eventData: [ + {generation: 4, level: 50, gender: "F", nature: "Serious", abilities: ["suctioncups"], moves: ["octazooka", "icebeam", "signalbeam", "hyperbeam"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 19}, + {generation: 7, level: 10}, + ], + }, + delibird: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + aurorabeam: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + auroraveil: ["9E", "8E", "7M"], + avalanche: ["9M", "8M", "4M"], + batonpass: ["9M", "8M"], + bestow: ["7E", "6E", "5E"], + blizzard: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + bravebird: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + brutalswing: ["8M", "7M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "3T"], + curse: ["7V"], + defog: ["7T", "4M"], + destinybond: ["9E", "8E", "7E", "6E"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillpeck: ["9L25", "8L25", "7L25"], + drillrun: ["9M", "8M"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9E", "8E", "7E", "6E", "5E", "4E"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + fly: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + focuspunch: ["9M", "7T", "6T", "5D", "4M", "3M"], + foulplay: ["9M"], + freezedry: ["9E", "8E", "7E", "6E"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + gigaimpact: ["9M"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + happyhour: ["6S1"], + haze: ["9M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M"], + iceball: ["7E", "6E", "5E", "4E", "3E"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + iceshard: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "3T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + memento: ["9E", "8E"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + pluck: ["5M", "4M"], + poweruppunch: ["6M"], + present: ["9L1", "8L1", "7L1", "7V", "6L1", "6S1", "5L1", "5D", "4L1", "3L1", "3S0"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + quickattack: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rapidspin: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + recycle: ["7T", "6T", "5T", "4M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + signalbeam: ["7T", "6T", "5T", "4T"], + skyattack: ["7T", "6T", "5T", "4T", "3T"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "3T"], + snowscape: ["9M"], + spikes: ["9M", "8M", "7E", "6E"], + splash: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + steelwing: ["8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "7V", "4T", "3T"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + tripleaxel: ["8T"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "8M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["present"], pokeball: "pokeball"}, + {generation: 6, level: 10, abilities: ["vitalspirit"], moves: ["present", "happyhour"], pokeball: "cherishball"}, + ], + }, + mantyke: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["8M", "8L20", "7L32", "6L32", "5L19", "4L19"], + aircutter: ["4T"], + airslash: ["8M", "8L32", "7L36", "6L36", "5L36"], + amnesia: ["8M", "7E", "6E", "5E"], + aquaring: ["8L36", "7L39", "6L39", "5L46", "4L46"], + attract: ["8M", "7M", "6M", "5M", "4M"], + blizzard: ["8M", "7M", "6M", "5M", "4M"], + bounce: ["8M", "8L40", "7T", "7L46", "6T", "6L46", "5T", "5L40", "4T", "4L40"], + bubble: ["7L1", "6L1", "5L1", "4L1"], + bubblebeam: ["8L24", "7L7", "6L7", "5L10", "4L10"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8E", "7L11", "6L11", "5L37", "4L37"], + dive: ["8M", "6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthquake: ["8M", "7M", "6M", "5M", "4M"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M"], + haze: ["8E", "7E", "6E", "5E", "4E"], + headbutt: ["8L28", "7L16", "6L16", "5L13", "4T", "4L13"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["8M", "8L48", "7L49", "7E", "6L49", "6E", "5L49", "5E", "4L49", "4E"], + icebeam: ["8M", "7M", "6M", "5M", "4M"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + mirrorcoat: ["8E", "7E", "6E", "5E", "4E"], + mudslap: ["4T"], + mudsport: ["7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4E"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4E"], + slam: ["8E", "7E", "6E", "5E", "4E"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + splash: ["8E", "7E", "6E", "5E", "4E"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + supersonic: ["8L4", "7L3", "6L3", "5L4", "4L4"], + surf: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["8M", "4T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1"], + tailwind: ["8E", "7T", "7E", "6E"], + takedown: ["8L44", "7L27", "6L27", "5L31", "4L31"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["8E", "7E", "6E", "5E", "4E"], + waterfall: ["8M", "7M", "6M", "5M", "4M"], + watergun: ["8L1"], + waterpulse: ["8L12", "7T", "7L19", "6T", "6L19", "5L28", "4M", "4L28"], + watersport: ["7E", "6E", "5E", "4E"], + whirlpool: ["8M", "4M"], + wideguard: ["8L16", "7L23", "7E", "6L23", "6E", "5L23", "5E"], + wingattack: ["8L8", "7L14", "6L14", "5L22", "4L22"], + }, + }, + mantine: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L20", "7L32", "7V", "6L32", "5L19", "4L19", "3L29"], + aircutter: ["5D", "4T"], + airslash: ["8M", "8L32", "7L36", "6L36", "5L36"], + amnesia: ["8M", "7E", "6E", "5E"], + aquaring: ["8L36", "7L39", "6L39", "5L46", "4L46"], + aquatail: ["7T", "6T", "5T", "4T"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + bounce: ["8M", "8L40", "7T", "7L46", "6T", "6L46", "5T", "5L40", "4T", "4L40"], + brine: ["8M", "4M"], + bubble: ["7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + bubblebeam: ["8L24", "7L1", "7V", "6L1", "5L1", "4L1", "3L15"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletseed: ["8M", "8L1", "7L1", "6L1", "5L1", "4M", "4L1"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8E", "7L11", "7V", "6L11", "5L37", "4L37", "3L50"], + curse: ["7V"], + defog: ["7T", "4M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dualwingbeat: ["8T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gunkshot: ["8M", "7T", "6T", "5T", "4T"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + headbutt: ["8L28", "7L16", "7V", "6L16", "5L13", "4T", "4L13"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["8M"], + hydropump: ["8M", "8L48", "7L49", "7E", "7V", "6L49", "6E", "5L49", "5E", "4L49", "4E", "3E"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + liquidation: ["8M", "7T"], + mimic: ["3T"], + mirrorcoat: ["8E", "7E", "6E", "5E", "5D", "4E"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["8L1", "7L1", "6L1", "5L1", "4L1"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "4E", "3E"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + roost: ["8L1", "7M", "7L1"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + signalbeam: ["7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + slam: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + splash: ["8E", "7E", "6E", "5E", "4E"], + stringshot: ["4T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + supersonic: ["8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L8", "3S0"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tackle: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + tailwind: ["8E", "7T", "6T", "5T", "4T"], + takedown: ["8L44", "7L27", "7V", "6L27", "5L31", "4L31", "3L22"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1"], + waterpulse: ["8L12", "7T", "7L19", "6T", "6L19", "5L28", "4M", "4L28", "3M", "3L43"], + watersport: ["7E", "6E", "5E", "4E"], + whirlpool: ["8M", "7V", "4M"], + wideguard: ["8L16", "7L23", "7E", "6L23", "6E", "5L23", "5E"], + wingattack: ["8L1", "7L14", "7V", "6L14", "5L22", "4L22", "3L36"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "bubble", "supersonic"], pokeball: "pokeball"}, + ], + }, + skarmory: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L16", "7L31", "7V", "6L12", "5L12", "4L12", "3L16"], + aircutter: ["8E", "7L12", "6L12", "5L23", "4T", "4L23", "3L29"], + airslash: ["8M", "7L45", "6L42", "5L42", "4L39"], + assurance: ["8M", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + autotomize: ["8L32", "7L50", "6L39", "5L39"], + bodypress: ["8M"], + bravebird: ["8M", "8L52", "7E", "6E", "5E", "4E"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + cut: ["7V", "6M", "5M", "4M", "3M"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + drillpeck: ["8L36", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + dualwingbeat: ["8T"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["8E", "7L20", "6L20", "5L20", "4L20"], + flash: ["6M", "5M", "4M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["8L8", "7L17", "7V", "6L17", "5L17", "4L17", "3L26"], + furycutter: ["4T"], + guardswap: ["8M", "7E", "6E", "5E", "4E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T"], + irondefense: ["8M", "8L48", "7T", "6T", "5T", "4T"], + ironhead: ["8M", "7T", "6T", "5T"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + metalclaw: ["8L12", "7L9", "6L9"], + metalsound: ["8L40", "7L42", "6L31", "5L31", "4L31", "3L45"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + nightslash: ["8E", "7L53", "6L50", "5L50", "4L45"], + ominouswind: ["4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + peck: ["8L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1"], + pluck: ["5M", "4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + roost: ["8E", "7M", "6M", "5T", "5D", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L4", "7L6", "7V", "6L6", "5L6", "4L6", "3L10"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["8E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + skydrop: ["7M", "6M", "5M"], + slash: ["8L24", "7L39", "6L39", "5L45", "4L42"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spikes: ["8M", "8L44", "7L28", "6L28", "5L28", "4L27", "3L42"], + stealthrock: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + steelbeam: ["8T"], + steelwing: ["8M", "8L28", "7M", "7L34", "7V", "6M", "6L34", "5L34", "4M", "4L34", "3M", "3L32"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7L23", "7V", "6L9", "5L9", "4T", "4L9", "3T", "3L13"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + tailwind: ["7T", "6T", "5T", "4T"], + taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + whirlwind: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + wingattack: ["8L20"], + xscissor: ["8M", "7M", "6M", "5M", "4M"], + }, + }, + houndour: { + learnset: { + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["9L25", "7L25", "7E", "7V", "6L25", "6E", "5L25", "5E", "4L27", "4E", "3E"], + bite: ["9L16", "7L16", "7V", "6L16", "5L16", "4L17", "3L25"], + bodyslam: ["9M", "3T"], + burningjealousy: ["9M"], + captivate: ["4M"], + charm: ["3S1"], + comeuppance: ["9L37"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + crunch: ["9M", "9L49", "7L49", "7V", "6L49", "5L49", "4L48", "3L49"], + curse: ["7V"], + darkpulse: ["9M", "7M", "6M", "5T", "5D", "4M"], + destinybond: ["9E", "7E", "6E"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + embargo: ["7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L40"], + ember: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9E", "7E", "6E", "5E", "5D", "4E"], + feintattack: ["7L32", "7V", "6L32", "5L32", "4L35", "3L37", "3S1"], + fireblast: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L28", "7L28", "7E", "6L28", "6E", "5L28", "5E", "4L30", "4E"], + firespin: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L44", "7M", "7L44", "7V", "6M", "6L44", "5M", "5L44", "4M", "4L43", "3M", "3L43"], + flareblitz: ["9M"], + foulplay: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["9L4", "7L4", "6L4", "5L4", "5D", "4L4", "3L7", "3S0"], + hypervoice: ["9M", "7T", "6T", "5T"], + incinerate: ["9L20", "6M", "5M"], + inferno: ["9L56", "7L56", "6L56", "5L56"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + lashout: ["9M"], + leer: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S0"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + nastyplot: ["9M", "9L52", "7L52", "7E", "6L52", "6E", "5L52", "5E", "4L53", "4E"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + odorsleuth: ["7L20", "6L20", "5L20", "4L22", "3L31"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + payback: ["7M", "6M", "5M", "4M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + punishment: ["7E", "6E", "5E", "4E"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + rage: ["7E", "7V", "6E", "5E", "4E", "3E"], + raindance: ["9M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3E"], + roar: ["9M", "9L13", "7M", "7L13", "7V", "6M", "6L13", "5M", "5L13", "4M", "4L14", "3M", "3L19", "3S1"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + smog: ["9L8", "7L8", "7V", "6L8", "5L8", "4L9", "3L13"], + snarl: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + spite: ["9M", "9E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9E", "7E", "6E", "5E", "4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "9E", "7E", "6E", "5E", "4E"], + torment: ["9L32", "7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M", "4E", "3E"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["leer", "ember", "howl"], pokeball: "pokeball"}, + {generation: 3, level: 17, moves: ["charm", "feintattack", "ember", "roar"]}, + ], + }, + houndoom: { + learnset: { + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + beatup: ["9L26", "7L26", "6L26", "5L26", "4L28"], + bite: ["9L16", "7L16", "7V", "6L16", "5L16", "4L17", "3L27"], + bodyslam: ["9M", "3T"], + burningjealousy: ["9M"], + captivate: ["4M"], + comeuppance: ["9L41"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["9M", "9L56", "7L56", "7V", "6L56", "5L56", "4L54", "3L59"], + curse: ["7V"], + darkpulse: ["9M", "7M", "6M", "6S0", "5T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + embargo: ["7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L44"], + ember: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L35", "7V", "6L35", "5L35", "4L38", "3L43"], + fireblast: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L30", "7L30", "6L30", "5L30", "4L32"], + firespin: ["9M"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L50", "7M", "7L50", "7V", "6M", "6L50", "6S0", "5M", "5L50", "4M", "4L48", "3M", "3L51"], + flareblitz: ["9M"], + foulplay: ["9M", "9L45", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "7T", "6T", "5T"], + incinerate: ["9L20", "6M", "5M"], + inferno: ["9L62", "7L1", "6L1", "5L65"], + irontail: ["7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lashout: ["9M"], + leer: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + nastyplot: ["9M", "9L1", "7L1", "6L1", "5L60", "4L60"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + odorsleuth: ["7L20", "6L20", "5L20", "4L22", "3L35"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + payback: ["7M", "6M", "5M", "4M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + roar: ["9M", "9L13", "7M", "7L13", "7V", "6M", "6L13", "5M", "5L13", "4M", "4L14", "3M", "3L19"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "7V", "6M", "6S0", "5M", "4M", "3M"], + smog: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L13"], + snarl: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "7V", "6M", "6S0", "5M", "4M", "3M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["7V", "4T", "3T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + torment: ["9L35", "7M", "6M", "5M", "4M", "3M"], + toxic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Timid", abilities: ["flashfire"], moves: ["flamethrower", "darkpulse", "solarbeam", "sludgebomb"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + phanpy: { + learnset: { + ancientpower: ["9E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + bulldoze: ["9M", "9L15", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M", "9L33", "7L33", "6L33", "5L33", "4L33"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], + curse: ["7V"], + defensecurl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L9"], + dig: ["9M"], + doubleedge: ["9L42", "7L42", "7V", "6L42", "5L42", "4L42", "3T", "3L49"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M"], + endeavor: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + endure: ["9M", "9L19", "7L19", "7V", "6L19", "5L28", "4M", "4L28", "3T", "3L41"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fissure: ["9E", "7E", "6E", "5E", "4E", "3E"], + flail: ["9L6", "7L6", "7V", "6L6", "5L6", "5D", "4L6", "3L17"], + focusenergy: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["7V", "4T"], + headsmash: ["9E", "7E", "6E", "5E", "4E"], + heavyslam: ["9M", "9E", "7E", "6E", "5E", "5D"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "9E", "7E"], + hypervoice: ["9M", "7T", "6T", "5T"], + iceshard: ["9E", "7E", "6E", "5E", "4E"], + ironhead: ["9M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["9L37", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4L37"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "7E", "7V", "6E", "5E", "4T", "3T"], + naturalgift: ["7L15", "6L15", "5L19", "4M", "4L19"], + odorsleuth: ["7L1", "6L1", "5L1", "4L1", "3L1"], + playrough: ["9M", "9E", "7E", "6E"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L10", "7L10", "7V", "6L10", "5L15", "4T", "4L15", "3T", "3L33"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["9M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "5D", "4T"], + slam: ["9L24", "7L24", "6L24", "5L24", "4L24"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + snore: ["9E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L28", "7L28", "7V", "6L10", "5L10", "4L10", "3L25"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + watergun: ["7V"], + }, + encounters: [ + {generation: 2, level: 2}, + ], + }, + donphan: { + learnset: { + ancientpower: ["4T"], + assurance: ["9L15", "7L15", "6L15", "5L31", "4L31"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + bounce: ["7T", "6T", "5T", "4T"], + brutalswing: ["7M"], + bulldoze: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["7V"], + defensecurl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3T", "3L9"], + dig: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L43", "7M", "7L43", "7V", "6M", "6L43", "5M", "5L46", "4M", "4L46", "3M", "3L49"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "7V", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + flail: ["7V", "4L1", "3L17"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furyattack: ["9L0", "7L1", "7V", "6L25", "5L25", "4L25", "3L25"], + gigaimpact: ["9M", "9L50", "7M", "7L50", "6M", "6L50", "5M", "5L54", "4M", "4L54"], + growl: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hornattack: ["9L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + hyperbeam: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "7T", "6T", "5T"], + icefang: ["9M"], + icespinner: ["9M"], + irondefense: ["9M", "7T", "6T", "5T", "4T"], + ironhead: ["9M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + knockoff: ["9M", "9L19", "7T", "7L19", "6T", "6L10", "5T", "5L10", "4T", "4L10"], + lastresort: ["7T", "6T", "5T"], + magnitude: ["7L30", "6L19", "5L19", "4L19"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + odorsleuth: ["3L1"], + playrough: ["9M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + rapidspin: ["9L6", "7L6", "7V", "6L6", "5L6", "4L6", "3L41"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L10", "7L10", "7V", "6L10", "5L15", "4T", "4L15", "3T", "3L33"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + sandtomb: ["9M"], + scaryface: ["9M", "9L37", "7L37", "6L37", "5L39", "4L39"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + slam: ["9L24", "7L24", "6L24", "5L24", "4L24"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + smartstrike: ["9M"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "9L30", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderfang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + }, + encounters: [ + {generation: 6, level: 24, maxEggMoves: 1}, + ], + }, + stantler: { + learnset: { + agility: ["9M"], + astonish: ["9L7", "7L7", "6L7", "5L7", "4L7", "3L11"], + attract: ["7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["9E", "7E", "7V", "6E", "5E", "4E", "3E"], + bodyslam: ["9M", "3T"], + bounce: ["7T", "6T", "5T", "4T"], + bulldoze: ["9M", "7M", "6M", "5M"], + calmmind: ["9M", "9L27", "7M", "7L27", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3M", "3L47"], + captivate: ["7L50", "6L50", "5L53", "4M", "4L49"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L23", "7L23", "7V", "6L23", "5L23", "4L23", "3L41"], + curse: ["7V"], + detect: ["7V"], + dig: ["9M"], + disable: ["9E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + doubleedge: ["9L55", "3T"], + doublekick: ["9E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + earthpower: ["9M"], + earthquake: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["9M", "7V", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + extrasensory: ["9E", "7E", "6E", "5E", "4E", "3E"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M"], + hypnosis: ["9L10", "7L10", "7V", "6L10", "5L10", "4L10", "3L17"], + imprison: ["9M", "9L49", "7L49", "6L49", "5L49", "4L43"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + jumpkick: ["7L43", "6L43", "5L43"], + lastresort: ["7T", "6T", "5T", "4T"], + leer: ["9L3", "7L3", "7V", "6L3", "5L3", "4L3", "3L7", "3S0"], + lightscreen: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + lunge: ["9M"], + magicroom: ["7T", "6T", "5T"], + mefirst: ["7L1", "7E", "6L1", "6E", "5L55", "5E", "4L53"], + megahorn: ["9E", "7E", "6E", "5E", "4E"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + mudsport: ["7E", "6E", "5E"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + protect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + psyshieldbash: ["9E"], + psyshock: ["9M", "7M", "6M", "5M"], + rage: ["7E", "6E", "5E"], + raindance: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + roleplay: ["9L32", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33", "3L31"], + round: ["7M", "6M", "5M"], + sandattack: ["9L16", "7L16", "7V", "6L16", "5L16", "4L16", "3L27"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "6T", "5T", "5D", "4M", "3M"], + sleeptalk: ["9M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spite: ["9M", "9E", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + stomp: ["9L13", "7L13", "7V", "6L13", "5L13", "4L13", "3L21"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + swift: ["9M", "7V", "4T", "3T"], + tackle: ["9L1", "7L1", "7V", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + takedown: ["9M", "9L21", "7L21", "7V", "6L21", "5L21", "4L21", "3L37"], + terablast: ["9M"], + thief: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + thrash: ["9E", "7E", "6E", "5E", "4E"], + throatchop: ["7T"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + wildcharge: ["9M", "7M", "6M", "5M"], + workup: ["7M", "5M"], + zenheadbutt: ["9M", "9L37", "7T", "7L38", "7E", "6T", "6L38", "6E", "5T", "5L38", "5E", "4T", "4L38", "4E"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["intimidate"], moves: ["tackle", "leer"], pokeball: "pokeball"}, + ], + }, + wyrdeer: { + learnset: { + agility: ["9M"], + astonish: ["9L7"], + bodyslam: ["9M"], + bulldoze: ["9M"], + calmmind: ["9M", "9L27"], + chargebeam: ["9M"], + confuseray: ["9M", "9L23"], + dig: ["9M"], + doubleedge: ["9L55"], + earthpower: ["9M"], + earthquake: ["9M"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + gravity: ["9M"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypnosis: ["9L10"], + imprison: ["9M", "9L49"], + leer: ["9L3"], + lightscreen: ["9M"], + lunge: ["9M"], + megahorn: ["9L62"], + protect: ["9M"], + psybeam: ["9M"], + psychic: ["9M"], + psyshieldbash: ["9L0"], + psyshock: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + roar: ["9M"], + roleplay: ["9L32"], + sandattack: ["9L16"], + scaryface: ["9M"], + shadowball: ["9M"], + skillswap: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spite: ["9M"], + stomp: ["9L13"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L21"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderwave: ["9M"], + trailblaze: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + uproar: ["9M"], + wildcharge: ["9M"], + zenheadbutt: ["9M", "9L37"], + }, + }, + smeargle: { + learnset: { + captivate: ["5D"], + falseswipe: ["5S1"], + flamethrower: ["6S2"], + furyswipes: ["6S2"], + meanlook: ["5S1"], + odorsleuth: ["5S1"], + seismictoss: ["6S2"], + sketch: ["7L1", "7V", "6L1", "6S2", "5L1", "5D", "4L1", "3L1", "3S0"], + sleeptalk: ["5D"], + spore: ["5S1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["owntempo"], moves: ["sketch"], pokeball: "pokeball"}, + {generation: 5, level: 50, gender: "F", nature: "Jolly", ivs: {atk: 31, spe: 31}, abilities: ["technician"], moves: ["falseswipe", "spore", "odorsleuth", "meanlook"], pokeball: "cherishball"}, + {generation: 6, level: 40, gender: "M", nature: "Jolly", abilities: ["owntempo"], moves: ["sketch", "furyswipes", "seismictoss", "flamethrower"], pokeball: "cherishball"}, + ], + }, + miltank: { + learnset: { + afteryou: ["7T", "6T", "5T"], + attract: ["8M", "7M", "7V", "6M", "6S0", "5M", "4M", "3M"], + belch: ["8E", "7E", "6E"], + bide: ["7L15", "7V", "6L15", "5L15", "4L15", "3L26"], + blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "8L40", "7L24", "7V", "6L24", "5L24", "4L24", "3T", "3L43"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["7L35", "6L35", "5L35", "4M", "4L35"], + charm: ["8M", "8L50"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["8E", "7E", "7V", "6E", "5E", "5D", "4E", "3E"], + defensecurl: ["8L10", "7L5", "7V", "6L5", "5L5", "5D", "4L5", "3T", "3L8"], + dizzypunch: ["7E", "6E", "5E", "4E"], + doubleedge: ["8E", "7E", "6E", "5E", "4E", "3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dynamicpunch: ["7V", "3T"], + earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7E", "7V", "6E", "5E", "4M", "4E", "3T", "3E"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["8E", "7T", "6T", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L3", "7V", "6L3", "5L3", "4L3", "3L4"], + gyroball: ["8M", "7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L41"], + hammerarm: ["8E", "7E", "6E", "5E", "4E"], + headbutt: ["8L25", "7V", "4T"], + healbell: ["8L20", "7T", "7L48", "7V", "6T", "6L48", "5T", "5L48", "4T", "4L48", "3L53"], + heartstamp: ["7E", "6E", "5E"], + heavyslam: ["8M"], + helpinghand: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M", "8L55"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "5D", "4M", "3M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["8M", "3T"], + milkdrink: ["8L35", "7L11", "7V", "6L11", "6S0", "5L11", "4L11", "3L19"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + playrough: ["8M", "8L45"], + poweruppunch: ["6M"], + present: ["8E", "7E", "7V", "6E", "5E", "4E", "3E"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "4E", "3T", "3E"], + punishment: ["7E", "6E", "5E", "4E"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["8M", "7E", "7V", "6E", "5E", "4E", "3E"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L5", "7L19", "7V", "6L19", "6S0", "5L19", "4T", "4L19", "3T", "3L34"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8E", "7E", "7V", "6E", "5E", "4E", "3T", "3E"], + shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "7M", "7E", "7V", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + steelroller: ["8T"], + stomp: ["8L15", "7L8", "7V", "6L8", "6S0", "5L8", "4L8", "3L13"], + stompingtantrum: ["8M", "7T"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + tackle: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + wakeupslap: ["7L50", "6L50", "5L55", "4L55"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M", "5M"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "8L30", "7T", "7L29", "6T", "6L29", "5T", "5L29", "4T", "4L29"], + }, + eventData: [ + {generation: 6, level: 20, perfectIVs: 3, abilities: ["scrappy"], moves: ["rollout", "attract", "stomp", "milkdrink"], pokeball: "cherishball"}, + ], + }, + raikou: { + learnset: { + agility: ["8M"], + aurasphere: ["8M", "4S3"], + bite: ["8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["8M", "3T"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "8L18", "7M", "7L78", "7S7", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], + charge: ["8L1"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L42", "7L43", "7V", "7S5", "7S6", "6L43", "6S4", "5L43", "4L43", "3L61", "3S1"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + dig: ["8M", "7V", "6M", "5M", "4M", "3M"], + discharge: ["8L54", "7L1", "7S5", "7S6", "6L1", "5L57", "4L57"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + eerieimpulse: ["8M"], + electricterrain: ["8M"], + endure: ["8M", "7V", "4M", "3T"], + extrasensory: ["8L48", "7L1", "7S7", "6L1", "5L64", "4L64"], + extremespeed: ["8L1", "8S8", "4S3"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["8L36", "8S8"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + quash: ["7M", "6M", "5M"], + quickattack: ["8L1", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], + raindance: ["8M", "8L66", "7M", "7L71", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M"], + reflect: ["8M", "8L60", "7M", "7L36", "7V", "7S5", "7S6", "6M", "6L36", "6S4", "5M", "5L36", "4M", "4L36", "4S2", "3M", "3L51", "3S1"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + roar: ["8L24", "7M", "7L15", "7V", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spark: ["8L6", "7L29", "7V", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + throatchop: ["8M", "7T"], + thunder: ["8M", "8L72", "7M", "7L85", "7V", "6M", "6L85", "5M", "5L85", "4M", "4L71", "3M", "3L71"], + thunderbolt: ["8M", "8S8", "7M", "7S7", "6M", "5M", "4M", "3M"], + thunderfang: ["8M", "8L30", "7L50", "7S5", "7S6", "6L50", "6S4", "5L50", "4L50"], + thundershock: ["8L1", "7L8", "7V", "6L8", "5L8", "4L8", "3L11", "3S0"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + voltswitch: ["8M", "7M", "7S7", "6M", "5M"], + weatherball: ["8M", "8S8", "4S3"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["8L78", "7V", "4S3"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["thundershock", "roar", "quickattack", "spark"]}, + {generation: 3, level: 70, moves: ["quickattack", "spark", "reflect", "crunch"], pokeball: "pokeball"}, + {generation: 4, level: 40, shiny: 1, moves: ["roar", "quickattack", "spark", "reflect"]}, + {generation: 4, level: 30, shiny: true, nature: "Rash", moves: ["zapcannon", "aurasphere", "extremespeed", "weatherball"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["spark", "reflect", "crunch", "thunderfang"]}, + {generation: 7, level: 60, shiny: 1, moves: ["reflect", "crunch", "thunderfang", "discharge"]}, + {generation: 7, level: 60, moves: ["reflect", "crunch", "thunderfang", "discharge"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["thunderbolt", "voltswitch", "extrasensory", "calmmind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["thunderbolt", "howl", "extremespeed", "weatherball"]}, + ], + encounters: [ + {generation: 2, level: 40}, + {generation: 3, level: 40}, + ], + eventOnly: true, + }, + entei: { + learnset: { + agility: ["8M"], + bite: ["8L12", "7L1", "7V", "7S5", "7S6", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["8M", "3T"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "8L18", "7M", "7L78", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], + confide: ["7M", "6M"], + crunch: ["8M", "8L42", "8S8"], + crushclaw: ["4S3"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + dig: ["8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + ember: ["8L1", "7L8", "7V", "6L8", "5L8", "4L8", "3L11", "3S0"], + endure: ["8M", "7V", "4M", "3T"], + eruption: ["8L78", "7L1", "6L1", "5L85", "4L85"], + extrasensory: ["8L48", "7L1", "6L1", "5L64", "4L64"], + extremespeed: ["8L1", "8S8", "4S3"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8L72", "7M", "7L71", "7V", "6M", "6L71", "5M", "5L71", "4M", "4L71", "3M", "3L71"], + firefang: ["8M", "8L30", "7L50", "6L50", "6S4", "5L50", "4L50"], + firespin: ["8M", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], + flamecharge: ["7M", "7S7", "6M", "5M"], + flamethrower: ["8M", "8S8", "7M", "7L36", "7V", "6M", "6L36", "6S4", "5M", "5L36", "4M", "4L36", "4S2", "3M", "3L51", "3S1"], + flamewheel: ["8L6"], + flareblitz: ["8M", "4S3"], + flash: ["7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["7V", "4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + howl: ["4S3"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + ironhead: ["8M", "7T", "7S7", "6T", "5T", "4T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lavaplume: ["8L54", "7L1", "7S5", "7S6", "6L1", "5L57", "4L57"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + quash: ["7M", "6M", "5M"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + reversal: ["8M"], + roar: ["8L24", "7M", "7L15", "7V", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sacredfire: ["8L1", "7L1", "7S7", "6L1"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaryface: ["8M", "8L36", "8S8"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smokescreen: ["8L1"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + stomp: ["8L1", "7L29", "7V", "7S5", "7S6", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "7S7", "6M", "5M", "4M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "8L66", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["8L60", "7M", "7L43", "7V", "7S5", "7S6", "6M", "6L43", "6S4", "5M", "5L43", "4M", "4L43", "3T", "3L61", "3S1"], + swift: ["8M", "7V", "4T", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + weatherball: ["8M"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["ember", "roar", "firespin", "stomp"]}, + {generation: 3, level: 70, moves: ["firespin", "stomp", "flamethrower", "swagger"], pokeball: "pokeball"}, + {generation: 4, level: 40, shiny: 1, moves: ["roar", "firespin", "stomp", "flamethrower"]}, + {generation: 4, level: 30, shiny: true, nature: "Adamant", moves: ["flareblitz", "howl", "extremespeed", "crushclaw"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["stomp", "flamethrower", "swagger", "firefang"]}, + {generation: 7, level: 60, shiny: 1, moves: ["stomp", "bite", "swagger", "lavaplume"]}, + {generation: 7, level: 60, moves: ["stomp", "bite", "swagger", "lavaplume"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["sacredfire", "stoneedge", "ironhead", "flamecharge"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["flamethrower", "scaryface", "extremespeed", "crunch"]}, + ], + encounters: [ + {generation: 2, level: 40}, + {generation: 3, level: 40}, + ], + eventOnly: true, + }, + suicune: { + learnset: { + agility: ["8M"], + airslash: ["8M", "4S3"], + aquaring: ["4S3"], + aurorabeam: ["7L29", "7V", "7S5", "6L29", "6S4", "5L29", "4L29", "4S2", "3L41", "3S0", "3S1"], + avalanche: ["8M", "4M"], + bite: ["8L12", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + blizzard: ["8M", "8L78", "7M", "7L85", "7V", "6M", "6L85", "5M", "5L85", "4M", "4L85", "3M"], + bodyslam: ["8M", "3T"], + brine: ["8M", "4M"], + bubblebeam: ["7L1", "7V", "7S5", "6L8", "5L8", "4L8", "3L11", "3S0"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "8L18", "8S6", "7M", "7L78", "6M", "6L78", "5M", "5L78", "4M", "4L78", "3M", "3L81"], + confide: ["7M", "6M"], + crunch: ["8M", "8L42"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + detect: ["7V"], + dig: ["8M", "7V", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + endure: ["8M", "7V", "4M", "3T"], + extrasensory: ["8L48", "8S6", "7L64", "6L1", "5L64", "4L64"], + extremespeed: ["8L1", "8S6", "4S3"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gust: ["8L1", "7L22", "7V", "6L22", "5L22", "4L22", "4S2", "3L31", "3S0", "3S1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L72", "7L71", "7V", "6L1", "5L71", "4L71", "3L71"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["8M", "8L30", "7L50", "6L50", "6S4", "5L50", "4L50"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["8M", "8S6"], + mimic: ["3T"], + mirrorcoat: ["8L60", "7L43", "7V", "6L43", "6S4", "5L43", "4L43", "3L61", "3S1"], + mist: ["8L1", "7L36", "7V", "7S5", "6L36", "6S4", "5L36", "4L36", "4S2", "3L51", "3S1"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + quash: ["7M", "6M", "5M"], + raindance: ["8M", "8L66", "7M", "7L1", "7V", "7S5", "6M", "6L15", "5M", "5L15", "4M", "4L15", "4S2", "3M", "3L21", "3S0"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["8L24", "7M", "7V", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + sheercold: ["8L1", "7L1", "4S3"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["8M", "8L54", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "3T"], + tailwind: ["8L36", "7T", "7L57", "6T", "6L1", "5T", "5L57", "4T", "4L57"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7V"], + waterpulse: ["8L6", "7T", "6T", "4M", "3M"], + weatherball: ["8M"], + whirlpool: ["8M", "7V", "4M"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["bubblebeam", "raindance", "gust", "aurorabeam"]}, + {generation: 3, level: 70, moves: ["gust", "aurorabeam", "mist", "mirrorcoat"], pokeball: "pokeball"}, + {generation: 4, level: 40, shiny: 1, moves: ["raindance", "gust", "aurorabeam", "mist"]}, + {generation: 4, level: 30, shiny: true, nature: "Relaxed", moves: ["sheercold", "airslash", "extremespeed", "aquaring"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["aurorabeam", "mist", "mirrorcoat", "icefang"]}, + {generation: 7, level: 60, shiny: 1, moves: ["bubblebeam", "aurorabeam", "mist", "raindance"]}, + {generation: 8, level: 70, shiny: 1, moves: ["liquidation", "extrasensory", "extremespeed", "calmmind"]}, + ], + encounters: [ + {generation: 2, level: 40}, + {generation: 3, level: 40}, + ], + eventOnly: true, + }, + larvitar: { + learnset: { + ancientpower: ["9E", "8E", "7E", "7V", "6E", "5E", "4T", "4E", "3E"], + assurance: ["9E", "8M", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["9L9", "8L9", "7L1", "7V", "6L1", "5L1", "5D", "5S1", "4L1", "3L1", "3S0"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L14", "6L14", "5L14"], + confide: ["7M", "6M"], + crunch: ["9M", "9L27", "8M", "8L27", "7L41", "7V", "6L41", "5L41", "4L37", "3L43"], + curse: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + darkpulse: ["9M", "8M", "8L24", "7M", "7L32", "6M", "6L32", "5T", "5L32", "5D", "4M", "4L28"], + detect: ["7V"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "9E", "8M", "7E", "6E", "5E", "4E", "3E", "3S0"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L31", "8M", "8L31", "7M", "7L46", "7V", "6M", "6L46", "5M", "5L46", "4M", "4L41", "3M", "3L50"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + focusenergy: ["9E", "8M", "7E", "7V", "6E", "5E", "4E", "3E"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "9L42", "8M", "8L42", "7M", "7L55", "7V", "6M", "6L55", "5M", "5L55", "4M", "4L50", "3M", "3L57"], + irondefense: ["9M", "9E", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + ironhead: ["9M", "9E", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "5S1", "4L1", "3L1"], + mimic: ["3T"], + muddywater: ["8M"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "9E", "8M", "7T", "7E", "7V", "6T", "6E", "5T", "5E", "4E", "3E", "3S0"], + payback: ["9L6", "8M", "8L6", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L32"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "7V", "6E", "5E", "4E", "3E"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L15", "8M", "8L15", "7M", "7L19", "7V", "6M", "6L19", "5M", "5L19", "4M", "4L14", "3T", "3L22"], + rocksmash: ["6M", "5M", "4M", "3M"], + rockthrow: ["9L3", "8L3"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "9L39", "8M", "8L39", "7M", "7L5", "7V", "6M", "6L5", "5M", "5L5", "5S1", "4M", "4L5", "3M", "3L8", "3S0"], + sandtomb: ["9M", "8M"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L23", "7V", "6L23", "5L23", "4L19", "3L36"], + screech: ["9L21", "8M", "8L21", "7L10", "7V", "6L10", "5L10", "4L10", "3L15"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L24", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M"], + stomp: ["9E", "8E", "7E", "7V", "6E", "5E", "4E", "3E"], + stompingtantrum: ["9M", "9L18", "8M", "8L18"], + stoneedge: ["9M", "9L33", "8M", "8L33", "7M", "7L50", "6M", "6L50", "5M", "5L50", "4M", "4L46"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "5S1", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thrash: ["9L36", "8L36", "7L28", "7V", "6L28", "5L28", "4L23", "3L29"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 20, moves: ["sandstorm", "dragondance", "bite", "outrage"], pokeball: "pokeball"}, + {generation: 5, level: 5, shiny: true, gender: "M", moves: ["bite", "leer", "sandstorm", "superpower"], pokeball: "cherishball"}, + ], + }, + pupitar: { + learnset: { + aerialace: ["9M"], + ancientpower: ["4T"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bite: ["9L9", "8L9", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L14", "6L14", "5L14"], + confide: ["7M", "6M"], + crunch: ["9M", "9L27", "8M", "8L27", "7L47", "7V", "6L47", "5L47", "4L41", "3L47"], + curse: ["7V"], + darkpulse: ["9M", "8M", "8L24", "7M", "7L34", "6M", "6L34", "5T", "5L34", "4M", "4L28"], + detect: ["7V"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L33", "8M", "8L33", "7M", "7L54", "7V", "6M", "6L54", "5M", "5L54", "4M", "4L47", "3M", "3L56"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + focusenergy: ["8M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M"], + headbutt: ["7V", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "9L52", "8M", "8L52", "7M", "7L67", "7V", "6M", "6L67", "5M", "5L67", "4M", "4L60", "3M", "3L65"], + irondefense: ["9M", "9L0", "8M", "8L0", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T"], + lashout: ["9M"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + mimic: ["3T"], + muddywater: ["8M"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "7T", "6T", "5T"], + payback: ["9L1", "8M", "8L1", "7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L34"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L15", "8M", "8L15", "7M", "7L19", "7V", "6M", "6L19", "5M", "5L19", "4M", "4L14", "3T", "3L22"], + rocksmash: ["6M", "5M", "4M", "3M"], + rockthrow: ["9L1", "8L1"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "9L47", "8M", "8L47", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + sandtomb: ["9M", "8M"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L23", "7V", "6L23", "5L23", "4L19", "3L38"], + screech: ["9L21", "8M", "8L21", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L24", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "9L18", "8M", "8L18"], + stoneedge: ["9M", "9L37", "8M", "8L37", "7M", "7L60", "6M", "6L60", "5M", "5L60", "4M", "4L54"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thrash: ["9L42", "8L42", "7L28", "7V", "6L28", "5L28", "4L23", "3L29"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + tyranitar: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + assurance: ["8M"], + attract: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + bite: ["9L9", "8L9", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L14", "6L14", "5L14"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["9M", "9L27", "8M", "8L27", "7L47", "7V", "6L47", "6S3", "6S4", "6S5", "6S6", "5L47", "5S1", "5S2", "4L41", "3L47", "3S0"], + curse: ["7V"], + cut: ["7V", "6M", "5M", "4M", "3M"], + darkpulse: ["9M", "9L1", "8M", "8L24", "7M", "7L34", "6M", "6L34", "5T", "5L34", "4M", "4L28"], + detect: ["7V"], + dig: ["9M", "8M", "7V", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["7V"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragontail: ["9M", "7M", "6M", "5M"], + dynamicpunch: ["7V", "3T"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L33", "8M", "8L33", "7M", "7L54", "7V", "6M", "6L54", "6S3", "6S4", "5M", "5L54", "5S2", "4M", "4L47", "3M", "3L61", "3S0"], + endure: ["9M", "8M", "7V", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "7V", "6M", "5M", "5S1", "4M", "3M"], + firefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + firepunch: ["9M", "8M", "7T", "7V", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + furycutter: ["7V", "4T", "3T"], + gigaimpact: ["9M", "9L59", "8M", "8L59", "7M", "7L82", "6M", "6L82", "5M", "5L82", "4M"], + headbutt: ["7V", "4T"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "9L52", "8M", "8L52", "7M", "7L73", "7V", "6M", "6L73", "5M", "5L73", "4M", "4L70", "3M", "3L75"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "5S1", "4M", "3M"], + icefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + icepunch: ["9M", "8M", "7T", "6T", "6S3", "6S6", "5T", "4T"], + icywind: ["9M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "8M", "7T", "6T", "6S5", "6S6", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + muddywater: ["8M"], + mudshot: ["9M"], + mudslap: ["9M", "7V", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["7V", "3T"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + payback: ["9L1", "8M", "8L1", "7M", "7L41", "6M", "6L41", "5M", "5L41", "5S2", "4M", "4L34"], + powergem: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "7V", "6M", "6S5", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + roar: ["9M", "7M", "7V", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "8M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L15", "8M", "8L15", "7M", "7L19", "7V", "6M", "6L19", "6S4", "6S5", "6S6", "5M", "5L19", "4M", "4L14", "3T", "3L22"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + rockthrow: ["9L1", "8L1"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "9L47", "8M", "8L47", "7M", "7L1", "7V", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + sandtomb: ["9M", "8M"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L23", "7V", "6L23", "5L23", "4L19", "3L38", "3S0"], + screech: ["9L21", "8M", "8L21", "7L1", "7V", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["5S2", "3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "7V", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "9L24", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "9L18", "8M", "8L18", "7T"], + stoneedge: ["9M", "9L37", "8M", "8L37", "7M", "7L63", "6M", "6L63", "6S3", "6S4", "5M", "5L63", "5S1", "4M", "4L54"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + surf: ["9M", "8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thrash: ["9L42", "8L42", "7L28", "7V", "6L28", "5L28", "4L23", "3L29", "3S0"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderfang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["thrash", "scaryface", "crunch", "earthquake"], pokeball: "pokeball"}, + {generation: 5, level: 100, gender: "M", moves: ["fireblast", "icebeam", "stoneedge", "crunch"], pokeball: "cherishball"}, + {generation: 5, level: 55, gender: "M", isHidden: true, moves: ["payback", "crunch", "earthquake", "seismictoss"]}, + {generation: 6, level: 50, moves: ["stoneedge", "crunch", "earthquake", "icepunch"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Jolly", moves: ["rockslide", "earthquake", "crunch", "stoneedge"], pokeball: "cherishball"}, + {generation: 6, level: 55, shiny: true, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 14, spd: 31, spe: 0}, moves: ["crunch", "rockslide", "lowkick", "protect"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["rockslide", "crunch", "icepunch", "lowkick"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 50}, + ], + }, + lugia: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aeroblast: ["8L54", "7L43", "7V", "7S7", "7S8", "7S9", "7S10", "6L43", "6S5", "6S6", "5L43", "4L43", "4S2", "4S3", "3L77"], + aircutter: ["4T"], + airslash: ["8M"], + ancientpower: ["8L1", "8S11", "7L57", "7V", "7S7", "7S9", "6L57", "5L57", "4T", "4L57", "4S3", "3L88"], + aquatail: ["7T", "6T", "5T", "4T"], + avalanche: ["8M", "4M"], + blizzard: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brine: ["8M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "8L27", "7M", "7L93", "6M", "6L93", "5M", "5L93", "4M", "4L93", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "7S8", "4M"], + detect: ["7V"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["7V"], + dragonpulse: ["8M", "8S11", "7T", "6T", "5T", "4M"], + dragonrush: ["8L1", "7L15", "6L15", "6S6", "5L15", "4L15"], + dragontail: ["7M", "6M", "5M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "7S10", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "7V", "6M", "5M", "4M", "3M", "3S1"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + extrasensory: ["8L36", "8S11", "7L23", "7S7", "7S9", "6L23", "5L23", "4L23", "4S2"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["3S1"], + flash: ["6M", "5M", "4M"], + fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L81", "7L79", "7V", "6L79", "5L79", "4L79", "3L99"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gust: ["8L1", "7L9", "7V", "6L9", "5L9", "4L9", "3L22"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["7V", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hurricane: ["8M", "7S8"], + hydropump: ["8M", "8L72", "7L37", "7V", "6L37", "6S5", "6S6", "5L37", "4L29", "4S2", "3L44", "3S0", "3S1"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "6S6", "5M", "4M", "3M"], + icywind: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + imprison: ["8M"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + mist: ["8L9"], + mudslap: ["7V", "4T", "3T"], + naturalgift: ["7L85", "6L85", "5L85", "4M", "4L51"], + nightmare: ["7V", "3T"], + ominouswind: ["4T"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "7S10", "6M", "5M", "4M", "3M"], + psychoboost: ["3S1"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + punishment: ["7L50", "6L50", "6S5", "5L50", "4L50", "4S3"], + raindance: ["8M", "8L63", "7M", "7L29", "7V", "6M", "6L29", "6S5", "5M", "5L29", "4M", "4L29", "4S2", "3M", "3L55", "3S0"], + recover: ["8L45", "7L71", "7V", "6L71", "5L71", "4L23", "3L33", "3S0"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "8L18", "7M", "7L65", "7V", "6M", "6L65", "5M", "5L65", "4M", "4L9", "4S3", "3M", "3L11"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "7S7", "7S9", "6T", "5T", "4M", "3M"], + skyattack: ["8L90", "7T", "7L99", "6T", "6L99", "5T", "5L99", "4T", "4L99"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + surf: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "4L43", "3T", "3L66", "3S0"], + tailwind: ["7T", "7S8", "7S10", "6T", "5T", "4T"], + telekinesis: ["7T", "5M"], + thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + twister: ["4T"], + waterfall: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + weatherball: ["8M", "8L1", "7L1", "6L1", "5L1", "5S4", "4L1"], + whirlpool: ["8M", "8S11", "7V", "4M"], + whirlwind: ["8L1", "7L1", "7V", "6L1", "5L1", "5S4", "4L1", "3L1"], + wonderroom: ["8M", "7T", "6T", "5T"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["recover", "hydropump", "raindance", "swift"]}, + {generation: 3, level: 50, moves: ["psychoboost", "earthquake", "hydropump", "featherdance"]}, + {generation: 4, level: 45, shiny: 1, moves: ["extrasensory", "raindance", "hydropump", "aeroblast"]}, + {generation: 4, level: 70, shiny: 1, moves: ["aeroblast", "punishment", "ancientpower", "safeguard"]}, + {generation: 5, level: 5, isHidden: true, moves: ["whirlwind", "weatherball"], pokeball: "dreamball"}, + {generation: 6, level: 50, shiny: 1, moves: ["raindance", "hydropump", "aeroblast", "punishment"]}, + {generation: 6, level: 50, nature: "Timid", moves: ["aeroblast", "hydropump", "dragonrush", "icebeam"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["skillswap", "aeroblast", "extrasensory", "ancientpower"]}, + {generation: 7, level: 100, isHidden: true, moves: ["aeroblast", "hurricane", "defog", "tailwind"], pokeball: "cherishball"}, + {generation: 7, level: 60, moves: ["skillswap", "aeroblast", "extrasensory", "ancientpower"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["aeroblast", "earthpower", "psychic", "tailwind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["dragonpulse", "extrasensory", "whirlpool", "ancientpower"]}, + ], + encounters: [ + {generation: 2, level: 40}, + ], + eventOnly: true, + }, + hooh: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aircutter: ["4T"], + airslash: ["8M"], + ancientpower: ["8L1", "8S10", "7L57", "7V", "7S7", "7S8", "6L57", "5L57", "4T", "4L57", "4S2", "3L88"], + bravebird: ["8M", "7L15", "7S6", "7S9", "6L15", "6S5", "5L15", "4L15"], + bulldoze: ["8M", "7M", "6M", "5M"], + burnup: ["8L99", "7S7", "7S8"], + calmmind: ["8M", "8L27", "7M", "7L93", "6M", "6L93", "5M", "5L93", "4M", "4L93", "3M"], + celebrate: ["6S5"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + curse: ["7V"], + defog: ["7T", "4M"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dragonbreath: ["7V"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "7V", "7S9", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + extrasensory: ["8L36", "8S10", "7L23", "7S7", "7S8", "6L23", "5L23", "4L23", "4S1"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "8L72", "7M", "7L37", "7V", "6M", "6L37", "6S4", "5M", "5L37", "4M", "4L29", "4S1", "3M", "3L44", "3S0"], + firespin: ["8M"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["8M", "8S10"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fly: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L81", "7L79", "7V", "6L79", "5L79", "4L79", "3L99"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gust: ["8L1", "7L9", "7V", "6L9", "5L9", "4L9", "3L22"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + incinerate: ["6M", "5M"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lifedew: ["8L9"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["7L85", "6L85", "5L85", "4M", "4L51"], + nightmare: ["7V", "3T"], + ominouswind: ["4T"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + pluck: ["5M", "4M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + punishment: ["7L50", "6L50", "6S4", "5L50", "4L50", "4S2"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["8L45", "7L71", "7V", "7S6", "6L71", "6S5", "5L71", "4L23", "3L33", "3S0"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + roar: ["7M", "7V", "6M", "5M", "4M", "3M"], + rocksmash: ["7V", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + sacredfire: ["8L54", "7L43", "7V", "7S6", "7S7", "7S8", "7S9", "6L43", "6S4", "6S5", "5L43", "4L43", "4S1", "4S2", "3L77"], + safeguard: ["8M", "8L18", "7M", "7L65", "7V", "7S6", "6M", "6L65", "5M", "5L65", "4M", "4L9", "4S2", "3M", "3L11"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skyattack: ["8L90", "7T", "7L99", "6T", "6L99", "5T", "5L99", "4T", "4L99", "3T"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + steelwing: ["8M", "7M", "7V", "6M", "4M", "3M"], + strength: ["7V", "6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "8L63", "8S10", "7M", "7L29", "7V", "6M", "6L29", "6S4", "5M", "5L29", "4M", "4L29", "4S1", "3M", "3L55", "3S0"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + swift: ["8M", "7V", "4T", "4L43", "3T", "3L66", "3S0"], + tailwind: ["7T", "7S9", "6T", "5T", "4T"], + thunder: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + twister: ["4T"], + weatherball: ["8M", "8L1", "7L1", "6L1", "5L1", "5S3", "4L1"], + whirlwind: ["8L1", "7L1", "7V", "6L1", "5L1", "5S3", "4L1", "3L1"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + zapcannon: ["7V"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["recover", "fireblast", "sunnyday", "swift"]}, + {generation: 4, level: 45, shiny: 1, moves: ["extrasensory", "sunnyday", "fireblast", "sacredfire"]}, + {generation: 4, level: 70, shiny: 1, moves: ["sacredfire", "punishment", "ancientpower", "safeguard"]}, + {generation: 5, level: 5, isHidden: true, moves: ["whirlwind", "weatherball"], pokeball: "dreamball"}, + {generation: 6, level: 50, shiny: 1, moves: ["sunnyday", "fireblast", "sacredfire", "punishment"]}, + {generation: 6, level: 50, shiny: true, moves: ["sacredfire", "bravebird", "recover", "celebrate"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["sacredfire", "bravebird", "recover", "safeguard"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["burnup", "sacredfire", "extrasensory", "ancientpower"]}, + {generation: 7, level: 60, moves: ["burnup", "sacredfire", "extrasensory", "ancientpower"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["sacredfire", "bravebird", "earthquake", "tailwind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["flareblitz", "extrasensory", "sunnyday", "ancientpower"]}, + ], + encounters: [ + {generation: 2, level: 40}, + ], + eventOnly: true, + }, + celebi: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + allyswitch: ["8M", "7T"], + ancientpower: ["8L30", "7L28", "7V", "7S7", "6L28", "5L28", "4T", "4L28", "3L20", "3S1", "3S3"], + aurasphere: ["8M"], + batonpass: ["8M", "8L20", "7L37", "7V", "6L37", "5L37", "4L37", "3L40", "3S1"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "7V", "6L1", "6S6", "5L1", "4L1", "3L1", "3S0"], + curse: ["7V"], + cut: ["6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "7M", "6M"], + defensecurl: ["7V", "3T"], + detect: ["7V"], + doubleedge: ["3T"], + doubleteam: ["7M", "7V", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "7V", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "7V", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7V", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "7V", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L70", "8S8", "7L64", "7V", "7S7", "6L64", "5L64", "4L64", "3L30", "3S1", "3S3"], + gigadrain: ["8M", "7T", "7V", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + healbell: ["8L1", "8S8", "7T", "7L1", "7V", "7S7", "6T", "6L1", "6S5", "6S6", "5T", "5L1", "4T", "4L1", "3L1", "3S0", "3S2", "3S3"], + healblock: ["7L55", "6L55", "5L55", "4L55"], + healingwish: ["8L80", "7L73", "6L73", "5L73", "4L73", "4S4"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"], + holdback: ["6S5"], + hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + imprison: ["8M"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + leafblade: ["8M"], + leafstorm: ["8M", "8L90", "7L82", "6L82", "5L82", "4L82", "4S4"], + leechseed: ["8L50", "7L1", "7V", "6L1", "5L1", "4L1", "3L1", "3S2"], + lifedew: ["8L40", "8S8"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["8M", "8L10", "8S8", "7L19", "6L19", "5L19", "4L19"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + metronome: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["7V", "4T", "3T"], + nastyplot: ["8M", "4S4"], + naturalgift: ["7L46", "6L46", "5L46", "4M", "4L46"], + naturepower: ["7M", "6M"], + nightmare: ["7V", "3T"], + perishsong: ["8L100", "7L91", "7V", "6L91", "5L91", "4L91", "3L50", "3S1"], + pollenpuff: ["8M"], + protect: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychic: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + psychicterrain: ["8M"], + psychocut: ["8M"], + psychup: ["7M", "7V", "6M", "5M", "4M", "3T"], + raindance: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + recover: ["8L60", "7L1", "7V", "6L1", "6S5", "6S6", "5L1", "4L1", "4S4", "3L1", "3S0", "3S2"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + return: ["7M", "7V", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7L10", "7V", "7S7", "6M", "6L10", "6S5", "6S6", "5M", "5L10", "4M", "4L10", "3M", "3L10", "3S0", "3S2", "3S3"], + sandstorm: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + shadowball: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["8M", "7M", "7V", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "7V", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + solarblade: ["8M"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"], + swagger: ["7M", "7V", "6M", "5M", "4M", "3T"], + sweetscent: ["7V"], + swift: ["8M", "7V", "4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + telekinesis: ["7T"], + thunderwave: ["8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "7V", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["8M", "7M", "6M", "5M", "4M"], + waterpulse: ["7T", "6T", "4M", "3M"], + weatherball: ["8M"], + wonderroom: ["8M", "7T", "6T", "5T"], + worryseed: ["7T", "6T", "5T", "4T"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["confusion", "recover", "healbell", "safeguard"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["ancientpower", "futuresight", "batonpass", "perishsong"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["leechseed", "recover", "healbell", "safeguard"], pokeball: "pokeball"}, + {generation: 3, level: 30, moves: ["healbell", "safeguard", "ancientpower", "futuresight"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["leafstorm", "recover", "nastyplot", "healingwish"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["recover", "healbell", "safeguard", "holdback"], pokeball: "luxuryball"}, + {generation: 6, level: 100, moves: ["confusion", "recover", "healbell", "safeguard"], pokeball: "cherishball"}, + {generation: 7, level: 30, moves: ["healbell", "safeguard", "ancientpower", "futuresight"], pokeball: "cherishball"}, + {generation: 8, level: 60, shiny: true, nature: "Quirky", moves: ["magicalleaf", "futuresight", "lifedew", "healbell"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 2, level: 30}, + ], + eventOnly: true, + }, + treecko: { + learnset: { + absorb: ["8E", "7L5", "6L5", "5L6", "5S1", "4L6", "3L6", "3S0"], + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "7L25", "6L25", "5L31", "4L31", "3L31"], + assurance: ["8M", "8L18"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulletseed: ["8M", "7E", "6E", "5E", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["8M", "7E", "6E", "5E", "4E", "3E"], + crushclaw: ["7E", "6E", "5E", "4E", "3E"], + cut: ["6M", "5M", "4M", "3M"], + detect: ["8L12", "7L33", "6L33", "5L41", "4L41", "3L41"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doublekick: ["8E", "7E", "6E", "5E", "4E"], + doubleteam: ["8L27", "7M", "6M", "5M", "4M", "3M"], + dragonbreath: ["8E", "7E", "6E", "5E", "4E", "3E"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["3T"], + endeavor: ["8L36", "7T", "7L45", "7E", "6T", "6L45", "6E", "5T", "5E", "4T", "4E", "3E"], + endure: ["8M", "4M", "3T"], + energyball: ["8M", "8L30", "7M", "7L37", "6M", "6L37", "5M", "5L51", "4M", "4L51"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["8M", "8L21", "7T", "7L21", "6T", "6L21", "5T", "5L46", "4M", "4L46", "3M", "3L46"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasspledge: ["8T", "7T", "6T", "5T"], + grasswhistle: ["7E", "6E", "5E", "4E"], + grassyglide: ["8T"], + grassyterrain: ["8M", "7E", "6E"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + leafage: ["8L3"], + leafstorm: ["8M", "8L39", "7E", "6E", "5E", "4E"], + leechseed: ["8E", "7E", "6E", "5E", "4E", "3E"], + leer: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + magicalleaf: ["8M", "7E", "6E", "5E", "4E"], + megadrain: ["8L9", "7L13", "6L13", "5L26", "4L26", "3L26"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["7E", "6E", "5E", "4M"], + naturepower: ["7M", "6M"], + nightslash: ["8E"], + pound: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7L17", "6L16", "5L16", "4L16", "3L16"], + quickattack: ["8L6", "7L9", "6L9", "5L11", "4L11", "3L11"], + quickguard: ["8L15", "7L41", "6L41"], + razorwind: ["7E", "6E", "5E", "4E"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + screech: ["8M", "8L33", "7L49", "6L21", "5L21", "4L21", "3L21"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + slam: ["8L24", "7L29", "6L29", "5L36", "4L36", "3L36"], + slash: ["8E"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + workup: ["8M", "7M"], + worryseed: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["pound", "leer", "absorb"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["pound", "leer", "absorb"]}, + ], + }, + grovyle: { + learnset: { + absorb: ["7L1", "6L1", "5L1", "4L1", "3L1"], + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "7L28", "6L28", "5L35", "4L35", "3L35"], + assurance: ["8M", "8L20"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["8M"], + cut: ["6M", "5M", "4M", "3M"], + detect: ["8L12", "7L38", "6L38", "5L47", "4L47", "3L47"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["8L35", "7M", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["3T"], + endeavor: ["8L50", "7T", "6T", "5T", "4T"], + endure: ["8M", "4M", "3T"], + energyball: ["8M", "8L1", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L1", "7M", "7L48", "6M", "6L48", "5M", "5L53", "4M", "4L53", "3L53"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["8L1", "7L1", "6L16", "5L16", "4T", "4L16", "3T", "3L16"], + gigadrain: ["8M", "8L25", "7T", "6T", "5T", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasspledge: ["8T", "7T", "6T", "5T"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + leafage: ["8L1"], + leafblade: ["8M", "8L40", "7L23", "6L23", "5L29", "4L29", "3L29"], + leafstorm: ["8M", "8L55", "7L58", "6L58", "5L59", "4L59"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + magicalleaf: ["8M"], + megadrain: ["8L9", "7L13", "6L13"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + pound: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7L18", "6L17", "5L17", "4L17", "3L17"], + quickattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + quickguard: ["8L15", "7L53", "6L53"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + screech: ["8M", "8L45", "7L63", "6L23", "5L23", "4L23", "3L23"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + slam: ["8L30", "7L33", "6L33", "5L41", "4L41", "3L41"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarblade: ["8M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + workup: ["8M", "7M"], + worryseed: ["7T", "6T", "5T", "4T"], + xscissor: ["8M", "8L1", "7M", "7L43", "6M", "6L43", "5M", "4M"], + }, + }, + sceptile: { + learnset: { + absorb: ["7L1", "6L1", "5L1", "4L1", "3L1"], + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "7L28", "6L28", "5L35", "4L35", "3L35"], + assurance: ["8M", "8L20"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + breakingswipe: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + crosspoison: ["8M"], + crunch: ["8M"], + cut: ["6M", "5M", "4M", "3M"], + detect: ["8L12", "7L39", "6L39", "5L51", "4L51", "3L51"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["8L35", "7M", "6M", "5M", "4M", "3M"], + dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["8M"], + dragonpulse: ["8M", "7T", "6T", "5T", "5S0", "4M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dualchop: ["8L0", "7T", "7L1", "6T", "6L36"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["8L56", "7T", "6T", "5T", "4T"], + endure: ["8M", "4M", "3T"], + energyball: ["8M", "8L1", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L1", "7M", "7L51", "6M", "6L51", "5M", "5L59", "4M", "4L59", "3L59"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "5S0", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frenzyplant: ["8T", "7T", "6T", "5T", "4T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["8L1", "7L1", "6L16", "4T", "3T", "3L16"], + gigadrain: ["8M", "8L25", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasspledge: ["8T", "7T", "6T", "5T"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + leafage: ["8L1"], + leafblade: ["8M", "8L42", "7L23", "6L23", "5L29", "4L29", "3L29"], + leafstorm: ["8M", "8L63", "7L1", "6L1", "5L67", "5S0", "4L67"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + magicalleaf: ["8M"], + megadrain: ["8L5", "7L13", "6L13"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + nightslash: ["7L1", "6L1", "5L1", "4L1"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + pound: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7L18", "6L17", "5L17", "4L17", "3L17"], + quickattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + quickguard: ["8L15", "7L57", "6L57"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["8M", "7M", "6M", "5M", "5S0", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + scaleshot: ["8T"], + screech: ["8M", "8L49", "7L69", "6L23", "5L23", "4L23", "3L23"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + slam: ["8L30", "7L33", "6L33", "5L43", "4L43", "3L43"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + solarblade: ["8M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + workup: ["8M", "7M"], + worryseed: ["7T", "6T", "5T", "4T"], + xscissor: ["8M", "8L1", "7M", "7L45", "6M", "6L16", "5M", "5L16", "4M", "4L16"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, moves: ["leafstorm", "dragonpulse", "focusblast", "rockslide"], pokeball: "cherishball"}, + ], + }, + torchic: { + learnset: { + aerialace: ["8L18", "7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "7E", "6E", "5E", "4E"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "7E", "6E", "5E", "4E"], + bodyslam: ["8M", "3T"], + bounce: ["8M", "8L24", "7T", "6T", "5T", "4T"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "6E", "5E", "4E", "3T", "3E"], + crushclaw: ["8E", "7E", "6E", "5E", "4E"], + curse: ["8E", "7E", "6E", "5E"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T"], + detect: ["8L12"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["8L3", "7L5", "6L5", "6S2", "5L10", "5S1", "5S2", "4L10", "3L10", "3S0"], + endure: ["8M", "7E", "6E", "5E", "4M", "4E", "3T", "3E"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["8L33", "7E", "6E", "5E", "4E"], + feint: ["8E", "7E", "6E", "5E", "4E"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepledge: ["8T", "7T", "6T", "5T"], + firespin: ["8M", "7L19", "6L19", "5L25", "4L25", "3L25"], + flameburst: ["7L28", "7E", "6L28", "6E", "5E"], + flamecharge: ["8L9", "7M", "6M", "5M"], + flamethrower: ["8M", "8L30", "7M", "7L46", "6M", "6L43", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + flareblitz: ["8M", "8L39"], + focusenergy: ["8M", "8L27", "7L32", "6L7", "6S2", "5L7", "5S1", "5S2", "4L7", "3L7", "3S0"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "5S2", "4L1", "3L1", "3S0"], + headbutt: ["4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + lastresort: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lowkick: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mirrormove: ["7L41", "6L37", "5L37", "4L37", "3L37"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightslash: ["8E", "7E", "6E", "5E", "4E"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + peck: ["8E", "7L14", "6L14", "5L16", "4L16", "3L16"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["8L6", "7L23", "6L23", "5L28", "4L28", "3L28"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["8M", "8L36", "7E", "6E", "5E", "4E", "3E"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L15", "7L10", "6L10", "5L19", "4L19", "3L19"], + scratch: ["8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "5S2", "4L1", "3L1", "3S0"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + slash: ["8L21", "7L37", "6L34", "5L34", "4L34", "3L34"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + swift: ["4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["scratch", "growl", "focusenergy", "ember"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["scratch", "growl", "focusenergy", "ember"]}, + {generation: 6, level: 10, gender: "M", isHidden: true, moves: ["scratch", "growl", "focusenergy", "ember"], pokeball: "cherishball"}, + ], + }, + combusken: { + learnset: { + aerialace: ["8L20", "7M", "6M", "5M", "4M", "3M"], + agility: ["8M"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + batonpass: ["8M"], + blazekick: ["8M", "8L40"], + bodyslam: ["8M", "3T"], + bounce: ["8M", "8L30", "7T", "6T", "5T", "4T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M", "8L45", "7M", "7L31", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L28"], + captivate: ["4M"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["3T"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T"], + detect: ["8L12"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doublekick: ["8L0", "7L1", "6L16", "5L16", "4L16", "3L16"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["3T"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["8L1"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepledge: ["8T", "7T", "6T", "5T"], + firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + firespin: ["8M"], + flamecharge: ["8L9", "7M", "7L20", "6M", "6L20", "5M"], + flamethrower: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["8M", "8L55", "7L58", "6L54", "5L54", "4L54"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L35", "7L36", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + lastresort: ["7T", "6T", "5T", "4T"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mirrormove: ["7L47", "6L43", "5L43", "4L43", "3L43"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + peck: ["7L14", "6L14", "5L17", "4L17", "3L17"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["8L1", "7L25", "6L25", "5L32", "4L32", "3L32"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + reversal: ["8M", "8L50"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L15", "7L1", "6L1", "5L21", "4L21", "3L21"], + scratch: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + skyuppercut: ["7L53", "6L50", "5L50", "4L50", "3L50"], + slash: ["8L25", "7L42", "6L39", "5L39", "4L39", "3L39"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + vacuumwave: ["4T"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + workup: ["8M", "7M", "5M"], + }, + }, + blaziken: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["8L20", "7M", "6M", "5M", "4M", "3M"], + agility: ["8M"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurasphere: ["8M"], + batonpass: ["8M"], + blastburn: ["8T", "7T", "6T", "5T", "4T"], + blazekick: ["8M", "8L42", "7L1", "6L36", "5L36", "4L36", "3L36", "3S0"], + bodyslam: ["8M", "3T"], + bounce: ["8M", "8L30", "7T", "6T", "5T", "4T"], + bravebird: ["8M", "8L1", "7L50", "6L49", "5L49", "4L49"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M", "8L49", "7M", "7L31", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L28"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["3T"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T"], + detect: ["8L12"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doublekick: ["8L1", "7L1", "6L16", "5L16", "4L16", "3L16"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + featherdance: ["8L1"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepledge: ["8T", "7T", "6T", "5T"], + firepunch: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], + firespin: ["8M"], + flamecharge: ["8L9", "7M", "7L20", "6M", "6L20", "5M"], + flamethrower: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["8M", "8L63", "7L1", "6L1", "5L66", "5S1", "4L66"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M", "8L35", "7L37", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + heatcrash: ["8M"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highjumpkick: ["7L1", "6L1", "5L1", "5S1"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + knockoff: ["7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mirrormove: ["3L49", "3S0"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + peck: ["7L14", "6L14", "5L17", "4L17", "3L17"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["8L1", "7L25", "6L25", "5L32", "4L32", "3L32"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + reversal: ["8M", "8L56"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L15", "7L1", "6L1", "5L21", "4L21", "3L21"], + scorchingsands: ["8T"], + scratch: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + skyuppercut: ["7L57", "6L57", "5L59", "4L59", "3L59", "3S0"], + slash: ["8L25", "7L44", "6L42", "5L42", "4L42", "3L42", "3S0"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + stoneedge: ["8M", "7M", "6M", "5M", "5S1", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + thunderpunch: ["8M", "7T", "6T", "5T", "5S1", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uturn: ["8M"], + vacuumwave: ["4T"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["blazekick", "slash", "mirrormove", "skyuppercut"], pokeball: "pokeball"}, + {generation: 5, level: 50, shiny: 1, moves: ["flareblitz", "highjumpkick", "thunderpunch", "stoneedge"], pokeball: "cherishball"}, + ], + }, + mudkip: { + learnset: { + amnesia: ["8M", "8L27"], + ancientpower: ["8E", "7E", "6E", "5E", "4T", "4E"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "7E", "6E", "5E"], + barrier: ["7E", "6E"], + bide: ["7L17", "6L15", "5L15", "4L15", "3L15"], + bite: ["8E", "7E", "6E", "5E", "4E"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "6E", "5E", "4E"], + curse: ["8E", "7E", "6E", "5E", "4E", "3E"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["8E", "7E", "6E", "5E", "4E", "3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L36", "7T", "7L44", "6T", "6L44", "5T", "5L46", "4T", "4L46", "3L46"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + foresight: ["7L12", "6L12", "5L19", "4L19", "3L19"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L39", "7L41", "6L41", "5L42", "4L42", "3L42"], + iceball: ["7E", "6E", "5E", "4E", "3E"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + mimic: ["3T"], + mirrorcoat: ["8E", "7E", "6E", "5E", "4E", "3E"], + mudbomb: ["7E", "6E", "5E", "4E"], + mudslap: ["8E", "7L9", "6L6", "5L6", "5S1", "4T", "4L6", "3T", "3L6", "3S0"], + mudsport: ["7L20", "6L20", "5L24", "4L24", "3L24"], + naturalgift: ["4M"], + protect: ["8M", "8L12", "7M", "7L28", "6M", "6L28", "5M", "5L37", "4M", "4L37", "3M", "3L37"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "8L21", "7M", "6M", "5M", "4M"], + rocksmash: ["8L6", "6M", "5M", "4M", "3M"], + rockthrow: ["8L9", "7L25", "6L25"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L33"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludge: ["8E", "7E", "6E", "5E", "4E"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stomp: ["8E", "7E", "6E", "5E", "4E", "3E"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + supersonic: ["8L15"], + surf: ["8M", "8L30", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "5S1", "4L1", "3L1", "3S0"], + takedown: ["8L24", "7L36", "6L28", "5L28", "4L28", "3L28"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "7E", "6T", "6E", "5E", "4E", "3E"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L3", "7L4", "6L4", "5L10", "5S1", "4L10", "3L10", "3S0"], + waterpledge: ["8T", "7T", "6T", "5T"], + waterpulse: ["8L18", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "7L33", "7E", "6L33", "6E", "5L33", "5E", "4M", "4L33", "4E", "3L33"], + wideguard: ["8E", "7E", "6E", "5E"], + workup: ["8M", "7M"], + yawn: ["8E", "7E", "6E", "5E", "4E"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["tackle", "growl", "mudslap", "watergun"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tackle", "growl", "mudslap", "watergun"]}, + ], + }, + marshtomp: { + learnset: { + amnesia: ["8M", "8L35"], + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["8M"], + bide: ["7L18", "6L15", "5L15", "4L15", "3L15"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8L1", "7M", "7L48", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L46"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L50", "7T", "7L52", "6T", "6L52", "5T", "5L53", "4T", "4L53", "3L53"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + foresight: ["7L12", "6L12", "5L20", "4L20", "3L20"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L55"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudbomb: ["7L22", "6L22", "5L25", "4L25"], + muddywater: ["8M", "8L40", "7L38", "6L37", "5L37", "4L37", "3L37"], + mudshot: ["8M", "8L0", "7L1", "6L16", "5L16", "4L16", "3L16"], + mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + mudsport: ["3L25"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "8L12", "7M", "7L32", "6M", "6L32", "5M", "5L42", "4M", "4L42", "3M", "3L42"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "8L25", "7M", "7L28", "6M", "6L28", "5M", "4M", "3T"], + rocksmash: ["8L1", "6M", "5M", "4M", "3M"], + rockthrow: ["8L9"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandtomb: ["8M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L45"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + supersonic: ["8L15"], + surf: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L30", "7L42", "6L31", "5L31", "4L31", "3L31"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpledge: ["8T", "7T", "6T", "5T"], + waterpulse: ["8L20", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M"], + }, + }, + swampert: { + learnset: { + amnesia: ["8M", "8L35"], + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + bide: ["7L18", "6L15", "5L15", "4L15", "3L15"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + darkestlariat: ["8M"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "8L1", "7M", "7L51", "6M", "6L51", "5M", "5L52", "5S0", "4M", "4L52", "3M", "3L52"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L56", "7T", "7L56", "6T", "6L56", "5T", "5L61", "4T", "4L61", "3L61"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + flipturn: ["8T"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + foresight: ["7L12", "6L12", "5L20", "4L20", "3L20"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + hammerarm: ["8L1", "7L1", "6L1", "5L69", "5S0", "4L69"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + hydrocannon: ["8T", "7T", "6T", "5T", "4T"], + hydropump: ["8M", "8L63", "5S0"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "5S0", "4M", "3M"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + liquidation: ["8M"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudbomb: ["7L22", "6L22", "5L25", "4L25"], + muddywater: ["8M", "8L42", "7L39", "6L39", "5L39", "4L39", "3L39"], + mudshot: ["8M", "8L1", "7L1", "6L16", "5L16", "4L16", "3L16"], + mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + mudsport: ["3L25"], + naturalgift: ["4M"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + poweruppunch: ["6M"], + protect: ["8M", "8L12", "7M", "7L32", "6M", "6L32", "5M", "5L46", "4M", "4L46", "3M", "3L46"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["8M", "8L25", "7M", "7L28", "6M", "6L28", "5M", "4M", "3T"], + rocksmash: ["8L1", "6M", "5M", "4M", "3M"], + rockthrow: ["8L9"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandtomb: ["8M"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L49"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + supersonic: ["8L15"], + surf: ["8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L30", "7L44", "6L31", "5L31", "4L31", "3L31"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpledge: ["8T", "7T", "6T", "5T"], + waterpulse: ["8L20", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, moves: ["earthquake", "icebeam", "hydropump", "hammerarm"], pokeball: "cherishball"}, + ], + }, + poochyena: { + learnset: { + assurance: ["9L22", "7L22", "6L22", "5L29", "4L29"], + astonish: ["9E", "7E", "6E", "5E", "4E", "3E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bite: ["9L10", "7L10", "6L10", "5L13", "4L13", "3L13"], + bodyslam: ["3T"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], + crunch: ["9M", "9L31", "7L34", "6L37", "5L53", "4L53", "3L41"], + darkpulse: ["9M", "7M", "6M", "5T", "5D", "4M"], + dig: ["9M", "6M", "5M", "4M", "3M", "3S0"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + embargo: ["7M", "7L28", "6M", "6L28", "5M", "5L41", "4M", "4L41"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "7E", "6E", "5E", "4E"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + healbell: ["3S0"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + howl: ["9L4", "7L4", "6L4", "5L5", "5D", "4L5", "3L5", "3S0"], + hypervoice: ["9M", "7T", "6T", "5T"], + icefang: ["9M", "7E", "6E", "5E", "4E"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + lashout: ["9M"], + leer: ["9L13", "7E", "6E", "5E", "4E", "3E"], + mefirst: ["7E", "6E", "5E", "4E"], + mimic: ["3T"], + mudslap: ["9M", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + odorsleuth: ["7L13", "6L13", "5L17", "4L17", "3L17"], + payback: ["7M", "6M", "5M", "4M"], + playrough: ["9M", "9L44", "7L46", "7E", "6E"], + poisonfang: ["9E", "7E", "6E", "5E", "5D", "4E", "3E", "3S0"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + psychup: ["3T"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L21", "4M", "4L21", "3M", "3L21"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + sandattack: ["9L7", "7L7", "6L7", "5L9", "4L9", "3L9"], + scaryface: ["9M", "9L25", "7L25", "6L25", "5L33", "4L33", "3L29"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "7M", "7E", "6M", "6E", "5T", "5E", "4M", "3T"], + snarl: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L40", "7L43", "7E", "6L40", "6E", "5L49", "5E", "4T", "4L49", "4E"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + swagger: ["9L19", "7M", "7L19", "6M", "6L19", "5M", "5L25", "4M", "4L25", "3T", "3L25"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L36", "7L40", "6L34", "5L45", "4L45", "3L33"], + taunt: ["9M", "9L28", "7M", "7L31", "6M", "6L31", "5M", "5L37", "4M", "4L37", "3M", "3L37"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M", "3L45"], + thunderfang: ["9M", "7E", "6E", "5E", "4E"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + yawn: ["9L34", "7L37", "7E", "6E", "5E", "4E", "3E"], + }, + eventData: [ + {generation: 3, level: 10, abilities: ["runaway"], moves: ["healbell", "dig", "poisonfang", "howl"]}, + ], + encounters: [ + {generation: 3, level: 2}, + ], + }, + mightyena: { + learnset: { + assurance: ["9L24", "7L24", "6L24", "5L32", "4L32"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bite: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "3T"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + crunch: ["9M", "9L1", "7L1", "7S0", "6L1", "3L47"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + embargo: ["7M", "7L32", "6M", "6L32", "5M", "5L47", "4M", "4L47"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "9L1", "7L1", "7S0"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + howl: ["9L13", "7L1", "6L1", "5L1", "4L1", "3L1"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "7T", "6T", "5T"], + icefang: ["9M", "9L1", "7L1", "7S0"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lashout: ["9M"], + leer: ["9L13"], + mimic: ["3T"], + mudslap: ["9M", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + odorsleuth: ["7L13", "6L13", "5L17", "4L17", "3L17"], + payback: ["7M", "6M", "5M", "4M"], + playrough: ["9M", "9L56", "7L56"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + psychup: ["3T"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L22", "4M", "4L22", "3M", "3L22"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + sandattack: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + scaryface: ["9M", "9L28", "7L28", "6L28", "5L37", "4L37", "3L32"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["9M", "9L0", "7M", "7L1", "6M", "6L18", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L52", "7L52", "6L48", "5L62", "4T", "4L62"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + swagger: ["9L20", "7M", "7L20", "6M", "6L20", "5M", "5L27", "4M", "4L27", "3T", "3L27"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L48", "7L48", "6L40", "5L52", "4L52", "3L37"], + taunt: ["9M", "9L36", "7M", "7L36", "6M", "6L36", "5M", "5L42", "4M", "4L42", "3M", "3L42"], + terablast: ["9M"], + thief: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L57", "4M", "4L57", "3M", "3L52"], + throatchop: ["7T"], + thunderfang: ["9M", "9L1", "7L1", "7S0"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + yawn: ["9L44", "7L44"], + }, + eventData: [ + {generation: 7, level: 64, gender: "M", abilities: ["intimidate"], moves: ["crunch", "firefang", "icefang", "thunderfang"], pokeball: "cherishball"}, + ], + }, + zigzagoon: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + babydolleyes: ["8L15", "7L12", "6L11"], + bellydrum: ["8L33", "7L37", "6L37", "5L45", "4L41", "3L41"], + bestow: ["7L25", "6L25", "5L33"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["8M", "7E", "6E", "5E", "4E", "3E"], + confide: ["7M", "6M"], + covet: ["8L9", "7T", "7L23", "6T", "6L23", "5T", "5L29", "4L29", "3L29"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["8L36", "3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "4M", "3T"], + extremespeed: ["8E", "7E", "3S1"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L30", "7L29", "6L29", "5L37", "4L33", "3L33"], + fling: ["8M", "8L27", "7M", "7L41", "6M", "6L41", "5M", "5L49", "4M", "4L45"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + gunkshot: ["8M", "7T", "6T", "5T", "4T"], + headbutt: ["8L12", "7L11", "6L9", "5L9", "4T", "4L9", "3L9"], + helpinghand: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "5D", "4T"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["7E", "6E", "5E", "4T", "4E", "3T"], + mudsport: ["7L17", "6L17", "5L21", "4L21", "3L21"], + naturalgift: ["4M"], + odorsleuth: ["7L13", "6L13", "5L17", "4L17", "3L17"], + pinmissile: ["8M", "8L18", "7L19", "6L19", "5L25", "4L25", "3L25"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "6E", "5E", "4E", "3E"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L21", "7M", "7L35", "6M", "6L35", "5M", "5L41", "4M", "4L37", "3M", "3L37"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockclimb: ["7E", "6E", "5E"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L3", "7L7", "6L7", "5L13", "4L13", "3L13"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + simplebeam: ["8E", "7E", "6E", "5E"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S0", "3S1"], + tailslap: ["8M"], + tailwhip: ["8L6", "7L5", "6L5", "5L5", "4L5", "3L5", "3S0", "3S1"], + takedown: ["8L24", "7L31", "6L31"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + tickle: ["8E", "7E", "6E", "5E", "4E", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 3, level: 5, shiny: true, abilities: ["pickup"], moves: ["tackle", "growl", "tailwhip"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, abilities: ["pickup"], moves: ["tackle", "growl", "tailwhip", "extremespeed"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + encounters: [ + {generation: 3, level: 2}, + ], + }, + zigzagoongalar: { + learnset: { + assurance: ["8M"], + attract: ["8M"], + babydolleyes: ["8L15"], + blizzard: ["8M"], + bodyslam: ["8M"], + counter: ["8L30"], + dig: ["8M"], + doubleedge: ["8L36"], + endure: ["8M"], + facade: ["8M"], + faketears: ["8M"], + fling: ["8M"], + grassknot: ["8M"], + gunkshot: ["8M"], + headbutt: ["8L12"], + helpinghand: ["8M"], + hypervoice: ["8M"], + icebeam: ["8M"], + icywind: ["8M"], + irontail: ["8M"], + knockoff: ["8E"], + lashout: ["8T"], + leer: ["8L1"], + lick: ["8L6"], + mudshot: ["8M"], + partingshot: ["8E"], + payback: ["8M"], + pinmissile: ["8M", "8L18"], + protect: ["8M"], + quickguard: ["8E"], + raindance: ["8M"], + rest: ["8M", "8L21"], + retaliate: ["8M"], + round: ["8M"], + sandattack: ["8L3"], + scaryface: ["8M", "8L27"], + screech: ["8M"], + seedbomb: ["8M"], + shadowball: ["8M"], + sleeptalk: ["8M"], + snarl: ["8M", "8L9"], + snore: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + surf: ["8M"], + swift: ["8M"], + tackle: ["8L1"], + takedown: ["8L24"], + taunt: ["8M", "8L33"], + thief: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderwave: ["8M"], + trick: ["8M"], + whirlpool: ["8M"], + workup: ["8M"], + }, + }, + linoone: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + babydolleyes: ["8L1", "6S0"], + bellydrum: ["8L43", "7L43", "6L43", "5L59", "4L53", "3L53"], + bestow: ["7L27", "6L27", "5L41"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["8M"], + confide: ["7M", "6M"], + covet: ["8L9", "7T", "7L24", "6T", "6L24", "5T", "5L35", "4L35", "3L35"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["8L48", "7L35", "6L35", "3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "4M", "3T"], + extremespeed: ["6S0"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L38"], + fling: ["8M", "8L33", "7M", "7L48", "6M", "6L48", "5M", "5L65", "4M", "4L59"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + furyswipes: ["8L18", "7L19", "6L19", "5L29", "4L29", "3L29"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + gunkshot: ["8M", "7T", "6T", "5T", "4T"], + headbutt: ["8L12", "7L11", "6L1", "5L1", "4T", "4L1", "3L1"], + helpinghand: ["8M", "7T", "6T", "6S0", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["8L15", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["4T", "3T"], + mudsport: ["7L17", "6L17", "5L23", "4L23", "3L23"], + naturalgift: ["4M"], + odorsleuth: ["7L13", "6L13", "5L17", "4L17", "3L17"], + pinmissile: ["8M", "8L1"], + playrough: ["8M", "7L1", "6L1"], + protect: ["8M", "7M", "6M", "6S0", "5M", "4M", "3M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L23", "7M", "7L40", "6M", "6L40", "5M", "5L53", "4M", "4L47", "3M", "3L47"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + rototiller: ["7L1", "6L1"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L13", "4L13", "3L13"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slash: ["8L0", "7L32", "6L32", "5L47", "4L41", "3L41"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + switcheroo: ["8L1", "7L1", "6L1", "5L1", "4L1"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + tailslap: ["8M"], + tailwhip: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L28"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["extremespeed", "helpinghand", "babydolleyes", "protect"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 3}, + {generation: 6, level: 17, maxEggMoves: 1}, + ], + }, + linoonegalar: { + learnset: { + assurance: ["8M"], + attract: ["8M"], + babydolleyes: ["8L1"], + blizzard: ["8M"], + bodypress: ["8M"], + bodyslam: ["8M"], + counter: ["8L38"], + dig: ["8M"], + doubleedge: ["8L48"], + endure: ["8M"], + facade: ["8M"], + faketears: ["8M"], + fling: ["8M"], + furyswipes: ["8L18"], + gigaimpact: ["8M"], + grassknot: ["8M"], + gunkshot: ["8M"], + headbutt: ["8L12"], + helpinghand: ["8M"], + honeclaws: ["8L15"], + hyperbeam: ["8M"], + hypervoice: ["8M"], + icebeam: ["8M"], + icywind: ["8M"], + irontail: ["8M"], + lashout: ["8T"], + leer: ["8L1"], + lick: ["8L1"], + mudshot: ["8M"], + nightslash: ["8L0"], + payback: ["8M"], + pinmissile: ["8M", "8L1"], + protect: ["8M"], + raindance: ["8M"], + rest: ["8M", "8L23"], + retaliate: ["8M"], + round: ["8M"], + sandattack: ["8L1"], + scaryface: ["8M", "8L33"], + screech: ["8M"], + seedbomb: ["8M"], + shadowball: ["8M"], + shadowclaw: ["8M"], + sleeptalk: ["8M"], + snarl: ["8M", "8L9"], + snore: ["8M"], + stompingtantrum: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + surf: ["8M"], + swift: ["8M"], + switcheroo: ["8L1"], + tackle: ["8L1"], + takedown: ["8L28"], + taunt: ["8M", "8L43"], + thief: ["8M"], + throatchop: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderwave: ["8M"], + trick: ["8M"], + whirlpool: ["8M"], + workup: ["8M"], + }, + }, + obstagoon: { + learnset: { + assurance: ["8M"], + attract: ["8M"], + babydolleyes: ["8L1"], + blizzard: ["8M"], + bodypress: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M"], + bulkup: ["8M"], + closecombat: ["8M"], + counter: ["8L42"], + crosschop: ["8L1"], + crosspoison: ["8M"], + dig: ["8M"], + doubleedge: ["8L56"], + endure: ["8M"], + facade: ["8M"], + faketears: ["8M"], + firepunch: ["8M"], + fling: ["8M"], + focusenergy: ["8M"], + furyswipes: ["8L18"], + gigaimpact: ["8M"], + grassknot: ["8M"], + gunkshot: ["8M"], + headbutt: ["8L12"], + helpinghand: ["8M"], + honeclaws: ["8L15"], + hyperbeam: ["8M"], + hypervoice: ["8M"], + icebeam: ["8M"], + icepunch: ["8M"], + icywind: ["8M"], + irondefense: ["8M"], + irontail: ["8M"], + lashout: ["8T"], + leer: ["8L1"], + lick: ["8L1"], + lowkick: ["8M"], + megakick: ["8M"], + megapunch: ["8M"], + mudshot: ["8M"], + nightslash: ["8L1"], + obstruct: ["8L0"], + payback: ["8M"], + pinmissile: ["8M", "8L1"], + protect: ["8M"], + raindance: ["8M"], + rest: ["8M", "8L23"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["8M"], + round: ["8M"], + sandattack: ["8L1"], + scaryface: ["8M", "8L35"], + screech: ["8M"], + seedbomb: ["8M"], + shadowball: ["8M"], + shadowclaw: ["8M"], + sleeptalk: ["8M"], + snarl: ["8M", "8L9"], + snore: ["8M"], + stompingtantrum: ["8M"], + submission: ["8L1"], + substitute: ["8M"], + sunnyday: ["8M"], + surf: ["8M"], + swift: ["8M"], + switcheroo: ["8L1"], + tackle: ["8L1"], + takedown: ["8L28"], + taunt: ["8M", "8L49"], + thief: ["8M"], + throatchop: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderpunch: ["8M"], + thunderwave: ["8M"], + trick: ["8M"], + whirlpool: ["8M"], + workup: ["8M"], + xscissor: ["8M"], + }, + }, + wurmple: { + learnset: { + bugbite: ["7T", "7L15", "6T", "6L15", "5T", "5L15", "5D", "4T", "4L15"], + electroweb: ["7T", "6T", "5T"], + poisonsting: ["7L5", "6L5", "5L5", "5D", "4L5", "3L5"], + snore: ["7T", "6T", "5T", "5D", "4T"], + stringshot: ["7L1", "6L1", "5L1", "4T", "4L1", "3L1"], + tackle: ["7L1", "6L1", "5L1", "4L1", "3L1"], + }, + encounters: [ + {generation: 3, level: 2}, + ], + }, + silcoon: { + learnset: { + bugbite: ["7T", "6T", "5T", "4T"], + electroweb: ["7T", "6T", "5T"], + harden: ["7L1", "6L1", "5L1", "4L1", "3L1"], + irondefense: ["7T", "6T", "5T", "4T"], + stringshot: ["4T"], + }, + encounters: [ + {generation: 3, level: 5}, + {generation: 4, level: 5}, + {generation: 6, level: 2, maxEggMoves: 1}, + ], + }, + beautifly: { + learnset: { + absorb: ["7L12", "6L1", "5L1", "4L1", "3L1"], + acrobatics: ["7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aircutter: ["7L20", "6L20", "4T"], + attract: ["7M", "7L27", "6M", "6L27", "5M", "5L31", "4M", "4L31", "3M", "3L31"], + bugbite: ["7T", "6T", "5T", "4T"], + bugbuzz: ["7L35", "6L35", "5L41", "4L41"], + captivate: ["4M"], + confide: ["7M", "6M"], + defog: ["7T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + electroweb: ["7T", "6T", "5T"], + endure: ["4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["7T", "7L32", "6T", "6L32", "5T", "5L38", "4M", "4L38", "3M", "3L38"], + gigaimpact: ["7M", "6M", "5M", "4M"], + gust: ["7L1", "6L1", "5L13", "4L13", "3L13"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + laserfocus: ["7T"], + megadrain: ["7L22", "6L22", "5L24", "4L24", "3L24"], + mimic: ["3T"], + morningsun: ["7L17", "6L17", "5L20", "4L20", "3L20"], + naturalgift: ["4M"], + ominouswind: ["4T"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psychic: ["7M", "6M", "5M", "4M", "3M"], + quiverdance: ["7L40", "6L40", "5L45"], + rage: ["7L37", "6L37"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["7L25", "6L25", "5L34", "4M", "4L34", "3L34"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + stunspore: ["7L15", "6L15", "5L17", "4L17", "3L17"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + thief: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uturn: ["7M", "6M", "5M", "4M"], + venoshock: ["7M", "6M", "5M"], + whirlwind: ["7L30", "6L27", "5L27", "4L27", "3L27"], + }, + }, + cascoon: { + learnset: { + bugbite: ["7T", "6T", "5T", "4T"], + electroweb: ["7T", "6T", "5T"], + harden: ["7L1", "6L1", "5L1", "4L1", "3L1"], + irondefense: ["7T", "6T", "5T", "4T"], + stringshot: ["4T"], + }, + encounters: [ + {generation: 3, level: 5}, + {generation: 4, level: 5}, + {generation: 6, level: 2, maxEggMoves: 1}, + ], + }, + dustox: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + aircutter: ["4T"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bugbite: ["7T", "6T", "5T", "4T"], + bugbuzz: ["7L35", "6L35", "5L41", "4L41"], + captivate: ["4M"], + confide: ["7M", "6M"], + confusion: ["7L12", "6L1", "5L1", "4L1", "3L1"], + defog: ["7T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + electroweb: ["7T", "6T", "5T"], + endure: ["4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + gust: ["7L1", "6L1", "5L13", "4L13", "3L13"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + laserfocus: ["7T"], + lightscreen: ["7M", "7L27", "6M", "6L27", "5M", "5L31", "4M", "4L31", "3M", "3L31"], + mimic: ["3T"], + moonlight: ["7L17", "6L17", "5L20", "4L20", "3L20"], + naturalgift: ["4M"], + ominouswind: ["4T"], + poisonpowder: ["7L15", "6L15"], + protect: ["7M", "7L37", "6M", "6L17", "5M", "5L17", "4M", "4L17", "3M", "3L17"], + psybeam: ["7L22", "6L22", "5L24", "4L24", "3L24"], + psychic: ["7M", "6M", "5M", "4M", "3M"], + quiverdance: ["7L40", "6L40", "5L45"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["7L25", "6L25", "5L34", "4M", "4L34", "3L34"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["7M", "6M", "5M", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + thief: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "7L32", "6M", "6L32", "5M", "5L38", "4M", "4L38", "3M", "3L38"], + twister: ["4T"], + uturn: ["7M", "6M", "5M", "4M"], + venoshock: ["7M", "7L20", "6M", "6L20", "5M"], + whirlwind: ["7L30", "6L27", "5L27", "4L27", "3L27"], + }, + }, + lotad: { + learnset: { + absorb: ["9L3", "8L3", "7L6", "6L5", "5L5", "5D", "4L5", "3L7", "3S0"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + bubble: ["7L9", "6L9"], + bubblebeam: ["9L20", "8L20", "7L21", "6L21", "5L25", "4L25"], + bulletseed: ["9M", "8M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + disarmingvoice: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "9L43", "8M", "8L43", "7M", "7L36", "6M", "6L36", "5M", "5L45", "4M", "4L43"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L16", "8L16", "7E", "6E", "5E", "4E", "3E"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L28", "8M", "8L28", "7T", "7L30", "7E", "6T", "6L30", "6E", "5T", "5E", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1", "7L3", "6L3", "5L3", "4L3", "3L3", "3S0"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + leechseed: ["9L24", "8E", "7E", "6E", "5E", "5D", "4E", "3E"], + magicalleaf: ["9M"], + megadrain: ["9L12", "8L12", "7L18", "6L18", "5L19", "4L19", "3L43"], + mimic: ["3T"], + mist: ["9L9", "8L9", "7L15", "6L11", "5L11", "4L11", "3L21"], + naturalgift: ["7L12", "6L12", "5L15", "4M", "4L15"], + naturepower: ["8L24", "7M", "7L24", "6M", "6L7", "5L7", "4L7", "3L13"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L33", "8M", "8L33", "7M", "7L27", "6M", "6L27", "5M", "5L37", "4M", "4L35", "3M", "3L31"], + razorleaf: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetscent: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + takedown: ["9M"], + teeterdance: ["9E", "8E", "7E", "6E", "5E"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + tickle: ["9E", "8E", "7E", "6E", "5E", "4E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + watergun: ["9L6", "8L6", "7E", "6E", "5E", "4E", "3E"], + waterpulse: ["9M", "7T", "6T", "5D", "4M", "3M"], + weatherball: ["9M"], + whirlpool: ["8M", "4M"], + zenheadbutt: ["9M", "9L38", "8M", "8L38", "7T", "7L33", "6T", "6L31", "5T", "5L31", "4T", "4L27"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["astonish", "growl", "absorb"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 3}, + ], + }, + lombre: { + learnset: { + absorb: ["9L1", "8L1", "7L6", "6L5", "5L5", "4L5", "3L7"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bubble: ["7L9", "6L9"], + bubblebeam: ["9L24", "8L24", "7L24", "6L24", "5L25", "4L25"], + bulletseed: ["9M", "8M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + disarmingvoice: ["9M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "9L57", "8M", "8L57", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1", "7L16", "6L11", "5L11", "4L11", "3L19"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flail: ["9L1", "8L1"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furyswipes: ["9L18", "8L18", "7L12", "6L12", "5L15", "4L15", "3L25"], + gigadrain: ["9M", "9L36", "8M", "8L36", "7T", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1", "7L3", "6L3", "5L3", "4L3", "3L3"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "9L64", "8M", "8L64", "7L44", "6L44", "5L45", "4L43", "3L49"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + knockoff: ["9M", "9L1", "8L1", "7T", "7L36", "6T", "6L36"], + leechseed: ["9L30"], + magicalleaf: ["9M"], + megadrain: ["9L12", "8L12"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + mimic: ["3T"], + mist: ["9L9", "8L9"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + naturepower: ["8L30", "7M", "7L28", "6M", "6L7", "5L7", "4L7", "3L13"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "8L43", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + teeterdance: ["9L1", "8L1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M", "3L37"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T", "7L32", "6T", "6L32", "5T", "5L37", "4T", "4L35", "3L43"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + watersport: ["7L20", "6L19", "5L19", "4L19", "3L31"], + weatherball: ["9M"], + whirlpool: ["8M", "4M"], + zenheadbutt: ["9M", "9L50", "8M", "8L50", "7T", "7L40", "6T", "6L31", "5T", "5L31", "4T", "4L27"], + }, + encounters: [ + {generation: 6, level: 13, maxEggMoves: 1}, + ], + }, + ludicolo: { + learnset: { + absorb: ["9L1", "8L1", "3L1"], + amnesia: ["9M", "8M"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bubblebeam: ["9L1", "8L1"], + bulletseed: ["9M", "8M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["3T"], + disarmingvoice: ["9M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["3T"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1", "5S0"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flail: ["9L1", "8L1"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furyswipes: ["9L1", "8L1"], + gigadrain: ["9M", "8M", "8L1", "7T", "6T", "5T", "5S0", "5S1", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "9L1", "8M", "8L1", "5S0"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "5S0", "5S1", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + knockoff: ["9M", "9L1", "8L1", "7T", "6T"], + leafstorm: ["9M", "8M"], + magicalleaf: ["9M"], + megadrain: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M", "8M", "3T"], + mimic: ["3T"], + mist: ["9L1", "8L1"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + naturepower: ["8L1", "7M", "7L1", "6M", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M", "5S1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "5S1", "4M", "3M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + teeterdance: ["9L1", "8L1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "4M"], + zenheadbutt: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, abilities: ["swiftswim"], moves: ["fakeout", "hydropump", "icebeam", "gigadrain"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "M", nature: "Calm", abilities: ["swiftswim"], moves: ["scald", "gigadrain", "icebeam", "sunnyday"], pokeball: "pokeball"}, + ], + }, + seedot: { + learnset: { + absorb: ["9L3", "8L3"], + amnesia: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + astonish: ["9L6", "8L6"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + beatup: ["8M", "7E", "6E", "5E"], + bide: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + bodyslam: ["9M", "8M", "3T"], + bulletseed: ["9M", "8M", "7E", "6E", "5E", "5D", "4M", "3M", "3S1"], + captivate: ["4M"], + confide: ["7M", "6M"], + defensecurl: ["3T"], + defog: ["9E", "8E", "7T", "7E", "6E", "5E"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + explosion: ["9L33", "8L33", "7M", "7L33", "6M", "6L33", "5M", "5L43", "4M", "4L43", "3T", "3L43"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4E", "3E"], + flash: ["6M", "5M", "4M", "3M"], + foulplay: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M", "3M", "3S1"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M", "7E", "6E"], + growth: ["9L9", "8L9", "7L9", "6L7", "5L7", "5D", "4L7", "3L7", "3S0"], + harden: ["9L1", "8L1", "7L3", "6L3", "5L3", "4L3", "3L3", "3S0"], + headbutt: ["9L21", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + leafstorm: ["9M"], + leechseed: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + magicalleaf: ["9M"], + megadrain: ["9L15", "8L15"], + mimic: ["3T"], + nastyplot: ["9M", "8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + naturepower: ["8L21", "7M", "7L15", "6M", "6L13", "5L13", "4L13", "3L13"], + nightslash: ["9E", "8E"], + payback: ["9L18", "8M", "8L18"], + powerswap: ["8M", "7E", "6E", "5E", "4E"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + raindance: ["9M"], + razorwind: ["7E", "6E", "5E", "4E", "3E"], + refresh: ["3S1"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["9L12", "8L12", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M", "3S1"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + selfdestruct: ["8M", "3T"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L30", "8L30"], + sunnyday: ["9M", "9L24", "8M", "8L24", "7M", "7L27", "6M", "6L27", "5M", "5L31", "4M", "4L31", "3M", "3L31"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L27", "8L27", "7T", "7L21", "6T", "6L21", "5T", "5L21", "4T", "4L21", "3L21"], + tackle: ["9L1", "8L1"], + takedown: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + worryseed: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["bide", "harden", "growth"], pokeball: "pokeball"}, + {generation: 3, level: 17, moves: ["refresh", "gigadrain", "bulletseed", "secretpower"]}, + ], + encounters: [ + {generation: 3, level: 3}, + ], + }, + nuzleaf: { + learnset: { + absorb: ["9L1", "8L1"], + aircutter: ["9M", "9L1", "8L1"], + amnesia: ["9M", "8M"], + assurance: ["8M"], + astonish: ["9L1", "8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + beatup: ["8M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulletseed: ["9M", "8M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defensecurl: ["3T"], + defog: ["7T"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + explosion: ["9L1", "8L1", "7M", "6M", "5M", "4M", "3T"], + extrasensory: ["9L43", "8L43", "7L36", "6L36", "5L49", "4L49", "3L49"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1", "7L12", "6L12", "5L19", "4L19", "3L19"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], + feintattack: ["7L24", "6L24", "5L31", "4L31", "3L31"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L9", "8L9", "7L6", "6L6", "5L7", "4L7", "3L7"], + harden: ["9L1", "8L1", "7L3", "6L3", "5L3", "4L3", "3L3"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + leafblade: ["9L57", "8M", "8L57", "7L28", "6L28"], + leafstorm: ["9M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magicalleaf: ["9M"], + megadrain: ["9L18", "8L18"], + megakick: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + naturepower: ["8L30", "7M", "7L16", "6M", "6L9", "5L13", "4L13", "3L13"], + payback: ["9L24", "8M", "8L24", "7M", "6M", "5M", "4M"], + pound: ["7L1", "6L1", "5L1", "4L1", "3L1"], + powerswap: ["8M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M"], + razorleaf: ["9L0", "8L0", "7L1", "6L1", "5L1", "4L1"], + razorwind: ["7L20", "6L20", "5L37", "4L37", "3L37"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L12", "8L12", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + selfdestruct: ["8M", "3T"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + solarblade: ["9M", "8M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L50", "8L50"], + sunnyday: ["9M", "9L36", "8M", "8L36", "7M", "6M", "5M", "4M", "3M"], + swagger: ["9L1", "8L1", "7M", "7L32", "6M", "6L32", "5M", "5L43", "4M", "4L43", "3T", "3L43"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L30", "8L1", "7T", "6T", "5T", "4T"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + torment: ["9L1", "8L1", "7M", "7L9", "6M", "6L16", "5M", "5L25", "4M", "4L25", "3M", "3L25"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M"], + weatherball: ["9M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 6, level: 13, maxEggMoves: 1}, + ], + }, + shiftry: { + learnset: { + absorb: ["9L1", "8L1"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "9L1", "8L1", "4T"], + airslash: ["9M", "8M"], + amnesia: ["9M", "8M"], + assurance: ["8M"], + astonish: ["9L1", "8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + beatup: ["9L1", "8M"], + bodyslam: ["9M", "8M", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bulletseed: ["9M", "8M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defensecurl: ["3T"], + defog: ["7T", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + explosion: ["9L1", "8L1", "7M", "6M", "5M", "4M", "3T"], + extrasensory: ["9L1", "8L1"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L1", "8L1"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], + feintattack: ["7L1", "6L1", "5L1", "4L1"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L1", "8L1", "3L1"], + harden: ["9L1", "8L1", "3L1"], + headbutt: ["4T"], + heatwave: ["9M", "8M"], + hex: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "9L1", "8M", "8L1", "7L32", "6L32"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], + leafblade: ["9L0", "8M", "8L1"], + leafstorm: ["9M", "8M", "7L44", "6L44", "5L49", "4L49"], + leaftornado: ["8L0", "7L20", "6L19", "5L19"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magicalleaf: ["9M"], + megadrain: ["9L1", "8L1"], + megakick: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + nastyplot: ["9M", "8M", "7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + naturepower: ["8L1", "7M", "6M", "3L1"], + ominouswind: ["4T"], + payback: ["9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + pound: ["3L1"], + powerswap: ["8M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M"], + razorleaf: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + reversal: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9L1", "8L1", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + selfdestruct: ["8M", "3T"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + silverwind: ["4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + solarblade: ["9M", "8M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L1", "8L1", "4T"], + sunnyday: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M", "3M"], + swagger: ["9L1", "8L1", "7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L1", "8L1", "7T", "6T", "5T", "4T"], + tackle: ["9L1", "8L1"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + torment: ["9L1", "8L1", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + twister: ["4T"], + uproar: ["9M"], + vacuumwave: ["9M"], + weatherball: ["9M"], + whirlwind: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + willowisp: ["9M"], + worryseed: ["7T", "6T", "5T", "4T"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + }, + taillow: { + learnset: { + aerialace: ["7M", "7L21", "6M", "6L21", "5M", "5L34", "4M", "4L34", "3M", "3L34"], + agility: ["7L29", "6L29", "5L43", "4L43", "3L43"], + aircutter: ["4T"], + airslash: ["7L33", "6L33", "5L53", "4L53"], + attract: ["7M", "6M", "5M", "4M", "3M"], + boomburst: ["7E", "6E"], + bravebird: ["7L41", "7E", "6L41", "6E", "5E", "5D", "4E"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + defog: ["7T", "7E", "6E", "5E", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7L17", "6M", "6L17", "5M", "5L19", "4M", "4L19", "3M", "3L19"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["7T", "7L37", "6T", "6L26", "5T", "5L26", "4T", "4L26", "3L26"], + endure: ["5D", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + featherdance: ["3S0"], + fly: ["7M", "6M", "5M", "4M", "3M"], + focusenergy: ["7L5", "6L4", "5L4", "4L4", "3L4", "3S0"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + heatwave: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["7E"], + mimic: ["3T"], + mirrormove: ["7E", "6E", "5E", "5D", "4E", "3E"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + peck: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + pluck: ["5M", "4M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "6E", "5E", "4E", "3E"], + quickattack: ["7L9", "6L7", "5L8", "4L8", "3L8"], + quickguard: ["7L25", "6L25"], + rage: ["7E", "6E", "5E", "4E", "3E"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["7L45"], + roost: ["7M", "7E", "6M", "6E", "5T", "5E", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["7T", "7E", "6T", "6E", "5E", "4E", "3T", "3E"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "7E", "6M", "6E", "5E", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + supersonic: ["7E", "6E", "5E", "4E", "3E"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tailwind: ["7T", "6T", "5T", "5D", "4T"], + thief: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uturn: ["7M", "6M", "5M", "4M"], + whirlwind: ["7E", "6E", "5E", "4E"], + wingattack: ["7L13", "6L13", "5L13", "4L13", "3L13"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["peck", "growl", "focusenergy", "featherdance"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + encounters: [ + {generation: 3, level: 4}, + ], + }, + swellow: { + learnset: { + aerialace: ["7M", "7L21", "6M", "6L21", "5M", "5L38", "4M", "4L38", "3M", "3L38"], + agility: ["7L33", "6L33", "5L49", "4L49", "3L49", "3S0"], + aircutter: ["4T"], + airslash: ["7L1", "6L1", "5L61", "4L61"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["3S0"], + bravebird: ["7L1", "6L1"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + defog: ["7T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "7L17", "6M", "6L17", "5M", "5L19", "4M", "4L19", "3M", "3L19"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["7T", "7L45", "6T", "6L28", "5T", "5L28", "4T", "4L28", "3L28"], + endure: ["4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M", "3S0"], + fly: ["7M", "6M", "5M", "4M", "3M"], + focusenergy: ["7L1", "6L1", "5L1", "4L1", "3L1"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + growl: ["7L1", "6L1", "5L1", "4L1", "3L1"], + heatwave: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "6M", "5M", "4M", "3M"], + laserfocus: ["7T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + peck: ["7L1", "6L1", "5L1", "4L1", "3L1"], + pluck: ["7L1", "6L1", "5M", "5L1", "4M", "4L1"], + protect: ["7M", "6M", "5M", "4M", "3M"], + quickattack: ["7L1", "6L1", "5L1", "4L1", "3L1"], + quickguard: ["7L27", "6L27"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["7L57"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + skyattack: ["7T", "6T", "5T", "4T", "3T", "3S0"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + steelwing: ["7M", "6M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + thief: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uturn: ["7M", "6M", "5M", "4M"], + wingattack: ["7L13", "6L13", "5L13", "4L13", "3L13"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 3, level: 43, moves: ["batonpass", "skyattack", "agility", "facade"]}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + wingull: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9E", "8E", "7M", "7L29", "6M", "6L29", "5M", "5L42", "4M", "4L42", "3M"], + agility: ["9M", "9L26", "8M", "8L26", "7L36", "7E", "6L36", "6E", "5L37", "5E", "4L37", "4E", "3L55", "3E"], + aircutter: ["9M", "9E", "8E", "7L22", "6L22", "5L33", "4T"], + airslash: ["9M", "9L30", "8M", "8L30", "7L40", "6L40", "5L47", "4L47"], + aquaring: ["9E", "8E", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bravebird: ["9M"], + brine: ["8M", "7E", "6E", "5E", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + defog: ["7T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + gust: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "9L45", "8M", "8L45", "7L43", "6L43", "5L50"], + hydropump: ["9M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + liquidation: ["9M", "8M", "7T"], + mimic: ["3T"], + mist: ["9L35", "8L35", "7L12", "7E", "6L12", "6E", "5L16", "5E", "4L16", "4E", "3L21", "3E"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pluck: ["5M", "4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7L26", "6L26", "5L34", "4L34", "3L43"], + quickattack: ["9L5", "8L5", "7L19", "6L19", "5L24", "4L24", "3L31"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["9L40", "8L40", "7M", "7L33", "7E", "6M", "6L26", "6E", "5T", "5L29", "5E", "4M", "4L29"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["7T", "6T", "5D", "4M", "3M"], + skyattack: ["7T", "6T", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + soak: ["9E", "8E", "7E", "6E"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + supersonic: ["9L10", "8L10", "7L5", "6L5", "5L6", "4L6", "3L7"], + surf: ["9M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["9E", "8E", "7E", "6E", "5E", "5D", "4T", "4E", "3E"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], + waterfall: ["9M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + waterpulse: ["9M", "9L20", "8L20", "7T", "7L15", "6T", "6L15", "5L19", "4M", "4L19", "3M"], + watersport: ["7E", "6E", "5E", "4E", "3E"], + wideguard: ["9E", "8E", "7E", "6E"], + wingattack: ["9L15", "8L15", "7L8", "6L8", "5L11", "4L11", "3L13"], + }, + encounters: [ + {generation: 3, level: 2}, + ], + }, + pelipper: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "9L1", "8M", "8L1"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L1", "8M", "8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M"], + bravebird: ["9M", "8M"], + brine: ["8M", "7L22", "6L28", "5L34", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + defog: ["7T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "9L34", "8M", "8L34", "7M", "7L28", "6M", "6L39", "5M", "5L43", "4M", "4L43"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["9M", "9L55", "8M", "8L55", "7L1", "6L1", "5L63"], + hydropump: ["9M", "9L62", "8M", "8L62", "7L1", "6L1", "5L57", "4L57", "3L61"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + liquidation: ["9M", "8M", "7T"], + mimic: ["3T"], + mist: ["9L41", "8L41", "7L12", "6L12", "5L16", "4L16", "3L21"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + payback: ["8M", "7M", "7L19", "6M", "6L19", "5M", "5L24", "4M", "4L24"], + pluck: ["5M", "4M"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M", "3L25"], + quickattack: ["9L1", "8L1"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["9L48", "8L48", "7M", "7L39", "6M", "6L22", "5T", "5L31", "4M", "4L31"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + shockwave: ["7T", "6T", "4M", "3M"], + skyattack: ["7T", "6T", "5T", "4T", "3T"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + soak: ["9L1", "8L1", "7L1", "6L1", "5L1"], + spitup: ["9L28", "8L28", "7L33", "6L33", "5L38", "4L38", "3L47"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + stockpile: ["9L28", "8L28", "7L33", "6L33", "5L38", "4L38", "3L33"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + supersonic: ["9L1", "8L1", "7L5", "6L5", "5L6", "4L6", "3L7"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["9L28", "8L28", "7L33", "6L33", "5L38", "4L38", "3L33"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L50", "4T", "4L50"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], + waterfall: ["9M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["9M", "9L20", "8L20", "7T", "7L15", "6T", "6L15", "5L19", "4M", "4L19", "3M"], + watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "4M"], + wingattack: ["9L15", "8L15", "7L1", "6L1", "5L1", "4L1", "3L1"], + }, + encounters: [ + {generation: 4, level: 15}, + {generation: 6, level: 18, maxEggMoves: 1}, + ], + }, + ralts: { + learnset: { + allyswitch: ["8M", "7T", "7E", "6E", "5M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + calmmind: ["9M", "9L27", "8M", "8L27", "7M", "7L24", "6M", "6L24", "5M", "5L28", "4M", "4L23", "3M", "3L21"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L24", "8M", "8L24", "7L34", "6L34", "5L43", "4L39", "3S1"], + confide: ["7M", "6M"], + confuseray: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + confusion: ["9L6", "8L6", "7L4", "6L4", "5L6", "5D", "4L6", "3L6", "3S2"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + defensecurl: ["3T"], + destinybond: ["9E", "8E", "7E", "6E", "5E", "5D", "4E", "3E"], + disable: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + disarmingvoice: ["9M", "9L1", "8L1", "7L11", "6L11"], + doubleedge: ["3T"], + doubleteam: ["9L3", "8L3", "7M", "7L6", "6M", "6L6", "5M", "5L10", "4M", "4L10", "3M", "3L11"], + drainingkiss: ["9M", "9L12", "8M", "8L12", "7L22", "6L22"], + dreameater: ["9L36", "8L36", "7M", "7L39", "6M", "6L39", "5M", "5L50", "4M", "4L45", "3T", "3L46"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M", "7E", "6E", "6S3", "5E", "4E"], + endure: ["9M", "8M", "4M", "3T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L39", "8M", "8L39", "7L32", "6L32", "5L39", "4L34", "3L36"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L1", "6L1", "6S3", "5L1", "4L1", "3L1", "3S0", "3S1"], + grudge: ["8E", "7E", "6E", "5E", "4E"], + headbutt: ["4T"], + healpulse: ["9L33", "8L33", "7L19", "6L19", "5L23"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "5D", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["9L9", "8L9", "7L37", "6L37", "5L45", "4L43", "3L41"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M", "7L29", "6L29", "5L34", "4L32", "3L31"], + knockoff: ["9M", "9E", "8E"], + lifedew: ["9L21", "8L21"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7L14", "6L14", "5L17", "4L17"], + magicalleaf: ["9M", "8M", "7L17", "6L17", "5L21", "4L21"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + meanlook: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + megakick: ["8M"], + megapunch: ["8M"], + memento: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + metronome: ["9M"], + mimic: ["3T"], + mistyterrain: ["9M", "8M", "7E", "6E"], + mudslap: ["4T", "3T"], + mysticalfire: ["9E"], + naturalgift: ["4M"], + nightmare: ["3T"], + painsplit: ["7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L18", "8L18"], + psychic: ["9M", "9L30", "8M", "8L30", "7M", "7L27", "6M", "6L27", "5M", "5L32", "4M", "4L28", "3M", "3L26"], + psychicterrain: ["9M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M", "3S2"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shadowsneak: ["9E", "8E", "7E", "6E", "5E", "4E"], + shockwave: ["7T", "6T", "4M", "3M", "3S2"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["3S2"], + skillswap: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M", "7L42", "6L42", "5L54"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T"], + synchronoise: ["7E", "6E", "5E"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["9L15", "8L15", "7L9", "6L9", "5L12", "4L12", "3L16"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4E", "3E"], + wish: ["3S0"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["growl", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["growl", "charm"], pokeball: "pokeball"}, + {generation: 3, level: 20, moves: ["sing", "shockwave", "reflect", "confusion"]}, + {generation: 6, level: 1, isHidden: true, moves: ["growl", "encore"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 4}, + ], + }, + kirlia: { + learnset: { + allyswitch: ["8M", "7T", "5M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + calmmind: ["9M", "9L33", "8M", "8L33", "7M", "7L26", "6M", "6L26", "5M", "5L31", "4M", "4L25", "3M", "3L21"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L28", "8M", "8L28", "7L40", "6L40", "5L50", "4L45"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + defensecurl: ["3T"], + disarmingvoice: ["9M", "9L1", "8L1", "7L11", "6L11"], + doubleedge: ["3T"], + doubleteam: ["9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + drainingkiss: ["9M", "9L12", "8M", "8L12", "7L23", "6L23"], + dreameater: ["9L48", "8L48", "7M", "7L47", "6M", "6L47", "5M", "5L59", "4M", "4L53", "3T", "3L54"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M", "3T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L53", "8M", "8L53", "7L37", "6L37", "5L45", "4L39", "3L40"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + healpulse: ["9L43", "8L43", "7L19", "6L19", "5L25"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["9L9", "8L9", "7L44", "6L44", "5L53", "4L50", "3L47"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M", "7L33", "6L33", "5L39", "4L36", "3L33"], + knockoff: ["9M"], + lifedew: ["9L23", "8L23"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7L14", "6L14", "5L17", "4L17"], + magicalleaf: ["9M", "8M", "7L17", "6L17", "5L22", "4L22", "3L1"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + mimic: ["3T"], + mistyterrain: ["9M", "8M"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + painsplit: ["7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L18", "8L18"], + psychic: ["9M", "9L38", "8M", "8L38", "7M", "7L30", "6M", "6L30", "5M", "5L36", "4M", "4L31", "3M", "3L26"], + psychicterrain: ["9M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M", "7L51", "6L51", "5L64"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["9L15", "8L15", "7L1", "6L1", "5L1", "4L1", "3L1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + tripleaxel: ["8T"], + willowisp: ["9M", "8M", "7M", "6M", "5M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 4, level: 6}, + ], + }, + gardevoir: { + learnset: { + allyswitch: ["8M", "7T", "5M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurasphere: ["9M"], + bodyslam: ["9M", "8M", "3T"], + calmmind: ["9M", "9L35", "8M", "8L35", "7M", "7L26", "6M", "6L26", "6S1", "5M", "5L33", "4M", "4L25", "3M", "3L21"], + captivate: ["7L44", "6L44", "5L60", "4M", "4L53"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + dazzlinggleam: ["9M", "9L0", "8M", "8L0", "7M", "6M", "6S1"], + defensecurl: ["3T"], + disarmingvoice: ["9M", "9L1", "8L1", "7L11", "6L11"], + doubleedge: ["3T"], + doubleteam: ["9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + drainingkiss: ["9M", "9L12", "8M", "8L12", "7L23", "6L23"], + dreameater: ["9L56", "8L56", "7M", "7L53", "6M", "6L53", "5M", "5L73", "4M", "4L65", "3T", "3L60"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L63", "8M", "8L63", "7L40", "6L40", "5L53", "4L45", "3L42"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + guardswap: ["8M"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + healingwish: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + healpulse: ["9L1", "8L49", "7L19", "6L19", "5L25"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["9L9", "8L9", "7L49", "6L49", "5L65", "5S0", "4L60", "3L51"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M", "7L35", "6L35", "5L45", "4L40", "3L33"], + knockoff: ["9M"], + laserfocus: ["7T"], + lifedew: ["9L23", "8L23"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + magicalleaf: ["9M", "8M", "7L17", "6L17", "5L22", "4L22"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + mimic: ["3T"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + moonblast: ["9L49", "8L1", "7L1", "6L1", "6S1"], + mudslap: ["4T", "3T"], + mysticalfire: ["9L1", "8M"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightshade: ["9M"], + painsplit: ["7T", "6T", "5T", "4T"], + powerswap: ["8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L18", "8L18"], + psychic: ["9M", "9L42", "8M", "8L42", "7M", "7L31", "6M", "6L31", "5M", "5L40", "5S0", "4M", "4L33", "3M", "3L26"], + psychicterrain: ["9M", "8M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "8M", "7L1", "6L1", "6S1", "5L80"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + teleport: ["9L15", "8L15", "7L1", "6L1", "5L1", "4L1", "3L1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + tripleaxel: ["8T"], + vacuumwave: ["9M"], + willowisp: ["9M", "8M", "7M", "6M", "5M"], + wish: ["9L28", "8L28", "7L14", "6L14", "5L17", "4L17"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, abilities: ["trace"], moves: ["hypnosis", "thunderbolt", "focusblast", "psychic"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: true, gender: "F", abilities: ["synchronize"], moves: ["dazzlinggleam", "moonblast", "storedpower", "calmmind"], pokeball: "cherishball"}, + ], + }, + gallade: { + learnset: { + aerialace: ["9M", "9L18", "8L18", "7M", "7L17", "6M", "5M", "4M"], + agility: ["9M"], + airslash: ["9M", "8M"], + allyswitch: ["8M", "7T", "5M"], + aquacutter: ["9L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + aurasphere: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L1", "8M", "8L1"], + closecombat: ["9M", "9L63", "8M", "8L63", "7L1", "6L1", "5L59", "4L53"], + coaching: ["8T"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + cut: ["6M", "5M", "4M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + disarmingvoice: ["9M", "9L1", "8L1"], + doubleteam: ["9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + drainingkiss: ["9M", "9L1", "8M", "8L1"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["9L1", "8L1", "7M", "6M", "5M", "4M"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + falseswipe: ["9M", "9L23", "8M", "8L23", "7M", "7L44", "6M", "6L44", "5M", "5L50", "4M", "4L45"], + feint: ["9L12", "8L12", "7L40", "6L40", "5L45", "4L39"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["9L1", "8L1", "7L14", "6L14", "5L17", "4T", "4L17"], + futuresight: ["9L1", "8M", "8L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1"], + headbutt: ["4T"], + healpulse: ["9L49", "8L49", "7L19", "6L19", "5L25"], + helpinghand: ["9M", "9L9", "8M", "8L9", "7T", "7L35", "6T", "6L35", "5T", "5L39", "4T", "4L36"], + hex: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + hypnosis: ["9L1", "8L1"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M"], + imprison: ["9M", "9L1", "8M", "8L1"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + leafblade: ["9L1", "8M", "7L1", "6L1", "5L1", "4L1"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lifedew: ["9L1", "8L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magicalleaf: ["9M", "8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + mistyterrain: ["9M", "8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightshade: ["9M"], + nightslash: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + painsplit: ["7T", "6T", "5T", "4T"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "9L28", "8M", "8L28", "7M", "7L49", "6M", "6L49", "5M", "5L53", "4M", "4L50"], + psybeam: ["9M", "9L1", "8L1"], + psychic: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + psychicterrain: ["9M"], + psychocut: ["9L42", "8M", "8L42", "7L31", "6L31", "5L36", "4L31"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + quickguard: ["9L56", "8L56", "7L11", "6L11"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sacredsword: ["9L1"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + slash: ["9L0", "8L0", "7L1", "6L17", "5L22", "4L22"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarblade: ["9M", "8M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + storedpower: ["9M", "8M", "7L1", "6L1", "5L64"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + swordsdance: ["9M", "9L35", "8M", "8L35", "7M", "7L26", "6M", "6L26", "5M", "5L31", "4M", "4L25"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + teleport: ["9L15", "8L15", "7L1", "6L1", "5L1", "4L1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + tripleaxel: ["8T"], + vacuumwave: ["9M", "4T"], + wideguard: ["9L56", "8L56", "7L23", "6L23"], + willowisp: ["9M", "8M", "7M", "6M", "5M"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + }, + surskit: { + learnset: { + acrobatics: ["9M"], + agility: ["9M", "9L22", "7L22", "6L22", "5L31", "4L31", "3L31"], + aquajet: ["9E", "7L30", "7E", "6L30", "6E", "5E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "9L35", "7L35", "6L35", "5L43", "4L43"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + bubble: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S0", "3S1"], + bubblebeam: ["9L17", "7L17", "6L17", "5L25", "4L25", "3L25"], + bugbite: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + bugbuzz: ["9M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "7E", "6E", "5E", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fellstinger: ["9E", "7E", "6E"], + flash: ["6M", "5M", "4M", "3M"], + foresight: ["7E", "6E", "5E", "4E", "3E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "6T", "5T", "5D", "4M", "3M"], + haze: ["9M", "9L25", "7L25", "6L25", "5L37", "4L37", "3L37"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9E", "7E", "6E", "5E", "5D", "4E", "3E"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + leechlife: ["9M"], + liquidation: ["9M", "7T"], + lunge: ["9M", "9E", "7E"], + mimic: ["3T"], + mindreader: ["7E", "6E", "5E", "4E", "3E"], + mist: ["9L25", "7L25", "6L25", "5L37", "4L37", "3L37"], + mudshot: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + mudslap: ["9M", "4T"], + mudsport: ["3S0"], + naturalgift: ["4M"], + pounce: ["9M"], + powersplit: ["9E", "7E", "6E"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + quickattack: ["9L6", "7L6", "6L6", "5L7", "4L7", "3L7", "3S1"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + soak: ["9L14"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + stickyweb: ["9L38", "7L38", "6L38"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetscent: ["9L9", "7L9", "6L9", "5L13", "4L13", "3L13"], + swift: ["4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + watersport: ["7L14", "6L14", "5L19", "4L19", "3L19"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["bubble", "mudsport"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", moves: ["bubble", "quickattack"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 3}, + ], + }, + masquerain: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M"], + aircutter: ["9M", "9L22", "7L22", "6L22", "4T"], + airslash: ["9M", "9L32", "7L38", "6L38", "5L47", "4L47"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + bubble: ["7L1", "6L1", "5L1", "4L1", "3L1"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L44", "7L1", "6L1", "5L61", "4L61"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + defog: ["7T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dualwingbeat: ["9M"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + foulplay: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L38", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gust: ["9L17", "7L17", "6L17", "5L22", "4L22", "3L26"], + haze: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + leechlife: ["9M"], + liquidation: ["9M", "7T"], + lunge: ["9M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + nightmare: ["3T"], + ominouswind: ["7L1", "6L1", "5L1", "4T", "4L1"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + quickattack: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + quiverdance: ["9L52", "7L1", "6L1", "5L68"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["9M", "9L22", "7L22", "6L22", "5L26", "4L26", "3L33"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["7L32", "6L32", "5L40", "4M", "4L40", "3L47"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + soak: ["9L1"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + stunspore: ["9L26", "7L26", "6L26", "5L33", "4L33", "3L40"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetscent: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + swift: ["9M", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + weatherball: ["9M"], + whirlwind: ["9L1", "7L1", "6L1", "5L54", "4L54", "3L53"], + }, + encounters: [ + {generation: 6, level: 21, maxEggMoves: 1}, + ], + }, + shroomish: { + learnset: { + absorb: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + bulletseed: ["9M", "7E", "6E", "5E", "5D", "4M", "3M"], + captivate: ["4M"], + charm: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + confide: ["7M", "6M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "7T", "7E", "6T", "6E", "5T", "5E"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + falseswipe: ["9M", "7M", "6M", "5M", "4E", "3E", "3S0"], + flash: ["6M", "5M", "4M", "3M"], + focuspunch: ["7T", "7E", "6T", "6E", "5E", "5D"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L37", "4M", "4L37", "3M", "3L45"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyterrain: ["9M"], + growth: ["9L29", "7L29", "6L29", "5L33", "4L33", "3L36"], + gunkshot: ["9M"], + headbutt: ["9L15", "7L15", "6L15", "5L21", "4T", "4L21", "3L22"], + helpinghand: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + leechseed: ["9L8", "7L8", "6L8", "5L13", "4L13", "3L10"], + magicalleaf: ["9M"], + megadrain: ["9L12", "7L12", "6L12", "5L17", "4L17", "3L16", "3S0"], + mimic: ["3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + poisonpowder: ["9L19", "7L19", "6L19", "5L25", "4L25", "3L28"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + refresh: ["3S0"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "9L36", "7T", "7L36", "7E", "6T", "6L36", "6E", "5T", "5L41", "5E", "4T", "4L41", "4E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spore: ["9L40", "7L40", "6L40", "5L45", "4L45", "3L54"], + stunspore: ["9L5", "7L5", "6L5", "5L9", "5D", "4L9", "3L7", "3S0"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + swift: ["9M"], + swordsdance: ["7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + tackle: ["9L1", "7L1", "6L1", "5L5", "4L5", "3L4"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L33", "7M", "7L33", "6M", "6L33", "5M", "4M", "3M"], + venoshock: ["9M", "7M", "6M", "5M"], + wakeupslap: ["7E", "6E", "5E", "4E"], + worryseed: ["9E", "7T", "7L22", "7E", "6T", "6L22", "6E", "5T", "5L29", "5E", "4T", "4L29", "4E"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 15, abilities: ["effectspore"], moves: ["refresh", "falseswipe", "megadrain", "stunspore"]}, + ], + }, + breloom: { + learnset: { + absorb: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + aerialace: ["9M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "9L39", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M"], + bulletseed: ["9M", "4M", "3M"], + captivate: ["4M"], + charm: ["9M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + counter: ["9L22", "7L22", "6L22", "5L25", "4L25", "3T", "3L28"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["9L50", "7L50", "6L45", "5L45", "4L45", "3T", "3L54"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + falseswipe: ["9M", "7M", "6M", "5M"], + feint: ["9L19", "7L19", "6L19"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "9L55", "7T", "6T", "4M", "3M"], + forcepalm: ["9L28", "7L28", "6L28", "5L29", "4L29"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyterrain: ["9M"], + growth: ["9L1"], + gunkshot: ["9M"], + headbutt: ["9L15", "7L15", "6L15", "5L21", "4T", "4L21", "3L22"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + leafstorm: ["9M"], + leechseed: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M"], + lowsweep: ["9M", "7M", "6M", "5M"], + machpunch: ["9L0", "7L1", "6L23", "5L23", "4L23", "3L23"], + magicalleaf: ["9M"], + megadrain: ["9L12", "7L12", "6L12", "5L17", "4L17", "3L16"], + megakick: ["3T"], + megapunch: ["3T"], + mimic: ["3T"], + mindreader: ["7L33", "6L33", "5L37", "4L37", "3L45"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + poisonjab: ["9M"], + poisonpowder: ["9L1"], + pounce: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "9L44", "7T", "7L44", "6T", "6L41", "5T", "5L41", "4T", "4L41"], + seismictoss: ["3T"], + skyuppercut: ["7L39", "6L33", "5L33", "4L33", "3L36"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + stunspore: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["9M", "9L1", "7M", "6M", "5M", "4M", "3M"], + vacuumwave: ["4T"], + venoshock: ["9M", "7M", "6M", "5M"], + workup: ["7M", "5M"], + worryseed: ["9L33", "7T", "6T", "5T", "4T"], + zenheadbutt: ["9M"], + }, + }, + slakoth: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + afteryou: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], + amnesia: ["9M", "9L17", "7L17", "6L17", "5L25", "4L25", "3L25"], + attract: ["7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "9E", "7E", "6E", "5E", "4E", "3T", "3E"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chillingwater: ["9M"], + chipaway: ["7L25", "6L25", "5L37"], + confide: ["7M", "6M"], + counter: ["9L30", "7L30", "6L30", "5L43", "4L37", "3T", "3L37"], + covet: ["9L22", "7T", "7L22", "6T", "6L22", "5T", "5L31", "4L31", "3L31"], + crushclaw: ["9E", "7E", "6E", "5E", "4E", "3E"], + curse: ["9E", "7E", "6E", "5E", "4E", "3E"], + cut: ["6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + encore: ["9M", "9L6", "7L6", "6L6", "5L7", "4L7", "3L7"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M"], + feintattack: ["7L14", "6L14", "5L19", "4L19", "3L19"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + flail: ["9L33", "7L33", "6L33", "5L49", "4L43", "3L43"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + hammerarm: ["9E", "7E", "6E", "5E", "4E"], + headbutt: ["9L14", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + megakick: ["3T"], + megapunch: ["3T"], + metalclaw: ["9M"], + metronome: ["9M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + nightslash: ["9E", "7E", "6E", "5E", "5D", "4E"], + playrough: ["9M", "9L38", "7L38", "6L38"], + poisonjab: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7E", "6E", "5E", "4E", "3E"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scratch: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slackoff: ["9L9", "7L9", "6L9", "5L13", "4L13", "3L13"], + slash: ["9E", "7E", "6E", "5E", "4E", "3E"], + sleeptalk: ["9M", "7M", "7E", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + snore: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["5D", "4T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9L25"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + tickle: ["9E", "7E", "6E", "5E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + workup: ["7M", "5M"], + xscissor: ["9M"], + yawn: ["9L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + zenheadbutt: ["9M"], + }, + }, + vigoroth: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + chipaway: ["7L27", "6L27", "5L43"], + confide: ["7M", "6M"], + counter: ["9L33", "7L33", "6L33", "5L37", "4L37", "3T", "3L37"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["3T"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "9L17", "7L17", "6L17", "5L25", "4M", "4L25", "3T", "3L25"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5L49", "4M", "4L43", "3M", "3L43"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + furyswipes: ["9L14", "7L14", "6L14", "5L19", "4L19", "3L19"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hypervoice: ["9M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + knockoff: ["9M"], + lashout: ["9M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + megakick: ["3T"], + megapunch: ["3T"], + metalclaw: ["9M"], + metronome: ["9M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M"], + playrough: ["9M"], + poisonjab: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9L43", "7L1", "6L1", "5L55", "4L49", "3L49"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + scratch: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slash: ["9L23", "7L23", "6L23", "5L31", "4L31", "3L31"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + stompingtantrum: ["9M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9L27"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + workup: ["7M", "5M"], + xscissor: ["9M"], + zenheadbutt: ["9M"], + }, + }, + slaking: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "4S0", "3M"], + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L17", "7L17", "6L17", "5L25", "4L25", "3L25"], + attract: ["7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + chipaway: ["7L27", "6L27", "5L37"], + confide: ["7M", "6M"], + counter: ["9L33", "7L33", "6L33", "5L43", "4L37", "3T", "3L37"], + covet: ["9L23", "7T", "7L23", "6T", "6L23", "5T", "5L31", "4L31", "3L31"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["3T"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + encore: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M"], + feintattack: ["7L14", "6L14", "5L19", "4L19", "3L19"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + flail: ["9L39", "7L39", "6L39", "5L49", "4L43", "3L43"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "9L45", "7M", "7L1", "6M", "6L1", "5M", "5L55", "4M", "4L49"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M", "4S0"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + hammerarm: ["9L63", "7L1", "6L1", "5L67", "4L61"], + headbutt: ["4T"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + knockoff: ["9M"], + lashout: ["9M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + megakick: ["9L52", "3T"], + megapunch: ["3T"], + metalclaw: ["9M"], + metronome: ["9M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M"], + playrough: ["9M"], + poisonjab: ["9M"], + pounce: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + punishment: ["7L1", "6L1", "5L61", "4L55"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "4S0", "3M"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + scratch: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M", "4S0"], + shockwave: ["7T", "6T", "4M", "3M"], + slackoff: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + stompingtantrum: ["9M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L1", "4T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["9L0", "7M", "7L1", "6M", "6L36", "5M", "5L36", "4M", "4L36", "3T", "3L36"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9L27"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + uproar: ["9M"], + waterpulse: ["7T", "6T", "4M", "3M"], + wildcharge: ["9M"], + workup: ["7M", "5M"], + xscissor: ["9M"], + yawn: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Adamant", moves: ["gigaimpact", "return", "shadowclaw", "aerialace"], pokeball: "cherishball"}, + ], + }, + nincada: { + learnset: { + absorb: ["8L21", "7L5"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + bide: ["7L29", "6L29"], + bugbite: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + bugbuzz: ["8M", "7E", "6E", "5E", "4E"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["8M", "8L40", "7L37", "6M", "6L37", "5M", "5L45", "4M", "4L45", "3M", "3L45"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "7E", "6E", "5E", "5D", "4M", "4E", "3T", "3E"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L10", "7M", "7L33", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3L25"], + feintattack: ["7E", "6E", "5E", "4E", "3E"], + finalgambit: ["8E", "7E", "6E", "5E"], + flail: ["8E"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + furyswipes: ["8L30", "7L13", "6L13", "5L14", "4L14", "3L14"], + gigadrain: ["8M", "7T", "6T", "5T", "4M", "3M"], + gust: ["8E", "7E", "6E", "5E", "4E", "3E"], + harden: ["8L5", "7L1", "6L1", "5L1", "4L1", "3L1"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + leechlife: ["8M", "7M", "6L5", "5L5", "5D", "4L5", "3L5"], + metalclaw: ["8L25", "7L21", "6L21", "5L38", "4L38", "3L38"], + mimic: ["3T"], + mindreader: ["8L35", "7L25", "6L19", "5L19", "4L19", "3L19"], + mudslap: ["8L15", "7L17", "6L17", "5L31", "4T", "4L31", "3T", "3L31"], + naturalgift: ["4M"], + nightslash: ["8E", "7E", "6E", "5E", "5D", "4E"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L9", "6L9", "5L9", "4L9", "3L9"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scratch: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + silverwind: ["7E", "6E", "5E", "4E", "3E"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spite: ["7T", "6T", "5T", "4T"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + xscissor: ["8M", "7M", "6M", "5M", "4M"], + }, + }, + ninjask: { + learnset: { + absorb: ["8L23", "7L1"], + acrobatics: ["8M"], + aerialace: ["8L1", "7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L15", "7L17", "6L17", "5L38", "4L38", "3L38"], + aircutter: ["4T"], + airslash: ["8M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "8L1", "7L35", "6L35", "5L45", "4L45", "3L45"], + bugbite: ["8L29", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + bugbuzz: ["8M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + dig: ["8M", "8L1", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["8L0", "7M", "7L1", "6M", "6L20", "5M", "5L20", "4M", "4L20", "3M", "3L20"], + dualwingbeat: ["8T"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L1", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["8L0", "7L1", "6L20", "5L20", "4T", "4L20", "3T", "3L20"], + furyswipes: ["8L36", "7L13", "6L13", "5L14", "4L14", "3L14"], + gigadrain: ["8M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + laserfocus: ["7T"], + leechlife: ["8M", "7M", "6L1", "5L1", "4L1", "3L1"], + metalclaw: ["8L1"], + mimic: ["3T"], + mindreader: ["8L43", "7L29", "6L19", "5L19", "4L19", "3L19"], + mudslap: ["8L1", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scratch: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + screech: ["8M", "8L0", "7L1", "6L20", "5L20", "4L20", "3L20"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + silverwind: ["4M"], + skittersmack: ["8T"], + slash: ["8L50", "7L23", "6L23", "5L31", "4L31", "3L31"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spite: ["7T", "6T", "5T", "4T"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M", "8L57", "7M", "7L41", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3T", "3L25"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["8M", "7M", "6M", "5M", "4M"], + xscissor: ["8M", "8L64", "7M", "7L47", "6M", "6L47", "5M", "5L52", "4M", "4L52"], + }, + }, + shedinja: { + learnset: { + absorb: ["8L23", "7L1"], + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "4R", "3R"], + allyswitch: ["8M", "7T"], + batonpass: ["4R", "3R"], + bugbite: ["7T", "6T", "5T", "4T"], + bugbuzz: ["8M"], + confide: ["7M", "6M"], + confuseray: ["8L15", "7L29", "6L29", "5L31", "4L31", "3L31", "3S0"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["8M", "8L1", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "8L1", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + furyswipes: ["8L36", "7L13", "6L13", "5L14", "4L14", "3L14"], + gigadrain: ["8M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grudge: ["8L1", "7L37", "6L37", "5L45", "4L45", "3L45", "3S0"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + healblock: ["7L41", "6L41", "5L52", "4L52"], + hex: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + leechlife: ["8M", "7M", "6L5", "5L5", "4L5", "3L5"], + metalclaw: ["8L1"], + mimic: ["3T"], + mindreader: ["8L43", "7L25", "6L19", "5L19", "4L19", "3L19"], + mudslap: ["8L1", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + phantomforce: ["8M", "8L64", "7L45", "6L45"], + poltergeist: ["8T"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L9", "5L9", "4L9", "3L9"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scratch: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + screech: ["4R", "3R"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "8L50", "7M", "7L33", "6M", "6L33", "5M", "5L59", "4M", "4L59", "3M", "3L38", "3S0"], + shadowclaw: ["8M", "8L1", "7M", "6M", "5M", "4M"], + shadowsneak: ["8L29", "7L21", "6L21", "5L38", "4L38"], + skittersmack: ["8T"], + slash: ["4R", "3R"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spite: ["8L57", "7T", "7L17", "6T", "6L17", "5T", "5L25", "4T", "4L25", "3L25", "3S0"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swordsdance: ["4R", "3R"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + xscissor: ["8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["spite", "confuseray", "shadowball", "grudge"], pokeball: "pokeball"}, + ], + }, + whismur: { + learnset: { + astonish: ["8L1", "7L8", "6L8", "5L11", "4L11", "3L11"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + captivate: ["4M"], + circlethrow: ["8E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + counter: ["3T"], + defensecurl: ["3T"], + disarmingvoice: ["8E", "7E", "6E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + echoedvoice: ["8L5", "7M", "7L4", "6M", "6L4", "5M"], + endeavor: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4E"], + endure: ["8M", "4M", "3T"], + extrasensory: ["8E", "7E", "6E", "5E", "4E", "3E"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["8M", "7E", "6E", "5E"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + hammerarm: ["8E", "7E", "6E", "5E", "4E"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + howl: ["8L10", "7L11", "6L11", "5L15", "4L15", "3L15"], + hypervoice: ["8M", "8L45", "7T", "7L39", "6T", "6L39", "5T", "5L51", "4L45", "3L45"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + pound: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["3T"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L15", "7M", "7L32", "6M", "6L32", "5M", "5L45", "4M", "4L41", "3M", "3L41"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["8L25", "7M", "7L29", "6M", "6L29", "5M", "5L35", "4M", "4L35", "3M", "3L35"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L40", "7L15", "6L15", "5L31", "4L31", "3L31"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "8L15", "7M", "7L36", "6M", "6L36", "5T", "5L45", "4M", "4L41", "3T", "3L41"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + smokescreen: ["8E", "7E", "6E", "5E", "4E"], + snore: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + stomp: ["8L21", "7L22", "6L22", "5L25", "4L25", "3L25"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["8L30", "7L18", "6L18", "5L21", "4L21", "3L21"], + swagger: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + synchronoise: ["7L43", "6L41", "5L41"], + takedown: ["8E", "7E", "6E", "5E", "4E", "3E"], + teeterdance: ["3S0"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "8L35", "7T", "7L25", "6T", "6L5", "5T", "5L5", "5D", "4T", "4L5", "3L5", "3S0"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlwind: ["8E", "7E"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "5D", "4T"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["pound", "uproar", "teeterdance"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + loudred: { + learnset: { + astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bite: ["8L0", "7L1", "6L20", "5L20", "4L20"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["8L1", "7M", "7L1", "6M", "6L1", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["8M"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + howl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hypervoice: ["8M", "8L57", "7T", "7L45", "6T", "6L45", "5T", "5L65", "4L57", "3L57"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + pound: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["3T"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L15", "7M", "7L36", "6M", "6L36", "5M", "5L57", "4M", "4L51", "3M", "3L51"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["8L29", "7M", "7L32", "6M", "6L32", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L50", "7L15", "6L15", "5L37", "4L37", "3L37"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "8L15", "7M", "7L41", "6M", "6L41", "5T", "5L57", "4M", "4L51", "3T", "3L51"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + stomp: ["8L23", "7L23", "6L23", "5L29", "4L29", "3L29"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["8L36", "7L18", "6L18", "5L23", "4L23", "3L23"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + synchronoise: ["7L50", "6L50", "5L51"], + taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "8L43", "7T", "7L27", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 6, level: 16, maxEggMoves: 1}, + ], + }, + exploud: { + learnset: { + astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + bite: ["8L1", "7L1", "6L20", "5L20", "4L20"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + boomburst: ["8L72", "7L1", "6L1"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["8M", "8L0", "7L1", "6L40", "5L40", "4L40"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["8L1", "7M", "7L1", "6M", "6L1", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["8M"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + howl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hydropump: ["8M"], + hyperbeam: ["8M", "8L81", "7M", "7L64", "6M", "6L64", "5M", "5L79", "4M", "4L71", "3M", "3L40", "3S1"], + hypervoice: ["8M", "8L63", "7T", "7L47", "6T", "6L47", "5T", "5L71", "4L63", "3L63", "3S0"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + pound: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["3T"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L15", "7M", "7L36", "6M", "6L36", "5M", "5L55", "4M", "4L55", "3M", "3L55", "3S0"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["8L29", "7M", "7L32", "6M", "6L32", "5M", "5L45", "4M", "4L45", "3M", "3L45", "3S0", "3S1"], + rockclimb: ["4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L54", "7L15", "6L15", "5L37", "4L37", "3L37", "3S1"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "8L15", "7M", "7L42", "6M", "6L42", "5T", "5L63", "4M", "4L55", "3T", "3L55", "3S0"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + stomp: ["8L23", "7L23", "6L23", "5L29", "4L29", "3L29", "3S1"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + supersonic: ["8L36", "7L18", "6L18", "5L23", "4L23", "3L23"], + surf: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + synchronoise: ["7L53", "6L53", "5L55"], + taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], + terrainpulse: ["8T"], + thunderfang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "8L45", "7T", "7L27", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["roar", "rest", "sleeptalk", "hypervoice"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["stomp", "screech", "hyperbeam", "roar"], pokeball: "pokeball"}, + ], + }, + makuhita: { + learnset: { + armthrust: ["9L7", "7L7", "6L7", "5L7", "5D", "4L7", "3L10", "3S0"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bellydrum: ["9L25", "7L25", "6L25", "5L25", "4L25", "3L37"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M", "3S0"], + bulkup: ["9M", "9L22", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + bulletpunch: ["9E", "7E", "6E", "5E", "4E"], + captivate: ["4M"], + chillingwater: ["9M"], + chipaway: ["7E", "6E", "5E"], + closecombat: ["9M", "9L40", "7L40", "6L40", "5L40", "4L40"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], + crosschop: ["9E", "7E", "6E", "5E", "4E", "3E"], + detect: ["9L28", "7E", "6E", "5E", "4E", "3E"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "9L37", "7L37", "6L37", "5L37", "4M", "4L37", "3T", "3L40"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L10", "7L10", "6L10", "5L13", "4L13", "3L19"], + feint: ["9E", "7E", "6E", "5E", "4E"], + feintattack: ["7E", "6E", "5E", "4E", "3E"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["9M", "9L34", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + forcepalm: ["9L13", "7L13", "6L13", "5L28", "4L28"], + foresight: ["7E", "6E", "5E", "4E", "3E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + heavyslam: ["9M", "9L46", "7L46", "6L46", "5L46"], + helpinghand: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "5D", "4T", "3T"], + knockoff: ["9M", "9L19", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19", "3L28"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["7E", "6E", "5E", "4E", "3E"], + reversal: ["9M", "9L43", "7L43", "6L43", "5L43", "4L43", "3L49"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M", "3S0"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + sandattack: ["9L4", "7L4", "6L4", "5L4", "4L4", "3L4"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["9L31", "7L31", "6L31", "5L31", "4L31", "3T", "3L46"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + smellingsalts: ["7L28", "6L22", "5L22", "4L22", "3L31"], + snore: ["7T", "6T", "5T", "4T", "3T"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + surf: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + vacuumwave: ["9M", "4T"], + vitalthrow: ["7L22", "6L10", "5L10", "4L10", "3L13"], + wakeupslap: ["7L34", "7E", "6L34", "6E", "5L34", "5E", "4L34", "4E"], + whirlpool: ["4M"], + whirlwind: ["9L16", "7L16", "6L16", "5L16", "4L16", "3L22"], + wideguard: ["9E", "7E", "6E", "5E"], + workup: ["7M", "5M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 18, moves: ["refresh", "brickbreak", "armthrust", "rocktomb"]}, + ], + }, + hariyama: { + learnset: { + armthrust: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bellydrum: ["9L26", "7L26", "6L26", "5L27", "4L27", "3L40"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + brine: ["9L1", "7L1", "6L1", "5L1", "4M", "4L1"], + bulkup: ["9M", "9L22", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + closecombat: ["9M", "9L46", "7L46", "6L46", "5L52", "4L52"], + confide: ["7M", "6M"], + counter: ["3T"], + detect: ["9L30"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M"], + dynamicpunch: ["3T"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "9L42", "7L42", "6L42", "5L47", "4M", "4L47", "3T", "3L44"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L10", "7L10", "6L10", "5L13", "4L13", "3L19"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + focuspunch: ["9M", "9L38", "7T", "6T", "4M", "3M"], + forcepalm: ["9L13", "7L13", "6L13", "5L32", "4L32"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + headlongrush: ["9L60"], + heavyslam: ["9M", "9L54", "7L54", "6L54", "5L62"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + ironhead: ["9M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "9L19", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19", "3L29"], + lashout: ["9M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9L50", "7L50", "6L50", "5L57", "4L57", "3L55"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + sandattack: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["9L34", "7L34", "6L34", "5L37", "4L37", "3T", "3L51"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + smellingsalts: ["7L30", "6L22", "5L22", "4L22", "3L33"], + snore: ["7T", "6T", "5T", "4T", "3T"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + surf: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["7T"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + vacuumwave: ["9M", "4T"], + vitalthrow: ["7L22", "6L10", "5L10", "4L10", "3L13"], + wakeupslap: ["7L38", "6L38", "5L42", "4L42"], + whirlpool: ["4M"], + whirlwind: ["9L16", "7L16", "6L16", "5L16", "4L16", "3L22"], + workup: ["7M", "5M"], + zenheadbutt: ["9M"], + }, + encounters: [ + {generation: 6, level: 22}, + ], + }, + nosepass: { + learnset: { + ancientpower: ["5D", "4T"], + attract: ["7M", "6M", "5M", "4M", "3M"], + block: ["9L7", "7T", "7L7", "7E", "6T", "6L7", "6E", "5T", "5L19", "5E", "4T", "4L19", "4E", "3L16"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + dazzlinggleam: ["9M", "7M", "6M"], + defensecurl: ["3T"], + discharge: ["9L31", "7L31", "6L31", "5L55", "4L49"], + doubleedge: ["9E", "7E", "6E", "5E", "4E", "3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthpower: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L79", "4T", "4L73"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "7E", "6E", "5E", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + flashcannon: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + harden: ["9L4", "7L4", "6L4", "5L7", "4L7", "3L7"], + headbutt: ["4T"], + headsmash: ["9E"], + heavyslam: ["9M"], + helpinghand: ["9M", "3S0"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "7T", "6T", "5T", "4T"], + lockon: ["9L43", "7L43", "6L43", "5L73", "4L67", "3L46"], + magiccoat: ["7T", "6T", "5T", "4T"], + magnetrise: ["7T", "6T", "5T", "4T"], + magnitude: ["7E", "6E", "5E", "4E", "3E"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + powergem: ["9M", "9L25", "7L25", "6L25", "5L49", "4L49"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L43", "4M", "4L43", "3M", "3L37"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["9M", "9L28", "7L28", "6L18", "5L18"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L31", "4M", "4L31", "3T", "3L28", "3S0"], + rocksmash: ["6M", "5M", "4M", "3M"], + rockthrow: ["9L10", "7L10", "6L10", "5L13", "4L13", "3L13"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9E", "7E", "6E", "5E", "4T", "4E", "3T", "3E"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L37", "4M", "4L37", "3M", "3L31"], + sandtomb: ["9M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["3T"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spark: ["9L19", "7L19", "6L19", "5L25"], + stealthrock: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M"], + steelbeam: ["9M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L61", "4M", "4L55"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M", "3S0"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L25", "4M", "4L25", "3T", "3L22", "3S0"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wideguard: ["9E", "7E", "6E"], + zapcannon: ["9L43", "7L43", "6L43", "5L67", "4L61", "3L43"], + }, + eventData: [ + {generation: 3, level: 26, moves: ["helpinghand", "thunderbolt", "thunderwave", "rockslide"]}, + ], + }, + probopass: { + learnset: { + allyswitch: ["7T"], + ancientpower: ["4T"], + attract: ["7M", "6M", "5M", "4M"], + block: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + dazzlinggleam: ["9M", "7M", "6M"], + discharge: ["9L31", "7L31", "6L31", "5L55", "4L49"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L79", "4T", "4L73"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + endure: ["9M", "4M"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "7T", "6T", "5T", "4T"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + headbutt: ["4T"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "7T", "6T", "5T", "4T"], + irondefense: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + ironhead: ["9M", "7T", "6T", "5T", "4T"], + lockon: ["9L43", "7L43", "6L43", "5L73", "4L67"], + magiccoat: ["7T", "6T", "5T", "4T"], + magnetbomb: ["7L1", "6L1", "5L1", "4L1"], + magneticflux: ["9L1", "7L1"], + magnetrise: ["9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + powergem: ["9M", "9L25", "7L25", "6L25", "5L49", "4L49"], + protect: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "9L16", "7M", "7L16", "6M", "6L16", "5M", "5L43", "4M", "4L43"], + return: ["7M", "6M", "5M", "4M"], + rockblast: ["9M", "9L28", "7L28", "6L18", "5L18"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L22", "7M", "7L22", "6M", "6L22", "5M", "5L31", "4M", "4L31"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L37", "4M", "4L37"], + sandtomb: ["9M"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T"], + spark: ["9L19", "7L19", "6L19", "5L25"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L61", "4M", "4L55"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T"], + terablast: ["9M"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L25", "4M", "4L25"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + triattack: ["9L0", "7L1"], + voltswitch: ["9M", "7M", "6M", "5M"], + wideguard: ["9L1", "7L1", "6L1"], + zapcannon: ["9L43", "7L43", "6L43", "5L67", "4L61"], + }, + }, + skitty: { + learnset: { + assist: ["7L31", "6L22", "5L22", "4L18", "3L19"], + attract: ["7M", "7L10", "6M", "6L8", "5M", "5L8", "4M", "4L4", "3M", "3L7", "3S2"], + batonpass: ["7E", "6E", "5E", "4E", "3E"], + blizzard: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["3T"], + calmmind: ["7M", "6M", "5M", "4M", "3M"], + captivate: ["7L43", "7E", "6L43", "6E", "5L46", "5E", "5D", "4M", "4L42"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["7L25", "6L25", "5L25", "4L22", "3L25"], + confide: ["7M", "6M"], + copycat: ["7L19", "6L18", "5L18", "4L11"], + cosmicpower: ["7E", "6E"], + covet: ["7T", "7L34", "6T", "6L34", "5T", "5L36", "4L32", "3L31"], + defensecurl: ["3T"], + dig: ["6M", "5M", "4M", "3M"], + disarmingvoice: ["7L13", "6L13"], + doubleedge: ["7L40", "6L40", "5L42", "4L39", "3T", "3L39"], + doubleslap: ["7L16", "6L15", "5L15", "4L15", "3L15"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + fakeout: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + faketears: ["7E", "6E", "5E", "4E", "3E"], + feintattack: ["7L22", "6L22", "5L29", "4L25", "3L27"], + flash: ["6M", "5M", "4M", "3M"], + foresight: ["7L4", "6L4", "5L4", "5D", "4L4"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + grassknot: ["7M", "6M", "5M", "4M"], + growl: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1", "3S2"], + headbutt: ["4T"], + healbell: ["7T", "7L37", "6T", "6L37", "5T", "5L39", "4T", "4L36", "3L37"], + helpinghand: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hypervoice: ["7T", "6T", "5T"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + mimic: ["3T"], + mudbomb: ["7E", "6E", "5E", "4E"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + payday: ["3S0"], + playrough: ["7L46", "6L46"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T", "3S1"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + simplebeam: ["7E", "6E", "5E"], + sing: ["7L7", "6L7", "5L11", "4L8", "3L13"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + suckerpunch: ["7E", "6E", "5E", "4T", "4E"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tackle: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1", "3S2"], + tailwhip: ["7L1", "6L1", "5L1", "4L1", "3L3", "3S0", "3S1", "3S2"], + thunder: ["7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderwave: ["7M", "6M", "5M", "4M", "3T"], + tickle: ["7E", "6E", "5E", "5D", "4E", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], + wakeupslap: ["7L28", "6L28", "5L32", "4L29"], + waterpulse: ["7T", "6T", "4M", "3M"], + wildcharge: ["7M", "6M", "5M"], + wish: ["7E", "6E", "5E", "4E", "3E"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["cutecharm"], moves: ["tackle", "growl", "tailwhip", "payday"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 5, shiny: 1, abilities: ["cutecharm"], moves: ["growl", "tackle", "tailwhip", "rollout"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", abilities: ["cutecharm"], moves: ["growl", "tackle", "tailwhip", "attract"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 3, gender: "F", ivs: {hp: 5, atk: 4, def: 4, spa: 5, spd: 4, spe: 4}, abilities: ["cutecharm"], pokeball: "pokeball"}, + ], + }, + delcatty: { + learnset: { + attract: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1", "3S0"], + blizzard: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["3T"], + calmmind: ["7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + defensecurl: ["3T"], + dig: ["6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleslap: ["7L1", "6L1", "5L1", "4L1", "3L1"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + fakeout: ["7L1", "6L1", "5L1", "4L1"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + growl: ["3L1"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "6M", "5M", "4M", "3M"], + hypervoice: ["7T", "6T", "5T"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M", "3S0"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M", "3S0"], + sing: ["7L1", "6L1", "5L1", "4L1", "3L1"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + stompingtantrum: ["7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetkiss: ["3S0"], + swift: ["4T", "3T"], + thunder: ["7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderwave: ["7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T"], + waterpulse: ["7T", "6T", "4M", "3M"], + wildcharge: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 18, abilities: ["cutecharm"], moves: ["sweetkiss", "secretpower", "attract", "shockwave"]}, + ], + }, + sableye: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + allyswitch: ["8M", "7T"], + astonish: ["9L3", "8L3", "7L9", "6L9", "5L11", "4L11", "3L13"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M"], + calmmind: ["9M", "8M", "7M", "6M", "6S3", "5M", "4M", "3M"], + captivate: ["7E", "6E", "5E", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "8L6", "7L31", "6L31", "5L46", "4L46", "3L37"], + counter: ["3T"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + detect: ["9L18", "8L18", "7L14", "6L14", "5L22", "4L22", "3L25"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + disable: ["9L15", "8L15"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "8M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9L12", "8L12", "7L21", "6L18", "5L18", "4L18", "3L21"], + feint: ["9E", "8E", "7E", "6E", "5E", "4E"], + feintattack: ["7L19", "6L19", "5L32", "4L32", "3L29", "3S1"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flash: ["6M", "5M", "4M", "3M"], + flatter: ["9E", "8E", "7E", "6E", "5E", "4E"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foresight: ["7L4", "6L4", "5L4", "5D", "4L4", "3L5", "3S0"], + foulplay: ["9M", "9L48", "8M", "8L48", "7T", "7L41", "6T", "6L41", "5T", "5L50", "5S2"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + furyswipes: ["9L24", "8L24", "7L11", "6L11", "5L15", "4L15", "3L17"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + gyroball: ["9M", "8M"], + headbutt: ["4T"], + helpinghand: ["9M", "8M", "3S1"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "8M", "7E", "6E"], + incinerate: ["6M", "5M"], + knockoff: ["9M", "9L27", "8L27", "7T", "7L26", "6T", "6L26", "5T", "5L29", "4T", "4L29", "3L33"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + lightscreen: ["9M"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + meanlook: ["9L36", "8L36", "7L46", "7E", "6L1", "6E", "5L60", "5E", "4L57", "3L45"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metalburst: ["9E", "8E", "7E", "6E", "5E"], + metalclaw: ["9M"], + metronome: ["9M", "8M", "3T"], + mimic: ["3T"], + moonlight: ["7E", "6E", "5E", "4E", "3E"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + nastyplot: ["9M", "8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightshade: ["9M", "9L21", "8L21", "7L6", "6L6", "5L8", "4L8", "3L9", "3S0"], + octazooka: ["5S2"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + phantomforce: ["9M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poltergeist: ["9M", "8T"], + powergem: ["9M", "9L39", "8M", "8L39", "7L36", "6L36", "5L43", "4L43"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + punishment: ["7L24", "6L24", "5L36", "4L36"], + quash: ["9L30", "8L30", "7M", "7L44", "6M", "6L44"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recover: ["9E", "8E", "7E", "6E", "6S3", "6S4", "5E", "4E", "3E", "3S1"], + reflect: ["9M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "9L45", "8M", "8L45", "7M", "7L39", "6M", "6L39", "6S3", "5M", "5L57", "4M", "4L53", "3M", "3L41", "3S1"], + shadowclaw: ["9M", "9L33", "8M", "8L33", "7M", "7L29", "6M", "6L29", "5M", "5L39", "4M", "4L39"], + shadowsneak: ["9L9", "8L9", "7L16", "6L16", "5L25", "4L25"], + shockwave: ["7T", "6T", "6S4", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "5D", "4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9E", "8E", "7E", "6E", "5E", "5D", "4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "6S4", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M"], + tickle: ["5S2"], + torment: ["9E", "8E", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5S2", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + willowisp: ["9M", "8M", "7M", "6M", "6S3", "6S4", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + xscissor: ["9M"], + zenheadbutt: ["9M", "9L42", "8M", "8L42", "7T", "7L34", "6T", "6L1", "5T", "5L53", "4T", "4L50"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["keeneye"], moves: ["leer", "scratch", "foresight", "nightshade"], pokeball: "pokeball"}, + {generation: 3, level: 33, abilities: ["keeneye"], moves: ["helpinghand", "shadowball", "feintattack", "recover"]}, + {generation: 5, level: 50, gender: "M", isHidden: true, moves: ["foulplay", "octazooka", "tickle", "trick"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Relaxed", ivs: {hp: 31, spa: 31}, isHidden: true, moves: ["calmmind", "willowisp", "recover", "shadowball"], pokeball: "cherishball"}, + {generation: 6, level: 100, nature: "Bold", isHidden: true, moves: ["willowisp", "recover", "taunt", "shockwave"], pokeball: "cherishball"}, + ], + }, + mawile: { + learnset: { + ancientpower: ["8E", "7E", "6E", "5E", "4T", "4E", "3E"], + assurance: ["8M"], + astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "8L8", "7L25", "6L25", "5L31", "4L31", "3L31"], + bite: ["8L12", "7L9", "6L9", "5L11", "4L11", "3L11"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M"], + captivate: ["7E", "6E", "5E", "4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["8M", "8L28", "7L29", "6L29", "5L36", "4L36", "3L36"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainingkiss: ["8M"], + dynamicpunch: ["3T"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fairywind: ["8L4", "7L1", "6L1"], + faketears: ["8M", "8L44", "7L5", "6L5", "5L6", "5D", "4L6", "3L6", "3S0"], + falseswipe: ["8M", "7M", "6M", "5M", "4E", "3E", "3S1"], + feintattack: ["7L21", "6L21", "5L26", "4L26", "3L26"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["8M", "7E", "6E", "6S2", "5E", "5D", "4E"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "6L1"], + guardswap: ["8M", "7E", "6E", "5E", "4E"], + headbutt: ["4T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["8M", "7E", "6E", "5E", "4E"], + icepunch: ["8M", "7T", "6T", "5T", "5D", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irondefense: ["8M", "8L24", "7T", "7L33", "6T", "6L33", "5T", "5L41", "4T", "4L41", "3L41", "3S1"], + ironhead: ["8M", "8L36", "7T", "7L1", "6T", "6L1", "6S2", "6S3", "5T", "5L56", "4T", "4L56"], + knockoff: ["7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metalburst: ["7E", "6E", "5E"], + mimic: ["3T"], + mistyterrain: ["8M", "7E", "6E"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + playrough: ["8M", "8L48", "7L1", "6L1", "6S2", "6S3"], + poisonfang: ["7E", "6E", "5E", "4E", "3E"], + poweruppunch: ["8E", "7E", "6M"], + protect: ["8M", "7M", "6M", "6S3", "5M", "4M", "3M"], + psychicfangs: ["8M"], + psychup: ["7M", "6M", "5M", "4E", "3T", "3E"], + punishment: ["7E", "6E", "5E", "4E"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["8E", "7E", "6E", "3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + sing: ["3S1"], + slam: ["8E", "7E", "6E", "5E"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spitup: ["8L16", "7L41", "6L41", "5L51", "4L51", "3L46"], + stealthrock: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + stockpile: ["8L16", "7L41", "6L41", "5L51", "4L51", "3L46"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["8L20", "7L37", "7E", "6L37", "6E", "6S2", "6S3", "5L46", "5E", "4T", "4L46", "4E"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superfang: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["8L16", "7L41", "6L41", "5L51", "4L51", "3L46"], + sweetscent: ["8L32", "7L13", "6L13", "5L16", "4L16", "3L16"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + taunt: ["8M", "8L40", "7M", "7L1", "6M", "6L1", "5M", "4M", "3M"], + thunderfang: ["8M", "7E", "6E", "5E", "4E"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + tickle: ["8E", "7E", "6E", "5E", "4E", "3E"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + visegrip: ["7L17", "6L17", "5L21", "4L21", "3L21", "3S1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["astonish", "faketears"], pokeball: "pokeball"}, + {generation: 3, level: 22, moves: ["sing", "falseswipe", "visegrip", "irondefense"]}, + {generation: 6, level: 50, abilities: ["intimidate"], moves: ["ironhead", "playrough", "firefang", "suckerpunch"], pokeball: "cherishball"}, + {generation: 6, level: 100, abilities: ["intimidate"], moves: ["suckerpunch", "protect", "playrough", "ironhead"], pokeball: "cherishball"}, + ], + }, + aron: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + autotomize: ["8L40", "7L43", "6L39", "5L43"], + bodypress: ["8M"], + bodyslam: ["8M", "7E", "6E", "5E", "4E", "3T", "3E"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "6E", "5E", "4E"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["8L56", "7L40", "6L40", "5L50", "4L43", "3T", "3L44"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragonrush: ["8E", "7E", "6E", "5E", "4E"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + harden: ["8L1", "7L1", "6L1", "5L4", "5D", "4L4", "3L4"], + headbutt: ["8L16", "7L7", "6L7", "5L11", "4T", "4L11", "3L10"], + headsmash: ["8E", "7E", "6E", "5E", "5D", "4E"], + heavyslam: ["8M", "8L52", "7L46", "6L43", "5L46"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + irondefense: ["8M", "8L48", "7T", "7L37", "6T", "6L15", "5T", "5L18", "4T", "4L18", "3L17"], + ironhead: ["8M", "8L28", "7T", "7L22", "7E", "6T", "6L22", "6E", "5T", "5L29", "5E", "4T", "4L29", "4E"], + irontail: ["8M", "8L44", "7T", "7L34", "6T", "6L34", "5T", "5L39", "4M", "4L39", "3M", "3L29"], + magnetrise: ["7T", "6T", "5T", "4T"], + metalburst: ["8L60", "7L49", "6L49", "5L53", "4L46"], + metalclaw: ["8L4", "7L10", "6L10", "5L15", "4L15", "3L13"], + metalsound: ["8L33", "7L31", "6L31", "5L36", "4L36", "3L39"], + mimic: ["3T"], + mudslap: ["8E", "7L4", "6L4", "5L8", "4T", "4L8", "3T", "3L7"], + naturalgift: ["4M"], + protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L32", "4M", "4L32", "3M", "3L34"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["8M", "7E", "6E"], + roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L22", "4M", "4L22", "3M", "3L21"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "8L8", "7M", "7L13", "6M", "6L13", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + screech: ["8M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stomp: ["8E", "7E", "6E", "5E", "4E", "3E"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L36", "7L28", "6L22", "5L25", "4L25", "3L25"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + }, + }, + lairon: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + autotomize: ["8L46", "7L47", "6L45", "5L51"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["8L70", "7L43", "6L43", "5L62", "4L51", "3T", "3L53"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8L16", "7L1", "6L1", "5L1", "4T", "4L1", "3L1"], + heavyslam: ["8M", "8L64", "7L51", "6L51", "5L56"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + irondefense: ["8M", "8L58", "7T", "7L39", "6T", "6L15", "5T", "5L18", "4T", "4L18", "3L17"], + ironhead: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "5T", "5L29", "4T", "4L29"], + irontail: ["8M", "8L52", "7T", "7L35", "6T", "6L35", "5T", "5L45", "4M", "4L45", "3M", "3L29"], + magnetrise: ["7T", "6T", "5T", "4T"], + metalburst: ["8L76", "7L55", "6L55", "5L67", "4L56"], + metalclaw: ["8L1", "7L10", "6L10", "5L15", "4L15", "3L13"], + metalsound: ["8L35", "7L31", "6L31", "5L40", "4L40", "3L45"], + mimic: ["3T"], + mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + naturalgift: ["4M"], + protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L34", "4M", "4L34", "3M", "3L37"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["8M"], + roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L22", "4M", "4L22", "3M", "3L21"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "8L1", "7M", "7L13", "6M", "6L13", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L40", "7L28", "6L22", "5L25", "4L25", "3L25"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + }, + }, + aggron: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + autotomize: ["8L48", "7L51", "6L48", "5L57"], + avalanche: ["8M", "4M"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["8M"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["8L80", "7L45", "6L45", "5L74", "4L57", "3T", "3L63", "3S0"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], + dragonpulse: ["8M", "7T", "6T", "5T", "4M"], + dragontail: ["7M", "6M", "5M"], + dynamicpunch: ["3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "6S2", "5M", "4M", "3M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["8L16", "7L1", "6L1", "5L1", "4T", "4L1", "3L1"], + headsmash: ["6S2"], + heavyslam: ["8M", "8L72", "7L57", "6L57", "5L65"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["8M"], + honeclaws: ["6M", "5M"], + hydropump: ["8M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irondefense: ["8M", "8L64", "7T", "7L39", "6T", "6L15", "5T", "5L18", "4T", "4L18", "3L17"], + ironhead: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "6S2", "5T", "5L29", "4T", "4L29"], + irontail: ["8M", "8L56", "7T", "7L35", "6T", "6L35", "5T", "5L48", "4M", "4L48", "3M", "3L29", "3S0", "3S1"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metalburst: ["8L88", "7L63", "6L63", "5L82", "4L65"], + metalclaw: ["8L1", "7L10", "6L10", "5L15", "4L15", "3L13"], + metalsound: ["8L35", "7L31", "6L31", "5L40", "4L40", "3L50", "3S0", "3S1"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudslap: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + naturalgift: ["4M"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L34", "4M", "4L34", "3M", "3L37", "3S0", "3S1"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["8M"], + roar: ["8L12", "7M", "7L19", "6M", "6L18", "5M", "5L22", "4M", "4L22", "3M", "3L21"], + rockblast: ["8M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8L24", "7M", "7L25", "6M", "6L25", "6S2", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "8L1", "7M", "7L13", "6M", "6L13", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + scaryface: ["8M"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L40", "7L28", "6L22", "5L25", "4L25", "3L25", "3S1"], + taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["irontail", "protect", "metalsound", "doubleedge"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["takedown", "irontail", "protect", "metalsound"], pokeball: "pokeball"}, + {generation: 6, level: 50, nature: "Brave", abilities: ["rockhead"], moves: ["ironhead", "earthquake", "headsmash", "rockslide"], pokeball: "cherishball"}, + ], + }, + meditite: { + learnset: { + acupressure: ["9L33", "7L33", "6L33", "5L39"], + aerialace: ["9M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + bide: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulletpunch: ["9E", "7E", "6E", "5E", "4E"], + calmmind: ["9M", "9L23", "7M", "7L23", "6M", "6L23", "5M", "5L25", "4M", "4L25", "3M", "3L28"], + captivate: ["4M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + confusion: ["9L1", "7L7", "6L7", "5L8", "4L8", "3L9", "3S0", "3S1"], + counter: ["9L44", "7L44", "6L44", "3T"], + detect: ["9L9", "7L9", "6L9", "5L11", "4L11", "3L12", "3S1"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["9E", "7E", "6E", "5E", "4E", "3T", "3E", "3S1"], + endure: ["9M", "9L12", "7L12", "6L12", "5D", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fakeout: ["9E", "7E", "6E", "5E", "4E", "3E"], + feint: ["9L15", "7L15", "6L15", "5L22", "4L22"], + firepunch: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + forcepalm: ["9L17", "7L17", "6L17", "5L29", "4L29"], + foresight: ["7E", "6E", "5E", "4E", "3E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + guardswap: ["9E", "7E", "6E", "5E", "4E"], + headbutt: ["4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7L20", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3M", "3L17"], + highjumpkick: ["9L28", "7L28", "6L28", "5L32", "4L32", "3L32"], + icepunch: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + imprison: ["9M"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + meditate: ["7L4", "6L4", "5L4", "5D", "4L4", "3L4", "3S0"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mindreader: ["7L25", "6L18", "5L18", "4L18", "3L22"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightshade: ["9M"], + painsplit: ["7T", "6T", "5T", "4T"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + powerswap: ["9E", "7E", "6E", "5E", "4E"], + powertrick: ["9L36", "7L36", "6L36", "5L43", "4L39"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L20"], + psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychicterrain: ["9M"], + psychocut: ["9E", "7E", "6E", "5E", "4E"], + psychup: ["9L31", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L36", "3T", "3L36"], + psyshock: ["9M", "7M", "6M", "5M"], + quickguard: ["9E", "7E", "6E"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + recover: ["9L41", "7L41", "6L41", "5L50", "4L46", "3L44"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["9M", "9L39", "7L39", "6L39", "5L46", "4L43", "3L41"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + secretpower: ["7E", "6M", "6E", "5E", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M", "3S1"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + storedpower: ["9M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T", "3L20"], + swift: ["9M", "4T", "3T"], + takedown: ["9M"], + taunt: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M"], + vacuumwave: ["4T"], + workup: ["9L1", "7M", "5M"], + zenheadbutt: ["9M", "9L25", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["bide", "meditate", "confusion"], pokeball: "pokeball"}, + {generation: 3, level: 20, moves: ["dynamicpunch", "confusion", "shadowball", "detect"], pokeball: "pokeball"}, + ], + }, + medicham: { + learnset: { + acupressure: ["9L33", "7L33", "6L33", "5L42"], + aerialace: ["9M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + aurasphere: ["9M"], + axekick: ["9L53"], + batonpass: ["9M"], + bide: ["7L1", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bulkup: ["9M", "7M", "6M", "5M", "4M", "3M"], + calmmind: ["9M", "9L23", "7M", "7L23", "6M", "6L23", "5M", "5L25", "4M", "4L25", "3M", "3L28"], + captivate: ["4M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + confusion: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + counter: ["9L53", "7L53", "6L53", "3T"], + detect: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + endure: ["9M", "9L12", "7L12", "6L12", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9L15", "7L15", "6L15", "5L22", "4L22"], + firepunch: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + forcepalm: ["9L17", "7L17", "6L17", "5L29", "4L29"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7L20", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3M", "3L17"], + highjumpkick: ["9L28", "7L28", "6L28", "5L32", "4L32", "3L32"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], + imprison: ["9M"], + laserfocus: ["7T"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + meditate: ["7L1", "6L1", "5L1", "4L1", "3L1"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mindreader: ["7L25", "6L18", "5L18", "4L18", "3L22"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightshade: ["9M"], + painsplit: ["7T", "6T", "5T", "4T"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + powertrick: ["9L36", "7L36", "6L36", "5L49", "4L42"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L20"], + psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychicterrain: ["9M"], + psychup: ["9L31", "7M", "7L31", "6M", "6L31", "5M", "5L36", "4M", "4L36", "3T", "3L36"], + psyshock: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + recover: ["9L47", "7L47", "6L47", "5L62", "4L55", "3L54"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["9M", "7L42", "6L42", "5L55", "4L49", "3L46"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + storedpower: ["9M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T", "3L20"], + swift: ["9M", "4T", "3T"], + takedown: ["9M"], + taunt: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T", "3L1"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M"], + vacuumwave: ["9M", "4T"], + workup: ["9L1", "7M", "5M"], + zenheadbutt: ["9M", "9L25", "7T", "7L1", "6T", "6L1", "5T", "4T"], + }, + encounters: [ + {generation: 4, level: 35}, + {generation: 6, level: 34, maxEggMoves: 1}, + ], + }, + electrike: { + learnset: { + agility: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bite: ["8L20", "7L24", "6L24", "5L28", "4L28", "3L33"], + bodyslam: ["8M", "3T"], + captivate: ["4M"], + charge: ["8L36", "7L44", "6L44", "5L44", "4L44", "3L41"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + crunch: ["8M", "7E", "6E", "5E", "4E", "3E"], + curse: ["8E", "7E", "6E", "5E", "4E", "3E"], + discharge: ["8L32", "7L29", "7E", "6L29", "6E", "5L41", "5E", "4L41", "4E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + eerieimpulse: ["8M", "7E", "6E"], + electroball: ["8M", "7E", "6E", "5E"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["8M", "7E", "6E", "5E", "4E"], + flameburst: ["7E", "6E", "5E"], + flamethrower: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + headbutt: ["8E", "7E", "6E", "5E", "4T", "4E", "3E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + howl: ["8L8", "7L7", "6L7", "5L12", "4L12", "3L12"], + icefang: ["8M", "7E", "6E", "5E", "5D", "4E"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + leer: ["8L4", "7L4", "6L4", "5L9", "4L9", "3L9"], + lightscreen: ["8M", "7M", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + odorsleuth: ["7L16", "6L16", "5L25", "4L25", "3L25"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychicfangs: ["8M"], + quickattack: ["8L12", "7L10", "6L10", "5L17", "4L17", "3L17"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + roar: ["8L28", "7M", "7L34", "6M", "6L34", "5M", "5L36", "4M", "4L36", "3M", "3L28"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["8L16", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "5D", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spark: ["8E", "7L13", "6L13", "5L20", "4L20", "3L20"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "7E", "6E", "5E", "4T", "4E", "3T", "3E"], + switcheroo: ["8E", "7E", "6E", "5E", "4E"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8L44", "7M", "7L49", "6M", "6L49", "5M", "5L52", "4M", "4L49", "3M", "3L36"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderfang: ["8M", "8L24", "7L19", "7E", "6L19", "6E", "5L33", "5E", "4L33", "4E"], + thunderwave: ["8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L4", "5D", "4M", "4L4", "3T", "3L4"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L49"], + }, + }, + manectric: { + learnset: { + agility: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bite: ["8L20", "7L24", "6L24", "5L30", "4L30", "3L39", "3S0"], + bodyslam: ["8M", "3T"], + captivate: ["4M"], + charge: ["8L42", "7L48", "6L48", "5L54", "4L54", "3L53"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + crunch: ["8M"], + discharge: ["8L36", "7L30", "6L30", "5L49", "4L49"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + eerieimpulse: ["8M"], + electricterrain: ["8M", "8L60", "7L1", "6L1"], + electroball: ["8M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + flamethrower: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + howl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["8M"], + icefang: ["8M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + odorsleuth: ["7L16", "6L16", "5L25", "4L25", "3L25"], + overheat: ["8M", "7M", "6M", "6S1", "5M", "4M"], + protect: ["8M", "7M", "6M", "6S1", "5M", "4M", "3M"], + psychicfangs: ["8M"], + quickattack: ["8L12", "7L10", "6L10", "5L17", "4L17", "3L17"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M", "3S0"], + refresh: ["3S0"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + risingvoltage: ["8T"], + roar: ["8L30", "7M", "7L36", "6M", "6L36", "5M", "5L42", "4M", "4L42", "3M", "3L31"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M"], + secretpower: ["6M", "4M", "3M"], + shockwave: ["8L16", "7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spark: ["7L13", "6L13", "5L20", "4L20", "3L20"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["8M", "8L54", "7M", "7L54", "6M", "6L54", "5M", "5L66", "4M", "4L61", "3M", "3L45", "3S0"], + thunderbolt: ["8M", "7M", "6M", "6S1", "5M", "4M", "3M"], + thunderfang: ["8M", "8L24", "7L19", "6L19", "5L37", "4L37"], + thunderwave: ["8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T"], + voltswitch: ["8M", "7M", "6M", "6S1", "5M"], + wildcharge: ["8M", "8L48", "7M", "7L42", "6M", "6L42", "5M", "5L61"], + }, + eventData: [ + {generation: 3, level: 44, moves: ["refresh", "thunder", "raindance", "bite"]}, + {generation: 6, level: 50, nature: "Timid", abilities: ["lightningrod"], moves: ["overheat", "thunderbolt", "voltswitch", "protect"], pokeball: "cherishball"}, + ], + }, + plusle: { + learnset: { + agility: ["7L37", "6L37", "5L48", "4L44", "3L47"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["7L34", "6L34", "5L44", "4L42", "3L40"], + bestow: ["7L13", "6L13"], + bodyslam: ["3T"], + captivate: ["4M"], + charge: ["7L28", "6L28", "5L38", "4L35", "3L31"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["7L25", "7E", "6L25"], + confide: ["7M", "6M"], + copycat: ["7L22", "6L22", "5L24", "4L24"], + counter: ["3T"], + covet: ["7T"], + defensecurl: ["3T"], + discharge: ["7L31", "7E", "6L31", "6E", "5E", "5D", "4E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + echoedvoice: ["7M", "6M", "5M"], + electroball: ["7L19", "6L19", "5L29"], + electroweb: ["7T", "6T"], + encore: ["7L10", "6L10", "5L17", "4L17", "3L22"], + endure: ["4M", "3T"], + entrainment: ["7L49", "6L1", "5L63"], + facade: ["7M", "6M", "5M", "4M", "3M"], + faketears: ["7E", "6L35", "5L21", "4L21", "3L28"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + grassknot: ["7M", "6M", "5M", "4M"], + growl: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + headbutt: ["4T"], + helpinghand: ["7T", "7L4", "6T", "6L4", "5T", "5L10", "4T", "4L10", "3L13"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "7L40", "6T", "6L40", "5T", "5L51", "4T", "4L48"], + lightscreen: ["7M", "6M", "5M", "4M", "3M"], + luckychant: ["7E", "6E", "5E"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + nastyplot: ["7L46", "6L1", "5L56", "4L51"], + naturalgift: ["4M"], + nuzzle: ["7L1", "6L1"], + playnice: ["7L1", "6L1"], + protect: ["7M", "6M", "5M", "4M", "3M"], + quickattack: ["7L1", "6L1", "5L7", "4L7", "3L10", "3S1"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "5D", "4T"], + sing: ["7E", "6E", "5E", "4E"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spark: ["7L7", "6L7", "5L15", "4L15", "3L19"], + substitute: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetkiss: ["7E", "6E", "5E", "4E"], + swift: ["7L16", "6L16", "5L31", "4T", "4L29", "3T"], + tearfullook: ["7E"], + thunder: ["7M", "7L43", "6M", "6L42", "5M", "5L42", "4M", "4L38", "3M", "3L37"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["7T", "6T", "5T", "4T", "3T"], + thunderwave: ["7M", "7L1", "6M", "6L1", "5M", "5L3", "5D", "4M", "4L3", "3T", "3L4", "3S0", "3S1"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["7T", "6T", "5T", "4T"], + voltswitch: ["7M", "6M", "5M"], + watersport: ["3S0"], + wildcharge: ["7M", "6M", "5M"], + wish: ["7E", "6E", "5E", "4E", "3E"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["growl", "thunderwave", "watersport"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", moves: ["growl", "thunderwave", "quickattack"], pokeball: "pokeball"}, + ], + }, + minun: { + learnset: { + agility: ["7L37", "6L37", "5L48", "4L44", "3L47"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["7L34", "6L34", "5L44", "4L42", "3L40"], + bodyslam: ["3T"], + captivate: ["4M"], + charge: ["7L28", "6L28", "5L38", "4L35", "3L31"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["7E", "6L21", "5L21", "4L21", "3L28"], + confide: ["7M", "6M"], + copycat: ["7L22", "6L22", "5L24", "4L24"], + counter: ["3T"], + covet: ["7T"], + defensecurl: ["3T"], + discharge: ["7L31", "7E", "6L31", "6E", "5E", "5D", "4E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + echoedvoice: ["7M", "6M", "5M"], + electroball: ["7L19", "6L19", "5L29"], + electroweb: ["7T", "6T"], + encore: ["7L10", "6L10", "5L17", "4L17", "3L22"], + endure: ["4M", "3T"], + entrainment: ["7L49", "6L1", "5L63"], + facade: ["7M", "6M", "5M", "4M", "3M"], + faketears: ["7L25", "7E", "6L25", "5L35", "4L31"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + grassknot: ["7M", "6M", "5M", "4M"], + growl: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + headbutt: ["4T"], + helpinghand: ["7T", "7L4", "6T", "6L4", "5T", "5L10", "4T", "4L10", "3L13"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["7M", "6M", "5M", "4M", "3M"], + luckychant: ["7E", "6E", "5E"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + mudsport: ["3S0"], + nastyplot: ["7L46", "6L1", "5L56", "4L51"], + naturalgift: ["4M"], + nuzzle: ["7L1", "6L1"], + playnice: ["7L1", "6L1"], + protect: ["7M", "6M", "5M", "4M", "3M"], + quickattack: ["7L1", "6L1", "5L7", "4L7", "3L10", "3S1"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "5D", "4T"], + sing: ["7E", "6E", "5E", "4E"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spark: ["7L7", "6L7", "5L15", "4L15", "3L19"], + substitute: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetkiss: ["7E", "6E", "5E", "4E"], + swift: ["7L16", "6L16", "5L31", "4T", "4L29", "3T"], + switcheroo: ["7L13", "6L13"], + tearfullook: ["7E"], + thunder: ["7M", "7L43", "6M", "6L42", "5M", "5L42", "4M", "4L38", "3M", "3L37"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["7T", "6T", "5T", "4T", "3T"], + thunderwave: ["7M", "7L1", "6M", "6L1", "5M", "5L3", "5D", "4M", "4L3", "3T", "3L4", "3S0", "3S1"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trumpcard: ["7L40", "6L40", "5L51", "4L48"], + uproar: ["7T", "6T", "5T", "4T"], + voltswitch: ["7M", "6M", "5M"], + wildcharge: ["7M", "6M", "5M"], + wish: ["7E", "6E", "5E", "4E", "3E"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["growl", "thunderwave", "mudsport"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", moves: ["growl", "thunderwave", "quickattack"], pokeball: "pokeball"}, + ], + }, + volbeat: { + learnset: { + acrobatics: ["9M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "7E", "6E", "5E", "4E", "3E"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L36", "7L40", "7E", "6L40", "6E", "5L41", "5E", "4L41", "4E"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L8", "7L8", "6L8", "5L9", "4L9", "3L5"], + counter: ["9E", "3T"], + dazzlinggleam: ["9M", "7M", "6M"], + defog: ["7T"], + dizzypunch: ["7E", "6E", "5E"], + doubleedge: ["9L43", "7L47", "6L45", "5L45", "4L45", "3T", "3L37"], + doubleteam: ["9L5", "7M", "7L5", "6M", "6L5", "5M", "5L5", "4M", "4L5", "3M", "3L9"], + dynamicpunch: ["3T"], + encore: ["9M", "7E", "6E", "5E", "4E"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["7L1", "6M", "6L1", "5M", "5L1", "5D", "4M", "4L1", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + helpinghand: ["9M", "9L33", "7T", "7L36", "6T", "6L33", "5T", "5L33", "4T", "4L33", "3L33"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + infestation: ["9L47", "7M", "7L50"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lunge: ["9M", "7E"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + moonlight: ["9L19", "7L19", "6L13", "5L13", "4L13", "3L13"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + playrough: ["9M", "9L40", "7L43", "6L43"], + pounce: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "9L26", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L29", "3M", "3L29"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + quickattack: ["9L12", "7L12", "6L12", "5L17", "4L17", "3L17"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["9E", "7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["9E", "7E", "6E", "5E", "3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "7L26", "6T", "6L25", "5T", "5L25", "4T", "4L25", "3L25"], + silverwind: ["7E", "6E", "5E", "4M", "4E", "3E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "9L15", "7L15", "6M", "6L15", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["9E", "7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "4T", "3T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + tailglow: ["9L22", "7L22", "6L21", "5L21", "4L21", "3L21"], + tailwind: ["9M", "7T", "6T", "5T", "5D", "4T"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4E", "3E"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + zenheadbutt: ["9M", "9L29", "7T", "7L33", "6T", "6L33", "5T", "5L37", "4T", "4L37"], + }, + }, + illumise: { + learnset: { + acrobatics: ["9M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + aromatherapy: ["7E"], + attract: ["9E", "7M", "6M", "5M", "4M", "3M"], + batonpass: ["9M", "7E", "6E", "5E", "4E", "3E"], + bodyslam: ["3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L40", "7L40", "7E", "6L40", "6E", "5L41", "5E", "4L41", "4E"], + captivate: ["7E", "6E", "5E", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L9", "7L9", "6L9", "5L9", "5D", "4L9", "3L9"], + confide: ["7M", "6M"], + confuseray: ["9M", "7E", "6E", "5E"], + counter: ["3T"], + covet: ["7T", "7L47", "6T", "6L45", "5T", "5L45", "4L45", "3L37"], + dazzlinggleam: ["9M", "7M", "6M"], + defog: ["7T"], + disarmingvoice: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M"], + dynamicpunch: ["3T"], + encore: ["9M", "9L26", "7L26", "7E", "6L25", "6E", "5L25", "5E", "4L25", "4E", "3L25"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "7E", "6E", "5E", "5D"], + flash: ["6M", "5M", "4M", "3M"], + flatter: ["9L29", "7L29", "6L29", "5L29", "4L29", "3L29"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + growth: ["9E", "7E", "6E", "5E", "4E", "3E"], + helpinghand: ["9M", "9L36", "7T", "7L36", "6T", "6L33", "5T", "5L33", "4T", "4L33", "3L33"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + infestation: ["9L47", "7M", "7L50"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + moonlight: ["9L19", "7L19", "6L13", "5L13", "4L13", "3L13"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + playnice: ["9L1", "7L1", "6L1"], + playrough: ["9M", "9L43", "7L43", "6L43"], + pounce: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + quickattack: ["9L12", "7L12", "6L12", "5L17", "4L17", "3L17"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["9E", "7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + silverwind: ["7E", "6E", "5E", "4M", "4E", "3E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["9M", "9L15", "7L15", "6M", "6L15", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetscent: ["9L5", "7L5", "6L5", "5L5", "4L5", "3L5"], + swift: ["9M", "4T", "3T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["9M", "7T", "6T", "5T", "5D", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wish: ["9L22", "7L22", "6L21", "5L21", "4L21", "3L21"], + zenheadbutt: ["9M", "9L33", "7T", "7L33", "6T", "6L33", "5T", "5L37", "4T", "4L37"], + }, + }, + budew: { + learnset: { + absorb: ["8L1", "7L1", "6L1", "5L1", "4L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bulletseed: ["8M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cottonspore: ["8E", "7E", "6E", "5E", "4E"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["8M", "4M"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + extrasensory: ["8E", "7E", "6E", "5E", "4E"], + facade: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7E", "6E", "5E"], + grassyglide: ["8T"], + growth: ["8L1", "7L4", "6L4", "5L4", "4L4"], + hiddenpower: ["7M", "6M", "5M", "4M"], + leafstorm: ["8M", "7E", "6E", "5E", "4E"], + lifedew: ["8E"], + megadrain: ["7L13", "6L13", "5L13", "4L13"], + mindreader: ["7E", "6E", "5E", "4E"], + mudslap: ["4T"], + naturalgift: ["7E", "6E", "5E", "4M"], + naturepower: ["7M", "6M"], + pinmissile: ["8M", "7E", "6E", "5E", "4E"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + razorleaf: ["8E", "7E", "6E", "5E", "4E"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + seedbomb: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + sleeppowder: ["8E", "7E", "6E", "5E", "4E"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + spikes: ["8M", "7E", "6E", "5E", "4E"], + stunspore: ["8L1", "7L10", "6L10", "5L10", "4L10"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["8M", "4T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + venoshock: ["8M", "7M", "6M", "5M"], + watersport: ["7L7", "6L7", "5L7", "4L7"], + weatherball: ["8M"], + worryseed: ["8L1", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T", "4L16"], + }, + }, + roselia: { + learnset: { + absorb: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + aromatherapy: ["8L50", "7L43", "6L43", "5L43", "4L43", "3L53"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + bulletseed: ["8M", "7E", "6E", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cottonspore: ["8E", "7E", "6E", "5E", "4E", "3E"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M", "3M"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + extrasensory: ["8E"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["8M", "8L30", "7T", "7L25", "7E", "6T", "6L25", "6E", "5T", "5L25", "5E", "4M", "4L25", "3M", "3L33"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7L22", "7E", "6L22", "6E", "5L22", "5E", "4L22", "3L29", "3S1"], + grassyglide: ["8T"], + growth: ["8L1", "7L4", "6L4", "5L4", "5D", "4L4", "3L5", "3S0"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + ingrain: ["8L55", "7L34", "6L34", "5L34", "4L34", "3L41"], + leafstorm: ["8M", "7E", "6E", "5E", "4E"], + leechseed: ["8L10", "7L16", "6L16", "5L16", "4L16", "3L21", "3S1"], + lifedew: ["8E"], + magicalleaf: ["8M", "8L15", "7L19", "6L19", "5L19", "4L19", "3L25", "3S1"], + megadrain: ["8L5", "7L13", "6L13", "5L13", "4L13", "3L17"], + mimic: ["3T"], + mindreader: ["7E", "6E", "5E", "4E"], + mudslap: ["4T", "3T"], + naturalgift: ["7E", "6E", "5E", "4M"], + naturepower: ["7M", "6M"], + nightmare: ["3T"], + petalblizzard: ["8L45", "7L37", "6L37"], + petaldance: ["8L60", "7L50", "6L37", "5L40", "4L40", "3L49"], + pinmissile: ["8M", "7E", "6E", "5E", "4E", "3E"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poisonsting: ["8L0", "7L7", "6L7", "5L7", "4L7", "3L9", "3S0"], + powerwhip: ["8M", "7E"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + razorleaf: ["8E", "7E", "6E", "5E", "4E"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + sleeppowder: ["8E", "7E", "6E", "5E", "5D", "4E"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spikes: ["8M", "7E", "6E", "5E", "4E", "3E"], + stunspore: ["8L1", "7L10", "6L10", "5L10", "4L10", "3L13"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetkiss: ["3S1"], + sweetscent: ["8L25", "7L31", "6L31", "5L31", "4L31", "3L37"], + swift: ["8M", "5D", "4T", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["8L35", "7T", "7L46", "7E", "6T", "6L46", "6E", "5T", "5L46", "5E", "4T", "4L46", "4E", "3L57", "3E"], + toxic: ["8L40", "7M", "7L40", "6M", "6L40", "5M", "5L37", "4M", "4L37", "3M", "3L45"], + toxicspikes: ["8M", "8L20", "7L28", "6L28", "5L28", "4L28"], + uproar: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + weatherball: ["8M"], + worryseed: ["8L1", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["absorb", "growth", "poisonsting"], pokeball: "pokeball"}, + {generation: 3, level: 22, moves: ["sweetkiss", "magicalleaf", "leechseed", "grasswhistle"]}, + ], + }, + roserade: { + learnset: { + absorb: ["8L1"], + aromatherapy: ["8L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bodyslam: ["8M"], + bulletseed: ["8M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["8M", "4M"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigadrain: ["8M", "8L1", "7T", "6T", "5T", "4M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L1", "7L1", "6L1"], + growth: ["8L1"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + ingrain: ["8L1"], + laserfocus: ["7T"], + leafstorm: ["8M"], + leechseed: ["8L1"], + magicalleaf: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + megadrain: ["8L1", "7L1", "6L1", "5L1", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + petalblizzard: ["8L1"], + petaldance: ["8L1"], + pinmissile: ["8M"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poisonsting: ["8L1", "7L1", "6L1", "5L1", "4L1"], + powerwhip: ["8M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + spikes: ["8M"], + stunspore: ["8L1"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + sweetscent: ["8L1", "7L1", "6L1", "5L1", "4L1"], + swift: ["8M", "4T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["8L1", "7T", "6T", "5T", "4T"], + toxic: ["8L1", "7M", "6M", "5M", "4M"], + toxicspikes: ["8M", "8L1"], + uproar: ["8M"], + venomdrench: ["8M", "8L1", "7L1", "6L1"], + venoshock: ["8M", "7M", "6M", "5M"], + weatherball: ["8M", "7L1", "6L1", "5L1", "4L1"], + worryseed: ["8L1", "7T", "6T", "5T", "4T"], + }, + }, + gulpin: { + learnset: { + acidarmor: ["9E", "7E", "6E", "5E", "5D", "4E", "3E"], + acidspray: ["9M", "9L17", "7L17", "6L17", "5L34"], + amnesia: ["9M", "9L12", "7L12", "6L12", "5L17", "4L17", "3L17"], + attract: ["7M", "6M", "5M", "4M", "3M"], + belch: ["9L41", "7L41", "6L40"], + bodyslam: ["9M", "3T"], + bulletseed: ["9M", "4M", "3M"], + captivate: ["4M"], + clearsmog: ["9E"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["9E", "7E", "6E", "5E", "4E"], + defensecurl: ["3T"], + destinybond: ["9E", "7E", "6E", "5E", "4E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + dynamicpunch: ["3T"], + encore: ["9M", "9L20", "7L20", "6L20", "5L23", "4L23", "3L23"], + endure: ["9M", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + fling: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gastroacid: ["9L36", "7T", "7L36", "6T", "6L36", "5T", "5L49", "4T", "4L44"], + gigadrain: ["9M", "7T", "6T", "5T", "5D", "4M", "3M"], + gunkshot: ["9M", "9L49", "7T", "7L49", "7E", "6T", "6L49", "6E", "5T", "5L59", "5E", "4T", "4L54"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "9E", "7E", "6E", "5E", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + painsplit: ["9L44", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + poisongas: ["9L8", "7L8", "6L8", "5L9", "5D", "4L9", "3L9"], + poisonjab: ["9M"], + pound: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + selfdestruct: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M", "3S0"], + sing: ["3S0"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + sludge: ["9L10", "7L10", "6L10", "5L14", "4L14", "3L14", "3S0"], + sludgebomb: ["9M", "9L33", "7M", "7L33", "6M", "6L33", "5M", "5L44", "4M", "4L39", "3M", "3L39"], + sludgewave: ["7M", "6M", "5M"], + smog: ["9E", "7E", "6E", "5E", "4E", "3E"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spitup: ["9L28", "7L28", "6L28", "5L39", "4L34", "3L34"], + stockpile: ["9L28", "7L28", "6L28", "5L39", "4L34", "3L34"], + strength: ["6M", "5M", "4M", "3M"], + stuffcheeks: ["9E"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["9L28", "7L28", "6L28", "5L39", "4L34", "3L34"], + swordsdance: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M"], + toxic: ["9M", "9L25", "7M", "7L25", "6M", "6L25", "5M", "5L28", "4M", "4L28", "3M", "3L28", "3S0"], + toxicspikes: ["9M"], + venomdrench: ["7E", "6E"], + venoshock: ["9M", "7M", "6M", "5M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wringout: ["7L44", "6L44", "5L54", "4L49"], + yawn: ["9L5", "7L5", "6L5", "5L6", "4L6", "3L6"], + }, + eventData: [ + {generation: 3, level: 17, moves: ["sing", "shockwave", "sludge", "toxic"]}, + ], + }, + swalot: { + learnset: { + acidspray: ["9M", "9L17", "7L17", "6L17", "5L38"], + amnesia: ["9M", "9L12", "7L12", "6L12", "5L17", "4L17", "3L17"], + attract: ["7M", "6M", "5M", "4M", "3M"], + belch: ["9L49", "7L49", "6L46"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M", "9L0", "7L1", "6L26", "5L26", "4L26", "3T", "3L26"], + brickbreak: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], + bulletseed: ["9M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["3T"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + encore: ["9M", "9L20", "7L20", "6L20", "5L23", "4L23", "3L23"], + endure: ["9M", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + fling: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gastroacid: ["9L42", "7T", "7L42", "6T", "6L42", "5T", "5L59", "4T", "4L52"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L73", "4T", "4L66"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + knockoff: ["9M"], + metronome: ["9M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + painsplit: ["7T", "6T", "5T", "4T"], + poisongas: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + poisonjab: ["9M"], + pound: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + selfdestruct: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + sludge: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sludgebomb: ["9M", "9L37", "7M", "7L37", "6M", "6L37", "5M", "5L52", "4M", "4L45", "3M", "3L48"], + sludgewave: ["7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spitup: ["9L30", "7L30", "6L30", "5L45", "4L38", "3L40"], + stockpile: ["9L30", "7L30", "6L30", "5L45", "4L38", "3L40"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["9L30", "7L30", "6L30", "5L45", "4L38", "3L40"], + swordsdance: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M"], + toxic: ["9M", "9L25", "7M", "7L25", "6M", "6L25", "5M", "5L30", "4M", "4L30", "3M", "3L31"], + toxicspikes: ["9M"], + venomdrench: ["7L1"], + venoshock: ["9M", "7M", "6M", "5M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wringout: ["7L1", "6L1", "5L66", "4L59"], + yawn: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + zenheadbutt: ["9M"], + }, + }, + carvanha: { + learnset: { + agility: ["8M", "8L36", "7L39", "6L36", "5L36", "4L36", "3L43"], + ancientpower: ["8E", "7E", "6E", "5E", "4T", "4E"], + aquajet: ["8L1", "7L11", "6L11", "5L31", "4L31"], + assurance: ["8M", "7L15", "6L15", "5L26", "4L26"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bite: ["8L16", "7L1", "6L1", "6S1", "5L1", "5D", "4L1", "3L1", "3S0"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "7E", "6E", "5E", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L32", "7L36", "6L28", "5L28", "4L28", "3L22"], + darkpulse: ["8M", "7M", "6M", "5T", "5D", "4M"], + destinybond: ["8E", "7E", "6E"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["8E", "7E", "6E", "5E", "4E", "3T", "3E"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flipturn: ["8T"], + focusenergy: ["8M", "8L8", "7L8", "6L8", "5L8", "4L8", "3L13"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "7E", "6E", "6S1", "5E", "4E", "3E"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["8M", "8L20", "7L25", "6L16", "5L16", "4L16"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + leer: ["8L1", "7L1", "6L1", "6S1", "5L1", "4L1", "3L1"], + liquidation: ["8M", "8L40"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonfang: ["8L4", "7L32", "6L32"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychicfangs: ["8M", "7E"], + rage: ["7L4", "6L4", "5L6", "4L6", "3L7"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + scaryface: ["8M", "8L12", "7L29", "6L11", "5L11", "4L11", "3L16", "3S0"], + screech: ["8M", "8L24", "7L18", "6L18", "5L18", "4L18", "3L28"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["8L28", "7M", "7L22", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3T", "3L37"], + swift: ["8M", "7E", "6E", "5E", "4T", "3T"], + takedown: ["8L44", "7L43", "6L38", "5L38", "4L38", "3L31"], + taunt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + thrash: ["8E", "7E", "6E", "5E", "5D", "4E", "3E"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["8E", "7T", "6T", "4M", "3M", "3S0"], + whirlpool: ["8M", "4M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 15, moves: ["refresh", "waterpulse", "bite", "scaryface"]}, + {generation: 6, level: 1, isHidden: true, moves: ["leer", "bite", "hydropump"], pokeball: "pokeball"}, + ], + }, + sharpedo: { + learnset: { + agility: ["8M", "8L40", "7L45", "6L45", "5L45", "4L45", "3L53"], + ancientpower: ["4T"], + aquajet: ["8L1", "7L11", "6L11", "6S0", "5L34", "4L34"], + assurance: ["8M", "7L15", "6L15", "5L26", "4L26"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + bite: ["8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L34", "7L40", "6L28", "6S0", "6S1", "5L28", "4L28", "3L22"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + destinybond: ["6S0"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["7L1", "6L1", "5L1", "4L1"], + flipturn: ["8T"], + focusenergy: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icefang: ["8M", "8L20", "7L25", "6L16", "6S0", "5L16", "4L16"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["8M", "8L46", "7T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightslash: ["8L1", "7L1", "6L1", "5L56", "4L56"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonfang: ["8L1", "7L34", "6L34", "6S1"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychicfangs: ["8M"], + rage: ["7L1", "6L1", "5L1", "4L1", "3L1"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + scaryface: ["8M", "8L12", "7L29", "6L11", "6S1", "5L11", "4L11", "3L16"], + screech: ["8M", "8L24", "7L18", "6L18", "5L18", "4L18", "3L28"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["7L51", "6L50", "5L50", "4L50", "3L48"], + slash: ["8L0", "7L1", "6L30", "6S1", "5L30", "4L30", "3L33"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["8L28", "7M", "7L22", "6M", "6L21", "5M", "5L21", "4M", "4L21", "3T", "3L43"], + swift: ["8M", "4T", "3T"], + takedown: ["8L52"], + taunt: ["8M", "7M", "7L56", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3M", "3L38"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Adamant", isHidden: true, moves: ["aquajet", "crunch", "icefang", "destinybond"], pokeball: "cherishball"}, + {generation: 6, level: 43, gender: "M", perfectIVs: 2, moves: ["scaryface", "slash", "poisonfang", "crunch"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 10}, + ], + }, + wailmer: { + learnset: { + amnesia: ["8M", "8L42", "7L37", "6L37", "5L37", "4L37", "3L46"], + aquaring: ["8E", "7E", "6E", "5E", "4E"], + astonish: ["8L6", "7L16", "6L16", "5L17", "4L17", "3L23"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "8L36", "7E", "6E", "5E", "4E", "3T"], + bounce: ["8M", "8L33", "7T", "7L45", "6T", "6L44", "5T", "5L44", "5D", "4T", "4L44"], + brine: ["8M", "8L24", "7L25", "6L25", "5L31", "4M", "4L31"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + clearsmog: ["7E", "6E"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "6E", "5E", "4E", "3E"], + defensecurl: ["8E", "7E", "6E", "5E", "4E", "3T"], + dive: ["8M", "8L30", "7L41", "6M", "6L33", "5M", "5L41", "4T", "4L41", "3M"], + doubleedge: ["8E", "7E", "6E", "5E", "4E", "3T", "3E"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fissure: ["8E", "7E", "6E", "5E", "4E", "3E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["8L3", "7L4", "6L4", "5L4", "4L4", "3L5"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + heavyslam: ["8M", "8L21", "7L53", "6L50", "5L50"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L45", "7L49", "6L47", "5L47", "4L47", "3L50"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + mimic: ["3T"], + mist: ["8L15", "7L22", "6L22", "5L24", "4L24", "3L32"], + naturalgift: ["4M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L39", "7M", "7L29", "6M", "6L27", "5M", "5L27", "4M", "4L27", "3M", "3L37"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8E", "7L10", "6L10", "5L11", "4T", "4L11", "3T", "3L14"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E", "5D", "4M", "4E", "3T", "3E"], + snore: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3T", "3E"], + soak: ["8E", "7E", "6E", "5E"], + splash: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + steelroller: ["8T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + thrash: ["8E", "7E", "6E", "5E", "4E", "3E"], + tickle: ["8E", "7E", "6E", "5E", "4E", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L12", "7L7", "6L7", "5L7", "5D", "4L7", "3L10"], + waterpulse: ["8L18", "7T", "7L19", "6T", "6L19", "5L21", "4M", "4L21", "3M", "3L28"], + waterspout: ["8L48", "7L33", "6L34", "5L34", "4L34", "3L41"], + weatherball: ["8M"], + whirlpool: ["8M", "8L27", "7L13", "6L13", "5L14", "4M", "4L14", "3L19"], + zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + }, + }, + wailord: { + learnset: { + amnesia: ["8M", "8L44", "7L37", "6L37", "5L37", "4L37", "3L52", "3S0"], + astonish: ["8L1", "7L16", "6L16", "5L17", "4L17", "3L23"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["8M", "4M"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "8L36", "3T"], + bounce: ["8M", "8L33", "7T", "7L51", "6T", "6L51", "5T", "5L54", "4T", "4L54"], + brine: ["8M", "8L24", "7L25", "6L29", "5L31", "4M", "4L31"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + defensecurl: ["3T"], + dive: ["8M", "8L30", "7L44", "6M", "6L44", "5M", "5L46", "4T", "4L46", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + heavyslam: ["8M", "8L21", "7L1", "6L1", "5L70"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L49", "7L58", "6L58", "5L62", "4L62", "3L59", "3S0"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + liquidation: ["8M", "7T"], + mimic: ["3T"], + mist: ["8L15", "7L22", "6L22", "5L24", "4L24", "3L32", "3S1"], + naturalgift: ["4M"], + nobleroar: ["8L1", "7L1"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L39", "7M", "7L29", "6M", "6L25", "5M", "5L27", "4M", "4L27", "3M", "3L37", "3S0", "3S1"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + soak: ["8L1", "7L1"], + splash: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + steelroller: ["8T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["8L18", "7T", "7L19", "6T", "6L19", "5L21", "4M", "4L21", "3M", "3L28", "3S1"], + waterspout: ["8L54", "7L33", "6L33", "5L34", "4L34", "3L44", "3S0", "3S1"], + weatherball: ["8M"], + whirlpool: ["8M", "8L27", "7L13", "6L13", "5L14", "4M", "4L14", "3L19"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["rest", "waterspout", "amnesia", "hydropump"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["waterpulse", "mist", "rest", "waterspout"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 25}, + {generation: 4, level: 35}, + {generation: 5, level: 30}, + {generation: 7, level: 10}, + ], + }, + numel: { + learnset: { + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L19", "7L19", "6L19", "5L31", "4L25", "3L31"], + ancientpower: ["9E", "7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bodypress: ["9M"], + bodyslam: ["9M", "9E", "7E", "6E", "5E", "5D", "4E", "3T", "3E"], + bulldoze: ["9M", "9L12", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M", "3S0"], + confide: ["7M", "6M"], + curse: ["9L29", "7L29", "6L29", "5L29"], + defensecurl: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], + dig: ["9M", "6M", "5M", "4M", "3M", "3S0"], + doubleedge: ["9L47", "7L47", "6L47", "5L55", "4L51", "3T", "3L49"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L41", "4T", "4L35"], + earthquake: ["9M", "9L40", "7M", "7L40", "6M", "6L40", "5M", "5L45", "4M", "4L41", "3M", "3L35"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["9L5", "7L5", "6L5", "5L5", "5D", "4L5", "3L11", "3S0"], + endure: ["9M", "7E", "6E", "5E", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firespin: ["9M"], + flameburst: ["7L15", "6L15", "5L21"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L43", "7M", "7L43", "6M", "6L43", "5M", "5L51", "4M", "4L45", "3M", "3L41"], + flareblitz: ["9M"], + flashcannon: ["9M"], + focusenergy: ["9L8", "7L8", "6L8", "5L15", "4L15", "3L25"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["9L1", "7L1", "6L1", "6S1", "5L1", "4L1", "3L1"], + growth: ["9E", "7E", "6E"], + headbutt: ["4T"], + heatcrash: ["9M"], + heatwave: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + heavyslam: ["9M", "9E", "7E"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + howl: ["9E", "7E", "6E", "5E", "4E", "3E"], + incinerate: ["9L15", "6M", "5M"], + ironhead: ["9M", "9E", "7T", "7E", "6T", "6E", "6S1", "5T", "5E"], + lashout: ["9M"], + lavaplume: ["9L22", "7L22", "6L22", "5L35", "4L31"], + magnitude: ["7L12", "6L8", "5L11", "4L11", "3L19"], + mimic: ["3T"], + mudbomb: ["7E", "6E", "5E", "4E"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["9E", "7E", "6E", "5E", "4T", "4E", "3T", "3E"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spitup: ["9E", "7E", "6E", "5E", "4E"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stockpile: ["9E", "7E", "6E", "5E", "4E"], + stomp: ["9E", "7E", "6E", "5E", "4E", "3E"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["9E", "7E", "6E", "5E", "4E"], + tackle: ["9L1", "7L1", "6L1", "6S1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L31", "7L31", "6L31", "5L25", "4L21", "3L29", "3S0"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + yawn: ["9E", "7L36", "7E", "6L36", "6E", "5L36", "5E", "4E"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 14, abilities: ["oblivious"], moves: ["charm", "takedown", "dig", "ember"]}, + {generation: 6, level: 1, moves: ["growl", "tackle", "ironhead"], pokeball: "pokeball"}, + ], + }, + camerupt: { + learnset: { + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L19", "7L19", "6L19", "5L31", "4L25", "3L31"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + bulldoze: ["9M", "9L12", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M"], + confide: ["7M", "6M"], + curse: ["9L29", "7L29", "6L29", "6S0", "5L29"], + defensecurl: ["3T"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L49", "4T", "4L39"], + earthquake: ["9M", "9L46", "7M", "7L46", "6M", "6L46", "5M", "5L57", "4M", "4L49", "3M", "3L37"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + endure: ["9M", "4M", "3T"], + eruption: ["9L1", "7L1", "6L1", "5L67", "4L57", "3L45"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firespin: ["9M"], + fissure: ["9L1", "7L1", "6L1", "5L75", "4L67", "3L55"], + flameburst: ["7L15", "6L15", "5L21"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["9M"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "7L1", "6L1", "5L15", "4L15", "3L25"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + heatcrash: ["9M"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + incinerate: ["9L15", "6M", "5M"], + ironhead: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M"], + lavaplume: ["9L22", "7L22", "6L22", "5L33", "4L31"], + magnitude: ["7L12", "6L1", "5L1", "4L1", "3L1"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "9L0", "7M", "7L1", "6M", "6L33", "6S0", "5M", "5L39", "4M", "4L33", "3T", "3L33"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + sandstorm: ["9M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["3T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["9M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L31", "7L31", "6L31", "6S0", "5L25", "4L21", "3L29"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + yawn: ["9L39", "7L39", "6L39", "6S0", "5L39"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 6, level: 43, gender: "M", perfectIVs: 2, abilities: ["solidrock"], moves: ["curse", "takedown", "rockslide", "yawn"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + torkoal: { + learnset: { + afteryou: ["7T", "6T", "5T"], + amnesia: ["9M", "9L52", "8M", "8L52", "7L40", "6L40", "5L49", "4L49", "3L40"], + ancientpower: ["9E", "8E"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["9M", "8M", "8S0"], + bodyslam: ["9M", "9L32", "8M", "8L32", "7L27", "6L27", "5L33", "4L33", "3T", "3L20"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + burningjealousy: ["9M", "8T", "8S0"], + captivate: ["4M"], + clearsmog: ["9L16", "8L16", "7E", "6E", "5E"], + confide: ["7M", "6M"], + curse: ["9L44", "8L44", "7L22", "6L12", "5L12", "4L12", "3L7"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "4E"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + endure: ["9M", "8M", "7E", "6E", "5E", "4M", "4E", "3T", "3E"], + eruption: ["9L64", "8L64", "7E", "6E", "5E", "4E", "3E"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firespin: ["9M", "8M", "7L13", "6L13", "5L17", "4L17", "3L17"], + fissure: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + flail: ["9E", "8E", "7L42", "6L1", "5L52", "4L52", "3L43"], + flameburst: ["7E", "6E", "5E"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L40", "8M", "8L40", "7M", "7L34", "6M", "6L28", "5M", "5L28", "4M", "4L28", "3M", "3L30"], + flamewheel: ["9L20", "8L20", "7L18", "6L18"], + flareblitz: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "9L48", "8M", "8L48", "7T", "7L45", "6T", "6L1", "5T", "5L55", "4T", "4L55", "3L46"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + inferno: ["9L56", "8L56", "7L50", "6L1", "5L60"], + irondefense: ["9M", "9L36", "8M", "8L36", "7T", "7L38", "6T", "6L38", "5T", "5L44", "4T", "4L44", "3L33"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + lavaplume: ["9L28", "8L28", "7L25", "6L25", "5L39", "4L39"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "9L24", "8M", "8L24", "8S0", "7M", "7L30", "6M", "6L1", "5M", "5L36", "4M", "4L36", "3M", "3L27"], + rapidspin: ["9L8", "8L8", "7L10", "6L10", "5L23", "4L23"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + shellsmash: ["9L60", "8L60", "7L47", "6L1", "5L65"], + skullbash: ["8E", "7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E", "4M", "4E", "3T", "3E"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + smog: ["9L1", "8L1", "7L4", "6L4", "5L4", "4L4", "3L4"], + smokescreen: ["9L12", "8L12", "7L15", "6L15", "5L20", "4L20", "3L14"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "5D", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "7E", "6T", "6E"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], + withdraw: ["9L4", "8L4", "7L7", "6L7", "5L7", "4L7"], + yawn: ["9E", "8E", "8S0", "7E", "6E", "5E", "4E", "3E"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 8, level: 50, gender: "M", nature: "Bold", abilities: ["drought"], ivs: {hp: 31, atk: 12, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["burningjealousy", "bodypress", "yawn", "protect"], pokeball: "cherishball"}, + ], + }, + spoink: { + learnset: { + allyswitch: ["7T"], + amnesia: ["9M", "9E", "7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + bounce: ["9L50", "7T", "7L50", "6T", "6L50", "5T", "5L53", "4T", "4L48", "3L43"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L22", "7L18", "6L18", "5L18", "4L18", "3L25"], + confusion: ["9L7"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + encore: ["9M"], + endure: ["9M", "7E", "6E", "5E", "4M", "3T"], + extrasensory: ["9E", "7E", "6E", "5E", "4E", "3E"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + flashcannon: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9E", "7E", "6E", "5E", "4E", "3E"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L10"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7E", "6E", "5E"], + lunge: ["9M"], + magiccoat: ["7T", "7L21", "6T", "6L21", "5T", "5L21", "4T", "4L21", "3L28"], + mimic: ["3T"], + mirrorcoat: ["9E", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + nightshade: ["9M"], + odorsleuth: ["7L10", "6L10", "5L10", "4L10", "3L10"], + payback: ["9L40", "7M", "7L40", "6M", "6L40", "5M", "5L41", "4M", "4L34"], + powergem: ["9M", "9L29", "7L29", "6L29", "5L48", "4L46"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L14", "7L14", "6L14", "5L14", "4L14", "3L16"], + psychic: ["9M", "9L44", "7M", "7L44", "6M", "6L44", "5M", "5L46", "4M", "4L41", "3M", "3L34"], + psychicterrain: ["9M"], + psychup: ["9L18", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3T", "3L19"], + psyshock: ["9M", "9L38", "7M", "7L38", "6M", "6L38", "5M", "5L34"], + psywave: ["7L7", "6L7", "5L7", "5D", "4L7", "3L7"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "5D", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L29", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L29", "3M", "3L37"], + return: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + simplebeam: ["9E", "7E", "6E"], + skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["9M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["9L33", "7T", "7L33", "6T", "6L29", "5T", "5L29", "4T", "4L29", "3T", "3L37"], + snowscape: ["9M"], + splash: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "4T", "3T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "3S0"], + whirlwind: ["9E", "7E", "6E", "5E"], + zenheadbutt: ["9M", "9E", "7T", "7L26", "7E", "6T", "6L26", "6E", "5T", "5L26", "5E", "4T", "4L26", "4E"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["owntempo"], moves: ["splash", "uproar"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + grumpig: { + learnset: { + allyswitch: ["7T"], + amnesia: ["9M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + belch: ["9L1", "7L1"], + bodypress: ["9M"], + bodyslam: ["9M", "3T"], + bounce: ["9L60", "7T", "7L60", "6T", "6L60", "5T", "5L68", "4T", "4L60", "3L55"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "7M", "6M", "5M"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L22", "7L18", "6L18", "5L18", "4L18", "3L25"], + confusion: ["9L1"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["9M"], + dig: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + earthpower: ["9M"], + encore: ["9M"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + flash: ["6M", "5M", "4M", "3M"], + flashcannon: ["9M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + lowkick: ["9M"], + lowsweep: ["9M"], + lunge: ["9M"], + magiccoat: ["7T", "7L21", "6T", "6L21", "5T", "5L21", "4T", "4L21", "3L28"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["9M"], + mimic: ["3T"], + mudshot: ["9M"], + mudslap: ["9M", "4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightshade: ["9M"], + odorsleuth: ["7L1", "6L1", "5L1", "4L1", "3L1"], + payback: ["9L46", "7M", "7L46", "6M", "6L46", "5M", "5L47", "4M", "4L37"], + powergem: ["9M", "9L29", "7L29", "6L29", "5L60", "4L55"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + psychic: ["9M", "9L52", "7M", "7L52", "6M", "6L52", "5M", "5L55", "4M", "4L47", "3M", "3L37"], + psychicterrain: ["9M"], + psychup: ["9L18", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3T", "3L19"], + psyshock: ["9M", "9L42", "7M", "7L42", "6M", "6L42", "5M", "5L37"], + psywave: ["7L1", "6L1", "5L1", "4L1", "3L1"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L35", "7M", "7L35", "6M", "6L29", "5M", "5L29", "4M", "4L29", "3M", "3L43"], + return: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["9M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["9L35", "7T", "7L35", "6T", "6L29", "5T", "5L29", "4T", "4L29", "3T", "3L43"], + snowscape: ["9M"], + splash: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + stompingtantrum: ["9M"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "4T", "3T"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + teeterdance: ["9L0", "7L1", "6L32"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + uproar: ["9M"], + zenheadbutt: ["9M", "9L26", "7T", "7L26", "6T", "6L26", "5T", "5L26", "4T", "4L26"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + spinda: { + learnset: { + assist: ["7E", "6E", "5E", "4E", "3E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["7E", "6E", "5E", "4E", "3E"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + calmmind: ["7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + copycat: ["7L5", "6L5", "5L10", "5D", "4L10"], + counter: ["3T"], + covet: ["7T", "6T", "5T"], + defensecurl: ["3T"], + dig: ["6M", "5M", "4M", "3M"], + disable: ["7E", "6E", "5E", "4E", "3E"], + dizzypunch: ["7L23", "6L23", "5L28", "4L28", "3L27"], + doubleedge: ["7L46", "6L46", "5L46", "4L46", "3T", "3L45"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + encore: ["7E", "6E", "5E", "4E", "3E"], + endure: ["4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + fakeout: ["7E", "6E", "5E", "5D", "4E"], + faketears: ["7E", "6E", "5E"], + feintattack: ["7L10", "6L10", "5L14", "4L14", "3L12"], + firepunch: ["7T", "6T", "5T", "4T", "3T"], + flail: ["7L50", "6L50", "5L50", "4L50", "3L49"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + guardsplit: ["7E", "6E"], + headbutt: ["4T"], + helpinghand: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hypervoice: ["7T", "6T", "5T"], + hypnosis: ["7L19", "6L19", "5L23", "4L23", "3L23"], + icepunch: ["7T", "6T", "5T", "4T", "3T"], + icywind: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "3T"], + lastresort: ["7T", "6T", "5T", "4T"], + lowkick: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psybeam: ["7L14", "6L14", "5L19", "4L19", "3L16"], + psychic: ["7M", "6M", "5M", "4M", "3M"], + psychocut: ["7E", "6E", "5E", "4E"], + psychoshift: ["7E", "6E"], + psychup: ["7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L41", "3T", "3L38"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rapidspin: ["7E", "6E", "5E"], + recycle: ["7T", "6T", "5T", "4M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sing: ["3S0"], + skillswap: ["7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + smellingsalts: ["7E", "6E", "5E", "4E", "3E"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spotlight: ["7E"], + stompingtantrum: ["7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["7L28", "6L28", "5L32", "4T", "4L32"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + superpower: ["5D"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tackle: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + teeterdance: ["7L32", "6L32", "5L37", "4L37", "3L34"], + thief: ["7M", "6M", "5M", "4M", "3M"], + thrash: ["7L55", "6L50", "5L55", "4L55", "3L56"], + thunderpunch: ["7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["7T", "7E", "6T", "6E", "5T", "5E", "4E", "3E"], + trickroom: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "7L37", "6T", "6L5", "5T", "5L5", "4T", "4L5", "3L5", "3S0"], + waterpulse: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + wildcharge: ["7M", "6M", "5M"], + wish: ["7E", "6E", "5E", "4E", "3E"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["tackle", "uproar", "sing"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + trapinch: { + learnset: { + astonish: ["8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bide: ["7L1", "6L1", "5L17"], + bite: ["8L8", "7L1", "6L1", "5L1", "5D", "5S0", "4L1", "3L1"], + bodyslam: ["8M", "3T"], + bugbite: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + bulldoze: ["8M", "8L20", "7M", "7L8", "6M", "6L8", "5M", "5L21"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L28", "7L22", "6L22", "5L33", "4L33", "3L33"], + dig: ["8M", "8L24", "7L19", "6M", "6L19", "5M", "5L41", "4M", "4L41", "3M", "3L41"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "8L36", "7T", "7L26", "7E", "6T", "6L26", "6E", "5T", "5L65", "5E", "4T", "4L65"], + earthquake: ["8M", "8L40", "7M", "7L33", "6M", "6L33", "5M", "5L73", "4M", "4L73", "3M"], + endure: ["8M", "7E", "6E", "5E", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["8E", "7L29", "6L1", "5L81", "4L81"], + feintattack: ["7L1", "6L1", "5L17", "4L17", "3L17"], + firstimpression: ["8E"], + fissure: ["8L48", "7L47", "6L1", "5L89", "4L89"], + flail: ["8E", "7E", "6E", "5E", "4E"], + focusenergy: ["8M", "7E", "6E", "5E", "4E", "3E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["8E", "7E", "6E", "5E", "4T", "4E"], + gigadrain: ["8M", "7T", "6T", "5T", "5D", "4M", "3M"], + gust: ["8E", "7E", "6E", "5E", "4E", "3E"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "7L43", "6M", "6L43", "5M", "5L57", "4M", "4L57", "3M", "3L57"], + laserfocus: ["8L4"], + mimic: ["3T"], + mudshot: ["8M", "7E", "6E", "5E", "4E"], + mudslap: ["8L12", "7L5", "6L5", "5L13", "4T", "3T"], + naturalgift: ["4M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + quickattack: ["8E", "7E", "6E", "5E", "4E", "3E"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L9", "4L9", "3L9"], + sandstorm: ["8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L49", "4M", "4L49", "3M", "3L49"], + sandtomb: ["8M", "8L16", "7L12", "6L10", "5L25", "4L25", "3L25"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "5D"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + strength: ["6M", "5M", "4M", "3M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8L44", "7T", "7L40", "6T", "6L1", "5T", "5L67"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["bite"], pokeball: "pokeball"}, + ], + }, + vibrava: { + learnset: { + aircutter: ["4T"], + airslash: ["8M"], + astonish: ["8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bide: ["7L1", "6L1", "5L17"], + bite: ["8L1", "3L1"], + bodyslam: ["8M", "3T"], + boomburst: ["8L62", "7L47", "6L47"], + bugbite: ["7T", "6T", "5T", "4T"], + bugbuzz: ["8M", "8L28", "7L29", "6L29"], + bulldoze: ["8M", "8L1", "7M", "7L8", "6M", "6L8", "5M", "5L21"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L1", "3L33"], + defog: ["7T", "4M"], + dig: ["8M", "8L1", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["8L0", "7L1", "6L35", "5L35", "4L35", "3L35"], + dragonpulse: ["8M", "7T", "6T", "5T", "4M"], + dragonrush: ["8L56"], + dragontail: ["8L20"], + dualwingbeat: ["8T"], + earthpower: ["8M", "8L38", "7T", "7L26", "6T", "6L26", "5T", "5L39", "4T"], + earthquake: ["8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L1", "6L1", "5L1", "4L1", "3L1"], + fissure: ["8L1"], + fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + focusenergy: ["8M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T"], + gigadrain: ["8M", "7T", "6T", "5T", "4M", "3M"], + headbutt: ["4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "7L43", "6M", "6L43", "5M", "5L57", "4M", "4L57", "3M", "3L57"], + laserfocus: ["8L1"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["8L12", "7L5", "6L5", "5L13", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sandstorm: ["8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L49", "4M", "4L49", "3M", "3L49"], + sandtomb: ["8M", "8L16", "7L12", "6L1", "5L1", "4L1", "3L1"], + scorchingsands: ["8T"], + screech: ["8M", "8L24", "7L22", "6L22", "5L41", "4L41", "3L41"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T"], + silverwind: ["4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + sonicboom: ["7L1", "6L1", "5L1", "4L1"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + strength: ["6M", "5M", "4M", "3M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8L1", "7T", "6T", "5T"], + supersonic: ["8L1", "7L19", "6L19", "5L33", "4L33"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + throatchop: ["8M", "7T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["8M", "8L50", "7T", "7L40", "6T", "6L40"], + uturn: ["8M", "7M", "6M", "5M", "4M"], + }, + }, + flygon: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + aircutter: ["4T"], + airslash: ["8M"], + astonish: ["8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bide: ["7L1", "6L1", "5L17"], + bite: ["8L1", "3L1"], + bodyslam: ["8M", "3T"], + boomburst: ["8L68"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bugbite: ["7T", "6T", "5T", "4T"], + bugbuzz: ["8M", "8L28"], + bulldoze: ["8M", "8L1", "7M", "7L8", "6M", "6L8", "5M", "5L21"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L1", "3L33", "3S0"], + defog: ["7T", "4M"], + dig: ["8M", "8L1", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["8T", "7T", "6T", "5T", "4T", "4S1"], + dragonbreath: ["8L1", "7L1", "6L35", "5L35", "4L35", "3L35", "3S0"], + dragonclaw: ["8M", "8L0", "7M", "7L1", "6M", "6L45", "5M", "5L45", "4M", "4L45", "4S1", "3M"], + dragondance: ["8M", "8L1", "7L1"], + dragonpulse: ["8M", "7T", "6T", "5T", "4M"], + dragonrush: ["8L60", "7L47", "6L47"], + dragontail: ["8L20", "7M", "7L29", "6M", "6L29", "5M", "5L65"], + dualwingbeat: ["8T"], + earthpower: ["8M", "8L38", "7T", "7L26", "6T", "6L26", "5T", "5L39", "4T"], + earthquake: ["8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "4M", "4S1", "3M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + feint: ["8L1"], + feintattack: ["7L1", "6L1", "5L1", "4L1", "3L1"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + firespin: ["8M"], + fissure: ["8L1"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + focusenergy: ["8M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["8M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + heatwave: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "7L43", "6M", "6L43", "5M", "5L57", "4M", "4L57", "3M", "3L65"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + laserfocus: ["8L1", "7T"], + megakick: ["8M"], + megapunch: ["8M"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["8L12", "7L5", "6L5", "5L13", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "7L15", "6M", "6L15", "5M", "5L25", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + sandstorm: ["8M", "8L32", "7M", "7L36", "6M", "6L36", "5M", "5L49", "4M", "4L49", "3M", "3L53"], + sandtomb: ["8M", "8L16", "7L12", "6L1", "5L1", "4L1", "3L1", "3S0"], + scaleshot: ["8T"], + scorchingsands: ["8T"], + screech: ["8M", "8L24", "7L22", "6L22", "5L41", "4L41", "3L41", "3S0"], + secretpower: ["6M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T"], + silverwind: ["4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + sonicboom: ["7L1", "6L1", "5L1", "4L1"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8L1", "7T", "6T", "5T"], + supersonic: ["8L1", "7L19", "6L19", "5L33", "4L33"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tailwind: ["7T", "6T", "5T", "4T"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + uproar: ["8M", "8L52", "7T", "7L40", "6T", "6L40"], + uturn: ["8M", "7M", "6M", "5M", "4M", "4S1"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["sandtomb", "crunch", "dragonbreath", "screech"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Naive", moves: ["dracometeor", "uturn", "earthquake", "dragonclaw"], pokeball: "cherishball"}, + ], + }, + cacnea: { + learnset: { + absorb: ["9L4", "7L4", "6L4", "5L5", "5D", "4L5", "3L5", "3S0"], + acid: ["9E", "7E", "6E", "5E", "4E", "3E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + belch: ["9E", "7E", "6E"], + block: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M"], + bulletseed: ["9M", "9L16", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cottonspore: ["9L46", "7L46", "6L46", "5L49", "4L49", "3L41"], + counter: ["9E", "7E", "6E", "5E", "4E", "3T", "3E"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + destinybond: ["9L54", "7L54", "6L54", "5L57", "4L57", "3L49"], + dig: ["9M"], + disable: ["9E", "7E", "6E", "5E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["7E", "6E", "5E", "4E", "3T", "3E"], + encore: ["9M", "3S0"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "9L42", "7M", "7L42", "6M", "6L42", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L19", "6L19", "5L29", "4L29", "3L29"], + fellstinger: ["9E", "7E", "6E"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7E", "6E", "5E", "4E", "3E"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L7", "7L7", "6L7", "5L9", "4L9", "3L9"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + ingrain: ["9L22", "7L22", "6L22", "5L25", "4L25", "3L25"], + leafstorm: ["9M"], + leechseed: ["9L10", "7L10", "6L10", "5L13", "4L13", "3L13"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + lowkick: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + magicalleaf: ["9M", "7E", "6E", "5E", "4E"], + megapunch: ["3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + nastyplot: ["9M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + needlearm: ["7L16", "6L16", "5L45", "4L45", "3L37"], + payback: ["9L26", "7M", "7L26", "6M", "6L26", "5M", "5L41", "4M", "4L41"], + pinmissile: ["9L38", "7L38", "6L21", "5L21", "4L21", "3L21"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poisonsting: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + powertrip: ["9L19"], + poweruppunch: ["7E", "6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rototiller: ["7E", "6E"], + round: ["7M", "6M", "5M"], + sandattack: ["9L13", "7L13", "6L13", "5L17", "4L17", "3L17"], + sandstorm: ["9M", "9L50", "7M", "7L50", "6M", "6L50", "5M", "5L53", "4M", "4L53", "3M", "3L45"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + seismictoss: ["3T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + smellingsalts: ["7E", "6E", "5E", "4E"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spikes: ["9M", "9L30", "7L30", "6L30", "5L33", "4L33", "3L33"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L34", "7L34", "6L34", "5L37", "4T", "4L37"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + switcheroo: ["9E", "7E", "6E", "5E"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + teeterdance: ["9E", "7E", "6E", "5E", "5D", "4E", "3E"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "5D", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venoshock: ["9M", "7M", "6M", "5M"], + worryseed: ["7T", "7E", "6T", "6E", "5T", "5E", "4T"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["poisonsting", "leer", "absorb", "encore"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + cacturne: { + learnset: { + absorb: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M"], + bulletseed: ["9M", "9L16", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cottonspore: ["9L49", "7L49", "6L49", "5L59", "4L59", "3L47"], + counter: ["3T"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + destinybond: ["9L1", "7L1", "6L1", "5L71", "4L71", "3L59"], + dig: ["9M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["3T"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["9M"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "9L44", "7M", "7L44", "6M", "6L44", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L19", "6L19", "5L29", "4L29", "3L29", "3S0"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + ingrain: ["9L22", "7L22", "6L22", "5L25", "4L25", "3L25", "3S0"], + knockoff: ["9M"], + lashout: ["9M"], + leafstorm: ["9M"], + leechseed: ["9L10", "7L10", "6L10", "5L13", "4L13", "3L13"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lunge: ["9M"], + magicalleaf: ["9M"], + megakick: ["3T"], + megapunch: ["3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + needlearm: ["7L16", "6L16", "5L53", "4L53", "3L41", "3S0"], + payback: ["9L26", "7M", "7L26", "6M", "6L26", "5M", "5L47", "4M", "4L47"], + pinmissile: ["9L38", "7L38", "6L21", "5L21", "4L21", "3L21"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poisonsting: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + powertrip: ["9L19"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["7L1", "6L1", "5L1", "4L1", "3L1"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + sandattack: ["9L13", "7L13", "6L13", "5L17", "4L17", "3L17"], + sandstorm: ["9M", "9L54", "7M", "7L54", "6M", "6L54", "5M", "5L65", "4M", "4L65", "3M", "3L53"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + seismictoss: ["3T"], + shadowball: ["9M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + spikes: ["9M", "9L30", "7L30", "6L30", "5L35", "4L35", "3L35", "3S0"], + spikyshield: ["9L0", "7L1", "6L32"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stompingtantrum: ["9M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L35", "7L35", "6L35", "5L41", "4T", "4L41"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venoshock: ["9M", "7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["ingrain", "feintattack", "spikes", "needlearm"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + swablu: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + aircutter: ["4T"], + astonish: ["9E", "8E", "7L3", "6L3", "5L5", "4L5", "3L8"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + bravebird: ["9M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cottonguard: ["9L32", "8L32", "7L34", "6L34", "5L40"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + defog: ["9E", "8E", "7T"], + disarmingvoice: ["9M", "9L4", "8L4", "7L11", "6L11"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragonbreath: ["9L20", "8L20"], + dragonpulse: ["9M", "8M", "7T", "7L38", "6T", "6L38", "5T", "5L50", "4M", "4L45"], + dragonrush: ["9E", "8E", "7E", "6E", "5E", "4E"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "3S0"], + featherdance: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furyattack: ["9L12", "8L12", "7L7", "6L7", "5L13", "4L13", "3L18"], + growl: ["9L1", "8L1", "7L1", "6L1", "6S2", "5L1", "5S1", "4L1", "3L1", "3S0"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], + healbell: ["7T", "6T", "5T", "4T"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["9M"], + hypervoice: ["9M", "8M", "7T", "7E", "6T", "6E", "6S2", "5T", "5E"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + mirrormove: ["7L30", "6L30", "5L36", "4L36", "3L38"], + mist: ["9L8", "8L8", "7L14", "6L14", "5L23", "4L23", "3L28"], + moonblast: ["9L40", "8L40", "7L46", "6L46"], + mudslap: ["4T", "3T"], + naturalgift: ["7L20", "6L20", "5L32", "4M", "4L32"], + ominouswind: ["4T"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + peck: ["9L1", "8L1", "7L1", "6L1", "6S2", "5L1", "5D", "5S1", "4L1", "3L1", "3S0"], + perishsong: ["9L44", "8L44", "7L42", "6L42", "5L55", "4L50", "3L48"], + playrough: ["9M", "8M", "7E"], + pluck: ["5M", "4M"], + powerswap: ["8M", "7E", "6E", "5E", "4E"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + pursuit: ["7E", "6E", "5E", "4E", "3E"], + rage: ["7E", "6E", "5E", "4E", "3E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7L26", "6L26", "5L45", "4L40", "3L41"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roost: ["9E", "8E", "7M", "7E", "6M", "6E", "5T", "5E", "5D", "4M"], + round: ["9L16", "8M", "8L16", "7M", "7L17", "6M", "6L17", "5M", "5L18"], + safeguard: ["9L24", "8M", "8L24", "7M", "7L9", "6M", "6L9", "5M", "5L18", "4M", "4L18", "3M", "3L21"], + secretpower: ["6M", "4M", "3M"], + sing: ["9L28", "8L28", "7L5", "6L5", "5L9", "4L9", "3L11"], + skyattack: ["7T", "6T", "3T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + steelwing: ["8M", "7M", "7E", "6M", "6E", "5E", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "9E", "8E", "7T", "6T", "5T", "4T"], + takedown: ["9M", "9L36", "8L36", "7L23", "6L23", "5L28", "4L28", "3L31"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + twister: ["4T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["peck", "growl", "falseswipe"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 5, level: 1, shiny: true, moves: ["peck", "growl"], pokeball: "pokeball"}, + {generation: 6, level: 1, isHidden: true, moves: ["peck", "growl", "hypervoice"], pokeball: "pokeball"}, + ], + }, + altaria: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M", "3S1"], + agility: ["9M", "8M", "6S3"], + aircutter: ["4T"], + astonish: ["7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + bravebird: ["9M"], + breakingswipe: ["8M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cottonguard: ["9L32", "8L32", "7L34", "6L34", "5L46"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + defog: ["7T"], + disarmingvoice: ["9M", "9L1", "8L1", "7L11", "6L11"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9L20", "8L20", "7L1", "6L35", "5L35", "5S2", "4L35", "3L35", "3S0", "3S1"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M", "7L30", "6L30", "5L39", "4L39", "3L40", "3S0"], + dragonpulse: ["9M", "9L0", "8M", "8L0", "7T", "7L40", "6T", "6L40", "5T", "5L62", "4M", "4L54"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dualwingbeat: ["9M", "8T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "5S2"], + fireblast: ["9M", "8M", "7M", "6M", "6S3", "5M", "4M", "3M"], + firespin: ["9M", "8M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furyattack: ["9L12", "8L12", "7L7", "6L7", "5L13", "4L13", "3L18"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + haze: ["9M"], + healbell: ["7T", "6T", "5T", "4T", "3S1"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "6S3", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + mimic: ["3T"], + mist: ["9L1", "8L1", "7L14", "6L14", "5L23", "4L23", "3L28"], + moonblast: ["9L44", "8L44", "7L52", "6L52"], + mudslap: ["4T", "3T"], + naturalgift: ["7L20", "6L20", "5L32", "5S2", "4M", "4L32"], + ominouswind: ["4T"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + peck: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + perishsong: ["9L50", "8L50", "7L46", "6L46", "5L70", "4L62", "3L54"], + playrough: ["9M", "8M"], + pluck: ["9L1", "8L1", "7L1", "6L1", "5M", "5L1", "4M", "4L1"], + powerswap: ["8M"], + protect: ["9M", "8M", "7M", "6M", "6S3", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7L26", "6L26", "5L54", "4L46", "3L45", "3S0"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["9L16", "8M", "8L16", "7M", "7L17", "6M", "6L17", "5M", "5L18"], + safeguard: ["9L24", "8M", "8L24", "7M", "7L9", "6M", "6L9", "5M", "5L18", "4M", "4L18", "3M", "3L21"], + secretpower: ["6M", "4M", "3M"], + sing: ["9L28", "8L28", "7L1", "6L1", "5L1", "4L1", "3L1"], + skyattack: ["9L56", "8L56", "7T", "7L1", "6T", "6L1", "5T", "5L77", "4T", "4L70", "3T", "3L59"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M", "3S1"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "9L38", "8L38", "7L23", "6L23", "5L28", "5S2", "4L28", "3L31", "3S0"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + twister: ["4T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + weatherball: ["9M"], + willowisp: ["9M"], + wonderroom: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["takedown", "dragonbreath", "dragondance", "refresh"], pokeball: "pokeball"}, + {generation: 3, level: 36, moves: ["healbell", "dragonbreath", "solarbeam", "aerialace"]}, + {generation: 5, level: 35, gender: "M", isHidden: true, moves: ["takedown", "naturalgift", "dragonbreath", "falseswipe"]}, + {generation: 6, level: 100, nature: "Modest", isHidden: true, moves: ["hypervoice", "fireblast", "protect", "agility"], pokeball: "cherishball"}, + ], + }, + zangoose: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + agility: ["9M"], + attract: ["7M", "6M", "5M", "4M", "3M"], + aurasphere: ["9M"], + batonpass: ["9M"], + bellydrum: ["9L1", "7E"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "3T"], + brickbreak: ["9M", "7M", "6M", "5M", "4M", "3M", "3S2"], + captivate: ["4M"], + closecombat: ["9M", "9L50", "7L50", "6L47", "5L53", "4L53"], + confide: ["7M", "6M"], + counter: ["9L1", "7E", "6E", "5E", "4E", "3T", "3E", "3S2"], + crushclaw: ["9L26", "7L26", "6L22", "5L31", "4L31", "3L31", "3S2"], + curse: ["9L1", "7E", "6E", "5E", "4E", "3E"], + defensecurl: ["3T"], + detect: ["9L36", "7L36", "6L33", "5L40", "4L40", "3L46"], + dig: ["9M", "6M", "5M", "4M", "3M"], + disable: ["9L1", "7E", "6E", "5E", "4E"], + doubleedge: ["3T"], + doublehit: ["9L1", "7E", "6E", "5E", "5D", "4E"], + doublekick: ["9L1", "7E", "6E", "5E", "4E", "3E"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + embargo: ["7M", "7L33", "6M", "6L19", "5M", "5L27", "4M", "4L27"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "9L29", "7M", "7L29", "6M", "6L29", "5M", "5L44", "4M", "4L44", "3L55"], + feint: ["9L1", "7E", "6E", "5E"], + finalgambit: ["9L1", "7E", "6E", "5E"], + fireblast: ["9M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + flail: ["9L1", "7E", "6E", "5E", "4E", "3E"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["9L8", "7L8", "6L8", "5L14", "4T", "4L14", "3T", "3L13", "3S0"], + furyswipes: ["9L1", "7E", "6E", "5E", "4E"], + gigadrain: ["7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + gunkshot: ["9M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["9L15", "7L15", "6M", "6L15", "5M"], + hyperbeam: ["9M"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L4", "3S0", "3S1"], + lowkick: ["9M", "7T", "6T", "5T", "5D", "4T"], + lowsweep: ["9M"], + megakick: ["3T"], + megapunch: ["3T"], + metalclaw: ["9M", "9L12", "7E", "6E", "5E", "4E"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightslash: ["9L1", "7E", "6E", "5E", "4E"], + payback: ["7M", "6M", "5M", "4M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + powertrip: ["9L22"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + pursuit: ["7L12", "6L12", "5L22", "4L22", "3L25"], + quickattack: ["9L5", "7L5", "6L5", "5L5", "5D", "4L5", "3L7", "3S0", "3S1"], + quickguard: ["9L1", "7E", "6E"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7E", "6E", "5E", "4E", "3E"], + refresh: ["3S2"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["7L22", "6L22", "5L26"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M", "4M", "4E", "3M", "3E"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + scratch: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + seismictoss: ["3T"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slash: ["9L19", "7L19", "6L15", "5L18", "4L18", "3L19"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "4T", "3T"], + switcheroo: ["9L33"], + swordsdance: ["9M", "9L47", "7M", "7L47", "6M", "6L43", "5M", "5L9", "4M", "4L9", "3T", "3L10", "3S0", "3S1"], + takedown: ["9M"], + taunt: ["9M", "9L43", "7M", "7L43", "6M", "6L40", "5M", "5L35", "4M", "4L35", "3M", "3L37"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + workup: ["7M", "5M"], + xscissor: ["9M", "9L40", "7M", "7L40", "6M", "6L36", "5M", "5L48", "4M", "4L48"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 18, moves: ["leer", "quickattack", "swordsdance", "furycutter"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["scratch", "leer", "quickattack", "swordsdance"], pokeball: "pokeball"}, + {generation: 3, level: 28, moves: ["refresh", "brickbreak", "counter", "crushclaw"]}, + ], + }, + seviper: { + learnset: { + acidspray: ["9M"], + aquatail: ["7T", "6T", "5T", "5D", "4T"], + assurance: ["9E", "7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + belch: ["9L41", "7L41", "6L43"], + bind: ["7T", "6T", "5T"], + bite: ["9L4", "7L4", "6L4", "5L10", "5D", "4L10", "3L10", "3S0", "3S2"], + bodyslam: ["9M", "9E", "7E", "6E", "5E", "5D", "4E", "3T", "3E"], + brickbreak: ["9M"], + brutalswing: ["7M"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + coil: ["9L44", "7L44", "6L46", "5L64"], + confide: ["7M", "6M"], + crunch: ["9M", "9L39", "7L39", "6L40", "5L28", "4L28", "3L28", "3S1"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + dig: ["9M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragontail: ["7M", "6M", "5M"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feint: ["9L11", "7L11"], + finalgambit: ["9E", "7E", "6E", "5E"], + firefang: ["9M"], + flamethrower: ["9M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gastroacid: ["9L29", "7T", "7L29", "6T", "6L31", "5T", "5L34"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M"], + glare: ["9L19", "7L19", "6L19", "5L25", "4L25", "3L25", "3S1"], + gunkshot: ["9M"], + haze: ["9M", "9L34", "7L34", "6L37", "5L43", "4L43", "3L43"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M"], + icefang: ["9M"], + infestation: ["7M", "6M"], + ironhead: ["9M"], + irontail: ["7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M"], + lick: ["9L6", "7L6", "6L7", "5L7", "4L7", "3L7", "3S0", "3S2"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightslash: ["9E", "7L26", "7E", "6L28", "6E", "5L46", "5E", "4L46", "4E"], + payback: ["7M", "6M", "5M", "4M"], + poisonfang: ["9L21", "7L21", "6L22", "5L34", "4L34", "3L34"], + poisonjab: ["9M", "9L31", "7M", "7L31", "6M", "6L34", "5M", "5L52", "4M", "4L52"], + poisontail: ["9M", "9L9", "7L9", "6L10", "5L16", "4L16", "3L16", "3S0", "3S1"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychicfangs: ["9M"], + punishment: ["7E", "6E", "5E"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + reversal: ["9M"], + rocksmash: ["6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M", "9E", "7E", "6E", "5E", "4E"], + screech: ["9L14", "7L14", "6L13", "5L19", "4L19", "3L19", "3S1"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "9L46", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["7M", "6M", "5M"], + snarl: ["9M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + spitup: ["9E", "7E", "6E", "5E", "4E", "3E"], + stockpile: ["9E", "7E", "6E", "5E", "4E", "3E"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["9L1", "7M", "7L1", "6M", "6L1", "5M", "5L37", "4M", "4L37", "3T", "3L37"], + swallow: ["9E", "7E", "6E", "5E", "4E", "3E"], + swift: ["4T", "3T"], + switcheroo: ["9E", "7E", "6E", "5E", "4E"], + swordsdance: ["9M", "7M", "7L36"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + thunderfang: ["9M"], + toxic: ["9M", "7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + venomdrench: ["7L24", "6L25"], + venoshock: ["9M", "9L24", "7M", "7L16", "6M", "6L16", "5M", "5L55"], + wrap: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S2"], + wringout: ["7L46", "7E", "6L49", "6E", "5L61", "5E", "4L55"], + xscissor: ["9M", "7M", "6M", "5M", "4M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 18, moves: ["wrap", "lick", "bite", "poisontail"], pokeball: "pokeball"}, + {generation: 3, level: 30, moves: ["poisontail", "screech", "glare", "crunch"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["wrap", "lick", "bite"], pokeball: "pokeball"}, + ], + }, + lunatone: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + allyswitch: ["8M", "7T"], + ancientpower: ["4T"], + batonpass: ["8M", "3S1"], + blizzard: ["8M", "7M", "6M", "5M", "4M"], + bodyslam: ["8M", "3T"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L7", "3S0"], + cosmicpower: ["8M", "8L25", "7L25", "7S2", "6L25", "5L34", "4L34", "3L31"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + earthpower: ["8M", "7T", "6T", "5T", "5D", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + embargo: ["7M", "7L17", "6M", "6L17", "5M", "5L31", "4M", "4L31"], + endure: ["8M", "4M", "3T"], + explosion: ["8L50", "7M", "7L45", "6M", "6L45", "5M", "5L56", "4M", "4L56", "3T", "3L49"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["8M", "8L40", "7L41", "6L41", "5L53", "4L53", "3L43"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + healblock: ["7L33", "6L33", "5L42", "4L42"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7S2", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + hypnosis: ["8L5", "7L5", "6L5", "5L12", "4L12", "3L19"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "8L45", "7T", "7L49", "6T", "6L1", "5T", "5L64"], + meteorbeam: ["8T"], + mimic: ["3T"], + moonblast: ["8L1", "7L1", "7S2", "6L1"], + moonlight: ["8L1", "5D"], + nastyplot: ["8M"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + powergem: ["8M", "7L1", "7S2"], + powerswap: ["8M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L30", "7M", "7L29", "6M", "6L29", "5M", "5L45", "4M", "4L45", "3M", "3L37", "3S1"], + psychicterrain: ["8M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "8L20", "7M", "7L1", "6M", "5M"], + psywave: ["7L13", "6L13", "5L23", "4L23", "3L25"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M", "3S1"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockpolish: ["8L10", "7M", "7L9", "6M", "6L9", "5M", "5L20", "4M", "4L20"], + rockslide: ["8M", "8L15", "7M", "7L21", "6M", "6L21", "5M", "5L25", "4M", "3T"], + rockthrow: ["8L1", "7L1", "6L1", "5L9", "4L9", "3L13"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M", "3S1"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L35", "7M", "7L37", "6M", "6L37", "5M", "5L41", "4M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + telekinesis: ["7T", "5M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + weatherball: ["8M"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["tackle", "harden", "confusion"], pokeball: "pokeball"}, + {generation: 3, level: 25, moves: ["batonpass", "psychic", "raindance", "rocktomb"]}, + {generation: 7, level: 30, moves: ["cosmicpower", "hiddenpower", "moonblast", "powergem"], pokeball: "cherishball"}, + ], + }, + solrock: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + allyswitch: ["8M", "7T"], + ancientpower: ["4T"], + batonpass: ["8M", "3S1"], + bodyslam: ["8M", "3T"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L7", "3S0"], + cosmicpower: ["8M", "8L25", "7L25", "7S2", "6L25", "5L34", "4L34", "3L31", "3S1"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + embargo: ["7M", "7L17", "6M", "6L17", "5M", "5L31", "4M", "4L31"], + endure: ["8M", "4M", "3T"], + explosion: ["8L50", "7M", "7L45", "6M", "6L45", "5M", "5L56", "4M", "4L56", "3T", "3L49"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + firespin: ["8M", "7L5", "6L5", "5L12", "4L12", "3L19"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flareblitz: ["8M", "8L1", "7L1"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + healblock: ["7L33", "6L33", "5L42", "4L42"], + heatwave: ["8M", "7T", "6T", "5T"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "7S2", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + hypnosis: ["8L5"], + incinerate: ["6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + meteorbeam: ["8T"], + mimic: ["3T"], + morningsun: ["8L1", "5D"], + naturalgift: ["4M"], + overheat: ["8M", "7M", "6M", "5M", "4M", "3M"], + painsplit: ["7T", "6T", "5T", "4T"], + powerswap: ["8M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L30", "7M", "7L29", "6M", "6L29", "5M", "5L33", "4M", "3M", "3S1"], + psychicterrain: ["8M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7L13", "6L13", "5L23", "4L23", "3L25"], + raindance: ["8M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockpolish: ["8L10", "7M", "7L9", "6M", "6L9", "5M", "5L20", "4M", "4L20"], + rockslide: ["8M", "8L15", "7M", "7L21", "6M", "6L21", "5M", "5L45", "4M", "4L45", "3T", "3L37"], + rockthrow: ["8L1", "7L1", "6L1", "5L9", "4L9", "3L13"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "8L40", "7M", "7L41", "7S2", "6M", "6L41", "5M", "5L53", "4M", "4L53", "3M", "3L43"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L35", "7M", "7L37", "7S2", "6M", "6L37", "5M", "5L41", "4M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M", "3S1"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + telekinesis: ["7T", "5M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + weatherball: ["8M"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "8L45", "7T", "7L49", "6T", "6L1", "5T", "5L64"], + zenheadbutt: ["8M", "8L20", "7T", "6T", "5T", "5D", "4T"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["tackle", "harden", "confusion"], pokeball: "pokeball"}, + {generation: 3, level: 41, moves: ["batonpass", "psychic", "sunnyday", "cosmicpower"]}, + {generation: 7, level: 30, moves: ["cosmicpower", "hiddenpower", "solarbeam", "stoneedge"], pokeball: "cherishball"}, + ], + }, + barboach: { + learnset: { + amnesia: ["9M", "9L18", "8M", "8L18", "7L15", "6L15", "5L18", "4L18", "3L21"], + aquatail: ["9L24", "8L24", "7T", "7L28", "6T", "6L28", "5T", "5L35", "4T", "4L35"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M", "7E", "6E", "5E", "4E"], + earthpower: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + earthquake: ["9M", "9L36", "8M", "8L36", "7M", "7L32", "6M", "6L32", "5M", "5L39", "4M", "4L39", "3M", "3L31"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fissure: ["9L48", "8L48", "7L44", "6L44", "5L47", "4L47", "3L41"], + flail: ["9E", "8E", "7E", "6E", "5E", "4E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L42", "8M", "8L42", "7L39", "6L39", "5L43", "4L43", "3L36"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hydropump: ["9M", "8M", "7E", "6E", "5E", "4E"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + liquidation: ["9M"], + magnitude: ["7L20", "6L20", "5L26", "4L26", "3L16"], + mimic: ["3T"], + mudbomb: ["7L13", "6L13", "5L14", "4L14"], + muddywater: ["9L31", "8M", "8L31", "7L35", "7E", "6L35", "6E", "5E"], + mudshot: ["9M", "8M", "7E", "6E", "5E"], + mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4T", "4L1", "3T", "3L1"], + mudsport: ["7L6", "6L6", "5L6", "4L6", "3L6"], + naturalgift: ["4M"], + outrage: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L6", "8M", "8L6", "7M", "7L25", "6M", "6L25", "5M", "5L31", "4M", "4L31", "3M", "3L26"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "5D", "4M", "3T"], + snore: ["9L6", "8M", "8L6", "7T", "7L25", "6T", "6L25", "5T", "5L31", "4T", "4L31", "3T", "3L26"], + spark: ["9E", "8E", "7E", "6E", "5E", "5D", "4E", "3E"], + stealthrock: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + takedown: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + terablast: ["9M"], + thrash: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L9", "6L9", "5L10", "4L10", "3L11"], + waterpulse: ["9M", "9L12", "8L12", "7T", "7L17", "6T", "6L17", "5L22", "4M", "4L22", "3M"], + watersport: ["7L6", "6L6", "5L6", "4L6", "3L6"], + whirlpool: ["8M", "7E", "6E", "5E", "4M", "4E", "3E"], + zenheadbutt: ["9M"], + }, + }, + whiscash: { + learnset: { + amnesia: ["9M", "9L18", "8M", "8L18", "7L15", "6L15", "5L18", "4L18", "3L21"], + aquatail: ["9L24", "8L24", "7T", "7L28", "6T", "6L28", "5T", "5L39", "4T", "4L39", "4S0"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + belch: ["9L1", "8L1", "7L1"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L40", "8M", "8L40", "7M", "7L34", "6M", "6L34", "5M", "5L45", "4M", "4L45", "4S0", "3M", "3L36"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fissure: ["9L56", "8L56", "7L52", "6L52", "5L57", "4L57", "3L56"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L48", "8M", "8L48", "7L45", "6L45", "5L51", "4L51", "3L46"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M", "4S0"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + liquidation: ["9M", "8M"], + magnitude: ["7L20", "6L20", "5L26", "4L26", "3L16"], + mimic: ["3T"], + mudbomb: ["7L13", "6L13", "5L14", "4L14"], + muddywater: ["9L33", "8M", "8L33", "7L39", "6L39"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1", "3T", "3L1"], + mudsport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + naturalgift: ["4M"], + outrage: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L1", "8M", "8L1", "7M", "7L25", "6M", "6L25", "5M", "5L33", "4M", "4L33", "3M", "3L26"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M", "8M"], + scald: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["9L1", "8M", "8L1", "7T", "7L25", "6T", "6L25", "5T", "5L33", "4T", "4L33", "3T", "3L26"], + spikes: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L0", "8L0", "7L1"], + tickle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L10", "4L10", "3L11"], + waterpulse: ["9M", "9L12", "8L12", "7T", "7L17", "6T", "6L17", "5L22", "4M", "4L22", "3M"], + watersport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "4M"], + zenheadbutt: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "4S0"], + }, + eventData: [ + {generation: 4, level: 51, gender: "F", nature: "Gentle", abilities: ["oblivious"], moves: ["earthquake", "aquatail", "zenheadbutt", "gigaimpact"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 10}, + {generation: 7, level: 10}, + ], + }, + corphish: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["9E", "8E", "7E", "6E", "5E", "4T", "4E", "3E"], + aquajet: ["9E", "8E", "7E", "6E"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "7E", "6E", "5E", "4E", "3T", "3E"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bubble: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + bubblebeam: ["9L12", "8L12", "7L14", "6L14", "5L20", "4L20", "3L19"], + captivate: ["4M"], + chillingwater: ["9M"], + chipaway: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + counter: ["3T"], + crabhammer: ["9L44", "8L44", "7L43", "6L38", "5L38", "4L38", "3L34"], + crunch: ["9M", "9L40", "8M", "8L40", "7L39", "6L39", "5L47", "4L47", "3L43"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["9E", "8E", "7E", "6E", "5E", "3T"], + doublehit: ["9L20", "8L20", "7L20", "6L20"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M", "7E", "6E", "5E", "4E"], + endeavor: ["9L48", "8L48", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + guillotine: ["9L52", "8L52", "7L48", "6L48", "5L53", "4L53", "3L44"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["9L1", "8L1", "7L5", "6L5", "5L7", "5D", "4L7", "3L7"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "8M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "9L16", "8L16", "7T", "7L23", "7E", "6T", "6L23", "6E", "5T", "5L26", "5E", "4T", "4L26", "4E", "3L25"], + leer: ["9L4", "8L4", "7L10", "6L10", "5L13", "4L13", "3L13"], + liquidation: ["9M"], + metalclaw: ["9M", "9E", "8E", "7E", "6E", "5E", "5D", "4E"], + mimic: ["3T"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["4T", "3T"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + nightslash: ["9L28", "8L28", "7L26", "6L26", "5L35", "4L35"], + payback: ["8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "9L24", "8M", "8L24", "7M", "7L17", "6M", "6L17", "5M", "5L23", "4M", "4L23", "3M", "3L22"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + razorshell: ["9L32", "8M", "8L32", "7L31", "6L31"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + slash: ["9E", "8E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + switcheroo: ["9E", "8E", "7E", "6E"], + swordsdance: ["9M", "9L36", "8M", "8L36", "7M", "7L37", "6M", "6L37", "5M", "5L44", "4M", "4L44", "3T", "3L37"], + takedown: ["9M"], + taunt: ["9M", "9L8", "8M", "8L8", "7M", "7L34", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3M", "3L31"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trumpcard: ["7E", "6E", "5E"], + visegrip: ["7L7", "6L7", "5L10", "4L10", "3L10"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + watersport: ["3S0"], + whirlpool: ["8M", "4M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["bubble", "watersport"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + crawdaunt: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bubble: ["7L1", "6L1", "5L1", "4L1", "3L1"], + bubblebeam: ["9L12", "8L12", "7L14", "6L14", "5L20", "4L20", "3L19"], + captivate: ["4M"], + chillingwater: ["9M"], + closecombat: ["9M", "8M"], + confide: ["7M", "6M"], + counter: ["3T"], + crabhammer: ["9L52", "8L52", "7L48", "6L44", "5L44", "4L44", "3L38", "3S0", "3S1"], + crunch: ["9M", "9L46", "8M", "8L46", "7L43", "6L43", "5L57", "4L57", "3L51"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doublehit: ["9L20", "8L20", "7L20", "6L20"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + endeavor: ["9L58", "8L58", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + guillotine: ["9L64", "8L64", "7L54", "6L1", "5L65", "4L65", "3L52", "3S0"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "9L16", "8L16", "7T", "7L23", "6T", "6L23", "5T", "5L26", "4T", "4L26", "3L25", "3S1"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + liquidation: ["9M", "8M", "7T"], + metalclaw: ["9M"], + mimic: ["3T"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["4T", "3T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + nightslash: ["9L28", "8L28", "7L26", "6L26", "5L39", "4L39"], + payback: ["8M", "7M", "6M", "5M", "4M"], + protect: ["9M", "9L24", "8M", "8L24", "7M", "7L17", "6M", "6L17", "5M", "5L23", "4M", "4L23", "3M", "3L22"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + razorshell: ["9L34", "8M", "8L34", "7L32", "6L32"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L0", "8M", "8L0", "7L1", "6L30", "5L30", "4T", "4L30", "3T"], + swordsdance: ["9M", "9L40", "8M", "8L40", "7M", "7L40", "6M", "6L40", "5M", "5L52", "4M", "4L52", "3T", "3L43", "3S0", "3S1"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L36", "6M", "6L34", "5M", "5L34", "4M", "4L34", "3M", "3L33", "3S0", "3S1"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + visegrip: ["7L1", "6L1", "5L1", "4L1", "3L1"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["taunt", "crabhammer", "swordsdance", "guillotine"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["knockoff", "taunt", "crabhammer", "swordsdance"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 7, level: 10}, + ], + }, + baltoy: { + learnset: { + allyswitch: ["8M", "7T", "5M"], + ancientpower: ["8L18", "7L19", "6L19", "5L26", "4T", "4L25", "3L25"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L6", "7L1", "6L1", "5L1", "4L1", "3L1"], + cosmicpower: ["8M", "8L24", "7L22", "6L22", "5L37", "4L45", "3L37"], + dazzlinggleam: ["8M", "7M", "6M"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + drillrun: ["8M", "7T", "6T", "5T"], + earthpower: ["8M", "8L30", "7T", "7L37", "6T", "6L37", "5T", "5L51", "4T", "4L53"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + eerieimpulse: ["8M"], + endure: ["8M", "4M", "3T"], + expandingforce: ["8T"], + explosion: ["8L42", "7M", "7L46", "6M", "6L46", "5M", "5L60", "4M", "4L71", "3T", "3L45"], + extrasensory: ["8L27", "7L31", "6L28", "5L43"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "5D", "4T"], + guardsplit: ["8L36", "7L34", "6L34", "5L48"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + harden: ["8L1", "7L1", "6L1", "5L4", "4L3", "3L3"], + headbutt: ["4T"], + healblock: ["7L10", "6L10", "5L54", "4L61"], + hex: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + imprison: ["8M", "8L21", "7L43", "6L43"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["8L1", "7L7", "6L7", "5L11", "4T", "4L7", "3T", "3L7", "3S0"], + naturalgift: ["4M"], + powersplit: ["8L36", "7L34", "6L34", "5L48"], + powerswap: ["8M"], + powertrick: ["8L12", "7L25", "6L17", "5L31", "4L31"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["8L15", "7L16", "6L13", "5L15", "4L11", "3L11", "3S0"], + psychic: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychicterrain: ["8M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rapidspin: ["8L3", "7L4", "6L4", "5L7", "5D", "4L5", "3L5"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocktomb: ["8M", "8L9", "7M", "7L13", "6M", "6L10", "5M", "5L18", "4M", "4L15", "3M", "3L15", "3S0"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + sandstorm: ["8M", "8L39", "7M", "7L40", "6M", "6L40", "5M", "5L34", "4M", "4L37", "3M", "3L31"], + sandtomb: ["8M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "8L33", "7L28", "6L25", "5L21", "4L19", "3T", "3L19"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + telekinesis: ["7T", "5M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["8M", "7T", "6T", "5T", "5D", "4T"], + }, + eventData: [ + {generation: 3, level: 17, moves: ["refresh", "rocktomb", "mudslap", "psybeam"]}, + ], + }, + claydol: { + learnset: { + allyswitch: ["8M", "7T", "5M"], + ancientpower: ["8L18", "7L19", "6L19", "5L26", "4T", "4L25", "3L25"], + bodypress: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + cosmicpower: ["8M", "8L24", "7L22", "6L22", "5L47", "4L51", "3L42"], + dazzlinggleam: ["8M", "7M", "6M"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + drillrun: ["8M", "7T", "6T", "5T"], + earthpower: ["8M", "8L30", "7T", "7L40", "6T", "6L40", "5T", "5L59", "4T", "4L62"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + eerieimpulse: ["8M"], + endure: ["8M", "4M", "3T"], + expandingforce: ["8T"], + explosion: ["8L48", "7M", "7L58", "6M", "6L58", "5M", "5L72", "4M", "4L86", "3T", "3L55"], + extrasensory: ["8L27", "7L31", "6L28", "5L39"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + guardsplit: ["8L38", "7L34", "6L34", "5L54"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + healblock: ["7L10", "6L10", "5L64", "4L73"], + hex: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8L0", "7M", "7L1", "6M", "6L36", "5M", "5L36", "4M", "4L36", "3M", "3L36"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + imprison: ["8M", "8L21", "7L52", "6L52"], + irondefense: ["8M"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mudslap: ["8L1", "7L7", "6L7", "5L11", "4T", "4L7", "3T", "3L7"], + nastyplot: ["8M"], + naturalgift: ["4M"], + powersplit: ["8L38", "7L34", "6L34", "5L54"], + powerswap: ["8M"], + powertrick: ["8L12", "7L25", "6L17", "5L31", "4L31"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["8L15", "7L16", "6L13", "5L15", "4L11", "3L11"], + psychic: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychicterrain: ["8M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rapidspin: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "8L9", "7M", "7L13", "6M", "6L10", "5M", "5L18", "4M", "4L15", "3M", "3L15"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + sandstorm: ["8M", "8L43", "7M", "7L46", "6M", "6L46", "5M", "5L34", "4M", "4L40", "3M", "3L31"], + sandtomb: ["8M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "8L33", "7L28", "6L25", "5L21", "4L19", "3T", "3L19"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + storedpower: ["8M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + telekinesis: ["7T", "5M"], + teleport: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + trickroom: ["8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["8M", "7T", "6T", "5T", "4T"], + }, + }, + lileep: { + learnset: { + acid: ["8L4", "7L5", "6L5", "5L8", "5D", "5S0", "4L8", "3L15"], + amnesia: ["8M", "8L28", "7L36", "6L29", "5L29", "4L29", "3L36"], + ancientpower: ["8L16", "7L17", "6L17", "5L43", "4T", "4L43", "3L43"], + astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + barrier: ["7E", "6E", "5E", "4E", "3E"], + bind: ["8E", "7T", "6T", "5T"], + bodyslam: ["8M", "3T"], + brine: ["8M", "8L24", "7L21", "6L21"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8L8", "7L13", "6L13", "5L22", "4L22", "3L29"], + constrict: ["7L1", "6L1", "5L1", "5S0", "4L1", "3L8"], + curse: ["8E", "7E", "6E", "5E", "4E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + endure: ["8M", "7E", "6E", "5E", "4M", "3T"], + energyball: ["8M", "8L44", "7M", "7L41", "6M", "6L41", "5M", "5L50", "4M", "4L50"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gastroacid: ["8L32", "7T", "7L31", "6T", "6L31", "5T", "5L36", "4T", "4L36"], + gigadrain: ["8M", "8L36", "7T", "7L26", "6T", "6L26", "5T", "5D", "4M", "3M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + ingrain: ["8L12", "7L9", "6L9", "5L15", "4L15", "3L22"], + megadrain: ["8L20", "7E", "6E", "5E"], + meteorbeam: ["8T"], + mimic: ["3T"], + mirrorcoat: ["8E", "7E", "6E", "5E", "5D", "4E", "3E"], + mudshot: ["8M"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["3T"], + recover: ["8E", "7E", "6E", "5E", "5S0", "4E", "3E"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "5S0", "4M", "4E", "3T", "3E"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spitup: ["8L41", "7L46", "6L46", "5L57", "4L57", "3L50"], + stealthrock: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + stockpile: ["8L41", "7L46", "6L46", "5L57", "4L57", "3L50"], + stringshot: ["4T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["8L41", "7L46", "6L46", "5L57", "4L57", "3L50"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + tickle: ["8E", "7E", "6E", "5E", "4E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + worryseed: ["7T", "6T", "5T", "4T"], + wrap: ["8L1"], + wringout: ["7L52", "7E", "6L52", "6E", "5L64", "5E", "4L64", "4E"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["recover", "rockslide", "constrict", "acid"], pokeball: "cherishball"}, + ], + }, + cradily: { + learnset: { + acid: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + amnesia: ["8M", "8L28", "7L36", "6L29", "5L29", "4L29", "3L36"], + ancientpower: ["8L16", "7L17", "6L17", "5L36", "4T", "4L36", "3L48"], + astonish: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bind: ["7T", "6T", "5T"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["8M", "3T"], + brine: ["8M", "8L24", "7L21", "6L21"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletseed: ["8M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8L1", "7L13", "6L13", "5L22", "4L22", "3L29"], + constrict: ["7L1", "6L1", "5L1", "4L1", "3L1"], + dig: ["8M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + energyball: ["8M", "8L48", "7M", "7L44", "6M", "6L44", "5M", "5L56", "4M", "4L56"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gastroacid: ["8L32", "7T", "7L31", "6T", "6L31", "5T", "5L46", "4T", "4L46"], + gigadrain: ["8M", "8L36", "7T", "7L26", "6T", "6L26", "5T", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyterrain: ["8M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + infestation: ["7M", "6M"], + ingrain: ["8L12", "7L1", "6L1", "5L1", "4L1", "3L1"], + leechseed: ["8L1"], + megadrain: ["8L20"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + powerwhip: ["8M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["3T"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + spitup: ["8L43", "7L52", "6L1", "5L66", "4L66", "3L60"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stockpile: ["8L43", "7L52", "6L1", "5L66", "4L66", "3L60"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + stringshot: ["4T"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["8L43", "7L52", "6L1", "5L66", "4L66", "3L60"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + worryseed: ["7T", "6T", "5T", "4T"], + wrap: ["8L1"], + wringout: ["7L1", "6L1", "5L76", "4L76"], + }, + }, + anorith: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["8L16", "7L21", "6L21", "5L31", "4T", "4L31", "3L37"], + aquajet: ["8E", "7E", "6E"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "8L24", "7L29", "6L29"], + bugbite: ["8L20", "7T", "7L25", "6T", "6L25", "5T"], + captivate: ["4M"], + confide: ["7M", "6M"], + crosspoison: ["8M", "7E", "6E", "5E", "5D", "5S0", "4E"], + crushclaw: ["8L32", "7L39", "6L39", "5L55", "4L55"], + curse: ["8E", "7E", "6E", "5E", "4E"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["8L1", "7L10", "6L10", "5L37", "4T", "4L37", "3T", "3L43"], + harden: ["8L1", "7L1", "6L1", "5L1", "5S0", "4L1", "3L7"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + irondefense: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + metalclaw: ["8L12", "7L17", "6L17", "5L19", "4L19", "3L25"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["4T", "3T"], + mudsport: ["7L4", "6L4", "5L7", "5S0", "4L7", "3L13"], + naturalgift: ["4M"], + protect: ["8M", "8L41", "7M", "7L49", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M", "3L31"], + rapidspin: ["8E", "7E", "6E", "5E", "4E", "3E"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "8L36", "7L55", "6L49", "5L49", "4L49", "3L55"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8E", "7E", "6E", "5E", "4E"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scratch: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + screech: ["8M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M", "3M"], + slash: ["8L28", "7L34", "6L34", "5L43", "4L43", "3L49"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["8L8", "7M", "7L13", "6M", "6L13", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "5D", "4M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + watergun: ["8L4", "7L7", "6L7", "5L13", "5S0", "4L13", "3L19"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + xscissor: ["8M", "8L44", "7M", "7L44", "6M", "6L44", "5M", "5L61", "4M", "4L61"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["harden", "mudsport", "watergun", "crosspoison"], pokeball: "cherishball"}, + ], + }, + armaldo: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + ancientpower: ["8L16", "7L21", "6L21", "5L31", "4T", "4L31", "3L37"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "8L24", "7L29", "6L29"], + brutalswing: ["8M", "7M"], + bugbite: ["8L20", "7T", "7L25", "6T", "5T"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crosspoison: ["8M"], + crushclaw: ["8L32", "7L39", "6L1", "5L67", "4L67"], + cut: ["6M", "5M", "4M", "3M"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["8L1", "7L10", "6L10", "5L37", "4T", "4L37", "3T", "3L46"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + irondefense: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + liquidation: ["8M", "7T"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + metalclaw: ["8L12", "7L17", "6L17", "5L19", "4L19", "3L25"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudshot: ["8M"], + mudslap: ["4T", "3T"], + mudsport: ["7L1", "6L1", "5L1", "4L1", "3L1"], + naturalgift: ["4M"], + protect: ["8M", "8L43", "7M", "7L53", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3M", "3L31"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M", "8L36", "7L61", "6L55", "5L55", "4L55", "3L64"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scratch: ["7L1", "6L1", "5L1", "4L1", "3L1"], + screech: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["8M"], + slash: ["8L28", "7L25", "6L25", "5L46", "4L46", "3L55"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["8L1", "7M", "7L13", "6M", "6L13", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swordsdance: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + xscissor: ["8M", "8L48", "7M", "7L46", "6M", "6L46", "5M", "5L73", "4M", "4L73"], + }, + }, + feebas: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "7E", "6E", "5E"], + captivate: ["7E", "6E", "5E", "5D", "4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9E", "8E", "7E", "6E", "5E", "4E", "3E"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragonbreath: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + dragonpulse: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L25", "8L25", "7L30", "6L30", "5L30", "4L30", "3L30"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hypnosis: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4E", "3E"], + mimic: ["3T"], + mirrorcoat: ["9E", "8E", "7E", "6E", "5E", "5D", "4E", "4S0", "3E"], + mist: ["9E", "8E", "7E", "6E", "5E", "4E"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + splash: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1", "4S0", "3L1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + tackle: ["9L15", "8L15", "7L15", "6L15", "5L15", "4L15", "3L15"], + terablast: ["9M"], + tickle: ["9E", "8E", "7E", "6E", "5E", "4E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 4, level: 5, gender: "F", nature: "Calm", moves: ["splash", "mirrorcoat"], pokeball: "cherishball"}, + ], + }, + milotic: { + learnset: { + aquaring: ["9L12", "8L12", "7L17", "6L21", "5L49", "4L49"], + aquatail: ["9L32", "8L32", "7T", "7L31", "6T", "6L29", "5T", "5L29", "4T", "4L29"], + attract: ["9L16", "8M", "8L16", "7M", "7L34", "6M", "6L37", "5M", "5L41", "4M", "4L41", "3M", "3L45"], + avalanche: ["9M", "8M", "4M"], + bind: ["7T", "6T", "5T"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + breakingswipe: ["8M"], + brine: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["7L21", "6L24", "5L25", "4M", "4L25"], + chillingwater: ["9M"], + coil: ["9L48", "8L48", "7L41", "6L44"], + confide: ["7M", "6M"], + confuseray: ["9M"], + disarmingvoice: ["9M", "9L4", "8L4", "7L11", "6L11"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragontail: ["9M", "9L24", "8L24", "7M", "7L24", "6M", "6L27", "5M"], + drainingkiss: ["9M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L1", "8L1"], + flipturn: ["9M", "8T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + haze: ["9M"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L52", "8M", "8L52", "7L44", "6L37", "5L37", "5S3", "4L37", "4S1", "4S2", "3L40"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "5S3", "5S4", "4M", "4S1", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "4S2", "3T"], + imprison: ["9M", "8M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + lifedew: ["9L20", "8L20"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + mirrorcoat: ["5S3"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M", "9L44", "8M", "8L44", "7M", "7L47", "6M", "6L33", "5M", "5L33", "4M", "4L33", "4S1", "4S2", "3M", "3L35", "3S0"], + recover: ["9L28", "8L28", "7L27", "6L21", "5L21", "5S3", "5S4", "4L21", "4S1", "4S2", "3L30", "3S0"], + refresh: ["7L1", "6L7", "5L9", "4L9", "3L15"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L36", "8M", "8L36", "7M", "7L37", "6M", "6L41", "5M", "5L45", "4M", "4L45", "3M", "3L50"], + scald: ["9M", "8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + secretpower: ["6M", "4M", "3M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + splash: ["9L1", "8L1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "9L40", "8M", "8L40", "7M", "6M", "5M", "5S4", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "5S4", "4M", "3M"], + tripleaxel: ["8T"], + twister: ["9L8", "8L8", "7L14", "6L14", "5L17", "4T", "4L17", "3L25", "3S0"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["9M", "9L0", "8L0", "7T", "7L1", "6T", "6L13", "5L13", "4M", "4L13", "3M", "3L20", "3S0"], + watersport: ["7L1", "6L4", "5L5", "4L5", "3L10"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "4M"], + wrap: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L5"], + }, + eventData: [ + {generation: 3, level: 35, moves: ["waterpulse", "twister", "recover", "raindance"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "F", nature: "Bold", moves: ["recover", "raindance", "icebeam", "hydropump"], pokeball: "cherishball"}, + {generation: 4, level: 50, shiny: true, gender: "M", nature: "Timid", moves: ["raindance", "recover", "hydropump", "icywind"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, moves: ["recover", "hydropump", "icebeam", "mirrorcoat"], pokeball: "cherishball"}, + {generation: 5, level: 58, gender: "M", nature: "Lax", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["recover", "surf", "icebeam", "toxic"], pokeball: "cherishball"}, + ], + }, + castform: { + learnset: { + amnesia: ["7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + avalanche: ["4M"], + blizzard: ["7M", "7L35", "6M", "6L35", "5M", "5L50", "4M", "3M"], + bodyslam: ["3T"], + captivate: ["4M"], + clearsmog: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + cosmicpower: ["7E", "6E"], + defensecurl: ["3T"], + defog: ["7T"], + disable: ["7E", "6E", "5E", "4E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + ember: ["7L10", "6L10", "5L10", "5D", "4L10", "3L10"], + endure: ["4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M", "3M"], + fireblast: ["7M", "7L35", "6M", "6L35", "5M", "5L50", "4M", "3M"], + flamethrower: ["7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["7E", "6E", "5E", "4E", "3E"], + guardswap: ["7E", "6E"], + hail: ["7M", "7L20", "6M", "6L20", "5M", "5L30", "4M", "4L20", "3M", "3L20"], + headbutt: ["7L15", "6L15", "5L20"], + hex: ["7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["7L45", "6L45"], + hydropump: ["7L35", "6L35", "5L50"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + lastresort: ["7T", "6T", "5T", "4T"], + luckychant: ["7E", "6E", "5E", "4E"], + mimic: ["3T"], + naturalgift: ["4M"], + ominouswind: ["7E", "6E", "5E", "5D", "4T", "4E"], + powdersnow: ["7L10", "6L10", "5L10", "4L10", "3L10"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + raindance: ["7M", "7L20", "6M", "6L20", "5M", "5L30", "4M", "4L20", "3M", "3L20"], + reflecttype: ["7E", "6E"], + rest: ["7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + sandstorm: ["7M", "6M", "5M", "4M", "3M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "7L20", "6M", "6L20", "5M", "5L30", "4M", "4L20", "3M", "3L20"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + tackle: ["7L1", "6L1", "5L1", "4L1", "3L1"], + tailwind: ["7T", "6T", "5T", "4T"], + thief: ["7M", "6M", "5M", "4M", "3M"], + thunder: ["7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderwave: ["7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + watergun: ["7L10", "6L10", "5L10", "4L10", "3L10"], + waterpulse: ["7T", "6T", "5D", "4M", "3M"], + weatherball: ["7L25", "6L25", "5L40", "4L30", "3L30"], + workup: ["7M", "5M"], + }, + }, + kecleon: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + afteryou: ["7T", "6T", "5T"], + ancientpower: ["7L21", "6L1", "5L55", "4T", "4L55", "3L49"], + aquatail: ["7T", "6T", "5T", "4T"], + astonish: ["7L1", "6L1", "5L1", "4L1", "3L1"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bind: ["7T", "7L4", "6T", "6L4", "5T", "5L4", "4L4", "3L4"], + blizzard: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + camouflage: ["7L30", "7E", "6L30", "6E"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + counter: ["3T"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + dig: ["6M", "5M", "4M", "3M"], + disable: ["7E", "6E", "5E", "4E", "3E"], + dizzypunch: ["7E", "6E", "5E", "4E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["7T", "6T", "5T", "4M"], + dynamicpunch: ["3T"], + endure: ["4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + fakeout: ["7E", "6E", "5E", "4E"], + feint: ["7L10", "6L10", "5L14", "4L14"], + feintattack: ["7L16", "6L7", "5L7", "5D", "4L7", "3L7"], + fireblast: ["7M", "6M", "5M", "4M", "3M"], + firepunch: ["7T", "6T", "5T", "4T", "3T"], + flamethrower: ["7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + foulplay: ["7T", "7E", "6T", "6E", "5T", "5E"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + furyswipes: ["7L13", "6L10", "5L10", "4L10", "3L12"], + grassknot: ["7M", "6M", "5M", "4M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icepunch: ["7T", "6T", "5T", "4T", "3T"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T", "4M", "3M"], + knockoff: ["7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + lick: ["7L1", "6L1", "5L1", "4L1", "3L1"], + lowkick: ["7T", "6T", "5T", "4T"], + magiccoat: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + megakick: ["3T"], + megapunch: ["3T"], + metronome: ["3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + nastyplot: ["7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + poweruppunch: ["7E", "6M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psybeam: ["7L18", "6L18", "5L18", "4L15", "3L17"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + recover: ["7E", "6E", "5E", "4E"], + recycle: ["7T", "6T", "5T", "4M"], + reflecttype: ["5D"], + rest: ["7M", "6M", "5M", "4M", "3M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + scratch: ["7L1", "6L1", "5L1", "4L1", "3L1"], + screech: ["7L38", "6L32", "5L32", "4L32", "3L24"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["7M", "7L33", "6M", "6L33", "5M", "5L49", "4M", "4L49"], + shadowsneak: ["7L7", "6L7", "5L22", "4L20"], + shockwave: ["7T", "6T", "4M", "3M"], + skillswap: ["7T", "7E", "6T", "6E", "5T", "5E", "5D", "4M", "3M"], + slash: ["7L25", "6L25", "5L27", "4L25", "3L31"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + stealthrock: ["7T", "6T", "5T", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["7M", "7L42", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3T", "3L40"], + suckerpunch: ["7L46", "6L43", "5L43", "4T", "4L43"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + synchronoise: ["7L50", "6L1", "5L58"], + tailwhip: ["7L1", "6L1", "5L1", "4L1", "3L1"], + thief: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + thunder: ["7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["7T", "6T", "5T", "4T", "3T"], + thunderwave: ["7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + trickroom: ["7M", "6M", "5M", "4M"], + waterpulse: ["7T", "6T", "4M", "3M"], + wonderroom: ["7T", "6T", "5T"], + workup: ["7M", "5M"], + }, + }, + shuppet: { + learnset: { + allyswitch: ["7T"], + astonish: ["9L1", "7E", "6E", "5E", "4E", "3E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["3T"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9E", "7E", "6E", "5E", "4E"], + curse: ["9L26", "7L26", "6L19", "5L13", "4L13", "3L20"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + dazzlinggleam: ["9M", "7M", "6M"], + destinybond: ["9E", "7E", "6E", "5E", "5D", "4E", "3E"], + disable: ["9E", "7E", "6E", "5E", "4E", "3E"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L43", "4M", "4L38"], + encore: ["9M"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L19", "6L19", "5L28", "4L28", "3L37", "3S0"], + flash: ["6M", "5M", "4M", "3M"], + foresight: ["7E", "6E", "5E", "4E", "3E"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + grudge: ["7L46", "6L46", "5L50", "4L46", "3L56"], + gunkshot: ["9M", "9E", "7T", "7E", "6E", "5E"], + headbutt: ["4T"], + helpinghand: ["9M"], + hex: ["9M", "9L22", "7L22", "6L22", "5L31"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M", "9E", "7E", "6E", "5E", "4E", "3E"], + knockoff: ["7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + lashout: ["9M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["7T", "6T", "5T"], + metronome: ["9M"], + mimic: ["3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightshade: ["9M", "9L7", "7L7", "6L7", "5L8", "5D", "4L8", "3L13"], + ominouswind: ["7E", "6E", "5E", "4T"], + painsplit: ["7T", "6T", "5T", "5D", "4T"], + payback: ["7M", "6M", "5M", "4M", "4E"], + phantomforce: ["9M", "9L48", "7L54", "7E", "6L54", "6E"], + poltergeist: ["9M"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + pursuit: ["7E", "6E", "5E", "4E"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["9L34", "7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["9L4", "7L4", "6L4", "5L5", "4L5", "3L8"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L35", "4M", "4L31", "3M", "3L44", "3S0"], + shadowsneak: ["9L19", "7L13", "7E", "6L13", "6E", "5L20", "5E", "4L20", "4E"], + shockwave: ["7T", "6T", "4M", "3M"], + skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "7L42", "6T", "6L42", "5T", "5L46", "4M", "4L43", "3M", "3L49"], + snore: ["7T", "6T", "3T"], + spite: ["9M", "9L10", "7T", "7L10", "6T", "6L10", "5T", "5L16", "4T", "4L16", "3L25", "3S0"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L38", "7L38", "6L34", "5L38", "4T", "4L35"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "9L42", "7T", "7L50", "6T", "6L50", "5T", "5L55", "4T", "4L50"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + willowisp: ["9M", "9L16", "7M", "7L16", "6M", "6L13", "5M", "5L23", "4M", "4L23", "3L32", "3S0"], + }, + eventData: [ + {generation: 3, level: 45, abilities: ["insomnia"], moves: ["spite", "willowisp", "feintattack", "shadowball"], pokeball: "pokeball"}, + ], + }, + banette: { + learnset: { + allyswitch: ["7T"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["3T"], + burningjealousy: ["9M"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + cottonguard: ["5S1"], + curse: ["9L26", "7L26", "6L1", "5L1", "4L1", "3L1", "3S0"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + dazzlinggleam: ["9M", "7M", "6M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + embargo: ["7M", "7L34", "6M", "6L34", "5M", "5L51", "4M", "4L42"], + encore: ["9M"], + endure: ["9M", "4M", "3T"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L19", "6L19", "5L28", "5S1", "4L28", "3L39", "3S0"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grudge: ["7L52", "6L52", "5L66", "4L58", "3L64"], + gunkshot: ["9M", "7T"], + headbutt: ["4T"], + helpinghand: ["9M", "3S0"], + hex: ["9M", "9L22", "7L22", "6L22", "5L31", "5S1"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + infestation: ["7M", "6M"], + knockoff: ["9M", "9L0", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + lashout: ["9M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["7T", "6T", "5T"], + metronome: ["9M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightshade: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["7M", "6M", "5M", "4M"], + phantomforce: ["9M", "9L53", "7L1", "6L1"], + poltergeist: ["9M"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["9L34", "7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L35", "5S1", "4M", "4L31", "3M", "3L48", "3S0"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shadowsneak: ["9L19", "7L13", "6L13", "5L20", "4L20"], + shockwave: ["7T", "6T", "4M", "3M"], + skillswap: ["9M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "7L46", "6T", "6L46", "5T", "5L58", "4M", "4L51", "3M", "3L55"], + snore: ["7T", "6T", "3T"], + spite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L16", "4T", "4L16", "3L25"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["9L40", "7L40", "6L34", "5L42", "4T", "4L35"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swordsdance: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["7T"], + thunder: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + trick: ["9M", "9L46", "7T", "7L58", "6T", "6L58", "5T", "5L75", "4T", "4L66"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + willowisp: ["9M", "9L16", "7M", "7L16", "6M", "6L13", "5M", "5L23", "4M", "4L23", "3L32"], + }, + eventData: [ + {generation: 3, level: 37, abilities: ["insomnia"], moves: ["helpinghand", "feintattack", "shadowball", "curse"]}, + {generation: 5, level: 37, gender: "F", isHidden: true, moves: ["feintattack", "hex", "shadowball", "cottonguard"]}, + ], + encounters: [ + {generation: 5, level: 32}, + ], + }, + duskull: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L9", "6L9", "5L14", "4L14", "3L16", "3S1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L12", "8L12", "7L30", "6L17", "5L17", "4L17", "3L23", "3S1"], + curse: ["9L36", "8L36", "7L33", "6L30", "5L30", "4L30", "3L34", "3S0"], + darkpulse: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E", "4M"], + destinybond: ["7E", "6E", "5E", "4E", "3E"], + disable: ["9L4", "8L4", "7L6", "6L6", "5L6", "5D", "4L6", "3L5"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + feintattack: ["7E", "6E", "5E", "4E", "3E"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + foresight: ["7L14", "6L9", "5L9", "4L9", "3L12"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L44", "8M", "8L44", "7L54", "6L49", "5L49", "4L46", "3L49"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + grudge: ["8E", "7E", "6E", "5E", "4E", "3E"], + haze: ["9M", "9E", "8E", "7E", "6E"], + headbutt: ["4T"], + helpinghand: ["9M", "8M", "3S1"], + hex: ["9M", "9L32", "8M", "8L32", "7L38", "6L38", "5L38"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + infestation: ["7M", "6M"], + leechlife: ["9M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["9L28", "8L28", "7L46", "6L41", "5L41", "4L38", "3L45", "3S0"], + memento: ["9E", "8E", "7E", "6E", "5E", "4E", "3E"], + mimic: ["3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightshade: ["9M", "9L16", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], + ominouswind: ["7E", "6E", "5E", "4T", "4E"], + painsplit: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E", "3E"], + payback: ["9L20", "8M", "8L20", "7M", "7L49", "6M", "6L46", "5M", "5L46", "4M", "4L41"], + phantomforce: ["9M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + pursuit: ["7L22", "6L22", "5L25", "4L25", "3L27", "3S0"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "9L40", "8M", "8L40", "7M", "7L41", "6M", "6L41", "5M", "4M", "3M", "3S1"], + shadowsneak: ["9L8", "8L8", "7L17", "6L17", "5L22", "4L22"], + skillswap: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "5D", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + willowisp: ["9M", "9L24", "8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L33", "4M", "4L33", "3L38", "3S0"], + wonderroom: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["pursuit", "curse", "willowisp", "meanlook"], pokeball: "pokeball"}, + {generation: 3, level: 19, moves: ["helpinghand", "shadowball", "astonish", "confuseray"]}, + ], + }, + dusclops: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L14", "4L14", "3L16"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bind: ["9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1", "3L1"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L12", "8L12", "7L30", "6L17", "5L17", "4L17", "3L23"], + counter: ["3T"], + curse: ["9L36", "8L36", "7L33", "6L30", "5L30", "4L30", "3L34"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + disable: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T"], + flash: ["6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M", "3M"], + foresight: ["7L14", "6L9", "5L9", "4L9", "3L12"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L48", "8M", "8L48", "7L1", "6L1", "5L61", "4L61", "3L58"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + haze: ["9M"], + headbutt: ["4T"], + helpinghand: ["9M", "8M"], + hex: ["9M", "9L32", "8M", "8L32", "7L40", "6L40", "5L42"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M"], + infestation: ["7M", "6M"], + leechlife: ["9M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + meanlook: ["9L28", "8L28", "7L52", "6L49", "5L49", "4L43", "3L51"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metronome: ["9M", "8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightshade: ["9M", "9L16", "8L16", "7L1", "6L1", "5L1", "4L1", "3L1"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L20", "8M", "8L20", "7M", "7L57", "6M", "6L57", "5M", "5L58", "4M", "4L51"], + phantomforce: ["9M"], + poltergeist: ["9M", "8T"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + pursuit: ["7L22", "6L22", "5L25", "4L25", "3L27"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + revenge: ["8M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["9M", "9L42", "8M", "8L42", "7M", "7L45", "6M", "6L45", "5M", "4M", "3M"], + shadowpunch: ["9L0", "8L0", "7L1", "6L37", "5L37", "4L37", "3L37"], + shadowsneak: ["9L1", "8L1", "7L17", "6L17", "5L22", "4L22"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + willowisp: ["9M", "9L24", "8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L33", "4M", "4L33", "3L41"], + wonderroom: ["8M", "7T", "6T", "5T"], + }, + encounters: [ + {generation: 4, level: 16}, + {generation: 6, level: 30}, + ], + }, + dusknoir: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L14", "4L14"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bind: ["9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L12", "8L12", "7L30", "6L17", "5L17", "4L17"], + curse: ["9L36", "8L36", "7L33", "6L30", "5L30", "4L30"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + destinybond: ["9L54", "8L54"], + disable: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + foresight: ["7L14", "6L9", "5L9", "4L9"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["9L48", "8M", "8L48", "7L1", "6L1", "5L61", "4L61"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + haze: ["9M"], + headbutt: ["4T"], + helpinghand: ["9M", "8M"], + hex: ["9M", "9L32", "8M", "8L32", "7L40", "6L40", "5L42"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "8M"], + infestation: ["7M", "6M"], + laserfocus: ["7T"], + leechlife: ["9M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + meanlook: ["9L28", "8L28", "7L52", "6L49", "5L49", "4L43"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M", "8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightshade: ["9M", "9L16", "8L16", "7L1", "6L1", "5L1", "4L1"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L20", "8M", "8L20", "7M", "7L57", "6M", "6L57", "5M", "5L58", "4M", "4L51"], + phantomforce: ["9M"], + poltergeist: ["9M", "8T"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + pursuit: ["7L22", "6L22", "5L25", "4L25"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "9L42", "8M", "8L42", "7M", "7L45", "6M", "6L45", "5M", "4M"], + shadowpunch: ["9L1", "8L1", "7L1", "6L37", "5L37", "4L37"], + shadowsneak: ["9L1", "8L1", "7L17", "6L17", "5L22", "4L22"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + willowisp: ["9M", "9L24", "8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L33", "4M", "4L33"], + wonderroom: ["8M", "7T", "6T"], + }, + }, + tropius: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + aircutter: ["9M", "4T"], + airslash: ["9M", "9L36", "7L36", "6L36", "5L51", "4L47", "4S0"], + attract: ["7M", "6M", "5M", "4M", "3M"], + bestow: ["7L46", "6L1", "5L57"], + bodypress: ["9M"], + bodyslam: ["9M", "9L41", "7L41", "6L37", "5L37", "4L37", "3T", "3L37"], + brutalswing: ["7M"], + bulldoze: ["9M", "7M", "6M", "5M"], + bulletseed: ["9M", "7E", "6E", "5E", "4M", "3M"], + calmmind: ["9M"], + captivate: ["4M"], + confide: ["7M", "6M"], + curse: ["9E", "7E", "6E", "5E", "4E"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragondance: ["9M", "9E", "7E", "6E", "5E", "4E"], + dragonhammer: ["7E"], + dragonpulse: ["9M", "7T", "6T", "5T"], + dragontail: ["9M"], + earthquake: ["9M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + fly: ["9M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigadrain: ["9M", "7T", "6T", "5T", "4M", "3M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyterrain: ["9M"], + growth: ["9L1", "7L1", "6L1", "5L7", "4L7", "3L7"], + gust: ["9L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + headbutt: ["9E", "7E", "6E", "5E", "4T", "4E", "3E"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hurricane: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + leafblade: ["9E", "7E", "6E", "5E", "4E"], + leafstorm: ["9M", "9L1", "7L1", "7E", "6L1", "6E", "5L71", "5E", "4L61", "4E"], + leaftornado: ["7L26", "6L26", "5L47"], + leechseed: ["9E", "7E", "6E", "5E", "5D", "4E", "3E"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + magicalleaf: ["9M", "9L16", "7L16", "6L16", "5L31", "4L31", "3L31"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["7L30", "7E", "6L1", "6E", "5L67", "5E", "4M", "4L57"], + naturepower: ["7M", "7E", "6M", "6E", "5E", "4E", "3E"], + ominouswind: ["4T"], + outrage: ["9M", "9L46", "7T", "6T", "5T", "4T"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["9M"], + razorleaf: ["9L1", "7L1", "6L1", "5L11", "4L11", "3L11"], + razorwind: ["7E", "6E", "5E", "4E", "3E"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rocksmash: ["6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seedbomb: ["9M", "7T", "6T", "5T"], + silverwind: ["5D", "4M"], + slam: ["9E", "7E", "6E", "5E", "4E", "3E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "9L56", "7M", "7L56", "6M", "6L56", "5M", "5L61", "4M", "4L51", "4S0", "3M", "3L41"], + solarblade: ["9M"], + spite: ["9M"], + steelwing: ["7M", "6M", "4M", "3M"], + stomp: ["9L10", "7L10", "6L10", "5L17", "4L17", "3L17"], + stompingtantrum: ["9M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "4S0", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetscent: ["9L6", "7L6", "6L6", "5L21", "4L21", "3L21"], + swordsdance: ["9M", "7M", "6M", "5M", "4M", "3T"], + synthesis: ["9L50", "7T", "7L50", "7E", "6T", "6L41", "6E", "5T", "5L41", "5E", "4T", "4L41", "4E", "4S0", "3L47"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + twister: ["4T"], + uturn: ["9M"], + whirlwind: ["9L21", "7L21", "6L21", "5L27", "4L27", "3L27"], + wideguard: ["9L30"], + worryseed: ["7T", "6T", "5T", "4T"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 4, level: 53, gender: "F", nature: "Jolly", abilities: ["chlorophyll"], moves: ["airslash", "synthesis", "sunnyday", "solarbeam"], pokeball: "cherishball"}, + ], + }, + chingling: { + learnset: { + allyswitch: ["9E", "7T"], + astonish: ["9L7", "7L7", "6L7", "5L9", "4L9"], + attract: ["7M", "6M", "5M", "4M"], + batonpass: ["9M"], + bind: ["7T", "6T", "5T"], + calmmind: ["9M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["9L10", "7L10", "6L10", "5L14", "4L14"], + cosmicpower: ["9E", "7E", "6E"], + curse: ["9E", "7E", "6E", "5E", "4E"], + dazzlinggleam: ["9M", "7M", "6M"], + disable: ["9E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M", "4E"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "4M"], + energyball: ["9M"], + entrainment: ["9L19", "7L19", "6L19", "5L25"], + facade: ["9M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["7E", "6E", "5E", "4E"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + growl: ["9L4", "7L4", "6L4", "5L6", "4L6"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypervoice: ["9M", "7T", "6T", "5T"], + hypnosis: ["9E", "7E", "6E", "5E", "4E"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["9L16", "7T", "7L16", "6T", "6L16", "5T", "5L22", "4T", "4L22"], + lightscreen: ["9M", "7M", "6M", "5M", "4M"], + magiccoat: ["7T", "6T", "5T", "4T"], + naturalgift: ["4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + recover: ["9E", "7E", "6E", "5E", "4E"], + recycle: ["9E", "7T", "6T", "5T", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + storedpower: ["9M", "7E", "6E", "5E"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["4T"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "9L32", "7T", "7L32", "6T", "6L17", "5T", "5L17", "4T", "4L17"], + wish: ["9E", "7E", "6E", "5E", "4E"], + wrap: ["9L1", "7L1", "6L1", "5L1", "4L1"], + yawn: ["9L13", "7L13", "6L13"], + zenheadbutt: ["9M", "7T", "6T", "5T", "4T"], + }, + }, + chimecho: { + learnset: { + allyswitch: ["7T"], + astonish: ["9L1", "7L1", "6L1", "5L9", "4L9", "3L9", "3S0"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["9M"], + bind: ["7T", "6T", "5T"], + calmmind: ["9M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M"], + confide: ["7M", "6M"], + confusion: ["9L1", "7L1", "6L1", "5L14", "4L14", "3L14"], + cosmicpower: ["7E", "6E"], + craftyshield: ["7E"], + curse: ["7E", "6E", "5E", "4E", "3E"], + dazzlinggleam: ["9M", "7M", "6M"], + defensecurl: ["3T"], + defog: ["7T"], + disable: ["7E", "6E", "5E", "4E", "3E"], + disarmingvoice: ["9M"], + doubleedge: ["9L42", "7L42", "6L33", "5L33", "4L33", "3T", "3L33"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M"], + dreameater: ["7M", "6M", "5M", "4M", "4E", "3T", "3E"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M"], + endure: ["9M", "4M", "3T"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + extrasensory: ["9L22", "7L22", "6L22", "5L46", "4L46"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + flash: ["6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["7E", "6E", "5E", "4E"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + growl: ["9L1", "7L1", "6L1", "5L6", "4L6", "3L6", "3S0"], + healbell: ["9L27", "7T", "7L27", "6T", "6L27", "5T", "5L38", "4T", "4L38", "3L38"], + healingwish: ["9L1", "7L1", "6L1", "5L57", "4L49"], + healpulse: ["9L47", "7L47", "6L47", "5L49"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "7T", "6T", "5T", "5D"], + hypnosis: ["7E", "6E", "5E", "5D", "4E", "3E"], + icywind: ["9M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["9M", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + mimic: ["3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + perishsong: ["7E"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "7M", "6M", "5M", "4M", "3M", "3L46"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "7M", "6M", "5M"], + psywave: ["7L16", "6L16", "5L30", "4L30", "3L30"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + recover: ["7E", "6E"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["7M", "6M", "5M"], + safeguard: ["9L37", "7M", "7L37", "6M", "6L37", "5M", "5L41", "4M", "4L41", "3M", "3L41"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["9M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + storedpower: ["9M", "9L16", "7E", "6E", "5E"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M"], + synchronoise: ["7L1", "6L1", "5L54"], + takedown: ["9M", "9L19", "7L19", "6L19", "5L22", "4L22", "3L17"], + taunt: ["9M", "7M", "6M", "5M", "4M", "3M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "9L32", "7T", "7L32", "6T", "6L17", "5T", "5L17", "4T", "4L17", "3L22"], + wish: ["7E", "6E", "5E", "4E"], + wrap: ["9L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1", "3S0"], + yawn: ["9L13", "7L13", "6L13", "5L25", "4L25", "3L25"], + zenheadbutt: ["9M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["wrap", "growl", "astonish"], pokeball: "pokeball"}, + ], + }, + absol: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + airslash: ["8M"], + assurance: ["8M", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + batonpass: ["8M", "7E", "6E", "5E", "4E", "3E"], + bite: ["8E", "7L16", "6L16", "5L28", "4L28", "3L21", "3S2"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["8M", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brutalswing: ["8M", "7M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["8E", "7E", "6E", "5E", "4E", "3E"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + detect: ["8L15", "7L33", "6L1", "5L49", "4L49"], + doubleedge: ["8E", "7E", "6E", "5E", "4E", "3T", "3E"], + doubleteam: ["8L5", "7M", "7L19", "6M", "6L19", "5M", "5L33", "4M", "4L33", "3M", "3L31", "3S3"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M"], + feint: ["8E", "7L1", "6L1", "5L1", "5D", "4L1"], + feintattack: ["7E", "6E", "5E", "4E", "3E"], + fireblast: ["8M", "7M", "6M", "5M", "4M", "3M"], + flamethrower: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + focusenergy: ["8M", "8L35"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + futuresight: ["8M", "8L50", "7L1", "6L1", "5L41", "4L41", "3L41", "3S3"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + hex: ["8M", "7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + knockoff: ["8L10", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "6L1", "5L4", "4L4", "3L5", "3S0", "3S1"], + magiccoat: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + meanlook: ["8E", "7E", "6E", "5E", "4E"], + mefirst: ["7L41", "7E", "6L1", "6E", "5L57", "5E", "4L57", "4E"], + megahorn: ["8M", "7E", "6E", "5E", "5D", "4E"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightslash: ["8L30", "7L29", "6L29", "5L52", "4L52"], + payback: ["8M", "7M", "6M", "5M", "4M"], + perishsong: ["8L55", "7L1", "7E", "6L1", "6E", "5L65", "5E", "4L65", "3L46", "3S3"], + playrough: ["8M", "7E", "6E"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychocut: ["8M", "7L37", "6L37", "5L60", "4L60"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + punishment: ["7E", "6E", "5E", "4E"], + pursuit: ["7L10", "6L10", "5L20", "4L20"], + quickattack: ["8L1", "7L1", "6L1", "5L12", "4L12", "3L13"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + razorwind: ["7L49", "6L1", "5L17", "4L17", "3L17", "3S2"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scratch: ["7L1", "6L1", "5L1", "4L1", "3L1", "3S0", "3S1"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slash: ["8L25", "7L22", "6L22", "5L36", "4L36", "3L36", "3S3"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snarl: ["8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + spite: ["7T", "6T", "5T", "4T", "3S1", "3S2"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + suckerpunch: ["8L40", "7L45", "7E", "6L45", "6E", "5L44", "5E", "4T", "4L44", "4E"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "7T", "6T", "5T", "5D", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + swordsdance: ["8M", "8L45", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25", "3T", "3L26", "3S2"], + taunt: ["8M", "8L20", "7M", "7L13", "6M", "6L1", "5M", "5L9", "4M", "4L9", "3M", "3L9"], + thief: ["8M", "7M", "6M", "5M", "4M", "3M"], + throatchop: ["8M", "7T"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + willowisp: ["8M", "7M", "6M", "5M", "4M"], + wish: ["3S0"], + xscissor: ["8M", "7M", "6M", "5M", "4M"], + zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["pressure"], moves: ["scratch", "leer", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, abilities: ["pressure"], moves: ["scratch", "leer", "spite"], pokeball: "pokeball"}, + {generation: 3, level: 35, abilities: ["pressure"], moves: ["razorwind", "bite", "swordsdance", "spite"], pokeball: "pokeball"}, + {generation: 3, level: 70, abilities: ["pressure"], moves: ["doubleteam", "slash", "futuresight", "perishsong"], pokeball: "pokeball"}, + ], + }, + snorunt: { + learnset: { + astonish: ["9L1", "8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "7E", "6E", "5E", "4M"], + bide: ["7E", "6E", "5E", "4E"], + bite: ["9L35", "8L35", "7L19", "6L10", "5L10", "4L10", "3L10", "3S0"], + blizzard: ["9M", "9L60", "8M", "8L60", "7M", "7L46", "6M", "6L46", "5M", "5L46", "4M", "4L46", "3M", "3L43"], + block: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3E"], + bodyslam: ["9M", "8M", "3T"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L55", "8M", "8L55", "7L41", "6L31", "5L31", "4L31", "3L28"], + disable: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleedge: ["3T"], + doubleteam: ["9L10", "8L10", "7M", "7L5", "6M", "6L4", "5M", "5L4", "4M", "4L4", "3M", "3L7"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M", "7E", "6E", "5E"], + flash: ["6M", "5M", "4M", "3M"], + frostbreath: ["9L30", "8L30", "7M", "7L37", "6M", "6L37", "5M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + hail: ["8M", "8L45", "7M", "7L50", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3M", "3L37"], + headbutt: ["9L1", "8L50", "7L28", "6L19", "5L19", "4T", "4L19", "3L19"], + helpinghand: ["9M"], + hex: ["9M", "8M", "7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M", "3L34"], + icefang: ["9M", "9L40", "8M", "8L40", "7L23", "6L23", "5L28", "4L28"], + iceshard: ["9L15", "8L15", "7L10", "6L10", "5L37", "4L37"], + icespinner: ["9M"], + iciclecrash: ["9E", "8E"], + iciclespear: ["9M"], + icywind: ["9M", "9L25", "8M", "8L25", "7T", "7L14", "6T", "6L13", "5T", "5L13", "4T", "4L13", "3T", "3L16", "3S0"], + leer: ["9L5", "8L5", "7L1", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + naturalgift: ["4M"], + powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + protect: ["9M", "9L20", "8M", "8L20", "7M", "7L32", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L25"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rollout: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sing: ["3S0"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + snowscape: ["9M", "9L45"], + spikes: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + switcheroo: ["9E", "8E", "7E", "6E"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + waterpulse: ["9M", "7T", "6T", "5D", "4M", "3M", "3S0"], + weatherball: ["9M", "9L50", "8M", "7E", "6E", "5E", "5D", "4E"], + }, + eventData: [ + {generation: 3, level: 20, abilities: ["innerfocus"], moves: ["sing", "waterpulse", "bite", "icywind"]}, + ], + }, + glalie: { + learnset: { + astonish: ["9L1", "8L1"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + avalanche: ["9M", "8M", "4M"], + bite: ["9L35", "8L35", "7L19", "6L1", "5L1", "4L1", "3L1"], + blizzard: ["9M", "9L68", "8M", "8L68", "7M", "7L48", "6M", "6L48", "5M", "5L51", "4M", "4L51", "3M", "3L53"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "8M", "3T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L61", "8M", "8L61", "7L41", "6L31", "5L31", "4L31", "3L28"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3M", "3L1"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M", "8M"], + flash: ["6M", "5M", "4M", "3M"], + foulplay: ["9M"], + freezedry: ["9L0", "8L0", "7L1", "6L42"], + frostbreath: ["9L30", "8L30", "7M", "7L37", "6M", "6L37", "5M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "8L47", "7M", "7L54", "6M", "6L40", "5M", "5L40", "4M", "4L40", "3M", "3L42"], + headbutt: ["9L1", "8L54", "7L28", "6L19", "5L19", "4T", "4L19", "3L19"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "8M", "7M", "6M", "6L37", "5M", "5L37", "4M", "4L37", "3M", "3L34"], + icefang: ["9M", "9L40", "8M", "8L40", "7L23", "6L23", "5L28", "4L28"], + iceshard: ["9L15", "8L15", "7L1", "6L1"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L25", "8M", "8L25", "7T", "7L14", "6T", "6L13", "5T", "5L13", "4T", "4L13", "3T", "3L16"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + mimic: ["3T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + protect: ["9M", "9L20", "8M", "8L20", "7M", "7L32", "6M", "6L22", "5M", "5L22", "4M", "4L22", "3M", "3L25"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sheercold: ["9L1", "8L1", "7L1", "6L1", "5L59", "4L59", "3L61"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + snowscape: ["9M", "9L47"], + spikes: ["9M", "8M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + steelroller: ["8T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + superfang: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + terablast: ["9M"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trailblaze: ["9M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + weatherball: ["9M", "9L54", "8M"], + }, + }, + froslass: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L19", "6L1", "5L1", "4L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + auroraveil: ["9L54", "8L54", "7M"], + avalanche: ["9M", "8M", "4M"], + bite: ["9L1", "8L1"], + blizzard: ["9M", "9L68", "8M", "8L68", "7M", "7L48", "6M", "6L48", "5M", "5L51", "4M", "4L51"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "8M"], + captivate: ["7L41", "6L31", "5L31", "4M", "4L31"], + charm: ["9M", "8M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L35", "8L35", "7L32", "6L19", "5L19", "4L19"], + crunch: ["9M", "9L1", "8M", "8L1"], + destinybond: ["9L1", "8L1", "7L1", "6L1", "5L59", "4L59"], + doubleteam: ["9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + drainingkiss: ["9M", "9L20", "8M", "8L20", "7L23", "6L23"], + dreameater: ["7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "8M"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frostbreath: ["9L30", "8L30", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "8L40", "7M", "7L54", "6M", "6L40", "5M", "5L40", "4M", "4L40"], + haze: ["9M"], + headbutt: ["9L1", "8L1", "4T"], + helpinghand: ["9M"], + hex: ["9M", "9L0", "8M", "8L0"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icefang: ["9M", "9L1", "8M", "8L1"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + iceshard: ["9L15", "8L15", "7L1", "6L1", "5L37", "4L37"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L25", "8M", "8L25", "7T", "7L14", "6T", "6L13", "5T", "5L13", "4T", "4L13"], + imprison: ["9M", "8M"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["7L1", "6L22", "5L22", "4T", "4L22"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poltergeist: ["9M", "8T"], + powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "9L61", "8M", "8L61", "7M", "7L42", "6M", "6L42", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M", "9L40"], + spikes: ["9M", "8M"], + spite: ["9M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["4T"], + swagger: ["7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + tripleaxel: ["8T"], + wakeupslap: ["7L37", "6L28", "5L28", "4L28"], + waterpulse: ["9M", "7T", "6T", "4M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "9L47", "8M", "8L47", "7M", "7L28"], + }, + }, + spheal: { + learnset: { + aquaring: ["8E", "7E", "6E", "5E", "4E"], + aquatail: ["7T", "6T", "5T", "5D", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurorabeam: ["8L28", "7L21", "6L21", "5L25", "4L25", "3L25", "3S0"], + bellydrum: ["8E", "7E", "6E"], + blizzard: ["8M", "8L44", "7M", "7L41", "6M", "6L41", "5M", "5L43", "4M", "4L43", "3M", "3L43"], + bodyslam: ["8M", "8L36", "7L26", "6L19", "5L19", "4L19", "3T", "3L19"], + brine: ["8M", "8L24", "7L17", "6L17", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["3S0"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "6E", "5E", "4E", "3E"], + defensecurl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3T", "3L1"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M", "8L33", "7L9", "6L7", "5L7", "4L7", "3L7"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + fissure: ["8E", "7E", "6E", "5E", "5D", "4E", "3E"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["8L4", "7L1", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "8L48", "7M", "7L36", "6M", "6L31", "5M", "5L31", "4M", "4L31", "3M", "3L31"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + iceball: ["7L13", "6L13", "5L13", "4L13", "3L13"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + mimic: ["3T"], + mudslap: ["4T", "3T", "3S0"], + naturalgift: ["4M"], + powdersnow: ["8L12", "7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L16", "7M", "7L31", "6M", "6L31", "5M", "5L37", "4M", "4L37", "3M", "3L37"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L1", "7L5", "7E", "6L5", "6E", "5E", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + sheercold: ["8L52", "7L46", "6L46", "5L49", "4L49", "3L49"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E", "4M", "3T"], + snore: ["8M", "8L20", "7T", "7L31", "6T", "6L31", "5T", "5L37", "4T", "4L37", "3T", "3L37"], + spitup: ["8E", "7E", "6E", "5E", "4E", "3E"], + steelroller: ["8T"], + stockpile: ["8E", "7E", "6E", "5E", "4E", "3E"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["8M", "8L40", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swallow: ["8E", "7E", "6E", "5E", "4E", "3E"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L8", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "4M", "3M"], + watersport: ["7E", "6E", "5E", "4E", "3E"], + whirlpool: ["8M", "4M"], + yawn: ["8E", "7E", "6E", "5E", "4E", "3E"], + }, + eventData: [ + {generation: 3, level: 17, abilities: ["thickfat"], moves: ["charm", "aurorabeam", "watergun", "mudslap"]}, + ], + }, + sealeo: { + learnset: { + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurorabeam: ["8L28", "7L21", "6L21", "5L25", "4L25", "3L25"], + blizzard: ["8M", "8L52", "7M", "7L45", "6M", "6L45", "5M", "5L47", "4M", "4L47", "3M", "3L47"], + bodyslam: ["8M", "8L40", "7L26", "6L19", "5L19", "4L19", "3T", "3L19"], + brine: ["8M", "8L24", "7L17", "6L17", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + defensecurl: ["8L1", "7L1", "6L1", "3T", "3L1"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M", "8L35", "7L9", "6L1", "5L1", "4L1", "3L1"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "8L58", "7M", "7L38", "6M", "6L31", "5M", "5L31", "4M", "4L31", "3M", "3L31"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + iceball: ["7L13", "6L13", "5L13", "4L13", "3L13"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + iciclespear: ["8M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + powdersnow: ["8L12", "7L1", "6L1", "5L1", "4L1", "3L1"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L16", "7M", "7L31", "6M", "6L31", "5M", "5L39", "4M", "4L39", "3M", "3L39"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L1", "7L5", "6L5", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + sheercold: ["8L64", "7L52", "6L52", "5L55", "4L55", "3L55"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "8L20", "7T", "7L31", "6T", "6L31", "5T", "5L39", "4T", "4L39", "3T", "3L39"], + steelroller: ["8T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["8M", "8L46", "7M", "6M", "5M", "4M", "3M"], + swagger: ["8L0", "7M", "7L1", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + }, + encounters: [ + {generation: 4, level: 25}, + {generation: 6, level: 28, maxEggMoves: 1}, + ], + }, + walrein: { + learnset: { + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurorabeam: ["8L28", "7L19", "6L19", "5L25", "4L25", "3L25"], + avalanche: ["8M", "4M"], + blizzard: ["8M", "8L56", "7M", "7L49", "6M", "6L49", "5M", "5L52", "4M", "4L52", "3M", "3L50"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "8L40", "7L25", "6L19", "5L19", "4L19", "3T", "3L19"], + brine: ["8M", "8L24", "7L19", "6L19", "5S0", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + defensecurl: ["8L1", "7L1", "6L1", "3T", "3L1"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M", "8L35", "7L7", "6L1", "5L1", "4L1", "3L1"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + growl: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + hail: ["8M", "8L64", "7M", "7L38", "6M", "6L31", "5M", "5L31", "5S0", "4M", "4L31", "3M", "3L31"], + headbutt: ["4T"], + heavyslam: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + iceball: ["7L13", "6L13", "5L13", "4L13", "3L13"], + icebeam: ["8M", "7M", "6M", "5M", "5S0", "4M", "3M"], + icefang: ["8M", "8L1", "7L1", "6L44", "5L44", "4L44"], + iciclespear: ["8M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + liquidation: ["8M"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + powdersnow: ["8L12", "7L1", "6L1", "5L1", "4L1", "3L1"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L16", "7M", "7L31", "6M", "6L31", "5M", "5L39", "4M", "4L39", "3M", "3L39"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["8L1", "7L7", "6L7", "4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + sheercold: ["8L72", "7L60", "6L60", "5L65", "5S0", "4L65", "3L61"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "8L20", "7T", "7L31", "6T", "6L31", "5T", "5L39", "4T", "4L39", "3T", "3L39"], + steelroller: ["8T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["8M", "8L48", "7M", "6M", "5M", "4M", "3M"], + swagger: ["8L1", "7M", "7L1", "6M", "6L32", "5M", "5L32", "4M", "4L32", "3T"], + swordsdance: ["8M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 5, level: 50, abilities: ["thickfat"], moves: ["icebeam", "brine", "hail", "sheercold"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 30}, + ], + }, + clamperl: { + learnset: { + aquaring: ["7E", "6E", "5E", "5D", "4E"], + attract: ["7M", "6M", "5M", "4M", "3M"], + barrier: ["7E", "6E", "5E", "4E", "3E"], + blizzard: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["7E", "6E", "5E", "4E", "3T", "3E"], + brine: ["7E", "6E", "5E", "4M"], + captivate: ["5D", "4M"], + clamp: ["7L1", "6L1", "5L1", "4L1", "3L1"], + confide: ["7M", "6M"], + confuseray: ["7E", "6E", "5E", "4E", "3E"], + dive: ["6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endure: ["7E", "6E", "5E", "4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + hail: ["7M", "6M", "5M", "4M", "3M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + irondefense: ["7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1", "3L1"], + mimic: ["3T"], + muddywater: ["7E", "6E", "5E", "4E"], + mudsport: ["7E", "6E", "5E", "4E", "3E"], + naturalgift: ["4M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + refresh: ["7E", "6E", "5E", "4E", "3E"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shellsmash: ["7L50", "6L50", "5L51"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + supersonic: ["7E", "6E", "5E", "4E", "3E"], + surf: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["7M", "6M", "5M", "4M", "3M"], + watergun: ["7L1", "6L1", "5L1", "4L1", "3L1"], + waterpulse: ["7T", "7E", "6T", "6E", "5E", "4M", "3M"], + whirlpool: ["7L1", "6L1", "5L1", "5D", "4M", "4L1", "3L1"], + }, + }, + huntail: { + learnset: { + aquatail: ["7T", "7L39", "6T", "6L39", "5T", "5L46", "4T", "4L46"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["7L29", "6L29", "5L33", "4L33", "3L43"], + bind: ["7T", "6T", "5T"], + bite: ["7L1", "6L1", "5L6", "4L6", "3L8"], + blizzard: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["3T"], + bounce: ["7T", "6T", "5T", "4T"], + brine: ["7L19", "6L19", "5L28", "4M", "4L28"], + captivate: ["4M"], + coil: ["7L45", "6L45"], + confide: ["7M", "6M"], + crunch: ["7L34", "6L34", "5L42", "4L42", "3L36"], + dive: ["7L26", "6M", "6L26", "5M", "5L37", "4T", "4L37", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + endure: ["4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + feintattack: ["7L11", "6L11"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + hail: ["7M", "6M", "5M", "4M", "3M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["7L50", "6L50", "5L51", "4L51", "3L50"], + hyperbeam: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icefang: ["7L16", "6L16", "5L24", "4L24"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rocktomb: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["7L9", "6L9", "5L19", "4L19", "3L29"], + screech: ["7L5", "6L5", "5L10", "4L10", "3L15"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "6T", "5T", "4M", "3M"], + snore: ["7T", "6T", "5T", "4T", "3T"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["7L23", "6L23", "4T"], + superfang: ["7T", "6T", "5T", "4T"], + surf: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "7L14", "6T", "6L14", "5L15", "4M", "4L15", "3M", "3L22"], + whirlpool: ["7L1", "6L1", "5L1", "4M", "4L1", "3L1"], + }, + }, + gorebyss: { + learnset: { + agility: ["7L9", "6L9", "5L10", "4L10", "3L15"], + amnesia: ["7L16", "6L16", "5L19", "4L19", "3L29"], + aquaring: ["7L19", "6L19", "5L24", "4L24"], + aquatail: ["7T", "7L39", "6T", "6L39", "5T", "5L46", "4T", "4L46"], + attract: ["7M", "6M", "5M", "4M", "3M"], + batonpass: ["7L29", "6L29", "5L33", "4L33", "3L43"], + bind: ["7T", "6T", "5T"], + blizzard: ["7M", "6M", "5M", "4M", "3M"], + bodyslam: ["3T"], + bounce: ["7T", "6T", "5T", "4T"], + brine: ["4M"], + captivate: ["7L23", "6L23", "5L28", "4M", "4L28"], + coil: ["7L45", "6L45"], + confide: ["7M", "6M"], + confusion: ["7L1", "6L1", "5L6", "4L6", "3L8"], + dive: ["7L26", "6M", "6L26", "5M", "5L37", "4T", "4L37", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainingkiss: ["7L11", "6L11"], + endure: ["4M", "3T"], + facade: ["7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + hail: ["7M", "6M", "5M", "4M", "3M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["7L50", "6L50", "5L51", "4L51", "3L50"], + hyperbeam: ["7M", "6M", "5M", "4M", "3M"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + infestation: ["7M", "6M"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psychic: ["7M", "7L34", "6M", "6L34", "5M", "5L42", "4M", "4L42", "3M", "3L36"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + surf: ["7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "7L14", "6T", "6L14", "5L15", "4M", "4L15", "3M", "3L22"], + watersport: ["7L5", "6L5"], + whirlpool: ["7L1", "6L1", "5L1", "4M", "4L1", "3L1"], + }, + }, + relicanth: { + learnset: { + amnesia: ["8M", "7E", "6E", "5E", "4E", "3E"], + ancientpower: ["8L10", "7L21", "6L1", "5L43", "4T", "4L43", "3L43"], + aquatail: ["8L30", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + blizzard: ["8M", "7M", "6M", "5M", "4M", "3M"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brine: ["8M", "7E", "6E", "5E", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + dive: ["8M", "8L20", "7L26", "6M", "6L26", "5M", "5L57", "4T", "4L57", "3M"], + doubleedge: ["8L50", "7L50", "6L50", "5L50", "4L50", "3T", "3L57"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthpower: ["8M", "7T", "6T", "5T", "5D", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flail: ["8L40", "7L1"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + harden: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + headbutt: ["4T"], + headsmash: ["8L55", "7L1", "6L1", "5L78", "4L78"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["8M", "8L45", "7L46", "6L1", "5L71", "4L71", "3L64"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["8M"], + liquidation: ["8M"], + magnitude: ["7E", "6E", "5E", "4E", "3E"], + meteorbeam: ["8T"], + mimic: ["3T"], + muddywater: ["8M", "7E", "6E", "5E", "4E"], + mudshot: ["8M", "7E", "6E", "5E"], + mudslap: ["8E", "7E", "6E", "5E", "4T", "4E", "3T"], + mudsport: ["7L1", "6L1", "5L36", "4L36", "3L36"], + naturalgift: ["4M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "8L35", "7M", "7L41", "6M", "6L41", "5M", "5L64", "4M", "4L64", "3M", "3L50"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "4E", "3T", "3E"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15", "3M", "3L15"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scald: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + skullbash: ["8E", "7E", "6E", "5E", "4E", "3E"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E", "5D", "4M", "4E", "3T", "3E"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["8L25", "7L31", "6L29", "5L29", "4L29", "3L29"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["8L5", "7L1", "6L1", "5L8", "5D", "4L8", "3L8"], + waterpulse: ["7T", "6T", "4M", "3M"], + watersport: ["7E", "6E", "5E", "4E", "3E"], + whirlpool: ["8M", "4M"], + yawn: ["8L15", "7L35", "6L22", "5L22", "4L22", "3L22"], + zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + }, + }, + luvdisc: { + learnset: { + agility: ["9M", "9L7", "7L7", "6L7", "5L9", "4L9", "3L16"], + aquajet: ["9E", "7E", "6E", "5E", "4E"], + aquaring: ["9L40", "7L40", "7E", "6L40", "6E", "5L46", "5E", "4L37", "4E"], + attract: ["9L20", "7M", "7L20", "6M", "6L22", "5M", "5L27", "4M", "4L22", "3M", "3L28"], + babydolleyes: ["9L37"], + blizzard: ["9M", "7M", "6M", "5M", "4M", "3M"], + bounce: ["7T", "6T", "5T", "4T"], + brine: ["7E", "6E", "5E", "4M"], + captivate: ["7L37", "7E", "6L46", "6E", "5L51", "5E", "4M", "4L40", "4E"], + charm: ["9M", "9L1", "7L1", "6L1", "5L4", "5D", "4L4", "3L4"], + confide: ["7M", "6M"], + dive: ["6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainingkiss: ["9M", "9L22", "7L9", "6L9"], + endure: ["9M", "4M", "3T"], + entrainment: ["9E", "7E", "6E"], + facade: ["9M", "7M", "6M", "5M", "4M", "3M"], + flail: ["9L26", "7L26", "6L27", "5L31", "4L46", "3L40"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + hail: ["7M", "6M", "5M", "4M", "3M"], + healpulse: ["7E", "6E", "5E"], + heartstamp: ["7L22"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L46", "7L46", "6L40", "5L40"], + icebeam: ["9M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "7T", "6T", "5T", "5D", "4T", "3T"], + liquidation: ["9M", "7T"], + luckychant: ["7L13", "6L14", "5L17", "4L17"], + mimic: ["3T"], + mudsport: ["7E", "6E", "5E", "5D", "4E", "3E"], + naturalgift: ["4M"], + protect: ["9M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + round: ["7M", "6M", "5M"], + safeguard: ["9L49", "7M", "7L49", "6M", "6L55", "5M", "5L55", "4M", "4L51", "3M", "3L48"], + scald: ["7M", "6M", "5M"], + scaleshot: ["9M"], + secretpower: ["6M", "4M", "3M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M", "3T"], + snore: ["7T", "6T", "5T", "4T", "3T"], + snowscape: ["9M"], + soak: ["9L42", "7L42"], + splash: ["9E", "7E", "6E", "5E", "4E", "3E"], + substitute: ["9M", "7M", "6M", "5M", "4M", "3T"], + supersonic: ["9E", "7E", "6E", "5E", "4E", "3E"], + surf: ["9M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetkiss: ["9L31", "7L31", "6L31", "5L37", "4L27", "3L36"], + swift: ["4T", "3T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + takedown: ["9M", "9L34", "7L34", "6L14", "5L14", "4L14", "3L24"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + waterfall: ["9M", "7M", "6M", "5M", "4M", "3M"], + watergun: ["9L4", "7L4", "6L4", "5L7", "4L7", "3L12"], + waterpulse: ["9M", "9L17", "7T", "7L17", "6T", "6L17", "5L22", "4M", "4L31", "3M"], + watersport: ["7E", "6E", "5E", "4E", "3E"], + whirlpool: ["4M"], + wish: ["9L13"], + }, + }, + bagon: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bite: ["9L5", "8L5", "7L10", "6L5", "5L5", "5D", "4L5", "3L5", "3S0", "3S1"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L25", "8M", "8L25", "7L25", "6L25", "5L46", "4L46", "3L41"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["9E", "8E", "7E", "6E", "5E"], + doubleedge: ["9L55", "8L55", "7L49", "6L49", "5L55", "4L55", "3T", "3L53"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9L10", "8L10", "7L13", "6L13", "5L31", "4L31", "3L33"], + dragonclaw: ["9M", "9L31", "8M", "8L31", "7M", "7L29", "6M", "6L29", "5M", "5L50", "4M", "4L50", "3M", "3L49"], + dragondance: ["9M", "8M", "7E", "6E", "5E", "5D", "4E", "3E"], + dragonpulse: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + dragonrage: ["7E", "6E", "5E", "4E", "3E"], + dragonrush: ["9E", "8E", "7E", "6E", "5E", "4E"], + dragontail: ["9M"], + ember: ["9L1", "8L1", "7L4", "6L4", "5L25", "4L25", "3L25"], + endure: ["9M", "8M", "7E", "6E", "5E", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "8M", "7E", "6E", "5E", "4E"], + firespin: ["9M"], + flamethrower: ["9M", "9L45", "8M", "8L45", "7M", "7L44", "6M", "6L44", "5M", "4M", "3M"], + focusenergy: ["9L40", "8M", "8L40", "7L21", "6L20", "5L20", "4L20", "3L21"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + headbutt: ["9L15", "8L15", "7L17", "6L16", "5L16", "4T", "4L16", "3L17"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "8M", "7E", "6E", "5E", "4E", "3E"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "8M", "3S1"], + ironhead: ["9M"], + leer: ["9L1", "8L1", "7L7", "6L7", "5L10", "4L10", "3L9"], + mimic: ["3T"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "9L50", "8M", "8L50", "7T", "6T", "5T", "5D", "4T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rage: ["7L1", "6L1", "6S3", "5L1", "5S2", "4L1", "3L1", "3S0", "3S1"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L39", "6L39", "5L40", "4L40", "3L37"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "4E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9E", "8E", "7E", "6E", "6S3", "5E", "4E", "3E"], + thunderfang: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["9E", "8E", "7E", "6E", "5E", "4T", "4E", "3E"], + wish: ["3S0"], + zenheadbutt: ["9M", "9L35", "8M", "8L35", "7T", "7L34", "6T", "6L34", "5T", "5L35", "4T", "4L35"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["rage", "bite", "wish"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["rage", "bite", "irondefense"], pokeball: "pokeball"}, + {generation: 5, level: 1, shiny: true, moves: ["rage"], pokeball: "pokeball"}, + {generation: 6, level: 1, moves: ["rage", "thrash"], pokeball: "pokeball"}, + ], + }, + shelgon: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bite: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L25", "8M", "8L25", "7L25", "6L25", "5L50", "4L50", "3L56"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + doubleedge: ["9L67", "8L67", "7L56", "6L56", "5L61", "4L61", "3T", "3L78"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9L1", "8L1", "7L13", "6L13", "5L32", "4L32", "3L38"], + dragonclaw: ["9M", "9L33", "8M", "8L33", "7M", "7L29", "6M", "6L29", "5M", "5L55", "4M", "4L55", "3M", "3L69"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragontail: ["9M"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L25", "4L25", "3L25"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + firefang: ["9M", "8M"], + firespin: ["9M"], + flamethrower: ["9M", "9L53", "8M", "8L53", "7M", "7L49", "6M", "6L49", "5M", "4M", "3M"], + focusenergy: ["9L46", "8M", "8L46", "7L21", "6L20", "5L20", "4L20", "3L21"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + headbutt: ["9L15", "8L15", "7L17", "6L1", "5L1", "4T", "4L1", "3L1"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "8M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + mimic: ["3T"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "9L60", "8M", "8L60", "7T", "6T", "5T", "4T"], + protect: ["9M", "9L0", "8M", "8L0", "7M", "7L1", "6M", "6L30", "5M", "5L30", "4M", "4L30", "3M", "3L30"], + rage: ["7L1", "6L1", "5L1", "4L1", "3L1"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L42", "6L42", "5L43", "4L43", "3L47"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + zenheadbutt: ["9M", "9L39", "8M", "8L39", "7T", "7L35", "6T", "6L35", "5T", "5L37", "4T", "4L37"], + }, + encounters: [ + {generation: 7, level: 15}, + ], + }, + salamence: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "5S3", "4M", "3M", "3S1"], + aircutter: ["4T"], + airslash: ["9M", "8M"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + bite: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + bodyslam: ["9M", "8M", "3T"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L25", "8M", "8L25", "7L25", "6L25", "5L53", "4L53", "3L61"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + defog: ["7T", "4M"], + doubleedge: ["9L73", "8L73", "7L63", "6L1", "5L70", "4L70", "3T", "3L93"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9L1", "8L1", "7L13", "6L13", "5L32", "4L32", "3L38", "3S0"], + dragonclaw: ["9M", "9L33", "8M", "8L33", "7M", "7L29", "6M", "6L29", "5M", "5L61", "5S3", "4M", "4L61", "4S2", "3M", "3L79", "3S1"], + dragondance: ["9M", "8M", "5S3", "3S1"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragontail: ["9M", "9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L80"], + dualwingbeat: ["9M", "9L1", "8T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L25", "4L25", "3L25"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "4S2", "3M"], + firefang: ["9M", "8M", "7L1", "6L1", "5L1", "4L1"], + firespin: ["9M"], + flamethrower: ["9M", "9L55", "8M", "8L55", "7M", "7L49", "6M", "6L49", "5M", "4M", "3M"], + fly: ["9M", "9L0", "8M", "8L0", "7M", "7L1", "6M", "6L50", "5M", "5L50", "4M", "4L50", "3M", "3L50", "3S0"], + focusenergy: ["9L46", "8M", "8L46", "7L21", "6L20", "5L20", "4L20", "3L21"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["9L15", "8L15", "7L17", "6L1", "5L1", "4T", "4L1", "3L1"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hurricane: ["9M", "8M"], + hydropump: ["9M", "8M", "4S2"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "8M"], + ironhead: ["9M"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + mimic: ["3T"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + outrage: ["9M", "8M", "8L64", "7T", "6T", "5T", "5S3", "4T"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L30", "5M", "5L30", "4M", "4L30", "3M", "3L30", "3S0"], + psychicfangs: ["9M"], + rage: ["7L1", "6L1", "5L1", "4L1", "3L1"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S1"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + roost: ["9L1", "7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L42", "6L42", "5L43", "4L43", "3L47", "3S0"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M", "4S2"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M", "8M", "7L1", "6L1", "5L1", "4L1"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["4T"], + zenheadbutt: ["9M", "9L39", "8M", "8L39", "7T", "7L35", "6T", "6L35", "5T", "5L37", "4T", "4L37"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["protect", "dragonbreath", "scaryface", "fly"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["refresh", "dragonclaw", "dragondance", "aerialace"]}, + {generation: 4, level: 50, gender: "M", nature: "Naughty", moves: ["hydropump", "stoneedge", "fireblast", "dragonclaw"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, moves: ["dragondance", "dragonclaw", "outrage", "aerialace"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 9}, + ], + }, + beldum: { + learnset: { + headbutt: ["4T"], + holdback: ["6S0"], + irondefense: ["8M", "7T", "6T", "6S0", "5T", "4T"], + ironhead: ["8M", "7T", "6T", "6S0", "5T", "5D", "4T"], + steelbeam: ["8T"], + tackle: ["8L1"], + takedown: ["7L1", "6L1", "5L1", "5D", "4L1", "3L1"], + zenheadbutt: ["8M", "7T", "6T", "6S0", "5T", "5D", "4T"], + }, + eventData: [ + {generation: 6, level: 5, shiny: true, moves: ["holdback", "ironhead", "zenheadbutt", "irondefense"], pokeball: "cherishball"}, + ], + }, + metang: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L66", "7L41", "6L38", "5L44", "4L44", "3L56"], + allyswitch: ["8M", "7T"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletpunch: ["8L1", "7L26", "6L26", "5L32", "4L32"], + confide: ["7M", "6M"], + confusion: ["8L0", "7L1", "6L1", "5L1", "4L1", "3L20", "3S0"], + cosmicpower: ["8M"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + expandingforce: ["8T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + flashcannon: ["8M", "8L18", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "8L74", "7M", "7L50", "6M", "6L50", "5M", "5L56", "4M", "4L56", "3M", "3L62"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "8L58", "7T", "7L47", "6T", "6L47", "5T", "5L40", "4T", "4L40", "3L44"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magnetrise: ["8L12", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + metalclaw: ["8L0", "7L1", "6L1", "5L1", "4L1", "3L20", "3S0"], + meteorbeam: ["8T"], + meteormash: ["8L50", "7L44", "6L44", "5L48", "4L48", "3L50"], + mimic: ["3T"], + miracleeye: ["7L29", "6L26", "5L26"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L34", "7M", "7L38", "6M", "6L38", "5M", "5L36", "4M", "4L36", "3M", "3L38"], + psychocut: ["8M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + pursuit: ["7L23", "6L23", "5L28", "4L28", "3L32"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["3S0"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["8M", "8L42", "7L35", "6L35", "5L24", "4L24", "3L26"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + steelbeam: ["8T"], + steelroller: ["8T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tackle: ["8L1"], + takedown: ["8L26", "7L1", "6L1", "5L1", "4L1", "3L1", "3S0"], + telekinesis: ["7T", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["8M", "8L6", "7T", "7L32", "6T", "6L29", "5T", "5L52", "4T", "4L52"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["takedown", "confusion", "metalclaw", "refresh"], pokeball: "pokeball"}, + ], + }, + metagross: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M", "8L72", "7L41", "6L38", "5L44", "5S4", "4L44", "3L66"], + allyswitch: ["8M", "7T"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletpunch: ["8L1", "7L26", "7S7", "6L26", "5L32", "5S1", "5S2", "4L32", "4S0"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + cosmicpower: ["8M"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + doubleedge: ["5S4", "5S5", "3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "5S1", "5S3", "5S6", "4M", "3M"], + endure: ["8M", "4M", "3T"], + expandingforce: ["8T"], + explosion: ["7M", "6M", "5M", "4M", "3T"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + flashcannon: ["8M", "8L16", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + gyroball: ["8M", "7M", "6M", "5M", "4M"], + hammerarm: ["8L0", "7L1", "6L45", "5L45", "5S1", "5S2", "5S4", "5S5", "4L45", "4S0"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "8L82", "7M", "7L60", "6M", "6L60", "5M", "5L71", "5S6", "4M", "4L71", "3M", "3L77"], + icepunch: ["8M", "7T", "7S7", "6T", "5T", "5S2", "4T", "3T"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "8L62", "7T", "7L52", "6T", "6L52", "5T", "5L40", "5S4", "4T", "4L40", "3L44"], + ironhead: ["8M", "7T", "7S7", "6T", "5T", "4T"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magnetrise: ["8L12", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + metalclaw: ["8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + meteorbeam: ["8T"], + meteormash: ["8L52", "7L44", "6L44", "5L53", "5S1", "5S3", "5S5", "5S6", "4L53", "4S0", "3L55"], + mimic: ["3T"], + miracleeye: ["7L29", "6L26", "5L26"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "5S3", "4M", "3M"], + psychic: ["8M", "8L34", "7M", "7L38", "6M", "6L38", "5M", "5L36", "5S5", "5S6", "4M", "4L36", "3M", "3L38"], + psychocut: ["8M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + pursuit: ["7L23", "6L23", "5L28", "4L28", "3L32"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scaryface: ["8M", "8L42", "7L35", "6L35", "5L24", "4L24", "3L1"], + secretpower: ["6M", "4M", "3M"], + selfdestruct: ["8M", "3T"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stompingtantrum: ["8M", "7T", "7S7"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tackle: ["8L1"], + takedown: ["8L26", "7L1", "6L1", "5L1", "4L1", "3L1"], + telekinesis: ["7T", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + zenheadbutt: ["8M", "8L6", "7T", "7L32", "6T", "6L29", "5T", "5L62", "5S2", "5S3", "4T", "4L62", "4S0"], + }, + eventData: [ + {generation: 4, level: 62, nature: "Brave", moves: ["bulletpunch", "meteormash", "hammerarm", "zenheadbutt"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, moves: ["meteormash", "earthquake", "bulletpunch", "hammerarm"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["bulletpunch", "zenheadbutt", "hammerarm", "icepunch"], pokeball: "cherishball"}, + {generation: 5, level: 45, shiny: true, moves: ["meteormash", "zenheadbutt", "earthquake", "protect"], pokeball: "pokeball"}, + {generation: 5, level: 45, isHidden: true, moves: ["irondefense", "agility", "hammerarm", "doubleedge"]}, + {generation: 5, level: 45, isHidden: true, moves: ["psychic", "meteormash", "hammerarm", "doubleedge"]}, + {generation: 5, level: 58, nature: "Serious", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["earthquake", "hyperbeam", "psychic", "meteormash"], pokeball: "cherishball"}, + {generation: 7, level: 50, nature: "Jolly", ivs: {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["ironhead", "icepunch", "bulletpunch", "stompingtantrum"], pokeball: "cherishball"}, + ], + }, + regirock: { + learnset: { + ancientpower: ["8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "8L6", "7M", "7L1", "6M", "6L1", "6S4", "5M"], + chargebeam: ["8L1", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["8L30", "8S7", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], + defensecurl: ["3T"], + dig: ["8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + dynamicpunch: ["3T"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + explosion: ["8L78", "7M", "7L1", "6M", "6L1", "6S5", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + firepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + flashcannon: ["8M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + hammerarm: ["8L42", "8S7", "7L49", "7S6", "6L1", "6S5", "5L81", "4L81"], + headbutt: ["4T"], + heavyslam: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], + icepunch: ["8M", "7T", "6T", "6S5", "5T", "4T", "3T"], + irondefense: ["8M", "8L36", "7T", "7L37", "6T", "6L37", "6S4", "5T", "5L41", "5S3", "4L41", "3L41"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + lockon: ["8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockblast: ["8M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "8L24", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rockthrow: ["8L1", "7L1", "6L1", "5L9", "4L9", "4S2", "3L9", "3S0"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + selfdestruct: ["8M", "3T"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + stomp: ["8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L48", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "6S5", "5M", "5L73", "4M", "4L73"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8L54", "8S7", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + zapcannon: ["8L66", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["rockthrow", "curse", "superpower", "ancientpower"]}, + {generation: 3, level: 40, moves: ["curse", "superpower", "ancientpower", "hyperbeam"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: 1, moves: ["stomp", "rockthrow", "curse", "superpower"]}, + {generation: 5, level: 65, shiny: 1, moves: ["irondefense", "chargebeam", "lockon", "zapcannon"]}, + {generation: 6, level: 40, shiny: 1, moves: ["bulldoze", "curse", "ancientpower", "irondefense"]}, + {generation: 6, level: 50, isHidden: true, moves: ["explosion", "icepunch", "stoneedge", "hammerarm"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, moves: ["stoneedge", "hammerarm", "lockon", "zapcannon"]}, + {generation: 8, level: 70, shiny: 1, moves: ["superpower", "stoneedge", "hammerarm", "curse"]}, + ], + eventOnly: true, + }, + regice: { + learnset: { + amnesia: ["8M", "8L36", "8S7", "7L37", "6L37", "6S4", "6S5", "5L41", "5S3", "4L41", "3L41"], + ancientpower: ["8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], + auroraveil: ["7M"], + avalanche: ["8M", "4M"], + blizzard: ["8M", "8L48", "7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "8L6", "7M", "7L1", "6M", "6L1", "6S4", "5M"], + chargebeam: ["8L1", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["8L30", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + explosion: ["8L78", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "7M", "6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + hail: ["8M", "7M", "6M", "6S5", "5M", "4M", "3M"], + hammerarm: ["8L42", "7L49", "7S6", "6L1", "5L81", "4L81"], + headbutt: ["4T"], + heavyslam: ["8M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], + icebeam: ["8M", "8L24", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "6S5", "5M", "5L73", "4M", "4L73", "3M"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + iciclespear: ["8M"], + icywind: ["8M", "8L1", "8S7", "7T", "7L1", "6T", "6L1", "5T", "5L9", "4T", "4L9", "4S2", "3T", "3L9", "3S0"], + ironhead: ["8M", "7T", "6T", "5T", "4T"], + lockon: ["8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + selfdestruct: ["8M", "3T"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stomp: ["8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + superpower: ["8M", "8L54", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "6S5", "5M", "4M", "3M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + zapcannon: ["8L66", "8S7", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["icywind", "curse", "superpower", "ancientpower"]}, + {generation: 3, level: 40, moves: ["curse", "superpower", "ancientpower", "hyperbeam"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: 1, moves: ["stomp", "icywind", "curse", "superpower"]}, + {generation: 5, level: 65, shiny: 1, moves: ["amnesia", "chargebeam", "lockon", "zapcannon"]}, + {generation: 6, level: 40, shiny: 1, moves: ["bulldoze", "curse", "ancientpower", "amnesia"]}, + {generation: 6, level: 50, isHidden: true, moves: ["thunderbolt", "amnesia", "icebeam", "hail"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, moves: ["icebeam", "hammerarm", "lockon", "zapcannon"]}, + {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "zapcannon", "amnesia", "icywind"]}, + ], + eventOnly: true, + }, + registeel: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + amnesia: ["8M", "8L36", "7L37", "6L37", "6S4", "5L41", "5S3", "4L41", "3L41"], + ancientpower: ["8L12", "7L31", "6L31", "6S4", "5L33", "4T", "4L33", "3L33", "3S0", "3S1"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M"], + bodyslam: ["8M", "3T"], + brickbreak: ["8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["8M", "8L6", "7M", "7L1", "6M", "6L1", "5M"], + chargebeam: ["8L1", "8S7", "7M", "7L1", "6M", "6L1", "5M", "5L49", "5S3", "4M", "4L49"], + confide: ["7M", "6M"], + counter: ["3T"], + curse: ["8L30", "7L25", "6L17", "6S4", "5L17", "4L17", "4S2", "3L17", "3S0", "3S1"], + defensecurl: ["3T"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dynamicpunch: ["3T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + explosion: ["8L78", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1", "3T", "3L1"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flashcannon: ["8M", "8L24", "8S7", "7M", "7L43", "7S6", "6M", "6L43", "5M", "5L73", "4M", "4L73"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "6S5", "5T", "4T"], + hammerarm: ["8L42", "7L49", "7S6", "6L1", "5L81", "4L81"], + headbutt: ["4T"], + heavyslam: ["8M", "8L48", "8S7"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "8L72", "7M", "7L67", "6M", "6L67", "5M", "5L89", "4M", "4L89", "3M", "3L65", "3S1"], + icepunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + irondefense: ["8M", "8L36", "8S7", "7T", "7L37", "6T", "6L37", "6S4", "6S5", "5T", "5L41", "4T", "4L41", "3L41"], + ironhead: ["8M", "8L24", "7T", "7L43", "6T", "6L1", "6S5", "5T", "5L73", "4T", "4L73"], + lockon: ["8L60", "7L55", "7S6", "6L1", "5L57", "5S3", "4L57", "3L57"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metalclaw: ["8L1", "7L1", "6L1", "5L9", "4L9", "4S2", "3L9", "3S0"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "6S5", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["8M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + selfdestruct: ["8M", "3T"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["8M", "7T", "6T", "5T", "4M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stomp: ["8L18", "7L1", "6L1", "5L1", "4L1", "4S2"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + superpower: ["8M", "8L54", "7T", "7L61", "6T", "6L25", "5T", "5L25", "4T", "4L25", "4S2", "3L25", "3S0", "3S1"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + zapcannon: ["8L66", "7L55", "7S6", "6L1", "5L65", "5S3", "4L65", "3L49"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["metalclaw", "curse", "superpower", "ancientpower"]}, + {generation: 3, level: 40, moves: ["curse", "superpower", "ancientpower", "hyperbeam"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: 1, moves: ["stomp", "metalclaw", "curse", "superpower"]}, + {generation: 5, level: 65, shiny: 1, moves: ["amnesia", "chargebeam", "lockon", "zapcannon"]}, + {generation: 6, level: 40, shiny: 1, moves: ["curse", "ancientpower", "irondefense", "amnesia"]}, + {generation: 6, level: 50, isHidden: true, moves: ["ironhead", "rockslide", "gravity", "irondefense"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, moves: ["flashcannon", "hammerarm", "lockon", "zapcannon"]}, + {generation: 8, level: 70, shiny: 1, moves: ["heavyslam", "flashcannon", "irondefense", "chargebeam"]}, + ], + eventOnly: true, + }, + latias: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M"], + airslash: ["8M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurasphere: ["8M"], + batonpass: ["8M"], + bodyslam: ["8M", "3T"], + breakingswipe: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["8M", "8L1", "7L7", "6L1", "5L55", "5S5", "4L55", "3L50", "3S1", "3S2"], + confide: ["7M", "6M"], + confusion: ["8L15"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + dive: ["8M", "8S11", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["8T", "7T", "7S9", "6T", "5T", "4T"], + dragonbreath: ["8L25", "8S10", "7L20", "6L20", "6S6", "5L20", "4L20", "4S3", "3L20"], + dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8L45", "8S11", "7T", "7L56", "7S7", "7S8", "6T", "6L1", "5T", "5L80", "4M", "4L70"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + guardsplit: ["8L65", "7L46", "6L1", "5L75"], + healingwish: ["8L70", "7L1", "6L1", "5L85", "4L60"], + healpulse: ["8L50", "7L16", "6L1", "6S6", "5L65", "5S5"], + helpinghand: ["8M", "8L5", "7T", "7L1", "6T", "6L1", "5T", "5L10", "4T", "4L10", "3L10"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + mimic: ["3T"], + mistball: ["8L35", "8S11", "7L24", "7S7", "7S8", "7S9", "6L24", "6S6", "5L35", "4L35", "4S3", "4S4", "3L35", "3S0", "3S1", "3S2"], + mudslap: ["4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + protect: ["8M", "7M", "6M", "5M", "4M", "3M"], + psychic: ["8M", "8L60", "7M", "7L51", "7S9", "6M", "6L51", "5M", "5L60", "5S5", "4M", "4L65", "3M", "3L40", "3S0", "3S1", "3S2"], + psychocut: ["8M"], + psychoshift: ["8L75", "7L28", "7S7", "7S8", "6L28", "6S6", "5L50", "5S5", "4L50"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7L1", "6L1", "5L1", "4L1", "3L1"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + recover: ["8L10", "7L32", "6L32", "5L45", "4L45", "3L45", "3S1", "3S2"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + reflecttype: ["8L55", "8S10", "7L36", "6L1", "5L70"], + refresh: ["7L13", "6L13", "5L30", "4L30", "4S3", "4S4", "3L30", "3S0"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7L1", "6M", "6L1", "5M", "5L15", "4M", "4L15", "3M", "3L15"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + storedpower: ["8M", "8L1", "7L10", "6L10"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + suckerpunch: ["4T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["8M", "8S10", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + sweetkiss: ["8S11"], + swift: ["8M", "4T", "3T"], + tailwind: ["8L20", "7T", "7S9", "6T", "5T", "4T"], + telekinesis: ["7T", "5M"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + triattack: ["8M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + twister: ["4T"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + watersport: ["7L4", "6L4", "5L25", "4L25", "4S3", "4S4", "3L25", "3S0"], + whirlpool: ["8M", "4M"], + wish: ["8L30", "7L1", "7S7", "7S8", "6L1", "5L5", "4L5", "3L5"], + zenheadbutt: ["8M", "8L40", "8S10", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40", "4S4"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["watersport", "refresh", "mistball", "psychic"]}, + {generation: 3, level: 50, shiny: 1, moves: ["mistball", "psychic", "recover", "charm"]}, + {generation: 3, level: 70, moves: ["mistball", "psychic", "recover", "charm"], pokeball: "pokeball"}, + {generation: 4, level: 35, shiny: 1, moves: ["dragonbreath", "watersport", "refresh", "mistball"]}, + {generation: 4, level: 40, shiny: 1, moves: ["watersport", "refresh", "mistball", "zenheadbutt"]}, + {generation: 5, level: 68, shiny: 1, moves: ["psychoshift", "charm", "psychic", "healpulse"]}, + {generation: 6, level: 30, shiny: 1, moves: ["healpulse", "dragonbreath", "mistball", "psychoshift"]}, + {generation: 7, level: 60, shiny: 1, moves: ["mistball", "dragonpulse", "psychoshift", "wish"]}, + {generation: 7, level: 60, moves: ["mistball", "dragonpulse", "psychoshift", "wish"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["mistball", "psychic", "dracometeor", "tailwind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["reflecttype", "dragonbreath", "zenheadbutt", "surf"]}, + {generation: 8, level: 70, nature: "Bashful", moves: ["mistball", "dragonpulse", "dive", "sweetkiss"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + latios: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["8M"], + airslash: ["8M"], + allyswitch: ["8M", "8L30", "7T"], + attract: ["8M", "7M", "6M", "5M", "4M", "3M"], + aurasphere: ["8M", "8S11"], + batonpass: ["8M"], + bodyslam: ["8M", "3T"], + breakingswipe: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M", "4M", "3M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["8L15"], + cut: ["6M", "5M", "4M", "3M"], + defog: ["7T", "4M"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["8T", "7T", "7S10", "6T", "5T", "4T"], + dragonbreath: ["8L25", "7L20", "7S8", "7S9", "6L20", "6S6", "5L20", "4L20", "4S3", "3L20"], + dragonclaw: ["8M", "7M", "6M", "5M", "4M", "3M"], + dragondance: ["8M", "8L1", "8S11", "7L7", "6L1", "5L55", "5S5", "4L55", "3L50", "3S1", "3S2"], + dragonpulse: ["8M", "8L45", "8S11", "7T", "7L56", "7S8", "7S9", "6T", "6L1", "6S7", "5T", "5L80", "4M", "4L70"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dualwingbeat: ["8T"], + earthquake: ["8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["8M", "4M", "3T"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M", "3M"], + flash: ["6M", "5M", "4M", "3M"], + fly: ["8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + healblock: ["7L1", "6L1", "5L5", "4L5"], + healpulse: ["8L50", "7L16", "6L1", "6S6", "6S7", "5L65", "5S5"], + helpinghand: ["8M", "8L5", "7T", "7L1", "6T", "6L1", "5T", "5L10", "4T", "4L10", "3L10"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["8M", "7T", "6T", "5T", "4T", "3T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["8M", "7M", "6M", "5M", "4M", "3M"], + lusterpurge: ["8L35", "7L24", "7S8", "7S9", "7S10", "6L24", "6S6", "6S7", "5L35", "4L35", "4S3", "4S4", "3L35", "3S0", "3S1", "3S2"], + magiccoat: ["7T", "6T", "5T", "4T"], + memento: ["8L70", "7L1", "6L1", "5L85", "4L60", "3L5"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + mysticalfire: ["8M"], + naturalgift: ["4M"], + outrage: ["8M", "7T", "6T", "5T", "4T"], + powersplit: ["8L65", "7L46", "6L1", "5L75"], + protect: ["8M", "7M", "7L4", "6M", "6L4", "5M", "5L25", "4M", "4L25", "4S3", "4S4", "3M", "3L25", "3S0"], + psychic: ["8M", "8L60", "7M", "7L51", "7S10", "6M", "6L51", "6S7", "5M", "5L60", "5S5", "4M", "4L65", "3M", "3L40", "3S0", "3S1", "3S2"], + psychocut: ["8M"], + psychoshift: ["8L75", "7L28", "7S8", "7S9", "6L28", "6S6", "5L50", "5S5", "4L50"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7L1", "6L1", "5L1", "4L1", "3L1"], + raindance: ["8M", "7M", "6M", "5M", "4M", "3M"], + recover: ["8L10", "7L32", "6L32", "5L45", "4L45", "3L45", "3S1", "3S2"], + reflect: ["8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7L13", "6L13", "5L30", "4L30", "4S3", "4S4", "3L30", "3S0"], + rest: ["8M", "7M", "6M", "5M", "4M", "3M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["7M", "6M", "5M", "4M", "3M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "7L1", "6M", "6L1", "5M", "5L15", "4M", "4L15", "3M", "3L15"], + sandstorm: ["8M", "7M", "6M", "5M", "4M", "3M"], + scaleshot: ["8T"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["8M", "7M", "6M", "5M", "4M", "3M"], + shadowclaw: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + simplebeam: ["8L55"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M", "3M"], + steelwing: ["8M", "7M", "6M", "4M", "3M"], + storedpower: ["8M", "8L1", "7L10", "6L10"], + substitute: ["8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["8M", "4T", "3T"], + tailwind: ["8L20", "7T", "7S10", "6T", "5T", "4T"], + telekinesis: ["7T", "7L36", "6L1", "5M", "5L70"], + thunder: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + triattack: ["8M"], + trick: ["8M", "7T", "6T", "5T", "4T"], + twister: ["4T"], + waterfall: ["8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["8M", "8L40", "8S11", "7T", "7L41", "6T", "6L40", "5T", "5L40", "4T", "4L40", "4S4"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["protect", "refresh", "lusterpurge", "psychic"]}, + {generation: 3, level: 50, shiny: 1, moves: ["lusterpurge", "psychic", "recover", "dragondance"]}, + {generation: 3, level: 70, moves: ["lusterpurge", "psychic", "recover", "dragondance"], pokeball: "pokeball"}, + {generation: 4, level: 35, shiny: 1, moves: ["dragonbreath", "protect", "refresh", "lusterpurge"]}, + {generation: 4, level: 40, shiny: 1, moves: ["protect", "refresh", "lusterpurge", "zenheadbutt"]}, + {generation: 5, level: 68, shiny: 1, moves: ["psychoshift", "dragondance", "psychic", "healpulse"]}, + {generation: 6, level: 30, shiny: 1, moves: ["healpulse", "dragonbreath", "lusterpurge", "psychoshift"]}, + {generation: 6, level: 50, nature: "Modest", moves: ["dragonpulse", "lusterpurge", "psychic", "healpulse"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["lusterpurge", "dragonpulse", "psychoshift", "dragonbreath"]}, + {generation: 7, level: 60, moves: ["lusterpurge", "dragonpulse", "psychoshift", "dragonbreath"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["lusterpurge", "psychic", "dracometeor", "tailwind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["dragondance", "dragonpulse", "zenheadbutt", "aurasphere"]}, + ], + eventOnly: true, + }, + kyogre: { + learnset: { + ancientpower: ["9L1", "8L1", "7L1", "6L1", "5L45", "5S3", "4T", "4L15", "4S2", "3L15"], + aquaring: ["9L54", "8L54", "8S11", "7L30", "6L30", "6S5", "5L30", "4L30", "4S2"], + aquatail: ["9L9", "8L9", "7T", "7L15", "6T", "6L15", "5T", "5L65", "4T", "4L65"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "9L1", "8M", "8L1", "8S11", "7L20", "6L15", "6S5", "5L15", "4L15", "3T", "3L20", "3S0"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brine: ["8M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "9L18", "8M", "8L18", "7M", "7L50", "7S7", "7S8", "7S9", "7S10", "6M", "6L50", "5M", "5L60", "4M", "4L30", "3M", "3L30", "3S0"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + defensecurl: ["3T"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["9L81", "8L81", "7L80", "6L80", "5L80", "4L65", "3T", "3L65", "3S1"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + endure: ["9M", "8M", "4M", "3T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M", "3M"], + headbutt: ["4T"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hydropump: ["9M", "9L72", "8M", "8L72", "7L75", "6L75", "5L90", "4L45", "3L45", "3S0", "3S1"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icebeam: ["9M", "9L36", "8M", "8L36", "7M", "7L35", "7S7", "7S8", "7S9", "7S10", "6M", "6L35", "6S5", "6S6", "5M", "5L35", "5S3", "5S4", "4M", "4L35", "4S2", "3M", "3L35", "3S0"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + liquidation: ["9M", "8M", "7T"], + mimic: ["3T"], + muddywater: ["9L27", "8M", "8L27", "7L60", "7S7", "7S8", "7S9", "6L20", "5L20", "4L20"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + originpulse: ["9L1", "8L63", "7L45", "7S7", "7S8", "7S9", "7S10", "6L45", "6S5"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M", "4L50", "3M", "3L50", "3S1"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + scald: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L1", "8M", "8L1", "7L5", "6L5", "5L5", "4L5", "3L5"], + secretpower: ["6M", "4M", "3M"], + sheercold: ["9L45", "8L45", "7L65", "6L65", "6S6", "5L75", "5S4", "4L60", "3L60", "3S1"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + surf: ["9M", "8M", "8S11", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "8S11", "7M", "6M", "6S6", "5M", "5S3", "5S4", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "6L1", "5L1", "4M", "4L1", "3M", "3L1"], + waterspout: ["9L90", "8L90", "7L90", "7S10", "6L50", "6S6", "5L50", "5S3", "5S4", "4L50", "4S2", "3L75"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 3, level: 45, shiny: 1, moves: ["bodyslam", "calmmind", "icebeam", "hydropump"]}, + {generation: 3, level: 70, shiny: 1, moves: ["hydropump", "rest", "sheercold", "doubleedge"]}, + {generation: 4, level: 50, shiny: 1, moves: ["aquaring", "icebeam", "ancientpower", "waterspout"]}, + {generation: 5, level: 80, shiny: 1, moves: ["icebeam", "ancientpower", "waterspout", "thunder"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["waterspout", "thunder", "icebeam", "sheercold"], pokeball: "cherishball"}, + {generation: 6, level: 45, moves: ["bodyslam", "aquaring", "icebeam", "originpulse"]}, + {generation: 6, level: 100, nature: "Timid", moves: ["waterspout", "thunder", "sheercold", "icebeam"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["icebeam", "originpulse", "calmmind", "muddywater"]}, + {generation: 7, level: 60, shiny: true, moves: ["icebeam", "originpulse", "calmmind", "muddywater"], pokeball: "cherishball"}, + {generation: 7, level: 60, moves: ["icebeam", "originpulse", "calmmind", "muddywater"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["originpulse", "icebeam", "waterspout", "calmmind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["surf", "bodyslam", "aquaring", "thunder"]}, + ], + eventOnly: true, + }, + groudon: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + ancientpower: ["9L1", "8L1", "7L1", "6L1", "5L45", "5S3", "4T", "4L15", "4S2", "3L15"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M", "8M", "3T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "9L18", "8M", "8L18", "7M", "7L50", "7S7", "7S8", "7S9", "6M", "6L50", "5M", "5L60", "4M", "4L30", "3M", "3L30", "3S0"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + counter: ["3T"], + crunch: ["9M"], + cut: ["6M", "5M", "4M", "3M"], + defensecurl: ["3T"], + dig: ["9M", "8M", "6M", "5M", "4M", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragontail: ["7M", "6M", "5M"], + dynamicpunch: ["3T"], + earthpower: ["9M", "9L9", "8M", "8L9", "7T", "7L15", "7S10", "6T", "6L15", "5T", "5L65", "5S4", "4T", "4L65"], + earthquake: ["9M", "9L27", "8M", "8L27", "8S11", "7M", "7L35", "7S7", "7S8", "7S9", "6M", "6L35", "6S5", "5M", "5L35", "5S3", "4M", "4L35", "4S2", "3M", "3L35", "3S0"], + endure: ["9M", "8M", "4M", "3T"], + eruption: ["9L90", "8L90", "7L90", "6L50", "5L50", "5S3", "5S4", "4L50", "4S2", "3L75"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "9L72", "8M", "8L72", "7M", "7L75", "6M", "6L75", "5M", "5L90", "4M", "4L45", "3M", "3L45", "3S0", "3S1"], + firefang: ["9M"], + firepunch: ["9M", "8M", "7T", "7S10", "6T", "6S6", "5T", "4T", "3T"], + fissure: ["9L45", "8L45", "7L65", "6L65", "5L75", "4L60", "3L60", "3S1"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hammerarm: ["9L36", "8L36", "8S11", "7L80", "6L20", "6S6", "5L20", "5S4", "4L20"], + headbutt: ["4T"], + heatcrash: ["9M", "8M"], + heatwave: ["9M"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + highhorsepower: ["9M", "8M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + lavaplume: ["9L1", "8L1", "8S11", "7L20", "6L15", "6S5", "5L15", "4L15"], + megakick: ["8M", "3T"], + megapunch: ["8M", "3T"], + metalclaw: ["9M"], + mimic: ["3T"], + mudshot: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1", "3L1"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + poweruppunch: ["6M"], + precipiceblades: ["9L1", "8L63", "7L45", "7S7", "7S8", "7S9", "7S10", "6L45", "6S5"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + rest: ["9M", "9L54", "8M", "8L54", "7M", "7L30", "6M", "6L30", "6S5", "5M", "5L30", "4M", "4L30", "4S2", "3M", "3L50", "3S1"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockblast: ["9M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "6S6", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rollout: ["4T", "3T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + sandtomb: ["9M"], + scaryface: ["9M", "9L1", "8M", "8L1", "8S11", "7L5", "6L5", "5L5", "4L5", "3L5"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + slash: ["4L20", "3L20", "3S0"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "9L81", "8M", "8L81", "7M", "7L60", "7S7", "7S8", "7S9", "6M", "6L60", "6S6", "5M", "5L80", "5S3", "5S4", "4M", "4L65", "3M", "3L65", "3S1"], + spikes: ["9M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["4T", "3T"], + swordsdance: ["9M", "8M", "7M", "7S10", "6M", "5M", "4M", "3T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + willowisp: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 3, level: 45, shiny: 1, moves: ["slash", "bulkup", "earthquake", "fireblast"]}, + {generation: 3, level: 70, shiny: 1, moves: ["fireblast", "rest", "fissure", "solarbeam"]}, + {generation: 4, level: 50, shiny: 1, moves: ["rest", "earthquake", "ancientpower", "eruption"]}, + {generation: 5, level: 80, shiny: 1, moves: ["earthquake", "ancientpower", "eruption", "solarbeam"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["eruption", "hammerarm", "earthpower", "solarbeam"], pokeball: "cherishball"}, + {generation: 6, level: 45, moves: ["lavaplume", "rest", "earthquake", "precipiceblades"]}, + {generation: 6, level: 100, nature: "Adamant", moves: ["firepunch", "solarbeam", "hammerarm", "rockslide"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["earthquake", "precipiceblades", "bulkup", "solarbeam"]}, + {generation: 7, level: 60, shiny: true, moves: ["earthquake", "precipiceblades", "bulkup", "solarbeam"], pokeball: "cherishball"}, + {generation: 7, level: 60, moves: ["earthquake", "precipiceblades", "bulkup", "solarbeam"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["precipiceblades", "earthpower", "firepunch", "swordsdance"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["earthquake", "scaryface", "lavaplume", "hammerarm"]}, + ], + eventOnly: true, + }, + rayquaza: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M", "3M"], + airslash: ["9M", "9L1", "8M", "8L1", "7L30", "6L30", "5L35", "4L35", "4S1"], + ancientpower: ["9L1", "8L1", "7L15", "6L15", "5L45", "5S2", "4T", "4L15", "4S1", "3L15"], + aquatail: ["7T", "6T", "5T", "4T"], + avalanche: ["9M", "8M", "4M"], + bind: ["7T", "6T", "5T"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bodyslam: ["9M", "8M", "3T"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + brutalswing: ["8M", "8S9", "7M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + celebrate: ["6S7"], + confide: ["7M", "6M"], + cosmicpower: ["8M"], + crunch: ["9M", "9L9", "8M", "8L9", "7L20", "6L15", "5L15", "4L15", "3L35"], + defog: ["7T"], + dive: ["8M", "6M", "5M", "4T", "3M"], + doubleedge: ["3T"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["9M", "8T", "7T", "6T", "6S7", "5T", "4T"], + dragonascent: ["9L1", "8L1", "8S9", "7T", "6T", "6S4", "6S6", "6S7"], + dragonclaw: ["9M", "8M", "7M", "6M", "6S6", "5M", "4M", "4L20", "3M", "3L20"], + dragondance: ["9M", "9L18", "8M", "8L18", "7L60", "7S8", "6L60", "6S4", "6S6", "5L60", "5S2", "4L30", "3L30"], + dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L50", "7S8", "6T", "6L50", "6S4", "6S5", "5T", "5L90", "5S2", "5S3", "4M", "4L75"], + dragontail: ["9M", "7M", "6M", "5M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + extremespeed: ["9L27", "8L27", "8S9", "7L45", "7S8", "6L45", "6S4", "6S5", "6S6", "5L75", "5S3", "4L60", "3L60", "3S0"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + fly: ["9M", "9L63", "8M", "8L63", "7M", "7L65", "6M", "6L65", "6S7", "5M", "5L65", "4M", "4L45", "3M", "3L45", "3S0"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + furycutter: ["4T", "3T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + honeclaws: ["6M", "5M"], + hurricane: ["9M", "9L72", "8M", "8L72"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "9L90", "8M", "8L90", "7M", "7L90", "6M", "6L80", "5M", "5L80", "5S3", "4M", "4L65", "3M", "3L75"], + hypervoice: ["9M", "9L45", "8M", "8L45", "7T", "7L75", "6T", "6L20", "5T", "5L20", "4L20"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M", "3M"], + meteorbeam: ["8T"], + mimic: ["3T"], + mudslap: ["4T", "3T"], + naturalgift: ["4M"], + outrage: ["9M", "9L81", "8M", "8L81", "7T", "7L80", "6T", "6L50", "5T", "5L50", "5S2", "4T", "4L50", "4S1", "3L65", "3S0"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + rest: ["9M", "9L54", "8M", "8L54", "7M", "7L35", "7S8", "6M", "6L30", "5M", "5L30", "4M", "4L30", "4S1", "3M", "3L50", "3S0"], + return: ["7M", "6M", "5M", "4M", "3M"], + roar: ["9M", "7M", "6M", "5M", "4M", "3M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L1", "8M", "8L1", "7L5", "6L5", "5L5", "4L5", "3L5"], + secretpower: ["6M", "4M", "3M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M", "3M"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + stealthrock: ["9M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "8M", "4T", "3T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "6S5", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + twister: ["9L1", "8L1", "8S9", "7L1", "6L1", "6S5", "5L1", "4T", "4L1", "3L1"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["9M"], + vcreate: ["5S3"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + waterpulse: ["7T", "6T", "4M", "3M"], + whirlpool: ["8M", "4M"], + wildcharge: ["9M"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["fly", "rest", "extremespeed", "outrage"]}, + {generation: 4, level: 50, shiny: 1, moves: ["rest", "airslash", "ancientpower", "outrage"]}, + {generation: 5, level: 70, shiny: true, moves: ["dragonpulse", "ancientpower", "outrage", "dragondance"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["extremespeed", "hyperbeam", "dragonpulse", "vcreate"], pokeball: "cherishball"}, + {generation: 6, level: 70, moves: ["extremespeed", "dragonpulse", "dragondance", "dragonascent"]}, + {generation: 6, level: 70, shiny: true, moves: ["dragonpulse", "thunder", "twister", "extremespeed"], pokeball: "cherishball"}, + {generation: 6, level: 70, shiny: true, moves: ["dragonascent", "dragonclaw", "extremespeed", "dragondance"], pokeball: "cherishball"}, + {generation: 6, level: 100, shiny: true, moves: ["dragonascent", "dracometeor", "fly", "celebrate"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["rest", "extremespeed", "dragonpulse", "dragondance"]}, + {generation: 8, level: 70, shiny: 1, moves: ["dragonascent", "brutalswing", "extremespeed", "twister"]}, + ], + eventOnly: true, + }, + jirachi: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + allyswitch: ["8M"], + amnesia: ["9M", "8M"], + ancientpower: ["4T"], + aurasphere: ["9M", "8M"], + batonpass: ["9M", "8M"], + bodyslam: ["9M", "8M", "3T"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "8M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "6S18", "6S20", "6S21", "5L1", "4L1", "4S11", "4S12", "3L1", "3S0", "3S1", "3S2", "3S3", "3S4", "3S5", "3S6", "3S7", "3S8", "3S9"], + cosmicpower: ["9L84", "8M", "8L84", "7L60", "6L60", "6S19", "5L60", "5S15", "4L60", "3L45"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + defensecurl: ["3T"], + doomdesire: ["9L98", "8L98", "7L70", "6L70", "5L70", "4L70", "3L50"], + doubleedge: ["9L77", "8L77", "7L40", "6L40", "5L40", "4L40", "3T", "3L35"], + doubleteam: ["7M", "6M", "5M", "4M", "3M"], + dracometeor: ["5S14", "4S12"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M", "3T"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + faketears: ["9M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + flash: ["6M", "5M", "4M", "3M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + followme: ["5S14"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + futuresight: ["9L70", "8M", "8L70", "7L55", "6L55", "5L55", "4L55", "3L40"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9L35", "8L35", "7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L45"], + happyhour: ["6S20"], + headbutt: ["4T"], + healingwish: ["9L56", "8L56", "7L50", "7S22", "6L50", "6S17", "5L50", "5S13", "5S15", "5S16", "4L50"], + heartstamp: ["6S19"], + helpinghand: ["9M", "8M", "8L14", "7T", "7L15", "6T", "6L15", "6S18", "5T", "5L15", "4T", "4L15", "3L15", "3S10"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + imprison: ["9M", "8M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + lastresort: ["9L91", "8L91", "7T", "7L65", "6T", "6L65", "5T", "5L65", "4T", "4L65"], + lifedew: ["9L21", "8L21"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + luckychant: ["7L30"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + meteorbeam: ["8T"], + meteormash: ["9L49", "8L49", "8S23", "5S13", "5S14", "5S15"], + metronome: ["9M", "8M", "3T"], + mimic: ["3T"], + moonblast: ["6S17"], + mudslap: ["9M", "4T", "3T"], + naturalgift: ["4M"], + nightmare: ["3T"], + playrough: ["9M", "8M", "6S19"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + psybeam: ["9M"], + psychic: ["9M", "9L42", "8M", "8L42", "8S23", "7M", "7L20", "6M", "6L20", "5M", "5L20", "5S13", "4M", "4L20", "3M", "3L20", "3S10"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + refresh: ["7L25", "6L25", "5L25", "4L25", "3L25", "3S10"], + rest: ["9M", "9L63", "8M", "8L63", "8S23", "7M", "7L30", "7S22", "6M", "6L5", "6S21", "5M", "5L5", "4M", "4L5", "4S11", "4S12", "3M", "3L5", "3S0", "3S1", "3S2", "3S3", "3S4", "3S5", "3S6", "3S7", "3S8", "3S9", "3S10"], + return: ["7M", "6M", "6S18", "5M", "5S16", "4M", "3M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M", "3M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M", "3T"], + snore: ["8M", "7T", "6T", "5T", "4T", "3T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "8T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["9M", "9L7", "8M", "8L7", "7L10", "7S22", "6L10", "6S17", "6S20", "5L10", "5S13", "5S16", "4T", "4L10", "3T", "3L10"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T", "3T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M", "3T"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M", "3M"], + wish: ["9L1", "8L1", "8S23", "7L1", "7S22", "6L1", "6S17", "6S18", "6S19", "6S20", "6S21", "5L1", "5S14", "5S15", "5S16", "4L1", "4S11", "4S12", "3L1", "3S0", "3S1", "3S2", "3S3", "3S4", "3S5", "3S6", "3S7", "3S8", "3S9"], + zenheadbutt: ["9M", "9L28", "8M", "8L28", "7T", "7L35", "6T", "6L35", "5T", "5L35", "4T", "4L35"], + }, + eventData: [ + {generation: 3, level: 5, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Bashful", ivs: {hp: 24, atk: 3, def: 30, spa: 12, spd: 16, spe: 11}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Careful", ivs: {hp: 10, atk: 0, def: 10, spa: 10, spd: 26, spe: 12}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Docile", ivs: {hp: 19, atk: 7, def: 10, spa: 19, spd: 10, spe: 16}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Hasty", ivs: {hp: 3, atk: 12, def: 12, spa: 7, spd: 11, spe: 9}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Jolly", ivs: {hp: 11, atk: 8, def: 6, spa: 14, spd: 5, spe: 20}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Lonely", ivs: {hp: 31, atk: 23, def: 26, spa: 29, spd: 18, spe: 5}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Naughty", ivs: {hp: 21, atk: 31, def: 31, spa: 18, spd: 24, spe: 19}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Serious", ivs: {hp: 29, atk: 10, def: 31, spa: 25, spd: 23, spe: 21}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Timid", ivs: {hp: 15, atk: 28, def: 29, spa: 3, spd: 0, spe: 7}, moves: ["wish", "confusion", "rest"], pokeball: "pokeball"}, + {generation: 3, level: 30, moves: ["helpinghand", "psychic", "refresh", "rest"], pokeball: "pokeball"}, + {generation: 4, level: 5, moves: ["wish", "confusion", "rest"], pokeball: "cherishball"}, + {generation: 4, level: 5, moves: ["wish", "confusion", "rest", "dracometeor"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["healingwish", "psychic", "swift", "meteormash"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["dracometeor", "meteormash", "wish", "followme"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["wish", "healingwish", "cosmicpower", "meteormash"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["wish", "healingwish", "swift", "return"], pokeball: "cherishball"}, + {generation: 6, level: 10, shiny: true, moves: ["wish", "swift", "healingwish", "moonblast"], pokeball: "cherishball"}, + {generation: 6, level: 15, shiny: true, moves: ["wish", "confusion", "helpinghand", "return"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["heartstamp", "playrough", "wish", "cosmicpower"], pokeball: "cherishball"}, + {generation: 6, level: 25, shiny: true, moves: ["wish", "confusion", "swift", "happyhour"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["wish", "confusion", "rest"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["swift", "wish", "healingwish", "rest"], pokeball: "cherishball"}, + {generation: 8, level: 70, nature: "Timid", moves: ["meteormash", "psychic", "rest", "wish"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + deoxys: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M", "3M"], + agility: ["7L55", "6L55", "5L73", "4L73", "3L35"], + allyswitch: ["7T", "5M"], + amnesia: ["7L55", "6L55", "5L73", "4L73", "3L35"], + avalanche: ["4M"], + bind: ["7T", "6T", "5T"], + bodyslam: ["3T"], + brickbreak: ["7M", "6M", "5M", "4M", "3M"], + brutalswing: ["7M"], + calmmind: ["7M", "6M", "5M", "4M", "3M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + cosmicpower: ["7L55", "6L55", "6S10", "5L73", "4L73", "3L35", "3S3"], + counter: ["7L73", "6L73", "5L97", "4L97", "4S6", "3T", "3L50"], + cut: ["6M", "5M", "4M", "3M"], + darkpulse: ["7M", "6M", "5S9"], + detect: ["4S6"], + doubleedge: ["3T"], + doubleteam: ["7M", "7L13", "6M", "6L13", "5M", "5L17", "4M", "4L17", "4S5", "3M", "3L10"], + drainpunch: ["7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M", "3T"], + dynamicpunch: ["3T"], + endure: ["4M", "3T"], + energyball: ["7M", "6M", "5M", "4M"], + extremespeed: ["7L73", "6L73", "5L97", "4L97", "4S4", "4S5", "3L50"], + facade: ["7M", "6M", "5M", "4M", "3M"], + firepunch: ["7T", "6T", "5T", "4T", "3T"], + flash: ["6M", "5M", "4M", "3M"], + flashcannon: ["7M", "6M", "5M", "4M"], + fling: ["7M", "6M", "5M", "4M"], + focusblast: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M", "3M"], + frustration: ["7M", "6M", "5M", "4M", "3M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + gravity: ["7T", "6T", "5T", "4T"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M", "3M"], + hyperbeam: ["7M", "7L73", "6M", "6L73", "6S10", "5M", "5L97", "4M", "4L97", "4S7", "3M", "3L50", "3S3"], + icebeam: ["7M", "6M", "5M", "4M", "3M"], + icepunch: ["7T", "6T", "5T", "4T", "3T"], + icywind: ["7T", "6T", "5T", "4T", "3T"], + irondefense: ["7L55", "6T", "6L55", "5T", "5L73", "4T", "4L73", "4S4", "3L35"], + knockoff: ["7T", "7L19", "6T", "6L19", "5T", "5L25", "4T", "4L25", "3L15", "3S1", "3S2"], + laserfocus: ["7T"], + leer: ["7L1", "6L1", "5L1", "4L1", "4S8", "3L1"], + lightscreen: ["7M", "6M", "5M", "4M", "3M"], + lowkick: ["7T", "6T", "5T", "4T"], + lowsweep: ["7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["3T"], + megapunch: ["3T"], + meteormash: ["4S7"], + mimic: ["3T"], + mirrorcoat: ["7L73", "6L73", "5L97", "4L97", "4S6", "3L50"], + mudslap: ["4T", "3T"], + nastyplot: ["5S9"], + naturalgift: ["4M"], + nightmare: ["3T"], + nightshade: ["7L7", "6L7", "5L9", "4L9", "4S8", "3L5"], + poisonjab: ["7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M", "4M", "3M"], + psychic: ["7M", "7L31", "6M", "6L31", "5M", "5L41", "4M", "4L41", "3M", "3L25", "3S0", "3S1", "3S2"], + psychoboost: ["7L67", "6L67", "6S10", "5L89", "5S9", "4L89", "4S4", "4S5", "4S6", "4S7", "4S8", "3L45", "3S3"], + psychoshift: ["7L43", "6L43", "5L57", "4L57"], + psychup: ["7M", "6M", "5M", "4M", "3T"], + psyshock: ["7M", "6M", "5M"], + pursuit: ["7L25", "6L25", "5L33", "4L33", "3L20", "3S0", "3S2"], + raindance: ["7M", "6M", "5M", "4M", "3M"], + recover: ["7L61", "6L61", "6S10", "5L81", "5S9", "4L81", "3L40", "3S3"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["7M", "6M", "5M", "4M", "3M"], + rest: ["7M", "6M", "5M", "4M", "3M"], + return: ["7M", "6M", "5M", "4M", "3M"], + rockslide: ["7M", "6M", "5M", "4M", "3T"], + rocksmash: ["6M", "5M", "4M", "3M"], + rocktomb: ["7M", "6M", "5M", "4M", "3M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M", "3M"], + secretpower: ["6M", "4M", "3M"], + seismictoss: ["3T"], + shadowball: ["7M", "6M", "5M", "4M", "3M"], + shockwave: ["7T", "6T", "4M", "3M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["7T", "6T", "5T", "4M", "3M"], + sleeptalk: ["7M", "6M", "5T", "4M", "3T"], + snatch: ["7T", "7L37", "6T", "6L37", "5T", "5L49", "4M", "4L49", "3M", "3L30", "3S1"], + snore: ["7T", "6T", "5T", "4T", "3T"], + solarbeam: ["7M", "6M", "5M", "4M", "3M"], + spikes: ["7L25", "6L25", "5L33", "4L33", "3L20", "3S1"], + stealthrock: ["7T", "6T", "5T", "4M"], + stompingtantrum: ["7T"], + strength: ["6M", "5M", "4M", "3M"], + substitute: ["7M", "6M", "5M", "4M", "3T"], + sunnyday: ["7M", "6M", "5M", "4M", "3M"], + superpower: ["7L37", "6T", "6L37", "5L49", "4T", "4L49", "4S7", "3S0"], + swagger: ["7M", "6M", "5M", "4M", "3T"], + swift: ["7L37", "6L37", "5L49", "4T", "4L49", "4S5", "3T", "3L30", "3S2"], + taunt: ["7M", "7L19", "6M", "6L19", "5M", "5L25", "4M", "4L25", "3M", "3L15", "3S0"], + telekinesis: ["7T", "5M"], + teleport: ["7L13", "6L13", "5L17", "4L17", "3L10"], + throatchop: ["7T"], + thunder: ["7M", "6M", "5M", "4M", "3M"], + thunderbolt: ["7M", "6M", "5M", "4M", "3M"], + thunderpunch: ["7T", "6T", "5T", "4T", "3T"], + thunderwave: ["7M", "6M", "5M", "4M", "3T"], + torment: ["7M", "6M", "5M", "4M", "3M"], + toxic: ["7M", "6M", "5M", "4M", "3M"], + trick: ["7T", "6T", "5T", "4T"], + trickroom: ["7M", "6M", "5M", "4M"], + waterpulse: ["7T", "6T", "4M", "3M"], + wonderroom: ["7T", "6T", "5T"], + wrap: ["7L1", "6L1", "5L1", "4L1", "4S8", "3L1"], + zapcannon: ["7L61", "6L61", "5L81", "4L81", "4S4", "3L40"], + zenheadbutt: ["7T", "7L49", "6T", "6L49", "5T", "5L65", "4T", "4L65"], + }, + eventData: [ + {generation: 3, level: 30, shiny: 1, moves: ["taunt", "pursuit", "psychic", "superpower"]}, + {generation: 3, level: 30, shiny: 1, moves: ["knockoff", "spikes", "psychic", "snatch"]}, + {generation: 3, level: 30, shiny: 1, moves: ["knockoff", "pursuit", "psychic", "swift"]}, + {generation: 3, level: 70, moves: ["cosmicpower", "recover", "psychoboost", "hyperbeam"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["psychoboost", "zapcannon", "irondefense", "extremespeed"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["psychoboost", "swift", "doubleteam", "extremespeed"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["psychoboost", "detect", "counter", "mirrorcoat"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["psychoboost", "meteormash", "superpower", "hyperbeam"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["psychoboost", "leer", "wrap", "nightshade"], pokeball: "pokeball"}, + {generation: 5, level: 100, moves: ["nastyplot", "darkpulse", "recover", "psychoboost"], pokeball: "duskball"}, + {generation: 6, level: 80, moves: ["cosmicpower", "recover", "psychoboost", "hyperbeam"]}, + ], + eventOnly: true, + }, + deoxysattack: { + eventOnly: true, + }, + deoxysdefense: { + eventOnly: true, + }, + deoxysspeed: { + eventOnly: true, + }, + turtwig: { + learnset: { + absorb: ["9L9", "7L9", "6L9", "5L9", "5S0", "5S1", "4L9"], + amnesia: ["9M", "7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M"], + bite: ["9L21", "7L21", "6L21", "5L21", "4L21"], + bodyslam: ["9M", "7E", "6E", "5E", "4E"], + bulldoze: ["9M"], + bulletseed: ["9M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L37", "7L37", "6L37", "5L37", "4L37"], + curse: ["9L17", "7L17", "6L17", "5L17", "4L17"], + cut: ["6M", "5M", "4M"], + doubleedge: ["9E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + endure: ["9M", "4M"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["9M", "9L41", "7T", "7L41", "6T", "6L41", "5T", "5L41", "4M", "4L41"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M", "7E", "6E"], + growth: ["9E", "7E", "6E", "5E", "4E"], + headbutt: ["4T"], + heavyslam: ["9M", "7E"], + hiddenpower: ["7M", "6M", "5M", "4M"], + ironhead: ["9M"], + irontail: ["7T", "6T", "5T", "4M"], + leafstorm: ["9M", "9L45", "7L45", "6L45", "5L45", "4L45"], + leechseed: ["9L29", "7L29", "6L29", "5L29", "4L29"], + lightscreen: ["9M", "7M", "6M", "5M", "4M"], + magicalleaf: ["9M"], + megadrain: ["9L25", "7L25", "6L25", "5L25", "4L25"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + razorleaf: ["9L13", "7L13", "6L13", "5L13", "4L13"], + reflect: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M"], + rockclimb: ["4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + sandtomb: ["9M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + shellsmash: ["9E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + spitup: ["9E", "7E", "6E", "5E", "4E"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stockpile: ["9E", "7E", "6E", "5E", "5S1", "4E"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + superpower: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + swagger: ["7M", "6M", "5M", "4M"], + swallow: ["9E", "7E", "6E", "5E", "4E"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + synthesis: ["9L33", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33"], + tackle: ["9L1", "9S2", "7L1", "6L1", "5L1", "5S0", "5S1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9E", "7E", "6E", "5E", "4E"], + tickle: ["9E", "7E", "6E", "5E", "4E"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + wideguard: ["9E", "7E", "6E", "5E"], + withdraw: ["9L5", "7L5", "6L5", "5L5", "5S0", "5S1", "4L5"], + workup: ["7M"], + worryseed: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tackle", "withdraw", "absorb"]}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["tackle", "withdraw", "absorb", "stockpile"]}, + {generation: 9, level: 1, moves: ["tackle"], pokeball: "pokeball"}, + ], + }, + grotle: { + learnset: { + absorb: ["9L1", "7L1", "6L9", "5L9", "4L9"], + amnesia: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + bite: ["9L22", "7L22", "6L22", "5L22", "4L22"], + bodyslam: ["9M"], + bulldoze: ["9M"], + bulletseed: ["9M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L42", "7L42", "6L42", "5L42", "4L42"], + curse: ["9L17", "7L17", "6L17", "5L17", "4L17"], + cut: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + endure: ["9M", "4M"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["9M", "9L47", "7T", "7L47", "6T", "6L47", "5T", "5L47", "4M", "4L47"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + headbutt: ["4T"], + heavyslam: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + ironhead: ["9M"], + irontail: ["7T", "6T", "5T", "4M"], + leafstorm: ["9M", "9L52", "7L52", "6L52", "5L52", "4L52"], + leechseed: ["9L32", "7L32", "6L32", "5L32", "4L32"], + lightscreen: ["9M", "7M", "6M", "5M", "4M"], + magicalleaf: ["9M"], + megadrain: ["9L27", "7L27", "6L27", "5L27", "4L27"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + razorleaf: ["9L13", "7L13", "6L13", "5L13", "4L13"], + reflect: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M"], + rockclimb: ["4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + sandtomb: ["9M"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + synthesis: ["9L37", "7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L37"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + withdraw: ["9L1", "7L1", "6L1", "5L1", "4L1"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T", "4T"], + zenheadbutt: ["9M"], + }, + }, + torterra: { + learnset: { + absorb: ["9L1", "7L1", "6L1", "5L1", "4L1"], + amnesia: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + bite: ["9L22", "7L22", "6L22", "5L22", "4L22"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], + bulletseed: ["9M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L45", "7L45", "6L45", "5L45", "4L45"], + curse: ["9L17", "7L17", "6L17", "5L17", "4L17"], + cut: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L0", "7M", "7L1", "6M", "6L32", "5M", "5L32", "5S0", "4M", "4L32"], + endure: ["9M", "4M"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frenzyplant: ["9M", "7T", "6T", "5T", "4T"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["9M", "9L51", "7T", "7L51", "6T", "6L51", "5T", "5L51", "4M", "4L51"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasspledge: ["9M", "7T", "6T", "5T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + headbutt: ["4T"], + headlongrush: ["9L63"], + heavyslam: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M"], + irondefense: ["9M"], + ironhead: ["9M", "7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + leafstorm: ["9M", "9L57", "7L57", "6L57", "5L57", "4L57"], + leechseed: ["9L33", "7L33", "6L33", "5L33", "4L33"], + lightscreen: ["9M", "7M", "6M", "5M", "4M"], + magicalleaf: ["9M"], + megadrain: ["9L27", "7L27", "6L27", "5L27", "4L27"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + outrage: ["9M", "7T", "6T", "5T", "5S0", "4T"], + protect: ["9M", "7M", "6M", "5M", "4M"], + razorleaf: ["9L1", "7L1", "6L1", "5L1", "4L1"], + reflect: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockblast: ["9M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + sandstorm: ["9M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M", "5M", "5S0", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + synthesis: ["9L39", "7T", "7L39", "6T", "6L39", "5T", "5L39", "4T", "4L39"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + withdraw: ["9L1", "7L1", "6L1", "5L1", "4L1"], + woodhammer: ["9L1", "7L1", "6L1", "5L1", "5S0", "4L1"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T", "4T"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["woodhammer", "earthquake", "outrage", "stoneedge"], pokeball: "cherishball"}, + ], + }, + chimchar: { + learnset: { + acrobatics: ["9M", "9L39", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["9M"], + assist: ["7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M"], + blazekick: ["7E", "6E", "5E", "4E"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "7M", "6M", "5M", "4M"], + burningjealousy: ["9M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["9E", "7E", "6E", "5E", "4E"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dig: ["9M", "6M", "5M", "4M"], + doublekick: ["9E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + ember: ["9L7", "7L7", "6L7", "5L7", "5S1", "5S3", "4L7"], + encore: ["9M", "9E", "7E", "6E", "5E", "4E"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "4M"], + facade: ["9M", "9L31", "7M", "7L31", "6M", "6L31", "5M", "5L31", "4M", "4L31"], + fakeout: ["9E", "7E", "6E", "5E", "5S3", "4E"], + faketears: ["9M"], + fireblast: ["9M", "7M", "6M", "5M", "4M"], + firepledge: ["9M", "7T", "6T", "5T"], + firepunch: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + firespin: ["9M", "9L33", "7L33", "6L33", "5L33", "4L33"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "9L47", "7M", "7L47", "6M", "6L47", "5M", "5L47", "4M", "4L41", "4S0", "4S2"], + flamewheel: ["9L17", "7L17", "6L17", "5L17", "4L17"], + flareblitz: ["9M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusenergy: ["9E", "7E", "6E", "5E", "4E"], + focuspunch: ["9M", "7T", "7E", "6T", "6E", "5E", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furyswipes: ["9L15", "7L15", "6L15", "5L15", "4L15"], + grassknot: ["9M", "7M", "6M", "5M", "4M", "4S0", "4S2"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + heatwave: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + helpinghand: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "4S0", "4S2"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T", "4M"], + knockoff: ["9M"], + leer: ["9L1", "7L1", "6L1", "5L1", "5S1", "5S3", "4L1"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + metronome: ["9M"], + mudslap: ["9M", "4T"], + nastyplot: ["9M", "9L23", "7L23", "6L23", "5L23", "4L23"], + naturalgift: ["4M"], + overheat: ["9M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M"], + poweruppunch: ["7E", "6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + quickguard: ["7E", "6E", "5E"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["4T"], + round: ["7M", "6M", "5M"], + scratch: ["9L1", "9S4", "7L1", "6L1", "5L1", "5S1", "4L1"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slackoff: ["9L41", "7L41", "6L41", "5L41", "4L39"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + strength: ["6M", "5M", "4M"], + submission: ["7E", "6E", "5E"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + switcheroo: ["9E"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "9L9", "7M", "7L9", "6M", "6L9", "5M", "5L9", "5S1", "5S3", "4M", "4L9"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E", "4S0", "4S2"], + torment: ["9L25", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + workup: ["7M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 4, level: 40, gender: "M", nature: "Mild", moves: ["flamethrower", "thunderpunch", "grassknot", "helpinghand"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["scratch", "leer", "ember", "taunt"]}, + {generation: 4, level: 40, gender: "M", nature: "Hardy", moves: ["flamethrower", "thunderpunch", "grassknot", "helpinghand"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["leer", "ember", "taunt", "fakeout"]}, + {generation: 9, level: 1, moves: ["scratch"], pokeball: "pokeball"}, + ], + }, + monferno: { + learnset: { + acrobatics: ["9M", "9L46", "7M", "7L46", "6M", "6L46", "5M", "5L46"], + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "7M", "6M", "5M", "4M"], + burningjealousy: ["9M"], + captivate: ["4M"], + closecombat: ["9M", "9L36", "7L36", "6L36", "5L36", "4L36"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dig: ["9M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["9M"], + dualchop: ["7T", "6T", "5T"], + ember: ["9L1", "7L1", "6L1", "5L1", "4L1"], + encore: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + faketears: ["9M"], + feint: ["9L26", "7L26", "6L26", "5L26", "4L26"], + fireblast: ["9M", "7M", "6M", "5M", "4M"], + firepledge: ["9M", "7T", "6T", "5T"], + firepunch: ["9M", "7T", "6T", "5T", "4T"], + firespin: ["9M", "9L39", "7L39", "6L39", "5L39", "4L39"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "7M", "6M", "5M", "4M"], + flamewheel: ["9L19", "7L19", "6L19", "5L19", "4L19"], + flareblitz: ["9M", "9L56", "7L56", "6L56", "5L56", "4L49"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furyswipes: ["9L16", "7L16", "6L16", "5L16", "4L16"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T", "4M"], + knockoff: ["9M"], + lashout: ["9M"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + machpunch: ["9L0", "7L1", "6L14", "5L14", "4L14"], + metronome: ["9M"], + mudslap: ["9M", "4T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + overheat: ["9M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + reversal: ["9M"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["4T"], + round: ["7M", "6M", "5M"], + scratch: ["9L1", "7L1", "6L1", "5L1", "4L1"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slackoff: ["9L49", "7L49", "6L49", "5L49", "4L46"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "9L9", "7M", "7L9", "6M", "6L9", "5M", "5L9", "4M", "4L9"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T"], + torment: ["9L29", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L29"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["9M"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + workup: ["7M", "5M"], + zenheadbutt: ["9M"], + }, + }, + infernape: { + learnset: { + acrobatics: ["9M", "9L52", "7M", "7L52", "6M", "6L52", "5M", "5L52"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + aurasphere: ["9M"], + blastburn: ["9M", "7T", "6T", "5T", "4T"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "7M", "6M", "5M"], + burningjealousy: ["9M"], + calmmind: ["9M", "9L58", "7M", "7L58", "6M", "6L58", "5M", "5L58", "4M", "4L53"], + captivate: ["4M"], + closecombat: ["9M", "9L0", "7L1", "6L36", "6S1", "5L36", "5S0", "4L41"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dig: ["9M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["9M"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + ember: ["9L1", "7L1", "6L1", "5L1", "4L1"], + encore: ["9M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + faketears: ["9M"], + feint: ["9L26", "7L26", "6L26", "5L26", "4L29"], + fireblast: ["9M", "7M", "6M", "6S1", "5M", "5S0", "4M"], + firepledge: ["9M", "7T", "6T", "5T"], + firepunch: ["9M", "7T", "6T", "6S1", "5T", "4T"], + firespin: ["9M", "9L42", "7L42", "6L42", "5L42", "4L45"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "7M", "6M", "5M", "4M"], + flamewheel: ["9L19", "7L19", "6L19", "5L19", "4L21"], + flareblitz: ["9M", "9L47", "7L1", "6L1", "5L68", "4L57"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "6S1", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furyswipes: ["9L16", "7L16", "6L16", "5L16", "4L17"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "5S0", "4M"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T", "4M"], + knockoff: ["9M"], + laserfocus: ["7T"], + lashout: ["9M"], + leer: ["9L1", "7L1", "6L1", "5L1", "4L1"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "7M", "6M", "5M"], + machpunch: ["9L1", "7L1", "6L14", "5L14", "4L14"], + metronome: ["9M"], + mudslap: ["9M", "4T"], + nastyplot: ["9M"], + naturalgift: ["4M"], + overheat: ["9M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + punishment: ["7L29", "6L29", "5L29", "4L33"], + ragingfury: ["9L65"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + rollout: ["4T"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + scratch: ["9L1", "7L1", "6L1", "5L1", "4L1"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + slackoff: ["9L1"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + smackdown: ["9M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T"], + torment: ["9L29", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["9M"], + uturn: ["9M", "7M", "6M", "5M", "5S0", "4M"], + vacuumwave: ["9M", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + workup: ["7M", "5M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["fireblast", "closecombat", "uturn", "grassknot"], pokeball: "cherishball"}, + {generation: 6, level: 88, isHidden: true, moves: ["fireblast", "closecombat", "firepunch", "focuspunch"], pokeball: "cherishball"}, + ], + }, + piplup: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M", "7E", "6E", "5E", "4E"], + aquaring: ["9E", "7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M"], + bide: ["7L22", "7E", "6L22", "6E", "5L22", "5E", "4L18"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + brine: ["9L29", "7L29", "6L29", "5L29", "4M", "4L29"], + bubble: ["7L8", "6L8", "5L8", "5S0", "5S3", "4L8"], + bubblebeam: ["9L18", "7L18", "7S5", "6L18", "5L18", "4L18"], + captivate: ["4M"], + charm: ["9M", "9L11"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + defog: ["7T", "4M"], + dig: ["6M", "5M", "4M"], + disarmingvoice: ["9M"], + dive: ["6M", "5M", "4T"], + doublehit: ["7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + drillpeck: ["9L39", "7L39", "7S5", "6L39", "5L39", "4L39"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + featherdance: ["9E", "7E", "6E", "5E", "5S1", "5S2", "5S3", "4E"], + flail: ["7E", "6E", "5E", "4E"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + furyattack: ["9L25", "7L25", "6L25", "5L25", "4L25"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L4", "7L4", "6L4", "6S4", "5L4", "5S0", "5S3", "4L4"], + hail: ["7M", "6M", "5M", "4M"], + haze: ["9M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["9M", "9L43", "7L43", "7E", "7S5", "6L43", "6E", "5L43", "5E", "5S1", "4L43", "4E"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icespinner: ["9M"], + icywind: ["9M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + liquidation: ["9M"], + mist: ["9L36", "7L36", "6L36", "5L36", "4L36"], + mudslap: ["7E", "6E", "5E", "4T", "4E"], + mudsport: ["7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + peck: ["9L15", "7L15", "6L15", "5L15", "5S1", "5S2", "4L15"], + pluck: ["5M", "4M"], + pound: ["9L1", "9S6", "7L1", "6L1", "6S4", "5L1", "5S0", "5S3", "4L1"], + powertrip: ["9E", "7E"], + protect: ["9M", "7M", "6M", "5M", "4M"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "6S4", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + roost: ["9E"], + round: ["7M", "6M", "5M", "5S2"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sing: ["5S2"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + snowscape: ["9M"], + stealthrock: ["7T", "6T", "5T", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + supersonic: ["9E", "7E", "6E", "5E", "4E"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["9L22", "7M", "6M", "5M", "4M"], + swift: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L8"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "7T", "6T", "4M"], + watersport: ["7L11", "6L11", "5L11", "5S1", "4L11"], + weatherball: ["9M"], + whirlpool: ["9L32", "7L32", "7S5", "6L32", "5L32", "4M", "4L32"], + workup: ["7M"], + yawn: ["9E", "7E", "6E", "5E", "4E"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["pound", "growl", "bubble"]}, + {generation: 5, level: 15, shiny: 1, moves: ["hydropump", "featherdance", "watersport", "peck"], pokeball: "cherishball"}, + {generation: 5, level: 15, gender: "M", moves: ["sing", "round", "featherdance", "peck"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["pound", "growl", "bubble", "featherdance"]}, + {generation: 6, level: 7, moves: ["pound", "growl", "return"], pokeball: "cherishball"}, + {generation: 7, level: 30, gender: "M", nature: "Hardy", moves: ["hydropump", "bubblebeam", "whirlpool", "drillpeck"], pokeball: "pokeball"}, + {generation: 9, level: 1, moves: ["pound"], pokeball: "pokeball"}, + ], + }, + prinplup: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + bide: ["7L24", "6L24", "5L24", "4L19"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + brine: ["9L33", "7L33", "6L33", "5L33", "4M", "4L33"], + bubble: ["7L1", "6L8", "5L8", "4L8"], + bubblebeam: ["9L19", "7L19", "6L19", "5L19", "4L19"], + captivate: ["4M"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + defog: ["7T", "4M"], + dig: ["6M", "5M", "4M"], + disarmingvoice: ["9M"], + dive: ["6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + drillpeck: ["9L46", "7L46", "6L46", "5L46", "4L46"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + furyattack: ["9L28", "7L28", "6L28", "5L28", "4L28"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + hail: ["7M", "6M", "5M", "4M"], + haze: ["9M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "9L50", "7L50", "6L50", "5L51", "4L51"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icespinner: ["9M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + liquidation: ["9M"], + metalclaw: ["9M", "9L0", "7L1", "6L16", "5L16", "4L16"], + mist: ["9L42", "7L42", "6L42", "5L42", "4L42"], + mudslap: ["4T"], + naturalgift: ["4M"], + peck: ["9L15", "7L15", "6L15", "5L15", "4L15"], + pluck: ["5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + snowscape: ["9M"], + stealthrock: ["7T", "6T", "5T", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["9L24", "7M", "6M", "5M", "4M"], + swift: ["9M"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L1"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "7T", "6T", "4M"], + watersport: ["7L11", "6L11", "5L11", "4L11"], + weatherball: ["9M"], + whirlpool: ["9L37", "7L37", "6L37", "5L37", "4M", "4L37"], + workup: ["7M"], + }, + }, + empoleon: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M"], + aircutter: ["9M"], + airslash: ["9M"], + aquajet: ["9L0", "7L1", "6L36", "5L36", "5S0", "4L36"], + attract: ["7M", "6M", "5M", "4M"], + avalanche: ["9M", "4M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + brine: ["9L33", "7L33", "6L33", "5L33", "4M", "4L33"], + bubble: ["7L1", "6L1", "5L1", "4L1"], + bubblebeam: ["9L19", "7L19", "6L19", "5L19", "4L19"], + bulldoze: ["9M", "7M", "6M", "5M"], + captivate: ["4M"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + defog: ["7T", "4M"], + dig: ["6M", "5M", "4M"], + disarmingvoice: ["9M"], + dive: ["6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + drillpeck: ["9L52", "7L52", "6L52", "5L52", "4L52"], + dualwingbeat: ["9M"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + falseswipe: ["9M"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + furyattack: ["9L28", "7L28", "6L28", "5L28", "4L28"], + furycutter: ["4T"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "5S0", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + hail: ["7M", "6M", "5M", "4M"], + haze: ["9M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hydrocannon: ["9M", "7T", "6T", "5T", "4T"], + hydropump: ["9M", "9L59", "7L59", "6L59", "5L59", "5S0", "4L59"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "5S0", "4M"], + icespinner: ["9M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + irondefense: ["9M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lashout: ["9M"], + liquidation: ["9M", "7T"], + metalclaw: ["9M", "9L1", "7L1", "6L16", "5L16", "4L16"], + mist: ["9L46", "7L46", "6L46", "5L46", "4L46"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + peck: ["9L15", "7L15", "6L15", "5L15", "4L15"], + pluck: ["5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + snowscape: ["9M"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M"], + steelwing: ["7M", "6M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["9L24", "7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L19"], + swift: ["9M"], + swordsdance: ["9M", "9L11", "7M", "7L11", "6M", "6L11", "5M", "5L11", "4M", "4L11"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["7T"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["9M"], + vacuumwave: ["9M"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L1"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "7T", "6T", "4M"], + wavecrash: ["9L66"], + weatherball: ["9M"], + whirlpool: ["9L39", "7L39", "6L39", "5L39", "4M", "4L39"], + workup: ["7M"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["hydropump", "icebeam", "aquajet", "grassknot"], pokeball: "cherishball"}, + ], + }, + starly: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9L25", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25"], + agility: ["9M", "9L33", "7L33", "6L33", "5L33", "4L33"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + astonish: ["9E", "7E", "6E", "5E", "4E"], + attract: ["7M", "6M", "5M", "4M"], + bravebird: ["9M", "9L37", "7L37", "6L37", "5L37", "4L37"], + captivate: ["4M"], + confide: ["7M", "6M"], + defog: ["7T", "4M"], + detect: ["7E", "6E", "5E"], + doubleedge: ["9E", "7E", "6E", "5E", "4E"], + doubleteam: ["9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + dualwingbeat: ["9M"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9L17", "7T", "7L17", "6T", "6L17", "5T", "5L17", "4T", "4L17"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + featherdance: ["9E", "7E", "6E", "5E", "4E"], + finalgambit: ["9L41", "7L41", "6L41", "5L41"], + fly: ["9M", "7M", "6M", "5M", "4M"], + foresight: ["7E", "6E", "5E", "4E"], + frustration: ["7M", "6M", "5M", "4M"], + furyattack: ["9E", "7E", "6E", "5E", "4E"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1", "4S0"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hurricane: ["9M"], + mirrormove: ["7E", "6E"], + mudslap: ["4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pluck: ["5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + pursuit: ["7E", "6E", "5E", "4E"], + quickattack: ["9L5", "7L5", "6L5", "5L5", "4L5"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["7E", "6E", "5E"], + roost: ["7M", "7E", "6M", "6E", "5T", "5E", "4M"], + round: ["7M", "6M", "5M"], + sandattack: ["9E", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + steelwing: ["7M", "7E", "6M", "6E", "5E", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1", "4S0"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "9L29", "7L29", "6L29", "5L29", "4L29"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uproar: ["9M", "9E", "7T", "7E", "6T", "6E", "5E"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + whirlwind: ["9L21", "7L21", "6L21", "5L21", "4L21"], + wingattack: ["9L9", "7L9", "6L9", "5L9", "4L9"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 4, level: 1, gender: "M", nature: "Mild", moves: ["tackle", "growl"], pokeball: "pokeball"}, + ], + }, + staravia: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9L28", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28"], + agility: ["9M", "9L38", "7L38", "6L38", "5L38", "4L38"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + bravebird: ["9M", "9L43", "7L43", "6L43", "5L43", "4L43"], + captivate: ["4M"], + confide: ["7M", "6M"], + defog: ["7T", "4M"], + doubleteam: ["9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + dualwingbeat: ["9M"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9L18", "7T", "7L18", "6T", "6L18", "5T", "5L18", "4T", "4L18"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + featherdance: ["5D"], + finalgambit: ["9L48", "7L48", "6L48", "5L48"], + fly: ["9M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hurricane: ["9M"], + mudslap: ["4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pluck: ["5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + quickattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + steelwing: ["7M", "6M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + tailwind: ["9M", "7T", "6T", "5T", "5D", "4T"], + takedown: ["9M", "9L33", "7L33", "6L33", "5L33", "4L33"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uproar: ["9M", "7T", "6T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + whirlwind: ["9L23", "7L23", "6L23", "5L23", "4L23"], + wingattack: ["9L9", "7L9", "6L9", "5L9", "5D", "4L9"], + workup: ["7M", "5M"], + }, + encounters: [ + {generation: 4, level: 4}, + ], + }, + staraptor: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9L28", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28"], + agility: ["9M", "9L41", "7L41", "6L41", "5L41", "4L41"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + bravebird: ["9M", "9L49", "7L49", "6L49", "5L49", "4L49"], + captivate: ["4M"], + closecombat: ["9M", "9L0", "7L1", "6L34", "5L34", "4L34"], + confide: ["7M", "6M"], + defog: ["7T", "4M"], + doubleteam: ["9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + dualwingbeat: ["9M"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["9L18", "7T", "7L18", "6T", "6L18", "5T", "5L18", "4T", "4L18"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + finalgambit: ["9L57", "7L57", "6L57", "5L57"], + fly: ["9M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hurricane: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + laserfocus: ["7T"], + mudslap: ["4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pluck: ["5M", "4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + quickattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + skyattack: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + steelwing: ["7M", "6M", "4M"], + strugglebug: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + tackle: ["9L1", "7L1", "6L1", "5L1", "4L1"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M", "9L33", "7L33", "6L33", "5L33", "4L33"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uproar: ["9M", "7T", "6T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + whirlwind: ["9L23", "7L23", "6L23", "5L23", "4L23"], + wingattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], + workup: ["7M", "5M"], + }, + }, + bidoof: { + learnset: { + amnesia: ["7L41", "6L29", "5L29", "4L29"], + aquatail: ["7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + attract: ["7M", "6M", "5M", "4M"], + blizzard: ["7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["7L25"], + curse: ["7L49", "6L45", "5L45", "4L45"], + cut: ["6M", "5M", "4M"], + defensecurl: ["7L5", "7E", "6L9", "6E", "5L9", "5E", "4L9", "4E"], + dig: ["6M", "5M", "4M"], + doubleedge: ["7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["7E", "6E", "5E", "4M"], + facade: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + furyswipes: ["7E", "6E", "5E", "4E"], + grassknot: ["7M", "6M", "5M", "4M"], + growl: ["7L1", "6L5", "5L5", "4L5"], + headbutt: ["7L13", "6L17", "5L17", "4T", "4L17"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperfang: ["7L17", "6L21", "5L21", "4L21"], + icebeam: ["7M", "6M", "5M", "4M"], + icywind: ["7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + lastresort: ["7T", "6T", "5T", "4T"], + mudslap: ["4T"], + mudsport: ["7E"], + naturalgift: ["4M"], + odorsleuth: ["7E", "6E", "5E", "4E"], + pluck: ["5M", "4M"], + protect: ["7M", "6M", "5M", "4M"], + quickattack: ["7E", "6E", "5E", "4E"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rockclimb: ["7E", "6E", "5E"], + rocksmash: ["6M", "5M", "4M"], + rollout: ["7L9", "7E", "6L13", "6E", "5L13", "5E", "4T", "4L13", "4E"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "5D", "4M"], + shadowball: ["7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + skullbash: ["7E", "6E", "5E"], + sleeptalk: ["7M", "7E", "6M", "6E", "5T", "5E", "4M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "6T", "5T", "4M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + superfang: ["7T", "7L33", "6T", "6L37", "5T", "5L37", "4T", "4L37"], + superpower: ["7T", "7L45", "6T", "6L41", "5T", "5L41", "4T", "4L41"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["4T"], + swordsdance: ["7M", "7L37"], + tackle: ["7L1", "6L1", "5L1", "5D", "4L1", "4S0"], + takedown: ["7L29", "6L33", "5L33", "4L33"], + taunt: ["7M", "6M", "5M", "4M"], + thief: ["7M", "6M", "5M", "4M"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + thunderwave: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + watersport: ["7E", "6E", "5E", "4E"], + workup: ["7M", "5M"], + yawn: ["7L21", "6L25", "5L25", "4L25"], + }, + eventData: [ + {generation: 4, level: 1, gender: "M", nature: "Lonely", abilities: ["simple"], moves: ["tackle"], pokeball: "pokeball"}, + ], + }, + bibarel: { + learnset: { + amnesia: ["7L48", "6L33", "5L33", "4L33"], + aquajet: ["7L1"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["7M", "6M", "5M", "4M"], + blizzard: ["7M", "6M", "5M", "4M"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["7L28"], + curse: ["7L58", "6L53", "5L53", "4L53"], + cut: ["6M", "5M", "4M"], + defensecurl: ["7L5", "6L9", "5L9", "4L9"], + dig: ["6M", "5M", "4M"], + dive: ["6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + fling: ["7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + growl: ["7L1", "6L1", "5L1", "4L1"], + headbutt: ["7L13", "6L18", "5L18", "4T", "4L18"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["7M", "6M", "5M", "4M"], + hyperfang: ["7L18", "6L23", "5L23", "4L23"], + icebeam: ["7M", "6M", "5M", "4M"], + icywind: ["7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + lastresort: ["7T", "6T", "5T", "4T"], + liquidation: ["7T"], + mudslap: ["4T"], + naturalgift: ["4M"], + pluck: ["5M", "4M"], + protect: ["7M", "6M", "5M", "4M"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rocksmash: ["6M", "5M", "4M"], + rollout: ["7L9", "6L13", "5L13", "4T", "4L13"], + rototiller: ["7L1", "6L1"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowball: ["7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "6T", "5T", "4M"], + stompingtantrum: ["7T"], + strength: ["6M", "5M", "4M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + superfang: ["7T", "7L38", "6T", "6L43", "5T", "5L43", "4T", "4L43"], + superpower: ["7T", "7L53", "6T", "6L48", "5T", "5L48", "4T", "4L48"], + surf: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["4T"], + swordsdance: ["7M", "7L43"], + tackle: ["7L1", "6L1", "5L1", "4L1"], + takedown: ["7L33", "6L38", "5L38", "4L38"], + taunt: ["7M", "6M", "5M", "4M"], + thief: ["7M", "6M", "5M", "4M"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + thunderwave: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + waterfall: ["7M", "6M", "5M", "4M"], + watergun: ["7L1", "6L15", "5L15", "4L15"], + waterpulse: ["7T", "6T", "4M"], + whirlpool: ["4M"], + workup: ["7M", "5M"], + yawn: ["7L23", "6L28", "5L28", "4L28"], + }, + encounters: [ + {generation: 4, level: 4}, + ], + }, + kricketot: { + learnset: { + bide: ["7L1", "6L1", "5L1", "4L1"], + bugbite: ["9M", "9L16", "7T", "7L16", "6T", "6L16", "5T", "5L16", "4T", "4L16"], + endeavor: ["7T", "6T", "5T", "5D", "4T"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + lunge: ["9M"], + mudslap: ["4T"], + snore: ["7T", "6T", "5T", "4T"], + stringshot: ["4T"], + strugglebug: ["9M", "9L6", "7L6", "6M", "6L6", "5L6", "5D"], + tackle: ["9L1"], + terablast: ["9M"], + uproar: ["7T", "6T", "5T", "5D", "4T"], + }, + }, + kricketune: { + learnset: { + absorb: ["9L14", "7L14"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + attract: ["7M", "6M", "5M", "4M"], + batonpass: ["9M"], + bide: ["7L1", "6L1", "5L1", "4L1"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L46", "7L46", "6L46", "5L46", "4L34"], + captivate: ["4M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + falseswipe: ["9M", "7M", "6M", "5M", "4M"], + fellstinger: ["9L36", "7L36", "6L36"], + flash: ["6M", "5M", "4M"], + focusenergy: ["9L22", "7L22", "6L22", "5L22", "4L22"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["9L0", "7L1", "6L10", "5L10", "4T", "4L10"], + gigadrain: ["9M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + healbell: ["7T", "6T", "5T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "7T", "6T", "5T"], + infestation: ["7M", "6M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + leechlife: ["9M", "7M", "6L14", "5L14", "4L14"], + lunge: ["9M"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightslash: ["9L42", "7L42", "6L42", "5L42", "4L42"], + perishsong: ["9L50", "7L50", "6L50", "5L50", "4L38"], + pounce: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + screech: ["9L34", "7L34", "6L34", "5L34", "4L30"], + secretpower: ["6M", "4M"], + silverwind: ["4M"], + sing: ["9L18", "7L18", "6L18", "5L18", "4L18"], + slash: ["9L26", "7L26", "6L26", "5L26", "4L26"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + stickyweb: ["9L44", "7L44", "6L44"], + strength: ["6M", "5M", "4M"], + stringshot: ["4T"], + strugglebug: ["9M", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M", "9L38", "7M", "7L38", "6M", "6L38", "5M", "5L38", "4M", "4L38"], + terablast: ["9M"], + throatchop: ["7T"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + xscissor: ["9M", "9L30", "7M", "7L30", "6M", "6L30", "5M", "5L30", "4M", "4L26"], + }, + }, + shinx: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M"], + babydolleyes: ["9E", "8E", "7L11", "6L11"], + bite: ["9L12", "8L12", "7L17", "6L17", "5L17", "4L13"], + captivate: ["4M"], + charge: ["9M", "9L8", "8L8", "7L9", "6L9", "5L9", "5D", "4L9"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + crunch: ["9M", "9L36", "8M", "8L36", "7L33", "6L33", "5L33", "4L29"], + discharge: ["9L40", "8L40", "7L41", "6L41", "5L41", "4L41"], + doublekick: ["9E", "8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M", "4M"], + eerieimpulse: ["9M", "8M", "7E", "6E"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "8M", "7E", "6E"], + firefang: ["9M", "8M", "7E", "6E", "5E", "4E"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + headbutt: ["4T"], + helpinghand: ["9M", "8M", "7T", "7E", "6T", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M", "4M"], + howl: ["9E", "8E", "7E", "6E", "5E", "4E"], + icefang: ["9M", "8M", "7E", "6E", "5E", "4E"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + leer: ["9L1", "8L1", "7L5", "6L5", "5L5", "4L5"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "5D", "4T"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightslash: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychicfangs: ["9M", "8M"], + quickattack: ["9E", "8E", "7E", "6E", "5E", "4E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + risingvoltage: ["8T"], + roar: ["9M", "9L20", "8L20", "7M", "7L21", "6M", "6L21", "5M", "5L21", "4M", "4L21"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L28", "8M", "8L28", "7L37", "6L37", "5L37", "4L37"], + secretpower: ["6M", "4M"], + shockwave: ["9E", "8E", "7T", "7E", "6T", "6E", "5E", "4M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spark: ["9L16", "8L16", "7L13", "6L13", "5L13", "4L13"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M"], + swagger: ["9L44", "8L44", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L25"], + swift: ["9M", "8M", "7E", "6E", "5E", "4T"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderfang: ["9M", "8M", "7L29", "7E", "6L29", "6E", "5L29", "5E", "4L29", "4E"], + thundershock: ["9L4", "8L4"], + thunderwave: ["9M", "9L32", "8M", "8L32", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + voltswitch: ["9M", "9L24", "8M", "8L24", "7M", "6M", "5M"], + wildcharge: ["9M", "9L48", "8M", "8L48", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + }, + }, + luxio: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["9L12", "8L12", "7L18", "6L18", "5L18", "4L13"], + captivate: ["4M"], + charge: ["9M", "9L1", "8L1", "7L9", "6L9", "5L9", "4L9"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + crunch: ["9M", "9L48", "8M", "8L48", "7L38", "6L38", "5L38", "4L33"], + discharge: ["9L54", "8L54", "7L48", "6L48", "5L48", "4L48"], + doubleteam: ["7M", "6M", "5M", "4M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "8M"], + firefang: ["9M", "8M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + headbutt: ["4T"], + helpinghand: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + icefang: ["9M", "8M"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mudslap: ["4T"], + naturalgift: ["4M"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychicfangs: ["9M", "8M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + risingvoltage: ["8T"], + roar: ["9M", "9L24", "8L24", "7M", "7L23", "6M", "6L23", "5M", "5L23", "4M", "4L23"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L36", "8M", "8L36", "7L43", "6L43", "5L43", "4L43"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spark: ["9L18", "8L18", "7L13", "6L13", "5L13", "4L13"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M"], + swagger: ["9L60", "8L60", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderfang: ["9M", "8M", "7L33", "6L33", "5L33", "4L33"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "9L42", "8M", "8L42", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + voltswitch: ["9M", "9L31", "8M", "8L31", "7M", "6M", "5M"], + wildcharge: ["9M", "9L68", "8M", "8L68", "7M", "7L53", "6M", "6L53", "5M", "5L53"], + }, + }, + luxray: { + learnset: { + agility: ["9M", "8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["9L12", "8L12", "7L18", "6L18", "5L18", "4L13"], + bodyslam: ["9M"], + captivate: ["4M"], + charge: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + crunch: ["9M", "9L56", "8M", "8L56", "7L42", "6L42", "5L42", "4L35"], + discharge: ["9L64", "8L64", "7L56", "6L56", "5L56", "4L56"], + doubleteam: ["7M", "6M", "5M", "4M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + electroball: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "8M"], + firefang: ["9M", "8M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icefang: ["9M", "8M"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mudslap: ["4T"], + naturalgift: ["4M"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychicfangs: ["9M", "8M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + risingvoltage: ["8T"], + roar: ["9M", "9L24", "8L24", "7M", "7L23", "6M", "6L23", "5M", "5L23", "4M", "4L23"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L40", "8M", "8L40", "7L49", "6L49", "5L49", "4L49"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spark: ["9L18", "8L18", "7L13", "6L13", "5L13", "4L13"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["9L72", "8L72", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderfang: ["9M", "8M", "7L35", "6L35", "5L35", "4L35"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "9L48", "8M", "8L48", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + voltswitch: ["9M", "9L33", "8M", "8L33", "7M", "6M", "5M"], + wildcharge: ["9M", "9L80", "8M", "8L80", "7M", "7L63", "6M", "6L63", "5M", "5L63"], + }, + }, + cranidos: { + learnset: { + ancientpower: ["7L33", "6L33", "5L33", "4T", "4L28"], + assurance: ["7L24", "6L24", "5L24", "4L24"], + attract: ["7M", "6M", "5M", "4M"], + blizzard: ["7M", "6M", "5M", "4M"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L28", "6L28", "5L28"], + confide: ["7M", "6M"], + crunch: ["7E", "6E", "5E", "5S0", "4E"], + curse: ["7E", "6E", "5E", "4E"], + dig: ["6M", "5M", "4M"], + doubleedge: ["7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + dragonpulse: ["7T", "6T", "5T", "4M"], + earthpower: ["7T", "6T", "5T", "4T"], + earthquake: ["7M", "6M", "5M", "4M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + fireblast: ["7M", "6M", "5M", "4M"], + firepunch: ["7T", "6T", "5T", "5D", "4T"], + flamethrower: ["7M", "6M", "5M", "4M"], + fling: ["7M", "6M", "5M", "4M"], + focusenergy: ["7L6", "6L6", "5L6", "4L6"], + frustration: ["7M", "6M", "5M", "4M"], + hammerarm: ["7E", "6E", "5E", "4E"], + headbutt: ["7L1", "6L1", "5L1", "5D", "5S0", "4T", "4L1"], + headsmash: ["7L46", "6L46", "5L46", "4L43"], + hiddenpower: ["7M", "6M", "5M", "4M"], + icebeam: ["7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + ironhead: ["7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T"], + irontail: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], + leer: ["7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + mudslap: ["4T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M", "4M"], + pursuit: ["7L10", "6L10", "5L10", "5S0", "4L10"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + sandstorm: ["7M", "6M", "5M", "4M"], + scaryface: ["7L19", "6L19", "5L19", "4L19"], + screech: ["7L42", "6L42", "5L42", "4L37"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + slam: ["7E", "6E", "5E", "4E"], + sleeptalk: ["7M", "6M", "5T", "4M"], + smackdown: ["7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "6T", "5T", "4M"], + stomp: ["7E", "6E", "5E", "4E"], + stoneedge: ["7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + superpower: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["7M", "6M", "5M", "4M"], + takedown: ["7L15", "6L15", "5L15", "5S0", "4L15"], + thief: ["7M", "6M", "5M", "4M"], + thrash: ["7E", "6E", "5E", "4E"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + thunderpunch: ["7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + whirlwind: ["7E", "6E", "5E", "4E"], + zenheadbutt: ["7T", "7L37", "6T", "6L37", "5T", "5L37", "4T", "4L33"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["pursuit", "takedown", "crunch", "headbutt"], pokeball: "cherishball"}, + ], + }, + rampardos: { + learnset: { + ancientpower: ["7L36", "6L36", "5L36", "4T", "4L28"], + assurance: ["7L24", "6L24", "5L24", "4L24"], + attract: ["7M", "6M", "5M", "4M"], + avalanche: ["4M"], + blizzard: ["7M", "6M", "5M", "4M"], + brickbreak: ["7M", "6M", "5M", "4M"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + chipaway: ["7L28", "6L28", "5L28"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M"], + dig: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dragonpulse: ["7T", "6T", "5T", "4M"], + dragontail: ["7M", "6M", "5M"], + earthpower: ["7T", "6T", "5T", "4T"], + earthquake: ["7M", "6M", "5M", "4M"], + endeavor: ["7T", "7L1", "6T", "6L30", "5T", "5L30", "4T", "4L30"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + fireblast: ["7M", "6M", "5M", "4M"], + firepunch: ["7T", "6T", "5T", "4T"], + flamethrower: ["7M", "6M", "5M", "4M"], + fling: ["7M", "6M", "5M", "4M"], + focusblast: ["7M", "6M", "5M", "4M"], + focusenergy: ["7L1", "6L6", "5L6", "4L6"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + headbutt: ["7L1", "6L1", "5L1", "4T", "4L1"], + headsmash: ["7L58", "6L58", "5L58", "4L52"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["7M", "6M", "5M", "4M"], + icebeam: ["7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + ironhead: ["7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + laserfocus: ["7T"], + leer: ["7L1", "6L1", "5L1", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["7T", "6T", "5T", "4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M", "4M"], + pursuit: ["7L1", "6L10", "5L10", "4L10"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + sandstorm: ["7M", "6M", "5M", "4M"], + scaryface: ["7L19", "6L19", "5L19", "4L19"], + screech: ["7L51", "6L51", "5L51", "4L43"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + smackdown: ["7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T"], + spite: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "6T", "5T", "4M"], + stompingtantrum: ["7T"], + stoneedge: ["7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + superpower: ["7T", "6T", "5T", "4T"], + surf: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["7M", "6M", "5M", "4M"], + takedown: ["7L15", "6L15", "5L15", "4L15"], + thief: ["7M", "6M", "5M", "4M"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + thunderpunch: ["7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + whirlpool: ["4M"], + zenheadbutt: ["7T", "7L43", "6T", "6L43", "5T", "5L43", "4T", "4L36"], + }, + }, + shieldon: { + learnset: { + ancientpower: ["7L28", "6L28", "5L28", "4T", "4L28"], + attract: ["7M", "6M", "5M", "4M"], + blizzard: ["7M", "6M", "5M", "4M"], + bodyslam: ["7E", "6E", "5E", "5S0", "4E"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + counter: ["7E", "6E", "5E", "5D", "4E"], + curse: ["7E", "6E", "5E", "4E"], + dig: ["6M", "5M", "4M"], + doubleedge: ["7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["7T", "6T", "5T", "4T"], + earthquake: ["7M", "6M", "5M", "4M"], + endure: ["7L33", "6L33", "5L33", "4M", "4L33"], + facade: ["7M", "6M", "5M", "4M"], + fireblast: ["7M", "6M", "5M", "4M"], + fissure: ["7E", "6E", "5E", "5D", "4E"], + flamethrower: ["7M", "6M", "5M", "4M"], + flashcannon: ["7M", "6M", "5M", "4M"], + focusenergy: ["7E", "6E", "5E", "4E"], + frustration: ["7M", "6M", "5M", "4M"], + guardsplit: ["7E", "6E"], + headbutt: ["7E", "6E", "5E", "4T", "4E"], + heavyslam: ["7L46", "6L46", "5L46"], + hiddenpower: ["7M", "6M", "5M", "4M"], + icebeam: ["7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + irondefense: ["7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19"], + ironhead: ["7T", "7L42", "6T", "6L42", "5T", "5L42", "4T", "4L43"], + irontail: ["7T", "6T", "5T", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + metalburst: ["7L37", "6L37", "5L37", "4L37"], + metalsound: ["7L10", "6L10", "5L10", "5S0", "4L10"], + mudslap: ["4T"], + naturalgift: ["4M"], + protect: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "5D", "5S0", "4M", "4L1"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockblast: ["7E", "6E", "5E", "4E"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + sandstorm: ["7M", "6M", "5M", "4M"], + scaryface: ["7E", "6E", "5E", "4E"], + screech: ["7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + smackdown: ["7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], + stoneedge: ["7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], + tackle: ["7L1", "6L1", "5L1", "4L1"], + takedown: ["7L15", "6L15", "5L15", "5S0", "4L15"], + taunt: ["7M", "7L6", "6M", "6L6", "5M", "5L6", "4M", "4L6"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + wideguard: ["7E", "6E", "5E"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["metalsound", "takedown", "bodyslam", "protect"], pokeball: "cherishball"}, + ], + }, + bastiodon: { + learnset: { + ancientpower: ["7L28", "6L28", "5L28", "4T", "4L28"], + attract: ["7M", "6M", "5M", "4M"], + avalanche: ["4M"], + blizzard: ["7M", "6M", "5M", "4M"], + block: ["7T", "7L1", "6T", "6L30", "5T", "5L30", "4T", "4L30"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + dig: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["7T", "6T", "5T", "4T"], + earthquake: ["7M", "6M", "5M", "4M"], + endure: ["7L36", "6L36", "5L36", "4M", "4L36"], + facade: ["7M", "6M", "5M", "4M"], + fireblast: ["7M", "6M", "5M", "4M"], + flamethrower: ["7M", "6M", "5M", "4M"], + flashcannon: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + headbutt: ["4T"], + heavyslam: ["7L58", "6L58", "5L58"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["7M", "6M", "5M", "4M"], + icebeam: ["7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + irondefense: ["7T", "7L19", "6T", "6L19", "5T", "5L19", "4T", "4L19"], + ironhead: ["7T", "7L51", "6T", "6L51", "5T", "5L51", "4T", "4L52"], + irontail: ["7T", "6T", "5T", "4M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magnetrise: ["7T", "6T", "5T", "4T"], + metalburst: ["7L43", "6L43", "5L43", "4L43"], + metalsound: ["7L1", "6L1", "5L1", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["7T", "6T", "5T", "4T"], + protect: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + sandstorm: ["7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + smackdown: ["7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "6T", "5T", "4M"], + stompingtantrum: ["7T"], + stoneedge: ["7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], + tackle: ["7L1", "6L1", "5L1", "4L1"], + takedown: ["7L15", "6L15", "5L15", "4L15"], + taunt: ["7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + }, + }, + burmy: { + learnset: { + bugbite: ["7T", "7L15", "6T", "6L15", "5T", "5L15", "5D", "4T", "4L15"], + electroweb: ["7T", "6T", "5T"], + hiddenpower: ["7M", "7L20", "6M", "6L20", "5L20", "4L20"], + protect: ["7M", "7L1", "6M", "6L1", "5L1", "5D", "4L1"], + snore: ["7T", "6T", "5T", "5D", "4T"], + stringshot: ["4T"], + tackle: ["7L10", "6L10", "5L10", "4L10"], + }, + }, + wormadam: { + learnset: { + allyswitch: ["7T"], + attract: ["7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L41"], + bugbite: ["7T", "7L1", "6T", "6L15", "5T", "5L15", "4T", "4L15"], + bugbuzz: ["7L50"], + bulletseed: ["4M"], + captivate: ["7L35", "6L35", "5L35", "4M", "4L35"], + confide: ["7M", "6M"], + confusion: ["7L23", "6L23", "5L23", "4L23"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + electroweb: ["7T", "6T", "5T"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["4M"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M"], + flail: ["7L38", "6L38", "5L38", "4L38"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["7T", "6T", "5T", "4M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + growth: ["7L29", "6L29", "5L29", "4L29"], + hiddenpower: ["7M", "7L20", "6M", "6L20", "5M", "5L20", "4M", "4L20"], + hyperbeam: ["7M", "6M", "5M", "4M"], + infestation: ["7M", "6M"], + leafstorm: ["7L47", "6L47", "5L47", "4L47"], + naturalgift: ["4M"], + protect: ["7M", "7L1", "6M", "6L10", "5M", "5L10", "4M", "4L10"], + psybeam: ["7L32", "6L32", "5L32", "4L32"], + psychic: ["7M", "7L44", "6M", "6L44", "5M", "5L44", "4M", "4L44"], + psychup: ["7M", "6M", "5M", "4M"], + quiverdance: ["7L1"], + raindance: ["7M", "6M", "5M", "4M"], + razorleaf: ["7L26", "6L26", "5L26", "4L26"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + seedbomb: ["7T", "6T", "5T", "4T"], + shadowball: ["7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["7T", "6T", "5T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["7M", "6M", "5M", "4M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "4M"], + suckerpunch: ["7L1", "4T"], + sunnyday: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + tackle: ["7L1", "6L1", "5L1", "4L1"], + telekinesis: ["7T"], + thief: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + venoshock: ["7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + }, + wormadamsandy: { + learnset: { + allyswitch: ["7T"], + attract: ["7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L41"], + bugbite: ["7T", "7L1", "6T", "6L15", "5T", "5L15", "4T", "4L15"], + bugbuzz: ["7L50"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["7L35", "6L35", "5L35", "4M", "4L35"], + confide: ["7M", "6M"], + confusion: ["7L23", "6L23", "5L23", "4L23"], + dig: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + earthpower: ["7T", "6T", "5T", "4T"], + earthquake: ["7M", "6M", "5M", "4M"], + electroweb: ["7T", "6T", "5T"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + fissure: ["7L47", "6L47", "5L47", "4L47"], + flail: ["7L38", "6L38", "5L38", "4L38"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + harden: ["7L29", "6L29", "5L29", "4L29"], + hiddenpower: ["7M", "7L20", "6M", "6L20", "5M", "5L20", "4M", "4L20"], + hyperbeam: ["7M", "6M", "5M", "4M"], + infestation: ["7M", "6M"], + mudslap: ["4T"], + naturalgift: ["4M"], + protect: ["7M", "7L1", "6M", "6L10", "5M", "5L10", "4M", "4L10"], + psybeam: ["7L32", "6L32", "5L32", "4L32"], + psychic: ["7M", "7L44", "6M", "6L44", "5M", "5L44", "4M", "4L44"], + psychup: ["7M", "6M", "5M", "4M"], + quiverdance: ["7L1"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockblast: ["7L26", "6L26", "5L26", "4L26"], + rocktomb: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + sandstorm: ["7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["7T", "6T", "5T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "6T", "5T"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "4M"], + suckerpunch: ["7L1", "4T"], + sunnyday: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + tackle: ["7L1", "6L1", "5L1", "4L1"], + telekinesis: ["7T"], + thief: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + venoshock: ["7M", "6M", "5M"], + }, + }, + wormadamtrash: { + learnset: { + allyswitch: ["7T"], + attract: ["7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L41"], + bugbite: ["7T", "7L1", "6T", "6L15", "5T", "5L15", "4T", "4L15"], + bugbuzz: ["7L50"], + captivate: ["7L35", "6L35", "5L35", "4M", "4L35"], + confide: ["7M", "6M"], + confusion: ["7L23", "6L23", "5L23", "4L23"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + electroweb: ["7T", "6T", "5T"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + flail: ["7L38", "6L38", "5L38", "4L38"], + flash: ["6M", "5M", "4M"], + flashcannon: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + gunkshot: ["7T", "6T", "5T", "4T"], + gyroball: ["7M", "6M", "5M", "4M"], + hiddenpower: ["7M", "7L20", "6M", "6L20", "5M", "5L20", "4M", "4L20"], + hyperbeam: ["7M", "6M", "5M", "4M"], + infestation: ["7M", "6M"], + irondefense: ["7T", "6T", "5T", "4T"], + ironhead: ["7T", "7L47", "6T", "6L47", "5T", "5L47", "4T", "4L47"], + magnetrise: ["7T", "6T", "5T", "4T"], + metalburst: ["7L1"], + metalsound: ["7L29", "6L29", "5L29", "4L29"], + mirrorshot: ["7L26", "6L26", "5L26", "4L26"], + naturalgift: ["4M"], + protect: ["7M", "7L1", "6M", "6L10", "5M", "5L10", "4M", "4L10"], + psybeam: ["7L32", "6L32", "5L32", "4L32"], + psychic: ["7M", "7L44", "6M", "6L44", "5M", "5L44", "4M", "4L44"], + psychup: ["7M", "6M", "5M", "4M"], + quiverdance: ["7L1"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["7T", "6T", "5T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + stealthrock: ["7T", "6T", "5T", "4M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "4M"], + suckerpunch: ["7L1", "4T"], + sunnyday: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + tackle: ["7L1", "6L1", "5L1", "4L1"], + telekinesis: ["7T"], + thief: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + venoshock: ["7M", "6M", "5M"], + }, + }, + mothim: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M", "4M"], + aircutter: ["4T"], + airslash: ["7L41", "6L41", "5L41", "4L41"], + attract: ["7M", "6M", "5M", "4M"], + bugbite: ["7T", "7L1", "6T", "6L15", "5T", "5L15", "4T", "4L15"], + bugbuzz: ["7L50", "6L47", "5L47", "4L47"], + camouflage: ["7L35", "6L35", "5L35", "4L35"], + captivate: ["4M"], + confide: ["7M", "6M"], + confusion: ["7L23", "6L23", "5L23", "4L23"], + defog: ["7T", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + electroweb: ["7T", "6T", "5T"], + endure: ["4M"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["7T", "6T", "5T", "4M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + gust: ["7L26", "6L26", "5L26", "4L26"], + hiddenpower: ["7M", "7L20", "6M", "6L20", "5M", "5L20", "4M", "4L20"], + hyperbeam: ["7M", "6M", "5M", "4M"], + infestation: ["7M", "6M"], + lunge: ["7L47"], + mudslap: ["4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + poisonpowder: ["7L29", "6L29", "5L29", "4L29"], + protect: ["7M", "7L1", "6M", "6L10", "5M", "5L10", "4M", "4L10"], + psybeam: ["7L32", "6L32", "5L32", "4L32"], + psychic: ["7M", "7L44", "6M", "6L44", "5M", "5L44", "4M", "4L44"], + psychup: ["7M", "6M", "5M", "4M"], + quiverdance: ["7L1", "6L50", "5L50"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roost: ["7M", "6M", "5T", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["7L38", "6L38", "5L38", "4M", "4L38"], + skillswap: ["7T", "6T", "5T", "4M"], + sleeptalk: ["7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["7M", "6M", "5M", "4M"], + stringshot: ["4T"], + strugglebug: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["4T"], + tackle: ["7L1", "6L1", "5L1", "4L1"], + tailwind: ["7T", "6T", "5T", "4T"], + thief: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uturn: ["7M", "6M", "5M", "4M"], + venoshock: ["7M", "6M", "5M"], + }, + }, + combee: { + learnset: { + aircutter: ["5D", "4T"], + bugbite: ["9M", "9L1", "8L1", "7T", "7L13", "6T", "6L13", "5T", "5L13", "4T", "4L13"], + bugbuzz: ["9M", "8M", "7L29", "6L29", "5L29"], + dualwingbeat: ["8T"], + endeavor: ["7T", "6T", "5T", "4T"], + gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1"], + lunge: ["9M"], + mudslap: ["4T"], + ominouswind: ["4T"], + sleeptalk: ["9M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stringshot: ["4T"], + strugglebug: ["9M", "9L1", "8L1"], + sweetscent: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + swift: ["4T"], + tailwind: ["7T", "6T", "5T", "5D", "4T"], + terablast: ["9M"], + }, + }, + vespiquen: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M", "4M"], + agility: ["9M"], + aircutter: ["4T"], + airslash: ["9M", "9L28", "8M", "8L28", "7L37", "6L37", "5L37"], + aromatherapy: ["8L24"], + aromaticmist: ["9L8", "8L8"], + assurance: ["8M"], + attackorder: ["9L40", "8L40", "7L45", "6L45", "5L37", "4L37"], + attract: ["8M", "7M", "6M", "5M", "4M"], + beatup: ["8M"], + bugbite: ["9M", "9L1", "8L1", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "8M"], + captivate: ["7L41", "6L41", "5L33", "4M", "4L33"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "7L1", "6L1", "5L7", "4L7"], + crosspoison: ["8M"], + cut: ["6M", "5M", "4M"], + defendorder: ["9L40", "8L40", "7L17", "6L17", "5L13", "4L13"], + defog: ["7T", "4M"], + destinybond: ["9L44", "8L44", "7L1", "6L1", "5L43", "4L43"], + doubleteam: ["7M", "6M", "5M", "4M"], + dualwingbeat: ["9M", "8T"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fellstinger: ["9L12", "8L12", "7L1", "6L1"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["9L4", "8L4", "7L5", "6L5", "5L9", "4T", "4L9"], + furyswipes: ["9L16", "8L16", "7L13", "6L13", "5L19", "4L19"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + healorder: ["7L29", "6L29", "5L25", "4L25"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hurricane: ["9M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + infestation: ["7M", "6M"], + laserfocus: ["7T"], + lunge: ["9M"], + mudslap: ["4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + pinmissile: ["8M"], + poisonsting: ["9L1", "8L1", "7L1", "6L1", "5L3", "4L3"], + pollenpuff: ["9M"], + pounce: ["9M"], + powergem: ["9M", "9L32", "8M", "8L32", "7L25", "6L25", "5L21", "4L21"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + pursuit: ["7L9", "6L9", "5L15", "4L15"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + roost: ["9L24", "7M", "6M", "5T", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + slash: ["9L0", "8L0", "7L1", "6L21", "5L31", "4L31"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spikes: ["9M"], + spite: ["9M"], + stringshot: ["4T"], + strugglebug: ["9M", "9L1", "8L1", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["9L20", "8L20", "7M", "7L49", "6M", "6L49", "5M", "5L39", "4M", "4L39"], + sweetscent: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + swift: ["9M", "8M", "4T"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["9M", "9L36", "8L36", "7M", "7L33", "6M", "6L33", "5M", "5L27", "4M", "4L27"], + toxicspikes: ["9M", "8M"], + uproar: ["8M"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + }, + pachirisu: { + learnset: { + aerialace: ["9M"], + agility: ["9M"], + attract: ["7M", "6M", "5M", "4M"], + babydolleyes: ["9E", "7E"], + bestow: ["7E", "6E", "5E"], + bide: ["7L1", "6L1", "5L1", "4L1"], + bite: ["9E", "7E", "6E", "5E", "4E"], + captivate: ["4M"], + charge: ["9M", "9E", "7E", "6E", "5E"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L9", "7L9", "6L9", "5L9", "4L9"], + confide: ["7M", "6M"], + covet: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4E"], + cut: ["6M", "5M", "4M"], + defensecurl: ["9E", "7E", "6E", "5E", "4E"], + dig: ["9M", "6M", "5M", "4M"], + discharge: ["9L41", "7L41", "6L41", "5L41", "4L29"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "9L25", "7L25", "6L25", "5L25"], + electroweb: ["7T", "6T"], + encore: ["9M"], + endure: ["9M", "9L17", "7L17", "6L17", "5L17", "4M", "4L17"], + facade: ["9M", "7M", "6M", "5M", "4M"], + faketears: ["9M", "9E", "7E", "6E", "5E", "4E"], + flail: ["9E", "7E", "6E", "5E", "4E"], + flash: ["6M", "5M", "4M"], + flatter: ["9E", "7E", "6E", "5E", "4E"], + fling: ["9M", "7M", "6M", "5M", "4M"], + followme: ["9E", "7E", "6E", "6S0", "5E"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + gunkshot: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M"], + hyperfang: ["7L49", "6L49", "5L49"], + iondeluge: ["7E", "6E"], + irontail: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], + laserfocus: ["7T"], + lastresort: ["9L45", "7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L37"], + lightscreen: ["9M", "7M", "6M", "5M", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mudshot: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + nuzzle: ["9L19", "7L19", "6L19", "6S0"], + playrough: ["9M"], + protect: ["9M", "7M", "6M", "6S0", "5M", "4M"], + quickattack: ["9L5", "7L5", "6L5", "5L5", "5D", "4L5"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["9E", "7E", "6E", "5E", "4T", "4E"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + shockwave: ["7T", "6T", "5D", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + spark: ["9L13", "7L13", "6L13", "5L13", "4L13"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M"], + superfang: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "6S0", "5T", "5L37", "4T", "4L33"], + swagger: ["7M", "6M", "5M", "4M"], + sweetkiss: ["9L29", "7L29", "6L29", "5L29", "4L25"], + swift: ["9M", "9L21", "7L21", "6L21", "5L21", "4T", "4L21"], + tailwhip: ["9E", "7E", "6E", "5E"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "9L49", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], + thunderfang: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T", "4T"], + thundershock: ["9L1"], + thunderwave: ["9M", "9L33", "7M", "7L33", "6M", "6L33", "5M", "5L33", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + uproar: ["9M", "7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Impish", ivs: {hp: 31, atk: 31, def: 31, spa: 14, spd: 31, spe: 31}, isHidden: true, moves: ["nuzzle", "superfang", "followme", "protect"], pokeball: "cherishball"}, + ], + }, + buizel: { + learnset: { + agility: ["9M", "9L41", "7L41", "6L41", "5L28", "4L28"], + aquajet: ["9L24", "7L24", "6L24", "5L21", "4L21"], + aquaring: ["9E", "7E", "6E", "5E"], + aquatail: ["9L38", "7T", "7L38", "7E", "6T", "6L38", "6E", "5T", "5L55", "5E"], + attract: ["7M", "6M", "5M", "4M"], + batonpass: ["9M", "9E", "7E", "6E", "5E", "4E"], + bite: ["9L18"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + brine: ["4M"], + bulkup: ["9M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M"], + dig: ["9M", "6M", "5M", "4M"], + dive: ["6M", "5M", "4T"], + doublehit: ["9L27", "7L27", "6L27", "5L27"], + doubleslap: ["7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M"], + flipturn: ["9M"], + focuspunch: ["9M", "7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["9E", "7E", "6E", "5E", "4E"], + furyswipes: ["9E", "7E", "6E", "5E", "4E"], + growl: ["9L4", "7L4", "6L4", "5L1", "4L1"], + hail: ["7M", "6M", "5M", "4M"], + headbutt: ["9E", "7E", "6E", "5E", "4T", "4E"], + helpinghand: ["9M", "9E", "7T", "7E"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["9M", "9L45", "7L45", "6L45", "5L45"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icefang: ["9M"], + icepunch: ["9M", "7T", "6T", "5T", "4T"], + icespinner: ["9M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + liquidation: ["9M", "9L35"], + lowkick: ["9M"], + lowsweep: ["9M"], + mefirst: ["7E", "6E", "5E"], + mudslap: ["9M", "9E", "7E", "6E", "5E", "4T", "4E"], + naturalgift: ["4M"], + odorsleuth: ["7E", "6E", "5E", "4E"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + pursuit: ["7L18", "6L18", "5L10", "4L10"], + quickattack: ["9L11", "7L11", "6L11", "5L3", "4L3"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + razorwind: ["7L35", "6L35", "5L45", "4L45"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + slash: ["9E", "7E", "6E", "5E", "5D", "4E"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + soak: ["9L7", "7E", "6E"], + sonicboom: ["7L1", "6L1", "5L1", "4L1"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L21", "7L21", "6L21", "5L15", "4T", "4L15"], + switcheroo: ["7E", "6E", "5E"], + tackle: ["9L1"], + tailslap: ["7E", "6E", "5E"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L15", "7L15", "6L15", "5L6", "5D", "4L6"], + waterpulse: ["9M", "7T", "6T", "5D", "4M"], + watersport: ["7L7", "6L7", "5L1", "5D", "4L1"], + wavecrash: ["9L49"], + whirlpool: ["9L31", "7L31", "6L31", "5L36", "4M", "4L36"], + }, + }, + floatzel: { + learnset: { + agility: ["9M", "9L51", "7L51", "6L51", "5L29", "4L29"], + aquajet: ["9L24", "7L24", "6L24", "5L21", "4L21"], + aquatail: ["9L46", "7T", "7L46", "6T", "6L46", "5T", "5L62", "4T"], + attract: ["7M", "6M", "5M", "4M"], + batonpass: ["9M"], + bite: ["9L18"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + brine: ["4M"], + bulkup: ["9M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L1", "7L1", "6L1", "5L26", "4L26"], + dig: ["9M", "6M", "5M", "4M"], + dive: ["6M", "5M", "4T"], + doublehit: ["9L29", "7L29", "6L29", "5L29"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M"], + flipturn: ["9M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + growl: ["9L1", "7L1", "6L1", "5L1", "4L1"], + hail: ["7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M", "7T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["9M", "9L57", "7L57", "6L57", "5L57"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icefang: ["9M", "9L1", "7L1", "6L1", "5L1", "4L1"], + icepunch: ["9M", "7T", "6T", "5T", "4T"], + icespinner: ["9M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + liquidation: ["9M", "9L41", "7T"], + lowkick: ["9M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M"], + metronome: ["9M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + pursuit: ["7L18", "6L18", "5L10", "4L10"], + quickattack: ["9L1", "7L1", "6L1", "5L1", "4L1"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + razorwind: ["7L41", "6L41", "5L50", "4L50"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snarl: ["9M"], + snore: ["7T", "6T", "5T", "4T"], + soak: ["9L1"], + sonicboom: ["7L1", "6L1", "5L1", "4L1"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L21", "7L21", "6L21", "5L15", "4T", "4L15"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L15", "7L15", "6L15", "5L6", "4L6"], + waterpulse: ["9M", "7T", "6T", "4M"], + watersport: ["7L1", "6L1", "5L1", "4L1"], + wavecrash: ["9L62"], + whirlpool: ["9L35", "7L35", "6L35", "5L39", "4M", "4L39"], + }, + encounters: [ + {generation: 4, level: 22}, + {generation: 5, level: 10}, + ], + }, + cherubi: { + learnset: { + aromatherapy: ["8E", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bulletseed: ["8M", "5D", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + dazzlinggleam: ["8M", "7M", "6M"], + defensecurl: ["8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainingkiss: ["8M"], + endure: ["8M", "4M"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + flowershield: ["8E", "7E", "6E"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["8M", "7T", "6T", "5T", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7E", "6E", "5E", "4E"], + grassyglide: ["8T"], + grassyterrain: ["8M", "7E"], + growth: ["8L10", "7L7", "6L7", "5L7", "4L7"], + healingwish: ["8E", "7E", "6E", "5E"], + healpulse: ["8E", "7E", "6E", "5E", "5D"], + helpinghand: ["8M", "8L15", "7T", "7L13", "6T", "6L13", "5T", "5L13", "4T", "4L13"], + hiddenpower: ["7M", "6M", "5M", "4M"], + leafage: ["8L5"], + leechseed: ["8L26", "7L10", "6L10", "5L10", "5D", "4L10"], + luckychant: ["7L40", "6L40", "5L40", "4L40"], + magicalleaf: ["8M", "8L20", "7L19", "6L19", "5L19", "4L19"], + morningsun: ["8L1", "7L1", "6L1", "5L1"], + naturalgift: ["7E", "6E", "5E", "4M"], + naturepower: ["8E", "7M", "7E", "6M", "6E", "5E", "4E"], + petalblizzard: ["8L35", "7L47", "6L47"], + pollenpuff: ["8M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + razorleaf: ["8E", "7E", "6E", "5E", "4E"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["8E", "7E", "6E", "5E", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + seedbomb: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "8L45", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L37"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], + swagger: ["7M", "6M", "5M", "4M"], + sweetscent: ["8E", "7E", "6E", "5E", "4E"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["8L30", "7L31", "6L31", "5L31", "4L31"], + tickle: ["8E", "7E", "6E", "5E", "4E"], + toxic: ["7M", "6M", "5M", "4M"], + weatherball: ["8M", "7E", "6E", "5E", "4E"], + worryseed: ["8L40", "7T", "7L28", "6T", "6L28", "5T", "5L28", "4T", "4L28"], + }, + }, + cherrim: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M"], + bulletseed: ["8M", "4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainingkiss: ["8M"], + endure: ["8M", "4M"], + energyball: ["8M", "7M", "6M", "5M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + flowershield: ["8L1"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["8M", "7T", "6T", "5T", "4M"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + growth: ["8L1", "7L1", "6L1", "5L1", "4L1"], + helpinghand: ["8M", "8L15", "7T", "7L13", "6T", "6L13", "5T", "5L13", "4T", "4L13"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + laserfocus: ["7T"], + leafage: ["8L1"], + leechseed: ["8L28", "7L1", "6L10", "5L10", "4L10"], + luckychant: ["7L48", "6L48", "5L48", "4L48"], + magicalleaf: ["8M", "8L20", "7L19", "6L19", "5L19", "4L19"], + morningsun: ["8L1", "7L1", "6L1", "5L1"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + petalblizzard: ["8L41", "7L50", "6L50"], + petaldance: ["8L62", "7L1", "6L25", "5L25", "4L25"], + playrough: ["8M"], + pollenpuff: ["8M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + seedbomb: ["8M", "7T", "6T", "5T", "4T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "8L55", "7M", "7L43", "6M", "6L43", "5M", "5L43", "4M", "4L43"], + solarblade: ["8M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "8L0", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + tackle: ["8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["8L34", "7L35", "6L35", "5L35", "4L35"], + toxic: ["7M", "6M", "5M", "4M"], + weatherball: ["8M"], + worryseed: ["8L48", "7T", "7L30", "6T", "6L30", "5T", "5L30", "4T", "4L30"], + }, + }, + shellos: { + learnset: { + acidarmor: ["9E", "8E", "7E", "6E"], + amnesia: ["9M", "8M", "7E", "6E", "5E", "4E"], + ancientpower: ["9L20", "8L20", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M", "9L25", "8M", "8L25", "7L29", "6L29", "5L29", "4L29"], + brine: ["8M", "7E", "6E", "5E", "4M"], + bulldoze: ["9M"], + captivate: ["4M"], + chillingwater: ["9M"], + clearsmog: ["9E", "8E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9E", "8E", "7E", "6E", "5E", "4E"], + dive: ["8M", "6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "9L35", "8M", "8L35", "7T", "6T", "5T", "4T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fissure: ["7E", "6E", "5E", "4E"], + frustration: ["7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M"], + harden: ["9L5", "8L5", "7L4", "6L4", "5L4", "4L4"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7L16", "6M", "6L16", "5M", "5L16", "4M", "4L16"], + hydropump: ["9M", "8M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + infestation: ["7M", "6M"], + liquidation: ["9M"], + memento: ["9L45", "8L45", "7E", "6E", "5E", "4E"], + mirrorcoat: ["9E", "8E", "7E", "6E", "5E", "4E"], + mist: ["9E", "8E", "7E", "6E", "5E"], + mudbomb: ["7L11", "6L11", "5L11", "4L11"], + muddywater: ["9L31", "8M", "8L31", "7L37", "6L37", "5L37", "4L37"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4T", "4L1"], + mudsport: ["7L2", "6L2", "5L2", "4L2"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "9L40", "8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], + recover: ["9L10", "8L10", "7L46", "6L46", "5L46", "4L46"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockslide: ["9M"], + rocktomb: ["9M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "5D", "4M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + sludge: ["9E", "8E", "7E", "6E", "5E", "4E"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + spitup: ["9E", "8E", "7E", "6E", "5E", "4E"], + stealthrock: ["9M"], + stockpile: ["9E", "8E", "7E", "6E", "5E", "4E"], + stoneedge: ["9M"], + stringshot: ["4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swallow: ["9E", "8E", "7E", "6E", "5E", "4E"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trumpcard: ["7E", "6E", "5E", "4E"], + waterfall: ["9M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "9L15", "8L15", "7T", "7L7", "6T", "6L7", "5L7", "4M", "4L7"], + whirlpool: ["8M", "4M"], + yawn: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + }, + }, + gastrodon: { + learnset: { + amnesia: ["9M", "8M"], + ancientpower: ["9L20", "8L20", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "9L25", "8M", "8L25", "7L29", "6L29", "5L29", "4L29"], + brine: ["8M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + dive: ["8M", "6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "9L39", "8M", "8L39", "7T", "7S0", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + hail: ["8M", "7M", "6M", "5M", "4M"], + harden: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "7L16", "6M", "6L16", "5M", "5L16", "4M", "4L16"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "7S0", "6M", "5M", "4M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + infestation: ["7M", "6M"], + liquidation: ["9M"], + memento: ["9L53", "8L53"], + mudbomb: ["7L11", "6L11", "5L11", "4L11"], + muddywater: ["9L33", "8M", "8L33", "7L41", "6L41", "5L41", "4L41"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1"], + mudsport: ["7L1", "6L1", "5L1", "4L1"], + naturalgift: ["4M"], + painsplit: ["7T", "6T", "5T", "4T"], + protect: ["9M", "8M", "7M", "7S0", "6M", "5M", "4M"], + raindance: ["9M", "9L46", "8M", "8L46", "7M", "7L22", "6M", "6L22", "5M", "5L22", "4M", "4L22"], + recover: ["9L1", "8L1", "7L54", "7S0", "6L54", "5L54", "4L54"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockblast: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M", "8M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + spikes: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + stringshot: ["4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + waterfall: ["9M", "8M", "7M", "6M", "5M", "4M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "9L15", "8L15", "7T", "7L1", "6T", "6L1", "5L1", "4M", "4L1"], + weatherball: ["9M", "8M"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 7, level: 50, gender: "F", nature: "Modest", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["earthpower", "icebeam", "recover", "protect"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + gastrodoneast: { + learnset: { + earthpower: ["9S3", "9S2", "8S1", "8S0"], + icebeam: ["9S2", "8S1", "8S0"], + icywind: ["9S3"], + protect: ["9S3", "9S2", "8S1", "8S0"], + surf: ["8S0"], + yawn: ["9S3", "9S2", "8S1"], + }, + eventData: [ + {generation: 8, level: 50, gender: "F", nature: "Quiet", abilities: ["stormdrain"], ivs: {hp: 31, atk: 2, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["protect", "surf", "icebeam", "earthpower"], pokeball: "cherishball"}, + {generation: 8, level: 50, gender: "F", nature: "Sassy", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["protect", "yawn", "icebeam", "earthpower"], pokeball: "cherishball"}, + {generation: 9, level: 50, gender: "M", nature: "Bold", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 8}, moves: ["protect", "yawn", "icebeam", "earthpower"], pokeball: "cherishball"}, + {generation: 9, level: 50, gender: "F", nature: "Calm", abilities: ["stormdrain"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 8}, moves: ["protect", "yawn", "icywind", "earthpower"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + drifloon: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M"], + aircutter: ["9M", "4T"], + allyswitch: ["8M", "7T"], + amnesia: ["9M", "8M", "7L40", "6L40", "5L40"], + astonish: ["9L1", "8L1", "7L4", "6L4", "5L6", "4L6"], + attract: ["8M", "7M", "6M", "5M", "4M"], + batonpass: ["9M", "9L36", "8M", "8L36", "7L44", "6L44", "5L38", "4L33"], + bind: ["7T", "6T", "5T"], + bodyslam: ["8M", "7E", "6E", "5E", "4E"], + brutalswing: ["8M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + clearsmog: ["9E", "8E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + constrict: ["7L1", "6L1", "5L1", "4L1"], + cut: ["6M", "5M", "4M"], + defog: ["9E", "8E", "7T", "7E", "6E", "5E", "4M"], + destinybond: ["9L32", "8L32", "7E", "6E", "5E", "4E"], + disable: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + explosion: ["9L44", "8L44", "7M", "7L50", "6M", "6L50", "5M", "5L46", "4M", "4L43"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fly: ["9M"], + focusenergy: ["9L8", "8M", "8L8", "7L13", "6L13", "5L14", "4L14"], + frustration: ["7M", "6M", "5M", "4M"], + gust: ["9L4", "8L4", "7L8", "6L8", "5L11", "4L11"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + helpinghand: ["9M"], + hex: ["9M", "9L16", "8M", "8L16", "7L27", "6L27", "5L22"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypnosis: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + magiccoat: ["7T", "6T", "5T", "4T"], + memento: ["9E", "8E", "7E", "6E", "5E", "4E"], + minimize: ["9L1", "8L1", "7L1", "6L1", "5L1", "5D", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["7L20", "6L20", "5L33", "4T", "4L30"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L12", "8M", "8L12", "7M", "7L16", "6M", "6L16", "5M", "5L17", "4M", "4L17"], + phantomforce: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + selfdestruct: ["9L29", "8M", "8L29"], + shadowball: ["9M", "9L20", "8M", "8L20", "7M", "7L36", "6M", "6L36", "5M", "5L43", "4M", "4L38"], + shockwave: ["7T", "6T", "4M"], + silverwind: ["4M"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "5D", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + spitup: ["9L24", "8L24", "7L32", "6L32", "5L30", "4L27"], + stockpile: ["9L24", "8L24", "7L25", "6L25", "5L27", "4L22"], + storedpower: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swallow: ["9L24", "8L24", "7L32", "6L32", "5L30", "4L27"], + swift: ["9M", "8M", "4T"], + tailwind: ["9M", "9L40", "8L40", "7T", "7E", "6T", "6E", "5T", "4T"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M"], + weatherball: ["9M", "8M", "7E", "6E", "5E", "4E"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + }, + drifblim: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + allyswitch: ["8M", "7T"], + amnesia: ["9M", "8M", "7L46", "6L46", "5L46"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + batonpass: ["9M", "9L42", "8M", "8L42", "7L52", "6L52", "5L44", "4L37"], + bind: ["7T", "6T", "5T"], + bodyslam: ["9M", "8M"], + brutalswing: ["8M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + constrict: ["7L1", "6L1", "5L1", "4L1"], + cut: ["6M", "5M", "4M"], + defog: ["7T", "4M"], + destinybond: ["9L36", "8L36"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + explosion: ["9L54", "8L54", "7M", "7L60", "6M", "6L60", "5M", "5L56", "4M", "4L51"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fling: ["9M"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L1", "8M", "8L1", "7L13", "6L13", "5L14", "4L14"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + gyroball: ["9M", "8M", "7M", "6M", "5M", "4M"], + haze: ["9M"], + helpinghand: ["9M"], + hex: ["9M", "9L16", "8M", "8L16", "7L27", "6L27", "5L22"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "8M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + magiccoat: ["7T", "6T", "5T", "4T"], + minimize: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["7L20", "6L20", "5L37", "4T", "4L32"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["9L12", "8M", "8L12", "7M", "7L16", "6M", "6L16", "5M", "5L17", "4M", "4L17"], + phantomforce: ["9M", "9L0", "8M", "8L0", "7L1", "6L1"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + selfdestruct: ["9L31", "8M", "8L31"], + shadowball: ["9M", "9L20", "8M", "8L20", "7M", "7L40", "6M", "6L40", "5M", "5L51", "4M", "4L44"], + shockwave: ["7T", "6T", "4M"], + silverwind: ["4M"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + spitup: ["9L24", "8L24", "7L34", "6L34", "5L32", "4L27"], + stockpile: ["9L24", "8L24", "7L25", "6L25", "5L27", "4L22"], + storedpower: ["9M"], + strengthsap: ["9L1", "8L1"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swallow: ["9L24", "8L24", "7L34", "6L34", "5L32", "4L27"], + swift: ["9M", "8M", "4T"], + tailwind: ["9M", "9L48", "8L48", "7T", "6T", "5T", "4T"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M"], + weatherball: ["9M", "8M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 7, level: 11, pokeball: "pokeball"}, + ], + }, + buneary: { + learnset: { + afteryou: ["8L12", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + agility: ["8M", "8L36", "7L33", "6L33", "5L33", "4L33"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M", "4E"], + babydolleyes: ["8L8", "7L13", "6L10"], + batonpass: ["8M", "8L28", "7L26", "6L26", "5L26", "4L26"], + bounce: ["8M", "8L48", "7T", "7L56", "6T", "6L56", "5T", "5L56", "4T", "4L46"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["8M", "8L24", "7L46", "6L46", "5L46", "4L43"], + circlethrow: ["8E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + copycat: ["8E", "7E", "6E", "5E"], + cosmicpower: ["8M", "7E", "6E"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + defensecurl: ["8L4", "7L1", "6L1", "5L1", "4L1"], + dig: ["8M", "6M", "5M", "4M"], + dizzypunch: ["7L36", "6L36", "5L36", "4L36"], + doublehit: ["8E", "7E", "6E", "5E", "4E"], + doublekick: ["8L20"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["8M", "7T", "6T", "5T", "5D", "4M"], + encore: ["8M", "7E", "6E", "5E", "4E"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "7L6", "6L6", "5L6", "4M", "4L6"], + entrainment: ["8L40", "7L50", "6L50", "5L53"], + facade: ["8M", "7M", "6M", "5M", "4M"], + fakeout: ["8E", "7E", "6E", "5E", "5D", "4E"], + faketears: ["8M", "7E", "6E", "5E", "4E"], + firepunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + flail: ["8E", "7E", "6E", "5E", "4E"], + flatter: ["8L44"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["8E", "7T", "7E", "6T", "6E", "5E", "4M"], + foresight: ["7L1", "6L1", "5L1", "5D", "4L1"], + frustration: ["7M", "7L1", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["8L32", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + healingwish: ["8L52", "7L63", "6L63", "5L63", "4L53"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "5M", "4M"], + icepunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + jumpkick: ["7L23", "6L23", "5L23", "4L23"], + lastresort: ["7T", "6T", "5T", "4T"], + lowkick: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lowsweep: ["8M"], + magiccoat: ["7T", "6T", "5T", "4T"], + megakick: ["8M"], + megapunch: ["8M"], + mudslap: ["4T"], + mudsport: ["7E", "6E"], + naturalgift: ["4M"], + payback: ["8M"], + playrough: ["8M"], + pound: ["8L1", "7L1", "6L1", "5L1", "4L1"], + poweruppunch: ["7E", "6M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + quickattack: ["8L16", "7L16", "6L16", "5L16", "4L16"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + skyuppercut: ["7E", "6E", "5E", "4E"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + splash: ["8L1", "7L1", "6L1", "5L1", "4L1"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + sweetkiss: ["8E", "7E", "6E", "5E", "4E"], + swift: ["8M", "4T"], + switcheroo: ["8E", "7E", "6E", "5E", "4E"], + teeterdance: ["8E", "7E", "6E"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4E"], + thunderwave: ["8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + tripleaxel: ["8T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M"], + workup: ["8M", "7M", "5M"], + }, + }, + lopunny: { + learnset: { + acrobatics: ["8M"], + afteryou: ["8L12", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + agility: ["8M", "8L36", "7L33", "6L33", "5L33", "4L33"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + aurasphere: ["8M"], + babydolleyes: ["8L1", "7L13"], + batonpass: ["8M", "8L28", "7L26", "6L26", "5L26", "4L26"], + blizzard: ["8M", "7M", "6M", "5M", "4M"], + bounce: ["8M", "8L48", "7T", "7L1", "6T", "6L1", "5T", "5L56", "4T", "4L46"], + brutalswing: ["8M", "7M"], + captivate: ["4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + charm: ["8M", "8L24", "7L46", "6L46", "5L46", "4L43"], + closecombat: ["8M"], + confide: ["7M", "6M"], + cosmicpower: ["8M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + defensecurl: ["8L1", "7L1", "6L1", "5L1", "4L1"], + dig: ["8M", "6M", "5M", "4M"], + dizzypunch: ["7L36", "6L36", "5L36", "4L36"], + doublekick: ["8L20"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["8M", "7T", "6T", "5T", "4M"], + encore: ["8M"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["8M", "7L6", "6L6", "5L6", "4M", "4L6"], + entrainment: ["8L40", "7L53", "6L53", "5L53"], + facade: ["8M", "7M", "6M", "5M", "4M"], + faketears: ["8M"], + firepunch: ["8M", "7T", "6T", "5T", "4T"], + flatter: ["8L44"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + foresight: ["7L1", "6L1", "5L1", "4L1"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + grassknot: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["8L32", "4T"], + healbell: ["7T", "6T", "5T", "4T"], + healingwish: ["8L52", "7L1", "6L1", "5L63", "4L53"], + helpinghand: ["8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highjumpkick: ["8L56", "7L66", "6L66"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "5M", "4M"], + icepunch: ["8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + jumpkick: ["7L23", "6L23", "5L23", "4L23"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lowkick: ["8M", "7T", "6T", "5T", "4T"], + lowsweep: ["8M", "7M", "6M", "5M"], + magiccoat: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + megakick: ["8M"], + megapunch: ["8M"], + mirrorcoat: ["8L1", "7L1", "6L1", "5L1", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + payback: ["8M"], + playrough: ["8M"], + pound: ["8L1", "7L1", "6L1", "5L1", "4L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M", "4M"], + quickattack: ["8L16", "7L16", "6L16", "5L16", "4L16"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "7L1", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + reversal: ["8M"], + rocksmash: ["6M", "5M", "4M"], + rototiller: ["7L1", "6L1"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["8M", "7M", "6M", "5M", "4M"], + splash: ["8L1", "7L1", "6L1", "5L1", "4L1"], + strength: ["6M", "5M", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["8M", "4T"], + thunder: ["8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["8M", "7T", "6T", "5T", "4T"], + thunderwave: ["8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + tripleaxel: ["8T"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + uturn: ["8M"], + waterpulse: ["7T", "6T", "4M"], + workup: ["8M", "7M", "5M"], + }, + }, + glameow: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + assist: ["7L29", "6L29", "5L29", "4L29"], + assurance: ["7E", "6E", "5E", "5D", "4E"], + attract: ["7M", "7L44", "6M", "6L44", "5M", "5L44", "4M", "4L45"], + bite: ["7E", "6E", "5E", "4E"], + captivate: ["7L32", "6L32", "5L32", "4M", "4L32"], + charm: ["7L25", "6L25", "5L25", "4L25"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dig: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + fakeout: ["7L1", "6L1", "5L1", "5D", "4L1"], + faketears: ["7E", "6E", "5E", "4E"], + feintattack: ["7L17", "6L17", "5L17", "4L17"], + flail: ["7E", "6E", "5E", "4E"], + flash: ["6M", "5M", "4M"], + foulplay: ["7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + furyswipes: ["7L20", "6L20", "5L20", "4L20"], + growl: ["7L8", "6L8", "5L8", "4L8"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["7L48", "6M", "6L48", "5M", "5L48"], + hypervoice: ["7T", "6T", "5T"], + hypnosis: ["7L13", "6L13", "5L13", "4L13"], + irontail: ["7T", "6T", "5T", "4M"], + knockoff: ["7T", "6T", "5T", "4T"], + lastresort: ["7T", "7E", "6T", "6E", "5T", "5E", "4T"], + mudslap: ["4T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + playrough: ["7L50", "6L50"], + protect: ["7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + quickattack: ["7E", "6E", "5E", "4E"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + sandattack: ["7E", "6E", "5E", "4E"], + scratch: ["7L5", "6L5", "5L5", "4L5"], + secretpower: ["6M", "5D", "4M"], + shadowball: ["7M", "6M", "5M", "4M"], + shadowclaw: ["7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + slash: ["7L37", "6L37", "5L37", "4L37"], + sleeptalk: ["7M", "6M", "5T", "4M"], + snatch: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], + snore: ["7T", "6T", "5T", "4T"], + substitute: ["7M", "6M", "5M", "4M"], + suckerpunch: ["7L41", "6L41", "5L41", "4T", "4L41"], + sunnyday: ["7M", "6M", "5M", "4M"], + superfang: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["4T"], + tailwhip: ["7E", "6E", "5E", "4E"], + taunt: ["7M", "6M", "5M", "4M"], + thief: ["7M", "6M", "5M", "4M"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uturn: ["7M", "6M", "5M", "4M"], + wakeupslap: ["7E", "6E", "5E"], + waterpulse: ["7T", "6T", "4M"], + workup: ["7M", "5M"], + }, + }, + purugly: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + assist: ["7L29", "6L29", "5L29", "4L29"], + attract: ["7M", "7L52", "6M", "6L52", "5M", "5L52", "4M", "4L53"], + bodyslam: ["7L45", "6L45", "5L45", "4L45"], + bulldoze: ["7M", "6M", "5M"], + captivate: ["7L32", "6L32", "5L32", "4M", "4L32"], + charm: ["7L25", "6L25", "5L25", "4L25"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M", "4M"], + dig: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + fakeout: ["7L1", "6L1", "5L1", "4L1"], + feintattack: ["7L17", "6L17", "5L17", "4L17"], + flash: ["6M", "5M", "4M"], + foulplay: ["7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + furyswipes: ["7L20", "6L20", "5L20", "4L20"], + gigaimpact: ["7M", "6M", "5M", "4M"], + growl: ["7L1", "6L1", "5L1", "4L1"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["7L60", "6M", "6L60", "5M", "5L60"], + hyperbeam: ["7M", "6M", "5M", "4M"], + hypervoice: ["7T", "6T", "5T"], + hypnosis: ["7L13", "6L13", "5L13", "4L13"], + irontail: ["7T", "6T", "5T", "4M"], + knockoff: ["7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + mudslap: ["4T"], + naturalgift: ["4M"], + payback: ["7M", "6M", "5M", "4M"], + protect: ["7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["7M", "6M", "5M"], + scratch: ["7L1", "6L1", "5L1", "4L1"], + secretpower: ["6M", "4M"], + shadowball: ["7M", "6M", "5M", "4M"], + shadowclaw: ["7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + slash: ["7L37", "6L37", "5L37", "4L37"], + sleeptalk: ["7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + stompingtantrum: ["7T"], + substitute: ["7M", "6M", "5M", "4M"], + suckerpunch: ["4T"], + sunnyday: ["7M", "6M", "5M", "4M"], + superfang: ["7T", "6T", "5T", "4T"], + swagger: ["7M", "7L1", "6M", "6L38", "5M", "5L38", "4M", "4L38"], + swift: ["4T"], + taunt: ["7M", "6M", "5M", "4M"], + thief: ["7M", "6M", "5M", "4M"], + throatchop: ["7T"], + thunder: ["7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uturn: ["7M", "6M", "5M", "4M"], + waterpulse: ["7T", "6T", "4M"], + workup: ["7M", "5M"], + }, + encounters: [ + {generation: 6, level: 32, maxEggMoves: 1}, + ], + }, + stunky: { + learnset: { + acidspray: ["9M", "9L9", "8L9", "7L19", "6L32", "5L32"], + assurance: ["8M"], + astonish: ["9E", "8E", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "6M", "5M", "4M"], + belch: ["9L39", "8L39", "7L43", "6L46"], + bite: ["9L18", "8L18", "7L21"], + bodyslam: ["9M"], + captivate: ["4M"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + crunch: ["9M", "8M", "7E", "6E", "5E", "4E"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defog: ["7T", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + explosion: ["9L42", "8L45", "7M", "7L45", "6M", "6L49", "5M", "5L49", "4M", "4L44"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feint: ["9L3", "8L3", "7L15", "6L18", "5L18", "4L18"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + flameburst: ["7E", "6E", "5E"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["9L15", "8M", "8L15", "7L1", "6L1", "5L1", "4L1"], + foulplay: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + furyswipes: ["9L12", "8L12", "7L9", "6L10", "5L10", "4L10"], + gunkshot: ["9M"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + headbutt: ["4T"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + leer: ["9E", "8E", "7E", "6E", "5E", "4E"], + memento: ["9L33", "8L33", "7L33", "6L43", "5L43", "4L37"], + mudslap: ["4T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightslash: ["9L36", "8L36", "7L31", "6L37", "5L37", "4L31"], + payback: ["8M", "7M", "6M", "5M", "4M"], + playrough: ["9M", "8M", "7E", "6E"], + poisongas: ["9L1", "8L1", "7L3", "6L4", "5L4", "4L4"], + poisonjab: ["9M"], + poisontail: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + punishment: ["7E", "6E", "5E", "4E"], + pursuit: ["7E", "6E", "5E", "4E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M", "7E", "6E", "5E", "4E"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + screech: ["9L24", "8M", "8L24", "7L7", "6L7", "5L7", "5D", "4L7"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9E", "8E", "7L25", "6L22", "5L22", "4L22"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + smog: ["9E", "8E", "7E", "6E", "5E", "4E"], + smokescreen: ["9L6", "8L6", "7L13", "6L14", "5L14", "4L14"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L30", "8L30", "7L39", "5D", "4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + tailslap: ["8M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["9M", "9L27", "8L27", "7M", "7L27", "6M", "6L27", "5M", "5L27", "4M", "4L20"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venomdrench: ["8M", "8L42", "7L37"], + venoshock: ["9M", "9L21", "8M", "8L21", "7M", "6M", "5M"], + }, + }, + skuntank: { + learnset: { + acidspray: ["9M", "8L9", "7L19", "6L32", "5L32"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + belch: ["9L43", "8L43", "7L43", "6L56"], + bite: ["9L18", "8L18", "7L21"], + bodyslam: ["9M"], + burningjealousy: ["9M", "8T"], + captivate: ["4M"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + crunch: ["9M", "8M"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defog: ["7T", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + explosion: ["9L48", "8L53", "7M", "7L45", "6M", "6L61", "5M", "5L61", "4M", "4L52"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feint: ["9L1", "8L1", "7L15", "6L18", "5L18", "4L18"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firespin: ["9M", "8M"], + flamethrower: ["9M", "9L0", "8M", "8L0", "7M", "7L1", "6M", "6L34", "5M", "5L34", "4M", "4L34"], + focusenergy: ["9L15", "8M", "8L15", "7L1", "6L1", "5L1", "4L1"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + furyswipes: ["9L12", "8L12", "7L9", "6L10", "5L10", "4L10"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M"], + haze: ["9M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + memento: ["9L33", "8L33", "7L33", "6L51", "5L51", "4L41"], + mudslap: ["4T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightslash: ["9L38", "8L38", "7L31", "6L41", "5L41", "4L31"], + payback: ["8M", "7M", "6M", "5M", "4M"], + playrough: ["9M", "8M"], + poisongas: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poisontail: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + screech: ["9L24", "8M", "8L24", "7L1", "6L7", "5L7", "4L7"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["7L25", "6L22", "5L22", "4L22"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + smokescreen: ["9L1", "8L1", "7L13", "6L14", "5L14", "4L14"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L30", "8L30", "7L39", "4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + superfang: ["9M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + tailslap: ["8M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["9M", "9L27", "8L27", "7M", "7L27", "6M", "6L27", "5M", "5L27", "4M", "4L20"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venomdrench: ["8M", "8L48", "7L37"], + venoshock: ["9M", "9L21", "8M", "8L21", "7M", "6M", "5M"], + }, + encounters: [ + {generation: 4, level: 29}, + ], + }, + bronzor: { + learnset: { + allyswitch: ["8M", "7T"], + ancientpower: ["4T"], + bodyslam: ["9M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L4", "8L4", "7L11", "6L11", "5L11", "4L14"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + expandingforce: ["8T"], + extrasensory: ["9L28", "8L28", "7L39", "6L39", "5L19", "4L19"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feintattack: ["7L21", "6L21", "5L21", "4L41"], + flash: ["6M", "5M", "4M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["9L44", "8M", "8L44", "7L29", "6L29", "5L29", "4L37"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "9E", "7T", "6T", "5T", "5D", "4T"], + guardswap: ["8M"], + gyroball: ["9M", "9L16", "8M", "8L16", "7M", "7L35", "6M", "6L35", "5M", "5L35", "4M", "4L35"], + healblock: ["7L45", "6L45", "5L45", "4L52"], + heavyslam: ["9M", "9L32", "8M", "8L32", "7L49", "6L49", "5L49"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypnosis: ["9L20", "8L20", "7L5", "6L5", "5L5", "5D", "4L7"], + icespinner: ["9M"], + imprison: ["9M", "9L12", "8M", "8L12", "7L9", "6L9", "5L9", "4L12"], + irondefense: ["9M", "9L36", "8M", "8L36", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4L26"], + ironhead: ["9M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + metalsound: ["9L40", "8L40", "7L31", "6L31", "5L31"], + naturalgift: ["4M"], + payback: ["9L8", "8M", "8L8", "7M", "7L41", "6M", "6L41", "5M", "5L49", "4M", "4L49"], + powergem: ["9M"], + powerswap: ["8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychicterrain: ["9M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + psywave: ["7L15", "6L15", "5L15"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["9E", "7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockblast: ["9M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L24", "8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L30"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "5D", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + speedswap: ["8M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + stompingtantrum: ["9M"], + storedpower: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M"], + }, + }, + bronzong: { + learnset: { + allyswitch: ["8M", "7T"], + ancientpower: ["4T"], + block: ["9L0", "8L0", "7T", "7L1", "6T", "6L33", "5T", "5L33", "4T", "4L33"], + bodypress: ["9M", "9S0", "8M"], + bodyslam: ["9M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "7L11", "6L11", "5L11", "4L14"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + expandingforce: ["8T"], + explosion: ["7M", "6M", "5M", "4M"], + extrasensory: ["9L28", "8L28", "7L42", "6L42", "5L19", "4L19"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feintattack: ["7L21", "6L21", "5L21", "4L50"], + flash: ["6M", "5M", "4M"], + flashcannon: ["9M", "9S1", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["9L50", "8M", "8L50", "7L29", "6L29", "5L29", "4L43"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + guardswap: ["8M"], + gyroball: ["9M", "9L16", "9S1", "8M", "8L16", "7M", "7L36", "6M", "6L36", "5M", "5L36", "4M", "4L38"], + healblock: ["7L52", "6L52", "5L52", "4L67"], + heavyslam: ["9M", "9L32", "8M", "8L32", "7L58", "6L58", "5L58"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypnosis: ["9L20", "9S1", "8L20", "7L1", "6L1", "5L1", "4L1"], + icespinner: ["9M"], + imprison: ["9M", "9L12", "8M", "8L12", "7L1", "6L1", "5L1", "4L1"], + irondefense: ["9M", "9L38", "9S0", "8M", "8L38", "7T", "7L19", "6T", "6L19", "5T", "5L19", "4L26"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + metalsound: ["9L44", "8L44", "7L31", "6L31", "5L31"], + meteorbeam: ["8T"], + naturalgift: ["4M"], + nightshade: ["9M"], + payback: ["9L1", "8M", "8L1", "7M", "7L46", "6M", "6L46", "5M", "5L46", "4M", "4L61"], + powergem: ["9M"], + powerswap: ["8M"], + protect: ["9M", "9S0", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M"], + psychic: ["9M", "9S1", "8M", "7M", "6M", "5M", "4M"], + psychicterrain: ["9M", "8M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + psywave: ["7L15", "6L15", "5L15"], + raindance: ["9M", "9L56", "8M", "8L56", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockblast: ["9M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + rollout: ["4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L24", "8M", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L25", "4M", "4L30"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + speedswap: ["8M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + stompingtantrum: ["9M"], + storedpower: ["9M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + swagger: ["7M", "6M", "5M", "4M"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "9S0", "8M", "7M", "6M", "5M", "4M"], + weatherball: ["9M", "9L1", "8M", "8L1"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 9, level: 50, nature: "Relaxed", ivs: {hp: 31, atk: 31, def: 31, spa: 22, spd: 31, spe: 0}, moves: ["bodypress", "irondefense", "protect", "trickroom"], pokeball: "cherishball"}, + {generation: 9, level: 50, nature: "Modest", moves: ["flashcannon", "gyroball", "psychic", "hypnosis"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + chatot: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["7E", "6E", "5E", "4E"], + aircutter: ["7E", "6E", "5E", "4T"], + attract: ["7M", "6M", "5M", "4M"], + boomburst: ["7E", "6E"], + captivate: ["4M"], + chatter: ["7L1", "6L1", "5L21", "4L21", "4S0"], + confide: ["7M", "7L1", "6M", "6L1"], + defog: ["7T", "7E", "6E", "5E", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "7L37", "6M", "6L37", "5M", "5L37"], + encore: ["7E", "6E", "5E", "4E"], + endure: ["4M"], + facade: ["7M", "6M", "5M", "4M"], + featherdance: ["7L50", "6L50", "5L53", "4L41"], + fly: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furyattack: ["7L17", "6L17", "5L17", "4L17", "4S0"], + growl: ["7L5", "6L5", "5L5", "4L5"], + heatwave: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypervoice: ["7T", "7L1", "6T", "6L1", "5T", "5L57", "4L45"], + mimic: ["7L33", "6L33", "5L33", "4L29"], + mirrormove: ["7L9", "6L9", "5L9", "5D", "4L9", "4S0"], + mudslap: ["4T"], + nastyplot: ["7E", "6E", "5E", "5D", "4E"], + naturalgift: ["4M"], + nightshade: ["7E", "6E", "5E", "4E"], + ominouswind: ["4T"], + peck: ["7L1", "6L1", "5L1", "4L1"], + pluck: ["5M", "4M"], + protect: ["7M", "6M", "5M", "4M"], + raindance: ["7M", "6M", "5M", "4M"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "5D", "4T"], + roost: ["7M", "7L41", "6M", "6L41", "5T", "5L41", "4M", "4L33"], + round: ["7M", "7L29", "6M", "6L29", "5M", "5L29"], + secretpower: ["6M", "4M"], + sing: ["7L13", "6L13", "5L13", "4L13"], + skyattack: ["7T", "6T", "5T", "4T"], + sleeptalk: ["7M", "7E", "6M", "6E", "5T", "5E", "4M"], + snore: ["7T", "6T", "5T", "4T"], + steelwing: ["7M", "7E", "6M", "6E", "5E", "4M"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + supersonic: ["7E", "6E", "5E", "4E"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["4T"], + synchronoise: ["7L49", "6L49", "5L49"], + tailwind: ["7T", "6T", "5T", "4T"], + taunt: ["7M", "7L1", "6M", "6L1", "5M", "5L25", "4M", "4L25", "4S0"], + thief: ["7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uproar: ["7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L37"], + uturn: ["7M", "6M", "5M", "4M"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 4, level: 25, gender: "M", nature: "Jolly", abilities: ["keeneye"], moves: ["mirrormove", "furyattack", "chatter", "taunt"]}, + ], + }, + spiritomb: { + learnset: { + allyswitch: ["9E", "8M", "7T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bodyslam: ["9M"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["7E", "6E", "5E", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + curse: ["9L40", "8L40", "7L1", "6L1", "5L1", "4L1"], + darkpulse: ["9M", "9L50", "8M", "8L50", "7M", "7L49", "6M", "6L49", "5T", "5L49", "5S0", "4M", "4L49"], + destinybond: ["9E", "8E", "7E", "6E", "5E", "4E"], + disable: ["9E", "8E", "7E"], + doubleteam: ["7M", "6M", "5M", "4M"], + dreameater: ["9L60", "8L60", "7M", "7L19", "6M", "6L19", "5M", "5L19", "4M", "4L19"], + embargo: ["7M", "6M", "5M", "5S0", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feintattack: ["7L7", "6L7", "5L7", "4L7"], + flash: ["6M", "5M", "4M"], + foulplay: ["9M", "8M", "7T", "7E", "6T", "6E", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grudge: ["8E", "7E", "6E", "5E", "4E"], + helpinghand: ["9M"], + hex: ["9M", "9L25", "8M", "8L25"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypnosis: ["9L55", "8L55", "7L13", "6L13", "5L13", "4L13"], + icywind: ["9M", "8M", "7T", "6T", "5T", "5D", "4T"], + imprison: ["9M", "8M", "7E", "6E", "5E", "4E"], + infestation: ["7M", "6M"], + lashout: ["9M", "8T"], + memento: ["9L30", "8L30", "7L43", "6L43", "5L43", "4L43"], + nastyplot: ["9M", "9L20", "8M", "8L20", "7L37", "6L37", "5L37", "4L37"], + naturalgift: ["4M"], + nightmare: ["7E", "6E", "5E"], + nightshade: ["9M", "9L1", "8L1"], + ominouswind: ["7L25", "6L25", "5L25", "4T", "4L25"], + painsplit: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + payback: ["9L15", "8M", "8L15"], + phantomforce: ["9M", "8M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M"], + pursuit: ["7L1", "6L1", "5L1", "4L1"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "9L45", "8M", "8L45", "7M", "6M", "5M", "4M"], + shadowsneak: ["9L5", "8L5", "7L1", "7E", "6L1", "6E", "5L1", "5E", "4L1", "4E"], + shockwave: ["7T", "6T", "4M"], + silverwind: ["5S0", "4M"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smokescreen: ["9E", "8E", "7E", "6E", "5E", "4E"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "9L10", "8L10", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5D", "4T", "4L1"], + storedpower: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L35", "8L35", "7L31", "6L31", "5L31", "4T", "4L31"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["9M", "7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + waterpulse: ["7T", "6T", "4M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], + wonderroom: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 61, gender: "F", nature: "Quiet", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["darkpulse", "psychic", "silverwind", "embargo"], pokeball: "cherishball"}, + ], + }, + gible: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["9L25", "8L25"], + bodyslam: ["9M", "8M", "7E", "6E", "5E", "4E"], + bulldoze: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M"], + dig: ["9M", "9L42", "8M", "8L42", "7L31", "6M", "6L31", "5M", "5L31", "4M", "4L31"], + doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9L12", "8L12", "7E", "6E", "5E", "4E"], + dragonclaw: ["9M", "9L36", "8M", "8L36", "7M", "7L27", "6M", "6L27", "5M", "5L27", "4M", "4L27"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragonrage: ["7L7", "6L7", "5L7", "5D", "4L7"], + dragonrush: ["9L60", "8L60", "7L37", "6L37", "5L37", "4L37"], + dragontail: ["9M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "5D", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + falseswipe: ["9M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firefang: ["9M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + metalclaw: ["9M", "9E", "8E", "7E", "6E", "5E", "4E"], + mudshot: ["9M", "8M", "7E", "6E", "5E", "4E"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D", "4T", "4E"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockclimb: ["7E", "6E", "5E", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L6", "8L6", "7L3", "6L3", "5L3", "4L3"], + sandstorm: ["9M", "9L48", "8M", "8L48", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + sandtomb: ["9M", "9L1", "8M", "8L1", "7L19", "7E", "6L19", "6E", "5L19", "5E", "4L19", "4E"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M", "7E", "6E", "5E", "4E"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L30", "8L30", "7L25", "6L25", "5L25", "4L25"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + swordsdance: ["9M"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L54", "8L54", "7L15", "6L15", "5L15", "4L15"], + terablast: ["9M"], + thrash: ["9E", "8E", "7E", "6E", "5E", "4E"], + thunderfang: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], + }, + }, + gabite: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["9L27", "8L27"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M"], + cut: ["6M", "5M", "4M"], + dig: ["9M", "9L50", "8M", "8L50", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L40"], + doubleteam: ["7M", "6M", "5M", "4M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T", "4T"], + dragonbreath: ["9L1", "8L1"], + dragonclaw: ["9M", "9L42", "8M", "8L42", "7M", "7L33", "6M", "6L33", "5M", "5L33", "4M", "4L33"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragonrage: ["7L1", "6L7", "5L7", "4L7"], + dragonrush: ["9L74", "8L74", "7L49", "6L49", "5L49", "4L49"], + dragontail: ["9M"], + dualchop: ["8L1", "7T", "7L1", "6T", "6L24", "5T", "5L24"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + falseswipe: ["9M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firefang: ["9M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + laserfocus: ["7T"], + metalclaw: ["9M"], + mudshot: ["9M", "8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + powergem: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + sandstorm: ["9M", "9L58", "8M", "8L58", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + sandtomb: ["9M", "9L1", "8M", "8L1", "7L19", "6L19", "5L19", "4L19"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L34", "8L34", "7L28", "6L28", "5L28", "4L28"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + swordsdance: ["9M"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L66", "8L66", "7L15", "6L15", "5L15", "4L15"], + terablast: ["9M"], + thunderfang: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + }, + }, + garchomp: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["9L27", "8L27"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "6S4", "5M", "4M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "9L18", "8M", "8L18", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L0", "8M", "8L0", "7L1", "6L48", "6S2", "6S3", "5L48", "5S1", "4L48"], + cut: ["6M", "5M", "4M"], + dig: ["9M", "9L52", "8M", "8L52", "7L40", "6M", "6L40", "6S2", "6S3", "5M", "5L40", "5S1", "4M", "4L40"], + doubleteam: ["7M", "6M", "5M", "4M"], + dracometeor: ["9M", "8T", "7T", "6T", "6S2", "5T", "4T"], + dragonbreath: ["9L1", "8L1"], + dragonclaw: ["9M", "9L42", "8M", "8L42", "7M", "7L33", "6M", "6L33", "6S2", "6S3", "5M", "5L33", "5S1", "4M", "4L33"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragonrage: ["7L1", "6L1", "5L1", "4L1"], + dragonrush: ["9L82", "8L82", "7L55", "6L55", "6S4", "5L55", "4L55"], + dragontail: ["9M", "7M", "6M", "5M"], + dualchop: ["8L1", "7T", "7L1", "6T", "6L24", "5T", "5L24"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "8M", "7M", "6M", "6S4", "5M", "5S0", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firefang: ["9M", "8M", "7L1", "6L1", "5L1", "4L1"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "6S4", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + laserfocus: ["7T"], + liquidation: ["9M"], + metalclaw: ["9M"], + mudshot: ["9M", "8M"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "7T", "6T", "5T", "5S0", "5S1", "4T"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + powergem: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + sandstorm: ["9M", "9L62", "8M", "8L62", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + sandtomb: ["9M", "9L1", "8M", "8L1", "7L19", "6L19", "5L19", "4L19"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + slash: ["9L34", "8L34", "7L28", "6L28", "6S3", "5L28", "4L28"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spikes: ["9M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + surf: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "5S0", "4M"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L72", "8L72", "7L15", "6L15", "5L15", "4L15"], + terablast: ["9M"], + thunderfang: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["outrage", "earthquake", "swordsdance", "stoneedge"], pokeball: "cherishball"}, + {generation: 5, level: 48, gender: "M", isHidden: true, moves: ["dragonclaw", "dig", "crunch", "outrage"]}, + {generation: 6, level: 48, gender: "M", moves: ["dracometeor", "dragonclaw", "dig", "crunch"], pokeball: "cherishball"}, + {generation: 6, level: 50, gender: "M", moves: ["slash", "dragonclaw", "dig", "crunch"], pokeball: "cherishball"}, + {generation: 6, level: 66, gender: "F", perfectIVs: 3, moves: ["dragonrush", "earthquake", "brickbreak", "gigaimpact"], pokeball: "cherishball"}, + ], + }, + riolu: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "8M", "7E", "6E", "5E", "4E"], + attract: ["8M", "7M", "6M", "5M", "4M"], + aurasphere: ["4S0"], + bite: ["9E", "8E", "7E", "6E", "5E", "4E"], + blazekick: ["8M", "7E", "6E", "5E", "4E"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletpunch: ["9E", "8E", "7E", "6E", "5E", "5D", "4E", "4S0"], + captivate: ["4M"], + circlethrow: ["9E", "8E", "7E", "6E", "5E"], + closecombat: ["9M"], + coaching: ["8T"], + confide: ["7M", "6M"], + copycat: ["9L48", "8L48", "7L19", "6L19", "5L29", "4L29"], + counter: ["9L12", "8L12", "7L6", "6L6", "5L6", "4L6"], + crosschop: ["9E", "8E", "7E", "6E", "5E", "4E"], + crunch: ["9M", "8M", "7E", "6E", "5E", "4E"], + detect: ["9E", "8E", "7E", "6E", "5E", "4E"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M", "4S0"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "5D", "4M", "4L1"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feint: ["9L4", "8L4", "7L11", "6L11", "5L15", "4L15"], + finalgambit: ["9L52", "8L52", "7L50", "6L50", "5L55"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "5D", "4M"], + followme: ["7E", "6E", "5E", "4E"], + forcepalm: ["9L36", "8L36", "7L15", "6L15", "5L11", "4L11"], + foresight: ["7L1", "6L1", "5L1", "4L1"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + headbutt: ["4T"], + helpinghand: ["9M", "9L44", "8M", "8L44", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highjumpkick: ["9E", "8E", "7E", "6E", "5E", "4E"], + howl: ["9E", "8E"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + irondefense: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + laserfocus: ["7T"], + lowkick: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T", "4T"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M", "9L8", "8L8"], + meteormash: ["7E"], + mindreader: ["8E", "7E", "6E", "5E", "4E"], + mudslap: ["4T"], + nastyplot: ["9M", "8M", "8L24", "7L47", "6L47", "5L47"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + quickguard: ["9L32", "8L32"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], + reversal: ["9M", "9L56", "8M", "8L56", "7L29", "6L29", "5L19", "4L19"], + roar: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["9L20", "8L20", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + screech: ["9L28", "8M", "8L28", "7L24", "6L24", "5L24", "4L24"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M", "4S0"], + skyuppercut: ["7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + swordsdance: ["9M", "9L40", "8M", "8L40", "7M", "6M", "5M", "4M"], + takedown: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + vacuumwave: ["9M", "9L24", "8E", "7E", "6E", "5E", "4T", "4E"], + workup: ["9L16", "8M", "8L16", "7M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 30, gender: "M", nature: "Serious", abilities: ["steadfast"], moves: ["aurasphere", "shadowclaw", "bulletpunch", "drainpunch"], pokeball: "pokeball"}, + ], + }, + lucario: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + aurasphere: ["9M", "9L0", "9S7", "8M", "8L0", "8S6", "7L1", "7S5", "6L1", "6S4", "5L51", "4L37", "4S0"], + blazekick: ["8M", "4S1"], + bodyslam: ["9M"], + bonerush: ["9L36", "8L36", "7L29", "6L29", "5L19", "4L19", "4S1"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletpunch: ["9S7", "8S6", "5S2", "5S3"], + calmmind: ["9M", "9L24", "8M", "8L24", "7M", "7L47", "6M", "6L47", "5M", "5L47", "4M"], + captivate: ["4M"], + closecombat: ["9M", "9L60", "8M", "8L60", "7L55", "6L1", "6S4", "5L55", "5S3", "4L42"], + coaching: ["8T"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + counter: ["9L12", "8L12", "7L6", "6L6", "5L6", "5S2", "4L6"], + crunch: ["9M", "8M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "5L1", "4M", "4L1", "4S0"], + detect: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S2", "4L1"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dragonpulse: ["9M", "9L52", "8M", "8L52", "7T", "7L60", "7S5", "6T", "6L1", "5T", "5L60", "4M", "4L47", "4S0"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + extremespeed: ["9L56", "8L56", "7L65", "7S5", "6L1", "5L65", "4L51"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feint: ["9L1", "8L1", "7L11", "6L11", "5L15", "4L15"], + finalgambit: ["9L1", "8L1"], + flashcannon: ["9M", "9S7", "8M", "7M", "6M", "6S4", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusenergy: ["8M"], + focuspunch: ["9M", "7T", "6T", "4M"], + forcepalm: ["9L20", "8L1", "5L11", "4L11", "4S1"], + foresight: ["7L1", "6L1", "5L1", "4L1"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healpulse: ["9L44", "8L44", "7L51", "6L51", "5L42"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highjumpkick: ["7S5"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "9S7", "8M", "7T", "6T", "5T", "4T"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + laserfocus: ["8L16", "7T", "7L1"], + lifedew: ["9L1", "8L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T", "4T"], + mefirst: ["7L37", "6L37", "5L29", "4L29"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "5S2", "4L1"], + metalsound: ["9L28", "8L28", "7L24", "6L24", "5L24", "4L24"], + meteormash: ["9L48", "8L48"], + metronome: ["9M"], + mudslap: ["4T"], + nastyplot: ["9M", "8M", "8L1"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poweruppunch: ["8L20", "7L15", "6M", "6L15"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + quickattack: ["9L1", "8L1", "7L1", "6L1", "6S4", "5L1", "4L1"], + quickguard: ["9L32", "8L32", "7L33", "6L33", "5L33"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], + reversal: ["9M", "9L1", "8M", "8L1", "8S6"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["9L1", "8L1", "6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], + screech: ["9L1", "8M", "8L1"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "5S3", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + steelbeam: ["9M", "8T", "8S6"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "5S3", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M", "4S1"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + swordsdance: ["9M", "9L40", "8M", "8L40", "7M", "7L19", "6M", "6L19", "5M", "5L37", "4M", "4L33"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + vacuumwave: ["9M", "9L1", "4T"], + waterpulse: ["9M", "7T", "6T", "4M", "4S0"], + workup: ["9L16", "8M", "8L1", "7M", "7L42", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Modest", abilities: ["steadfast"], moves: ["aurasphere", "darkpulse", "dragonpulse", "waterpulse"], pokeball: "cherishball"}, + {generation: 4, level: 30, gender: "M", nature: "Adamant", abilities: ["innerfocus"], moves: ["forcepalm", "bonerush", "sunnyday", "blazekick"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["detect", "metalclaw", "counter", "bulletpunch"]}, + {generation: 5, level: 50, gender: "M", nature: "Naughty", ivs: {atk: 31}, isHidden: true, moves: ["bulletpunch", "closecombat", "stoneedge", "shadowclaw"], pokeball: "cherishball"}, + {generation: 6, level: 100, nature: "Jolly", abilities: ["innerfocus"], moves: ["closecombat", "aurasphere", "flashcannon", "quickattack"], pokeball: "cherishball"}, + {generation: 7, level: 40, gender: "M", nature: "Serious", abilities: ["steadfast"], moves: ["aurasphere", "highjumpkick", "dragonpulse", "extremespeed"], pokeball: "pokeball"}, + {generation: 8, level: 80, gender: "M", nature: "Serious", abilities: ["innerfocus"], ivs: {hp: 31, atk: 30, def: 30, spa: 31, spd: 30, spe: 31}, moves: ["aurasphere", "bulletpunch", "reversal", "steelbeam"], pokeball: "pokeball"}, + {generation: 9, level: 75, shiny: true, gender: "M", nature: "Naive", abilities: ["innerfocus"], ivs: {hp: 31, atk: 31, def: 20, spa: 31, spd: 20, spe: 31}, moves: ["flashcannon", "bulletpunch", "aurasphere", "icepunch"], pokeball: "cherishball"}, + ], + }, + hippopotas: { + learnset: { + amnesia: ["9M", "8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["9L4", "8L4", "7L7", "6L7", "5L7", "5D", "4L7"], + bodypress: ["9M"], + bodyslam: ["9M", "8M", "7E", "6E", "5E", "4E"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L20", "8M", "8L20", "7L31", "6L31", "5L31", "4L31"], + curse: ["9E", "8E", "7E", "6E", "5E", "4E"], + dig: ["9M", "9L16", "8M", "8L16", "7L19", "6M", "6L19", "5M", "5L19", "4M", "4L19"], + doubleedge: ["9L44", "8L44", "7L44", "6L44", "5L44", "4L44"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L40", "8M", "8L40", "7M", "7L37", "6M", "6L37", "5M", "5L37", "4M", "4L37"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + firefang: ["9M"], + fissure: ["9L48", "8L48", "7L50", "6L50", "5L50", "4L50"], + frustration: ["7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["9M", "8M"], + icefang: ["9M"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "9L36", "8M", "8L36", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M", "7E", "6E", "5E", "4E"], + roar: ["9M", "9L32", "8L32", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + sandstorm: ["9M", "9L24", "8M", "8L24", "7M", "6M", "5M", "4M"], + sandtomb: ["9M", "9L12", "8M", "8L12", "7L25", "7E", "6L25", "6E", "5L25", "5E", "4L25", "4E"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M"], + slackoff: ["9L52", "8L52", "7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spitup: ["9E", "8E", "7E", "6E", "5E", "4E"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stockpile: ["9E", "8E", "7E", "6E", "5E", "5D", "4E"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "5D", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + swallow: ["9E", "8E", "7E", "6E", "5E", "4E"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L28", "8L28", "7L19", "6L19", "5L19", "4L19"], + terablast: ["9M"], + thunderfang: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + waterpulse: ["7T", "6T", "4M"], + weatherball: ["8M"], + whirlwind: ["9E", "8E", "7E", "6E", "5E"], + yawn: ["9L8", "8L8", "7L13", "6L13", "5L13", "4L13"], + }, + }, + hippowdon: { + learnset: { + amnesia: ["9M", "8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L20", "8M", "8L20", "7L31", "6L31", "5L31", "4L31"], + dig: ["9M", "9L16", "8M", "8L16", "7L19", "6M", "6L19", "5M", "5L19", "4M", "4L19"], + doubleedge: ["9L50", "8L50", "7L50", "6L50", "5L50", "4L50"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "8M", "7T", "6T", "5T", "4T"], + earthquake: ["9M", "9L44", "8M", "8L44", "7M", "7L40", "6M", "6L40", "5M", "5L40", "4M", "4L40"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + firefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + fissure: ["9L56", "8L56", "7L60", "6L60", "5L60", "4L60"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M"], + icefang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "9L38", "8M", "8L38", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], + roar: ["9M", "9L32", "8L32", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + sandstorm: ["9M", "9L24", "8M", "8L24", "7M", "6M", "5M", "4M"], + sandtomb: ["9M", "9L12", "8M", "8L12", "7L25", "6L25", "5L25", "4L25"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M"], + slackoff: ["9L62", "8L62"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + takedown: ["9M", "9L28", "8L28", "7L19", "6L19", "5L19", "4L19"], + terablast: ["9M"], + thunderfang: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + toxic: ["7M", "6M", "5M", "4M"], + waterpulse: ["7T", "6T", "4M"], + weatherball: ["8M"], + yawn: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + }, + }, + skorupi: { + learnset: { + acupressure: ["8L45", "7L13", "6L13", "5L17", "4L17"], + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["8M", "7E", "6E", "5E", "5D", "4E"], + aquatail: ["7T", "6T", "5T", "5D", "4T"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["8L12", "7L1", "6L1", "5L1", "5D", "4L1"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + bugbite: ["8L18", "7T", "7L20", "6T", "6L20", "5T", "5L34", "4T", "4L34"], + bugbuzz: ["8M"], + captivate: ["4M"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E", "4E"], + crosspoison: ["8M", "8L39", "7L49", "6L49", "5L61", "4L50"], + crunch: ["8M", "8L48", "7L45", "6L45", "5L56", "4L45"], + cut: ["6M", "5M", "4M"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + dig: ["8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M"], + feintattack: ["7E", "6E", "5E", "4E"], + fellstinger: ["8L6", "7L47", "6L47"], + flash: ["6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["8L3", "7L30", "6M", "6L30", "5M", "5L45"], + infestation: ["7M", "6M"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4M"], + knockoff: ["8L24", "7T", "7L5", "6T", "6L5", "5T", "5L6", "4T", "4L6"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightslash: ["8L36", "7L38", "7E", "6L38", "6E", "5L38", "5E", "4E"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pinmissile: ["8M", "8L30", "7L9", "6L9", "5L12", "4L12"], + poisonfang: ["8L9", "7L23", "6L23", "5L39", "4L39"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poisonsting: ["8L1", "7L1", "6L1", "5L1", "4L1"], + poisontail: ["7E", "6E", "5E"], + protect: ["8M", "7M", "6M", "5M", "4M"], + pursuit: ["7L16", "7E", "6L16", "6E", "5L16", "5E", "4E"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8E", "7E", "6E", "5E", "4E"], + scaryface: ["8M", "8L27", "7L41", "6L41", "5L23", "4L23"], + screech: ["8M", "7E", "6E", "5E", "4E"], + secretpower: ["6M", "4M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + skittersmack: ["8T"], + slash: ["8E", "7E", "6E", "5E", "4E"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + taunt: ["8M", "7M", "6M", "5M", "4M"], + thief: ["8M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["8L33", "7M", "6M", "5M", "4M"], + toxicspikes: ["8M", "8L15", "7L34", "6L34", "5L28", "4L28"], + twineedle: ["7E", "6E", "5E"], + venoshock: ["8M", "8L21", "7M", "7L27", "6M", "6L27", "5M", "5L50"], + whirlwind: ["8E", "7E", "6E", "5E", "4E"], + xscissor: ["8M", "8L42", "7M", "6M", "5M", "4M"], + }, + }, + drapion: { + learnset: { + acupressure: ["8L49", "7L13", "6L13", "5L17", "4L17"], + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["8M"], + aquatail: ["7T", "6T", "5T", "4T"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bite: ["8L12", "7L1", "6L1", "5L1", "4L1"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + brutalswing: ["8M", "7M"], + bugbite: ["8L18", "7T", "7L20", "6T", "6L20", "5T", "5L34", "4T", "4L34"], + bugbuzz: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crosspoison: ["8M", "8L39", "7L57", "6L57", "5L73", "4L58"], + crunch: ["8M", "8L54", "7L49", "6L49", "5L65", "4L49"], + cut: ["6M", "5M", "4M"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + dig: ["8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthquake: ["8M", "7M", "6M", "5M", "4M"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + falseswipe: ["8M", "7M", "6M", "5M", "4M"], + fellstinger: ["8L1", "7L53", "6L53"], + firefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + flash: ["6M", "5M", "4M"], + fling: ["8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["8L1", "7L30", "6M", "6L30", "5M", "5L48"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + icefang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + infestation: ["7M", "6M"], + irondefense: ["8M"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + knockoff: ["8L24", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + lashout: ["8T"], + leechlife: ["8M"], + leer: ["8L1", "7L1", "6L1", "5L1", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + nightslash: ["8L36", "7L38", "6L38", "5L38"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pinmissile: ["8M", "8L30", "7L9", "6L9", "5L12", "4L1"], + poisonfang: ["8L9", "7L23", "6L23", "5L39", "4L39"], + poisonjab: ["8M", "7M", "6M", "5M", "4M"], + poisonsting: ["8L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["8M", "7M", "6M", "5M", "4M"], + pursuit: ["7L16", "6L16", "5L16"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandtomb: ["8M"], + scaryface: ["8M", "8L27", "7L43", "6L43", "5L23", "4L23"], + screech: ["8M"], + secretpower: ["6M", "4M"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["8M", "7M", "6M", "5M", "4M"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M", "4M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swordsdance: ["8M", "7M", "6M", "5M", "4M"], + taunt: ["8M", "7M", "6M", "5M", "4M"], + thief: ["8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + thunderfang: ["8M", "8L1", "7L1", "6L1", "5L1", "4L1"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["8L33", "7M", "6M", "5M", "4M"], + toxicspikes: ["8M", "8L15", "7L34", "6L34", "5L28", "4L28"], + venomdrench: ["8M"], + venoshock: ["8M", "8L21", "7M", "7L27", "6M", "6L27", "5M", "5L56"], + xscissor: ["8M", "8L44", "7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 4, level: 22, pokeball: "safariball"}, + {generation: 6, level: 30}, + ], + }, + croagunk: { + learnset: { + acidspray: ["9M"], + acupressure: ["7E", "6E", "5E"], + aerialace: ["9M"], + assurance: ["8M"], + astonish: ["9L4", "8L4", "7L1", "6L1", "5L1", "5S0", "4L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + batonpass: ["9M", "8M"], + belch: ["9L48", "8L48", "7L47", "6L47"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletpunch: ["9E", "8E", "7E", "6E", "5E", "4E"], + captivate: ["4M"], + chillingwater: ["9M"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + crosschop: ["9E", "8E", "7E", "6E", "5E", "4E"], + darkpulse: ["8M", "7M", "6M", "5T", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + dualchop: ["7T", "6T", "5T"], + dynamicpunch: ["9E", "8E", "7E", "6E", "5E", "4E"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fakeout: ["9E", "8E", "7E", "6E", "5E", "4E"], + feint: ["9E", "8E", "7E", "6E", "5E", "4E"], + feintattack: ["7L17", "6L17", "5L17", "4L17"], + flatter: ["9L12", "8L12", "7L50", "6L50", "5L50", "4L45"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "5D", "4T"], + headbutt: ["9E", "8E", "7E", "6E", "5E", "4T", "4E"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], + lowkick: ["9M", "9L16", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + meditate: ["7E", "6E", "5E", "4E"], + mefirst: ["7E", "6E", "5E", "4E"], + megakick: ["8M"], + megapunch: ["8M"], + mudbomb: ["7L29", "6L29", "5L29", "4L29"], + mudshot: ["9M"], + mudslap: ["9M", "9L1", "8L1", "7L3", "6L3", "5L3", "5S0", "5S1", "4T", "4L3"], + nastyplot: ["9M", "9L40", "8M", "8L40", "7L38", "6L38", "5L38", "4L36"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "9L32", "8M", "8L32", "7M", "7L43", "6M", "6L43", "5M", "5L43", "5S1", "4M", "4L38"], + poisonsting: ["9L1", "8L1", "7L8", "6L8", "5L8", "5D", "5S0", "5S1", "4L8"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + pursuit: ["7L15", "6L15", "5L15", "4L15"], + quickguard: ["9E", "8E", "7E", "6E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M", "8L16", "7L22", "6L22", "5L22", "4L22"], + reversal: ["9M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "9L44", "8M", "8L44", "7M", "7L45", "6M", "6L45", "5M", "5L45", "4M", "4L43"], + sludgewave: ["8M", "7M", "6M", "5M"], + smellingsalts: ["7E", "6E", "5E", "4E"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L24", "8L24", "7L31", "6L31", "5L31", "4T", "4L31"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + swagger: ["9L28", "8L28", "7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], + takedown: ["9M"], + taunt: ["9M", "9L8", "8M", "8L8", "7M", "7L10", "6M", "6L10", "5M", "5L10", "5S0", "5S1", "4M", "4L10"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["9M", "9L36", "8L36", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "9E", "8E", "7E", "6E", "5E", "4T", "4E"], + venomdrench: ["8M"], + venoshock: ["9M", "9L20", "8M", "8L20", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + wakeupslap: ["7E", "6E", "5E", "4E"], + workup: ["8M", "7M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["astonish", "mudslap", "poisonsting", "taunt"]}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["mudslap", "poisonsting", "taunt", "poisonjab"]}, + ], + }, + toxicroak: { + learnset: { + acidspray: ["9M"], + aerialace: ["9M"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + attract: ["8M", "7M", "6M", "5M", "4M"], + batonpass: ["9M", "8M"], + belch: ["9L54", "8L54", "7L58", "6L58"], + bounce: ["8M", "7T", "6T", "5T", "4T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["4M"], + chillingwater: ["9M"], + closecombat: ["9M"], + coaching: ["8T"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + crosspoison: ["8M"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + feintattack: ["7L17", "6L17", "5L17", "4L17"], + flatter: ["9L12", "8L12", "7L62", "6L62", "5L62", "4L54"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gunkshot: ["9M", "8M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], + lowkick: ["9M", "9L16", "8M", "7T", "6T", "5T", "4T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + mudbomb: ["7L29", "6L29", "5L29", "4L29"], + mudshot: ["9M"], + mudslap: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1", "4T", "4L1"], + nastyplot: ["9M", "9L42", "8M", "8L42", "7L41", "6L41", "5L41", "4L36"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + poisonjab: ["9M", "9L32", "8M", "8L32", "7M", "7L49", "6M", "6L49", "5M", "5L49", "4M", "4L41"], + poisonsting: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + pursuit: ["7L15", "6L15", "5L15", "4L15"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M", "8L16", "7L22", "6L22", "5L22", "4L22"], + reversal: ["9M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + screech: ["8M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "9L48", "8M", "8L48", "7M", "7L54", "6M", "6L54", "5M", "5L54", "4M", "4L49"], + sludgewave: ["8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L24", "8L24", "7L31", "6L31", "5L31", "4T", "4L31"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + swagger: ["9L28", "8L28", "7M", "7L24", "6M", "6L24", "5M", "5L24", "4M", "4L24"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L10", "6M", "6L10", "5M", "5L10", "4M", "4L10"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["9M", "9L36", "8L36", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "4T"], + venomdrench: ["8M"], + venoshock: ["9M", "9L20", "8M", "8L20", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + workup: ["8M", "7M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + encounters: [ + {generation: 4, level: 22, pokeball: "safariball"}, + {generation: 6, level: 30}, + ], + }, + carnivine: { + learnset: { + acidspray: ["7E"], + attract: ["7M", "6M", "5M", "4M"], + bind: ["7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1"], + bite: ["7L7", "6L7", "5L7", "5D", "4L7"], + bugbite: ["7T", "6T", "5T", "4T"], + bulletseed: ["4M"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["7L41", "6L41", "5L41", "4L37"], + cut: ["6M", "5M", "4M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["4M"], + energyball: ["7M", "6M", "5M", "4M"], + facade: ["7M", "6M", "5M", "4M"], + feintattack: ["7L27", "6L27", "5L27", "4L27"], + flash: ["6M", "5M", "4M"], + fling: ["7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gastroacid: ["7T", "6T", "5T", "5D", "4T"], + gigadrain: ["7T", "7E", "6T", "6E", "5T", "5E", "4M"], + gigaimpact: ["7M", "6M", "5M", "4M"], + grassknot: ["7M", "6M", "5M", "4M"], + grasswhistle: ["7E", "6E", "5E"], + growth: ["7L1", "6L1", "5L1", "4L1"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["7M", "6M", "5M", "4M"], + infestation: ["7M", "6M"], + ingrain: ["7L21", "6L21", "5L21", "4L21"], + knockoff: ["7T", "6T", "5T", "4T"], + leaftornado: ["7L31", "6L31", "5L31"], + leechseed: ["7E", "6E", "5E", "4E"], + magicalleaf: ["7E", "6E", "5E", "4E"], + mudslap: ["4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M", "5M", "4M"], + powerwhip: ["7L50", "6L50", "5L51", "4L47"], + protect: ["7M", "6M", "5M", "4M"], + ragepowder: ["7E", "6E", "5E", "5D"], + razorleaf: ["7E", "6E", "5E", "4E"], + rest: ["7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + seedbomb: ["7T", "6T", "5T", "4T"], + slam: ["7E", "6E", "5E", "4E"], + sleeppowder: ["7E", "6E", "5E", "4E"], + sleeptalk: ["7M", "6M", "5T", "4M"], + sludgebomb: ["7M", "6M", "5M", "4M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["7M", "6M", "5M", "4M"], + spitup: ["7L37", "6L37", "5L37", "4L31"], + stockpile: ["7L37", "6L37", "5L37", "4L31"], + stunspore: ["7E", "6E", "5E", "4E"], + substitute: ["7M", "6M", "5M", "4M"], + sunnyday: ["7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swallow: ["7L37", "6L37", "5L37", "4L31"], + sweetscent: ["7L17", "6L17", "5L17", "4L17"], + swordsdance: ["7M", "6M", "5M", "4M"], + synthesis: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + thief: ["7M", "6M", "5M", "4M"], + throatchop: ["7T"], + toxic: ["7M", "6M", "5M", "4M"], + vinewhip: ["7L11", "6L11", "5L11", "4L11"], + worryseed: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + wringout: ["7L47", "6L47", "5L47", "4L41"], + }, + }, + finneon: { + learnset: { + acrobatics: ["9M"], + agility: ["9M", "9E", "7E", "6E", "5E", "4E"], + aircutter: ["4T"], + aquaring: ["9L33", "7L33", "6L33", "5L33", "4L33"], + aquatail: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + attract: ["9L26", "7M", "7L10", "6M", "6L10", "5M", "5L10", "5D", "4M", "4L10"], + aurorabeam: ["9E", "7E", "6E", "5E"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bounce: ["9L45", "7T", "7L45", "6T", "6L45", "5T", "5L45", "4T", "4L45"], + brine: ["7E", "6E", "5E", "4M"], + captivate: ["7L26", "6L26", "5L26", "4M", "4L26"], + charm: ["9M", "9E", "7E", "6E", "5E", "4E"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9E", "7E"], + dazzlinggleam: ["9M"], + defog: ["7T", "4M"], + dive: ["6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + flail: ["9E", "7E", "6E", "5E", "4E"], + flash: ["6M", "5M", "4M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + gust: ["9L17", "7L17", "6L17", "5L17", "4L17"], + hail: ["7M", "6M", "5M", "4M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["9M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + ominouswind: ["4T"], + payback: ["7M", "6M", "5M", "4M"], + pound: ["9L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psybeam: ["9M", "9E", "7E", "6E", "5E", "4E"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["9L29", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L29"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + signalbeam: ["7T", "7E", "6T", "6E", "5T", "5E"], + silverwind: ["7L49", "6L49", "5L49", "4M", "4L49"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + soak: ["9L54", "7L54", "6L54", "5L54"], + splash: ["7E", "6E", "5E", "4E"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + sweetkiss: ["9E", "7E", "6E", "5E", "5D", "4E"], + swift: ["9M", "4T"], + tailwind: ["9M", "9L49", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + tickle: ["9E", "7E", "6E", "5E", "4E"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uturn: ["9M", "9L42", "7M", "7L42", "6M", "6L42", "5M", "5L42", "4M", "4L42"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L6", "7L6", "6L6", "5L6", "4L6"], + waterpulse: ["9M", "9L22", "7T", "7L22", "6T", "6L22", "5L22", "5D", "4M", "4L22"], + whirlpool: ["9L38", "7L38", "6L38", "5L38", "4M", "4L38"], + }, + }, + lumineon: { + learnset: { + acrobatics: ["9M"], + agility: ["9M"], + aircutter: ["9M", "4T"], + airslash: ["9M"], + aquaring: ["9L35", "7L35", "6L35", "5L35", "4L35"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["9L26", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bounce: ["9L53", "7T", "7L53", "6T", "6L53", "5T", "5L53", "4T", "4L53"], + brine: ["4M"], + captivate: ["7L26", "6L26", "5L26", "4M", "4L26"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + dazzlinggleam: ["9M"], + defog: ["7T", "4M"], + dive: ["6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + encore: ["9M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + gust: ["9L1", "7L1", "6L1", "5L17", "4L17"], + hail: ["7M", "6M", "5M", "4M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + payback: ["7M", "6M", "5M", "4M"], + pound: ["9L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psybeam: ["9M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "9L13", "7M", "7L13", "6M", "6L13", "5M", "5L13", "4M", "4L13"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["9L29", "7M", "7L29", "6M", "6L29", "5M", "5L29", "4M", "4L29"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M", "4M"], + signalbeam: ["7T", "6T", "5T"], + silverwind: ["7L59", "6L59", "5L59", "4M", "4L59"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + soak: ["9L1", "7L1", "6L1", "5L66"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + tailwind: ["9M", "9L59", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + uturn: ["9M", "9L48", "7M", "7L48", "6M", "6L48", "5M", "5L48", "4M", "4L48"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L1", "7L1", "6L1", "5L1", "4L1"], + waterpulse: ["9M", "9L22", "7T", "7L22", "6T", "6L22", "5L22", "4M", "4L22"], + whirlpool: ["9L42", "7L42", "6L42", "5L42", "4M", "4L42"], + }, + encounters: [ + {generation: 4, level: 20}, + ], + }, + snover: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M"], + avalanche: ["9M", "8M", "7E", "6E", "5E", "5D", "4M"], + blizzard: ["9M", "9L45", "8M", "8L45", "7M", "7L41", "6M", "6L41", "5M", "5L41", "4M", "4L41"], + bodyslam: ["9M"], + bulletseed: ["9M", "8M", "7E", "6E", "5E", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + doubleedge: ["9E", "8E", "7E", "6E", "5E", "4E"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "5D", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7L13", "6L13", "5L13", "4L13"], + grassyglide: ["9M", "8T"], + growth: ["9E", "8E", "7E", "6E", "5E", "4E"], + hail: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + iceshard: ["9L15", "8L15", "7L26", "6L26", "5L26", "4L26"], + icespinner: ["9M"], + iciclespear: ["9M"], + icywind: ["9M", "9L25", "8M", "8L25", "7T", "7L9", "6T", "6L9", "5T", "5L9", "4T", "4L9"], + ingrain: ["9L35", "8L35", "7L31", "6L31", "5L31", "4L31"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + leafage: ["9L5", "8L5"], + leafstorm: ["9M"], + leechseed: ["9E", "8E", "7E", "6E", "5E", "4E"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M"], + magicalleaf: ["9M", "8M", "7E", "6E", "5E", "4E"], + megapunch: ["8M"], + mist: ["9L10", "8L10", "7L21", "7E", "6L21", "6E", "5L21", "5E", "4L21", "4E"], + mudslap: ["9M", "4T"], + naturalgift: ["7E", "6E", "5E", "4M"], + powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + razorleaf: ["9L20", "8L20", "7L5", "6L5", "5L5", "5D", "4L5"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + sheercold: ["9L50", "8L50", "7L46", "6L46", "5L46", "4L46"], + skullbash: ["8E", "7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + stomp: ["9E", "8E", "7E", "6E", "5E", "4E"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["9L30", "8L30", "7M", "7L17", "6M", "6L17", "5M", "5L17", "4M", "4L17"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + waterpulse: ["9M", "7T", "6T", "4M"], + weatherball: ["9M", "9E", "8M"], + woodhammer: ["9L41", "8L41", "7L36", "6L36", "5L36", "4L36"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + }, + abomasnow: { + learnset: { + attract: ["8M", "7M", "6M", "5M", "4M"], + auroraveil: ["9L1", "8L1"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "9L49", "8M", "8L49", "7M", "7L47", "6M", "6L47", "5M", "5L47", "4M", "4L47"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + bulletseed: ["9M", "8M", "4M"], + captivate: ["4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + grasswhistle: ["7L13", "6L13", "5L13", "4L13"], + grassyglide: ["9M", "8T"], + hail: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "9L0", "8M", "8L0", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + iceshard: ["9L15", "8L15", "7L26", "6L26", "5L26", "4L26"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L25", "8M", "8L25", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + ingrain: ["9L35", "8L35", "7L31", "6L31", "5L31", "4L31"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + leafage: ["9L1", "8L1"], + leafstorm: ["9M", "8M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + lightscreen: ["8M", "7M", "6M", "5M", "4M"], + lowkick: ["9M"], + magicalleaf: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + mist: ["9L1", "8L1", "7L21", "6L21", "5L21", "4L21"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + razorleaf: ["9L20", "8L20", "7L1", "6L1", "5L1", "4L1"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T", "4T"], + shadowball: ["8M", "7M", "6M", "5M", "4M"], + sheercold: ["9L56", "8L56", "7L58", "6L58", "5L58", "4L58"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + stompingtantrum: ["9M", "8M", "7T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["9L30", "8L30", "7M", "7L17", "6M", "6L17", "5M", "5L17", "4M", "4L17"], + swordsdance: ["9M", "8M", "7M", "6M", "5M", "4M"], + synthesis: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + waterpulse: ["9M", "7T", "6T", "4M"], + weatherball: ["9M", "8M"], + woodhammer: ["9L43", "8L43", "7L36", "6L36", "5L36", "4L36"], + worryseed: ["7T", "6T", "5T", "4T"], + }, + encounters: [ + {generation: 4, level: 38}, + ], + }, + rotom: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L1", "6L1", "6S1", "5L1", "5S0", "4L1"], + charge: ["9M", "9L15", "8L15", "7L1", "6L1", "5L57", "4L43"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "7S2", "6M"], + confuseray: ["9M", "9L10", "8L10", "7L1", "6L1", "5L1", "4L1"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defog: ["7T"], + disarmingvoice: ["7S2"], + discharge: ["9L50", "8L50", "7L1", "6L1", "5L64", "4L50"], + doubleteam: ["9L1", "8L1", "7M", "7L15", "6M", "6L15", "5M", "5L15", "4M", "4L15"], + dreameater: ["7M", "6M", "5M", "4M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "9L20", "8M", "8L20", "7L43", "6L43", "5L43"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + foulplay: ["9M", "8M", "7T", "6T"], + frustration: ["7M", "6M", "5M", "4M"], + helpinghand: ["9M", "8M"], + hex: ["9M", "9L35", "8M", "8L35", "7L50", "6L50", "5L50"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + mudslap: ["4T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["7L29", "6L29", "5L29", "4T", "4L29"], + painsplit: ["7T", "6T", "5T", "4T"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + risingvoltage: ["8T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["9L30", "8L30", "7T", "7L22", "6T", "6L22", "6S1", "5L22", "5D", "4M", "4L22"], + signalbeam: ["7T", "6T", "5T", "5D", "4T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "9L40", "8M", "8L40", "7M", "7L36", "6M", "6L36", "5M", "5L36", "4M", "4L36"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thundershock: ["9L5", "8L5", "7L1", "6L1", "5T", "5L1", "5S0", "4T", "4L1"], + thunderwave: ["9M", "9L25", "8M", "8L25", "7M", "7L1", "6M", "6L1", "6S1", "5M", "5L1", "5D", "4M", "4L1"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "9L45", "8M", "8L45", "7T", "7L1", "6T", "6L1", "6S1", "5T", "5L1", "5S0", "4T", "4L1"], + uproar: ["9M", "9L55", "8M", "8L55", "7T", "7L8", "7S2", "6T", "6L8", "5T", "5L8", "5S0", "4T", "4L8"], + voltswitch: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 5, level: 10, nature: "Naughty", moves: ["uproar", "astonish", "trick", "thundershock"], pokeball: "cherishball"}, + {generation: 6, level: 10, nature: "Quirky", moves: ["shockwave", "astonish", "trick", "thunderwave"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["uproar", "confide", "disarmingvoice"], pokeball: "cherishball"}, + ], + }, + rotomheat: { + learnset: { + overheat: ["9L1", "8L1", "7R", "6R", "5R", "4R"], + }, + }, + rotomwash: { + learnset: { + hydropump: ["9L1", "8L1", "7R", "6R", "5R", "4R"], + }, + }, + rotomfrost: { + learnset: { + blizzard: ["9L1", "8L1", "7R", "6R", "5R", "4R"], + }, + }, + rotomfan: { + learnset: { + airslash: ["9L1", "8L1", "7R", "6R", "5R", "4R"], + }, + }, + rotommow: { + learnset: { + leafstorm: ["9L1", "8L1", "7R", "6R", "5R", "4R"], + }, + }, + uxie: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + allyswitch: ["9L1", "8M", "7T"], + amnesia: ["9M", "9L42", "8M", "8L42", "7L46", "7S4", "6L46", "6S3", "5L46", "5S2", "4L46", "4S0", "4S1"], + batonpass: ["9M", "8M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "4S0"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M"], + dreameater: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "9L14", "8M", "8L14", "7L16", "6L16", "5L16", "4M", "4L16"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["9L1", "8T"], + extrasensory: ["9L35", "8L35", "7L50", "7S4", "6L50", "6S3", "5L51", "5S2", "4L51"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + flail: ["9L70", "8L70", "7L1", "6L1", "5L61", "5S2", "4L61"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["9L63", "8M", "8L63", "8S5", "7L36", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], + gigadrain: ["9M", "8M", "7T", "6T", "5T", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "9L28", "8M", "8L28", "7L6", "6L6", "5L6", "4L6"], + irontail: ["9L1", "8M", "7T", "6T", "5T", "4M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["9L1", "8M", "8S5", "7T", "6T", "5T"], + memento: ["9L77", "8L77", "7L1", "6L1", "5L76", "4L76"], + metronome: ["9M", "8M"], + mudslap: ["9M", "4T"], + mysticalpower: ["9L84"], + nastyplot: ["9M", "8M"], + naturalgift: ["7L1", "6L1", "5L66", "4M", "4L66"], + playrough: ["9M", "8M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M", "9L21", "8L21"], + psychic: ["9M", "9L49", "8M", "8L49", "8S5", "7M", "6M", "5M", "4M"], + psychocut: ["9L1", "8M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + return: ["7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["9L1", "8M", "7M", "6M", "5M"], + safeguard: ["9L1", "8M", "7M", "6M", "5M", "4M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "8S5", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["9L1", "8M", "7T", "6T", "5T", "4T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L7", "8M", "8L7", "7L21", "7S4", "6L21", "5L21", "4T", "4L21", "4S1"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + triattack: ["9L1", "8M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M"], + wonderroom: ["9L1", "8M", "7T", "6T", "5T"], + yawn: ["9L56", "8L56", "7L31", "7S4", "6L31", "6S3", "5L31", "4L31", "4S0", "4S1"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["confusion", "yawn", "futuresight", "amnesia"]}, + {generation: 4, level: 50, shiny: 1, moves: ["swift", "yawn", "futuresight", "amnesia"]}, + {generation: 5, level: 65, shiny: 1, moves: ["futuresight", "amnesia", "extrasensory", "flail"]}, + {generation: 6, level: 50, shiny: 1, moves: ["yawn", "futuresight", "amnesia", "extrasensory"]}, + {generation: 7, level: 60, shiny: 1, moves: ["extrasensory", "yawn", "amnesia", "swift"]}, + {generation: 8, level: 70, shiny: 1, moves: ["psychic", "futuresight", "magicroom", "shadowball"]}, + ], + eventOnly: true, + }, + mesprit: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + allyswitch: ["9L1", "8M", "7T"], + batonpass: ["9M", "8M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L42", "8M", "8L42", "8S5", "7L46", "7S4", "6L46", "6S3", "5L46", "5S2", "4L46", "4S0", "4S1"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "4S0"], + copycat: ["9L70", "8L70", "7L1", "6L1", "5L61", "5S2", "4L61"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainingkiss: ["9M", "8M", "8S5"], + drainpunch: ["9M", "8M"], + dreameater: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["9L1", "8T"], + extrasensory: ["9L35", "8L35", "7L50", "7S4", "6L50", "6S3", "5L51", "5S2", "4L51"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + flash: ["6M", "5M", "4M"], + flatter: ["9L56", "8L56"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["9L63", "8M", "8L63", "7L36", "7S4", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healingwish: ["9L77", "8L77", "7L1", "6L1", "5L76", "4L76"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "9L28", "8M", "8L28", "7L6", "6L6", "5L6", "4L6"], + irontail: ["9L1", "8M", "7T", "6T", "5T", "4M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + luckychant: ["7L31", "6L31", "6S3", "5L31", "4L31", "4S0", "4S1"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["9L1", "8M", "7T", "6T", "5T"], + metronome: ["9M", "8M"], + mudslap: ["4T"], + mysticalpower: ["9L84"], + nastyplot: ["9M", "8M"], + naturalgift: ["7L1", "6L1", "5L66", "4M", "4L66"], + playrough: ["9M", "8M"], + poweruppunch: ["6M"], + protect: ["9M", "9L14", "8M", "8L14", "7M", "7L16", "6M", "6L16", "5M", "5L16", "4M", "4L16"], + psybeam: ["9M", "9L21", "8L21"], + psychic: ["9M", "9L49", "8M", "8L49", "8S5", "7M", "6M", "5M", "4M"], + psychocut: ["9L1", "8M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + return: ["7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["9L1", "8M", "7M", "6M", "5M"], + safeguard: ["9L1", "8M", "7M", "6M", "5M", "4M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["9L1", "8M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L7", "8M", "8L7", "7L21", "7S4", "6L21", "5L21", "4T", "4L21", "4S1"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + triattack: ["9L1", "8M", "8S5"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M"], + wonderroom: ["9L1", "8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["confusion", "luckychant", "futuresight", "charm"]}, + {generation: 4, level: 50, shiny: 1, moves: ["swift", "luckychant", "futuresight", "charm"]}, + {generation: 5, level: 50, shiny: 1, moves: ["futuresight", "charm", "extrasensory", "copycat"]}, + {generation: 6, level: 50, shiny: 1, moves: ["luckychant", "futuresight", "charm", "extrasensory"]}, + {generation: 7, level: 60, shiny: 1, moves: ["extrasensory", "charm", "futuresight", "swift"]}, + {generation: 8, level: 70, shiny: 1, moves: ["psychic", "charm", "drainingkiss", "triattack"]}, + ], + eventOnly: true, + }, + azelf: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + allyswitch: ["9L1", "8M", "7T"], + assurance: ["9L1", "8M"], + batonpass: ["9M", "8M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1", "4S0"], + dazzlinggleam: ["9M", "8M", "8S5", "7M", "6M"], + detect: ["9L14", "8L14", "7L16", "6L16", "5L16", "4L16"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M"], + dreameater: ["7M", "6M", "5M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + expandingforce: ["9L1", "8T"], + explosion: ["9L77", "8L77", "7M", "7L76", "6M", "6L76", "5M", "5L76", "4M", "4L76"], + extrasensory: ["9L35", "8L35", "7L50", "7S4", "6L50", "6S3", "5L51", "5S2", "4L51"], + facade: ["9M", "8M", "8S5", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + futuresight: ["9L63", "8M", "8L63", "7L36", "6L36", "6S3", "5L36", "5S2", "4L36", "4S0", "4S1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + imprison: ["9M", "9L28", "8M", "8L28", "7L6", "6L6", "5L6", "4L6"], + incinerate: ["6M", "5M"], + irontail: ["9L1", "8M", "7T", "6T", "5T", "4M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lastresort: ["9L70", "8L70", "7T", "7L1", "6T", "6L1", "5T", "5L61", "5S2", "4T", "4L61"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["9L1", "8M", "7T", "6T", "5T"], + metronome: ["9M", "8M"], + mudslap: ["9M", "4T"], + mysticalpower: ["9L84"], + nastyplot: ["9M", "9L42", "8M", "8L42", "8S5", "7L46", "7S4", "6L46", "6S3", "5L46", "5S2", "4L46", "4S0", "4S1"], + naturalgift: ["7L1", "6L1", "5L66", "4M", "4L66"], + payback: ["9L1", "8M", "7M", "6M", "5M", "4M"], + playrough: ["9M", "8M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M", "9L21", "8L21"], + psychic: ["9M", "9L49", "8M", "8L49", "8S5", "7M", "6M", "5M", "4M"], + psychocut: ["9L1", "8M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + return: ["7M", "6M", "5M", "4M"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["9L1", "8M", "7M", "6M", "5M"], + safeguard: ["9L1", "8M", "7M", "6M", "5M", "4M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + selfdestruct: ["9L1", "8M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["9L1", "8M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "9L7", "8M", "8L7", "7L21", "7S4", "6L21", "5L21", "4T", "4L21", "4S1"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + triattack: ["9L1", "8M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + uproar: ["9M", "9L56", "8M", "8L56", "7T", "7L31", "7S4", "6T", "6L31", "6S3", "5T", "5L31", "4T", "4L31", "4S0", "4S1"], + uturn: ["9M", "8M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M"], + wonderroom: ["9L1", "8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["confusion", "uproar", "futuresight", "nastyplot"]}, + {generation: 4, level: 50, shiny: 1, moves: ["swift", "uproar", "futuresight", "nastyplot"]}, + {generation: 5, level: 50, shiny: 1, moves: ["futuresight", "nastyplot", "extrasensory", "lastresort"]}, + {generation: 6, level: 50, shiny: 1, moves: ["uproar", "futuresight", "nastyplot", "extrasensory"]}, + {generation: 7, level: 60, shiny: 1, moves: ["extrasensory", "nastyplot", "uproar", "swift"]}, + {generation: 8, level: 70, shiny: 1, moves: ["psychic", "dazzlinggleam", "nastyplot", "facade"]}, + ], + eventOnly: true, + }, + dialga: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + ancientpower: ["9L16", "8L16", "8S11", "7L10", "6L10", "5L10", "4T", "4L10", "4S0"], + aurasphere: ["9M", "9L48", "8M", "8L48", "7L37", "7S7", "7S8", "7S9", "7S10", "6L37", "6S5", "5L37", "5S4", "4L37"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dracometeor: ["9M", "9S13", "8T", "7T", "7S9", "7S10", "6T", "5T", "5S4", "4T"], + dragonbreath: ["9L8", "8L8", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], + dragonclaw: ["9M", "9L40", "8M", "8L40", "8S11", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28", "4S0"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "5S4", "4M"], + dragontail: ["9M", "7M", "6M", "5M"], + earthpower: ["9M", "9L72", "9S13", "8M", "8L72", "7T", "7L33", "6T", "6L33", "5T", "5L33", "4T", "4L33", "4S1"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "9S13", "8M", "7M", "6M", "5M", "4M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + flashcannon: ["9M", "9L32", "8M", "8L32", "8S12", "8S11", "7M", "7L50", "7S7", "7S8", "7S9", "7S10", "6M", "6L50", "6S5", "6S6", "5M", "5L50", "4M", "4L42"], + focusblast: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + healblock: ["4L50", "4S1"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "5T", "4T"], + irontail: ["9L80", "8M", "8L80", "7T", "7L42", "7S7", "7S8", "6T", "6L42", "6S5", "5T", "5L42", "4M"], + magnetrise: ["7T", "6T", "5T", "4T"], + metalburst: ["9L64", "8L64", "8S12", "7L24", "6L24", "6S6", "5L24", "4L24"], + metalclaw: ["9M", "9L1", "8L1", "7L6", "6L6", "5L6", "4L6", "4S0"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + overheat: ["9M", "8M", "8S12", "7M", "6M", "6S6", "5M", "4M"], + powergem: ["9M", "9L56", "8M", "8L56", "7L19", "6L19", "5L19", "4L19"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + roaroftime: ["9L88", "8L88", "8S12", "7L46", "7S7", "7S8", "7S9", "7S10", "6L46", "6S5", "6S6", "5L46", "5S4", "4L40", "4S0", "4S1"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + slash: ["9L24", "8L24", "8S11", "7L15", "6L15", "5L15", "4L15", "4S1"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "9S13", "8T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + twister: ["4T"], + }, + eventData: [ + {generation: 4, level: 47, shiny: 1, moves: ["metalclaw", "ancientpower", "dragonclaw", "roaroftime"]}, + {generation: 4, level: 70, shiny: 1, moves: ["roaroftime", "healblock", "earthpower", "slash"]}, + {generation: 4, level: 1, shiny: 1, moves: ["dragonbreath", "scaryface"]}, + {generation: 5, level: 5, isHidden: true, moves: ["dragonbreath", "scaryface"], pokeball: "dreamball"}, + {generation: 5, level: 100, shiny: true, moves: ["dragonpulse", "dracometeor", "aurasphere", "roaroftime"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["aurasphere", "irontail", "roaroftime", "flashcannon"]}, + {generation: 6, level: 100, nature: "Modest", isHidden: true, moves: ["metalburst", "overheat", "roaroftime", "flashcannon"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["aurasphere", "irontail", "roaroftime", "flashcannon"]}, + {generation: 7, level: 60, moves: ["aurasphere", "irontail", "roaroftime", "flashcannon"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["roaroftime", "aurasphere", "dracometeor", "flashcannon"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["flashcannon", "dracometeor", "roaroftime", "aurasphere"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["slash", "ancientpower", "flashcannon", "dragonclaw"]}, + {generation: 8, level: 70, nature: "Bold", isHidden: true, moves: ["roaroftime", "flashcannon", "metalburst", "overheat"], pokeball: "cherishball"}, + {generation: 9, level: 75, nature: "Quiet", isHidden: true, perfectIVs: 4, moves: ["dracometeor", "earthpower", "fireblast", "steelbeam"]}, + ], + eventOnly: true, + }, + dialgaorigin: { + eventOnly: true, + }, + palkia: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M", "4M"], + ancientpower: ["9L16", "8L16", "8S11", "7L10", "6L10", "5L10", "4T", "4L10", "4S0"], + aquaring: ["9L32", "8L32", "7L24"], + aquatail: ["9L64", "8L64", "7T", "7L24", "7S7", "7S8", "6T", "6L24", "5T", "5L24", "4T", "4L24"], + aurasphere: ["9M", "9L48", "8M", "8L48", "8S12", "7L37", "7S7", "7S8", "7S9", "7S10", "6L37", "6S5", "6S6", "5L37", "5S4", "4L37"], + avalanche: ["9M", "8M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M", "4M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + brine: ["8M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + cut: ["6M", "5M", "4M"], + dive: ["8M", "6M", "5M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + dracometeor: ["9M", "9S13", "8T", "7T", "7S9", "7S10", "6T", "5T", "5S4", "4T"], + dragonbreath: ["9L8", "8L8", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], + dragonclaw: ["9M", "8M", "8L40", "8S11", "7M", "7L28", "6M", "6L28", "5M", "5L28", "4M", "4L28", "4S0"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + dragontail: ["9M", "7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "9L72", "8M", "8L72", "8S12", "7T", "7L33", "6T", "6L33", "6S5", "6S6", "5T", "5L33", "4T", "4L33", "4S1"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "9S13", "8M", "7M", "6M", "5M", "4M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + hail: ["8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healblock: ["4L50", "4S1"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hydropump: ["9M", "9L88", "9S13", "8M", "8L88", "8S12", "7L50", "7S7", "7S8", "7S9", "7S10", "6L50", "6S5", "6S6", "5L50", "5S4", "4L42"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icywind: ["9M"], + incinerate: ["6M", "5M"], + liquidation: ["9M", "8M", "7T"], + mudslap: ["4T"], + naturalgift: ["4M"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + powergem: ["9M", "9L56", "8M", "8L56", "7L19", "6L19", "5L19", "4L19"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], + secretpower: ["6M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + slash: ["9L24", "8L24", "8S11", "7L15", "6L15", "5L15", "4L15", "4S1"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + snowscape: ["9M"], + spacialrend: ["9L80", "8L80", "8S12", "7L46", "7S7", "7S8", "7S9", "7S10", "6L46", "6S5", "6S6", "5L46", "5S4", "4L40", "4S0", "4S1"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + surf: ["9M", "8M", "8S11", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "9S13", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + twister: ["4T"], + waterfall: ["9M"], + waterpulse: ["9M", "9L1", "8L1", "7T", "7L6", "6T", "6L6", "5L6", "4M", "4L6", "4S0"], + whirlpool: ["8M", "4M"], + }, + eventData: [ + {generation: 4, level: 47, shiny: 1, moves: ["waterpulse", "ancientpower", "dragonclaw", "spacialrend"]}, + {generation: 4, level: 70, shiny: 1, moves: ["spacialrend", "healblock", "earthpower", "slash"]}, + {generation: 4, level: 1, shiny: 1, moves: ["dragonbreath", "scaryface"]}, + {generation: 5, level: 5, isHidden: true, moves: ["dragonbreath", "scaryface"], pokeball: "dreamball"}, + {generation: 5, level: 100, shiny: true, moves: ["hydropump", "dracometeor", "spacialrend", "aurasphere"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["earthpower", "aurasphere", "spacialrend", "hydropump"]}, + {generation: 6, level: 100, nature: "Timid", isHidden: true, moves: ["earthpower", "aurasphere", "spacialrend", "hydropump"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["aurasphere", "aquatail", "spacialrend", "hydropump"]}, + {generation: 7, level: 60, moves: ["aurasphere", "aquatail", "spacialrend", "hydropump"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["spacialrend", "aurasphere", "dracometeor", "hydropump"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["hydropump", "dracometeor", "spacialrend", "aurasphere"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["slash", "surf", "ancientpower", "dragonclaw"]}, + {generation: 8, level: 70, nature: "Hasty", isHidden: true, moves: ["spacialrend", "hydropump", "aurasphere", "earthpower"], pokeball: "cherishball"}, + {generation: 9, level: 75, nature: "Modest", isHidden: true, perfectIVs: 4, moves: ["dracometeor", "thunder", "fireblast", "hydropump"]}, + ], + eventOnly: true, + }, + palkiaorigin: { + eventOnly: true, + }, + heatran: { + learnset: { + ancientpower: ["9L12", "8L12", "7L1", "6L1", "5L1", "4T", "4L1", "4S2"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bugbite: ["7T", "6T", "5T", "4T"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + burningjealousy: ["9M", "8T"], + captivate: ["4M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L36", "8M", "8L36", "8S8", "7L33", "7S5", "7S6", "6L33", "6S4", "5L33", "4L33", "4S1"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["7M", "6M", "5M", "4M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "4M"], + earthpower: ["9M", "9L54", "8M", "8L54", "7T", "7L1", "7S7", "6T", "6L1", "5T", "5L73", "4T", "4L73", "4S2"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + eruption: ["4S2"], + explosion: ["7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + firefang: ["9M", "9L18", "8M", "8L18", "7L17", "6L17", "5L17", "4L17"], + firespin: ["9M", "9L1", "8M", "8L1", "7L1", "7S5", "7S6", "6L1", "5L57", "5S3", "4L57", "4S0"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "4M"], + flareblitz: ["9M"], + flashcannon: ["9M", "8M", "7M", "7S7", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + headbutt: ["4T"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "9L60", "8M", "8L60", "7T", "7L1", "7S7", "6T", "6L1", "5T", "5L81", "4T", "4L81"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "9L30", "8M", "8L30", "8S8", "7T", "7L1", "6T", "6L1", "5T", "5L65", "5S3", "4T", "4L65", "4S0"], + lavaplume: ["9L42", "8L42", "8S8", "7L49", "7S5", "7S6", "6L49", "6S4", "5L49", "5S3", "4L49", "4S0", "4S1"], + leer: ["9L1", "8L1", "7L9", "6L9", "5L9", "4L9"], + lunge: ["9M"], + magmastorm: ["9L72", "8L72", "7L1", "7S7", "6L1", "5L96", "4L96", "4S2"], + metalclaw: ["9M", "9L6", "8L6"], + metalsound: ["9L48", "8L48", "8S8", "7L25", "6L25", "6S4", "5L25", "4L25", "4S1"], + mudslap: ["4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + pounce: ["9M"], + powergem: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["7M", "6M", "5M", "4M"], + rockblast: ["9M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + scaryface: ["9M", "9L24", "8M", "8L24", "7L41", "7S5", "7S6", "6L41", "6S4", "5L41", "5S3", "4L41", "4S0", "4S1"], + scorchingsands: ["8T"], + secretpower: ["6M", "4M"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + stealthrock: ["9M", "8M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L66", "8M", "8L66", "7M", "7L88", "6M", "6L88", "5M", "5L88", "4M", "4L88"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["8M", "7T", "6T", "5T", "4T"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 4, level: 70, shiny: 1, moves: ["scaryface", "lavaplume", "firespin", "ironhead"]}, + {generation: 4, level: 50, shiny: 1, moves: ["metalsound", "crunch", "scaryface", "lavaplume"]}, + {generation: 4, level: 50, gender: "M", nature: "Quiet", moves: ["eruption", "magmastorm", "earthpower", "ancientpower"], pokeball: "pokeball"}, + {generation: 5, level: 68, shiny: 1, moves: ["scaryface", "lavaplume", "firespin", "ironhead"]}, + {generation: 6, level: 50, shiny: 1, moves: ["metalsound", "crunch", "scaryface", "lavaplume"]}, + {generation: 7, level: 60, shiny: 1, moves: ["crunch", "scaryface", "lavaplume", "firespin"]}, + {generation: 7, level: 60, moves: ["crunch", "scaryface", "lavaplume", "firespin"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["magmastorm", "heatwave", "earthpower", "flashcannon"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["metalsound", "lavaplume", "crunch", "ironhead"]}, + ], + eventOnly: true, + }, + regigigas: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + ancientpower: ["4T"], + avalanche: ["8M", "4M"], + block: ["7T", "6T", "5T", "4T"], + bodypress: ["8M", "8L42"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M", "4M"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + confuseray: ["8L1", "7L1", "7S5", "7S6", "6L1", "5L1", "4L1", "4S0", "4S1"], + crushgrip: ["8L78", "8S8", "7L1", "7S7", "6L1", "5L75", "4L75", "4S2"], + darkestlariat: ["8M"], + dizzypunch: ["7L1", "7S5", "7S6", "6L1", "5L1", "4L1", "4S1"], + doubleteam: ["7M", "6M", "5M", "4M"], + drainpunch: ["8M", "7T", "7S7", "6T", "5T", "4M"], + earthpower: ["8M", "7T", "6T", "5T", "4T"], + earthquake: ["8M", "7M", "6M", "5M", "4M"], + endure: ["8M", "4M"], + facade: ["8M", "7M", "6M", "5M", "4M"], + firepunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + fling: ["8M", "7M", "6M", "5M", "4M"], + focusblast: ["8M", "7M", "6M", "5M", "4M"], + focuspunch: ["7T", "6T", "4M"], + foresight: ["7L1", "6L1", "6S4", "5L1", "4L1", "4S1"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["8M", "8L72", "8S8", "7M", "7L100", "6M", "6L100", "5M", "5L100", "4M", "4L100"], + gravity: ["7T", "6T", "5T", "4T"], + hammerarm: ["8L66", "8S8"], + headbutt: ["4T"], + heatcrash: ["8M"], + heavyslam: ["8M", "8L60", "7L1", "7S7", "6L1", "5L90"], + hiddenpower: ["7M", "6M", "5M", "4M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "7M", "6M", "5M", "4M"], + icepunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + icywind: ["8M", "7T", "6T", "5T", "4T", "4S2"], + ironhead: ["8M", "7T", "6T", "5T", "4T", "4S2"], + knockoff: ["8L30", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4L1", "4S1"], + megakick: ["8M"], + megapunch: ["8M", "8L36", "4L1"], + mudslap: ["4T"], + naturalgift: ["4M"], + naturepower: ["7M", "6M"], + payback: ["8M", "8L6", "7M", "7L65", "6M", "6L65", "5M", "5L65", "5S3"], + pound: ["8L1"], + poweruppunch: ["6M"], + protect: ["8M", "8L24"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["8M", "7M", "6M", "5M", "4M"], + rest: ["8M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M", "8L12", "7L25", "7S5", "7S6", "6L25", "6S4", "5L25", "5S3", "4L25"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["8M", "7M", "6M", "5M", "4M", "4S2"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["8M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["8M", "7M", "6M", "5T", "4M"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + stomp: ["8L18", "4L1", "4S0"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["8M", "7M", "6M", "5M", "4M"], + sunnyday: ["8M", "7M", "6M", "5M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T", "4L25", "4S0"], + swagger: ["7M", "6M", "5M", "4M"], + terrainpulse: ["8T"], + thunder: ["8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["8M", "7M", "6M", "5M", "4M"], + thunderpunch: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1", "4T", "4L1"], + thunderwave: ["8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + wideguard: ["8L48", "7L40", "6L40", "6S4", "5L40", "5S3"], + zenheadbutt: ["8M", "8L54", "8S8", "7T", "7L50", "7S5", "7S6", "7S7", "6T", "6L50", "6S4", "5T", "5L50", "5S3", "4T", "4L50", "4S0"], + }, + eventData: [ + {generation: 4, level: 70, shiny: 1, moves: ["confuseray", "stomp", "superpower", "zenheadbutt"]}, + {generation: 4, level: 1, shiny: 1, moves: ["dizzypunch", "knockoff", "foresight", "confuseray"]}, + {generation: 4, level: 100, moves: ["ironhead", "rockslide", "icywind", "crushgrip"], pokeball: "cherishball"}, + {generation: 5, level: 68, shiny: 1, moves: ["revenge", "wideguard", "zenheadbutt", "payback"]}, + {generation: 6, level: 50, shiny: 1, moves: ["foresight", "revenge", "wideguard", "zenheadbutt"]}, + {generation: 7, level: 60, shiny: 1, moves: ["zenheadbutt", "revenge", "dizzypunch", "confuseray"]}, + {generation: 7, level: 60, moves: ["zenheadbutt", "revenge", "dizzypunch", "confuseray"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["crushgrip", "drainpunch", "zenheadbutt", "heavyslam"], pokeball: "cherishball"}, + {generation: 8, level: 100, shiny: 1, moves: ["gigaimpact", "zenheadbutt", "hammerarm", "crushgrip"]}, + ], + eventOnly: true, + }, + giratina: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + aircutter: ["4T"], + ancientpower: ["9L14", "8L14", "8S8", "7L10", "6L10", "5L10", "4T", "4L10", "4S1"], + aquatail: ["7T", "6T", "5T", "4T"], + aurasphere: ["9M", "9L56", "8M", "8L56", "7L37", "7S7", "6L37", "6S5", "6S6", "5L37", "5S4", "4L37"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + chargebeam: ["7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + defog: ["9L1", "8L1", "7T", "4M"], + destinybond: ["9L84", "8L84", "7L24", "6L24", "5L24", "4L24"], + doubleteam: ["7M", "6M", "5M", "4M"], + dracometeor: ["9M", "8T", "7T", "6T", "6S6", "5T", "4T"], + dragonbreath: ["9L7", "8L7", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], + dragonclaw: ["9M", "9L63", "8M", "8L63", "8S8", "7M", "7L28", "7S7", "6M", "6L28", "5M", "5L28", "5S4", "4M", "4L28", "4S1"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T", "5S4", "4M"], + dragontail: ["9M", "7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M", "4M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "9L70", "8M", "8L70", "7T", "7L33", "7S7", "6T", "6L33", "5T", "5L33", "4T", "4L33", "4S0"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fly: ["9M", "8M", "7M", "6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + headbutt: ["4T"], + healblock: ["4L50", "4S0"], + hex: ["9M", "9L21", "8M", "8L21", "7L50", "6L50", "6S5", "5L50"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + icywind: ["9M", "8M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "8M", "7T", "6T", "6S6", "5T", "4T"], + irontail: ["8M", "7T", "6T", "5T", "4M"], + magiccoat: ["7T", "6T", "5T", "4T"], + mudslap: ["4T"], + naturalgift: ["4M"], + ominouswind: ["7L6", "6L6", "5L6", "4T", "4L6", "4S1"], + outrage: ["9M", "8M", "7T", "6T", "5T", "4T"], + painsplit: ["9L49", "8L49", "7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + phantomforce: ["9M", "8M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockclimb: ["4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + scaryface: ["9M", "9L35", "8M", "8L35", "8S8", "7L1", "6L1", "5L1", "5S3", "4L1", "4S2"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "8S8", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "9L42", "8M", "8L42", "7M", "7L42", "6M", "6L42", "6S5", "5M", "5L42", "4M", "4L42"], + shadowforce: ["9L77", "8L77", "7L46", "7S7", "6L46", "6S5", "6S6", "5L46", "5S4", "4L40", "4S0", "4S1"], + shadowsneak: ["9L1", "8L1", "7L19", "6L19", "5L19", "4L19"], + shockwave: ["7T", "6T", "4M"], + silverwind: ["4M"], + slash: ["9L28", "8L28", "7L15", "6L15", "5L15", "4L15", "4S0"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + steelwing: ["8M", "7M", "6M", "4M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + tailwind: ["7T", "6T", "5T", "4T"], + takedown: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + twister: ["4T"], + willowisp: ["9M", "8M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 4, level: 70, shiny: 1, moves: ["shadowforce", "healblock", "earthpower", "slash"]}, + {generation: 4, level: 47, shiny: 1, moves: ["ominouswind", "ancientpower", "dragonclaw", "shadowforce"]}, + {generation: 4, level: 1, shiny: 1, moves: ["dragonbreath", "scaryface"]}, + {generation: 5, level: 5, isHidden: true, moves: ["dragonbreath", "scaryface"], pokeball: "dreamball"}, + {generation: 5, level: 100, shiny: true, moves: ["dragonpulse", "dragonclaw", "aurasphere", "shadowforce"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["aurasphere", "shadowclaw", "shadowforce", "hex"]}, + {generation: 6, level: 100, nature: "Brave", isHidden: true, moves: ["aurasphere", "dracometeor", "shadowforce", "ironhead"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["shadowforce", "aurasphere", "earthpower", "dragonclaw"]}, + {generation: 8, level: 70, shiny: 1, moves: ["dragonclaw", "scaryface", "shadowball", "ancientpower"]}, + ], + eventOnly: true, + }, + giratinaorigin: { + eventOnly: true, + }, + cresselia: { + learnset: { + allyswitch: ["9L24", "8M", "7T"], + attract: ["8M", "7M", "6M", "5M", "4M"], + aurorabeam: ["9L12", "8L12", "7L29", "7S4", "6L29", "6S3", "5L29", "4L29", "4S0"], + bodyslam: ["9M", "8M"], + calmmind: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + dazzlinggleam: ["9M"], + doubleteam: ["9L1", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1", "4M", "4L1"], + dreameater: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "5S2", "4M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + futuresight: ["9L66", "8M", "8L66", "7L38", "7S4", "6L38", "6S3", "5L38", "5S1", "4L38", "4S0"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "8M", "7M", "6M", "5M", "4M"], + gravity: ["9M", "7T", "6T", "5T", "4T"], + guardswap: ["8M"], + helpinghand: ["9M", "8M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "5S2", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "8M", "7M", "6M", "5M", "5S2", "4M"], + icywind: ["9M", "8M", "8S5", "7T", "6T", "5T", "4T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M", "4M"], + lunarblessing: ["9L72"], + lunardance: ["9L72", "8L72", "7L1", "6L1", "5L84", "4L84"], + magiccoat: ["7T", "6T", "5T", "4T"], + magicroom: ["8M", "7T", "6T", "5T"], + mist: ["9L6", "8L6", "7L20", "6L20", "6S3", "5L20", "4L20", "4S0"], + moonblast: ["9L60", "8L60", "8S5", "7L99", "6L99"], + moonlight: ["9L42", "8L42", "7L1", "7S4", "6L1", "5L57", "5S1", "4L57"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + powergem: ["9M"], + powerswap: ["8M"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psybeam: ["9M", "9L18", "8L18"], + psychic: ["9M", "9L54", "8M", "8L54", "7M", "7L93", "6M", "6L93", "5M", "5L93", "4M", "4L93"], + psychicterrain: ["9M"], + psychocut: ["9L36", "8M", "8L36", "8S5", "7L1", "6L1", "5L66", "5S1", "4L66"], + psychoshift: ["8L24", "7L1", "6L1", "5L75", "4L75"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "8M", "8S5", "7M", "6M", "5M", "5S2"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["9L48", "8M", "8L48", "7M", "7L11", "6M", "6L11", "5M", "5L11", "4M", "4L11"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "8M", "7T", "6T", "5T", "4M"], + slash: ["9L30", "8L30", "7L47", "7S4", "6L47", "6S3", "5L47", "5S1", "4L47", "4S0"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "8M", "4T"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["mist", "aurorabeam", "futuresight", "slash"]}, + {generation: 5, level: 68, shiny: 1, moves: ["futuresight", "slash", "moonlight", "psychocut"]}, + {generation: 5, level: 68, nature: "Modest", moves: ["icebeam", "psyshock", "energyball", "hiddenpower"]}, + {generation: 6, level: 50, shiny: 1, moves: ["mist", "aurorabeam", "futuresight", "slash"]}, + {generation: 7, level: 60, shiny: 1, moves: ["aurorabeam", "futuresight", "slash", "moonlight"]}, + {generation: 8, level: 70, shiny: 1, moves: ["icywind", "moonblast", "psychocut", "psyshock"]}, + ], + eventOnly: true, + }, + phione: { + learnset: { + acidarmor: ["9L31", "7L31", "6L31", "5L31", "4L31"], + ancientpower: ["4T"], + aquaring: ["9L54", "7L54", "6L54", "5L54", "4L54"], + batonpass: ["9M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bounce: ["7T", "6T", "5T", "4T"], + brine: ["4M"], + bubble: ["7L1", "6L1", "5L1", "4L1"], + bubblebeam: ["9L24", "7L24", "6L24", "5L24", "4L24"], + charm: ["9M", "9L9", "7L9", "6L9", "5L9", "4L9"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["9M", "7M", "6M"], + disarmingvoice: ["9M"], + dive: ["9L61", "7L61", "6M", "6L61", "5M", "5L61", "4T", "4L61"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M", "4S0"], + hail: ["7M", "6M", "5M", "4M"], + haze: ["9M"], + healbell: ["7T", "6T", "5T", "4T"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["9M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + liquidation: ["9M", "7T"], + mudslap: ["4T"], + naturalgift: ["4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "9L69", "7M", "7L69", "6M", "6L69", "5M", "5L69", "4M", "4L69", "4S0"], + rest: ["9M", "7M", "6M", "5M", "4M", "4S0"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + scald: ["9M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + supersonic: ["9L16", "7L16", "6L16", "5L16", "4L16"], + surf: ["9M", "7M", "6M", "5M", "4M", "4S0"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + takeheart: ["9L75"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L1"], + waterpulse: ["9M", "9L46", "7T", "7L46", "6T", "6L46", "5L46", "4M", "4L46"], + watersport: ["7L1", "6L1", "5L1", "4L1"], + weatherball: ["9M"], + whirlpool: ["9L39", "7L39", "6L39", "5L39", "4M", "4L39"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 4, level: 50, moves: ["grassknot", "raindance", "rest", "surf"], pokeball: "cherishball"}, + ], + }, + manaphy: { + learnset: { + acidarmor: ["9L31", "7L31", "6L31", "5L31", "4L31", "4S2"], + ancientpower: ["4T"], + aquaring: ["9L54", "7L54", "7S6", "6L54", "5L54", "4L54", "4S3"], + batonpass: ["9M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bounce: ["7T", "6T", "5T", "4T"], + brine: ["4M"], + bubble: ["7L1", "6L1", "6S4", "6S5", "5L1", "4L1", "4S0", "4S1"], + bubblebeam: ["9L24", "7L24", "6L24", "5L24", "4L24"], + calmmind: ["9M", "7M", "6M", "5M", "4M"], + charm: ["9M", "9L9", "7L9", "6L9", "5L9", "4L9"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["9M", "7M", "6M"], + disarmingvoice: ["9M"], + dive: ["9L61", "7L61", "6M", "6L61", "5M", "5L61", "4T", "4L61"], + doubleteam: ["7M", "6M", "5M", "4M"], + endure: ["9M", "4M"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + faketears: ["9M"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + hail: ["7M", "6M", "5M", "4M"], + haze: ["9M"], + healbell: ["7T", "6T", "5T", "4T"], + heartswap: ["9L1", "7L76", "7S6", "6L76", "6S4", "5L76", "4L76", "4S2", "4S3"], + helpinghand: ["9M", "7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hydropump: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["9M", "7M", "6M", "5M", "4M"], + liquidation: ["9M", "7T"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psybeam: ["9M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + raindance: ["9M", "9L69", "7M", "7L69", "6M", "6L69", "5M", "5L69", "4M", "4L69"], + reflect: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + scald: ["9M", "7M", "6M", "5M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "7M", "6M", "5M", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + skillswap: ["9M", "7T", "6T", "5T", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + supersonic: ["9L16", "7L16", "6L16", "5L16", "4L16"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + tailglow: ["9L1", "7L1", "7S6", "6L1", "6S4", "6S5", "5L1", "4L1", "4S0", "4S1"], + takeheart: ["9L76"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + uproar: ["7T", "6T", "5T", "4T"], + uturn: ["9M", "7M", "6M", "5M", "4M"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + watergun: ["9L1"], + waterpulse: ["9M", "9L46", "7T", "7L46", "7S6", "6T", "6L46", "5L46", "4M", "4L46", "4S2", "4S3"], + watersport: ["7L1", "6L1", "6S4", "6S5", "5L1", "4L1", "4S0", "4S1", "4S3"], + weatherball: ["9M"], + whirlpool: ["9L39", "7L39", "6L39", "5L39", "4M", "4L39", "4S2"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 4, level: 5, moves: ["tailglow", "bubble", "watersport"]}, + {generation: 4, level: 1, shiny: 1, moves: ["tailglow", "bubble", "watersport"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["heartswap", "waterpulse", "whirlpool", "acidarmor"], pokeball: "cherishball"}, + {generation: 4, level: 50, nature: "Impish", moves: ["aquaring", "waterpulse", "watersport", "heartswap"], pokeball: "cherishball"}, + {generation: 6, level: 1, moves: ["tailglow", "bubble", "watersport", "heartswap"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["tailglow", "bubble", "watersport"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["tailglow", "waterpulse", "aquaring", "heartswap"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + darkrai: { + learnset: { + aerialace: ["7M", "6M", "5M", "4M"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + calmmind: ["9M", "7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "9L93", "9S8", "7M", "7L93", "6M", "6L93", "6S5", "5T", "5L93", "4M", "4L93", "4S2"], + darkvoid: ["9L66", "7L66", "7S7", "6L66", "6S5", "6S6", "5L66", "5S4", "4L66", "4S2"], + disable: ["9L1", "7L1", "6L1", "5L1", "4L1"], + doubleteam: ["9L47", "7M", "7L47", "6M", "6L47", "5M", "5L47", "4M", "4L47", "4S2", "4S3"], + drainpunch: ["9M", "7T", "6T", "5T", "4M"], + dreameater: ["9L84", "9S8", "7M", "7L84", "6M", "6L84", "6S5", "5M", "5L84", "4M", "4L84"], + embargo: ["7M", "6M", "5M", "4M", "4L75"], + endure: ["9M", "4M"], + facade: ["9M", "7M", "6M", "5M", "4M"], + feintattack: ["7L29", "7S7", "6L29", "6S6", "5L29", "5S4", "4L29", "4S3"], + flash: ["6M", "5M", "4M"], + fling: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + foulplay: ["9M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + haze: ["9M", "9L57", "7L57", "6L57", "5L57", "4L57"], + headbutt: ["4T"], + hex: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + hypnosis: ["9L20", "9S8", "7L20", "6L20", "5L20", "4L20", "4S0", "4S1", "4S3"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + incinerate: ["6M", "5M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M"], + lastresort: ["7T", "6T", "5T", "4T"], + mudslap: ["4T"], + nastyplot: ["9M", "9L75", "7L75", "6L75", "5L75", "4L75"], + naturalgift: ["4M"], + nightmare: ["7L38", "7S7", "6L38", "6S6", "5L38", "5S4", "4L38", "4S0", "4S1", "4S3"], + nightshade: ["9M", "9L38", "4L1"], + ominouswind: ["7L1", "7S7", "6L1", "6S6", "5L1", "5S4", "4T", "4L1"], + payback: ["7M", "6M", "5M", "4M"], + phantomforce: ["6S5"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M"], + pursuit: ["4L29", "4S0"], + quickattack: ["9L11", "7L11", "6L11", "5L11", "4L11", "4S0"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roaroftime: ["4S1"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "9S8", "7M", "6M", "5M", "4M", "4S2"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shockwave: ["7T", "6T", "4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "7M", "6M", "5M", "4M"], + snarl: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + spacialrend: ["4S1"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9L29", "4T"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + taunt: ["9M", "7M", "6M", "5M", "4M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M", "5M", "4M"], + throatchop: ["7T"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["7M", "6M", "5M", "4M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + wonderroom: ["7T", "6T", "5T"], + xscissor: ["9M", "7M", "6M", "5M", "4M"], + }, + eventData: [ + {generation: 4, level: 40, shiny: 1, moves: ["quickattack", "hypnosis", "pursuit", "nightmare"]}, + {generation: 4, level: 50, moves: ["roaroftime", "spacialrend", "nightmare", "hypnosis"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["darkvoid", "darkpulse", "shadowball", "doubleteam"], pokeball: "pokeball"}, + {generation: 4, level: 50, shiny: 1, moves: ["hypnosis", "feintattack", "nightmare", "doubleteam"]}, + {generation: 5, level: 50, moves: ["darkvoid", "ominouswind", "feintattack", "nightmare"], pokeball: "cherishball"}, + {generation: 6, level: 50, moves: ["darkvoid", "darkpulse", "phantomforce", "dreameater"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["darkvoid", "ominouswind", "nightmare", "feintattack"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["darkvoid", "feintattack", "nightmare", "ominouswind"], pokeball: "cherishball"}, + {generation: 9, level: 50, moves: ["darkpulse", "shadowball", "hypnosis", "dreameater"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + shaymin: { + learnset: { + aircutter: ["9M", "4T"], + airslash: ["9M", "9L64", "7L64", "6L64", "6S3", "5L64", "4L64"], + aromatherapy: ["7L64", "6L64", "6S4", "5L64", "4L64", "4S0"], + batonpass: ["9M"], + bulletseed: ["9M", "4M"], + celebrate: ["7S5"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["9M", "7M", "6M"], + defensecurl: ["4L1"], + disarmingvoice: ["9M"], + doubleteam: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "7T", "6T", "5T", "4T"], + endeavor: ["7T", "6T", "5T", "4T"], + endure: ["9M", "4M"], + energyball: ["9M", "9L73", "7M", "7L73", "6M", "6L73", "6S4", "5M", "5L73", "4M", "4L73", "4S0"], + facade: ["9M", "7M", "6M", "5M", "4M"], + flash: ["6M", "5M", "4M"], + frustration: ["7M", "6M", "5M", "4M"], + gigadrain: ["9M", "7T", "6T", "5T", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grasswhistle: ["4L82"], + grassyglide: ["9M"], + grassyterrain: ["9M", "9L64"], + growth: ["9L1", "7L1", "7S5", "6L1", "6S3", "5L1", "4L1", "4S1"], + headbutt: ["4T"], + healingwish: ["9L91", "7L91", "6L91", "5L91", "4L91"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "7M", "6M", "5M", "4M"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + leafstorm: ["9M", "9L91", "7L91", "6L91", "5L91", "4L91"], + leechseed: ["9L19", "7L19", "6L19", "5L19", "5S2", "4L19", "4S1"], + luckychant: ["4L91"], + magicalleaf: ["9M", "9L10", "7L10", "6L10", "6S3", "5L10", "4L10", "4S1"], + mudslap: ["4T"], + naturalgift: ["7L46", "6L46", "5L46", "4M", "4L46"], + naturepower: ["7M", "6M"], + ominouswind: ["4T"], + playrough: ["9M", "9L46"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + quickattack: ["9L28", "7L28", "6L28", "5L28", "4L28"], + rest: ["9M", "7M", "6M", "5M", "4M"], + return: ["7M", "7S5", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + secretpower: ["6M", "4M"], + seedbomb: ["9M", "7T", "6T", "5T", "4T"], + seedflare: ["9L100", "7L100", "7S5", "6L100", "6S3", "6S4", "5L100", "5S2", "4L100", "4S0"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "6S4", "5M", "4M", "4S0"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + sweetkiss: ["9L82", "7L82", "6L82", "5L82", "4L82"], + sweetscent: ["9L37", "7L37", "6L37", "5L37", "5S2", "4L37"], + swift: ["9M", "4T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + synthesis: ["9L28", "7T", "7L28", "6T", "6L28", "5T", "5L28", "5S2", "4T", "4L28", "4S1"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + worryseed: ["9L55", "7T", "7L55", "6T", "6L55", "5T", "5L55", "4T", "4L55"], + zenheadbutt: ["9M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 50, moves: ["seedflare", "aromatherapy", "substitute", "energyball"], pokeball: "cherishball"}, + {generation: 4, level: 30, shiny: 1, moves: ["growth", "magicalleaf", "leechseed", "synthesis"], pokeball: "pokeball"}, + {generation: 5, level: 50, moves: ["seedflare", "leechseed", "synthesis", "sweetscent"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["growth", "magicalleaf", "seedflare", "airslash"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["seedflare", "aromatherapy", "substitute", "energyball"], pokeball: "cherishball"}, + {generation: 7, level: 20, moves: ["return", "growth", "seedflare", "celebrate"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + shayminsky: { + eventOnly: true, + }, + arceus: { + learnset: { + acidspray: ["9M"], + aerialace: ["7M", "6M", "5M", "4M"], + agility: ["9M"], + airslash: ["9M"], + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + aurasphere: ["9M"], + avalanche: ["9M", "4M"], + blastburn: ["6S2"], + blizzard: ["9M", "7M", "6M", "5M", "4M"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M", "4M"], + brine: ["4M"], + bugbuzz: ["9M"], + bulkup: ["9M"], + bulldoze: ["9M", "7M", "6M", "5M"], + bulletseed: ["9M", "4M"], + calmmind: ["9M", "7M", "6M", "5M", "4M"], + chargebeam: ["9M", "7M", "6M", "5M", "4M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + cosmicpower: ["9L1", "7L1", "6L1", "5L1", "4L1"], + cut: ["6M", "5M", "4M"], + darkpulse: ["9M", "7M", "6M", "5T", "4M"], + dazzlinggleam: ["9M"], + defog: ["7T", "4M"], + dive: ["6M", "4T"], + doubleteam: ["7M", "6M", "5M", "4M"], + dracometeor: ["9M", "7T", "6T", "5T", "4T"], + dragonclaw: ["9M", "7M", "6M", "5M", "4M"], + dragondance: ["9M"], + dragonpulse: ["9M", "7T", "6T", "5T", "4M"], + dragontail: ["9M"], + dreameater: ["7M", "6M", "5M", "4M"], + earthpower: ["9M", "9L20", "7T", "7L20", "6T", "6L20", "6S2", "5T", "5L20", "4T", "4L20"], + earthquake: ["9M", "7M", "6M", "5M", "4M"], + echoedvoice: ["7M", "6M", "5M"], + electricterrain: ["9M"], + endure: ["9M", "4M"], + energyball: ["9M", "7M", "6M", "5M", "4M"], + extremespeed: ["9L40", "7L40", "7S4", "6L40", "5L40", "4L40"], + facade: ["9M", "7M", "6M", "5M", "4M"], + fireblast: ["9M", "7M", "6M", "5M", "4M"], + flamethrower: ["9M", "7M", "6M", "5M", "4M"], + flareblitz: ["9M"], + flash: ["6M", "5M", "4M"], + flashcannon: ["9M", "7M", "6M", "5M", "4M"], + fly: ["9M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "7M", "6M", "5M", "4M"], + foulplay: ["9M"], + frustration: ["7M", "6M", "5M", "4M"], + furycutter: ["4T"], + futuresight: ["9L60", "7L60", "6L60", "5L60", "4L60"], + gigadrain: ["9M", "7T", "6T", "5T", "4M"], + gigaimpact: ["9M", "7M", "6M", "5M", "4M"], + grassknot: ["9M", "7M", "6M", "5M", "4M"], + grassyterrain: ["9M"], + gravity: ["9M", "9L10", "7T", "7L10", "6T", "6L10", "5T", "5L10", "4T", "4L10"], + gunkshot: ["9M"], + hail: ["7M", "6M", "5M", "4M"], + headbutt: ["4T"], + healingwish: ["9L50"], + heatwave: ["9M", "7T", "6T", "5T", "4T"], + heavyslam: ["9M"], + hex: ["9M"], + hiddenpower: ["7M", "6M", "5M", "4M"], + honeclaws: ["6M", "5M"], + hurricane: ["9M"], + hydrocannon: ["6S2"], + hydropump: ["9M"], + hyperbeam: ["9M", "9L80", "7M", "7L80", "7S4", "6M", "6L80", "6S3", "5M", "5L80", "5S1", "4M", "4L80"], + hypervoice: ["9M", "9L30", "7T", "7L30", "6T", "6L30", "5T", "5L30", "4L30"], + icebeam: ["9M", "7M", "6M", "5M", "4M"], + icywind: ["9M", "7T", "6T", "5T", "4T"], + imprison: ["9M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "7T", "6T", "5T", "4T"], + ironhead: ["9M", "7T", "6T", "5T", "4T"], + irontail: ["7T", "6T", "5T", "4M"], + judgment: ["9L100", "7L100", "7S4", "6L100", "6S2", "6S3", "5L100", "5S1", "4L100", "4S0"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T", "4T"], + lightscreen: ["9M", "7M", "6M", "5M", "4M"], + liquidation: ["9M", "7T"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T", "4T"], + mistyterrain: ["9M"], + mudslap: ["4T"], + naturalgift: ["7L1", "6L1", "5L1", "4M", "4L1"], + ominouswind: ["4T"], + outrage: ["9M", "7T", "6T", "5T", "4T"], + overheat: ["9M", "7M", "6M", "5M", "4M"], + payback: ["7M", "6M", "5M", "4M"], + perishsong: ["9L90", "7L90", "6L90", "6S3", "5L90", "5S1", "4L90"], + phantomforce: ["9M"], + poisonjab: ["9M", "7M", "6M", "5M", "4M"], + powergem: ["9M"], + protect: ["9M", "7M", "6M", "5M", "4M"], + psychic: ["9M", "7M", "6M", "5M", "4M"], + psychicterrain: ["9M"], + psychup: ["7M", "6M", "5M", "4M"], + psyshock: ["9M", "7M", "6M", "5M"], + punishment: ["7L1", "6L1", "5L1", "4L1"], + quash: ["7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M", "4M"], + recover: ["9L70", "7L70", "7S4", "6L70", "6S3", "5L70", "5S1", "4L70"], + recycle: ["7T", "6T", "5T", "4M"], + reflect: ["9M", "7M", "6M", "5M", "4M"], + refresh: ["7L50", "6L50", "5L50", "4L50"], + rest: ["9M", "7M", "6M", "5M", "4M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + roaroftime: ["4S0"], + rockclimb: ["4M"], + rockslide: ["9M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "7M", "6M", "5M", "4M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M", "4M"], + sandstorm: ["9M", "7M", "6M", "5M", "4M"], + scaryface: ["9M"], + secretpower: ["6M", "4M"], + seismictoss: ["9L1", "7L1", "6L1", "5L1", "4L1"], + shadowball: ["9M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "7M", "6M", "5M", "4M"], + shadowforce: ["4S0"], + shockwave: ["7T", "6T", "4M"], + signalbeam: ["7T", "6T", "5T", "4T"], + silverwind: ["4M"], + sleeptalk: ["9M", "7M", "6M", "5T", "4M"], + sludgebomb: ["9M", "7M", "6M", "5M", "4M"], + snarl: ["9M", "7M", "6M", "5M"], + snore: ["7T", "6T", "5T", "4T"], + solarbeam: ["9M", "7M", "6M", "5M", "4M"], + spacialrend: ["4S0"], + stealthrock: ["9M", "7T", "6T", "5T", "4M"], + steelbeam: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "7M", "6M", "5M", "4M"], + storedpower: ["9M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "7M", "6M", "5M", "4M"], + sunnyday: ["9M", "7M", "6M", "5M", "4M"], + surf: ["9M", "7M", "6M", "5M", "4M"], + swagger: ["7M", "6M", "5M", "4M"], + swift: ["9M", "4T"], + swordsdance: ["9M", "7M", "6M", "5M", "4M"], + tailwind: ["9M", "7T", "6T", "5T", "4T"], + takedown: ["9M"], + taunt: ["9M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "7M", "6M", "5M", "4M"], + thunderbolt: ["9M", "7M", "6M", "5M", "4M"], + thunderwave: ["9M", "7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trailblaze: ["9M"], + trick: ["9M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "7M", "6M", "5M", "4M"], + twister: ["4T"], + waterfall: ["9M", "7M", "6M", "5M", "4M"], + waterpulse: ["9M", "7T", "6T", "4M"], + whirlpool: ["4M"], + wildcharge: ["9M"], + willowisp: ["9M", "7M", "6M", "5M", "4M"], + workup: ["7M", "5M"], + xscissor: ["9M", "7M", "6M", "5M", "4M"], + zenheadbutt: ["9M", "7T", "6T", "5T", "4T"], + }, + eventData: [ + {generation: 4, level: 100, moves: ["judgment", "roaroftime", "spacialrend", "shadowforce"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["recover", "hyperbeam", "perishsong", "judgment"]}, + {generation: 6, level: 100, shiny: 1, moves: ["judgment", "blastburn", "hydrocannon", "earthpower"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["judgment", "perishsong", "hyperbeam", "recover"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["judgment", "extremespeed", "recover", "hyperbeam"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + arceusbug: { + eventOnly: true, + }, + arceusdark: { + eventOnly: true, + }, + arceusdragon: { + eventOnly: true, + }, + arceuselectric: { + eventOnly: true, + }, + arceusfairy: { + eventOnly: true, + }, + arceusfighting: { + eventOnly: true, + }, + arceusfire: { + eventOnly: true, + }, + arceusflying: { + eventOnly: true, + }, + arceusghost: { + eventOnly: true, + }, + arceusgrass: { + eventOnly: true, + }, + arceusground: { + eventOnly: true, + }, + arceusice: { + eventOnly: true, + }, + arceuspoison: { + eventOnly: true, + }, + arceuspsychic: { + eventOnly: true, + }, + arceusrock: { + eventOnly: true, + }, + arceussteel: { + eventOnly: true, + }, + arceuswater: { + eventOnly: true, + }, + victini: { + learnset: { + batonpass: ["8M"], + blazekick: ["8M"], + blueflare: ["5S2"], + boltstrike: ["5S2"], + bounce: ["8M", "7T", "6T", "5T"], + brickbreak: ["8M", "7M", "6M", "5M"], + celebrate: ["7S6"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "6S3", "6S4", "5L1", "5S0"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleedge: ["8L70", "7L65", "6L65", "5L65"], + doubleteam: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + encore: ["8M"], + endure: ["8M", "8L35", "7L9", "6L9", "6S4", "5L9", "5S0"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + finalgambit: ["8L91", "7L81", "6L81", "5L81"], + fireblast: ["8M", "7M", "6M", "5M"], + firepunch: ["8M", "7T", "6T", "5T"], + firespin: ["8M"], + flameburst: ["7L41", "6L41", "5L41"], + flamecharge: ["8L1", "8S7", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + flamethrower: ["8M", "7M", "6M", "5M"], + flareblitz: ["8M", "8L77", "7L73", "6L73", "5L73"], + flash: ["6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M", "8L1", "7L1", "6L1", "5L1"], + frustration: ["7M", "6M", "5M"], + fusionbolt: ["5S1"], + fusionflare: ["5S1"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + glaciate: ["5S2"], + grassknot: ["8M", "7M", "6M", "5M"], + guardswap: ["8M"], + headbutt: ["8L28", "7L17", "6L17", "5L17"], + heatwave: ["8M", "7T", "6T", "5T"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + incinerate: ["8L14", "7L1", "6M", "6L1", "6S4", "5M", "5L1", "5S0"], + inferno: ["8L49", "7L57", "6L57", "5L57"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + mysticalfire: ["8M"], + overheat: ["8M", "8L84", "7M", "7L97", "6M", "6L97", "5M", "5L97"], + powerswap: ["8M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "6S3", "6S4", "6S5", "5L1", "5S0"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + reversal: ["8M", "8L56", "7L33", "7S6", "6L33", "5L33"], + rocksmash: ["6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scorchingsands: ["8T"], + searingshot: ["8L63", "7L1", "6L1", "6S3", "5L1", "5S1"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + speedswap: ["8M"], + storedpower: ["8M", "8L21", "7L89", "7S6", "6L89", "5L89"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "6S5", "5M"], + swift: ["8M"], + taunt: ["8M", "7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + vcreate: ["8L1", "8S7", "7S6", "6S3", "6S5", "5S1", "5S2"], + wildcharge: ["8M", "7M", "6M", "5M"], + willowisp: ["8M", "7M", "6M", "5M"], + workup: ["8M", "8L7", "8S7", "7M", "5M"], + zenheadbutt: ["8M", "8L42", "8S7", "7T", "7L49", "6T", "6L49", "5T", "5L49"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["quickattack", "incinerate", "confusion", "endure"]}, + {generation: 5, level: 50, moves: ["vcreate", "fusionflare", "fusionbolt", "searingshot"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["vcreate", "blueflare", "boltstrike", "glaciate"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["confusion", "quickattack", "vcreate", "searingshot"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["incinerate", "quickattack", "endure", "confusion"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["quickattack", "swagger", "vcreate"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["vcreate", "reversal", "storedpower", "celebrate"], pokeball: "cherishball"}, + {generation: 8, level: 50, nature: "Brave", perfectIVs: 6, moves: ["vcreate", "zenheadbutt", "workup", "flamecharge"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + snivy: { + learnset: { + aerialace: ["7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + aromatherapy: ["5S0"], + attract: ["7M", "6M", "5M"], + bind: ["7T", "6T", "5T"], + calmmind: ["7M", "6M", "5M"], + captivate: ["7E", "6E", "5E"], + coil: ["7L31", "6L31", "5L31"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + energyball: ["7M", "6M", "5M", "5S0"], + facade: ["7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "7L40", "6T", "6L40", "5T", "5L40"], + gigadrain: ["7T", "7L34", "6T", "6L34", "5T", "5L34"], + glare: ["7E", "6E", "5E"], + grassknot: ["7M", "6M", "5M"], + grasspledge: ["7T", "6T", "5T"], + grassyterrain: ["7E", "6E"], + growth: ["7L13", "6L13", "5L13", "5S0"], + hiddenpower: ["7M", "6M", "5M"], + irontail: ["7T", "7E", "6T", "6E", "5T", "5E"], + knockoff: ["7T", "6T", "5T"], + leafblade: ["7L28", "6L28", "5L28"], + leafstorm: ["7L43", "6L43", "5L43"], + leaftornado: ["7L16", "6L16", "5L16"], + leechseed: ["7L19", "6L19", "5L19"], + leer: ["7L4", "6L4", "5L4"], + lightscreen: ["7M", "6M", "5M"], + magicalleaf: ["7E", "6E", "5E"], + meanlook: ["7E", "6E", "5E"], + megadrain: ["7L22", "6L22", "5L22"], + mirrorcoat: ["7E", "6E", "5E"], + naturalgift: ["7E", "6E", "5E"], + naturepower: ["7M", "6M"], + protect: ["7M", "6M", "5M"], + pursuit: ["7E", "6E", "5E"], + reflect: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["7T", "6T", "5T"], + slam: ["7L25", "6L25", "5L25"], + sleeptalk: ["7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + sweetscent: ["7E", "6E", "5E"], + swordsdance: ["7M", "6M", "5M"], + synthesis: ["7T", "6T", "5T", "5S0"], + tackle: ["7L1", "6L1", "5L1"], + taunt: ["7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + twister: ["7E", "6E", "5E"], + vinewhip: ["7L7", "6L7", "5L7"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T"], + wrap: ["7L10", "6L10", "5L10"], + wringout: ["7L37", "6L37", "5L37"], + }, + eventData: [ + {generation: 5, level: 5, gender: "M", nature: "Hardy", moves: ["growth", "synthesis", "energyball", "aromatherapy"], pokeball: "cherishball"}, + ], + }, + servine: { + learnset: { + aerialace: ["7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + attract: ["7M", "6M", "5M"], + bind: ["7T", "6T", "5T"], + calmmind: ["7M", "6M", "5M"], + coil: ["7L36", "6L36", "5L36"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + energyball: ["7M", "6M", "5M"], + facade: ["7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "7L48", "6T", "6L48", "5T", "5L48"], + gigadrain: ["7T", "7L40", "6T", "6L40", "5T", "5L40"], + grassknot: ["7M", "6M", "5M"], + grasspledge: ["7T", "6T", "5T"], + growth: ["7L13", "6L13", "5L13"], + hiddenpower: ["7M", "6M", "5M"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leafblade: ["7L32", "6L32", "5L32"], + leafstorm: ["7L52", "6L52", "5L52"], + leaftornado: ["7L16", "6L16", "5L16"], + leechseed: ["7L20", "6L20", "5L20"], + leer: ["7L1", "6L1", "5L1"], + lightscreen: ["7M", "6M", "5M"], + megadrain: ["7L24", "6L24", "5L24"], + naturepower: ["7M", "6M"], + protect: ["7M", "6M", "5M"], + reflect: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["7T", "6T", "5T"], + slam: ["7L28", "6L28", "5L28"], + sleeptalk: ["7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["7M", "6M", "5M"], + synthesis: ["7T", "6T", "5T"], + tackle: ["7L1", "6L1", "5L1"], + taunt: ["7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + vinewhip: ["7L1", "6L1", "5L1"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T"], + wrap: ["7L1", "6L1", "5L1"], + wringout: ["7L44", "6L44", "5L44"], + }, + }, + serperior: { + learnset: { + aerialace: ["7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + attract: ["7M", "6M", "5M"], + bind: ["7T", "6T", "5T"], + brutalswing: ["7M"], + calmmind: ["7M", "6M", "5M"], + coil: ["7L38", "6L38", "5L38"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dragonpulse: ["7T", "6T", "5T"], + dragontail: ["7M", "6M", "5M"], + energyball: ["7M", "6M", "5M"], + facade: ["7M", "6M", "5M"], + flash: ["6M", "5M"], + frenzyplant: ["7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "7L56", "6T", "6L56", "5T", "5L56"], + gigadrain: ["7T", "7L44", "6T", "6L44", "6S1", "5T", "5L44", "5S0"], + gigaimpact: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + grasspledge: ["7T", "6T", "5T"], + growth: ["7L13", "6L13", "5L13"], + hiddenpower: ["7M", "6M", "5M"], + holdback: ["6S1"], + hyperbeam: ["7M", "6M", "5M"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leafblade: ["7L32", "6L32", "5L32"], + leafstorm: ["7L62", "6L62", "6S1", "5L62", "5S0"], + leaftornado: ["7L16", "6L16", "5L16"], + leechseed: ["7L20", "6L20", "5L20", "5S0"], + leer: ["7L1", "6L1", "5L1"], + lightscreen: ["7M", "6M", "5M"], + megadrain: ["7L24", "6L24", "5L24"], + naturepower: ["7M", "6M"], + outrage: ["7T", "6T", "5T"], + protect: ["7M", "6M", "5M"], + reflect: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["7T", "6T", "5T"], + slam: ["7L28", "6L28", "5L28"], + sleeptalk: ["7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["7M", "6M", "5M", "5S0"], + sunnyday: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["7M", "6M", "5M"], + synthesis: ["7T", "6T", "5T"], + tackle: ["7L1", "6L1", "5L1"], + taunt: ["7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + vinewhip: ["7L1", "6L1", "5L1"], + workup: ["7M"], + worryseed: ["7T", "6T", "5T"], + wrap: ["7L1", "6L1", "5L1"], + wringout: ["7L50", "6L50", "6S1", "5L50"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["leafstorm", "substitute", "gigadrain", "leechseed"], pokeball: "cherishball"}, + {generation: 6, level: 50, isHidden: true, moves: ["leafstorm", "holdback", "wringout", "gigadrain"], pokeball: "cherishball"}, + ], + }, + tepig: { + learnset: { + assurance: ["7L31", "6L31", "5L31"], + attract: ["7M", "6M", "5M"], + bodyslam: ["7E", "6E", "5E"], + burnup: ["7E"], + confide: ["7M", "6M"], + covet: ["7T", "7E", "6T", "6E", "5T", "5E"], + curse: ["7E", "6E", "5E"], + defensecurl: ["7L13", "6L13", "5L13"], + doubleteam: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["7L7", "6L7", "5L7"], + endeavor: ["7T", "7E", "6T", "6E", "5T", "5E"], + facade: ["7M", "6M", "5M"], + fireblast: ["7M", "6M", "5M"], + firepledge: ["7T", "6T", "5T"], + flamecharge: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], + flamethrower: ["7M", "7L33", "6M", "6L33", "5M", "5L33"], + flareblitz: ["7L43", "6L43", "5L43"], + frustration: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + gyroball: ["7M", "6M", "5M"], + headsmash: ["7L37", "6L37", "5L37"], + heatcrash: ["7L27", "6L27", "5L27"], + heatwave: ["7T", "6T", "5T"], + heavyslam: ["7E", "6E", "5E"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T"], + magnitude: ["7E", "6E", "5E"], + odorsleuth: ["7L9", "6L9", "5L9"], + overheat: ["7M", "6M", "5M"], + protect: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["7M", "7L39", "6M", "6L39", "5M", "5L39"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + rollout: ["7L21", "6L21", "5L21"], + round: ["7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["7M", "7E", "6M", "6E", "5T", "5E"], + smog: ["7L19", "6L19", "5L19"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + stompingtantrum: ["7T"], + strength: ["6M", "5M"], + substitute: ["7M", "6M", "5M"], + suckerpunch: ["7E", "6E"], + sunnyday: ["7M", "6M", "5M"], + superpower: ["7T", "7E", "6T", "6E", "5T", "5E"], + swagger: ["7M", "6M", "5M"], + tackle: ["7L1", "6L1", "5L1"], + tailwhip: ["7L3", "6L3", "5L3"], + takedown: ["7L25", "6L25", "5L25"], + taunt: ["7M", "6M", "5M"], + thrash: ["7E", "6E", "5E"], + toxic: ["7M", "6M", "5M"], + wildcharge: ["7M", "6M", "5M"], + willowisp: ["7M", "6M", "5M"], + workup: ["7M"], + yawn: ["7E", "6E", "5E"], + zenheadbutt: ["7T", "6T"], + }, + }, + pignite: { + learnset: { + armthrust: ["7L1", "6L17", "5L17"], + assurance: ["7L36", "6L36", "5L36"], + attract: ["7M", "6M", "5M"], + brickbreak: ["7M", "6M", "5M"], + bulldoze: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + defensecurl: ["7L13", "6L13", "5L13"], + doubleteam: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["7L1", "6L1", "5L1"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + fireblast: ["7M", "6M", "5M"], + firepledge: ["7T", "6T", "5T"], + firepunch: ["7T", "6T", "5T"], + flamecharge: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], + flamethrower: ["7M", "7L39", "6M", "6L39", "5M", "5L39"], + flareblitz: ["7L52", "6L52", "5L52"], + fling: ["7M", "6M", "5M"], + focusblast: ["7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + gyroball: ["7M", "6M", "5M"], + headsmash: ["7L44", "6L44", "5L44"], + heatcrash: ["7L31", "6L31", "5L31"], + heatwave: ["7T", "6T", "5T"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T"], + lowkick: ["7T", "6T", "5T"], + lowsweep: ["7M", "6M", "5M"], + odorsleuth: ["7L1", "6L1", "5L1"], + overheat: ["7M", "6M", "5M"], + poisonjab: ["7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["7M", "7L47", "6M", "6L47", "5M", "5L47"], + rockslide: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + rollout: ["7L23", "6L23", "5L23"], + round: ["7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["7M", "6M", "5T"], + smog: ["7L20", "6L20", "5L20"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + stompingtantrum: ["7T"], + stoneedge: ["7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + superpower: ["7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + tackle: ["7L1", "6L1", "5L1"], + tailwhip: ["7L1", "6L1", "5L1"], + takedown: ["7L28", "6L28", "5L28"], + taunt: ["7M", "6M", "5M"], + thunderpunch: ["7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + wildcharge: ["7M", "6M", "5M"], + willowisp: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "6T"], + }, + }, + emboar: { + learnset: { + armthrust: ["7L1", "6L17", "5L17"], + assurance: ["7L38", "6L38", "5L38"], + attract: ["7M", "6M", "5M"], + blastburn: ["7T", "6T", "5T"], + block: ["7T", "6T", "5T"], + brickbreak: ["7M", "6M", "5M"], + bulkup: ["7M", "6M", "5M"], + bulldoze: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + defensecurl: ["7L13", "6L13", "5L13"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + ember: ["7L1", "6L1", "5L1"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + fireblast: ["7M", "6M", "5M"], + firepledge: ["7T", "6T", "5T"], + firepunch: ["7T", "6T", "5T"], + flamecharge: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], + flamethrower: ["7M", "7L43", "6M", "6L43", "5M", "5L43"], + flareblitz: ["7L62", "6L62", "6S1", "5L62", "5S0"], + fling: ["7M", "6M", "5M"], + focusblast: ["7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + gyroball: ["7M", "6M", "5M"], + hammerarm: ["7L1", "6L1", "5L1", "5S0"], + headsmash: ["7L50", "6L50", "6S1", "5L50", "5S0"], + heatcrash: ["7L31", "6L31", "5L31"], + heatwave: ["7T", "6T", "5T"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + holdback: ["6S1"], + hyperbeam: ["7M", "6M", "5M"], + incinerate: ["6M", "5M"], + ironhead: ["7T", "6T", "5T"], + irontail: ["7T", "6T", "5T"], + lowkick: ["7T", "6T", "5T"], + lowsweep: ["7M", "6M", "5M"], + odorsleuth: ["7L1", "6L1", "5L1"], + overheat: ["7M", "6M", "5M"], + poisonjab: ["7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["7M", "7L55", "6M", "6L55", "5M", "5L55"], + rockslide: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + rollout: ["7L23", "6L23", "5L23"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["7M", "6M", "5T"], + smackdown: ["7M", "6M", "5M"], + smog: ["7L20", "6L20", "5L20"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + stompingtantrum: ["7T"], + stoneedge: ["7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + superpower: ["7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + tackle: ["7L1", "6L1", "5L1"], + tailwhip: ["7L1", "6L1", "5L1"], + takedown: ["7L28", "6L28", "6S1", "5L28"], + taunt: ["7M", "6M", "5M"], + thunderpunch: ["7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + wildcharge: ["7M", "6M", "5M", "5S0"], + willowisp: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "6T"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["flareblitz", "hammerarm", "wildcharge", "headsmash"], pokeball: "cherishball"}, + {generation: 6, level: 50, isHidden: true, moves: ["flareblitz", "holdback", "headsmash", "takedown"], pokeball: "cherishball"}, + ], + }, + oshawott: { + learnset: { + aerialace: ["9M", "9L25", "7M", "6M", "5M"], + airslash: ["9M", "9E", "7E", "6E", "5E"], + aquacutter: ["9E"], + aquajet: ["9L29", "7L29", "6L29", "5L29"], + aquatail: ["9L35", "7T", "7L35", "6T", "6L35", "5T", "5L35"], + assurance: ["7E", "6E", "5E"], + attract: ["7M", "6M", "5M"], + avalanche: ["9M"], + blizzard: ["9M", "7M", "6M", "5M"], + brine: ["7E", "6E", "5E"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9E", "7E", "6E", "5E"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + detect: ["9E", "7E", "6E", "5E"], + dig: ["9M", "6M", "5M"], + dive: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + encore: ["9M", "9L31", "7L31", "6L31", "5L31"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + falseswipe: ["9M", "7M", "6M", "5M"], + fling: ["9M", "7M", "6M", "5M"], + flipturn: ["9M"], + focusenergy: ["9L13", "7L13", "6L13", "5L13"], + frustration: ["7M", "6M", "5M"], + furycutter: ["9L19", "7L19", "6L19", "5L19"], + grassknot: ["9M", "7M", "6M", "5M"], + hail: ["7M", "6M", "5M"], + helpinghand: ["9M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["9M", "9L43", "7L43", "6L43", "5L43"], + icebeam: ["9M", "7M", "6M", "5M"], + icywind: ["9M", "7T", "6T", "5T"], + irontail: ["7T", "6T", "5T"], + knockoff: ["9M", "9E"], + liquidation: ["9M"], + nightslash: ["9E", "7E", "6E", "5E"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + razorshell: ["9L17", "7L17", "6L17", "5L17"], + rest: ["9M", "7M", "6M", "5M"], + retaliate: ["9L37", "7L37", "6M", "6L37", "5M", "5L37"], + return: ["7M", "6M", "5M"], + revenge: ["7L25", "6L25", "5L25"], + rocksmash: ["6M", "5M"], + round: ["7M", "6M", "5M"], + sacredsword: ["9E", "7E"], + scald: ["7M", "6M", "5M"], + screech: ["9E", "7E", "6E", "5E"], + secretpower: ["6M"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + snowscape: ["9M"], + soak: ["9L11"], + substitute: ["9M", "7M", "6M", "5M"], + surf: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + swordsdance: ["9M", "9L41", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + tailwhip: ["9L5", "7L5", "6L5", "5L5"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "6M", "5M"], + trumpcard: ["7E", "6E", "5E"], + waterfall: ["9M", "7M", "6M", "5M"], + watergun: ["9L7", "7L7", "6L7", "5L7"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "9L23", "7T", "7L23", "6T", "6L23", "5L23"], + watersport: ["7L11", "6L11", "5L11"], + workup: ["7M"], + xscissor: ["9M", "7M", "6M", "5M"], + }, + }, + dewott: { + learnset: { + aerialace: ["9M", "9L29", "7M", "6M", "5M"], + airslash: ["9M"], + aquajet: ["9L34", "7L34", "6L33", "5L33"], + aquatail: ["9L42", "7T", "7L42", "6T", "6L41", "5T", "5L41"], + attract: ["7M", "6M", "5M"], + avalanche: ["9M"], + blizzard: ["9M", "7M", "6M", "5M"], + brickbreak: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + dig: ["9M", "6M", "5M"], + dive: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + encore: ["9M", "9L37", "7L37", "6L36", "5L36"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + falseswipe: ["9M", "7M", "6M", "5M"], + fling: ["9M", "7M", "6M", "5M"], + flipturn: ["9M"], + focusenergy: ["9L13", "7L13", "6L13", "5L13"], + frustration: ["7M", "6M", "5M"], + furycutter: ["9L21", "7L21", "6L20", "5L20"], + grassknot: ["9M", "7M", "6M", "5M"], + hail: ["7M", "6M", "5M"], + helpinghand: ["9M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["9M", "9L53", "7L53", "6L52", "5L52"], + icebeam: ["9M", "7M", "6M", "5M"], + icywind: ["9M", "7T", "6T", "5T"], + irontail: ["7T", "6T", "5T"], + knockoff: ["9M"], + liquidation: ["9M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + razorshell: ["9L18", "7L18", "6L17", "5L17"], + rest: ["9M", "7M", "6M", "5M"], + retaliate: ["9L45", "7L45", "6M", "6L44", "5M", "5L44"], + return: ["7M", "6M", "5M"], + revenge: ["7L29", "6L28", "5L28"], + rocksmash: ["6M", "5M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + snowscape: ["9M"], + soak: ["9L1"], + substitute: ["9M", "7M", "6M", "5M"], + surf: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + swordsdance: ["9M", "9L50", "7M", "7L50", "6M", "6L49", "5M", "5L49"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + tailwhip: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "6M", "5M"], + vacuumwave: ["9M"], + waterfall: ["9M", "7M", "6M", "5M"], + watergun: ["9L1", "7L1", "6L1", "5L1"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "9L26", "7T", "7L26", "6T", "6L25", "5L25"], + watersport: ["7L1", "6L1", "5L1"], + workup: ["7M"], + xscissor: ["9M", "7M", "6M", "5M"], + }, + }, + samurott: { + learnset: { + aerialace: ["9M", "9L29", "7M", "6M", "5M"], + airslash: ["9M"], + aquajet: ["9L34", "7L34", "6L33", "5L33"], + aquatail: ["9L46", "7T", "7L46", "6T", "6L45", "5T", "5L45"], + attract: ["7M", "6M", "5M"], + avalanche: ["9M"], + blizzard: ["9M", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M", "6S1"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + dig: ["9M", "6M", "5M"], + dive: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dragontail: ["7M", "6M", "5M"], + drillrun: ["9M"], + encore: ["9M", "9L39", "7L39", "6L38", "5L38"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + falseswipe: ["9M", "7M", "6M", "5M"], + fling: ["9M", "7M", "6M", "5M"], + flipturn: ["9M"], + focusenergy: ["9L13", "7L13", "6L13", "5L13"], + frustration: ["7M", "6M", "5M"], + furycutter: ["9L21", "7L21", "6L20", "5L20"], + gigaimpact: ["9M", "7M", "6M", "5M"], + grassknot: ["9M", "7M", "6M", "5M"], + hail: ["7M", "6M", "5M"], + helpinghand: ["9M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + holdback: ["6S1"], + hydrocannon: ["9M", "7T", "6T", "5T"], + hydropump: ["9M", "9L63", "7L63", "6L62", "6S1", "5L62", "5S0"], + hyperbeam: ["9M", "7M", "6M", "5M"], + icebeam: ["9M", "7M", "6M", "5M", "5S0"], + icywind: ["9M", "7T", "6T", "5T"], + irontail: ["7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + liquidation: ["9M", "7T"], + megahorn: ["9L1", "7L1", "6L1", "5L1", "5S0"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + razorshell: ["9L18", "7L18", "6L17", "6S1", "5L17"], + rest: ["9M", "7M", "6M", "5M"], + retaliate: ["9L51", "7L51", "6M", "6L50", "5M", "5L50"], + return: ["7M", "6M", "5M"], + revenge: ["7L29", "6L28", "5L28"], + rocksmash: ["6M", "5M"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M"], + slash: ["9L0", "7L1", "6L36", "5L36"], + sleeptalk: ["9M", "7M", "6M", "5T"], + smartstrike: ["9M", "7M"], + snore: ["7T", "6T", "5T"], + snowscape: ["9M"], + soak: ["9L1"], + strength: ["6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + superpower: ["7T", "6T", "5T", "5S0"], + surf: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + swordsdance: ["9M", "9L58", "7M", "7L58", "6M", "6L57", "5M", "5L57"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + tailwhip: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["7M", "6M", "5M"], + vacuumwave: ["9M"], + waterfall: ["9M", "7M", "6M", "5M"], + watergun: ["9L1", "7L1", "6L1", "5L1"], + waterpledge: ["9M", "7T", "6T", "5T"], + waterpulse: ["9M", "9L25", "7T", "7L25", "6T", "6L25", "5L25"], + watersport: ["7L1", "6L1", "5L1"], + workup: ["7M"], + xscissor: ["9M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["hydropump", "icebeam", "megahorn", "superpower"], pokeball: "cherishball"}, + {generation: 6, level: 50, isHidden: true, moves: ["razorshell", "holdback", "confide", "hydropump"], pokeball: "cherishball"}, + ], + }, + samurotthisui: { + learnset: { + aerialace: ["9M", "9L29"], + airslash: ["9M"], + aquajet: ["9L34"], + aquatail: ["9L46"], + avalanche: ["9M"], + blizzard: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + ceaselessedge: ["9L0"], + chillingwater: ["9M"], + darkpulse: ["9M"], + dig: ["9M"], + drillrun: ["9M"], + encore: ["9M", "9L39"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + fling: ["9M"], + flipturn: ["9M"], + focusenergy: ["9L13"], + furycutter: ["9L21"], + gigaimpact: ["9M"], + grassknot: ["9M"], + helpinghand: ["9M"], + hydrocannon: ["9M"], + hydropump: ["9M", "9L63"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icywind: ["9M"], + knockoff: ["9M"], + lashout: ["9M"], + liquidation: ["9M"], + megahorn: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + razorshell: ["9L18"], + rest: ["9M"], + retaliate: ["9L51"], + scaryface: ["9M"], + slash: ["9L1"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + snarl: ["9M"], + snowscape: ["9M"], + substitute: ["9M"], + suckerpunch: ["9L1"], + surf: ["9M"], + swift: ["9M"], + swordsdance: ["9M", "9L58"], + tackle: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + vacuumwave: ["9M"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpledge: ["9M"], + waterpulse: ["9M", "9L25"], + xscissor: ["9M"], + }, + }, + patrat: { + learnset: { + afteryou: ["7T", "7L23", "6T", "6L23", "5T", "5L23"], + aquatail: ["7T", "6T", "5T"], + assurance: ["7E", "6E", "5E"], + attract: ["7M", "6M", "5M"], + batonpass: ["7L38", "6L33", "5L33"], + bide: ["7L8", "6L8", "5L8"], + bite: ["7L6", "6L6", "5L6"], + bulletseed: ["7E"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["7L16", "6L16", "5L16"], + cut: ["6M", "5M"], + detect: ["7L11", "6L11", "5L11"], + dig: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + flail: ["7E", "6E", "5E"], + fling: ["7M", "6M", "5M"], + focusenergy: ["7L26"], + foresight: ["7E", "6E", "5E"], + frustration: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + gunkshot: ["7T", "6T", "5T"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperfang: ["7L31", "6L28", "5L28"], + hypnosis: ["7L18", "6L18", "5L18"], + irontail: ["7T", "7E", "6T", "6E", "5T", "5E"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T"], + leer: ["7L3", "6L3", "5L3"], + lowkick: ["7T", "6T", "5T"], + meanlook: ["7L36", "6L31", "5L31"], + nastyplot: ["7L33"], + protect: ["7M", "6M", "5M"], + pursuit: ["7E", "6E", "5E"], + raindance: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["7E", "6E", "5E"], + round: ["7M", "6M", "5M"], + sandattack: ["7L13", "6L13", "5L13"], + screech: ["7E", "6E", "5E"], + secretpower: ["6M"], + seedbomb: ["7T", "6T", "5T"], + shadowball: ["7M", "6M", "5M"], + shockwave: ["7T", "6T"], + slam: ["7L41", "6L36", "5L36"], + sleeptalk: ["7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + superfang: ["7T", "7L21", "6T", "6L21", "5T", "5L21"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["7M", "6M", "5M"], + tackle: ["7L1", "6L1", "5L1"], + tearfullook: ["7E"], + thunderbolt: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + workup: ["7M", "7L28", "6L26", "5M", "5L26"], + zenheadbutt: ["7T", "6T", "5T"], + }, + }, + watchog: { + learnset: { + afteryou: ["7T", "7L25", "6T", "6L25", "5T", "5L25"], + aquatail: ["7T", "6T", "5T"], + attract: ["7M", "6M", "5M"], + batonpass: ["7L46", "6L39", "5L39"], + bide: ["7L8", "6L8", "5L8"], + bite: ["7L1", "6L1", "5L1"], + confide: ["7M", "6M"], + confuseray: ["7L1", "6L20", "5L20"], + covet: ["7T", "6T", "5T"], + crunch: ["7L16", "6L16", "5L16"], + cut: ["6M", "5M"], + detect: ["7L11", "6L11", "5L11"], + dig: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + firepunch: ["7T", "6T", "5T"], + flamethrower: ["7M", "6M", "5M"], + flash: ["6M", "5M"], + fling: ["7M", "6M", "5M"], + focusblast: ["7M", "6M", "5M"], + focusenergy: ["7L29"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + gunkshot: ["7T", "6T", "5T"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["7M", "6M", "5M"], + hyperfang: ["7L36", "6L32", "5L32"], + hypnosis: ["7L18", "6L18", "5L18"], + icepunch: ["7T", "6T", "5T"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T"], + leer: ["7L1", "6L1", "5L1"], + lightscreen: ["7M", "6M", "5M"], + lowkick: ["7T", "7L1", "6T", "6L1", "5T", "5L1"], + meanlook: ["7L43", "6L36", "5L36"], + nastyplot: ["7L39"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M"], + psychup: ["7M", "7L32", "6M", "6L29", "5M", "5L29"], + raindance: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rototiller: ["7L1", "6L1"], + round: ["7M", "6M", "5M"], + sandattack: ["7L13", "6L13", "5L13"], + secretpower: ["6M"], + seedbomb: ["7T", "6T", "5T"], + shadowball: ["7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + slam: ["7L50", "6L43", "5L43"], + sleeptalk: ["7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + stompingtantrum: ["7T"], + strength: ["6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + superfang: ["7T", "7L22", "6T", "6L22", "5T", "5L22"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["7M", "6M", "5M"], + tackle: ["7L1", "6L1", "5L1"], + thunder: ["7M", "6M", "5M"], + thunderbolt: ["7M", "6M", "5M"], + thunderpunch: ["7T", "6T", "5T"], + thunderwave: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + zenheadbutt: ["7T", "6T", "5T"], + }, + }, + lillipup: { + learnset: { + aerialace: ["7M", "6M", "5M"], + afteryou: ["8E", "7T", "7E", "6T", "6E"], + attract: ["8M", "7M", "6M", "5M"], + babydolleyes: ["8L17", "7L10", "6L10"], + bite: ["8L8", "7L8", "6L8", "5L8"], + charm: ["8M", "7E", "6E", "5E"], + confide: ["7M", "6M"], + covet: ["8E", "7T", "6T", "5T"], + crunch: ["8M", "8L24", "7L22", "6L22", "5L22"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M", "7E", "6E", "5E"], + facade: ["8M", "7M", "6M", "5M"], + firefang: ["8M", "7E", "6E", "5E"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "8L48", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + helpinghand: ["8M", "8L32", "7T", "7L12", "6T", "6L12", "5T", "5L12"], + hiddenpower: ["7M", "6M", "5M"], + howl: ["8E", "7E", "6E", "5E"], + hypervoice: ["8M", "7T", "6T", "5T"], + icefang: ["8M", "7E", "6E", "5E"], + lastresort: ["8L44", "7T", "7L36", "6T", "6L36", "5T", "5L36"], + leer: ["8L1", "7L1", "6L1", "5L1"], + lick: ["8E", "7E", "6E", "5E"], + mudslap: ["8E", "7E", "6E", "5E"], + odorsleuth: ["7L5", "6L5", "5L5"], + payback: ["8M"], + playrough: ["8M", "8L20", "7L45", "6L45"], + protect: ["8M", "7M", "6M", "5M"], + psychicfangs: ["8M", "7E"], + pursuit: ["7E", "6E", "5E"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L12", "7L29", "6M", "6L29", "5M", "5L29"], + return: ["7M", "6M", "5M"], + reversal: ["8M", "8L36", "7L33", "6L33", "5L33"], + roar: ["8L40", "7M", "7L26", "6M", "6L26", "5M", "5L26"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["7E", "6E", "5E"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + takedown: ["8L28", "7L15", "6L15", "5L15"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderfang: ["8M", "7E", "6E", "5E"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + wildcharge: ["8M", "7M", "6M", "5M"], + workup: ["8M", "8L4", "7M", "7L19", "6L19", "5M", "5L19"], + yawn: ["8E", "7E", "6E", "5E"], + }, + }, + herdier: { + learnset: { + aerialace: ["7M", "6M", "5M"], + afteryou: ["7T", "6T"], + attract: ["8M", "7M", "6M", "5M"], + babydolleyes: ["8L19"], + bite: ["8L1", "7L1", "6L1", "5L1"], + charm: ["8M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["8M", "8L30", "7L24", "6L24", "5L24"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + firefang: ["8M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "8L66", "7M", "7L47", "6M", "6L47", "5M", "5L47"], + helpinghand: ["8M", "8L42", "7T", "7L12", "6T", "6L12", "5T", "5L12"], + hiddenpower: ["7M", "6M", "5M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icefang: ["8M"], + lastresort: ["8L60", "7T", "7L42", "6T", "6L42", "5T", "5L42"], + leer: ["8L1", "7L1", "6L1", "5L1"], + odorsleuth: ["7L1", "6L1", "5L1"], + payback: ["8M", "7M", "6M", "5M"], + playrough: ["8M", "8L24", "7L52", "6L52"], + protect: ["8M", "7M", "6M", "5M"], + psychicfangs: ["8M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L12", "7L33", "6M", "6L33", "5M", "5L33"], + return: ["7M", "6M", "5M"], + reversal: ["8M", "8L48", "7L38", "6L38", "5L38"], + roar: ["8L54", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + takedown: ["8L36", "7L15", "6L15", "5L15"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderfang: ["8M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + wildcharge: ["8M", "7M", "6M", "5M"], + workup: ["8M", "8L1", "7M", "7L20", "6L20", "5M", "5L20"], + }, + encounters: [ + {generation: 5, level: 20, isHidden: true}, + ], + }, + stoutland: { + learnset: { + aerialace: ["7M", "6M", "5M"], + afteryou: ["7T", "6T"], + attract: ["8M", "7M", "6M", "5M"], + babydolleyes: ["8L19"], + bite: ["8L1", "7L1", "6L1", "5L1"], + charm: ["8M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["8M", "8L30", "7L24", "6L24", "5L24"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + firefang: ["8M", "8L1", "7L1", "6L1", "5L1"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "8L78", "7M", "7L59", "6M", "6L59", "5M", "5L59"], + helpinghand: ["8M", "8L46", "7T", "7L12", "6T", "6L12", "5T", "5L12"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "7T", "6T", "5T"], + icefang: ["8M", "8L1", "7L1", "6L1", "5L1"], + ironhead: ["8M", "7T", "6T", "5T"], + lastresort: ["8L70", "7T", "7L51", "6T", "6L51", "5T", "5L51"], + leer: ["8L1", "7L1", "6L1", "5L1"], + odorsleuth: ["7L1", "6L1", "5L1"], + payback: ["8M", "7M", "6M", "5M"], + playrough: ["8M", "8L24", "7L63", "6L63"], + protect: ["8M", "7M", "6M", "5M"], + psychicfangs: ["8M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L12", "7L36", "6M", "6L36", "5M", "5L36"], + return: ["7M", "6M", "5M"], + reversal: ["8M", "8L54", "7L42", "6L42", "5L42"], + roar: ["8L62", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snarl: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + takedown: ["8L38", "7L15", "6L15", "5L15"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderfang: ["8M", "8L1", "7L1", "6L1", "5L1"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + wildcharge: ["8M", "7M", "6M", "5M"], + workup: ["8M", "8L1", "7M", "7L20", "6L20", "5M", "5L20"], + }, + encounters: [ + {generation: 5, level: 23}, + ], + }, + purrloin: { + learnset: { + aerialace: ["7M", "6M", "5M"], + assist: ["7L6", "6L6", "5L6"], + assurance: ["8M", "8L21", "7L28", "6L28", "5L28"], + attract: ["8M", "7M", "6M", "5M"], + batonpass: ["8M"], + captivate: ["7L33", "6L33", "5L33"], + charm: ["8M", "7E", "6E", "5E"], + confide: ["7M", "6M"], + copycat: ["8E", "7E", "6E"], + covet: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + cut: ["6M", "5M"], + darkpulse: ["8M", "7M", "6M", "5T"], + doubleteam: ["8E", "7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + encore: ["8M", "7E", "6E", "5E"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + fakeout: ["8L5", "7L21", "6L21", "5L21"], + faketears: ["8M", "7E", "6E", "5E"], + feintattack: ["7E", "6E", "5E"], + foulplay: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["8L12", "7L12", "6L12", "5L12"], + grassknot: ["8M", "7M", "6M", "5M"], + growl: ["8L1", "7L3", "6L3", "5L3"], + gunkshot: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["8L24", "7L24", "6M", "6L24", "5M", "5L24"], + hypervoice: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + lashout: ["8T"], + nastyplot: ["8M", "8L32", "7L42", "6L42", "5L42"], + nightslash: ["8L36", "7L37", "6L37", "5L37"], + payback: ["8M", "7M", "6M", "5M"], + payday: ["8M", "7E", "6E", "5E"], + playrough: ["8M", "8L40", "7L49", "6L49"], + protect: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + pursuit: ["7L15", "6L15", "5L15"], + quickattack: ["8E"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L4", "7L10", "6L10", "5L10"], + scratch: ["8L1", "7L1", "6L1", "5L1"], + screech: ["8M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + shadowball: ["8M", "7M", "6M", "5M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + slash: ["8E", "7L30", "6L30", "5L30"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snarl: ["8M", "7M", "6M", "5M"], + snatch: ["7T", "7L39", "6T", "6L39", "5T", "5L39"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8L28", "7L46", "6L46", "5L46"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + taunt: ["8M", "7M", "6M", "5M"], + thief: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + torment: ["8L16", "7M", "7L19", "6M", "6L19", "5M", "5L19"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + yawn: ["8E", "7E", "6E", "5E"], + }, + }, + liepard: { + learnset: { + aerialace: ["7M", "6M", "5M"], + assist: ["7L1", "6L1", "5L1"], + assurance: ["8M", "8L23", "7L31", "6L31", "5L31"], + attract: ["8M", "7M", "6M", "5M"], + batonpass: ["8M"], + burningjealousy: ["8T"], + charm: ["8M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + darkpulse: ["8M", "7M", "6M", "5T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + encore: ["8M", "5S0"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + fakeout: ["8L1", "7L22", "6L22", "5L22", "5S0"], + faketears: ["8M"], + foulplay: ["8M", "7T", "6T", "5T", "5S0"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["8L12", "7L12", "6L12", "5L12"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + growl: ["8L1", "7L1", "6L1", "5L1"], + gunkshot: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["8L28", "7L26", "6M", "6L26", "5M", "5L26"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + lashout: ["8T"], + nastyplot: ["8M", "8L40", "7L50", "6L50", "5L50"], + nightslash: ["8L46", "7L43", "6L43", "5L43"], + payback: ["8M", "7M", "6M", "5M"], + payday: ["8M"], + playrough: ["8M", "8L52", "7L58", "6L58"], + protect: ["8M", "7M", "6M", "5M"], + psychocut: ["8M"], + psychup: ["7M", "6M", "5M"], + pursuit: ["7L15", "6L15", "5L15"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1"], + scratch: ["8L1", "7L1", "6L1", "5L1"], + screech: ["8M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + shadowball: ["8M", "7M", "6M", "5M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + skittersmack: ["8T"], + slash: ["7L34", "6L34", "5L34"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snarl: ["8M", "7M", "6M", "5M"], + snatch: ["7T", "7L47", "6T", "6L47", "5T", "5L47"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8L34", "7L55", "6L55", "5L55"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M", "5S0"], + swift: ["8M"], + taunt: ["8M", "7M", "7L38", "6M", "6L38", "5M", "5L38"], + thief: ["8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + thunderwave: ["8M", "7M", "6M", "5M"], + torment: ["8L16", "7M", "7L19", "6M", "6L19", "5M", "5L19"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 5, level: 20, gender: "F", nature: "Jolly", isHidden: true, moves: ["fakeout", "foulplay", "encore", "swagger"]}, + ], + }, + pansage: { + learnset: { + acrobatics: ["7M", "7L31", "6M", "6L31", "5M", "5L31"], + astonish: ["7E", "6E", "5E"], + attract: ["7M", "6M", "5M"], + bite: ["7L19", "6L19", "5L19", "5S0"], + bulletseed: ["7E", "6E", "5E", "5S0"], + confide: ["7M", "6M"], + covet: ["7T", "7E", "6T", "6E", "5T", "5E"], + crunch: ["7L43", "6L43", "5L43"], + cut: ["6M", "5M"], + dig: ["6M", "5M", "5S0", "5S2"], + disarmingvoice: ["7E", "6E"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + energyball: ["7M", "6M", "5M"], + facade: ["7M", "6M", "5M"], + flash: ["6M", "5M"], + fling: ["7M", "7L28", "6M", "6L28", "5M", "5L28"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["7L13", "6L13", "5L13"], + gastroacid: ["7T", "6T"], + gigadrain: ["7T", "6T", "5T"], + grassknot: ["7M", "7L34", "6M", "6L34", "5M", "5L34"], + grasspledge: ["7T"], + grasswhistle: ["7E", "6E", "5E"], + gunkshot: ["7T", "6T", "5T"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leafstorm: ["7E", "6E", "5E", "5S1"], + leechseed: ["7L16", "6L16", "5L16"], + leer: ["7L4", "6L4", "5L4", "5S1"], + lick: ["7L7", "6L7", "5L7", "5S1"], + lowkick: ["7T", "7E", "6T", "6E", "5T", "5E"], + lowsweep: ["7M", "6M", "5M"], + magicalleaf: ["7E", "6E", "5E"], + nastyplot: ["7E", "6E", "5E"], + naturalgift: ["7L40", "6L40", "5L40"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M", "5M"], + playnice: ["7L1", "6L1"], + protect: ["7M", "6M", "5M"], + recycle: ["7T", "7L37", "6T", "6L37", "5T", "5L37"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M", "5S2"], + roleplay: ["7T", "7E", "6T", "6E", "5T", "5E"], + round: ["7M", "6M", "5M"], + scratch: ["7L1", "6L1", "5L1"], + secretpower: ["6M"], + seedbomb: ["7T", "7L22", "6T", "6L22", "5T", "5L22", "5S2"], + shadowclaw: ["7M", "6M", "5M"], + sleeptalk: ["7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M", "5S0", "5S2"], + spikyshield: ["7E"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + synthesis: ["7T", "6T", "5T"], + taunt: ["7M", "6M", "5M"], + thief: ["7M", "6M", "5M"], + tickle: ["7E", "6E", "5E"], + torment: ["7M", "7L25", "6M", "6L25", "5M", "5L25"], + toxic: ["7M", "6M", "5M"], + uproar: ["7T", "6T", "5T"], + vinewhip: ["7L10", "6L10", "5L10", "5S1"], + workup: ["7M", "5M"], + worryseed: ["7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 1, shiny: 1, gender: "M", nature: "Brave", ivs: {spa: 31}, moves: ["bulletseed", "bite", "solarbeam", "dig"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["leer", "lick", "vinewhip", "leafstorm"]}, + {generation: 5, level: 30, gender: "M", nature: "Serious", moves: ["seedbomb", "solarbeam", "rocktomb", "dig"], pokeball: "cherishball"}, + ], + }, + simisage: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + attract: ["7M", "6M", "5M"], + brickbreak: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + dig: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + energyball: ["7M", "6M", "5M"], + facade: ["7M", "6M", "5M"], + flash: ["6M", "5M"], + fling: ["7M", "6M", "5M"], + focusblast: ["7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["7L1", "6L1", "5L1"], + gastroacid: ["7T", "6T"], + gigadrain: ["7T", "6T", "5T"], + gigaimpact: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + grasspledge: ["7T"], + gunkshot: ["7T", "6T", "5T"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["7M", "6M", "5M"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leer: ["7L1", "6L1", "5L1"], + lick: ["7L1", "6L1", "5L1"], + lowkick: ["7T", "6T", "5T"], + lowsweep: ["7M", "6M", "5M"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["7T", "7L1", "6T", "6L1", "5T", "5L1"], + shadowclaw: ["7M", "6M", "5M"], + sleeptalk: ["7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + superpower: ["7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + synthesis: ["7T", "6T", "5T"], + taunt: ["7M", "6M", "5M"], + thief: ["7M", "6M", "5M"], + throatchop: ["7T"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["7T", "6T", "5T"], + workup: ["7M", "5M"], + worryseed: ["7T", "6T", "5T"], + }, + }, + pansear: { + learnset: { + acrobatics: ["7M", "7L31", "6M", "6L31", "5M", "5L31"], + amnesia: ["7L25", "6L25", "5L25"], + astonish: ["7E", "6E", "5E"], + attract: ["7M", "6M", "5M"], + belch: ["7E"], + bite: ["7L19", "6L19", "5L19"], + confide: ["7M", "6M"], + covet: ["7T", "7E", "6T", "6E", "5T", "5E"], + crunch: ["7L43", "6L43", "5L43"], + cut: ["6M", "5M"], + dig: ["6M", "5M"], + disarmingvoice: ["7E", "6E"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + fireblast: ["7M", "7L34", "6M", "6L34", "5M", "5L34"], + firepledge: ["7T"], + firepunch: ["7T", "7E", "6T", "6E", "5T", "5E"], + firespin: ["7E", "6E", "5E"], + flameburst: ["7L22", "6L22", "5L22"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["7M", "6M", "5M"], + flareblitz: ["7E"], + fling: ["7M", "7L28", "6M", "6L28", "5M", "5L28"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["7L13", "6L13", "5L13"], + gastroacid: ["7T", "6T"], + grassknot: ["7M", "6M", "5M"], + gunkshot: ["7T", "6T", "5T"], + heatwave: ["7T", "7E", "6T", "6E", "5T", "5E", "5S0"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + incinerate: ["7L10", "6M", "6L10", "5M", "5L10", "5S0"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leer: ["7L4", "6L4", "5L4", "5S0"], + lick: ["7L7", "6L7", "5L7", "5S0"], + lowkick: ["7T", "7E", "6T", "6E", "5T", "5E"], + lowsweep: ["7M", "6M", "5M"], + nastyplot: ["7E", "6E", "5E"], + naturalgift: ["7L40", "6L40", "5L40"], + overheat: ["7M", "6M", "5M"], + payback: ["7M", "6M", "5M"], + playnice: ["7L1", "6L1"], + protect: ["7M", "6M", "5M"], + recycle: ["7T", "7L37", "6T", "6L37", "5T", "5L37"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + roleplay: ["7T", "7E", "6T", "6E", "5T", "5E"], + round: ["7M", "6M", "5M"], + scratch: ["7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowclaw: ["7M", "6M", "5M"], + sleeptalk: ["7M", "7E", "6M", "6E", "5T", "5E"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["7M", "6M", "5M"], + thief: ["7M", "6M", "5M"], + tickle: ["7E", "6E", "5E"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["7T", "6T", "5T"], + willowisp: ["7M", "6M", "5M"], + workup: ["7M", "5M"], + yawn: ["7L16", "6L16", "5L16"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["leer", "lick", "incinerate", "heatwave"]}, + ], + }, + simisear: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + attract: ["7M", "6M", "5M"], + brickbreak: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + dig: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + fireblast: ["7M", "6M", "5M"], + firepledge: ["7T"], + firepunch: ["7T", "6T", "5T"], + flameburst: ["7L1", "6L1", "5L1"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["7M", "6M", "5M"], + fling: ["7M", "6M", "5M"], + focusblast: ["7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["7L1", "6L1", "5L1"], + gastroacid: ["7T", "6T"], + gigaimpact: ["7M", "6M", "6S0", "5M"], + grassknot: ["7M", "6M", "5M"], + gunkshot: ["7T", "6T", "5T"], + heatwave: ["7T", "6T", "5T"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "6S0", "5M"], + hyperbeam: ["7M", "6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leer: ["7L1", "6L1", "5L1"], + lick: ["7L1", "6L1", "5L1"], + lowkick: ["7T", "6T", "5T"], + lowsweep: ["7M", "6M", "5M"], + overheat: ["7M", "6M", "5M"], + payback: ["7M", "6M", "5M"], + poweruppunch: ["6M", "6S0"], + protect: ["7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["7M", "6M", "5M"], + secretpower: ["6M"], + shadowclaw: ["7M", "6M", "5M"], + sleeptalk: ["7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["7M", "6M", "5M"], + substitute: ["7M", "6M", "5M"], + sunnyday: ["7M", "6M", "5M"], + superpower: ["7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + taunt: ["7M", "6M", "5M"], + thief: ["7M", "6M", "5M"], + throatchop: ["7T"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["7T", "6T", "5T"], + willowisp: ["7M", "6M", "5M"], + workup: ["7M", "6S0", "5M"], + }, + eventData: [ + {generation: 6, level: 5, perfectIVs: 2, moves: ["workup", "honeclaws", "poweruppunch", "gigaimpact"], pokeball: "cherishball"}, + ], + }, + panpour: { + learnset: { + acrobatics: ["7M", "7L31", "6M", "6L31", "5M", "5L31"], + aquaring: ["7E", "6E", "5E"], + aquatail: ["7T", "7E", "6T", "6E", "5T", "5E"], + astonish: ["7E", "6E", "5E"], + attract: ["7M", "6M", "5M"], + bite: ["7L19", "6L19", "5L19"], + blizzard: ["7M", "6M", "5M"], + brine: ["7L34", "6L34", "5L34"], + confide: ["7M", "6M"], + covet: ["7T", "7E", "6T", "6E", "5T", "5E"], + crunch: ["7L43", "6L43", "5L43"], + cut: ["6M", "5M"], + dig: ["6M", "5M"], + disarmingvoice: ["7E", "6E"], + dive: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + fling: ["7M", "7L28", "6M", "6L28", "5M", "5L28"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["7L13", "6L13", "5L13"], + gastroacid: ["7T", "6T"], + grassknot: ["7M", "6M", "5M"], + gunkshot: ["7T", "6T", "5T"], + hail: ["7M", "6M", "5M"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hydropump: ["7E", "6E", "5E", "5S0"], + icebeam: ["7M", "6M", "5M"], + icepunch: ["7T", "6T", "5T"], + icywind: ["7T", "6T", "5T"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leer: ["7L4", "6L4", "5L4", "5S0"], + lick: ["7L7", "6L7", "5L7", "5S0"], + lowkick: ["7T", "7E", "6T", "6E", "5T", "5E"], + lowsweep: ["7M", "6M", "5M"], + mudsport: ["7E", "6E", "5E"], + nastyplot: ["7E", "6E", "5E"], + naturalgift: ["7L40", "6L40", "5L40"], + payback: ["7M", "6M", "5M"], + playnice: ["7L1", "6L1"], + protect: ["7M", "6M", "5M"], + raindance: ["7M", "6M", "5M"], + recycle: ["7T", "7L37", "6T", "6L37", "5T", "5L37"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + roleplay: ["7T", "7E", "6T", "6E", "5T", "5E"], + round: ["7M", "6M", "5M"], + scald: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + scratch: ["7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowclaw: ["7M", "6M", "5M"], + sleeptalk: ["7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + substitute: ["7M", "6M", "5M"], + surf: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["7M", "7L25", "6M", "6L25", "5M", "5L25"], + thief: ["7M", "6M", "5M"], + tickle: ["7E", "6E", "5E"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["7T", "6T", "5T"], + waterfall: ["7M", "6M", "5M"], + watergun: ["7L10", "6L10", "5L10", "5S0"], + waterpledge: ["7T"], + waterpulse: ["7T", "6T"], + watersport: ["7L16", "6L16", "5L16"], + workup: ["7M", "5M"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["leer", "lick", "watergun", "hydropump"]}, + ], + }, + simipour: { + learnset: { + acrobatics: ["7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + attract: ["7M", "6M", "5M"], + blizzard: ["7M", "6M", "5M"], + brickbreak: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + dig: ["6M", "5M"], + dive: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + facade: ["7M", "6M", "5M"], + fling: ["7M", "6M", "5M"], + focusblast: ["7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["7L1", "6L1", "5L1"], + gastroacid: ["7T", "6T"], + gigaimpact: ["7M", "6M", "5M"], + grassknot: ["7M", "6M", "5M"], + gunkshot: ["7T", "6T", "5T"], + hail: ["7M", "6M", "5M"], + helpinghand: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["7M", "6M", "5M"], + icebeam: ["7M", "6M", "5M"], + icepunch: ["7T", "6T", "5T"], + icywind: ["7T", "6T", "5T"], + irontail: ["7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + leer: ["7L1", "6L1", "5L1"], + lick: ["7L1", "6L1", "5L1"], + lowkick: ["7T", "6T", "5T"], + lowsweep: ["7M", "6M", "5M"], + payback: ["7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["7M", "6M", "5M"], + raindance: ["7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["7M", "6M", "5M"], + scald: ["7M", "7L1", "6M", "6L1", "5M", "5L1"], + secretpower: ["6M"], + shadowclaw: ["7M", "6M", "5M"], + sleeptalk: ["7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + substitute: ["7M", "6M", "5M"], + superpower: ["7T", "6T", "5T"], + surf: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["7M", "6M", "5M"], + thief: ["7M", "6M", "5M"], + throatchop: ["7T"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["7T", "6T", "5T"], + waterfall: ["7M", "6M", "5M"], + waterpledge: ["7T"], + waterpulse: ["7T", "6T"], + workup: ["7M", "5M"], + }, + }, + munna: { + learnset: { + afteryou: ["7T", "6T", "5T"], + allyswitch: ["8M", "7T"], + amnesia: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + barrier: ["7E", "6E", "5E"], + batonpass: ["7E", "6E", "5E"], + calmmind: ["8M", "8L28", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "6E", "5E"], + dazzlinggleam: ["8M", "7M", "6M"], + defensecurl: ["8L1", "7L1", "6L1", "5L1"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["8L44", "7M", "7L41", "7S0", "6M", "6L41", "5M", "5L41"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "8L48", "7L31", "6L31", "5L31"], + gravity: ["7T", "6T", "5T"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M"], + healbell: ["7T", "6T", "5T"], + healingwish: ["8E", "7E", "6E"], + helpinghand: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + hiddenpower: ["7M", "6M", "5M"], + hypnosis: ["8L4", "7L19", "7S0", "6L19", "5L19"], + imprison: ["8M", "8L12", "7L13", "6L13", "5L13"], + lightscreen: ["8M", "7M", "6M", "5M"], + luckychant: ["7L5", "6L5", "5L5"], + magiccoat: ["8L20", "7T", "7E", "6T", "6E", "5T", "5E"], + moonblast: ["8L40"], + moonlight: ["8L16", "7L17", "6L17", "5L17"], + nightmare: ["7L29", "6L29", "5L29"], + painsplit: ["7T", "6T", "5T"], + powerswap: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + psybeam: ["8L8", "7L11", "6L11", "5L11"], + psychic: ["8M", "8L36", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "7S0", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["7E", "6M", "6E", "5E"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "7E", "7S0", "6M", "6E", "5T", "5E"], + snore: ["8M", "7T", "6T", "5T"], + sonicboom: ["7E", "6E", "5E"], + storedpower: ["8M", "8L1", "7L47", "6L47", "5L47"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M", "7E", "6E", "5E"], + synchronoise: ["7L25", "6L25", "5L25"], + telekinesis: ["7T", "7L43", "6L43", "5M", "5L43"], + thunderwave: ["8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + wonderroom: ["8M", "8L52", "7T", "6T", "5T"], + worryseed: ["7T", "6T", "5T"], + yawn: ["8L32", "7L7", "6L7", "5L7"], + zenheadbutt: ["8M", "8L24", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + }, + eventData: [ + {generation: 7, level: 39, nature: "Mild", isHidden: true, moves: ["hypnosis", "dreameater", "rest", "sleeptalk"], pokeball: "dreamball"}, + ], + }, + musharna: { + learnset: { + afteryou: ["7T", "6T", "5T"], + allyswitch: ["8M", "7T"], + amnesia: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "8L1", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + dazzlinggleam: ["8M", "7M", "6M"], + defensecurl: ["8L1", "7L1", "6L1", "5L1", "5S0"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["8L1", "7M", "6M", "5M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "8L1"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M"], + healbell: ["7T", "6T", "5T"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypnosis: ["8L1", "7L1", "6L1", "5L1", "5S0"], + imprison: ["8M", "8L1"], + lightscreen: ["8M", "7M", "6M", "5M"], + luckychant: ["7L1", "6L1", "5L1", "5S0"], + magiccoat: ["8L1", "7T", "6T", "5T"], + mistyexplosion: ["8T"], + moonblast: ["8L1"], + moonlight: ["8L1"], + painsplit: ["7T", "6T", "5T"], + powerswap: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + psybeam: ["8L1", "7L1", "6L1", "5L1", "5S0"], + psychic: ["8M", "8L1", "7M", "6M", "5M"], + psychicterrain: ["8M", "8L1", "7L1"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + storedpower: ["8M", "8L1"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + telekinesis: ["7T", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + wonderroom: ["8M", "8L1", "7T", "6T", "5T"], + worryseed: ["7T", "6T", "5T"], + yawn: ["8L1"], + zenheadbutt: ["8M", "8L1", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 50, isHidden: true, moves: ["defensecurl", "luckychant", "psybeam", "hypnosis"]}, + ], + }, + pidove: { + learnset: { + aerialace: ["7M", "6M", "5M"], + agility: ["8M"], + aircutter: ["8L16", "7L15", "6L15", "5L15", "5S0"], + airslash: ["8M", "8L32", "7L29", "6L29", "5L29"], + attract: ["8M", "7M", "6M", "5M"], + bestow: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + defog: ["8E", "7T"], + detect: ["8L28", "7L22", "6L22", "5L22"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "7L43", "6M", "6L43", "5M", "5L43"], + featherdance: ["8L24", "7L36", "6L36", "5L36"], + fly: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + frustration: ["7M", "6M", "5M"], + growl: ["8L1", "7L4", "6L4", "5L4"], + gust: ["8L1", "7L1", "6L1", "5L1", "5D", "5S0"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hypnosis: ["8E", "7E", "6E", "5E", "5D"], + leer: ["8L4", "7L8", "6L8", "5L8"], + luckychant: ["7E", "6E", "5E"], + morningsun: ["8E", "7E", "6E", "5E", "5D"], + nightslash: ["8E", "7E", "6E"], + pluck: ["5M"], + protect: ["8M", "7M", "6M", "5M"], + quickattack: ["8L8", "7L11", "6L11", "5L11", "5S0"], + raindance: ["8M", "7M", "6M", "5M"], + razorwind: ["7L32", "6L32", "5L32"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["8L36", "7M", "7L18", "6M", "6L18", "5T", "5L18"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + skyattack: ["8L44", "7T", "7L50", "6T", "6L50", "5T", "5L50"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "7E", "6M", "6E", "5E"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["8L20", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + swift: ["8M"], + tailwind: ["8L40", "7T", "7L46", "6T", "6L46", "5T", "5L46"], + taunt: ["8M", "8L12", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + uturn: ["8M", "7M", "6M", "5M"], + wish: ["8E", "7E", "6E", "5E"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 5, level: 1, shiny: 1, gender: "F", nature: "Hardy", ivs: {atk: 31}, abilities: ["superluck"], moves: ["gust", "quickattack", "aircutter"], pokeball: "pokeball"}, + ], + }, + tranquill: { + learnset: { + aerialace: ["7M", "6M", "5M"], + agility: ["8M"], + aircutter: ["8L16", "7L15", "6L15", "5L15"], + airslash: ["8M", "8L38", "7L32", "6L32", "5L32"], + attract: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + defog: ["7T"], + detect: ["8L34", "7L23", "6L23", "5L23"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "7L50", "6M", "6L50", "5M", "5L50"], + featherdance: ["8L26", "7L41", "6L41", "5L41"], + fly: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + frustration: ["7M", "6M", "5M"], + growl: ["8L1", "7L1", "6L1", "5L1"], + gust: ["8L1", "7L1", "6L1", "5L1"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + leer: ["8L1", "7L1", "6L1", "5L1"], + pluck: ["5M"], + protect: ["8M", "7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + razorwind: ["7L36", "6L36", "5L36"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["8L44", "7M", "7L18", "6M", "6L18", "5T", "5L18"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + skyattack: ["8L56", "7T", "7L59", "6T", "6L59", "5T", "5L59"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["8L20", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + swift: ["8M"], + tailwind: ["8L50", "7T", "7L54", "6T", "6L54", "5T", "5L54"], + taunt: ["8M", "8L12", "7M", "7L27", "6M", "6L27", "5M", "5L27"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + }, + }, + unfezant: { + learnset: { + aerialace: ["7M", "6M", "5M"], + agility: ["8M"], + aircutter: ["8L16", "7L15", "6L15", "5L15"], + airslash: ["8M", "8L42", "7L33", "6L33", "5L33"], + attract: ["8M", "7M", "6M", "5M"], + bravebird: ["8M"], + confide: ["7M", "6M"], + defog: ["7T"], + detect: ["8L36", "7L23", "6L23", "5L23"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "7L55", "6M", "6L55", "5M", "5L55"], + featherdance: ["8L26", "7L44", "6L44", "5L44"], + fly: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + growl: ["8L1", "7L1", "6L1", "5L1"], + gust: ["8L1", "7L1", "6L1", "5L1"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hurricane: ["8M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + leer: ["8L1", "7L1", "6L1", "5L1"], + pluck: ["5M"], + protect: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + razorwind: ["7L38", "6L38", "5L38"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["8L50", "7M", "7L18", "6M", "6L18", "5T", "5L18"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + skyattack: ["8L66", "7T", "7L66", "6T", "6L66", "5T", "5L66"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["8L20", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + swift: ["8M"], + tailwind: ["8L58", "7T", "7L60", "6T", "6L60", "5T", "5L60"], + taunt: ["8M", "8L12", "7M", "7L27", "6M", "6L27", "5M", "5L27"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + }, + encounters: [ + {generation: 5, level: 22}, + ], + }, + blitzle: { + learnset: { + agility: ["7L36", "6L36", "5L36"], + attract: ["7M", "6M", "5M"], + bounce: ["7T", "6T", "5T"], + charge: ["7L8", "6L8", "5L8"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + discharge: ["7L32", "6L32", "5L32"], + doubleedge: ["7E", "6E", "5E"], + doublekick: ["7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M"], + endure: ["7E", "6E", "5E"], + facade: ["7M", "6M", "5M"], + feint: ["7E"], + flamecharge: ["7M", "7L18", "6M", "6L18", "5M", "5L18"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + lightscreen: ["7M", "6M", "5M"], + lowkick: ["7T"], + magnetrise: ["7T", "6T", "5T"], + mefirst: ["7E", "6E", "5E"], + protect: ["7M", "6M", "5M"], + pursuit: ["7L22", "6L22", "5L22"], + quickattack: ["7L1", "6L1", "5L1"], + rage: ["7E", "6E", "5E"], + raindance: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + sandattack: ["7E", "6E", "5E"], + screech: ["7E", "6E", "5E"], + secretpower: ["6M"], + shockwave: ["7T", "7L11", "7E", "6T", "6L11", "6E", "5L11", "5E"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["7M", "6M", "5T"], + snatch: ["7T", "7E", "6T", "6E"], + snore: ["7T", "6T", "5T"], + spark: ["7L25", "6L25", "5L25"], + stomp: ["7L29", "6L29", "5L29"], + substitute: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tailwhip: ["7L4", "6L4", "5L4"], + takedown: ["7E", "6E", "5E"], + thrash: ["7L43", "6L43", "5L43"], + thunder: ["7M", "6M", "5M"], + thunderbolt: ["7M", "6M", "5M"], + thunderwave: ["7M", "7L15", "6M", "6L15", "5M", "5L15"], + toxic: ["7M", "6M", "5M"], + voltswitch: ["7M", "6M", "5M"], + wildcharge: ["7M", "7L39", "6M", "6L39", "5M", "5L39"], + }, + }, + zebstrika: { + learnset: { + agility: ["7L42", "6L42", "5L42"], + allyswitch: ["7T"], + attract: ["7M", "6M", "5M"], + bounce: ["7T", "6T", "5T"], + charge: ["7L1", "6L1", "5L1"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + discharge: ["7L36", "6L36", "5L36"], + doubleteam: ["7M", "6M", "5M"], + facade: ["7M", "6M", "5M"], + flamecharge: ["7M", "7L18", "6M", "6L18", "5M", "5L18"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["7M", "6M", "5M"], + iondeluge: ["7L1", "6L1"], + laserfocus: ["7T"], + lightscreen: ["7M", "6M", "5M"], + lowkick: ["7T"], + magnetrise: ["7T", "6T", "5T"], + overheat: ["7M", "6M", "5M"], + protect: ["7M", "6M", "5M"], + pursuit: ["7L22", "6L22", "5L22"], + quickattack: ["7L1", "6L1", "5L1"], + raindance: ["7M", "6M", "5M"], + rest: ["7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["7M", "6M", "5M"], + secretpower: ["6M"], + shockwave: ["7T", "7L11", "6T", "6L11", "5L11"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["7M", "6M", "5T"], + snatch: ["7T", "6T"], + snore: ["7T", "6T", "5T"], + spark: ["7L25", "6L25", "5L25"], + stomp: ["7L31", "6L31", "5L31"], + substitute: ["7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tailwhip: ["7L1", "6L1", "5L1"], + thrash: ["7L53", "6L53", "5L53"], + thunder: ["7M", "6M", "5M"], + thunderbolt: ["7M", "6M", "5M"], + thunderwave: ["7M", "7L1", "6M", "6L1", "5M", "5L1"], + toxic: ["7M", "6M", "5M"], + voltswitch: ["7M", "6M", "5M"], + wildcharge: ["7M", "7L47", "6M", "6L47", "5M", "5L47"], + }, + }, + roggenrola: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + autotomize: ["8E", "7E", "6E", "5E"], + block: ["7T", "6T", "5T"], + bodypress: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + explosion: ["8L44", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gravity: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + harden: ["8L4", "7L4", "6L4", "5L4"], + headbutt: ["8L24", "7L10", "6L10", "5L10"], + heavyslam: ["8M", "7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M"], + irondefense: ["8M", "8L20", "7T", "7L20", "6T", "6L20", "5T", "5L20"], + lockon: ["7E", "6E", "5E"], + magnitude: ["7E", "6E", "5E"], + meteorbeam: ["8T"], + mudslap: ["8L12", "7L17", "6L17", "5L17"], + naturepower: ["7M", "6M"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M", "8L32", "7L14", "6L14", "5L14"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L28", "7M", "7L27", "6M", "6L27", "5M", "5L27"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "7E", "6M", "6E", "5M", "5E"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L7", "6L7", "5L7"], + sandstorm: ["8M", "8L36", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + sandtomb: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L16", "7M", "7L23", "6M", "6L23", "5M", "5L23"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "8L8", "7T", "7L30", "6T", "6L30", "5T", "5L30"], + stoneedge: ["8M", "8L40", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + takedown: ["8E", "7E", "6E", "5E"], + toxic: ["7M", "6M", "5M"], + wideguard: ["8E", "7E", "6E"], + }, + }, + boldore: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bodypress: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + curse: ["5D"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + explosion: ["8L54", "7M", "7L55", "6M", "6L55", "5M", "5L55"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + harden: ["8L1", "7L1", "6L1", "5L1"], + headbutt: ["8L24", "7L1", "6L1", "5L1"], + heavyslam: ["8M", "5D"], + hiddenpower: ["7M", "6M", "5M"], + irondefense: ["8M", "8L20", "7T", "7L20", "6T", "6L20", "5T", "5L20"], + meteorbeam: ["8T"], + mudslap: ["8L12", "7L17", "6L17", "5L17"], + naturepower: ["7M", "6M"], + powergem: ["8M", "8L0", "7L1", "6L25", "5L25"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M", "8L36", "7L14", "6L14", "5L14"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L30", "7M", "7L30", "6M", "6L30", "5M", "5L30"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1"], + sandstorm: ["8M", "8L42", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + sandtomb: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L16", "7M", "7L23", "6M", "6L23", "5M", "5L23", "5D"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "8L1", "7T", "7L36", "6T", "6L36", "5T", "5L36"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L48", "7M", "7L48", "6M", "6L48", "5M", "5L48"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + toxic: ["7M", "6M", "5M"], + }, + encounters: [ + {generation: 5, level: 24}, + ], + }, + gigalith: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bodypress: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + explosion: ["8L54", "7M", "7L55", "6M", "6L55", "5M", "5L55"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + harden: ["8L1", "7L1", "6L1", "5L1"], + headbutt: ["8L24", "7L1", "6L1", "5L1"], + heavyslam: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + irondefense: ["8M", "8L20", "7T", "7L20", "6T", "6L20", "5T", "5L20"], + ironhead: ["8M", "7T", "6T", "5T"], + laserfocus: ["7T"], + meteorbeam: ["8T"], + mudslap: ["8L12", "7L17", "6L17", "5L17"], + naturepower: ["7M", "6M"], + powergem: ["8M", "8L1", "7L1", "6L25", "5L25"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M", "8L36", "7L14", "6L14", "5L14"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L30", "7M", "7L30", "6M", "6L30", "5M", "5L30"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1"], + sandstorm: ["8M", "8L42", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + sandtomb: ["8M"], + secretpower: ["6M"], + selfdestruct: ["8M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L16", "7M", "7L23", "6M", "6L23", "5M", "5L23"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + stealthrock: ["8M", "8L1", "7T", "7L36", "6T", "6L36", "5T", "5L36"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L48", "7M", "7L48", "6M", "6L48", "5M", "5L48"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + throatchop: ["8M", "7T"], + toxic: ["7M", "6M", "5M"], + weatherball: ["8M"], + }, + }, + woobat: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M"], + afteryou: ["7T", "6T", "5T"], + aircutter: ["8L15", "7L21", "6L21", "5L21"], + airslash: ["8M", "8L35", "7L32", "6L32", "5L32"], + allyswitch: ["8M", "7T"], + amnesia: ["8M", "8L30", "7L29", "6L29", "5L29"], + assurance: ["8M", "8L25", "7L12", "6L12", "5L12"], + attract: ["8M", "8L1", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + batonpass: ["8M"], + calmmind: ["8M", "8L45", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + captivate: ["7E", "6E"], + chargebeam: ["7M", "6M", "5M"], + charm: ["8M", "7E", "6E", "5E"], + confide: ["7M", "6M"], + confusion: ["8L5", "7L1", "6L1", "5L1"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + embargo: ["7M", "6M", "5M"], + endeavor: ["8L10", "7T", "7L47", "6T", "6L47", "5T", "5L47"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + faketears: ["8M", "7E", "6E", "5E"], + flash: ["6M", "5M"], + flatter: ["8E", "7E", "6E", "5E"], + fly: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "8L50", "7L36", "6L36", "5L36"], + gigadrain: ["8M", "7T", "6T", "5T"], + gust: ["8L1", "7L8", "6L8", "5L8"], + gyroball: ["8M", "7M", "6M", "5M"], + heartstamp: ["7L15", "6L15", "5L15"], + heatwave: ["8M", "7T", "6T", "5T"], + helpinghand: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + hiddenpower: ["7M", "6M", "5M"], + imprison: ["8M", "8L20", "7L19", "6L19", "5L19"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + nastyplot: ["8M"], + odorsleuth: ["7L4", "6L4", "5L4"], + pluck: ["5M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "8L40", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + psychocut: ["8M"], + psychoshift: ["8E", "7E", "6E"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["8E", "7M", "7E", "6M", "6E", "5T", "5E"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + simplebeam: ["8L55"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + speedswap: ["8M"], + steelwing: ["8M", "7M", "6M"], + storedpower: ["8M", "7E", "6E", "5E"], + substitute: ["8M", "7M", "6M", "5M"], + superfang: ["7T", "6T", "5T"], + supersonic: ["8E", "7E", "6E", "5E"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + synchronoise: ["7E", "6E", "5E"], + tailwind: ["7T", "6T", "5T"], + taunt: ["8M", "7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + venomdrench: ["8M", "7E", "6E"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + }, + swoobat: { + learnset: { + acrobatics: ["8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M"], + afteryou: ["7T", "6T", "5T"], + aircutter: ["8L15", "7L21", "6L21", "5L21"], + airslash: ["8M", "8L35", "7L32", "6L32", "5L32"], + allyswitch: ["8M", "7T"], + amnesia: ["8M", "8L30", "7L29", "6L29", "5L29"], + assurance: ["8M", "8L25", "7L1", "6L1", "5L1"], + attract: ["8M", "8L1", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + batonpass: ["8M"], + calmmind: ["8M", "8L45", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + chargebeam: ["7M", "6M", "5M"], + charm: ["8M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "5L1"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + embargo: ["7M", "6M", "5M"], + endeavor: ["8L1", "7T", "7L47", "6T", "6L47", "5T", "5L47"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + faketears: ["8M"], + flash: ["6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "8L50", "7L36", "6L36", "5L36"], + gigadrain: ["8M", "7T", "6T", "5T"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gust: ["8L1", "7L1", "6L1", "5L1"], + gyroball: ["8M", "7M", "6M", "5M"], + heartstamp: ["7L15", "6L15", "5L15"], + heatwave: ["8M", "7T", "6T", "5T"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + imprison: ["8M", "8L20", "7L19", "6L19", "5L19"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + nastyplot: ["8M"], + odorsleuth: ["7L1", "6L1", "5L1"], + pluck: ["5M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "8L40", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + psychicfangs: ["8M"], + psychocut: ["8M"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + simplebeam: ["8L55"], + skillswap: ["8M", "7T", "6T", "5T"], + skyattack: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + speedswap: ["8M"], + steelwing: ["8M", "7M", "6M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M"], + superfang: ["7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + tailwind: ["7T", "6T", "5T"], + taunt: ["8M", "7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + venomdrench: ["8M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + }, + drilbur: { + learnset: { + aerialace: ["7M", "6M", "5M"], + attract: ["8M", "7M", "6M", "5M"], + brickbreak: ["8M", "7M", "6M", "5M"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crushclaw: ["8L24", "7E", "6E", "5E"], + cut: ["6M", "5M"], + dig: ["8M", "8L32", "7L19", "6M", "6L19", "5M", "5L19"], + doubleteam: ["7M", "6M", "5M"], + drillrun: ["8M", "8L40", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + earthpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + earthquake: ["8M", "8L44", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + fissure: ["8L48", "7L47", "6L47", "5L47"], + fling: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["8L12", "7L12", "6L12", "5L12"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["8M"], + honeclaws: ["8L8", "7L22", "6M", "6L22", "5M", "5L22"], + irondefense: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + metalclaw: ["8L16", "7L15", "6L15", "5L15"], + metalsound: ["8E", "7E", "6E", "5E", "5D"], + mudshot: ["8M"], + mudslap: ["8L1", "7L8", "6L8", "5L8"], + mudsport: ["7L1", "6L1", "5L1"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + rapidspin: ["8L1", "7L5", "7E", "6L5", "6E", "5L5", "5E", "5D"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockclimb: ["7E", "6E", "5E", "5D"], + rockslide: ["8M", "8L28", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "8L20", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + sandtomb: ["8M"], + scorchingsands: ["8T"], + scratch: ["8L4", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + skullbash: ["7E", "6E", "5E"], + slash: ["8E", "7L26", "6L26", "5L26"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + strength: ["6M", "5M"], + submission: ["8E", "7E", "6E", "5E"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "8L36", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + toxic: ["7M", "6M", "5M"], + xscissor: ["8M", "7M", "6M", "5M"], + }, + }, + excadrill: { + learnset: { + aerialace: ["7M", "6M", "5M"], + attract: ["8M", "7M", "6M", "5M"], + brickbreak: ["8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crushclaw: ["8L24"], + cut: ["6M", "5M"], + dig: ["8M", "8L34", "7L19", "6M", "6L19", "5M", "5L19"], + doubleteam: ["7M", "6M", "5M"], + drillrun: ["8M", "8L46", "7T", "7L55", "6T", "6L55", "5T", "5L55"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "8L52", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + fissure: ["8L58", "7L62", "6L62", "5L62"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["8L12", "7L12", "6L12", "5L12"], + gigaimpact: ["8M", "7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["8M"], + honeclaws: ["8L1", "7L22", "6M", "6L22", "5M", "5L22"], + horndrill: ["8L0", "7L1", "6L31", "5L31"], + hyperbeam: ["8M", "7M", "6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T"], + ironhead: ["8M", "7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T"], + metalclaw: ["8L16", "7L15", "6L15", "5L15"], + mudshot: ["8M"], + mudslap: ["8L1", "7L1", "6L1", "5L1"], + mudsport: ["7L1", "6L1", "5L1"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + rapidspin: ["8L1", "7L1", "6L1", "5L1"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M"], + rockslide: ["8M", "8L28", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rototiller: ["7L1", "6L1"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "8L20", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + sandtomb: ["8M"], + scorchingsands: ["8T"], + scratch: ["8L1", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + slash: ["7L26", "6L26", "5L26"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "8L40", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + toxic: ["7M", "6M", "5M"], + xscissor: ["8M", "7M", "6M", "5M"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + audino: { + learnset: { + afteryou: ["8L28", "7T", "7L41", "6T", "6L40", "5T", "5L40"], + allyswitch: ["8M", "7T"], + amnesia: ["8M", "7E", "6E", "5E"], + attract: ["8M", "7M", "7L21", "6M", "6L15", "5M", "5L15"], + babydolleyes: ["8L9", "7L5", "6L5"], + bestow: ["7E", "6E", "5E"], + blizzard: ["8M", "7M", "6M", "5M"], + bodyslam: ["8M"], + calmmind: ["8M", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + dig: ["8M", "6M", "5M"], + disarmingvoice: ["8L4", "7L13", "6L13"], + doubleedge: ["8L48", "7L49", "6L49", "5L50"], + doubleslap: ["7L17", "6L10", "5L10", "5S0"], + doubleteam: ["7M", "6M", "5M"], + drainingkiss: ["8M", "7E", "6E"], + drainpunch: ["8M", "7T", "6T", "5T"], + dreameater: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["8M", "7E", "6E", "5E", "5D"], + endure: ["8M"], + entrainment: ["8L52", "7L29", "6L25", "5L25"], + facade: ["8M", "7M", "6M", "5M"], + fireblast: ["8M", "7M", "6M", "5M"], + firepunch: ["8M", "7T", "6T", "5T"], + flamethrower: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M"], + grassknot: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + growl: ["8L16", "7L1", "6L1", "5L1"], + healbell: ["7T", "7E", "6T", "6E", "5T", "5E"], + healingwish: ["8E", "7E", "6E", "5E"], + healpulse: ["8L44", "7L37", "6L35", "6S3", "5L35", "5S0", "5S1", "5S2"], + helpinghand: ["8M", "8L12", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5D", "5S0", "5S1", "5S2"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L40", "7T", "7L1", "6T", "5T"], + icebeam: ["8M", "7M", "6M", "5M"], + icepunch: ["8M", "7T", "6T", "5T"], + icywind: ["8M", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + lastresort: ["8L60", "7T", "7L1", "6T", "6L1", "5T", "5L55"], + lifedew: ["8L24"], + lightscreen: ["8M", "7M", "6M", "5M"], + lowkick: ["8M", "7T", "6T", "5T"], + luckychant: ["7E", "6E", "5E"], + magiccoat: ["7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + mistyterrain: ["8M", "8L56", "7L1", "6L1"], + painsplit: ["7T", "6T", "5T"], + playnice: ["8L1", "7L1", "6L1"], + pound: ["8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + present: ["5S1", "5S2"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + refresh: ["7L9", "6L5", "5L5", "5S0", "5S1", "5S2"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["7L25", "6M", "6L20", "5L20"], + shadowball: ["8M", "7M", "6M", "5M"], + signalbeam: ["7T", "6T", "5T"], + simplebeam: ["8L36", "7L45", "6L45", "6S3", "5L45"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + stompingtantrum: ["8M", "7T"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + sweetkiss: ["8E", "7E", "6E", "5E"], + takedown: ["8L32", "7L33", "6L30", "5L30"], + telekinesis: ["7T", "5M"], + throatchop: ["8M", "7T"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "6S3", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trickroom: ["8M", "7M", "6M", "6S3", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + wildcharge: ["8M", "7M", "6M", "5M"], + wish: ["8E", "7E", "6E", "5E"], + workup: ["8M", "7M", "5M"], + yawn: ["8E", "7E", "6E", "5E", "5D"], + zenheadbutt: ["8M", "8L20", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 30, gender: "F", nature: "Calm", abilities: ["healer"], moves: ["healpulse", "helpinghand", "refresh", "doubleslap"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "F", nature: "Serious", abilities: ["healer"], moves: ["healpulse", "helpinghand", "refresh", "present"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "F", nature: "Jolly", abilities: ["healer"], moves: ["healpulse", "helpinghand", "refresh", "present"], pokeball: "cherishball"}, + {generation: 6, level: 100, nature: "Relaxed", abilities: ["regenerator"], moves: ["trickroom", "healpulse", "simplebeam", "thunderbolt"], pokeball: "cherishball"}, + ], + }, + timburr: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L8", "6L8", "5L8"], + block: ["7T", "6T", "5T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "9L16", "8M", "8L16", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + chipaway: ["7L24", "6L24", "5L24"], + closecombat: ["9M"], + coaching: ["8T"], + cometpunch: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E"], + defog: ["9E", "8E"], + detect: ["9E", "8E", "7E", "6E", "5E"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + dynamicpunch: ["9L32", "8L32", "7L34", "6L34", "5L34"], + endure: ["9M", "8M", "7E", "6E", "5E"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firepunch: ["9M", "8M", "7T", "6T", "5T"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["9L12", "8M", "8L12", "7L4", "6L4", "5L4"], + focuspunch: ["9M", "9L48", "8L48", "7T", "7L46", "6T", "6L46", "5L46"], + forcepalm: ["7E", "6E", "5E"], + foresight: ["7E", "6E", "5E"], + frustration: ["7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + hammerarm: ["9L36", "8L36", "7L40", "6L40", "5L40"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "9L4", "8M", "8L4", "7T", "7L12", "6T", "6L12", "5T", "5L12"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + machpunch: ["9E", "8E", "7E", "6E", "5E"], + megakick: ["8M"], + megapunch: ["8M"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["8E", "7E", "6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["9M", "8M", "7E", "6E", "5E"], + rockslide: ["9M", "9L20", "8M", "8L20", "7M", "7L31", "6M", "6L31", "5M", "5L31"], + rocksmash: ["6M", "5M"], + rockthrow: ["9L8", "8L8", "7L16", "6L16", "5L16"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L28", "8M", "8L28", "7L37", "6L37", "5L37"], + secretpower: ["6M"], + slam: ["9L24", "8L24"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smackdown: ["9M", "7M", "6M", "5M"], + smellingsalts: ["7E", "6E", "5E"], + snore: ["8M", "7T", "6T", "5T"], + stoneedge: ["9M", "9L40", "8M", "8L40", "7M", "7L43", "6M", "6L43", "5M", "5L43"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["9L44", "8M", "8L44", "7T", "7L49", "6T", "6L49", "5T", "5L49"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + wakeupslap: ["7L20", "6L20", "5L20"], + wideguard: ["9E", "8E", "7E", "6E", "5E"], + workup: ["8M", "7M", "5M"], + }, + }, + gurdurr: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L1", "6L1", "5L1"], + block: ["7T", "6T", "5T"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "9L16", "8M", "8L16", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + chipaway: ["7L24", "6L24", "5L24"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "5D"], + dynamicpunch: ["9L36", "8L36", "7L37", "6L37", "5L37"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firepunch: ["9M", "8M", "7T", "6T", "5T"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["9L12", "8M", "8L12", "7L1", "6L1", "5L1"], + focuspunch: ["9M", "9L60", "8L60", "7T", "7L53", "6T", "6L53", "5L53"], + frustration: ["7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + hammerarm: ["9L42", "8L42", "7L45", "6L45", "5L45"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["9M", "8M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "9L1", "8M", "8L1", "7T", "7L12", "6T", "6L12", "5T", "5L12", "5D"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + machpunch: ["5D"], + megakick: ["8M"], + megapunch: ["8M"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rockslide: ["9M", "9L20", "8M", "8L20", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + rocksmash: ["6M", "5M"], + rockthrow: ["9L1", "8L1", "7L16", "6L16", "5L16"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L30", "8M", "8L30", "7L41", "6L41", "5L41"], + secretpower: ["6M"], + slam: ["9L24", "8L24"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stoneedge: ["9M", "9L48", "8M", "8L48", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["9L54", "8M", "8L54", "7T", "7L57", "6T", "6L57", "5T", "5L57"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + wakeupslap: ["7L20", "6L20", "5L20"], + workup: ["8M", "7M", "5M"], + }, + }, + conkeldurr: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L1", "6L1", "5L1"], + block: ["7T", "6T", "5T"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "9L16", "8M", "8L16", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + chipaway: ["7L24", "6L24", "5L24"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T"], + dynamicpunch: ["9L36", "8L36", "7L37", "6L37", "5L37"], + earthquake: ["9M", "8M", "7M", "6M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firepunch: ["9M", "8M", "7T", "6T", "5T"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["9L12", "8M", "8L12", "7L1", "6L1", "5L1"], + focuspunch: ["9M", "9L60", "8L60", "7T", "7L53", "6T", "6L53", "5L53"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + hammerarm: ["9L42", "8L42", "7L45", "6L45", "5L45"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "9L1", "8M", "8L1", "7T", "7L12", "6T", "6L12", "5T", "5L12"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rockblast: ["9M", "8M"], + rockslide: ["9M", "9L20", "8M", "8L20", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + rocksmash: ["6M", "5M"], + rockthrow: ["9L1", "8L1", "7L16", "6L16", "5L16"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L30", "8M", "8L30", "7L41", "6L41", "5L41"], + secretpower: ["6M"], + slam: ["9L24", "8L24"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L48", "8M", "8L48", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["9L54", "8M", "8L54", "7T", "7L57", "6T", "6L57", "5T", "5L57"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + wakeupslap: ["7L20", "6L20", "5L20"], + workup: ["8M", "7M", "5M"], + }, + }, + tympole: { + learnset: { + acid: ["8L4"], + afteryou: ["7T", "7E", "6T", "6E"], + aquaring: ["8L32", "7L20", "6L20", "5L20"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "6T", "5T"], + bubble: ["7L1", "6L1", "5L1"], + bubblebeam: ["8L20", "7L12", "6L12", "5L12"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + echoedvoice: ["8L1", "7M", "7L38", "6M", "6L38", "5M", "5L38"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flail: ["8L24", "7L34", "6L34", "5L34"], + frustration: ["7M", "6M", "5M"], + growl: ["8L1", "7L1", "6L1", "5L1"], + hail: ["8M", "7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L48", "7L42", "6L42", "5L42"], + hypervoice: ["8M", "8L36", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + icywind: ["8M", "7T", "6T", "5T"], + infestation: ["7M", "6M"], + mist: ["8E", "7E", "6E", "5E"], + mudbomb: ["7E", "6E", "5E"], + muddywater: ["8M", "8L40", "7L27", "6L27", "5L27"], + mudshot: ["8M", "8L12", "7L16", "6L16", "5L16"], + mudslap: ["8E"], + mudsport: ["7E", "6E", "5E"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "8L44", "7M", "7L31", "6M", "6L31", "5M", "5L31"], + refresh: ["7E", "6E", "5E"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "8L16", "7M", "7L9", "6M", "6L9", "5M", "5L9", "5D"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E"], + sludgebomb: ["8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + substitute: ["8M", "7M", "6M", "5M"], + supersonic: ["8L8", "7L5", "6L5", "5L5"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + toxic: ["8E", "7M", "6M", "5M"], + uproar: ["8M", "8L28", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + venomdrench: ["8M", "7E"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E", "5D"], + weatherball: ["8M"], + }, + }, + palpitoad: { + learnset: { + acid: ["8L1"], + afteryou: ["7T", "6T"], + aquaring: ["8L37", "7L20", "6L20", "5L20"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "6T", "5T"], + bubble: ["7L1", "6L1", "5L1"], + bubblebeam: ["8L20", "7L12", "6L12", "5L12"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "6T", "5T"], + echoedvoice: ["8L1", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flail: ["8L24", "7L37", "6L37", "5L37"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "6T", "5T"], + growl: ["8L1", "7L1", "6L1", "5L1"], + hail: ["8M", "7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L60", "7L47", "6L47", "5L47"], + hypervoice: ["8M", "8L42", "7T", "7L51", "6T", "6L51", "5T", "5L51"], + icywind: ["8M", "7T", "6T", "5T"], + infestation: ["7M", "6M"], + muddywater: ["8M", "8L48", "7L28", "6L28", "5L28"], + mudshot: ["8M", "8L12", "7L16", "6L16", "5L16"], + powerwhip: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "8L54", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "8L16", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + supersonic: ["8L1", "7L1", "6L1", "5L1"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "8L30", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + venomdrench: ["8M"], + waterpulse: ["7T", "6T"], + weatherball: ["8M"], + }, + }, + seismitoad: { + learnset: { + acid: ["8L1", "7L1", "6L36", "5L36"], + afteryou: ["7T", "6T"], + aquaring: ["8L39", "7L20", "6L20", "5L20"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "6T", "5T"], + brickbreak: ["8M", "7M", "6M", "5M"], + bubble: ["7L1", "6L1", "5L1"], + bubblebeam: ["8L20", "7L12", "6L12", "5L12"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + dig: ["8M", "6M", "5M"], + dive: ["8M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M", "8L0", "7T", "7L44", "6T", "6L44", "5T", "5L44"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + echoedvoice: ["8L1", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flail: ["8L24", "7L39", "6L39", "5L39"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["8L1", "7T", "6T", "5T"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + growl: ["8L1", "7L1", "6L1", "5L1"], + hail: ["8M", "7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L70", "7L53", "6L53", "5L53"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L46", "7T", "7L59", "6T", "6L59", "5T", "5L59"], + icepunch: ["8M", "7T", "6T", "5T"], + icywind: ["8M", "7T", "6T", "5T"], + infestation: ["7M", "6M"], + knockoff: ["7T", "6T", "5T"], + liquidation: ["8M"], + lowkick: ["8M", "7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + muddywater: ["8M", "8L54", "7L28", "6L28", "5L28"], + mudshot: ["8M", "8L12", "7L16", "6L16", "5L16"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["8M", "7M", "6M", "5M"], + poweruppunch: ["6M"], + powerwhip: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "8L62", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "8L16", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + scald: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + supersonic: ["8L1", "7L1", "6L1", "5L1"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "8L30", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + waterpulse: ["7T", "6T"], + weatherball: ["8M"], + }, + encounters: [ + {generation: 5, level: 15}, + ], + }, + throh: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L1", "6L5", "5L5"], + bind: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5D"], + block: ["7T", "6T", "5T"], + bodyslam: ["8M", "7L21", "6L29", "5L29"], + brickbreak: ["8M", "7M", "6M", "5M"], + bulkup: ["8M", "8L25", "7M", "7L25", "6M", "6L33", "5M", "5L33"], + bulldoze: ["8M", "7M", "6M", "5M"], + circlethrow: ["8L10", "7L29", "6L37", "5L37"], + coaching: ["8T"], + confide: ["7M", "6M"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M", "8L45", "7L33", "6L41", "5L41"], + facade: ["8M", "7M", "6M", "5M"], + firepunch: ["8M", "7T", "6T", "5T"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M", "8L5", "7L1", "6L9", "5L9"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + icepunch: ["8M", "7T", "6T", "5T", "5D"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + lowkick: ["8M", "7T", "6T", "5T"], + lowsweep: ["8M", "7M", "6M", "5M"], + matblock: ["7L1"], + megakick: ["8M"], + megapunch: ["8M"], + painsplit: ["7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["8M", "7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "8L20", "7L13", "6L21", "5L21"], + reversal: ["8M", "8L50", "7L45", "6L50", "5L53"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M"], + secretpower: ["6M"], + seismictoss: ["8L40", "7L5", "6L13", "5L13"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M"], + stormthrow: ["8L30", "7L17", "6L25", "5L25"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "8L55", "7T", "7L41", "6T", "6L48", "5T", "5L49", "5D"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "7M", "6M", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + vitalthrow: ["8L35", "7L9", "6L17", "5L17"], + wideguard: ["8L15", "7L37", "6L45", "5L45"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + sawk: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L1", "6L5", "5L5"], + block: ["7T", "6T", "5T"], + brickbreak: ["8M", "8L35", "7M", "7L21", "6M", "6L29", "5M", "5L29"], + bulkup: ["8M", "8L25", "7M", "7L25", "6M", "6L33", "5M", "5L33"], + bulldoze: ["8M", "7M", "6M", "5M"], + closecombat: ["8M", "8L55", "7L41", "6L48", "5L49"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["8L40", "7L13", "6L21", "5L21"], + dig: ["8M", "6M", "5M"], + doublekick: ["8L10", "7L5", "6L13", "5L13"], + doubleteam: ["7M", "6M", "5M"], + dualchop: ["7T", "6T", "5T", "5D"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M", "8L45", "7L33", "6L41", "5L41"], + facade: ["8M", "7M", "6M", "5M"], + firepunch: ["8M", "7T", "6T", "5T"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M", "8L5", "7L1", "6L9", "5L9"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + icepunch: ["8M", "7T", "6T", "5T"], + karatechop: ["7L17", "6L25", "5L25"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + lowkick: ["8M", "7T", "6T", "5T"], + lowsweep: ["8M", "8L20", "7M", "7L9", "6M", "6L17", "5M", "5L17"], + megakick: ["8M"], + megapunch: ["8M"], + painsplit: ["7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["8M", "7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + quickguard: ["8L15", "7L37", "6L45", "5L45"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L30", "7L29", "6M", "6L37", "5M", "5L37"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["8M", "8L50", "7L45", "6L50", "5L53"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["8L1", "7L1", "6M", "6L1", "5M", "5L1", "5D"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "7T", "6T", "5T", "5D"], + toxic: ["7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + sewaddle: { + learnset: { + agility: ["7E", "6E", "5E"], + airslash: ["7E", "6E", "5E"], + attract: ["7M", "6M", "5M"], + batonpass: ["9M", "7E", "6E", "5E"], + bugbite: ["9M", "9L8", "7T", "7L8", "6T", "6L8", "5T", "5L8"], + bugbuzz: ["9M", "9L36", "7L36", "6L36", "5L36"], + calmmind: ["7M", "6M", "5M"], + camouflage: ["7E", "6E", "5E"], + charm: ["9M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + electroweb: ["7T", "6T", "5T"], + endure: ["9M", "9L29", "7L29", "6L29", "5L29"], + energyball: ["9M", "7M", "6M", "5M"], + facade: ["9M", "7M", "6M", "5M"], + flail: ["9L43", "7L43", "6L43", "5L43"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "7T", "6T", "5T"], + grassknot: ["9M", "7M", "6M", "5M"], + grassyglide: ["9M"], + grassyterrain: ["9M", "7E"], + hiddenpower: ["7M", "6M", "5M"], + irondefense: ["9M", "7T", "6T", "5T"], + lightscreen: ["7M", "6M", "5M"], + lunge: ["9M"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T"], + mefirst: ["7E", "6E", "5E"], + mindreader: ["7E", "6E", "5E"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M", "5M"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M"], + razorleaf: ["9L15", "7L15", "6L15", "5L15"], + razorwind: ["7E", "6E", "5E"], + rest: ["9M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + screech: ["9E", "7E", "6E", "5E"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T", "5T"], + signalbeam: ["7T", "6T", "5T"], + silverwind: ["7E", "6E", "5E"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["9E", "7T", "6T", "5T"], + solarbeam: ["9M", "7M", "6M", "5M"], + stickyweb: ["9L31", "7L31", "6L31"], + stringshot: ["9L1", "7L1", "6L1", "5L1"], + strugglebug: ["9M", "9L22", "7L22", "6M", "6L22", "5M", "5L22"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + switcheroo: ["9E"], + synthesis: ["9E", "7T", "6T", "5T"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + worryseed: ["9E", "7T", "6T", "5T"], + }, + }, + swadloon: { + learnset: { + attract: ["7M", "6M", "5M"], + batonpass: ["9M"], + bugbite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + bugbuzz: ["9M", "9L36"], + calmmind: ["7M", "6M", "5M"], + charm: ["9M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + electroweb: ["7T", "6T", "5T"], + endure: ["9M", "9L29"], + energyball: ["9M", "7M", "6M", "5M"], + facade: ["9M", "7M", "6M", "5M"], + flail: ["9L43"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "7T", "6T", "5T"], + grassknot: ["9M", "7M", "6M", "5M"], + grasswhistle: ["7L1", "6L1", "5L1"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + irondefense: ["9M", "7T", "6T", "5T"], + lightscreen: ["9M", "7M", "6M", "5M"], + lunge: ["9M"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M", "5M"], + pounce: ["9M"], + protect: ["9M", "9L0", "7M", "7L1", "6M", "6L20", "5M", "5L20"], + raindance: ["9M"], + razorleaf: ["9L1", "7L1", "6L1", "5L1"], + rest: ["9M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T", "5T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["9M", "7M", "6M", "5M"], + stickyweb: ["9L31"], + stringshot: ["9L1", "7L1", "6L1", "5L1"], + strugglebug: ["9M", "9L22", "6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + synthesis: ["7T", "6T", "5T"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + worryseed: ["7T", "6T", "5T"], + }, + encounters: [ + {generation: 5, level: 19}, + ], + }, + leavanny: { + learnset: { + aerialace: ["7M", "6M", "5M"], + agility: ["9M"], + airslash: ["9M"], + attract: ["7M", "6M", "5M"], + batonpass: ["9M"], + bugbite: ["9M", "9L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + bugbuzz: ["9M"], + bulletseed: ["9M"], + calmmind: ["9M", "7M", "6M", "5M"], + charm: ["9M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + electroweb: ["7T", "6T", "5T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M", "5M"], + entrainment: ["9L43", "7L43", "6L43", "5L43"], + facade: ["9M", "7M", "6M", "5M"], + falseswipe: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + fellstinger: ["9L29", "7L29", "6L34"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "7T", "6T", "5T"], + gigaimpact: ["9M", "7M", "6M", "5M"], + grassknot: ["9M", "7M", "6M", "5M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + healbell: ["7T", "6T", "5T"], + helpinghand: ["9M", "9L32", "7T", "7L32", "6T", "6L32", "5T", "5L32"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M"], + irondefense: ["9M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + laserfocus: ["7T"], + leafblade: ["9L36", "7L36", "6L36", "5L36"], + leafstorm: ["9M", "9L50", "7L50", "6L50", "5L50"], + lightscreen: ["9M", "7M", "6M", "5M"], + lowkick: ["9M"], + lunge: ["9M"], + magicalleaf: ["9M"], + magiccoat: ["7T", "6T", "5T"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M", "5M"], + poisonjab: ["9M", "7M", "6M", "5M"], + pollenpuff: ["9M"], + pounce: ["9M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M"], + razorleaf: ["9L1", "7L1", "6L1", "5L1"], + reflect: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T", "5T"], + shadowclaw: ["9M", "7M", "6M", "5M"], + signalbeam: ["7T", "6T", "5T"], + slash: ["9L0", "7L1", "6L29", "5L29"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + solarbeam: ["9M", "7M", "6M", "5M"], + steelwing: ["7M", "6M"], + stringshot: ["9L1", "7L1", "6L1", "5L1"], + strugglebug: ["9M", "9L22", "7L22", "6M", "6L22", "5M", "5L22"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["9M", "9L46", "7M", "7L46", "6M", "6L46", "5M", "5L46"], + synthesis: ["7T", "6T", "5T"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["7T"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + worryseed: ["7T", "6T", "5T"], + xscissor: ["9M", "9L39", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + }, + encounters: [ + {generation: 5, level: 20, isHidden: true}, + ], + }, + venipede: { + learnset: { + agility: ["8M", "8L32", "7L29", "6L29", "5L29"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["8E"], + bugbite: ["8L20", "7T", "7L22", "6T", "6L22", "5T", "5L22"], + confide: ["7M", "6M"], + defensecurl: ["8L1", "7L1", "6L1", "5L1"], + doubleedge: ["8L44", "7L43", "6L43", "5L43"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furycutter: ["8E"], + gyroball: ["8M", "7M", "6M", "5M"], + hex: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + pinmissile: ["8M", "7E", "6E", "5E"], + poisonjab: ["8M", "7M", "6M", "5M"], + poisonsting: ["8L1", "7L5", "6L5", "5L5"], + poisontail: ["8L12", "7L19", "6L19", "5L19"], + protect: ["8M", "8L8", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + pursuit: ["7L12", "6L12", "5L12"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockclimb: ["7L40", "7E", "6L40", "6E", "5L40", "5E"], + rocksmash: ["6M", "5M"], + rollout: ["8L4", "7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L16", "7L8", "6L8", "5L8"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spikes: ["8M", "7E", "6E", "5E"], + steamroller: ["7L33", "6L33", "5L33"], + steelroller: ["8T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + takedown: ["8L28", "7E", "6E", "5E"], + toxic: ["8L36", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + toxicspikes: ["8M", "7E", "6E", "5E"], + twineedle: ["7E", "6E", "5E"], + venomdrench: ["8M", "8L40", "7L38"], + venoshock: ["8M", "8L24", "7M", "7L26", "6M", "6L26", "5M", "5L26"], + }, + }, + whirlipede: { + learnset: { + agility: ["8M", "8L38", "7L32", "6L32", "5L32"], + attract: ["8M", "7M", "6M", "5M"], + bugbite: ["8L20", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + confide: ["7M", "6M"], + defensecurl: ["8L1", "7L1", "6L1", "5L1"], + doubleedge: ["8L56", "7L50", "6L50", "5L50"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gyroball: ["8M", "7M", "6M", "5M"], + hex: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + infestation: ["7M", "6M"], + irondefense: ["8M", "8L0", "7T", "7L1", "6T", "6L22", "5T", "5L22"], + payback: ["8M", "7M", "6M", "5M"], + pinmissile: ["8M"], + poisonjab: ["8M", "7M", "6M", "5M"], + poisonsting: ["8L1", "7L1", "6L1", "5L1"], + poisontail: ["8L12", "7L19", "6L19", "5L19"], + protect: ["8M", "8L1", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + pursuit: ["7L12", "6L12", "5L12"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockclimb: ["7L46", "6L46", "5L46"], + rocksmash: ["6M", "5M"], + rollout: ["8L1", "7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L16", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spikes: ["8M"], + steamroller: ["7L37", "6L37", "5L37"], + steelroller: ["8T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + takedown: ["8L32"], + toxic: ["8L44", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + toxicspikes: ["8M"], + venomdrench: ["8M", "8L50", "7L43", "6L43"], + venoshock: ["8M", "8L26", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + }, + }, + scolipede: { + learnset: { + agility: ["8M", "8L42", "7L33", "6L33", "5L33"], + aquatail: ["7T", "6T", "5T"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + batonpass: ["8M", "8L1", "7L1", "6L30", "5L30"], + bugbite: ["8L20", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crosspoison: ["8M"], + cut: ["6M", "5M"], + defensecurl: ["8L1", "7L1", "6L1", "5L1"], + dig: ["8M", "6M", "5M"], + doubleedge: ["8L66", "7L55", "6L55", "5L55"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["8M", "7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gyroball: ["8M", "7M", "6M", "5M"], + hex: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + infestation: ["7M", "6M"], + irondefense: ["8M", "8L1", "7T", "7L1", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + megahorn: ["8M", "8L74", "7L1", "6L1", "5L1"], + payback: ["8M", "7M", "6M", "5M"], + pinmissile: ["8M"], + poisonjab: ["8M", "7M", "6M", "5M"], + poisonsting: ["8L1", "7L1", "6L1", "5L1"], + poisontail: ["8L12", "7L19", "6L19", "5L19", "5D"], + protect: ["8M", "8L1", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + pursuit: ["7L12", "6L12", "5L12"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockclimb: ["7L50", "6L50", "5L50"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rollout: ["8L1", "7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L16", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + smartstrike: ["8M", "7M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spikes: ["8M"], + steamroller: ["7L39", "6L39", "5L39"], + steelroller: ["8T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T", "5D"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "7M", "6M", "5M"], + takedown: ["8L34"], + throatchop: ["8M", "7T"], + toxic: ["8L50", "7M", "7L44", "6M", "6L44", "5M", "5L44"], + toxicspikes: ["8M", "5D"], + venomdrench: ["8M", "8L58", "7L47", "6L47"], + venoshock: ["8M", "8L26", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + xscissor: ["8M", "7M", "6M", "5M"], + }, + }, + cottonee: { + learnset: { + absorb: ["8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M", "7E", "6E", "5E"], + captivate: ["7E", "6E"], + charm: ["8M", "8L27", "7L28", "6L28", "5L28"], + confide: ["7M", "6M"], + cottonguard: ["8L45", "7L37", "6L37", "5L37"], + cottonspore: ["8L33", "7L17", "6L17", "5L17"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + encore: ["8M", "7E", "6E", "5E", "5D"], + endeavor: ["8L42", "7T", "7L44", "6T", "6L44", "5T", "5L44"], + endure: ["8M"], + energyball: ["8M", "8L36", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + facade: ["8M", "7M", "6M", "5M"], + fairywind: ["8L3", "7L1", "6L1"], + faketears: ["8M", "7E", "6E", "5E"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "8L24", "7T", "7L26", "6T", "6L26", "5T", "5L26"], + grassknot: ["8M", "7M", "6M", "5M"], + grasswhistle: ["7E", "6E", "5E"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + growth: ["8L18", "7L4", "6L4", "5L4"], + helpinghand: ["8M", "8L1", "7T", "7L31", "6T", "6L31", "5T", "5L31"], + hiddenpower: ["7M", "6M", "5M"], + knockoff: ["7T", "6T", "5T"], + leechseed: ["8L30", "7L8", "6L8", "5L8", "5D"], + megadrain: ["8L12", "7L13", "6L13", "5L13"], + memento: ["8E", "7E", "6E", "5E"], + mistyterrain: ["8M", "7E"], + naturalgift: ["7E", "6E", "5E"], + naturepower: ["8E", "7M", "6M"], + poisonpowder: ["8L21", "7L22", "6L22", "5L22"], + protect: ["8M", "7M", "6M", "5M"], + razorleaf: ["8L15", "7L19", "6L19", "5L19"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "8L48", "7M", "7L46", "6M", "6L46", "5M", "5L46"], + stunspore: ["8L6", "7L10", "6L10", "5L10"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "8L39", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + switcheroo: ["8E", "7E", "6E", "5E"], + tailwind: ["7T", "6T", "5T"], + taunt: ["8M", "7M", "6M", "5M"], + tickle: ["8E", "7E", "6E", "5E"], + toxic: ["7M", "6M", "5M"], + worryseed: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + }, + }, + whimsicott: { + learnset: { + absorb: ["8L1"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M", "5S0"], + charm: ["8M", "8L1"], + confide: ["7M", "6M"], + cottonguard: ["8L1"], + cottonspore: ["8L1", "7L1", "6L1", "5L1"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + encore: ["8M"], + endeavor: ["8L1", "7T", "6T", "5T"], + endure: ["8M"], + energyball: ["8M", "8L1", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + fairywind: ["8L1"], + faketears: ["8M"], + flash: ["6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "8L1", "7T", "6T", "5T", "5S0"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + growth: ["8L1", "7L1", "6L1", "5L1"], + gust: ["8L1", "7L10", "6L10", "5L10"], + helpinghand: ["8M", "8L1", "7T", "6T", "5T", "5S0"], + hiddenpower: ["7M", "6M", "5M"], + hurricane: ["8M", "8L1", "7L46", "6L46", "5L46"], + hyperbeam: ["8M", "7M", "6M", "5M"], + knockoff: ["7T", "6T", "5T"], + leechseed: ["8L1", "7L1", "6L1", "5L1"], + lightscreen: ["8M", "7M", "6M", "5M"], + megadrain: ["8L1", "7L1", "6L1", "5L1"], + memento: ["8L1"], + mistyterrain: ["8M"], + moonblast: ["8L1", "7L50", "6L50"], + naturepower: ["7M", "6M"], + playrough: ["8M"], + poisonpowder: ["8L1"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + razorleaf: ["8L1"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + shadowball: ["8M", "7M", "6M", "5M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "8L1", "7M", "6M", "5M"], + stunspore: ["8L1"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "8L1", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M", "5S0"], + swift: ["8M"], + tailwind: ["8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + taunt: ["8M", "7M", "6M", "5M"], + thief: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trickroom: ["8M", "7M", "6M", "5M"], + uturn: ["8M", "7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 50, gender: "F", nature: "Timid", ivs: {spe: 31}, abilities: ["prankster"], moves: ["swagger", "gigadrain", "beatup", "helpinghand"], pokeball: "cherishball"}, + ], + }, + petilil: { + learnset: { + absorb: ["9L1", "8L1", "7L1", "6L1", "5L1"], + afteryou: ["9L27", "8L27", "7T", "7L44", "6T", "6L44", "5T", "5L44"], + aromatherapy: ["8L12", "7L28", "6L28", "5L28"], + attract: ["8M", "7M", "6M", "5M"], + bide: ["7E", "6E", "5E"], + bulletseed: ["9M"], + charm: ["9M", "9L12", "8M", "7E", "6E", "5E", "5D"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + encore: ["9M", "8M", "7E"], + endure: ["9M", "8M", "7E", "6E", "5E"], + energyball: ["9M", "9L30", "8M", "8L30", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + entrainment: ["9L39", "8L39", "7L37", "6L37", "5L37"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "9L21", "8M", "8L21", "7T", "7L26", "6T", "6L26", "5T", "5L26"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + grasswhistle: ["7E", "6E", "5E"], + grassyglide: ["9M", "8T"], + growth: ["9L1", "8L1", "7L4", "6L4", "5L4"], + healbell: ["7T", "6T", "5T"], + healingwish: ["9E", "8E", "7E", "6E", "5E"], + helpinghand: ["9M", "9L3", "8M", "8L3", "7T", "7L31", "6T", "6L31", "5T", "5L31"], + hiddenpower: ["7M", "6M", "5M"], + ingrain: ["9E", "8E", "7E", "6E", "5E"], + laserfocus: ["7T"], + leafstorm: ["9M", "9L42", "8M", "8L42", "7L46", "6L46", "5L46"], + leechseed: ["9L24", "8L24", "7L8", "6L8", "5L8"], + magicalleaf: ["9M", "9L15", "8M", "8L15", "7L19", "6L19", "5L19"], + megadrain: ["9L9", "8L9", "7L13", "6L13", "5L13"], + naturalgift: ["7E", "6E", "5E"], + naturepower: ["7M", "6M"], + pollenpuff: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], + sleeppowder: ["9L18", "8L18", "7L10", "6L10", "5L10", "5D"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + stunspore: ["9L6", "8L6", "7L22", "6L22", "5L22"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "9L36", "8M", "8L36", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + swagger: ["7M", "6M", "5M"], + sweetscent: ["9E", "8E", "7E", "6E", "5E", "5D"], + synthesis: ["9L33", "8L33", "7T", "7L17", "6T", "6L17", "5T", "5L17"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + worryseed: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + }, + }, + lilligant: { + learnset: { + absorb: ["9L1", "8L1"], + afteryou: ["9L1", "8L1", "7T", "6T", "5T"], + aromatherapy: ["8L1"], + attract: ["8M", "7M", "6M", "5M"], + bulletseed: ["9M"], + charm: ["9M", "9L1", "8M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + entrainment: ["9L1", "8L1"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L1", "8L1", "7L1", "6L1", "5L1"], + healbell: ["7T", "6T", "5T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + laserfocus: ["7T"], + leafblade: ["8M"], + leafstorm: ["9M", "9L1", "8M", "8L1"], + leechseed: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + magicalleaf: ["9M", "9L5", "8M", "8L1"], + megadrain: ["9L1", "8L1", "7L1", "6L1", "5L1"], + naturepower: ["7M", "6M"], + petalblizzard: ["9L1", "8L1", "7L50", "6L50"], + petaldance: ["9L0", "8L0", "7L46", "6L46", "5L46"], + pollenpuff: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + quiverdance: ["9L1", "8L1", "7L28", "6L28", "5L28"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], + sleeppowder: ["9L1", "8L1"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + solarblade: ["9M", "8M"], + stunspore: ["9L1", "8L1"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["9M", "8M", "7M", "6M", "5M"], + synthesis: ["9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + teeterdance: ["9L1", "8L1", "7L10", "6L10", "5L10"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + weatherball: ["9M"], + worryseed: ["7T", "6T", "5T"], + }, + }, + lilliganthisui: { + learnset: { + absorb: ["9L1"], + acrobatics: ["9M"], + aerialace: ["9M"], + afteryou: ["9L1"], + airslash: ["9M"], + axekick: ["9L5"], + brickbreak: ["9M"], + bulletseed: ["9M"], + charm: ["9M"], + closecombat: ["9M"], + defog: ["9L1"], + encore: ["9M"], + endure: ["9M"], + energyball: ["9M", "9L1"], + entrainment: ["9L1"], + facade: ["9M"], + gigadrain: ["9M", "9L1"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L1"], + helpinghand: ["9M", "9L1"], + hurricane: ["9M"], + hyperbeam: ["9M"], + icespinner: ["9M"], + leafblade: ["9L1"], + leafstorm: ["9M", "9L1"], + leechseed: ["9L1"], + lowkick: ["9M"], + lowsweep: ["9M"], + magicalleaf: ["9M", "9L1"], + megadrain: ["9L1"], + megakick: ["9L1"], + metronome: ["9M"], + petalblizzard: ["9L1"], + poisonjab: ["9M"], + pollenpuff: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + sleeppowder: ["9L1"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + solarblade: ["9M", "9L1"], + stunspore: ["9L1"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + swordsdance: ["9M"], + synthesis: ["9L1"], + takedown: ["9M"], + teeterdance: ["9L1"], + terablast: ["9M"], + trailblaze: ["9M"], + vacuumwave: ["9M"], + victorydance: ["9L0"], + weatherball: ["9M"], + }, + }, + basculin: { + learnset: { + agility: ["9M", "8M", "7E", "6E", "5E", "5D"], + aquajet: ["9L12", "8L12", "7L9", "6L13", "5L13"], + aquatail: ["8L44", "7T", "7L20", "6T", "6L28", "5T", "5L28"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["9L16", "8L16", "7L7", "6L10", "5L10"], + blizzard: ["9M"], + bounce: ["8M", "7T", "6T", "5T"], + brine: ["8M", "7E", "6E", "5E"], + bubblebeam: ["9E", "8E", "7E", "6E", "5E"], + chillingwater: ["9M"], + chipaway: ["7L11", "6L16", "5L16"], + confide: ["7M", "6M"], + crunch: ["9M", "9L32", "8M", "8L32", "7L17", "6L24", "5L24"], + cut: ["6M", "5M"], + dive: ["8M", "6M", "5M"], + doubleedge: ["9L52", "8L52", "7L26", "6L36", "5L36"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["9E", "8E", "7T", "6T", "5T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + finalgambit: ["9L40", "8L40", "7L38", "6L50", "5L51"], + flail: ["9L8", "8L8", "7L34", "6L1", "5L46"], + flipturn: ["9M", "8T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M"], + hail: ["8M", "7M", "6M", "5M"], + headbutt: ["9L24", "8L24", "7L5", "6L7", "5L7", "5D"], + headsmash: ["9L56", "8L56", "7L46", "7E"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M"], + icebeam: ["9M", "8M", "7M", "6M", "5M"], + icefang: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "6T", "5T"], + liquidation: ["9M", "8M", "7T"], + muddywater: ["8M", "7E", "6E", "5E"], + mudshot: ["9M", "8M", "7E", "6E", "5E"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychicfangs: ["9M", "8M"], + rage: ["7E", "6E", "5E"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "7E", "6E", "5E"], + reversal: ["9M", "8M"], + round: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L30", "6L41", "5L41"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M"], + soak: ["9L28", "8L28", "7L23", "6L32", "5L32"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M", "7E", "6E", "5E"], + tackle: ["9L4", "8L4", "7L1", "6L1", "5L1"], + tailwhip: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M", "9L36", "8L36", "7L14", "6L20", "5L20"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thrash: ["9L48", "8L48", "7L42", "6L1", "5L56"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "7L3", "6T", "6L4", "5T", "5L4"], + waterfall: ["9M", "8M", "7M", "6M", "5M"], + watergun: ["9L1", "8L1", "7L1", "6L1", "5L1"], + waterpulse: ["9M"], + wavecrash: ["9L44"], + whirlpool: ["8M", "7E", "6E", "5E"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T", "5D"], + }, + }, + basculinwhitestriped: { + learnset: { + agility: ["9M"], + aquajet: ["9L12"], + bite: ["9L16"], + blizzard: ["9M"], + chillingwater: ["9M"], + crunch: ["9M", "9L32"], + doubleedge: ["9L52"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + flail: ["9L8"], + flipturn: ["9M"], + headbutt: ["9L24"], + headsmash: ["9L56"], + hydropump: ["9M"], + icebeam: ["9M"], + icefang: ["9M"], + icywind: ["9M"], + lastrespects: ["9E"], + liquidation: ["9M"], + mudshot: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M", "9L20"], + sleeptalk: ["9M"], + snowscape: ["9M"], + soak: ["9L28"], + substitute: ["9M"], + surf: ["9M"], + swift: ["9M"], + tackle: ["9L4"], + tailwhip: ["9L1"], + takedown: ["9M", "9L36"], + terablast: ["9M"], + thrash: ["9L48"], + uproar: ["9M", "9L40"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M"], + wavecrash: ["9L44"], + zenheadbutt: ["9M"], + }, + }, + basculegion: { + learnset: { + agility: ["9M"], + aquajet: ["9L12"], + bite: ["9L16"], + blizzard: ["9M"], + chillingwater: ["9M"], + confuseray: ["9M"], + crunch: ["9M", "9L32"], + doubleedge: ["9L52"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + flail: ["9L8"], + flipturn: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L24"], + headsmash: ["9L56"], + hex: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icefang: ["9M"], + icywind: ["9M"], + lastrespects: ["9E"], + liquidation: ["9M"], + mudshot: ["9M"], + nightshade: ["9M"], + outrage: ["9M"], + phantomforce: ["9M", "9L1"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M", "9L20"], + shadowball: ["9M", "9L1"], + sleeptalk: ["9M"], + snowscape: ["9M"], + soak: ["9L28"], + spite: ["9M"], + substitute: ["9M"], + surf: ["9M"], + swift: ["9M"], + tackle: ["9L4"], + tailwhip: ["9L1"], + takedown: ["9M", "9L36"], + terablast: ["9M"], + thrash: ["9L48"], + uproar: ["9M", "9L40"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M"], + wavecrash: ["9L44"], + zenheadbutt: ["9M"], + }, + }, + basculegionf: { + learnset: { + agility: ["9M"], + aquajet: ["9L12"], + bite: ["9L16"], + blizzard: ["9M"], + chillingwater: ["9M"], + confuseray: ["9M"], + crunch: ["9M", "9L32"], + doubleedge: ["9L52"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + flail: ["9L8"], + flipturn: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L24"], + headsmash: ["9L56"], + hex: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icefang: ["9M"], + icywind: ["9M"], + lastrespects: ["9E"], + liquidation: ["9M"], + mudshot: ["9M"], + nightshade: ["9M"], + outrage: ["9M"], + phantomforce: ["9M", "9L1"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M", "9L20"], + shadowball: ["9M", "9L1"], + sleeptalk: ["9M"], + snowscape: ["9M"], + soak: ["9L28"], + spite: ["9M"], + substitute: ["9M"], + surf: ["9M"], + swift: ["9M"], + tackle: ["9L4"], + tailwhip: ["9L1"], + takedown: ["9M", "9L36"], + terablast: ["9M"], + thrash: ["9L48"], + uproar: ["9M", "9L40"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M"], + wavecrash: ["9L44"], + zenheadbutt: ["9M"], + }, + }, + sandile: { + learnset: { + aquatail: ["9E", "8E", "7T", "6T", "5T"], + assurance: ["8M", "7L16", "6L16", "5L16"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M", "7E", "6E", "5E"], + bite: ["9L15", "8L15", "7L4", "6L4", "5L4"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E"], + crunch: ["9M", "9L27", "8M", "8L27", "7L28", "6L28", "5L28"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + dig: ["9M", "9L21", "8M", "8L21", "7L31", "6M", "6L31", "5M", "5L31"], + doubleedge: ["9E", "8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "9L36", "8M", "8L36", "7M", "7L43", "6M", "6L43", "5M", "5L43"], + embargo: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firefang: ["9M", "8M", "7E", "6E", "5E"], + fling: ["9M"], + focusenergy: ["8M", "7E", "6E", "5E"], + foulplay: ["9M", "9L33", "8M", "8L33", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + frustration: ["7M", "6M", "5M"], + grassknot: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["9L6", "8L6", "6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + meanlook: ["7E", "6E", "5E"], + mefirst: ["7E", "6E"], + mudshot: ["9M"], + mudslap: ["9M", "7L19", "6L19", "5L19"], + payback: ["8M", "7M", "6M", "5M"], + powertrip: ["9L1", "8L1", "7E"], + protect: ["9M", "8M", "7M", "6M", "5M"], + pursuit: ["7E", "6E", "5E"], + rage: ["7L1", "6L1", "5L1"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["9M", "7M", "6M", "5M"], + rockclimb: ["7E", "6E", "5E"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L3", "8L3", "7L7", "6L7", "5L7"], + sandstorm: ["9M", "9L30", "8M", "8L30", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + sandtomb: ["9M", "9L9", "8M", "8L9", "7L13", "6L13", "5L13"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L34", "6L34", "5L34"], + scorchingsands: ["8T"], + secretpower: ["6M"], + shadowclaw: ["9M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "9E", "8E", "7T", "6T", "5T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["9L24", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thrash: ["9L39", "8L39", "7L46", "6L46", "5L46"], + thunderfang: ["9M", "8M", "7E", "6E", "5E"], + torment: ["9L18", "8L18", "7M", "7L10", "6M", "6L10", "5M", "5L10"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + }, + }, + krokorok: { + learnset: { + aerialace: ["9M"], + aquatail: ["7T", "6T", "5T"], + assurance: ["8M", "7L16", "6L16", "5L16"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M"], + bite: ["9L15", "8L15", "7L1", "6L1", "5L1"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L27", "8M", "8L27", "7L28", "6L28", "5L28"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + dig: ["9M", "9L21", "8M", "8L21", "7L32", "6M", "6L32", "5M", "5L32"], + doubleteam: ["7M", "6M", "5M"], + dragonclaw: ["9M"], + dragontail: ["9M"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "9L42", "8M", "8L42", "7M", "7L48", "6M", "6L48", "5M", "5L48"], + embargo: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firefang: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + focuspunch: ["9M", "7T", "6T"], + foulplay: ["9M", "9L35", "8M", "8L35", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + frustration: ["7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["9L1", "8L1", "6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + mudshot: ["9M"], + mudslap: ["9M", "7L19", "6L19", "5L19"], + payback: ["8M", "7M", "6M", "5M"], + powertrip: ["9L1", "8L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + rage: ["7L1", "6L1", "5L1"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + roar: ["9M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1"], + sandstorm: ["9M", "9L32", "8M", "8L32", "7M", "7L44", "6M", "6L44", "5M", "5L44"], + sandtomb: ["9M", "9L9", "8M", "8L9", "7L13", "6L13", "5L13"], + scaleshot: ["9M"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L36", "6L36", "5L36"], + scorchingsands: ["8T"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "8M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["9L24", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thrash: ["9L47", "8L47", "7L52", "6L52", "5L52"], + thunderfang: ["9M", "8M"], + torment: ["9L18", "8L18", "7M", "7L10", "6M", "6L10", "5M", "5L10"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + }, + }, + krookodile: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + assurance: ["8M", "7L16", "6L16", "5L16"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M"], + bite: ["9L15", "8L15", "7L1", "6L1", "5L1"], + block: ["7T", "6T", "5T"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + closecombat: ["9M", "8M"], + confide: ["7M", "6M"], + counter: ["5D"], + crunch: ["9M", "9L27", "8M", "8L27", "7L28", "6L28", "5L28", "5D"], + cut: ["6M", "5M"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + dig: ["9M", "9L21", "8M", "8L21", "7L32", "6M", "6L32", "5M", "5L32"], + doubleteam: ["7M", "6M", "5M"], + dragonclaw: ["9M", "8M", "7M", "6M", "5M"], + dragonpulse: ["9M", "8M", "7T", "6T", "5T"], + dragontail: ["9M", "7M", "6M", "5M"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "9L44", "8M", "8L44", "7M", "7L54", "6M", "6L54", "5M", "5L54"], + embargo: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firefang: ["9M", "8M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + focuspunch: ["9M", "7T", "6T"], + foulplay: ["9M", "9L35", "8M", "8L35", "7T", "7L42", "6T", "6L42", "5T", "5L42"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gunkshot: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["9M", "8M"], + honeclaws: ["9L1", "8L1", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + meanlook: ["5D"], + megakick: ["8M"], + megapunch: ["8M"], + mudshot: ["9M"], + mudslap: ["9M", "7L19", "6L19", "5L19"], + outrage: ["9M", "9L58", "8M", "8L58", "7T", "7L60", "6T", "6L1", "5T", "5L60"], + payback: ["8M", "7M", "6M", "5M"], + powertrip: ["9L1", "8L1", "7L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + rage: ["7L1", "6L1", "5L1"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + roar: ["9M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["9L1", "8L1", "7L1", "6L1", "5L1"], + sandstorm: ["9M", "9L32", "8M", "8L32", "7M", "7L48", "6M", "6L48", "5M", "5L48"], + sandtomb: ["9M", "9L9", "8M", "8L9", "7L13", "6L13", "5L13"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L36", "6L36", "5L36"], + scorchingsands: ["8T"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + smackdown: ["9M", "7M", "6M", "5M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["9L24", "8L24", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thrash: ["9L51", "8L51"], + throatchop: ["8M", "7T"], + thunderfang: ["9M", "8M"], + torment: ["9L18", "8L18", "7M", "7L10", "6M", "6L10", "5M", "5L10"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + }, + }, + darumaka: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + bellydrum: ["8L36", "7L30", "6L30", "5L30"], + bite: ["8L8"], + brickbreak: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + ember: ["8L1"], + encore: ["8M", "7E", "6E", "5E"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M", "7E", "6E", "5E"], + extrasensory: ["8E", "7E"], + facade: ["8M", "7M", "7L19", "6M", "6L19", "5M", "5L19"], + fireblast: ["8M", "7M", "6M", "5M"], + firefang: ["8M", "8L20", "7L11", "6L11", "5L11"], + firepunch: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "5T", "5L22"], + firespin: ["8M"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["8M", "7M", "6M", "5M"], + flamewheel: ["8E", "7E", "6E", "5E"], + flareblitz: ["8M", "8L40", "7L33", "6L33", "5L33"], + fling: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M", "7E", "6E", "5E"], + focuspunch: ["8E", "7T", "7E", "6T", "6E", "5E"], + frustration: ["7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + gyroball: ["8M", "7M", "6M", "5M"], + hammerarm: ["8E", "7E", "6E", "5E"], + headbutt: ["8L24", "7L14", "6L14", "5L14"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + incinerate: ["8L12", "7L6", "6M", "6L6", "5M", "5L6"], + megakick: ["8M"], + megapunch: ["8M"], + overheat: ["8M", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + rage: ["7L9", "6L9", "5L9"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rollout: ["7L3", "6L3", "5L3"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E"], + snatch: ["7T", "7E", "6T", "6E"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "8L48", "7T", "7L39", "6T", "6L39", "5T", "5L39"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + takedown: ["8E", "7E", "6E", "5E"], + taunt: ["8M", "8L4", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + thief: ["8M", "7M", "6M", "5M"], + thrash: ["8L44", "7L27", "6L27", "5L27"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "8L32", "7T", "7L17", "6T", "6L17", "5T", "5L17"], + uturn: ["8M", "7M", "6M", "5M"], + willowisp: ["8M", "7M", "6M", "5M"], + workup: ["8M", "8L16", "7M", "7L25", "6L25", "5M", "5L25"], + yawn: ["8E", "7E", "6E", "5E"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + }, + darumakagalar: { + learnset: { + attract: ["8M"], + avalanche: ["8M", "8L12"], + bellydrum: ["8L36"], + bite: ["8L8"], + blizzard: ["8M", "8L40"], + brickbreak: ["8M"], + dig: ["8M"], + encore: ["8M"], + endure: ["8M"], + facade: ["8M"], + fireblast: ["8M"], + firefang: ["8M"], + firepunch: ["8M"], + firespin: ["8M"], + flamethrower: ["8M"], + flamewheel: ["8E"], + flareblitz: ["8M"], + fling: ["8M"], + focusenergy: ["8M"], + focuspunch: ["8E"], + freezedry: ["8E"], + grassknot: ["8M"], + gyroball: ["8M"], + hammerarm: ["8E"], + headbutt: ["8L24"], + heatwave: ["8M"], + icebeam: ["8M"], + icefang: ["8M", "8L20"], + icepunch: ["8M", "8L28"], + incinerate: ["8E"], + megakick: ["8M"], + megapunch: ["8M"], + overheat: ["8M"], + powdersnow: ["8L1"], + poweruppunch: ["8E"], + protect: ["8M"], + rest: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + superpower: ["8M", "8L48"], + tackle: ["8L1"], + takedown: ["8E"], + taunt: ["8M", "8L4"], + thief: ["8M"], + thrash: ["8L44"], + uproar: ["8M", "8L32"], + uturn: ["8M"], + willowisp: ["8M"], + workup: ["8M", "8L16"], + yawn: ["8E"], + zenheadbutt: ["8M"], + }, + }, + darmanitan: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + bellydrum: ["8L38", "7L30", "6L30", "6S1", "5L30", "5S0"], + bite: ["8L1"], + bodypress: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M"], + bulkup: ["8M", "7M", "6M", "5M"], + bulldoze: ["8M", "7M", "6M", "5M"], + burningjealousy: ["8T"], + confide: ["7M", "6M"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["8M", "7M", "6M", "5M"], + ember: ["8L1"], + encore: ["8M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "7L19", "6M", "6L19", "5M", "5L19"], + fireblast: ["8M", "7M", "6M", "5M"], + firefang: ["8M", "8L20", "7L11", "6L11", "5L11"], + firepunch: ["8M", "8L28", "7T", "7L22", "6T", "6L22", "5T", "5L22"], + firespin: ["8M"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["8M", "7M", "6M", "5M"], + flareblitz: ["8M", "8L44", "7L33", "6L33", "6S1", "5L33", "5S0"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M"], + hammerarm: ["8L0", "7L1", "6L35", "6S1", "5L35", "5S0"], + headbutt: ["8L24", "7L14", "6L14", "5L14"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + incinerate: ["8L12", "7L1", "6M", "6L1", "5M", "5L1"], + irondefense: ["8M"], + ironhead: ["8M"], + laserfocus: ["7T"], + lashout: ["8T"], + megakick: ["8M"], + megapunch: ["8M"], + mysticalfire: ["8M"], + overheat: ["8M", "7M", "7L54", "6M", "6L54", "5M", "5L54"], + payback: ["8M", "7M", "6M", "5M"], + powerswap: ["8M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + rage: ["7L1", "6L1", "5L1"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + reversal: ["8M"], + roar: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rollout: ["7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["7M", "6M", "5M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "8L56", "7T", "7L47", "6T", "6L47", "5T", "5L47"], + swagger: ["7M", "7L17", "6M", "6L17", "5M", "5L17"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + taunt: ["8M", "8L1", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + thief: ["8M", "7M", "6M", "5M"], + thrash: ["8L50", "7L27", "6L27", "6S1", "5L27", "5S0"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M"], + uproar: ["8M", "8L32", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + willowisp: ["8M", "7M", "6M", "5M"], + workup: ["8M", "8L16", "7M", "7L25", "6L25", "5M", "5L25"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 35, isHidden: true, moves: ["thrash", "bellydrum", "flareblitz", "hammerarm"]}, + {generation: 6, level: 35, gender: "M", nature: "Calm", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, isHidden: true, moves: ["thrash", "bellydrum", "flareblitz", "hammerarm"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 32, maxEggMoves: 1}, + ], + }, + darmanitangalar: { + learnset: { + attract: ["8M"], + avalanche: ["8M", "8L12"], + bellydrum: ["8L38"], + bite: ["8L1"], + blizzard: ["8M", "8L44"], + bodypress: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M"], + bulkup: ["8M"], + bulldoze: ["8M"], + burningjealousy: ["8T"], + dig: ["8M"], + earthquake: ["8M"], + encore: ["8M"], + endure: ["8M"], + facade: ["8M"], + fireblast: ["8M"], + firefang: ["8M"], + firepunch: ["8M"], + firespin: ["8M"], + flamethrower: ["8M"], + flareblitz: ["8M"], + fling: ["8M"], + focusblast: ["8M"], + focusenergy: ["8M"], + gigaimpact: ["8M"], + grassknot: ["8M"], + gyroball: ["8M"], + headbutt: ["8L24"], + heatwave: ["8M"], + hyperbeam: ["8M"], + icebeam: ["8M"], + icefang: ["8M", "8L20"], + icepunch: ["8M", "8L28"], + iciclecrash: ["8L0"], + irondefense: ["8M"], + ironhead: ["8M"], + lashout: ["8T"], + megakick: ["8M"], + megapunch: ["8M"], + overheat: ["8M"], + payback: ["8M"], + powdersnow: ["8L1"], + protect: ["8M"], + psychic: ["8M"], + rest: ["8M"], + reversal: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + superpower: ["8M", "8L56"], + tackle: ["8L1"], + taunt: ["8M", "8L1"], + thief: ["8M"], + thrash: ["8L50"], + uproar: ["8M", "8L32"], + uturn: ["8M"], + willowisp: ["8M"], + workup: ["8M", "8L16"], + zenheadbutt: ["8M"], + }, + }, + maractus: { + learnset: { + absorb: ["8L1", "7L1", "6L1", "5L1"], + acupressure: ["8L52", "7L29", "6L29", "5L29"], + aerialace: ["7M", "6M", "5M"], + afteryou: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L57"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + bulletseed: ["8M", "7E", "6E", "5E"], + confide: ["7M", "6M"], + cottonguard: ["8L60", "7L1", "6L1", "5L55"], + cottonspore: ["8L40", "7L18", "6L18", "5L18"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "6T", "5T"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "8L24", "7T", "7L26", "6T", "6L26", "5T", "5L26"], + grassknot: ["8M", "7M", "6M", "5M"], + grasswhistle: ["7E", "6E", "5E"], + grassyglide: ["8T"], + grassyterrain: ["8M", "7E", "6E"], + growth: ["8L4", "7L6", "6L6", "5L6"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hypervoice: ["8M", "7T", "6T", "5T"], + ingrain: ["8L1", "7L33", "6L33", "5L33"], + knockoff: ["7T", "6T", "5T"], + leafstorm: ["8M"], + leechseed: ["8L12", "7E", "6E", "5E", "5D"], + megadrain: ["8L8", "7L13", "6L13", "5L13"], + naturepower: ["7M", "6M"], + needlearm: ["7L22", "6L22", "5L22"], + peck: ["8L1", "7L1", "6L1", "5L1"], + petalblizzard: ["8L36", "7L48", "6L48"], + petaldance: ["8L56", "7L38", "6L38", "5L38"], + pinmissile: ["8M", "8L20", "7L10", "6L10", "5L10", "5D"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "8L48", "7M", "7L50", "6M", "6L50", "5M", "5L50"], + spikes: ["8M", "7E", "6E", "5E", "5D"], + spikyshield: ["8L1", "7L1", "6L1"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8L16", "7L42", "6L42", "5L42"], + sunnyday: ["8M", "8L44", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + swagger: ["7M", "6M", "5M"], + sweetscent: ["8L28", "7L3", "6L3", "5L3"], + synthesis: ["8L32", "7T", "7L15", "6T", "6L15", "5T", "5L15"], + throatchop: ["8M", "7T"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + weatherball: ["8M"], + woodhammer: ["8E", "7E", "6E", "5E"], + worryseed: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + }, + }, + dwebble: { + learnset: { + aerialace: ["7M", "6M", "5M"], + attract: ["8M", "7M", "6M", "5M"], + block: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + bugbite: ["8L12", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "6E", "5E"], + curse: ["8E", "7E", "6E", "5E"], + cut: ["6M", "5M"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M", "7E", "6E", "5E"], + facade: ["8M", "7M", "6M", "5M"], + feintattack: ["7L13", "6L13", "5L13"], + flail: ["8L16", "7L41", "6L41", "5L41"], + frustration: ["7M", "6M", "5M"], + furycutter: ["8L1", "7L1", "6L1", "5L1"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + irondefense: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + knockoff: ["8E", "7T", "6T", "5T"], + naturepower: ["7M", "6M"], + nightslash: ["8E", "7E", "6E", "5E"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M", "8L32", "7L5", "6L5", "5L5"], + rockpolish: ["8L40", "7M", "7L19", "6M", "6L19", "5M", "5L19"], + rockslide: ["8M", "8L24", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rockwrecker: ["8L48", "7L43", "6L43", "5L43"], + rototiller: ["7E", "6E"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L11", "6L11", "5L11"], + sandstorm: ["8M", "7M", "6M", "5M"], + sandtomb: ["8M", "7E", "6E", "5E"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + shellsmash: ["8L44", "7L37", "6L37", "5L37"], + skittersmack: ["8T"], + slash: ["8L20", "7L31", "6L31", "5L31"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L8", "7M", "7L17", "6M", "6L17", "5M", "5L17"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spikes: ["8M", "7E", "6E", "5E"], + stealthrock: ["8M", "8L28", "7T", "7L24", "6T", "6L24", "5T", "5L24"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + wideguard: ["8E", "7E", "6E"], + withdraw: ["8L4", "7L7", "6L7", "5L7"], + xscissor: ["8M", "8L36", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + }, + }, + crustle: { + learnset: { + aerialace: ["7M", "6M", "5M"], + attract: ["8M", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bodypress: ["8M"], + bugbite: ["8L12", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + counter: ["5D"], + cut: ["6M", "5M"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + feintattack: ["7L13", "6L13", "5L13"], + flail: ["8L16", "7L50", "6L50", "5L50"], + frustration: ["7M", "6M", "5M"], + furycutter: ["8L1"], + gigaimpact: ["8M", "7M", "6M", "5M"], + heavyslam: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + meteorbeam: ["8T"], + naturepower: ["7M", "6M"], + nightslash: ["5D"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M", "8L32", "7L1", "6L1", "5L1"], + rockpolish: ["8L44", "7M", "7L19", "6M", "6L19", "5M", "5L19"], + rockslide: ["8M", "8L24", "7M", "7L29", "6M", "6L29", "5M", "5L29", "5D"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rockwrecker: ["8L56", "7L55", "6L55", "5L55"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1"], + sandstorm: ["8M", "7M", "6M", "5M"], + sandtomb: ["8M"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + shellsmash: ["8L50", "7L1", "6L1", "5L1"], + skittersmack: ["8T"], + slash: ["8L20", "7L31", "6L31", "5L31"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L1", "7M", "7L17", "6M", "6L17", "5M", "5L17"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + solarblade: ["8M"], + spikes: ["8M"], + stealthrock: ["8M", "8L28", "7T", "7L24", "6T", "6L24", "5T", "5L24"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + withdraw: ["8L1", "7L1", "6L1", "5L1"], + xscissor: ["8M", "8L38", "7M", "7L38", "6M", "6L38", "5M", "5L38"], + }, + encounters: [ + {generation: 6, level: 33, maxEggMoves: 1}, + ], + }, + scraggy: { + learnset: { + acidspray: ["8E", "7E"], + amnesia: ["8M", "7E", "6E", "5E"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M", "8L24"], + brickbreak: ["8M", "8L32", "7M", "7L23", "6M", "6L20", "5M", "5L20"], + bulkup: ["8M", "7M", "6M", "5M"], + chipaway: ["7L27", "6L27", "5L27"], + coaching: ["8T"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "6E", "5E"], + crunch: ["8M", "8L40", "7L38", "6L38", "5L38"], + darkpulse: ["8M", "7M", "6M", "5T"], + detect: ["8E", "7E", "6E", "5E"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dragonclaw: ["8M", "7M", "6M", "5M"], + dragondance: ["8M", "7E", "6E", "5E"], + dragonpulse: ["8M", "7T", "6T", "5T"], + dragontail: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + dualchop: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "8L16", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + fakeout: ["8E", "7E", "6E", "5E", "5D"], + faketears: ["8M"], + feintattack: ["7L9", "7E", "6L9", "6E", "5L9", "5E"], + firepunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focuspunch: ["8L48", "7T", "7L48", "6T", "6L48", "5L49"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + headbutt: ["8L8", "7L1", "6L12", "5L12", "5S0"], + headsmash: ["8L52", "7L50", "6L50", "5L53"], + hiddenpower: ["7M", "6M", "5M"], + highjumpkick: ["8L44", "7L31", "6L31", "5L31", "5S0"], + icepunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + incinerate: ["6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T"], + ironhead: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1", "5L1", "5S0"], + lowkick: ["8M", "8L1", "7T", "7L16", "6T", "6L1", "5T", "5L1", "5D", "5S0"], + lowsweep: ["8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + payback: ["8M", "8L4", "7M", "7L20", "6M", "6L23", "5M", "5L23"], + poisonjab: ["8M", "7M", "6M", "5M"], + poweruppunch: ["8E", "7E", "6M"], + protect: ["8M", "8L20", "7M", "6M", "5M"], + quickguard: ["8E", "7E", "6E"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + roar: ["7M", "6M", "5M"], + rockclimb: ["7L45", "6L45", "5L45"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L12", "7L5", "6L5", "5L5"], + scaryface: ["8M", "8L28", "7L34", "6L34", "5L34"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snarl: ["8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superfang: ["7T", "6T", "5T"], + swagger: ["8L36", "7M", "7L12", "6M", "6L16", "5M", "5L16"], + taunt: ["8M", "7M", "6M", "5M"], + thief: ["8M"], + thunderpunch: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + }, + eventData: [ + {generation: 5, level: 1, gender: "M", nature: "Adamant", abilities: ["moxie"], moves: ["headbutt", "leer", "highjumpkick", "lowkick"], pokeball: "cherishball"}, + ], + }, + scrafty: { + learnset: { + amnesia: ["8M"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M", "8L24"], + brickbreak: ["8M", "8L32", "7M", "7L23", "6M", "6L20", "5M", "5L20"], + bulkup: ["8M", "7M", "6M", "5M"], + chipaway: ["7L27", "6L27", "5L27"], + closecombat: ["8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + crunch: ["8M", "8L42", "7L38", "6L38", "5L38"], + darkpulse: ["8M", "7M", "6M", "5T"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dragonclaw: ["8M", "7M", "6M", "5M"], + dragondance: ["8M"], + dragonpulse: ["8M", "7T", "6T", "5T"], + dragontail: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "6T", "5T", "5S0"], + dualchop: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "8L16", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + faketears: ["8M"], + feintattack: ["7L1", "6L1", "5L1"], + firepunch: ["8M", "7T", "6T", "5T", "5S0"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focuspunch: ["8L54", "7T", "7L58", "6T", "6L58", "5L58"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + headbutt: ["8L1", "7L1", "6L12", "5L12"], + headsmash: ["8L60", "7L65", "6L65", "5L65"], + hiddenpower: ["7M", "6M", "5M"], + highjumpkick: ["8L48", "7L31", "6L31", "5L31"], + hyperbeam: ["8M", "7M", "6M", "5M"], + icepunch: ["8M", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T"], + ironhead: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + lowkick: ["8M", "8L1", "7T", "7L16", "6T", "6L1", "5T", "5L1"], + lowsweep: ["8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + outrage: ["8M", "7T", "6T", "5T"], + payback: ["8M", "8L1", "7M", "7L20", "6M", "6L23", "5M", "5L23", "5S0"], + poisonjab: ["8M", "7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["8M", "8L20", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + roar: ["7M", "6M", "5M"], + rockclimb: ["7L51", "6L51", "5L51"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L12", "7L1", "6L1", "5L1"], + scaryface: ["8M", "8L28", "7L34", "6L34", "5L34"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snarl: ["8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M", "5S0"], + sunnyday: ["8M", "7M", "6M", "5M"], + superfang: ["7T", "6T", "5T"], + swagger: ["8L36", "7M", "7L12", "6M", "6L16", "5M", "5L16"], + taunt: ["8M", "7M", "6M", "5M"], + thief: ["8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "7T", "6T", "5T"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Brave", abilities: ["moxie"], moves: ["firepunch", "payback", "drainpunch", "substitute"], pokeball: "cherishball"}, + ], + }, + sigilyph: { + learnset: { + aerialace: ["7M", "6M", "5M"], + aircutter: ["8L15", "7L21", "6L21", "5L21"], + airslash: ["8M", "8L35", "7L41", "6L41", "5L41"], + ancientpower: ["8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + confusion: ["8L1"], + cosmicpower: ["8M", "8L30", "7L48", "6L48", "5L48"], + darkpulse: ["8M", "7M", "6M", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "7E", "6E"], + gigaimpact: ["8M"], + gravity: ["8L5", "7T", "7L38", "6T", "6L38", "5T", "5L38"], + gust: ["8L1", "7L1", "6L1", "5L1"], + heatwave: ["8M", "7T", "6T", "5T", "5D"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypnosis: ["8L10", "7L4", "6L4", "5L4", "5D"], + icebeam: ["8M", "7M", "6M", "5M"], + icywind: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + lightscreen: ["8M", "8L50", "7M", "7L24", "6M", "6L24", "5M", "5L24"], + magiccoat: ["7T", "6T", "5T"], + magicroom: ["8M", "7T", "6T", "5T"], + miracleeye: ["7L1", "6L1", "5L1"], + mirrormove: ["7L34", "6L34", "5L34"], + pluck: ["5M"], + powerswap: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + psybeam: ["8L20", "7L18", "6L18", "5L18"], + psychic: ["8M", "8L40", "7M", "7L44", "6M", "6L44", "5M", "5L44"], + psychocut: ["8M"], + psychoshift: ["8E", "7E", "6E", "5E"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "7M", "6M", "5M"], + psywave: ["7L8", "6L8", "5L8"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "8L50", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["8E", "7M", "7E", "6M", "6E", "5T", "5E"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["8M", "8L60", "7T", "7E", "6T", "6E", "5T", "5E"], + skyattack: ["8L55", "7T", "7L50", "6T", "6L50", "5T", "5L51"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + speedswap: ["8M"], + steelwing: ["8M", "7M", "7E", "6M", "6E", "5E"], + storedpower: ["8M", "7E", "6E", "5E", "5D"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + synchronoise: ["7L31", "6L31", "5L31"], + tailwind: ["8L45", "7T", "7L11", "6T", "6L11", "5T", "5L11"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + whirlwind: ["8L25", "7L14", "6L14", "5L14"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + }, + yamask: { + learnset: { + afteryou: ["7T", "6T", "5T"], + allyswitch: ["8M", "7T", "7E", "6E"], + astonish: ["8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + calmmind: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + craftyshield: ["8L20", "7E"], + curse: ["8L36", "7L29", "6L29", "5L29"], + darkpulse: ["8M", "8L44", "7M", "6M", "5T"], + destinybond: ["8L52", "7L49", "6L49", "5L49"], + disable: ["8L12", "7L5", "7E", "6L5", "6E", "5L5", "5E"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + endure: ["8M", "7E", "6E", "5E"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + faketears: ["8M", "7E", "6E", "5E"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + grudge: ["8L32", "7L41", "6L41", "5L41"], + guardsplit: ["8L48", "7L33", "6L33", "5L33"], + haze: ["8L4", "7L9", "6L9", "5L9"], + healblock: ["7E", "6E", "5E"], + hex: ["8M", "8L24", "7L17", "6L17", "5L17"], + hiddenpower: ["7M", "6M", "5M"], + imprison: ["8M", "7E", "6E", "5E"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + magiccoat: ["7T", "6T", "5T"], + meanlook: ["8L28", "7L45", "6L45", "5L45"], + memento: ["8E", "7E", "6E", "5E"], + nastyplot: ["8M", "7E", "6E", "5E"], + nightmare: ["7E", "6E", "5E"], + nightshade: ["8L8", "7L13", "6L13", "5L13"], + ominouswind: ["7L25", "6L25", "5L25"], + painsplit: ["7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + poltergeist: ["8T"], + powersplit: ["8L48", "7L33", "6L33", "5L33"], + protect: ["8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + psychic: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "8L40", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + shockwave: ["7T", "6T"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + toxicspikes: ["8M", "7E", "6E"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + willowisp: ["8M", "8L16", "7M", "7L21", "6M", "6L21", "5M", "5L21"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + yamaskgalar: { + learnset: { + allyswitch: ["8M"], + astonish: ["8L1"], + attract: ["8M"], + brutalswing: ["8M", "8L16"], + calmmind: ["8M"], + craftyshield: ["8L20"], + curse: ["8L36"], + darkpulse: ["8M"], + destinybond: ["8L52"], + disable: ["8L12"], + earthpower: ["8M"], + earthquake: ["8M", "8L44"], + endure: ["8M"], + energyball: ["8M"], + facade: ["8M"], + faketears: ["8M"], + guardsplit: ["8L48"], + haze: ["8L4"], + hex: ["8M", "8L24"], + imprison: ["8M"], + irondefense: ["8M"], + meanlook: ["8L28"], + memento: ["8E"], + nastyplot: ["8M"], + nightshade: ["8L8"], + payback: ["8M"], + poltergeist: ["8T"], + powersplit: ["8L48"], + protect: ["8M", "8L1"], + psychic: ["8M"], + raindance: ["8M"], + rest: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + safeguard: ["8M"], + sandstorm: ["8M"], + shadowball: ["8M", "8L40"], + skillswap: ["8M"], + slam: ["8L32"], + sleeptalk: ["8M"], + snore: ["8M"], + substitute: ["8M"], + thief: ["8M"], + toxicspikes: ["8M"], + trick: ["8M"], + trickroom: ["8M"], + willowisp: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["8M"], + }, + }, + cofagrigus: { + learnset: { + afteryou: ["7T", "6T", "5T"], + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bodypress: ["8M"], + calmmind: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + craftyshield: ["8L20"], + curse: ["8L38", "7L29", "6L29", "5L29"], + darkpulse: ["8M", "8L50", "7M", "7S0", "6M", "5T"], + destinybond: ["8L62", "7L57", "6L57", "5L57"], + disable: ["8L12", "7L1", "6L1", "5L1"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + faketears: ["8M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + grudge: ["8L32", "7L45", "6L45", "5L45"], + guardsplit: ["8L56", "7L33", "6L33", "5L33"], + guardswap: ["8M"], + haze: ["8L1", "7L1", "6L1", "5L1"], + hex: ["8M", "8L24", "7L17", "6L17", "5L17"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + imprison: ["8M"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + magiccoat: ["7T", "6T", "5T"], + meanlook: ["8L28", "7L51", "6L51", "5L51"], + nastyplot: ["8M"], + nightshade: ["8L1", "7L13", "6L13", "5L13"], + ominouswind: ["7L25", "6L25", "5L25"], + painsplit: ["7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + phantomforce: ["8M"], + poltergeist: ["8T"], + powersplit: ["8L56", "7L33", "7S0", "6L33", "5L33"], + powerswap: ["8M"], + protect: ["8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + psychic: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L1", "7L1", "6L34", "5L34"], + secretpower: ["6M"], + shadowball: ["8M", "8L44", "7M", "7L39", "7S0", "6M", "6L39", "5M", "5L39"], + shadowclaw: ["8M", "8L0"], + shockwave: ["7T", "6T"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + toxicspikes: ["8M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + willowisp: ["8M", "8L16", "7M", "7L21", "7S0", "6M", "6L21", "5M", "5L21"], + wonderroom: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 7, level: 66, gender: "M", moves: ["willowisp", "shadowball", "powersplit", "darkpulse"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 32, maxEggMoves: 1}, + ], + }, + runerigus: { + learnset: { + allyswitch: ["8M"], + amnesia: ["8M"], + astonish: ["8L1"], + attract: ["8M"], + bodypress: ["8M"], + brutalswing: ["8M", "8L16"], + bulldoze: ["8M"], + calmmind: ["8M"], + craftyshield: ["8L20"], + curse: ["8L38"], + darkpulse: ["8M"], + destinybond: ["8L62"], + disable: ["8L12"], + dragonpulse: ["8M"], + earthpower: ["8M"], + earthquake: ["8M", "8L50"], + endure: ["8M"], + energyball: ["8M"], + facade: ["8M"], + faketears: ["8M"], + gigaimpact: ["8M"], + grassknot: ["8M"], + guardsplit: ["8L56"], + guardswap: ["8M"], + haze: ["8L1"], + hex: ["8M", "8L24"], + hyperbeam: ["8M"], + imprison: ["8M"], + irondefense: ["8M"], + meanlook: ["8L28"], + nastyplot: ["8M"], + nightshade: ["8L1"], + payback: ["8M"], + phantomforce: ["8M"], + poltergeist: ["8T"], + powersplit: ["8L56"], + powerswap: ["8M"], + protect: ["8M", "8L1"], + psychic: ["8M"], + raindance: ["8M"], + rest: ["8M"], + revenge: ["8M"], + rockblast: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + safeguard: ["8M"], + sandstorm: ["8M"], + sandtomb: ["8M"], + scaryface: ["8M", "8L1"], + shadowball: ["8M", "8L44"], + shadowclaw: ["8M", "8L0"], + skillswap: ["8M"], + slam: ["8L32"], + sleeptalk: ["8M"], + snore: ["8M"], + stealthrock: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + taunt: ["8M"], + thief: ["8M"], + toxicspikes: ["8M"], + trick: ["8M"], + trickroom: ["8M"], + willowisp: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["8M"], + }, + }, + tirtouga: { + learnset: { + ancientpower: ["8L12", "7L18", "6L18", "5L18"], + aquajet: ["8L6", "7L15", "6L15", "5L15", "5S0"], + aquatail: ["8L36", "7T", "7L41", "6T", "6L41", "5T", "5L41"], + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L1", "7E", "6L1", "6E", "5L1", "5E"], + bite: ["8L15", "7L8", "6L8", "5L8", "5S0"], + blizzard: ["8M", "7M", "6M", "5M"], + block: ["8E", "7T", "6T", "5T"], + bodyslam: ["8M", "7E", "6E", "5E", "5S0"], + brine: ["8M", "8L21", "7L28", "6L28", "5L28"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L27", "7L21", "6L21", "5L21"], + curse: ["8L30", "7L35", "6L35", "5L35"], + dig: ["8M", "6M", "5M"], + dive: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flail: ["7E", "6E", "5E", "5D"], + frustration: ["7M", "6M", "5M"], + guardswap: ["8M", "7E", "6E"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L42", "7L50", "6L50", "5L51"], + icebeam: ["8M", "7M", "6M", "5M"], + icywind: ["8M", "7T", "6T", "5T"], + irondefense: ["8M", "8L33", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5E"], + liquidation: ["8M", "7T", "7E"], + meteorbeam: ["8T"], + muddywater: ["8M"], + mudshot: ["8M"], + protect: ["8M", "8L3", "7M", "7L11", "6M", "6L11", "5M", "5L11", "5S0"], + raindance: ["8M", "8L39", "7M", "7L48", "6M", "6L48", "5M", "5L48"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L24", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + rocksmash: ["6M", "5M"], + rockthrow: ["8E", "7E", "6E", "5E"], + rocktomb: ["8M", "7M", "6M", "5M"], + rollout: ["8E", "7L5", "6L5", "5L5", "5D"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shellsmash: ["8L45", "7L38", "6L38", "5L38"], + slam: ["8E", "7E", "6E", "5E"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L9", "7M", "7L31", "6M", "6L31", "5M", "5L31"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + waterfall: ["8M", "7M", "6M", "5M"], + watergun: ["8L1", "7L1", "6L1", "5L1"], + waterpulse: ["8E", "7T", "7E", "6T", "6E", "5E"], + whirlpool: ["8M", "7E", "6E", "5E"], + wideguard: ["8L18", "7L25", "6L25", "5L25"], + withdraw: ["8L1", "7L1", "6L1", "5L1"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["sturdy"], moves: ["bite", "protect", "aquajet", "bodyslam"], pokeball: "cherishball"}, + ], + }, + carracosta: { + learnset: { + ancientpower: ["8L12", "7L18", "6L18", "5L18"], + aquajet: ["8L1", "7L15", "6L15", "5L15"], + aquatail: ["8L36", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L1", "6L1", "5L1"], + bite: ["8L15", "7L8", "6L8", "5L8"], + blizzard: ["8M", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bodyslam: ["8M"], + brine: ["8M", "8L21", "7L28", "6L28", "5L28"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L27", "7L21", "6L21", "5L21"], + curse: ["8L30", "7L35", "6L35", "5L35"], + dig: ["8M", "6M", "5M"], + dive: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + guardswap: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L46", "7L61", "6L61", "5L61"], + hyperbeam: ["8M", "7M", "6M", "5M"], + icebeam: ["8M", "7M", "6M", "5M"], + icywind: ["8M", "7T", "6T", "5T"], + irondefense: ["8M", "8L33", "7T", "6T", "5T"], + ironhead: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T"], + liquidation: ["8M", "7T"], + lowkick: ["8M", "7T", "6T", "5T"], + meteorbeam: ["8T"], + muddywater: ["8M"], + mudshot: ["8M"], + protect: ["8M", "8L1", "7M", "7L11", "6M", "6L11", "5M", "5L11"], + raindance: ["8M", "8L41", "7M", "7L56", "6M", "6L56", "5M", "5L56"], + razorshell: ["8M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L24", "7M", "7L51", "6M", "6L51", "5M", "5L51"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rollout: ["7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shellsmash: ["8L51", "7L40", "6L40", "5L40"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L9", "7M", "7L31", "6M", "6L31", "5M", "5L31"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + waterfall: ["8M", "7M", "6M", "5M"], + watergun: ["8L1", "7L1", "6L1", "5L1"], + waterpulse: ["7T", "6T"], + whirlpool: ["8M"], + wideguard: ["8L18", "7L25", "6L25", "5L25"], + withdraw: ["8L1", "7L1", "6L1", "5L1"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + archen: { + learnset: { + acrobatics: ["8M", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + aerialace: ["7M", "6M", "5M"], + agility: ["8M", "8L33", "7L21", "6L21", "5L21"], + allyswitch: ["8M", "7T", "7E", "6E"], + ancientpower: ["8L12", "7L18", "6L18", "5L18"], + aquatail: ["7T", "6T", "5T"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["8E", "7E", "6E", "5E"], + bounce: ["8M", "7T", "6T", "5T"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L30", "7L35", "6L35", "5L35"], + cut: ["6M", "5M"], + defog: ["8E", "7T", "7E", "6E", "5E"], + dig: ["8M", "6M", "5M"], + doubleteam: ["8E", "7M", "7L8", "6M", "6L8", "5M", "5L8", "5S0"], + dragonbreath: ["8L9", "7L31", "6L31", "5L31"], + dragonclaw: ["8M", "8L39", "7M", "7L48", "6M", "6L48", "5M", "5L48"], + dragonpulse: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + earthquake: ["8M", "7M", "6M", "5M"], + endeavor: ["8L45", "7T", "7L38", "6T", "6L38", "5T", "5L38"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + headsmash: ["8E", "7E", "6E", "5E", "5S0"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5E"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + meteorbeam: ["8T"], + pluck: ["8L15", "7L15", "6L15", "5M", "5L15"], + protect: ["8M", "7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + quickguard: ["8L18", "7L25", "6L25", "5L25"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["7M", "6M", "5M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L24", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + rocksmash: ["6M", "5M"], + rockthrow: ["8L3", "7L5", "6L5", "5L5"], + rocktomb: ["8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L27", "7L11", "6L11", "5L11", "5S0"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "7E", "6M", "6E", "5E"], + stoneedge: ["8M", "7M", "6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + switcheroo: ["8E", "7E", "6E"], + tailwind: ["8L36", "7T", "6T", "5T"], + taunt: ["8M", "7M", "6M", "5M"], + thrash: ["8L42", "7L50", "6L50", "5L51"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "8L21", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + wingattack: ["8L6", "7L1", "6L1", "5L1", "5S0"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["headsmash", "wingattack", "doubleteam", "scaryface"], pokeball: "cherishball"}, + ], + }, + archeops: { + learnset: { + acrobatics: ["8M", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + aerialace: ["7M", "6M", "5M"], + agility: ["8M", "8L33", "7L21", "6L21", "5L21"], + airslash: ["8M"], + allyswitch: ["8M", "7T"], + ancientpower: ["8L12", "7L18", "6L18", "5L18"], + aquatail: ["7T", "6T", "5T"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "6T", "5T"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L30", "7L35", "6L35", "5L35"], + cut: ["6M", "5M"], + defog: ["7T"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "7L8", "6M", "6L8", "5M", "5L8"], + dragonbreath: ["8L9", "7L31", "6L31", "5L31"], + dragonclaw: ["8M", "8L41", "7M", "7L56", "6M", "6L56", "5M", "5L56"], + dragonpulse: ["8M", "7T", "6T", "5T"], + dragontail: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + endeavor: ["8L51", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + meteorbeam: ["8T"], + outrage: ["8M", "7T", "6T", "5T"], + pluck: ["8L15", "7L15", "6L15", "5M", "5L15"], + protect: ["8M", "7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + quickguard: ["8L18", "7L25", "6L25", "5L25"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["7M", "6M", "5M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L24", "7M", "7L51", "6M", "6L51", "5M", "5L51"], + rocksmash: ["6M", "5M"], + rockthrow: ["8L1", "7L1", "6L1", "5L1"], + rocktomb: ["8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L27", "7L11", "6L11", "5L11"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + skyattack: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + stoneedge: ["8M", "7M", "6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + tailwind: ["8L36", "7T", "6T", "5T"], + taunt: ["8M", "7M", "6M", "5M"], + thrash: ["8L46", "7L61", "6L61", "5L61"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "8L21", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + wingattack: ["8L1", "7L1", "6L1", "5L1"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + trubbish: { + learnset: { + acidspray: ["8L6", "7L12", "6L12", "5L12"], + amnesia: ["8M", "8L9", "7L40", "6L40", "5L40"], + attract: ["8M", "7M", "6M", "5M"], + autotomize: ["8E", "7E"], + belch: ["8L33", "7L42", "6L42"], + clearsmog: ["8L12", "7L34", "6L34", "5L34"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + curse: ["8E", "7E", "6E", "5E"], + darkpulse: ["8M", "7M", "6M", "5T"], + doubleslap: ["7L14", "6L14", "5L14"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "6T", "5T"], + endure: ["8M"], + explosion: ["8L42", "7M", "7L47", "6M", "6L47", "5M", "5L47"], + facade: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "7T", "6T", "5T"], + gunkshot: ["8M", "8L39", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + haze: ["8E", "7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M"], + infestation: ["7M", "6M"], + mudsport: ["7E", "6E", "5E"], + painsplit: ["8L37", "7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + poisongas: ["8L1", "7L1", "6L1", "5L1"], + pound: ["8L1", "7L1", "6L1", "5L1"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + recycle: ["8L3", "7T", "7L3", "6T", "6L3", "5T", "5L3"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M", "7E", "6E", "5E"], + rollout: ["8E", "7E", "6E", "5E"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8E", "7E", "6E", "5E"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + selfdestruct: ["8M", "7E", "6E", "5E"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludge: ["8L18", "7L18", "6L18", "5L18"], + sludgebomb: ["8M", "8L27", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + spikes: ["8M", "7E", "6E", "5E"], + spite: ["7T", "6T", "5T"], + stockpile: ["8L21", "7L23", "6L23", "5L23"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swallow: ["8L21", "7L23", "6L23", "5L23"], + takedown: ["8L24", "7L25", "6L25", "5L25"], + thief: ["8M", "7M", "6M", "5M"], + toxic: ["8L30", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + toxicspikes: ["8M", "8L15", "7L7", "6L7", "5L7"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + }, + }, + garbodor: { + learnset: { + acidspray: ["8L1", "7L12", "6L12", "5L12"], + amnesia: ["8M", "8L9", "7L46", "6L46", "5L46"], + attract: ["8M", "7M", "6M", "5M"], + belch: ["8L33", "7L49", "6L49"], + bodypress: ["8M"], + bodyslam: ["8M", "8L24", "7L25", "6L25", "5L25"], + clearsmog: ["8L12", "7L34", "6L34", "5L34"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + crosspoison: ["8M"], + darkpulse: ["8M", "7M", "6M", "5T"], + doubleslap: ["7L14", "6L14", "5L14"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "6T", "5T"], + endure: ["8M"], + explosion: ["8L48", "7M", "7L59", "6M", "6L59", "5M", "5L59"], + facade: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "7T", "6T", "5T"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gunkshot: ["8M", "8L43", "7T", "7L54", "6T", "6L54", "5T", "5L54"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + infestation: ["7M", "6M"], + metalclaw: ["8L1"], + painsplit: ["8L39", "7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + poisongas: ["8L1", "7L1", "6L1", "5L1"], + pound: ["8L1", "7L1", "6L1", "5L1"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + recycle: ["8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + selfdestruct: ["8M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludge: ["8L18", "7L18", "6L18", "5L18"], + sludgebomb: ["8M", "8L27", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spikes: ["8M"], + spite: ["7T", "6T", "5T"], + stockpile: ["8L21", "7L23", "6L23", "5L23"], + stompingtantrum: ["8M", "7T"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swallow: ["8L21", "7L23", "6L23", "5L23"], + takedown: ["8L1"], + thief: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + toxic: ["8L30", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + toxicspikes: ["8M", "8L15", "7L1", "6L1", "5L1"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + }, + encounters: [ + {generation: 5, level: 31}, + {generation: 6, level: 30}, + {generation: 7, level: 24}, + ], + }, + zorua: { + learnset: { + aerialace: ["7M", "6M", "5M"], + agility: ["9M", "9L32", "8M", "8L32", "7L37", "6L37", "5L37"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "6T", "5T"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["7E", "6E", "5E"], + confide: ["7M", "6M"], + confuseray: ["9M"], + copycat: ["9E", "8E", "7E", "6E"], + counter: ["9E", "8E", "7E", "6E", "5E"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E"], + detect: ["9E", "8E", "7E", "6E", "5E"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + embargo: ["7M", "7L41", "6M", "6L41", "5M", "5L41"], + encore: ["9M"], + endure: ["9M", "8M"], + extrasensory: ["9E", "8E", "7E", "6E", "5E"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "9L28", "8M", "8L28", "7L9", "6L9", "5L9"], + feintattack: ["7L17", "6L17", "5L17"], + fling: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "9L48", "8M", "8L48", "7T", "7L29", "6T", "6L29", "5T", "5L29"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["9L12", "8L12", "7L13", "6L13", "5L13"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["9L8", "8L8", "6M", "5M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + imprison: ["9M", "9L36", "8M", "8L36", "7L53", "6L53", "5L53"], + incinerate: ["6M", "5M"], + knockoff: ["9M", "9L24", "8L24", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + memento: ["9E", "8E", "7E", "6E", "5E"], + nastyplot: ["9M", "9L44", "8M", "8L44", "7L49", "6L49", "5L49"], + nightdaze: ["9L40", "8L40", "7L57", "6L57", "5L57"], + nightshade: ["9M"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + punishment: ["7L45", "6L45", "5L45"], + pursuit: ["7L5", "6L5", "5L5"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + roar: ["9M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L16", "8M", "8L16", "7L21", "6L21", "5L21"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + shadowclaw: ["9M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "7E", "6T", "6E", "5T", "5E"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + suckerpunch: ["9E", "8E", "7E", "6E", "5E"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + torment: ["9L4", "8L4", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + toxic: ["7M", "6M", "5M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + }, + }, + zoruahisui: { + learnset: { + agility: ["9M", "9L32"], + bittermalice: ["9L40"], + burningjealousy: ["9M"], + calmmind: ["9M"], + comeuppance: ["9E"], + confuseray: ["9M"], + curse: ["9L16"], + darkpulse: ["9M"], + detect: ["9E"], + dig: ["9M"], + endure: ["9M"], + extrasensory: ["9E"], + facade: ["9M"], + faketears: ["9M"], + fling: ["9M"], + focuspunch: ["9M"], + foulplay: ["9M", "9L48"], + gigaimpact: ["9M"], + hex: ["9M"], + honeclaws: ["9L8"], + hyperbeam: ["9M"], + icywind: ["9M"], + imprison: ["9M"], + knockoff: ["9M", "9L24"], + lashout: ["9M"], + leer: ["9L1"], + memento: ["9E"], + nastyplot: ["9M", "9L44"], + nightshade: ["9M"], + phantomforce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + roar: ["9M"], + scratch: ["9L1"], + shadowball: ["9M", "9L36"], + shadowclaw: ["9M"], + shadowsneak: ["9L12"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + snarl: ["9M"], + snowscape: ["9M"], + spite: ["9M", "9L28"], + substitute: ["9M"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L20"], + terablast: ["9M"], + thief: ["9M"], + torment: ["9L4"], + trick: ["9M"], + uturn: ["9M"], + willowisp: ["9M"], + }, + }, + zoroark: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + agility: ["9M", "9L34", "8M", "8L34", "7L39", "6L39", "5L39", "5S0"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bodyslam: ["9M"], + bounce: ["8M", "7T", "6T", "5T"], + brickbreak: ["9M"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + covet: ["7T", "6T", "5T"], + crunch: ["9M"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "6M", "6S1", "5T"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + embargo: ["7M", "7L44", "6M", "6L44", "5M", "5L44", "5S0"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "9L28", "8M", "8L28"], + feintattack: ["7L17", "6L17", "5L17"], + flamethrower: ["9M", "8M", "7M", "6M", "6S1", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "9L58", "8M", "8L58", "7T", "7L29", "6T", "6L29", "5T", "5L29"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["9L12", "8L12", "7L13", "6L13", "6S2", "5L13"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["9L1", "8L1", "7L1", "6M", "6L1", "5M", "5L1"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypervoice: ["9M", "8M", "7T", "6T", "5T"], + imprison: ["9M", "9L40", "8M", "8L40", "7L1", "6L1", "5L59"], + incinerate: ["6M", "5M"], + knockoff: ["9M", "9L24", "8L24", "7T", "6T", "5T"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L52", "8M", "8L52", "7L54", "6L54", "6S2", "5L54"], + nightdaze: ["9L46", "8L46", "7L1", "6L1", "5L64"], + nightshade: ["9M"], + nightslash: ["9L0", "8L0", "7L1", "6L30", "5L30"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M"], + psychup: ["7M", "6M", "5M"], + punishment: ["7L49", "6L49", "6S2", "5L49", "5S0"], + pursuit: ["7L1", "6L1", "5L1"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + roar: ["9M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M", "8L16", "7L21", "6L21", "6S2", "5L21"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "6S1"], + snarl: ["9M", "8M", "7M", "6M", "5M", "5S0"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + suckerpunch: ["6S1"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + torment: ["9L1", "8L1", "7M", "7L34", "6M", "6L34", "5M", "5L34"], + toxic: ["9M", "7M", "6M", "5M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Quirky", moves: ["agility", "embargo", "punishment", "snarl"], pokeball: "cherishball"}, + {generation: 6, level: 50, moves: ["sludgebomb", "darkpulse", "flamethrower", "suckerpunch"], pokeball: "ultraball"}, + {generation: 6, level: 45, gender: "M", nature: "Naughty", moves: ["scaryface", "furyswipes", "nastyplot", "punishment"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 25}, + ], + }, + zoroarkhisui: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "9L34"], + bittermalice: ["9L46", "9S0"], + bodyslam: ["9M"], + brickbreak: ["9M"], + burningjealousy: ["9M"], + calmmind: ["9M"], + confuseray: ["9M"], + crunch: ["9M"], + curse: ["9L16"], + darkpulse: ["9M"], + dig: ["9M"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9M"], + flamethrower: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + focuspunch: ["9M"], + foulplay: ["9M", "9L58"], + gigaimpact: ["9M"], + grassknot: ["9M"], + happyhour: ["9S0"], + helpinghand: ["9M"], + hex: ["9M"], + honeclaws: ["9L1"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icywind: ["9M"], + imprison: ["9M"], + knockoff: ["9M", "9L24"], + lashout: ["9M"], + leer: ["9L1"], + lowkick: ["9M"], + lowsweep: ["9M"], + nastyplot: ["9M", "9L52", "9S0"], + nightshade: ["9M"], + phantomforce: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + psychic: ["9M"], + raindance: ["9M"], + rest: ["9M"], + roar: ["9M"], + scaryface: ["9M"], + scratch: ["9L1"], + shadowball: ["9M", "9L40"], + shadowclaw: ["9M", "9L0"], + shadowsneak: ["9L12"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + snarl: ["9M"], + snowscape: ["9M"], + spite: ["9M", "9L28"], + substitute: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L20"], + terablast: ["9M", "9S0"], + thief: ["9M"], + torment: ["9L1"], + trick: ["9M"], + uturn: ["9M", "9L1"], + willowisp: ["9M"], + }, + eventData: [ + {generation: 9, level: 50, perfectIVs: 3, moves: ["happyhour", "bittermalice", "nastyplot", "terablast"], pokeball: "cherishball"}, + ], + }, + minccino: { + learnset: { + afteryou: ["8L28", "7T", "7L49", "6T", "6L49", "5T", "5L49"], + aquatail: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + attract: ["8M", "7M", "6M", "5M"], + babydolleyes: ["8L1", "7L3", "6L3"], + calmmind: ["8M", "7M", "6M", "5M"], + captivate: ["7L39", "6L39", "5L39"], + charm: ["8M", "8L16", "7L27", "6L27", "5L27"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + dig: ["8M", "6M", "5M"], + doubleslap: ["7L13", "6L13", "5L13"], + doubleteam: ["7M", "6M", "5M"], + echoedvoice: ["8L8", "7M", "7L33", "6M", "6L33", "5M", "5L33"], + encore: ["8M", "8L24", "7L15", "6L15", "5L15"], + endure: ["8M", "7E", "6E", "5E"], + facade: ["8M", "7M", "6M", "5M"], + faketears: ["8M", "7E", "6E", "5E"], + flail: ["8E", "7E", "6E", "5E"], + fling: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + growl: ["5L3"], + gunkshot: ["8M", "7T", "6T", "5T"], + helpinghand: ["8M", "8L4", "7T", "7L7", "6T", "6L7", "5T", "5L7"], + hiddenpower: ["7M", "6M", "5M"], + hypervoice: ["8M", "8L44", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + lastresort: ["8L48", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + mudslap: ["7E", "6E", "5E"], + playrough: ["8M"], + pound: ["8L1", "7L1", "6L1", "5L1"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + shockwave: ["7T", "6T"], + sing: ["8L12", "7L21", "6L21", "5L21"], + slam: ["8L40", "7L37", "6L37", "5L37"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E"], + snore: ["8M", "7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M", "8L20", "7L19", "6L19", "5L19"], + tailslap: ["8M", "8L32", "7L25", "6L25", "5L25"], + tailwhip: ["8E", "7E", "6E", "5E"], + thief: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + tickle: ["8L36", "7L9", "6L9", "5L9"], + toxic: ["7M", "6M", "5M"], + tripleaxel: ["8T"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + wakeupslap: ["7L31", "6L31", "5L31"], + workup: ["8M", "7M", "5M"], + }, + }, + cinccino: { + learnset: { + afteryou: ["8L1", "7T", "6T", "5T"], + aquatail: ["7T", "6T", "5T"], + attract: ["8M", "7M", "6M", "5M"], + babydolleyes: ["8L1"], + bulletseed: ["8M", "8L1", "7L1", "6L1", "5L1"], + calmmind: ["8M", "7M", "6M", "5M"], + charm: ["8M", "8L1"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + echoedvoice: ["8L1", "7M", "6M", "5M"], + encore: ["8M", "8L1"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + faketears: ["8M"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + gunkshot: ["8M", "7T", "6T", "5T"], + helpinghand: ["8M", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L1", "7T", "6T", "5T"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + lastresort: ["8L1", "7T", "6T", "5T"], + lightscreen: ["8M", "7M", "6M", "5M"], + playrough: ["8M"], + pound: ["8L1"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockblast: ["8M", "8L1", "7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + shockwave: ["7T", "6T"], + sing: ["8L1", "7L1", "6L1", "5L1"], + slam: ["8L1"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M", "8L1"], + tailslap: ["8M", "8L1", "7L1", "6L1", "5L1"], + thief: ["8M", "7M", "6M", "5M"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + tickle: ["8L1", "7L1", "6L1", "5L1"], + toxic: ["7M", "6M", "5M"], + tripleaxel: ["8T"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + }, + }, + gothita: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["7E", "6E", "5E"], + chargebeam: ["7M", "6M", "5M"], + charm: ["9M", "9L16", "8M", "8L16", "7L46", "6L46", "5L46"], + confide: ["7M", "6M"], + confusion: ["9L1", "8L1", "7L3", "6L3", "5L3"], + covet: ["7T", "6T", "5T"], + darkpulse: ["9M", "8M", "7M", "7E", "6M", "6E", "5E"], + doubleslap: ["7L14", "6L14", "5L14"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "7L19", "6M", "6L19", "5M", "5L19"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fakeout: ["9E", "8E"], + faketears: ["9M", "9L28", "8M", "8L28", "7L10", "6L10", "5L10"], + feintattack: ["7L24", "6L24", "5L24"], + flash: ["6M", "5M"], + flatter: ["9L40", "8L40", "7L28", "6L28", "5L28"], + fling: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + futuresight: ["9L44", "8M", "8L44", "7L31", "6L31", "5L31"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], + guardswap: ["8M"], + healbell: ["7T", "6T", "5T"], + healblock: ["7L33", "6L33", "5L33"], + healpulse: ["9E", "8E", "7E", "6E"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hypnosis: ["9L24", "8L24"], + imprison: ["9M"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magicroom: ["9L48", "8M", "8L48", "7T", "7L48", "6T", "6L48", "5T", "5L48"], + meanlook: ["9E", "8E", "7E", "6E", "5E"], + miracleeye: ["7E", "6E", "5E"], + mirrorcoat: ["9E", "8E", "7E", "6E", "5E"], + nastyplot: ["9M", "8M"], + payback: ["8M", "7M", "6M", "5M"], + playnice: ["9L4", "8L4", "7L8", "6L8"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psybeam: ["9M", "9L12", "8L12", "7L16", "6L16", "5L16"], + psychic: ["9M", "9L36", "8M", "8L36", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + psychicterrain: ["9M"], + psychup: ["9L33", "8L33", "7M", "6M", "5M"], + psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["9M", "8M", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + telekinesis: ["7T", "7L40", "6L40", "5M", "5L40"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + tickle: ["9L8", "8L8", "7L7", "6L7", "5L7"], + torment: ["9E", "8E", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], + }, + }, + gothorita: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + charm: ["9M", "9L16", "8M", "8L16", "7L50", "6L50", "5L50"], + confide: ["7M", "6M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1"], + covet: ["7T", "6T", "5T"], + darkpulse: ["9M", "8M", "7M", "6M"], + doubleslap: ["7L14", "6L14", "5L14"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "7L19", "6M", "6L19", "5M", "5L19"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "9L28", "8M", "8L28", "7L10", "6L10", "5L1"], + feintattack: ["7L24", "6L24", "5L24"], + flash: ["6M", "5M"], + flatter: ["9L46", "8L46", "7L28", "6L28", "5L28", "5S0", "5S1"], + fling: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + futuresight: ["9L52", "8M", "8L52", "7L31", "6L31", "5L31", "5S0", "5S1"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], + guardswap: ["8M"], + healbell: ["7T", "6T", "5T"], + healblock: ["7L34", "6L34", "5L34"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hypnosis: ["9L24", "8L24"], + imprison: ["9M", "5S1"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magicroom: ["9L58", "8M", "8L58", "7T", "7L53", "6T", "6L53", "5T", "5L53"], + metronome: ["9M"], + mirrorcoat: ["5S0"], + nastyplot: ["9M", "8M"], + payback: ["8M", "7M", "6M", "5M"], + playnice: ["9L1", "8L1", "7L1", "6L1"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psybeam: ["9M", "9L12", "8L12", "7L16", "6L16", "5L16"], + psychic: ["9M", "8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicterrain: ["9M"], + psychup: ["9L35", "8L35", "7M", "6M", "5M"], + psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25", "5S0", "5S1"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["9M", "8M", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + telekinesis: ["7T", "7L43", "6L43", "5M", "5L43"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + tickle: ["9L1", "8L1", "7L1", "6L1", "5L1"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 32, gender: "M", isHidden: true, moves: ["psyshock", "flatter", "futuresight", "mirrorcoat"]}, + {generation: 5, level: 32, gender: "M", isHidden: true, moves: ["psyshock", "flatter", "futuresight", "imprison"]}, + ], + encounters: [ + {generation: 5, level: 31}, + ], + }, + gothitelle: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M", "5M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + charm: ["9M", "9L16", "8M", "8L16", "7L54", "6L54", "5L54"], + confide: ["7M", "6M"], + confusion: ["9L1", "8L1", "7L1", "6L1", "5L1"], + cosmicpower: ["8M"], + covet: ["7T", "6T", "5T"], + darkpulse: ["9M", "8M", "7M", "6M"], + doubleslap: ["7L14", "6L14", "5L14"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "7L19", "6M", "6L19", "5M", "5L19"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "9L28", "8M", "8L28", "7L10", "6L10", "5L1"], + feintattack: ["7L24", "6L24", "5L24"], + flash: ["6M", "5M"], + flatter: ["9L48", "8L48", "7L28", "6L28", "5L28"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + futuresight: ["9L56", "8M", "8L56", "7L31", "6L31", "5L31"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], + guardswap: ["8M"], + healbell: ["7T", "6T", "5T"], + healblock: ["7L34", "6L34", "5L34"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + hypnosis: ["9L24", "8L24"], + imprison: ["9M", "8M"], + laserfocus: ["7T"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magicroom: ["9L64", "8M", "8L64", "7T", "7L59", "6T", "6L59", "5T", "5L59"], + metronome: ["9M"], + nastyplot: ["9M", "8M"], + payback: ["8M", "7M", "6M", "5M"], + playnice: ["9L1", "8L1", "7L1", "6L1"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psybeam: ["9M", "9L12", "8L12", "7L16", "6L16", "5L16"], + psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicterrain: ["9M"], + psychup: ["9L35", "8L35", "7M", "6M", "5M"], + psyshock: ["9M", "9L20", "8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["9M", "8M", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + telekinesis: ["7T", "7L45", "6L45", "5M", "5L45"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderbolt: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + tickle: ["9L1", "8L1", "7L1", "6L1", "5L1"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], + }, + encounters: [ + {generation: 5, level: 34}, + ], + }, + solosis: { + learnset: { + acidarmor: ["8E", "7E", "6E", "5E"], + afteryou: ["7T", "6T", "5T"], + allyswitch: ["8M", "8L28", "7T"], + astonish: ["8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M"], + charm: ["8M", "8L16", "7L19", "6L19", "5L19"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E"], + confusion: ["8L1"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + encore: ["8M"], + endeavor: ["8L8", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + explosion: ["7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "8L44", "7L31", "6L31", "5L31"], + gravity: ["7T", "6T", "5T"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M"], + healblock: ["7L46", "6L46", "5L46"], + helpinghand: ["8M", "7T", "7E", "6T", "6E"], + hiddenpower: ["7M", "7L14", "6M", "6L14", "5M", "5L14"], + imprison: ["8M", "7E", "6E", "5E"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T"], + lightscreen: ["8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + magiccoat: ["7T", "6T", "5T"], + nightshade: ["7E", "6E", "5E"], + painsplit: ["8L33", "7T", "7L33", "6T", "6L33", "5T", "5L33"], + powerswap: ["8M"], + protect: ["8M", "8L1", "7M", "6M", "5M"], + psybeam: ["8L12"], + psychic: ["8M", "8L36", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + psychicterrain: ["8M"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + psywave: ["7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + recover: ["8L4", "7L24", "6L24", "5L24"], + reflect: ["8M", "8L24", "7M", "7L3", "6M", "6L3", "5M", "5L3"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + rollout: ["7L7", "6L7", "5L7"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["7E", "6M", "6E", "5E"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["8M", "8L40", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snatch: ["7T", "7L10", "6T", "6L10", "5T", "5L10"], + snore: ["8M", "7T", "6T", "5T"], + steelroller: ["8T"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thunder: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + trickroom: ["8M", "7M", "6M", "5M"], + wonderroom: ["8M", "8L48", "7T", "7L48", "6T", "6L48", "5T", "5L48"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + }, + duosion: { + learnset: { + afteryou: ["7T", "6T", "5T"], + allyswitch: ["8M", "8L28", "7T"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M"], + charm: ["8M", "8L16", "7L19", "6L19", "5L19"], + confide: ["7M", "6M"], + confusion: ["8L1"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + encore: ["8M"], + endeavor: ["8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + explosion: ["7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "8L52", "7L31", "6L31", "5L31"], + gravity: ["7T", "6T", "5T"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M"], + healblock: ["7L50", "6L50", "5L50"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "7L14", "6M", "6L14", "5M", "5L14"], + imprison: ["8M", "5D"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T"], + lightscreen: ["8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + magiccoat: ["7T", "6T", "5T"], + painsplit: ["8L35", "7T", "7L34", "6T", "6L34", "5T", "5L34"], + powerswap: ["8M"], + protect: ["8M", "8L1", "7M", "6M", "5M"], + psybeam: ["8L12"], + psychic: ["8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicterrain: ["8M"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + psywave: ["7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + recover: ["8L1", "7L24", "6L24", "5L24", "5D"], + reflect: ["8M", "8L24", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + rollout: ["7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["8M", "8L46", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snatch: ["7T", "7L1", "6T", "6L1", "5T", "5L1"], + snore: ["8M", "7T", "6T", "5T"], + steelroller: ["8T"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thunder: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T", "5D"], + trickroom: ["8M", "7M", "6M", "5M"], + wonderroom: ["8M", "8L58", "7T", "7L53", "6T", "6L53", "5T", "5L53"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + encounters: [ + {generation: 5, level: 31}, + ], + }, + reuniclus: { + learnset: { + afteryou: ["7T", "6T", "5T"], + allyswitch: ["8M", "8L28", "7T"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M"], + charm: ["8M", "8L16", "7L19", "6L19", "5L19"], + confide: ["7M", "6M"], + confusion: ["8L1"], + dizzypunch: ["7L1", "6L41", "5L41"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "6T", "5T"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + encore: ["8M"], + endeavor: ["8L1", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + explosion: ["7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + firepunch: ["8M", "7T", "6T", "5T"], + flash: ["6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M", "8L56", "7L31", "6L31", "5L31"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + guardswap: ["8M"], + gyroball: ["8M", "7M", "6M", "5M"], + hammerarm: ["8L0"], + healblock: ["7L54", "6L54", "5L54"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "7L14", "6M", "6L14", "5M", "5L14"], + hyperbeam: ["8M", "7M", "6M", "5M"], + icepunch: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + lightscreen: ["8M", "8L24", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + magiccoat: ["7T", "6T", "5T"], + megapunch: ["8M"], + painsplit: ["8L35", "7T", "7L34", "6T", "6L34", "5T", "5L34"], + powerswap: ["8M"], + poweruppunch: ["6M"], + protect: ["8M", "8L1", "7M", "6M", "5M"], + psybeam: ["8L12"], + psychic: ["8M", "8L40", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicterrain: ["8M"], + psychup: ["7M", "6M", "5M"], + psyshock: ["8M", "8L20", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + psywave: ["7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + recover: ["8L1", "7L24", "6L24", "5L24"], + reflect: ["8M", "8L24", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + rollout: ["7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + skillswap: ["8M", "8L48", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snatch: ["7T", "7L1", "6T", "6L1", "5T", "5L1"], + snore: ["8M", "7T", "6T", "5T"], + steelroller: ["8T"], + storedpower: ["8M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thunder: ["8M", "7M", "6M", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + wonderroom: ["8M", "8L64", "7T", "7L59", "6T", "6L59", "5T", "5L59"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + encounters: [ + {generation: 5, level: 34}, + ], + }, + ducklett: { + learnset: { + aerialace: ["9M", "9L15", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + aircutter: ["9M", "7E", "6E", "5E"], + airslash: ["9M", "9L27", "7L27", "6L27", "5L27"], + aquajet: ["9E", "7E"], + aquaring: ["9L24", "7L24", "6L24", "5L24"], + attract: ["7M", "6M", "5M"], + bravebird: ["9M", "9L41", "7L41", "6L41", "5L41"], + brine: ["9E", "7E", "6E", "5E", "5D"], + bubblebeam: ["9L19", "7L19", "6L19", "5L19"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + defog: ["9L6", "7T", "7L6", "6L6", "5L6", "5D"], + disarmingvoice: ["9M"], + dive: ["9E", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["9E", "7T", "6T", "5T"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + featherdance: ["9L21", "7L21", "6L21", "5L21"], + fly: ["9M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gust: ["9E", "7E", "6E", "5E"], + hail: ["7M", "6M", "5M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + hurricane: ["9M", "9L46", "7L46", "6L46", "5L46"], + icebeam: ["9M", "7M", "6M", "5M"], + icywind: ["9M", "7T", "6T", "5T"], + liquidation: ["9M", "7T"], + luckychant: ["7E", "6E", "5E"], + mefirst: ["7E", "6E", "5E", "5D"], + mirrormove: ["7E", "6E", "5E"], + mudsport: ["7E", "6E"], + pluck: ["5M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L34"], + rest: ["9M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["9L30", "7M", "7L30", "6M", "6L30", "5T", "5L30"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + steelwing: ["9E", "7M", "7E", "6M", "6E", "5E"], + substitute: ["9M", "7M", "6M", "5M"], + surf: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + tailwind: ["9M", "9L37", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T"], + watergun: ["9L1", "7L1", "6L1", "5L1"], + waterpulse: ["9M", "9L13", "7T", "7L13", "6T", "6L13", "5L13"], + watersport: ["7L3", "6L3", "5L3"], + wingattack: ["9L9", "7L9", "6L9", "5L9"], + }, + }, + swanna: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9L15", "7M", "7L15", "6M", "6L15", "5M", "5L15"], + aircutter: ["9M"], + airslash: ["9M", "9L27", "7L27", "6L27", "5L27"], + aquaring: ["9L24", "7L24", "6L24", "5L24"], + attract: ["7M", "6M", "5M"], + bravebird: ["9M", "9L47", "7L47", "6L47", "5L47"], + bubblebeam: ["9L19", "7L19", "6L19", "5L19"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + defog: ["9L1", "7T", "7L1", "6L1", "5L1"], + disarmingvoice: ["9M"], + dive: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + featherdance: ["9L21", "7L21", "6L21", "5L21"], + flipturn: ["9M"], + fly: ["9M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "7M", "6M", "5M"], + hail: ["7M", "6M", "5M"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + hurricane: ["9M", "9L55", "7L55", "6L55", "5L55"], + hydropump: ["9M"], + hyperbeam: ["9M", "7M", "6M", "5M"], + icebeam: ["9M", "7M", "6M", "5M"], + icywind: ["9M", "7T", "6T", "5T"], + knockoff: ["9M"], + liquidation: ["9M", "7T"], + pluck: ["5M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "9L34", "7M", "7L34", "6M", "6L34", "5M", "5L34"], + rest: ["9M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["9L30", "7M", "7L30", "6M", "6L30", "5T", "5L30"], + round: ["7M", "6M", "5M"], + scald: ["7M", "6M", "5M"], + secretpower: ["6M"], + skyattack: ["7T", "6T", "5T"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + steelwing: ["7M", "6M"], + substitute: ["9M", "7M", "6M", "5M"], + surf: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + tailwind: ["9M", "9L40", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uproar: ["7T", "6T", "5T"], + watergun: ["9L1", "7L1", "6L1", "5L1"], + waterpulse: ["9M", "9L13", "7T", "7L13", "6T", "6L13", "5L13"], + watersport: ["7L1", "6L1", "5L1"], + weatherball: ["9M"], + wingattack: ["9L1", "7L1", "6L1", "5L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + vanillite: { + learnset: { + acidarmor: ["8L32", "7L31", "6L31", "5L31"], + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L7", "6L7", "5L7"], + attract: ["8M", "7M", "6M", "5M"], + auroraveil: ["8E"], + autotomize: ["8E", "7E", "6E", "5E"], + avalanche: ["8M", "8L16", "7L19", "6L19", "5L19"], + blizzard: ["8M", "8L44", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + explosion: ["8E", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + hail: ["8M", "8L20", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + harden: ["8L1", "7L4", "6L4", "5L4"], + hiddenpower: ["7M", "6M", "5M"], + hypervoice: ["8M"], + icebeam: ["8M", "8L40", "7M", "7L35", "6M", "6L35", "5M", "5L35"], + iceshard: ["8E", "7E", "6E", "5E"], + iciclecrash: ["8E"], + iciclespear: ["8M", "8L24", "7L1", "6L1", "5L1"], + icywind: ["8M", "8L12", "7T", "7L13", "6T", "6L13", "5T", "5L13"], + imprison: ["8M", "7E", "6E", "5E"], + irondefense: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magnetrise: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + mirrorcoat: ["8L36", "7L44", "6L44", "5L44"], + mirrorshot: ["7L26", "6L26", "5L26"], + mist: ["8L8", "7L16", "6L16", "5L16"], + naturalgift: ["7E", "6E", "5E"], + powdersnow: ["7E", "6E", "5E"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + selfdestruct: ["8M"], + sheercold: ["8L48", "7L53", "6L53", "5L53"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "8L4", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "8L28", "7T", "7L10", "6T", "6L10", "5T", "5L10"], + waterpulse: ["7T", "7E", "6T", "6E", "5E"], + }, + }, + vanillish: { + learnset: { + acidarmor: ["8L32", "7L31", "6L31", "5L31"], + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + avalanche: ["8M", "8L16", "7L19", "6L19", "5L19"], + blizzard: ["8M", "8L50", "7M", "7L53", "6M", "6L53", "5M", "5L53"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + explosion: ["7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + hail: ["8M", "8L20", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + harden: ["8L1", "7L1", "6L1", "5L1"], + hiddenpower: ["7M", "6M", "5M"], + hypervoice: ["8M"], + icebeam: ["8M", "8L44", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + iceshard: ["5D"], + iciclespear: ["8M", "8L24", "7L1", "6L1", "5L1"], + icywind: ["8M", "8L12", "7T", "7L13", "6T", "6L13", "5T", "5L13"], + imprison: ["8M", "5D"], + irondefense: ["8M", "7T", "6T", "5T"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T"], + mirrorcoat: ["8L38", "7L47", "6L47", "5L47"], + mirrorshot: ["7L26", "6L26", "5L26", "5D"], + mist: ["8L1", "7L16", "6L16", "5L16"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + selfdestruct: ["8M"], + sheercold: ["8L56", "7L58", "6L58", "5L58"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "8L1", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "8L28", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + waterpulse: ["7T", "6T"], + }, + }, + vanilluxe: { + learnset: { + acidarmor: ["8L32", "7L31", "6L31", "5L31"], + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + avalanche: ["8M", "8L16", "7L19", "6L19", "5L19"], + beatup: ["8M"], + blizzard: ["8M", "8L52", "7M", "7L59", "6M", "6L59", "5M", "5L59"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + explosion: ["7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + freezedry: ["8L1", "7L1", "6L1"], + frostbreath: ["7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + hail: ["8M", "8L20", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + harden: ["8L1", "7L1", "6L1", "5L1"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M"], + icebeam: ["8M", "8L44", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + iciclecrash: ["8L1"], + iciclespear: ["8M", "8L24", "7L1", "6L1", "5L1"], + icywind: ["8M", "8L12", "7T", "7L13", "6T", "6L13", "5T", "5L13"], + imprison: ["8M"], + irondefense: ["8M", "7T", "6T", "5T"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T"], + mirrorcoat: ["8L38", "7L50", "6L50", "5L50"], + mirrorshot: ["7L26", "6L26", "5L26"], + mist: ["8L1", "7L16", "6L16", "5L16"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + selfdestruct: ["8M"], + sheercold: ["8L60", "7L1", "6L1", "5L67"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "8L1", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "8L28", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + waterpulse: ["7T", "6T"], + weatherball: ["8M", "8L1", "7L1", "6L1", "5L1"], + }, + }, + deerling: { + learnset: { + agility: ["9M", "9E", "7E", "6E", "5E"], + aromatherapy: ["7L28", "6L28", "5L28", "5S0"], + attract: ["7M", "6M", "5M"], + batonpass: ["9M", "9E", "7E", "6E", "5E"], + bodyslam: ["9M"], + bounce: ["7T", "6T", "5T"], + bulldoze: ["9M"], + bulletseed: ["9M", "9L16"], + camouflage: ["7L1", "6L1", "5L1"], + charm: ["9M", "9L32", "7L36", "6L36", "5L36"], + confide: ["7M", "6M"], + dig: ["9M"], + doubleedge: ["9L37", "7L46", "6L46", "5L46"], + doublekick: ["9L10", "7L10", "6L10", "5L10"], + doubleteam: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M"], + energyball: ["9M", "9L28", "7M", "7L32", "6M", "6L32", "5M", "5L32"], + facade: ["9M", "7M", "6M", "5M"], + faketears: ["9M", "9E", "7E", "6E", "5E"], + feintattack: ["7L16", "6L16", "5L16", "5S0"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "7T", "6T", "5T"], + grassknot: ["9M", "7M", "6M", "5M"], + grasswhistle: ["7E", "6E", "5E"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L4", "7L4", "6L4", "5L4"], + headbutt: ["9E", "7E"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + jumpkick: ["7L24", "6L24", "5L24", "5S0"], + lastresort: ["7T", "6T", "5T"], + leafstorm: ["9M"], + leechseed: ["9L13", "7L13", "6L13", "5L13"], + lightscreen: ["9M", "7M", "6M", "5M"], + magicalleaf: ["9M"], + naturalgift: ["7E", "6E", "5E"], + naturepower: ["7M", "7L41", "6M", "6L41", "5L41"], + odorsleuth: ["7E", "6E", "5E"], + playrough: ["9M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + sandattack: ["9L7", "7L7", "6L7", "5L7"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T", "5T"], + shadowball: ["9M", "7M", "6M", "5M"], + sleeptalk: ["9M", "9E", "7M", "7E", "6M", "6E", "5T", "5E"], + snore: ["7T", "6T", "5T"], + solarbeam: ["9M", "9L42", "7M", "7L51", "6M", "6L51", "5M", "5L51"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + synthesis: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M", "9L20", "7L20", "6L20", "5L20", "5S0"], + terablast: ["9M"], + thunderwave: ["9M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + wildcharge: ["9M", "7M", "6M", "5M"], + workup: ["7M", "5M"], + worryseed: ["9E", "7T", "7E", "6T", "6E", "5T", "5E"], + zenheadbutt: ["9M", "9L24"], + }, + eventData: [ + {generation: 5, level: 30, gender: "F", isHidden: true, moves: ["feintattack", "takedown", "jumpkick", "aromatherapy"]}, + ], + }, + sawsbuck: { + learnset: { + agility: ["9M"], + aromatherapy: ["7L28", "6L28", "5L28"], + attract: ["7M", "6M", "5M"], + batonpass: ["9M"], + bodyslam: ["9M"], + bounce: ["7T", "6T", "5T"], + bulldoze: ["9M"], + bulletseed: ["9M", "9L16"], + camouflage: ["7L1", "6L1", "5L1"], + charm: ["9M", "9L36", "7L36", "6L36", "5L36"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + dig: ["9M"], + doubleedge: ["9L44", "7L52", "6L52", "5L52"], + doublekick: ["9L10", "7L10", "6L10", "5L10"], + doubleteam: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M"], + energyball: ["9M", "9L28", "7M", "7L32", "6M", "6L32", "5M", "5L32"], + facade: ["9M", "7M", "6M", "5M"], + faketears: ["9M"], + feintattack: ["7L16", "6L16", "5L16"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "7T", "6T", "5T"], + gigaimpact: ["9M", "7M", "6M", "5M"], + grassknot: ["9M", "7M", "6M", "5M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L1", "7L1", "6L1", "5L1"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["9M"], + hornleech: ["9L0", "7L1", "6L37", "5L37"], + hyperbeam: ["9M", "7M", "6M", "5M"], + jumpkick: ["7L24", "6L24", "5L24"], + lastresort: ["7T", "6T", "5T"], + leafstorm: ["9M"], + leechseed: ["9L13", "7L13", "6L13", "5L13"], + lightscreen: ["9M", "7M", "6M", "5M"], + magicalleaf: ["9M"], + megahorn: ["9L1", "7L1", "6L1", "5L1"], + naturepower: ["7M", "7L44", "6M", "6L44", "5L44"], + playrough: ["9M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["7M", "6M", "5M"], + sandattack: ["9L1", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T", "5T"], + shadowball: ["9M", "7M", "6M", "5M"], + sleeptalk: ["9M", "7M", "6M", "5T"], + smartstrike: ["9M"], + snore: ["7T", "6T", "5T"], + solarbeam: ["9M", "9L52", "7M", "7L60", "6M", "6L60", "5M", "5L60"], + stompingtantrum: ["9M", "7T"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["9M", "7M", "6M", "5M"], + synthesis: ["7T", "6T", "5T"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + takedown: ["9M", "9L20", "7L20", "6L20", "5L20"], + terablast: ["9M"], + thunderwave: ["9M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + wildcharge: ["9M", "7M", "6M", "5M"], + workup: ["7M", "5M"], + worryseed: ["7T", "6T", "5T"], + zenheadbutt: ["9M", "9L24"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + emolga: { + learnset: { + acrobatics: ["8M", "8L25", "7M", "7L30", "6M", "6L30", "5M", "5L30"], + aerialace: ["7M", "6M", "5M"], + agility: ["8M", "8L55", "7L46", "6L46", "5L46"], + airslash: ["8M", "7E", "6E", "5E", "5D"], + astonish: ["8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + batonpass: ["8M", "7E", "6E", "5E"], + charge: ["8L20", "7L10", "6L10", "5L10"], + chargebeam: ["7M", "6M", "5M"], + charm: ["8M", "7E", "6E", "5E", "5D"], + confide: ["7M", "6M"], + covet: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + cut: ["6M", "5M"], + defog: ["8E", "7T"], + discharge: ["8L50", "7L50", "6L50", "5L50"], + doubleteam: ["8L5", "7M", "7L19", "6M", "6L19", "5M", "5L19"], + dualwingbeat: ["8T"], + eerieimpulse: ["8M"], + electroball: ["8M", "7L26", "6L26", "5L26"], + electroweb: ["8M", "7T", "6T"], + encore: ["8M", "8L35", "7L38", "6L38", "5L38"], + endure: ["8M"], + energyball: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + helpinghand: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + iondeluge: ["7E", "6E"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + knockoff: ["7T", "6T", "5T"], + lastresort: ["7T", "6T", "5T"], + lightscreen: ["8M", "8L45", "7M", "7L34", "6M", "6L34", "5M", "5L34"], + nuzzle: ["8L1", "7L15", "6L15"], + protect: ["8M", "7M", "6M", "5M"], + pursuit: ["7L16", "6L16", "5L16"], + quickattack: ["8L10", "7L4", "6L4", "5L4", "5D"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + risingvoltage: ["8T"], + roost: ["8E", "7M", "7E", "6M", "6E", "5T", "5E"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shockwave: ["8E", "7T", "7L22", "7E", "6T", "6L22", "6E", "5L22", "5E"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M"], + spark: ["8L30", "7L13", "6L13", "5L13"], + speedswap: ["8M", "7E"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + tailwhip: ["8L1", "7L7", "6L7", "5L7"], + tailwind: ["7T", "6T", "5T"], + taunt: ["8M", "7M", "6M", "5M"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thundershock: ["8L15", "7L1", "6L1", "5L1"], + thunderwave: ["8M", "7M", "6M", "5M"], + tickle: ["8E", "7E", "6E", "5E"], + toxic: ["7M", "6M", "5M"], + uturn: ["8M", "7M", "6M", "5M"], + voltswitch: ["8M", "8L40", "7M", "7L42", "6M", "6L42", "5M", "5L42"], + wildcharge: ["8M", "7M", "6M", "5M"], + }, + }, + karrablast: { + learnset: { + acidspray: ["8L16"], + aerialace: ["7M", "6M", "5M"], + attract: ["8M", "7M", "6M", "5M"], + bugbite: ["8E", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + bugbuzz: ["8M", "8L44", "7L28", "6L28", "5L28", "5S0"], + confide: ["7M", "6M"], + counter: ["8E", "7E", "6E", "5E"], + cut: ["6M", "5M"], + doubleedge: ["8L48", "7L56", "6L56", "5L56"], + doubleteam: ["7M", "6M", "5M"], + drillrun: ["8M", "7T", "7E", "6T", "6E"], + encore: ["8M"], + endure: ["8M", "8L8", "7L8", "6L8", "5L8", "5D"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + falseswipe: ["8M", "8L12", "7M", "7L25", "6M", "6L25", "5M", "5L25", "5S0"], + feintattack: ["7E", "6E", "5E"], + flail: ["8L24", "7L49", "6L49", "5L49", "5S1"], + frustration: ["7M", "6M", "5M"], + furyattack: ["7L16", "6L16", "5L16", "5S0"], + furycutter: ["8L4", "7L13", "6L13", "5L13"], + gigadrain: ["8M", "7T", "6T", "5T"], + headbutt: ["8L20", "7L20", "6L20", "5L20", "5S0"], + hiddenpower: ["7M", "6M", "5M"], + hornattack: ["7E", "6E", "5E"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T", "5T"], + knockoff: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + leer: ["8L1", "7L4", "6L4", "5L4"], + megahorn: ["8M", "7E", "6E", "5E", "5D", "5S1"], + nightslash: ["8E"], + peck: ["8L1", "7L1", "6L1", "5L1"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + pursuit: ["7E", "6E", "5E"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L28", "7L40", "6L40", "5L40"], + screech: ["8M", "7E", "6E", "5E"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + slash: ["8E", "7L32", "6L32", "5L32"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "8L36", "7M", "7L52", "6M", "6L52", "5M", "5L52"], + takedown: ["8L40", "7L37", "6L37", "5L37", "5S1"], + toxic: ["7M", "6M", "5M"], + xscissor: ["8M", "8L32", "7M", "7L44", "6M", "6L44", "5M", "5L44", "5S1"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["furyattack", "headbutt", "falseswipe", "bugbuzz"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["megahorn", "takedown", "xscissor", "flail"], pokeball: "cherishball"}, + ], + }, + escavalier: { + learnset: { + acidspray: ["8L16"], + aerialace: ["7M", "6M", "5M"], + agility: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bugbite: ["7T", "6T", "5T"], + bugbuzz: ["8M", "8L44", "7L28", "6L28", "5L28"], + closecombat: ["8M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doubleedge: ["8L1", "7L1", "6L1"], + doubleteam: ["7M", "6M", "5M"], + drillrun: ["8M", "7T", "6T"], + encore: ["8M"], + endure: ["8M", "8L1"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + falseswipe: ["8M", "8L12", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + fellstinger: ["8L1", "7L1", "6L1"], + flail: ["8L1"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furyattack: ["7L16", "6L16", "5L16"], + furycutter: ["8L1"], + gigadrain: ["8M", "7T", "6T", "5T"], + gigaimpact: ["8M", "8L48", "7M", "7L56", "6M", "6L56", "5M", "5L56"], + headbutt: ["8L20", "7L20", "6L20", "5L20"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + infestation: ["7M", "6M"], + irondefense: ["8M", "8L28", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + ironhead: ["8M", "8L40", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + megahorn: ["8M"], + metalburst: ["8L52"], + peck: ["8L1", "7L1", "6L1", "5L1"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + quickguard: ["8L1", "7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + razorshell: ["8M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["8M", "8L24", "7L49", "6L49", "5L49"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L1"], + screech: ["8M"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + slash: ["7L32", "6L32", "5L32"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "8L36", "7M", "7L52", "6M", "6L52", "5M", "5L52"], + takedown: ["8L1"], + taunt: ["8M"], + toxic: ["7M", "6M", "5M"], + twineedle: ["7L1", "6L1", "5L1"], + xscissor: ["8M", "8L32", "7M", "7L44", "6M", "6L44", "5M", "5L44"], + }, + }, + foongus: { + learnset: { + absorb: ["9L1", "8L1", "7L1", "6L1", "5L1"], + afteryou: ["7T", "6T", "5T"], + astonish: ["9L1", "8L1", "7L8", "6L8", "5L8"], + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L12", "6L12", "5L12"], + bodyslam: ["9M", "8M", "7E", "6E", "5E"], + bulletseed: ["9M"], + clearsmog: ["9L20", "8L20", "7L39", "6L39", "5L39"], + confide: ["7M", "6M"], + defensecurl: ["9E", "8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M"], + endure: ["9M", "8M", "7E", "6E", "5E"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + feintattack: ["7L20", "6L20", "5L20"], + flash: ["6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "7E", "6T", "6E", "5T", "5E"], + gigadrain: ["9M", "9L28", "8M", "8L28", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + grassyterrain: ["9M"], + growth: ["9L4", "8L4", "7L6", "7E", "6L6", "6E", "5L6", "5E"], + hiddenpower: ["7M", "6M", "5M"], + ingrain: ["9L32", "8L32", "7L18", "6L18", "5L18"], + leafstorm: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L12", "8L12", "7L15", "6L15", "5L15"], + naturepower: ["7M", "6M"], + payback: ["8M", "7M", "6M", "5M"], + poisonpowder: ["9E", "8E", "7E", "6E", "5E"], + pollenpuff: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + ragepowder: ["9L40", "8L40", "7L45", "6L45", "5L45"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rollout: ["9E", "8E", "7E", "6E", "5E"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "9L44", "8M", "8L44", "7M", "7L43", "6M", "6L43", "5M", "5L43"], + spore: ["9L48", "8L48", "7L50", "6L50", "5L50"], + stunspore: ["9L8", "8L8", "7E", "6E", "5E"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + sweetscent: ["9L24", "8L24", "7L24", "6L24", "5L24"], + synthesis: ["9L16", "8L16", "7T", "7L35", "6T", "6L35", "5T", "5L35"], + terablast: ["9M"], + toxic: ["9M", "9L36", "8L36", "7M", "7L32", "6M", "6L32", "5M", "5L32"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + worryseed: ["9E", "8E", "7T", "6T", "5T"], + }, + }, + amoonguss: { + learnset: { + absorb: ["9L1", "8L1", "7L1", "6L1", "5L1"], + afteryou: ["7T", "6T", "5T"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L1", "6L1", "5L1"], + bodyslam: ["9M", "8M"], + bulletseed: ["9M"], + clearsmog: ["9L20", "8L20", "8S0", "7L43", "6L43", "5L43"], + confide: ["7M", "6M"], + doubleteam: ["7M", "6M", "5M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + feintattack: ["7L20", "6L20", "5L20"], + flash: ["6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "6T", "5T"], + gigadrain: ["9M", "9L28", "8M", "8L28", "7T", "7L28", "6T", "6L28", "5T", "5L28"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + grassyterrain: ["9M", "8M"], + growth: ["9L1", "8L1", "7L1", "6L1", "5L1"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + ingrain: ["9L32", "8L32", "7L18", "6L18", "5L18"], + leafstorm: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L12", "8L12", "7L15", "6L15", "5L15"], + naturepower: ["7M", "6M"], + payback: ["8M", "7M", "6M", "5M"], + pollenpuff: ["9M", "8M"], + protect: ["9M", "8M", "8S0", "7M", "6M", "5M"], + ragepowder: ["9L42", "8L42", "8S0", "7L54", "6L54", "5L54"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M"], + seedbomb: ["9M", "8M", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "9L48", "8M", "8L48", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + spore: ["9L54", "8L54", "8S0", "7L62", "6L62", "5L62"], + stompingtantrum: ["9M", "8M", "7T"], + stunspore: ["9L1", "8L1"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + sweetscent: ["9L24", "8L24", "7L24", "6L24", "5L24"], + synthesis: ["9L16", "8L16", "7T", "7L35", "6T", "6L35", "5T", "5L35"], + terablast: ["9M"], + toxic: ["9M", "9L36", "8L36", "7M", "7L32", "6M", "6L32", "5M", "5L32"], + venoshock: ["9M", "8M", "7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T"], + }, + eventData: [ + {generation: 8, level: 50, shiny: true, gender: "F", nature: "Sassy", ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 0}, isHidden: true, moves: ["clearsmog", "spore", "protect", "ragepowder"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 37}, + {generation: 5, level: 35, isHidden: true}, + ], + }, + frillish: { + learnset: { + absorb: ["8L1", "7L5", "6L5", "5L5"], + acidarmor: ["8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + bind: ["7T", "6T", "5T"], + blizzard: ["8M", "7M", "6M", "5M"], + brine: ["8M", "8L24", "7L32", "6L32", "5L32"], + bubble: ["7L1", "6L1", "5L1"], + bubblebeam: ["8E", "7L13", "6L13", "5L13"], + confide: ["7M", "6M"], + confuseray: ["8E", "7E", "6E", "5E"], + constrict: ["7E", "6E", "5E"], + darkpulse: ["8M", "7M", "6M", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + destinybond: ["8L44"], + dive: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "7T", "6T", "5T"], + hail: ["8M", "7M", "6M", "5M"], + hex: ["8M", "8L20", "7L43", "6L43", "5L43"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L41", "7L49", "6L49", "5L49"], + icebeam: ["8M", "7M", "6M", "5M"], + icywind: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + magiccoat: ["7T", "6T", "5T"], + mist: ["8E", "7E", "6E", "5E"], + nightshade: ["8L8", "7L9", "6L9", "5L9"], + ominouswind: ["7L27", "6L27", "5L27"], + painsplit: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + poisonsting: ["8L4"], + poltergeist: ["8T"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["8M", "8L16", "7M", "7L37", "6M", "6L37", "5M", "5L37"], + recover: ["8L28", "7L17", "7E", "6L17", "6E", "5L17", "5E"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "8L32", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + strengthsap: ["8E"], + substitute: ["8M", "7M", "6M", "5M"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + waterfall: ["8M", "7M", "6M", "5M"], + watergun: ["8L1"], + waterpulse: ["8L12", "7T", "7L22", "6T", "6L22", "5L22"], + watersport: ["7L1", "6L1", "5L1"], + waterspout: ["8L48", "7L61", "6L61", "5L61"], + whirlpool: ["8M", "8L36"], + willowisp: ["8M", "7M", "6M", "5M"], + wringout: ["7L55", "6L55", "5L55"], + }, + }, + jellicent: { + learnset: { + absorb: ["8L1", "7L1", "6L1", "5L1"], + acidarmor: ["8L1"], + attract: ["8M", "7M", "6M", "5M"], + bind: ["7T", "6T", "5T"], + blizzard: ["8M", "7M", "6M", "5M"], + brine: ["8M", "8L24", "7L32", "6L32", "5L32", "5S0"], + bubble: ["7L1", "6L1", "5L1"], + bubblebeam: ["7L13", "6L13", "5L13"], + confide: ["7M", "6M"], + darkpulse: ["8M", "7M", "6M", "5T"], + dazzlinggleam: ["8M", "7M", "6M"], + destinybond: ["8L48"], + dive: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "7T", "6T", "5T"], + gigaimpact: ["8M", "7M", "6M", "5M"], + hail: ["8M", "7M", "6M", "5M"], + hex: ["8M", "8L20", "7L45", "6L45", "5L45"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L43", "7L53", "6L53", "5L53"], + hyperbeam: ["8M", "7M", "6M", "5M"], + icebeam: ["8M", "7M", "6M", "5M"], + icywind: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + magiccoat: ["7T", "6T", "5T"], + muddywater: ["8M"], + nightshade: ["8L1", "7L1", "6L1", "5L1"], + ominouswind: ["7L27", "6L27", "5L27", "5S0"], + painsplit: ["7T", "6T", "5T"], + poisonsting: ["8L1"], + poltergeist: ["8T"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["8M", "8L16", "7M", "7L37", "6M", "6L37", "5M", "5L37", "5S0"], + recover: ["8L28", "7L17", "6L17", "5L17"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["8M", "8L32", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["7T", "6T", "5T"], + substitute: ["8M", "7M", "6M", "5M"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + waterfall: ["8M", "7M", "6M", "5M"], + watergun: ["8L1"], + waterpulse: ["8L12", "7T", "7L22", "6T", "6L22", "5L22", "5S0"], + watersport: ["7L1", "6L1", "5L1"], + waterspout: ["8L54", "7L1", "6L1", "5L69"], + whirlpool: ["8M", "8L36"], + willowisp: ["8M", "7M", "6M", "5M"], + wringout: ["7L1", "6L1", "5L61"], + }, + eventData: [ + {generation: 5, level: 40, isHidden: true, moves: ["waterpulse", "ominouswind", "brine", "raindance"]}, + ], + encounters: [ + {generation: 5, level: 5}, + ], + }, + alomomola: { + learnset: { + acrobatics: ["9M"], + aquajet: ["9L9", "7L9", "6L9", "5L9"], + aquaring: ["9L5", "7L5", "6L5", "5L5", "5D"], + attract: ["7M", "6M", "5M"], + batonpass: ["9M"], + blizzard: ["9M", "7M", "6M", "5M"], + bodyslam: ["9M"], + bounce: ["9E", "7T", "6T", "5T"], + brine: ["9L41", "7L41", "6L41", "5L41"], + calmmind: ["9M", "7M", "6M", "5M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + dive: ["6M", "5M"], + doubleslap: ["7L13", "6L13", "5L13"], + doubleteam: ["7M", "6M", "5M"], + endure: ["9M", "9E", "7E", "6E", "5E"], + facade: ["9M", "7M", "6M", "5M"], + flipturn: ["9M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M"], + hail: ["7M", "6M", "5M"], + healingwish: ["9L29", "7L1", "6L1", "5L57"], + healpulse: ["7L17", "6L17", "5L17"], + helpinghand: ["9M", "9L13", "7T", "7L1", "6T", "6L49", "5T", "5L49"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["9M", "9L55", "7L1", "6L1", "5L61"], + hyperbeam: ["9M"], + icebeam: ["9M", "7M", "6M", "5M"], + icywind: ["9M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + lightscreen: ["9M", "7M", "6M", "5M"], + liquidation: ["9M", "7T"], + magiccoat: ["7T", "6T", "5T"], + mirrorcoat: ["9E", "7E", "6E", "5E", "5D"], + mist: ["9E", "7E", "6E", "5E"], + mistyterrain: ["9M"], + painsplit: ["9E", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + playnice: ["9L1", "7L1"], + playrough: ["9M"], + pound: ["9L1", "7L1", "6L1", "5L1"], + protect: ["9M", "9L21", "7M", "7L21", "6M", "6L21", "5M", "5L21"], + psychic: ["9M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + refresh: ["7E", "6E", "5E"], + rest: ["9M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + safeguard: ["9L45", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + scald: ["9M", "7M", "6M", "5M"], + scaleshot: ["9M"], + secretpower: ["6M"], + shadowball: ["9M", "7M", "6M", "5M"], + skillswap: ["9M"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + snowscape: ["9M"], + soak: ["9L33", "7L33", "6L33", "5L33"], + substitute: ["9M", "7M", "6M", "5M"], + surf: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M"], + terablast: ["9M"], + tickle: ["9E", "7E", "6E", "5E"], + toxic: ["7M", "6M", "5M"], + wakeupslap: ["7L29", "6L29", "5L29"], + waterfall: ["9M", "7M", "6M", "5M"], + waterpulse: ["9M", "9L25", "7T", "7L25", "6T", "6L25", "5L25"], + watersport: ["7L1", "6L1", "5L1"], + whirlpool: ["9L49", "7L49"], + wideguard: ["9L13", "7L1", "6L1", "5L53"], + wish: ["9L37", "7L37", "6L37", "5L37"], + zenheadbutt: ["9M"], + }, + }, + joltik: { + learnset: { + absorb: ["8L1", "7L1"], + agility: ["8M", "8L24", "7L37", "6L37", "5L37"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "6T", "5T"], + bugbite: ["8L8", "7T", "7L18", "6T", "6L18", "5T", "5L18"], + bugbuzz: ["8M", "8L48", "7L48", "6L48", "5L48"], + camouflage: ["7E", "6E"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + crosspoison: ["8M", "7E", "6E", "5E"], + cut: ["6M", "5M"], + disable: ["7E", "6E", "5E"], + discharge: ["8L37", "7L45", "6L45", "5L45"], + doubleteam: ["8E", "7M", "6M", "5M"], + electroball: ["8M", "8L20", "7L29", "6L29", "5L29"], + electroweb: ["8M", "8L4", "7T", "7L15", "6T", "6L15", "5T", "5L15"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + feintattack: ["7E", "6E", "5E"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + furycutter: ["8L1", "7L12", "6L12", "5L12"], + gastroacid: ["8L44", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + gigadrain: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + infestation: ["8E", "7M", "6M"], + leechlife: ["8M", "7M", "6L1", "5L1"], + lightscreen: ["8M", "7M", "6M", "5M"], + lunge: ["8E", "7E"], + magnetrise: ["7T", "6T", "5T"], + pinmissile: ["8M", "7E", "6E", "5E"], + poisonjab: ["8M", "7M", "6M", "5M"], + poisonsting: ["8E", "7E", "6E", "5E"], + protect: ["8M", "7M", "6M", "5M"], + pursuit: ["7E", "6E", "5E"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + risingvoltage: ["8T"], + rockclimb: ["7E", "6E", "5E"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L40", "7L7", "6L7", "5L7"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "7L34", "6T", "6L34", "5T", "5L34"], + skittersmack: ["8T"], + slash: ["8L32", "7L26", "6L26", "5L26"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + speedswap: ["8M"], + spiderweb: ["7L1", "6L1", "5L1"], + stringshot: ["8L12", "7L1", "6L1", "5L1"], + strugglebug: ["8E", "6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8L28", "7L40", "6L40", "5L40"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + thief: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "8L16", "7M", "7L4", "6M", "6L4", "5M", "5L4"], + toxic: ["7M", "6M", "5M"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "7M", "6M", "5M"], + xscissor: ["8M", "7M", "6M", "5M"], + }, + }, + galvantula: { + learnset: { + absorb: ["8L1", "7L1"], + agility: ["8M", "8L24", "7L40", "6L40", "5L40"], + attract: ["8M", "7M", "6M", "5M"], + bounce: ["8M", "7T", "6T", "5T"], + bugbite: ["8L1", "7T", "7L18", "6T", "6L18", "5T", "5L18"], + bugbuzz: ["8M", "8L56", "7L60", "6L60", "5L60"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + crosspoison: ["8M"], + cut: ["6M", "5M"], + disable: ["5D"], + discharge: ["8L39", "7L54", "6L54", "5L54"], + doubleteam: ["7M", "6M", "5M"], + electroball: ["8M", "8L20", "7L29", "6L29", "5L29", "5D"], + electroweb: ["8M", "8L1", "7T", "7L15", "6T", "6L15", "5T", "5L15"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + furycutter: ["8L1", "7L12", "6L12", "5L12"], + gastroacid: ["8L50", "7T", "7L23", "6T", "6L23", "5T", "5L23"], + gigadrain: ["8M", "7T", "6T", "5T"], + gigaimpact: ["8M", "7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + infestation: ["7M", "6M"], + leechlife: ["8M", "7M", "6L1", "5L1"], + lightscreen: ["8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T"], + pinmissile: ["8M"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + pursuit: ["5D"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + risingvoltage: ["8T"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L44", "7L7", "6L7", "5L7"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "7L34", "6T", "6L34", "5T", "5L34"], + skittersmack: ["8T"], + slash: ["8L32", "7L26", "6L26", "5L26"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + speedswap: ["8M"], + spiderweb: ["7L1", "6L1", "5L1"], + stickyweb: ["8L0", "7L1", "6L1"], + stringshot: ["8L12", "7L1", "6L1", "5L1"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8L28", "7L46", "6L46", "5L46"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + thief: ["8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "8L16", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + toxic: ["7M", "6M", "5M"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "7M", "6M", "5M"], + xscissor: ["8M", "7M", "6M", "5M"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + ferroseed: { + learnset: { + acidspray: ["8E", "7E", "6E"], + assurance: ["8M"], + attract: ["8M"], + bulletseed: ["8M", "7E", "6E", "5E"], + confide: ["7M", "6M"], + curse: ["8L41", "7L9", "6L9", "5L9"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + explosion: ["8L50", "7M", "7L55", "6M", "6L55", "5M", "5L55"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M", "8L20", "7M", "7L52", "6M", "6L52", "5M", "5L52"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "7T", "6T", "5T"], + gravity: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + gyroball: ["8M", "8L45", "7M", "7L21", "6M", "6L21", "5M", "5L21"], + harden: ["8L1", "7L1", "6L1", "5L1"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + ingrain: ["8L15", "7L35", "6L35", "5L35"], + irondefense: ["8M", "8L35", "7T", "7L26", "6T", "6L26", "5T", "5L26"], + ironhead: ["8M", "8L25", "7T", "7L43", "6T", "6L43", "5T", "5L43"], + knockoff: ["8E", "7T", "6T"], + leechseed: ["8E", "7E", "6E", "5E"], + magnetrise: ["7T", "6T", "5T"], + metalclaw: ["8L5", "7L14", "6L14", "5L14"], + mirrorshot: ["7L30", "6L30", "5L30"], + naturepower: ["7M", "6M"], + payback: ["8M", "7M", "7L47", "6M", "6L47", "5M", "5L47"], + pinmissile: ["8M", "8L10", "7L18", "6L18", "5L18"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + rockclimb: ["7E", "6E", "5E"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rollout: ["7L6", "6L6", "5L6"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + selfdestruct: ["8M", "8L30", "7L38", "6L38", "5L38"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spikes: ["8M", "7E", "6E", "5E"], + stealthrock: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + steelbeam: ["8T"], + steelroller: ["8T"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["8E", "7M", "6M", "5M"], + worryseed: ["7T", "7E", "6T", "6E", "5T", "5E"], + }, + }, + ferrothorn: { + learnset: { + aerialace: ["7M", "6M", "5M"], + assurance: ["8M"], + attract: ["8M"], + block: ["7T", "6T"], + bodypress: ["8M"], + brutalswing: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + bulletseed: ["8M"], + confide: ["7M", "6M"], + curse: ["8L43", "7L1", "6L1", "5L1"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + explosion: ["8L56", "7M", "7L67", "6M", "6L67", "5M", "5L67"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M", "8L20", "7M", "7L61", "6M", "6L61", "5M", "5L61"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "7T", "6T", "5T"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + gyroball: ["8M", "8L49", "7M", "7L21", "6M", "6L21", "5M", "5L21"], + harden: ["8L1", "7L1", "6L1", "5L1"], + heavyslam: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + ingrain: ["8L15", "7L35", "6L35", "5L35"], + irondefense: ["8M", "8L35", "7T", "7L26", "6T", "6L26", "5T", "5L26"], + ironhead: ["8M", "8L25", "7T", "7L46", "6T", "6L46", "5T", "5L46"], + knockoff: ["7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T"], + metalclaw: ["8L1", "7L14", "6L14", "5L14"], + mirrorshot: ["7L30", "6L30", "5L30"], + naturepower: ["7M", "6M"], + payback: ["8M", "7M", "7L53", "6M", "6L53", "5M", "5L53"], + pinmissile: ["8M", "8L1", "7L18", "6L18", "5L18"], + poisonjab: ["8M", "7M", "6M", "5M"], + powerwhip: ["8M", "8L0", "7L1", "6L40", "5L40"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + rockclimb: ["7L1", "6L1", "5L1"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rollout: ["7L1", "6L1", "5L1"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + selfdestruct: ["8M", "8L30", "7L38", "6L38", "5L38"], + shadowclaw: ["8M", "7M", "6M", "5M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spikes: ["8M"], + stealthrock: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + steelroller: ["8T"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1", "5L1"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + worryseed: ["7T", "6T", "5T"], + }, + }, + klink: { + learnset: { + assurance: ["8M"], + autotomize: ["8L20", "7L31", "6L31", "5L31"], + bind: ["8L4", "7T", "7L21", "6T", "6L21", "5T", "5L21"], + charge: ["8L8", "7L6", "6L6", "5L6"], + chargebeam: ["8L12", "7M", "7L26", "6M", "6L26", "5M", "5L26"], + confide: ["7M", "6M"], + discharge: ["8L24", "7L42", "6L42", "5L42"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + geargrind: ["8L32", "7L16", "6L16", "5L16"], + gravity: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "8L48", "7M", "7L57", "6M", "6L57", "5M", "5L57"], + irondefense: ["8M", "7T", "6T", "5T"], + lockon: ["8L36", "7L50", "6L50", "5L51"], + magiccoat: ["7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T"], + metalsound: ["8L16", "7L45", "6L45", "5L45"], + mirrorshot: ["7L36", "6L36", "5L36"], + powergem: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + risingvoltage: ["8T"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L28", "7L39", "6L39", "5L39"], + secretpower: ["6M"], + shiftgear: ["8L40", "7L48", "6L48", "5L48"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + steelroller: ["8T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thundershock: ["8L1", "7L11", "6L11", "5L11"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + visegrip: ["8L1", "7L1", "6L1", "5L1"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["8L44", "7L54", "6L54", "5L54"], + }, + }, + klang: { + learnset: { + allyswitch: ["8M", "7T"], + assurance: ["8M"], + autotomize: ["8L20", "7L31", "6L31", "5L31"], + bind: ["8L1", "7T", "7L21", "6T", "6L21", "5T", "5L21"], + charge: ["8L1", "7L1", "6L1", "5L1"], + chargebeam: ["8L12", "7M", "7L26", "6M", "6L26", "5M", "5L26", "5D"], + confide: ["7M", "6M"], + discharge: ["8L24", "7L44", "6L44", "5L44"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + geargrind: ["8L32", "7L1", "6L1", "5L1"], + gravity: ["7T", "6T", "5T", "5D"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "8L54", "7M", "7L64", "6M", "6L64", "5M", "5L64"], + irondefense: ["8M", "7T", "6T", "5T"], + lockon: ["8L36", "7L56", "6L56", "5L56"], + magiccoat: ["7T", "6T", "5T"], + magnetrise: ["7T", "6T", "5T", "5D"], + metalsound: ["8L16", "7L48", "6L48", "5L48"], + mirrorshot: ["7L36", "6L36", "5L36"], + powergem: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + risingvoltage: ["8T"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L28", "7L40", "6L40", "5L40"], + secretpower: ["6M"], + shiftgear: ["8L42", "7L52", "6L52", "5L52"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + steelroller: ["8T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thundershock: ["8L1", "7L1", "6L1", "5L1"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + visegrip: ["8L1", "7L1", "6L1", "5L1"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["8L48", "7L60", "6L60", "5L60"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + klinklang: { + learnset: { + allyswitch: ["8M", "7T"], + assurance: ["8M"], + autotomize: ["8L20", "7L31", "6L31", "5L31"], + bind: ["8L1", "7T", "7L21", "6T", "6L21", "5T", "5L21"], + charge: ["8L1", "7L1", "6L1", "5L1"], + chargebeam: ["8L12", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + confide: ["7M", "6M"], + discharge: ["8L24", "7L44", "6L44", "5L44"], + doubleteam: ["7M", "6M", "5M"], + electricterrain: ["8M", "8L64"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + geargrind: ["8L32", "7L1", "6L1", "5L1"], + gearup: ["8L1", "7L1"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "8L56", "7M", "7L72", "6M", "6L72", "5M", "5L72"], + irondefense: ["8M", "7T", "6T", "5T"], + lockon: ["8L36", "7L60", "6L60", "5L60"], + magiccoat: ["7T", "6T", "5T"], + magneticflux: ["8L1", "7L1", "6L1"], + magnetrise: ["7T", "6T", "5T"], + metalsound: ["8L16", "7L48", "6L48", "5L48"], + mirrorshot: ["7L36", "6L36", "5L36"], + powergem: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + risingvoltage: ["8T"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L28", "7L40", "6L40", "5L40"], + secretpower: ["6M"], + shiftgear: ["8L42", "7L54", "6L54", "5L54"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + steelroller: ["8T"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thundershock: ["8L1", "7L1", "6L1", "5L1"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trickroom: ["8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + visegrip: ["8L1", "7L1", "6L1", "5L1"], + voltswitch: ["8M", "7M", "6M", "5M"], + wildcharge: ["8M", "7M", "6M", "5M"], + zapcannon: ["8L48", "7L66", "6L1", "5L66"], + }, + }, + tynamo: { + learnset: { + charge: ["9M"], + chargebeam: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5L1"], + knockoff: ["9M"], + magnetrise: ["7T", "6T", "5T"], + spark: ["9L1", "7L1", "6L1", "5L1"], + tackle: ["9L1", "7L1", "6L1", "5L1"], + terablast: ["9M"], + thunderwave: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5L1"], + }, + }, + eelektrik: { + learnset: { + acid: ["9L19", "7L19", "6L19", "5L19"], + acidspray: ["9M", "9L49", "7L49", "6L49", "5L49"], + acrobatics: ["9M", "7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + attract: ["7M", "6M", "5M"], + bind: ["9L9", "7T", "7L9", "6T", "6L9", "5T", "5L9"], + bodyslam: ["9M"], + bounce: ["7T", "6T", "5T"], + charge: ["9M"], + chargebeam: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + coil: ["9L54", "7L54", "6L54", "5L54"], + confide: ["7M", "6M"], + crunch: ["9M", "9L0", "7L1", "6L39", "5L39"], + discharge: ["9L29", "7L29", "6L29", "5L29"], + doubleteam: ["7M", "6M", "5M"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["9M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["9L64", "7T", "7L64", "6T", "6L64", "5T", "5L64"], + gigadrain: ["9M", "7T", "6T", "5T"], + headbutt: ["9L1", "7L1", "6L1", "5L1"], + hiddenpower: ["7M", "6M", "5M"], + irontail: ["7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + lightscreen: ["9M", "7M", "6M", "5M"], + lunge: ["9M"], + magnetrise: ["7T", "6T", "5T"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + spark: ["9L1", "7L1", "6L1", "5L1"], + substitute: ["9M", "7M", "6M", "5M"], + superfang: ["9M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L74", "7L74", "6L74", "5L74"], + throatchop: ["7T"], + thunder: ["9M", "7M", "6M", "5M"], + thunderbolt: ["9M", "9L44", "7M", "7L44", "6M", "6L44", "5M", "5L44"], + thunderfang: ["9M"], + thunderwave: ["9M", "9L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + toxic: ["7M", "6M", "5M"], + uturn: ["9M", "7M", "6M", "5M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "9L59", "7M", "7L59", "6M", "6L59", "5M", "5L59"], + zapcannon: ["9L69", "7L69", "6L69", "5L69"], + }, + }, + eelektross: { + learnset: { + acid: ["9L1", "7L1", "6L1", "5L1"], + acidspray: ["9M"], + acrobatics: ["9M", "7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + attract: ["7M", "6M", "5M"], + bind: ["7T", "6T", "5T"], + bodypress: ["9M"], + bodyslam: ["9M"], + bounce: ["7T", "6T", "5T"], + brickbreak: ["9M", "7M", "6M", "5M"], + bulkup: ["9M"], + bulldoze: ["9M"], + charge: ["9M"], + chargebeam: ["9M", "7M", "6M", "5M"], + closecombat: ["9M"], + coil: ["9L1", "7L1", "6L1"], + confide: ["7M", "6M"], + confuseray: ["9M"], + crunch: ["9M", "9L1", "7L1", "6L1", "5L1"], + crushclaw: ["9L1", "7L1", "6L1", "5L1"], + cut: ["6M", "5M"], + discharge: ["9L1", "7L1", "6L1", "5L1"], + doubleteam: ["7M", "6M", "5M"], + dragonclaw: ["9M", "7M", "6M", "5M"], + dragonpulse: ["9M", "7T", "6T"], + dragontail: ["9M", "7M", "6M", "5M"], + drainpunch: ["9M", "7T", "6T", "5T"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + endure: ["9M"], + facade: ["9M", "7M", "6M", "5M"], + firepunch: ["9M", "7T", "6T", "5T"], + flamethrower: ["9M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["9M", "7M", "6M", "5M"], + focuspunch: ["9M", "7T", "6T"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["9L1", "7T", "7L1", "6T", "6L1", "5T"], + gigadrain: ["9M", "7T", "6T", "5T"], + gigaimpact: ["9M", "7M", "6M", "5M"], + grassknot: ["9M", "7M", "6M", "5M"], + headbutt: ["9L1", "7L1", "6L1", "5L1"], + heavyslam: ["9M"], + hex: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M"], + iondeluge: ["7L1", "6L1"], + irontail: ["7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + lightscreen: ["9M", "7M", "6M", "5M"], + liquidation: ["9M"], + lunge: ["9M"], + magnetrise: ["7T", "6T", "5T"], + outrage: ["9M", "7T", "6T"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M"], + raindance: ["9M", "7M", "6M", "5M"], + rest: ["9M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["7M", "6M", "5M"], + rockslide: ["9M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "7M", "6M", "5M"], + round: ["7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snore: ["7T", "6T", "5T"], + stompingtantrum: ["9M"], + strength: ["6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M"], + superfang: ["9M", "7T", "6T", "5T"], + superpower: ["7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L1", "7L1", "6L1"], + throatchop: ["7T"], + thunder: ["9M", "7M", "6M", "5M"], + thunderbolt: ["9M", "7M", "6M", "5M"], + thunderfang: ["9M"], + thunderpunch: ["9M", "7T", "6T", "5T"], + thunderwave: ["9M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uturn: ["9M", "7M", "6M", "5M"], + voltswitch: ["9M", "7M", "6M", "5M"], + wildcharge: ["9M", "9L5", "7M", "6M", "5M"], + zapcannon: ["9L1", "7L1", "6L1"], + zenheadbutt: ["9M"], + }, + }, + elgyem: { + learnset: { + afteryou: ["7T", "6T", "5T"], + agility: ["8M"], + allyswitch: ["8M", "7T", "7E", "6E", "5M"], + astonish: ["8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + barrier: ["7E", "6E", "5E", "5D"], + calmmind: ["8M", "8L48", "7M", "7L43", "6M", "6L43", "5M", "5L43"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "5L1"], + cosmicpower: ["8M", "7E", "6E"], + darkpulse: ["8M", "7M", "6M", "5T"], + destinybond: ["8E"], + disable: ["8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + growl: ["8L1", "7L4", "6L4", "5L4"], + guardsplit: ["8L24", "7L50", "6L50", "5L50"], + guardswap: ["8M", "7E", "6E", "5E"], + headbutt: ["8L30", "7L18", "6L18", "5L18"], + healblock: ["7L8", "6L8", "5L8", "5D"], + hiddenpower: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + imprison: ["8M", "8L6", "7L25", "6L25", "5L25"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + meteorbeam: ["8T"], + miracleeye: ["7L11", "6L11", "5L11"], + nastyplot: ["8M", "7E", "6E", "5E", "5D"], + painsplit: ["7T", "6T", "5T"], + powersplit: ["8L24", "7L50", "6L50", "5L50"], + powerswap: ["8M", "7E", "6E", "5E"], + protect: ["8M", "7M", "6M", "5M"], + psybeam: ["8L18", "7L15", "6L15", "5L15"], + psychic: ["8M", "8L60", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychup: ["8E", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + recover: ["8L43", "7L46", "6L46", "5L46"], + recycle: ["7T", "6T", "5T"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + simplebeam: ["7L29", "6L29", "5L29"], + skillswap: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + synchronoise: ["7L53", "6L53", "5L53"], + telekinesis: ["7T", "5M"], + teleport: ["8L12", "7E", "6E", "5E"], + thief: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + wonderroom: ["8M", "8L54", "7T", "7L56", "6T", "6L56", "5T", "5L56"], + zenheadbutt: ["8M", "8L36", "7T", "7L32", "6T", "6L32", "5T", "5L32"], + }, + }, + beheeyem: { + learnset: { + afteryou: ["7T", "6T", "5T"], + agility: ["8M"], + allyswitch: ["8M", "7T", "5M"], + attract: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "8L52", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + confusion: ["8L1", "7L1", "6L1", "5L1"], + cosmicpower: ["8M"], + darkpulse: ["8M", "7M", "6M", "5T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M"], + frustration: ["7M", "6M", "5M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + growl: ["8L1", "7L1", "6L1", "5L1"], + guardsplit: ["8L24", "7L56", "6L56", "5L56"], + guardswap: ["8M"], + headbutt: ["8L30", "7L18", "6L18", "5L18"], + healblock: ["7L1", "6L1", "5L1"], + hiddenpower: ["7M", "7L22", "6M", "6L22", "5M", "5L22"], + hyperbeam: ["8M", "7M", "6M", "5M"], + imprison: ["8M", "8L1", "7L25", "6L25", "5L25"], + lightscreen: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + meteorbeam: ["8T"], + miracleeye: ["7L1", "6L1", "5L1"], + nastyplot: ["8M"], + painsplit: ["7T", "6T", "5T"], + powersplit: ["8L24", "7L58", "6L58", "5L58"], + powerswap: ["8M"], + protect: ["8M", "7M", "6M", "5M"], + psybeam: ["8L18", "7L15", "6L15", "5L15"], + psychic: ["8M", "8L68", "7M", "7L39", "6M", "6L39", "5M", "5L39"], + psychicterrain: ["8M", "8L1", "7L1"], + psychup: ["7M", "7L36", "6M", "6L36", "5M", "5L36"], + psyshock: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + recover: ["8L45", "7L50", "6L50", "5L50"], + recycle: ["7T", "6T", "5T"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + screech: ["8M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + simplebeam: ["7L29", "6L29", "5L29"], + skillswap: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + synchronoise: ["7L1", "6L1", "5L63"], + telekinesis: ["7T", "5M"], + teleport: ["8L1"], + thief: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + triattack: ["8M"], + trick: ["8M", "7T", "6T", "5T"], + trickroom: ["8M", "7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + wonderroom: ["8M", "8L60", "7T", "7L1", "6T", "6L1", "5T", "5L68"], + zenheadbutt: ["8M", "8L36", "7T", "7L32", "6T", "6L32", "5T", "5L32"], + }, + }, + litwick: { + learnset: { + acid: ["7E", "6E", "5E"], + acidarmor: ["9E", "8E", "7E", "6E", "5E"], + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + captivate: ["7E", "6E", "5E"], + clearsmog: ["9E", "8E", "7E", "6E", "5E"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L12", "8L12", "7L10", "6L10", "5L10"], + curse: ["9L32", "8L32", "7L43", "6L43", "5L43"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + ember: ["9L4", "8L4", "7L1", "6L1", "5L1"], + endure: ["9M", "8M", "7E", "6E", "5E"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fireblast: ["9M", "8M", "7M", "6M", "5M"], + firespin: ["9M", "9L24", "8M", "8L24", "7L7", "6L7", "5L7"], + flameburst: ["7L20", "6L20", "5L20"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M"], + flareblitz: ["9M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E"], + heatwave: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + hex: ["9M", "9L16", "8M", "8L16", "7L28", "6L28", "5L28"], + hiddenpower: ["7M", "6M", "5M"], + imprison: ["9M", "9L44", "8M", "8L44", "7L24", "6L24", "5L24"], + incinerate: ["6M", "5M"], + inferno: ["9L40", "8L40", "7L38", "6L38", "5L38"], + memento: ["9L56", "8L56", "7L33", "6L33", "5L33"], + minimize: ["9L8", "8L8", "7L3", "6L3", "5L3"], + mysticalfire: ["8M"], + nightshade: ["9M", "9L28", "8L28", "7L13", "6L13", "5L13"], + overheat: ["9M", "9L52", "8M", "8L52", "7M", "7L61", "6M", "6L61", "5M", "5L61"], + painsplit: ["9L48", "8L48", "7T", "7L55", "6T", "6L55", "5T", "5L55"], + payback: ["8M", "7M", "6M", "5M"], + poltergeist: ["9M", "8T"], + powersplit: ["9E", "8E", "7E", "6E"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["9M", "9L36", "8M", "8L36", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + shockwave: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smog: ["9L1", "8L1", "7L5", "6L5", "5L5"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + spite: ["9M", "7T", "6T", "5T"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "9L20", "8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + }, + }, + lampent: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L12", "8L12", "7L10", "6L10", "5L10"], + curse: ["9L32", "8L32", "7L45", "6L45", "5L45"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L1"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fireblast: ["9M", "8M", "7M", "6M", "5M"], + firespin: ["9M", "9L24", "8M", "8L24", "7L7", "6L7", "5L7"], + flameburst: ["7L20", "6L20", "5L20"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M"], + flareblitz: ["9M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + haze: ["9M"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + hex: ["9M", "9L16", "8M", "8L16", "7L28", "6L28", "5L28"], + hiddenpower: ["7M", "6M", "5M"], + imprison: ["9M", "9L46", "8M", "8L46", "7L24", "6L24", "5L24"], + incinerate: ["6M", "5M"], + inferno: ["9L40", "8L40", "7L38", "6L38", "5L38"], + lashout: ["9M"], + memento: ["9L64", "8L64", "7L33", "6L33", "5L33"], + minimize: ["9L1", "8L1", "7L1", "6L1", "5L1"], + mysticalfire: ["8M"], + nightshade: ["9M", "9L28", "8L28", "7L13", "6L13", "5L13"], + overheat: ["9M", "9L58", "8M", "8L58", "7M", "7L69", "6M", "6L69", "5M", "5L69"], + painsplit: ["9L52", "8L52", "7T", "7L61", "6T", "6L61", "5T", "5L61"], + payback: ["8M", "7M", "6M", "5M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["9M", "9L36", "8M", "8L36", "7M", "7L53", "6M", "6L53", "5M", "5L53"], + shockwave: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smog: ["9L1", "8L1", "7L1", "6L1", "5L1"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + spite: ["9M", "7T", "6T", "5T"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "9L20", "8M", "8L20", "7M", "7L16", "6M", "6L16", "5M", "5L16"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + chandelure: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1"], + attract: ["8M", "7M", "6M", "5M"], + burningjealousy: ["9M", "8T"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L1", "8L1", "7L1", "6L1", "5L1"], + curse: ["9L1", "8L1"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + doubleteam: ["7M", "6M", "5M"], + dreameater: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + ember: ["9L1", "8L1"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M", "5M", "5S0"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fireblast: ["9M", "8M", "7M", "6M", "5M"], + firespin: ["9M", "9L1", "8M", "8L1"], + flameburst: ["7L1", "6L1", "5L1"], + flamecharge: ["9M", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M"], + flareblitz: ["9M"], + flash: ["6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + haze: ["9M"], + heatwave: ["9M", "8M", "7T", "6T", "5T", "5S0"], + hex: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L1"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + imprison: ["9M", "9L1", "8M", "8L1"], + incinerate: ["6M", "5M"], + inferno: ["9L1", "8L1"], + laserfocus: ["7T"], + lashout: ["9M"], + memento: ["9L1", "8L1"], + minimize: ["9L1", "8L1"], + mysticalfire: ["8M"], + nightshade: ["9M", "9L1", "8L1"], + overheat: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + painsplit: ["9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T"], + payback: ["8M", "7M", "6M", "5M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M", "5S0"], + psychup: ["7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M", "5S0"], + shockwave: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smog: ["9L1", "8L1", "7L1", "6L1", "5L1"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + spite: ["9M", "7T", "6T", "5T"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T", "5T"], + trickroom: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "9L1", "8M", "8L1", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 5, level: 50, gender: "F", nature: "Modest", ivs: {spa: 31}, abilities: ["flashfire"], moves: ["heatwave", "shadowball", "energyball", "psychic"], pokeball: "cherishball"}, + ], + }, + axew: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + aquatail: ["9E", "7T", "6T", "5T"], + assurance: ["9L9", "8M", "8L9", "7L7", "6L7", "5L7"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["9L3", "8L3"], + breakingswipe: ["9L30", "8M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "6E", "5E", "5D"], + crunch: ["9M", "9L24", "8M", "8L24"], + cut: ["6M", "5M"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragonclaw: ["9M", "9L18", "8M", "8L18", "7M", "7L28", "6M", "6L28", "5M", "5L28", "5S1"], + dragondance: ["9M", "9L27", "8M", "8L27", "7L32", "6L32", "5L32"], + dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L41", "7E", "6T", "6L41", "6E", "5T", "5L41", "5E"], + dragonrage: ["7L10", "6L10", "5L10", "5D", "5S0", "5S1", "5S2"], + dragontail: ["9M"], + dualchop: ["8L30", "7T", "7L13", "6T", "6L13", "5T", "5L13"], + endeavor: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + endure: ["9M", "8M", "7E", "6E", "5E", "5S1"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "9L6", "8M", "8L6", "7M", "7L24", "6M", "6L24", "5M", "5L24"], + firstimpression: ["9E", "8E"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["9L33", "8M", "7E", "6E", "5E"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "9L48", "8M", "8L48", "7M", "7L61", "6M", "6L61", "5M", "5L61", "5S2"], + guillotine: ["9L45", "8L45", "7L50", "6L50", "5L51"], + harden: ["8E", "7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + ironhead: ["9M"], + irontail: ["9E", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + laserfocus: ["8L33"], + leer: ["9L1", "8L1", "7L4", "6L4", "5L4"], + nightslash: ["9E", "8E", "7E", "6E", "5E", "5D"], + outrage: ["9M", "9L42", "8M", "8L42", "7T", "7L56", "6T", "6L56", "5T", "5L56", "5S2"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + razorwind: ["7E", "6E", "5E"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M", "5S1"], + reversal: ["9M", "8M", "7E", "6E", "5E"], + roar: ["9M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L21", "8M", "8L21", "7L16", "6L16", "5L16"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0", "5S2"], + secretpower: ["6M"], + shadowclaw: ["9M"], + shockwave: ["7T", "6T"], + slash: ["9L15", "8L15", "7L20", "6L20", "5L20"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M"], + snore: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["9M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["9M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L39", "8M", "8L39", "7M", "7L46", "6M", "6L46", "5M", "5L46"], + takedown: ["9M"], + taunt: ["9M", "9L12", "8M", "8L12", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 5, level: 1, shiny: 1, gender: "M", nature: "Naive", ivs: {spe: 31}, abilities: ["moldbreaker"], moves: ["scratch", "dragonrage"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "F", abilities: ["moldbreaker"], moves: ["dragonrage", "return", "endure", "dragonclaw"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "M", nature: "Naive", abilities: ["rivalry"], moves: ["dragonrage", "scratch", "outrage", "gigaimpact"], pokeball: "cherishball"}, + ], + }, + fraxure: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + assurance: ["9L9", "8M", "8L9", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["9L1", "8L1"], + breakingswipe: ["9L30", "8M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L24", "8M", "8L24"], + cut: ["6M", "5M"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragonclaw: ["9M", "9L18", "8M", "8L18", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + dragondance: ["9M", "9L27", "8M", "8L27", "7L32", "6L32", "5L32"], + dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L42", "6T", "6L42", "5T", "5L42"], + dragonrage: ["7L1", "6L1", "5L1"], + dragontail: ["9M", "7M", "6M", "5M"], + dualchop: ["8L30", "7T", "7L13", "6T", "6L13", "5T", "5L13"], + endeavor: ["7T", "6T", "5T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "9L1", "8M", "8L1", "7M", "7L24", "6M", "6L24", "5M", "5L24"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["9L33", "8M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "9L56", "8M", "8L56", "7M", "7L66", "6M", "6L66", "5M", "5L66"], + guillotine: ["9L51", "8L51", "7L54", "6L54", "5L54"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + incinerate: ["6M", "5M"], + ironhead: ["9M"], + irontail: ["8M", "7T", "6T", "5T"], + laserfocus: ["8L33"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + outrage: ["9M", "9L46", "8M", "8L46", "7T", "7L60", "6T", "6L60", "5T", "5L60"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L21", "8M", "8L21", "7L16", "6L16", "5L16"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + slash: ["9L15", "8L15", "7L20", "6L20", "5L20"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M"], + snore: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "8M", "7T"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["9M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L41", "8M", "8L41", "7M", "7L48", "6M", "6L48", "5M", "5L48"], + takedown: ["9M"], + taunt: ["9M", "9L12", "8M", "8L12", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + haxorus: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + assurance: ["9L9", "8M", "8L9", "7L1", "6L1", "5L1"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["9L1", "8L1"], + bodyslam: ["9M"], + breakingswipe: ["9L30", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + closecombat: ["9M", "8M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L24", "8M", "8L24"], + cut: ["6M", "5M"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragonclaw: ["9M", "9L18", "8M", "8L18", "7M", "7L28", "6M", "6L28", "5M", "5L28"], + dragondance: ["9M", "9L27", "8M", "8L27", "7L32", "6L32", "5L32", "5S0"], + dragonpulse: ["9M", "9L36", "8M", "8L36", "7T", "7L42", "6T", "6L42", "5T", "5L42"], + dragonrage: ["7L1", "6L1", "5L1"], + dragontail: ["9M", "7M", "6M", "5M"], + dualchop: ["8L30", "7T", "7L13", "6T", "6L13", "5T", "5L13", "5S0"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "5S0"], + endeavor: ["7T", "6T", "5T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "9L1", "8M", "8L1", "7M", "7L24", "6M", "6L24", "5M", "5L24"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["9L33", "8M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "9L60", "8M", "8L60", "7M", "7L74", "6M", "6L74", "5M", "5L74"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + guillotine: ["9L53", "8L53", "7L58", "6L58", "5L58"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + incinerate: ["6M", "5M"], + ironhead: ["9M"], + irontail: ["8M", "7T", "6T", "5T"], + laserfocus: ["8L33", "7T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M"], + outrage: ["9M", "9L46", "8M", "8L46", "7T", "7L1", "6T", "6L1", "5T", "5L66"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychocut: ["8M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L21", "8M", "8L21", "7L16", "6L16", "5L16"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + slash: ["9L15", "8L15", "7L20", "6L20", "5L20"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M", "8M"], + snore: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["9M", "8M", "7T"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L41", "8M", "8L41", "7M", "7L50", "6M", "6L50", "5M", "5L50"], + takedown: ["9M"], + taunt: ["9M", "9L12", "8M", "8L12", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + xscissor: ["9M", "8M", "7M", "6M", "5M", "5S0"], + }, + eventData: [ + {generation: 5, level: 59, gender: "F", nature: "Naive", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, abilities: ["moldbreaker"], moves: ["earthquake", "dualchop", "xscissor", "dragondance"], pokeball: "cherishball"}, + ], + }, + cubchoo: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + assurance: ["8M", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + avalanche: ["9M", "8M", "7E", "6E", "5E"], + bide: ["7L9", "6L9", "5L9", "5S0"], + blizzard: ["9M", "9L39", "8M", "8L39", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + bodypress: ["9M"], + bodyslam: ["9M"], + brine: ["9L15", "8M", "8L15", "7L21", "6L21", "5L21"], + bulldoze: ["9M"], + charm: ["9M", "9L27", "8M", "8L27", "7L29", "6L29", "5L29"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["9M"], + cut: ["6M", "5M"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M", "7E", "6E", "5E"], + endure: ["9M", "9L3", "8M", "8L3", "7L25", "6L25", "5L25"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flail: ["9L24", "8L24", "7L36", "6L36", "5L36"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5E"], + frostbreath: ["9L18", "8L18", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["9L6", "8L6", "7L17", "6L17", "5L17"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L5", "5S0"], + hail: ["8M", "8L30", "7M", "7L49", "6M", "6L49", "5M", "5L49"], + heavyslam: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + icebeam: ["9M", "8M", "7M", "6M", "5M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + iciclespear: ["9M"], + icywind: ["9M", "9L9", "8M", "8L9", "7T", "7L13", "6T", "6L13", "5T", "5L13", "5S0"], + liquidation: ["9M"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + nightslash: ["9E", "8E", "7E", "6E", "5E"], + playnice: ["9L12", "8L12", "7L15", "6L15"], + playrough: ["9M", "8M", "7E", "6E"], + powdersnow: ["9L1", "8L1", "7L5", "6L5", "5L1", "5S0"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "9L36", "8M", "8L36", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + return: ["7M", "6M", "5M"], + rockslide: ["9M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + sheercold: ["9L42", "8L42", "7L57", "6L57", "5L57"], + slash: ["9L21", "8L21", "7L33", "6L33", "5L33"], + sleeptalk: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E"], + snarl: ["9M"], + snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M", "9L30"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L33", "8L33", "7L53", "6L53", "5L53"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + waterpulse: ["9M", "7T", "6T"], + xscissor: ["9M"], + yawn: ["9E", "8E", "7E", "6E", "5E"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["powdersnow", "growl", "bide", "icywind"], pokeball: "cherishball"}, + ], + }, + beartic: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + aquajet: ["9L1", "8L1", "7L1", "6L1", "5L1"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + avalanche: ["9M", "8M"], + bide: ["7L1", "6L1", "5L1"], + blizzard: ["9M", "9L41", "8M", "8L41", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brine: ["9L15", "8M", "8L15", "7L21", "6L21", "5L21"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + charm: ["9M", "9L1", "8M", "8L1"], + chillingwater: ["9M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + crunch: ["9M"], + cut: ["6M", "5M"], + dig: ["9M", "8M", "6M", "5M"], + dive: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["9M"], + echoedvoice: ["7M", "6M", "5M"], + encore: ["9M", "8M"], + endure: ["9M", "9L1", "8M", "8L1", "7L25", "6L25", "5L25"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flail: ["9L24", "8L24", "7L36", "6L36", "5L36"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focuspunch: ["9M", "7T", "6T"], + frostbreath: ["9L18", "8L18", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["9L1", "8L1", "7L17", "6L17", "5L17"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + growl: ["9L1", "8L1", "7L1", "6L1", "5L1"], + hail: ["8M", "8L30", "7M", "7L53", "6M", "6L53", "5M", "5L53"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icebeam: ["9M", "8M", "7M", "6M", "5M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + iciclecrash: ["9L0", "8L0", "7L1", "6L37", "5L37"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L9", "8M", "8L9", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + liquidation: ["9M", "8M"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + playnice: ["9L12", "8L12", "7L15", "6L9"], + playrough: ["9M", "8M"], + powdersnow: ["9L1", "8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "9L36", "8M", "8L36", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + return: ["7M", "6M", "5M"], + reversal: ["9M"], + roar: ["9M", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + sheercold: ["9L46", "8L46", "7L1", "6L1", "5L66"], + slash: ["9L21", "8L21", "7L33", "6L33", "5L33"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M"], + snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M", "9L30"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["9L51", "8M", "8L51", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + surf: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["9L27", "8L27", "7M", "7L29", "6M", "6L29", "5M", "5L29"], + swordsdance: ["9M", "8M", "7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L33", "8L33", "7L1", "6L1", "5L59"], + throatchop: ["8M", "7T"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + waterpulse: ["9M", "7T", "6T"], + xscissor: ["9M"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + cryogonal: { + learnset: { + acidarmor: ["9L52", "8L52", "7L17", "6L29", "5L29"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + ancientpower: ["9L20", "8L24", "7L21"], + attract: ["7M", "6M", "5M"], + aurorabeam: ["9L24", "8L28", "7L13", "6L25", "5L25"], + auroraveil: ["9E", "7M"], + avalanche: ["9M", "8M"], + bind: ["9L1", "8L1", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + blizzard: ["9M", "8M", "7M", "6M", "5M"], + bodyslam: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L4", "8L4", "7L41", "6L45", "5L45"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + endure: ["9M", "8M"], + explosion: ["9E", "7M", "6M", "5M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + freezedry: ["9L36", "8L36", "7L49", "6L50"], + frostbreath: ["9E", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M"], + hail: ["8M", "7M", "6M", "5M"], + haze: ["9M", "9L16", "8L20", "7L9", "6L1", "5L21"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icebeam: ["9M", "9L48", "8M", "8L48", "7M", "7L25", "6M", "6L33", "5M", "5L33"], + iceshard: ["9L1", "8L1", "7L1", "6L1", "5L5"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L12", "8M", "8L16", "7T", "7L5", "6T", "6L17", "5T", "5L17"], + irondefense: ["9M", "8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["8L12", "7T"], + lightscreen: ["9M", "9L40", "8M", "8L40", "7M", "7L29", "6M", "6L37", "5M", "5L37"], + magiccoat: ["7T", "6T", "5T"], + mist: ["9L16", "8L20", "7L9", "6L1", "5L21"], + nightslash: ["9L32", "8L32", "7L1", "6L1", "5L57"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rapidspin: ["9L8", "8L8", "7L1", "6L13", "5L13"], + recover: ["9L44", "8L44", "7L45", "6L49", "5L49"], + reflect: ["9M", "9L40", "8M", "8L40", "7M", "7L33", "6M", "6L37", "5M", "5L37"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M"], + secretpower: ["6M"], + selfdestruct: ["8M"], + sharpen: ["7L1", "6L9", "5L9"], + sheercold: ["9L60", "8L60", "7L1", "6L1", "5L61"], + signalbeam: ["7T", "6T", "5T"], + slash: ["9L28", "8L32", "7L37", "6L41", "5L41"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M"], + solarbeam: ["9M", "9L56", "8M", "8L56", "7M", "7L50", "6M", "6L53", "5M", "5L53"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + tripleaxel: ["8T"], + waterpulse: ["9M", "7T", "6T"], + }, + }, + shelmet: { + learnset: { + absorb: ["8L1", "7L1"], + acid: ["8L4", "7L4", "6L4", "5L4", "5D"], + acidarmor: ["8L24", "7L32", "6L32", "5L32"], + attract: ["8M", "7M", "6M", "5M"], + batonpass: ["8M", "7E", "6E", "5E", "5D"], + bide: ["7L8", "6L8", "5L8"], + bodyslam: ["8M", "8L36", "7L40", "6L40", "5L40", "5S1"], + bugbite: ["7T", "6T", "5T"], + bugbuzz: ["8M", "8L44", "7L44", "6L44", "5L44", "5S1"], + confide: ["7M", "6M"], + curse: ["8L8", "7L13", "6L13", "5L13"], + doubleedge: ["8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M"], + encore: ["8M", "7E", "6E", "5E", "5D", "5S1"], + endure: ["8M", "7E", "6E", "5E"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + feint: ["8E", "7E", "6E", "5E"], + finalgambit: ["8L48", "7L56", "6L56", "5L56"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "6T", "5T"], + gigadrain: ["8M", "8L28", "7T", "7L37", "6T", "6L37", "5T", "5L37", "5S1"], + guardsplit: ["8E", "7E", "6E", "5E"], + guardswap: ["8M", "8L32", "7L50", "6L50", "5L52"], + hiddenpower: ["7M", "6M", "5M"], + infestation: ["7M", "6M"], + leechlife: ["8M", "7M", "6L1", "5L1"], + megadrain: ["8L12", "7L20", "6L20", "5L20", "5S0"], + mindreader: ["8E", "7E", "6E", "5E"], + mudshot: ["8M"], + mudslap: ["7E", "6E", "5E"], + protect: ["8M", "8L1", "7M", "7L28", "6M", "6L28", "5M", "5L28", "5S0"], + pursuit: ["7E", "6E", "5E"], + raindance: ["8M", "7M", "6M", "5M"], + recover: ["8L40", "7L49", "6L49", "5L49"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + signalbeam: ["7T", "6T", "5T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + spikes: ["8M", "7E", "6E", "5E"], + strugglebug: ["8L16", "7L16", "6M", "6L16", "5M", "5L16", "5S0"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + toxicspikes: ["8M", "7E"], + venoshock: ["8M", "7M", "6M", "5M"], + yawn: ["8L20", "7L25", "6L25", "5L25", "5S0"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["strugglebug", "megadrain", "yawn", "protect"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["encore", "gigadrain", "bodyslam", "bugbuzz"], pokeball: "cherishball"}, + ], + }, + accelgor: { + learnset: { + absorb: ["8L1", "7L1"], + acid: ["8L1"], + acidarmor: ["8L1"], + acidspray: ["8L1", "7L1", "6L1", "5L1"], + agility: ["8M", "8L24", "7L32", "6L32", "5L32"], + attract: ["8M", "7M", "6M", "5M"], + batonpass: ["8M"], + bodyslam: ["8M", "8L1"], + bugbite: ["7T", "6T", "5T"], + bugbuzz: ["8M", "8L44", "7L44", "6L44", "5L44"], + confide: ["7M", "6M"], + curse: ["8L1"], + doubleteam: ["8L1", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + drainpunch: ["8M"], + encore: ["8M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + finalgambit: ["8L48", "7L1", "6L1", "5L56"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gastroacid: ["7T", "6T", "5T"], + gigadrain: ["8M", "8L28", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + gigaimpact: ["8M", "7M", "6M", "5M"], + guardswap: ["8M", "8L1"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + infestation: ["7M", "6M"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["7T"], + leechlife: ["8M", "7M", "6L1", "5L1"], + mefirst: ["7L28", "6L28", "5L28"], + megadrain: ["8L12", "7L20", "6L20", "5L20"], + mudshot: ["8M"], + powerswap: ["8M", "8L32", "7L1", "6L1", "5L52"], + protect: ["8M", "7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + raindance: ["8M", "7M", "6M", "5M"], + recover: ["8L40", "7L49", "6L49", "5L49"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + reversal: ["8M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + signalbeam: ["7T", "6T", "5T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + spikes: ["8M"], + strugglebug: ["8L16", "7L16", "6M", "6L16", "5M", "5L16"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M", "8L20", "7L25", "6L25", "5L25"], + toxic: ["8L52", "7M", "6M", "5M"], + toxicspikes: ["8M"], + uturn: ["8M", "8L36", "7M", "7L40", "6M", "6L40", "5M", "5L40"], + venomdrench: ["8M"], + venoshock: ["8M", "7M", "6M", "5M"], + watershuriken: ["8L1", "7L1", "6L1"], + yawn: ["8L1"], + }, + }, + stunfisk: { + learnset: { + aquatail: ["7T", "6T", "5T"], + astonish: ["8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + bide: ["7L5", "6L5", "5L5"], + bounce: ["8M", "8L35", "7T", "7L35", "6T", "6L35", "5T", "5L35"], + bulldoze: ["8M", "7M", "6M", "5M"], + camouflage: ["7L17", "6L17", "5L17"], + charge: ["8L20"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "6E", "5E", "5D"], + dig: ["8M", "6M", "5M"], + discharge: ["8L45", "7L25", "6L25", "5L25"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + earthquake: ["8M", "7M", "6M", "5M"], + eerieimpulse: ["8M", "7E", "6E"], + electricterrain: ["8M", "8L30"], + electroweb: ["8M", "7T", "6T", "5T"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M", "8L5", "7L30", "6L30", "5L30"], + facade: ["8M", "7M", "6M", "5M"], + fissure: ["8L55", "7L1", "6L1", "5L61"], + flail: ["8L50", "7L1", "6L1", "5L55"], + flash: ["6M", "5M"], + foulplay: ["8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + hiddenpower: ["7M", "6M", "5M"], + infestation: ["7M", "6M"], + lashout: ["8T"], + magnetrise: ["7T", "6T", "5T"], + mefirst: ["7E", "6E"], + mudbomb: ["7L21", "6L21", "5L21"], + muddywater: ["8M", "8L40", "7L40", "6L40", "5L40"], + mudshot: ["8M", "8L10", "7L13", "6L13", "5L13"], + mudslap: ["8L1", "7L1", "6L1", "5L1", "5D"], + mudsport: ["7L1", "6L1", "5L1"], + painsplit: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflecttype: ["8E", "7E", "6E"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "8L15", "7L50", "6L50", "5L50"], + rockslide: ["8M", "7M", "6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + shockwave: ["7T", "7E", "6T", "6E", "5E"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E"], + sludgebomb: ["8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + spark: ["8E", "7E", "6E", "5E"], + spite: ["8E", "7T", "7E", "6T", "6E", "5T", "5E"], + stealthrock: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8L25"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["8L1", "7L1", "6L1"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + thundershock: ["8L1", "7L9", "6L9", "5L9"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + watergun: ["8L1", "7L1", "6L1"], + waterpulse: ["7T", "6T"], + yawn: ["8E", "7E", "6E", "5E", "5D"], + }, + }, + stunfiskgalar: { + learnset: { + astonish: ["8E"], + attract: ["8M"], + bind: ["8E"], + bounce: ["8M", "8L35"], + bulldoze: ["8M"], + counter: ["8E"], + crunch: ["8M"], + curse: ["8E"], + dig: ["8M"], + earthpower: ["8M"], + earthquake: ["8M"], + endure: ["8M", "8L5"], + facade: ["8M"], + fissure: ["8L55"], + flail: ["8L50"], + flashcannon: ["8M"], + foulplay: ["8M"], + icefang: ["8M"], + irondefense: ["8M", "8L30"], + lashout: ["8T"], + metalclaw: ["8L1"], + metalsound: ["8L20"], + muddywater: ["8M", "8L40"], + mudshot: ["8M", "8L10"], + mudslap: ["8L1"], + painsplit: ["8E"], + payback: ["8M"], + protect: ["8M"], + raindance: ["8M"], + reflecttype: ["8E"], + rest: ["8M"], + revenge: ["8M", "8L15"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + sandstorm: ["8M"], + scald: ["8M"], + screech: ["8M"], + sleeptalk: ["8M"], + sludgebomb: ["8M"], + sludgewave: ["8M"], + snaptrap: ["8L45"], + snore: ["8M"], + spite: ["8E"], + stealthrock: ["8M"], + steelbeam: ["8T"], + stompingtantrum: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + suckerpunch: ["8L25"], + surf: ["8M"], + tackle: ["8L1"], + terrainpulse: ["8T"], + thunderwave: ["8M"], + uproar: ["8M"], + watergun: ["8L1"], + yawn: ["8E"], + }, + }, + mienfoo: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M"], + agility: ["9M", "8M"], + allyswitch: ["8M", "7T", "7E", "6E"], + attract: ["8M", "7M", "6M", "5M"], + aurasphere: ["9M", "9L45", "8M", "8L45", "7L61", "6L61", "5L61"], + batonpass: ["9M", "8M", "7E", "6E", "5E"], + bounce: ["9L51", "8M", "8L51", "7T", "7L49", "6T", "6L49", "5T", "5L49"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "9L55", "8M", "8L55", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + detect: ["9L1", "8L1", "7L9", "6L9", "5L9"], + dig: ["9M", "8M", "6M", "5M"], + doubleslap: ["7L17", "6L17", "5L17"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["9M", "9L35", "8M", "8L35", "7T", "7L33", "6T", "6L33", "5T", "5L33"], + dualchop: ["7T", "6T", "5T"], + endure: ["9M", "8M", "7E", "6E", "5E"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fakeout: ["9L5", "8L5", "7L13", "6L13", "5L13"], + feint: ["9E", "8E", "7E", "6E", "5E"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + focuspunch: ["9M", "9E", "8E", "7T", "6T"], + forcepalm: ["9L25", "8L25", "7L29", "6L29", "5L29"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["9L15", "8L15"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + highjumpkick: ["9L60", "8L60", "7L50", "6L50", "5L53"], + honeclaws: ["9L40", "8L40"], + jumpkick: ["7L37", "6L37", "5L37"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + lowkick: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + meditate: ["7L5", "6L5", "5L5"], + mefirst: ["7E", "6E", "5E"], + megakick: ["8M"], + megapunch: ["8M"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + quickguard: ["9L20", "8L20", "7L45", "6L45", "5L45"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["9M", "9L10", "8M", "8L10", "7L57", "6L57", "5L57"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + smellingsalts: ["7E", "6E", "5E"], + snore: ["8M", "7T", "6T", "5T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M", "7L21", "6L21", "5L21"], + swordsdance: ["9M", "8M", "7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uturn: ["9M", "9L30", "8M", "8L30", "7M", "7L41", "6M", "6L41", "5M", "5L41"], + vitalthrow: ["8E", "7E", "6E", "5E"], + workup: ["8M", "7M", "5M"], + }, + }, + mienshao: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["9M", "7M", "6M", "5M"], + agility: ["9M", "8M"], + allyswitch: ["8M", "7T"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + aurasphere: ["9M", "9L45", "8M", "8L45", "7L1", "6L1", "5L70"], + batonpass: ["9M", "8M"], + blazekick: ["8M"], + bounce: ["9L53", "8M", "8L53", "7T", "7L49", "6T", "6L49", "5T", "5L49"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + calmmind: ["9M", "9L59", "8M", "8L59", "7M", "7L25", "6M", "6L25", "5M", "5L25"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + detect: ["9L1", "8L1", "7L1", "6L1", "5L1"], + dig: ["9M", "8M", "6M", "5M"], + doubleslap: ["7L17", "6L17", "5L17"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["9M", "9L35", "8M", "8L35", "7T", "7L33", "6T", "6L33", "5T", "5L33"], + dualchop: ["7T", "7S0", "6T", "5T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fakeout: ["9L1", "8L1", "7L1", "7S0", "6L1", "5L1"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + focusenergy: ["8M"], + focuspunch: ["9M", "7T", "6T"], + forcepalm: ["9L25", "8L25", "7L29", "6L29", "5L29"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["9L15", "8L15"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + helpinghand: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + highjumpkick: ["9L66", "8L66", "7L56", "7S0", "6L56", "5L56"], + honeclaws: ["9L40", "8L40"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icespinner: ["9M"], + jumpkick: ["7L37", "6L37", "5L37"], + knockoff: ["9M", "7T", "6T", "5T"], + laserfocus: ["7T"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + meditate: ["7L1", "6L1", "5L1"], + megakick: ["8M"], + megapunch: ["8M"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + pound: ["9L1", "8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + quickguard: ["9L1", "8L1"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["9M", "9L1", "8M", "8L1", "7L1", "6L1", "5L63"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M", "7L21", "6L21", "5L21"], + swordsdance: ["9M", "8M", "7M", "6M", "5M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uturn: ["9M", "9L30", "8M", "8L30", "7M", "7L41", "7S0", "6M", "6L41", "5M", "5L41"], + vacuumwave: ["9M"], + wideguard: ["9L20", "8L20", "7L45", "6L45", "5L45"], + workup: ["8M", "7M", "5M"], + }, + eventData: [ + {generation: 7, level: 65, gender: "M", abilities: ["innerfocus"], moves: ["fakeout", "dualchop", "highjumpkick", "uturn"], pokeball: "cherishball"}, + ], + }, + druddigon: { + learnset: { + aerialace: ["7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["8L5", "7L9", "6L9", "5L9", "5D"], + bodyslam: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + chipaway: ["7L31", "6L31", "5L31"], + confide: ["7M", "6M"], + crunch: ["8M", "8L40", "7L25", "6L25", "5L25"], + crushclaw: ["7E", "6E", "5E"], + cut: ["6M", "5M"], + darkpulse: ["8M", "7M", "6M", "5T"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["8T", "7T", "6T", "5T"], + dragonclaw: ["8M", "8L30", "7M", "7L27", "6M", "6L27", "5M", "5L27"], + dragonpulse: ["8M", "7T", "6T", "5T"], + dragonrage: ["7L18", "6L18", "5L18"], + dragontail: ["8L10", "7M", "7L45", "6M", "6L45", "5M", "5L45"], + dualwingbeat: ["8T"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + feintattack: ["7E", "6E", "5E"], + firefang: ["8M", "7E", "6E", "5E", "5D"], + firepunch: ["8M", "7T", "6T", "5T"], + flamethrower: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + glare: ["8E", "7E", "6E", "5E"], + gunkshot: ["8M", "7T", "6T", "5T"], + heatwave: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["8L35", "7L5", "6M", "6L5", "5M", "5L5"], + hyperbeam: ["8M", "7M", "6M", "5M"], + incinerate: ["6M", "5M"], + ironhead: ["8M", "8L45", "7T", "6T", "5T"], + irontail: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1", "5L1", "5S0"], + megapunch: ["8M"], + metalclaw: ["8L15", "7E", "6E", "5E"], + nightslash: ["8E", "7L40", "6L40", "5L40"], + outrage: ["8M", "8L50", "7T", "7L62", "6T", "6L62", "5T", "5L62"], + payback: ["8M", "7M", "6M", "5M"], + poisontail: ["8E", "7E", "6E", "5E"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + pursuit: ["7E", "6E", "5E"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "7L35", "6L35", "5L35"], + roar: ["7M", "6M", "5M"], + rockclimb: ["7L49", "6L49", "5L49"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + scaryface: ["8M", "8L20", "7L13", "6L13", "5L13"], + scratch: ["8L1", "7L1", "6L1", "5L1", "5S0"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + slash: ["8L25", "7L21", "6L21", "5L21"], + sleeptalk: ["8M", "7M", "6M", "5T"], + sludgebomb: ["8M", "7M", "6M", "5M"], + smackdown: ["7M", "6M", "5M"], + snarl: ["8M", "7M", "6M", "5M"], + snatch: ["7T", "7E", "6T", "6E", "5T", "5E"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "7T"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8E", "7E", "6E", "5E", "5D"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "8L55", "7T", "7L55", "6T", "6L55", "5T", "5L55"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + taunt: ["8M", "7M", "6M", "5M"], + thunderfang: ["8M", "7E", "6E", "5E"], + thunderpunch: ["8M", "7T", "6T", "5T"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["leer", "scratch"], pokeball: "pokeball"}, + ], + }, + golett: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L1", "6L1", "5L1"], + block: ["7T", "6T", "5T"], + brickbreak: ["8M", "7M", "6M", "5M"], + bulldoze: ["8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + curse: ["8L16", "7L45", "6L40", "5L40"], + defensecurl: ["8L4", "7L1", "6L1", "5L1"], + dig: ["8M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "6T", "5T"], + dynamicpunch: ["8L56", "7L35", "6L30", "5L30"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "8L52", "7M", "7L50", "6M", "6L45", "5M", "5L45"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + firepunch: ["8M", "7T", "6T", "5T", "5D"], + flash: ["6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focuspunch: ["7T", "7L61", "6T", "6L55", "5L55"], + frustration: ["7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + gyroball: ["8M", "7M", "6M", "5M"], + hammerarm: ["8L48", "7L55", "6L50", "5L50"], + heavyslam: ["8M", "8L40"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + icebeam: ["8M", "7M", "6M", "5M"], + icepunch: ["8M", "7T", "6T", "5T"], + icywind: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + irondefense: ["8M", "8L28", "7T", "7L17", "6T", "6L17", "5T", "5L17"], + lowkick: ["8M", "7T", "6T", "5T"], + lowsweep: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magnitude: ["7L30", "6L25", "5L25"], + megakick: ["8M"], + megapunch: ["8M", "8L32", "7L25", "6L21", "5L21"], + mudslap: ["8L1", "7L5", "6L5", "5L5"], + nightshade: ["8L20", "7L40", "6L35", "5L35"], + phantomforce: ["8M", "8L44"], + poltergeist: ["8T"], + pound: ["8L8", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rollout: ["7L9", "6L9", "5L9", "5D"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scorchingsands: ["8T"], + secretpower: ["6M"], + selfdestruct: ["8M"], + shadowball: ["8M", "8L36", "7M", "6M", "5M"], + shadowpunch: ["8L12", "7L13", "6L13", "5L13"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "8L24", "7L21"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T", "5D"], + toxic: ["7M", "6M", "5M"], + }, + }, + golurk: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L1", "6L1", "5L1"], + block: ["7T", "6T", "5T"], + bodypress: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M", "5M"], + bulldoze: ["8M", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + curse: ["8L16", "7L47", "6L40", "5L40"], + darkestlariat: ["8M"], + defensecurl: ["8L1", "7L1", "6L1", "5L1"], + dig: ["8M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M", "7T", "6T", "5T"], + dynamicpunch: ["8L64", "7L35", "6L30", "5L30"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "8L58", "7M", "7L54", "6M", "6L50", "5M", "5L50"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + firepunch: ["8M", "7T", "6T", "5T"], + flash: ["6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focuspunch: ["8L1", "7T", "7L69", "6T", "6L1", "5L70"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + gyroball: ["8M", "7M", "6M", "5M", "5S0"], + hammerarm: ["8L52", "7L61", "6L60", "5L60", "5S0"], + heatcrash: ["8M"], + heavyslam: ["8M", "8L40", "7L1", "6L43", "5L43"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["8M", "8L1", "7L1"], + hyperbeam: ["8M", "7M", "6M", "5M", "5S0"], + icebeam: ["8M", "7M", "6M", "5M"], + icepunch: ["8M", "7T", "6T", "5T"], + icywind: ["8M", "7T", "6T", "5T"], + imprison: ["8M"], + irondefense: ["8M", "8L28", "7T", "7L17", "6T", "6L17", "5T", "5L17"], + lowkick: ["8M", "7T", "6T", "5T"], + lowsweep: ["8M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magnitude: ["7L30", "6L25", "5L25"], + megakick: ["8M"], + megapunch: ["8M", "8L32", "7L25", "6L21", "5L21"], + mudslap: ["8L1", "7L1", "6L1", "5L1"], + nightshade: ["8L20", "7L40", "6L35", "5L35"], + phantomforce: ["8M", "8L46", "7L76", "6L1"], + poltergeist: ["8T"], + pound: ["8L1", "7L1", "6L1", "5L1"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + rollout: ["7L9", "6L9", "5L9"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scorchingsands: ["8T"], + secretpower: ["6M"], + selfdestruct: ["8M"], + shadowball: ["8M", "8L36", "7M", "6M", "5M"], + shadowpunch: ["8L12", "7L13", "6L13", "5L13", "5S0"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + stealthrock: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "8L24", "7T", "7L21"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + telekinesis: ["7T", "5M"], + thief: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderpunch: ["8M", "7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + trick: ["8M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 70, shiny: true, abilities: ["ironfist"], moves: ["shadowpunch", "hyperbeam", "gyroball", "hammerarm"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + pawniard: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + airslash: ["9M"], + assurance: ["9L25", "8M", "8L25", "7L33", "6L33", "5L33"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dualchop: ["7T", "6T", "5T"], + embargo: ["7M", "7L41", "6M", "6L41", "5M", "5L41"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], + feintattack: ["7L17", "6L17", "5L17"], + flashcannon: ["9M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + furycutter: ["9L5", "8L5", "7L9", "6L9", "5L9", "5D"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + guillotine: ["9L65", "8L65", "7L62", "6L62", "5L62"], + headbutt: ["9E", "8E", "7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + irondefense: ["9M", "9L45", "8M", "8L45", "7T", "7L46", "6T", "6L46", "5T", "5L46"], + ironhead: ["9M", "9L55", "8M", "8L55", "7T", "7L54", "6T", "6L54", "5T", "5L54"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["8L50"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L6", "6L6", "5L6"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T"], + meanlook: ["9E", "8E", "7E", "6E", "5E"], + metalclaw: ["9M", "9L10", "8L10", "7L25", "6L25", "5L25"], + metalsound: ["9L30", "8L30", "7L38", "6L38", "5L38"], + nightslash: ["9L40", "8L40", "7L49", "6L49", "5L49"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychocut: ["8M", "7E", "6E", "5E", "5D"], + pursuit: ["7E", "6E", "5E"], + quickguard: ["9E", "8E", "7E", "6E"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["9L50", "8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "7E", "6E", "5E"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L22", "6L22", "5L22"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1"], + screech: ["8M"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + slash: ["9L35", "8L35", "7L30", "6L30", "5L30"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + stealthrock: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + steelbeam: ["9M", "8T"], + stoneedge: ["9M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + suckerpunch: ["9E", "8E", "7E", "6E", "5E", "5D"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["9M", "9L60", "8M", "8L60", "7M", "7L57", "6M", "6L57", "5M", "5L57"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + torment: ["9L15", "8L15", "7M", "7L14", "6M", "6L14", "5M", "5L14"], + toxic: ["7M", "6M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], + }, + }, + bisharp: { + learnset: { + aerialace: ["9M", "7M", "6M", "5M"], + airslash: ["9M", "8M"], + assurance: ["9L25", "8M", "8L25", "7L33", "6L33", "5L33"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dualchop: ["7T", "6T", "5T"], + embargo: ["7M", "7L41", "6M", "6L41", "5M", "5L41"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + falseswipe: ["9M", "8M", "7M", "6M", "5M"], + feintattack: ["7L17", "6L17", "5L17"], + flashcannon: ["9M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + furycutter: ["9L1", "8L1", "7L1", "6L1", "5L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + guillotine: ["9L71", "8L71", "7L1", "6L1", "5L71"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + irondefense: ["9M", "9L45", "8M", "8L45", "7T", "7L46", "6T", "6L46", "5T", "5L46"], + ironhead: ["9M", "9L57", "8M", "8L57", "7T", "7L1", "6T", "6L1", "5T", "5L57"], + knockoff: ["7T", "6T", "5T"], + laserfocus: ["8L50", "7T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + lowkick: ["9M", "8M", "7T", "6T", "5T"], + lowsweep: ["9M", "8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T"], + metalburst: ["9L1", "8L1", "7L1", "6L1", "5L1"], + metalclaw: ["9M", "9L1", "8L1", "7L25", "6L25", "5L25"], + metalsound: ["9L30", "8L30", "7L38", "6L38", "5L38"], + nightslash: ["9L40", "8L40", "7L49", "6L49", "5L49"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychocut: ["8M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["9L50", "8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["9M"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L22", "6L22", "5L22"], + scratch: ["9L1", "8L1", "7L1", "6L1", "5L1"], + screech: ["8M"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + slash: ["9L35", "8L35", "7L30", "6L30", "5L30"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + steelbeam: ["9M", "8T"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["9M", "9L64", "8M", "8L64", "7M", "7L63", "6M", "6L63", "5M", "5L63"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + torment: ["9L15", "8L15", "7M", "7L1", "6M", "6L1", "5M", "5L1"], + toxic: ["7M", "6M", "5M"], + xscissor: ["9M", "8M", "7M", "6M", "5M"], + }, + encounters: [ + {generation: 7, level: 33}, + ], + }, + kingambit: { + learnset: { + aerialace: ["9M"], + airslash: ["9M"], + assurance: ["9L25"], + brickbreak: ["9M"], + darkpulse: ["9M"], + dig: ["9M"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + flashcannon: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + foulplay: ["9M"], + furycutter: ["9L1"], + gigaimpact: ["9M"], + grassknot: ["9M"], + guillotine: ["9L71"], + hyperbeam: ["9M"], + irondefense: ["9M", "9L45"], + ironhead: ["9M", "9L57"], + kowtowcleave: ["9L0"], + lashout: ["9M"], + leer: ["9L1"], + lowkick: ["9M"], + lowsweep: ["9M"], + metalburst: ["9L1"], + metalclaw: ["9M", "9L1"], + metalsound: ["9L30"], + nightslash: ["9L40"], + poisonjab: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + retaliate: ["9L50"], + reversal: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M", "9L20"], + scratch: ["9L1"], + shadowclaw: ["9M"], + slash: ["9L35"], + sleeptalk: ["9M"], + snarl: ["9M"], + spite: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + swordsdance: ["9M", "9L64"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderwave: ["9M"], + torment: ["9L15"], + xscissor: ["9M"], + zenheadbutt: ["9M"], + }, + }, + bouffalant: { + learnset: { + aerialace: ["7M", "6M", "5M"], + amnesia: ["8M", "7E", "6E", "5E"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + belch: ["8E", "7E", "6E"], + bodyslam: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + cottonguard: ["8E", "7E"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthquake: ["8M", "7M", "6M", "6S0", "5M"], + endeavor: ["8E", "7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "6S0", "5M"], + focusenergy: ["8M", "8L5", "7L36", "6L36", "5L36"], + frustration: ["7M", "6M", "5M"], + furyattack: ["8L10", "7L11", "6L11", "5L11"], + gigaimpact: ["8M", "8L55", "7M", "7L61", "6M", "6L61", "5M", "5L61"], + headbutt: ["8E", "7E", "6E", "5E"], + headcharge: ["8L40", "7L31", "6L31", "6S0", "5L31"], + hiddenpower: ["7M", "6M", "5M"], + highhorsepower: ["8M"], + hornattack: ["8L25", "7L16", "6L16", "5L16"], + ironhead: ["8M", "7T", "7E", "6T", "6E", "5T", "5E"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + megahorn: ["8M", "8L50", "7L41", "6L41", "5L41"], + mudshot: ["8M", "7E", "6E", "5E"], + mudslap: ["8E", "7E", "6E", "5E"], + outrage: ["8M", "7T", "6T", "5T"], + payback: ["8M", "7M", "6M", "5M"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + pursuit: ["7L1", "6L1", "5L1"], + rage: ["7L6", "6L6", "5L6"], + raindance: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "8L15", "7L26", "6L26", "5L26"], + reversal: ["8M", "8L30", "7L46", "6L46", "5L46"], + rockclimb: ["7E", "6E", "5E"], + rockslide: ["8M", "7M", "6M", "6S0", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["8M", "8L20", "7L21", "6L21", "5L21"], + secretpower: ["6M"], + skullbash: ["8E", "7E", "6E", "5E"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T", "6T", "5T"], + stomp: ["8E", "7E", "6E", "5E"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["8M", "8L45", "7M", "7L56", "6M", "6L56", "5M", "5L56"], + tackle: ["8L1"], + taunt: ["8M", "7M", "6M", "5M"], + thrash: ["7L50", "6L50", "5L51"], + throatchop: ["8M", "8L35"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + wildcharge: ["8M", "7M", "6M", "5M"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Adamant", ivs: {hp: 31, atk: 31}, isHidden: true, moves: ["headcharge", "facade", "earthquake", "rockslide"], pokeball: "cherishball"}, + ], + }, + rufflet: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9L30", "8L30", "7M", "7L23", "6M", "6L23", "5M", "5L23"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "9L55", "8M", "8L55", "7L41", "6L41", "5L41"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bodyslam: ["9M"], + bravebird: ["9M", "9L72", "8M", "8L72", "7L59", "6L59", "5L59"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + closecombat: ["9M", "8M"], + confide: ["7M", "6M"], + crushclaw: ["9L48", "8L48", "7L46", "6L46", "5L46"], + cut: ["6M", "5M"], + defog: ["9L60", "8L60", "7T", "7L32", "6L32", "5L32"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furyattack: ["7L5", "6L5", "5L5"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["9L6", "8L6", "7L14", "6M", "6L14", "5M", "5L14"], + hurricane: ["9M", "8M"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + peck: ["9L1", "8L1", "7L1", "6L1", "5L1"], + pluck: ["5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocksmash: ["9E", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roost: ["9E", "7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L24", "8M", "8L24", "7L19", "6L19", "5L19"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + skydrop: ["7M", "7L50", "6M", "6L50", "5M", "5L50"], + slash: ["9L36", "8L36", "7L28", "6L28", "5L28"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + tailwind: ["9M", "9L18", "8L18", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L66", "8L66", "7L64", "6L64", "5L64"], + toxic: ["7M", "6M", "5M"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + whirlwind: ["9L42", "8L42", "7L55", "6L55", "5L55"], + wingattack: ["9L12", "8L12", "7L10", "6L10", "5L10"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["9M", "8M"], + }, + }, + braviary: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9L30", "8L30", "7M", "7L23", "6M", "6L23", "5M", "5L23", "5S0"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "9L57", "8M", "8L57", "7L41", "6L41", "5L41"], + assurance: ["8M"], + attract: ["8M", "7M", "6M", "5M"], + bodyslam: ["9M"], + bravebird: ["9M", "8M", "8L80", "7L1", "6L1", "5L63"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + closecombat: ["9M", "8M"], + confide: ["7M", "6M"], + crushclaw: ["9L48", "8L48", "7L46", "6L46", "5L46"], + cut: ["6M", "5M"], + defog: ["9L64", "8L64", "7T", "7L32", "6L32", "5L32"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furyattack: ["7L1", "6L1", "5L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["9L1", "8L1", "7L14", "6M", "6L14", "5M", "5L14", "5S0"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + ironhead: ["9M", "8M"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + metalclaw: ["9M"], + peck: ["9L1", "8L1", "7L1", "6L1", "5L1"], + pluck: ["5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + reversal: ["9M"], + rockslide: ["9M", "8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L24", "8M", "8L24", "7L19", "6L19", "5L19", "5S0"], + secretpower: ["6M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M"], + skyattack: ["9L1", "8L1", "7T", "6T", "5T"], + skydrop: ["7M", "7L50", "6M", "6L50", "5M", "5L50"], + slash: ["9L36", "8L36", "7L28", "6L28", "5L28"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["9L0", "8M", "8L0", "7T", "7L1", "6T", "6L1", "5T", "5L51"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + tailwind: ["9M", "9L18", "8L18", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L72", "8L72", "7L1", "6L1", "5L70"], + toxic: ["7M", "6M", "5M"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + whirlwind: ["9L42", "8L42", "7L1", "6L1", "5L57"], + wingattack: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0"], + workup: ["8M", "7M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T"], + }, + eventData: [ + {generation: 5, level: 25, gender: "M", isHidden: true, moves: ["wingattack", "honeclaws", "scaryface", "aerialace"]}, + ], + encounters: [ + {generation: 6, level: 45}, + ], + }, + braviaryhisui: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9L30"], + agility: ["9M"], + aircutter: ["9M"], + airslash: ["9M", "9L57"], + bodyslam: ["9M"], + bravebird: ["9M"], + bulkup: ["9M"], + calmmind: ["9M"], + closecombat: ["9M"], + confuseray: ["9M"], + crushclaw: ["9L48"], + dazzlinggleam: ["9M"], + defog: ["9L64"], + dualwingbeat: ["9M"], + endure: ["9M"], + esperwing: ["9L0"], + facade: ["9M"], + fly: ["9M"], + gigaimpact: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + honeclaws: ["9L1"], + hurricane: ["9M", "9L80"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icywind: ["9M"], + leer: ["9L1"], + metalclaw: ["9M"], + nightshade: ["9M"], + peck: ["9L1"], + protect: ["9M"], + psybeam: ["9M"], + psychic: ["9M"], + psychicterrain: ["9M"], + psyshock: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + scaryface: ["9M", "9L24"], + shadowball: ["9M"], + shadowclaw: ["9M"], + skyattack: ["9L1"], + slash: ["9L36"], + sleeptalk: ["9M"], + snarl: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + superpower: ["9L1"], + swift: ["9M"], + tailwind: ["9M", "9L18"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L72"], + uturn: ["9M"], + vacuumwave: ["9M"], + whirlwind: ["9L42"], + wingattack: ["9L1"], + zenheadbutt: ["9M"], + }, + }, + vullaby: { + learnset: { + aerialace: ["7M", "6M", "5M"], + aircutter: ["9M"], + airslash: ["9M", "9L42", "8M", "8L42", "7L41", "6L41", "5L41"], + assurance: ["8M"], + attract: ["9L66", "8M", "8L66", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bravebird: ["9M", "9L72", "8M", "8L72", "7L59", "6L59", "5L59"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + darkpulse: ["9M", "9L48", "8M", "8L48", "7M", "7L46", "6M", "6L46", "5T", "5L46"], + defog: ["9L60", "8L60", "7T", "7L32", "6L32", "5L32"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + embargo: ["7M", "7L50", "6M", "6L50", "5M", "5L50"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "8M", "7E", "6E", "5E"], + feintattack: ["7L23", "6L23", "5L23"], + flatter: ["9L6", "8L6", "7L19", "6L19", "5L19"], + fly: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "8M", "7T", "7E", "6T", "6E", "5T"], + frustration: ["7M", "6M", "5M"], + furyattack: ["7L5", "6L5", "5L5"], + gust: ["9L1", "8L1", "7L1", "6L1", "5L1"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "9L30", "8M", "8L30", "5T"], + knockoff: ["9M", "9L24", "8L24", "7T", "7E", "6T", "6E", "5T", "5E"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + meanlook: ["9E", "8E", "7E", "6E", "5E"], + mirrormove: ["7L64", "6L64", "5L64"], + nastyplot: ["9M", "9L54", "8M", "8L54", "7L14", "6L14", "5L14"], + payback: ["8M", "7M", "6M", "5M"], + pluck: ["9L12", "8L12", "7L10", "6L10", "5M", "5L10"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + punishment: ["7L28", "6L28", "5L28"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roost: ["9E", "8E", "7M", "7E", "6M", "6E", "5T", "5E"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M", "7E", "6E", "5E"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M"], + steelwing: ["8M", "7M", "7E", "6M", "6E", "5E"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + tailwind: ["9M", "9L18", "8L18", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["9M", "9E", "8E", "7M", "6M", "5M"], + uproar: ["9M"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + whirlwind: ["9L36", "8L36", "7L55", "6L55", "5L55"], + }, + }, + mandibuzz: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "7M", "6M", "5M"], + aircutter: ["9M"], + airslash: ["9M", "9L42", "8M", "8L42", "7L41", "6L41", "5L41"], + assurance: ["8M"], + attract: ["9L72", "8M", "8L72", "7M", "6M", "5M"], + block: ["7T", "6T", "5T"], + bonerush: ["9L0", "8L0", "7L1", "6L1", "5L51"], + bravebird: ["9M", "9L80", "8M", "8L80", "7L1", "6L1", "5L63"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + darkpulse: ["9M", "9L48", "8M", "8L48", "7M", "7L46", "6M", "6L46", "5T", "5L46"], + defog: ["9L64", "8L64", "7T", "7L32", "6L32", "5L32"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + embargo: ["7M", "7L50", "6M", "6L50", "5M", "5L50"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + faketears: ["9M", "8M"], + feintattack: ["7L23", "6L23", "5L23", "5S0"], + flatter: ["9L1", "8L1", "7L19", "6L19", "5L19", "5S0"], + fly: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + furyattack: ["7L1", "6L1", "5L1"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + gust: ["9L1", "8L1", "7L1", "6L1", "5L1"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + hurricane: ["9M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + incinerate: ["6M", "5M"], + irondefense: ["9M", "9L30", "8M", "8L30", "7T", "5T"], + knockoff: ["9M", "9L24", "8L24", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1"], + mirrormove: ["7L1", "6L1", "5L70"], + nastyplot: ["9M", "9L57", "8M", "8L57", "7L14", "6L14", "5L14", "5S0"], + payback: ["8M", "7M", "6M", "5M"], + pluck: ["9L1", "8L1", "7L1", "6L1", "5M", "5L1", "5S0"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + punishment: ["7L28", "6L28", "5L28"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + scaryface: ["9M", "8M"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M", "5M"], + skyattack: ["9L1", "8L1", "7T", "6T", "5T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M", "8M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M"], + steelwing: ["8M", "7M", "6M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M", "8M"], + tailwind: ["9M", "9L18", "8L18", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["9M", "9L1", "8L1", "7M", "6M", "5M"], + uproar: ["9M"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + whirlwind: ["9L36", "8L36", "7L1", "6L1", "5L57"], + }, + eventData: [ + {generation: 5, level: 25, gender: "F", isHidden: true, moves: ["pluck", "nastyplot", "flatter", "feintattack"]}, + ], + }, + heatmor: { + learnset: { + aerialace: ["7M", "6M", "5M"], + amnesia: ["8M", "8L45", "7L47", "6L44", "5L46"], + attract: ["8M", "7M", "6M", "5M"], + belch: ["8E", "7E", "6E"], + bind: ["8L30", "7T", "7L11", "6T", "6L11", "5T", "5L11"], + bodyslam: ["8M", "7E", "6E", "5E"], + brutalswing: ["8M"], + bugbite: ["8L15", "7T", "7L36", "6T", "6L36", "5T", "5L36"], + burningjealousy: ["8T"], + confide: ["7M", "6M"], + curse: ["8E", "7E", "6E", "5E"], + cut: ["6M", "5M"], + dig: ["8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["8M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + feintattack: ["7E", "6E", "5E"], + fireblast: ["8M", "7M", "6M", "5M"], + firelash: ["8L35", "7L44"], + firepunch: ["8M", "7T", "6T", "5T"], + firespin: ["8M", "8L50", "7L16", "6L16", "5L16"], + flameburst: ["7L31", "6L31", "5L31"], + flamethrower: ["8M", "7M", "7L50", "6M", "6L47", "5M", "5L51"], + flareblitz: ["8M", "8L60", "7L61"], + fling: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + focuspunch: ["7T", "6T"], + frustration: ["7M", "6M", "5M"], + furyswipes: ["8L5", "7L21", "6L21", "5L21"], + gastroacid: ["7T", "6T", "5T"], + gigadrain: ["8M", "7T", "6T", "5T", "5D"], + gigaimpact: ["8M", "7M", "6M", "5M"], + heatwave: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "5D"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["8L40", "7L1", "6M", "6L1", "5M"], + incinerate: ["8L10", "7L1", "6M", "6L1", "5M", "5L1", "5D"], + inferno: ["8L55", "7L66", "6L1", "5L61"], + knockoff: ["7T", "6T", "5T"], + lick: ["8L1", "7L1", "6L1", "5L1"], + lowkick: ["8M", "7T", "6T", "5T"], + nightslash: ["8E", "7E", "6E", "5E"], + odorsleuth: ["7L6", "6L6", "5L6"], + overheat: ["8M", "7M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M", "5M"], + pursuit: ["7E", "6E", "5E"], + raindance: ["8M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scorchingsands: ["8T"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + slash: ["8L25", "7L41", "6L41", "5L41"], + sleeptalk: ["8M", "7M", "7E", "6M", "6E", "5T", "5E"], + snatch: ["7T", "7L26", "6T", "6L26", "5T", "5L26"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + spitup: ["8L20", "7L56", "6L50", "5L56"], + stockpile: ["8L20", "7L56", "6L50", "5L56"], + stompingtantrum: ["8M", "7T"], + substitute: ["8M", "7M", "6M", "5M"], + suckerpunch: ["8E", "7E", "6E", "5E"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swallow: ["8L20", "7L56", "6L50", "5L56"], + tackle: ["8L1", "7L1", "6L1"], + taunt: ["8M", "7M", "6M", "5M"], + thief: ["8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "7T", "6T", "5T"], + tickle: ["8E", "7E", "6E", "5E"], + toxic: ["7M", "6M", "5M"], + willowisp: ["8M", "7M", "6M", "5M"], + wrap: ["7E", "6E", "5E"], + }, + }, + durant: { + learnset: { + aerialace: ["7M", "6M", "5M"], + agility: ["8M", "8L24", "7L6", "6L16", "5L16"], + attract: ["8M", "7M", "6M", "5M"], + batonpass: ["8M", "7E", "6E", "5E"], + beatup: ["8M", "8L12"], + bite: ["8L20", "7L1", "6L11", "5L11"], + bugbite: ["8L16", "7T", "7L16", "6T", "6L26", "5T", "5L26"], + confide: ["7M", "6M"], + crunch: ["8M", "8L36", "7L21", "6L31", "5L31"], + cut: ["6M", "5M"], + dig: ["8M", "8L28", "7L31", "6M", "6L41", "5M", "5L41"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M", "7E", "6E", "5E", "5D"], + energyball: ["8M", "7M", "6M", "5M"], + entrainment: ["8L48", "7L36", "6L46", "5L46"], + facade: ["8M", "7M", "6M", "5M"], + feintattack: ["7E", "6E", "5E"], + firstimpression: ["8E"], + flail: ["8E"], + flashcannon: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furycutter: ["8L1", "7L1", "6L6", "5L6", "5D"], + gigaimpact: ["8M", "7M", "6M", "5M"], + guillotine: ["8L56", "7L1", "6L1", "5L61"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + infestation: ["8E"], + irondefense: ["8M", "8L52", "7T", "7L46", "6T", "6L1", "5T", "5L56"], + ironhead: ["8M", "8L44", "7T", "7L26", "6T", "6L36", "5T", "5L36"], + metalburst: ["8E"], + metalclaw: ["8L8", "7L11", "6L21", "5L21"], + metalsound: ["8L40", "7L1", "6L1", "5L66"], + protect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockclimb: ["7E", "6E", "5E"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sandattack: ["8L1", "7L1", "6L1", "5L1"], + sandstorm: ["8M", "7M", "6M", "5M"], + screech: ["8M", "7E", "6E", "5E"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + stompingtantrum: ["8M"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + strugglebug: ["8E", "6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + thunderfang: ["8M", "7E", "6E", "5E", "5D"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + visegrip: ["8L4", "7L1", "6L1", "5L1"], + xscissor: ["8M", "8L32", "7M", "7L41", "6M", "6L51", "5M", "5L51"], + }, + }, + deino: { + learnset: { + aquatail: ["7T", "6T", "5T"], + assurance: ["9L16", "8M", "8L16", "7E", "6E", "5E"], + astonish: ["9E", "8E", "7E", "6E", "5E"], + attract: ["8M", "7M", "6M", "5M"], + belch: ["9E", "8E", "7E"], + bite: ["9L8", "8L8", "7L9", "6L9", "5L9"], + bodyslam: ["9M", "9L44", "8M", "8L44", "7L48", "6L48", "5L48"], + confide: ["7M", "6M"], + crunch: ["9M", "9L32", "8M", "8L32", "7L25", "6L25", "5L25"], + darkpulse: ["9M", "8M", "7M", "7E", "6M", "6E", "5T", "5E"], + doublehit: ["9E", "8E", "7E", "6E", "5E"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragonbreath: ["9L4", "8L4", "7L17", "6L17", "5L17"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L32", "6T", "6L32", "5T", "5L32"], + dragonrage: ["7L1", "6L1", "5L1", "5S0"], + dragonrush: ["9L52", "8L52", "7L42", "6L42", "5L42"], + dragontail: ["9M", "7M", "6M", "5M"], + earthpower: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firefang: ["9M", "8M", "7E", "6E", "5E"], + focusenergy: ["9L1", "8M", "8L1", "7L4", "6L4", "5L4"], + frustration: ["7M", "6M", "5M"], + headbutt: ["9L20", "8L20", "7L12", "6L12", "5L12"], + headsmash: ["9E", "8E", "7E", "6E", "5E"], + hiddenpower: ["7M", "6M", "5M"], + hypervoice: ["9M", "9L48", "8M", "8L48", "7T", "7L58", "6T", "6L58", "5T", "5L58"], + icefang: ["9M", "8M", "7E", "6E", "5E"], + incinerate: ["6M", "5M"], + nastyplot: ["9M", "9L56", "8M", "8L56"], + outrage: ["9M", "9L60", "8M", "8L60", "7T", "7L62", "6T", "6L62", "5T", "5L62"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["9M", "9L12", "8L12", "7M", "7L20", "6M", "6L20", "5M", "5L20"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L36", "8M", "8L36", "7L50", "6L50", "5L52"], + screech: ["8M", "7E", "6E", "5E"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + slam: ["9L28", "8L28", "7L28", "6L28", "5L28"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + tackle: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderfang: ["9M", "8M", "7E", "6E", "5E"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + workup: ["9L24", "8M", "8L24", "7M", "7L38", "6L38", "5M", "5L38"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["tackle", "dragonrage"], pokeball: "pokeball"}, + ], + }, + zweilous: { + learnset: { + aquatail: ["7T", "6T", "5T"], + assurance: ["9L16", "8M", "8L16"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M"], + bite: ["9L1", "8L1", "7L1", "6L1", "5L1"], + bodyslam: ["9M", "9L44", "8M", "8L44", "7L48", "6L48", "5L48"], + confide: ["7M", "6M"], + crunch: ["9M", "9L32", "8M", "8L32", "7L25", "6L25", "5L25"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + doublehit: ["9L1", "8L1", "7L1", "6L1", "5L1"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragonbreath: ["9L1", "8L1", "7L17", "6L17", "5L17"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L32", "6T", "6L32", "5T", "5L32"], + dragonrage: ["7L1", "6L1", "5L1"], + dragonrush: ["9L54", "8L54", "7L42", "6L42", "5L42"], + dragontail: ["9M", "7M", "6M", "5M"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + firefang: ["9M", "8M"], + focusenergy: ["9L1", "8M", "8L1", "7L1", "6L1", "5L1"], + frustration: ["7M", "6M", "5M"], + headbutt: ["9L20", "8L20", "7L12", "6L12", "5L12"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M"], + hypervoice: ["9M", "9L48", "8M", "8L48", "7T", "7L64", "6T", "6L64", "5T", "5L64"], + icefang: ["9M", "8M"], + incinerate: ["6M", "5M"], + lashout: ["9M"], + nastyplot: ["9M", "9L60", "8M", "8L60"], + outrage: ["9M", "9L66", "8M", "8L66", "7T", "7L71", "6T", "6L71", "5T", "5L71"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["9M", "9L12", "8L12", "7M", "7L20", "6M", "6L20", "5M", "5L20"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "9L36", "8M", "8L36", "7L55", "6L55", "5L55"], + screech: ["8M"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + slam: ["9L28", "8L28", "7L28", "6L28", "5L28"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + stompingtantrum: ["9M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thunderfang: ["9M", "8M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["8M", "7T", "6T", "5T"], + workup: ["9L24", "8M", "8L24", "7M", "7L38", "6L38", "5M", "5L38"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], + }, + encounters: [ + {generation: 5, level: 49}, + ], + }, + hydreigon: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aquatail: ["7T", "6T", "5T"], + assurance: ["9L16", "8M", "8L16"], + attract: ["8M", "7M", "6M", "5M"], + beatup: ["8M"], + bite: ["9L1", "8L1", "7L1", "6L1", "5L1"], + bodyslam: ["9M", "9L44", "8M", "8L44", "7L48", "6L48", "5L48"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M", "5M"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L32", "8M", "8L32", "7L25", "6L25", "6S1", "5L25"], + darkpulse: ["9M", "8M", "7M", "6M", "5T"], + defog: ["7T"], + doublehit: ["9L1", "8L1"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["9M", "8T", "7T", "6T", "5T"], + dragonbreath: ["9L1", "8L1", "7L17", "6L17", "5L17", "5S0"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L32", "6T", "6L32", "5T", "5L32"], + dragonrage: ["7L1", "6L1", "5L1"], + dragonrush: ["9L54", "8L54", "7L42", "6L42", "6S1", "5L42"], + dragontail: ["9M", "7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fireblast: ["9M", "8M", "7M", "6M", "5M"], + firefang: ["9M", "8M"], + firespin: ["9M", "8M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M", "5S0"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "5S0"], + focusenergy: ["9L1", "8M", "8L1", "7L1", "6L1", "5L1"], + frustration: ["7M", "6M", "6S1", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + headbutt: ["9L20", "8L20", "7L12", "6L12", "5L12"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "9L76", "8M", "8L76", "7M", "6M", "5M"], + hypervoice: ["9M", "9L48", "8M", "8L48", "7T", "7L1", "6T", "6L1", "5T", "5L68", "5S0"], + icefang: ["9M", "8M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T"], + lashout: ["9M"], + nastyplot: ["9M", "9L60", "8M", "8L60"], + outrage: ["9M", "9L68", "8M", "8L68", "7T", "7L1", "6T", "6L1", "5T", "5L79"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + raindance: ["9M", "8M", "7M", "6M", "5M"], + reflect: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roar: ["9M", "9L12", "8L12", "7M", "7L20", "6M", "6L20", "5M", "5L20"], + rockslide: ["9M", "8M", "7M", "6M", "6S1", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["9M", "8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L36", "8M", "8L36", "7L55", "6L55", "5L55"], + screech: ["8M"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + slam: ["9L28", "8L28", "7L28", "6L28", "5L28"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snarl: ["9M", "8M"], + snore: ["8M", "7T", "6T", "5T"], + spite: ["9M", "7T", "6T", "5T"], + stealthrock: ["9M"], + steelwing: ["8M", "7M", "6M"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tackle: ["9L1", "8L1"], + tailwind: ["9M", "7T", "6T", "5T"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + throatchop: ["8M", "7T"], + thunderfang: ["9M", "8M"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + triattack: ["9L1", "8M", "8L1", "7L1", "6L1", "5L1"], + uproar: ["8M", "7T", "6T", "5T"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + workup: ["9L24", "8M", "8L24", "7M", "7L38", "6L38", "5M", "5L38"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 70, shiny: true, gender: "M", moves: ["hypervoice", "dragonbreath", "flamethrower", "focusblast"], pokeball: "cherishball"}, + {generation: 6, level: 52, gender: "M", perfectIVs: 2, moves: ["dragonrush", "crunch", "rockslide", "frustration"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 59}, + ], + }, + larvesta: { + learnset: { + absorb: ["9E", "8E", "7L10"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + amnesia: ["9M", "9L54", "8M", "8L54", "7L80", "6L80", "5L80"], + attract: ["8M"], + bodyslam: ["9M"], + bugbite: ["9M", "9L24", "8L24", "7T", "7L40", "6T", "6L40", "5T", "5L40"], + bugbuzz: ["9M", "9L42", "8M", "8L42", "7L70", "6L70", "5L70"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + doubleedge: ["9L60", "8L60", "7L50", "6L50", "5L50"], + doubleteam: ["7M", "6M", "5M"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L1"], + endure: ["9M", "8M", "7E", "6E", "5E"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fireblast: ["9M", "8M", "7M", "6M", "5M"], + firespin: ["9M"], + flamecharge: ["9M", "9L6", "8L6", "7M", "7L30", "6M", "6L30", "5M", "5L30"], + flamethrower: ["9M", "8M", "7M", "6M", "5M"], + flamewheel: ["9L18", "8L18", "7L60", "6L60", "5L60"], + flareblitz: ["9M", "9L66", "8M", "8L66", "7L100", "6L100", "5L100"], + foresight: ["7E", "6E", "5E"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "8M", "7T", "6T", "5T"], + harden: ["9E", "8E", "7E", "6E", "5E"], + heatwave: ["9M", "8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + incinerate: ["6M", "5M"], + leechlife: ["9M", "9L36", "8M", "8L36", "7M", "6L10", "5L10"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + lunge: ["9M"], + magnetrise: ["7T", "7E", "6T", "6E", "5T", "5E"], + morningsun: ["9E", "7E", "6E", "5E"], + overheat: ["9M", "8M", "7M", "6M", "5M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + screech: ["9L30", "8M", "8L30"], + secretpower: ["6M"], + signalbeam: ["7T", "6T", "5T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + stringshot: ["9L1", "8L1", "7L1", "7E", "6L1", "6E", "5L1", "5E"], + strugglebug: ["9M", "9L12", "8L12", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + takedown: ["9M", "9L48", "8L48", "7L20", "6L20", "5L20"], + terablast: ["9M"], + thrash: ["9E", "8E", "7L90", "6L90", "5L90"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "7M", "6M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "7E", "6T", "6E", "5T", "5E"], + }, + }, + volcarona: { + learnset: { + absorb: ["7L1"], + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M"], + aircutter: ["9M"], + airslash: ["9M"], + amnesia: ["9M", "9L54", "8M", "8L54", "7L1", "6L1"], + attract: ["8M"], + bodyslam: ["9M"], + bugbite: ["9M", "9L24", "8L24", "7T", "6T", "5T"], + bugbuzz: ["9M", "9L42", "8M", "8L42", "7L1", "6L1", "5L70", "5S1"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + defog: ["7T"], + doubleedge: ["9L1", "8L1"], + doubleteam: ["7M", "6M", "5M"], + dualwingbeat: ["9M", "8T"], + ember: ["9L1", "8L1", "7L1", "6L1", "5L1"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fierydance: ["9L1", "8L1", "7L1", "6L1", "5L100"], + fireblast: ["9M", "9L70", "8M", "8L70", "7M", "6M", "5M"], + firespin: ["9M", "9L1", "8M", "8L1", "7L30", "6L30", "5L30", "5S0"], + flamecharge: ["9M", "9L1", "8L1", "7M", "6M", "5M"], + flamethrower: ["9M", "8M", "7M", "6M", "5M"], + flamewheel: ["9L18", "8L18", "7L1", "6L1"], + flareblitz: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + fly: ["9M", "8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["9M", "8M", "7T", "6T", "5T"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0"], + heatwave: ["9M", "9L48", "8M", "8L48", "7T", "7L1", "6T", "6L1", "5T", "5L60"], + hiddenpower: ["7M", "6M", "5M"], + hurricane: ["9M", "9L62", "8M", "8L62", "7L1", "6L1", "5L90"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "5S1"], + incinerate: ["6M", "5M"], + leechlife: ["9M", "9L36", "8M", "8L36", "7M", "6L1", "5L1", "5S0"], + lightscreen: ["9M", "8M", "7M", "6M", "5M"], + lunge: ["9M"], + magnetrise: ["7T", "6T", "5T"], + mysticalfire: ["8M"], + overheat: ["9M", "8M", "7M", "6M", "5M", "5S1"], + poisonjab: ["9M", "8M", "7M", "6M", "5M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + quiverdance: ["9L0", "8L0", "7L1", "6L1", "5L59", "5S1"], + ragepowder: ["9L78", "8L78", "7L1", "6L1", "5L80"], + raindance: ["9M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + screech: ["9L30", "8M", "8L30"], + secretpower: ["6M"], + signalbeam: ["7T", "6T", "5T"], + silverwind: ["7L50", "6L50", "5L50"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["9M", "8M", "7M", "6M", "5M"], + stringshot: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S0"], + strugglebug: ["9M", "9L1", "8L1", "6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M", "8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + tailwind: ["9M", "7T", "6T", "5T"], + takedown: ["9M", "9L1", "8L1"], + terablast: ["9M"], + thrash: ["7L1", "6L1"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + whirlwind: ["9L1", "8L1", "7L40", "6L40", "5L40"], + wildcharge: ["9M", "8M", "7M", "6M", "5M"], + willowisp: ["9M", "8M", "7M", "6M", "5M"], + zenheadbutt: ["9M", "8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 35, moves: ["stringshot", "leechlife", "gust", "firespin"]}, + {generation: 5, level: 77, gender: "M", nature: "Calm", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["bugbuzz", "overheat", "hyperbeam", "quiverdance"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 41}, + ], + }, + cobalion: { + learnset: { + aerialace: ["7M", "6M", "5M"], + airslash: ["8M"], + block: ["7T", "6T", "5T"], + bounce: ["8M", "7T", "6T", "5T"], + brickbreak: ["8M"], + calmmind: ["8M", "7M", "6M", "5M"], + closecombat: ["8M", "8L70", "8S5", "7L1", "6L1", "5L73"], + coaching: ["8T"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doublekick: ["8L21", "7L1", "6L7", "5L7"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + falseswipe: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + irondefense: ["8M", "7T", "6T", "5T"], + ironhead: ["8M", "8L63", "8S5", "7T", "7L25", "7S4", "6T", "6L37", "6S3", "5T", "5L37", "5S0", "5S1"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + magnetrise: ["7T", "6T", "5T"], + megahorn: ["8M"], + metalburst: ["8L35", "7L1", "6L1", "5L67"], + metalclaw: ["8L7", "7L1", "6L13", "5L13"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "7S4", "6L1", "5L1"], + quickguard: ["8L14", "7L42", "6L1", "5L55", "5S2"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["8M"], + roar: ["7M", "6M", "5M"], + rockpolish: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sacredsword: ["8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], + safeguard: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + scaryface: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smartstrike: ["8M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + steelbeam: ["8T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + swordsdance: ["8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], + takedown: ["8L42", "7L7", "6L19", "5L19"], + taunt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + voltswitch: ["8M", "7M", "6M", "5M"], + workup: ["8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], + xscissor: ["8M", "7M", "6M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 42, shiny: 1, moves: ["helpinghand", "retaliate", "ironhead", "sacredsword"]}, + {generation: 5, level: 45, shiny: 1, moves: ["helpinghand", "retaliate", "ironhead", "sacredsword"]}, + {generation: 5, level: 65, shiny: 1, moves: ["sacredsword", "swordsdance", "quickguard", "workup"]}, + {generation: 6, level: 50, shiny: 1, moves: ["retaliate", "ironhead", "sacredsword", "swordsdance"]}, + {generation: 7, level: 60, shiny: 1, moves: ["sacredsword", "swordsdance", "quickattack", "ironhead"]}, + {generation: 8, level: 70, shiny: 1, moves: ["sacredsword", "swordsdance", "ironhead", "closecombat"]}, + ], + eventOnly: true, + }, + terrakion: { + learnset: { + aerialace: ["7M", "6M", "5M"], + airslash: ["8M"], + block: ["7T", "6T", "5T"], + brickbreak: ["8M"], + bulldoze: ["8M", "7M", "6M", "5M"], + calmmind: ["8M", "7M", "6M", "5M"], + closecombat: ["8M", "8L70", "8S5", "7L1", "6L1", "5L73"], + coaching: ["8T"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doublekick: ["8L21", "7L1", "6L7", "5L7"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["8M", "7T", "6T", "5T"], + earthquake: ["8M", "7M", "6M", "5M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + falseswipe: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + ironhead: ["8M", "7T", "6T", "5T"], + laserfocus: ["7T"], + leer: ["8L1", "7L1", "6L1", "5L1"], + megahorn: ["8M"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + quickguard: ["8L14", "7L42", "6L1", "5L55", "5S2"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["8M"], + roar: ["7M", "6M", "5M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["8M", "8L35", "7M", "7L25", "7S4", "6M", "6L37", "6S3", "5M", "5L37", "5S0", "5S1"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sacredsword: ["8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], + safeguard: ["8M", "7M", "6M", "5M"], + sandstorm: ["8M", "7M", "6M", "5M"], + scaryface: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smackdown: ["8L7", "7M", "7L1", "6M", "6L13", "5M", "5L13"], + smartstrike: ["8M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["8M", "7T", "6T", "5T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "8L63", "8S5", "7M", "7L55", "7S4", "6M", "6L67", "5M", "5L67"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + swordsdance: ["8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], + takedown: ["8L42", "7L7", "6L19", "5L19"], + taunt: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + workup: ["8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], + xscissor: ["8M", "7M", "6M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 42, shiny: 1, moves: ["helpinghand", "retaliate", "rockslide", "sacredsword"]}, + {generation: 5, level: 45, shiny: 1, moves: ["helpinghand", "retaliate", "rockslide", "sacredsword"]}, + {generation: 5, level: 65, shiny: 1, moves: ["sacredsword", "swordsdance", "quickguard", "workup"]}, + {generation: 6, level: 50, shiny: 1, moves: ["retaliate", "rockslide", "sacredsword", "swordsdance"]}, + {generation: 7, level: 60, shiny: 1, moves: ["sacredsword", "swordsdance", "rockslide", "stoneedge"]}, + {generation: 8, level: 70, shiny: 1, moves: ["sacredsword", "swordsdance", "stoneedge", "closecombat"]}, + ], + eventOnly: true, + }, + virizion: { + learnset: { + aerialace: ["7M", "6M", "5M"], + airslash: ["8M"], + block: ["7T", "6T", "5T"], + bounce: ["8M", "7T", "6T", "5T"], + brickbreak: ["8M"], + calmmind: ["8M", "7M", "6M", "5M"], + closecombat: ["8M", "8L70", "8S5", "7L1", "6L1", "5L73"], + coaching: ["8T"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doublekick: ["8L21", "7L1", "6L7", "5L7"], + doubleteam: ["7M", "6M", "5M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + facade: ["8M", "7M", "6M", "5M"], + falseswipe: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigadrain: ["8M", "8L35", "7T", "7L25", "7S4", "6T", "6L37", "6S3", "5T", "5L37", "5S0", "5S1"], + gigaimpact: ["8M", "7M", "6M", "5M"], + grassknot: ["8M", "7M", "6M", "5M"], + grassyglide: ["8T"], + helpinghand: ["8M", "8L1", "7T", "7L13", "6T", "6L25", "5T", "5L25", "5S0", "5S1"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + laserfocus: ["7T"], + leafblade: ["8M", "8L63", "8S5", "7L1", "7S4", "6L1", "5L67"], + leafstorm: ["8M"], + leer: ["8L1", "7L1", "6L1", "5L1"], + lightscreen: ["8M", "7M", "6M", "5M"], + magicalleaf: ["8M", "8L7", "7L1", "6L13", "5L13"], + megahorn: ["8M"], + naturepower: ["7M", "6M"], + protect: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + quickguard: ["8L14", "7L42", "6L1", "5L55", "5S2"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L28", "7L19", "6M", "6L31", "6S3", "5M", "5L31", "5S0", "5S1"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["8M"], + roar: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sacredsword: ["8L49", "8S5", "7L31", "7S4", "6L42", "6S3", "5L42", "5S0", "5S1", "5S2"], + safeguard: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + seedbomb: ["8M", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smartstrike: ["8M"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + solarblade: ["8M"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + swordsdance: ["8M", "8L56", "8S5", "7M", "7L37", "7S4", "6M", "6L49", "6S3", "5M", "5L49", "5S2"], + synthesis: ["7T", "6T", "5T"], + takedown: ["8L42", "7L7", "6L19", "5L19"], + taunt: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + workup: ["8M", "8L1", "7M", "7L49", "6L1", "5M", "5L61", "5S2"], + worryseed: ["7T", "6T", "5T"], + xscissor: ["8M", "7M", "6M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 42, shiny: 1, moves: ["helpinghand", "retaliate", "gigadrain", "sacredsword"]}, + {generation: 5, level: 45, shiny: 1, moves: ["helpinghand", "retaliate", "gigadrain", "sacredsword"]}, + {generation: 5, level: 65, shiny: 1, moves: ["sacredsword", "swordsdance", "quickguard", "workup"]}, + {generation: 6, level: 50, shiny: 1, moves: ["retaliate", "gigadrain", "sacredsword", "swordsdance"]}, + {generation: 7, level: 60, shiny: 1, moves: ["sacredsword", "swordsdance", "gigadrain", "leafblade"]}, + {generation: 8, level: 70, shiny: 1, moves: ["sacredsword", "swordsdance", "leafblade", "closecombat"]}, + ], + eventOnly: true, + }, + tornadus: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M", "5M"], + aerialace: ["7M", "6M", "5M"], + agility: ["9M", "9L25", "8M", "8L25", "8S7", "7L31", "6L37", "6S3", "5L37", "5S0"], + aircutter: ["9M", "9L20", "8L20", "7L19", "6L25", "5L25", "5S0"], + airslash: ["9M", "9L35", "8M", "8L35", "7L37", "7S4", "7S5", "6L43", "6S3", "5L43", "5S2"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["9L15", "8L15", "7L7", "6L13", "5L13"], + bleakwindstorm: ["9L77"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L40", "8M", "8L40", "7L43", "7S4", "7S5", "6L49", "6S3", "5L49"], + darkpulse: ["9M", "8M", "7M", "7L67", "6M", "6L73", "5T", "5L73"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + embargo: ["7M", "6M", "5M"], + endure: ["9M", "8M"], + extrasensory: ["9L45", "8L45", "7L25", "6L31", "6S3", "5L31", "5S0"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "6M", "5M"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "7S6", "6M", "5M"], + gust: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1"], + hammerarm: ["9L55", "8L55", "7L1", "6L1", "5L79", "5S2"], + heatwave: ["9M", "8M", "8S7", "7T", "7S6", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M", "5S2"], + hurricane: ["9M", "9L65", "8M", "8L65", "8S7", "7L1", "7S6", "6L1", "5L67", "5S2"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + icywind: ["9M", "8M", "8S7", "7T", "6T", "5T"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L5", "8L5"], + metronome: ["9M"], + nastyplot: ["9M", "8M"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "9L60", "8M", "8L60", "7M", "7L55", "7S4", "7S5", "6M", "6L61", "5M", "5L61"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "7L13", "6L19", "5L19", "5S0"], + reversal: ["9M"], + rocksmash: ["6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandstorm: ["9M"], + scaryface: ["9M", "8M"], + secretpower: ["6M"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["9M", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + snowscape: ["9M"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["9L10", "8L10", "7M", "7L1", "6M", "6L7", "5M", "5L7"], + tailwind: ["9M", "9L30", "8L30", "7T", "7L49", "7S4", "7S5", "7S6", "6T", "6L1", "5T", "5L55"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thrash: ["9L70", "8L70", "7L1", "6L1", "5L85"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["9M", "9L50", "8M", "8L50", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S1"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + weatherball: ["9M", "8M"], + }, + eventData: [ + {generation: 5, level: 40, shiny: 1, moves: ["revenge", "aircutter", "extrasensory", "agility"]}, + {generation: 5, level: 5, isHidden: true, moves: ["uproar", "astonish", "gust"], pokeball: "dreamball"}, + {generation: 5, level: 70, moves: ["hurricane", "hammerarm", "airslash", "hiddenpower"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["extrasensory", "agility", "airslash", "crunch"]}, + {generation: 7, level: 60, shiny: 1, moves: ["airslash", "crunch", "tailwind", "raindance"]}, + {generation: 7, level: 60, moves: ["airslash", "crunch", "tailwind", "raindance"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["hurricane", "heatwave", "grassknot", "tailwind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["hurricane", "agility", "icywind", "heatwave"]}, + ], + eventOnly: true, + }, + tornadustherian: { + eventOnly: true, + }, + thundurus: { + learnset: { + acrobatics: ["9M"], + agility: ["9M", "9L25", "8M", "8L25", "7L31", "6L37", "6S3", "5L37", "5S0"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1"], + attract: ["8M", "7M", "6M", "5M"], + bite: ["9L15", "8L15", "7L7", "6L13", "5L13"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + charge: ["9M", "9L30", "8L30", "7L49", "7S4", "7S5", "6L1", "5L55"], + chargebeam: ["9M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L40", "8M", "8L40", "7L43", "7S4", "7S5", "6L49", "6S3", "5L49"], + darkpulse: ["9M", "8M", "7M", "7L67", "6M", "6L73", "5T", "5L73"], + defog: ["7T"], + discharge: ["9L45", "8L45", "7L37", "7S4", "7S5", "6L43", "6S3", "5L43"], + doubleteam: ["7M", "6M", "5M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T", "6T"], + embargo: ["7M", "6M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M", "5M"], + flashcannon: ["9M", "8M", "7M", "6M", "5M"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "7M", "7S6", "6M", "5M", "5S2"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "7S6", "6M", "5M"], + hammerarm: ["9L55", "8L55", "7L1", "6L1", "5L79", "5S2"], + healblock: ["7L25", "6L31", "6S3", "5L31", "5S0"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leer: ["9L5", "8L5"], + nastyplot: ["9M", "8M", "7L1", "7S4", "7S5", "7S6", "6L1", "5L61"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + raindance: ["9M", "9L60", "8M", "8L60", "8S7", "7M", "6M", "5M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + revenge: ["8M", "7L13", "6L19", "5L19", "5S0"], + risingvoltage: ["8T"], + rocksmash: ["6M", "5M"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + scaryface: ["9M", "8M"], + secretpower: ["6M"], + shockwave: ["9L20", "8L20", "7T", "7L19", "6T", "6L25", "5L25", "5S0"], + skydrop: ["7M", "6M", "5M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + sludgewave: ["8M", "8S7", "7M", "6M", "5M"], + smackdown: ["9M", "7M", "6M", "5M"], + smartstrike: ["9M", "8M", "7M"], + snarl: ["9M"], + snore: ["8M", "7T", "6T", "5T"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["9L10", "8L10", "7M", "7L1", "6M", "6L7", "5M", "5L7"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M"], + thrash: ["9L70", "8L70", "7L1", "6L1", "5L85"], + thunder: ["9M", "9L65", "8M", "8L65", "8S7", "7M", "7L61", "6M", "6L67", "5M", "5L67", "5S2"], + thunderbolt: ["9M", "8M", "7M", "7S6", "6M", "5M"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T"], + thundershock: ["9L1", "8L1", "7L1", "6L1", "5L1", "5S1"], + thunderwave: ["9M", "8M", "7M", "6M", "5M"], + torment: ["7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + uproar: ["9M", "9L50", "8M", "8L50", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S1"], + uturn: ["9M", "8M", "7M", "6M", "5M"], + voltswitch: ["9M", "9L35", "8M", "8L35", "7M", "6M", "5M"], + weatherball: ["9M", "8M", "8S7"], + wildboltstorm: ["9L75"], + wildcharge: ["9M", "8M", "7M", "6M", "5M", "5S2"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 5, level: 40, shiny: 1, moves: ["revenge", "shockwave", "healblock", "agility"]}, + {generation: 5, level: 5, isHidden: true, moves: ["uproar", "astonish", "thundershock"], pokeball: "dreamball"}, + {generation: 5, level: 70, moves: ["thunder", "hammerarm", "focusblast", "wildcharge"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["healblock", "agility", "discharge", "crunch"]}, + {generation: 7, level: 60, shiny: 1, moves: ["discharge", "crunch", "charge", "nastyplot"]}, + {generation: 7, level: 60, moves: ["discharge", "crunch", "charge", "nastyplot"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["thunderbolt", "focusblast", "grassknot", "nastyplot"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["thunder", "raindance", "weatherball", "sludgewave"]}, + ], + eventOnly: true, + }, + thundurustherian: { + eventOnly: true, + }, + reshiram: { + learnset: { + ancientpower: ["8L1", "7L15", "6L15", "5L15"], + blueflare: ["8L88", "7L100", "7S6", "6L100", "5L100", "5S2"], + bodypress: ["8M"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L16", "7L71", "6L71", "5L71"], + cut: ["6M", "5M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["8T", "7T", "7S6", "6T", "5T", "5S2"], + dragonbreath: ["8L1", "7L29", "6L29", "6S3", "5L29", "5S0"], + dragonclaw: ["8M", "8S7", "7M", "6M", "5M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8L32", "7T", "7L54", "7S4", "7S5", "6T", "6L54", "5T", "5L54", "5S1"], + dragonrage: ["7L1", "6L1", "5L1"], + dragontail: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "7S6", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + endure: ["8M"], + extrasensory: ["8L24", "8S7", "7L43", "7S4", "7S5", "6L43", "6S3", "5L43", "5S0", "5S1"], + facade: ["8M", "7M", "6M", "5M"], + fireblast: ["8M", "8L64", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + firefang: ["8M", "8L1", "7L1", "6L1", "5L1"], + flamecharge: ["7M", "6M", "5M"], + flamethrower: ["8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + flareblitz: ["8M"], + fling: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + fusionflare: ["8L48", "8S7", "7L50", "7S4", "7S5", "7S6", "6L50", "6S3", "5L50", "5S0", "5S1", "5S2"], + gigaimpact: ["8M", "7M", "6M", "5M"], + heatcrash: ["8M"], + heatwave: ["8M", "7T", "6T", "5T"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L56", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + imprison: ["8M", "8L72", "7L64", "6L8", "5L8", "5S1"], + incinerate: ["6M", "5M"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M"], + mist: ["5S2"], + mysticalfire: ["8M"], + nobleroar: ["8L1", "8S7", "7L64"], + outrage: ["8M", "8L80", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + overheat: ["8M", "7M", "6M", "5M"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + scorchingsands: ["8T"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + slash: ["8L8", "7L36", "7S4", "7S5", "6L36", "6S3", "5L36", "5S0"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "5M"], + steelwing: ["8M", "7M", "6M"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + tailwind: ["7T", "6T", "5T"], + toxic: ["7M", "6M", "5M"], + weatherball: ["8M"], + willowisp: ["8M", "7M", "6M", "5M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 50, moves: ["dragonbreath", "slash", "extrasensory", "fusionflare"]}, + {generation: 5, level: 70, moves: ["extrasensory", "fusionflare", "dragonpulse", "imprison"]}, + {generation: 5, level: 100, moves: ["blueflare", "fusionflare", "mist", "dracometeor"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["dragonbreath", "slash", "extrasensory", "fusionflare"]}, + {generation: 7, level: 60, shiny: 1, moves: ["slash", "extrasensory", "fusionflare", "dragonpulse"]}, + {generation: 7, level: 60, moves: ["slash", "extrasensory", "fusionflare", "dragonpulse"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["fusionflare", "blueflare", "dracometeor", "earthpower"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["nobleroar", "extrasensory", "fusionflare", "dragonclaw"]}, + ], + eventOnly: true, + }, + zekrom: { + learnset: { + ancientpower: ["8L1", "7L15", "6L15", "5L15"], + bodypress: ["8M"], + boltstrike: ["8L88", "7L100", "7S6", "6L100", "5L100", "5S2"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L16", "7L71", "6L71", "5L71"], + cut: ["6M", "5M"], + defog: ["7T"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["8T", "7T", "6T", "5T"], + dragonbreath: ["8L1", "7L29", "6L29", "6S3", "5L29", "5S0"], + dragonclaw: ["8M", "8L32", "8S7", "7M", "7L54", "7S4", "7S5", "6M", "6L54", "5M", "5L54", "5S1"], + dragondance: ["8M"], + dragonpulse: ["8M", "7T", "6T", "5T"], + dragonrage: ["7L1", "6L1", "5L1"], + dragontail: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + electroball: ["8M"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + fusionbolt: ["8L48", "8S7", "7L50", "7S4", "7S5", "7S6", "6L50", "6S3", "5L50", "5S0", "5S1", "5S2"], + gigaimpact: ["8M", "7M", "6M", "5M"], + haze: ["5S2"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L56", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + imprison: ["8M", "8L72", "7L64", "6L8", "5L8", "5S1"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M"], + magnetrise: ["7T", "6T", "5T"], + nobleroar: ["8L1", "8S7", "7L64"], + outrage: ["8M", "8L80", "7T", "7L85", "7S6", "6T", "6L85", "5T", "5L85", "5S2"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + risingvoltage: ["8T"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "5M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + slash: ["8L8", "8S7", "7L36", "7S4", "7S5", "6L36", "6S3", "5L36", "5S0"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + stoneedge: ["8M", "7M", "7S6", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + tailwind: ["7T", "6T", "5T"], + thunder: ["8M", "8L64", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + thunderbolt: ["8M", "8L40", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + thunderfang: ["8M", "8L1", "7L1", "6L1", "5L1"], + thunderpunch: ["8M", "7T", "6T", "5T"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + voltswitch: ["8M", "7M", "6M", "5M"], + weatherball: ["8M"], + wildcharge: ["8M", "7M", "6M", "5M"], + zenheadbutt: ["8M", "8L24", "7T", "7L43", "7S4", "7S5", "6T", "6L43", "6S3", "5T", "5L43", "5S0", "5S1"], + }, + eventData: [ + {generation: 5, level: 50, moves: ["dragonbreath", "slash", "zenheadbutt", "fusionbolt"]}, + {generation: 5, level: 70, moves: ["zenheadbutt", "fusionbolt", "dragonclaw", "imprison"]}, + {generation: 5, level: 100, moves: ["boltstrike", "fusionbolt", "haze", "outrage"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["dragonbreath", "slash", "zenheadbutt", "fusionbolt"]}, + {generation: 7, level: 60, shiny: 1, moves: ["slash", "zenheadbutt", "fusionbolt", "dragonclaw"]}, + {generation: 7, level: 60, moves: ["slash", "zenheadbutt", "fusionbolt", "dragonclaw"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["fusionbolt", "boltstrike", "outrage", "stoneedge"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["nobleroar", "slash", "fusionbolt", "dragonclaw"]}, + ], + eventOnly: true, + }, + landorus: { + learnset: { + attract: ["8M", "7M", "6M", "5M"], + block: ["9L10", "8L10", "7T", "7L1", "6T", "6L1", "5T", "5L1", "5S1"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "8M", "7M", "6M", "5M"], + bulldoze: ["9M", "9L15", "8M", "8L15", "8S5", "7M", "7L13", "6M", "6L19", "5M", "5L19"], + calmmind: ["9M", "8M", "7M", "6M", "5M"], + confide: ["7M", "6M"], + crunch: ["9M"], + defog: ["7T"], + dig: ["9M", "8M", "6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + earthpower: ["9M", "9L40", "8M", "8L40", "7T", "7L37", "7S4", "6T", "6L43", "6S2", "5T", "5L43"], + earthquake: ["9M", "9L65", "8M", "8L65", "7M", "7L49", "7S4", "6M", "6L55", "6S3", "5M", "5L55", "5S0"], + endure: ["9M", "8M"], + explosion: ["7M", "6M", "5M"], + extrasensory: ["9L45", "8L45", "7L25", "6L31", "6S2", "5L31"], + facade: ["9M", "8M", "7M", "6M", "5M"], + fissure: ["9L75", "8L75", "7L1", "6L1", "5L67", "5S0"], + fling: ["9M", "8M", "7M", "6M", "5M"], + fly: ["9M", "8M", "7M", "6M", "5M"], + focusblast: ["9M", "8M", "8S5", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M"], + grassknot: ["9M", "8M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], + hammerarm: ["9L55", "8L55", "7L1", "6L1", "5L79"], + hiddenpower: ["7M", "6M", "5M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M"], + imprison: ["9M", "9L30", "8M", "8L30", "7L1", "6L7", "5L7"], + irontail: ["8M", "7T", "6T", "5T"], + knockoff: ["7T", "6T", "6S3", "5T"], + leer: ["9L5", "8L5"], + mudshot: ["9M", "8M", "7L1", "6L1", "5L1", "5S1"], + mudslap: ["9M"], + nastyplot: ["9M"], + outrage: ["9M", "9L70", "8M", "8L70", "7T", "7L1", "6T", "6L1", "5T", "5L85"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["9M", "8M", "7M", "6M", "5M"], + psychic: ["9M", "8M", "7M", "6M", "5M"], + punishment: ["7L7", "6L13", "5L13"], + raindance: ["9M"], + rest: ["9M", "8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockpolish: ["7M", "6M", "5M"], + rockslide: ["9M", "9L35", "8M", "8L35", "8S5", "7M", "7L43", "7S4", "6M", "6L49", "6S2", "5M", "5L49", "5S0"], + rocksmash: ["6M", "5M"], + rockthrow: ["8L1", "7L19", "6L25", "5L25"], + rocktomb: ["9M", "9L20", "8M", "8L20", "7M", "7L1", "6M", "6L1", "6S3", "5M", "5L1", "5S1"], + roleplay: ["7T", "6T", "5T"], + round: ["8M", "7M", "6M", "5M"], + sandsearstorm: ["9L80"], + sandstorm: ["9M", "9L60", "8M", "8L60", "7M", "7L55", "7S4", "6M", "6L61", "5M", "5L61", "5S0"], + sandtomb: ["9M", "9L1", "8M", "8L1", "8S5"], + scaryface: ["9M", "8M"], + secretpower: ["6M"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T"], + sludgebomb: ["9M", "8M", "7M", "6M", "5M"], + sludgewave: ["8M", "7M", "6M", "5M"], + smackdown: ["9M", "9L1", "7M", "6M", "5M"], + snore: ["8M", "7T", "6T", "5T"], + stealthrock: ["9M", "8M", "7T", "6T", "5T"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "9L50", "8M", "8L50", "7M", "7L67", "6M", "6L73", "5M", "5L73"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "6M", "5M"], + sunnyday: ["9M"], + superpower: ["8M", "7T", "6T", "5T"], + swagger: ["7M", "6M", "5M"], + swordsdance: ["9M", "8M", "8L25", "7M", "7L31", "6M", "6L37", "6S2", "5M", "5L37"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + toxic: ["7M", "6M", "5M"], + uturn: ["9M", "8M", "7M", "6M", "6S3", "5M"], + weatherball: ["9M", "8M"], + }, + eventData: [ + {generation: 5, level: 70, shiny: 1, moves: ["rockslide", "earthquake", "sandstorm", "fissure"]}, + {generation: 5, level: 5, isHidden: true, moves: ["block", "mudshot", "rocktomb"], pokeball: "dreamball"}, + {generation: 6, level: 65, shiny: 1, moves: ["extrasensory", "swordsdance", "earthpower", "rockslide"]}, + {generation: 6, level: 50, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 1, spd: 31, spe: 24}, moves: ["earthquake", "knockoff", "uturn", "rocktomb"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["earthpower", "rockslide", "earthquake", "sandstorm"]}, + {generation: 8, level: 70, shiny: 1, moves: ["sandtomb", "rockslide", "bulldoze", "focusblast"]}, + ], + eventOnly: true, + }, + landorustherian: { + eventOnly: true, + }, + kyurem: { + learnset: { + ancientpower: ["8L1", "7L15", "6L15", "5L15"], + blizzard: ["8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + bodypress: ["8M"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["8T", "7T", "6T", "6S3", "5T"], + dragonbreath: ["8L1", "7L29", "6L29", "6S2", "5L29"], + dragonclaw: ["8M", "7M", "6M", "5M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], + dragonrage: ["7L1", "6L1", "5L1"], + dragontail: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + freezedry: ["8L1"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + glaciate: ["8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L50", "5S0", "5S1"], + hail: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + icebeam: ["8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + iciclespear: ["8M"], + icywind: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + imprison: ["8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], + ironhead: ["8M", "7T", "6T", "6S3", "5T"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M"], + nobleroar: ["8L1", "7L64"], + outrage: ["8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + scaryface: ["8M", "8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L43", "5S1"], + secretpower: ["6M"], + shadowball: ["8M", "8S5", "7M", "6M", "5M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + sheercold: ["8L88"], + signalbeam: ["7T", "6T", "5T"], + slash: ["8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + toxic: ["7M", "6M", "5M"], + weatherball: ["8M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 75, shiny: 1, moves: ["glaciate", "dragonpulse", "imprison", "endeavor"]}, + {generation: 5, level: 70, shiny: 1, moves: ["scaryface", "glaciate", "dragonpulse", "imprison"]}, + {generation: 6, level: 50, shiny: 1, moves: ["dragonbreath", "slash", "scaryface", "glaciate"]}, + {generation: 6, level: 100, moves: ["glaciate", "scaryface", "dracometeor", "ironhead"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["slash", "scaryface", "glaciate", "dragonpulse"]}, + {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "hypervoice", "shadowball", "scaryface"]}, + ], + eventOnly: true, + }, + kyuremblack: { + learnset: { + ancientpower: ["8L1", "7L15", "6L15", "5L15"], + blizzard: ["8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + bodypress: ["8M"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["8T", "7T", "6T", "6S3", "5T"], + dragonbreath: ["8L1", "7L29", "6L29", "6S2", "5L29"], + dragonclaw: ["8M", "7M", "6M", "5M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], + dragonrage: ["7L1", "6L1", "5L1"], + dragontail: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + freezedry: ["8L1"], + freezeshock: ["8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L43", "5S0", "5S1"], + frustration: ["7M", "6M", "5M"], + fusionbolt: ["8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L50", "5S1"], + gigaimpact: ["8M", "7M", "6M", "5M"], + hail: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + icebeam: ["8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + iciclespear: ["8M"], + icywind: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + imprison: ["8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], + ironhead: ["8M", "7T", "6T", "6S3", "5T"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M"], + nobleroar: ["8L1", "7L64"], + outrage: ["8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + scaryface: ["8M"], + secretpower: ["6M"], + shadowball: ["8M", "8S5", "7M", "6M", "5M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + sheercold: ["8L88"], + signalbeam: ["7T", "6T", "5T"], + slash: ["8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + toxic: ["7M", "6M", "5M"], + weatherball: ["8M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 75, shiny: 1, moves: ["freezeshock", "dragonpulse", "imprison", "endeavor"]}, + {generation: 5, level: 70, shiny: 1, moves: ["fusionbolt", "freezeshock", "dragonpulse", "imprison"]}, + {generation: 6, level: 50, shiny: 1, moves: ["dragonbreath", "slash", "fusionbolt", "freezeshock"]}, + {generation: 6, level: 100, moves: ["freezeshock", "fusionbolt", "dracometeor", "ironhead"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["slash", "fusionbolt", "freezeshock", "dragonpulse"]}, + {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "hypervoice", "shadowball", "fusionbolt"]}, + ], + eventOnly: true, + }, + kyuremwhite: { + learnset: { + ancientpower: ["8L1", "7L15", "6L15", "5L15"], + blizzard: ["8M", "8L56", "7M", "7L78", "6M", "6L78", "5M", "5L78"], + bodypress: ["8M"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + confide: ["7M", "6M"], + cut: ["6M", "5M"], + doubleteam: ["7M", "6M", "5M"], + dracometeor: ["8T", "7T", "6T", "6S3", "5T"], + dragonbreath: ["8L1", "7L29", "6L29", "6S2", "5L29"], + dragonclaw: ["8M", "7M", "6M", "5M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8L24", "7T", "7L57", "7S4", "6T", "6L57", "5T", "5L57", "5S0", "5S1"], + dragonrage: ["7L1", "6L1", "5L1"], + dragontail: ["7M", "6M", "5M"], + dualwingbeat: ["8T"], + earthpower: ["8M", "7T", "6T", "5T"], + echoedvoice: ["7M", "6M", "5M"], + endeavor: ["8L16", "7T", "7L71", "6T", "6L71", "5T", "5L71", "5S0"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fling: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + focusblast: ["8M", "7M", "6M", "5M"], + freezedry: ["8L1"], + frustration: ["7M", "6M", "5M"], + fusionflare: ["8L48", "8S5", "7L43", "7S4", "6L43", "6S2", "6S3", "5L50", "5S1"], + gigaimpact: ["8M", "7M", "6M", "5M"], + hail: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "6M", "5M"], + hypervoice: ["8M", "8L40", "8S5", "7T", "7L92", "6T", "6L92", "5T", "5L92"], + icebeam: ["8M", "8L32", "8S5", "7M", "7L22", "6M", "6L22", "5M", "5L22"], + iceburn: ["8L80", "7L50", "7S4", "6L50", "6S2", "6S3", "5L43", "5S0", "5S1"], + iciclespear: ["8M"], + icywind: ["8M", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + imprison: ["8M", "8L64", "7L64", "6L8", "5L8", "5S0", "5S1"], + ironhead: ["8M", "7T", "6T", "6S3", "5T"], + laserfocus: ["7T"], + lightscreen: ["8M", "7M", "6M", "5M"], + nobleroar: ["8L1", "7L64"], + outrage: ["8M", "8L72", "7T", "7L85", "6T", "6L85", "5T", "5L85"], + payback: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockslide: ["8M", "7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + rocktomb: ["8M", "7M", "6M", "5M"], + roost: ["7M", "6M", "5T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M"], + scaleshot: ["8T"], + scaryface: ["8M"], + secretpower: ["6M"], + shadowball: ["8M", "8S5", "7M", "6M", "5M"], + shadowclaw: ["8M", "7M", "6M", "5M"], + sheercold: ["8L88"], + signalbeam: ["7T", "6T", "5T"], + slash: ["8L8", "7L36", "7S4", "6L36", "6S2", "5L36"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + steelwing: ["8M", "7M", "6M"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + toxic: ["7M", "6M", "5M"], + weatherball: ["8M"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 75, shiny: 1, moves: ["iceburn", "dragonpulse", "imprison", "endeavor"]}, + {generation: 5, level: 70, shiny: 1, moves: ["fusionflare", "iceburn", "dragonpulse", "imprison"]}, + {generation: 6, level: 50, shiny: 1, moves: ["dragonbreath", "slash", "fusionflare", "iceburn"]}, + {generation: 6, level: 100, moves: ["iceburn", "fusionflare", "dracometeor", "ironhead"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["slash", "fusionflare", "iceburn", "dragonpulse"]}, + {generation: 8, level: 70, shiny: 1, moves: ["icebeam", "hypervoice", "shadowball", "fusionflare"]}, + ], + eventOnly: true, + }, + keldeo: { + learnset: { + aerialace: ["7M", "6M", "5M"], + airslash: ["8M"], + aquajet: ["8L1", "7L1", "6L1", "6S2", "6S3", "5L1", "5S0", "5S1"], + aquatail: ["8L35", "7T", "7L37", "6T", "6L37", "5T", "5L37"], + aurasphere: ["8M"], + bounce: ["8M", "7T", "6T", "5T"], + brickbreak: ["8M"], + bubblebeam: ["8L7", "7L1", "6L13", "6S3", "5L13", "5S0"], + calmmind: ["8M", "7M", "6M", "5M"], + closecombat: ["8M", "8L70", "7L73", "6L73", "5L73"], + coaching: ["8T"], + confide: ["7M", "6M"], + covet: ["7T", "6T", "5T"], + cut: ["6M", "5M"], + doublekick: ["8L21", "7L1", "6L7", "6S2", "6S3", "5L7", "5S0"], + doubleteam: ["7M", "6M", "5M"], + endeavor: ["7T", "6T", "5T"], + endure: ["8M"], + facade: ["8M", "7M", "6M", "5M"], + falseswipe: ["8M", "7M", "6M", "5M"], + flipturn: ["8T"], + focusblast: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["8M", "7M", "6M", "5M"], + hail: ["8M", "7M", "6M", "5M"], + helpinghand: ["8M", "8L1", "7T", "7L25", "6T", "6L25", "5T", "5L25"], + hiddenpower: ["7M", "6M", "5M"], + hydropump: ["8M", "8L63", "8S4", "7L67", "6L67", "6S2", "5L67", "5S1"], + hyperbeam: ["8M", "7M", "6M", "5M"], + icywind: ["8M", "7T", "6T", "5T"], + lastresort: ["7T", "6T", "5T"], + leer: ["8L1", "7L1", "6L1", "6S2", "6S3", "5L1", "5S0"], + liquidation: ["8M", "7T"], + lowkick: ["8M", "7T"], + megahorn: ["8M"], + muddywater: ["8M"], + poisonjab: ["8M", "7M", "6M", "5M"], + protect: ["8M", "7M", "6M", "5M"], + psychup: ["7M", "6M", "5M"], + quickguard: ["8L14", "7L55", "6L55", "5L55"], + raindance: ["8M", "7M", "6M", "5M"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + retaliate: ["8M", "8L28", "7L31", "6M", "6L31", "5M", "5L31"], + return: ["7M", "6M", "5M"], + revenge: ["8M"], + reversal: ["8M"], + roar: ["7M", "6M", "5M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + sacredsword: ["8L49", "8S4", "7L43", "6L43", "5L43", "5S1"], + safeguard: ["8M", "7M", "6M", "5M"], + scald: ["8M", "7M", "6M", "5M"], + secretpower: ["6M"], + secretsword: ["8L1", "8S4", "7T", "6T", "5T"], + sleeptalk: ["8M", "7M", "6M", "5T"], + smartstrike: ["8M"], + snore: ["8M", "7T", "6T", "5T"], + stoneedge: ["8M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + sunnyday: ["8M"], + superpower: ["8M", "7T", "6T", "5T"], + surf: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + swordsdance: ["8M", "8L56", "8S4", "7M", "7L49", "6M", "6L49", "5M", "5L49", "5S1"], + takedown: ["8L42", "7L19", "6L19", "5L19"], + taunt: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + waterpulse: ["7T", "6T"], + workup: ["8M", "8L1", "7M", "7L61", "6L61", "5M", "5L61"], + xscissor: ["8M", "7M", "6M", "5M"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["aquajet", "leer", "doublekick", "bubblebeam"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["sacredsword", "hydropump", "aquajet", "swordsdance"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["aquajet", "leer", "doublekick", "hydropump"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["aquajet", "leer", "doublekick", "bubblebeam"], pokeball: "cherishball"}, + {generation: 8, level: 65, moves: ["secretsword", "sacredsword", "swordsdance", "hydropump"]}, + ], + eventOnly: true, + }, + keldeoresolute: { + eventOnly: true, + }, + meloetta: { + learnset: { + acrobatics: ["9M", "9L26", "7M", "7L26", "6M", "6L26", "5M", "5L26"], + allyswitch: ["7T"], + batonpass: ["9M"], + brickbreak: ["9M", "7M", "6M", "5M"], + calmmind: ["9M", "7M", "6M", "5M"], + celebrate: ["7S3"], + chargebeam: ["7M", "6M", "5M"], + charm: ["9M"], + closecombat: ["9M", "9L78", "7L78", "7S2", "6L78", "5L78", "5S1"], + confide: ["7M", "6M"], + confusion: ["9L1", "7L1", "6L11", "5L11", "5S0"], + covet: ["7T", "6T", "5T"], + dazzlinggleam: ["9M", "7M", "6M"], + disarmingvoice: ["9M"], + doubleteam: ["7M", "6M", "5M"], + drainpunch: ["9M", "7T", "6T", "5T"], + dreameater: ["7M", "6M", "5M"], + dualchop: ["7T", "6T", "5T"], + echoedvoice: ["9L36", "7M", "7L36", "6M", "6L36", "5M", "5L36"], + embargo: ["7M", "6M", "5M"], + endure: ["9M"], + energyball: ["9M", "7M", "6M", "5M"], + facade: ["9M", "7M", "6M", "5M"], + faketears: ["9M"], + firepunch: ["9M", "7T", "6T", "5T"], + flash: ["6M", "5M"], + fling: ["9M", "7M", "6M", "5M"], + focusblast: ["9M", "7M", "6M", "5M"], + focuspunch: ["9M", "7T", "6T"], + frustration: ["7M", "6M", "5M"], + gigaimpact: ["9M", "7M", "6M", "5M"], + grassknot: ["9M", "7M", "6M", "5M"], + gravity: ["9M", "7T", "6T", "5T"], + healbell: ["7T", "6T", "5T"], + helpinghand: ["9M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["9M", "7M", "6M", "5M"], + hypervoice: ["9M", "9L64", "7T", "7L64", "6T", "6L64", "5T", "5L64"], + icepunch: ["9M", "7T", "6T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + laserfocus: ["7T"], + lastresort: ["7T", "6T", "5T"], + lightscreen: ["9M", "7M", "6M", "5M"], + lowkick: ["9M", "7T", "6T", "5T"], + lowsweep: ["9M", "7M", "6M", "5M"], + magiccoat: ["7T", "6T", "5T"], + magicroom: ["7T", "6T", "5T"], + metronome: ["9M"], + payback: ["7M", "6M", "5M"], + perishsong: ["9L85", "7L85", "6L85", "5L85"], + playrough: ["9M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M", "5M"], + psybeam: ["9M", "9L31", "7L31", "6L31", "5L31"], + psychic: ["9M", "9L57", "7M", "7L57", "7S2", "6M", "6L57", "5M", "5L57", "5S1"], + psychup: ["7M", "6M", "5M"], + psyshock: ["9M", "7M", "6M", "5M"], + quickattack: ["9L1", "7L1", "6L6", "5L6", "5S0"], + raindance: ["9M", "7M", "6M", "5M"], + recycle: ["7T", "6T", "5T"], + relicsong: ["9L50", "7T", "7S3", "6T", "5T"], + rest: ["9M", "7M", "6M", "5M"], + retaliate: ["6M", "5M"], + return: ["7M", "6M", "5M"], + reversal: ["9M"], + rocksmash: ["6M", "5M"], + roleplay: ["9L71", "7T", "7L71", "6T", "6L71", "5T", "5L71"], + round: ["9L1", "7M", "7L1", "7S3", "6M", "6L1", "5M", "5L1", "5S0", "5S1"], + safeguard: ["7M", "6M", "5M"], + secretpower: ["6M"], + shadowball: ["9M", "7M", "6M", "5M"], + shadowclaw: ["9M", "7M", "6M", "5M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T", "5T"], + sing: ["9L1", "7L1", "7S2", "7S3", "6L16", "5L16"], + skillswap: ["9M", "7T", "6T", "5T"], + sleeptalk: ["9M", "7M", "6M", "5T"], + snatch: ["7T", "6T", "5T"], + snore: ["7T", "6T", "5T"], + stoneedge: ["9M", "7M", "6M", "5M"], + strength: ["6M", "5M"], + substitute: ["9M", "7M", "6M", "5M"], + sunnyday: ["9M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["9M"], + swordsdance: ["9M"], + teeterdance: ["9L21", "7L21", "6L21", "5L21", "5S1"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thunder: ["9M", "7M", "6M", "5M"], + thunderbolt: ["9M", "7M", "6M", "5M"], + thunderpunch: ["9M", "7T", "6T", "5T"], + thunderwave: ["9M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + trick: ["9M", "7T", "6T", "5T"], + trickroom: ["9M", "7M", "6M", "5M"], + uproar: ["7T", "6T", "5T"], + uturn: ["9M", "9L43", "7M", "7L43", "6M", "6L43", "5M", "5L43"], + wakeupslap: ["7L50", "6L50", "5L50"], + wonderroom: ["7T", "6T", "5T"], + workup: ["7M", "5M"], + zenheadbutt: ["9M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["quickattack", "confusion", "round"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["round", "teeterdance", "psychic", "closecombat"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["sing", "psychic", "closecombat"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["sing", "celebrate", "round", "relicsong"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + genesect: { + learnset: { + aerialace: ["7M", "6M", "5M"], + allyswitch: ["8M", "7T"], + assurance: ["8M"], + blazekick: ["8M", "5S2"], + blizzard: ["8M", "7M", "6M", "5M"], + bugbite: ["7T", "6T", "5T"], + bugbuzz: ["8M", "8L56", "7L55", "6L55", "5L55"], + chargebeam: ["7M", "6M", "5M"], + confide: ["7M", "6M"], + darkpulse: ["8M", "7M", "6M", "5T"], + doubleteam: ["7M", "6M", "5M"], + electroweb: ["8M", "7T", "6T", "5T"], + endure: ["8M"], + energyball: ["8M", "7M", "6M", "5M"], + explosion: ["7M", "6M", "5M"], + extremespeed: ["5S2"], + facade: ["8M", "7M", "6M", "5M"], + fellstinger: ["8L21", "8S4", "7L1", "6L1"], + flamecharge: ["8L28", "7M", "7L18", "6M", "6L18", "5M", "5L18"], + flamethrower: ["8M", "7M", "6M", "5M"], + flash: ["6M", "5M"], + flashcannon: ["8M", "7M", "6M", "5M"], + fly: ["8M", "7M", "6M", "5M"], + frustration: ["7M", "6M", "5M"], + furycutter: ["8L1", "7L7", "6L7", "5L7"], + gigadrain: ["8M", "7T", "6T", "5T"], + gigaimpact: ["8M", "7M", "6M", "5M"], + gravity: ["7T", "6T", "5T"], + gunkshot: ["8M", "7T", "6T", "5T"], + hiddenpower: ["7M", "6M", "5M"], + honeclaws: ["6M", "5M"], + hyperbeam: ["8M", "7M", "7L73", "6M", "6L73", "5M", "5L73"], + icebeam: ["8M", "7M", "6M", "5M"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T", "5T"], + ironhead: ["8M", "7T", "6T", "5T"], + lastresort: ["7T", "6T", "5T"], + leechlife: ["8M"], + lightscreen: ["8M", "7M", "6M", "5M"], + lockon: ["8L77", "7L11", "6L11", "5L11"], + magiccoat: ["7T", "6T", "5T"], + magnetbomb: ["7L22", "6L22", "6S3", "5L22", "5S0", "5S1"], + magnetrise: ["8L49", "7T", "7L1", "6T", "6L1", "5T", "5L1"], + metalclaw: ["8L14", "8S4", "7L1", "6L1", "5L1"], + metalsound: ["8L35", "7L33", "6L33", "5L33"], + protect: ["8M", "7M", "6M", "5M"], + psychic: ["8M", "7M", "6M", "5M"], + quickattack: ["8L1", "7L1", "6L1", "5L1"], + recycle: ["7T", "6T", "5T"], + reflect: ["8M", "7M", "6M", "5M"], + rest: ["8M", "7M", "6M", "5M"], + return: ["7M", "6M", "5M"], + rockpolish: ["7M", "6M", "5M"], + round: ["8M", "7M", "6M", "5M"], + screech: ["8M", "8L7", "7L1", "6L1", "5L1"], + secretpower: ["6M"], + selfdestruct: ["8M", "8L91", "7L77", "6L77", "5L77"], + shadowclaw: ["8M", "7M", "6M", "5M"], + shiftgear: ["5S2"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "7L40", "6T", "6L40", "6S3", "5T", "5L40", "5S0", "5S1"], + simplebeam: ["8L63", "7L62", "6L62", "5L62"], + slash: ["7L29", "6L29", "5L29"], + sleeptalk: ["8M", "7M", "6M", "5T"], + snore: ["8M", "7T", "6T", "5T"], + solarbeam: ["8M", "7M", "6M", "6S3", "5M", "5S0", "5S1"], + steelbeam: ["8T"], + strugglebug: ["6M", "5M"], + substitute: ["8M", "7M", "6M", "5M"], + swagger: ["7M", "6M", "5M"], + swift: ["8M"], + technoblast: ["8L84", "8S4", "7L1", "6L1", "6S3", "5L1", "5S0", "5S1", "5S2"], + telekinesis: ["7T"], + thunder: ["8M", "7M", "6M", "5M"], + thunderbolt: ["8M", "7M", "6M", "5M"], + thunderwave: ["8M", "7M", "6M", "5M"], + toxic: ["7M", "6M", "5M"], + triattack: ["8M", "7L44", "6L44", "5L44"], + uturn: ["8M", "7M", "6M", "5M"], + xscissor: ["8M", "8L42", "8S4", "7M", "7L51", "6M", "6L51", "5M", "5L51"], + zapcannon: ["8L70", "7L66", "6L66", "5L66"], + zenheadbutt: ["8M", "7T", "6T", "5T"], + }, + eventData: [ + {generation: 5, level: 50, moves: ["technoblast", "magnetbomb", "solarbeam", "signalbeam"], pokeball: "cherishball"}, + {generation: 5, level: 15, moves: ["technoblast", "magnetbomb", "solarbeam", "signalbeam"], pokeball: "cherishball"}, + {generation: 5, level: 100, shiny: true, nature: "Hasty", ivs: {atk: 31, spe: 31}, moves: ["extremespeed", "technoblast", "blazekick", "shiftgear"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["technoblast", "magnetbomb", "solarbeam", "signalbeam"], pokeball: "cherishball"}, + {generation: 8, level: 60, moves: ["technoblast", "xscissor", "metalclaw", "fellstinger"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + genesectburn: { + eventOnly: true, + }, + genesectchill: { + eventOnly: true, + }, + genesectdouse: { + eventOnly: true, + }, + genesectshock: { + eventOnly: true, + }, + chespin: { + learnset: { + aerialace: ["9M", "7M", "6M"], + attract: ["7M", "6M"], + bellydrum: ["9E", "7E", "6E"], + bite: ["9L11", "7L11", "6L11"], + bodyslam: ["9M", "9L42", "7L42", "6L42"], + brickbreak: ["9M", "7M", "6M"], + bulkup: ["7M", "7L39", "6M", "6L39"], + bulldoze: ["9M", "7M", "6M"], + bulletseed: ["9M"], + confide: ["7M", "6M"], + curse: ["9E", "7E", "6E"], + cut: ["6M"], + defensecurl: ["7E", "6E"], + dig: ["9M", "6M"], + doubleteam: ["7M", "6M"], + drainpunch: ["9M", "7T", "6T"], + dualchop: ["7T", "6T"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + flash: ["6M"], + fling: ["9M", "7M", "6M"], + focuspunch: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + grassknot: ["9M", "7M", "6M"], + grasspledge: ["9M", "7T", "6T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L1", "7L1", "6L1"], + gyroball: ["7M", "6M"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + irondefense: ["7T", "6T"], + ironhead: ["9M", "7T", "6T"], + irontail: ["7T", "6T"], + leafstorm: ["9M"], + leechseed: ["9L15", "7L15", "6L15"], + lowkick: ["9M", "7T", "6T"], + lowsweep: ["7M", "6M"], + magicalleaf: ["9M"], + metalclaw: ["9M"], + mudshot: ["9M", "9L35", "7L35", "6L35"], + naturepower: ["7M", "6M"], + painsplit: ["9L45", "7T", "7L45", "6T", "6L45"], + payback: ["7M", "6M"], + pinmissile: ["9L18", "7L18", "6L18"], + poisonjab: ["9M", "7M", "6M"], + poweruppunch: ["7E", "6M"], + protect: ["9M", "7M", "6M"], + quickguard: ["9E", "7E", "6E"], + raindance: ["9M"], + reflect: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + retaliate: ["6M"], + return: ["7M", "6M"], + roar: ["9M", "7M", "6M"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "7M", "6M"], + rollout: ["9L8", "7L8", "7E", "6L8", "6E"], + round: ["7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "9L32", "7T", "7L32", "6T", "6L32"], + shadowclaw: ["9M", "7M", "6M"], + sleeptalk: ["9M", "7M", "6M"], + sludgebomb: ["7M", "6M"], + smackdown: ["7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + spikes: ["9M", "9E", "7E", "6E"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["7M", "6M"], + strength: ["6M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + superfang: ["9M", "9E", "7T", "6T"], + superpower: ["7T", "6T"], + swagger: ["7M", "6M"], + swift: ["9M"], + swordsdance: ["7M", "6M"], + synthesis: ["9E", "7T", "7E", "6T", "6E"], + tackle: ["6L1"], + takedown: ["9M", "9L27", "7L27", "6L27"], + taunt: ["7M", "6M"], + terablast: ["9M"], + thunderpunch: ["9M", "7T", "6T"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + vinewhip: ["9L1", "7L1", "6L5"], + wideguard: ["9E"], + woodhammer: ["9L48", "7L48", "6L48"], + workup: ["7M"], + worryseed: ["7T", "6T"], + zenheadbutt: ["9M", "7T", "6T"], + }, + }, + quilladin: { + learnset: { + aerialace: ["9M", "7M", "6M"], + attract: ["7M", "6M"], + bite: ["9L11", "7L11", "6L11"], + bodyslam: ["9M", "9L43", "7L48", "6L48"], + brickbreak: ["9M", "7M", "6M"], + bulkup: ["9M", "9L38", "7M", "7L44", "6M", "6L44"], + bulldoze: ["9M", "7M", "6M"], + bulletseed: ["9M"], + confide: ["7M", "6M"], + cut: ["6M"], + dig: ["9M", "6M"], + doubleteam: ["7M", "6M"], + drainpunch: ["9M", "7T", "6T"], + dualchop: ["7T", "6T"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + flash: ["6M"], + fling: ["9M", "7M", "6M"], + focuspunch: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + grassknot: ["9M", "7M", "6M"], + grasspledge: ["9M", "7T", "6T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L1", "7L1", "6L1"], + gyroball: ["9M", "7M", "6M"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + honeclaws: ["6M"], + irondefense: ["9M", "7T", "6T"], + ironhead: ["9M", "7T", "6T"], + irontail: ["7T", "6T"], + leafstorm: ["9M"], + leechseed: ["9L15", "7L15", "6L15"], + lowkick: ["9M", "7T", "6T"], + lowsweep: ["9M", "7M", "6M"], + magicalleaf: ["9M"], + metalclaw: ["9M"], + mudshot: ["9M", "9L34", "7L39", "6L39"], + naturepower: ["7M", "6M"], + needlearm: ["7L1", "6L26"], + painsplit: ["9L47", "7T", "7L52", "6T", "6L52"], + payback: ["7M", "6M"], + pinmissile: ["9L24", "7L19", "6L20"], + poisonjab: ["9M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + raindance: ["9M"], + reflect: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + retaliate: ["6M"], + return: ["7M", "6M"], + roar: ["9M", "7M", "6M"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "7M", "6M"], + rollout: ["9L8", "7L8", "6L8"], + round: ["7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "9L20", "7T", "7L35", "6T", "6L35"], + shadowclaw: ["9M", "7M", "6M"], + sleeptalk: ["9M", "7M", "6M"], + sludgebomb: ["7M", "6M"], + smackdown: ["7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + spikes: ["9M"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M"], + strength: ["6M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + superfang: ["9M", "7T", "6T"], + superpower: ["7T", "6T"], + swagger: ["7M", "6M"], + swift: ["9M"], + swordsdance: ["7M", "6M"], + synthesis: ["7T", "6T"], + tackle: ["6L1"], + takedown: ["9M", "9L29", "7L29", "6L30"], + taunt: ["9M", "7M", "6M"], + terablast: ["9M"], + thunderpunch: ["9M", "7T", "6T"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + vinewhip: ["9L1", "7L1", "6L5"], + woodhammer: ["9L53", "7L56", "6L55"], + workup: ["7M"], + worryseed: ["7T", "6T"], + zenheadbutt: ["9M", "7T", "6T"], + }, + }, + chesnaught: { + learnset: { + aerialace: ["9M", "7M", "6M"], + attract: ["7M", "6M"], + bellydrum: ["7L1", "6L1"], + bite: ["9L11", "7L11", "6L11"], + block: ["7T", "6T"], + bodypress: ["9M"], + bodyslam: ["9M", "9L54", "7L54", "6L48"], + brickbreak: ["9M", "7M", "6M"], + bulkup: ["9M", "9L48", "7M", "7L48", "6M", "6L44"], + bulldoze: ["9M", "7M", "6M"], + bulletseed: ["9M"], + closecombat: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M"], + cut: ["6M"], + dig: ["9M", "6M"], + doubleteam: ["7M", "6M"], + dragonclaw: ["9M", "7M", "6M"], + drainpunch: ["9M", "7T", "6T"], + dualchop: ["7T", "6T"], + earthquake: ["9M", "7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + feint: ["9L1", "7L1", "6L1"], + flash: ["6M"], + fling: ["9M", "7M", "6M"], + focusblast: ["9M", "7M", "6M"], + focuspunch: ["9M", "7T", "6T"], + frenzyplant: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + gigaimpact: ["9M", "9L78", "7M", "7L78", "6M", "6L70"], + grassknot: ["9M", "7M", "6M"], + grasspledge: ["9M", "7T", "6T"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L1", "7L1", "6L1"], + gyroball: ["9M", "7M", "6M"], + hammerarm: ["9L1", "7L1", "6L1"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + highhorsepower: ["9M"], + honeclaws: ["6M"], + hyperbeam: ["9M", "7M", "6M"], + irondefense: ["9M", "7T", "6T"], + ironhead: ["9M", "7T", "6T"], + irontail: ["7T", "6T"], + knockoff: ["9M"], + leafstorm: ["9M"], + leechseed: ["9L15", "7L15", "6L15"], + lowkick: ["9M", "7T", "6T"], + lowsweep: ["9M", "7M", "6M"], + magicalleaf: ["9M"], + metalclaw: ["9M"], + mudshot: ["9M", "9L41", "7L41", "6L41"], + mudslap: ["9M"], + naturepower: ["7M", "6M"], + needlearm: ["7L1", "6L26"], + painsplit: ["9L60", "7T", "7L60", "6T", "6L52"], + payback: ["7M", "6M"], + pinmissile: ["9L19", "7L19", "6L20"], + poisonjab: ["9M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + raindance: ["9M"], + reflect: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + retaliate: ["6M"], + return: ["7M", "6M"], + reversal: ["9M"], + roar: ["9M", "7M", "6M"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "7M", "6M"], + rollout: ["9L1", "7L1", "6L8"], + round: ["7M", "6M"], + scaryface: ["9M"], + secretpower: ["6M"], + seedbomb: ["9M", "9L35", "7T", "7L35", "6T", "6L35"], + shadowclaw: ["9M", "7M", "6M"], + sleeptalk: ["9M", "7M", "6M"], + sludgebomb: ["7M", "6M"], + smackdown: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + spikes: ["9M"], + spikyshield: ["9L0", "7L1", "6L36"], + stompingtantrum: ["9M", "7T"], + stoneedge: ["9M", "7M", "6M"], + strength: ["6M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + superfang: ["9M", "7T", "6T"], + superpower: ["7T", "6T"], + swagger: ["7M", "6M"], + swift: ["9M"], + swordsdance: ["9M", "7M", "6M"], + synthesis: ["7T", "6T"], + tackle: ["9L1", "7L1", "6L1"], + takedown: ["9M", "9L29", "7L29", "6L30"], + taunt: ["9M", "7M", "6M"], + terablast: ["9M"], + thunderpunch: ["9M", "7T", "6T"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + vinewhip: ["9L1", "7L1", "6L5"], + woodhammer: ["9L66", "7L66", "6L55"], + workup: ["7M"], + worryseed: ["7T", "6T"], + zenheadbutt: ["9M", "7T", "6T"], + }, + }, + fennekin: { + learnset: { + agility: ["9M"], + attract: ["7M", "6M"], + burningjealousy: ["9M"], + calmmind: ["9M"], + charm: ["9M"], + confide: ["7M", "6M"], + copycat: ["9E"], + covet: ["7T", "6T"], + cut: ["6M"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + echoedvoice: ["7M", "6M"], + embargo: ["7M", "6M"], + ember: ["9L5", "7L5", "6L5"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M", "7M", "6M"], + fireblast: ["9M", "9L48", "7M", "7L48", "6M", "6L48"], + firepledge: ["9M", "7T", "6T"], + firespin: ["9M", "9L20", "7L20", "6L20"], + flamecharge: ["9M", "9L14", "7M", "7L14", "6M", "6L14"], + flamethrower: ["9M", "9L35", "7M", "7L35", "6M", "6L35", "6S0"], + flareblitz: ["9M"], + foulplay: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + grassknot: ["9M", "7M", "6M"], + heatwave: ["9M", "9E", "7T", "7E", "6T", "6E"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M", "6S0"], + howl: ["9L11", "7L11", "6L11"], + hypnosis: ["9E", "7E", "6E"], + imprison: ["9M"], + incinerate: ["6M"], + irontail: ["7T", "6T"], + lightscreen: ["9M", "9L25", "7M", "7L27", "6M", "6L27"], + luckychant: ["7L25", "6L25"], + magiccoat: ["7T", "7E", "6T", "6E"], + magicroom: ["9E", "7T", "7L46", "6T", "6L46"], + mudshot: ["9M"], + mudslap: ["9M"], + overheat: ["9M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + psybeam: ["9M", "9L17", "7L17", "6L17"], + psychic: ["9M", "9L41", "7M", "7L41", "6M", "6L41"], + psychicterrain: ["9M", "7E"], + psychup: ["7M", "6M"], + psyshock: ["9M", "9L31", "7M", "7L31", "6M", "6L31"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["7M", "6M"], + scratch: ["9L1", "7L1", "6L1", "6S0"], + secretpower: ["6M"], + skillswap: ["9M"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "9L43", "7M", "7L43", "6M", "6L43"], + swagger: ["7M", "6M"], + swift: ["9M"], + tailwhip: ["9L1", "7L1", "6L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + toxic: ["7M", "6M"], + trick: ["9M"], + trickroom: ["9M"], + willowisp: ["9M", "9L38", "7M", "7L38", "6M", "6L38"], + wish: ["9E", "7E", "6E"], + workup: ["7M"], + }, + eventData: [ + {generation: 6, level: 15, gender: "F", nature: "Hardy", moves: ["scratch", "flamethrower", "hiddenpower"], pokeball: "cherishball"}, + ], + }, + braixen: { + learnset: { + agility: ["9M"], + allyswitch: ["7T"], + attract: ["7M", "6M"], + burningjealousy: ["9M"], + calmmind: ["9M"], + charm: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + cut: ["6M"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + echoedvoice: ["7M", "6M"], + embargo: ["7M", "6M"], + ember: ["9L1", "7L1", "6L5"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M", "7M", "6M"], + fireblast: ["9M", "9L59", "7M", "7L59", "6M", "6L55"], + firepledge: ["9M", "7T", "6T"], + firepunch: ["9M", "7T", "6T"], + firespin: ["9M", "9L22", "7L22", "6L22"], + flamecharge: ["9M", "9L14", "7M", "7L14", "6M", "6L14"], + flamethrower: ["9M", "9L41", "7M", "7L41", "6M", "6L41"], + flareblitz: ["9M"], + foulplay: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + grassknot: ["9M", "7M", "6M"], + heatwave: ["9M", "7T", "6T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M"], + howl: ["9L11", "7L11", "6L11"], + imprison: ["9M"], + incinerate: ["6M"], + irontail: ["7T", "6T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L28", "7M", "7L31", "6M", "6L30"], + lowkick: ["9M", "7T", "6T"], + luckychant: ["7L28", "6L27"], + magiccoat: ["7T", "6T"], + magicroom: ["9L56", "7T", "7L56", "6T", "6L53"], + mudshot: ["9M"], + mudslap: ["9M"], + overheat: ["9M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + psybeam: ["9M", "9L18", "7L18", "6L18"], + psychic: ["9M", "9L49", "7M", "7L49", "6M", "6L48"], + psychicterrain: ["9M"], + psychup: ["7M", "6M"], + psyshock: ["9M", "9L36", "7M", "7L36", "6M", "6L34"], + raindance: ["9M", "7M", "6M"], + recycle: ["7T", "6T"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["7M", "6M"], + scratch: ["9L1", "7L1", "6L1"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + skillswap: ["9M", "7T", "6T"], + sleeptalk: ["9M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "9L52", "7M", "7L52", "6M", "6L51"], + swagger: ["7M", "6M"], + swift: ["9M"], + tailwhip: ["9L1", "7L1", "6L1"], + takedown: ["9M"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + thunderpunch: ["9M", "7T", "6T"], + toxic: ["7M", "6M"], + trick: ["9M", "7T", "6T"], + trickroom: ["9M"], + willowisp: ["9M", "9L45", "7M", "7L45", "6M", "6L45"], + wonderroom: ["7T", "6T"], + workup: ["7M"], + zenheadbutt: ["9M", "7T", "6T"], + }, + }, + delphox: { + learnset: { + agility: ["9M"], + allyswitch: ["7T"], + attract: ["7M", "6M"], + blastburn: ["9M", "7T", "6T"], + burningjealousy: ["9M"], + calmmind: ["9M", "7M", "6M"], + charm: ["9M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + covet: ["7T", "6T"], + cut: ["6M"], + dazzlinggleam: ["9M", "7M", "6M"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + echoedvoice: ["7M", "6M"], + embargo: ["7M", "6M"], + ember: ["9L1", "7L1", "6L5"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M", "7M", "6M"], + fireblast: ["9M", "9L74", "7M", "7L74", "6M", "6L61"], + firepledge: ["9M", "7T", "6T"], + firepunch: ["9M", "7T", "6T"], + firespin: ["9M", "9L22", "7L22", "6L22"], + flamecharge: ["9M", "9L14", "7M", "7L14", "6M", "6L14"], + flamethrower: ["9M", "9L45", "7M", "7L45", "6M", "6L42"], + flareblitz: ["9M"], + focusblast: ["9M"], + foulplay: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + futuresight: ["9L1", "7L1", "6L1"], + gigaimpact: ["9M", "7M", "6M"], + grassknot: ["9M", "7M", "6M"], + heatwave: ["9M", "7T", "6T"], + helpinghand: ["9M"], + hex: ["9M"], + hiddenpower: ["7M", "6M"], + howl: ["9L1", "7L1", "6L11"], + hyperbeam: ["9M", "7M", "6M"], + hypervoice: ["9M"], + imprison: ["9M"], + incinerate: ["6M"], + irontail: ["7T", "6T"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L28", "7M", "7L31", "6M", "6L30"], + lowkick: ["9M", "7T", "6T"], + luckychant: ["7L28", "6L27"], + magiccoat: ["7T", "6T"], + magicroom: ["9L68", "7T", "7L68", "6T", "6L58"], + metronome: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + mysticalfire: ["9L0", "7L1", "6L36"], + nastyplot: ["9M"], + nightshade: ["9M"], + overheat: ["9M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + psybeam: ["9M", "9L18", "7L18", "6L18"], + psychic: ["9M", "9L57", "7M", "7L57", "6M", "6L51"], + psychicterrain: ["9M"], + psychup: ["7M", "6M"], + psyshock: ["9M", "9L38", "7M", "7L38", "6M", "6L34"], + raindance: ["9M", "7M", "6M"], + recycle: ["7T", "6T"], + reflect: ["9M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + roleplay: ["9L1", "7T", "7L1", "6T", "6L1"], + round: ["7M", "6M"], + safeguard: ["7M", "6M"], + scratch: ["9L1", "7L1", "6L1"], + secretpower: ["6M"], + shadowball: ["9M", "9L1", "7M", "7L1", "6M", "6L1"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T"], + skillswap: ["9M", "7T", "6T"], + sleeptalk: ["9M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "9L62", "7M", "7L62", "6M", "6L55"], + swagger: ["7M", "6M"], + swift: ["9M"], + switcheroo: ["9L1", "7L1", "6L1"], + tailwhip: ["9L1", "7L1", "6L1"], + takedown: ["9M"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + thunderpunch: ["9M", "7T", "6T"], + toxic: ["7M", "6M"], + trick: ["9M", "7T", "6T"], + trickroom: ["9M", "7M", "6M"], + willowisp: ["9M", "9L51", "7M", "7L51", "6M", "6L47"], + wonderroom: ["7T", "6T"], + workup: ["7M"], + zenheadbutt: ["9M", "7T", "6T"], + }, + }, + froakie: { + learnset: { + acrobatics: ["9M", "7M", "6M"], + aerialace: ["9M", "7M", "6M"], + attract: ["7M", "6M"], + bestow: ["7E", "6E"], + blizzard: ["9M", "7M", "6M"], + bounce: ["9L39", "7T", "7L39", "6T", "6L39"], + bubble: ["7L5", "6L5", "6S0"], + camouflage: ["7E", "6E"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["9E"], + cut: ["6M"], + dig: ["9M", "6M"], + dive: ["6M"], + doubleteam: ["9L43", "7M", "7L43", "6M", "6L43"], + echoedvoice: ["7M", "6M"], + endure: ["9M"], + facade: ["9M", "7M", "6M"], + falseswipe: ["9M"], + fling: ["9M", "9L25", "7M", "7L25", "6M", "6L25"], + frustration: ["7M", "6M"], + grassknot: ["9M", "7M", "6M"], + growl: ["9L1", "7L1", "6L1", "6S0"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M"], + hydropump: ["9M", "9L48", "7L48", "6L48"], + icebeam: ["9M", "7M", "6M"], + icywind: ["9M", "7T", "6T"], + lick: ["9L10", "7L10", "6L10"], + liquidation: ["9M"], + mindreader: ["7E", "6E"], + mudshot: ["9M"], + mudslap: ["9M"], + mudsport: ["7E", "6E"], + pound: ["9L1", "7L1", "6L1", "6S0"], + poweruppunch: ["7E", "6M"], + protect: ["9M", "7M", "6M"], + quickattack: ["9L8", "7L8", "6L8"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + retaliate: ["9E"], + return: ["7M", "6M", "6S0"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "7M", "6M"], + roleplay: ["7T", "6T"], + round: ["9L21", "7M", "7L21", "6M", "6L21"], + scald: ["7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "7M", "6M"], + smackdown: ["9M", "9L29", "7M", "7L29", "6M", "6L29"], + smokescreen: ["9L18", "7L18", "6L18"], + snatch: ["7T", "6T"], + snore: ["7T", "6T"], + snowscape: ["9M"], + spikes: ["9M", "9E"], + spite: ["7T", "6T"], + strength: ["6M"], + substitute: ["9M", "9L35", "7M", "7L35", "6M", "6L35"], + surf: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + switcheroo: ["9E"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + toxic: ["7M", "6M"], + toxicspikes: ["9M", "9E", "7E", "6E"], + trailblaze: ["9M"], + uturn: ["9M", "7M", "6M"], + waterfall: ["9M", "7M", "6M"], + watergun: ["9L5"], + waterpledge: ["9M", "7T", "6T"], + waterpulse: ["9M", "9L14", "7T", "7L14", "6T", "6L14"], + watersport: ["7E", "6E"], + workup: ["7M"], + }, + eventData: [ + {generation: 6, level: 7, moves: ["pound", "growl", "bubble", "return"], pokeball: "cherishball"}, + ], + }, + frogadier: { + learnset: { + acrobatics: ["9M", "7M", "6M"], + aerialace: ["9M", "7M", "6M"], + attract: ["7M", "6M"], + blizzard: ["9M", "7M", "6M"], + bounce: ["9L45", "7T", "7L45", "6T", "6L44"], + bubble: ["7L1", "6L5"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + cut: ["6M"], + darkpulse: ["7M", "6M"], + dig: ["9M", "6M"], + dive: ["6M"], + doubleteam: ["9L50", "7M", "7L50", "6M", "6L48"], + echoedvoice: ["7M", "6M"], + endure: ["9M"], + facade: ["9M", "7M", "6M"], + falseswipe: ["9M"], + fling: ["9M", "9L28", "7M", "7L28", "6M", "6L28"], + frustration: ["7M", "6M"], + grassknot: ["9M", "7M", "6M"], + growl: ["9L1", "7L1", "6L1"], + gunkshot: ["9M", "7T", "6T"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M"], + hydropump: ["9M", "9L56", "7L56", "6L55"], + icebeam: ["9M", "7M", "6M"], + icepunch: ["9M", "7T", "6T"], + icywind: ["9M", "7T", "6T"], + lick: ["9L10", "7L10", "6L10"], + liquidation: ["9M"], + lowkick: ["9M", "7T", "6T"], + mudshot: ["9M"], + mudslap: ["9M"], + pound: ["9L1", "7L1", "6L1"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + quickattack: ["9L8", "7L8", "6L8"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "7M", "6M"], + roleplay: ["7T", "6T"], + round: ["9L23", "7M", "7L23", "6M", "6L23"], + scald: ["7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "7M", "6M"], + smackdown: ["9M", "9L33", "7M", "7L33", "6M", "6L33"], + smokescreen: ["9L19", "7L19", "6L20"], + snatch: ["7T", "6T"], + snore: ["7T", "6T"], + snowscape: ["9M"], + spikes: ["9M"], + spite: ["7T", "6T"], + strength: ["6M"], + substitute: ["9M", "9L40", "7M", "7L40", "6M", "6L38"], + surf: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + toxic: ["7M", "6M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "7M", "6M"], + waterfall: ["9M", "7M", "6M"], + watergun: ["9L1"], + waterpledge: ["9M", "7T", "6T"], + waterpulse: ["9M", "9L14", "7T", "7L14", "6T", "6L14"], + workup: ["7M"], + }, + }, + greninja: { + learnset: { + acrobatics: ["9M", "7M", "6M"], + aerialace: ["9M", "9L33", "7M", "6M"], + attract: ["7M", "6M"], + blizzard: ["9M", "7M", "6M"], + bounce: ["7T", "6T"], + brickbreak: ["9M"], + brutalswing: ["7M"], + bubble: ["7L1", "6L5"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + cut: ["6M"], + darkpulse: ["9M", "7M", "6M"], + dig: ["9M", "6M"], + dive: ["6M"], + doubleteam: ["9L56", "7M", "7L56", "6M", "6L52"], + echoedvoice: ["7M", "6M"], + endure: ["9M"], + extrasensory: ["9L49", "7L49", "6L49"], + facade: ["9M", "7M", "6M"], + falseswipe: ["9M"], + feintattack: ["7L33", "6L33"], + fling: ["9M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "7M", "6M"], + grassknot: ["9M", "7M", "6M"], + growl: ["9L1", "7L1", "6L1"], + gunkshot: ["9M", "7T", "6T", "6S1"], + happyhour: ["6S1"], + haze: ["9M", "9L1", "7L1", "6L56"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M"], + hydrocannon: ["9M", "7T", "6T", "6S1"], + hydropump: ["9M", "9L68", "7L68", "6L60", "6S0"], + hyperbeam: ["9M", "7M", "6M"], + icebeam: ["9M", "7M", "6M"], + icepunch: ["9M", "7T", "6T"], + icywind: ["9M", "7T", "6T"], + lick: ["9L10", "7L10", "6L10"], + liquidation: ["9M"], + lowkick: ["9M", "7T", "6T"], + lowsweep: ["9M"], + matblock: ["7L1", "6L1", "6S1"], + mudshot: ["9M"], + mudslap: ["9M"], + nightslash: ["9L1", "7L1", "6L1"], + pound: ["9L1", "7L1", "6L1"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + quickattack: ["9L1", "7L1", "6L8"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "7M", "6M"], + roleplay: ["9L1", "7T", "7L1", "6T", "6L1"], + round: ["7M", "6M"], + scald: ["7M", "6M"], + secretpower: ["6M"], + shadowsneak: ["9L23", "7L23", "6L23", "6S0"], + sleeptalk: ["9M", "7M", "6M"], + smackdown: ["9M", "7M", "6M"], + smokescreen: ["9L19", "7L19", "6L20"], + snatch: ["7T", "6T"], + snore: ["7T", "6T"], + snowscape: ["9M"], + spikes: ["9M", "9L28", "7L28", "6L28"], + spite: ["7T", "6T"], + strength: ["6M"], + substitute: ["9M", "9L42", "7M", "7L42", "6M", "6L43", "6S0"], + surf: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + toxic: ["7M", "6M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "7M", "6M"], + waterfall: ["9M", "7M", "6M"], + watergun: ["9L1"], + waterpledge: ["9M", "7T", "6T"], + waterpulse: ["9M", "9L14", "7T", "7L14", "6T", "6L14"], + watershuriken: ["9L0", "7L1", "6L36", "6S0"], + weatherball: ["9M"], + workup: ["7M"], + }, + eventData: [ + {generation: 6, level: 36, ivs: {spe: 31}, isHidden: true, moves: ["watershuriken", "shadowsneak", "hydropump", "substitute"], pokeball: "cherishball"}, + {generation: 6, level: 100, isHidden: true, moves: ["hydrocannon", "gunkshot", "matblock", "happyhour"], pokeball: "cherishball"}, + ], + }, + greninjabond: { + learnset: { + acrobatics: ["9M", "7M"], + aerialace: ["9M", "9L33", "7M", "7S0"], + attract: ["7M"], + blizzard: ["9M", "7M"], + bounce: ["7T"], + brickbreak: ["9M"], + brutalswing: ["7M"], + bubble: ["7L1"], + chillingwater: ["9M"], + confide: ["7M"], + counter: ["9E"], + darkpulse: ["9M", "7M"], + dig: ["9M"], + doubleteam: ["9L56", "7M", "7L56", "7S0"], + echoedvoice: ["7M"], + endure: ["9M"], + extrasensory: ["9L49", "7L49"], + facade: ["9M", "7M"], + falseswipe: ["9M"], + feintattack: ["7L33"], + fling: ["9M", "7M"], + frustration: ["7M"], + gigaimpact: ["9M", "7M"], + grassknot: ["9M", "7M"], + growl: ["9L1", "7L1"], + gunkshot: ["9M", "7T"], + haze: ["9M", "9L1", "7L1"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + hydrocannon: ["9M", "7T"], + hydropump: ["9M", "9L68", "7L68"], + hyperbeam: ["9M", "7M"], + icebeam: ["9M", "7M"], + icepunch: ["9M", "7T"], + icywind: ["9M", "7T"], + lick: ["9L10", "7L10"], + liquidation: ["9M"], + lowkick: ["9M", "7T"], + lowsweep: ["9M"], + matblock: ["7L1"], + mudshot: ["9M"], + mudslap: ["9M"], + nightslash: ["9L1", "7L1", "7S0"], + pound: ["9L1", "7L1"], + protect: ["9M", "7M"], + quickattack: ["9L1", "7L1"], + raindance: ["9M", "7M"], + rest: ["9M", "7M"], + retaliate: ["9E"], + return: ["7M"], + rockslide: ["9M", "7M"], + rocktomb: ["9M", "7M"], + roleplay: ["9L1", "7T", "7L1"], + round: ["7M"], + scald: ["7M"], + shadowsneak: ["9L23", "7L23"], + sleeptalk: ["9M", "7M"], + smackdown: ["9M", "7M"], + smokescreen: ["9L19", "7L19"], + snatch: ["7T"], + snore: ["7T"], + snowscape: ["9M"], + spikes: ["9M", "9L28", "9E", "7L28"], + spite: ["7T"], + substitute: ["9M", "9L42", "7M", "7L42"], + surf: ["9M", "7M"], + swagger: ["7M"], + swift: ["9M"], + switcheroo: ["9E"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "7M"], + terablast: ["9M"], + thief: ["9M", "7M"], + toxic: ["7M"], + toxicspikes: ["9M", "9E"], + trailblaze: ["9M"], + uturn: ["9M", "7M"], + waterfall: ["9M", "7M"], + watergun: ["9L1"], + waterpledge: ["9M", "7T"], + waterpulse: ["9M", "9L14", "7T", "7L14"], + watershuriken: ["9L0", "7L1", "7S0"], + weatherball: ["9M"], + workup: ["7M"], + }, + eventData: [ + {generation: 7, level: 36, ivs: {hp: 20, atk: 31, def: 20, spa: 31, spd: 20, spe: 31}, moves: ["watershuriken", "aerialace", "doubleteam", "nightslash"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + bunnelby: { + learnset: { + agility: ["8M", "7L1", "6L1"], + attract: ["8M", "7M", "6M"], + bounce: ["8M", "8L27", "7T", "7L38", "6T", "6L38"], + brickbreak: ["8M", "7M", "6M"], + bulkup: ["8M", "7M", "6M"], + bulldoze: ["8M", "8L21", "7M", "6M"], + confide: ["7M", "6M"], + cut: ["6M"], + defensecurl: ["8E", "7E", "6E"], + dig: ["8M", "8L24", "7L33", "6M", "6L33"], + doublekick: ["8L18", "7L20", "6L20"], + doubleslap: ["7L10", "6L10"], + doubleteam: ["7M", "6M"], + earthquake: ["8M", "8L36", "7M", "7L49", "6M", "6L49"], + endeavor: ["7T", "6T"], + endure: ["8M"], + facade: ["8M", "7M", "7L47", "6M", "6L47"], + flail: ["8L15", "7L29", "6L29"], + fling: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + grassknot: ["8M", "7M", "6M"], + hiddenpower: ["7M", "6M"], + ironhead: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + laserfocus: ["8L6"], + lastresort: ["7T", "6T"], + leer: ["8L1", "7L1", "6L1"], + mudshot: ["8M", "8L12", "7L18", "6L18"], + mudslap: ["8L1", "7L13", "6L13"], + naturepower: ["7M", "6M"], + odorsleuth: ["7L25", "6L25"], + payback: ["8M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + quickattack: ["8L9", "7L7", "6L7"], + recycle: ["7T", "6T"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["8M", "7M", "6M"], + rollout: ["8E", "7E", "6E"], + round: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + smackdown: ["7M", "6M"], + snore: ["8M", "7T", "6T"], + spikes: ["8M", "7E", "6E"], + stoneedge: ["8M", "7M", "6M"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + superfang: ["8L39", "7T", "7L42", "6T", "6L42"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "8L33"], + tackle: ["8L3", "7L1", "6L1"], + takedown: ["8L30", "7L15", "6L15"], + thief: ["8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["8M", "7M", "6M"], + wildcharge: ["8M", "7M", "6M"], + workup: ["8M", "7M"], + }, + }, + diggersby: { + learnset: { + agility: ["8M", "7L1", "6L1"], + attract: ["8M", "7M", "6M"], + bodyslam: ["8M"], + bounce: ["8M", "8L33", "7T", "7L43", "6T", "6L42"], + brickbreak: ["8M", "7M", "6M"], + brutalswing: ["8M", "7M"], + bulkup: ["8M", "7M", "6M"], + bulldoze: ["8M", "8L23", "7M", "7L1", "6M", "6L1"], + confide: ["7M", "6M"], + cut: ["6M"], + dig: ["8M", "8L28", "7L37", "6M", "6L37"], + doublekick: ["8L18", "7L21", "6L20"], + doubleslap: ["7L13"], + doubleteam: ["7M", "6M"], + earthpower: ["8M", "7T", "6T"], + earthquake: ["8M", "8L48", "7M", "7L57", "6M", "6L57"], + endeavor: ["7T", "6T"], + endure: ["8M"], + facade: ["8M", "7M", "7L54", "6M", "6L53"], + firepunch: ["8M", "7T", "6T"], + flail: ["8L15", "7L32", "6L31"], + fling: ["8M", "7M", "6M"], + focuspunch: ["7T", "6T"], + foulplay: ["8M", "7T", "6T"], + frustration: ["7M", "6M"], + gastroacid: ["7T", "6T"], + gigaimpact: ["8M", "7M", "6M"], + grassknot: ["8M", "7M", "6M"], + gunkshot: ["8M", "7T", "6T"], + hammerarm: ["8L58", "7L1", "6L1"], + hiddenpower: ["7M", "6M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "7M", "6M"], + icepunch: ["8M", "7T", "6T"], + ironhead: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + knockoff: ["7T", "6T"], + laserfocus: ["8L1"], + lastresort: ["7T", "6T"], + leer: ["8L1", "7L1", "6L1"], + lowkick: ["8M", "7T", "6T"], + megakick: ["8M"], + megapunch: ["8M"], + mudshot: ["8M", "8L12", "7L18", "6L18"], + mudslap: ["8L1", "7L13", "6L13"], + naturepower: ["7M", "6M"], + odorsleuth: ["7L27", "6L26"], + payback: ["8M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + quickattack: ["8L9", "7L7", "6L7"], + recycle: ["7T", "6T"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["8M", "7M", "6M"], + rototiller: ["7L1", "6L1"], + round: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + sandtomb: ["8M"], + scorchingsands: ["8T"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + smackdown: ["7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + spikes: ["8M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + superfang: ["8L53", "7T", "7L48", "6T", "6L48"], + superpower: ["8M", "7T", "6T"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "8L43", "7M", "7L1", "6M", "6L1"], + tackle: ["8L1", "7L1", "6L1"], + takedown: ["8L38", "7L15", "6L15"], + thief: ["8M", "7M", "6M"], + thunderpunch: ["8M", "7T", "6T"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["8M", "7T", "6T"], + uturn: ["8M", "7M", "6M"], + wildcharge: ["8M", "7M", "6M"], + workup: ["8M", "7M"], + }, + }, + fletchling: { + learnset: { + acrobatics: ["9M", "9L20", "8M", "8L20", "7M", "7L39", "6M", "6L39"], + aerialace: ["9M", "9L30", "8L30", "7M", "6M"], + agility: ["9M", "9L25", "8M", "8L25", "7L13", "6L13"], + aircutter: ["9M"], + airslash: ["9M"], + attract: ["8M", "7M", "6M"], + bravebird: ["9M"], + confide: ["7M", "6M"], + defog: ["9E", "8E", "7T"], + doubleteam: ["7M", "6M"], + dualwingbeat: ["9M", "8T"], + ember: ["9L10", "8L10"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flail: ["9L15", "8L15", "7L16", "6L16"], + flamecharge: ["9M", "9E", "8E", "7M", "7L34", "6M", "6L34"], + flareblitz: ["9M"], + fly: ["9M", "9L50", "8M", "8L50", "7M", "6M"], + frustration: ["7M", "6M"], + growl: ["9L1", "8L1", "7L1", "6L1"], + heatwave: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hurricane: ["9M"], + mefirst: ["7L41", "6L41"], + naturalgift: ["7L29", "6L29"], + overheat: ["9M", "8M", "7M", "6M"], + peck: ["9L1", "8L1", "7L10", "6L10"], + protect: ["9M", "8M", "7M", "6M"], + quickattack: ["9L5", "8L5", "7L6", "6L6"], + quickguard: ["9E", "8E", "7E", "6E"], + raindance: ["9M"], + razorwind: ["7L25", "6L25"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["9L45", "8L45", "7M", "7L21", "6M", "6L21"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snatch: ["7T", "7E", "6T", "6E"], + snore: ["8M", "7T", "6T"], + steelwing: ["9L40", "8M", "8L40", "7M", "7L48", "6M", "6L48"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "6M"], + tackle: ["7L1", "6L1"], + tailwind: ["9M", "9L35", "8L35", "7T", "7L45", "7E", "6T", "6L45", "6E"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["9M", "8M", "7M", "6M"], + willowisp: ["8M"], + workup: ["8M", "7M"], + }, + }, + fletchinder: { + learnset: { + acrobatics: ["9M", "9L22", "8M", "8L22", "7M", "7L42", "6M", "6L42"], + aerialace: ["9M", "9L36", "8L36", "7M", "6M"], + agility: ["9M", "9L29", "8M", "8L29", "7L13", "6L13"], + aircutter: ["9M"], + airslash: ["9M"], + attract: ["8M", "7M", "6M"], + bravebird: ["9M"], + confide: ["7M", "6M"], + defog: ["7T"], + doubleteam: ["7M", "6M"], + dualwingbeat: ["9M", "8T"], + ember: ["9L1", "8L1", "7L1", "6L17"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + feint: ["9L1", "8L1"], + fireblast: ["9M", "8M", "7M", "6M"], + firespin: ["9M", "8M"], + flail: ["9L15", "8L15", "7L16", "6L16"], + flamecharge: ["9M", "9L0", "8L0", "7M", "7L38", "6M", "6L38"], + flamethrower: ["9M", "8M", "7M", "6M"], + flareblitz: ["9M"], + fly: ["9M", "9L64", "8M", "8L64", "7M", "6M"], + frustration: ["7M", "6M"], + growl: ["9L1", "8L1", "7L1", "6L1"], + heatwave: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hurricane: ["9M"], + incinerate: ["6M"], + mefirst: ["7L46", "6L46"], + naturalgift: ["7L31", "6L31"], + overheat: ["9M", "8M", "7M", "6M"], + peck: ["9L1", "8L1", "7L10", "6L10"], + protect: ["9M", "8M", "7M", "6M"], + quickattack: ["9L1", "8L1", "7L1", "6L6"], + raindance: ["9M"], + razorwind: ["7L27", "6L27"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["9L57", "8L57", "7M", "7L25", "6M", "6L25"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + steelwing: ["9L50", "8M", "8L50", "7M", "7L55", "6M", "6L55"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "6M"], + tackle: ["7L1", "6L1"], + tailwind: ["9M", "9L43", "8L43", "7T", "7L51", "6T", "6L51"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["9M", "8M", "7M", "6M"], + willowisp: ["9M", "8M", "7M", "6M"], + workup: ["8M", "7M"], + }, + encounters: [ + {generation: 7, level: 16}, + ], + }, + talonflame: { + learnset: { + acrobatics: ["9M", "9L22", "8M", "8L22", "7M", "7L44", "6M", "6L44"], + aerialace: ["9M", "9L38", "8L38", "7M", "6M"], + agility: ["9M", "9L29", "8M", "8L29", "7L13", "6L13"], + aircutter: ["9M"], + airslash: ["9M"], + attract: ["8M", "7M", "6M"], + bravebird: ["9M", "9L83", "8M", "8L83", "7L1", "6L1"], + bulkup: ["9M", "8M", "7M", "6M"], + confide: ["7M", "6M"], + defog: ["7T"], + doubleteam: ["7M", "6M"], + dualwingbeat: ["9M", "8T"], + ember: ["9L1", "8L1", "7L1", "6L17"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + feint: ["9L1", "8L1"], + fireblast: ["9M", "8M", "7M", "6M"], + firespin: ["9M", "8M"], + flail: ["9L15", "8L15", "7L16", "6L16"], + flamecharge: ["9M", "9L1", "8L1", "7M", "7L39", "6M", "6L39"], + flamethrower: ["9M", "8M", "7M", "6M"], + flareblitz: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + fly: ["9M", "9L74", "8M", "8L74", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + growl: ["9L1", "8L1", "7L1", "6L1"], + heatwave: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + honeclaws: ["6M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + incinerate: ["6M"], + mefirst: ["7L49", "6L49"], + naturalgift: ["7L31", "6L31"], + overheat: ["9M", "8M", "7M", "6M"], + peck: ["9L1", "8L1", "7L1", "6L10"], + protect: ["9M", "8M", "7M", "6M"], + quickattack: ["9L1", "8L1", "7L1", "6L6"], + raindance: ["9M"], + razorwind: ["7L27", "6L27"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["9L65", "8L65", "7M", "7L25", "6M", "6L25"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + solarbeam: ["9M", "8M", "7M", "6M"], + steelwing: ["9L56", "8M", "8L56", "7M", "7L60", "6M", "6L60"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "6M"], + tackle: ["7L1", "6L1"], + tailwind: ["9M", "9L47", "8L47", "7T", "7L55", "6T", "6L55"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["9M", "8M", "7M", "6M"], + willowisp: ["9M", "8M", "7M", "6M"], + workup: ["8M", "7M"], + }, + }, + scatterbug: { + learnset: { + bugbite: ["9M", "9L15", "7T", "7L15", "6T", "6L15"], + poisonpowder: ["9E", "7E", "6E"], + pounce: ["9M"], + ragepowder: ["9E", "7E", "6E"], + stringshot: ["9L1", "7L1", "6L1"], + strugglebug: ["9M"], + stunspore: ["9L6", "7L6", "7E", "6L6", "6E"], + tackle: ["9L1", "7L1", "6L1"], + terablast: ["9M"], + }, + }, + spewpa: { + learnset: { + bugbite: ["9M", "7T", "6T"], + electroweb: ["7T", "6T"], + harden: ["9L1", "7L1", "6L1"], + irondefense: ["9M", "7T", "6T"], + pounce: ["9M"], + protect: ["9M", "9L0", "7M", "7L1", "6M", "6L9"], + strugglebug: ["9M"], + terablast: ["9M"], + }, + }, + vivillon: { + learnset: { + acrobatics: ["9M", "7M", "6M"], + aerialace: ["7M", "6M"], + aircutter: ["9M"], + airslash: ["9M"], + aromatherapy: ["7L31", "6L31"], + attract: ["7M", "6M"], + bugbite: ["9M", "7T", "6T"], + bugbuzz: ["9M", "9L35", "7L35", "6L35"], + calmmind: ["7M", "6M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + defog: ["7T"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M", "9L25", "7L25", "6L25"], + dreameater: ["7M", "6M"], + electroweb: ["7T", "6T"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + gigaimpact: ["9M", "7M", "6M"], + gust: ["9L0", "7L1", "6L1"], + hiddenpower: ["7M", "6M"], + hurricane: ["9M", "9L50", "7L50", "6L50"], + hyperbeam: ["9M", "7M", "6M"], + infestation: ["7M", "6M"], + irondefense: ["9M"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L12", "7M", "7L12", "6M", "6L1"], + poisonpowder: ["9L1", "7L1", "6L1"], + pollenpuff: ["9M"], + pounce: ["9M"], + powder: ["7L1", "6L1"], + protect: ["9M", "7M", "6M"], + psybeam: ["9M", "9L17", "7L17", "6L17"], + psychic: ["9M", "7M", "6M"], + psychup: ["7M", "6M"], + quiverdance: ["9L45", "7L45", "6L45"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["9L31", "7M", "7L41", "6M", "6L41"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + sleeppowder: ["9L1", "7L1", "6L1"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + strugglebug: ["9M", "9L1", "7L1", "6M", "6L12"], + stunspore: ["9L1", "7L1", "6L1"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + supersonic: ["9L21", "7L21", "6L21"], + swagger: ["7M", "6M"], + swift: ["9M"], + tailwind: ["9M", "7T", "6T"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["9M", "7M", "6M"], + weatherball: ["9M"], + }, + }, + vivillonfancy: { + learnset: { + acrobatics: ["9M", "7M", "6M"], + aerialace: ["7M", "6M"], + aircutter: ["9M"], + airslash: ["9M"], + aromatherapy: ["7L31", "6L31"], + attract: ["7M", "6M"], + bugbite: ["7T", "6T"], + bugbuzz: ["9M", "9L35", "7L35", "6L35"], + calmmind: ["7M", "6M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + defog: ["7T"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M", "9L25", "7L25", "6L25"], + dreameater: ["7M", "6M"], + electroweb: ["7T", "6T"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + gigaimpact: ["9M", "7M", "6M"], + gust: ["9L0", "7L1", "6L1", "6S0"], + hiddenpower: ["7M", "6M"], + holdhands: ["6S0"], + hurricane: ["9M", "9L50", "7L50", "6L50"], + hyperbeam: ["9M", "7M", "6M"], + infestation: ["7M", "6M"], + irondefense: ["9M"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L12", "7M", "7L12", "6M", "6L1", "6S0"], + poisonpowder: ["9L1", "7L1", "6L1"], + pollenpuff: ["9M"], + pounce: ["9M"], + powder: ["7L1", "6L1"], + protect: ["9M", "7M", "6M"], + psybeam: ["9M", "9L17", "7L17", "6L17"], + psychic: ["9M", "7M", "6M"], + psychup: ["7M", "6M"], + quiverdance: ["9L45", "7L45", "6L45"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["9L31", "7M", "7L41", "6M", "6L41"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + sleeppowder: ["9L1", "7L1", "6L1"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + strugglebug: ["9M", "9L1", "7L1", "6M", "6L12", "6S0"], + stunspore: ["9L1", "7L1", "6L1"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + supersonic: ["9L21", "7L21", "6L21"], + swagger: ["7M", "6M"], + swift: ["9M"], + tailwind: ["9M", "7T", "6T"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["9M", "7M", "6M"], + }, + eventData: [ + {generation: 6, level: 12, moves: ["gust", "lightscreen", "strugglebug", "holdhands"], pokeball: "cherishball"}, + ], + }, + vivillonpokeball: { + learnset: { + acrobatics: ["9M", "7M", "6M"], + aerialace: ["7M", "6M"], + aircutter: ["9M"], + airslash: ["9M"], + aromatherapy: ["7L31", "6L31"], + attract: ["7M", "6M"], + bugbite: ["7T", "6T"], + bugbuzz: ["9M", "9L35", "7L35", "6L35"], + calmmind: ["7M", "6M"], + confide: ["7M", "6M"], + confuseray: ["9M"], + defog: ["7T"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M", "9L25", "7L25", "6L25"], + dreameater: ["7M", "6M"], + electroweb: ["7T", "6T"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + gigaimpact: ["9M", "7M", "6M"], + gust: ["9L0", "7L1", "6L1", "6S0"], + hiddenpower: ["7M", "6M"], + hurricane: ["9M", "9L50", "7L50", "6L50"], + hyperbeam: ["9M", "7M", "6M"], + infestation: ["7M", "6M"], + irondefense: ["9M"], + laserfocus: ["7T"], + lightscreen: ["9M", "9L12", "7M", "7L12", "6M", "6L1", "6S0"], + poisonpowder: ["9L1", "7L1", "6L1"], + pollenpuff: ["9M"], + pounce: ["9M"], + powder: ["7L1", "6L1"], + protect: ["9M", "7M", "6M"], + psybeam: ["9M", "9L17", "7L17", "6L17"], + psychic: ["9M", "7M", "6M"], + psychup: ["7M", "6M"], + quiverdance: ["9L45", "7L45", "6L45"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["9L31", "7M", "7L41", "6M", "6L41"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + sleeppowder: ["9L1", "7L1", "6L1"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + strugglebug: ["9M", "9L1", "7L1", "6M", "6L12", "6S0"], + stunspore: ["9L1", "7L1", "6L1", "6S0"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + supersonic: ["9L21", "7L21", "6L21"], + swagger: ["7M", "6M"], + swift: ["9M"], + tailwind: ["9M", "7T", "6T"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["9M", "7M", "6M"], + }, + eventData: [ + {generation: 6, level: 12, moves: ["stunspore", "gust", "lightscreen", "strugglebug"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + litleo: { + learnset: { + acrobatics: ["9M"], + attract: ["7M", "6M"], + bodyslam: ["9M"], + bulldoze: ["9M", "7M", "6M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L39", "7L39", "6L39"], + darkpulse: ["7M", "6M"], + dig: ["9M", "6M"], + doubleteam: ["7M", "6M"], + echoedvoice: ["9L33", "7M", "7L33", "6M", "6L33"], + ember: ["9L5", "7L5", "6L5"], + endeavor: ["9L28", "7T", "7L28", "6T", "6L28"], + endure: ["9M"], + entrainment: ["9E", "7E", "6E"], + facade: ["9M", "7M", "6M"], + fireblast: ["9M", "7M", "6M"], + firefang: ["9M", "9L23", "7L23", "6L23"], + firespin: ["9M", "9E", "7E", "6E"], + flamecharge: ["9M", "7M", "6M"], + flamethrower: ["9M", "9L36", "7M", "7L36", "6M", "6L36"], + flareblitz: ["9M", "9E", "7E"], + frustration: ["7M", "6M"], + headbutt: ["9L11", "7L11", "6L11"], + heatwave: ["9M", "7T", "6T"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hypervoice: ["9M", "9L43", "7T", "7L43", "6T", "6L43"], + incinerate: ["9L46", "7L46", "6M", "6L46"], + irontail: ["7T", "6T"], + leer: ["9L1", "7L1", "6L1"], + mudslap: ["9M"], + nobleroar: ["9L15", "7L15", "6L15"], + overheat: ["9M", "9L50", "7M", "7L50", "6M", "6L50"], + payback: ["7M", "6M"], + protect: ["9M", "7M", "6M"], + psychicfangs: ["9M"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + retaliate: ["6M"], + return: ["7M", "6M"], + roar: ["9M", "7M", "6M"], + rocksmash: ["6M"], + round: ["7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "7M", "6M"], + snarl: ["9M", "7M", "6M"], + snatch: ["7T", "7E", "6T", "6E"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + strength: ["6M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + tackle: ["9L1", "7L1", "6L1"], + takedown: ["9M", "9L20", "7L20", "6L20"], + taunt: ["9M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + thunderfang: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + wildcharge: ["9M", "7M", "6M"], + willowisp: ["9M", "7M", "6M"], + workup: ["9L8", "7M", "7L8", "6L8"], + yawn: ["9E", "7E", "6E"], + }, + }, + pyroar: { + learnset: { + acrobatics: ["9M"], + attract: ["7M", "6M"], + bodyslam: ["9M"], + bounce: ["7T", "6T"], + bulldoze: ["9M", "7M", "6M"], + burningjealousy: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L42", "7L42", "6L42"], + darkpulse: ["9M", "7M", "6M", "6S0"], + dig: ["9M", "6M"], + doubleteam: ["7M", "6M"], + echoedvoice: ["9L33", "7M", "7L33", "6M", "6L33"], + ember: ["9L1", "7L1", "6L5"], + endeavor: ["9L28", "7T", "7L28", "6T", "6L28"], + endure: ["9M"], + facade: ["9M", "7M", "6M"], + fireblast: ["9M", "7M", "6M", "6S0"], + firefang: ["9M", "9L23", "7L23", "6L23"], + firespin: ["9M"], + flamecharge: ["9M", "7M", "6M"], + flamethrower: ["9M", "9L38", "7M", "7L38", "6M", "6L38"], + flareblitz: ["9M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "7M", "6M"], + headbutt: ["9L11", "7L11", "6L11"], + heatwave: ["9M", "7T", "6T"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "9L1", "7M", "7L1", "6M", "6L1"], + hypervoice: ["9M", "9L48", "7T", "7L48", "6T", "6L48", "6S0"], + incinerate: ["9L51", "7L51", "6M", "6L51"], + irontail: ["7T", "6T"], + leer: ["9L1", "7L1", "6L1"], + mudslap: ["9M"], + nobleroar: ["9L15", "7L15", "6L15"], + overheat: ["9M", "9L57", "7M", "7L57", "6M", "6L57"], + payback: ["7M", "6M"], + protect: ["9M", "7M", "6M"], + psychicfangs: ["9M"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + retaliate: ["6M"], + return: ["7M", "6M"], + roar: ["9M", "7M", "6M"], + rocksmash: ["6M"], + round: ["7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "7M", "6M"], + snarl: ["9M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + strength: ["6M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + tackle: ["9L1", "7L1", "6L1"], + takedown: ["9M", "9L20", "7L20", "6L20"], + taunt: ["9M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + thunderfang: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + wildcharge: ["9M", "7M", "6M"], + willowisp: ["9M", "7M", "6M"], + workup: ["9L1", "7M", "7L1", "6L8"], + }, + eventData: [ + {generation: 6, level: 49, gender: "M", perfectIVs: 2, abilities: ["unnerve"], moves: ["hypervoice", "fireblast", "darkpulse"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + flabebe: { + learnset: { + afteryou: ["7T", "6T"], + allyswitch: ["7T"], + aromatherapy: ["7L33", "6L33"], + attract: ["7M", "6M"], + batonpass: ["9M"], + calmmind: ["9M", "7M", "6M"], + camouflage: ["7E", "6E"], + captivate: ["7E", "6E"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + copycat: ["9E", "7E", "6E"], + covet: ["7T", "6T"], + dazzlinggleam: ["9M", "7M", "6M"], + disarmingvoice: ["9M"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M"], + echoedvoice: ["7M", "6M"], + endeavor: ["9E", "7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + fairywind: ["9L6", "7L6", "6L6"], + flash: ["6M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + grassknot: ["9M", "7M", "6M"], + grassyterrain: ["9M", "9L24", "7L24", "6L24"], + healbell: ["7T", "6T"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + lightscreen: ["9M"], + luckychant: ["7L10", "6L10"], + magicalleaf: ["9M", "9L22", "7L22", "6L22"], + magiccoat: ["7T", "6T"], + mistyterrain: ["9M", "9L37", "7L37", "6L37"], + moonblast: ["9L41", "7L41", "6L41"], + naturepower: ["7M", "6M"], + petalblizzard: ["9L28", "7L28", "6L28"], + petaldance: ["9L45", "7L45", "6L45"], + pollenpuff: ["9M"], + protect: ["9M", "7M", "6M"], + psychic: ["9M", "7M", "6M"], + raindance: ["9M", "7M", "6M"], + razorleaf: ["9L15", "7L15", "6L15"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["9L10", "7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "9L48", "7M", "7L48", "6M", "6L48"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + synthesis: ["9L33", "7T", "6T"], + tackle: ["9L1", "7L1", "6L1"], + tearfullook: ["9E", "7E"], + terablast: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + vinewhip: ["9L1", "7L1", "6L1"], + wish: ["9L20", "7L20", "6L20"], + worryseed: ["7T", "6T"], + }, + }, + floette: { + learnset: { + afteryou: ["7T", "6T"], + allyswitch: ["7T"], + aromatherapy: ["7L38", "6L38"], + attract: ["7M", "6M"], + batonpass: ["9M"], + calmmind: ["9M", "7M", "6M"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + dazzlinggleam: ["9M", "7M", "6M"], + disarmingvoice: ["9M"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M"], + echoedvoice: ["7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + fairywind: ["9L1", "7L1", "6L6"], + flash: ["6M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + grassknot: ["9M", "7M", "6M"], + grassyterrain: ["9M", "9L27", "7L27", "6L27"], + healbell: ["7T", "6T"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + lightscreen: ["9M"], + luckychant: ["7L10", "6L10"], + magicalleaf: ["9M", "9L25", "7L25", "6L25"], + magiccoat: ["7T", "6T"], + metronome: ["9M"], + mistyterrain: ["9M", "9L43", "7L43", "6L43"], + moonblast: ["9L46", "7L46", "6L46"], + naturepower: ["7M", "6M"], + petalblizzard: ["9L33", "7L33", "6L33"], + petaldance: ["9L51", "7L51", "6L51"], + pollenpuff: ["9M"], + protect: ["9M", "7M", "6M"], + psychic: ["9M", "7M", "6M"], + raindance: ["9M", "7M", "6M"], + razorleaf: ["9L15", "7L15", "6L15"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["9L10", "7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T"], + skillswap: ["9M"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "9L58", "7M", "7L58", "6M", "6L58"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + synthesis: ["9L38", "7T", "6T"], + tackle: ["9L1", "7L1", "6L1"], + terablast: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + trick: ["9M"], + vinewhip: ["9L1", "7L1", "6L1"], + wish: ["9L20", "7L20", "6L20"], + worryseed: ["7T", "6T"], + }, + }, + floetteeternal: { + learnset: { + afteryou: ["7T"], + allyswitch: ["7T"], + aromatherapy: ["6L38"], + attract: ["6M"], + calmmind: ["6M"], + confide: ["6M"], + covet: ["7T"], + dazzlinggleam: ["6M"], + doubleteam: ["6M"], + echoedvoice: ["6M"], + endeavor: ["7T"], + energyball: ["6M"], + facade: ["6M"], + fairywind: ["6L6"], + flash: ["6M"], + frustration: ["6M"], + gigadrain: ["7T"], + grassknot: ["6M"], + grassyterrain: ["6L27"], + healbell: ["7T"], + helpinghand: ["7T"], + hiddenpower: ["6M"], + lightofruin: ["6L50"], + luckychant: ["6L10"], + magicalleaf: ["6L25"], + magiccoat: ["7T"], + mistyterrain: ["6L43"], + moonblast: ["6L46"], + naturepower: ["6M"], + petalblizzard: ["6L33"], + petaldance: ["6L51"], + protect: ["6M"], + psychic: ["6M"], + raindance: ["6M"], + razorleaf: ["6L15"], + rest: ["6M"], + return: ["6M"], + round: ["6M"], + safeguard: ["6M"], + secretpower: ["6M"], + seedbomb: ["7T"], + sleeptalk: ["6M"], + snore: ["7T"], + solarbeam: ["6M", "6L58"], + substitute: ["6M"], + sunnyday: ["6M"], + swagger: ["6M"], + synthesis: ["7T"], + tackle: ["6L1"], + toxic: ["6M"], + vinewhip: ["6L1"], + wish: ["6L20"], + worryseed: ["7T"], + }, + }, + florges: { + learnset: { + afteryou: ["7T", "6T"], + allyswitch: ["7T"], + aromatherapy: ["7L1", "6L1"], + attract: ["7M", "6M"], + batonpass: ["9M"], + calmmind: ["9M", "7M", "6M"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + dazzlinggleam: ["9M", "7M", "6M"], + defog: ["7T"], + disarmingvoice: ["9M", "9L1", "7L1", "6L1"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M"], + echoedvoice: ["7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + flash: ["6M"], + flowershield: ["7L1", "6L1"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + gigaimpact: ["9M", "7M", "6M"], + grassknot: ["9M", "9L1", "7M", "7L1", "6M", "6L1"], + grassyterrain: ["9M", "9L1", "7L1", "6L1"], + healbell: ["7T", "6T"], + helpinghand: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "7M", "6M"], + lightscreen: ["9M", "7M", "6M"], + luckychant: ["7L1", "6L1"], + magicalleaf: ["9M", "9L1", "7L1", "6L1"], + magiccoat: ["7T", "6T"], + metronome: ["9M"], + mistyexplosion: ["9M"], + mistyterrain: ["9M", "9L1", "7L1", "6L1"], + moonblast: ["9L5", "7L1", "6L1"], + naturepower: ["7M", "6M"], + petalblizzard: ["9L1", "7L1", "6L1"], + petaldance: ["9L1", "7L1", "6L1"], + pollenpuff: ["9M"], + protect: ["9M", "7M", "6M"], + psychic: ["9M", "7M", "6M"], + raindance: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + round: ["7M", "6M"], + safeguard: ["9L1", "7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "7T", "6T"], + skillswap: ["9M"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "9L1", "7M", "6M"], + storedpower: ["9M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + synthesis: ["9L1", "7T", "6T"], + terablast: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + trick: ["9M"], + wish: ["9L1", "7L1", "6L1"], + worryseed: ["7T", "6T"], + }, + }, + skiddo: { + learnset: { + attract: ["7M", "6M"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M", "6M"], + bulkup: ["9M", "9L34", "7M", "7L34", "6M", "6L34"], + bulldoze: ["9M", "9L26", "7M", "7L26", "6M", "6L26"], + bulletseed: ["9M"], + confide: ["7M", "6M"], + defensecurl: ["9E", "7E", "6E"], + dig: ["9M", "6M"], + doubleedge: ["9L38", "7L38", "6L38"], + doubleteam: ["7M", "6M"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + grassknot: ["9M", "7M", "6M"], + grassyglide: ["9M"], + grassyterrain: ["9M", "9E", "7E"], + growth: ["9L1", "7L1", "6L1"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M"], + hornleech: ["9L42", "7L42", "6L42"], + irontail: ["7T", "6T"], + leafblade: ["9L45", "7L45", "6L45"], + leafstorm: ["9M"], + leechseed: ["9L12", "7L12", "6L12"], + magicalleaf: ["9M"], + milkdrink: ["9E", "7L50", "7E", "6L50", "6E"], + mudshot: ["9M"], + mudslap: ["9M"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M"], + playrough: ["9M"], + protect: ["9M", "7M", "6M"], + raindance: ["9M", "7M", "6M"], + razorleaf: ["9L13", "7L13", "6L13"], + rest: ["9M", "7M", "6M"], + retaliate: ["6M"], + return: ["7M", "6M"], + roar: ["9M", "7M", "6M"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + rollout: ["9E", "7E", "6E"], + round: ["7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "9L30", "7T", "7L30", "6T", "6L30"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + stompingtantrum: ["9M"], + strength: ["6M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + surf: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + synthesis: ["9L20", "7T", "7L20", "6T", "6L20"], + tackle: ["9L1", "7L1", "6L1"], + tailwhip: ["9L9", "7L9", "6L9"], + takedown: ["9M", "9L22", "7L22", "6L22"], + terablast: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + vinewhip: ["9L7", "7L7", "6L7"], + wildcharge: ["9M", "7M", "6M"], + workup: ["7M"], + worryseed: ["9L16", "7T", "7L16", "6T", "6L16"], + zenheadbutt: ["9M", "7T", "6T"], + }, + }, + gogoat: { + learnset: { + aerialace: ["9M", "9L0", "7M", "7L1", "6M", "6L1"], + attract: ["7M", "6M"], + bodyslam: ["9M"], + bounce: ["7T", "6T"], + brickbreak: ["9M", "7M", "6M"], + bulkup: ["9M", "9L34", "7M", "7L34", "6M", "6L34"], + bulldoze: ["9M", "9L26", "7M", "7L26", "6M", "6L26"], + bulletseed: ["9M"], + confide: ["7M", "6M"], + dig: ["9M", "6M"], + doubleedge: ["9L40", "7L40", "6L40"], + doubleteam: ["7M", "6M"], + earthquake: ["9M", "9L1", "7M", "7L1", "6M", "6L60"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "7T", "6T"], + gigaimpact: ["9M", "7M", "6M"], + grassknot: ["9M", "7M", "6M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L1", "7L1", "6L1"], + helpinghand: ["9M"], + hiddenpower: ["7M", "6M"], + highhorsepower: ["9M"], + hornleech: ["9L47", "7L47", "6L47"], + hyperbeam: ["9M", "7M", "6M"], + irontail: ["7T", "6T"], + leafblade: ["9L55", "7L55", "6L55"], + leafstorm: ["9M"], + leechseed: ["9L12", "7L12", "6L12"], + magicalleaf: ["9M"], + milkdrink: ["9L58", "7L58", "6L58"], + mudshot: ["9M"], + mudslap: ["9M"], + naturepower: ["7M", "6M"], + payback: ["7M", "6M"], + playrough: ["9M"], + protect: ["9M", "7M", "6M"], + raindance: ["9M", "7M", "6M"], + razorleaf: ["9L13", "7L13", "6L13"], + rest: ["9M", "7M", "6M"], + retaliate: ["6M"], + return: ["7M", "6M"], + roar: ["9M", "7M", "6M"], + rockslide: ["9M", "7M", "6M"], + rocksmash: ["6M"], + round: ["7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "9L30", "7T", "7L30", "6T", "6L30"], + sleeptalk: ["9M", "7M", "6M"], + snore: ["7T", "6T"], + solarbeam: ["9M", "7M", "6M"], + stompingtantrum: ["9M", "7T"], + strength: ["6M"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + superpower: ["7T", "6T"], + surf: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + synthesis: ["9L20", "7T", "7L20", "6T", "6L20"], + tackle: ["9L1", "7L1", "6L1"], + tailwhip: ["9L1", "7L1", "6L9"], + takedown: ["9M", "9L22", "7L22", "6L22"], + terablast: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + vinewhip: ["9L1", "7L1", "6L7"], + wildcharge: ["9M", "7M", "6M"], + workup: ["7M"], + worryseed: ["9L16", "7T", "7L16", "6T", "6L16"], + zenheadbutt: ["9M", "7T", "6T"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + pancham: { + learnset: { + aerialace: ["7M", "6M"], + armthrust: ["8L4", "7L7", "6L7", "6S0"], + attract: ["8M", "7M", "6M"], + block: ["7T", "6T"], + bodyslam: ["8M", "8L36", "7L33", "6L33"], + brickbreak: ["8M", "7M", "6M"], + bulkup: ["8M", "7M", "6M"], + bulldoze: ["8M", "7M", "6M"], + circlethrow: ["8L12", "7L25", "6L25"], + coaching: ["8T"], + cometpunch: ["7L15", "6L15"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + crunch: ["8M", "8L33", "7L39", "6L39"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M", "6S0"], + dig: ["8M", "6M"], + doubleteam: ["7M", "6M"], + drainpunch: ["8M", "7T", "6T"], + dualchop: ["7T", "6T"], + echoedvoice: ["7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["8M"], + entrainment: ["8L44", "7L42", "6L42"], + facade: ["8M", "7M", "6M"], + falseswipe: ["8M", "7M", "6M"], + firepunch: ["8M", "7T", "6T"], + fling: ["8M", "7M", "6M"], + focuspunch: ["7T", "6T"], + foulplay: ["8M", "7T", "7E", "6T", "6E"], + frustration: ["7M", "6M"], + grassknot: ["8M", "7M", "6M"], + gunkshot: ["8M", "7T", "6T"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hypervoice: ["8M", "7T", "6T"], + icepunch: ["8M", "7T", "6T"], + ironhead: ["8M", "7T", "6T"], + karatechop: ["7L12", "6L12"], + knockoff: ["7T", "6T"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1"], + lowkick: ["8M", "7T", "6T"], + lowsweep: ["8M", "8L16", "7M", "6M"], + mefirst: ["7E", "6E"], + megakick: ["8M"], + megapunch: ["8M"], + partingshot: ["8L40", "7L45", "6L45"], + payback: ["8M", "7M", "6M"], + powertrip: ["8E", "7E"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + quash: ["8E", "7E", "6E"], + quickguard: ["8E", "7E", "6E"], + raindance: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M", "6M"], + return: ["7M", "6M"], + roar: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + seismictoss: ["8E"], + shadowclaw: ["8M", "7M", "6M"], + skyuppercut: ["7L48", "6L48"], + slash: ["8L24", "7L20", "6L20"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + spite: ["7T", "6T"], + stoneedge: ["8M", "7M", "6M", "6S0"], + stormthrow: ["8E", "7E", "6E"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "7M", "6M"], + tackle: ["8L1", "7L1", "6L1"], + taunt: ["8M", "8L8"], + thunderpunch: ["8M", "7T", "6T"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["8M", "7T", "6T"], + vitalthrow: ["8L28", "7L27", "6L27"], + workup: ["8M", "8L20", "7M", "7L10", "6L10"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 6, level: 30, gender: "M", nature: "Adamant", abilities: ["moldbreaker"], moves: ["armthrust", "stoneedge", "darkpulse"], pokeball: "cherishball"}, + ], + }, + pangoro: { + learnset: { + aerialace: ["7M", "6M"], + armthrust: ["8L1", "7L1", "6L7"], + attract: ["8M", "7M", "6M"], + beatup: ["8M"], + block: ["7T", "6T"], + bodyslam: ["8M", "8L40", "7L35", "6L35"], + brickbreak: ["8M", "7M", "6M"], + bulkup: ["8M", "7M", "6M"], + bulldoze: ["8M", "7M", "6M"], + bulletpunch: ["8L1", "7L1"], + circlethrow: ["8L12", "7L25", "6L25"], + closecombat: ["8M"], + coaching: ["8T"], + cometpunch: ["7L15", "6L15"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + crunch: ["8M", "8L35", "7L42", "6L42"], + cut: ["6M"], + darkestlariat: ["8M"], + darkpulse: ["8M", "7M", "6M"], + dig: ["8M", "6M"], + doubleteam: ["7M", "6M"], + dragonclaw: ["8M", "7M", "6M"], + drainpunch: ["8M", "7T", "6T"], + dualchop: ["7T", "6T"], + earthquake: ["8M", "7M", "6M"], + echoedvoice: ["7M", "6M"], + embargo: ["7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["8M"], + entrainment: ["8L52", "7L1", "6L1"], + facade: ["8M", "7M", "6M"], + falseswipe: ["8M", "7M", "6M"], + firepunch: ["8M", "7T", "6T"], + fling: ["8M", "7M", "6M"], + focusblast: ["8M", "7M", "6M"], + focusenergy: ["8M"], + focuspunch: ["7T", "6T"], + foulplay: ["8M", "7T", "6T"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "7M", "6M"], + grassknot: ["8M", "7M", "6M"], + gunkshot: ["8M", "7T", "6T"], + hammerarm: ["8L58", "7L1", "6L1"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + honeclaws: ["6M"], + hyperbeam: ["8M", "7M", "6M"], + hypervoice: ["8M", "7T", "6T"], + icepunch: ["8M", "7T", "6T"], + infestation: ["7M", "6M"], + ironhead: ["8M", "7T", "6T"], + karatechop: ["7L12", "6L12"], + knockoff: ["7T", "6T"], + laserfocus: ["7T"], + lashout: ["8T"], + leer: ["8L1", "7L1", "6L1"], + lowkick: ["8M", "7T", "6T"], + lowsweep: ["8M", "8L16", "7M", "7L1", "6M", "6L70"], + megakick: ["8M"], + megapunch: ["8M"], + nightslash: ["8L0"], + outrage: ["8M", "7T", "6T"], + partingshot: ["8L46", "7L48", "6L48"], + payback: ["8M", "7M", "6M"], + poisonjab: ["8M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + quash: ["7M", "6M"], + raindance: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M", "6M"], + return: ["7M", "6M"], + revenge: ["8M"], + reversal: ["8M"], + roar: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + scaryface: ["8M"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M"], + skyuppercut: ["7L52", "6L52"], + slash: ["8L24", "7L20", "6L20"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + snarl: ["8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + spite: ["7T", "6T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "7M", "6M"], + tackle: ["8L1", "7L1", "6L1"], + taunt: ["8M", "8L1", "7M", "7L65", "6M", "6L65"], + thief: ["8M", "7M", "6M"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "7T", "6T"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["8M", "7T", "6T"], + vitalthrow: ["8L28", "7L27", "6L27"], + workup: ["8M", "8L20", "7M", "7L1", "6L10"], + xscissor: ["8M", "7M", "6M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + encounters: [ + {generation: 7, level: 24}, + ], + }, + furfrou: { + learnset: { + attract: ["7M", "6M"], + babydolleyes: ["7L9", "6L9"], + bite: ["7L22", "6L22"], + captivate: ["7E", "6E"], + chargebeam: ["7M", "6M"], + charm: ["7L38", "6L38"], + confide: ["7M", "6M"], + cottonguard: ["7L48", "6L48"], + darkpulse: ["7M", "6M"], + dig: ["6M"], + doubleteam: ["7M", "6M"], + echoedvoice: ["7M", "6M"], + endeavor: ["7T", "6T"], + facade: ["7M", "6M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gigaimpact: ["7M", "6M"], + grassknot: ["7M", "6M"], + growl: ["7L1", "6L1"], + headbutt: ["7L12", "6L12"], + helpinghand: ["7T", "6T"], + hiddenpower: ["7M", "6M"], + hypervoice: ["7T", "6T"], + irontail: ["7T", "6T"], + lastresort: ["7T", "6T"], + mimic: ["7E", "6E"], + odorsleuth: ["7L27", "6L27"], + protect: ["7M", "6M"], + raindance: ["7M", "6M"], + refresh: ["7E", "6E"], + rest: ["7M", "6M"], + retaliate: ["7L33", "6M", "6L33"], + return: ["7M", "6M"], + roar: ["7M", "6M"], + rocksmash: ["6M"], + roleplay: ["7T", "7E", "6T", "6E"], + round: ["7M", "6M"], + sandattack: ["7L5", "6L5"], + secretpower: ["6M"], + sleeptalk: ["7M", "6M"], + snarl: ["7M", "6M"], + snore: ["7T", "6T"], + substitute: ["7M", "6M"], + suckerpunch: ["7L42", "6L42"], + sunnyday: ["7M", "6M"], + surf: ["7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["7L1", "6L1"], + tailwhip: ["7L15", "6L15"], + takedown: ["7L35", "6L35"], + thunderwave: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["7T", "6T"], + uturn: ["7M", "6M"], + wildcharge: ["7M", "6M"], + workup: ["7M", "7E", "6E"], + zenheadbutt: ["7T", "6T"], + }, + }, + espurr: { + learnset: { + allyswitch: ["8M", "7T"], + assist: ["7E", "6E"], + attract: ["8M", "7M", "6M"], + barrier: ["7E", "6E"], + calmmind: ["8M", "7M", "6M"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + confusion: ["8L9", "7L9", "6L9"], + covet: ["8L18", "7T", "7L5", "6T", "6L5"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M"], + disarmingvoice: ["8L6", "7L22", "6L22"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + echoedvoice: ["7M", "6M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M"], + fakeout: ["8L3", "7L19", "6L19"], + faketears: ["8M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gravity: ["7T", "6T"], + healbell: ["7T", "6T"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + irontail: ["8M", "7T", "6T"], + leer: ["8L1", "7L1", "6L1"], + lightscreen: ["8M", "8L30", "7M", "7L13", "6M", "6L13"], + magiccoat: ["7T", "6T"], + magicroom: ["8M", "7T", "6T"], + nastyplot: ["8M"], + payback: ["8M", "7M", "6M"], + payday: ["8M"], + playrough: ["8M"], + protect: ["8M", "7M", "6M"], + psybeam: ["8L21", "7L17", "6L17"], + psychic: ["8M", "7M", "6M"], + psychup: ["7M", "6M"], + psyshock: ["8M", "8L33", "7M", "7L25", "6M", "6L25"], + raindance: ["8M", "7M", "6M"], + recycle: ["7T", "6T"], + reflect: ["8M", "8L30", "7M", "6M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roleplay: ["7T", "6T"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + scratch: ["8L1", "7L1", "6L1"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T"], + skillswap: ["8M", "7T"], + sleeptalk: ["8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["8M"], + telekinesis: ["7T"], + thunderbolt: ["8M", "7M", "6M"], + thunderwave: ["8M", "7M", "6M"], + tickle: ["8E"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trick: ["8M", "7T", "7E", "6T", "6E"], + trickroom: ["8M", "7M", "6M"], + wonderroom: ["8M", "7T", "6T"], + workup: ["8M", "7M"], + yawn: ["8E", "7E", "6E"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + meowstic: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M"], + calmmind: ["8M", "7M", "6M"], + chargebeam: ["7M", "6M"], + charm: ["8M", "8L15", "7L28", "6L28"], + confide: ["7M", "6M"], + confusion: ["8L9", "7L1", "6L9"], + covet: ["8L18", "7T", "7L1", "6T", "6L5"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M"], + dig: ["8M", "6M"], + disarmingvoice: ["8L1", "7L22", "6L22"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + echoedvoice: ["7M", "6M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M"], + fakeout: ["8L1", "7L19", "6L19"], + faketears: ["8M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "7M", "6M"], + gravity: ["7T", "6T"], + healbell: ["7T", "6T"], + helpinghand: ["8M", "8L12", "7T", "7L1", "6T", "6L1"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + imprison: ["8M", "8L44", "7L45", "6L45"], + irontail: ["8M", "7T", "6T"], + leer: ["8L1", "7L1", "6L1"], + lightscreen: ["8M", "8L34", "7M", "7L13", "6M", "6L13"], + magiccoat: ["7T", "6T"], + magicroom: ["8M", "7T", "6T"], + meanlook: ["8L1", "7L1", "6L1"], + miracleeye: ["7L31", "6L31"], + mistyterrain: ["8M", "8L59", "7L50", "6L50"], + nastyplot: ["8M"], + payback: ["8M", "7M", "6M"], + payday: ["8M"], + playrough: ["8M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + psybeam: ["8L21", "7L17", "6L17"], + psychic: ["8M", "8L54", "7M", "7L40", "6M", "6L40"], + psychicterrain: ["8M"], + psychup: ["7M", "6M"], + psyshock: ["8M", "8L39", "7M", "7L25", "6M", "6L25"], + quickguard: ["8L49", "7L1", "6L1"], + raindance: ["8M", "7M", "6M"], + recycle: ["7T", "6T"], + reflect: ["8M", "8L34", "7M", "7L35", "6M", "6L35"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roleplay: ["8L29", "7T", "7L43", "6T", "6L43"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + scratch: ["8L1", "7L1", "6L1"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T"], + skillswap: ["8M", "7T"], + sleeptalk: ["8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + substitute: ["8M", "7M", "6M"], + suckerpunch: ["8L24", "7L48", "6L48"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["8M"], + tailslap: ["8M"], + telekinesis: ["7T"], + thunderbolt: ["8M", "7M", "6M"], + thunderwave: ["8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trick: ["8M", "7T", "6T"], + trickroom: ["8M", "7M", "6M"], + wonderroom: ["8M", "7T", "6T"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + meowsticf: { + learnset: { + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M"], + calmmind: ["8M", "7M", "6M"], + chargebeam: ["8L15", "7M", "7L28", "6M", "6L28"], + charm: ["8M"], + confide: ["7M", "6M"], + confusion: ["8L9", "7L1", "6L9"], + covet: ["8L18", "7T", "7L1", "6L5"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M"], + dig: ["8M", "6M"], + disarmingvoice: ["8L1", "7L22", "6L22"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + echoedvoice: ["7M", "6M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M"], + expandingforce: ["8T"], + extrasensory: ["8L44", "7L35", "6L35"], + facade: ["8M", "7M", "6M"], + fakeout: ["8L1", "7L19", "6L19"], + faketears: ["8M"], + flash: ["6M"], + frustration: ["7M", "6M"], + futuresight: ["8M", "8L59", "7L50", "6L50"], + gigaimpact: ["8M", "7M", "6M"], + gravity: ["7T"], + healbell: ["7T"], + helpinghand: ["8M", "7T"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + irontail: ["8M", "7T"], + leer: ["8L1", "7L1", "6L1"], + lightscreen: ["8M", "8L34", "7M", "7L13", "6M", "6L13"], + magicalleaf: ["8M", "8L1", "7L1", "6L1"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + mefirst: ["7L1", "6L1"], + nastyplot: ["8M"], + payback: ["8M", "7M", "6M"], + payday: ["8M"], + playrough: ["8M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + psybeam: ["8L21", "7L17", "6L17"], + psychic: ["8M", "8L54", "7M", "7L40", "6M", "6L40"], + psychicterrain: ["8M"], + psychup: ["7M", "6M"], + psyshock: ["8M", "8L39", "7M", "7L25", "6M", "6L25"], + raindance: ["8M", "7M", "6M"], + recycle: ["7T"], + reflect: ["8M", "8L34", "7M", "6M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roleplay: ["8L29", "7T", "7L43", "6L43"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + scratch: ["8L1", "7L1", "6L1"], + secretpower: ["6M"], + shadowball: ["8M", "8L49", "7M", "7L31", "6M", "6L31"], + shockwave: ["7T"], + signalbeam: ["7T", "7L45", "6L45"], + skillswap: ["8M", "7T"], + sleeptalk: ["8M", "7M", "6M"], + snatch: ["7T"], + snore: ["8M", "7T"], + storedpower: ["8M", "8L12", "7L1", "6L1"], + substitute: ["8M", "7M", "6M"], + suckerpunch: ["8L24", "7L48", "6L48"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["8M"], + tailslap: ["8M"], + telekinesis: ["7T"], + thunderbolt: ["8M", "7M", "6M"], + thunderwave: ["8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trick: ["8M", "7T"], + trickroom: ["8M", "7M", "6M"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T"], + }, + }, + honedge: { + learnset: { + aerialace: ["8L12", "7M", "7L22", "6M", "6L22"], + afteryou: ["7T", "6T"], + attract: ["8M", "7M", "6M"], + autotomize: ["8L8", "7L18", "6L18"], + block: ["8E"], + brickbreak: ["8M", "7M", "6M"], + brutalswing: ["8M", "7M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + cut: ["6M"], + destinybond: ["8E", "7E", "6E"], + doubleteam: ["7M", "6M"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + falseswipe: ["8M", "7M", "6M"], + flashcannon: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + furycutter: ["8L1", "7L5", "6L5"], + gyroball: ["8M", "7M", "6M"], + hiddenpower: ["7M", "6M"], + irondefense: ["8M", "8L32", "7T", "7L32", "6T", "6L32"], + ironhead: ["8M", "8L36", "7T", "7L42", "6T", "6L42"], + laserfocus: ["7T"], + magnetrise: ["7T", "6T"], + metalsound: ["8L16", "7L8", "7E", "6L8", "6E"], + nightslash: ["8L24", "7L35", "6L35"], + powertrick: ["8L40", "7L39", "6L39"], + protect: ["8M", "7M", "6M"], + psychocut: ["8M"], + pursuit: ["7L13", "6L13"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M", "8L28", "7L26", "6M", "6L26"], + return: ["7M", "6M"], + reversal: ["8M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + round: ["8M"], + sacredsword: ["8L48", "7L47", "6L47"], + screech: ["8M"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M"], + shadowsneak: ["8L4", "7L20", "7E", "6L20", "6E"], + shockwave: ["7T", "6T"], + slash: ["8L20", "7L29", "6L29"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + solarblade: ["8M"], + spite: ["7T", "6T"], + steelbeam: ["8T"], + substitute: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "8L44", "7M", "7L1", "6M", "6L1"], + tackle: ["8L1", "7L1", "6L1"], + toxic: ["7M", "6M"], + wideguard: ["8E", "7E", "6E"], + }, + }, + doublade: { + learnset: { + aerialace: ["8L12", "7M", "7L22", "6M", "6L22"], + afteryou: ["7T", "6T"], + attract: ["8M", "7M", "6M"], + autotomize: ["8L1", "7L18", "6L18"], + brickbreak: ["8M", "7M", "6M"], + brutalswing: ["8M", "7M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + cut: ["6M"], + doubleteam: ["7M", "6M"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + falseswipe: ["8M", "7M", "6M"], + flashcannon: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + furycutter: ["8L1", "7L1", "6L5"], + gyroball: ["8M", "7M", "6M"], + hiddenpower: ["7M", "6M"], + irondefense: ["8M", "8L32", "7T", "7L32", "6T", "6L32"], + ironhead: ["8M", "8L38", "7T", "7L45", "6T", "6L45"], + laserfocus: ["7T"], + magnetrise: ["7T", "6T"], + metalsound: ["8L16", "7L8", "6L8"], + nightslash: ["8L24", "7L36", "6L36"], + powertrick: ["8L44", "7L41", "6L41"], + protect: ["8M", "7M", "6M"], + psychocut: ["8M"], + pursuit: ["7L13", "6L13"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M", "8L28", "7L26", "6M", "6L26"], + return: ["7M", "6M"], + reversal: ["8M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + round: ["8M"], + sacredsword: ["8L56", "7L51", "6L51"], + screech: ["8M"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M"], + shadowsneak: ["8L1", "7L20", "6L20"], + shockwave: ["7T", "6T"], + slash: ["8L20", "7L29", "6L29"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + solarblade: ["8M"], + spite: ["7T", "6T"], + steelbeam: ["8T"], + substitute: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "8L50", "7M", "7L1", "6M", "6L1"], + tackle: ["8L1", "7L1", "6L1"], + toxic: ["7M", "6M"], + }, + }, + aegislash: { + learnset: { + aerialace: ["8L1", "7M", "7L1", "6M", "6L1"], + afteryou: ["7T", "6T"], + airslash: ["8M"], + attract: ["8M", "7M", "6M"], + autotomize: ["8L1", "7L1", "6L1"], + block: ["7T", "6T"], + brickbreak: ["8M", "7M", "6M"], + brutalswing: ["8M", "7M"], + closecombat: ["8M"], + confide: ["7M", "6M"], + cut: ["6M"], + doubleteam: ["7M", "6M"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + falseswipe: ["8M", "7M", "6M"], + flashcannon: ["8M", "7M", "6M", "6S0"], + frustration: ["7M", "6M"], + furycutter: ["8L1", "7L1", "6L1"], + gigaimpact: ["8M", "7M", "6M"], + gyroball: ["8M", "7M", "6M"], + headsmash: ["8L1", "7L1", "6L1"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + irondefense: ["8M", "8L1", "7T", "7L1", "6T", "6L1"], + ironhead: ["8M", "8L1", "7T", "7L1", "6T", "6L1"], + kingsshield: ["8L0", "7L1", "6L1", "6S0"], + laserfocus: ["7T"], + magnetrise: ["7T", "6T"], + metalsound: ["8L1"], + nightslash: ["8L1", "7L1", "6L1"], + powertrick: ["8L1", "7L1", "6L1"], + protect: ["8M", "7M", "6M"], + psychocut: ["8M"], + pursuit: ["7L1", "6L1"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M", "8L1", "6M"], + return: ["7M", "6M"], + reversal: ["8M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + round: ["8M", "7M", "6M"], + sacredsword: ["8L1", "7L1", "6L1"], + screech: ["8M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M", "6S0"], + shadowclaw: ["8M", "7M", "6M"], + shadowsneak: ["8L1", "7L1", "6L1"], + shockwave: ["7T", "6T"], + slash: ["8L1", "7L1", "6L1"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + solarblade: ["8M"], + spite: ["7T", "6T"], + steelbeam: ["8T"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "8L1", "7M", "7L1", "6M", "6L1"], + tackle: ["8L1"], + toxic: ["7M", "6M"], + wideguard: ["6S0"], + }, + eventData: [ + {generation: 6, level: 50, gender: "F", nature: "Quiet", moves: ["wideguard", "kingsshield", "shadowball", "flashcannon"], pokeball: "cherishball"}, + ], + }, + spritzee: { + learnset: { + afteryou: ["8E", "7T", "6T"], + allyswitch: ["8M", "7T"], + aromatherapy: ["8L12", "7L25", "6L25"], + attract: ["8M", "8L18", "7M", "7L29", "6M", "6L29"], + calmmind: ["8M", "8L33", "7M", "7L17", "6M", "6L17"], + captivate: ["7E", "6E"], + chargebeam: ["7M", "6M"], + charm: ["8M", "8L30", "7L35", "6L35"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + dazzlinggleam: ["8M", "7M", "6M"], + disable: ["8E", "7E", "6E"], + disarmingvoice: ["7L50", "6L50"], + doubleteam: ["7M", "6M"], + drainingkiss: ["8M", "8L9", "7L21", "6L21"], + dreameater: ["7M", "6M"], + echoedvoice: ["8L6", "7M", "7L13", "6M", "6L13"], + encore: ["8M"], + endeavor: ["7T", "6T"], + endure: ["8M"], + energyball: ["8M", "7M", "6M"], + facade: ["8M", "7M", "6M"], + fairywind: ["8L1", "7L1", "6L1"], + faketears: ["8M"], + flail: ["8L21", "7L38", "6L38"], + flash: ["6M"], + flashcannon: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + gyroball: ["8M", "7M", "6M"], + healbell: ["7T", "6T"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + lightscreen: ["8M", "7M", "6M"], + magiccoat: ["7T", "6T"], + mistyexplosion: ["8T"], + mistyterrain: ["8M", "8L24", "7L42", "6L42"], + moonblast: ["8L36", "7L31", "6L31"], + nastyplot: ["8M", "7E"], + odorsleuth: ["7L8", "6L8"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "8L27", "7M", "7L48", "6M", "6L48"], + psychup: ["7M", "6M"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "6M"], + refresh: ["7E", "6E"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + skillswap: ["8M", "8L39", "7T", "7L44", "6T", "6L44"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + sweetkiss: ["8L3", "7L6", "6L6"], + sweetscent: ["8L1", "7L1", "6L1"], + telekinesis: ["7T"], + thunderbolt: ["8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trickroom: ["8M", "7M", "6M"], + wish: ["8E", "7E", "6E"], + }, + }, + aromatisse: { + learnset: { + afteryou: ["7T", "6T"], + allyswitch: ["8M", "7T"], + aromatherapy: ["8L12", "7L25", "6L25"], + aromaticmist: ["8L1", "7L1", "6L1"], + attract: ["8M", "8L18", "7M", "7L29", "6M", "6L29"], + calmmind: ["8M", "8L33", "7M", "7L17", "6M", "6L17"], + chargebeam: ["7M", "6M"], + charm: ["8M", "8L30", "7L35", "6L35"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + dazzlinggleam: ["8M", "7M", "6M"], + disable: ["6S0"], + disarmingvoice: ["8L9", "7L53", "6L53"], + doubleteam: ["7M", "6M"], + drainingkiss: ["8M", "8L15", "7L21", "6L21"], + drainpunch: ["8M", "7T", "6T"], + dreameater: ["7M", "6M"], + echoedvoice: ["8L1", "7M", "7L13", "6M", "6L13"], + encore: ["8M"], + endeavor: ["7T", "6T"], + endure: ["8M"], + energyball: ["8M", "7M", "6M"], + facade: ["8M", "7M", "6M"], + fairywind: ["8L1", "7L1", "6L1"], + faketears: ["8M"], + flail: ["8L21", "7L38", "6L38"], + flash: ["6M"], + flashcannon: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "7M", "6M"], + gyroball: ["8M", "7M", "6M"], + healbell: ["7T", "6T"], + healpulse: ["8L1", "7L1", "6L1", "6S0"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + lightscreen: ["8M", "7M", "6M"], + magiccoat: ["7T", "6T"], + metronome: ["8M"], + mistyexplosion: ["8T"], + mistyterrain: ["8M", "8L24", "7L42", "6L42"], + moonblast: ["8L36", "7L31", "6L31", "6S0"], + nastyplot: ["8M"], + odorsleuth: ["7L1", "6L8"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "8L27", "7M", "7L48", "6M", "6L48"], + psychup: ["8L42", "7M", "7L64", "6M", "6L64"], + psyshock: ["8M", "7M", "6M"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "7L57", "6M", "6L57"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + skillswap: ["8M", "8L39", "7T", "7L44", "6T", "6L44"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + sweetkiss: ["8L1", "7L1", "6L6"], + sweetscent: ["8L1", "7L1", "6L1"], + telekinesis: ["7T"], + thunder: ["8M", "7M", "6M"], + thunderbolt: ["8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trickroom: ["8M", "7M", "6M", "6S0"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Relaxed", isHidden: true, moves: ["trickroom", "healpulse", "disable", "moonblast"], pokeball: "cherishball"}, + ], + }, + swirlix: { + learnset: { + afteryou: ["8E", "7T", "7E", "6T", "6E"], + amnesia: ["8M"], + aromatherapy: ["8L9", "7L26", "6L26"], + attract: ["8M", "7M", "6M"], + bellydrum: ["7E", "6E"], + calmmind: ["8M", "7M", "6M"], + charm: ["8M"], + confide: ["7M", "6M"], + copycat: ["8E", "7E", "6E"], + cottonguard: ["8L36", "7L41", "6L41"], + cottonspore: ["8L24", "7L17", "6L17"], + covet: ["7T", "6T"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + drainingkiss: ["8M", "8L12", "7L31", "6L31"], + dreameater: ["7M", "6M"], + endeavor: ["8L39", "7T", "7L21", "6T", "6L21"], + endure: ["8M"], + energyball: ["8M", "8L27", "7M", "7L36", "6M", "6L36"], + facade: ["8M", "7M", "6M"], + fairywind: ["8L6", "7L5", "6L5"], + faketears: ["8M", "8L15", "7L10", "6L10"], + flamethrower: ["8M", "7M", "6M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gastroacid: ["7T", "6T"], + healbell: ["7T", "6T"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + lightscreen: ["8M", "7M", "7L58", "6M", "6L58"], + magiccoat: ["7T", "6T"], + mistyexplosion: ["8T"], + playnice: ["8L3", "7L8", "6L8"], + playrough: ["8M", "8L33", "7L49", "6L49"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "7M", "6M"], + psychup: ["7M", "6M"], + raindance: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "8L18", "7M", "7L13", "6M", "6L13"], + safeguard: ["8M", "7M", "7L67", "6M", "6L67"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + stickyweb: ["8E", "7E"], + stringshot: ["8L21"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + sweetscent: ["8L1", "7L1", "6L1"], + tackle: ["8L1", "7L1", "6L1"], + thief: ["8M", "7M", "6M"], + thunderbolt: ["8M", "7M", "6M"], + toxic: ["7M", "6M"], + wish: ["8L30", "7L45", "6L45"], + yawn: ["8E", "7E", "6E"], + }, + }, + slurpuff: { + learnset: { + afteryou: ["7T", "6T"], + amnesia: ["8M"], + aromatherapy: ["8L9", "7L26", "6L26"], + attract: ["8M", "7M", "6M"], + calmmind: ["8M", "7M", "6M"], + charm: ["8M"], + confide: ["7M", "6M"], + cottonguard: ["8L36", "7L41", "6L41"], + cottonspore: ["8L24", "7L17", "6L17"], + covet: ["7T", "6T"], + dazzlinggleam: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + drainingkiss: ["8M", "8L12", "7L31", "6L31"], + drainpunch: ["8M", "7T", "6T"], + dreameater: ["7M", "6M"], + endeavor: ["8L39", "7T", "7L21", "6T", "6L21"], + endure: ["8M"], + energyball: ["8M", "8L27", "7M", "7L36", "6M", "6L36"], + facade: ["8M", "7M", "6M"], + fairywind: ["8L1", "7L1", "6L5"], + faketears: ["8M", "8L15", "7L10", "6L10"], + flamethrower: ["8M", "7M", "6M"], + flash: ["6M"], + frustration: ["7M", "6M"], + gastroacid: ["7T", "6T"], + gigaimpact: ["8M", "7M", "6M"], + healbell: ["7T", "6T"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + lightscreen: ["8M", "7M", "7L58", "6M", "6L58"], + magiccoat: ["7T", "6T"], + metronome: ["8M"], + mistyexplosion: ["8T"], + playnice: ["8L1", "7L1", "6L8"], + playrough: ["8M", "8L33", "7L49", "6L49"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "7M", "6M"], + psychup: ["7M", "6M"], + raindance: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "8L18", "7M", "7L13", "6M", "6L13"], + safeguard: ["8M", "7M", "7L67", "6M", "6L67"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + stickyweb: ["8L42"], + stringshot: ["8L21"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + sweetscent: ["8L1", "7L1", "6L1"], + tackle: ["8L1", "7L1", "6L1"], + thief: ["8M", "7M", "6M"], + thunder: ["8M"], + thunderbolt: ["8M", "7M", "6M"], + toxic: ["7M", "6M"], + wish: ["8L30", "7L45", "6L45"], + }, + }, + inkay: { + learnset: { + acupressure: ["8E"], + aerialace: ["7M", "6M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M"], + batonpass: ["8M"], + bind: ["7T", "6T"], + calmmind: ["8M", "7M", "6M"], + camouflage: ["7E", "6E"], + confide: ["7M", "6M"], + constrict: ["7L1", "6L1"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M"], + destinybond: ["8E", "7E", "6E"], + disable: ["8E"], + doubleteam: ["7M", "6M"], + embargo: ["7M", "6M"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M"], + faketears: ["8M"], + flamethrower: ["8M", "7M", "6M"], + flash: ["6M"], + flatter: ["7E", "6E"], + fling: ["8M", "7M", "6M"], + foulplay: ["8M", "8L33", "7T", "7L8", "6T", "6L8", "6S0"], + frustration: ["7M", "6M"], + futuresight: ["8M"], + guardswap: ["8M", "7E"], + happyhour: ["6S0"], + hiddenpower: ["7M", "6M"], + hypnosis: ["8L3", "7L18", "6L18", "6S0"], + knockoff: ["7T", "6T"], + lashout: ["8T"], + lightscreen: ["8M", "7M", "7L31", "6M", "6L31"], + liquidation: ["8M"], + nastyplot: ["8M"], + nightslash: ["8L24", "7L46", "6L46"], + payback: ["8M", "8L9", "7M", "7L27", "6M", "6L27"], + peck: ["8L1", "7L1", "6L1"], + pluck: ["8L12", "7L35", "6L35"], + powersplit: ["7E", "6E"], + protect: ["8M", "7M", "6M"], + psybeam: ["8L15", "7L21", "6L21"], + psychic: ["8M", "7M", "6M"], + psychocut: ["8M", "8L27", "7L39", "6L39"], + psychup: ["7M", "6M"], + psywave: ["7L13", "6L13"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "7L4", "6M", "6L4"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M", "6M"], + return: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + roleplay: ["7T", "6T"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + simplebeam: ["7E", "6E"], + slash: ["8L21", "7L43", "6L43"], + sleeptalk: ["8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + spite: ["7T", "6T"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + superpower: ["8M", "8L39", "7T", "7L48", "6T", "6L48"], + swagger: ["8L18", "7M", "7L12", "6M", "6L12"], + switcheroo: ["8L31", "7L23", "6L23"], + tackle: ["8L1", "7L1", "6L1"], + taunt: ["8M", "7M", "6M"], + telekinesis: ["7T"], + thief: ["8M", "7M", "6M"], + thunderbolt: ["8M", "7M", "6M"], + topsyturvy: ["8L36", "7L15", "6L15", "6S0"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trickroom: ["8M", "7M", "6M"], + wrap: ["8L6"], + }, + eventData: [ + {generation: 6, level: 10, moves: ["happyhour", "foulplay", "hypnosis", "topsyturvy"], pokeball: "cherishball"}, + ], + }, + malamar: { + learnset: { + aerialace: ["7M", "6M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M"], + batonpass: ["8M"], + bind: ["7T", "6T"], + block: ["7T", "6T"], + brutalswing: ["8M", "7M"], + calmmind: ["8M", "7M", "6M"], + confide: ["7M", "6M"], + constrict: ["7L1", "6L1"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + embargo: ["7M", "6M"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M", "7M", "6M", "6S0"], + faketears: ["8M"], + flamethrower: ["8M", "7M", "6M"], + flash: ["6M"], + fling: ["8M", "7M", "6M"], + foulplay: ["8M", "8L37", "7T", "7L8", "6T", "6L8"], + frustration: ["7M", "6M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M", "6M"], + guardswap: ["8M"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + hypnosis: ["8L1", "7L18", "6L18"], + knockoff: ["7T", "6T", "6S0"], + lashout: ["8T"], + lightscreen: ["8M", "7M", "7L31", "6M", "6L31"], + liquidation: ["8M"], + nastyplot: ["8M"], + nightslash: ["8L24", "7L46", "6L46"], + payback: ["8M", "8L9", "7M", "7L27", "6M", "6L27"], + peck: ["8L1", "7L1", "6L1"], + pluck: ["8L12", "7L35", "6L35"], + protect: ["8M", "7M", "6M"], + psybeam: ["8L15", "7L21", "6L21"], + psychic: ["8M", "7M", "6M"], + psychocut: ["8M", "8L27", "7L39", "6L39"], + psychup: ["7M", "6M"], + psyshock: ["8M", "7M", "6M"], + psywave: ["7L13", "6L13"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "7L1", "6M", "6L4"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M", "6M"], + return: ["7M", "6M"], + reversal: ["8M", "8L1", "7L1", "6L1"], + rockslide: ["8M", "7M", "6M", "6S0"], + roleplay: ["7T", "6T"], + round: ["8M", "7M", "6M"], + scaryface: ["8M"], + secretpower: ["6M"], + signalbeam: ["7T", "6T"], + slash: ["8L21", "7L43", "6L43"], + sleeptalk: ["8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + spite: ["7T", "6T"], + storedpower: ["8M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + superpower: ["8M", "8L47", "7T", "7L48", "6T", "6L1", "6S0"], + swagger: ["8L18", "7M", "7L12", "6M", "6L12"], + switcheroo: ["8L33", "7L23", "6L23"], + tackle: ["8L1", "7L1", "6L1"], + taunt: ["8M", "7M", "6M"], + telekinesis: ["7T"], + thief: ["8M", "7M", "6M"], + throatchop: ["8M", "7T"], + thunderbolt: ["8M", "7M", "6M"], + topsyturvy: ["8L42", "7L15", "6L15"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trickroom: ["8M", "7M", "6M"], + wrap: ["8L1"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Adamant", ivs: {hp: 31, atk: 31}, abilities: ["contrary"], moves: ["superpower", "knockoff", "facade", "rockslide"], pokeball: "cherishball"}, + ], + }, + binacle: { + learnset: { + aerialace: ["7M", "6M"], + ancientpower: ["8L20", "7L28", "6L28"], + assurance: ["8M"], + attract: ["8M", "7M", "6M"], + beatup: ["8M"], + blizzard: ["8M", "7M", "6M"], + brickbreak: ["8M", "7M", "6M"], + bulldoze: ["8M", "7M", "6M"], + clamp: ["7L20", "6L20"], + confide: ["7M", "6M"], + crosschop: ["8L44", "7L49", "6L49"], + cut: ["6M"], + dig: ["8M", "6M"], + doubleteam: ["7M", "6M"], + dualchop: ["7T", "6T"], + earthquake: ["8M", "7M", "6M"], + embargo: ["7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + falseswipe: ["8M", "7M", "6M"], + fling: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + furycutter: ["8L12", "7L37", "6L37"], + furyswipes: ["8L16", "7L10", "6L10"], + grassknot: ["8M", "7M", "6M"], + helpinghand: ["8M", "7T", "7E", "6T", "6E"], + hiddenpower: ["7M", "6M"], + honeclaws: ["8L32", "7L32", "6M", "6L32"], + icebeam: ["8M", "7M", "6M"], + icywind: ["8M", "7T", "6T"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T"], + liquidation: ["8M", "7T"], + mudshot: ["8M"], + mudslap: ["8L1", "7L18", "6L18"], + naturepower: ["7M", "6M"], + nightslash: ["8E", "7L41", "6L41"], + payback: ["8M", "7M", "6M"], + poisonjab: ["8M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + raindance: ["8M", "7M", "6M"], + razorshell: ["8M", "8L36", "7L45", "6L45"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rockblast: ["8M"], + rockpolish: ["8L24", "7M", "7L24", "6M", "6L24"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + sandattack: ["8E", "7L1", "6L1"], + sandstorm: ["8M", "7M", "6M"], + scald: ["8M", "7M", "6M"], + scratch: ["8L1", "7L1", "6L1"], + screech: ["8M"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M"], + shellsmash: ["8L40", "7L1", "6L1"], + slash: ["8L28", "7L13", "6L13"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + smackdown: ["7M", "6M"], + snore: ["8M", "7T", "6T"], + stealthrock: ["8M", "7T", "6T"], + stoneedge: ["8M", "7M", "6M"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + switcheroo: ["8E", "7E", "6E"], + swordsdance: ["8M", "7M", "6M"], + taunt: ["8M", "7M", "6M"], + thief: ["8M", "7M", "6M"], + tickle: ["7E", "6E"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["8M"], + watergun: ["8L8", "7L4", "6L4"], + waterpulse: ["7T", "6T"], + watersport: ["7E", "6E"], + withdraw: ["8L4", "7L7", "6L7"], + xscissor: ["8M", "7M", "6M"], + }, + }, + barbaracle: { + learnset: { + aerialace: ["7M", "6M"], + ancientpower: ["8L20", "7L28", "6L28"], + assurance: ["8M"], + attract: ["8M", "7M", "6M"], + beatup: ["8M"], + blizzard: ["8M", "7M", "6M"], + brickbreak: ["8M", "7M", "6M"], + brutalswing: ["8M", "7M"], + bulkup: ["8M", "7M", "6M"], + bulldoze: ["8M", "7M", "6M"], + clamp: ["7L20", "6L20"], + confide: ["7M", "6M"], + crosschop: ["8L48", "7L55", "6L55"], + cut: ["6M"], + dig: ["8M", "6M"], + dive: ["8M"], + doubleteam: ["7M", "6M"], + dragonclaw: ["8M", "7M", "6M"], + dualchop: ["7T", "6T"], + earthpower: ["8M", "7T", "6T"], + earthquake: ["8M", "7M", "6M"], + embargo: ["7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + falseswipe: ["8M", "7M", "6M"], + fling: ["8M", "7M", "6M"], + focusblast: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + furycutter: ["8L12", "7L37", "6L37"], + furyswipes: ["8L16", "7L10", "6L10"], + gigaimpact: ["8M", "7M", "6M"], + grassknot: ["8M", "7M", "6M"], + helpinghand: ["8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + honeclaws: ["8L32", "7L32", "6M", "6L32"], + hyperbeam: ["8M", "7M", "6M"], + icebeam: ["8M", "7M", "6M"], + icywind: ["8M", "7T", "6T"], + infestation: ["7M", "6M"], + irondefense: ["8M", "7T", "6T"], + laserfocus: ["7T"], + liquidation: ["8M", "7T"], + lowkick: ["8M", "7T", "6T"], + meteorbeam: ["8T"], + muddywater: ["8M"], + mudshot: ["8M"], + mudslap: ["8L1", "7L18", "6L18"], + naturepower: ["7M", "6M"], + nightslash: ["7L44", "6L44"], + payback: ["8M", "7M", "6M"], + poisonjab: ["8M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["8M", "7M", "6M"], + raindance: ["8M", "7M", "6M"], + razorshell: ["8M", "8L36", "7L48", "6L48"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rockblast: ["8M"], + rockpolish: ["8L24", "7M", "7L24", "6M", "6L24"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + sandattack: ["7L1", "6L1"], + sandstorm: ["8M", "7M", "6M"], + scald: ["8M", "7M", "6M"], + scratch: ["8L1", "7L1", "6L1"], + screech: ["8M"], + secretpower: ["6M"], + shadowclaw: ["8M", "7M", "6M"], + shellsmash: ["8L42", "7L1", "6L1"], + skullbash: ["8L1", "7L1", "6L1"], + slash: ["8L28", "7L13", "6L13"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + smackdown: ["7M", "6M"], + snore: ["8M", "7T", "6T"], + stealthrock: ["8M", "7T", "6T"], + stoneedge: ["8M", "8L54", "7M", "7L1", "6M", "6L1"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["8M", "7M", "6M"], + taunt: ["8M", "7M", "6M"], + thief: ["8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["8M"], + watergun: ["8L1", "7L1", "6L4"], + waterpulse: ["7T", "6T"], + whirlpool: ["8M"], + withdraw: ["8L1", "7L7", "6L7"], + xscissor: ["8M", "7M", "6M"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + skrelp: { + learnset: { + acid: ["9L5", "8L5", "7L15", "6L15"], + acidarmor: ["9E", "8E", "7E", "6E"], + acidspray: ["9M"], + aquatail: ["9L45", "8L45", "7T", "7L35", "6T", "6L35"], + attract: ["8M", "7M", "6M"], + bounce: ["8M", "7T", "6T"], + bubble: ["7L12", "6L12"], + camouflage: ["7L19", "6L19"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + dive: ["8M", "6M"], + doubleteam: ["9L20", "8L20", "7M", "7L28", "6M", "6L28"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L49", "6T", "6L49"], + dragontail: ["9M", "9E", "8E"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + feintattack: ["7L5", "6L5"], + flipturn: ["9M", "8T"], + frustration: ["7M", "6M"], + gunkshot: ["9M", "8M", "7T", "6T"], + hail: ["8M", "7M", "6M"], + haze: ["9M", "9E", "8E", "7E", "6E"], + hiddenpower: ["7M", "6M"], + hydropump: ["9M", "9L55", "8M", "8L55", "7L42", "6L42"], + icywind: ["9M", "8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + liquidation: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + outrage: ["9M", "8M", "7T", "6T"], + playrough: ["9M", "8M", "7E", "6E"], + poisontail: ["9M", "9L25", "8L25", "7L23", "6L23"], + protect: ["9M", "8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "7M", "6M"], + scald: ["8M", "7M", "6M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M"], + shockwave: ["7T", "6T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "9L50", "8M", "8L50", "7M", "7L38", "6M", "6L38"], + sludgewave: ["8M", "7M", "6M"], + smokescreen: ["9L1", "8L1", "7L1", "6L1"], + snore: ["8M", "7T", "6T"], + snowscape: ["9M"], + spite: ["9M"], + substitute: ["9M", "8M", "7M", "6M"], + surf: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + tailwhip: ["9L15", "8L15", "7L9", "6L9"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + toxic: ["9M", "9L35", "8L35", "7M", "7L32", "6M", "6L32"], + toxicspikes: ["9M", "8M", "7E", "6E"], + twister: ["9E", "8E"], + venomdrench: ["8M", "7E", "6E"], + venoshock: ["9M", "8M", "7M", "6M"], + waterfall: ["9M", "8M", "7M", "6M"], + watergun: ["9L10", "8L10", "7L1", "6L1"], + waterpulse: ["9M", "9L30", "8L30", "7T", "7L25", "6T", "6L25"], + }, + }, + dragalge: { + learnset: { + acid: ["9L1", "8L1", "7L15", "6L15"], + acidspray: ["9M"], + aquatail: ["9L45", "8L45", "7T", "7L35", "6T", "6L35"], + attract: ["8M", "7M", "6M"], + bounce: ["8M", "7T", "6T"], + bubble: ["7L12", "6L12"], + camouflage: ["7L19", "6L19"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + dive: ["8M", "6M"], + doubleteam: ["9L20", "8L20", "7M", "7L28", "6M", "6L28"], + dracometeor: ["9M", "8T", "7T", "6T"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L53", "6T", "6L53"], + dragontail: ["7M", "7L1", "6M", "6L1"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + feintattack: ["7L1", "6L5"], + flipturn: ["9M", "8T"], + focusblast: ["9M", "8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gunkshot: ["9M", "8M", "7T", "6T"], + hail: ["8M", "7M", "6M"], + haze: ["9M"], + hiddenpower: ["7M", "6M"], + hydropump: ["9M", "9L59", "8M", "8L59", "7L42", "6L42"], + hyperbeam: ["9M", "8M", "7M", "6M"], + icywind: ["9M", "8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + liquidation: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + outrage: ["9M", "9L66", "8M", "8L66", "7T", "6T"], + playrough: ["9M", "8M"], + poisontail: ["9M", "9L25", "8L25", "7L23", "6L23"], + protect: ["9M", "8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "7M", "6M"], + scald: ["9M", "8M", "7M", "6M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M"], + shockwave: ["7T", "6T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "9L52", "8M", "8L52", "7M", "7L38", "6M", "6L38"], + sludgewave: ["8M", "7M", "6M"], + smokescreen: ["9L1", "8L1", "7L1", "6L1"], + snore: ["8M", "7T", "6T"], + snowscape: ["9M"], + spite: ["9M"], + substitute: ["9M", "8M", "7M", "6M"], + surf: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + tailwhip: ["9L15", "8L15", "7L9", "6L9"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M", "8M", "7M", "6M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + toxic: ["9M", "9L35", "8L35", "7M", "7L32", "6M", "6L32"], + toxicspikes: ["9M", "8M"], + twister: ["7L1", "6L1"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M", "6M"], + waterfall: ["9M", "8M", "7M", "6M"], + watergun: ["9L1", "8L1", "7L1", "6L1"], + waterpulse: ["9M", "9L30", "8L30", "7T", "7L25", "6T", "6L25"], + }, + encounters: [ + {generation: 6, level: 35}, + ], + }, + clauncher: { + learnset: { + aquajet: ["9L15", "8L15", "7L43", "7E", "6L43", "6E"], + aquatail: ["9E", "8E", "7T", "6T"], + attract: ["8M", "7M", "6M"], + aurasphere: ["9M", "9L40", "8M", "8L40"], + blizzard: ["9M"], + bounce: ["9L45", "8M", "8L45", "7T", "6T"], + bubble: ["7L12", "6L12"], + bubblebeam: ["9E", "8E", "7L20", "6L20"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crabhammer: ["9L55", "8L55", "7L30", "7E", "6L30", "6E"], + cut: ["6M"], + darkpulse: ["9M"], + dive: ["8M", "6M"], + doubleteam: ["7M", "6M"], + dragonpulse: ["9M", "8M", "7T", "6T"], + endure: ["9M", "8M", "7E", "6E"], + entrainment: ["9E", "8E", "7E", "6E"], + facade: ["9M", "8M", "7M", "6M"], + flail: ["9L10", "8L10", "7L16", "6L16"], + flashcannon: ["9M", "8M", "7M", "6M"], + flipturn: ["9M", "8T"], + frustration: ["7M", "6M"], + helpinghand: ["9M", "8M", "7T", "7E", "6T", "6E"], + hiddenpower: ["7M", "6M"], + honeclaws: ["9L25", "8L25"], + hydropump: ["9M"], + icebeam: ["9M", "8M", "7M", "6M"], + icywind: ["9M", "8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + liquidation: ["9M"], + muddywater: ["9L50", "8M", "8L50", "7L48", "6L48"], + mudshot: ["9M"], + mudslap: ["9M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + scald: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + smackdown: ["9M", "9L20", "8L20", "7M", "7L39", "6M", "6L39"], + snore: ["8M", "7T", "6T"], + splash: ["9L1", "8L1", "7L1", "6L1"], + substitute: ["9M", "8M", "7M", "6M"], + surf: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["9M", "9L35", "8M", "8L35", "7M", "7L25", "6M", "6L25"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + thief: ["9M"], + toxic: ["7M", "6M"], + uturn: ["9M", "8M", "7M", "6M"], + venoshock: ["9M", "8M", "7M", "6M"], + visegrip: ["9L5", "8L5", "7L9", "6L9"], + waterfall: ["9M", "8M", "7M", "6M"], + watergun: ["9L1", "8L1", "7L1", "6L1"], + waterpulse: ["9M", "9L30", "8L30", "7T", "7L34", "6T", "6L34"], + watersport: ["7L7", "6L7"], + weatherball: ["9M"], + }, + }, + clawitzer: { + learnset: { + aquajet: ["9L15", "8L15", "7L49", "6L47"], + aquatail: ["7T", "6T"], + attract: ["8M", "7M", "6M"], + aurasphere: ["9M", "9L42", "8M", "8L42", "7L1", "6L1"], + blizzard: ["9M"], + bodyslam: ["9M"], + bounce: ["9L49", "8M", "8L49", "7T", "6T"], + bubble: ["7L12", "6L12"], + bubblebeam: ["7L20", "6L20"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crabhammer: ["9L63", "8L63", "7L30", "6L30"], + cut: ["6M"], + darkpulse: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1"], + dive: ["8M", "6M"], + doubleteam: ["7M", "6M"], + dragonpulse: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flail: ["9L1", "8L1", "7L16", "6L16"], + flashcannon: ["9M", "8M", "7M", "6M"], + flipturn: ["9M", "8T"], + focusblast: ["9M", "8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + healpulse: ["9L1", "8L1", "7L1", "6L1"], + helpinghand: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + honeclaws: ["9L25", "8L25"], + hydropump: ["9M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + icebeam: ["9M", "8M", "7M", "6M"], + icywind: ["9M", "8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + laserfocus: ["7T"], + liquidation: ["9M", "8M", "7T"], + muddywater: ["9L56", "8M", "8L56", "7L57", "6L53"], + mudshot: ["9M"], + mudslap: ["9M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + scald: ["8M", "7M", "6M"], + scaryface: ["9M"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + smackdown: ["9M", "9L20", "8L20", "7M", "7L42", "6M", "6L42"], + snore: ["8M", "7T", "6T"], + splash: ["9L1", "8L1", "7L1", "6L1"], + substitute: ["9M", "8M", "7M", "6M"], + surf: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swordsdance: ["9M", "9L35", "8M", "8L35", "7M", "7L25", "6M", "6L25"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + thief: ["9M"], + toxic: ["7M", "6M"], + uturn: ["9M", "8M", "7M", "6M"], + venoshock: ["9M", "8M", "7M", "6M"], + visegrip: ["9L1", "8L1", "7L1", "6L9"], + waterfall: ["9M", "8M", "7M", "6M"], + watergun: ["9L1", "8L1", "7L1", "6L1"], + waterpulse: ["9M", "9L30", "8L30", "7T", "7L34", "6T", "6L34"], + watersport: ["7L1", "6L7"], + weatherball: ["9M"], + }, + encounters: [ + {generation: 6, level: 35}, + ], + }, + helioptile: { + learnset: { + agility: ["8M", "7E", "6E"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M"], + bulldoze: ["8M", "8L20", "7M", "7L35", "6M", "6L35"], + camouflage: ["7E", "6E"], + charge: ["8L16", "7L11", "6L11"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M"], + dig: ["8M", "6M"], + doubleteam: ["7M", "6M"], + dragonrush: ["8E"], + dragontail: ["8E", "7M", "6M"], + electricterrain: ["8M", "7E", "6E"], + electrify: ["8L40", "7L45", "6L45"], + electroball: ["8M"], + electroweb: ["8M", "7T", "6T"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + flash: ["6M"], + frustration: ["7M", "6M"], + glare: ["8E", "7E", "6E"], + grassknot: ["8M", "7M", "6M"], + hiddenpower: ["7M", "6M"], + irontail: ["8M", "7T", "6T"], + lightscreen: ["8M", "7M", "6M"], + lowsweep: ["8M", "7M", "6M"], + magnetrise: ["7T", "6T"], + mudslap: ["8L1", "7L13", "6L13"], + paraboliccharge: ["8L28", "7L25", "6L25"], + pound: ["8L4", "7L1", "6L1"], + protect: ["8M", "7M", "6M"], + psychup: ["7M", "6M"], + quickattack: ["8L12", "7L17", "6L17"], + raindance: ["8M", "7M", "6M"], + razorwind: ["7L22", "6L22"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + risingvoltage: ["8T"], + rockslide: ["8M", "7M", "6M"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + scaleshot: ["8T"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + substitute: ["8M", "7M", "6M"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["8M"], + tailwhip: ["8L1", "7L1", "6L1"], + thunder: ["8M", "8L44", "7M", "6M"], + thunderbolt: ["8M", "8L36", "7M", "7L49", "6M", "6L49"], + thundershock: ["8L8", "7L6", "6L6"], + thunderwave: ["8M", "8L32", "7M", "7L31", "6M", "6L31"], + toxic: ["7M", "6M"], + uturn: ["8M", "7M", "6M"], + voltswitch: ["8M", "8L24", "7M", "7L40", "6M", "6L40"], + wildcharge: ["8M", "7M", "6M"], + }, + }, + heliolisk: { + learnset: { + agility: ["8M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "8L1", "7M", "6M"], + charge: ["8L1", "7L1", "6L1"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + cut: ["6M"], + darkpulse: ["8M", "7M", "6M"], + dig: ["8M", "6M"], + discharge: ["8L1"], + doubleteam: ["7M", "6M"], + dragonpulse: ["8M", "7T", "6T"], + dragontail: ["7M", "6M"], + eerieimpulse: ["8M", "8L1", "7L1", "6L1"], + electricterrain: ["8M"], + electrify: ["8L1", "7L1", "6L1"], + electroball: ["8M"], + electroweb: ["8M", "7T", "6T"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + firepunch: ["8M", "7T", "6T"], + flash: ["6M"], + focusblast: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "7M", "6M"], + grassknot: ["8M", "7M", "6M"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + hypervoice: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + lightscreen: ["8M", "7M", "6M"], + lowkick: ["8M", "7T", "6T"], + lowsweep: ["8M", "7M", "6M"], + magnetrise: ["7T", "6T"], + megakick: ["8M"], + megapunch: ["8M"], + mudslap: ["8L1"], + paraboliccharge: ["8L1", "7L1", "6L1"], + pound: ["8L1"], + protect: ["8M", "7M", "6M"], + psychup: ["7M", "6M"], + quickattack: ["8L1", "7L1", "6L1"], + raindance: ["8M", "7M", "6M"], + razorwind: ["7L1", "6L1"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + risingvoltage: ["8T"], + rockslide: ["8M", "7M", "6M"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + scaleshot: ["8T"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + solarbeam: ["8M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["8M"], + tailwhip: ["8L1"], + thunder: ["8M", "8L1", "7M", "7L1", "6M", "6L1"], + thunderbolt: ["8M", "8L1", "7M", "6M"], + thunderpunch: ["8M", "7T", "6T"], + thundershock: ["8L1"], + thunderwave: ["8M", "8L1", "7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["8M", "7M", "6M"], + voltswitch: ["8M", "8L1", "7M", "6M"], + weatherball: ["8M"], + wildcharge: ["8M", "7M", "6M"], + }, + }, + tyrunt: { + learnset: { + aerialace: ["7M", "6M"], + ancientpower: ["8L8", "7L26", "6L26"], + assurance: ["8M"], + attract: ["8M", "7M", "6M"], + bide: ["7L12", "6L12"], + bite: ["8L16", "7L17", "6L17"], + block: ["7T", "6T"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M", "6M"], + bulldoze: ["8M", "7M", "6M"], + charm: ["8M", "8L12", "7L20", "6L20"], + closecombat: ["8M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L32", "7L34", "6L34"], + curse: ["8E", "7E", "6E"], + darkpulse: ["8M", "7M", "6M"], + dig: ["8M", "6M"], + doubleteam: ["7M", "6M"], + dracometeor: ["8T", "7T", "6T"], + dragonclaw: ["8M", "8L36", "7M", "7L37", "6M", "6L37"], + dragondance: ["8M", "7E", "6E"], + dragonpulse: ["8M", "7T", "6T"], + dragontail: ["8L20", "7M", "7L30", "6M", "6L30"], + earthpower: ["8M", "7T", "6T"], + earthquake: ["8M", "8L44", "7M", "7L44", "6M", "6L44"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + firefang: ["8M", "7E", "6E"], + frustration: ["7M", "6M"], + hiddenpower: ["7M", "6M"], + honeclaws: ["6M"], + horndrill: ["8L48", "7L49", "6L49"], + hypervoice: ["8M", "7T", "6T"], + icefang: ["8M", "7E", "6E"], + irondefense: ["8M", "7T", "6T"], + ironhead: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + lashout: ["8T"], + meteorbeam: ["8T"], + outrage: ["8M", "7T", "6T"], + playrough: ["8M"], + poisonfang: ["8E", "7E", "6E"], + protect: ["8M", "7M", "6M"], + psychicfangs: ["8M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roar: ["8L4", "7M", "7L6", "6M", "6L6", "6S0"], + rockblast: ["8M"], + rockpolish: ["8E", "7M", "7E", "6M", "6E"], + rockslide: ["8M", "8L28", "7M", "6M"], + rocksmash: ["6M"], + rockthrow: ["8E"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + scaleshot: ["8T"], + scaryface: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + stealthrock: ["8M", "7T", "7L15", "6T", "6L15"], + stomp: ["8L24", "7L10", "6L10", "6S0"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + swagger: ["7M", "6M"], + tackle: ["8L1", "7L1", "6L1", "6S0"], + tailwhip: ["8L1", "7L1", "6L1", "6S0"], + thrash: ["8L40", "7L40", "6L40"], + thunderfang: ["8M", "7E", "6E"], + toxic: ["7M", "6M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 6, level: 10, isHidden: true, moves: ["tailwhip", "tackle", "roar", "stomp"], pokeball: "cherishball"}, + ], + }, + tyrantrum: { + learnset: { + aerialace: ["7M", "6M"], + ancientpower: ["8L1", "7L26", "6L26"], + assurance: ["8M"], + attract: ["8M", "7M", "6M"], + bide: ["7L12", "6L12"], + bite: ["8L16", "7L17", "6L17"], + block: ["7T", "6T"], + bodyslam: ["8M"], + breakingswipe: ["8M"], + brickbreak: ["8M", "7M", "6M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M", "6M"], + charm: ["8M", "8L12", "7L20", "6L20"], + closecombat: ["8M"], + confide: ["7M", "6M"], + crunch: ["8M", "8L32", "7L34", "6L34"], + darkpulse: ["8M", "7M", "6M"], + dig: ["8M", "6M"], + doubleteam: ["7M", "6M"], + dracometeor: ["8T", "7T", "6T"], + dragonclaw: ["8M", "8L36", "7M", "7L37", "6M", "6L37"], + dragondance: ["8M"], + dragonpulse: ["8M", "7T", "6T"], + dragontail: ["8L20", "7M", "7L30", "6M", "6L30"], + earthpower: ["8M", "7T", "6T"], + earthquake: ["8M", "8L48", "7M", "7L47", "6M", "6L47"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + firefang: ["8M"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "8L60", "7M", "7L68", "6M", "6L75"], + headsmash: ["8L66", "7L1", "6L1"], + hiddenpower: ["7M", "6M"], + highhorsepower: ["8M"], + honeclaws: ["6M"], + horndrill: ["8L54", "7L53", "6L53"], + hyperbeam: ["8M", "7M", "6M"], + hypervoice: ["8M", "7T", "6T"], + icefang: ["8M"], + irondefense: ["8M", "7T", "6T"], + ironhead: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + lashout: ["8T"], + meteorbeam: ["8T"], + outrage: ["8M", "7T", "6T"], + playrough: ["8M"], + protect: ["8M", "7M", "6M"], + psychicfangs: ["8M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roar: ["8L1", "7M", "7L1", "6M", "6L6"], + rockblast: ["8M"], + rockpolish: ["7M", "6M"], + rockslide: ["8M", "8L28", "7M", "7L1", "6M", "6L68"], + rocksmash: ["6M"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + scaleshot: ["8T"], + scaryface: ["8M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + stealthrock: ["8M", "7T", "7L15", "6T", "6L15"], + stomp: ["8L24", "7L1", "6L10"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + swagger: ["7M", "6M"], + tackle: ["8L1", "7L1", "6L1"], + tailwhip: ["8L1", "7L1", "6L1"], + thrash: ["8L42", "7L42", "6L42"], + thunderfang: ["8M"], + toxic: ["7M", "6M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + amaura: { + learnset: { + ancientpower: ["8L8", "7L26", "6L26"], + aquatail: ["7T", "6T"], + attract: ["8M", "7M", "6M"], + aurorabeam: ["8L24", "7L20", "6L20"], + auroraveil: ["8E"], + avalanche: ["8M", "7L34", "6L34"], + barrier: ["7E", "6E"], + blizzard: ["8M", "8L52", "7M", "7L65", "6M", "6L65"], + bodyslam: ["8M"], + bulldoze: ["8M", "7M", "6M"], + calmmind: ["8M", "7M", "6M"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + darkpulse: ["8M", "7M", "6M"], + discharge: ["8E", "7E", "6E"], + doubleteam: ["7M", "6M"], + dragontail: ["7M", "6M"], + dreameater: ["7M", "6M"], + earthpower: ["8M", "7T", "6T"], + echoedvoice: ["7M", "6M"], + encore: ["8M", "8L4", "7L44", "6L44"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + flash: ["6M"], + flashcannon: ["8M", "7M", "6M"], + freezedry: ["8L36"], + frostbreath: ["7M", "6M"], + frustration: ["7M", "6M"], + growl: ["8L1", "7L1", "6L1", "6S0"], + hail: ["8M", "8L48", "7M", "7L38", "6M", "6L38"], + haze: ["8E", "7E", "6E"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "8L56", "7M", "7L57", "6M", "6L57"], + hypervoice: ["8M", "7T", "6T"], + icebeam: ["8M", "8L40", "7M", "7L50", "6M", "6L50"], + icywind: ["8M", "8L12", "7T", "7L13", "6T", "6L13"], + irondefense: ["8M", "7T", "6T"], + ironhead: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + lightscreen: ["8M", "8L44", "7M", "7L47", "6M", "6L47"], + magnetrise: ["7T", "7E", "6T", "6E"], + meteorbeam: ["8T"], + mirrorcoat: ["8E", "7E", "6E"], + mist: ["8L20", "7L18", "6L18"], + mudshot: ["8M"], + naturepower: ["8L32", "7M", "7L41", "6M", "6L41"], + outrage: ["8M", "7T", "6T"], + powdersnow: ["8L1", "7L1", "6L1", "6S0"], + protect: ["8M", "7M", "6M"], + psychup: ["7M", "6M"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roar: ["7M", "6M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rockthrow: ["8E", "7L10", "6L10", "6S0"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "8L16", "7M", "7L30", "6M", "6L30"], + safeguard: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + stealthrock: ["8M", "7T", "6T"], + stoneedge: ["8M", "7M", "6M"], + substitute: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + takedown: ["8E", "7L15", "6L15"], + thunderbolt: ["8M", "7M", "6M"], + thunderwave: ["8M", "8L28", "7M", "7L5", "6M", "6L5", "6S0"], + toxic: ["7M", "6M"], + waterpulse: ["7T", "6T"], + weatherball: ["8M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 6, level: 10, isHidden: true, moves: ["growl", "powdersnow", "thunderwave", "rockthrow"], pokeball: "cherishball"}, + ], + }, + aurorus: { + learnset: { + ancientpower: ["8L1", "7L26", "6L26"], + aquatail: ["7T", "6T"], + attract: ["8M", "7M", "6M"], + aurorabeam: ["8L24", "7L20", "6L20"], + avalanche: ["8M", "7L34", "6L34"], + blizzard: ["8M", "8L60", "7M", "7L74", "6M", "6L74"], + bodyslam: ["8M"], + bulldoze: ["8M", "7M", "6M"], + calmmind: ["8M", "7M", "6M"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + darkpulse: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + dragontail: ["7M", "6M"], + dreameater: ["7M", "6M"], + earthpower: ["8M", "7T", "6T"], + earthquake: ["8M", "7M", "6M"], + echoedvoice: ["7M", "6M"], + encore: ["8M", "8L1", "7L46", "6L46"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + flash: ["6M"], + flashcannon: ["8M", "7M", "6M"], + freezedry: ["8L36", "7L1", "6L1"], + frostbreath: ["7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "7M", "6M"], + growl: ["8L1", "7L1", "6L1"], + hail: ["8M", "8L54", "7M", "7L38", "6M", "6L38"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "8L66", "7M", "7L63", "6M", "6L63"], + hypervoice: ["8M", "7T", "6T"], + icebeam: ["8M", "8L42", "7M", "7L56", "6M", "6L56"], + iciclespear: ["8M"], + icywind: ["8M", "8L12", "7T", "7L13", "6T", "6L13"], + irondefense: ["8M", "7T", "6T"], + ironhead: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + lightscreen: ["8M", "8L48", "7M", "7L50", "6M", "6L50"], + magnetrise: ["7T", "6T"], + meteorbeam: ["8T"], + mist: ["8L20", "7L18", "6L18"], + mudshot: ["8M"], + naturepower: ["8L32", "7M", "7L43", "6M", "6L43"], + outrage: ["8M", "7T", "6T"], + powdersnow: ["8L1", "7L1", "6L1"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "7M", "6M"], + psychup: ["7M", "6M"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roar: ["7M", "6M"], + rockblast: ["8M"], + rockpolish: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + rockthrow: ["7L1", "6L10"], + rocktomb: ["8M", "7M", "6M"], + round: ["8M", "8L16", "7M", "7L30", "6M", "6L30"], + safeguard: ["8M", "7M", "6M"], + sandstorm: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + stealthrock: ["8M", "7T", "6T"], + stoneedge: ["8M", "7M", "6M"], + substitute: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + takedown: ["7L15", "6L15"], + thunder: ["8M", "7M", "6M"], + thunderbolt: ["8M", "7M", "6M"], + thunderwave: ["8M", "8L28", "7M", "7L1", "6M", "6L5"], + toxic: ["7M", "6M"], + waterpulse: ["7T", "6T"], + weatherball: ["8M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + }, + sylveon: { + learnset: { + attract: ["8M", "7M", "6M"], + babydolleyes: ["9L15", "8L15", "7L9", "6S1"], + batonpass: ["9M", "9L1", "8M", "8L1"], + bite: ["9L1", "8L1"], + bodyslam: ["9M", "8M"], + calmmind: ["9M", "8M", "7M", "7S2", "6M"], + celebrate: ["6S0"], + charm: ["9M", "9L1", "8M", "8L1"], + confide: ["7M", "6M"], + copycat: ["9L1", "8L1"], + covet: ["9L1", "8L1", "7T", "6T"], + cut: ["6M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + dig: ["9M", "8M", "6M"], + disarmingvoice: ["9M", "9L0", "8L0", "7L1", "6L1", "6S1"], + doubleedge: ["9L1", "8L1"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M", "9L30", "8M", "8L30", "7L20", "7S2", "6L20", "6S1"], + echoedvoice: ["7M", "6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + fairywind: ["7L1", "6L9", "6S0"], + faketears: ["9M", "8M"], + flash: ["6M"], + focusenergy: ["8M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + growl: ["9L1", "8L1"], + healbell: ["7T", "6T"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "6T", "6L1", "6S0"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "8M", "7M", "7S2", "6M"], + hypervoice: ["9M", "8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + laserfocus: ["7T"], + lastresort: ["9L55", "8L55", "7T", "7L41", "6T", "6L41"], + lightscreen: ["9M", "9L25", "8M", "8L25", "7M", "7L33", "6M", "6L33"], + magicalleaf: ["9M", "8M"], + magiccoat: ["7T", "6T"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "9L35", "8M", "8L35", "7L29", "6L29"], + moonblast: ["9L50", "8L50", "7L37", "6L37"], + mudslap: ["9M"], + mysticalfire: ["8M"], + payday: ["8M"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M"], + psychup: ["9L45", "8L45", "7M", "7L45", "6M", "6L45"], + psyshock: ["9M", "8M", "7M", "7S2", "6M"], + quickattack: ["9L10", "8L10", "7L13", "6L13", "6S1"], + raindance: ["9M", "8M", "7M", "6M"], + reflect: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + retaliate: ["8M", "6M"], + return: ["7M", "6M"], + roar: ["9M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + sandattack: ["9L5", "8L5", "7L5", "6L5", "6S0"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M"], + skillswap: ["9M", "9L40", "8M", "8L40", "7T", "7L25", "6T", "6L25"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M", "9L20", "8M", "8L20", "7L17", "6L17"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + tailwhip: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M", "9L1", "8L1"], + telekinesis: ["7T"], + terablast: ["9M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + weatherball: ["9M", "8M"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 6, level: 10, moves: ["celebrate", "helpinghand", "sandattack", "fairywind"], pokeball: "cherishball"}, + {generation: 6, level: 10, gender: "F", moves: ["disarmingvoice", "babydolleyes", "quickattack", "drainingkiss"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["hyperbeam", "drainingkiss", "psyshock", "calmmind"], pokeball: "cherishball"}, + ], + }, + hawlucha: { + learnset: { + acrobatics: ["9M", "8M", "7M", "6M"], + aerialace: ["9M", "9L12", "8L12", "7M", "7L16", "6M", "6L16"], + agility: ["9M", "8M", "7E", "6E"], + allyswitch: ["8M", "7T", "7E", "6E"], + assurance: ["8M"], + attract: ["8M", "7M", "6M"], + batonpass: ["9M", "8M", "7E", "6E"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + bounce: ["9L28", "8M", "8L28", "7T", "7L32", "6T", "6L32"], + bravebird: ["9M", "8M"], + brickbreak: ["9M", "9L24", "8M", "7M", "6M"], + bulkup: ["9M", "8M", "7M", "6M"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + crosschop: ["9E", "8E"], + cut: ["6M"], + defog: ["9E", "8E", "7T"], + detect: ["9L8", "8L8", "7L1", "6L1"], + dig: ["9M", "8M", "6M"], + doubleteam: ["7M", "6M"], + drainpunch: ["9M", "8M", "7T", "6T"], + dualchop: ["7T", "6T"], + dualwingbeat: ["9M", "8T"], + encore: ["9M", "9L16", "8M", "8L16", "7L20", "6L20"], + endeavor: ["9L52", "8L52", "7T", "7L36", "6T", "6L36"], + endure: ["9M", "8M"], + entrainment: ["9E", "8E", "7E", "6E"], + facade: ["9M", "8M", "7M", "6M"], + falseswipe: ["9M", "8M", "7M", "6M"], + featherdance: ["9L20", "8L20", "7L40", "6L40"], + feint: ["9E", "8E", "7E"], + firepunch: ["9M", "8M", "7T", "6T"], + fling: ["9M", "8M", "7M", "7L24", "6M", "6L24"], + fly: ["9M", "8M", "7M", "6M"], + flyingpress: ["9L44", "8L44", "7L28", "6L28"], + focusblast: ["9M", "8M", "7M", "6M"], + focuspunch: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + grassknot: ["9M", "8M", "7M", "6M"], + helpinghand: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + highjumpkick: ["9L48", "8L48", "7L44", "6L44"], + honeclaws: ["9L1", "8L1", "7L1", "6M", "6L1"], + hyperbeam: ["9M"], + ironhead: ["9M", "8M", "7T", "6T"], + karatechop: ["7L4", "6L4"], + laserfocus: ["7T"], + lastresort: ["7T", "6T"], + lowkick: ["9M", "8M", "7T", "6T"], + lowsweep: ["9M", "8M", "7M", "6M"], + lunge: ["9M"], + meanlook: ["9E", "8E"], + mefirst: ["7E", "6E"], + megakick: ["8M"], + megapunch: ["8M"], + mudsport: ["7E", "6E"], + payback: ["8M", "7M", "6M"], + poisonjab: ["9M", "8M", "7M", "6M"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M"], + quickguard: ["9E", "8E", "7E", "6E"], + raindance: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + retaliate: ["8M", "6M"], + return: ["7M", "6M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rockslide: ["9M", "8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "8M", "7M", "6M"], + roost: ["9L36", "8L36", "7M", "7L12", "6M", "6L12"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + skyattack: ["9L56", "8L56", "7T", "7L48", "6T", "6L48"], + skydrop: ["7M", "7L55", "6M", "6L55"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + steelwing: ["8M", "7M", "6M"], + stoneedge: ["9M", "8M", "7M", "6M"], + strength: ["6M"], + submission: ["8L24"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + swagger: ["7M", "6M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L40", "8M", "8L40", "7M", "7L60", "6M", "6L60"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + tailwind: ["7T", "6T"], + takedown: ["9M"], + taunt: ["9M", "9L32", "8M", "8L32", "7M", "6M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["8M", "7T"], + thunderpunch: ["9M", "8M", "7T", "6T"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + uproar: ["9M"], + uturn: ["9M", "8M", "7M", "6M"], + wingattack: ["9L4", "8L4", "7L8", "6L8"], + workup: ["8M", "7M"], + xscissor: ["9M", "8M", "7M", "6M"], + zenheadbutt: ["9M", "8M", "7T", "6T"], + }, + }, + dedenne: { + learnset: { + aerialace: ["7M", "6M"], + agility: ["9M"], + allyswitch: ["8M", "7T"], + attract: ["8M", "7M", "6M"], + charge: ["9M", "9L10", "8L10", "7L11", "6L11"], + chargebeam: ["9M", "7M", "7L34", "6M", "6L34"], + charm: ["9M", "9L20", "8M", "8L20", "7L14", "6L14"], + confide: ["7M", "6M"], + covet: ["9E", "8E", "7T", "7E", "6T", "6E"], + cut: ["6M"], + dazzlinggleam: ["9M", "8M"], + dig: ["9M", "8M", "6M"], + discharge: ["9L40", "8L40", "7L50", "6L50"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M"], + eerieimpulse: ["9M", "8M", "7E", "6E"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T", "6T"], + endure: ["9M", "8M"], + entrainment: ["9L55", "8L55", "7L39", "6L39"], + facade: ["9M", "8M", "7M", "6M"], + flash: ["6M"], + fling: ["9M", "8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + grassknot: ["9M", "8M", "7M", "6M"], + helpinghand: ["9M", "8M", "7T", "7E", "6T", "6E"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M"], + irontail: ["8M", "7T", "6T"], + lastresort: ["7T", "6T"], + lightscreen: ["9M"], + magnetrise: ["9E", "8E", "7T", "6T"], + mistyterrain: ["9M"], + naturalgift: ["7E", "6E"], + nuzzle: ["9L1", "8L1", "7L20", "6L20"], + paraboliccharge: ["9L25", "8L25", "7L17", "6L17"], + playrough: ["9M", "9L45", "8M", "8L45", "7L42", "6L42"], + protect: ["9M", "8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + recycle: ["7T", "6T"], + rest: ["9M", "9L35", "8M", "8L35", "7M", "7L30", "6M", "6L30"], + retaliate: ["8M", "6M"], + return: ["7M", "6M"], + risingvoltage: ["8T"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["9L35", "8M", "8L35", "7T", "7L31", "6T", "6L31"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superfang: ["9M", "9L50", "8L50", "7T", "6T"], + swagger: ["7M", "6M"], + swift: ["9M"], + tackle: ["9L5", "8L5", "7L1", "6L1"], + tailwhip: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M"], + tearfullook: ["9E", "8E", "7E"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + thunder: ["9M", "9L60", "8M", "8L60", "7M", "7L45", "6M", "6L45"], + thunderbolt: ["9M", "8M", "7M", "6M"], + thunderpunch: ["9M", "8M", "7T", "6T"], + thundershock: ["9L15", "8L15", "7L7", "6L7"], + thunderwave: ["9M", "8M", "7M", "7L23", "6M", "6L23"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "6M"], + voltswitch: ["9M", "9L30", "8M", "8L30", "7M", "7L26", "6M", "6L26"], + wildcharge: ["9M", "8M", "7M", "6M"], + }, + }, + carbink: { + learnset: { + afteryou: ["7T", "6T"], + allyswitch: ["8M", "7T"], + ancientpower: ["9L20", "8L20", "7L31", "6L31"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + calmmind: ["9M", "8M", "7M", "6M"], + charm: ["9M", "8M"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + earthpower: ["9M", "8M", "7T", "6T"], + endure: ["9M", "8M"], + explosion: ["7M", "6M"], + facade: ["9M", "8M", "7M", "6M"], + flail: ["9L15", "8L15", "7L35", "6L35"], + flash: ["6M"], + flashcannon: ["9M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M"], + gravity: ["9M", "7T", "6T"], + guardsplit: ["9L5", "8L5", "7L27", "6L27"], + guardswap: ["8M"], + gyroball: ["9M", "8M", "7M", "6M"], + hail: ["8M", "7M", "6M"], + harden: ["9L1", "8L1", "7L1", "6L1"], + heavyslam: ["9M"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M"], + irondefense: ["9M", "8M", "7T", "6T"], + ironhead: ["9M"], + lightscreen: ["9M", "9L30", "8M", "8L30", "7M", "7L60", "6M", "6L60"], + magiccoat: ["7T", "6T"], + magnetrise: ["7T", "6T"], + meteorbeam: ["8T"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M"], + moonblast: ["9L55", "8L55", "7L50", "6L50"], + naturepower: ["7M", "6M"], + powergem: ["9M", "9L45", "8M", "8L45", "7L46", "6L46"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M", "8M", "7M", "6M"], + psychup: ["7M", "6M"], + raindance: ["9M"], + reflect: ["9M", "8M", "7M", "7L18", "6M", "6L18"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockblast: ["9M"], + rockpolish: ["9L25", "8L25", "7M", "6M"], + rockslide: ["9M", "9L35", "8M", "8L35", "7M", "6M"], + rockthrow: ["7L5", "6L5"], + rocktomb: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "7L70", "6M", "6L70"], + sandstorm: ["9M", "8M", "7M", "6M"], + sandtomb: ["9M", "8M"], + secretpower: ["6M"], + sharpen: ["7L8", "6L8"], + skillswap: ["9M", "9L40", "8M", "8L40", "7T", "7L40", "6T", "6L40"], + sleeptalk: ["9M", "8M", "7M", "6M"], + smackdown: ["9M", "9L10", "8L10", "7M", "7L12", "6M", "6L12"], + snore: ["8M", "7T", "6T"], + spikes: ["9M"], + stealthrock: ["9M", "9L50", "8M", "8L50", "7T", "7L21", "6T", "6L21"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L60", "8M", "8L60", "7M", "7L49", "6M", "6L49"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M"], + telekinesis: ["7T"], + terablast: ["9M"], + terrainpulse: ["8T"], + toxic: ["7M", "6M"], + trickroom: ["9M", "8M", "7M", "6M"], + wonderroom: ["8M", "7T", "6T"], + }, + }, + goomy: { + learnset: { + absorb: ["9L1", "8L1", "7L5", "6L5"], + acidarmor: ["7E", "6E"], + attract: ["8M", "7M", "6M"], + bide: ["7L13", "6L13"], + bodyslam: ["9M", "9L45", "8M", "8L45", "7L32", "7S0", "6L32"], + bubble: ["7L1", "6L1"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + counter: ["9E", "8E", "7E", "7S0", "6E"], + curse: ["9L41", "8L41", "7E", "6E"], + doubleteam: ["7M", "6M"], + dracometeor: ["9M", "8T", "7T", "6T"], + dragonbreath: ["9L10", "8L10", "7L18", "6L18"], + dragonpulse: ["9M", "9L35", "8M", "8L35", "7T", "7L42", "7S0", "6T", "6L42"], + endure: ["9M", "8M", "7E", "6E"], + facade: ["9M", "8M", "7M", "6M"], + flail: ["9L20", "8L20", "7L28", "6L28"], + frustration: ["7M", "6M"], + hiddenpower: ["7M", "6M"], + infestation: ["7M", "6M"], + irontail: ["8M", "7T", "7E", "6T", "6E"], + lifedew: ["9E", "8E"], + muddywater: ["9L50", "8M", "8L50", "7L38", "6L38"], + mudshot: ["9M", "8M"], + outrage: ["9M", "8M", "7T", "6T"], + poisontail: ["7E", "6E"], + protect: ["9M", "9L15", "8M", "8L15", "7M", "7L9", "6M", "6L9"], + raindance: ["9M", "9L30", "8M", "8L30", "7M", "7L25", "6M", "6L25"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + toxic: ["7M", "6M"], + watergun: ["9L5", "8L5"], + waterpulse: ["9M", "9L25", "8L25", "7T", "6T"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, isHidden: true, moves: ["bodyslam", "dragonpulse", "counter"], pokeball: "cherishball"}, + ], + }, + sliggoo: { + learnset: { + absorb: ["9L1", "8L1", "7L1", "6L5"], + acidarmor: ["9L1"], + acidspray: ["9M", "9L0", "8L0"], + attract: ["8M", "7M", "6M"], + bide: ["7L13", "6L13"], + blizzard: ["9M", "8M", "7M", "6M"], + bodyslam: ["9M", "9L49", "8M", "8L49", "7L32", "6L32"], + bubble: ["7L1", "6L1"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + curse: ["9L43", "8L43"], + doubleteam: ["7M", "6M"], + dracometeor: ["9M", "8T", "7T", "6T"], + dragonbreath: ["9L1", "8L1", "7L18", "6L18"], + dragonpulse: ["9M", "9L35", "8M", "8L35", "7T", "7L47", "6T", "6L47"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flail: ["9L20", "8L20", "7L28", "6L28"], + frustration: ["7M", "6M"], + hiddenpower: ["7M", "6M"], + icebeam: ["9M", "8M", "7M", "6M"], + infestation: ["7M", "6M"], + irontail: ["8M", "7T", "6T"], + muddywater: ["9L56", "8M", "8L56", "7L38", "6L38"], + mudshot: ["9M", "8M"], + outrage: ["9M", "8M", "7T", "6T"], + protect: ["9M", "9L15", "8M", "8L15", "7M", "7L9", "6M", "6L9"], + raindance: ["9M", "9L30", "8M", "8L30", "7M", "7L25", "6M", "6L25"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + toxic: ["9M", "7M", "6M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "9L25", "8L25", "7T", "6T"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + sliggoohisui: { + learnset: { + absorb: ["9L1"], + acidarmor: ["9L1"], + acidspray: ["9M"], + blizzard: ["9M"], + bodyslam: ["9M"], + charm: ["9M"], + chillingwater: ["9M"], + curse: ["9L43"], + dracometeor: ["9M"], + dragonbreath: ["9L1"], + dragonpulse: ["9M", "9L35"], + endure: ["9M"], + facade: ["9M"], + flail: ["9L20"], + flashcannon: ["9M"], + gyroball: ["9M"], + heavyslam: ["9M"], + icebeam: ["9M"], + icespinner: ["9M"], + ironhead: ["9M", "9L49"], + muddywater: ["9L56"], + mudshot: ["9M"], + outrage: ["9M"], + protect: ["9M", "9L15"], + raindance: ["9M", "9L30"], + rest: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + shelter: ["9L0"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + steelbeam: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M", "9L25"], + }, + }, + goodra: { + learnset: { + absorb: ["9L1", "8L1", "7L1", "6L5"], + acidspray: ["9M", "9L1", "8L1"], + aquatail: ["9L0", "8L0", "7T", "7L1", "6T", "6L50"], + assurance: ["8M"], + attract: ["8M", "7M", "6M"], + bide: ["7L13", "6L13"], + blizzard: ["9M", "8M", "7M", "6M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L49", "8M", "8L49", "7L32", "6L32"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + bubble: ["7L1", "6L1"], + bulldoze: ["9M", "8M", "7M", "6M"], + charm: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + curse: ["9L43", "8L43"], + doubleteam: ["7M", "6M"], + dracometeor: ["9M", "8T", "7T", "6T"], + dragonbreath: ["9L1", "8L1", "7L18", "6L18"], + dragonclaw: ["9M"], + dragonpulse: ["9M", "8M", "8L35", "7T", "7L47", "6T", "6L47"], + dragontail: ["9M", "7M", "6M"], + earthquake: ["9M", "8M", "7M", "6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + feint: ["9L1", "8L1", "7L1", "6L1"], + fireblast: ["9M", "8M", "7M", "6M"], + firepunch: ["9M", "8M", "7T", "6T"], + flail: ["9L20", "8L20", "7L28", "6L28"], + flamethrower: ["9M", "8M", "7M", "6M"], + focusblast: ["9M", "8M", "7M", "6M"], + focuspunch: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + hail: ["8M", "7M", "6M"], + hiddenpower: ["7M", "6M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + icebeam: ["9M", "8M", "7M", "6M"], + incinerate: ["6M"], + infestation: ["7M", "6M"], + irontail: ["8M", "7T", "6T"], + knockoff: ["9M"], + laserfocus: ["7T"], + megakick: ["8M"], + megapunch: ["8M"], + muddywater: ["9L58", "8M", "8L58", "7L38", "6L38"], + mudshot: ["9M", "8M"], + outrage: ["9M", "8M", "7T", "7L1", "6T", "6L1"], + poisontail: ["9M", "9L1", "8L1"], + powerwhip: ["9L67", "8M", "8L67", "7L50", "6L55"], + protect: ["9M", "9L15", "8M", "8L15", "7M", "7L1", "6M", "6L9"], + raindance: ["9M", "9L30", "8M", "8L30", "7M", "7L25", "6M", "6L25"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + rocksmash: ["6M"], + round: ["8M", "7M", "6M"], + scald: ["9M"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + stompingtantrum: ["9M", "8M", "7T"], + strength: ["6M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + surf: ["9M", "8M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M"], + tearfullook: ["9L1", "8L1"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M", "6M"], + thunderbolt: ["9M", "8M", "7M", "6M"], + thunderpunch: ["9M", "8M", "7T", "6T"], + toxic: ["9M", "7M", "6M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "9L25", "8L25", "7T", "6T"], + weatherball: ["9M", "8M"], + }, + }, + goodrahisui: { + learnset: { + absorb: ["9L1"], + acidspray: ["9M", "9L1"], + blizzard: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M", "9L49"], + bulldoze: ["9M"], + charm: ["9M"], + chillingwater: ["9M"], + curse: ["9L43"], + dracometeor: ["9M"], + dragonbreath: ["9L1"], + dragonclaw: ["9M"], + dragonpulse: ["9M", "9L35"], + dragontail: ["9M"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + feint: ["9L1"], + fireblast: ["9M"], + firepunch: ["9M"], + flail: ["9L20"], + flamethrower: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + gyroball: ["9M"], + heavyslam: ["9M", "9L67"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icespinner: ["9M"], + ironhead: ["9M", "9L49"], + irontail: ["9L0"], + knockoff: ["9M"], + lashout: ["9M"], + muddywater: ["9L58"], + mudshot: ["9M"], + outrage: ["9M"], + protect: ["9M", "9L15"], + raindance: ["9M", "9L30"], + rest: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + shelter: ["9L1"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + steelbeam: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + surf: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + tearfullook: ["9L1"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderpunch: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M", "9L25"], + weatherball: ["9M"], + }, + }, + klefki: { + learnset: { + astonish: ["9L1", "8L1", "7L8", "6L8"], + attract: ["8M", "7M", "6M"], + calmmind: ["9M", "8M", "7M", "6M"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + craftyshield: ["8L16", "7L23", "6L23"], + cut: ["6M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + defog: ["7T"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M", "9L24", "8M", "8L24", "7L18", "6L18"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + fairylock: ["9L16", "8L1", "7L1", "6L1"], + fairywind: ["9L8", "8L8", "7L5", "6L5"], + flashcannon: ["9M", "9L36", "8M", "8L36", "7M", "6M"], + foulplay: ["9M", "9L48", "8M", "8L48", "7T", "7L27", "6T", "6L27"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + healblock: ["7L50", "6L50"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + imprison: ["9M", "9L32", "8M", "8L32", "7L36", "6L36"], + irondefense: ["9M", "8M", "7T", "7E", "6T", "6E"], + lastresort: ["9L52", "8L52", "7T", "6T"], + lightscreen: ["9M", "8M", "7M", "6M"], + lockon: ["7E", "6E"], + magiccoat: ["7T", "6T"], + magicroom: ["9L44", "8M", "8L44", "7T", "7L44", "6T", "6L44"], + magnetrise: ["9E", "8E", "7T", "6T"], + metalsound: ["9L20", "8L20", "7L12", "6L12"], + mirrorshot: ["7L34", "6L34"], + mistyterrain: ["9M", "8M"], + playrough: ["9M", "9L40", "8M", "8L40", "7L43", "6L43"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M", "8M", "7M", "6M"], + psychup: ["7M", "6M"], + psyshock: ["9M", "8M", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + recycle: ["9L28", "8L28", "7T", "7L40", "6T", "6L40"], + reflect: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + sandstorm: ["9M"], + secretpower: ["6M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + spikes: ["9M", "8M", "7L15", "6L15"], + steelbeam: ["9M", "8T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + switcheroo: ["9E", "8E", "7E", "6E"], + tackle: ["9L4", "8L4", "7L1", "6L1"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "7E", "6M", "6E"], + thunderwave: ["9M", "8M", "7M", "6M"], + torment: ["9L12", "8L12", "7M", "7L32", "6M", "6L32"], + toxic: ["7M", "6M"], + trickroom: ["9M"], + }, + }, + phantump: { + learnset: { + allyswitch: ["9E", "8M", "7T"], + astonish: ["9L1", "8L1", "7L5", "6L5"], + attract: ["8M", "7M", "6M"], + bestow: ["7E", "6E"], + branchpoke: ["9L4", "8L4"], + bulldoze: ["9M", "8M", "7M", "6M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L12", "8L12", "7L1", "6L1"], + curse: ["9L32", "8L32", "7L28", "6L28"], + cut: ["6M"], + darkpulse: ["9M", "8M", "7M", "6M"], + destinybond: ["9L48", "8L48", "7L39", "6L39"], + dig: ["9M", "8M", "6M"], + disable: ["9E", "8E"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M"], + facade: ["9M", "8M", "7M", "6M"], + feintattack: ["7L19", "6L19"], + forestscurse: ["9L52", "8L52", "7L35", "6L35"], + foulplay: ["9M", "8M", "7T", "6T"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "8M", "7T", "6T"], + grassknot: ["9M", "8M", "7M", "6M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growth: ["9L24", "8L24", "7L8", "6L8"], + grudge: ["8E", "7E", "6E"], + hex: ["9M", "9L20", "8M", "8L20"], + hiddenpower: ["7M", "6M"], + hornleech: ["9L28", "8L28", "7L54", "6L54"], + imprison: ["9M", "8M", "7E", "6E"], + ingrain: ["9L40", "8L40", "7L13", "6L13"], + lashout: ["9M"], + leechseed: ["9L8", "8L8", "7L23", "6L23"], + magicalleaf: ["9M", "8M"], + magiccoat: ["7T", "6T"], + naturepower: ["7M", "6M"], + nightshade: ["9M"], + painsplit: ["7T", "6T"], + phantomforce: ["9M", "9L36", "8M", "8L36", "7L45", "6L45"], + poisonjab: ["9M", "8M", "7M", "6M"], + poltergeist: ["9M", "8T"], + poweruppunch: ["7E"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M", "8M", "7M", "6M"], + raindance: ["9M"], + reflect: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + rocksmash: ["6M"], + roleplay: ["7T", "6T"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + secretpower: ["6M"], + seedbomb: ["9M", "8M", "7T", "6T"], + shadowball: ["9M", "8M", "7M", "6M"], + shadowclaw: ["9M", "8M", "7M", "6M"], + skillswap: ["9M", "8M", "7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + solarbeam: ["9M", "8M", "7M", "6M"], + spite: ["9M", "7T", "6T"], + strength: ["6M"], + substitute: ["9M", "8M", "7M", "6M"], + suckerpunch: ["9E", "8E"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + toxic: ["7M", "6M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T"], + trickroom: ["9M", "8M", "7M", "6M"], + venomdrench: ["8M", "7E", "6E"], + willowisp: ["9M", "9L16", "8M", "8L16", "7M", "7L31", "6M", "6L31"], + woodhammer: ["9L44", "8L44", "7L49", "6L49"], + worryseed: ["7T", "6T"], + }, + }, + trevenant: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["9L1", "8L1", "7L1", "6L5"], + attract: ["8M", "7M", "6M"], + block: ["7T", "6T"], + branchpoke: ["9L1", "8L1"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M", "6M"], + burningjealousy: ["9M"], + calmmind: ["9M", "8M", "7M", "6M"], + confide: ["7M", "6M"], + confuseray: ["9M", "9L12", "8L12", "7L1", "6L1"], + curse: ["9L32", "8L32", "7L28", "6L28"], + cut: ["6M"], + darkpulse: ["9M", "8M", "7M", "6M"], + destinybond: ["9L48", "8L48", "7L39", "6L39"], + dig: ["9M", "8M", "6M"], + doubleteam: ["7M", "6M"], + drainpunch: ["9M", "8M", "7T", "6T"], + dreameater: ["7M", "6M"], + earthquake: ["9M", "8M", "7M", "6M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "6M"], + facade: ["9M", "8M", "7M", "6M"], + feintattack: ["7L19", "6L19"], + focusblast: ["9M", "8M", "7M", "6M"], + forestscurse: ["9L52", "8L52", "7L35", "6L35"], + foulplay: ["9M", "8M", "7T", "6T"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "8M", "7T", "6T"], + gigaimpact: ["9M", "8M", "7M", "6M"], + grassknot: ["9M", "8M", "7M", "6M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growth: ["9L24", "8L24", "7L1", "6L8"], + haze: ["9M"], + hex: ["9M", "9L20", "8M", "8L20"], + hiddenpower: ["7M", "6M"], + honeclaws: ["6M"], + hornleech: ["9L28", "8L28", "7L1", "6L1"], + hyperbeam: ["9M", "8M", "7M", "6M"], + imprison: ["9M", "8M"], + ingrain: ["9L40", "8L40", "7L13", "6L13"], + knockoff: ["9M"], + lashout: ["9M"], + leafstorm: ["9M", "8M"], + leechseed: ["9L1", "8L1", "7L23", "6L23"], + magicalleaf: ["9M", "8M"], + magiccoat: ["7T", "6T"], + naturepower: ["7M", "6M"], + nightshade: ["9M"], + painsplit: ["7T", "6T"], + phantomforce: ["9M", "9L36", "8M", "8L36", "7L45", "6L45"], + poisonjab: ["9M", "8M", "7M", "6M"], + poltergeist: ["9M", "8T"], + poweruppunch: ["6M"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M", "8M", "7M", "6M"], + raindance: ["9M"], + reflect: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + rocksmash: ["6M"], + roleplay: ["7T", "6T"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + scaryface: ["9M"], + secretpower: ["6M"], + seedbomb: ["9M", "8M", "7T", "6T"], + shadowball: ["9M", "8M", "7M", "6M"], + shadowclaw: ["9M", "9L0", "8M", "8L0", "7M", "7L1", "6M", "6L55"], + skillswap: ["9M", "8M", "7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + solarbeam: ["9M", "8M", "7M", "6M"], + spite: ["9M", "7T", "6T"], + strength: ["6M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + toxic: ["9M", "7M", "6M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "6T"], + trickroom: ["9M", "8M", "7M", "6M"], + venomdrench: ["8M"], + willowisp: ["9M", "9L16", "8M", "8L16", "7M", "7L31", "6M", "6L31"], + woodhammer: ["9L44", "8L44", "7L49", "6L49"], + worryseed: ["7T", "6T"], + xscissor: ["9M", "8M", "7M", "6M"], + }, + }, + pumpkaboo: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L1", "6L1"], + attract: ["8M", "7M", "6M"], + bestow: ["7E", "6E"], + bulletseed: ["8M", "8L20", "7L26", "6L26"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + confuseray: ["8L8", "7L1", "6L1"], + curse: ["8E", "7E"], + darkpulse: ["8M", "7M", "6M"], + destinybond: ["8E", "7E", "6E"], + disable: ["8E", "7E", "6E"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M"], + explosion: ["7M", "6M"], + facade: ["8M", "7M", "6M"], + fireblast: ["8M", "7M", "6M"], + flamecharge: ["7M", "6M"], + flamethrower: ["8M", "7M", "6M"], + flash: ["6M"], + foulplay: ["8M", "7T", "6T"], + frustration: ["7M", "6M"], + gigadrain: ["8M", "7T", "6T"], + grassknot: ["8M", "7M", "6M"], + grassyglide: ["8T"], + gyroball: ["8M", "7M", "6M"], + hex: ["8M"], + hiddenpower: ["7M", "6M"], + imprison: ["8M"], + incinerate: ["6M"], + leechseed: ["8L16", "7L20", "6L20"], + lightscreen: ["8M", "7M", "6M"], + magiccoat: ["7T", "6T"], + mysticalfire: ["8M"], + naturepower: ["7M", "6M"], + painsplit: ["8L44", "7T", "7L42", "6T", "6L42"], + poltergeist: ["8T"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "7M", "6M"], + razorleaf: ["8L12", "7L16", "6L16"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + roleplay: ["7T", "6T"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + scaryface: ["8M", "8L24", "7L4", "6L4"], + secretpower: ["6M"], + seedbomb: ["8M", "8L32", "7T", "7L48", "6T", "6L48"], + shadowball: ["8M", "8L36", "7M", "7L36", "6M", "6L36"], + shadowsneak: ["8L4", "7L30", "6L30"], + skillswap: ["8M", "7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + snore: ["8M"], + solarbeam: ["8M", "7M", "6M"], + spite: ["7T", "6T"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + synthesis: ["7T", "6T"], + telekinesis: ["7T"], + thief: ["8M", "7M", "6M"], + toxic: ["7M", "6M"], + trick: ["8M", "8L40", "7T", "7L1", "6T", "6L1"], + trickortreat: ["8L1", "7L23", "6L6"], + trickroom: ["8M", "7M", "6M"], + willowisp: ["8M", "7M", "6M"], + worryseed: ["8L28", "7T", "7L11", "6T", "6L11"], + }, + }, + pumpkaboosuper: { + learnset: { + astonish: ["6S0"], + scaryface: ["6S0"], + shadowsneak: ["6S0"], + trickortreat: ["6S0"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["trickortreat", "astonish", "scaryface", "shadowsneak"], pokeball: "cherishball"}, + ], + }, + gourgeist: { + learnset: { + allyswitch: ["8M", "7T"], + astonish: ["8L1", "7L1", "6L1"], + attract: ["8M", "7M", "6M"], + brutalswing: ["8M"], + bulletseed: ["8M", "8L20", "7L26", "6L26"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + confuseray: ["8L1", "7L1", "6L1"], + darkpulse: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + dreameater: ["7M", "6M"], + endure: ["8M"], + energyball: ["8M", "7M", "6M"], + explosion: ["8L1", "7M", "7L1", "6M", "6L1"], + facade: ["8M", "7M", "6M"], + fireblast: ["8M", "7M", "6M"], + flamecharge: ["7M", "6M"], + flamethrower: ["8M", "7M", "6M"], + flash: ["6M"], + focusblast: ["8M", "7M", "6M"], + foulplay: ["8M", "7T", "6T"], + frustration: ["7M", "6M"], + gigadrain: ["8M", "7T", "6T"], + gigaimpact: ["8M", "7M", "6M"], + grassknot: ["8M", "7M", "6M"], + grassyglide: ["8T"], + gyroball: ["8M", "7M", "6M"], + hex: ["8M"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["8M", "7M", "6M"], + imprison: ["8M"], + incinerate: ["6M"], + leechseed: ["8L16", "7L20", "6L20"], + lightscreen: ["8M", "7M", "6M"], + magiccoat: ["7T", "6T"], + moonblast: ["8L1"], + mysticalfire: ["8M"], + nastyplot: ["8M"], + naturepower: ["7M", "6M"], + painsplit: ["8L44", "7T", "7L42", "6T", "6L42"], + phantomforce: ["8M", "8L48", "7L1", "6L1"], + poltergeist: ["8T"], + powerwhip: ["8M"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "7M", "6M"], + razorleaf: ["8L12", "7L16", "6L16"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + roleplay: ["7T", "6T"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + scaryface: ["8M", "8L24", "7L1", "6L4"], + secretpower: ["6M"], + seedbomb: ["8M", "8L32", "7T", "7L48", "6T", "6L48"], + shadowball: ["8M", "8L36", "7M", "7L36", "6M", "6L36"], + shadowsneak: ["8L1", "7L30", "6L30"], + skillswap: ["8M", "7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M"], + sludgebomb: ["8M", "7M", "6M"], + snore: ["8M"], + solarbeam: ["8M", "7M", "6M"], + spite: ["7T", "6T"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + synthesis: ["7T", "6T"], + telekinesis: ["7T"], + thief: ["8M", "7M", "6M"], + toxic: ["7M", "6M"], + trick: ["8M", "8L40", "7T", "7L1", "6T", "6L1"], + trickortreat: ["8L1", "7L23", "6L6"], + trickroom: ["8M", "7M", "6M"], + willowisp: ["8M", "7M", "6M"], + worryseed: ["8L28", "7T", "7L11", "6T", "6L11"], + }, + }, + bergmite: { + learnset: { + afteryou: ["7T", "6T"], + attract: ["8M", "7M", "6M"], + auroraveil: ["9E", "8E"], + avalanche: ["9M", "9L18", "8M", "8L18", "7L39", "6L39"], + barrier: ["7E", "6E"], + bite: ["9L21", "8L21", "7L1", "6L1"], + blizzard: ["9M", "9L39", "8M", "8L39", "7M", "7L43", "6M", "6L43"], + bodyslam: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L33", "8M", "8L33"], + curse: ["9L9", "8L9", "7L22", "6L22"], + doubleedge: ["9L42", "8L42", "7L49", "6L49"], + doubleteam: ["7M", "6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flash: ["6M"], + flashcannon: ["8M", "7M", "6M"], + frostbreath: ["7M", "6M"], + frustration: ["7M", "6M"], + gyroball: ["9M", "8M", "7M", "6M"], + hail: ["8M", "7M", "6M"], + harden: ["9L1", "8L1", "7L1", "6L1"], + hiddenpower: ["7M", "6M"], + iceball: ["7L30", "6L30"], + icebeam: ["9M", "8M", "7M", "6M"], + icefang: ["9M", "9L24", "8M", "8L24", "7L26", "6L26"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L12", "8M", "8L12", "7T", "7L10", "6T", "6L10"], + irondefense: ["9M", "9L27", "8M", "8L27", "7T", "6T"], + mirrorcoat: ["9E", "8E", "7E", "6E"], + mist: ["9E", "8E", "7E", "6E"], + powdersnow: ["9L6", "8L6", "7L5", "6L5"], + protect: ["9M", "9L15", "8M", "8L15", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + rapidspin: ["9L1", "8L1", "7L35", "6L35"], + recover: ["9L30", "8L30", "7L47", "7E", "6L47", "6E"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockpolish: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + secretpower: ["6M"], + sharpen: ["7L20", "6L20"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + snowscape: ["9M"], + stoneedge: ["9M", "8M", "7M", "6M"], + strength: ["6M"], + substitute: ["9M", "8M", "7M", "6M"], + surf: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L3", "8L3", "7L1", "6L1"], + takedown: ["9M", "9L36", "8L36", "7L15", "6L15"], + terablast: ["9M"], + toxic: ["7M", "6M"], + waterpulse: ["7T", "6T"], + }, + }, + avalugg: { + learnset: { + afteryou: ["7T", "6T"], + attract: ["8M", "7M", "6M"], + avalanche: ["9M", "9L18", "8M", "8L18", "7L42", "6L42"], + bite: ["9L21", "8L21", "7L1", "6L1"], + blizzard: ["9M", "9L41", "8M", "8L41", "7M", "7L46", "6M", "6L46"], + block: ["7T", "6T"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L0", "8M", "8L0", "7L1"], + bulldoze: ["9M", "8M", "7M", "6M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "9L33", "8M", "8L33", "7L1", "6L1"], + curse: ["9L9", "8L9", "7L22", "6L22"], + doubleedge: ["9L46", "8L46", "7L56", "6L56"], + doubleteam: ["7M", "6M"], + earthquake: ["9M", "8M", "7M", "6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flash: ["6M"], + flashcannon: ["9M", "8M", "7M", "6M"], + frostbreath: ["7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gyroball: ["9M", "8M", "7M", "6M"], + hail: ["8M", "7M", "6M"], + harden: ["9L1", "8L1", "7L1", "6L1"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "6M"], + highhorsepower: ["9M", "8M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + iceball: ["7L30", "6L30"], + icebeam: ["9M", "8M", "7M", "6M"], + icefang: ["9M", "9L24", "8M", "8L24", "7L26", "6L26"], + icespinner: ["9M"], + iciclecrash: ["9L51"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L12", "8M", "8L12", "7T", "7L10", "6T", "6L10"], + irondefense: ["9M", "9L27", "8M", "8L27", "7T", "7L1", "6T", "6L1"], + ironhead: ["9M", "8M", "7T", "6T"], + powdersnow: ["9L1", "8L1", "7L1", "6L5"], + protect: ["9M", "9L15", "8M", "8L15", "7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + rapidspin: ["9L1", "8L1", "7L35", "6L35"], + recover: ["9L30", "8L30", "7L51", "6L51"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + roar: ["7M", "6M"], + rockpolish: ["7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + scaryface: ["9M"], + secretpower: ["6M"], + sharpen: ["7L20", "6L20"], + skullbash: ["8L51", "7L1", "6L1"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + snowscape: ["9M"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M"], + strength: ["6M"], + substitute: ["9M", "8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + surf: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M", "9L36", "8L36", "7L15", "6L15"], + terablast: ["9M"], + toxic: ["7M", "6M"], + waterpulse: ["7T", "6T"], + wideguard: ["9L1", "8L1", "7L1"], + }, + }, + avalugghisui: { + learnset: { + avalanche: ["9M", "9L18"], + bite: ["9L21"], + blizzard: ["9M", "9L41"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + crunch: ["9M", "9L33"], + curse: ["9L9"], + dig: ["9M"], + doubleedge: ["9L46"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + gyroball: ["9M"], + harden: ["9L1"], + heavyslam: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icefang: ["9M", "9L24"], + icespinner: ["9M"], + iciclespear: ["9M"], + icywind: ["9M", "9L12"], + irondefense: ["9M", "9L27"], + ironhead: ["9M"], + mountaingale: ["9L61"], + powdersnow: ["9L1"], + protect: ["9M", "9L15"], + raindance: ["9M"], + rapidspin: ["9L1"], + recover: ["9L30"], + rest: ["9M"], + rockblast: ["9M"], + rockslide: ["9M", "9L0"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snowscape: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "9L51"], + substitute: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L36"], + terablast: ["9M"], + wideguard: ["9L1"], + }, + }, + noibat: { + learnset: { + absorb: ["9L1", "8L1", "7L5"], + acrobatics: ["9M", "8M", "7M", "6M"], + aerialace: ["9M", "7M", "6M"], + agility: ["9M", "8M", "7L18", "6L18"], + aircutter: ["9M", "9L24", "8L24", "7L23", "6L23"], + airslash: ["9M", "9L36", "8M", "8L36", "7L48", "6L48"], + attract: ["8M", "7M", "6M"], + bite: ["9L20", "8L20", "7L13", "6L13"], + brickbreak: ["9M", "8M", "7M", "6M"], + confide: ["7M", "6M"], + cut: ["6M"], + darkpulse: ["9M", "8M", "7M", "6M"], + defog: ["9E", "8E", "7T"], + doubleteam: ["9L12", "8L12", "7M", "6M"], + dracometeor: ["9M", "8T", "7T", "6T"], + dragonclaw: ["9M"], + dragonpulse: ["9M", "8M", "7T", "6T"], + dragonrush: ["9E", "8E"], + dreameater: ["7M", "6M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M", "6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + fly: ["9M", "8M", "7M", "6M"], + frustration: ["7M", "6M"], + gust: ["9L4", "8L4", "7L11", "6L11"], + heatwave: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hurricane: ["9M", "9L52", "8M", "8L52", "7L58", "6L58"], + hypervoice: ["9M", "8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + leechlife: ["9M", "8M", "7M", "6L5"], + outrage: ["9M", "8M", "7T", "7E", "6T", "6E"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M", "8M", "7M", "6M"], + razorwind: ["7L31", "6L31"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["9L44", "8L44", "7M", "7L27", "6M", "6L27"], + round: ["8M", "7M", "6M"], + screech: ["9L40", "8M", "8L40", "7L1", "6L1"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M"], + shadowclaw: ["9M", "8M", "7M", "6M"], + skyattack: ["7T", "6T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snatch: ["7T", "7E", "6T", "6E"], + snore: ["8M", "7T", "6T"], + solarbeam: ["9M", "8M", "7M", "6M"], + steelwing: ["8M", "7M", "6M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superfang: ["9M", "9L32", "8L32", "7T", "7L43", "6T", "6L43"], + supersonic: ["9L8", "8L8", "7L1", "6L1"], + swagger: ["7M", "6M"], + swift: ["9M", "8M"], + switcheroo: ["9E", "7E", "6E"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + tailwind: ["9M", "9L49", "8L49", "7T", "7L35", "7E", "6T", "6L35", "6E"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["9M", "8M", "7T", "6T"], + uturn: ["9M", "8M", "7M", "6M"], + waterpulse: ["7T", "6T"], + whirlwind: ["9L28", "8L28", "7L40", "6L40"], + wildcharge: ["9M", "8M", "7M", "6M"], + wingattack: ["9L16", "8L16", "7L16", "6L16"], + xscissor: ["9M", "8M", "7M", "6M"], + }, + }, + noivern: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + acrobatics: ["9M", "8M", "7M", "6M"], + aerialace: ["9M", "7M", "6M"], + agility: ["9M", "8M", "7L18", "6L18"], + aircutter: ["9M", "9L24", "8L24", "7L23", "6L23"], + airslash: ["9M", "9L36", "8M", "8L36", "7L53", "6L53"], + attract: ["8M", "7M", "6M"], + bite: ["9L20", "8L20", "7L13", "6L13"], + bodyslam: ["9M"], + boomburst: ["9L62", "8L62", "7L1", "6L1"], + brickbreak: ["9M", "8M", "7M", "6M"], + confide: ["7M", "6M"], + cut: ["6M"], + darkpulse: ["9M", "8M", "7M", "6M"], + defog: ["7T"], + doubleteam: ["9L12", "8L12", "7M", "6M"], + dracometeor: ["9M", "8T", "7T", "6T"], + dragonclaw: ["9M", "8M", "7M", "6M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L0", "8M", "8L0", "7T", "7L1", "6T", "6L1"], + dragontail: ["9M"], + dreameater: ["7M", "6M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M", "6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flamethrower: ["9M", "8M", "7M", "6M"], + fly: ["9M", "8M", "7M", "6M"], + focusblast: ["9M", "8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gust: ["9L1", "8L1", "7L11", "6L11"], + heatwave: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + honeclaws: ["6M"], + hurricane: ["9M", "9L56", "8M", "8L56", "7L1", "6L1"], + hyperbeam: ["9M", "8M", "7M", "6M"], + hypervoice: ["9M", "8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + laserfocus: ["7T"], + leechlife: ["9M", "8M", "7M", "6L5"], + moonlight: ["9L1", "8L1", "7L1", "6L1"], + outrage: ["9M", "8M", "7T", "6T"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M", "8M", "7M", "6M"], + razorwind: ["7L31", "6L31"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + roost: ["9L44", "8L44", "7M", "7L27", "6M", "6L27"], + round: ["8M", "7M", "6M"], + scaryface: ["9M"], + screech: ["9L40", "8M", "8L40", "7L1", "6L1"], + secretpower: ["6M"], + shadowball: ["9M", "8M", "7M", "6M"], + shadowclaw: ["9M", "8M", "7M", "6M"], + skyattack: ["7T", "6T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["8M", "7T", "6T"], + solarbeam: ["9M", "8M", "7M", "6M"], + steelwing: ["8M", "7M", "6M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superfang: ["9M", "9L32", "8L32", "7T", "7L43", "6T", "6L43"], + supersonic: ["9L1", "8L1", "7L1", "6L1"], + swagger: ["7M", "6M"], + swift: ["9M", "8M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + tailwind: ["9M", "9L51", "8L51", "7T", "7L35", "6T", "6L35"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["9M", "8M", "7T", "6T"], + uturn: ["9M", "8M", "7M", "6M"], + waterpulse: ["9M", "7T", "6T"], + whirlwind: ["9L28", "8L28", "7L40", "6L40"], + wildcharge: ["9M", "8M", "7M", "6M"], + wingattack: ["9L16", "8L16", "7L16", "6L16"], + xscissor: ["9M", "8M", "7M", "6M"], + }, + }, + xerneas: { + learnset: { + aromatherapy: ["8L25", "7L1", "6L1", "6S1"], + aurorabeam: ["8L10", "7L10", "6L10"], + block: ["7T", "6T"], + bodyslam: ["8M"], + calmmind: ["8M", "7M", "6M"], + closecombat: ["8M", "8L75", "7L80", "6L80"], + confide: ["7M", "6M"], + cut: ["6M"], + dazzlinggleam: ["8M", "8S5", "7M", "6M"], + defog: ["7T"], + doubleteam: ["7M", "6M"], + drainingkiss: ["8M"], + echoedvoice: ["7M", "6M"], + endeavor: ["7T", "6T"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + flash: ["6M"], + flashcannon: ["8M", "7M", "6M"], + focusblast: ["8M", "7M", "7S4", "6M", "6S1"], + frustration: ["7M", "6M"], + geomancy: ["8L55", "7L26", "7S2", "7S3", "7S4", "6L26", "6S0", "6S1"], + gigaimpact: ["8M", "8L85", "7M", "7L88", "6M", "6L88"], + grassknot: ["8M", "7M", "7S4", "6M"], + gravity: ["8L1", "7T", "7L18", "6T", "6L18", "6S0"], + hail: ["8M", "7M", "6M"], + healpulse: ["8L65", "7L1", "6L1"], + hiddenpower: ["7M", "6M"], + hornleech: ["8L35", "8S5", "7L55", "7S2", "7S3", "6L55"], + hyperbeam: ["8M", "7M", "6M"], + hypervoice: ["8M", "7T", "6T"], + ingrain: ["8L45", "8S5", "7L1", "6L1"], + laserfocus: ["7T"], + lightscreen: ["8M", "8L5", "7M", "7L5", "6M", "6L5"], + megahorn: ["8M", "8L70", "7L44", "6L44", "6S0"], + mistyexplosion: ["8T"], + mistyterrain: ["8M", "8L40", "7L63", "6L63"], + moonblast: ["8L60", "8S5", "7L35", "7S2", "7S3", "7S4", "6L35", "6S0", "6S1"], + naturepower: ["8L15", "7M", "7L72", "6M", "6L72"], + nightslash: ["8L20", "7L51", "7S2", "7S3", "6L51"], + outrage: ["8M", "8L80", "7T", "7L93", "6T", "6L93"], + playrough: ["8M"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "7M", "6M"], + psychup: ["8L30", "7M", "7L59", "6M", "6L59"], + psyshock: ["8M", "7M", "6M"], + raindance: ["8M", "7M", "6M"], + reflect: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + roar: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + sleeptalk: ["8M", "7M", "6M"], + smartstrike: ["8M"], + snore: ["8M", "7T", "6T"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["8M"], + tackle: ["8L1"], + takedown: ["8L50", "7L1", "6L1"], + terrainpulse: ["8T"], + thunder: ["8M", "7M", "6M"], + thunderbolt: ["8M", "7M", "6M"], + thunderwave: ["8M", "7M", "6M"], + toxic: ["7M", "6M"], + wonderroom: ["8M", "7T", "6T"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["gravity", "geomancy", "moonblast", "megahorn"]}, + {generation: 6, level: 100, shiny: true, moves: ["geomancy", "moonblast", "aromatherapy", "focusblast"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["geomancy", "hornleech", "nightslash", "moonblast"]}, + {generation: 7, level: 60, moves: ["geomancy", "hornleech", "nightslash", "moonblast"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["geomancy", "focusblast", "grassknot", "moonblast"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["ingrain", "dazzlinggleam", "moonblast", "hornleech"]}, + ], + eventOnly: true, + }, + yveltal: { + learnset: { + acrobatics: ["8M", "7M", "6M"], + aerialace: ["7M", "6M"], + airslash: ["8M", "8L35", "7L10", "6L10"], + block: ["7T", "6T"], + bodyslam: ["8M"], + confide: ["7M", "6M"], + cut: ["6M"], + darkpulse: ["8M", "8L40", "7M", "7L44", "7S2", "7S3", "7S4", "6M", "6L44", "6S0", "6S1"], + defog: ["7T"], + disable: ["8L15", "7L35", "6L35", "6S0"], + doubleteam: ["8L1", "7M", "7L5", "6M", "6L5"], + dragonclaw: ["8M", "7M", "6M"], + dragonrush: ["8L65", "8S5", "7L63", "6L63"], + dreameater: ["7M", "6M"], + dualwingbeat: ["8T"], + embargo: ["7M", "6M"], + endure: ["8M"], + facade: ["8M", "7M", "6M"], + fly: ["8M", "7M", "6M"], + focusblast: ["8M", "8L75", "7M", "7L72", "6M", "6L72"], + foulplay: ["8M", "8L60", "7T", "7L51", "6T", "6L51", "6S1"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "7M", "6M"], + gust: ["8L1"], + heatwave: ["8M", "7T", "7S4", "6T"], + hiddenpower: ["7M", "6M"], + honeclaws: ["6M"], + hurricane: ["8M", "8L70", "7L1", "6L1"], + hyperbeam: ["8M", "8L85", "7M", "7L88", "6M", "6L88"], + hypervoice: ["8M", "7T", "6T"], + knockoff: ["7T", "6T"], + laserfocus: ["7T"], + lashout: ["8T"], + oblivionwing: ["8L50", "8S5", "7L26", "7S2", "7S3", "7S4", "6L26", "6S0", "6S1"], + payback: ["8M"], + phantomforce: ["8M", "8L55", "7L55", "7S2", "7S3", "6L55"], + protect: ["8M", "7M", "6M"], + psychic: ["8M", "8L45", "7M", "7L59", "7S2", "7S3", "6M", "6L59"], + raindance: ["8M", "7M", "6M"], + razorwind: ["7L1", "6L1"], + rest: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rockslide: ["8M", "7M", "6M"], + roost: ["8L30", "7M", "7L1", "6M", "6L1"], + round: ["8M", "7M", "6M"], + secretpower: ["6M"], + shadowball: ["8M", "7M", "6M"], + shadowclaw: ["8M", "7M", "6M"], + skyattack: ["8L80", "7T", "7L93", "6T", "6L93"], + skydrop: ["7M", "6M"], + sleeptalk: ["8M", "7M", "6M"], + snarl: ["8M", "8L10", "7M", "7L18", "6M", "6L18", "6S0"], + snore: ["8M", "7T", "6T"], + steelwing: ["8M", "7M", "6M"], + substitute: ["8M", "7M", "6M"], + suckerpunch: ["8L20", "8S5", "7L80", "6L80", "6S1"], + sunnyday: ["8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["8M"], + tailwind: ["8L25", "7T", "7S4", "6T"], + taunt: ["8M", "8L5", "8S5", "7M", "7L1", "6M", "6L1"], + thief: ["8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["8M", "7M", "6M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["snarl", "oblivionwing", "disable", "darkpulse"]}, + {generation: 6, level: 100, shiny: true, moves: ["oblivionwing", "suckerpunch", "darkpulse", "foulplay"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["oblivionwing", "darkpulse", "phantomforce", "psychic"]}, + {generation: 7, level: 60, moves: ["oblivionwing", "darkpulse", "phantomforce", "psychic"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["oblivionwing", "darkpulse", "heatwave", "tailwind"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["taunt", "oblivionwing", "dragonrush", "suckerpunch"]}, + ], + eventOnly: true, + }, + zygarde: { + learnset: { + bind: ["8L1", "8S9", "7T", "7L18", "7S2", "7S3", "7S4", "6T", "6L18"], + bite: ["8L1", "7L1", "6L1"], + block: ["7T", "6T"], + bodyslam: ["8M"], + breakingswipe: ["8M"], + brickbreak: ["8M", "7M", "6M"], + bulldoze: ["8M", "8L1", "7M", "7L1", "6M", "6L1"], + camouflage: ["7L59", "6L59", "6S0"], + coil: ["8L72", "7L72", "6L80"], + confide: ["7M", "6M"], + coreenforcer: ["8L1", "7T"], + crunch: ["8M", "8L32", "7L51", "6L51", "6S0"], + dig: ["8M", "8L16", "7L10", "7S2", "6M", "6L10"], + doubleteam: ["7M", "6M"], + dracometeor: ["8T", "7T", "6T"], + dragonbreath: ["8L1", "7L1", "7S5", "7S6", "6L1"], + dragondance: ["8M", "7T", "7S7", "7S8", "6L72"], + dragonpulse: ["8M", "8L40", "8S9", "7T", "7L63", "6T", "6L63", "6S0"], + dragontail: ["7M", "6M"], + earthpower: ["8M", "7T", "6T"], + earthquake: ["8M", "8L80", "7M", "7L55", "6M", "6L55", "6S0"], + endure: ["8M"], + extremespeed: ["7T", "7S7", "7S8", "6L88", "6S1"], + facade: ["8M", "7M", "6M"], + focusblast: ["8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["8M", "7M", "6M"], + glare: ["8L56", "7L1", "7S5", "7S6", "6L1", "6S1"], + grassknot: ["8M", "7M", "6M"], + haze: ["8L8", "7L44", "7S3", "7S4", "6L44"], + hiddenpower: ["7M", "6M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "7M", "6M"], + hypervoice: ["8M", "7T", "6T"], + irontail: ["8M", "7T", "6T"], + landswrath: ["8L48", "8S9", "7L26", "7S2", "7S3", "7S4", "7S5", "7S6", "6L26", "6S1"], + outrage: ["8M", "8L88", "7T", "7L80", "7S7", "7S8", "6T", "6L93", "6S1"], + painsplit: ["7T", "6T"], + payback: ["8M"], + protect: ["8M", "7M", "6M"], + rest: ["8M", "7M", "6M"], + retaliate: ["8M"], + return: ["7M", "6M"], + reversal: ["8M"], + rockslide: ["8M", "7M", "6M"], + rocksmash: ["6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "8L24", "7M", "7L5", "7S2", "7S5", "7S6", "6M", "6L5"], + sandstorm: ["8M", "8L64", "7M", "7L35", "7S3", "7S4", "6M", "6L35"], + scaleshot: ["8T"], + scorchingsands: ["8T"], + secretpower: ["6M"], + shockwave: ["7T", "6T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + spite: ["7T", "6T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M", "6M"], + strength: ["6M"], + substitute: ["8M", "7M", "6M"], + sunnyday: ["8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + swagger: ["7M", "6M"], + swift: ["8M"], + thousandarrows: ["8L1", "8S9", "7T", "7S7", "7S8"], + thousandwaves: ["8L1", "7T"], + toxic: ["7M", "6M"], + zenheadbutt: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 6, level: 70, moves: ["crunch", "earthquake", "camouflage", "dragonpulse"]}, + {generation: 6, level: 100, moves: ["landswrath", "extremespeed", "glare", "outrage"], pokeball: "cherishball"}, + {generation: 7, level: 30, moves: ["safeguard", "dig", "bind", "landswrath"]}, + {generation: 7, level: 50, moves: ["bind", "landswrath", "sandstorm", "haze"]}, + {generation: 7, level: 50, isHidden: true, moves: ["bind", "landswrath", "sandstorm", "haze"]}, + {generation: 7, level: 60, shiny: true, moves: ["landswrath", "glare", "safeguard", "dragonbreath"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: true, isHidden: true, moves: ["landswrath", "glare", "safeguard", "dragonbreath"], pokeball: "cherishball"}, + {generation: 7, level: 100, shiny: true, moves: ["thousandarrows", "outrage", "extremespeed", "dragondance"], pokeball: "cherishball"}, + {generation: 7, level: 100, shiny: true, isHidden: true, moves: ["thousandarrows", "outrage", "extremespeed", "dragondance"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, isHidden: true, moves: ["thousandarrows", "landswrath", "dragonpulse", "bind"]}, + ], + eventOnly: true, + }, + zygarde10: { + learnset: { + bind: ["8S5", "7S0", "7S1", "7S2"], + dig: ["7S0", "7S2"], + dragonbreath: ["7S3"], + dragondance: ["7S4"], + dragonpulse: ["8S5"], + extremespeed: ["7S4"], + glare: ["7S3"], + haze: ["7S1"], + landswrath: ["8S5", "7S0", "7S1", "7S2", "7S3"], + outrage: ["7S4"], + safeguard: ["7S0", "7S2", "7S3"], + sandstorm: ["7S1"], + thousandarrows: ["8S5", "7S4"], + }, + eventData: [ + {generation: 7, level: 30, moves: ["safeguard", "dig", "bind", "landswrath"]}, + {generation: 7, level: 50, isHidden: true, moves: ["bind", "landswrath", "sandstorm", "haze"]}, + {generation: 7, level: 50, isHidden: true, moves: ["safeguard", "dig", "bind", "landswrath"]}, + {generation: 7, level: 60, shiny: true, isHidden: true, moves: ["landswrath", "glare", "safeguard", "dragonbreath"], pokeball: "cherishball"}, + {generation: 7, level: 100, shiny: true, isHidden: true, moves: ["thousandarrows", "outrage", "extremespeed", "dragondance"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, isHidden: true, moves: ["thousandarrows", "landswrath", "dragonpulse", "bind"]}, + ], + eventOnly: true, + }, + diancie: { + learnset: { + afteryou: ["7T", "6T"], + allyswitch: ["8M"], + amnesia: ["9M", "8M"], + ancientpower: ["9L28", "8L28", "7L27", "6L31"], + batonpass: ["9M", "8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + calmmind: ["9M", "8M", "7M", "6M"], + charm: ["9M", "8M"], + confide: ["7M", "6M"], + covet: ["7T", "6T"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + diamondstorm: ["9L1", "8L91", "7L50", "6L50", "6S0", "6S1"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M", "8M"], + earthpower: ["9M", "8M", "7T", "6T"], + encore: ["9M", "8M"], + endeavor: ["7T", "6T"], + endure: ["9M", "8M"], + explosion: ["7M", "6M"], + facade: ["9M", "8M", "7M", "6M"], + faketears: ["9M", "8M"], + flail: ["9L21", "8L21", "7L31", "6L35"], + flash: ["6M"], + flashcannon: ["9M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gravity: ["9M", "7T", "6T"], + guardsplit: ["9L7", "8L7", "7L21", "6L27"], + guardswap: ["8M"], + gyroball: ["9M", "8M", "7M", "6M"], + hail: ["8M", "7M", "6M"], + harden: ["9L1", "8L1", "7L1", "6L1"], + healbell: ["7T", "6T"], + helpinghand: ["9M", "8M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + irondefense: ["9M", "8M", "7T", "6T"], + lastresort: ["7T", "6T"], + lightscreen: ["9M", "9L42", "8M", "8L42", "7M", "7L60", "6M", "6L60"], + magnetrise: ["7T", "6T"], + meteorbeam: ["8T"], + metronome: ["9M", "8M"], + mistyexplosion: ["9M", "8T"], + moonblast: ["9L77", "8L77", "7L50", "6L50", "6S0", "6S1"], + mysticalfire: ["8M"], + naturepower: ["7M", "6M"], + playrough: ["9M", "8M"], + powergem: ["9M", "9L63", "8M", "8L63", "7L40"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M", "8M", "7M", "6M"], + psychup: ["7M", "6M"], + psyshock: ["9M", "8M", "7M", "6M"], + raindance: ["9M"], + reflect: ["9M", "8M", "7M", "7L12", "6M", "6L18", "6S0", "6S1"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M", "6S0", "6S1"], + rockpolish: ["9L35", "8L35", "7M", "6M"], + rockslide: ["9M", "9L49", "8M", "8L49", "7M", "6M"], + rockthrow: ["7L1", "6L5"], + rocktomb: ["9M", "8M", "7M", "6M"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "7L70", "6M", "6L70"], + sandstorm: ["9M", "8M", "7M", "6M"], + sandtomb: ["9M", "8M"], + secretpower: ["6M"], + sharpen: ["7L5", "6L8"], + skillswap: ["9M", "9L56", "8M", "8L56", "7T", "7L35", "6T", "6L40"], + sleeptalk: ["9M", "8M", "7M", "6M"], + smackdown: ["9M", "9L14", "8L14", "7M", "7L8", "6M", "6L12"], + snore: ["8M", "7T", "6T"], + snowscape: ["9M"], + spikes: ["9M"], + stealthrock: ["9M", "9L70", "8M", "8L70", "7T", "7L18", "6T", "6L21"], + stoneedge: ["9M", "9L84", "8M", "8L84", "7M", "7L49", "6M", "6L49"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + tackle: ["9L1", "8L1", "7L1", "6L1"], + takedown: ["9M"], + telekinesis: ["7T"], + terablast: ["9M"], + terrainpulse: ["8T"], + toxic: ["7M", "6M"], + trickroom: ["9M", "8M", "7M", "7L46", "6M", "6L46"], + wonderroom: ["8M", "7T", "6T"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["diamondstorm", "reflect", "return", "moonblast"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: true, moves: ["diamondstorm", "moonblast", "reflect", "return"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + hoopa: { + learnset: { + allyswitch: ["9L1", "7T", "7L1", "6L1"], + astonish: ["9L6", "7L6", "6L6", "6S0"], + block: ["7T", "6T"], + brickbreak: ["9M", "7M", "6M"], + calmmind: ["9M", "7M", "6M"], + chargebeam: ["7M", "6M"], + confide: ["7M", "6M"], + confusion: ["9L1", "7L1", "6L1"], + covet: ["7T", "6T"], + darkpulse: ["9M", "9L55", "7M", "7L55", "6L55"], + destinybond: ["9L1", "7L1", "6L1"], + doubleteam: ["7M", "6M"], + drainpunch: ["9M", "7T", "6T"], + dreameater: ["7M", "6M"], + dualchop: ["7T", "6T"], + embargo: ["7M", "6M"], + endure: ["9M"], + energyball: ["9M", "7M", "6M"], + facade: ["9M", "7M", "6M"], + firepunch: ["9M", "7T", "6T"], + flash: ["6M"], + fling: ["9M", "7M", "6M"], + focusblast: ["9M", "7M", "6M"], + focuspunch: ["9M", "7T", "6T"], + foulplay: ["9M", "7T", "6T"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "7M", "6M"], + grassknot: ["9M", "7M", "6M"], + gravity: ["9M", "7T", "6T"], + guardsplit: ["9L29", "7L29", "6L29"], + gunkshot: ["9M", "7T", "6T"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "7M", "6M"], + hyperspacefury: ["9L85", "7L1", "6L1"], + hyperspacehole: ["9L85", "7L1", "7S1", "6L1", "6S0"], + icepunch: ["9M", "7T", "6T"], + knockoff: ["9M", "9L46", "7T", "7L46", "6T", "6L46"], + laserfocus: ["7T"], + lashout: ["9M"], + lastresort: ["7T", "6T"], + lightscreen: ["9M", "9L15", "7M", "7L15", "6M", "6L15"], + magiccoat: ["7T", "7L10", "6T", "6L10"], + magicroom: ["7T", "6T"], + nastyplot: ["9M", "9L68", "7L68", "7S1", "6L68", "6S0"], + phantomforce: ["9M", "9L35", "7L35", "6L35"], + powersplit: ["9L29", "7L29", "6L29"], + poweruppunch: ["6M"], + protect: ["9M", "7M", "6M"], + psybeam: ["9M", "9L19", "7L19", "6L15"], + psychic: ["9M", "9L75", "7M", "7L75", "7S1", "6M", "6L75", "6S0"], + psychicterrain: ["9M"], + psychup: ["7M", "6M"], + psyshock: ["9M", "7M", "6M"], + quash: ["7M", "6M"], + raindance: ["9M", "7M", "6M"], + recycle: ["7T", "6T"], + reflect: ["9M", "7M", "6M"], + rest: ["9M", "7M", "6M"], + return: ["7M", "6M"], + rocktomb: ["9M"], + roleplay: ["7T", "6T"], + round: ["7M", "6M"], + safeguard: ["7M", "6M"], + sandstorm: ["9M"], + scaryface: ["9M"], + secretpower: ["6M"], + shadowball: ["9M", "9L55", "7M", "7L55", "7S1", "6M", "6L55"], + shockwave: ["7T", "6T"], + signalbeam: ["7T", "6T"], + skillswap: ["9M", "9L25", "7T", "7L25", "6T", "6L25"], + sleeptalk: ["9M", "7M", "6M"], + snatch: ["7T", "6T"], + snore: ["7T", "6T"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "7M", "6M"], + swagger: ["7M", "6M"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M", "7M", "6M"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "7M", "6M"], + throatchop: ["7T"], + thunderbolt: ["9M", "7M", "6M"], + thunderpunch: ["9M", "7T", "6T"], + thunderwave: ["9M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + trick: ["9M", "9L10", "7T", "7L1", "6T", "6L1"], + trickroom: ["9M", "9L50", "7M", "7L50", "6M", "6L50"], + uproar: ["7T", "6T"], + wonderroom: ["9L50", "7T", "7L50", "6T", "6L50"], + zenheadbutt: ["9M", "9L46", "7T", "7L46", "6T", "6L46"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["hyperspacehole", "nastyplot", "psychic", "astonish"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["shadowball", "nastyplot", "psychic", "hyperspacehole"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + hoopaunbound: { + eventOnly: true, + }, + volcanion: { + learnset: { + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M", "7L46", "6L46"], + brickbreak: ["9M", "8M", "7M", "6M"], + bulldoze: ["9M", "8M", "7M", "6M"], + confide: ["7M", "6M"], + cut: ["6M"], + defog: ["7T"], + dig: ["9M"], + doubleteam: ["7M", "6M"], + earthpower: ["9M", "8M", "7T", "6T"], + earthquake: ["9M", "8M", "7M", "6M"], + endure: ["9M", "8M"], + explosion: ["9L90", "8L90", "7M", "7L76", "6M", "6L76", "6S1"], + facade: ["9M", "8M", "7M", "6M"], + fireblast: ["9M", "8M", "7M", "6M"], + firefang: ["9M"], + firespin: ["9M", "9L1", "8M", "8L1"], + flamecharge: ["9M", "9L18", "8L18", "7M", "7L15", "6M", "6L15"], + flamethrower: ["9M", "8M", "7M", "6M", "6S1"], + flareblitz: ["9M", "9L78", "8M", "8L78", "8S2", "7L1", "6L1"], + flashcannon: ["9M", "8M", "7M", "6M"], + fling: ["9M", "8M", "7M", "6M"], + focusblast: ["9M", "8M", "7M", "6M"], + focusenergy: ["8M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gyroball: ["9M", "8M", "7M", "6M"], + haze: ["9M", "9L60", "8L60", "8S2", "7L11", "6L11"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "8M", "7T", "6T"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "6M"], + hydropump: ["9M", "9L66", "8M", "8L66", "7L50", "6L50", "6S0", "6S1"], + hyperbeam: ["9M", "8M", "7M", "6M"], + incinerate: ["9L36", "8L36", "8S2", "6M"], + leer: ["9L6", "8L6"], + liquidation: ["9M", "8M", "7T"], + mist: ["9L60", "8L60", "7L8", "6L8", "6S0"], + mistyterrain: ["9M", "8M"], + mudshot: ["9M", "8M"], + overheat: ["9M", "9L84", "8M", "8L84", "7M", "7L65", "6M", "6L65", "6S0"], + protect: ["9M", "8M", "7M", "6M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + roar: ["9M", "7M", "6M"], + rockslide: ["9M", "8M", "7M", "6M"], + rocksmash: ["6M"], + rocktomb: ["9M"], + round: ["8M", "7M", "6M"], + sandstorm: ["9M", "8M", "7M", "6M"], + scald: ["9M", "9L48", "8M", "8L48", "7M", "7L32", "6M", "6L32"], + scaryface: ["9M", "9L30", "8M", "8L30"], + scorchingsands: ["8T"], + secretpower: ["6M"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + smackdown: ["9M", "7M", "6M"], + snore: ["8M", "7T", "6T"], + solarbeam: ["9M", "8M", "7M", "6M"], + steameruption: ["9L1", "8L72", "8S2", "7L1", "6L1", "6S0", "6S1"], + stomp: ["9L42", "8L42", "7L28", "6L28"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M", "6M"], + strength: ["6M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superpower: ["8M", "7T", "6T"], + swagger: ["7M", "6M"], + takedown: ["9M", "9L54", "8L54", "7L1", "6L1"], + taunt: ["9M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + toxic: ["7M", "6M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "9L24", "8L24", "7T", "7L21", "6T", "6L21"], + weatherball: ["9M", "9L12", "8M", "8L12", "7L40", "6L40"], + wildcharge: ["9M"], + willowisp: ["9M", "8M", "7M", "6M"], + }, + eventData: [ + {generation: 6, level: 70, moves: ["steameruption", "overheat", "hydropump", "mist"], pokeball: "cherishball"}, + {generation: 6, level: 70, moves: ["steameruption", "flamethrower", "hydropump", "explosion"], pokeball: "cherishball"}, + {generation: 8, level: 60, moves: ["steameruption", "flareblitz", "incinerate", "haze"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + rowlet: { + learnset: { + aerialace: ["9M"], + aircutter: ["9M"], + airslash: ["9M"], + astonish: ["9L6", "8L6", "7L11"], + attract: ["8M", "7M"], + batonpass: ["8M", "7E"], + bravebird: ["9M", "9L36", "8M", "8L36", "7L43"], + bulletseed: ["9M"], + confide: ["7M"], + confuseray: ["9M", "9E", "8E", "7E"], + covet: ["7T"], + curse: ["7E"], + defog: ["9E", "8E", "7T", "7E"], + doubleteam: ["9E", "8E", "7M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + featherdance: ["9L33", "8L33", "7L39"], + foresight: ["7L18"], + frustration: ["7M"], + furyattack: ["7L29"], + gigadrain: ["9M", "8M", "7T"], + grassknot: ["9M", "8M", "7M"], + grasspledge: ["9M", "8T", "7T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1", "7L4"], + haze: ["9M", "7E"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + knockoff: ["9M", "9E", "8E"], + leafage: ["9L3", "8L3", "7L1"], + leafblade: ["9L30", "8M", "8L30", "7L36"], + leafstorm: ["9M"], + lightscreen: ["9M", "8M", "7M"], + magicalleaf: ["9M"], + nastyplot: ["9M", "9L24", "8M", "8L24", "7L46"], + naturepower: ["7M"], + nightshade: ["9M"], + ominouswind: ["7L16", "7E"], + peck: ["9L9", "8L9", "7L8"], + pluck: ["9L21", "8L21", "7L22"], + protect: ["9M", "8M", "7M"], + raindance: ["9M"], + razorleaf: ["9L15", "8L15", "7L14"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roost: ["9E", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + shadowclaw: ["9M", "8M", "7M"], + shadowsneak: ["9L12", "8L12"], + skyattack: ["7T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + steelwing: ["8M", "7M"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["9L27", "8L27", "7L32"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L18", "8L18", "7T", "7L25"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + workup: ["8M", "7M"], + worryseed: ["7T"], + }, + }, + dartrix: { + learnset: { + aerialace: ["9M"], + aircutter: ["9M"], + airslash: ["9M"], + astonish: ["9L1", "8L1", "7L11"], + attract: ["8M", "7M"], + batonpass: ["9M", "8M"], + bravebird: ["9M", "9L50", "8M", "8L50", "7L51"], + bulletseed: ["9M"], + confide: ["7M"], + confuseray: ["9M"], + covet: ["7T"], + defog: ["7T"], + doubleteam: ["7M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + featherdance: ["9L45", "8L45", "7L46"], + foresight: ["7L19"], + frustration: ["7M"], + furyattack: ["7L33"], + gigadrain: ["9M", "8M", "7T"], + grassknot: ["9M", "8M", "7M"], + grasspledge: ["9M", "8T", "7T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1", "7L1"], + haze: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + knockoff: ["9M"], + leafage: ["9L1", "8L1", "7L1"], + leafblade: ["9L40", "8M", "8L40", "7L42"], + leafstorm: ["9M"], + lightscreen: ["9M", "8M", "7M"], + magicalleaf: ["9M"], + nastyplot: ["9M", "9L30", "8M", "8L30", "7L55"], + naturepower: ["7M"], + nightshade: ["9M"], + ominouswind: ["7L16"], + peck: ["9L9", "8L9", "7L1"], + pluck: ["9L25", "8L25", "7L24"], + protect: ["9M", "8M", "7M"], + raindance: ["9M"], + razorleaf: ["9L15", "8L15", "7L14"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roost: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + shadowclaw: ["9M", "8M", "7M"], + shadowsneak: ["9L12", "8L12"], + skyattack: ["7T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + steelwing: ["8M", "7M"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["9L35", "8L35", "7L37"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L20", "8L20", "7T", "7L28"], + tackle: ["9L1", "8L1", "7L1"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + workup: ["8M", "7M"], + worryseed: ["7T"], + }, + }, + decidueye: { + learnset: { + acrobatics: ["9M", "8M", "7M"], + aerialace: ["9M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + astonish: ["9L1", "8L1", "7L11"], + attract: ["8M", "7M"], + batonpass: ["9M", "8M"], + bravebird: ["9M", "9L58", "8M", "8L58", "7L55", "7S0"], + bulletseed: ["9M"], + confide: ["7M"], + confuseray: ["9M"], + covet: ["7T"], + defog: ["7T"], + doubleteam: ["7M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + featherdance: ["9L51", "8L51", "7L49"], + foresight: ["7L19"], + frenzyplant: ["9M", "8T", "7T"], + frustration: ["7M"], + furyattack: ["7L33"], + gigadrain: ["9M", "8M", "7T"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + grasspledge: ["9M", "8T", "7T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1", "7L1"], + haze: ["9M"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + knockoff: ["9M"], + laserfocus: ["7T"], + leafage: ["9L1", "8L1", "7L1"], + leafblade: ["9L44", "8M", "8L44", "7L44", "7S0"], + leafstorm: ["9M", "9L1", "8M", "8L1", "7L1"], + lightscreen: ["9M", "8M", "7M"], + lowkick: ["9M"], + lowsweep: ["9M", "8M", "7M"], + magicalleaf: ["9M"], + nastyplot: ["9M", "9L30", "8M", "8L30", "7L60"], + naturepower: ["7M"], + nightshade: ["9M"], + ominouswind: ["7L16"], + peck: ["9L9", "8L9", "7L1"], + phantomforce: ["9M", "9L1", "8M", "8L1", "7L1", "7S0"], + pluck: ["9L25", "8L25", "7L24"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M"], + psychocut: ["8M"], + raindance: ["9M"], + razorleaf: ["9L15", "8L15", "7L14"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roost: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + shadowball: ["9M", "8M", "7M"], + shadowclaw: ["9M", "8M", "7M"], + shadowsneak: ["9L12", "8L12", "7L1", "7S0"], + skittersmack: ["8T"], + skyattack: ["7T"], + sleeptalk: ["9M", "8M", "7M"], + smackdown: ["9M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + solarblade: ["9M", "8M"], + spiritshackle: ["9L0", "8L0", "7L1"], + spite: ["9M", "9L1", "8L1", "7T"], + steelwing: ["8M", "7M"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["9L37", "8L37", "7L38"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L20", "8L20", "7T", "7L28"], + tackle: ["9L1", "8L1", "7L1"], + tailwind: ["9M", "7T"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + uturn: ["9M", "9L1", "8M", "8L1", "7M", "7L1"], + workup: ["8M", "7M"], + worryseed: ["7T"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["leafblade", "phantomforce", "shadowsneak", "bravebird"], pokeball: "pokeball"}, + ], + }, + decidueyehisui: { + learnset: { + aerialace: ["9M"], + aircutter: ["9M"], + airslash: ["9M"], + aurasphere: ["9M"], + batonpass: ["9M"], + bravebird: ["9M", "9L58"], + brickbreak: ["9M"], + bulkup: ["9M", "9L30"], + bulletseed: ["9M"], + closecombat: ["9M"], + confuseray: ["9M"], + dualwingbeat: ["9M"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + featherdance: ["9L51"], + focusblast: ["9M"], + focuspunch: ["9M"], + frenzyplant: ["9M"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grasspledge: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growl: ["9L1"], + haze: ["9M"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + knockoff: ["9M"], + leafage: ["9L1"], + leafblade: ["9L44"], + leafstorm: ["9M", "9L1"], + lightscreen: ["9M"], + lowkick: ["9M"], + lowsweep: ["9M"], + magicalleaf: ["9M"], + nastyplot: ["9M"], + nightshade: ["9M"], + peck: ["9L9"], + pluck: ["9L25"], + protect: ["9M"], + raindance: ["9M"], + razorleaf: ["9L15"], + rest: ["9M"], + reversal: ["9M"], + rocktomb: ["9M"], + scaryface: ["9M"], + seedbomb: ["9M"], + shadowclaw: ["9M"], + shadowsneak: ["9L12"], + sleeptalk: ["9M"], + smackdown: ["9M"], + solarbeam: ["9M"], + substitute: ["9M"], + suckerpunch: ["9L37"], + sunnyday: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + synthesis: ["9L20"], + tackle: ["9L1"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + trailblaze: ["9M"], + triplearrows: ["9L0"], + uturn: ["9M", "9L1"], + }, + }, + litten: { + learnset: { + acrobatics: ["8M", "7M"], + attract: ["8M", "7M"], + bite: ["8L15", "7L22"], + bodyslam: ["8M", "7E"], + bulkup: ["8M", "7M"], + confide: ["7M"], + covet: ["7T"], + crunch: ["8M", "7E"], + doublekick: ["8L18", "7L16"], + doubleteam: ["7M"], + ember: ["8L3", "7L1"], + endeavor: ["7T"], + endure: ["8M"], + facade: ["8M", "7M"], + fakeout: ["8E", "7E"], + fireblast: ["8M", "7M"], + firefang: ["8M", "8L21", "7L14"], + firepledge: ["8T", "7T"], + firespin: ["8M"], + flamecharge: ["7M"], + flamethrower: ["8M", "8L30", "7M", "7L36"], + flareblitz: ["8M", "8L36", "7L43"], + frustration: ["7M"], + furyswipes: ["8L12", "7L29"], + growl: ["8L1", "7L4"], + heatwave: ["8M", "7T", "7E"], + hiddenpower: ["7M"], + leechlife: ["8M", "7M"], + leer: ["7L11"], + lick: ["8L6", "7L8"], + nastyplot: ["8M", "7E"], + outrage: ["8M", "7T", "7L46"], + overheat: ["8M", "7M"], + partingshot: ["8E"], + payday: ["8M"], + powertrip: ["8E", "7E"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M", "7E"], + roar: ["8L9", "7M", "7L18"], + round: ["8M", "7M"], + scaryface: ["8M", "8L24", "7L39"], + scratch: ["8L1", "7L1"], + shadowclaw: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["8L27", "7M", "7L25"], + swordsdance: ["8M", "7M"], + taunt: ["8M", "7M"], + thrash: ["8L33", "7L32"], + torment: ["7M"], + toxic: ["7M"], + uturn: ["8M", "7M"], + willowisp: ["8M", "7M"], + workup: ["8M", "7M"], + }, + }, + torracat: { + learnset: { + acrobatics: ["8M", "7M"], + attract: ["8M", "7M"], + bite: ["8L15", "7L24"], + bodyslam: ["8M"], + bulkup: ["8M", "7M"], + confide: ["7M"], + covet: ["7T"], + crunch: ["8M"], + doublekick: ["8L20", "7L16"], + doubleteam: ["7M"], + dualchop: ["7T"], + ember: ["8L1", "7L1"], + endeavor: ["7T"], + endure: ["8M"], + facade: ["8M", "7M"], + fireblast: ["8M", "7M"], + firefang: ["8M", "8L25", "7L14"], + firepledge: ["8T", "7T"], + firespin: ["8M"], + flamecharge: ["7M"], + flamethrower: ["8M", "8L40", "7M", "7L42"], + flareblitz: ["8M", "8L50", "7L51"], + frustration: ["7M"], + furyswipes: ["8L12", "7L33"], + growl: ["8L1", "7L1"], + heatwave: ["8M", "7T"], + hiddenpower: ["7M"], + leechlife: ["8M", "7M"], + leer: ["7L11"], + lick: ["8L1", "7L1"], + nastyplot: ["8M"], + outrage: ["8M", "7T", "7L55"], + overheat: ["8M", "7M"], + payday: ["8M"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M"], + roar: ["8L9", "7M", "7L19"], + round: ["8M", "7M"], + scaryface: ["8M", "8L30", "7L46"], + scratch: ["8L1", "7L1"], + shadowclaw: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["8L35", "7M", "7L28"], + swordsdance: ["8M", "7M"], + taunt: ["8M", "7M"], + thrash: ["8L45", "7L37"], + torment: ["7M"], + toxic: ["7M"], + uturn: ["8M", "7M"], + willowisp: ["8M", "7M"], + workup: ["8M", "7M"], + }, + }, + incineroar: { + learnset: { + acrobatics: ["8M", "7M"], + assurance: ["8M"], + attract: ["8M", "7M"], + bind: ["7T"], + bite: ["8L15", "7L24"], + blastburn: ["8T", "7T"], + blazekick: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M"], + brutalswing: ["8M", "7M"], + bulkup: ["8M", "8L1", "7M", "7L1"], + bulldoze: ["8M", "7M"], + burningjealousy: ["8T"], + closecombat: ["8M"], + confide: ["7M"], + covet: ["7T"], + crosschop: ["8L1", "7L66"], + crunch: ["8M"], + darkestlariat: ["8M", "8L0", "7L1", "7S0"], + darkpulse: ["8M", "7M"], + doublekick: ["8L20", "7L16"], + doubleteam: ["7M"], + drainpunch: ["8M", "7T"], + dualchop: ["7T"], + earthquake: ["8M", "7M"], + embargo: ["7M"], + ember: ["8L1", "7L1"], + endeavor: ["7T"], + endure: ["8M"], + facade: ["8M", "7M"], + fakeout: ["7S0"], + fireblast: ["8M", "7M"], + firefang: ["8M", "8L25", "7L14"], + firepledge: ["8T", "7T"], + firepunch: ["8M", "7T"], + firespin: ["8M"], + flamecharge: ["7M"], + flamethrower: ["8M", "8L44", "7M", "7L44"], + flareblitz: ["8M", "8L58", "7L55", "7S0"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + focuspunch: ["7T"], + frustration: ["7M"], + furyswipes: ["8L12", "7L33"], + gigaimpact: ["8M", "7M"], + growl: ["8L1", "7L1"], + heatcrash: ["8M"], + heatwave: ["8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + ironhead: ["8M", "7T"], + knockoff: ["7T"], + lashout: ["8T"], + leechlife: ["8M", "7M"], + leer: ["7L11"], + lick: ["8L1", "7L1"], + lowkick: ["8M", "7T"], + lowsweep: ["8M", "7M"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["8M"], + outrage: ["8M", "7T", "7L60"], + overheat: ["8M", "7M"], + payday: ["8M"], + protect: ["8M", "7M"], + quash: ["7M"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["8M"], + roar: ["8L9", "7M", "7L19"], + round: ["8M", "7M"], + scaryface: ["8M", "8L30", "7L49"], + scorchingsands: ["8T"], + scratch: ["8L1", "7L1"], + shadowclaw: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + snarl: ["8M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + stompingtantrum: ["8M", "7T"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + superpower: ["8M", "7T"], + swagger: ["8L32", "7M", "7L28"], + swordsdance: ["8M", "7M"], + taunt: ["8M", "7M"], + thrash: ["8L51", "7L38"], + throatchop: ["8M", "8L1", "7T", "7L1"], + thunderpunch: ["8M", "7T"], + torment: ["7M"], + toxic: ["7M"], + uturn: ["8M", "7M", "7S0"], + willowisp: ["8M", "7M"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["fakeout", "uturn", "darkestlariat", "flareblitz"], pokeball: "pokeball"}, + ], + }, + popplio: { + learnset: { + acrobatics: ["8M", "7M"], + amnesia: ["8M", "7E"], + aquajet: ["8L9", "7L14"], + aquaring: ["8E", "7E"], + aquatail: ["7T"], + aromaticmist: ["7E"], + attract: ["8M", "7M"], + babydolleyes: ["8L12", "7L11"], + blizzard: ["8M", "7M"], + brine: ["8M"], + bubblebeam: ["8L21", "7L22"], + captivate: ["7L39"], + charm: ["8M", "7E"], + confide: ["7M"], + covet: ["7T"], + disarmingvoice: ["8L6", "7L8"], + dive: ["8M"], + doubleslap: ["7L29"], + doubleteam: ["7M"], + drainingkiss: ["8M"], + echoedvoice: ["7M"], + encore: ["8M", "8L24", "7L18"], + endure: ["8M"], + facade: ["8M", "7M"], + flipturn: ["8T"], + frustration: ["7M"], + growl: ["8L1", "7L4"], + hail: ["8M", "7M"], + helpinghand: ["8M", "7T"], + hiddenpower: ["7M"], + hydropump: ["8M", "8L36", "7L43"], + hypervoice: ["8M", "8L30", "7T", "7L32"], + icebeam: ["8M", "7M"], + icywind: ["8M", "8L15", "7T", "7L16"], + irontail: ["8M", "7T"], + lifedew: ["8E"], + mistyterrain: ["8M", "8L27", "7L46"], + moonblast: ["8L33", "7L36"], + perishsong: ["8E", "7E"], + playrough: ["8M"], + pound: ["8L1", "7L1"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + scald: ["8M", "7M"], + sing: ["8L18", "7L25"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + substitute: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + toxic: ["7M"], + tripleaxel: ["8T"], + uproar: ["8M", "7T"], + waterfall: ["8M", "7M"], + watergun: ["8L3", "7L1"], + waterpledge: ["8T", "7T"], + waterpulse: ["7T"], + whirlpool: ["8M"], + wonderroom: ["8M", "7T", "7E"], + workup: ["8M", "7M"], + }, + }, + brionne: { + learnset: { + acrobatics: ["8M", "7M"], + amnesia: ["8M"], + aquajet: ["8L9", "7L14"], + aquatail: ["7T"], + attract: ["8M", "7M"], + babydolleyes: ["8L12", "7L11"], + blizzard: ["8M", "7M"], + brine: ["8M"], + bubblebeam: ["8L25", "7L24"], + captivate: ["7L46"], + charm: ["8M"], + confide: ["7M"], + covet: ["7T"], + disarmingvoice: ["8L1", "7L1"], + dive: ["8M"], + doubleslap: ["7L33"], + doubleteam: ["7M"], + drainingkiss: ["8M"], + echoedvoice: ["7M"], + encore: ["8M", "8L30", "7L19"], + endure: ["8M"], + facade: ["8M", "7M"], + flipturn: ["8T"], + frustration: ["7M"], + growl: ["8L1", "7L1"], + hail: ["8M", "7M"], + helpinghand: ["8M", "7T"], + hiddenpower: ["7M"], + hydropump: ["8M", "8L50", "7L51"], + hypervoice: ["8M", "8L40", "7T", "7L37"], + icebeam: ["8M", "7M"], + icywind: ["8M", "8L15", "7T", "7L16"], + irontail: ["8M", "7T"], + mistyterrain: ["8M", "8L35", "7L55"], + moonblast: ["8L45", "7L42"], + playrough: ["8M"], + pound: ["8L1", "7L1"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + scald: ["8M", "7M"], + sing: ["8L20", "7L28"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + substitute: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + toxic: ["7M"], + tripleaxel: ["8T"], + uproar: ["8M", "7T"], + waterfall: ["8M", "7M"], + watergun: ["8L1", "7L1"], + waterpledge: ["8T", "7T"], + waterpulse: ["7T"], + whirlpool: ["8M"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + }, + }, + primarina: { + learnset: { + acrobatics: ["8M", "7M"], + amnesia: ["8M"], + aquajet: ["8L9", "7L14"], + aquatail: ["7T"], + attract: ["8M", "7M"], + babydolleyes: ["8L12", "7L11"], + blizzard: ["8M", "7M"], + brine: ["8M"], + bubblebeam: ["8L25", "7L24"], + calmmind: ["8M"], + captivate: ["7L49"], + charm: ["8M"], + confide: ["7M"], + covet: ["7T"], + dazzlinggleam: ["8M", "7M"], + disarmingvoice: ["8L1", "7L1"], + dive: ["8M"], + doubleslap: ["7L33"], + doubleteam: ["7M"], + drainingkiss: ["8M"], + echoedvoice: ["7M"], + encore: ["8M", "8L30", "7L19"], + endure: ["8M"], + energyball: ["8M", "7M"], + facade: ["8M", "7M"], + flipturn: ["8T"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + growl: ["8L1", "7L1"], + hail: ["8M", "7M"], + helpinghand: ["8M", "7T"], + hiddenpower: ["7M"], + hydrocannon: ["8T", "7T"], + hydropump: ["8M", "8L58", "7L55"], + hyperbeam: ["8M"], + hypervoice: ["8M", "8L44", "7T", "7L38", "7S0"], + icebeam: ["8M", "7M"], + icywind: ["8M", "8L15", "7T", "7L16", "7S0"], + irontail: ["8M", "7T"], + lightscreen: ["8M", "7M"], + liquidation: ["8M", "7T"], + magiccoat: ["7T"], + mistyexplosion: ["8T"], + mistyterrain: ["8M", "8L37", "7L60"], + moonblast: ["8L51", "7L44", "7S0"], + perishsong: ["7S0"], + playrough: ["8M"], + pound: ["8L1", "7L1"], + protect: ["8M", "7M"], + psychic: ["8M", "7M"], + psychup: ["7M"], + raindance: ["8M", "7M"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + scald: ["8M", "7M"], + shadowball: ["8M", "7M"], + sing: ["8L20", "7L28"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + sparklingaria: ["8L0", "7L1"], + storedpower: ["8M"], + substitute: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + toxic: ["7M"], + tripleaxel: ["8T"], + uproar: ["8M", "7T"], + waterfall: ["8M", "7M"], + watergun: ["8L1", "7L1"], + waterpledge: ["8T", "7T"], + waterpulse: ["7T"], + weatherball: ["8M"], + whirlpool: ["8M"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["hypervoice", "moonblast", "icywind", "perishsong"], pokeball: "pokeball"}, + ], + }, + pikipek: { + learnset: { + aerialace: ["7M"], + attract: ["7M"], + boomburst: ["7E"], + bravebird: ["7E"], + brickbreak: ["7M"], + bulletseed: ["7L31"], + confide: ["7M"], + defog: ["7T"], + doubleteam: ["7M"], + drillpeck: ["7L27"], + echoedvoice: ["7M", "7L7"], + featherdance: ["7L33"], + flamecharge: ["7M"], + fly: ["7M"], + frustration: ["7M"], + furyattack: ["7L21"], + growl: ["7L3"], + gunkshot: ["7T"], + heatwave: ["7T"], + hiddenpower: ["7M"], + hypervoice: ["7T", "7L37"], + knockoff: ["7T"], + mirrormove: ["7E"], + peck: ["7L1"], + pluck: ["7L15"], + protect: ["7M"], + rest: ["7M"], + return: ["7M"], + rocksmash: ["7L9"], + roost: ["7M", "7L19"], + round: ["7M"], + screech: ["7L25"], + skyattack: ["7T"], + sleeptalk: ["7M"], + smackdown: ["7M"], + snore: ["7T"], + steelwing: ["7M"], + substitute: ["7M"], + sunnyday: ["7M"], + supersonic: ["7L13"], + swagger: ["7M"], + swordsdance: ["7M"], + tailwind: ["7T", "7E"], + thief: ["7M"], + toxic: ["7M"], + uproar: ["7T", "7E"], + uturn: ["7M"], + workup: ["7M"], + }, + }, + trumbeak: { + learnset: { + aerialace: ["7M"], + attract: ["7M"], + brickbreak: ["7M"], + bulletseed: ["7L37"], + confide: ["7M"], + defog: ["7T"], + doubleteam: ["7M"], + drillpeck: ["7L32"], + echoedvoice: ["7M", "7L1"], + featherdance: ["7L40"], + flamecharge: ["7M"], + fly: ["7M"], + frustration: ["7M"], + furyattack: ["7L24"], + growl: ["7L1"], + gunkshot: ["7T"], + heatwave: ["7T"], + hiddenpower: ["7M"], + hypervoice: ["7T", "7L45"], + knockoff: ["7T"], + peck: ["7L1"], + pluck: ["7L16"], + protect: ["7M"], + rest: ["7M"], + return: ["7M"], + rockblast: ["7L1"], + rocksmash: ["7L1"], + roost: ["7M", "7L21"], + round: ["7M"], + screech: ["7L29"], + skyattack: ["7T"], + sleeptalk: ["7M"], + smackdown: ["7M"], + snore: ["7T"], + steelwing: ["7M"], + substitute: ["7M"], + sunnyday: ["7M"], + supersonic: ["7L13"], + swagger: ["7M"], + swordsdance: ["7M"], + tailwind: ["7T"], + thief: ["7M"], + toxic: ["7M"], + uproar: ["7T"], + uturn: ["7M"], + workup: ["7M"], + }, + }, + toucannon: { + learnset: { + aerialace: ["7M"], + attract: ["7M"], + beakblast: ["7L1"], + brickbreak: ["7M"], + bulletseed: ["7L40"], + confide: ["7M"], + defog: ["7T"], + doubleteam: ["7M"], + drillpeck: ["7L34"], + echoedvoice: ["7M", "7L1"], + featherdance: ["7L44"], + flamecharge: ["7M"], + flashcannon: ["7M"], + fly: ["7M"], + frustration: ["7M"], + furyattack: ["7L24"], + growl: ["7L1"], + gunkshot: ["7T"], + heatwave: ["7T"], + hiddenpower: ["7M"], + hypervoice: ["7T", "7L50"], + knockoff: ["7T"], + overheat: ["7M"], + peck: ["7L1"], + pluck: ["7L16"], + protect: ["7M"], + rest: ["7M"], + return: ["7M"], + rockblast: ["7L1"], + rocksmash: ["7L1"], + roost: ["7M", "7L21"], + round: ["7M"], + screech: ["7L30"], + seedbomb: ["7T"], + skyattack: ["7T"], + sleeptalk: ["7M"], + smackdown: ["7M"], + snore: ["7T"], + steelwing: ["7M"], + substitute: ["7M"], + sunnyday: ["7M"], + supersonic: ["7L13"], + swagger: ["7M"], + swordsdance: ["7M"], + tailwind: ["7T"], + thief: ["7M"], + toxic: ["7M"], + uproar: ["7T"], + uturn: ["7M"], + workup: ["7M"], + }, + encounters: [ + {generation: 7, level: 26}, + ], + }, + yungoos: { + learnset: { + attract: ["7M"], + bide: ["7L16"], + bite: ["9L19", "7L19"], + bulldoze: ["9M"], + chillingwater: ["9M"], + confide: ["7M"], + crunch: ["9M", "9L34", "7L34"], + dig: ["9M"], + doubleteam: ["7M"], + earthquake: ["7M"], + echoedvoice: ["7M"], + endeavor: ["9E", "7T"], + endure: ["9M"], + facade: ["9M", "7M"], + firefang: ["9M", "9E", "7E"], + frustration: ["7M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + hyperfang: ["7L37"], + icefang: ["9M", "9E", "7E"], + irontail: ["7T"], + lastresort: ["9E", "7T", "7E"], + leer: ["9L3", "7L3"], + mudshot: ["9M"], + mudslap: ["9M", "9L22", "7L22"], + odorsleuth: ["7L13"], + payback: ["9L7", "7M"], + protect: ["9M", "7M"], + psychicfangs: ["9M"], + pursuit: ["7L7"], + raindance: ["9M"], + rest: ["9M", "9L43", "7M", "7L46"], + return: ["7M"], + revenge: ["7E"], + reversal: ["9M"], + rocktomb: ["9M", "7M"], + round: ["7M"], + sandattack: ["9L10", "7L10"], + sandstorm: ["9M", "7M"], + scaryface: ["9M", "9L31", "7L31"], + seedbomb: ["9M"], + shockwave: ["7T"], + sleeptalk: ["9M", "7M"], + snore: ["7T"], + stompingtantrum: ["9M", "7T"], + substitute: ["9M", "7M"], + sunnyday: ["9M"], + superfang: ["9M", "9L25", "7T", "7L25"], + swagger: ["7M"], + tackle: ["9L1", "7L1"], + takedown: ["9M", "9L28", "7L28"], + taunt: ["9M", "7M"], + terablast: ["9M"], + thief: ["9M", "7M"], + thrash: ["9L40", "7L43"], + thunderfang: ["9M", "9E", "7E"], + torment: ["7M"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["7T"], + uturn: ["9M", "7M"], + wildcharge: ["9M"], + workup: ["9L13", "7M"], + yawn: ["9L37", "7L40"], + zenheadbutt: ["9M"], + }, + }, + gumshoos: { + learnset: { + attract: ["7M"], + bide: ["7L16"], + bite: ["9L19", "7L19"], + block: ["7T"], + bodyslam: ["9M"], + bulldoze: ["9M", "7M"], + chillingwater: ["9M"], + confide: ["7M"], + crunch: ["9M", "9L39", "7L39"], + dig: ["9M"], + doubleteam: ["7M"], + dualchop: ["7T"], + earthquake: ["9M", "7M"], + echoedvoice: ["7M"], + endeavor: ["7T"], + endure: ["9M"], + facade: ["9M", "7M"], + firefang: ["9M"], + firepunch: ["9M", "7T"], + fling: ["9M", "7M"], + focuspunch: ["9M"], + frustration: ["7M"], + gigaimpact: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M"], + hyperfang: ["7L43"], + icefang: ["9M"], + icepunch: ["9M", "7T"], + ironhead: ["9M", "7T"], + irontail: ["7T"], + knockoff: ["9M"], + lastresort: ["7T"], + leer: ["9L1", "7L1"], + lowsweep: ["9M"], + mudshot: ["9M"], + mudslap: ["9M", "9L23", "7L23"], + odorsleuth: ["7L13"], + payback: ["9L1", "7M"], + protect: ["9M", "7M"], + psychicfangs: ["9M"], + pursuit: ["7L1"], + raindance: ["9M"], + rest: ["9M", "9L52", "7M", "7L55"], + return: ["7M"], + reversal: ["9M"], + roar: ["9M", "7M"], + rocktomb: ["9M", "7M"], + round: ["7M"], + sandattack: ["9L1", "7L1"], + sandstorm: ["9M", "7M"], + scaryface: ["9M", "9L35", "7L35"], + seedbomb: ["9M"], + shockwave: ["7T"], + sleeptalk: ["9M", "7M"], + snore: ["7T"], + stompingtantrum: ["9M", "7T"], + substitute: ["9M", "7M"], + sunnyday: ["9M"], + superfang: ["9M", "9L27", "7T", "7L27"], + swagger: ["7M"], + tackle: ["9L1", "7L1"], + takedown: ["9M", "9L31", "7L31"], + taunt: ["9M", "7M"], + terablast: ["9M"], + thief: ["9M", "7M"], + thrash: ["9L47", "7L51"], + thunderfang: ["9M"], + thunderpunch: ["9M", "7T"], + torment: ["7M"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["7T"], + uturn: ["9M", "7M"], + wildcharge: ["9M"], + workup: ["9L13", "7M"], + yawn: ["9L43", "7L47"], + zenheadbutt: ["9M", "7T"], + }, + encounters: [ + {generation: 7, level: 17}, + ], + }, + gumshoostotem: { + learnset: { + attract: ["7M"], + bide: ["7L16", "7S0"], + bite: ["7L19", "7S0"], + block: ["7T"], + bulldoze: ["7M"], + confide: ["7M"], + crunch: ["7L39"], + doubleteam: ["7M"], + dualchop: ["7T"], + earthquake: ["7M"], + echoedvoice: ["7M"], + endeavor: ["7T"], + facade: ["7M"], + firepunch: ["7T"], + fling: ["7M"], + frustration: ["7M"], + hiddenpower: ["7M"], + hyperfang: ["7L43"], + icepunch: ["7T"], + ironhead: ["7T"], + irontail: ["7T"], + lastresort: ["7T"], + leer: ["7L1"], + mudslap: ["7L23"], + odorsleuth: ["7L13", "7S0"], + payback: ["7M"], + protect: ["7M"], + pursuit: ["7L1"], + rest: ["7M", "7L55"], + return: ["7M"], + roar: ["7M"], + rocktomb: ["7M"], + round: ["7M"], + sandattack: ["7L1", "7S0"], + sandstorm: ["7M"], + scaryface: ["7L35"], + shockwave: ["7T"], + sleeptalk: ["7M"], + snore: ["7T"], + stompingtantrum: ["7T"], + substitute: ["7M"], + superfang: ["7T", "7L27"], + swagger: ["7M"], + tackle: ["7L1"], + takedown: ["7L31"], + taunt: ["7M"], + thief: ["7M"], + thrash: ["7L51"], + thunderpunch: ["7T"], + torment: ["7M"], + toxic: ["7M"], + uproar: ["7T"], + uturn: ["7M"], + workup: ["7M"], + yawn: ["7L47"], + zenheadbutt: ["7T"], + }, + eventData: [ + {generation: 7, level: 20, perfectIVs: 3, moves: ["sandattack", "odorsleuth", "bide", "bite"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + grubbin: { + learnset: { + acrobatics: ["8M", "7M", "7L19"], + attract: ["8M", "7M"], + batonpass: ["9M"], + bite: ["9L15", "8L15", "7L10"], + bugbite: ["9M", "9L10", "8L10", "7T", "7L13"], + charge: ["9M"], + chargebeam: ["9M", "7M"], + confide: ["7M"], + crunch: ["9M", "9L35", "8M", "8L35", "7L22"], + dig: ["9M", "9L40", "8M", "8L40", "7L28"], + discharge: ["9E", "8E"], + doubleteam: ["7M"], + electricterrain: ["9M"], + electroweb: ["8M", "7T", "7E"], + endure: ["9M", "8M", "7E"], + facade: ["9M", "8M", "7M"], + frustration: ["7M"], + harden: ["9E", "8E", "7E"], + hiddenpower: ["7M"], + lightscreen: ["9M", "8M", "7M"], + lunge: ["9M"], + magnetrise: ["7T"], + mudshot: ["9M", "8M", "7E"], + mudslap: ["9M", "9L1", "8L1", "7L7"], + poisonjab: ["9M", "8M", "7M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + screech: ["8M"], + shockwave: ["7T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L21", "8L21", "7L16"], + stickyweb: ["9L25", "8L25"], + stringshot: ["9L5", "8L5", "7L4"], + strugglebug: ["9M"], + substitute: ["9M", "8M", "7M"], + swagger: ["7M"], + takedown: ["9M"], + terablast: ["9M"], + thunderbolt: ["9M", "8M", "7M"], + thunderwave: ["9M", "8M", "7M"], + toxic: ["7M"], + visegrip: ["9L1", "8L1", "7L1"], + voltswitch: ["9M", "8M", "7M"], + wildcharge: ["9M", "8M", "7M"], + xscissor: ["9M", "9L30", "8M", "8L30", "7M", "7L25"], + }, + }, + charjabug: { + learnset: { + acrobatics: ["8M", "7M", "7L19"], + attract: ["8M", "7M"], + batonpass: ["9M"], + bite: ["9L15", "8L15", "7L1"], + bugbite: ["9M", "9L1", "8L1", "7T", "7L13"], + charge: ["9M", "9L0", "8L0", "7L1"], + chargebeam: ["9M", "7M"], + confide: ["7M"], + crunch: ["9M", "9L43", "8M", "8L43", "7L25"], + dig: ["9M", "9L50", "8M", "8L50", "7L37"], + discharge: ["9L64", "8L64", "7L43"], + doubleteam: ["7M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + frustration: ["7M"], + hiddenpower: ["7M"], + irondefense: ["9M", "9L57", "8M", "8L57", "7T", "7L49"], + lightscreen: ["9M", "8M", "7M"], + lunge: ["9M"], + magnetrise: ["7T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L1"], + poisonjab: ["9M", "8M", "7M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + screech: ["8M"], + shockwave: ["7T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spark: ["9L23", "8L23", "7L16"], + stickyweb: ["9L29", "8L29"], + stringshot: ["9L1", "8L1", "7L1"], + strugglebug: ["9M"], + substitute: ["9M", "8M", "7M"], + swagger: ["7M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M", "8M", "7M"], + thunderwave: ["9M", "8M", "7M"], + toxic: ["7M"], + visegrip: ["9L1", "8L1", "7L1"], + voltswitch: ["9M", "8M", "7M"], + wildcharge: ["9M", "8M", "7M"], + xscissor: ["9M", "9L36", "8M", "8L36", "7M", "7L31"], + }, + }, + vikavolt: { + learnset: { + acrobatics: ["9M", "8M", "7M", "7L19"], + agility: ["9M", "9L57", "8M", "8L57", "7L49"], + airslash: ["9M", "8M", "7L1"], + attract: ["8M", "7M"], + batonpass: ["9M"], + bite: ["9L15", "8L15", "7L1"], + bugbite: ["9M", "9L1", "8L1", "7T", "7L13"], + bugbuzz: ["9M", "9L36", "8M", "8L36", "7L31"], + bulldoze: ["9M"], + charge: ["9M", "9L1", "8L1", "7L1"], + chargebeam: ["9M", "7M"], + confide: ["7M"], + crunch: ["9M", "9L1", "8M", "8L1"], + dig: ["9M", "9L1", "8M", "8L1", "7L37"], + discharge: ["9L1", "8L1"], + doubleteam: ["7M"], + dualwingbeat: ["8T"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + flashcannon: ["9M", "8M", "7M"], + fly: ["9M", "9L50", "8M", "8L50"], + frustration: ["7M"], + gigaimpact: ["9M", "8M", "7M"], + guillotine: ["9L43", "8L43", "7L25"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + irondefense: ["9M", "9L1", "8M", "8L1", "7T"], + laserfocus: ["7T"], + lightscreen: ["9M", "8M", "7M"], + lunge: ["9M"], + magnetrise: ["7T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L1"], + poisonjab: ["9M", "8M", "7M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + risingvoltage: ["8T"], + roost: ["7M"], + round: ["8M", "7M"], + screech: ["8M"], + shockwave: ["7T"], + signalbeam: ["7T"], + skittersmack: ["8T"], + skydrop: ["7M"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + spark: ["9L23", "8L23", "7L16"], + stickyweb: ["9L29", "8L29"], + stringshot: ["9L1", "8L1", "7L1"], + strugglebug: ["9M"], + substitute: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M", "8M", "7M"], + thunderbolt: ["9M", "9L0", "8M", "8L0", "7M", "7L1"], + thunderwave: ["9M", "8M", "7M"], + toxic: ["7M"], + visegrip: ["9L1", "8L1", "7L1"], + voltswitch: ["9M", "8M", "7M"], + wildcharge: ["9M", "8M", "7M"], + xscissor: ["9M", "9L1", "8M", "8L1", "7M"], + zapcannon: ["9L64", "8L64", "7L41"], + }, + }, + vikavolttotem: { + learnset: { + acrobatics: ["7M", "7L19", "7S0"], + agility: ["7L49"], + airslash: ["7L1"], + attract: ["7M"], + bite: ["7L1"], + bugbite: ["7T", "7L13"], + bugbuzz: ["7L31", "7S0"], + charge: ["7L1"], + chargebeam: ["7M"], + confide: ["7M"], + dig: ["7L37"], + doubleteam: ["7M"], + electroweb: ["7T"], + energyball: ["7M"], + facade: ["7M"], + flashcannon: ["7M"], + frustration: ["7M"], + gigaimpact: ["7M"], + guillotine: ["7L25", "7S0"], + hiddenpower: ["7M"], + hyperbeam: ["7M"], + irondefense: ["7T"], + laserfocus: ["7T"], + lightscreen: ["7M"], + magnetrise: ["7T"], + mudslap: ["7L1"], + poisonjab: ["7M"], + protect: ["7M"], + raindance: ["7M"], + rest: ["7M"], + return: ["7M"], + roost: ["7M"], + round: ["7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + skydrop: ["7M"], + sleeptalk: ["7M"], + snore: ["7T"], + solarbeam: ["7M"], + spark: ["7L16", "7S0"], + stringshot: ["7L1"], + substitute: ["7M"], + swagger: ["7M"], + thunder: ["7M"], + thunderbolt: ["7M", "7L1"], + thunderwave: ["7M"], + toxic: ["7M"], + visegrip: ["7L1"], + voltswitch: ["7M"], + wildcharge: ["7M"], + xscissor: ["7M"], + zapcannon: ["7L41"], + }, + eventData: [ + {generation: 7, level: 35, perfectIVs: 3, moves: ["spark", "acrobatics", "guillotine", "bugbuzz"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + crabrawler: { + learnset: { + amnesia: ["9M", "7E"], + attract: ["7M"], + bodyslam: ["9M"], + brickbreak: ["9M", "9L22", "7M"], + brutalswing: ["7M"], + bubble: ["7L1"], + bubblebeam: ["9L13", "7L17"], + bulkup: ["9M", "7M"], + bulldoze: ["9M", "7M"], + chillingwater: ["9M"], + closecombat: ["9M", "9L49", "7L49"], + confide: ["7M"], + crabhammer: ["9L37", "7L37"], + dig: ["9M"], + dizzypunch: ["7L25"], + doubleteam: ["7M"], + drainpunch: ["9M", "7T"], + dualchop: ["7T"], + dynamicpunch: ["9L45", "7L45"], + earthquake: ["9M", "7M"], + endeavor: ["9E", "7T", "7E"], + endure: ["9M"], + facade: ["9M", "7M"], + fling: ["9M", "7M"], + focusblast: ["9M", "7M"], + focuspunch: ["9M", "9E", "7T"], + frostbreath: ["7M"], + frustration: ["7M"], + gunkshot: ["9M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + icepunch: ["9M", "7T"], + irondefense: ["9M", "9L42", "7T", "7L42"], + ironhead: ["9M", "7T"], + knockoff: ["9M"], + leer: ["9L9", "7L9"], + liquidation: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + payback: ["9L29", "7M", "7L29"], + poweruppunch: ["7L22"], + protect: ["9M", "9L17", "7M"], + pursuit: ["7L13"], + raindance: ["9M", "7M"], + rest: ["9M", "7M"], + return: ["7M"], + reversal: ["9M", "9L33", "7L33"], + rockslide: ["9M", "7M"], + rocksmash: ["9L5", "7L5"], + rocktomb: ["9M", "7M"], + round: ["7M"], + scald: ["7M"], + slam: ["9L25"], + sleeptalk: ["9M", "7M"], + snore: ["7T"], + stompingtantrum: ["9M"], + stoneedge: ["7M"], + substitute: ["9M", "7M"], + sunnyday: ["9M", "7M"], + superpower: ["9E", "7T", "7E"], + swagger: ["7M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M"], + thunderpunch: ["9M", "7T"], + toxic: ["7M"], + visegrip: ["9L1"], + wideguard: ["9E", "7E"], + workup: ["7M"], + zenheadbutt: ["9M", "7T"], + }, + }, + crabominable: { + learnset: { + amnesia: ["9M"], + attract: ["7M"], + avalanche: ["9M", "9L29", "7L29"], + blizzard: ["9M", "7M"], + block: ["7T"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M", "9L22", "7M"], + brutalswing: ["7M"], + bubble: ["7L1"], + bubblebeam: ["9L17", "7L17"], + bulkup: ["9M", "7M"], + bulldoze: ["9M", "7M"], + chillingwater: ["9M"], + closecombat: ["9M", "9L49", "7L49"], + confide: ["7M"], + dig: ["9M"], + dizzypunch: ["7L25"], + doubleteam: ["7M"], + drainpunch: ["9M", "7T"], + dualchop: ["7T"], + dynamicpunch: ["9L45", "7L45"], + earthquake: ["9M", "7M"], + endeavor: ["7T"], + endure: ["9M"], + facade: ["9M", "7M"], + fling: ["9M", "7M"], + focusblast: ["9M", "7M"], + focuspunch: ["9M", "7T"], + frostbreath: ["7M"], + frustration: ["7M"], + gigaimpact: ["9M", "7M"], + gunkshot: ["9M"], + hail: ["7M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M"], + icebeam: ["9M", "7M"], + icehammer: ["9L37", "7L37"], + icepunch: ["9M", "9L0", "7T", "7L1"], + icespinner: ["9M"], + icywind: ["9M", "7T"], + irondefense: ["9M", "9L42", "7T", "7L42"], + ironhead: ["9M", "7T"], + knockoff: ["9M"], + leer: ["9L1", "7L1"], + liquidation: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + payback: ["7M"], + poweruppunch: ["7L22"], + protect: ["9M", "9L1", "7M"], + pursuit: ["7L1"], + raindance: ["9M", "7M"], + rest: ["9M", "7M"], + return: ["7M"], + reversal: ["9M", "9L33", "7L33"], + rockslide: ["9M", "7M"], + rocksmash: ["9L1", "7L1"], + rocktomb: ["9M", "7M"], + round: ["7M"], + scald: ["7M"], + scaryface: ["9M"], + slam: ["9L25"], + sleeptalk: ["9M", "7M"], + snore: ["7T"], + snowscape: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["7M"], + substitute: ["9M", "7M"], + sunnyday: ["9M", "7M"], + superpower: ["7T"], + swagger: ["7M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "7M"], + thunderpunch: ["9M", "7T"], + toxic: ["7M"], + workup: ["7M"], + zenheadbutt: ["9M", "7T"], + }, + }, + oricorio: { + learnset: { + acrobatics: ["9M", "9L23", "7M"], + aerialace: ["9M", "7M"], + agility: ["9M", "9L43", "7L46"], + aircutter: ["9M", "9L13", "7L13"], + airslash: ["9M", "9L36", "7L36"], + attract: ["9E", "7M"], + batonpass: ["9M", "9L16", "7L16"], + calmmind: ["9M", "7M"], + captivate: ["7L33", "7E"], + charm: ["9M"], + confide: ["7M"], + covet: ["7T"], + defog: ["9E", "7T"], + doubleslap: ["7L23"], + doubleteam: ["7M"], + dualwingbeat: ["9M"], + embargo: ["7M"], + endure: ["9M"], + facade: ["9M", "7M"], + featherdance: ["9L20", "7L20"], + flatter: ["9L33"], + fly: ["9M", "7M"], + frustration: ["7M"], + growl: ["9L4", "7L4"], + helpinghand: ["9M", "9L10", "7T", "7L10"], + hiddenpower: ["7M"], + hurricane: ["9M", "9L47", "7L50"], + icywind: ["9M", "7T"], + mirrormove: ["7L43"], + peck: ["9L6", "7L6"], + pluck: ["9E", "7E"], + pound: ["9L1", "7L1"], + protect: ["9M", "7M"], + quash: ["7M"], + quiverdance: ["9E"], + raindance: ["9M"], + rest: ["9M", "7M"], + return: ["7M"], + revelationdance: ["9L40", "7L40"], + reversal: ["9M"], + roleplay: ["7T"], + roost: ["9L30", "7M", "7L30"], + round: ["7M"], + safeguard: ["9E", "7M", "7E"], + sandstorm: ["9M", "7M"], + skyattack: ["7T"], + sleeptalk: ["9M", "7M"], + snore: ["7T"], + steelwing: ["7M"], + substitute: ["9M", "7M"], + sunnyday: ["9M"], + swagger: ["7M"], + swift: ["9M"], + swordsdance: ["9M", "7M"], + tailwind: ["9M", "7T", "7E"], + takedown: ["9M"], + taunt: ["9M", "7M"], + teeterdance: ["9L26", "7L26"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + uturn: ["9M", "7M"], + workup: ["7M"], + }, + }, + cutiefly: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + acrobatics: ["9M", "8M", "7M"], + aerialace: ["7M"], + afteryou: ["7T"], + allyswitch: ["8M", "7T"], + aromatherapy: ["8L30", "7L36"], + aromaticmist: ["9E", "8E"], + attract: ["8M", "7M"], + batonpass: ["9M", "8M", "7E"], + bestow: ["7E"], + bugbite: ["9M", "7T"], + bugbuzz: ["9M", "9L48", "8M", "8L48", "7L26"], + calmmind: ["9M", "8M", "7M"], + charm: ["9M", "8M"], + confide: ["7M"], + covet: ["9L30", "7T"], + dazzlinggleam: ["9M", "9L42", "8M", "8L42", "7M", "7L31"], + defog: ["7T"], + doubleteam: ["7M"], + drainingkiss: ["9M", "9L18", "8M", "8L18", "7L16"], + dreameater: ["7M"], + dualwingbeat: ["8T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + fairywind: ["9L1", "8L1", "7L4"], + faketears: ["9M", "8M"], + frustration: ["7M"], + grassknot: ["9M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + imprison: ["9M", "8M"], + infestation: ["7M"], + lastresort: ["7T"], + leechlife: ["9M", "8M", "7M"], + lightscreen: ["9M", "8M", "7M"], + magicalleaf: ["9M"], + magicroom: ["8M", "7T"], + moonblast: ["9E", "8E", "7E"], + playrough: ["9M", "8M"], + pollenpuff: ["9M"], + pounce: ["9M"], + powder: ["7E"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychup: ["7M"], + quiverdance: ["9L54", "8L54", "7L41"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roost: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + signalbeam: ["7T"], + silverwind: ["7L13"], + skillswap: ["9M", "8M", "7T", "7E"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + speedswap: ["8M", "7E"], + stickyweb: ["9E", "8E", "7E"], + strugglebug: ["9M", "9L24", "8L24", "7L10"], + stunspore: ["9L6", "8L6", "7L7"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + sweetscent: ["9L12", "8L12", "7L21"], + swift: ["9M", "8M"], + switcheroo: ["9L36", "8L36"], + tailwind: ["9M", "7T"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + toxic: ["7M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T"], + uturn: ["9M", "8M", "7M"], + wonderroom: ["8M", "7T"], + }, + }, + ribombee: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + acrobatics: ["9M", "8M", "7M"], + aerialace: ["7M"], + afteryou: ["7T"], + agility: ["9M"], + allyswitch: ["8M", "7T"], + aromatherapy: ["8L32", "7L42"], + attract: ["8M", "7M"], + batonpass: ["9M", "8M"], + bugbite: ["9M", "7T"], + bugbuzz: ["9M", "9L56", "8M", "8L56", "7L28"], + calmmind: ["9M", "8M", "7M"], + charm: ["9M", "8M"], + confide: ["7M"], + covet: ["9L32", "8L1", "7T"], + dazzlinggleam: ["9M", "9L48", "8M", "8L48", "7M", "7L35"], + defog: ["7T"], + doubleteam: ["7M"], + drainingkiss: ["9M", "9L18", "8M", "8L18", "7L16"], + dreameater: ["7M"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + fairywind: ["9L1", "8L1", "7L1"], + faketears: ["9M", "8M"], + frustration: ["7M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + infestation: ["7M"], + lastresort: ["7T"], + leechlife: ["9M", "8M", "7M"], + lightscreen: ["9M", "8M", "7M"], + lunge: ["9M"], + magicalleaf: ["9M", "8M"], + magicroom: ["8M", "7T"], + naturepower: ["7M"], + playrough: ["9M", "8M"], + pollenpuff: ["9M", "9L0", "8M", "8L0", "7L1"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychup: ["7M"], + quiverdance: ["9L64", "8L64", "7L49"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roost: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + signalbeam: ["7T"], + silverwind: ["7L13"], + skillswap: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + speedswap: ["8M"], + storedpower: ["9M"], + strugglebug: ["9M", "9L24", "8L24", "7L1"], + stunspore: ["9L1", "8L1", "7L1"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + sweetscent: ["9L1", "8L1", "7L21"], + swift: ["9M", "8M"], + switcheroo: ["9L40", "8L40"], + tailwind: ["9M", "7T"], + takedown: ["9M"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + toxic: ["7M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T"], + uturn: ["9M", "8M", "7M"], + wonderroom: ["8M", "7T"], + }, + }, + ribombeetotem: { + learnset: { + absorb: ["7L1"], + acrobatics: ["7M"], + aerialace: ["7M"], + afteryou: ["7T"], + allyswitch: ["7T"], + aromatherapy: ["7L42", "7S0"], + attract: ["7M"], + bugbite: ["7T"], + bugbuzz: ["7L28", "7S0"], + calmmind: ["7M"], + confide: ["7M"], + covet: ["7T"], + dazzlinggleam: ["7M", "7L35", "7S0"], + defog: ["7T"], + doubleteam: ["7M"], + drainingkiss: ["7L16"], + dreameater: ["7M"], + energyball: ["7M"], + facade: ["7M"], + fairywind: ["7L1"], + frustration: ["7M"], + helpinghand: ["7T"], + hiddenpower: ["7M"], + infestation: ["7M"], + lastresort: ["7T"], + leechlife: ["7M"], + lightscreen: ["7M"], + magicroom: ["7T"], + naturepower: ["7M"], + pollenpuff: ["7L1"], + protect: ["7M"], + psychic: ["7M"], + psychup: ["7M"], + quiverdance: ["7L49", "7S0"], + reflect: ["7M"], + rest: ["7M"], + return: ["7M"], + roost: ["7M"], + round: ["7M"], + safeguard: ["7M"], + signalbeam: ["7T"], + silverwind: ["7L13"], + skillswap: ["7T"], + sleeptalk: ["7M"], + snore: ["7T"], + solarbeam: ["7M"], + strugglebug: ["7L1"], + stunspore: ["7L1"], + substitute: ["7M"], + sunnyday: ["7M"], + swagger: ["7M"], + sweetscent: ["7L21"], + tailwind: ["7T"], + telekinesis: ["7T"], + thief: ["7M"], + toxic: ["7M"], + trick: ["7T"], + uturn: ["7M"], + wonderroom: ["7T"], + }, + eventData: [ + {generation: 7, level: 50, perfectIVs: 3, moves: ["bugbuzz", "dazzlinggleam", "aromatherapy", "quiverdance"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + rockruff: { + learnset: { + attract: ["8M", "7M"], + bite: ["9L20", "8L20", "7L7"], + bodyslam: ["9M"], + bulldoze: ["9M"], + charm: ["9M"], + confide: ["7M"], + covet: ["7T"], + crunch: ["9M", "9L36", "8M", "8L36", "7L40"], + crushclaw: ["7E"], + dig: ["9M"], + doubleteam: ["9L8", "8L8", "7M"], + earthpower: ["9M", "8M", "7T"], + echoedvoice: ["7M"], + endeavor: ["9E", "8E", "7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + firefang: ["9M", "8M", "7E"], + frustration: ["7M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + howl: ["9L16", "8L16", "7L12"], + hypervoice: ["9M", "8M", "7T"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + lastresort: ["9E", "8E", "7T"], + leer: ["9L1", "8L1", "7L1"], + mudslap: ["9M"], + odorsleuth: ["7L18"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychicfangs: ["9M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roar: ["9M", "9L28", "8L28", "7M", "7L26"], + rockclimb: ["7L45"], + rockpolish: ["7M"], + rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L34"], + rockthrow: ["9L12", "8L12", "7L15"], + rocktomb: ["9M", "9L24", "8M", "8L24", "7M", "7L23"], + round: ["8M", "7M"], + sandattack: ["9L4", "8L4", "7L4"], + sandstorm: ["9M"], + scaryface: ["9M", "9L40", "8M", "8L40", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "9L44", "8M", "8L44", "7T", "7L29"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L48", "8M", "8L48", "7M", "7L48"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["9E", "7E"], + swagger: ["7M"], + swordsdance: ["9M", "8M"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thrash: ["9E", "8E", "7E"], + thunderfang: ["9M", "8M", "7E"], + toxic: ["7M"], + trailblaze: ["9M"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + rockruffdusk: { + learnset: { + attract: ["8M", "7M"], + bite: ["9L20", "8L20", "7L7", "7S1", "7S0"], + bodyslam: ["9M"], + bulldoze: ["9M"], + charm: ["9M"], + confide: ["7M"], + covet: ["7T"], + crunch: ["9M", "9L36", "8M", "8L36", "7L40"], + crushclaw: ["7E"], + dig: ["9M"], + doubleteam: ["9L8", "8L8", "7M"], + earthpower: ["9M", "8M", "7T"], + echoedvoice: ["7M"], + endeavor: ["9E", "8E", "7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + firefang: ["9M", "8M", "7E", "7S0"], + frustration: ["7M"], + happyhour: ["7S1", "7S0"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + howl: ["9L16", "8L16", "7L12"], + hypervoice: ["9M", "8M", "7T"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + lastresort: ["9E", "8E", "7T"], + leer: ["9L1", "8L1", "7L1"], + mudslap: ["9M"], + odorsleuth: ["7L18"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychicfangs: ["9M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roar: ["9M", "9L28", "8L28", "7M", "7L26"], + rockclimb: ["7L45"], + rockpolish: ["7M"], + rockslide: ["9M", "9L32", "8M", "8L32", "7M", "7L34"], + rockthrow: ["9L12", "8L12", "7L15"], + rocktomb: ["9M", "9L24", "8M", "8L24", "7M", "7L23"], + round: ["8M", "7M"], + sandattack: ["9L4", "8L4", "7L4"], + sandstorm: ["9M"], + scaryface: ["9M", "9L40", "8M", "8L40", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "9L44", "8M", "8L44", "7T", "7L29"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L48", "8M", "8L48", "7M", "7L48"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["9E", "7E"], + swagger: ["7M"], + swordsdance: ["9M", "8M"], + tackle: ["9L1", "8L1", "7L1", "7S1", "7S0"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thrash: ["9E", "8E", "7E"], + thunderfang: ["9M", "8M", "7E", "7S1"], + toxic: ["7M"], + trailblaze: ["9M"], + zenheadbutt: ["9M", "8M", "7T"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["tackle", "bite", "firefang", "happyhour"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["tackle", "bite", "thunderfang", "happyhour"], pokeball: "cherishball"}, + ], + }, + lycanroc: { + learnset: { + accelerock: ["9L1", "8L1", "7L1"], + agility: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M", "7M"], + bite: ["9L20", "8L20", "7L1"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M"], + charm: ["9M"], + closecombat: ["9M", "8M"], + confide: ["7M"], + covet: ["7T"], + crunch: ["9M", "9L42", "8M", "8L42", "7L40"], + dig: ["9M"], + doubleteam: ["9L1", "8L1", "7M"], + drillrun: ["9M", "8M", "7T"], + earthpower: ["9M", "8M", "7T"], + echoedvoice: ["7M"], + endeavor: ["7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + firefang: ["9M", "8M"], + frustration: ["7M"], + gigaimpact: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + howl: ["9L16", "8L16", "7L12"], + hypervoice: ["9M", "8M", "7T"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + lastresort: ["7T"], + leer: ["9L1", "8L1", "7L1"], + mudslap: ["9M"], + odorsleuth: ["7L18"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychicfangs: ["9M", "8M"], + quickattack: ["9L1", "8L1", "7L1"], + quickguard: ["9L1", "8L1", "7L1"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roar: ["9M", "9L30", "8L30", "7M", "7L26"], + rockblast: ["9M", "8M"], + rockclimb: ["7L45"], + rockpolish: ["7M"], + rockslide: ["9M", "9L36", "8M", "8L36", "7M", "7L34"], + rockthrow: ["9L12", "8L12", "7L15"], + rocktomb: ["9M", "9L24", "8M", "8L24", "7M", "7L23"], + round: ["8M", "7M"], + sandattack: ["9L1", "8L1", "7L1"], + sandstorm: ["9M", "8M"], + scaryface: ["9M", "9L48", "8M", "8L48", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "9L54", "8M", "8L54", "7T", "7L29"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L60", "8M", "8L60", "7M", "7L48"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["9L0", "8L0"], + sunnyday: ["9M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M"], + tackle: ["9L1", "8L1", "7L1"], + tailslap: ["8M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + toxic: ["7M"], + trailblaze: ["9M"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + lycanrocmidnight: { + learnset: { + attract: ["8M", "7M"], + bite: ["9L20", "8L20", "7L1"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M"], + charm: ["9M"], + closecombat: ["9M", "8M"], + confide: ["7M"], + counter: ["9L0", "8L0", "7L1"], + covet: ["7T"], + crunch: ["9M", "9L42", "8M", "8L42", "7L40"], + dig: ["9M"], + doubleteam: ["9L1", "8L1", "7M"], + dualchop: ["7T"], + earthpower: ["9M", "8M", "7T"], + echoedvoice: ["7M"], + endeavor: ["7T"], + endure: ["9M", "9L1", "8M", "8L1"], + facade: ["9M", "8M", "7M"], + firefang: ["9M", "8M", "7S0"], + firepunch: ["9M", "8M", "7T"], + fling: ["9M"], + focuspunch: ["9M", "7T"], + foulplay: ["9M", "8M", "7T"], + frustration: ["7M"], + gigaimpact: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + howl: ["9L16", "8L16", "7L12"], + hypervoice: ["9M", "8M", "7T"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + knockoff: ["9M"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + lastresort: ["7T"], + leer: ["9L1", "8L1", "7L1"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + mudslap: ["9M"], + odorsleuth: ["7L18"], + outrage: ["9M", "8M", "7T"], + payback: ["8M"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychicfangs: ["9M", "8M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["9M", "9L1", "8M", "8L1", "7L1"], + roar: ["9M", "9L30", "8L30", "7M", "7L26"], + rockblast: ["9M", "8M"], + rockclimb: ["7L45"], + rockpolish: ["7M"], + rockslide: ["9M", "9L36", "8M", "8L36", "7M", "7L34"], + rockthrow: ["9L12", "8L12", "7L15"], + rocktomb: ["9M", "9L24", "8M", "8L24", "7M", "7L23"], + round: ["8M", "7M"], + sandattack: ["9L1", "8L1", "7L1"], + sandstorm: ["9M", "8M"], + scaryface: ["9M", "9L48", "8M", "8L48", "7L37"], + shadowclaw: ["9M"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "9L54", "8M", "8L54", "7T", "7L29"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L60", "8M", "8L60", "7M", "7L48", "7S0"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["7S0"], + sunnyday: ["9M"], + swagger: ["7M"], + swordsdance: ["9M", "8M", "7M", "7S0"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L1"], + terablast: ["9M"], + throatchop: ["8M", "7T"], + thunderfang: ["9M", "8M"], + thunderpunch: ["9M", "8M", "7T"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["8M", "7T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["stoneedge", "firefang", "suckerpunch", "swordsdance"], pokeball: "cherishball"}, + ], + }, + lycanrocdusk: { + learnset: { + accelerock: ["9L1", "8L1", "7L1"], + attract: ["8M", "7M"], + bite: ["9L20", "8L20", "7L1"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M"], + charm: ["9M"], + closecombat: ["9M", "8M"], + confide: ["7M"], + counter: ["9L1", "8L1", "7L1"], + covet: ["7T"], + crunch: ["9M", "9L42", "8M", "8L42", "7L40"], + crushclaw: ["9L0", "8L0"], + dig: ["9M"], + doubleteam: ["9L1", "8L1", "7M"], + drillrun: ["9M", "8M", "7T"], + earthpower: ["9M", "8M", "7T"], + echoedvoice: ["7M"], + endeavor: ["7T"], + endure: ["9M", "9L1", "8M", "8L1"], + facade: ["9M", "8M", "7M"], + firefang: ["9M", "8M"], + focusenergy: ["8M"], + frustration: ["7M"], + gigaimpact: ["9M", "8M"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + howl: ["9L16", "8L16", "7L12"], + hypervoice: ["9M", "8M", "7T"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + lastresort: ["7T"], + leer: ["9L1", "8L1", "7L1"], + mudslap: ["9M"], + odorsleuth: ["7L18"], + outrage: ["9M", "8M", "7T"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychicfangs: ["9M", "8M"], + quickattack: ["9L1", "8L1"], + quickguard: ["9L1", "8L1"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "9L1", "8M", "8L1"], + roar: ["9M", "9L30", "8L30", "7M", "7L26"], + rockblast: ["9M", "8M"], + rockclimb: ["7L45"], + rockpolish: ["7M"], + rockslide: ["9M", "9L36", "8M", "8L36", "7M", "7L34"], + rockthrow: ["9L12", "8L12", "7L15"], + rocktomb: ["9M", "9L24", "8M", "8L24", "7M", "7L23"], + round: ["8M", "7M"], + sandattack: ["9L1", "8L1", "7L1"], + sandstorm: ["9M", "8M"], + scaryface: ["9M", "9L48", "8M", "8L48", "7L37"], + sleeptalk: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "9L54", "8M", "8L54", "7T", "7L29"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M", "9L60", "8M", "8L60", "7M", "7L48"], + substitute: ["9M", "8M", "7M"], + suckerpunch: ["9L1", "8L1"], + swagger: ["7M"], + swordsdance: ["9M", "8M", "7M"], + tackle: ["9L1", "8L1", "7L1"], + tailslap: ["8M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1", "7M"], + terablast: ["9M"], + thrash: ["7L1"], + thunderfang: ["9M", "8M"], + toxic: ["7M"], + trailblaze: ["9M"], + workup: ["8M"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + wishiwashi: { + learnset: { + aquaring: ["8L36", "7L17"], + aquatail: ["8L32", "7T", "7L38"], + attract: ["8M", "7M"], + beatup: ["8M", "8L8", "7L33"], + brine: ["8M", "8L12", "7L14"], + bulldoze: ["8M", "7M"], + confide: ["7M"], + covet: ["7T"], + dive: ["8M", "8L20", "7L30"], + doubleedge: ["8L48", "7L41"], + doubleteam: ["7M"], + earthquake: ["8M", "7M"], + endeavor: ["8L40", "7T", "7L49"], + endure: ["8M"], + facade: ["8M", "7M"], + feintattack: ["7L9"], + flipturn: ["8T"], + frustration: ["7M"], + growl: ["8L1", "7L1"], + hail: ["8M", "7M"], + helpinghand: ["8M", "8L4", "7T", "7L6"], + hiddenpower: ["7M"], + hydropump: ["8M", "8L44", "7L54"], + icebeam: ["8M", "7M"], + irontail: ["8M", "7T"], + liquidation: ["8M"], + mist: ["8E", "7E"], + muddywater: ["8M", "7E"], + mudshot: ["8M"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + scald: ["8M", "7M"], + scaleshot: ["8T"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + soak: ["8L24", "7L46"], + substitute: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + takedown: ["8E", "7L25"], + tearfullook: ["8L16", "7L22"], + toxic: ["7M"], + uproar: ["8M", "8L28"], + uturn: ["8M", "7M"], + waterfall: ["8M", "7M"], + watergun: ["8L1", "7L1"], + waterpulse: ["8E", "7T", "7E"], + watersport: ["7E"], + whirlpool: ["8M", "7E"], + }, + }, + mareanie: { + learnset: { + acidspray: ["9M", "9L40"], + afteryou: ["7T"], + attract: ["8M", "7M"], + bite: ["9L10", "8L10", "7L9"], + blizzard: ["9M", "8M", "7M"], + brine: ["8M"], + chillingwater: ["9M"], + confide: ["7M"], + covet: ["7T"], + doubleteam: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + frostbreath: ["7M"], + frustration: ["7M"], + gastroacid: ["7T"], + gunkshot: ["9M", "8M", "7T"], + hail: ["8M", "7M"], + haze: ["9M", "9E", "8E", "7E"], + hiddenpower: ["7M"], + hydropump: ["9M", "8M"], + icebeam: ["9M", "8M", "7M"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T"], + infestation: ["9E", "8E", "7M"], + irondefense: ["9M", "8M", "7T"], + knockoff: ["7T"], + liquidation: ["9M", "9L35", "8M", "8L35", "7T", "7L49"], + lunge: ["9M"], + magiccoat: ["7T"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + painsplit: ["7T"], + payback: ["8M", "7M"], + peck: ["9L1", "8L1", "7L5"], + pinmissile: ["9L25", "8M", "8L25", "7L45"], + poisonjab: ["9M", "9L45", "8M", "8L45", "7M", "7L37"], + poisonsting: ["9L1", "8L1", "7L1"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + recover: ["9L20", "8L20", "7L33"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scald: ["8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M"], + sludgewave: ["8M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + spikecannon: ["7L29"], + spite: ["7T"], + spitup: ["9E", "8E", "7E"], + stockpile: ["9E", "8E", "7E", "7S0"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], + swagger: ["7M"], + swallow: ["9E", "8E", "7E", "7S0"], + terablast: ["9M"], + toxic: ["9M", "9L50", "8L50", "7M", "7L21", "7S0"], + toxicspikes: ["9M", "9L30", "8M", "8L30", "7L13"], + venomdrench: ["8M", "8L40", "7L41"], + venoshock: ["9M", "9L15", "8M", "8L15", "7M", "7L25"], + waterpulse: ["9M", "7T"], + wideguard: ["9L5", "8L5", "7L17"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, isHidden: true, moves: ["toxic", "stockpile", "swallow"], pokeball: "cherishball"}, + ], + }, + toxapex: { + learnset: { + acidspray: ["9M", "9L42"], + afteryou: ["7T"], + attract: ["8M", "7M"], + banefulbunker: ["9L0", "8L0", "7L1"], + bite: ["9L1", "8L1", "7L1"], + blizzard: ["9M", "8M", "7M"], + block: ["7T"], + bodyslam: ["9M"], + brine: ["8M"], + chillingwater: ["9M"], + confide: ["7M"], + covet: ["7T"], + crosspoison: ["8M"], + doubleteam: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + frostbreath: ["7M"], + frustration: ["7M"], + gastroacid: ["7T"], + gigaimpact: ["9M"], + gunkshot: ["9M", "8M", "7T"], + hail: ["8M", "7M"], + haze: ["9M"], + hex: ["9M", "8M"], + hiddenpower: ["7M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M"], + icebeam: ["9M", "8M", "7M"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T"], + infestation: ["7M"], + irondefense: ["9M", "8M", "7T"], + knockoff: ["7T"], + lightscreen: ["8M", "7M"], + liquidation: ["9M", "9L35", "8M", "8L35", "7T", "7L58"], + lunge: ["9M"], + magiccoat: ["7T"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + painsplit: ["7T"], + payback: ["8M", "7M"], + peck: ["9L1", "8L1", "7L1"], + pinmissile: ["9L25", "8M", "8L25", "7L51"], + poisonjab: ["9M", "9L49", "8M", "8L49", "7M", "7L37"], + poisonsting: ["9L1", "8L1", "7L1"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + raindance: ["9M", "8M", "7M"], + recover: ["9L20", "8L20", "7L33"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scald: ["8M", "7M"], + scaryface: ["9M"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M"], + sludgewave: ["8M", "7M"], + smackdown: ["9M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + spikecannon: ["7L29"], + spite: ["7T"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], + swagger: ["7M"], + terablast: ["9M"], + toxic: ["9M", "9L56", "8L56", "7M", "7L21"], + toxicspikes: ["9M", "9L30", "8M", "8L30", "7L1"], + venomdrench: ["8M", "8L42", "7L44"], + venoshock: ["9M", "9L15", "8M", "8L15", "7M", "7L25"], + waterpulse: ["9M", "7T"], + wideguard: ["9L1", "8L1", "7L17"], + }, + }, + mudbray: { + learnset: { + attract: ["8M", "7M"], + bide: ["7L22"], + bodyslam: ["9M", "8M", "7E"], + bulldoze: ["9M", "9L12", "8M", "8L12", "7M", "7L10"], + closecombat: ["9M", "8M", "7E"], + confide: ["7M"], + counter: ["9L24", "8L24", "7L36"], + doubleedge: ["9E", "8E", "7E"], + doublekick: ["9L8", "8L8", "7L15"], + doubleteam: ["7M"], + earthpower: ["9M", "8M", "7T"], + earthquake: ["9M", "9L36", "8M", "8L36", "7M", "7L38"], + endeavor: ["9E", "7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fissure: ["9E", "8E"], + frustration: ["7M"], + heavyslam: ["9M", "9L32", "8M", "8L32", "7L31"], + hiddenpower: ["7M"], + highhorsepower: ["9M", "9L28", "8M", "8L28", "7L24"], + irondefense: ["9M", "9L4", "8M", "8L4", "7T", "7L29"], + ironhead: ["9M", "8M", "7T"], + lowkick: ["9M", "8M", "7T"], + lowsweep: ["9M", "8M", "7M"], + magnitude: ["7E"], + megakick: ["9L40", "8M", "8L40", "7L43"], + mudbomb: ["7E"], + mudslap: ["9M", "9L1", "8L1", "7L1"], + mudsport: ["7L3"], + payback: ["8M", "7M"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roar: ["9M", "9E", "8E", "7M"], + rockslide: ["9M", "8M", "7M"], + rocksmash: ["9L1", "8L1"], + rocktomb: ["9M", "8M", "7M"], + rototiller: ["7L8"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + sandtomb: ["9M", "8M"], + sleeptalk: ["9M", "8M", "7M"], + smackdown: ["9M", "9E", "8E"], + snore: ["8M", "7T"], + stealthrock: ["9M", "8M", "7T"], + stomp: ["9L16", "8L16", "7L17"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + strength: ["9L20", "8L20"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + superpower: ["9L44", "8M", "8L44", "7T", "7L45"], + swagger: ["7M"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + }, + }, + mudsdale: { + learnset: { + attract: ["8M", "7M"], + bide: ["7L22"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "9L12", "8M", "8L12", "7M", "7L1"], + closecombat: ["9M", "8M"], + confide: ["7M"], + counter: ["9L24", "8L24", "7L42"], + doublekick: ["9L1", "8L1", "7L15"], + doubleteam: ["7M"], + earthpower: ["9M", "8M", "7T"], + earthquake: ["9M", "9L40", "8M", "8L40", "7M", "7L47"], + endeavor: ["7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], + frustration: ["7M"], + gigaimpact: ["9M", "8M", "7M"], + heavyslam: ["9M", "9L34", "8M", "8L34", "7L34"], + hiddenpower: ["7M"], + highhorsepower: ["9M", "9L28", "8M", "8L28", "7L24"], + hyperbeam: ["9M", "8M"], + irondefense: ["9M", "9L1", "8M", "8L1", "7T", "7L29"], + ironhead: ["9M", "8M", "7T"], + lashout: ["9M", "8T"], + lowkick: ["9M", "8M", "7T"], + lowsweep: ["9M", "8M", "7M"], + megakick: ["9L46", "8M", "8L46", "7L55"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9L1", "8L1", "7L1"], + mudsport: ["7L1"], + payback: ["8M", "7M"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + revenge: ["8M"], + roar: ["9M", "7M"], + rockslide: ["9M", "8M", "7M"], + rocksmash: ["9L1", "8L1"], + rocktomb: ["9M", "8M", "7M"], + rototiller: ["7L1"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + sandtomb: ["9M", "8M"], + scaryface: ["9M", "8M"], + sleeptalk: ["9M", "8M", "7M"], + smackdown: ["9M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "8M", "7T"], + stomp: ["9L16", "8L16", "7L17"], + stompingtantrum: ["9M", "8M", "7T"], + stoneedge: ["9M"], + strength: ["9L20", "8L20"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + superpower: ["9L52", "8M", "8L52", "7T", "7L60"], + swagger: ["7M"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + }, + encounters: [ + {generation: 7, level: 29}, + ], + }, + dewpider: { + learnset: { + aquaring: ["8L16", "7L24"], + attract: ["8M", "7M"], + aurorabeam: ["7E"], + bite: ["8L8", "7L21"], + blizzard: ["8M", "7M"], + bubble: ["7L1"], + bubblebeam: ["8L12", "7L16"], + bugbite: ["8L4", "7T", "7L13"], + bugbuzz: ["8M"], + confide: ["7M"], + crunch: ["8M", "8L24", "7L32"], + doubleteam: ["7M"], + endure: ["8M"], + entrainment: ["8L32", "7L48"], + facade: ["8M", "7M"], + frostbreath: ["7M"], + frustration: ["7M"], + gigadrain: ["8M", "7T"], + headbutt: ["8L20"], + hiddenpower: ["7M"], + icebeam: ["8M", "7M"], + icywind: ["8M", "7T"], + infestation: ["8L1", "7M", "7L5"], + irondefense: ["8M", "7T"], + leechlife: ["8M", "8L44", "7M", "7L29"], + liquidation: ["8M", "8L40", "7T", "7L45"], + lunge: ["8L36", "7L37"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + mirrorcoat: ["8L48", "7L40"], + poisonjab: ["8M", "7M"], + powersplit: ["8E", "7E"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + scald: ["8M", "7M"], + signalbeam: ["7T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + soak: ["8L28"], + spiderweb: ["7L8"], + spitup: ["8E", "7E"], + stickyweb: ["8E", "7E"], + stockpile: ["8E", "7E"], + substitute: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + toxic: ["7M"], + waterfall: ["8M", "7M"], + watergun: ["8L1"], + waterpulse: ["7T"], + watersport: ["7L1"], + wonderroom: ["8M", "7T"], + xscissor: ["8M", "7M"], + }, + }, + araquanid: { + learnset: { + aquaring: ["8L16", "7L26"], + attract: ["8M", "7M"], + bite: ["8L1", "7L21"], + blizzard: ["8M", "7M"], + bubble: ["7L1"], + bubblebeam: ["8L12", "7L16"], + bugbite: ["8L1", "7T", "7L1"], + bugbuzz: ["8M"], + confide: ["7M"], + crunch: ["8M", "8L26", "7L38"], + dive: ["8M"], + doubleteam: ["7M"], + endure: ["8M"], + entrainment: ["8L38", "7L62"], + facade: ["8M", "7M"], + frostbreath: ["7M"], + frustration: ["7M"], + gigadrain: ["8M", "7T"], + headbutt: ["8L20"], + hiddenpower: ["7M"], + hydropump: ["8M"], + icebeam: ["8M", "7M"], + icywind: ["8M", "7T"], + infestation: ["8L1", "7M", "7L1"], + irondefense: ["8M", "7T"], + laserfocus: ["7T"], + leechlife: ["8M", "8L56", "7M", "7L33"], + liquidation: ["8M", "8L50", "7T", "7L57"], + lunge: ["8L44", "7L45"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + mirrorcoat: ["8L62", "7L50"], + poisonjab: ["8M", "7M"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scald: ["8M", "7M"], + signalbeam: ["7T"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + soak: ["8L32", "7L1"], + spiderweb: ["7L1"], + substitute: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + toxic: ["7M"], + waterfall: ["8M", "7M"], + watergun: ["8L1"], + waterpulse: ["7T"], + wideguard: ["8L1", "7L1"], + wonderroom: ["8M", "7T"], + xscissor: ["8M", "7M"], + }, + }, + araquanidtotem: { + learnset: { + aquaring: ["7L26"], + attract: ["7M"], + bite: ["7L21", "7S0"], + blizzard: ["7M"], + bubble: ["7L1"], + bubblebeam: ["7L16", "7S0"], + bugbite: ["7T", "7L1", "7S0"], + confide: ["7M"], + crunch: ["7L38"], + doubleteam: ["7M"], + entrainment: ["7L62"], + facade: ["7M"], + frostbreath: ["7M"], + frustration: ["7M"], + gigadrain: ["7T"], + hiddenpower: ["7M"], + icebeam: ["7M"], + icywind: ["7T"], + infestation: ["7M", "7L1"], + irondefense: ["7T"], + laserfocus: ["7T"], + leechlife: ["7M", "7L33"], + liquidation: ["7T", "7L57"], + lunge: ["7L45"], + magiccoat: ["7T"], + magicroom: ["7T"], + mirrorcoat: ["7L50"], + poisonjab: ["7M"], + protect: ["7M"], + raindance: ["7M"], + reflect: ["7M"], + rest: ["7M"], + return: ["7M"], + round: ["7M"], + safeguard: ["7M"], + scald: ["7M"], + signalbeam: ["7T"], + sleeptalk: ["7M"], + snore: ["7T"], + soak: ["7L1"], + spiderweb: ["7L1", "7S0"], + substitute: ["7M"], + surf: ["7M"], + swagger: ["7M"], + toxic: ["7M"], + waterfall: ["7M"], + waterpulse: ["7T"], + wideguard: ["7L1"], + wonderroom: ["7T"], + xscissor: ["7M"], + }, + eventData: [ + {generation: 7, level: 25, perfectIVs: 3, moves: ["spiderweb", "bugbite", "bubblebeam", "bite"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + fomantis: { + learnset: { + aromatherapy: ["8E", "7E"], + attract: ["8M", "7M"], + bugbite: ["9M", "7T"], + bulletseed: ["9M", "8M"], + confide: ["7M"], + defog: ["9E", "8E", "7T", "7E"], + doubleteam: ["7M"], + dualchop: ["7T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + fling: ["9M", "8M", "7M"], + frustration: ["7M"], + furycutter: ["9L1", "8L1", "7L1"], + gigadrain: ["9M", "8M", "7T", "7E"], + grassknot: ["9M", "8M", "7M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growth: ["9L5", "8L5", "7L14"], + hiddenpower: ["7M"], + ingrain: ["9L10", "8L10", "7L19"], + leafage: ["9L1", "8L1", "7L5"], + leafblade: ["9L40", "8M", "8L40", "7L23"], + leafstorm: ["9M", "8M", "7E"], + leechlife: ["9M", "8M", "7M"], + magicalleaf: ["9M", "8M"], + naturepower: ["7M"], + payback: ["8M", "7M"], + poisonjab: ["8M", "7M"], + protect: ["9M", "8M", "7M"], + razorleaf: ["9L15", "8L15", "7L10"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + signalbeam: ["7T"], + slash: ["9L25", "8L25", "7L32"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "9L50", "8M", "8L50", "7M", "7L41"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "9L45", "8M", "8L45", "7M", "7L46"], + superpower: ["9E"], + swagger: ["7M"], + sweetscent: ["9L20", "8L20", "7L37"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L35", "8L35", "7T", "7L28"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + weatherball: ["9M", "8M", "7E"], + worryseed: ["9E", "8E", "7T"], + xscissor: ["9M", "9L30", "8M", "8L30", "7M"], + }, + }, + lurantis: { + learnset: { + aerialace: ["7M"], + attract: ["8M", "7M"], + brickbreak: ["9M", "8M", "7M"], + bugbite: ["9M", "7T"], + bulletseed: ["9M", "8M"], + confide: ["7M"], + crosspoison: ["8M"], + defog: ["7T"], + doubleteam: ["7M"], + dualchop: ["8L1", "7T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + fling: ["9M", "8M", "7M"], + frustration: ["7M"], + furycutter: ["9L1", "8L1", "7L1"], + gigadrain: ["9M", "8M", "7T"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L1", "8L1", "7L1"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + ingrain: ["9L1", "8L1", "7L19"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + leafage: ["9L1", "8L1", "7L1"], + leafblade: ["9L44", "8M", "8L44", "7L23"], + leafstorm: ["9M", "8M"], + leechlife: ["9M", "8M", "7M"], + lowsweep: ["9M", "8M", "7M"], + magicalleaf: ["9M", "8M"], + naturepower: ["7M"], + nightslash: ["9L1", "8L1", "7L1"], + payback: ["8M", "7M"], + petalblizzard: ["9L0", "8L0", "7L1"], + poisonjab: ["9M", "8M", "7M"], + pollenpuff: ["9M"], + protect: ["9M", "8M", "7M"], + psychocut: ["8M"], + raindance: ["9M"], + razorleaf: ["9L15", "8L15", "7L1"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scaryface: ["9M"], + seedbomb: ["9M", "8M", "7T"], + signalbeam: ["7T"], + slash: ["9L25", "8L25", "7L32"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "9L1", "8M", "8L1", "7M"], + solarblade: ["9M", "9L63", "8M", "8L63", "7L47"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "9L51", "8M", "8L51", "7M", "7L55"], + superpower: ["8M", "7T"], + swagger: ["7M"], + sweetscent: ["9L20", "8L20", "7L40"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L37", "8L37", "7T", "7L28"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + weatherball: ["9M", "8M"], + worryseed: ["7T"], + xscissor: ["9M", "9L30", "8M", "8L30", "7M", "7L1"], + }, + }, + lurantistotem: { + learnset: { + aerialace: ["7M"], + attract: ["7M"], + brickbreak: ["7M"], + bugbite: ["7T"], + confide: ["7M"], + defog: ["7T"], + doubleteam: ["7M"], + dualchop: ["7T"], + energyball: ["7M"], + facade: ["7M"], + falseswipe: ["7M"], + fling: ["7M"], + frustration: ["7M"], + furycutter: ["7L1"], + gigadrain: ["7T"], + gigaimpact: ["7M"], + grassknot: ["7M"], + growth: ["7L1", "7S0"], + hiddenpower: ["7M"], + hyperbeam: ["7M"], + ingrain: ["7L19", "7S0"], + knockoff: ["7T"], + laserfocus: ["7T"], + leafage: ["7L1"], + leafblade: ["7L23", "7S0"], + leechlife: ["7M"], + lowsweep: ["7M"], + naturepower: ["7M"], + nightslash: ["7L1"], + payback: ["7M"], + petalblizzard: ["7L1"], + poisonjab: ["7M"], + protect: ["7M"], + razorleaf: ["7L1"], + rest: ["7M"], + return: ["7M"], + round: ["7M"], + safeguard: ["7M"], + seedbomb: ["7T"], + signalbeam: ["7T"], + slash: ["7L32"], + sleeptalk: ["7M"], + snore: ["7T"], + solarbeam: ["7M"], + solarblade: ["7L47"], + substitute: ["7M"], + sunnyday: ["7M", "7L55"], + superpower: ["7T"], + swagger: ["7M"], + sweetscent: ["7L40"], + swordsdance: ["7M"], + synthesis: ["7T", "7L28", "7S0"], + toxic: ["7M"], + worryseed: ["7T"], + xscissor: ["7M", "7L1"], + }, + eventData: [ + {generation: 7, level: 30, perfectIVs: 3, moves: ["growth", "ingrain", "leafblade", "synthesis"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + morelull: { + learnset: { + absorb: ["8L1", "7L1"], + afteryou: ["7T"], + amnesia: ["8M", "7E"], + astonish: ["8L1", "7L4"], + attract: ["8M", "7M"], + confide: ["7M"], + confuseray: ["8L4", "7L25"], + dazzlinggleam: ["8M", "8L32", "7M"], + doubleteam: ["7M"], + drainingkiss: ["8M"], + dreameater: ["8L44", "7M", "7L43"], + endure: ["8M"], + energyball: ["8M", "7M"], + facade: ["8M"], + flash: ["7L8"], + frustration: ["7M"], + gigadrain: ["8M", "8L28", "7T", "7L29"], + grassknot: ["8M", "7M"], + growth: ["8E", "7E"], + hiddenpower: ["7M"], + ingrain: ["8L8", "7L22"], + leechseed: ["8E", "7E"], + lightscreen: ["8M", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + megadrain: ["8L12", "7L15"], + moonblast: ["8L40", "7L39"], + moonlight: ["8L20", "7L11"], + naturepower: ["7M"], + poisonpowder: ["8E", "7E"], + pollenpuff: ["8M"], + protect: ["8M", "7M"], + recycle: ["7T"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["8M", "7T"], + signalbeam: ["7T"], + sleeppowder: ["8L16", "7L18"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + spore: ["8L36", "7L36"], + spotlight: ["7L46"], + strengthsap: ["8L25", "7L32"], + stunspore: ["8E", "7E"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + synthesis: ["7T"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + wonderroom: ["8M", "7T"], + worryseed: ["7T"], + }, + }, + shiinotic: { + learnset: { + absorb: ["8L1", "7L1"], + afteryou: ["7T"], + amnesia: ["8M"], + astonish: ["8L1", "7L1"], + attract: ["8M", "7M"], + chargebeam: ["7M"], + confide: ["7M"], + confuseray: ["8L1", "7L26"], + dazzlinggleam: ["8M", "8L38", "7M"], + doubleteam: ["7M"], + drainingkiss: ["8M"], + drainpunch: ["8M"], + dreameater: ["8L56", "7M", "7L49"], + endure: ["8M"], + energyball: ["8M", "7M"], + facade: ["8M"], + flash: ["7L1"], + frustration: ["7M"], + gigadrain: ["8M", "8L32", "7T", "7L31"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + hiddenpower: ["7M"], + hyperbeam: ["8M"], + ingrain: ["8L1", "7L1"], + lightscreen: ["8M", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + megadrain: ["8L12", "7L15"], + moonblast: ["8L50", "7L44"], + moonlight: ["8L20", "7L11"], + naturepower: ["7M"], + pollenpuff: ["8M"], + protect: ["8M", "7M"], + raindance: ["8M"], + recycle: ["7T"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["8M", "7T"], + signalbeam: ["7T"], + sleeppowder: ["8L16", "7L18"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + spore: ["8L44", "7L40"], + spotlight: ["7L53"], + strengthsap: ["8L27", "7L35"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + synthesis: ["7T"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + weatherball: ["8M"], + wonderroom: ["8M", "7T"], + worryseed: ["7T"], + }, + }, + salandit: { + learnset: { + acidspray: ["9M"], + agility: ["9M"], + attract: ["8M", "7M"], + beatup: ["8M"], + belch: ["9E", "8E", "7E"], + burningjealousy: ["9M"], + confide: ["7M"], + covet: ["7T"], + doubleslap: ["7L21"], + doubleteam: ["7M"], + dragonclaw: ["9M", "8M", "7M"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "7T", "7L48"], + dragonrage: ["7L13"], + ember: ["9L10", "8L10", "7L5"], + endeavor: ["9L55", "8L60"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["9E", "8E", "7E"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M"], + flameburst: ["7L24"], + flamecharge: ["9M", "7M"], + flamethrower: ["9M", "9L45", "8M", "8L50", "7M", "7L40"], + flareblitz: ["9M"], + fling: ["9M", "8M", "7M"], + foulplay: ["9M", "8M", "7T"], + frustration: ["7M"], + gunkshot: ["9M", "8M", "7T"], + heatwave: ["9M", "8M", "7T"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + incinerate: ["9L30", "8L30"], + irontail: ["8M", "7T"], + knockoff: ["9M", "7T", "7E"], + leechlife: ["9M", "8M", "7M"], + mudslap: ["9M", "9E", "8E"], + nastyplot: ["9M", "9L25", "8M", "8L25", "7L32"], + overheat: ["9M", "8M", "7M"], + payback: ["8M", "7M"], + poisonfang: ["9L15", "8L15"], + poisongas: ["9L1", "8L1", "7L1"], + poisonjab: ["9M", "8M", "7M"], + poisontail: ["9M"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + sandattack: ["9E", "8E", "7E"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + scratch: ["9L1", "8L1", "7L1"], + shadowclaw: ["9M", "8M", "7M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M"], + sludgewave: ["8M", "7M"], + smog: ["9L5", "8L5", "7L16"], + snatch: ["7T", "7E"], + snore: ["8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + swagger: ["7M"], + sweetscent: ["9L20", "8L20", "7L8"], + swift: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + thunderwave: ["9M", "8M"], + torment: ["7M"], + toxic: ["9M", "9L50", "8L55", "7M", "7L29"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venomdrench: ["8M", "8L45", "7L45"], + venoshock: ["9M", "9L35", "8M", "8L35", "7M", "7L37"], + willowisp: ["9M", "8M", "7M"], + }, + }, + salazzle: { + learnset: { + acidspray: ["9M"], + acrobatics: ["9M", "8M", "7M"], + agility: ["9M"], + attract: ["8M", "7M"], + beatup: ["8M"], + bodyslam: ["9M"], + breakingswipe: ["8M"], + burningjealousy: ["9M"], + captivate: ["7L1"], + confide: ["7M"], + corrosivegas: ["8T"], + covet: ["7T"], + crosspoison: ["8M"], + disable: ["9L1", "8L1", "7L1"], + doubleslap: ["7L21"], + doubleteam: ["7M"], + dragonclaw: ["9M", "8M", "7M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "9L44", "8M", "8L44", "7T", "7L56"], + dragonrage: ["7L13"], + dragontail: ["9M", "7M"], + ember: ["9L1", "8L1", "7L1"], + encore: ["9M", "9L1", "8M", "8L1", "7L1"], + endeavor: ["9L1", "8L1"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fakeout: ["7S0"], + faketears: ["9M", "8M"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M"], + firelash: ["9L0", "8L0"], + flameburst: ["7L24"], + flamecharge: ["9M", "7M"], + flamethrower: ["9M", "9L51", "8M", "8L58", "7M", "7L44", "7S0"], + flareblitz: ["9M", "8M"], + fling: ["9M", "8M", "7M"], + foulplay: ["9M", "8M", "7T"], + frustration: ["7M"], + gigaimpact: ["9M"], + gunkshot: ["9M", "8M", "7T"], + heatwave: ["9M", "8M", "7T"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + incinerate: ["9L30", "8L30"], + irontail: ["8M", "7T"], + knockoff: ["9M", "9L1", "8L1", "7T"], + laserfocus: ["7T"], + leechlife: ["9M", "8M", "7M"], + mudslap: ["9M"], + nastyplot: ["9M", "9L25", "8M", "8L25", "7L32"], + overheat: ["9M", "8M", "7M"], + payback: ["8M", "7M"], + poisonfang: ["9L15", "8L15"], + poisongas: ["9L1", "8L1", "7L1"], + poisonjab: ["9M", "8M", "7M"], + poisontail: ["9M"], + pound: ["9L1", "8L1", "7L1"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + scratch: ["9L1", "8L1"], + shadowclaw: ["9M", "8M", "7M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M", "7S0"], + sludgewave: ["8M", "7M"], + smog: ["9L1", "8L1", "7L16"], + snatch: ["7T"], + snore: ["8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + swagger: ["9L1", "8L1", "7M", "7L1"], + sweetscent: ["9L20", "8L20", "7L1"], + swift: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + thunderwave: ["9M", "8M"], + torment: ["9L1", "8L1", "7M", "7L1"], + toxic: ["9M", "9L58", "8L65", "7M", "7L29", "7S0"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + venomdrench: ["8M", "8L51", "7L51"], + venoshock: ["9M", "9L37", "8M", "8L37", "7M", "7L39"], + willowisp: ["9M", "8M", "7M"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["fakeout", "toxic", "sludgebomb", "flamethrower"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 16}, + ], + }, + salazzletotem: { + learnset: { + acrobatics: ["7M"], + attract: ["7M"], + captivate: ["7L1"], + confide: ["7M"], + covet: ["7T"], + disable: ["7L1"], + doubleslap: ["7L21", "7S0"], + doubleteam: ["7M"], + dragonclaw: ["7M"], + dragonpulse: ["7T", "7L56"], + dragonrage: ["7L13"], + dragontail: ["7M"], + ember: ["7L1"], + encore: ["7L1"], + facade: ["7M"], + fireblast: ["7M"], + flameburst: ["7L24", "7S0"], + flamecharge: ["7M"], + flamethrower: ["7M", "7L44"], + fling: ["7M"], + foulplay: ["7T"], + frustration: ["7M"], + gunkshot: ["7T"], + heatwave: ["7T"], + helpinghand: ["7T"], + hiddenpower: ["7M"], + irontail: ["7T"], + knockoff: ["7T"], + laserfocus: ["7T"], + leechlife: ["7M"], + nastyplot: ["7L32"], + overheat: ["7M"], + payback: ["7M"], + poisongas: ["7L1"], + poisonjab: ["7M"], + pound: ["7L1"], + protect: ["7M"], + rest: ["7M"], + return: ["7M"], + round: ["7M"], + shadowclaw: ["7M"], + sleeptalk: ["7M"], + sludgebomb: ["7M"], + sludgewave: ["7M"], + smog: ["7L16", "7S0"], + snatch: ["7T"], + snore: ["7T"], + substitute: ["7M"], + swagger: ["7M", "7L1"], + sweetscent: ["7L1"], + taunt: ["7M"], + thief: ["7M"], + torment: ["7M", "7L1"], + toxic: ["7M", "7L29", "7S0"], + venomdrench: ["7L51"], + venoshock: ["7M", "7L39"], + willowisp: ["7M"], + }, + eventData: [ + {generation: 7, level: 30, perfectIVs: 3, moves: ["smog", "doubleslap", "flameburst", "toxic"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + stufful: { + learnset: { + aerialace: ["7M"], + attract: ["8M", "7M"], + babydolleyes: ["8L4", "7L10"], + bide: ["7L5"], + bind: ["7T"], + brickbreak: ["8M", "7M"], + brutalswing: ["8M", "8L12", "7M", "7L14"], + bulkup: ["8M", "7M"], + bulldoze: ["8M", "7M"], + charm: ["8M"], + coaching: ["8T"], + confide: ["7M"], + defensecurl: ["8E"], + doubleedge: ["8L44", "7L46"], + doubleteam: ["7M"], + dualchop: ["7T"], + earthquake: ["8M", "7M"], + endure: ["8M", "8L16", "7E"], + facade: ["8M", "7M"], + flail: ["8L28", "7L19"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + focuspunch: ["7T"], + forcepalm: ["8E", "7E"], + frustration: ["7M"], + hammerarm: ["8L32", "7L32"], + hiddenpower: ["7M"], + icepunch: ["8M", "7T", "7E"], + ironhead: ["8M", "7T"], + leer: ["8L1", "7L1"], + lowsweep: ["8M", "7M"], + megakick: ["8M", "7E"], + megapunch: ["8M"], + painsplit: ["8L40", "7T", "7L41"], + payback: ["8M", "8L8", "7M", "7L23"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + roar: ["7M"], + rockslide: ["8M", "7M"], + rocktomb: ["8M", "7M"], + roleplay: ["7T"], + rollout: ["8E"], + round: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + stomp: ["8E"], + stompingtantrum: ["8M", "7T", "7E"], + strength: ["8L20"], + substitute: ["8M", "7M"], + superpower: ["8M", "8L48", "7T", "7L50"], + swagger: ["7M"], + swordsdance: ["8M", "7M"], + tackle: ["8L1", "7L1"], + takedown: ["8L24", "7L28"], + taunt: ["8M", "7M"], + thrash: ["8L36", "7L37"], + thunderpunch: ["8M", "7T", "7E"], + toxic: ["7M"], + wideguard: ["7E"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T"], + }, + }, + bewear: { + learnset: { + aerialace: ["7M"], + attract: ["8M", "7M"], + babydolleyes: ["8L1", "7L10", "7S0"], + bide: ["7L5"], + bind: ["8L0", "7T", "7L1", "7S0"], + bodypress: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M", "7M"], + brutalswing: ["8M", "8L12", "7M", "7L14", "7S0"], + bulkup: ["8M", "7M"], + bulldoze: ["8M", "7M"], + charm: ["8M"], + closecombat: ["8M"], + coaching: ["8T"], + confide: ["7M"], + darkestlariat: ["8M"], + doubleedge: ["8L54", "7L56"], + doubleteam: ["7M"], + dragonclaw: ["8M", "7M"], + drainpunch: ["8M", "7T"], + dualchop: ["7T"], + earthquake: ["8M", "7M"], + endure: ["8M", "8L16"], + facade: ["8M", "7M"], + flail: ["8L30", "7L19"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + focuspunch: ["7T"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + hammerarm: ["8L36", "7L36"], + hiddenpower: ["7M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "7M"], + icepunch: ["8M", "7T"], + ironhead: ["8M", "7T"], + leer: ["8L1", "7L1"], + lowkick: ["8M", "7T"], + lowsweep: ["8M", "7M"], + megakick: ["8M"], + megapunch: ["8M"], + painsplit: ["8L48", "7T", "7L49"], + payback: ["8M", "8L1", "7M", "7L23"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["8M"], + roar: ["7M"], + rockslide: ["8M", "7M"], + rocktomb: ["8M", "7M"], + roleplay: ["7T"], + round: ["8M", "7M"], + shadowclaw: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + stompingtantrum: ["8M", "7T"], + strength: ["8L20"], + substitute: ["8M", "7M"], + superpower: ["8M", "8L60", "7T", "7L62", "7S0"], + swagger: ["7M"], + swordsdance: ["8M", "7M"], + tackle: ["8L1", "7L1"], + takedown: ["8L24", "7L30"], + taunt: ["8M", "7M"], + thrash: ["8L42", "7L43"], + thunderpunch: ["8M", "7T"], + toxic: ["7M"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["babydolleyes", "brutalswing", "superpower", "bind"], pokeball: "cherishball"}, + ], + }, + bounsweet: { + learnset: { + acupressure: ["9E", "8E", "7E"], + aromatherapy: ["8L36"], + aromaticmist: ["9L32", "8L32", "7L33"], + attract: ["8M", "7M"], + bounce: ["8M", "7T"], + bulletseed: ["9M"], + charm: ["9M", "8M", "7E"], + confide: ["7M"], + covet: ["7T"], + dazzlinggleam: ["9M", "8M", "7M"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + endeavor: ["9E", "8E", "7T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + feint: ["7E"], + flail: ["9L24", "8L24", "7L29"], + frustration: ["7M"], + gigadrain: ["9M", "8M", "7T"], + grassknot: ["9M", "8M", "7M"], + grasswhistle: ["7E"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + leafstorm: ["9M"], + lightscreen: ["9M", "8M", "7M"], + magicalleaf: ["9M", "9L20", "8M", "8L20", "7L21"], + naturepower: ["7M"], + playnice: ["9L4", "8L4", "7L5"], + playrough: ["9M", "8M", "7E"], + protect: ["9M", "8M", "7M"], + rapidspin: ["9L8", "8L8", "7L9"], + razorleaf: ["9L12", "8L12", "7L13"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + splash: ["9L1", "8L1", "7L1"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + sweetscent: ["9L16", "8L16", "7L17"], + swift: ["9M"], + synthesis: ["9E", "8E", "7T", "7E"], + takedown: ["9M"], + teeterdance: ["9L28", "8L28", "7L25"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + worryseed: ["7T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + steenee: { + learnset: { + aromatherapy: ["8L46", "7L41"], + aromaticmist: ["9L40", "8L40", "7L33"], + attract: ["8M", "7M"], + bounce: ["8M", "7T"], + bulletseed: ["9M"], + captivate: ["7L37"], + charm: ["9M", "8M"], + confide: ["7M"], + covet: ["7T"], + dazzlinggleam: ["9M", "8M", "7M"], + doubleslap: ["7L1", "7S0"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + endeavor: ["7T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + flail: ["9L1", "8L1"], + fling: ["9M", "8M", "7M"], + frustration: ["7M"], + gigadrain: ["9M", "8M", "7T"], + grassknot: ["9M", "8M", "7M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + knockoff: ["7T"], + leafstorm: ["9M", "9L46", "8M", "8L52", "7L45"], + lightscreen: ["9M", "8M", "7M"], + lowsweep: ["9M", "8M", "7M"], + magicalleaf: ["9M", "9L22", "8M", "8L22", "7L21", "7S0"], + naturepower: ["7M"], + payback: ["8M", "7M"], + playnice: ["9L1", "8L1", "7L1"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + rapidspin: ["9L1", "8L1", "7L1"], + razorleaf: ["9L1", "8L1", "7L1"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + splash: ["9L1", "8L1", "7L1"], + stomp: ["9L28", "8L28", "7L29"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + sweetscent: ["9L16", "8L16", "7L17", "7S0"], + swift: ["9M"], + synthesis: ["7T"], + takedown: ["9M"], + teeterdance: ["9L34", "8L34", "7L25"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + tripleaxel: ["8T"], + worryseed: ["7T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + eventData: [ + {generation: 7, level: 20, nature: "Naive", abilities: ["leafguard"], moves: ["magicalleaf", "doubleslap", "sweetscent"], pokeball: "cherishball"}, + ], + }, + tsareena: { + learnset: { + acrobatics: ["9M", "8M", "7M"], + aromatherapy: ["8L46", "7L41"], + aromaticmist: ["9L40", "8L40", "7L33"], + attract: ["8M", "7M"], + bounce: ["8M", "7T"], + bulletseed: ["9M"], + captivate: ["7L37"], + charm: ["9M", "8M"], + confide: ["7M"], + covet: ["7T"], + dazzlinggleam: ["9M", "8M", "7M"], + doubleslap: ["7L1"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + endeavor: ["7T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + flail: ["9L1", "8L1"], + fling: ["9M", "8M", "7M"], + frustration: ["7M"], + gigadrain: ["9M", "8M", "7T"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + highjumpkick: ["9L58", "8L58", "7L49"], + hyperbeam: ["9M", "8M"], + knockoff: ["9M", "7T"], + laserfocus: ["7T"], + leafstorm: ["9M", "9L46", "8M", "8L52", "7L45"], + lightscreen: ["9M", "8M", "7M"], + lowkick: ["9M", "8M", "7T"], + lowsweep: ["9M", "8M", "7M"], + magicalleaf: ["9M", "9L22", "8M", "8L22", "7L21"], + megakick: ["8M"], + naturepower: ["7M"], + payback: ["8M", "7M"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + powerwhip: ["9L1", "8M", "8L1", "7L53"], + protect: ["9M", "8M", "7M"], + punishment: ["7L1"], + rapidspin: ["9L1", "8L1", "7L1"], + razorleaf: ["9L1", "8L1", "7L1"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + solarblade: ["9M", "8M"], + splash: ["9L1", "8L1", "7L1"], + stomp: ["9L28", "8L28", "7L29"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["9L1", "8L1", "7M", "7L1"], + sweetscent: ["9L16", "8L16", "7L17"], + swift: ["9M"], + synthesis: ["7T"], + takedown: ["9M"], + taunt: ["9M", "8M"], + teeterdance: ["9L34", "8L34", "7L25"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + tripleaxel: ["8T"], + tropkick: ["9L0", "8L0", "7L1"], + uturn: ["9M", "8M", "7M"], + worryseed: ["7T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + comfey: { + learnset: { + acrobatics: ["8M", "7M"], + afteryou: ["8E", "7T", "7E"], + allyswitch: ["8M", "7T"], + amnesia: ["8M", "7E"], + aromatherapy: ["8L36", "7L43"], + attract: ["8M", "7M"], + bind: ["7T"], + bulletseed: ["8M"], + calmmind: ["8M", "7M"], + celebrate: ["7S0"], + charm: ["8M"], + confide: ["7M"], + covet: ["7T"], + dazzlinggleam: ["8M", "7M"], + defog: ["7T"], + doubleteam: ["7M"], + drainingkiss: ["8M", "8L9", "7L7", "7S0"], + echoedvoice: ["7M"], + encore: ["8M"], + endure: ["8M", "7E"], + energyball: ["8M", "7M"], + facade: ["8M", "7M"], + fling: ["8M", "7M"], + floralhealing: ["8L30", "7L37"], + flowershield: ["8L12", "7L1"], + frustration: ["7M"], + gigadrain: ["8M", "7T"], + grassknot: ["8M", "8L24", "7M", "7L34"], + grassyglide: ["8T"], + grassyterrain: ["8M", "8L48", "7L46"], + growth: ["8L1", "7L13"], + healbell: ["7T"], + helpinghand: ["8M", "8L6", "7T", "7L1"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + leaftornado: ["8E"], + leechseed: ["8L21", "7L4", "7S0"], + lightscreen: ["8M", "7M"], + luckychant: ["7E"], + magicalleaf: ["8M", "8L15", "7L10", "7S0"], + magiccoat: ["7T"], + naturalgift: ["7L22"], + naturepower: ["7M"], + painsplit: ["7T"], + petalblizzard: ["8L33", "7L25"], + petaldance: ["8L45", "7L40"], + playrough: ["8M", "8L39", "7L49"], + pollenpuff: ["8M"], + protect: ["8M", "7M"], + psychup: ["7M"], + rest: ["8M", "7M"], + return: ["7M"], + roleplay: ["7T"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + seedbomb: ["8M", "7T"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + storedpower: ["8M"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + sweetkiss: ["8L27", "7L19"], + sweetscent: ["8L42", "7L31"], + synthesis: ["8L18", "7T", "7L28"], + tailwind: ["7T"], + taunt: ["8M", "7M"], + telekinesis: ["7T"], + thief: ["8M", "7M"], + toxic: ["7M"], + trick: ["8M", "7T"], + trickroom: ["8M", "7M"], + uturn: ["8M", "7M"], + vinewhip: ["8L3", "7L1"], + worryseed: ["8E", "7T"], + wrap: ["8L1", "7L16"], + }, + eventData: [ + {generation: 7, level: 10, nature: "Jolly", moves: ["celebrate", "leechseed", "drainingkiss", "magicalleaf"], pokeball: "cherishball"}, + ], + }, + oranguru: { + learnset: { + afteryou: ["9L5", "8L5", "7T", "7L4"], + allyswitch: ["8M", "7T", "7S1"], + attract: ["8M"], + block: ["7T"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + calmmind: ["9M", "9L10", "8M", "8L10", "7M", "7L39"], + chargebeam: ["9M", "7M"], + chillingwater: ["9M"], + confide: ["7M"], + confusion: ["9L1", "8L1", "7L1"], + covet: ["7T"], + doubleteam: ["7M"], + dreameater: ["9E", "8E", "7M"], + earthquake: ["9M", "8M", "7M"], + embargo: ["7M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + expandingforce: ["8T"], + extrasensory: ["9E", "8E", "7E"], + facade: ["9M", "8M", "7M"], + feintattack: ["7L22"], + fling: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], + foulplay: ["9M", "9L55", "8M", "8L55", "7T", "7L36", "7S1"], + frustration: ["7M"], + futuresight: ["9L60", "8M", "8L60", "7L46"], + gigaimpact: ["9M", "8M", "7M"], + gravity: ["9M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M"], + imprison: ["9M", "8M"], + instruct: ["9L50", "8L50", "7L32", "7S0", "7S1"], + knockoff: ["9M", "7T"], + lastresort: ["9E", "8E"], + lightscreen: ["9M", "8M", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + megakick: ["8M"], + megapunch: ["8M"], + nastyplot: ["9M", "9L30", "8M", "8L30", "7L25"], + naturepower: ["7M"], + painsplit: ["7T"], + payback: ["8M", "7M"], + protect: ["9M", "8M", "7M"], + psybeam: ["9M"], + psychic: ["9M", "9L45", "8M", "8L45", "7M", "7L43", "7S0"], + psychicterrain: ["9M", "8M", "7E", "7S0"], + psychup: ["9L20", "8L20", "7M", "7L18"], + psyshock: ["9M", "8M", "7M"], + quash: ["9L25", "8L25", "7M", "7L11"], + raindance: ["9M", "8M", "7M"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rockslide: ["9M", "8M", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scaryface: ["9M"], + shadowball: ["9M", "8M", "7M"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + spite: ["7T"], + storedpower: ["9M", "9L15", "8M", "8L15", "7L15"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1", "7M", "7L8"], + telekinesis: ["7T"], + terablast: ["9M"], + terrainpulse: ["8T"], + thunder: ["9M", "8M", "7M"], + thunderbolt: ["9M", "8M", "7M"], + toxic: ["7M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T"], + trickroom: ["9M", "9L40", "8M", "8L40", "7M", "7L50", "7S1"], + wonderroom: ["8M", "7T", "7E"], + workup: ["8M", "7M"], + yawn: ["9E", "8E"], + zenheadbutt: ["9M", "9L35", "8M", "8L35", "7T", "7L29"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, abilities: ["telepathy"], moves: ["instruct", "psychic", "psychicterrain"], pokeball: "cherishball"}, + {generation: 7, level: 50, isHidden: true, moves: ["instruct", "foulplay", "trickroom", "allyswitch"], pokeball: "pokeball"}, + ], + }, + passimian: { + learnset: { + acrobatics: ["9M", "8M", "7M"], + aerialace: ["7M"], + assurance: ["8M"], + attract: ["8M", "7M"], + batonpass: ["9M"], + beatup: ["9L15", "8M", "8L15", "7L15"], + bestow: ["7L25", "7S0"], + block: ["7T"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "9L35", "8M", "8L35", "7M", "7L32"], + bulldoze: ["9M", "8M", "7M"], + chillingwater: ["9M"], + closecombat: ["9M", "9L50", "8M", "8L50", "7L43", "7S1"], + coaching: ["8T"], + confide: ["7M"], + counter: ["9E", "8E"], + doubleedge: ["9L45", "8L45", "7L36"], + doubleteam: ["7M"], + drainpunch: ["9M", "8M", "7T"], + earthquake: ["9M", "8M", "7M"], + electroweb: ["8M", "7T"], + endeavor: ["7T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + feint: ["9E", "8E", "7E", "7S0"], + fling: ["9M", "9L30", "8M", "8L30", "7M", "7L39", "7S0"], + focusblast: ["9M", "8M", "7M"], + focusenergy: ["9L10", "8M", "8L10", "7L11"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + gigaimpact: ["9M", "9L60", "8M", "8L60", "7M", "7L50"], + grassknot: ["9M", "8M", "7M"], + gunkshot: ["9M", "8M", "7T", "7S1"], + gyroball: ["9M", "8M", "7M"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + ironhead: ["9M", "8M", "7T", "7E"], + irontail: ["8M", "7T"], + knockoff: ["9M", "9E", "8E", "7T", "7S1"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "7L4"], + lowkick: ["9M"], + lowsweep: ["9M", "8M", "7M"], + megakick: ["8M"], + megapunch: ["8M"], + payback: ["8M", "7M"], + protect: ["9M", "8M", "7M"], + quickattack: ["9E", "8E", "7E"], + quickguard: ["9E", "8E", "7E"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + retaliate: ["8M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["9M", "9L55", "8M", "8L55", "7L46"], + rockslide: ["9M", "8M", "7M"], + rocksmash: ["9L5", "8L5", "7L8"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + scaryface: ["9M", "9L20", "8M", "8L20", "7L18"], + seedbomb: ["9M", "8M", "7T"], + seismictoss: ["9E", "8E", "7E"], + shadowball: ["9M", "8M", "7M"], + shockwave: ["7T"], + sleeptalk: ["9M", "8M", "7M"], + smackdown: ["9M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + superpower: ["8M", "7T"], + swagger: ["7M"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M", "9L25", "8L25", "7L22"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + thrash: ["9L40", "8L40", "7L29"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T"], + uturn: ["9M", "8M", "7M", "7S1"], + vacuumwave: ["9M"], + vitalthrow: ["8E", "7E"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, moves: ["bestow", "fling", "feint"], pokeball: "cherishball"}, + {generation: 7, level: 50, isHidden: true, moves: ["closecombat", "uturn", "knockoff", "gunkshot"], pokeball: "pokeball"}, + ], + }, + wimpod: { + learnset: { + aquajet: ["8E", "7E"], + assurance: ["8M"], + attract: ["8M", "7M"], + bugbuzz: ["8M"], + confide: ["7M"], + defensecurl: ["8L1"], + doubleteam: ["7M"], + endure: ["8M"], + facade: ["8M", "7M"], + frustration: ["7M"], + hail: ["8M", "7M"], + harden: ["8E", "7E"], + hiddenpower: ["7M"], + leechlife: ["8M", "7M"], + metalclaw: ["8E", "7E"], + mudshot: ["8M"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + rollout: ["8E"], + round: ["8M", "7M"], + sandattack: ["8L1", "7L1"], + scald: ["8M", "7M"], + screech: ["8M"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + spikes: ["8M", "7E"], + strugglebug: ["8L1", "7L1"], + substitute: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M"], + taunt: ["8M", "7M"], + toxic: ["7M"], + waterfall: ["8M", "7M"], + wideguard: ["8E", "7E"], + }, + }, + golisopod: { + learnset: { + aerialace: ["7M"], + assurance: ["8M"], + attract: ["8M", "7M"], + blizzard: ["8M", "7M"], + brickbreak: ["8M", "7M"], + bugbite: ["8L16", "7T", "7L10"], + bugbuzz: ["8M"], + bulkup: ["8M", "7M"], + closecombat: ["8M"], + confide: ["7M"], + darkpulse: ["8M", "7M"], + defensecurl: ["8L1"], + dive: ["8M"], + doubleteam: ["7M"], + drillrun: ["8M", "7T"], + dualchop: ["7T"], + endeavor: ["7T"], + endure: ["8M"], + facade: ["8M", "7M"], + falseswipe: ["8M", "7M"], + firstimpression: ["8L0", "7L1"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + frostbreath: ["7M"], + frustration: ["7M"], + furycutter: ["8L8", "7L1"], + gigaimpact: ["8M", "7M"], + hail: ["8M", "7M"], + hiddenpower: ["7M"], + hyperbeam: ["8M"], + icebeam: ["8M", "7M"], + icywind: ["8M", "7T"], + irondefense: ["8M", "8L20", "7T", "7L36"], + ironhead: ["8M", "7T"], + knockoff: ["7T"], + laserfocus: ["7T"], + leechlife: ["8M", "7M"], + liquidation: ["8M", "8L44", "7T", "7L48"], + muddywater: ["8M"], + mudshot: ["8M", "8L12"], + painsplit: ["7T"], + payback: ["8M", "7M"], + pinmissile: ["8M", "8L36", "7L41"], + poisonjab: ["8M", "7M"], + protect: ["8M", "7M"], + psychup: ["7M"], + raindance: ["8M", "7M"], + razorshell: ["8M", "8L32", "7L26"], + rest: ["8M", "7M"], + return: ["7M"], + rockslide: ["8M", "7M"], + rocksmash: ["8L4", "7L1"], + rocktomb: ["8M", "7M"], + round: ["8M", "7M"], + sandattack: ["8L1", "7L1"], + scald: ["8M", "7M"], + screech: ["8M"], + shadowclaw: ["8M", "7M"], + skittersmack: ["8T"], + slash: ["8L28", "7L21"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "7M"], + sludgewave: ["8M", "7M"], + snarl: ["8M", "7M"], + snore: ["8M", "7T"], + spikes: ["8M"], + spite: ["8L1", "7T", "7L13"], + strugglebug: ["8L1", "7L1"], + substitute: ["8M", "7M"], + suckerpunch: ["8L24", "7L31"], + surf: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M"], + swordsdance: ["8M", "8L40", "7M", "7L16"], + taunt: ["8M", "7M"], + throatchop: ["8M", "7T"], + toxic: ["7M"], + venoshock: ["8M", "7M"], + waterfall: ["8M", "7M"], + waterpulse: ["7T"], + xscissor: ["8M", "7M"], + }, + }, + sandygast: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + afteryou: ["7T"], + amnesia: ["9M", "8M", "7E"], + ancientpower: ["9E", "8E", "7E"], + astonish: ["9L5", "8L5", "7L5"], + attract: ["8M", "7M"], + block: ["7T"], + brine: ["8M"], + bulldoze: ["9M", "9L25", "8M", "8L25", "7M", "7L23"], + chillingwater: ["9M"], + confide: ["7M"], + confuseray: ["9M"], + curse: ["9E", "8E", "7E"], + destinybond: ["9E", "8E", "7E"], + doubleteam: ["7M"], + earthpower: ["9M", "9L50", "8M", "8L50", "7T", "7L45"], + earthquake: ["9M", "8M", "7M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + flashcannon: ["9M"], + fling: ["9M"], + frustration: ["7M"], + gigadrain: ["9M", "9L35", "8M", "8L35", "7T", "7L36"], + gravity: ["9M", "7T"], + harden: ["9L1", "8L1", "7L1"], + hex: ["9M"], + hiddenpower: ["7M"], + hypnosis: ["9L30", "8L30", "7L27"], + imprison: ["9M"], + infestation: ["7M"], + irondefense: ["9M", "9L40", "8M", "8L40", "7T", "7L32"], + megadrain: ["9L15", "8L15", "7L18"], + mudshot: ["9M", "8M"], + mudslap: ["9M"], + nightshade: ["9M"], + painsplit: ["7T"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + raindance: ["9M"], + recycle: ["7T"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rockpolish: ["7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + roleplay: ["7T"], + round: ["8M", "7M"], + sandattack: ["9L20", "8L20", "7L9"], + sandstorm: ["9M", "9L60", "8M", "8L60", "7M", "7L54"], + sandtomb: ["9M", "9L10", "8M", "8L10", "7L14"], + scaryface: ["9M"], + scorchingsands: ["8T"], + shadowball: ["9M", "9L45", "8M", "8L45", "7M", "7L41"], + shoreup: ["9L55", "8L55", "7L50"], + skillswap: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M"], + snore: ["8M", "7T"], + spite: ["9M", "7T"], + spitup: ["9E", "8E", "7E"], + stealthrock: ["9M", "8M", "7T"], + stockpile: ["9E", "8E", "7E"], + stoneedge: ["9M", "8M", "7M"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + swagger: ["7M"], + swallow: ["9E", "8E", "7E"], + terablast: ["9M"], + toxic: ["7M"], + trick: ["9M", "8M", "7T"], + }, + }, + palossand: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + afteryou: ["7T"], + amnesia: ["9M", "8M"], + astonish: ["9L1", "8L1", "7L1"], + attract: ["8M", "7M"], + block: ["7T"], + bodyslam: ["9M"], + brine: ["8M"], + bulldoze: ["9M", "9L25", "8M", "8L25", "7M", "7L23"], + chillingwater: ["9M"], + confide: ["7M"], + confuseray: ["9M"], + doubleteam: ["7M"], + earthpower: ["9M", "9L54", "8M", "8L54", "7T", "7L47"], + earthquake: ["9M", "8M", "7M"], + embargo: ["7M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + facade: ["9M", "8M", "7M"], + flashcannon: ["9M"], + fling: ["9M", "8M", "7M"], + frustration: ["7M"], + gigadrain: ["9M", "9L35", "8M", "8L35", "7T", "7L36"], + gigaimpact: ["9M", "8M", "7M"], + gravity: ["9M", "7T"], + harden: ["9L1", "8L1", "7L1"], + hex: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M"], + hypnosis: ["9L30", "8L30", "7L27"], + imprison: ["9M"], + infestation: ["7M"], + irondefense: ["9M", "9L40", "8M", "8L40", "7T", "7L32"], + megadrain: ["9L15", "8L15", "7L18"], + mudshot: ["9M", "8M"], + mudslap: ["9M"], + nightshade: ["9M"], + painsplit: ["7T"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + quash: ["7M"], + raindance: ["9M"], + recycle: ["7T"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rockpolish: ["7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + roleplay: ["7T"], + round: ["8M", "7M"], + sandattack: ["9L20", "8L20", "7L1"], + sandstorm: ["9M", "9L68", "8M", "8L68", "7M", "7L60"], + sandtomb: ["9M", "9L1", "8M", "8L1", "7L14"], + scaryface: ["9M"], + scorchingsands: ["8T"], + shadowball: ["9M", "9L47", "8M", "8L47", "7M", "7L41"], + shoreup: ["9L61", "8L61", "7L54"], + skillswap: ["9M", "8M", "7T"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + spite: ["9M", "7T"], + stealthrock: ["9M", "8M", "7T"], + stoneedge: ["9M", "8M", "7M"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + swagger: ["7M"], + terablast: ["9M"], + terrainpulse: ["8T"], + toxic: ["7M"], + trick: ["9M", "8M", "7T"], + }, + }, + pyukumuku: { + learnset: { + attract: ["8M", "7M"], + batonpass: ["8M", "8L1", "7L1"], + bestow: ["7E"], + bide: ["7L1"], + block: ["7T"], + confide: ["7M"], + counter: ["8L20", "7L17"], + curse: ["8L30", "7L25"], + doubleteam: ["7M"], + endure: ["8M", "7E"], + gastroacid: ["8L35", "7T", "7L29"], + hail: ["8M", "7M"], + harden: ["8L1", "7L1"], + helpinghand: ["8M", "8L5", "7T", "7L5"], + lightscreen: ["8M", "7M"], + memento: ["8L60", "7L49"], + mirrorcoat: ["8E"], + mudsport: ["7L1"], + painsplit: ["8L40", "7T", "7L33"], + protect: ["8M", "7M"], + psychup: ["7M"], + purify: ["8L25", "7L21"], + quash: ["7M"], + raindance: ["8M", "7M"], + recover: ["8L45", "7L37"], + recycle: ["7T"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + safeguard: ["8M", "8L15", "7M", "7L13"], + screech: ["8M"], + sleeptalk: ["8M", "7M"], + soak: ["8L50", "7L41"], + spite: ["8E", "7T", "7E"], + substitute: ["8M", "7M"], + swagger: ["8E", "7M"], + taunt: ["8M", "8L10", "7M", "7L9"], + tickle: ["8E", "7E"], + toxic: ["8L55", "7M", "7L45"], + venomdrench: ["8M", "7E"], + watersport: ["7L1"], + }, + }, + typenull: { + learnset: { + aerialace: ["8L5", "7M", "7L20"], + airslash: ["8M", "8L30", "7L60", "7S1"], + confide: ["7M"], + crushclaw: ["8L25", "7L25", "7S0"], + doubleedge: ["8L55", "7L80"], + doublehit: ["8L15", "7L55", "7S1"], + doubleteam: ["7M"], + dragonclaw: ["8M", "7M"], + endure: ["8M"], + facade: ["8M", "7M"], + flamecharge: ["7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + hail: ["8M", "7M"], + healblock: ["7L85"], + hiddenpower: ["7M"], + hyperbeam: ["8M"], + icywind: ["8M", "7T"], + imprison: ["8M", "8L1", "7L15"], + irondefense: ["8M", "7T"], + ironhead: ["8M", "8L45", "8S2", "7T", "7L50", "7S1"], + lastresort: ["7T"], + magiccoat: ["7T"], + metalsound: ["8L20", "7L45", "7S1"], + payback: ["8M", "7M"], + protect: ["8M", "7M"], + punishment: ["7L65"], + pursuit: ["7L10"], + rage: ["7L5"], + raindance: ["8M", "7M"], + razorwind: ["7L70"], + rest: ["8M", "7M"], + return: ["7M"], + roar: ["7M"], + rockslide: ["8M", "7M"], + round: ["8M", "7M"], + sandstorm: ["8M", "7M"], + scaryface: ["8M", "8L10", "7L30", "7S0"], + shadowclaw: ["8M", "7M"], + signalbeam: ["7T"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M"], + swordsdance: ["8M", "7M"], + tackle: ["8L1", "7L1"], + takedown: ["8L50", "8S2", "7L40", "7S0"], + terrainpulse: ["8T"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + triattack: ["8M", "8L35", "8S2", "7L75"], + uturn: ["8M", "7M"], + workup: ["8M", "7M"], + xscissor: ["8M", "8L40", "8S2", "7M", "7L35", "7S0"], + }, + eventData: [ + {generation: 7, level: 40, shiny: 1, perfectIVs: 3, moves: ["crushclaw", "scaryface", "xscissor", "takedown"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, perfectIVs: 3, moves: ["metalsound", "ironhead", "doublehit", "airslash"], pokeball: "pokeball"}, + {generation: 8, level: 50, shiny: 1, perfectIVs: 3, moves: ["triattack", "xscissor", "ironhead", "takedown"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + silvally: { + learnset: { + aerialace: ["8L1", "7M", "7L20"], + airslash: ["8M", "8L30", "7L60"], + bite: ["8L1", "7L15"], + confide: ["7M"], + crunch: ["8M", "8L45", "7L50"], + crushclaw: ["8L25", "7L25"], + defog: ["7T"], + doubleedge: ["8L55", "7L80"], + doublehit: ["8L15", "7L55"], + doubleteam: ["7M"], + dracometeor: ["8T", "7T"], + dragonclaw: ["8M", "7M"], + endure: ["8M"], + explosion: ["8L1", "7M"], + facade: ["8M", "7M"], + firefang: ["8M", "8L1", "7L1"], + flamecharge: ["7M"], + flamethrower: ["8M", "7M"], + flashcannon: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + grasspledge: ["8T", "7T"], + hail: ["8M", "7M"], + healblock: ["7L1"], + heatwave: ["8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + hypervoice: ["8M", "7T"], + icebeam: ["8M", "7M"], + icefang: ["8M", "8L1", "7L1"], + icywind: ["8M", "7T"], + imprison: ["8M", "8L1", "7L1"], + irondefense: ["8M", "7T"], + ironhead: ["8M", "8L1", "7T", "7L1"], + laserfocus: ["7T"], + lastresort: ["7T"], + magiccoat: ["7T"], + metalsound: ["8L20", "7L45"], + multiattack: ["8L0", "7L1", "7S0"], + outrage: ["8M", "7T"], + partingshot: ["8L60", "7L85", "7S0"], + payback: ["8M", "7M"], + poisonfang: ["8L1", "7L1"], + protect: ["8M", "7M"], + psychicfangs: ["8M"], + punishment: ["7L65", "7S0"], + pursuit: ["7L10"], + rage: ["7L5"], + raindance: ["8M", "7M"], + razorwind: ["7L70"], + rest: ["8M", "7M"], + return: ["7M"], + reversal: ["8M"], + roar: ["7M"], + rockslide: ["8M", "7M"], + round: ["8M", "7M"], + sandstorm: ["8M", "7M"], + scaryface: ["8M", "8L1", "7L30", "7S0"], + selfdestruct: ["8M"], + shadowball: ["8M", "7M"], + shadowclaw: ["8M", "7M"], + signalbeam: ["7T"], + sleeptalk: ["8M", "7M"], + snarl: ["8M", "7M"], + snore: ["8M", "7T"], + steelbeam: ["8T"], + steelwing: ["8M", "7M"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M"], + swordsdance: ["8M", "7M"], + tackle: ["8L1", "7L1"], + tailwind: ["7T"], + takedown: ["8L50", "7L40"], + terrainpulse: ["8T"], + thunderbolt: ["8M", "7M"], + thunderfang: ["8M", "8L1", "7L1"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + triattack: ["8M", "8L35", "7L75"], + uturn: ["8M", "7M"], + workup: ["8M", "7M"], + xscissor: ["8M", "8L40", "7M", "7L35"], + zenheadbutt: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 100, shiny: true, moves: ["multiattack", "partingshot", "punishment", "scaryface"], pokeball: "cherishball"}, + ], + }, + minior: { + learnset: { + acrobatics: ["7M"], + ancientpower: ["7L17"], + attract: ["7M"], + autotomize: ["7L31"], + bulldoze: ["7M"], + calmmind: ["7M"], + chargebeam: ["7M"], + confide: ["7M"], + confuseray: ["7L10"], + cosmicpower: ["7L36"], + dazzlinggleam: ["7M"], + defensecurl: ["7L3"], + doubleedge: ["7L43"], + doubleteam: ["7M"], + earthquake: ["7M"], + endeavor: ["7T"], + explosion: ["7M", "7L50"], + facade: ["7M"], + frustration: ["7M"], + gigaimpact: ["7M"], + gravity: ["7T"], + gyroball: ["7M"], + hiddenpower: ["7M"], + hyperbeam: ["7M"], + ironhead: ["7T"], + lastresort: ["7T"], + lightscreen: ["7M"], + magnetrise: ["7T"], + powergem: ["7L38"], + protect: ["7M"], + psychic: ["7M"], + psychup: ["7M"], + reflect: ["7M"], + rest: ["7M"], + return: ["7M"], + rockpolish: ["7M"], + rockslide: ["7M"], + rocktomb: ["7M"], + rollout: ["7L8"], + round: ["7M"], + safeguard: ["7M"], + sandstorm: ["7M"], + selfdestruct: ["7L22"], + shellsmash: ["7L45"], + sleeptalk: ["7M"], + snore: ["7T"], + solarbeam: ["7M"], + stealthrock: ["7T", "7L24"], + stoneedge: ["7M"], + substitute: ["7M"], + swagger: ["7M"], + swift: ["7L15"], + tackle: ["7L1"], + takedown: ["7L29"], + telekinesis: ["7T"], + toxic: ["7M"], + uturn: ["7M"], + zenheadbutt: ["7T"], + }, + }, + komala: { + learnset: { + acrobatics: ["9M", "7M"], + attract: ["7M"], + bodyslam: ["9M"], + brickbreak: ["9M", "7M"], + bulkup: ["9M", "7M"], + bulldoze: ["9M", "7M"], + calmmind: ["9M", "7M"], + charm: ["9M", "9E", "7E"], + confide: ["7M"], + defensecurl: ["9L1", "7L1"], + doubleteam: ["7M"], + earthquake: ["9M", "7M"], + endeavor: ["7T"], + endure: ["9M"], + facade: ["9M", "7M"], + flail: ["9L26", "7L26"], + fling: ["9M"], + frustration: ["7M"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M"], + icespinner: ["9M"], + ironhead: ["9M", "7T"], + knockoff: ["9M", "7T"], + lastresort: ["7T"], + lowkick: ["9M"], + lowsweep: ["9M", "7M"], + metalclaw: ["9M"], + payback: ["7M"], + playrough: ["9M", "9E", "7E"], + protect: ["9M", "7M"], + psychup: ["9L36", "7M", "7L36"], + quash: ["7M"], + raindance: ["9M"], + rapidspin: ["9L11", "7L11"], + return: ["7M"], + reversal: ["9M"], + rockslide: ["9M", "7M"], + rocktomb: ["9M"], + rollout: ["9L1", "7L1"], + round: ["7M"], + seedbomb: ["9M"], + shadowclaw: ["9M", "7M"], + sing: ["9E", "7E"], + slam: ["9L21", "7L21"], + sleeptalk: ["9M", "7M"], + snore: ["7T"], + spitup: ["9L6", "7L6"], + stockpile: ["9L6", "7L6"], + stompingtantrum: ["9M", "7T"], + substitute: ["9M", "7M"], + suckerpunch: ["9L31", "7L31"], + sunnyday: ["9M", "7M"], + superfang: ["9M"], + superpower: ["9E", "7T"], + swagger: ["7M"], + swallow: ["9L6", "7L6"], + swordsdance: ["9M", "7M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L46", "7L46"], + toxic: ["7M"], + trailblaze: ["9M"], + uturn: ["9M", "7M"], + wish: ["9E", "7E"], + woodhammer: ["9L41", "7L41"], + workup: ["7M"], + yawn: ["9L16", "7L16"], + zenheadbutt: ["9M", "7T"], + }, + }, + turtonator: { + learnset: { + attract: ["8M", "7M"], + block: ["7T"], + bodypress: ["8M"], + bodyslam: ["8M", "8L32", "7L33", "7S0"], + brutalswing: ["8M", "7M"], + bulkup: ["8M", "7M"], + bulldoze: ["8M", "7M"], + burningjealousy: ["8T"], + chargebeam: ["7M"], + confide: ["7M"], + curse: ["8E"], + doubleteam: ["7M"], + dracometeor: ["8T", "7T"], + dragonclaw: ["8M", "7M"], + dragonpulse: ["8M", "8L28", "7T", "7L41"], + dragontail: ["7M", "7S1"], + earthquake: ["8M", "7M"], + ember: ["8L4", "7L1"], + endeavor: ["7T"], + endure: ["8M", "8L12", "7L21"], + explosion: ["8L52", "7M", "7L53"], + facade: ["8M", "7M"], + fireblast: ["8M", "7M"], + firespin: ["8M", "7E"], + flail: ["8L16", "7L17"], + flamecharge: ["7M"], + flamethrower: ["8M", "8L36", "7M", "7L29", "7S0", "7S1"], + flashcannon: ["8M", "7M"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + headsmash: ["8E", "7E"], + heatcrash: ["8M"], + heatwave: ["8M", "7T"], + heavyslam: ["8M"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + hypervoice: ["8M", "7T"], + incinerate: ["8L20", "7L13"], + irondefense: ["8M", "8L24", "7T", "7L25"], + ironhead: ["8M", "7T"], + irontail: ["8M", "7T"], + lashout: ["8T"], + megakick: ["8M"], + megapunch: ["8M"], + outrage: ["8M", "7T"], + overheat: ["8M", "8L48", "7M", "7L49"], + payback: ["8M", "7M"], + protect: ["8M", "8L8", "7M", "7L9"], + rapidspin: ["8E"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M", "7E"], + roar: ["7M"], + rocktomb: ["8M", "7M"], + round: ["8M", "7M"], + scaleshot: ["8T"], + scorchingsands: ["8T"], + shellsmash: ["8L44", "7L37"], + shelltrap: ["8L40", "7L45", "7S1"], + shockwave: ["7T"], + sleeptalk: ["8M", "7M"], + smackdown: ["7M"], + smog: ["8L1", "7L5"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + tackle: ["8L1", "7L1"], + taunt: ["8M", "7M"], + toxic: ["7M"], + uproar: ["8M", "7T"], + venoshock: ["8M", "7M"], + wideguard: ["8E", "7E", "7S0"], + willowisp: ["8M", "7M"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, moves: ["flamethrower", "bodyslam", "wideguard"], pokeball: "cherishball"}, + {generation: 7, level: 30, gender: "M", nature: "Brave", moves: ["flamethrower", "shelltrap", "dragontail"], pokeball: "cherishball"}, + ], + }, + togedemaru: { + learnset: { + afteryou: ["7T"], + agility: ["8M"], + assurance: ["8M"], + attract: ["8M", "7M"], + bounce: ["8M", "7T"], + charge: ["8L10", "7L13"], + chargebeam: ["7M"], + confide: ["7M"], + covet: ["7T"], + defensecurl: ["8L5", "7L5"], + disarmingvoice: ["8E", "7E"], + discharge: ["8L45", "7L29"], + doubleteam: ["7M"], + eerieimpulse: ["8M"], + electricterrain: ["8M", "8L50", "7L37"], + electroball: ["8M"], + electroweb: ["8M", "7T"], + encore: ["8M", "7E"], + endeavor: ["7T"], + endure: ["8M"], + facade: ["8M", "7M"], + fakeout: ["8E", "7E"], + fellstinger: ["8L20", "7L53"], + flail: ["8E", "7E"], + fling: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + gravity: ["7T"], + gyroball: ["8M", "7M"], + helpinghand: ["8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["8M"], + ironhead: ["8M", "7T"], + irontail: ["8M", "7T"], + lastresort: ["7T"], + magnetrise: ["8L35", "7T", "7L25"], + nuzzle: ["8L1", "7L21"], + payback: ["8M", "7M"], + pinmissile: ["8M", "8L30", "7L45"], + poisonjab: ["8M", "7M"], + present: ["8E", "7E"], + protect: ["8M", "7M"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + reversal: ["8M", "7E"], + risingvoltage: ["8T"], + roleplay: ["7T"], + rollout: ["7L9"], + round: ["8M", "7M"], + shockwave: ["7T"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + spark: ["8L25", "7L17"], + spikyshield: ["8L60", "7L49"], + steelbeam: ["8T"], + steelroller: ["8T"], + substitute: ["8M", "7M"], + superfang: ["7T"], + swagger: ["7M"], + swift: ["8M"], + tackle: ["8L1", "7L1"], + thief: ["8M", "7M"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "7M"], + thundershock: ["8L15", "7L1"], + thunderwave: ["8M", "7M"], + tickle: ["8E", "7E"], + toxic: ["7M"], + twineedle: ["7E"], + uturn: ["8M", "7M"], + voltswitch: ["8M", "7M"], + wildcharge: ["8M", "8L55", "7M", "7L41"], + wish: ["8E", "7E"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T"], + zingzap: ["8L40", "7L33"], + }, + }, + togedemarutotem: { + learnset: { + afteryou: ["7T"], + attract: ["7M"], + bounce: ["7T"], + charge: ["7L13"], + chargebeam: ["7M"], + confide: ["7M"], + covet: ["7T"], + defensecurl: ["7L5"], + discharge: ["7L29", "7S0"], + doubleteam: ["7M"], + electricterrain: ["7L37"], + electroweb: ["7T"], + endeavor: ["7T"], + facade: ["7M"], + fellstinger: ["7L53"], + fling: ["7M"], + frustration: ["7M"], + gigaimpact: ["7M"], + grassknot: ["7M"], + gravity: ["7T"], + gyroball: ["7M"], + helpinghand: ["7T"], + hiddenpower: ["7M"], + ironhead: ["7T"], + irontail: ["7T"], + lastresort: ["7T"], + magnetrise: ["7T", "7L25", "7S0"], + nuzzle: ["7L21", "7S0"], + payback: ["7M"], + pinmissile: ["7L45"], + poisonjab: ["7M"], + protect: ["7M"], + reflect: ["7M"], + rest: ["7M"], + return: ["7M"], + roleplay: ["7T"], + rollout: ["7L9"], + round: ["7M"], + shockwave: ["7T"], + sleeptalk: ["7M"], + snore: ["7T"], + spark: ["7L17"], + spikyshield: ["7L49"], + substitute: ["7M"], + superfang: ["7T"], + swagger: ["7M"], + tackle: ["7L1"], + thief: ["7M"], + thunder: ["7M"], + thunderbolt: ["7M"], + thundershock: ["7L1"], + thunderwave: ["7M"], + toxic: ["7M"], + uturn: ["7M"], + voltswitch: ["7M"], + wildcharge: ["7M", "7L41"], + workup: ["7M"], + zenheadbutt: ["7T"], + zingzap: ["7L33", "7S0"], + }, + eventData: [ + {generation: 7, level: 30, perfectIVs: 3, moves: ["nuzzle", "magnetrise", "discharge", "zingzap"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + mimikyu: { + learnset: { + afteryou: ["7T"], + astonish: ["9L1", "8L1", "7L1", "7S0", "7S1"], + attract: ["8M", "7M"], + babydolleyes: ["9L18", "8L18", "7L10", "7S0"], + beatup: ["8M"], + bulkup: ["9M", "8M", "7M"], + burningjealousy: ["9M", "8T"], + chargebeam: ["7M"], + charm: ["9M", "9L48", "8M", "8L48", "7L28"], + confide: ["7M"], + confuseray: ["9M"], + copycat: ["9L1", "8L1", "7L1", "7S0", "7S1"], + covet: ["7T"], + curse: ["9E", "9S3", "8E", "7E"], + darkpulse: ["9M", "8M", "7M"], + dazzlinggleam: ["9M", "8M", "7M"], + destinybond: ["9E", "9S3", "8E", "7E", "7S2"], + doubleteam: ["9L12", "8L12", "7M", "7L5"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M", "7T"], + dreameater: ["7M"], + embargo: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + feintattack: ["7L23"], + fling: ["9M", "8M", "7M"], + frustration: ["7M"], + gigadrain: ["9M", "8M", "7T"], + gigaimpact: ["9M", "8M"], + grudge: ["8E", "7E"], + hex: ["9M", "8M"], + hiddenpower: ["7M"], + honeclaws: ["9L30", "8L30", "7L41"], + hyperbeam: ["9M", "8M", "7M"], + infestation: ["7M"], + lastresort: ["7T"], + leechlife: ["9M", "8M", "7M"], + lightscreen: ["9M", "8M", "7M"], + magicroom: ["8M", "7T"], + mimic: ["9L24", "8L24", "7L19", "7S2"], + mistyterrain: ["9M"], + nightmare: ["7E"], + nightshade: ["9M"], + painsplit: ["9L60", "8L60", "7T", "7L50"], + payback: ["8M", "7M"], + phantomforce: ["9M", "9S3", "8M"], + playrough: ["9M", "9L54", "8M", "8L54", "7L46", "7S1"], + pounce: ["9M"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychup: ["7M"], + raindance: ["9M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scratch: ["9L1", "8L1", "7L1"], + screech: ["8M"], + shadowball: ["9M", "8M", "7M"], + shadowclaw: ["9M", "9L42", "8M", "8L42", "7M", "7L37"], + shadowsneak: ["9L6", "8L6", "7L14"], + slash: ["9L36", "8L36", "7L32"], + sleeptalk: ["9M", "8M", "7M"], + snatch: ["7T", "7S2"], + snore: ["8M", "7T"], + spite: ["9M", "7T"], + splash: ["9L1", "8L1", "7L1", "7S0"], + substitute: ["9M", "8M", "7M", "7S1"], + sunnyday: ["9M"], + swagger: ["7M"], + swordsdance: ["9M", "8M", "7M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + telekinesis: ["7T"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + thunder: ["9M", "8M", "7M"], + thunderbolt: ["9M", "9S3", "8M", "7M"], + thunderwave: ["9M", "8M", "7M"], + toxic: ["7M"], + trailblaze: ["9M"], + trick: ["9M", "8M", "7T", "7S2"], + trickroom: ["9M", "8M", "7M"], + willowisp: ["9M", "8M", "7M"], + woodhammer: ["9L1", "8L1", "7L1"], + workup: ["8M", "7M"], + xscissor: ["9M", "8M", "7M"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["copycat", "babydolleyes", "splash", "astonish"], pokeball: "cherishball"}, + {generation: 7, level: 10, shiny: true, moves: ["astonish", "playrough", "copycat", "substitute"], pokeball: "cherishball"}, + {generation: 7, level: 50, shiny: true, moves: ["mimic", "snatch", "trick", "destinybond"], pokeball: "cherishball"}, + {generation: 9, level: 25, moves: ["thunderbolt", "destinybond", "phantomforce", "curse"], pokeball: "cherishball"}, + ], + }, + mimikyutotem: { + learnset: { + afteryou: ["7T"], + astonish: ["7L1"], + attract: ["7M"], + babydolleyes: ["7L10"], + bulkup: ["7M"], + chargebeam: ["7M"], + charm: ["7L28", "7S0"], + confide: ["7M"], + copycat: ["7L1"], + covet: ["7T"], + darkpulse: ["7M"], + dazzlinggleam: ["7M"], + doubleteam: ["7M", "7L5"], + drainpunch: ["7T"], + dreameater: ["7M"], + embargo: ["7M"], + facade: ["7M"], + feintattack: ["7L23", "7S0"], + fling: ["7M"], + frustration: ["7M"], + gigadrain: ["7T"], + hiddenpower: ["7M"], + honeclaws: ["7L41"], + hyperbeam: ["7M"], + infestation: ["7M"], + lastresort: ["7T"], + leechlife: ["7M"], + lightscreen: ["7M"], + magicroom: ["7T"], + mimic: ["7L19"], + painsplit: ["7T", "7L50"], + payback: ["7M"], + playrough: ["7L46"], + protect: ["7M"], + psychic: ["7M"], + psychup: ["7M"], + rest: ["7M"], + return: ["7M"], + round: ["7M"], + safeguard: ["7M"], + scratch: ["7L1"], + shadowball: ["7M"], + shadowclaw: ["7M", "7L37", "7S0"], + shadowsneak: ["7L14"], + slash: ["7L32", "7S0"], + sleeptalk: ["7M"], + snatch: ["7T"], + snore: ["7T"], + spite: ["7T"], + splash: ["7L1"], + substitute: ["7M"], + swagger: ["7M"], + swordsdance: ["7M"], + taunt: ["7M"], + telekinesis: ["7T"], + thief: ["7M"], + thunder: ["7M"], + thunderbolt: ["7M"], + thunderwave: ["7M"], + toxic: ["7M"], + trick: ["7T"], + trickroom: ["7M"], + willowisp: ["7M"], + woodhammer: ["7L1"], + workup: ["7M"], + xscissor: ["7M"], + }, + eventData: [ + {generation: 7, level: 40, perfectIVs: 3, moves: ["feintattack", "charm", "slash", "shadowclaw"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + bruxish: { + learnset: { + aerialace: ["7M"], + afteryou: ["7T"], + agility: ["9M"], + allyswitch: ["7T"], + aquajet: ["9L17", "7L17"], + aquatail: ["9L33", "7T", "7L33"], + astonish: ["9L4", "7L4"], + attract: ["7M"], + bite: ["9L12", "7L12"], + blizzard: ["9M", "7M"], + bulkup: ["9M", "7M"], + calmmind: ["9M", "7M"], + chillingwater: ["9M"], + confide: ["7M"], + confusion: ["9L9", "7L9"], + crunch: ["9M", "9L28", "7L28"], + disable: ["9L20", "7L20"], + doubleteam: ["7M"], + dreameater: ["7M"], + embargo: ["7M"], + endure: ["9M"], + facade: ["9M", "7M"], + fling: ["7M"], + flipturn: ["9M"], + frostbreath: ["7M"], + frustration: ["7M"], + gigaimpact: ["9M", "7M"], + hiddenpower: ["7M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M", "7M"], + icefang: ["9M", "9E", "7E"], + icywind: ["9M"], + irontail: ["7T"], + lightscreen: ["9M", "7M"], + liquidation: ["9M", "7T"], + magiccoat: ["7T"], + magicroom: ["7T"], + painsplit: ["7T"], + payback: ["7M"], + poisonfang: ["9E", "7E"], + protect: ["9M", "7M"], + psychic: ["9M", "7M"], + psychicfangs: ["9M", "9L41", "7L41"], + psychicterrain: ["9M"], + psyshock: ["9M", "9L25"], + psywave: ["7L25"], + rage: ["7E"], + raindance: ["9M", "7M"], + reflect: ["9M", "7M"], + rest: ["9M", "7M"], + return: ["7M"], + round: ["7M"], + safeguard: ["7M"], + scald: ["7M"], + scaryface: ["9M"], + screech: ["9L36", "7L36"], + signalbeam: ["7T"], + sleeptalk: ["9M", "7M"], + snatch: ["7T"], + snore: ["7T"], + substitute: ["9M", "7M"], + superfang: ["9M", "9E"], + surf: ["9M", "7M"], + swagger: ["7M"], + swordsdance: ["9M", "7M"], + synchronoise: ["7L44"], + takedown: ["9M"], + taunt: ["9M", "7M"], + telekinesis: ["7T"], + terablast: ["9M"], + torment: ["7M"], + toxic: ["7M"], + trickroom: ["9M", "7M"], + uproar: ["7T"], + venoshock: ["9M", "7M"], + waterfall: ["9M", "7M"], + watergun: ["9L1", "7L1"], + waterpulse: ["9M", "9E", "7T", "7E"], + wavecrash: ["9L44"], + wonderroom: ["7T"], + }, + }, + drampa: { + learnset: { + amnesia: ["8M"], + attract: ["8M", "7M"], + blizzard: ["8M", "7M"], + block: ["7T"], + breakingswipe: ["8M"], + bulldoze: ["8M", "7M"], + calmmind: ["8M", "7M"], + confide: ["7M"], + defog: ["7T"], + doubleteam: ["7M"], + dracometeor: ["8T", "7T"], + dragonbreath: ["8L25", "7L29"], + dragonclaw: ["8M", "7M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8L35", "7T", "7L41"], + dragonrage: ["7L21"], + dragonrush: ["8E", "7E"], + dragontail: ["7M"], + earthquake: ["8M", "7M"], + echoedvoice: ["8L1", "7M", "7L1", "7S0"], + endeavor: ["7T"], + endure: ["8M"], + energyball: ["8M", "7M"], + extrasensory: ["8L30", "7L37"], + facade: ["8M", "7M"], + fireblast: ["8M", "7M"], + flamethrower: ["8M", "7M"], + fling: ["8M", "7M"], + fly: ["8M", "8L45", "7M", "7L45"], + focusblast: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + glare: ["8L15", "7L13"], + grassknot: ["8M", "7M"], + heatwave: ["8M", "7T"], + helpinghand: ["8M", "7T"], + hiddenpower: ["7M"], + hurricane: ["8M", "7E", "7S0"], + hydropump: ["8M"], + hyperbeam: ["8M", "7M"], + hypervoice: ["8M", "8L50", "7T", "7L49"], + icebeam: ["8M", "7M"], + icywind: ["8M", "7T"], + lashout: ["8T"], + lightscreen: ["8M", "8L40", "7M", "7L17"], + mist: ["8E", "7E"], + naturalgift: ["7L25"], + naturepower: ["7M"], + outrage: ["8M", "8L55", "7T", "7L53"], + playnice: ["8L1", "7L1", "7S0"], + playrough: ["8M", "7E"], + protect: ["8M", "8L10", "7M", "7L9"], + psychup: ["7M"], + raindance: ["8M", "7M"], + razorwind: ["7E"], + rest: ["8M", "7M"], + return: ["7M"], + roar: ["7M"], + rockslide: ["8M", "7M"], + roost: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "8L20", "7M", "7L33"], + scaleshot: ["8T"], + shadowball: ["8M", "7M"], + shadowclaw: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + sleeptalk: ["8M", "7M"], + snarl: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + steelwing: ["8M", "7M"], + stompingtantrum: ["8M", "7T"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + superpower: ["8M", "7T"], + surf: ["8M", "7M"], + swift: ["8M"], + tailwind: ["7T"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "7M"], + thunderwave: ["8M", "7M"], + tickle: ["8E"], + toxic: ["7M"], + twister: ["8L5", "7L5"], + uproar: ["8M", "7T"], + waterpulse: ["7T"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, isHidden: true, moves: ["playnice", "echoedvoice", "hurricane"], pokeball: "cherishball"}, + ], + }, + dhelmise: { + learnset: { + absorb: ["8L1", "7L1"], + aerialace: ["7M"], + allyswitch: ["8M", "7T"], + anchorshot: ["8L52", "7L32"], + assurance: ["8M"], + astonish: ["8L4", "7L1"], + attract: ["7M"], + block: ["7T"], + bodypress: ["8M"], + brickbreak: ["8M", "7M"], + brine: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M"], + confide: ["7M"], + doubleteam: ["7M"], + earthquake: ["8M", "7M"], + embargo: ["7M"], + endure: ["8M"], + energyball: ["8M", "8L56", "7M", "7L41"], + facade: ["8M", "7M"], + flashcannon: ["8M", "7M"], + frustration: ["7M"], + gigadrain: ["8M", "8L28", "7T", "7L23"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + grassyglide: ["8T"], + growth: ["8L16", "7L1"], + gyroball: ["8M", "8L20", "7M", "7L14"], + heavyslam: ["8M", "8L36", "7L50"], + helpinghand: ["8M", "7T"], + hex: ["8M"], + hiddenpower: ["7M"], + hydropump: ["8M"], + hyperbeam: ["8M", "7M"], + irondefense: ["8M", "7T"], + ironhead: ["8M", "7T"], + knockoff: ["7T"], + liquidation: ["8M"], + megadrain: ["8L12", "7L5"], + metalsound: ["8L48", "7L18"], + muddywater: ["8M"], + painsplit: ["7T"], + payback: ["8M", "7M"], + phantomforce: ["8M", "8L60", "7L54"], + poltergeist: ["8T"], + powerwhip: ["8M", "8L64", "7L59"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + rapidspin: ["8L1", "7L1"], + rest: ["8M", "7M"], + return: ["7M"], + rockslide: ["8M", "7M"], + roleplay: ["7T"], + round: ["8M", "7M"], + shadowball: ["8M", "8L44", "7M", "7L36"], + shadowclaw: ["8M", "7M"], + slam: ["8L40", "7L45"], + sleeptalk: ["8M", "7M"], + sludgewave: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + solarblade: ["8M"], + spite: ["7T"], + steelroller: ["8T"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + surf: ["8M", "7M"], + swagger: ["7M"], + switcheroo: ["8L24", "7L1"], + swordsdance: ["8M", "7M"], + synthesis: ["7T"], + telekinesis: ["7T"], + thief: ["8M", "7M"], + toxic: ["7M"], + whirlpool: ["8M", "8L32", "7L27"], + wrap: ["8L8", "7L9"], + }, + }, + jangmoo: { + learnset: { + aerialace: ["7M"], + aquatail: ["7T"], + attract: ["8M", "7M"], + bide: ["7L9"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + confide: ["7M"], + counter: ["9E", "8E", "7E"], + doubleteam: ["7M"], + dracometeor: ["9M", "8T", "7T"], + dragonbreath: ["9E", "8E", "7E"], + dragonclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L41"], + dragondance: ["9M", "9L40", "8M", "8L40", "7L49"], + dragonpulse: ["9M", "8M", "7T"], + dragontail: ["9M", "9L8", "8L8", "7M", "7L17"], + dualchop: ["7T"], + earthquake: ["9M", "8M", "7M"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + fling: ["8M"], + focusblast: ["9M", "8M", "7M"], + focuspunch: ["9M", "9E", "8E"], + frustration: ["7M"], + headbutt: ["9L16", "8L16", "7L25"], + hiddenpower: ["7M"], + irondefense: ["9M", "9L28", "8M", "8L28", "7T", "7L37"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + leer: ["9L1", "8L1", "7L5"], + lowkick: ["9M", "8M", "7T"], + nobleroar: ["9L36", "8L36", "7L45"], + outrage: ["9M", "9L44", "8M", "8L44", "7T", "7L53"], + payback: ["8M", "7M"], + protect: ["9M", "9L4", "8M", "8L4", "7M", "7L13"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M", "7E"], + roar: ["9M", "7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L21"], + screech: ["9L24", "8M", "8L24", "7L33"], + shadowclaw: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + substitute: ["9M", "8M", "7M"], + swagger: ["7M"], + swordsdance: ["9M", "8M", "7M"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + toxic: ["7M"], + uproar: ["8M", "7T"], + workup: ["9L20", "8M", "8L20", "7M", "7L29"], + xscissor: ["9M", "8M", "7M"], + }, + }, + hakamoo: { + learnset: { + aerialace: ["9M", "7M"], + aquatail: ["7T"], + attract: ["8M", "7M"], + autotomize: ["8L1", "7L1"], + bide: ["7L1"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + closecombat: ["9M", "9L56", "8M", "8L56", "7L63"], + coaching: ["8T"], + confide: ["7M"], + doubleteam: ["7M"], + dracometeor: ["9M", "8T", "7T"], + dragonclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L43"], + dragondance: ["9M", "9L44", "8M", "8L44", "7L53"], + dragonpulse: ["9M", "8M", "7T"], + dragontail: ["9M", "9L1", "8L1", "7M", "7L17"], + drainpunch: ["9M", "8M", "7T"], + dualchop: ["7T"], + earthquake: ["9M", "8M", "7M"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + fling: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], + focuspunch: ["9M"], + frustration: ["7M"], + headbutt: ["9L16", "8L16", "7L25"], + hiddenpower: ["7M"], + irondefense: ["9M", "9L28", "8M", "8L28", "7T", "7L38"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + leer: ["9L1", "8L1", "7L1"], + lowkick: ["9M", "8M", "7T"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M"], + nobleroar: ["9L38", "8L38", "7L48"], + outrage: ["9M", "9L50", "8M", "8L50", "7T", "7L58"], + payback: ["8M", "7M"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "7L1"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L21"], + screech: ["9L24", "8M", "8L24", "7L33"], + shadowclaw: ["9M", "8M", "7M"], + skyuppercut: ["7L1"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + swagger: ["7M"], + swordsdance: ["9M", "8M", "7M"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + toxic: ["7M"], + uproar: ["8M", "7T"], + vacuumwave: ["9M"], + workup: ["9L20", "8M", "8L20", "7M", "7L29"], + xscissor: ["9M", "8M", "7M"], + }, + }, + kommoo: { + learnset: { + aerialace: ["9M", "7M"], + aquatail: ["7T"], + attract: ["8M", "7M"], + aurasphere: ["9M", "8M"], + autotomize: ["8L1", "7L1"], + bellydrum: ["9L1", "8L1", "7L1"], + bide: ["7L1"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + boomburst: ["9L76", "8L76"], + breakingswipe: ["8M"], + brickbreak: ["9M", "8M", "7M"], + brutalswing: ["8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + clangingscales: ["9L0", "8L0", "7L1"], + clangoroussoul: ["9L68", "8L68"], + closecombat: ["9M", "9L60", "8M", "8L60", "7L75"], + coaching: ["8T"], + confide: ["7M"], + doubleteam: ["7M"], + dracometeor: ["9M", "8T", "7T"], + dragonclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L43"], + dragondance: ["9M", "9L44", "8M", "8L44", "7L59"], + dragonpulse: ["9M", "8M", "7T"], + dragontail: ["9M", "9L1", "8L1", "7M", "7L17"], + drainpunch: ["9M", "8M", "7T"], + dualchop: ["7T"], + earthquake: ["9M", "8M", "7M"], + echoedvoice: ["7M"], + endeavor: ["7T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + falseswipe: ["9M", "8M", "7M"], + firepunch: ["9M", "8M", "7T"], + flamethrower: ["9M", "8M", "7M"], + flashcannon: ["9M", "8M", "7M"], + fling: ["9M", "8M", "7M"], + focusblast: ["9M", "8M", "7M"], + focuspunch: ["9M", "7T"], + frustration: ["7M"], + gigaimpact: ["9M", "8M", "7M"], + headbutt: ["9L16", "8L16", "7L25"], + helpinghand: ["9M"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + hypervoice: ["9M", "8M", "7T"], + icepunch: ["9M", "8M", "7T"], + irondefense: ["9M", "9L28", "8M", "8L28", "7T", "7L38"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + laserfocus: ["7T"], + leer: ["9L1", "8L1", "7L1"], + lowkick: ["9M", "8M", "7T"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M"], + nobleroar: ["9L38", "8L38", "7L51"], + outrage: ["9M", "9L52", "8M", "8L52", "7T", "7L67"], + payback: ["8M", "7M"], + poisonjab: ["9M", "8M", "7M"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "7L1"], + raindance: ["9M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + roar: ["9M", "7M"], + rockpolish: ["7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L21"], + screech: ["9L24", "8M", "8L24", "7L33"], + shadowclaw: ["9M", "8M", "7M"], + shockwave: ["7T"], + skyuppercut: ["7L1"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "8M", "7T"], + stompingtantrum: ["9M", "8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + superpower: ["8M", "7T"], + swagger: ["7M"], + swordsdance: ["9M", "8M", "7M"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thunderpunch: ["9M", "8M", "7T"], + toxic: ["7M"], + uproar: ["8M", "7T"], + vacuumwave: ["9M"], + waterpulse: ["7T"], + workup: ["9L20", "8M", "8L20", "7M", "7L29"], + xscissor: ["9M", "8M", "7M"], + }, + encounters: [ + {generation: 7, level: 41}, + ], + }, + kommoototem: { + learnset: { + aerialace: ["7M"], + aquatail: ["7T"], + attract: ["7M"], + autotomize: ["7L1"], + bellydrum: ["7L1"], + bide: ["7L1"], + brickbreak: ["7M"], + brutalswing: ["7M"], + bulkup: ["7M"], + bulldoze: ["7M"], + clangingscales: ["7L1"], + closecombat: ["7L75"], + confide: ["7M"], + doubleteam: ["7M"], + dracometeor: ["7T"], + dragonclaw: ["7M", "7L43", "7S0"], + dragondance: ["7L59"], + dragonpulse: ["7T"], + dragontail: ["7M", "7L17"], + drainpunch: ["7T"], + dualchop: ["7T"], + earthquake: ["7M"], + echoedvoice: ["7M"], + endeavor: ["7T"], + facade: ["7M"], + falseswipe: ["7M"], + firepunch: ["7T"], + flamethrower: ["7M"], + flashcannon: ["7M"], + fling: ["7M"], + focusblast: ["7M"], + focuspunch: ["7T"], + frustration: ["7M"], + gigaimpact: ["7M"], + headbutt: ["7L25"], + hiddenpower: ["7M"], + hyperbeam: ["7M"], + hypervoice: ["7T"], + icepunch: ["7T"], + irondefense: ["7T", "7L38", "7S0"], + ironhead: ["7T"], + irontail: ["7T"], + laserfocus: ["7T"], + leer: ["7L1"], + lowkick: ["7T"], + nobleroar: ["7L51"], + outrage: ["7T", "7L67"], + payback: ["7M"], + poisonjab: ["7M"], + protect: ["7M", "7L1"], + rest: ["7M"], + return: ["7M"], + roar: ["7M"], + rockpolish: ["7M"], + rockslide: ["7M"], + rocktomb: ["7M"], + round: ["7M"], + safeguard: ["7M"], + sandstorm: ["7M"], + scaryface: ["7L21"], + screech: ["7L33", "7S0"], + shadowclaw: ["7M"], + shockwave: ["7T"], + skyuppercut: ["7L1"], + sleeptalk: ["7M"], + snore: ["7T"], + stealthrock: ["7T"], + stompingtantrum: ["7T"], + substitute: ["7M"], + superpower: ["7T"], + swagger: ["7M"], + swordsdance: ["7M"], + tackle: ["7L1"], + taunt: ["7M"], + thunderpunch: ["7T"], + toxic: ["7M"], + uproar: ["7T"], + waterpulse: ["7T"], + workup: ["7M", "7L29", "7S0"], + xscissor: ["7M"], + }, + eventData: [ + {generation: 7, level: 50, perfectIVs: 3, moves: ["workup", "screech", "irondefense", "dragonclaw"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + tapukoko: { + learnset: { + acrobatics: ["8M", "7M"], + aerialace: ["7M"], + agility: ["8M", "8L35", "7L53", "7S0", "7S1"], + assurance: ["8M"], + bravebird: ["8M", "8L65", "8S3", "7L1"], + calmmind: ["8M", "7M"], + charge: ["8L30", "7L26"], + confide: ["7M"], + dazzlinggleam: ["8M", "7M", "7S2"], + defog: ["7T"], + discharge: ["8L45", "7L48", "7S0", "7S1"], + doubleteam: ["7M"], + echoedvoice: ["7M"], + eerieimpulse: ["8M"], + electricterrain: ["8M", "8L75", "7L1"], + electroball: ["8M", "7L58", "7S0", "7S1"], + electroweb: ["8M", "7T"], + endure: ["8M"], + facade: ["8M", "7M"], + fairywind: ["8L10"], + falseswipe: ["8M", "8L15", "7M", "7L1"], + fly: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + hypervoice: ["8M", "7T"], + irondefense: ["8M", "7T"], + ironhead: ["8M", "7T"], + lightscreen: ["8M", "7M"], + meanlook: ["8L50", "7L1"], + mirrormove: ["7L38"], + naturepower: ["7M"], + naturesmadness: ["8L55", "7L43", "7S0", "7S1", "7S2"], + powerswap: ["8M", "8L70", "7L1"], + protect: ["8M", "7M"], + psychup: ["7M"], + quickattack: ["8L1", "8S3", "7L1"], + raindance: ["8M", "7M"], + reflect: ["8M", "7M"], + rest: ["8M"], + return: ["7M"], + roar: ["7M"], + roost: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + screech: ["8M", "8L40", "7L20"], + shockwave: ["8L25", "7T", "7L14"], + skyattack: ["7T"], + skydrop: ["7M"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + spark: ["8L20", "7L8"], + steelwing: ["8M", "7M"], + storedpower: ["8M"], + substitute: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M"], + taunt: ["8M", "8S3", "7M"], + telekinesis: ["7T"], + thief: ["8M", "7M"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "8S3", "7M", "7S2"], + thunderpunch: ["8M", "7T"], + thundershock: ["8L1", "7L1"], + thunderwave: ["8M", "7M"], + torment: ["7M"], + toxic: ["7M"], + uturn: ["8M", "7M"], + voltswitch: ["8M", "7M", "7S2"], + wildcharge: ["8M", "8L60", "7M", "7L32"], + withdraw: ["8L5", "7L1"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["naturesmadness", "discharge", "agility", "electroball"]}, + {generation: 7, level: 60, shiny: true, nature: "Timid", moves: ["naturesmadness", "discharge", "agility", "electroball"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: true, moves: ["thunderbolt", "dazzlinggleam", "voltswitch", "naturesmadness"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["thunderbolt", "quickattack", "bravebird", "taunt"]}, + ], + eventOnly: true, + }, + tapulele: { + learnset: { + allyswitch: ["8M", "7T"], + aromatherapy: ["8L10", "7L1"], + aromaticmist: ["8L30", "7L1"], + astonish: ["8L1", "7L1"], + calmmind: ["8M", "7M"], + chargebeam: ["7M"], + charm: ["8M", "8S2"], + confide: ["7M"], + confusion: ["8L1", "7L1"], + dazzlinggleam: ["8M", "7M"], + doubleteam: ["7M"], + drainingkiss: ["8M", "8L15", "7L1"], + echoedvoice: ["7M"], + endure: ["8M"], + energyball: ["8M", "7M"], + extrasensory: ["8L40", "7L48", "7S0", "7S1"], + facade: ["8M", "7M"], + flatter: ["8L25", "7L53", "7S0", "7S1"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + frustration: ["7M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + gravity: ["7T"], + guardswap: ["8M"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + irondefense: ["8M", "7T"], + lightscreen: ["8M", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "8S2", "7T"], + meanlook: ["8L50", "7L1"], + moonblast: ["8L60", "7L58", "7S0", "7S1"], + naturepower: ["7M"], + naturesmadness: ["8L55", "7L43", "7S0", "7S1"], + playrough: ["8M", "8S2"], + powerswap: ["8M"], + protect: ["8M", "7M"], + psybeam: ["8L20", "7L14"], + psychic: ["8M", "8S2", "7M"], + psychicterrain: ["8M", "8L75", "7L1"], + psychocut: ["8M"], + psychup: ["7M"], + psyshock: ["8M", "8L45", "7M", "7L32"], + psywave: ["7L8"], + reflect: ["8M", "7M"], + rest: ["8M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + shadowball: ["8M", "7M"], + skillswap: ["8M", "8L70", "7T", "7L26"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + speedswap: ["8M"], + storedpower: ["8M"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + sweetscent: ["8L35", "7L20"], + taunt: ["8M", "7M"], + telekinesis: ["7T"], + thief: ["8M", "7M"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "7M"], + tickle: ["8L65", "7L38"], + torment: ["7M"], + toxic: ["7M"], + withdraw: ["8L5", "7L1"], + wonderroom: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["naturesmadness", "extrasensory", "flatter", "moonblast"]}, + {generation: 7, level: 60, shiny: true, moves: ["naturesmadness", "extrasensory", "flatter", "moonblast"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["psychic", "playrough", "magicroom", "charm"]}, + ], + eventOnly: true, + }, + tapubulu: { + learnset: { + brickbreak: ["8M", "7M"], + brutalswing: ["8M", "7M"], + bulkup: ["8M", "7M"], + bulletseed: ["8M"], + calmmind: ["8M", "7M"], + closecombat: ["8M"], + confide: ["7M"], + darkestlariat: ["8M"], + dazzlinggleam: ["8M", "7M"], + disable: ["8L10", "7L1"], + dualchop: ["7T"], + echoedvoice: ["7M"], + endure: ["8M"], + energyball: ["8M", "7M"], + facade: ["8M", "7M"], + falseswipe: ["8M", "7M"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + focuspunch: ["7T"], + frustration: ["7M"], + gigadrain: ["8M", "7T", "7L14"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + grassyterrain: ["8M", "8L75", "7L1"], + guardswap: ["8M"], + hiddenpower: ["7M"], + highhorsepower: ["8M"], + hornattack: ["8L30", "7L8"], + hornleech: ["8L40", "7L32"], + hyperbeam: ["8M", "7M"], + irondefense: ["8M", "7T"], + leafage: ["8L1", "7L1"], + leechseed: ["8L15", "7L26"], + lightscreen: ["8M", "7M"], + meanlook: ["8L50", "7L1"], + megadrain: ["8L20"], + megahorn: ["8M", "8L65", "8S2", "7L53", "7S0", "7S1"], + megapunch: ["8M"], + naturepower: ["7M"], + naturesmadness: ["8L55", "7L43", "7S0", "7S1"], + payback: ["8M", "7M"], + powerswap: ["8M"], + protect: ["8M", "7M"], + psychup: ["7M"], + reflect: ["8M", "7M"], + rest: ["8M"], + return: ["7M"], + revenge: ["8M"], + roar: ["7M"], + rockslide: ["8M", "7M"], + rocksmash: ["8L1"], + rocktomb: ["8M", "7M"], + rototiller: ["7L38"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scaryface: ["8M", "8L35", "8S2", "7L20"], + seedbomb: ["8M", "7T"], + skullbash: ["8L70", "7L58", "7S0", "7S1"], + sleeptalk: ["8M", "7M"], + smartstrike: ["8M", "7M"], + snarl: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + stoneedge: ["8M", "7M"], + storedpower: ["8M"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + superpower: ["8M", "8S2", "7T", "7L1"], + swagger: ["7M"], + swordsdance: ["8M", "7M"], + synthesis: ["7T"], + taunt: ["8M", "7M"], + telekinesis: ["7T"], + torment: ["7M"], + toxic: ["7M"], + whirlwind: ["8L25", "7L1"], + withdraw: ["8L5", "7L1"], + woodhammer: ["8L60", "8S2", "7L1"], + workup: ["8M", "7M"], + worryseed: ["7T"], + zenheadbutt: ["8M", "8L45", "7T", "7L48", "7S0", "7S1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["naturesmadness", "zenheadbutt", "megahorn", "skullbash"]}, + {generation: 7, level: 60, shiny: true, moves: ["naturesmadness", "zenheadbutt", "megahorn", "skullbash"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["superpower", "megahorn", "woodhammer", "scaryface"]}, + ], + eventOnly: true, + }, + tapufini: { + learnset: { + aquaring: ["8L15", "7L53", "7S0", "7S1"], + blizzard: ["8M", "7M"], + brine: ["8M", "8L25", "8S2", "7L32"], + calmmind: ["8M", "7M"], + confide: ["7M"], + dazzlinggleam: ["8M", "7M"], + defog: ["8L30", "7T", "7L38"], + disarmingvoice: ["8L1"], + dive: ["8M"], + doubleteam: ["7M"], + drainingkiss: ["8M"], + echoedvoice: ["7M"], + endure: ["8M"], + facade: ["8M", "7M"], + fling: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + gravity: ["7T"], + guardswap: ["8M"], + haze: ["8L10", "7L1"], + healpulse: ["8L35", "7L1"], + hiddenpower: ["7M"], + hydropump: ["8M", "8L65", "7L58", "7S0", "7S1"], + hyperbeam: ["8M", "7M"], + icebeam: ["8M", "7M"], + icepunch: ["8M", "7T"], + icywind: ["8M", "7T"], + irondefense: ["8M", "7T"], + knockoff: ["7T"], + lightscreen: ["8M", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + meanlook: ["8L50", "7L1"], + mist: ["8L10", "7L1"], + mistyterrain: ["8M", "8L75", "7L1"], + moonblast: ["8L60", "8S2", "7L1"], + muddywater: ["8M", "8L45", "7L48", "7S0", "7S1"], + naturepower: ["7M"], + naturesmadness: ["8L55", "7L43", "7S0", "7S1"], + playrough: ["8M"], + protect: ["8M", "7M"], + psychup: ["7M"], + raindance: ["8M", "7M"], + reflect: ["8M", "7M"], + refresh: ["7L26"], + rest: ["8M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scald: ["8M", "7M"], + shadowball: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T"], + soak: ["8L70", "7L20"], + storedpower: ["8M"], + substitute: ["8M", "7M"], + surf: ["8M", "8L40", "7M"], + swagger: ["7M"], + taunt: ["8M", "7M"], + telekinesis: ["7T"], + torment: ["7M"], + toxic: ["7M"], + trick: ["8M", "7T"], + waterfall: ["8M", "7M"], + watergun: ["8L1", "7L1"], + waterpulse: ["8L20", "8S2", "7T", "7L8"], + whirlpool: ["8M", "8S2", "7L14"], + withdraw: ["8L5", "7L1"], + wonderroom: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["naturesmadness", "muddywater", "aquaring", "hydropump"]}, + {generation: 7, level: 60, shiny: true, moves: ["naturesmadness", "muddywater", "aquaring", "hydropump"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["whirlpool", "waterpulse", "brine", "moonblast"]}, + ], + eventOnly: true, + }, + cosmog: { + learnset: { + splash: ["8L1", "8S1", "7L1", "7S0"], + teleport: ["8L1", "8S1", "7L23"], + }, + eventData: [ + {generation: 7, level: 5, moves: ["splash"]}, + {generation: 8, level: 5, moves: ["splash", "teleport"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + cosmoem: { + learnset: { + cosmicpower: ["8M", "8L0", "7L1"], + teleport: ["8L1", "7L1"], + }, + }, + solgaleo: { + learnset: { + agility: ["8M"], + bulldoze: ["8M", "7M"], + calmmind: ["8M", "7M"], + closecombat: ["8M"], + confide: ["7M"], + cosmicpower: ["8M", "8L1", "7L1", "7S0", "7S1"], + crunch: ["8M", "8L42", "7L37", "7S0", "7S1"], + doubleteam: ["7M"], + earthquake: ["8M", "7M"], + endeavor: ["7T"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M", "7M"], + fireblast: ["8M", "7M"], + firespin: ["8M", "8S3"], + flamecharge: ["7M"], + flamethrower: ["8M", "7M"], + flareblitz: ["8M", "8L70", "7L61"], + flashcannon: ["8M", "8L28", "7M", "7L23"], + focusblast: ["8M", "7M"], + frustration: ["7M"], + futuresight: ["8M"], + gigaimpact: ["8M", "8L84", "7M", "7L73"], + gyroball: ["8M", "7M"], + heatcrash: ["8M"], + heavyslam: ["8M"], + helpinghand: ["8M"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + hypervoice: ["8M", "7T"], + irondefense: ["8M", "7T"], + ironhead: ["8M", "8L7", "7T", "7L7"], + irontail: ["8M", "8S3", "7T"], + knockoff: ["7T"], + lastresort: ["7T"], + lightscreen: ["8M", "7M"], + metalburst: ["8L49", "7L43"], + metalclaw: ["8L1", "7L1"], + metalsound: ["8L14", "7L13"], + meteorbeam: ["8T"], + morningsun: ["8L35", "7L31", "7S2"], + mysticalfire: ["8M"], + nobleroar: ["8L1", "8S3", "7L59", "7S2"], + outrage: ["8M", "7T"], + protect: ["8M", "7M"], + psychic: ["8M", "7M"], + psychicfangs: ["8M"], + psychup: ["7M"], + psyshock: ["8M", "7M"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + roar: ["7M"], + rockslide: ["8M", "7M"], + rocktomb: ["8M", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scaryface: ["8M"], + shockwave: ["7T"], + sleeptalk: ["8M", "7M"], + snarl: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "8L63", "7M", "7L47"], + steelbeam: ["8T"], + steelroller: ["8T"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + sunsteelstrike: ["8L0", "7L1", "7S0", "7S1", "7S2"], + superpower: ["8M", "7T"], + swagger: ["7M"], + swift: ["8M"], + teleport: ["8L1", "7L1"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "7M"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + trickroom: ["8M", "7M"], + wakeupslap: ["7L1"], + wideguard: ["8L77", "7L67"], + wildcharge: ["8M", "8L56", "7M"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "8L21", "8S3", "7T", "7L19", "7S0", "7S1", "7S2"], + }, + eventData: [ + {generation: 7, level: 55, moves: ["sunsteelstrike", "cosmicpower", "crunch", "zenheadbutt"]}, + {generation: 7, level: 60, moves: ["sunsteelstrike", "cosmicpower", "crunch", "zenheadbutt"]}, + {generation: 7, level: 60, shiny: true, moves: ["sunsteelstrike", "zenheadbutt", "nobleroar", "morningsun"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["zenheadbutt", "firespin", "irontail", "nobleroar"]}, + ], + }, + lunala: { + learnset: { + acrobatics: ["8M", "7M"], + aerialace: ["7M"], + agility: ["8M"], + airslash: ["8M", "8L21", "7L19"], + blizzard: ["8M", "7M"], + calmmind: ["8M", "7M"], + chargebeam: ["7M"], + confide: ["7M"], + confuseray: ["8L14", "7L13"], + confusion: ["8L1", "7L1"], + cosmicpower: ["8M", "8L1", "7L1", "7S0", "7S1"], + dazzlinggleam: ["8M", "7M"], + defog: ["7T"], + doubleteam: ["7M"], + dreameater: ["8L70", "7M", "7L59"], + dualwingbeat: ["8T"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M", "7M"], + fly: ["8M", "7M"], + focusblast: ["8M", "7M"], + frustration: ["7M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M"], + heatwave: ["8M", "7T"], + helpinghand: ["8M"], + hex: ["8M"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "8L84", "7M", "7L73"], + hypnosis: ["8L1", "7L1"], + icebeam: ["8M", "7M"], + icywind: ["8M", "7T"], + lightscreen: ["8M", "7M"], + magiccoat: ["8L49", "8S3", "7T", "7L43"], + magicroom: ["8M", "7T"], + meteorbeam: ["8T"], + moonblast: ["8L56", "8S3", "7L47", "7S2"], + moongeistbeam: ["8L0", "7L1", "7S0", "7S1", "7S2"], + moonlight: ["8L35", "7L31", "7S2"], + nightdaze: ["8L42", "7L37", "7S0", "7S1"], + nightshade: ["8L7", "7L7"], + phantomforce: ["8M", "8L63", "7L61"], + poltergeist: ["8T"], + protect: ["8M", "7M"], + psychic: ["8M", "7M"], + psychocut: ["8M"], + psychup: ["7M"], + psyshock: ["8M", "7M", "7S2"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + roar: ["7M"], + roost: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scaryface: ["8M"], + shadowball: ["8M", "8L28", "8S3", "7M", "7L23", "7S0", "7S1"], + shadowclaw: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + skyattack: ["7T"], + skydrop: ["7M"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + spite: ["7T"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M", "8S3"], + tailwind: ["7T"], + telekinesis: ["7T"], + teleport: ["8L1", "7L1"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "7M"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + trick: ["8M", "7T"], + trickroom: ["8M", "7M"], + wideguard: ["8L77", "7L67"], + willowisp: ["8M", "7M"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 55, moves: ["moongeistbeam", "cosmicpower", "nightdaze", "shadowball"]}, + {generation: 7, level: 60, moves: ["moongeistbeam", "cosmicpower", "nightdaze", "shadowball"]}, + {generation: 7, level: 60, shiny: true, moves: ["moongeistbeam", "psyshock", "moonblast", "moonlight"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["shadowball", "moonblast", "magiccoat", "swift"]}, + ], + }, + nihilego: { + learnset: { + acid: ["8L5", "7L1"], + acidspray: ["8L15", "8S2", "7L47", "7S0", "7S1"], + allyswitch: ["8M", "7T"], + bind: ["7T"], + bodyslam: ["8M"], + brutalswing: ["8M", "8S2", "7M"], + chargebeam: ["7M"], + clearsmog: ["8L20", "7L7"], + confide: ["7M"], + constrict: ["7L1"], + corrosivegas: ["8T"], + crosspoison: ["8M"], + dazzlinggleam: ["8M", "7M"], + doubleteam: ["7M"], + echoedvoice: ["7M"], + endure: ["8M"], + facade: ["8M", "7M"], + foulplay: ["8M", "7T"], + frustration: ["7M"], + grassknot: ["8M", "7M"], + guardsplit: ["8L25", "7L1"], + gunkshot: ["8M", "7T"], + headbutt: ["8L35", "7L19"], + headsmash: ["8L70", "7L73"], + hex: ["8M"], + hiddenpower: ["7M"], + ironhead: ["8M", "7T"], + knockoff: ["7T"], + lightscreen: ["8M", "7M"], + magiccoat: ["7T"], + meteorbeam: ["8T"], + mirrorcoat: ["8L60", "7L43", "7S0", "7S1"], + painsplit: ["7T"], + poisonjab: ["8M", "7M"], + pound: ["8L1", "7L1"], + powergem: ["8M", "8L50", "7L37", "7S0", "7S1"], + powersplit: ["8L25", "7L1"], + protect: ["8M", "7M"], + psychic: ["8M", "7M"], + psyshock: ["8M", "7M"], + psywave: ["7L13"], + reflect: ["7M"], + rest: ["8M", "7M"], + return: ["7M"], + rockslide: ["8M"], + rocktomb: ["8M"], + roleplay: ["7T"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "7L31"], + sandstorm: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "7M"], + sludgewave: ["8M", "8S2", "7M"], + snore: ["8M", "7T"], + spite: ["7T"], + stealthrock: ["8M", "8L55", "7T", "7L59", "7S1"], + substitute: ["8M", "7M"], + swagger: ["7M"], + telekinesis: ["7T"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "7M"], + thunderwave: ["8M", "7M"], + tickle: ["8L10", "7L1"], + toxic: ["7M"], + toxicspikes: ["8M", "8L40", "7L29"], + trickroom: ["8M", "7M"], + venomdrench: ["8M", "8L45", "7L53", "7S0"], + venoshock: ["8M", "8L30", "7M", "7L23"], + wonderroom: ["8M", "8L65", "8S2", "7T", "7L67"], + worryseed: ["7T"], + wrap: ["8L1"], + zenheadbutt: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 55, moves: ["powergem", "mirrorcoat", "acidspray", "venomdrench"]}, + {generation: 7, level: 60, shiny: 1, moves: ["powergem", "acidspray", "stealthrock", "mirrorcoat"]}, + {generation: 8, level: 70, shiny: 1, moves: ["wonderroom", "sludgewave", "brutalswing", "acidspray"]}, + ], + eventOnly: true, + }, + buzzwole: { + learnset: { + bodyslam: ["8M"], + bounce: ["8M", "7T"], + brickbreak: ["8M", "7M"], + bugbite: ["7T"], + bulkup: ["8M", "8L20", "7M", "7L13"], + bulldoze: ["8M", "7M"], + closecombat: ["8M"], + coaching: ["8T"], + cometpunch: ["7L7"], + confide: ["7M"], + counter: ["8L55", "7L43", "7S0", "7S1"], + darkestlariat: ["8M"], + doubleteam: ["7M"], + drainpunch: ["8M", "7T"], + dualchop: ["7T"], + dualwingbeat: ["8T"], + dynamicpunch: ["8L50", "8S2", "7L59", "7S0", "7S1"], + earthquake: ["8M", "7M"], + endeavor: ["7T"], + endure: ["8M", "8L25", "7L23"], + facade: ["8M", "7M"], + falseswipe: ["8M", "7M"], + fellstinger: ["8L10", "7L1"], + fling: ["8M", "7M"], + focusenergy: ["8M", "8L45", "7L1"], + focuspunch: ["8L70", "7T", "7L73"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + gyroball: ["8M", "7M"], + hammerarm: ["8L60", "7L47", "7S0", "7S1"], + harden: ["8L1", "7L1"], + hiddenpower: ["7M"], + highhorsepower: ["8M"], + icepunch: ["8M", "7T", "7L1"], + ironhead: ["8M", "7T"], + leechlife: ["8M", "8S2", "7M", "7L29"], + lowsweep: ["8M", "7M"], + lunge: ["8L40", "7L53", "7S0", "7S1"], + megapunch: ["8M", "8L35", "7L37"], + outrage: ["8M", "7T"], + payback: ["8M", "7M"], + poisonjab: ["8M", "7M"], + poweruppunch: ["8L1", "8S2", "7L1"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["8M", "8L30", "7L1"], + rockslide: ["8M", "7M"], + rocktomb: ["8M", "7M"], + roost: ["7M"], + round: ["8M", "7M"], + sleeptalk: ["8M", "7M"], + smackdown: ["7M"], + snore: ["8M", "7T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "7M"], + superpower: ["8M", "8L65", "7T", "7L67"], + swagger: ["7M"], + taunt: ["8M", "8L5", "8S2", "7M", "7L31"], + thunderpunch: ["8M", "7T", "7L1"], + toxic: ["7M"], + vitalthrow: ["8L15", "7L19"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 65, moves: ["counter", "hammerarm", "lunge", "dynamicpunch"]}, + {generation: 7, level: 60, shiny: 1, moves: ["counter", "hammerarm", "lunge", "dynamicpunch"]}, + {generation: 8, level: 70, shiny: 1, moves: ["poweruppunch", "taunt", "leechlife", "dynamicpunch"]}, + ], + eventOnly: true, + }, + pheromosa: { + learnset: { + agility: ["8M", "8L40", "7L37"], + assurance: ["8M"], + blizzard: ["8M", "7M"], + block: ["7T"], + bounce: ["8M", "8L50", "7T", "7L29"], + brickbreak: ["8M", "7M"], + bugbite: ["8L15", "7T"], + bugbuzz: ["8M", "8L60", "7L53", "7S0", "7S1"], + closecombat: ["8M"], + coaching: ["8T"], + confide: ["7M"], + doublekick: ["8L25", "7L1"], + doubleteam: ["7M"], + drillrun: ["8M", "7T"], + echoedvoice: ["7M"], + electroweb: ["8M", "7T"], + endure: ["8M"], + facade: ["8M", "7M"], + falseswipe: ["8M", "7M"], + feint: ["8L1", "7L19"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + foulplay: ["8M", "7T"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + hiddenpower: ["7M"], + highjumpkick: ["8L70", "8S2", "7L67"], + hyperbeam: ["8M", "7M"], + icebeam: ["8M", "7M"], + icywind: ["8M", "7T"], + jumpkick: ["7L31"], + laserfocus: ["7T"], + leer: ["8L5", "7L1"], + lowkick: ["8M", "8L20", "7T", "7L1"], + lowsweep: ["8M", "7M"], + lunge: ["8L45", "8S2", "7L47", "7S0", "7S1"], + mefirst: ["7L59", "7S0", "7S1"], + outrage: ["8M", "7T"], + poisonjab: ["8M", "7M"], + protect: ["8M", "7M"], + quickguard: ["8L10", "7L1"], + quiverdance: ["8L65", "7L1"], + rapidspin: ["8L1", "7L1"], + rest: ["8M", "7M"], + return: ["7M"], + roost: ["7M"], + round: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + silverwind: ["7L23"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + speedswap: ["8M", "8L55", "7L73"], + stomp: ["8L35", "7L13"], + substitute: ["8M", "7M"], + swagger: ["7M"], + swift: ["8M", "8S2", "7L7"], + taunt: ["8M", "7M"], + throatchop: ["8M", "8S2", "7T"], + torment: ["7M"], + toxic: ["7M"], + tripleaxel: ["8T"], + triplekick: ["8L30", "7L43", "7S0", "7S1"], + uturn: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["triplekick", "lunge", "bugbuzz", "mefirst"]}, + {generation: 7, level: 60, shiny: 1, moves: ["triplekick", "lunge", "bugbuzz", "mefirst"]}, + {generation: 8, level: 70, shiny: 1, moves: ["highjumpkick", "swift", "throatchop", "lunge"]}, + ], + eventOnly: true, + }, + xurkitree: { + learnset: { + bind: ["7T"], + brutalswing: ["8M", "8S2", "7M"], + calmmind: ["8M", "7M"], + charge: ["8L5", "7L1"], + chargebeam: ["7M"], + confide: ["7M"], + dazzlinggleam: ["8M", "7M"], + discharge: ["8L45", "8S2", "7L47", "7S0", "7S1"], + doubleteam: ["7M"], + eerieimpulse: ["8M", "8L35", "8S2", "7L29"], + electricterrain: ["8M", "8L60", "7L53", "7S0", "7S1"], + electroball: ["8M"], + electroweb: ["8M", "7T"], + endure: ["8M"], + energyball: ["8M", "7M"], + facade: ["8M", "7M"], + fling: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + gravity: ["7T"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + hypnosis: ["8L30", "7L43", "7S0", "7S1"], + ingrain: ["8L15", "7L19"], + iondeluge: ["7L67"], + lightscreen: ["8M", "7M"], + magiccoat: ["7T"], + magnetrise: ["8L50", "7T"], + naturepower: ["7M"], + powerwhip: ["8M", "8L65", "8S2", "7L59", "7S0", "7S1"], + protect: ["8M", "7M"], + raindance: ["8M", "7M"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + shockwave: ["8L25", "7T", "7L13"], + signalbeam: ["7T", "7L31"], + sleeptalk: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + spark: ["8L20", "7L1"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + tailglow: ["7L1"], + thunder: ["8M", "7M"], + thunderbolt: ["8M", "8L55", "7M", "7L37"], + thunderpunch: ["8M", "8L40", "7T", "7L23"], + thundershock: ["8L1", "7L1"], + thunderwave: ["8M", "8L10", "7M", "7L7"], + toxic: ["7M"], + voltswitch: ["8M", "7M"], + wildcharge: ["8M", "7M"], + wrap: ["8L1", "7L1"], + zapcannon: ["8L70", "7L73"], + }, + eventData: [ + {generation: 7, level: 65, moves: ["hypnosis", "discharge", "electricterrain", "powerwhip"]}, + {generation: 7, level: 60, shiny: 1, moves: ["hypnosis", "discharge", "electricterrain", "powerwhip"]}, + {generation: 8, level: 70, shiny: 1, moves: ["powerwhip", "discharge", "eerieimpulse", "brutalswing"]}, + ], + eventOnly: true, + }, + celesteela: { + learnset: { + absorb: ["8L1", "7L1"], + acrobatics: ["8M", "7M"], + airslash: ["8M", "7L1"], + autotomize: ["8L30", "7L43", "7S0", "7S1"], + block: ["7T"], + bodyslam: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M"], + confide: ["7M"], + doubleedge: ["8L65", "7L73"], + doubleteam: ["7M"], + earthquake: ["8M", "8S2", "7M"], + endure: ["8M"], + energyball: ["8M", "7M"], + explosion: ["7M"], + facade: ["8M", "7M"], + fireblast: ["8M", "7M"], + flamecharge: ["7M"], + flamethrower: ["8M", "7M"], + flashcannon: ["8M", "8L40", "7M", "7L37"], + fly: ["8M", "7M"], + frustration: ["7M"], + gigadrain: ["8M", "8L35", "7T", "7L31"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + gravity: ["7T"], + gyroball: ["8M", "8S2", "7M"], + harden: ["8L5", "7L1"], + heavyslam: ["8M", "8L60", "7L67"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + ingrain: ["8L25", "7L1"], + irondefense: ["8M", "8L50", "7T", "7L59", "7S0", "7S1"], + ironhead: ["8M", "7T", "7L29"], + leechseed: ["8L55", "8S2", "7L19"], + magnetrise: ["7T"], + megadrain: ["8L15", "7L13"], + megahorn: ["8M"], + metalsound: ["8L45", "7L23"], + meteorbeam: ["8T"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + rockslide: ["8M", "7M"], + round: ["8M", "7M"], + seedbomb: ["8M", "7T", "7L47", "7S0", "7S1"], + selfdestruct: ["8M"], + shockwave: ["7T"], + skullbash: ["8L70", "7L53", "7S0", "7S1"], + sleeptalk: ["8M", "7M"], + smackdown: ["8L20", "8S2", "7M", "7L7"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "7M"], + superpower: ["8M", "7T"], + swagger: ["7M"], + tackle: ["8L1", "7L1"], + toxic: ["7M"], + wideguard: ["8L10", "7L1"], + zenheadbutt: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 65, moves: ["autotomize", "seedbomb", "skullbash", "irondefense"]}, + {generation: 7, level: 60, shiny: 1, moves: ["autotomize", "seedbomb", "skullbash", "irondefense"]}, + {generation: 8, level: 70, shiny: 1, moves: ["leechseed", "smackdown", "gyroball", "earthquake"]}, + ], + eventOnly: true, + }, + kartana: { + learnset: { + aerialace: ["8L25", "7M", "7L23"], + aircutter: ["8L20", "8S2", "7L1"], + airslash: ["8M", "7L59", "7S0", "7S1"], + brickbreak: ["8M", "7M"], + calmmind: ["8M", "7M"], + confide: ["7M"], + cut: ["8L15", "7L1"], + defog: ["8L50", "7T", "7L1"], + detect: ["8L30", "7L53", "7S0", "7S1"], + doubleteam: ["7M"], + endure: ["8M"], + falseswipe: ["8M", "8L10", "7M", "7L7"], + frustration: ["7M"], + furycutter: ["8L1", "7L1"], + gigadrain: ["8M", "7T"], + gigaimpact: ["8M", "7M"], + guillotine: ["8L70", "7L73"], + hiddenpower: ["7M"], + irondefense: ["8M", "7T"], + knockoff: ["7T"], + laserfocus: ["8L45", "7T", "7L29"], + lastresort: ["7T"], + leafblade: ["8M", "8L55", "8S2", "7L43", "7S0", "7S1"], + nightslash: ["8L35", "7L31"], + protect: ["8M", "7M"], + psychocut: ["8M", "7L67"], + razorleaf: ["8L5", "7L13"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + sacredsword: ["8L60", "7L1"], + screech: ["8M"], + sleeptalk: ["8M", "7M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T"], + solarblade: ["8M"], + steelbeam: ["8T"], + substitute: ["8M", "7M"], + swagger: ["7M"], + swordsdance: ["8M", "8L65", "8S2", "7M", "7L37"], + synthesis: ["8L40", "7T", "7L19"], + tailwind: ["7T"], + toxic: ["7M"], + vacuumwave: ["8L1", "8S2", "7L1"], + xscissor: ["8M", "7M", "7L47", "7S0", "7S1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["leafblade", "xscissor", "detect", "airslash"]}, + {generation: 7, level: 60, shiny: 1, moves: ["leafblade", "xscissor", "detect", "airslash"]}, + {generation: 8, level: 70, shiny: 1, moves: ["vacuumwave", "aircutter", "leafblade", "swordsdance"]}, + ], + eventOnly: true, + }, + guzzlord: { + learnset: { + amnesia: ["8M"], + belch: ["8L60", "7L1"], + bite: ["8L1", "7L1"], + bodypress: ["8M"], + bodyslam: ["8M", "8L35"], + brickbreak: ["8M", "7M"], + brutalswing: ["8M", "8S2", "7M", "7L13"], + bulldoze: ["8M", "7M"], + corrosivegas: ["8T"], + crunch: ["8M", "8L30", "7L37"], + darkpulse: ["8M", "7M"], + doubleteam: ["7M"], + dracometeor: ["8T", "7T"], + dragonclaw: ["8M", "7M"], + dragonpulse: ["8M", "7T"], + dragonrage: ["7L1"], + dragonrush: ["8L55", "8S2", "7L73"], + dragontail: ["8L1", "7M", "7L23"], + drainpunch: ["8M", "7T"], + dualchop: ["7T"], + earthquake: ["8M", "7M"], + endure: ["8M"], + facade: ["8M", "7M"], + fireblast: ["8M", "7M"], + flamethrower: ["8M", "7M"], + fling: ["8M", "7M"], + frustration: ["7M"], + gastroacid: ["8L40", "7T", "7L53", "7S0", "7S1"], + gigaimpact: ["8M", "8L70", "7M"], + gyroball: ["8M", "7M"], + hammerarm: ["8L45", "7L43", "7S1"], + heatcrash: ["8M"], + heatwave: ["8M", "7T"], + heavyslam: ["8M", "8L50", "7L59", "7S0", "7S1"], + hiddenpower: ["7M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "7M"], + irondefense: ["8M", "7T"], + ironhead: ["8M", "7T"], + irontail: ["8M", "7T", "7L29"], + knockoff: ["8L10", "7T"], + lashout: ["8T"], + lastresort: ["7T"], + magnetrise: ["7T"], + megakick: ["8M"], + megapunch: ["8M", "8S2"], + outrage: ["8M", "7T"], + payback: ["8M", "7M"], + poisonjab: ["8M", "7M"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + rockslide: ["8M", "7M"], + rocktomb: ["8M", "7M"], + round: ["8M", "7M"], + shadowclaw: ["8M", "7M"], + shockwave: ["7T"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "7M"], + sludgewave: ["8M", "7M"], + smackdown: ["7M"], + snarl: ["8M", "7M"], + snore: ["8M", "7T"], + steamroller: ["7L19"], + steelroller: ["8T"], + stockpile: ["8L5", "7L1"], + stomp: ["8L15", "7L7"], + stompingtantrum: ["8M", "8L20", "8S2", "7T", "7L31"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "7M"], + swallow: ["8L5", "7L1"], + thief: ["8M", "7M"], + thrash: ["8L65", "7L47", "7S0", "7S1"], + toxic: ["7M"], + wideguard: ["8L25", "7L1"], + wringout: ["7L67", "7S0"], + }, + eventData: [ + {generation: 7, level: 70, moves: ["thrash", "gastroacid", "heavyslam", "wringout"]}, + {generation: 7, level: 60, shiny: 1, moves: ["hammerarm", "thrash", "gastroacid", "heavyslam"]}, + {generation: 8, level: 70, shiny: 1, moves: ["dragonrush", "stompingtantrum", "brutalswing", "megapunch"]}, + ], + eventOnly: true, + }, + necrozma: { + learnset: { + aerialace: ["7M"], + allyswitch: ["8M", "7T"], + autotomize: ["8L80", "8S3", "7L47"], + breakingswipe: ["8M"], + brickbreak: ["8M", "7M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M"], + calmmind: ["8M", "7M"], + chargebeam: ["8L1", "8S3", "7M", "7L1"], + confide: ["7M"], + confusion: ["8L1", "7L1"], + cosmicpower: ["8M"], + darkpulse: ["8M", "7M"], + doubleteam: ["7M"], + dragondance: ["8M"], + dragonpulse: ["8M", "7T"], + earthpower: ["8M", "7T"], + earthquake: ["8M", "7M"], + embargo: ["7M"], + endure: ["8M"], + expandingforce: ["8T"], + facade: ["8M", "7M"], + flashcannon: ["8M", "7M"], + fling: ["8M", "7M"], + frustration: ["7M"], + futuresight: ["8M"], + gigaimpact: ["8M", "7M"], + gravity: ["8L1", "7T", "7L31"], + gyroball: ["8M", "7M"], + heatwave: ["8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + hypervoice: ["8M", "7T"], + imprison: ["8M"], + irondefense: ["8M", "8L56", "7T", "7L59", "7S0", "7S1"], + ironhead: ["8M", "7T"], + knockoff: ["7T"], + lightscreen: ["8M", "7M", "7S2"], + magnetrise: ["7T"], + metalclaw: ["8L1", "7L1"], + meteorbeam: ["8T"], + mirrorshot: ["7L1"], + moonlight: ["8L1", "7L1", "7S2"], + morningsun: ["8L1", "7L1"], + nightslash: ["8L24", "7L23", "7S1"], + outrage: ["8M", "7T"], + photongeyser: ["8L72", "7L50", "7S1"], + powergem: ["8M", "8L64", "8S3", "7L43", "7S1"], + prismaticlaser: ["8L88", "7L73", "7S0"], + protect: ["8M", "7M"], + psychic: ["8M", "7M"], + psychicfangs: ["8M"], + psychocut: ["8M", "8L32", "8S3", "7L37"], + psyshock: ["8M", "7M"], + recycle: ["7T"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + rockblast: ["8M", "8L48", "7L19"], + rockpolish: ["7M"], + rockslide: ["8M", "7M"], + rocktomb: ["8M", "7M"], + round: ["8M", "7M"], + scaryface: ["8M"], + shadowclaw: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + slash: ["8L16", "7L7"], + sleeptalk: ["8M", "7M"], + smartstrike: ["8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["8M", "7M"], + stealthrock: ["8M", "8L8", "7T", "7L53", "7S0"], + stoneedge: ["8M", "7M"], + storedpower: ["8M", "8L40", "7L13"], + substitute: ["8M", "7M", "7S2"], + swagger: ["7M"], + swordsdance: ["8M", "7M"], + telekinesis: ["7T"], + thief: ["8M", "7M"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + trickroom: ["8M", "7M"], + wringout: ["7L67", "7S0"], + xscissor: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 75, moves: ["stealthrock", "irondefense", "wringout", "prismaticlaser"]}, + {generation: 7, level: 65, moves: ["photongeyser", "irondefense", "powergem", "nightslash"]}, + {generation: 7, level: 75, shiny: true, moves: ["lightscreen", "substitute", "moonlight"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["psychocut", "chargebeam", "powergem", "autotomize"]}, + ], + eventOnly: true, + }, + necrozmaduskmane: { + learnset: { + sunsteelstrike: ["8R", "7R"], + }, + eventOnly: true, + }, + necrozmadawnwings: { + learnset: { + moongeistbeam: ["8R", "7R"], + }, + eventOnly: true, + }, + necrozmaultra: { + learnset: { + moongeistbeam: ["8R", "7R"], + sunsteelstrike: ["8R", "7R"], + }, + }, + magearna: { + learnset: { + afteryou: ["7T"], + agility: ["9M", "8M"], + aurasphere: ["9M", "9L66", "8M", "8L66", "7L81"], + aurorabeam: ["9L36", "8L36", "7L17"], + batonpass: ["9M", "8M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M", "7M"], + calmmind: ["9M", "8M", "7M"], + chargebeam: ["9M", "7M"], + confide: ["7M"], + confuseray: ["9M"], + craftyshield: ["8L54", "7L1"], + dazzlinggleam: ["9M", "8M", "7M"], + defensecurl: ["9L6", "8L6", "7L1"], + disarmingvoice: ["9M"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M", "8M"], + electroball: ["9M", "8M"], + electroweb: ["8M"], + embargo: ["7M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M"], + explosion: ["7M"], + facade: ["9M"], + falseswipe: ["9M", "8M", "7M"], + flashcannon: ["9M", "9L72", "8M", "8L72", "7M", "7L41", "7S0"], + fleurcannon: ["9L90", "8L90", "7L49", "7S0"], + focusblast: ["9M", "8M", "7M"], + frustration: ["7M"], + gearup: ["8L24", "7L1"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + gravity: ["9M"], + guardswap: ["8M"], + gyroball: ["9M", "9L1", "8M", "8L1", "7M"], + healbell: ["7T"], + heartswap: ["7L89"], + heavyslam: ["9M"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "7S0"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + icebeam: ["9M", "8M", "7M"], + icespinner: ["9M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "9L18", "8M", "8L18", "7T", "7L57"], + ironhead: ["9M", "9L60", "8M", "8L60", "7T", "7L1"], + lastresort: ["7T"], + lightscreen: ["9M", "8M", "7M"], + lockon: ["9L42"], + luckychant: ["7L9", "7S0"], + magneticflux: ["9L24"], + magnetrise: ["7T"], + mindreader: ["8L42", "7L33"], + mirrorshot: ["7L25"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M"], + painsplit: ["9L78", "8L78", "7T", "7L65"], + playrough: ["9M"], + powerswap: ["8M"], + protect: ["9M", "8M", "7M"], + psybeam: ["9M", "9L30", "8L30", "7L1"], + psychic: ["9M"], + psyshock: ["9M"], + reflect: ["9M", "8M", "7M"], + rest: ["9M", "8M"], + return: ["7M"], + rollout: ["9L12", "8L12"], + round: ["8M", "7M"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M", "7M"], + shiftgear: ["9L48", "8L48", "7L1"], + shockwave: ["7T"], + signalbeam: ["7T"], + skillswap: ["9M"], + sleeptalk: ["9M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + solarbeam: ["9M", "8M", "7M"], + sonicboom: ["7L1"], + speedswap: ["8M"], + spikes: ["9M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M"], + swagger: ["7M"], + swift: ["9M"], + synchronoise: ["7L73"], + takedown: ["9M"], + terablast: ["9M"], + thunderbolt: ["9M", "8M", "7M"], + thunderwave: ["9M", "8M", "7M"], + triattack: ["8M"], + trick: ["9M", "9L54", "8M"], + trickroom: ["9M", "8M", "7M"], + trumpcard: ["7L97"], + voltswitch: ["9M", "8M", "7M"], + zapcannon: ["9L84", "8L84"], + zenheadbutt: ["9M", "8M", "7T"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["fleurcannon", "flashcannon", "luckychant", "helpinghand"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + magearnaoriginal: { + learnset: { + agility: ["9M", "8M"], + aurasphere: ["9M", "9L66", "8M", "8L66"], + aurorabeam: ["9L36", "8L36"], + batonpass: ["9M", "8M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M"], + calmmind: ["9M", "8M"], + chargebeam: ["9M"], + confuseray: ["9M"], + craftyshield: ["8L54"], + dazzlinggleam: ["9M", "8M"], + defensecurl: ["9L6", "8L6", "8S0"], + disarmingvoice: ["9M"], + drainingkiss: ["9M", "8M"], + eerieimpulse: ["9M", "8M"], + electroball: ["9M", "8M"], + electroweb: ["8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + facade: ["9M"], + falseswipe: ["9M", "8M"], + flashcannon: ["9M", "9L72", "8M", "8L72", "8S0"], + fleurcannon: ["9L90", "8L90", "8S0"], + focusblast: ["9M", "8M"], + gearup: ["8L24"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + gravity: ["9M"], + guardswap: ["8M"], + gyroball: ["9M", "9L1", "8M", "8L1"], + heavyslam: ["9M"], + helpinghand: ["9M", "9L1", "8M", "8L1"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + icespinner: ["9M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "9L18", "8M", "8L18"], + ironhead: ["9M", "9L60", "8M", "8L60"], + lightscreen: ["9M", "8M"], + lockon: ["9L42"], + magneticflux: ["9L24"], + mindreader: ["8L42"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M"], + painsplit: ["9L78", "8L78"], + playrough: ["9M"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M", "9L30", "8L30"], + psychic: ["9M"], + psyshock: ["9M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M", "8S0"], + rollout: ["9L12", "8L12"], + round: ["8M"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M"], + shiftgear: ["9L48", "8L48"], + skillswap: ["9M"], + sleeptalk: ["9M"], + snore: ["8M"], + snowscape: ["9M"], + solarbeam: ["9M", "8M"], + speedswap: ["8M"], + spikes: ["9M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunderbolt: ["9M", "8M"], + thunderwave: ["9M", "8M"], + triattack: ["8M"], + trick: ["9M", "9L54", "8M"], + trickroom: ["9M", "8M"], + voltswitch: ["9M", "8M"], + zapcannon: ["9L84", "8L84"], + zenheadbutt: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 50, nature: "Mild", ivs: {hp: 31, atk: 30, def: 30, spa: 31, spd: 31, spe: 0}, moves: ["fleurcannon", "flashcannon", "defensecurl", "rest"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + marshadow: { + learnset: { + acrobatics: ["8M", "7M"], + agility: ["8M"], + assurance: ["8M", "8L36", "7L1"], + aurasphere: ["8M"], + blazekick: ["8M"], + bounce: ["8M", "7T"], + brickbreak: ["8M", "7M"], + bulkup: ["8M", "7M"], + calmmind: ["8M", "7M"], + closecombat: ["8M", "8L99", "7L50", "7S0"], + coaching: ["8T"], + confide: ["7M"], + copycat: ["8L1", "7L20"], + counter: ["8L1", "7L1"], + doubleteam: ["7M"], + drainpunch: ["8M", "8L1", "8S1", "7T", "7L1"], + echoedvoice: ["7M"], + endeavor: ["8L90", "7T", "7L60"], + endure: ["8M"], + facade: ["8M", "7M"], + falseswipe: ["8M", "7M"], + feint: ["8L1", "7L11"], + firepunch: ["8M", "8L1", "7T", "7L1"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + focuspunch: ["7T"], + forcepalm: ["8L27", "8S1", "7L5", "7S0"], + foulplay: ["8M", "7T"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + hex: ["8M"], + hiddenpower: ["7M"], + hyperbeam: ["8M"], + icepunch: ["8M", "8L1", "7T", "7L1"], + ironhead: ["8M", "7T"], + jumpkick: ["7L35"], + knockoff: ["7T"], + laserfocus: ["8L81", "7T", "7L1"], + lastresort: ["7T"], + lowkick: ["8M", "7T"], + lowsweep: ["8M", "7M"], + megakick: ["8M"], + megapunch: ["8M"], + outrage: ["8M", "7T"], + payback: ["8M", "7M"], + phantomforce: ["8M"], + poisonjab: ["8M", "7M"], + poltergeist: ["8T"], + protect: ["8M", "7M"], + psychup: ["8L63", "7M", "7L41"], + pursuit: ["7L1"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["8M"], + rockslide: ["8M", "7M"], + rocktomb: ["8M", "7M"], + roleplay: ["8L9", "7T", "7L30"], + rollingkick: ["7L15"], + round: ["8M", "7M"], + shadowball: ["8M", "7M", "7S0"], + shadowclaw: ["8M", "7M"], + shadowpunch: ["8L18", "7L26"], + shadowsneak: ["8L1", "8S1", "7L1"], + skittersmack: ["8T"], + sleeptalk: ["8M", "7M"], + smackdown: ["7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + spectralthief: ["8L72", "8S1", "7L45", "7S0"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "7M"], + suckerpunch: ["8L45", "7L56"], + superpower: ["8M", "7T"], + swagger: ["7M"], + swift: ["8M"], + thief: ["8M", "7M"], + throatchop: ["8M", "7T"], + thunderpunch: ["8M", "8L1", "7T", "7L1"], + toxic: ["7M"], + willowisp: ["8M", "7M"], + workup: ["8M", "7M"], + zenheadbutt: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["spectralthief", "closecombat", "forcepalm", "shadowball"], pokeball: "cherishball"}, + {generation: 8, level: 60, moves: ["spectralthief", "drainpunch", "forcepalm", "shadowsneak"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + poipole: { + learnset: { + acid: ["8L1", "8S2", "7L1"], + charm: ["8M", "8L21", "7L19", "7S0"], + confide: ["7M"], + covet: ["7T"], + dragonpulse: ["8M", "8L1", "7T", "7L1", "7S1"], + echoedvoice: ["7M"], + endure: ["8M"], + facade: ["8M", "7M"], + fellstinger: ["8L14", "8S2", "7L47"], + frustration: ["7M"], + furyattack: ["8L7", "8S2", "7L7"], + gastroacid: ["8L56", "7T"], + growl: ["8L1", "7L1"], + gunkshot: ["8M", "7T"], + helpinghand: ["8M", "8L1", "8S2", "7T", "7L1"], + hiddenpower: ["7M"], + irontail: ["8M", "7T"], + nastyplot: ["8M", "8L42", "7L31", "7S0", "7S1"], + peck: ["8L1", "7L1"], + pinmissile: ["8M"], + poisonjab: ["8M", "8L49", "7M", "7L37", "7S0", "7S1"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + signalbeam: ["7T"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "7M"], + sludgewave: ["8M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + substitute: ["8M", "7M"], + toxic: ["8L63", "7M", "7L41"], + toxicspikes: ["8M"], + uproar: ["8M", "7T"], + venomdrench: ["8M", "8L35", "7L23", "7S0", "7S1"], + venoshock: ["8M", "8L28", "7M", "7L13"], + }, + eventData: [ + {generation: 7, level: 40, shiny: 1, perfectIVs: 3, moves: ["charm", "venomdrench", "nastyplot", "poisonjab"], pokeball: "pokeball"}, + {generation: 7, level: 40, shiny: true, nature: "Modest", perfectIVs: 3, moves: ["venomdrench", "nastyplot", "poisonjab", "dragonpulse"], pokeball: "cherishball"}, + {generation: 8, level: 20, moves: ["helpinghand", "acid", "furyattack", "fellstinger"], pokeball: "beastball"}, + ], + eventOnly: true, + }, + naganadel: { + learnset: { + acid: ["8L1", "7L1"], + acrobatics: ["8M", "7M"], + aerialace: ["7M"], + aircutter: ["8L0", "7L1"], + airslash: ["8M", "8L1", "7L53"], + allyswitch: ["8M", "7T"], + assurance: ["8M"], + breakingswipe: ["8M"], + charm: ["8M", "8L21", "7L19"], + confide: ["7M"], + crosspoison: ["8M"], + darkpulse: ["8M", "7M"], + doubleteam: ["7M"], + dracometeor: ["8T", "7T"], + dragonclaw: ["8M", "7M"], + dragondance: ["8M"], + dragonpulse: ["8M", "8L1", "7T", "7L1"], + dragonrush: ["8L70"], + dragontail: ["7M"], + dualwingbeat: ["8T"], + echoedvoice: ["7M"], + endure: ["8M"], + facade: ["8M", "7M"], + fellstinger: ["8L14", "7L47"], + fireblast: ["8M", "7M"], + flamethrower: ["8M", "7M"], + fly: ["8M", "7M"], + frustration: ["7M"], + furyattack: ["8L7", "7L7"], + gastroacid: ["8L56", "7T"], + gigaimpact: ["8M"], + growl: ["8L1", "7L1"], + gunkshot: ["8M", "7T"], + heatwave: ["8M", "7T"], + helpinghand: ["8M", "8L1", "7T", "7L1"], + hex: ["8M"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + irontail: ["8M", "7T"], + laserfocus: ["7T"], + leechlife: ["8M", "7M"], + nastyplot: ["8M", "8L42", "7L31"], + outrage: ["8M", "7T"], + peck: ["8L1", "7L1"], + pinmissile: ["8M"], + poisonjab: ["8M", "8L49", "7M", "7L37"], + protect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + scaleshot: ["8T"], + shadowclaw: ["8M", "7M"], + shockwave: ["7T"], + signalbeam: ["7T"], + skyattack: ["7T"], + skydrop: ["7M"], + sleeptalk: ["8M", "7M"], + sludgebomb: ["8M", "7M"], + sludgewave: ["8M", "7M"], + smartstrike: ["8M", "7M"], + snarl: ["8M", "7M"], + snatch: ["7T"], + snore: ["8M", "7T"], + spikes: ["8M"], + substitute: ["8M", "7M"], + swift: ["8M"], + tailwind: ["7T"], + thief: ["8M", "7M"], + throatchop: ["8M", "7T"], + thunderbolt: ["8M", "7M"], + toxic: ["8L63", "7M", "7L41"], + toxicspikes: ["8M"], + uproar: ["8M", "7T"], + uturn: ["8M", "7M"], + venomdrench: ["8M", "8L35", "7L23"], + venoshock: ["8M", "8L28", "7M", "7L13"], + xscissor: ["8M", "7M"], + }, + }, + stakataka: { + learnset: { + allyswitch: ["8M", "7T"], + autotomize: ["8L35", "8S1", "7L31"], + bide: ["7L17"], + bind: ["7T"], + block: ["8L20", "7T"], + bodypress: ["8M"], + bodyslam: ["8M"], + brutalswing: ["8M", "8S1", "7M"], + bulldoze: ["8M", "7M"], + doubleedge: ["8L70", "8S1", "7L61"], + earthquake: ["8M", "7M"], + endure: ["8M"], + facade: ["8M", "7M"], + flashcannon: ["8M", "7M"], + frustration: ["7M"], + gigaimpact: ["8M", "7M"], + gravity: ["7T"], + gyroball: ["8M", "7M"], + harden: ["8L1"], + heatcrash: ["8M"], + heavyslam: ["8M"], + hiddenpower: ["7M"], + highhorsepower: ["8M"], + infestation: ["7M"], + irondefense: ["8M", "8L50", "7T", "7L37", "7S0"], + ironhead: ["8M", "8L55", "7T", "7L43", "7S0"], + lightscreen: ["8M", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + magnetrise: ["8L45", "7T"], + megakick: ["8M"], + meteorbeam: ["8T"], + protect: ["8M", "8L10", "7M", "7L1"], + recycle: ["7T"], + reflect: ["8M", "7M"], + rest: ["8M", "7M"], + return: ["7M"], + rockblast: ["8M", "8L40", "7L47", "7S0"], + rockpolish: ["7M"], + rockslide: ["8M", "8L25", "8S1", "7M", "7L5"], + rockthrow: ["8L5", "7L23"], + rocktomb: ["8M", "7M"], + roleplay: ["7T"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["8M", "7M"], + skillswap: ["8M", "7T"], + sleeptalk: ["8M", "7M"], + smackdown: ["7M"], + snore: ["8M", "7T"], + stealthrock: ["8M", "8L65", "7T", "7L11"], + steelbeam: ["8T"], + steelroller: ["8T"], + stomp: ["8L15"], + stompingtantrum: ["8M", "7T"], + stoneedge: ["8M", "7M"], + substitute: ["8M", "7M"], + superpower: ["8M", "7T"], + tackle: ["8L1", "7L1"], + takedown: ["8L60", "7L19"], + telekinesis: ["7T"], + toxic: ["7M"], + trickroom: ["8M", "7M"], + wideguard: ["8L30", "7L53", "7S0"], + wonderroom: ["8M", "7T"], + zenheadbutt: ["8M", "7T"], + }, + eventData: [ + {generation: 7, level: 60, shiny: 1, moves: ["irondefense", "ironhead", "rockblast", "wideguard"]}, + {generation: 8, level: 70, shiny: 1, moves: ["rockslide", "doubleedge", "brutalswing", "autotomize"]}, + ], + eventOnly: true, + }, + blacephalon: { + learnset: { + afteryou: ["7T"], + astonish: ["8L1", "7L1"], + calmmind: ["8M", "8L50", "7M", "7L31"], + confide: ["7M"], + confuseray: ["8L20"], + darkpulse: ["8M", "7M"], + doubleteam: ["7M"], + ember: ["8L10", "7L1"], + encore: ["8M"], + endure: ["8M"], + expandingforce: ["8T"], + explosion: ["7M"], + facade: ["8M", "7M"], + fireblast: ["8M", "8L65", "8S1", "7M", "7L37", "7S0"], + firepunch: ["8M"], + firespin: ["8M", "8L1"], + flameburst: ["7L17"], + flamecharge: ["7M"], + flamethrower: ["8M", "7M"], + fling: ["8M", "7M"], + foulplay: ["8M", "7T"], + frustration: ["7M"], + heatwave: ["8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["8M", "7M"], + hypnosis: ["8L35"], + incinerate: ["8L30"], + knockoff: ["7T"], + lastresort: ["7T"], + lightscreen: ["8M", "8L5", "7M", "7L29"], + magiccoat: ["8L25", "7L7"], + mindblown: ["8L70", "7L59", "7S0"], + mysticalfire: ["8M", "8L40"], + nightshade: ["8L15", "7L23"], + overheat: ["8M", "7M"], + painsplit: ["7T"], + payback: ["8M", "7M"], + protect: ["8M", "7M"], + psychic: ["8M", "7M"], + psyshock: ["8M", "7M"], + quash: ["7M"], + recycle: ["7T"], + rest: ["8M", "7M"], + return: ["7M"], + rockblast: ["8M"], + round: ["8M", "7M"], + selfdestruct: ["8M"], + shadowball: ["8M", "8L45", "7M", "7L41", "7S0"], + shadowclaw: ["8M", "8S1", "7M"], + sleeptalk: ["8M", "7M"], + smackdown: ["7M"], + snore: ["8M", "7T"], + solarbeam: ["8M"], + spite: ["7T"], + storedpower: ["8M", "7L13"], + substitute: ["8M", "7M"], + sunnyday: ["8M", "7M"], + swagger: ["7M"], + taunt: ["8M", "8S1", "7M"], + thief: ["8M", "7M"], + torment: ["7M"], + toxic: ["7M"], + trick: ["8M", "8L60", "7T", "7L47", "7S0"], + uproar: ["8M", "7T"], + willowisp: ["8M", "8L55", "7M"], + zenheadbutt: ["8M", "8S1"], + }, + eventData: [ + {generation: 7, level: 60, shiny: 1, moves: ["fireblast", "shadowball", "trick", "mindblown"]}, + {generation: 8, level: 70, shiny: 1, moves: ["shadowclaw", "taunt", "fireblast", "zenheadbutt"]}, + ], + eventOnly: true, + }, + zeraora: { + learnset: { + acrobatics: ["8M", "7M"], + aerialace: ["7M"], + agility: ["8M", "8L80"], + assurance: ["8M"], + aurasphere: ["8M"], + blazekick: ["8M", "8S1"], + bounce: ["8M", "7T"], + brickbreak: ["8M", "7M"], + brutalswing: ["8M", "7M"], + bulkup: ["8M", "7M"], + calmmind: ["8M", "7M"], + charge: ["8L40", "7L26"], + closecombat: ["8M", "8L96", "8S1", "7L47", "7S0"], + coaching: ["8T"], + confide: ["7M"], + discharge: ["8L64", "7L50"], + doubleteam: ["7M"], + drainpunch: ["8M", "7T"], + dualchop: ["7T"], + echoedvoice: ["7M"], + electricterrain: ["8M"], + electroball: ["8M"], + electroweb: ["8M", "7T"], + endeavor: ["7T"], + endure: ["8M"], + facade: ["8M", "7M"], + fakeout: ["8L1", "7L22"], + falseswipe: ["8M", "7M"], + firepunch: ["8M", "7T"], + fling: ["8M", "7M"], + focusblast: ["8M", "7M"], + focuspunch: ["7T"], + frustration: ["7M"], + furyswipes: ["8L8", "7L12"], + gigaimpact: ["8M", "7M"], + grassknot: ["8M", "7M"], + helpinghand: ["8M"], + hiddenpower: ["7M"], + honeclaws: ["8L56", "7L5"], + hyperbeam: ["8M"], + irontail: ["8M", "7T"], + knockoff: ["7T"], + laserfocus: ["7T"], + lowkick: ["8M", "7T"], + lowsweep: ["8M", "7M"], + megakick: ["8M"], + megapunch: ["8M"], + outrage: ["8M", "8S1", "7T"], + payday: ["8M"], + plasmafists: ["8L88", "8S1", "7L43", "7S0"], + playrough: ["8M"], + poweruppunch: ["8L1"], + protect: ["8M", "7M"], + quickattack: ["8L1", "7L8"], + quickguard: ["8L16", "7L40"], + rest: ["8M", "7M"], + return: ["7M"], + revenge: ["8M"], + reversal: ["8M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + scaryface: ["8M"], + scratch: ["8L1", "7L1"], + shockwave: ["7T"], + slash: ["8L24", "7L33"], + sleeptalk: ["8M", "7M"], + snarl: ["8M", "8L1", "7M", "7L19"], + snatch: ["7T"], + snore: ["8M", "7T"], + spark: ["8L1", "7L1"], + substitute: ["8M", "7M"], + superpower: ["8M", "7T"], + swift: ["8M"], + taunt: ["8M", "7M"], + throatchop: ["8M", "7T"], + thunder: ["8M", "7M", "7S0"], + thunderbolt: ["8M", "7M"], + thunderpunch: ["8M", "8L48", "7T", "7L29", "7S0"], + thunderwave: ["8M", "7M"], + toxic: ["7M"], + voltswitch: ["8M", "8L32", "7M", "7L15"], + wildcharge: ["8M", "8L72", "7M", "7L36"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["plasmafists", "thunderpunch", "closecombat", "thunder"], pokeball: "cherishball"}, + {generation: 8, level: 100, shiny: true, nature: "Hasty", ivs: {hp: 31, atk: 31, def: 30, spa: 31, spd: 31, spe: 31}, moves: ["plasmafists", "closecombat", "blazekick", "outrage"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + meltan: { + learnset: { + acidarmor: ["8L32", "8V", "7L36"], + endure: ["8M"], + facade: ["8M"], + flashcannon: ["8M", "8L40", "8V", "7M", "7L45"], + gyroball: ["8M"], + harden: ["8L1", "8V", "7L1"], + headbutt: ["8L16", "8V", "7M", "7L1"], + irondefense: ["8M"], + protect: ["8M", "8V", "7M"], + rest: ["8M", "8V", "7M"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + steelbeam: ["8T"], + substitute: ["8M", "8V", "7M"], + tailwhip: ["8L8", "8V", "7L9"], + thunderbolt: ["8M", "8V", "7M"], + thundershock: ["8L1", "8V", "7L27"], + thunderwave: ["8M", "8L24", "8V", "7M", "7L18"], + toxic: ["8V", "7M"], + }, + }, + melmetal: { + learnset: { + acidarmor: ["8L32", "8V", "7L36"], + bodypress: ["8M"], + bodyslam: ["8M"], + brickbreak: ["8M", "8V", "7M"], + brutalswing: ["8M"], + darkestlariat: ["8M"], + discharge: ["8L64"], + doubleironbash: ["8L88", "8V", "8S0", "7L72"], + dynamicpunch: ["8L72", "8S0"], + earthquake: ["8M", "8V", "7M"], + electricterrain: ["8M"], + endure: ["8M"], + facade: ["8M", "8V", "7M"], + flashcannon: ["8M", "8L40", "8V", "7M", "7L45"], + gigaimpact: ["8M"], + gyroball: ["8M"], + harden: ["8L1", "8V", "7L1"], + headbutt: ["8L1", "8V", "7M", "7L1"], + heavyslam: ["8M"], + highhorsepower: ["8M"], + hyperbeam: ["8M", "8L96", "8V", "8S0", "7M", "7L90"], + icebeam: ["8M", "8V", "7M"], + icepunch: ["8M", "8V", "7M"], + irondefense: ["8M"], + ironhead: ["8M"], + megakick: ["8M"], + megapunch: ["8M", "8L48", "8V", "7L54"], + protect: ["8M", "8L56", "8V", "7M", "7L63"], + rest: ["8M", "8V", "7M"], + rockslide: ["8M", "8V", "7M"], + rocktomb: ["8M"], + round: ["8M"], + selfdestruct: ["8M", "8V", "7M"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M", "8V", "7M"], + steelbeam: ["8T"], + steelroller: ["8T"], + substitute: ["8M", "8V", "7M"], + superpower: ["8M", "8L80", "8V", "7M", "7L81"], + tailwhip: ["8L1", "8V", "7L1"], + thunder: ["8M", "8V", "7M"], + thunderbolt: ["8M", "8V", "7M"], + thunderpunch: ["8M", "8L0", "8V", "8S0", "7M", "7L0"], + thundershock: ["8L1", "8V", "7L27"], + thunderwave: ["8M", "8L24", "8V", "7M", "7L1"], + toxic: ["8V", "7M"], + }, + eventData: [ + {generation: 8, level: 100, nature: "Brave", ivs: {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["doubleironbash", "hyperbeam", "dynamicpunch", "thunderpunch"], pokeball: "cherishball"}, + ], + }, + grookey: { + learnset: { + acrobatics: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bodyslam: ["9M"], + branchpoke: ["9L6", "8L6"], + bulletseed: ["9M"], + drainpunch: ["9M", "8M"], + endeavor: ["9L36", "8L36"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["9E", "8E"], + falseswipe: ["9M", "8M"], + fling: ["9M", "8M"], + focusenergy: ["8M"], + gigadrain: ["9M", "8M"], + grassknot: ["9M", "8M"], + grasspledge: ["9M", "8T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1"], + growth: ["9E", "8E"], + hammerarm: ["9E", "8E"], + knockoff: ["9M", "9L20", "8L20"], + leafstorm: ["9M"], + leechseed: ["9E", "8E"], + lowkick: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + naturepower: ["8E"], + protect: ["9M", "8M"], + razorleaf: ["9L12", "8L12"], + rest: ["9M", "8M"], + round: ["8M"], + scratch: ["9L1", "8L1"], + screech: ["9L17", "8M", "8L17"], + seedbomb: ["9M"], + slam: ["9L24", "8L24"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + solarblade: ["9M", "8M"], + strength: ["9E", "8E"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L8", "8M", "8L8"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "9L28", "8M", "8L28"], + uturn: ["9M", "8M"], + woodhammer: ["9L32", "8L32"], + workup: ["8M"], + worryseed: ["9E", "8E"], + }, + }, + thwackey: { + learnset: { + acrobatics: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bodyslam: ["9M"], + branchpoke: ["9L1", "8L1"], + bulletseed: ["9M"], + doublehit: ["9L0", "8L0"], + drainpunch: ["9M", "8M"], + endeavor: ["9L48", "8L48"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + facade: ["9M", "8M"], + falseswipe: ["9M", "8M"], + fling: ["9M", "8M"], + focusenergy: ["8M"], + gigadrain: ["9M", "8M"], + grassknot: ["9M", "8M"], + grasspledge: ["9M", "8T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growl: ["9L1", "8L1"], + knockoff: ["9M", "9L24", "8L24"], + leafstorm: ["9M"], + lowkick: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + protect: ["9M", "8M"], + razorleaf: ["9L12", "8L12"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M"], + scratch: ["9L1", "8L1"], + screech: ["9L19", "8M", "8L19"], + seedbomb: ["9M"], + slam: ["9L30", "8L30"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + solarblade: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "9L36", "8M", "8L36"], + uturn: ["9M", "8M"], + woodhammer: ["9L42", "8L42"], + workup: ["8M"], + }, + }, + rillaboom: { + learnset: { + acrobatics: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + boomburst: ["9L62", "8L62"], + branchpoke: ["9L1", "8L1"], + brickbreak: ["9M", "8M"], + brutalswing: ["8M"], + bulkup: ["9M", "8M"], + bulldoze: ["9M", "8M"], + bulletseed: ["9M", "8M"], + darkestlariat: ["8M"], + doublehit: ["9L1", "8L1"], + drainpunch: ["9M", "8M"], + drumbeating: ["9L0", "8L0"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endeavor: ["9L54", "8L54"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + facade: ["9M", "8M"], + falseswipe: ["9M", "8M"], + fling: ["9M", "8M"], + focusblast: ["9M", "8M"], + focusenergy: ["8M"], + focuspunch: ["9M"], + frenzyplant: ["9M", "8T"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + grasspledge: ["9M", "8T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "9L1", "8M", "8L1"], + growl: ["9L1", "8L1"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + knockoff: ["9M", "9L24", "8L24"], + leafstorm: ["9M", "8M"], + lowkick: ["9M", "8M"], + lowsweep: ["9M"], + magicalleaf: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + mudshot: ["9M", "8M"], + nobleroar: ["9L1", "8L1"], + protect: ["9M", "8M"], + razorleaf: ["9L12", "8L12"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "8M"], + scratch: ["9L1", "8L1"], + screech: ["9L19", "8M", "8L19"], + seedbomb: ["9M"], + slam: ["9L30", "8L30"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + solarblade: ["9M", "8M"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superpower: ["8M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "9L38", "8M", "8L38"], + uturn: ["9M", "8M"], + woodhammer: ["9L46", "8L46"], + workup: ["8M"], + }, + }, + scorbunny: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "9L20", "8M", "8L20"], + allyswitch: ["8M"], + assurance: ["8M"], + attract: ["8M"], + batonpass: ["9M", "8M"], + blazekick: ["8M"], + bounce: ["9L32", "8M", "8L32"], + burningjealousy: ["9M"], + counter: ["9L28", "8L28"], + doubleedge: ["9L36", "8L36"], + doublekick: ["9L12", "8L12"], + electroball: ["9M", "8M"], + ember: ["9L6", "8L6"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + firefang: ["9M", "8M"], + firepledge: ["9M", "8T"], + firespin: ["9M"], + flamecharge: ["9M", "9L17", "8L17"], + flamethrower: ["9M", "8M"], + flareblitz: ["9M"], + focusenergy: ["8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M", "8M"], + headbutt: ["9L24", "8L24"], + heatwave: ["9M", "8M"], + helpinghand: ["9M"], + highjumpkick: ["9E", "8E"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + mudshot: ["8M"], + overheat: ["9M", "8M"], + protect: ["9M", "8M"], + quickattack: ["9L8", "8L8"], + rest: ["9M", "8M"], + reversal: ["9M", "8M"], + round: ["8M"], + sandattack: ["9E", "8E"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9E", "8E"], + sunnyday: ["9M", "8M"], + superfang: ["9M", "9E", "8E"], + swift: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "8M"], + workup: ["8M"], + }, + }, + raboot: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "9L24", "8M", "8L24"], + allyswitch: ["8M"], + assurance: ["8M"], + attract: ["8M"], + batonpass: ["9M", "8M"], + blazekick: ["8M"], + bounce: ["9L42", "8M", "8L42"], + bulkup: ["9M", "8M"], + burningjealousy: ["9M"], + counter: ["9L36", "8L36"], + doubleedge: ["9L48", "8L48"], + doublekick: ["9L12", "8L12"], + electroball: ["9M", "8M"], + ember: ["9L1", "8L1"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + firefang: ["9M", "8M"], + firepledge: ["9M", "8T"], + firespin: ["9M"], + flamecharge: ["9M", "9L19", "8L19"], + flamethrower: ["9M", "8M"], + flareblitz: ["9M", "8M"], + focusenergy: ["8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M", "8M"], + headbutt: ["9L30", "8L30"], + heatwave: ["9M", "8M"], + helpinghand: ["9M"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + mudshot: ["9M", "8M"], + overheat: ["9M", "8M"], + protect: ["9M", "8M"], + quickattack: ["9L1", "8L1"], + rest: ["9M", "8M"], + reversal: ["9M", "8M"], + round: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superfang: ["9M"], + swift: ["9M", "8M"], + swordsdance: ["9M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "8M"], + weatherball: ["9M"], + workup: ["8M"], + }, + }, + cinderace: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "9L24", "8M", "8L24"], + allyswitch: ["8M"], + assurance: ["8M"], + attract: ["8M"], + batonpass: ["9M", "8M"], + blastburn: ["9M", "8T"], + blazekick: ["8M"], + bounce: ["9L46", "8M", "8L46"], + bulkup: ["9M", "8M"], + burningjealousy: ["9M"], + coaching: ["8T"], + counter: ["9L38", "8L38"], + courtchange: ["9L62", "8L62"], + doubleedge: ["9L54", "8L54"], + doublekick: ["9L12", "8L12"], + electroball: ["9M", "8M"], + ember: ["9L1", "8L1"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + feint: ["9L1", "8L1"], + fireblast: ["9M", "8M"], + firefang: ["9M", "8M"], + firepledge: ["9M", "8T"], + firepunch: ["9M", "8M"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "9L19", "8L19"], + flamethrower: ["9M", "8M"], + flareblitz: ["9M", "8M"], + fling: ["9M"], + focusblast: ["9M", "8M"], + focusenergy: ["8M"], + gigaimpact: ["9M", "8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M", "8M"], + headbutt: ["9L30", "8L30"], + heatwave: ["9M", "8M"], + helpinghand: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + ironhead: ["9M", "8M"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + mudshot: ["9M", "8M"], + mudslap: ["9M"], + overheat: ["9M", "8M"], + protect: ["9M", "8M"], + pyroball: ["9L0", "8L0"], + quickattack: ["9L1", "8L1"], + rest: ["9M", "8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + round: ["8M"], + scorchingsands: ["8T"], + shadowball: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + smackdown: ["9M"], + snarl: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superfang: ["9M"], + swift: ["9M", "8M"], + swordsdance: ["9M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "8M"], + weatherball: ["9M"], + willowisp: ["9M"], + workup: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + }, + sobble: { + learnset: { + aquajet: ["9E", "8E"], + aquaring: ["9E", "8E"], + attract: ["8M"], + batonpass: ["8M"], + bind: ["9L8", "8L8"], + bounce: ["8M"], + chillingwater: ["9M"], + dive: ["8M"], + doubleteam: ["9E", "8E"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fellstinger: ["9E", "8E"], + growl: ["9L1", "8L1"], + haze: ["9M", "9E", "8E"], + hydropump: ["9M"], + iceshard: ["9E", "8E"], + lightscreen: ["9M", "8M"], + liquidation: ["9M", "9L28", "8M", "8L28"], + mist: ["9E", "8E"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + pound: ["9L1", "8L1"], + protect: ["9M", "8M"], + raindance: ["9M", "9L36", "8M", "8L36"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + soak: ["9L32", "8L32"], + substitute: ["9M", "8M"], + suckerpunch: ["9L20", "8L20"], + surf: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + tearfullook: ["9L17", "8L17"], + terablast: ["9M"], + uturn: ["9M", "9L24", "8M", "8L24"], + waterfall: ["9M"], + watergun: ["9L6", "8L6"], + waterpledge: ["9M", "8T"], + waterpulse: ["9M", "9L12", "8L12"], + weatherball: ["9M", "8M"], + whirlpool: ["8M"], + workup: ["8M"], + }, + }, + drizzile: { + learnset: { + attract: ["8M"], + batonpass: ["9M", "8M"], + bind: ["9L1", "8L1"], + bounce: ["8M"], + chillingwater: ["9M"], + dive: ["8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fling: ["9M", "8M"], + growl: ["9L1", "8L1"], + haze: ["9M"], + hydropump: ["9M"], + lightscreen: ["9M", "8M"], + liquidation: ["9M", "9L36", "8M", "8L36"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + pound: ["9L1", "8L1"], + protect: ["9M", "8M"], + raindance: ["9M", "9L48", "8M", "8L48"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + soak: ["9L42", "8L42"], + substitute: ["9M", "8M"], + suckerpunch: ["9L24", "8L24"], + surf: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + tearfullook: ["9L19", "8L19"], + terablast: ["9M"], + uturn: ["9M", "9L30", "8M", "8L30"], + waterfall: ["9M"], + watergun: ["9L1", "8L1"], + waterpledge: ["9M", "8T"], + waterpulse: ["9M", "9L12", "8L12"], + weatherball: ["9M", "8M"], + whirlpool: ["8M"], + workup: ["8M"], + }, + }, + inteleon: { + learnset: { + acrobatics: ["9M", "9L1", "8M", "8L1"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + attract: ["8M"], + batonpass: ["9M", "8M"], + bind: ["9L1", "8L1"], + blizzard: ["9M", "8M"], + bounce: ["8M"], + breakingswipe: ["8M"], + chillingwater: ["9M"], + darkpulse: ["9M", "8M"], + dive: ["8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fling: ["9M", "8M"], + flipturn: ["9M"], + focusenergy: ["8M"], + gigaimpact: ["9M", "8M"], + growl: ["9L1", "8L1"], + haze: ["9M"], + hydrocannon: ["9M", "8T"], + hydropump: ["9M", "9L62", "8M", "8L62"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M"], + lightscreen: ["9M", "8M"], + liquidation: ["9M", "9L38", "8M", "8L38"], + metronome: ["9M", "8M"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + pound: ["9L1", "8L1"], + protect: ["9M", "8M"], + raindance: ["9M", "9L54", "8M", "8L54"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + scald: ["9M", "8M"], + scaleshot: ["8T"], + shadowball: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + smackdown: ["9M"], + snipeshot: ["9L0", "8L0"], + snore: ["8M"], + snowscape: ["9M"], + soak: ["9L46", "8L46"], + substitute: ["9M", "8M"], + suckerpunch: ["9L24", "8L24"], + surf: ["9M", "8M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M"], + tearfullook: ["9L19", "8L19"], + terablast: ["9M"], + uturn: ["9M", "9L30", "8M", "8L30"], + vacuumwave: ["9M"], + waterfall: ["9M", "8M"], + watergun: ["9L1", "8L1"], + waterpledge: ["9M", "8T"], + waterpulse: ["9M", "9L12", "8L12"], + weatherball: ["9M", "8M"], + whirlpool: ["8M"], + workup: ["8M"], + }, + }, + skwovet: { + learnset: { + amnesia: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + belch: ["9L45", "8L45"], + bellydrum: ["9E", "8E"], + bite: ["9L5", "8L5"], + bodyslam: ["9M", "9L20", "8M", "8L20"], + brutalswing: ["8M"], + bulletseed: ["9M", "9L35", "8M", "8L35"], + counter: ["9L30", "8L30"], + crunch: ["9M", "8M"], + defensecurl: ["9E", "8E"], + dig: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fling: ["9M", "8M"], + gyroball: ["9M", "8M"], + hypervoice: ["9M", "8M"], + irontail: ["8M"], + lastresort: ["9E", "8E"], + mudshot: ["9M", "8M"], + mudslap: ["9M"], + payback: ["8M"], + protect: ["9M", "8M"], + rest: ["9M", "9L25", "8M", "8L25"], + rollout: ["9E", "8E"], + round: ["8M"], + seedbomb: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spitup: ["9L15", "8L15"], + stockpile: ["9L15", "8L15"], + stuffcheeks: ["9L10", "8L10"], + substitute: ["9M", "8M"], + superfang: ["9M", "9L40", "8L40"], + swallow: ["9L15", "8L15"], + tackle: ["9L1", "8L1"], + tailslap: ["8M"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + trailblaze: ["9M"], + uproar: ["8M"], + }, + }, + greedent: { + learnset: { + amnesia: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + belch: ["9L55", "8L55"], + bite: ["9L1", "8L1"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L20", "8M", "8L20"], + brutalswing: ["8M"], + bulldoze: ["9M"], + bulletseed: ["9M", "9L41", "8M", "8L41"], + counter: ["9L34", "8L34"], + covet: ["9L0", "8L0"], + crunch: ["9M", "8M"], + dig: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + firefang: ["9M", "8M"], + fling: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gyroball: ["9M", "8M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + icefang: ["9M", "8M"], + irontail: ["8M"], + knockoff: ["9M"], + mudshot: ["9M", "8M"], + mudslap: ["9M"], + payback: ["8M"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + raindance: ["9M"], + rest: ["9M", "9L27", "8M", "8L27"], + round: ["8M"], + seedbomb: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spitup: ["9L15", "8L15"], + stockpile: ["9L15", "8L15"], + stompingtantrum: ["9M", "8M"], + stuffcheeks: ["9L1", "8L1"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + superfang: ["9M", "9L48", "8L48"], + superpower: ["8M"], + swallow: ["9L15", "8L15"], + swordsdance: ["9M", "8M"], + tackle: ["9L1", "8L1"], + tailslap: ["8M"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunderfang: ["9M", "8M"], + trailblaze: ["9M"], + uproar: ["8M"], + wildcharge: ["9M", "8M"], + }, + }, + rookidee: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bravebird: ["9M", "9L36", "8M", "8L36"], + defog: ["9E", "8E"], + drillpeck: ["9L28", "8L28"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + faketears: ["9M", "8M"], + fly: ["9M", "8M"], + focusenergy: ["8M"], + furyattack: ["9L12", "8L12"], + honeclaws: ["9L8", "8L8"], + leer: ["9L1", "8L1"], + nastyplot: ["9M", "8M"], + payback: ["8M"], + peck: ["9L1", "8L1"], + pluck: ["9L16", "8L16"], + powertrip: ["9L4", "8L4"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rocksmash: ["9E", "8E"], + roost: ["9E", "8E"], + round: ["8M"], + sandattack: ["9E", "8E"], + scaryface: ["9M", "9L24", "8M", "8L24"], + skyattack: ["9E", "8E"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spite: ["9M", "9E", "8E"], + substitute: ["9M", "8M"], + swagger: ["9L32", "8L32"], + swift: ["9M", "8M"], + tailwind: ["9M", "9E", "8E"], + takedown: ["9M"], + taunt: ["9M", "9L20", "8M", "8L20"], + terablast: ["9M"], + thief: ["9M", "8M"], + uturn: ["9M", "8M"], + workup: ["8M"], + }, + }, + corvisquire: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bravebird: ["9M", "9L46", "8M", "8L46"], + drillpeck: ["9L34", "8L34"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + faketears: ["9M", "8M"], + fly: ["9M", "8M"], + focusenergy: ["8M"], + furyattack: ["9L12", "8L12"], + honeclaws: ["9L1", "8L1"], + hurricane: ["9M"], + leer: ["9L1", "8L1"], + nastyplot: ["9M", "8M"], + payback: ["8M"], + peck: ["9L1", "8L1"], + pluck: ["9L16", "8L16"], + powertrip: ["9L1", "8L1"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "9L28", "8M", "8L28"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spite: ["9M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + swagger: ["9L40", "8L40"], + swift: ["9M", "8M"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L22", "8M", "8L22"], + terablast: ["9M"], + thief: ["9M", "8M"], + uturn: ["9M", "8M"], + workup: ["8M"], + }, + }, + corviknight: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bravebird: ["9M", "9L50", "8M", "8L50"], + bulkup: ["9M", "8M"], + drillpeck: ["9L34", "8L34"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + faketears: ["9M", "8M"], + flashcannon: ["9M", "8M"], + fly: ["9M", "8M"], + focusenergy: ["8M"], + furyattack: ["9L12", "8L12"], + gigaimpact: ["9M", "8M"], + heavyslam: ["9M", "8M"], + honeclaws: ["9L1", "8L1"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + irondefense: ["9M", "9L1", "8M", "8L1"], + ironhead: ["9M", "8M"], + leer: ["9L1", "8L1"], + lightscreen: ["9M", "8M"], + metalclaw: ["9M"], + metalsound: ["9L1", "8L1"], + nastyplot: ["9M", "8M"], + payback: ["8M"], + peck: ["9L1", "8L1"], + pluck: ["9L16", "8L16"], + powertrip: ["9L1", "8L1"], + protect: ["9M", "8M"], + raindance: ["9M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "9L28", "8M", "8L28"], + screech: ["9L1", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spite: ["9M"], + steelbeam: ["9M", "8T"], + steelwing: ["9L0", "8M", "8L0"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + swagger: ["9L42", "8L42"], + swift: ["9M", "8M"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L22", "8M", "8L22"], + terablast: ["9M"], + thief: ["9M", "8M"], + uturn: ["9M", "8M"], + workup: ["8M"], + }, + }, + blipbug: { + learnset: { + infestation: ["8E"], + recover: ["8E"], + stickyweb: ["8E"], + strugglebug: ["8L1"], + supersonic: ["8E"], + }, + }, + dottler: { + learnset: { + allyswitch: ["8M"], + attract: ["8M"], + bodypress: ["8M"], + bugbuzz: ["8M"], + calmmind: ["8M"], + confusion: ["8L0"], + endure: ["8M"], + energyball: ["8M"], + expandingforce: ["8T"], + facade: ["8M"], + futuresight: ["8M"], + guardswap: ["8M"], + helpinghand: ["8M"], + imprison: ["8M"], + irondefense: ["8M"], + leechlife: ["8M"], + lightscreen: ["8M", "8L0"], + magicroom: ["8M"], + payback: ["8M"], + powerswap: ["8M"], + protect: ["8M"], + psychic: ["8M"], + psychicterrain: ["8M"], + psyshock: ["8M"], + reflect: ["8M", "8L0"], + rest: ["8M"], + round: ["8M"], + safeguard: ["8M"], + shadowball: ["8M"], + skillswap: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + storedpower: ["8M"], + strugglebug: ["8L1"], + substitute: ["8M"], + trick: ["8M"], + trickroom: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["8M"], + }, + }, + orbeetle: { + learnset: { + afteryou: ["8L40"], + agility: ["8M", "8L12"], + allyswitch: ["8M", "8L24"], + attract: ["8M"], + batonpass: ["8M"], + bodypress: ["8M"], + bugbuzz: ["8M", "8L28"], + calmmind: ["8M", "8L44"], + confuseray: ["8L4"], + confusion: ["8L1"], + endure: ["8M"], + energyball: ["8M"], + expandingforce: ["8T"], + facade: ["8M"], + futuresight: ["8M"], + gigadrain: ["8M"], + gigaimpact: ["8M"], + guardswap: ["8M"], + helpinghand: ["8M"], + hyperbeam: ["8M"], + hypnosis: ["8L20"], + imprison: ["8M"], + irondefense: ["8M"], + leechlife: ["8M"], + lightscreen: ["8M", "8L1"], + magiccoat: ["8L8"], + magicroom: ["8M"], + mirrorcoat: ["8L32"], + payback: ["8M"], + powerswap: ["8M"], + protect: ["8M"], + psybeam: ["8L16"], + psychic: ["8M", "8L36"], + psychicterrain: ["8M", "8L48"], + psychocut: ["8M"], + psyshock: ["8M"], + reflect: ["8M", "8L1"], + rest: ["8M"], + round: ["8M"], + safeguard: ["8M"], + shadowball: ["8M"], + skillswap: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + storedpower: ["8M"], + strugglebug: ["8L1"], + substitute: ["8M"], + trick: ["8M"], + trickroom: ["8M"], + uturn: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["8M"], + }, + }, + nickit: { + learnset: { + agility: ["8M"], + assurance: ["8M", "8L16"], + attract: ["8M"], + batonpass: ["8M"], + beatup: ["8M", "8L4"], + dig: ["8M"], + endure: ["8M"], + facade: ["8M"], + faketears: ["8M"], + foulplay: ["8M", "8L36"], + honeclaws: ["8L8"], + howl: ["8E"], + knockoff: ["8E"], + lashout: ["8T"], + mudshot: ["8M"], + nastyplot: ["8M", "8L20"], + nightslash: ["8L28"], + playrough: ["8M"], + protect: ["8M"], + quickattack: ["8L1"], + quickguard: ["8E"], + rest: ["8M"], + round: ["8M"], + screech: ["8M"], + sleeptalk: ["8M"], + snarl: ["8M", "8L12"], + snore: ["8M"], + substitute: ["8M"], + suckerpunch: ["8L24"], + swift: ["8M"], + tailslap: ["8M", "8L32"], + tailwhip: ["8L1"], + taunt: ["8M"], + thief: ["8M"], + torment: ["8E"], + }, + }, + thievul: { + learnset: { + acrobatics: ["8M"], + agility: ["8M"], + assurance: ["8M", "8L16"], + attract: ["8M"], + batonpass: ["8M"], + beatup: ["8M", "8L1"], + burningjealousy: ["8T"], + crunch: ["8M"], + darkpulse: ["8M"], + dig: ["8M"], + endure: ["8M"], + facade: ["8M"], + faketears: ["8M"], + firefang: ["8M"], + foulplay: ["8M", "8L46"], + gigaimpact: ["8M"], + grassknot: ["8M"], + honeclaws: ["8L1"], + hyperbeam: ["8M"], + icefang: ["8M"], + lashout: ["8T"], + mudshot: ["8M"], + nastyplot: ["8M", "8L22"], + nightslash: ["8L34"], + partingshot: ["8L52"], + playrough: ["8M"], + protect: ["8M"], + psychic: ["8M"], + quickattack: ["8L1"], + rest: ["8M"], + round: ["8M"], + screech: ["8M"], + shadowball: ["8M"], + shadowclaw: ["8M"], + sleeptalk: ["8M"], + snarl: ["8M", "8L12"], + snore: ["8M"], + substitute: ["8M"], + suckerpunch: ["8L28"], + swift: ["8M"], + tailslap: ["8M", "8L40"], + tailwhip: ["8L1"], + taunt: ["8M"], + thief: ["8M", "8L0"], + thunderfang: ["8M"], + uturn: ["8M"], + }, + }, + gossifleur: { + learnset: { + aromatherapy: ["8L32"], + attract: ["8M"], + bulletseed: ["8M"], + charm: ["8M"], + endure: ["8M"], + energyball: ["8M"], + facade: ["8M"], + gigadrain: ["8M"], + grassknot: ["8M"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + growth: ["8E"], + helpinghand: ["8M"], + hypervoice: ["8M", "8L28"], + leafage: ["8L1"], + leafstorm: ["8M", "8L36"], + leaftornado: ["8L21"], + leechseed: ["8E"], + lightscreen: ["8M"], + magicalleaf: ["8M"], + poisonpowder: ["8E"], + pollenpuff: ["8M"], + protect: ["8M"], + rapidspin: ["8L4"], + razorleaf: ["8L12"], + rest: ["8M"], + round: ["8M", "8L16"], + sing: ["8L1"], + sleeppowder: ["8E"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + stunspore: ["8E"], + substitute: ["8M"], + sunnyday: ["8M"], + sweetscent: ["8L8"], + synthesis: ["8L24"], + worryseed: ["8E"], + }, + }, + eldegoss: { + learnset: { + aromatherapy: ["8L40"], + attract: ["8M"], + bulletseed: ["8M"], + charm: ["8M"], + cottonguard: ["8L52"], + cottonspore: ["8L0"], + endure: ["8M"], + energyball: ["8M"], + facade: ["8M"], + gigadrain: ["8M"], + gigaimpact: ["8M"], + grassknot: ["8M"], + grassyglide: ["8T"], + grassyterrain: ["8M"], + helpinghand: ["8M"], + hyperbeam: ["8M"], + hypervoice: ["8M", "8L34"], + leafage: ["8L1"], + leafstorm: ["8M", "8L46"], + leaftornado: ["8L23"], + lightscreen: ["8M"], + magicalleaf: ["8M"], + pollenpuff: ["8M"], + protect: ["8M"], + rapidspin: ["8L1"], + razorleaf: ["8L12"], + rest: ["8M"], + round: ["8M", "8L16"], + seedbomb: ["8M"], + sing: ["8L1"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + sweetscent: ["8L1"], + synthesis: ["8L28"], + weatherball: ["8M"], + }, + }, + wooloo: { + learnset: { + agility: ["8M"], + attract: ["8M"], + copycat: ["8L8"], + cottonguard: ["8L36"], + counter: ["8E"], + defensecurl: ["8L4"], + doubleedge: ["8L40"], + doublekick: ["8L16"], + electroball: ["8M"], + endure: ["8M"], + facade: ["8M"], + grassyglide: ["8T"], + growl: ["8L1"], + guardsplit: ["8L12"], + guardswap: ["8M", "8L28"], + headbutt: ["8L21"], + payback: ["8M"], + protect: ["8M"], + rest: ["8M"], + reversal: ["8M", "8L32"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + stomp: ["8E"], + substitute: ["8M"], + swagger: ["8E"], + tackle: ["8L1"], + takedown: ["8L25"], + thunderwave: ["8M"], + wildcharge: ["8M"], + }, + }, + dubwool: { + learnset: { + agility: ["8M"], + attract: ["8M"], + batonpass: ["8M"], + bodypress: ["8M"], + bodyslam: ["8M"], + bounce: ["8M"], + copycat: ["8L1"], + cottonguard: ["8L44"], + defensecurl: ["8L1"], + doubleedge: ["8L50"], + doublekick: ["8L16"], + electroball: ["8M"], + endure: ["8M"], + facade: ["8M"], + gigaimpact: ["8M"], + grassyglide: ["8T"], + growl: ["8L1"], + guardsplit: ["8L12"], + guardswap: ["8M", "8L32"], + headbutt: ["8L21"], + hyperbeam: ["8M"], + lastresort: ["8L56"], + megakick: ["8M"], + payback: ["8M"], + protect: ["8M"], + rest: ["8M"], + retaliate: ["8M"], + reversal: ["8M", "8L38"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + substitute: ["8M"], + swordsdance: ["8M"], + tackle: ["8L1"], + takedown: ["8L27"], + thunderwave: ["8M"], + wildcharge: ["8M"], + zenheadbutt: ["8M"], + }, + }, + chewtle: { + learnset: { + assurance: ["8M"], + attract: ["8M"], + bite: ["9L7", "8L7"], + bodyslam: ["9M", "9L49", "8M", "8L49"], + chillingwater: ["9M"], + counter: ["9L28", "8L28"], + crunch: ["9M"], + dive: ["8M"], + dragontail: ["9M", "9E", "8E"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + falseswipe: ["9M"], + gastroacid: ["9E", "8E"], + headbutt: ["9L21", "8L21"], + hydropump: ["9M", "8M"], + icefang: ["9M", "8M"], + jawlock: ["9L35", "8L35"], + liquidation: ["9M", "9L42", "8M", "8L42"], + mudshot: ["9M", "8M"], + payback: ["8M"], + poisonjab: ["9M"], + protect: ["9M", "9L14", "8M", "8L14"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + revenge: ["8M"], + round: ["8M"], + scaleshot: ["8T"], + scaryface: ["9M"], + shellsmash: ["9E"], + skittersmack: ["8T"], + skullbash: ["8E"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + stompingtantrum: ["9M"], + substitute: ["9M", "8M"], + surf: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + waterfall: ["9M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M"], + whirlpool: ["8M"], + }, + }, + drednaw: { + learnset: { + assurance: ["8M"], + attract: ["8M"], + bite: ["9L1", "8L1"], + blizzard: ["9M", "8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L57", "8M", "8L57"], + bulldoze: ["9M", "8M"], + chillingwater: ["9M"], + counter: ["9L30", "8L30"], + crunch: ["9M", "9L1", "8M", "8L1"], + dig: ["9M", "8M"], + dive: ["8M"], + dragontail: ["9M"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + falseswipe: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + headbutt: ["9L21", "8L21"], + headsmash: ["9L66", "8L66"], + highhorsepower: ["9M", "8M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + icefang: ["9M", "8M"], + icespinner: ["9M"], + irondefense: ["9M", "8M"], + irontail: ["8M"], + jawlock: ["9L39", "8L39"], + liquidation: ["9M", "9L48", "8M", "8L48"], + megahorn: ["8M"], + meteorbeam: ["8T"], + muddywater: ["8M"], + mudshot: ["9M", "8M"], + payback: ["8M"], + poisonjab: ["9M", "8M"], + protect: ["9M", "9L1", "8M", "8L1"], + raindance: ["9M", "8M"], + razorshell: ["9L1", "8M", "8L1"], + rest: ["9M", "8M"], + revenge: ["8M"], + rockblast: ["9M", "8M"], + rockpolish: ["9L1", "8L1"], + rockslide: ["9M", "8M"], + rocktomb: ["9M", "9L0", "8M", "8L0"], + round: ["8M"], + sandstorm: ["9M", "8M"], + sandtomb: ["9M", "8M"], + scald: ["8M"], + scaleshot: ["8T"], + scaryface: ["9M", "8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M"], + smartstrike: ["9M", "8M"], + snore: ["8M"], + stealthrock: ["9M", "8M"], + stompingtantrum: ["9M", "8M"], + stoneedge: ["9M", "8M"], + substitute: ["9M", "8M"], + superfang: ["9M"], + superpower: ["8M"], + surf: ["9M", "8M"], + swordsdance: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["8M"], + waterfall: ["9M", "8M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M"], + whirlpool: ["8M"], + }, + }, + yamper: { + learnset: { + attract: ["8M"], + bite: ["8L10"], + charge: ["8L35"], + charm: ["8M", "8L26"], + crunch: ["8M", "8L30"], + dig: ["8M"], + discharge: ["8E"], + doubleedge: ["8E"], + electroball: ["8M"], + endure: ["8M"], + facade: ["8M"], + firefang: ["8M"], + flamecharge: ["8E"], + helpinghand: ["8M"], + howl: ["8E"], + nuzzle: ["8L5"], + playrough: ["8M", "8L45"], + protect: ["8M"], + rest: ["8M"], + risingvoltage: ["8T"], + roar: ["8L15"], + round: ["8M"], + sandattack: ["8E"], + sleeptalk: ["8M"], + snarl: ["8M"], + snore: ["8M"], + spark: ["8L20"], + substitute: ["8M"], + swift: ["8M"], + tackle: ["8L1"], + tailwhip: ["8L1"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderfang: ["8M"], + thunderwave: ["8M"], + uproar: ["8M"], + voltswitch: ["8M"], + wildcharge: ["8M", "8L40"], + }, + }, + boltund: { + learnset: { + agility: ["8M"], + attract: ["8M"], + bite: ["8L1"], + bulkup: ["8M"], + charge: ["8L41"], + charm: ["8M", "8L28"], + crunch: ["8M", "8L34"], + dig: ["8M"], + eerieimpulse: ["8M"], + electricterrain: ["8M", "8L62"], + electrify: ["8L1"], + electroball: ["8M"], + endure: ["8M"], + facade: ["8M"], + firefang: ["8M"], + focusenergy: ["8M"], + gigaimpact: ["8M"], + helpinghand: ["8M"], + hyperbeam: ["8M"], + hypervoice: ["8M"], + nuzzle: ["8L1"], + playrough: ["8M", "8L55"], + protect: ["8M"], + psychicfangs: ["8M"], + rest: ["8M"], + risingvoltage: ["8T"], + roar: ["8L15"], + round: ["8M"], + sleeptalk: ["8M"], + snarl: ["8M"], + snore: ["8M"], + spark: ["8L20"], + substitute: ["8M"], + swift: ["8M"], + tackle: ["8L1"], + tailwhip: ["8L1"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderfang: ["8M"], + thunderwave: ["8M"], + uproar: ["8M"], + voltswitch: ["8M"], + wildcharge: ["8M", "8L48"], + }, + }, + rolycoly: { + learnset: { + ancientpower: ["9L20", "8L20"], + attract: ["8M"], + block: ["9E", "8E"], + bodyslam: ["9M"], + bulldoze: ["9M"], + dig: ["9M", "8M"], + endure: ["9M", "8M"], + explosion: ["9E", "8E"], + facade: ["9M", "8M"], + gyroball: ["9M", "8M"], + heatcrash: ["9M", "9L35", "8M", "8L35"], + incinerate: ["9L25", "8L25"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M"], + meteorbeam: ["8T"], + mudslap: ["9M", "9E", "8E"], + powergem: ["9M"], + protect: ["9M", "8M"], + rapidspin: ["9L5", "8L5"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + rockblast: ["9M", "9L40", "8M", "8L40"], + rockpolish: ["9L15", "8L15"], + rockslide: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + sandstorm: ["9M", "8M"], + sandtomb: ["9M", "8M"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M"], + smackdown: ["9M", "9L10", "8L10"], + smokescreen: ["9L1", "8L1"], + snore: ["8M"], + spikes: ["9M", "8M"], + stealthrock: ["9M", "9L30", "8M", "8L30"], + stoneedge: ["9M", "8M"], + substitute: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + willowisp: ["9M", "8M"], + }, + }, + carkol: { + learnset: { + ancientpower: ["9L20", "8L20"], + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + burnup: ["8L55"], + dig: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "9L0", "8L0"], + flamethrower: ["9M", "8M"], + flareblitz: ["9M", "8M"], + gyroball: ["9M", "8M"], + heatcrash: ["9M", "9L41", "8M", "8L41"], + heatwave: ["9M", "8M"], + heavyslam: ["9M", "8M"], + highhorsepower: ["8M"], + incinerate: ["9L27", "8L27"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M"], + meteorbeam: ["8T"], + mudslap: ["9M"], + overheat: ["9M", "8M"], + powergem: ["9M"], + protect: ["9M", "8M"], + rapidspin: ["9L1", "8L1"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + rockblast: ["9M", "9L48", "8M", "8L48"], + rockpolish: ["9L15", "8L15"], + rockslide: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + sandstorm: ["9M", "8M"], + sandtomb: ["9M", "8M"], + scald: ["9M", "8M"], + scorchingsands: ["8T"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M"], + smackdown: ["9M", "9L1", "8L1"], + smokescreen: ["9L1", "8L1"], + snore: ["8M"], + spikes: ["9M", "8M"], + stealthrock: ["9M", "9L35", "8M", "8L35"], + stoneedge: ["9M", "9L55", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + willowisp: ["9M", "8M"], + }, + }, + coalossal: { + learnset: { + ancientpower: ["9L20", "8L20"], + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M"], + burnup: ["8L63"], + dig: ["9M", "8M"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + firepunch: ["9M", "8M"], + firespin: ["9M", "8M"], + flamecharge: ["9M", "9L1", "8L1"], + flamethrower: ["9M", "8M"], + flareblitz: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gyroball: ["9M", "8M"], + heatcrash: ["9M", "9L45", "8M", "8L45"], + heatwave: ["9M", "8M"], + heavyslam: ["9M", "8M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + incinerate: ["9L27", "8L27"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + meteorbeam: ["8T"], + mudslap: ["9M"], + overheat: ["9M", "8M"], + powergem: ["9M"], + protect: ["9M", "8M"], + rapidspin: ["9L1", "8L1"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + rockblast: ["9M", "9L54", "8M", "8L54"], + rockpolish: ["9L15", "8L15"], + rockslide: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + sandstorm: ["9M", "8M"], + sandtomb: ["9M", "8M"], + scald: ["9M", "8M"], + scorchingsands: ["8T"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M"], + smackdown: ["9M", "9L1", "8L1"], + smokescreen: ["9L1", "8L1"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + spikes: ["9M", "8M"], + stealthrock: ["9M", "9L37", "8M", "8L37"], + stoneedge: ["9M", "9L63", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + tarshot: ["9L0", "8L0"], + terablast: ["9M"], + willowisp: ["9M", "8M"], + }, + }, + applin: { + learnset: { + astonish: ["9L1", "8L1"], + attract: ["8M"], + defensecurl: ["9E", "8E"], + dracometeor: ["8T"], + grassyglide: ["8T"], + pounce: ["9M"], + recycle: ["9E", "8E"], + rollout: ["9E", "8E"], + suckerpunch: ["9E", "8E"], + terablast: ["9M"], + withdraw: ["9L1", "8L1"], + }, + }, + flapple: { + learnset: { + acidspray: ["9M", "9L4", "8L4"], + acrobatics: ["9M", "9L8", "8M", "8L8"], + aerialace: ["9M"], + airslash: ["9M", "8M"], + astonish: ["9L1", "8L1"], + attract: ["8M"], + bulletseed: ["9M", "8M"], + dracometeor: ["9M", "8T"], + dragonbreath: ["9L20", "8L20"], + dragondance: ["9M", "9L24", "8M", "8L24"], + dragonpulse: ["9M", "9L28", "8M", "8L28"], + dragonrush: ["9L44", "8L44"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + facade: ["9M", "8M"], + fly: ["9M", "9L40", "8M", "8L40"], + focusenergy: ["8M"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + gravapple: ["9L32", "8L32"], + growth: ["9L1", "8L1"], + heavyslam: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + irondefense: ["9M", "9L36", "8M", "8L36"], + leafstorm: ["9M"], + leechseed: ["9L12", "8L12"], + magicalleaf: ["9M"], + outrage: ["9M", "8M"], + pounce: ["9M"], + protect: ["9M", "9L16", "8M", "8L16"], + recycle: ["9L1", "8L1"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "8M"], + seedbomb: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + trailblaze: ["9M"], + twister: ["9L1", "8L1"], + uturn: ["9M", "8M"], + wingattack: ["9L0", "8L0"], + withdraw: ["9L1", "8L1"], + }, + }, + appletun: { + learnset: { + amnesia: ["9M", "8M"], + appleacid: ["9L28", "8L28"], + astonish: ["9L1", "8L1"], + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L32", "8M", "8L32"], + bulldoze: ["9M", "8M"], + bulletseed: ["9M", "9L20", "8M", "8L20"], + curse: ["9L4", "8L4"], + dracometeor: ["9M", "8T"], + dragonpulse: ["9M", "9L40", "8M", "8L40"], + dragontail: ["9M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L44", "8M", "8L44"], + facade: ["9M", "8M"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M"], + growth: ["9L1", "8L1"], + gyroball: ["9M", "8M"], + headbutt: ["9L0", "8L0"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + irondefense: ["9M", "9L36", "8M", "8L36"], + ironhead: ["9M"], + leafstorm: ["9M"], + leechseed: ["9L12", "8L12"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M"], + outrage: ["9M", "8M"], + payback: ["8M"], + pounce: ["9M"], + protect: ["9M", "9L16", "8M", "8L16"], + raindance: ["9M"], + recover: ["9L24", "8L24"], + recycle: ["9L1", "8L1"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + seedbomb: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + stomp: ["9L8", "8L8"], + stompingtantrum: ["9M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superpower: ["8M"], + sweetscent: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + trailblaze: ["9M"], + withdraw: ["9L1", "8L1"], + zenheadbutt: ["9M"], + }, + }, + silicobra: { + learnset: { + attract: ["8M"], + belch: ["9E", "8E"], + bodyslam: ["9M"], + brutalswing: ["9L10", "8M", "8L10"], + bulldoze: ["9M", "9L15", "8M", "8L15"], + coil: ["9L45", "8L45"], + dig: ["9M", "9L30", "8M", "8L30"], + dragonrush: ["9E", "8E"], + drillrun: ["9M", "8M"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + glare: ["9L25", "8L25"], + headbutt: ["9L20", "8L20"], + lastresort: ["9E", "8E"], + minimize: ["9L5", "8L5"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "9E", "8E"], + poisontail: ["9M", "9E", "8E"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + rockblast: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + round: ["8M"], + sandattack: ["9L1", "8L1"], + sandstorm: ["9M", "9L35", "8M", "8L35"], + sandtomb: ["9M", "9L50", "8M", "8L50"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + scorchingsands: ["8T"], + screech: ["8M"], + skittersmack: ["8T"], + slam: ["9L40", "8L40"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + stealthrock: ["9M"], + stoneedge: ["9M"], + substitute: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + wrap: ["9L1", "8L1"], + }, + }, + sandaconda: { + learnset: { + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M"], + brutalswing: ["9L1", "8M", "8L1"], + bulldoze: ["9M", "9L15", "8M", "8L15"], + coil: ["9L49", "8L49"], + dig: ["9M", "9L30", "8M", "8L30"], + drillrun: ["9M", "8M"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + firefang: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + glare: ["9L25", "8L25"], + headbutt: ["9L20", "8L20"], + highhorsepower: ["9M", "8M"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M"], + minimize: ["9L1", "8L1"], + mudshot: ["9M", "8M"], + mudslap: ["9M"], + outrage: ["9M", "8M"], + poisontail: ["9M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + rockblast: ["9M", "8M"], + rockslide: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + sandattack: ["9L1", "8L1"], + sandstorm: ["9M", "9L35", "8M", "8L35"], + sandtomb: ["9M", "9L51", "8M", "8L51"], + scaleshot: ["9M", "8T"], + scaryface: ["9M"], + scorchingsands: ["8T"], + screech: ["8M"], + skittersmack: ["8T"], + skullbash: ["8L1"], + slam: ["9L42", "8L42"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + stealthrock: ["9M", "8M"], + stoneedge: ["9M", "8M"], + substitute: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + wrap: ["9L1", "8L1"], + zenheadbutt: ["9M", "8M"], + }, + }, + cramorant: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M", "9E", "8E"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + amnesia: ["9M", "9L42", "8M", "8L42"], + aquacutter: ["9E"], + aquaring: ["9E", "8E"], + assurance: ["8M"], + attract: ["8M"], + belch: ["9L1", "8L1"], + blizzard: ["9M", "8M"], + bravebird: ["9M", "8M"], + chillingwater: ["9M"], + defog: ["9E", "8E"], + dive: ["9L28", "8M", "8L28"], + drillpeck: ["9L35", "8L35"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + featherdance: ["9E", "8E"], + fly: ["9M", "8M"], + furyattack: ["9L14", "8L14"], + gigaimpact: ["9M", "8M"], + hurricane: ["9M", "8M"], + hydropump: ["9M", "9L56", "8M", "8L56"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + icywind: ["9M", "8M"], + liquidation: ["9M", "8M"], + peck: ["9L1", "8L1"], + pluck: ["9L21", "8L21"], + pounce: ["9M"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + reversal: ["9M", "8M"], + roost: ["9E", "8E"], + round: ["8M"], + scald: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spitup: ["9L1", "8L1"], + steelwing: ["8M"], + stockpile: ["9L1", "8L1"], + substitute: ["9M", "8M"], + superpower: ["8M"], + surf: ["9M", "8M"], + swallow: ["9L1", "8L1"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thrash: ["9L49", "8L49"], + throatchop: ["8M"], + uproar: ["9M", "8M"], + watergun: ["9L7", "8L7"], + waterpulse: ["9M"], + weatherball: ["9M", "8M"], + whirlpool: ["8M"], + }, + }, + arrokuda: { + learnset: { + acupressure: ["9E", "8E"], + agility: ["9M", "9L18", "8M", "8L18"], + aquajet: ["9L1", "8L1"], + assurance: ["8M"], + attract: ["8M"], + bite: ["9L12", "8L12"], + bounce: ["8M"], + brickbreak: ["9M", "8M"], + chillingwater: ["9M"], + closecombat: ["9M", "8M"], + crunch: ["9M", "9L36", "8M", "8L36"], + dive: ["9L24", "8M", "8L24"], + doubleedge: ["9L48", "8L48"], + drillrun: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + flipturn: ["9M"], + focusenergy: ["9L30", "8M"], + furyattack: ["9L6", "8L6"], + hydropump: ["9M"], + icefang: ["9M", "8M"], + laserfocus: ["8L30"], + liquidation: ["9M", "9L42", "8M", "8L42"], + nightslash: ["9E", "8E"], + peck: ["9L1", "8L1"], + poisonjab: ["8M"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + scald: ["8M"], + scaleshot: ["9M", "8T"], + slash: ["9E", "8E"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + surf: ["9M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9E", "8E"], + throatchop: ["8M"], + waterfall: ["9M", "8M"], + waterpulse: ["9M"], + whirlpool: ["8M"], + }, + }, + barraskewda: { + learnset: { + agility: ["9M", "9L18", "8M", "8L18"], + aquajet: ["9L1", "8L1"], + assurance: ["8M"], + attract: ["8M"], + bite: ["9L1", "8L1"], + blizzard: ["9M"], + bounce: ["8M"], + brickbreak: ["9M", "8M"], + chillingwater: ["9M"], + closecombat: ["9M", "8M"], + crunch: ["9M", "9L40", "8M", "8L40"], + dive: ["9L24", "8M", "8L24"], + doubleedge: ["9L56", "8L56"], + drillrun: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + flipturn: ["9M", "8T"], + focusenergy: ["9L32", "8M"], + furyattack: ["9L1", "8L1"], + gigaimpact: ["9M", "8M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M"], + icefang: ["9M", "8M"], + laserfocus: ["8L32"], + liquidation: ["9M", "9L48", "8M", "8L48"], + peck: ["9L1", "8L1"], + poisonjab: ["9M", "8M"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + scald: ["8M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + surf: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["9L1", "8M", "8L1"], + waterfall: ["9M", "8M"], + waterpulse: ["9M"], + whirlpool: ["8M"], + }, + }, + toxel: { + learnset: { + acid: ["9L1", "8L1", "8S0"], + attract: ["8M"], + belch: ["9L1", "8L1"], + charm: ["9M"], + encore: ["9M", "8M"], + endeavor: ["9E", "8E"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + flail: ["9L1", "8L1", "8S0"], + growl: ["9L1", "8L1", "8S0"], + metalsound: ["9E", "8E"], + nuzzle: ["9L1", "8L1", "8S0"], + poweruppunch: ["8E"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + tearfullook: ["9L1", "8L1"], + terablast: ["9M"], + }, + eventData: [ + {generation: 8, level: 1, isHidden: true, moves: ["nuzzle", "growl", "flail", "acid"], pokeball: "luxuryball"}, + ], + }, + toxtricity: { + learnset: { + acid: ["9L1", "8L1"], + acidspray: ["9M", "9L1", "8L1"], + attract: ["8M"], + belch: ["9L1", "8L1"], + boomburst: ["9L48", "8L48", "8S0"], + brickbreak: ["9M"], + charge: ["9M", "9L4", "8L4"], + chargebeam: ["9M"], + charm: ["9M"], + discharge: ["9L36", "8L36"], + drainpunch: ["9M", "8M"], + eerieimpulse: ["9M", "8M", "8L1"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + firepunch: ["9M", "8M"], + flail: ["9L1", "8L1"], + fling: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M", "8M"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + leer: ["9L1", "8L1"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + nobleroar: ["9L1", "8L1"], + nuzzle: ["9L1", "8L1"], + overdrive: ["9L44", "8L44", "8S0"], + payback: ["8M"], + poisonjab: ["9M", "9L40", "8M", "8L40"], + poisontail: ["9M"], + protect: ["9M", "8M"], + raindance: ["9M"], + rest: ["9M", "8M"], + risingvoltage: ["8T", "8S0"], + round: ["8M"], + scaryface: ["9M", "9L12", "8M", "8L12"], + screech: ["9L24", "8M", "8L24"], + shiftgear: ["9L52", "8L52"], + shockwave: ["9L8", "8L8"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + sludgewave: ["8M", "8S0"], + snarl: ["9M", "8M"], + snore: ["8M"], + spark: ["9L0", "8L0"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + swagger: ["9L28", "8L28"], + swift: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L16", "8M", "8L16"], + tearfullook: ["9L1", "8L1"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderfang: ["9M"], + thunderpunch: ["9M", "8M"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "8M"], + toxic: ["9M", "9L32", "8L32"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "8M"], + venoshock: ["9M", "8M", "8L20"], + voltswitch: ["9M", "8M"], + wildcharge: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 50, shiny: true, nature: "Rash", abilities: ["punkrock"], moves: ["overdrive", "sludgewave", "boomburst", "risingvoltage"], pokeball: "cherishball"}, + ], + }, + toxtricitylowkey: { + learnset: { + acid: ["9L1", "8L1"], + acidspray: ["9M", "9L1", "8L1"], + attract: ["8M"], + belch: ["9L1", "8L1"], + boomburst: ["9L48", "8L48"], + brickbreak: ["9M"], + charge: ["9M", "9L4", "8L4"], + chargebeam: ["9M"], + charm: ["9M"], + discharge: ["9L36", "8L36"], + drainpunch: ["9M", "8M"], + eerieimpulse: ["9M", "8M", "8L1"], + electricterrain: ["9M"], + electroball: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + firepunch: ["9M", "8M"], + flail: ["9L1", "8L1"], + fling: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + growl: ["9L1", "8L1"], + gunkshot: ["9M", "8M"], + helpinghand: ["9M"], + hex: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + leer: ["9L1", "8L1"], + magneticflux: ["9L52", "8L52"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M"], + nobleroar: ["9L1", "8L1"], + nuzzle: ["9L1", "8L1"], + overdrive: ["9L44", "8L44"], + payback: ["8M"], + poisonjab: ["9M", "9L40", "8M", "8L40"], + poisontail: ["9M"], + protect: ["9M", "8M"], + raindance: ["9M"], + rest: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M"], + scaryface: ["9M", "9L12", "8M", "8L12"], + screech: ["9L24", "8M", "8L24"], + shockwave: ["9L8", "8L8"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + sludgewave: ["8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + spark: ["9L0", "8L0"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + swagger: ["9L28", "8L28"], + swift: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "9L16", "8M", "8L16"], + tearfullook: ["9L1", "8L1"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderfang: ["9M"], + thunderpunch: ["9M", "8M"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "8M"], + toxic: ["9M", "9L32", "8L32"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "8M"], + venomdrench: ["8M", "8L20"], + venoshock: ["9M"], + voltswitch: ["9M", "8M"], + wildcharge: ["9M", "8M"], + }, + }, + sizzlipede: { + learnset: { + attract: ["8M"], + bite: ["8L10"], + brutalswing: ["8M"], + bugbite: ["8L20"], + bugbuzz: ["8M"], + burnup: ["8L55"], + coil: ["8L25"], + crunch: ["8M", "8L40"], + defensecurl: ["8E"], + ember: ["8L1"], + endure: ["8M"], + facade: ["8M"], + firelash: ["8L45"], + firespin: ["8M", "8L35"], + flamewheel: ["8L15"], + heatcrash: ["8M"], + heatwave: ["8M"], + knockoff: ["8E"], + leechlife: ["8M"], + lunge: ["8L50"], + powerwhip: ["8M"], + protect: ["8M"], + rest: ["8M"], + rollout: ["8E"], + round: ["8M"], + scald: ["8M"], + scorchingsands: ["8T"], + skittersmack: ["8T"], + slam: ["8L30"], + sleeptalk: ["8M"], + smokescreen: ["8L1"], + snore: ["8M"], + strugglebug: ["8E"], + substitute: ["8M"], + sunnyday: ["8M"], + venoshock: ["8M"], + wrap: ["8L5"], + }, + }, + centiskorch: { + learnset: { + attract: ["8M"], + bite: ["8L1"], + brutalswing: ["8M"], + bugbite: ["8L20"], + bugbuzz: ["8M"], + burnup: ["8L67"], + coil: ["8L25"], + crunch: ["8M", "8L46"], + ember: ["8L1"], + endure: ["8M"], + facade: ["8M"], + fireblast: ["8M"], + firefang: ["8M"], + firelash: ["8L53"], + firespin: ["8M", "8L39"], + flamethrower: ["8M"], + flamewheel: ["8L15"], + flareblitz: ["8M"], + gigaimpact: ["8M"], + heatcrash: ["8M"], + heatwave: ["8M"], + hyperbeam: ["8M"], + inferno: ["8L1"], + leechlife: ["8M"], + lunge: ["8L60"], + mysticalfire: ["8M"], + overheat: ["8M"], + powerwhip: ["8M"], + protect: ["8M"], + rest: ["8M"], + round: ["8M"], + scald: ["8M"], + scorchingsands: ["8T"], + skittersmack: ["8T"], + slam: ["8L32"], + sleeptalk: ["8M"], + smokescreen: ["8L1"], + snore: ["8M"], + solarbeam: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + thunderfang: ["8M"], + venoshock: ["8M"], + willowisp: ["8M"], + wrap: ["8L1"], + xscissor: ["8M"], + }, + }, + clobbopus: { + learnset: { + attract: ["8M"], + bind: ["8L10"], + bodyslam: ["8M"], + brickbreak: ["8M", "8L20"], + brine: ["8M"], + bulkup: ["8M", "8L25"], + circlethrow: ["8E"], + closecombat: ["8M"], + coaching: ["8T"], + detect: ["8L15"], + dive: ["8M"], + endure: ["8M"], + facade: ["8M"], + feint: ["8L5"], + focusblast: ["8M"], + icepunch: ["8M"], + leer: ["8L1"], + liquidation: ["8M"], + megapunch: ["8M"], + muddywater: ["8M"], + mudshot: ["8M"], + painsplit: ["8E"], + payback: ["8M"], + poweruppunch: ["8E"], + protect: ["8M"], + rest: ["8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["8M", "8L40"], + rocksmash: ["8L1"], + round: ["8M"], + seismictoss: ["8E"], + sleeptalk: ["8M"], + snore: ["8M"], + soak: ["8E"], + submission: ["8L30"], + substitute: ["8M"], + suckerpunch: ["8E"], + superpower: ["8M", "8L45"], + taunt: ["8M", "8L35"], + waterfall: ["8M"], + workup: ["8M"], + }, + }, + grapploct: { + learnset: { + attract: ["8M"], + bind: ["8L1"], + bodyslam: ["8M"], + brickbreak: ["8M", "8L20"], + brine: ["8M"], + brutalswing: ["8M"], + bulkup: ["8M", "8L25"], + closecombat: ["8M"], + coaching: ["8T"], + detect: ["8L15"], + dig: ["8M"], + dive: ["8M"], + drainpunch: ["8M"], + endure: ["8M"], + facade: ["8M"], + feint: ["8L1"], + focusblast: ["8M"], + gigaimpact: ["8M"], + hydropump: ["8M"], + hyperbeam: ["8M"], + icepunch: ["8M"], + leer: ["8L1"], + liquidation: ["8M"], + megapunch: ["8M"], + muddywater: ["8M"], + mudshot: ["8M"], + octazooka: ["8L1"], + octolock: ["8L0"], + payback: ["8M"], + protect: ["8M"], + rest: ["8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["8M", "8L40"], + rocksmash: ["8L1"], + round: ["8M"], + scaryface: ["8M"], + skittersmack: ["8T"], + sleeptalk: ["8M"], + snore: ["8M"], + stompingtantrum: ["8M"], + submission: ["8L30"], + substitute: ["8M"], + superpower: ["8M", "8L45"], + surf: ["8M"], + taunt: ["8M", "8L35"], + topsyturvy: ["8L50"], + waterfall: ["8M"], + whirlpool: ["8M"], + workup: ["8M"], + }, + }, + sinistea: { + learnset: { + allyswitch: ["9E", "8M"], + aromatherapy: ["8L30"], + aromaticmist: ["9L6", "8L6"], + astonish: ["9L1", "8L1"], + batonpass: ["9M", "8M"], + calmmind: ["9M"], + confuseray: ["9M"], + darkpulse: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + foulplay: ["9M", "8M"], + gigadrain: ["9M", "9L36", "8M", "8L36"], + hex: ["9M", "8M"], + imprison: ["9M", "8M"], + magicalleaf: ["9M"], + megadrain: ["9L12", "8L12"], + memento: ["9L54", "8L54"], + metronome: ["9M", "8M"], + nastyplot: ["9M", "9L42", "8M", "8L42"], + nightshade: ["9M"], + payback: ["8M"], + phantomforce: ["9M", "8M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "8L18"], + psybeam: ["9M"], + psychic: ["9M", "8M"], + psyshock: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + shadowball: ["9M", "9L48", "8M", "8L48"], + shellsmash: ["9L60", "8L60"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spite: ["9M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9L24", "8L24"], + sweetscent: ["9L30"], + terablast: ["9M"], + trick: ["9M", "8M"], + trickroom: ["9M"], + willowisp: ["9M", "8M"], + withdraw: ["9L1", "8L1"], + wonderroom: ["8M"], + }, + }, + sinisteaantique: { + learnset: { + allyswitch: ["9E"], + aromatherapy: ["8S0"], + aromaticmist: ["9L6"], + astonish: ["9L1"], + batonpass: ["9M"], + calmmind: ["9M"], + celebrate: ["8S0"], + confuseray: ["9M"], + darkpulse: ["9M"], + endure: ["9M"], + facade: ["9M"], + foulplay: ["9M"], + gigadrain: ["9M", "9L36"], + hex: ["9M"], + imprison: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L12"], + memento: ["9L54", "8S0"], + metronome: ["9M", "8S0"], + nastyplot: ["9M", "9L42"], + nightshade: ["9M"], + phantomforce: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + psybeam: ["9M"], + psychic: ["9M"], + psyshock: ["9M"], + rest: ["9M"], + shadowball: ["9M", "9L48"], + shellsmash: ["9L60"], + skillswap: ["9M"], + sleeptalk: ["9M"], + spite: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + suckerpunch: ["9L24"], + sweetscent: ["9L30"], + terablast: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + willowisp: ["9M"], + withdraw: ["9L1"], + }, + eventData: [ + {generation: 8, level: 50, isHidden: true, moves: ["memento", "metronome", "aromatherapy", "celebrate"], pokeball: "cherishball"}, + ], + }, + polteageist: { + learnset: { + allyswitch: ["8M"], + aromatherapy: ["8L30"], + aromaticmist: ["9L1", "8L1"], + astonish: ["9L1", "8L1"], + batonpass: ["9M", "8M"], + calmmind: ["9M"], + confuseray: ["9M"], + curse: ["9L66", "8L66"], + darkpulse: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + foulplay: ["9M", "8M"], + gigadrain: ["9M", "9L36", "8M", "8L36"], + gigaimpact: ["9M", "8M"], + hex: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M"], + megadrain: ["9L1", "8L1"], + memento: ["9L54", "8L54"], + metronome: ["9M", "8M"], + nastyplot: ["9M", "9L42", "8M", "8L42"], + nightshade: ["9M"], + payback: ["8M"], + phantomforce: ["9M", "8M"], + poltergeist: ["9M", "8T"], + protect: ["9M", "9L18", "8M", "8L18"], + psybeam: ["9M"], + psychic: ["9M", "8M"], + psyshock: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + selfdestruct: ["8M"], + shadowball: ["9M", "9L48", "8M", "8L48"], + shellsmash: ["9L60", "8L60"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spite: ["9M"], + storedpower: ["9M", "8M"], + strengthsap: ["9L1", "8L1"], + substitute: ["9M", "8M"], + suckerpunch: ["9L24", "8L24"], + sweetscent: ["9L30"], + teatime: ["9L0", "8L0"], + terablast: ["9M"], + trick: ["9M", "8M"], + trickroom: ["9M"], + willowisp: ["9M", "8M"], + withdraw: ["9L1", "8L1"], + wonderroom: ["8M"], + }, + }, + hatenna: { + learnset: { + afteryou: ["9E", "8E"], + aromatherapy: ["8L15"], + aromaticmist: ["9L15", "8E"], + attract: ["8M"], + batonpass: ["9M", "8M"], + calmmind: ["9M", "9L35", "8M", "8L35"], + charm: ["9M", "8M"], + confusion: ["9L1", "8L1"], + darkpulse: ["9M", "8M"], + dazzlinggleam: ["9M", "9L30", "8M", "8L30"], + disarmingvoice: ["9M", "9L10", "8L10"], + drainingkiss: ["9M", "8M"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + gigadrain: ["9M", "8M"], + healingwish: ["9L45", "8L45"], + healpulse: ["9L25", "8L25"], + helpinghand: ["9M", "8M"], + imprison: ["9M", "8M"], + lifedew: ["9L5", "8L5"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + metronome: ["9M"], + mistyterrain: ["9M"], + mysticalfire: ["9E", "8M"], + nuzzle: ["9E", "8E"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + protect: ["9M", "8M"], + psybeam: ["9M", "9L20", "8L20"], + psychic: ["9M", "9L40", "8M", "8L40"], + psychicterrain: ["9M"], + psyshock: ["9M", "8M"], + quash: ["9E", "8E"], + reflect: ["9M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + swift: ["9M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + trick: ["9M"], + trickroom: ["9M"], + }, + }, + hattrem: { + learnset: { + aromatherapy: ["8L15"], + aromaticmist: ["9L15"], + attract: ["8M"], + batonpass: ["9M", "8M"], + brutalswing: ["9L0", "8M", "8L0"], + calmmind: ["9M", "9L37", "8M", "8L37"], + charm: ["9M", "8M"], + confusion: ["9L1", "8L1"], + darkpulse: ["9M", "8M"], + dazzlinggleam: ["9M", "9L30", "8M", "8L30"], + disarmingvoice: ["9M", "9L1", "8L1"], + drainingkiss: ["9M", "8M"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + gigadrain: ["9M", "8M"], + healingwish: ["9L51", "8L51"], + healpulse: ["9L25", "8L25"], + helpinghand: ["9M", "8M"], + imprison: ["9M", "8M"], + lifedew: ["9L1", "8L1"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + metronome: ["9M"], + mistyterrain: ["9M"], + mysticalfire: ["8M"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + protect: ["9M", "8M"], + psybeam: ["9M", "9L20", "8L20"], + psychic: ["9M", "9L44", "8M", "8L44"], + psychicterrain: ["9M"], + psyshock: ["9M", "8M"], + reflect: ["9M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + swift: ["9M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + trick: ["9M"], + trickroom: ["9M"], + }, + }, + hatterene: { + learnset: { + agility: ["9M"], + aromatherapy: ["8L15"], + aromaticmist: ["9L15"], + attract: ["8M"], + batonpass: ["9M", "8M"], + brutalswing: ["9L1", "8M", "8L1"], + calmmind: ["9M", "9L37", "8M", "8L37"], + charm: ["9M", "8M"], + confusion: ["9L1", "8L1"], + darkpulse: ["9M", "8M"], + dazzlinggleam: ["9M", "9L30", "8M", "8L30"], + disarmingvoice: ["9M", "9L1", "8L1"], + drainingkiss: ["9M", "8M"], + endure: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + futuresight: ["8M"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gravity: ["9M"], + guardswap: ["8M"], + healingwish: ["9L55", "8L55"], + healpulse: ["9L25", "8L25"], + helpinghand: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + lifedew: ["9L1", "8L1"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + magicpowder: ["9L64", "8L64"], + magicroom: ["8M"], + metronome: ["9M"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M"], + mysticalfire: ["8M"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + powerswap: ["8M"], + powerwhip: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M", "9L20", "8L20"], + psychic: ["9M", "9L46", "8M", "8L46"], + psychicterrain: ["9M"], + psychocut: ["9L0", "8M", "8L0"], + psyshock: ["9M", "8M"], + reflect: ["9M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + shadowball: ["9M", "8M"], + shadowclaw: ["9M", "8M"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + swift: ["9M"], + swordsdance: ["9M", "8M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + trick: ["9M"], + trickroom: ["9M", "8M"], + wonderroom: ["8M"], + }, + }, + impidimp: { + learnset: { + assurance: ["9L16", "8M", "8L16"], + attract: ["8M"], + bite: ["9L4", "8L4"], + burningjealousy: ["9M", "8T"], + chillingwater: ["9M"], + confide: ["9L1", "8L1"], + darkpulse: ["9M", "9L33", "8M", "8L33"], + dazzlinggleam: ["9M", "8M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["9L1", "8L1"], + faketears: ["9M", "9L12", "8M", "8L12"], + flatter: ["9L8", "8L8"], + fling: ["9M"], + foulplay: ["9M", "9L44", "8M", "8L44"], + lashout: ["9M", "8T"], + leechlife: ["9M", "8M"], + lightscreen: ["9M"], + lowkick: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M", "8M"], + mistyterrain: ["9M"], + nastyplot: ["9M", "9L36", "8M", "8L36"], + partingshot: ["9E"], + playrough: ["9M", "9L40", "8M", "8L40"], + protect: ["9M", "8M"], + reflect: ["9M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + round: ["8M"], + scaryface: ["9M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9L24", "8L24"], + swagger: ["9L20", "8L20"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunderwave: ["9M", "8M"], + torment: ["9L28", "8L28"], + trailblaze: ["9M"], + trick: ["9M", "8M"], + uproar: ["8M"], + }, + }, + morgrem: { + learnset: { + assurance: ["9L16", "8M", "8L16"], + attract: ["8M"], + bite: ["9L1", "8L1"], + burningjealousy: ["9M", "8T"], + chillingwater: ["9M"], + confide: ["9L1", "8L1"], + darkpulse: ["9M", "9L35", "8M", "8L35"], + dazzlinggleam: ["9M", "8M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["9L1", "8L1"], + faketears: ["9M", "9L12", "8M", "8L12"], + falsesurrender: ["9L0", "8L0"], + flatter: ["9L1", "8L1"], + fling: ["9M"], + foulplay: ["9M", "9L52", "8M", "8L52"], + imprison: ["9M"], + lashout: ["9M", "8T"], + leechlife: ["9M", "8M"], + lightscreen: ["9M", "8M"], + lowkick: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M", "8M"], + mistyterrain: ["9M"], + nastyplot: ["9M", "9L40", "8M", "8L40"], + playrough: ["9M", "9L46", "8M", "8L46"], + protect: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + round: ["8M"], + scaryface: ["9M"], + shadowclaw: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9L24", "8L24"], + swagger: ["9L20", "8L20"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + throatchop: ["8M"], + thunderwave: ["9M", "8M"], + torment: ["9L28", "8L28"], + trailblaze: ["9M"], + trick: ["9M", "8M"], + uproar: ["8M"], + }, + }, + grimmsnarl: { + learnset: { + assurance: ["9L16", "8M", "8L16"], + attract: ["8M"], + bite: ["9L1", "8L1"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + bulkup: ["9M", "9L1", "8M", "8L1"], + burningjealousy: ["9M", "8T"], + chillingwater: ["9M"], + confide: ["9L1", "8L1"], + crunch: ["9M", "8M"], + darkestlariat: ["8M"], + darkpulse: ["9M", "9L35", "8M", "8L35"], + dazzlinggleam: ["9M", "8M"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["9L1", "8L1"], + faketears: ["9M", "9L12", "8M", "8L12"], + falsesurrender: ["9L1", "8L1"], + firepunch: ["9M", "8M"], + flatter: ["9L1", "8L1"], + fling: ["9M"], + focusblast: ["9M", "8M"], + focusenergy: ["8M"], + focuspunch: ["9M"], + foulplay: ["9M", "9L56", "8M", "8L56"], + gigaimpact: ["9M", "8M"], + hammerarm: ["9L64", "8L64"], + hyperbeam: ["9M", "8M"], + icepunch: ["9M", "8M"], + imprison: ["9M"], + lashout: ["9M", "8T"], + leechlife: ["9M", "8M"], + lightscreen: ["9M", "9S0", "8M"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M", "8M"], + mistyterrain: ["9M"], + nastyplot: ["9M", "9L40", "8M", "8L40"], + playrough: ["9M", "9L48", "8M", "8L48"], + powerswap: ["8M"], + poweruppunch: ["8L1"], + powerwhip: ["8M"], + protect: ["9M", "8M"], + reflect: ["9M", "9S0", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + round: ["8M"], + scaryface: ["9M", "8M"], + shadowclaw: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spiritbreak: ["9L0", "9S0", "8L0"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9L24", "8L24"], + superpower: ["8M"], + swagger: ["9L20", "8L20"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + throatchop: ["8M"], + thunderpunch: ["9M", "8M"], + thunderwave: ["9M", "9S0", "8M"], + torment: ["9L28", "8L28"], + trailblaze: ["9M"], + trick: ["9M", "8M"], + uproar: ["8M"], + wonderroom: ["8M"], + }, + eventData: [ + {generation: 9, level: 50, nature: "Calm", shiny: true, abilities: ["prankster"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["thunderwave", "spiritbreak", "reflect", "lightscreen"], pokeball: "cherishball"}, + ], + }, + milcery: { + learnset: { + acidarmor: ["8L30"], + aromatherapy: ["8L20"], + aromaticmist: ["8L1"], + attract: ["8M", "8L25", "8S0"], + babydolleyes: ["8E"], + celebrate: ["8S0"], + charm: ["8M"], + dazzlinggleam: ["8M", "8L35"], + drainingkiss: ["8M", "8L15"], + endure: ["8M"], + entrainment: ["8L50", "8S0"], + facade: ["8M"], + fling: ["8M"], + helpinghand: ["8M"], + lastresort: ["8E", "8S0"], + mistyterrain: ["8M", "8L45"], + protect: ["8M"], + recover: ["8L40"], + rest: ["8M"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + storedpower: ["8M"], + substitute: ["8M"], + sweetkiss: ["8L5"], + sweetscent: ["8L10"], + tackle: ["8L1"], + }, + eventData: [ + {generation: 8, level: 5, nature: "Hardy", isHidden: true, moves: ["celebrate", "lastresort", "entrainment", "attract"], pokeball: "cherishball"}, + ], + }, + alcremie: { + learnset: { + acidarmor: ["8L30"], + aromatherapy: ["8L20"], + aromaticmist: ["8L1"], + attract: ["8M", "8L25"], + calmmind: ["8M"], + charm: ["8M"], + dazzlinggleam: ["8M", "8L35"], + decorate: ["8L0"], + drainingkiss: ["8M", "8L15"], + drainpunch: ["8M"], + encore: ["8M"], + endure: ["8M"], + energyball: ["8M"], + entrainment: ["8L50"], + facade: ["8M"], + faketears: ["8M"], + fling: ["8M"], + gigadrain: ["8M"], + gigaimpact: ["8M"], + helpinghand: ["8M"], + hyperbeam: ["8M"], + imprison: ["8M"], + lightscreen: ["8M"], + magicalleaf: ["8M"], + magicroom: ["8M"], + metronome: ["8M"], + mistyexplosion: ["8T"], + mistyterrain: ["8M", "8L45"], + mysticalfire: ["8M"], + playrough: ["8M"], + protect: ["8M"], + psychic: ["8M"], + psyshock: ["8M"], + recover: ["8L40"], + rest: ["8M"], + round: ["8M"], + safeguard: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + storedpower: ["8M"], + substitute: ["8M"], + sweetkiss: ["8L1"], + sweetscent: ["8L1"], + tackle: ["8L1"], + triattack: ["8M"], + wonderroom: ["8M"], + }, + }, + falinks: { + learnset: { + agility: ["9M", "8M"], + assurance: ["8M"], + beatup: ["8M"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M"], + bulkup: ["9M", "9L20", "8M", "8L20"], + closecombat: ["9M", "9L50", "8M", "8L50"], + coaching: ["8T"], + counter: ["9L60", "8L60"], + endure: ["9M", "9L25", "8M", "8L25"], + facade: ["9M", "8M"], + falseswipe: ["9M", "8M"], + firstimpression: ["9L35", "8L35"], + focusblast: ["9M", "8M"], + focusenergy: ["9L10", "8M", "8L10"], + gigaimpact: ["9M", "8M"], + headbutt: ["9L15", "8L15"], + helpinghand: ["9M", "8M"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "8M"], + irondefense: ["9M", "9L45", "8M", "8L45"], + ironhead: ["9M", "8M"], + knockoff: ["9M"], + lunge: ["9M"], + megahorn: ["9L55", "8M", "8L55"], + noretreat: ["9L40", "8L40"], + payback: ["8M"], + poisonjab: ["9M", "8M"], + protect: ["9M", "9L1", "8M", "8L1"], + raindance: ["9M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "9L30", "8M", "8L30"], + rockslide: ["9M", "8M"], + rocksmash: ["9L5", "8L5"], + rocktomb: ["9M", "8M"], + round: ["8M"], + screech: ["8M"], + sleeptalk: ["9M", "8M"], + smartstrike: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + superpower: ["8M"], + swordsdance: ["9M", "8M"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["8M"], + trailblaze: ["9M"], + uproar: ["9M"], + zenheadbutt: ["9M", "8M"], + }, + }, + pincurchin: { + learnset: { + acupressure: ["9L55", "8L55"], + assurance: ["8M"], + attract: ["8M"], + bodyslam: ["9M"], + brine: ["8M"], + bubblebeam: ["9L25", "8L25"], + charge: ["9M", "9L10", "8L10"], + chargebeam: ["9M"], + chillingwater: ["9M"], + curse: ["9L35", "8L35"], + discharge: ["9L60", "8L60"], + electricterrain: ["9M", "9L40", "8M", "8L40"], + electroball: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + furyattack: ["9L15", "8L15"], + gigaimpact: ["9M"], + hex: ["9M", "8M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M"], + liquidation: ["9M", "8M"], + memento: ["9E", "8E"], + muddywater: ["8M"], + payback: ["8M"], + peck: ["9L1", "8L1"], + pinmissile: ["8M"], + poisonjab: ["9M", "9L45", "8M", "8L45"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + recover: ["9L30", "8L30"], + rest: ["9M", "8M"], + reversal: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M"], + scald: ["9M", "8M"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spark: ["9L20", "8L20"], + spikes: ["9M", "8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9E", "8E"], + surf: ["9M", "8M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "8M"], + toxicspikes: ["9M", "8M"], + venomdrench: ["8M"], + venoshock: ["9M", "8M"], + watergun: ["9L5", "8L5"], + wildcharge: ["9M"], + zingzap: ["9L50", "8L50"], + }, + }, + snom: { + learnset: { + attract: ["8M"], + bugbite: ["9M", "9E", "8E"], + bugbuzz: ["9M", "8M"], + endure: ["8M"], + facade: ["9M", "8M"], + fairywind: ["9E", "8E"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M"], + lunge: ["9M"], + mirrorcoat: ["9E", "8E"], + pounce: ["9M"], + powdersnow: ["9L1", "8L1"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + strugglebug: ["9M", "9L1", "8L1"], + substitute: ["9M", "8M"], + terablast: ["9M"], + }, + }, + frosmoth: { + learnset: { + acrobatics: ["9M", "8M"], + airslash: ["9M", "8M"], + attract: ["9L1", "8M", "8L1"], + aurorabeam: ["9L24", "8L24"], + auroraveil: ["9L36", "8L36"], + avalanche: ["9M", "8M"], + blizzard: ["9M", "9L40", "8M", "8L40"], + bugbite: ["9M"], + bugbuzz: ["9M", "9L32", "8M", "8L32"], + calmmind: ["9M", "8M"], + dazzlinggleam: ["9M", "8M"], + defog: ["9L16", "8L16"], + dualwingbeat: ["8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + featherdance: ["9L21", "8L21"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + hail: ["8M", "8L28"], + helpinghand: ["9M", "9L1", "8M", "8L1"], + hurricane: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + icespinner: ["9M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L0", "8M", "8L0"], + imprison: ["9M", "8M"], + infestation: ["9L8", "8L8"], + leechlife: ["9M", "8M"], + lightscreen: ["9M", "8M"], + lunge: ["9M"], + mist: ["9L12", "8L12"], + playrough: ["9M", "8M"], + pounce: ["9M"], + powdersnow: ["9L1", "8L1"], + protect: ["9M", "8M"], + quiverdance: ["9L52", "8L52"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + snowscape: ["9M", "9L28"], + strugglebug: ["9M", "9L1", "8L1"], + stunspore: ["9L4", "8L4"], + substitute: ["9M", "8M"], + swift: ["9M"], + tailwind: ["9M", "9L44", "8L44"], + takedown: ["9M"], + terablast: ["9M"], + tripleaxel: ["8T"], + uturn: ["9M", "8M"], + weatherball: ["9M", "8M"], + wideguard: ["9L48", "8L48"], + }, + }, + stonjourner: { + learnset: { + ancientpower: ["9E", "8E"], + assurance: ["8M"], + attract: ["8M"], + block: ["9L1", "8L1"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L42", "8M", "8L42"], + brutalswing: ["8M"], + bulldoze: ["9M", "8M"], + curse: ["9E", "8E"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gravity: ["9M", "9L18", "8L18"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "9L54", "8M", "8L54"], + highhorsepower: ["9M"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "8M"], + lowkick: ["9M"], + lowsweep: ["9M"], + megakick: ["9L66", "8M", "8L66"], + meteorbeam: ["8T"], + powergem: ["9M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + rockblast: ["9M", "8M"], + rockpolish: ["9L6", "8L6"], + rockslide: ["9M", "9L36", "8M", "8L36"], + rockthrow: ["9L1", "8L1"], + rocktomb: ["9M", "9L12", "8M", "8L12"], + round: ["8M"], + safeguard: ["8M"], + sandstorm: ["9M", "8M"], + sandtomb: ["9M", "8M"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M"], + smackdown: ["9M"], + snore: ["8M"], + stealthrock: ["9M", "9L30", "8M", "8L30"], + stomp: ["9L24", "8L24"], + stompingtantrum: ["9M", "8M"], + stoneedge: ["9M", "9L60", "8M", "8L60"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + superpower: ["8M"], + takedown: ["9M"], + terablast: ["9M"], + wideguard: ["9L48", "8L48"], + wonderroom: ["8M"], + }, + }, + eiscue: { + learnset: { + agility: ["9M", "8M"], + amnesia: ["9M", "9L30", "8M", "8L30"], + aquaring: ["9E", "8E"], + attract: ["8M"], + auroraveil: ["9L48", "8L48"], + avalanche: ["9M", "8M"], + bellydrum: ["9E", "8E"], + blizzard: ["9M", "9L60", "8M", "8L60"], + bodyslam: ["9M"], + brine: ["8M"], + chillingwater: ["9M"], + dive: ["8M"], + doubleedge: ["9E", "8E"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + flipturn: ["9M"], + freezedry: ["9L36", "8L36"], + gigaimpact: ["9M"], + hail: ["8M", "8L42"], + headbutt: ["9L24", "8L24"], + headsmash: ["9E", "8E"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M"], + icebeam: ["9M", "8M"], + icepunch: ["9M", "8M"], + icespinner: ["9M"], + iciclecrash: ["9E", "8E"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "9L18", "8M", "8L18"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M"], + liquidation: ["9M", "8M"], + mist: ["9L6", "8L6"], + powdersnow: ["9L1", "8L1"], + protect: ["9M", "8M"], + raindance: ["9M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + reversal: ["9M", "8M"], + round: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + snowscape: ["9M", "9L42"], + soak: ["9E", "8E"], + substitute: ["9M", "8M"], + surf: ["9M", "9L54", "8M", "8L54"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + waterfall: ["9M", "8M"], + waterpulse: ["9M"], + weatherball: ["9M", "9L12", "8M", "8L12"], + whirlpool: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + }, + indeedee: { + learnset: { + afteryou: ["9L25", "8L25"], + allyswitch: ["8M"], + aromatherapy: ["8L30"], + attract: ["8M"], + bodyslam: ["9M"], + calmmind: ["9M", "9L40", "8M", "8L40"], + dazzlinggleam: ["9M", "8M"], + disarmingvoice: ["9M", "9L10", "8L10"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M"], + encore: ["9M", "9L5", "8M", "8L5"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + expandingforce: ["8T"], + extrasensory: ["9E", "8E"], + facade: ["9M", "8M"], + fakeout: ["9E", "8E"], + futuresight: ["8M"], + gravity: ["9M"], + healingwish: ["9L30"], + helpinghand: ["9M", "9L20", "8M", "8L20"], + hypervoice: ["9M", "8M"], + imprison: ["9M", "8M"], + lastresort: ["9L55", "8L55"], + magicalleaf: ["9M", "8M"], + magicroom: ["8M"], + metronome: ["9M", "8M"], + mysticalfire: ["8M"], + payday: ["8M"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + powersplit: ["9L45", "8L45"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M", "9L15", "8L15"], + psychic: ["9M", "9L35", "8M", "8L35"], + psychicterrain: ["9M", "9L50", "8M", "8L50"], + psychup: ["9E", "8E"], + psyshock: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + shadowball: ["9M", "8M"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + storedpower: ["9M", "9L1", "8M", "8L1"], + substitute: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + triattack: ["8M"], + trick: ["9M", "8M"], + trickroom: ["9M", "8M"], + wonderroom: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + }, + indeedeef: { + learnset: { + allyswitch: ["8M"], + aromatherapy: ["8L30"], + attract: ["8M"], + batonpass: ["9M", "9L5", "8M", "8L5"], + bodyslam: ["9M"], + calmmind: ["9M", "9L40", "8M", "8L40"], + charm: ["9M"], + dazzlinggleam: ["9M", "8M"], + disarmingvoice: ["9M", "9L10", "8L10"], + drainingkiss: ["9M", "8M"], + drainpunch: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + fakeout: ["9E", "8E"], + followme: ["9L25", "8L25"], + futuresight: ["8M"], + guardsplit: ["9L45", "8L45"], + guardswap: ["8M"], + healingwish: ["9L30", "8L55"], + healpulse: ["9E", "8E"], + helpinghand: ["9M", "9L20", "8M", "8L20"], + hypervoice: ["9M", "9S0", "8M"], + imprison: ["9M", "8M"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + metronome: ["9M", "8M"], + mysticalfire: ["8M"], + payday: ["8M"], + playnice: ["9L1", "8L1"], + playrough: ["9M", "8M"], + protect: ["9M", "8M"], + psybeam: ["9M", "9L15", "8L15"], + psychic: ["9M", "9L35", "9S0", "8M", "8L35"], + psychicterrain: ["9M", "9L50", "8M", "8L50"], + psychoshift: ["8E"], + psychup: ["9E", "8E"], + psyshock: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + shadowball: ["9M", "9S0", "8M"], + skillswap: ["9M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + storedpower: ["9M", "9L1", "8M", "8L1"], + substitute: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + trick: ["9M", "8M"], + trickroom: ["9M", "9S0"], + zenheadbutt: ["9M", "8M"], + }, + eventData: [ + {generation: 9, level: 75, shiny: 1, perfectIVs: 4, moves: ["psychic", "hypervoice", "shadowball", "trickroom"]}, + ], + }, + morpeko: { + learnset: { + agility: ["9M", "9L40", "8M", "8L40"], + assurance: ["8M"], + attract: ["8M"], + aurawheel: ["9L55", "8L55"], + batonpass: ["9M"], + bite: ["9L25", "8L25"], + brickbreak: ["9M", "8M"], + bulletseed: ["9M", "9L45", "8M", "8L45"], + charge: ["9M", "9E", "8E"], + chargebeam: ["9M"], + crunch: ["9M", "9L50", "8M", "8L50"], + darkpulse: ["9M", "8M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "8M"], + electroweb: ["8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fakeout: ["9E", "8E"], + faketears: ["9M", "8M"], + firefang: ["9M", "8M"], + flatter: ["9L20", "8L20"], + fling: ["9M", "8M"], + foulplay: ["9M", "8M"], + icefang: ["9M", "8M"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + leer: ["9L5", "8L5"], + nastyplot: ["9M", "8M"], + outrage: ["9M", "8M"], + partingshot: ["9E", "8E"], + payback: ["8M"], + powertrip: ["9L10", "8L10"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + quash: ["9E", "8E"], + quickattack: ["9L15", "8L15"], + rapidspin: ["9E", "8E"], + rest: ["9M", "8M"], + revenge: ["8M"], + reversal: ["9M"], + risingvoltage: ["8T"], + round: ["8M"], + scaryface: ["9M", "8M"], + seedbomb: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + spark: ["9L30", "8L30"], + spite: ["9M"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + superfang: ["9M", "9E", "8E"], + swagger: ["9E", "8E"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thrash: ["9L60", "8L60"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderfang: ["9M", "8M"], + thunderpunch: ["9M", "8M"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "8M"], + tickle: ["9E", "8E"], + torment: ["9L35", "8L35"], + uproar: ["9M", "8M"], + voltswitch: ["9M", "8M"], + wildcharge: ["9M", "8M"], + }, + }, + cufant: { + learnset: { + attract: ["8M"], + belch: ["9E", "8E"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + brutalswing: ["8M"], + bulldoze: ["9M", "9L15", "8M", "8L15"], + curse: ["9E", "8E"], + defensecurl: ["9E", "8E"], + dig: ["9M", "9L30", "8M", "8L30"], + doubleedge: ["9E", "8E"], + earthpower: ["9M", "8M"], + earthquake: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fissure: ["9E", "8E"], + flashcannon: ["9M"], + fling: ["9M", "8M"], + growl: ["9L1", "8L1"], + heavyslam: ["9M"], + highhorsepower: ["9M", "9L50", "8M", "8L50"], + irondefense: ["9M", "9L25", "8M", "8L25"], + ironhead: ["9M", "9L40", "8M", "8L40"], + megakick: ["8M"], + mudshot: ["9M", "8M"], + playrough: ["9M", "9L45", "8M", "8L45"], + powerwhip: ["8M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + rockblast: ["9M", "8M"], + rockslide: ["9M", "8M"], + rocksmash: ["9L10", "8L10"], + rocktomb: ["9M", "8M"], + rollout: ["9L5", "8L5"], + round: ["8M"], + sandstorm: ["9M"], + screech: ["8M"], + slam: ["9E", "8E"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + stealthrock: ["9M", "8M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + stomp: ["9L20", "8L20"], + stompingtantrum: ["9M", "8M"], + stoneedge: ["9M"], + strength: ["9L35", "8L35"], + substitute: ["9M", "8M"], + superpower: ["9L55", "8M", "8L55"], + swagger: ["9E", "8E"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + terablast: ["9M"], + whirlwind: ["9E", "8E"], + workup: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + }, + copperajah: { + learnset: { + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + brutalswing: ["8M"], + bulldoze: ["9M", "9L15", "8M", "8L15"], + dig: ["9M", "9L30", "8M", "8L30"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + flashcannon: ["9M", "8M"], + fling: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + growl: ["9L1", "8L1"], + heatcrash: ["9M", "8M"], + heavyslam: ["9M", "9L0", "8M", "8L0"], + highhorsepower: ["9M", "9L58", "8M", "8L58"], + hyperbeam: ["9M", "8M"], + irondefense: ["9M", "9L25", "8M", "8L25"], + ironhead: ["9M", "9L44", "8M", "8L44"], + knockoff: ["9M"], + megakick: ["8M"], + mudshot: ["9M", "8M"], + outrage: ["9M", "8M"], + payback: ["8M"], + playrough: ["9M", "9L51", "8M", "8L51"], + powerwhip: ["8M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + revenge: ["8M"], + rockblast: ["9M", "8M"], + rockslide: ["9M", "8M"], + rocksmash: ["9L1", "8L1"], + rocktomb: ["9M", "8M"], + rollout: ["9L1", "8L1"], + round: ["8M"], + sandstorm: ["9M"], + scaryface: ["8M"], + screech: ["8M"], + sleeptalk: ["9M", "8M"], + smackdown: ["9M"], + snarl: ["9M", "8M"], + snore: ["8M"], + stealthrock: ["9M", "8M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + stomp: ["9L20", "8L20"], + stompingtantrum: ["9M", "8M"], + stoneedge: ["9M", "8M"], + strength: ["9L37", "8L37"], + substitute: ["9M", "8M"], + superpower: ["9L65", "8M", "8L65"], + tackle: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + workup: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + }, + dracozolt: { + learnset: { + aerialace: ["8L14"], + ancientpower: ["8L21"], + bodyslam: ["8M"], + boltbeak: ["8L63"], + breakingswipe: ["8M"], + brutalswing: ["8M"], + bulldoze: ["8M"], + charge: ["8L7", "8S0"], + discharge: ["8L56"], + dracometeor: ["8T"], + dragonclaw: ["8M"], + dragonpulse: ["8M", "8L70"], + dragonrush: ["8L77"], + dragontail: ["8L35"], + earthpower: ["8M"], + earthquake: ["8M"], + electroball: ["8M"], + endure: ["8M"], + facade: ["8M"], + fireblast: ["8M"], + firefang: ["8M"], + firespin: ["8M"], + flamethrower: ["8M"], + gigaimpact: ["8M"], + highhorsepower: ["8M"], + hyperbeam: ["8M"], + irontail: ["8M"], + lowkick: ["8M"], + megakick: ["8M"], + megapunch: ["8M"], + meteorbeam: ["8T"], + outrage: ["8M"], + pluck: ["8L28"], + protect: ["8M"], + raindance: ["8M"], + rest: ["8M"], + risingvoltage: ["8T"], + rockblast: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + slam: ["8L49"], + sleeptalk: ["8M"], + snore: ["8M"], + stomp: ["8L42"], + stompingtantrum: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + sunnyday: ["8M"], + tackle: ["8L1", "8S0"], + taunt: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderfang: ["8M"], + thunderpunch: ["8M"], + thundershock: ["8L1", "8S0"], + thunderwave: ["8M"], + wildcharge: ["8M"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["tackle", "thundershock", "charge"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + arctozolt: { + learnset: { + ancientpower: ["8L21"], + avalanche: ["8M", "8L35"], + blizzard: ["8M", "8L77"], + bodyslam: ["8M"], + boltbeak: ["8L63"], + bulldoze: ["8M"], + charge: ["8L7", "8S0"], + discharge: ["8L56"], + echoedvoice: ["8L14"], + electroball: ["8M"], + endure: ["8M"], + facade: ["8M"], + freezedry: ["8L42"], + gigaimpact: ["8M"], + hail: ["8M"], + hydropump: ["8M"], + hyperbeam: ["8M"], + hypervoice: ["8M"], + icebeam: ["8M"], + icefang: ["8M"], + iciclecrash: ["8L70"], + iciclespear: ["8M"], + icywind: ["8M"], + irontail: ["8M"], + lowkick: ["8M"], + megakick: ["8M"], + megapunch: ["8M"], + meteorbeam: ["8T"], + payback: ["8M"], + pluck: ["8L28"], + powdersnow: ["8L1", "8S0"], + protect: ["8M"], + raindance: ["8M"], + rest: ["8M"], + risingvoltage: ["8T"], + rockblast: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + slam: ["8L49"], + sleeptalk: ["8M"], + snore: ["8M"], + stompingtantrum: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + surf: ["8M"], + taunt: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderfang: ["8M"], + thunderpunch: ["8M"], + thundershock: ["8L1", "8S0"], + thunderwave: ["8M"], + wildcharge: ["8M"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["powdersnow", "thundershock", "charge"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + dracovish: { + learnset: { + ancientpower: ["8L21"], + bite: ["8L28"], + bodyslam: ["8M"], + brine: ["8M"], + brutalswing: ["8M", "8L14"], + bulldoze: ["8M"], + crunch: ["8M", "8L56"], + dive: ["8M"], + dracometeor: ["8T"], + dragonbreath: ["8L35"], + dragonpulse: ["8M", "8L70"], + dragonrush: ["8L77", "8S1"], + earthpower: ["8M"], + earthquake: ["8M"], + endure: ["8M"], + facade: ["8M"], + fishiousrend: ["8L63", "8S1"], + gigaimpact: ["8M"], + hydropump: ["8M"], + hyperbeam: ["8M"], + icefang: ["8M", "8S1"], + ironhead: ["8M"], + leechlife: ["8M"], + liquidation: ["8M"], + lowkick: ["8M"], + megakick: ["8M"], + meteorbeam: ["8T"], + outrage: ["8M"], + protect: ["8M", "8L7", "8S0"], + psychicfangs: ["8M"], + raindance: ["8M"], + rest: ["8M"], + rockblast: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + scald: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + stomp: ["8L42"], + stompingtantrum: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + superfang: ["8L49"], + surf: ["8M"], + tackle: ["8L1", "8S0"], + waterfall: ["8M"], + watergun: ["8L1", "8S1", "8S0"], + whirlpool: ["8M"], + zenheadbutt: ["8M"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["tackle", "watergun", "protect"], pokeball: "pokeball"}, + {generation: 8, level: 80, nature: "Naive", abilities: ["strongjaw"], ivs: {hp: 30, atk: 31, def: 31, spa: 30, spd: 30, spe: 31}, moves: ["fishiousrend", "dragonrush", "icefang", "watergun"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + arctovish: { + learnset: { + ancientpower: ["8L21"], + auroraveil: ["8L35"], + avalanche: ["8M"], + bite: ["8L28"], + blizzard: ["8M", "8L77"], + bodyslam: ["8M"], + brine: ["8M"], + crunch: ["8M", "8L56"], + dive: ["8M"], + endure: ["8M"], + facade: ["8M"], + fishiousrend: ["8L63"], + freezedry: ["8L42"], + gigaimpact: ["8M"], + hail: ["8M"], + hydropump: ["8M"], + hyperbeam: ["8M"], + icebeam: ["8M"], + icefang: ["8M"], + iciclecrash: ["8L70"], + iciclespear: ["8M"], + icywind: ["8M", "8L14"], + irondefense: ["8M"], + ironhead: ["8M"], + liquidation: ["8M"], + meteorbeam: ["8T"], + powdersnow: ["8L1", "8S0"], + protect: ["8M", "8L7", "8S0"], + psychicfangs: ["8M"], + raindance: ["8M"], + rest: ["8M"], + rockblast: ["8M"], + rockslide: ["8M"], + rocktomb: ["8M"], + round: ["8M"], + sleeptalk: ["8M"], + snore: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + superfang: ["8L49"], + surf: ["8M"], + waterfall: ["8M"], + watergun: ["8L1", "8S0"], + whirlpool: ["8M"], + zenheadbutt: ["8M"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["powdersnow", "watergun", "protect"], pokeball: "pokeball"}, + ], + eventOnly: true, + }, + duraludon: { + learnset: { + attract: ["8M"], + bodypress: ["8M"], + bodyslam: ["8M"], + breakingswipe: ["8M", "8L24"], + brickbreak: ["8M"], + darkpulse: ["8M"], + dracometeor: ["8T"], + dragonclaw: ["8M", "8L48"], + dragonpulse: ["8M"], + dragontail: ["8L30"], + endure: ["8M"], + facade: ["8M"], + flashcannon: ["8M", "8L54"], + foulplay: ["8M"], + gigaimpact: ["8M"], + gyroball: ["8M"], + heavyslam: ["8M"], + honeclaws: ["8L12"], + hyperbeam: ["8M", "8L66"], + irondefense: ["8M", "8L36"], + ironhead: ["8M"], + laserfocus: ["8L42"], + leer: ["8L1"], + lightscreen: ["8M"], + metalburst: ["8L60"], + metalclaw: ["8L1"], + metalsound: ["8L18"], + mirrorcoat: ["8E"], + nightslash: ["8E"], + outrage: ["8M"], + protect: ["8M"], + reflect: ["8M"], + rest: ["8M"], + rockslide: ["8M"], + rocksmash: ["8L6"], + rocktomb: ["8M"], + round: ["8M"], + scaryface: ["8M"], + screech: ["8M"], + slash: ["8E"], + sleeptalk: ["8M"], + snarl: ["8M"], + snore: ["8M"], + solarbeam: ["8M"], + stealthrock: ["8M"], + steelbeam: ["8T"], + steelroller: ["8T"], + stompingtantrum: ["8M"], + stoneedge: ["8M"], + substitute: ["8M"], + swordsdance: ["8M"], + thunder: ["8M"], + thunderbolt: ["8M"], + thunderwave: ["8M"], + }, + }, + dreepy: { + learnset: { + astonish: ["9L1", "8L1"], + attract: ["8M"], + batonpass: ["9M", "8M"], + bite: ["9L1", "8L1"], + confuseray: ["9M", "9E", "8E"], + curse: ["9E", "8E"], + disable: ["9E", "8E"], + doubleteam: ["9E", "8E"], + dracometeor: ["9M", "8T"], + dragontail: ["9M", "9E", "8E"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + grudge: ["8E"], + helpinghand: ["9M", "8M"], + infestation: ["9L1", "8L1"], + protect: ["9M", "8M"], + quickattack: ["9L1", "8L1"], + rest: ["9M", "8M"], + round: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9E", "8E"], + swift: ["9M", "8M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + }, + }, + drakloak: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "9L24", "8M", "8L24"], + allyswitch: ["8M"], + assurance: ["9L12", "8M", "8L12"], + astonish: ["9L1", "8L1"], + attract: ["8M"], + batonpass: ["9M", "8M"], + beatup: ["8M"], + bite: ["9L1", "8L1"], + breakingswipe: ["8M"], + brine: ["8M"], + confuseray: ["9M"], + dive: ["8M"], + doubleedge: ["9L66", "8L66"], + doublehit: ["9L30", "8L30"], + dracometeor: ["9M", "8T"], + dragondance: ["9M", "9L42", "8M", "8L42"], + dragonpulse: ["9M", "9L0", "8M", "8L0"], + dragonrush: ["9L61", "8L61"], + dragontail: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + flamethrower: ["9M", "8M"], + helpinghand: ["9M", "8M"], + hex: ["9M", "9L18", "8M", "8L18"], + hydropump: ["9M", "8M"], + infestation: ["9L1", "8L1"], + lastresort: ["9L72", "8L72"], + lightscreen: ["9M"], + lockon: ["9L6", "8L6"], + nightshade: ["9M"], + outrage: ["9M", "8M"], + phantomforce: ["9M", "9L48", "8M", "8L48"], + pounce: ["9M"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + quickattack: ["9L1", "8L1"], + reflect: ["9M"], + rest: ["9M", "8M"], + round: ["8M"], + scald: ["8M"], + shadowball: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + steelwing: ["8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + surf: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M", "9L54", "8L54"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderwave: ["9M", "8M"], + uturn: ["9M", "9L36", "8M", "8L36"], + willowisp: ["9M", "8M"], + }, + }, + dragapult: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "9L24", "8M", "8L24"], + allyswitch: ["8M"], + assurance: ["9L12", "8M", "8L12"], + astonish: ["9L1", "8L1"], + attract: ["8M"], + batonpass: ["9M", "8M"], + beatup: ["8M"], + bite: ["9L1", "8L1"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + brine: ["8M"], + confuseray: ["9M"], + dive: ["8M"], + doubleedge: ["9L70", "8L70"], + doublehit: ["9L30", "8L30"], + dracometeor: ["9M", "8T"], + dragonbreath: ["9L1", "8L1"], + dragonclaw: ["9M", "8M"], + dragondance: ["9M", "9L42", "8M", "8L42"], + dragondarts: ["9L0", "9S0", "8L0"], + dragonpulse: ["9M", "8M"], + dragonrush: ["9L63", "8L63"], + dragontail: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + flamethrower: ["9M", "8M"], + fly: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + helpinghand: ["9M", "8M"], + hex: ["9M", "9L18", "8M", "8L18"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + infestation: ["9L1", "8L1"], + lastresort: ["9L78", "8L78"], + lightscreen: ["9M", "8M"], + lockon: ["9L6", "8L6"], + nightshade: ["9M"], + outrage: ["9M", "8M"], + phantomforce: ["9M", "9L48", "9S0", "8M", "8L48"], + pounce: ["9M"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + quickattack: ["9L1", "8L1"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + scald: ["8M"], + shadowball: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + steelwing: ["8M"], + substitute: ["9M", "8M"], + suckerpunch: ["8L1"], + sunnyday: ["9M"], + surf: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M", "9L54", "8L54"], + terablast: ["9M", "9S0"], + thief: ["9M", "8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderwave: ["9M", "8M"], + triattack: ["8M"], + uturn: ["9M", "9L36", "9S0", "8M", "8L36"], + willowisp: ["9M", "8M"], + }, + eventData: [ + {generation: 9, level: 50, gender: "M", nature: "Jolly", perfectIVs: 6, abilities: ["clearbody"], moves: ["dragondarts", "phantomforce", "uturn", "terablast"], pokeball: "cherishball"}, + ], + }, + zacian: { + learnset: { + agility: ["9M", "8M"], + airslash: ["9M", "8M"], + assurance: ["8M"], + bite: ["9L1", "8L1"], + bodyslam: ["9M"], + brickbreak: ["9M", "8M"], + brutalswing: ["8M"], + closecombat: ["9M", "9L77", "8M", "8L77"], + crunch: ["9M", "9L55", "8M", "8L55", "8S0"], + dazzlinggleam: ["9M"], + dig: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + falseswipe: ["9M", "8M"], + firefang: ["9M", "8M"], + flashcannon: ["9M"], + focusblast: ["9M", "8M"], + focusenergy: ["8M"], + gigaimpact: ["9M", "9L88", "8M", "8L88"], + helpinghand: ["9M", "8M"], + howl: ["9L1", "8L1"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + icefang: ["9M", "8M"], + imprison: ["9M", "8M"], + irondefense: ["9M"], + ironhead: ["9M", "9L33", "8M", "8L33", "8S0", "8S1"], + irontail: ["8M"], + laserfocus: ["8L44"], + metalclaw: ["9M", "9L1", "8L1"], + mistyterrain: ["9M"], + moonblast: ["9L66", "8L66"], + nobleroar: ["9L44"], + playrough: ["9M", "8M", "8S1"], + poisonjab: ["9M"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + psychocut: ["8M"], + quickattack: ["9L1", "8L1"], + quickguard: ["9L1", "8L1"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + round: ["8M"], + sacredsword: ["9L1", "8L1", "8S0", "8S1"], + scaryface: ["9M", "8M"], + slash: ["9L11", "8L11"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + solarblade: ["9M", "8M"], + steelbeam: ["9M", "8T"], + substitute: ["9M", "8M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L22", "8M", "8L22", "8S0", "8S1"], + tailslap: ["8M"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + trailblaze: ["9M"], + wildcharge: ["9M", "8M"], + workup: ["8M"], + }, + eventData: [ + {generation: 8, level: 70, perfectIVs: 3, moves: ["sacredsword", "swordsdance", "ironhead", "crunch"]}, + {generation: 8, level: 100, shiny: true, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 30, spd: 31, spe: 31}, moves: ["ironhead", "playrough", "swordsdance", "sacredsword"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + zaciancrowned: { + learnset: { + behemothblade: ["9R", "8R"], + }, + eventOnly: true, + }, + zamazenta: { + learnset: { + agility: ["9M", "8M"], + bite: ["9L1", "8L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + closecombat: ["9M", "9L77", "8M", "8L77", "8S1"], + coaching: ["8T"], + crunch: ["9M", "9L55", "8M", "8L55", "8S0"], + dazzlinggleam: ["9M", "8M"], + dig: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + firefang: ["9M", "8M"], + flashcannon: ["9M", "8M"], + focusblast: ["9M", "8M"], + focusenergy: ["8M"], + gigaimpact: ["9M", "9L88", "8M", "8L88"], + guardswap: ["8M"], + heavyslam: ["9M"], + helpinghand: ["9M", "8M"], + howl: ["9L1", "8L1"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + icefang: ["9M", "8M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "9L22", "8M", "8L22", "8S0", "8S1"], + ironhead: ["9M", "9L33", "8M", "8L33", "8S0", "8S1"], + irontail: ["8M"], + laserfocus: ["8L44"], + lightscreen: ["9M", "8M"], + metalburst: ["9L44", "8L1"], + metalclaw: ["9M", "9L1", "8L1"], + moonblast: ["9L66", "8L66"], + payback: ["8M"], + playrough: ["9M", "8M"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psychicfangs: ["9M", "8M"], + quickattack: ["9L1", "8L1"], + raindance: ["9M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + roar: ["9M"], + round: ["8M"], + safeguard: ["8M"], + sandstorm: ["9M"], + scaryface: ["9M", "8M"], + slash: ["9L11", "8L11", "8S0"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + steelbeam: ["9M", "8T"], + stoneedge: ["9M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + swift: ["9M", "8M"], + tailslap: ["8M"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + trailblaze: ["9M"], + wideguard: ["9L1", "8L1", "8S1"], + wildcharge: ["9M", "8M"], + workup: ["8M"], + }, + eventData: [ + {generation: 8, level: 70, perfectIVs: 3, moves: ["slash", "crunch", "ironhead", "irondefense"]}, + {generation: 8, level: 100, shiny: true, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 30, spd: 31, spe: 31}, moves: ["ironhead", "closecombat", "irondefense", "wideguard"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + zamazentacrowned: { + learnset: { + behemothbash: ["9R", "8R"], + }, + eventOnly: true, + }, + eternatus: { + learnset: { + agility: ["9M", "9L1", "8M", "8L1"], + assurance: ["8M"], + bodyslam: ["9M"], + brutalswing: ["8M"], + confuseray: ["9M", "9L1", "8L1"], + cosmicpower: ["9L64", "8M", "8L64"], + crosspoison: ["9L32", "8M", "8L32", "8S0"], + dracometeor: ["9M", "8T"], + dragondance: ["9M", "9L24", "8M", "8L24"], + dragonpulse: ["9M", "9L40", "8M", "8L40", "8S0"], + dragontail: ["9M", "9L1", "8L1"], + dynamaxcannon: ["9L56", "8L56", "8S1", "8S0"], + endure: ["9M", "8M"], + eternabeam: ["8L88", "8S1"], + facade: ["9M", "8M"], + fireblast: ["9M"], + firespin: ["9M"], + flamethrower: ["9M", "9L48", "8M", "8L48", "8S1", "8S0"], + flashcannon: ["9M", "8M"], + fly: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + gravity: ["9M"], + gunkshot: ["9M"], + hyperbeam: ["9M", "9L80", "8M", "8L80"], + lightscreen: ["9M", "8M"], + meteorbeam: ["8T"], + mysticalfire: ["8M"], + outrage: ["9M", "9L88"], + payback: ["8M"], + poisonjab: ["9M", "8M"], + poisontail: ["9M", "9L1", "8L1"], + protect: ["9M", "8M"], + raindance: ["9M"], + recover: ["9L72", "8L72"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "8M"], + screech: ["8M"], + shadowball: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M", "8S1"], + sludgewave: ["8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9L8", "8L8"], + toxicspikes: ["9M", "8M"], + venomdrench: ["8M"], + venoshock: ["9M", "9L16", "8M", "8L16"], + }, + eventData: [ + {generation: 8, level: 60, perfectIVs: 3, moves: ["crosspoison", "dragonpulse", "flamethrower", "dynamaxcannon"]}, + {generation: 8, level: 100, shiny: true, nature: "Timid", perfectIVs: 6, moves: ["eternabeam", "dynamaxcannon", "sludgebomb", "flamethrower"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + kubfu: { + learnset: { + acrobatics: ["9M", "8M"], + aerialace: ["9M", "9L12", "8L12"], + attract: ["8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "9L24", "8M", "8L24"], + bulkup: ["9M", "9L32", "8M", "8L32"], + closecombat: ["9M", "9L48", "8M", "8L48"], + coaching: ["8T"], + counter: ["9L44", "8L44"], + detect: ["9L28", "8L28"], + dig: ["9M", "8M"], + dynamicpunch: ["9L40", "8L40"], + endure: ["9M", "9L4", "8M", "8L4", "8S0"], + facade: ["9M", "8M"], + firepunch: ["9M", "8M"], + fling: ["9M"], + focusenergy: ["9L8", "8M", "8L8", "8S0"], + focuspunch: ["9M", "9L52", "8L52"], + headbutt: ["9L20", "8L20"], + helpinghand: ["9M", "8M"], + icepunch: ["9M", "8M"], + ironhead: ["9M", "9L36", "8M", "8L36"], + leer: ["9L1", "8L1", "8S0"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rocksmash: ["9L1", "8L1", "8S0"], + round: ["8M"], + scaryface: ["9M", "9L16", "8M", "8L16"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + superpower: ["8M"], + swordsdance: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M", "8M"], + uturn: ["9M", "8M"], + workup: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 10, perfectIVs: 3, moves: ["rocksmash", "leer", "endure", "focusenergy"]}, + ], + eventOnly: true, + }, + urshifu: { + learnset: { + acrobatics: ["9M", "8M"], + aerialace: ["9M", "9L12", "8L12"], + assurance: ["8M"], + attract: ["8M"], + aurasphere: ["9M", "8M"], + beatup: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "9L24", "8M", "8L24"], + bulkup: ["9M", "9L32", "8M", "8L32"], + closecombat: ["9M", "9L48", "8M", "8L48"], + coaching: ["8T"], + counter: ["9L44", "8L44"], + crunch: ["9M", "8M"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M"], + detect: ["9L28", "8L28"], + dig: ["9M", "8M"], + drainpunch: ["9M", "8M"], + dynamicpunch: ["9L40", "8L40"], + endure: ["9M", "9L1", "8M", "8L1"], + facade: ["9M", "8M"], + falseswipe: ["9M", "8M"], + firepunch: ["9M", "8M"], + fling: ["9M", "8M"], + focusblast: ["9M", "8M"], + focusenergy: ["9L1", "8M", "8L1"], + focuspunch: ["9M", "9L52", "8L52"], + foulplay: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + headbutt: ["9L20", "8L20"], + helpinghand: ["9M", "8M"], + icepunch: ["9M", "8M"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "9L36", "8M", "8L36"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + metalclaw: ["9M"], + payback: ["8M"], + poisonjab: ["9M", "8M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + roar: ["9M"], + rockslide: ["9M", "8M"], + rocksmash: ["9L1", "8L1"], + rocktomb: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "9L16", "8M", "8L16"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + stoneedge: ["9M", "8M"], + substitute: ["9M", "8M"], + suckerpunch: ["9L1", "8L1"], + superpower: ["8M"], + swift: ["9M", "8M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + throatchop: ["8M"], + thunderpunch: ["9M", "8M"], + trailblaze: ["9M"], + uturn: ["9M", "8M"], + wickedblow: ["9L0", "8L0"], + workup: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + }, + urshifurapidstrike: { + learnset: { + acrobatics: ["9M", "8M"], + aerialace: ["9M", "9L12", "8L12"], + aquajet: ["9L1", "8L1"], + attract: ["8M"], + aurasphere: ["9M", "8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "9L24", "8M", "8L24"], + brine: ["8M"], + bulkup: ["9M", "9L32", "8M", "8L32"], + chillingwater: ["9M"], + closecombat: ["9M", "9L48", "8M", "8L48"], + coaching: ["8T"], + counter: ["9L44", "8L44"], + detect: ["9L28", "8L28"], + dig: ["9M", "8M"], + dive: ["8M"], + drainpunch: ["9M", "8M"], + dynamicpunch: ["9L40", "8L40"], + endure: ["9M", "9L1", "8M", "8L1"], + facade: ["9M", "8M"], + falseswipe: ["9M", "8M"], + firepunch: ["9M", "8M"], + fling: ["9M"], + focusblast: ["9M", "8M"], + focusenergy: ["9L1", "8M", "8L1"], + focuspunch: ["9M", "9L52", "8L52"], + gigaimpact: ["9M", "8M"], + headbutt: ["9L20", "8L20"], + helpinghand: ["9M", "8M"], + icepunch: ["9M", "8M"], + icespinner: ["9M"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "9L36", "8M", "8L36"], + leer: ["9L1", "8L1"], + liquidation: ["9M", "8M"], + lowkick: ["9M", "8M"], + lowsweep: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + poisonjab: ["9M", "8M"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rockslide: ["9M", "8M"], + rocksmash: ["9L1", "8L1"], + rocktomb: ["9M", "8M"], + round: ["8M"], + scald: ["8M"], + scaryface: ["9M", "9L16", "8M", "8L16"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + stoneedge: ["9M", "8M"], + substitute: ["9M", "8M"], + superpower: ["8M"], + surgingstrikes: ["9L0", "8L0"], + swift: ["9M", "8M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thunderpunch: ["9M", "8M"], + trailblaze: ["9M"], + uturn: ["9M", "8M"], + waterfall: ["9M", "8M"], + whirlpool: ["8M"], + workup: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + }, + zarude: { + learnset: { + acrobatics: ["9M", "8M"], + aerialace: ["9M"], + assurance: ["8M"], + bind: ["9L1", "8L1"], + bite: ["9L42", "8L42"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + brutalswing: ["8M"], + bulkup: ["9M", "8M"], + bulletseed: ["9M", "8M"], + closecombat: ["9M", "8M", "8S0"], + crunch: ["9M", "8M"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M"], + dig: ["9M", "8M"], + drainpunch: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L60", "8M", "8L60"], + facade: ["9M", "8M"], + fling: ["9M", "8M"], + focuspunch: ["9M"], + furyswipes: ["9L24", "8L24"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "9L36", "8M", "8L36"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L18", "8L18"], + hammerarm: ["9L72", "8L72"], + helpinghand: ["9M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + irontail: ["8M"], + junglehealing: ["9L90", "8L90"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + leafstorm: ["9M"], + leer: ["9L6", "8L6"], + lowkick: ["9M", "8M"], + lowsweep: ["9M"], + magicalleaf: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + mudshot: ["9M", "8M"], + nastyplot: ["9M", "8M"], + payback: ["8M"], + powerwhip: ["9L84", "8M", "8L84", "8S0"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + revenge: ["8M"], + roar: ["9M"], + rockslide: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "9L30", "8M", "8L30"], + scratch: ["9L1", "8L1"], + seedbomb: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M", "8S0"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + solarblade: ["9M", "8M"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superpower: ["8M"], + swagger: ["9L54", "8L54", "8S0"], + swift: ["9M", "8M"], + swordsdance: ["9M"], + synthesis: ["9L66", "8L66"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thrash: ["9L78", "8L78"], + throatchop: ["8M"], + trailblaze: ["9M"], + uturn: ["9M", "9L48", "8M", "8L48"], + vinewhip: ["9L12", "8L12"], + }, + eventData: [ + {generation: 8, level: 60, nature: "Sassy", moves: ["closecombat", "powerwhip", "swagger", "snarl"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + zarudedada: { + learnset: { + acrobatics: ["9M", "8M"], + aerialace: ["9M"], + assurance: ["8M"], + bind: ["9L1", "8L1"], + bite: ["9L42", "8L42"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M"], + brutalswing: ["8M"], + bulkup: ["9M", "8M"], + bulletseed: ["9M", "8M"], + closecombat: ["9M", "8M"], + crunch: ["9M", "8M"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M"], + dig: ["9M", "8M"], + drainpunch: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L60", "8M", "8L60", "8S0"], + facade: ["9M", "8M"], + fling: ["9M", "8M"], + focuspunch: ["9M"], + furyswipes: ["9L24", "8L24"], + gigadrain: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "9L36", "8M", "8L36"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L18", "8L18"], + hammerarm: ["9L72", "8L72", "8S0"], + helpinghand: ["9M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + irontail: ["8M"], + junglehealing: ["9L90", "8L90", "8S0"], + knockoff: ["9M"], + lashout: ["9M", "8T"], + leafstorm: ["9M"], + leer: ["9L6", "8L6"], + lowkick: ["9M", "8M"], + lowsweep: ["9M"], + magicalleaf: ["9M", "8M"], + megakick: ["8M"], + megapunch: ["8M"], + mudshot: ["9M", "8M"], + nastyplot: ["9M", "8M"], + payback: ["8M"], + powerwhip: ["9L84", "8M", "8L84", "8S0"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + revenge: ["8M"], + roar: ["9M"], + rockslide: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "9L30", "8M", "8L30"], + scratch: ["9L1", "8L1"], + seedbomb: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + solarblade: ["9M", "8M"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superpower: ["8M"], + swagger: ["9L54", "8L54"], + swift: ["9M", "8M"], + swordsdance: ["9M"], + synthesis: ["9L66", "8L66"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thrash: ["9L78", "8L78"], + throatchop: ["8M"], + trailblaze: ["9M"], + uturn: ["9M", "9L48", "8M", "8L48"], + vinewhip: ["9L12", "8L12"], + }, + eventData: [ + {generation: 8, level: 70, nature: "Adamant", moves: ["junglehealing", "hammerarm", "powerwhip", "energyball"], pokeball: "cherishball"}, + ], + eventOnly: true, + }, + regieleki: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "8M"], + ancientpower: ["9L12", "8L12"], + assurance: ["8M"], + bodyslam: ["9M", "8M"], + bounce: ["8M"], + charge: ["9M"], + chargebeam: ["9M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "8M"], + electroweb: ["9L6", "8M", "8L6"], + endure: ["9M", "8M"], + explosion: ["9L78", "8L78"], + extremespeed: ["9L30", "8L30"], + facade: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + hyperbeam: ["9M", "9L72", "8M", "8L72"], + lightscreen: ["9M", "8M"], + lockon: ["9L60", "8L60", "8S0"], + magnetrise: ["9L48", "8L48"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + rapidspin: ["9L1", "8L1"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + risingvoltage: ["8T"], + round: ["8M"], + screech: ["8M"], + selfdestruct: ["8M"], + shockwave: ["9L18", "8L18"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L54", "8L54", "8S0"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "9L42", "8M", "8L42"], + thundercage: ["9L36", "8L36", "8S0"], + thundershock: ["9L1", "8L1"], + thunderwave: ["9M", "9L24", "8M", "8L24"], + voltswitch: ["9M", "8M"], + wildcharge: ["9M", "8M"], + zapcannon: ["9L66", "8L66", "8S0"], + }, + eventData: [ + {generation: 8, level: 70, shiny: 1, moves: ["thundercage", "thrash", "lockon", "zapcannon"]}, + ], + eventOnly: true, + }, + regidrago: { + learnset: { + ancientpower: ["9L12", "8L12"], + bite: ["9L6", "8L6"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + crunch: ["9M", "9L30", "8M", "8L30"], + dracometeor: ["9M", "8T"], + dragonbreath: ["9L18", "8L18"], + dragonclaw: ["9M", "9L36", "8M", "8L36", "8S0"], + dragondance: ["9M", "9L48", "8M", "8L48"], + dragonenergy: ["9L66", "8L66", "8S0"], + dragonpulse: ["9M", "8M"], + earthpower: ["9M"], + earthquake: ["9M"], + endure: ["9M", "8M"], + explosion: ["9L78", "8L78"], + facade: ["9M", "8M"], + firefang: ["9M", "8M"], + focusenergy: ["9L60", "8M", "8L24"], + gigaimpact: ["9M", "8M"], + hammerarm: ["9L42", "8L42", "8S0"], + hyperbeam: ["9M", "9L72", "8M", "8L72"], + icefang: ["9M"], + laserfocus: ["8L60", "8S0"], + lightscreen: ["9M", "8M"], + outrage: ["9M", "8M"], + protect: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + reversal: ["9M", "8M"], + round: ["8M"], + scaleshot: ["9M", "8T"], + selfdestruct: ["8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + substitute: ["9M", "8M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L54", "8L54"], + thunderfang: ["9M", "8M"], + twister: ["9L1", "8L1"], + visegrip: ["9L1", "8L1"], + }, + eventData: [ + {generation: 8, level: 70, shiny: 1, moves: ["dragonenergy", "dragonclaw", "hammerarm", "laserfocus"]}, + ], + eventOnly: true, + }, + glastrier: { + learnset: { + assurance: ["8M"], + avalanche: ["9M", "9L12", "8M", "8L12"], + blizzard: ["9M", "8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M"], + closecombat: ["9M", "8M"], + crunch: ["9M", "8M"], + doubleedge: ["9L66", "8L66", "8S0"], + doublekick: ["9L6", "8L6"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + hail: ["8M"], + heavyslam: ["9M", "8M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + iciclecrash: ["9L36", "8L36", "8S0"], + iciclespear: ["8M"], + icywind: ["9M", "8M"], + irondefense: ["9M", "9L48", "8M", "8L48"], + lashout: ["9M", "8T"], + megahorn: ["8M"], + mist: ["9L30", "8L30"], + mudshot: ["9M", "8M"], + outrage: ["9M", "8M"], + payback: ["8M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + roar: ["9M"], + round: ["8M"], + scaryface: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + smartstrike: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + snowscape: ["9M"], + stomp: ["9L18", "8L18"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + superpower: ["8M"], + swordsdance: ["9M", "9L72", "8M", "8L72", "8S0"], + tackle: ["9L1", "8L1"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M", "9L42", "8L42"], + taunt: ["9M", "9L60", "8M", "8L60", "8S0"], + terablast: ["9M"], + thrash: ["9L54", "8L54"], + throatchop: ["8M"], + torment: ["9L24", "8L24"], + trailblaze: ["9M"], + uproar: ["8M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 8, level: 75, moves: ["taunt", "doubleedge", "swordsdance", "iciclecrash"]}, + ], + eventOnly: true, + }, + spectrier: { + learnset: { + agility: ["9M", "9L48", "8M", "8L48"], + assurance: ["8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M"], + calmmind: ["9M", "8M"], + confuseray: ["9M", "9L24", "8L24"], + crunch: ["9M", "8M"], + darkpulse: ["9M", "8M"], + disable: ["9L60", "8L60", "8S0"], + doubleedge: ["9L66", "8L66", "8S0"], + doublekick: ["9L6", "8L6"], + drainingkiss: ["9M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + foulplay: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + haze: ["9M", "9L30", "8L30"], + hex: ["9M", "9L12", "8M", "8L12"], + hyperbeam: ["9M", "8M"], + lashout: ["9M", "8T"], + mudshot: ["9M", "8M"], + nastyplot: ["9M", "9L72", "8M", "8L72", "8S0"], + nightshade: ["9M"], + payback: ["8M"], + phantomforce: ["9M", "8M"], + poltergeist: ["9M"], + protect: ["9M", "8M"], + psychic: ["9M"], + psychocut: ["8M"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "8M"], + shadowball: ["9M", "9L36", "8M", "8L36"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + stomp: ["9L18", "8L18"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + swift: ["9M", "8M"], + tackle: ["9L1", "8L1"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M", "9L42", "8L42"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thrash: ["9L54", "8L54", "8S0"], + uproar: ["8M"], + willowisp: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 75, moves: ["thrash", "doubleedge", "disable", "nastyplot"]}, + ], + eventOnly: true, + }, + calyrex: { + learnset: { + agility: ["9M", "8M"], + allyswitch: ["8M"], + aromatherapy: ["8L40"], + batonpass: ["9M", "8M"], + bodypress: ["9M"], + bulletseed: ["9M", "8M"], + calmmind: ["9M", "8M"], + confusion: ["9L1", "8L1"], + drainingkiss: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L48", "8M", "8L48"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + futuresight: ["9L88", "8M", "8L88"], + gigadrain: ["9M", "9L16", "8M", "8L16", "8S0"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + grassyterrain: ["9M", "9L40", "8M"], + gravity: ["9M"], + growth: ["9L1", "8L1"], + guardswap: ["8M"], + healpulse: ["9L72", "8L72"], + helpinghand: ["9M", "9L32", "8M", "8L32"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + leafstorm: ["9M", "8M"], + leechseed: ["9L64", "8L64"], + lifedew: ["9L8", "8L8"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + magicroom: ["8M"], + megadrain: ["9L1", "8L1"], + metronome: ["9M", "8M"], + mudshot: ["9M"], + payday: ["8M"], + pollenpuff: ["9M", "8M"], + pound: ["9L1", "8L1"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M"], + psychic: ["9M", "9L56", "8M", "8L56", "8S0"], + psychicterrain: ["9M", "9L40", "8M"], + psyshock: ["9M", "9L24", "8M", "8L24"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + scaryface: ["9M"], + seedbomb: ["9M", "8M"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snarl: ["9M"], + snore: ["8M"], + solarbeam: ["9M", "9L80", "8M", "8L80"], + solarblade: ["9M", "8M"], + speedswap: ["8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swift: ["9M", "8M"], + takedown: ["9M"], + terablast: ["9M"], + triattack: ["8M"], + trick: ["9M", "8M"], + trickroom: ["9M", "8M"], + wonderroom: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 80, moves: ["psychic", "gigadrain"]}, + ], + eventOnly: true, + }, + calyrexice: { + learnset: { + agility: ["9M", "8M"], + allyswitch: ["8M"], + aromatherapy: ["8L40"], + assurance: ["8M"], + avalanche: ["9M", "9L1", "8M", "8L1"], + batonpass: ["9M", "8M"], + blizzard: ["9M", "8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M"], + bulletseed: ["9M", "8M"], + calmmind: ["9M", "8M"], + closecombat: ["9M", "8M"], + confusion: ["9L1", "8L1"], + crunch: ["9M", "8M"], + doubleedge: ["9L1", "8L1"], + doublekick: ["9L1", "8L1"], + drainingkiss: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L48", "8M", "8L48"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + futuresight: ["9L88", "8M", "8L88"], + gigadrain: ["9M", "9L16", "8M", "8L16", "8S0"], + gigaimpact: ["9M", "8M"], + glaciallance: ["9L1", "8L1", "8S0"], + grassknot: ["9M", "8M"], + grassyterrain: ["9M", "9L40", "8M"], + gravity: ["9M"], + growth: ["9L1", "8L1"], + guardswap: ["8M"], + hail: ["8M"], + healpulse: ["9L72", "8L72"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M", "9L32", "8M", "8L32"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icebeam: ["9M", "8M"], + iciclecrash: ["9L1", "8L1"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "9L1", "8M", "8L1", "8S0"], + lashout: ["9M", "8T"], + leafstorm: ["9M", "8M"], + leechseed: ["9L64", "8L64"], + lifedew: ["9L8", "8L8"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + magicroom: ["8M"], + megadrain: ["9L1", "8L1"], + megahorn: ["8M"], + metronome: ["9M", "8M"], + mist: ["9L1", "8L1"], + mudshot: ["9M", "8M"], + outrage: ["9M", "8M"], + payback: ["8M"], + payday: ["8M"], + pollenpuff: ["9M", "8M"], + pound: ["9L1", "8L1"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M"], + psychic: ["9M", "9L56", "8M", "8L56", "8S0"], + psychicterrain: ["9M", "9L40", "8M"], + psyshock: ["9M", "9L24", "8M", "8L24"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + roar: ["9M"], + round: ["8M"], + safeguard: ["8M"], + scaryface: ["9M", "8M"], + seedbomb: ["9M", "8M"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + smartstrike: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + snowscape: ["9M"], + solarbeam: ["9M", "9L80", "8M", "8L80"], + solarblade: ["9M", "8M"], + speedswap: ["8M"], + stomp: ["9L1", "8L1"], + stompingtantrum: ["9M", "8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superpower: ["8M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L1", "8M", "8L1"], + tackle: ["9L1", "8L1"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M", "9L1", "8L1"], + taunt: ["9M", "9L1", "8M", "8L1"], + terablast: ["9M"], + thrash: ["9L1", "8L1"], + throatchop: ["8M"], + torment: ["9L1", "8L1"], + trailblaze: ["9M"], + triattack: ["8M"], + trick: ["9M", "8M"], + trickroom: ["9M", "8M"], + uproar: ["8M"], + wonderroom: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 80, moves: ["glaciallance", "psychic", "irondefense", "gigadrain"]}, + ], + eventOnly: true, + }, + calyrexshadow: { + learnset: { + agility: ["9M", "9L1", "8M", "8L1", "8S0"], + allyswitch: ["8M"], + aromatherapy: ["8L40"], + assurance: ["8M"], + astralbarrage: ["9L1", "8L1", "8S0"], + batonpass: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M"], + bulletseed: ["9M", "8M"], + calmmind: ["9M", "8M"], + confuseray: ["9M", "9L1", "8L1"], + confusion: ["9L1", "8L1"], + crunch: ["9M", "8M"], + darkpulse: ["9M", "8M"], + disable: ["9L1", "8L1"], + doubleedge: ["9L1", "8L1"], + doublekick: ["9L1", "8L1"], + drainingkiss: ["9M", "8M"], + encore: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L48", "8M", "8L48"], + expandingforce: ["8T"], + facade: ["9M", "8M"], + foulplay: ["9M", "8M"], + futuresight: ["9L88", "8M", "8L88"], + gigadrain: ["9M", "9L16", "8M", "8L16", "8S0"], + gigaimpact: ["9M", "8M"], + grassknot: ["9M", "8M"], + grassyterrain: ["9M", "9L40", "8M"], + gravity: ["9M"], + growth: ["9L1", "8L1"], + guardswap: ["8M"], + haze: ["9M", "9L1", "8L1"], + healpulse: ["9L72", "8L72"], + helpinghand: ["9M", "9L32", "8M", "8L32"], + hex: ["9M", "9L1", "8M", "8L1"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + lashout: ["9M", "8T"], + leafstorm: ["9M", "8M"], + leechseed: ["9L64", "8L64"], + lifedew: ["9L8", "8L8"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + magicroom: ["8M"], + megadrain: ["9L1", "8L1"], + metronome: ["9M", "8M"], + mudshot: ["9M", "8M"], + nastyplot: ["9M", "9L1", "8M", "8L1"], + nightshade: ["9M"], + payback: ["8M"], + payday: ["8M"], + phantomforce: ["9M", "8M"], + pollenpuff: ["9M", "8M"], + pound: ["9L1", "8L1"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psybeam: ["9M"], + psychic: ["9M", "9L56", "8M", "8L56", "8S0"], + psychicterrain: ["9M", "9L40", "8M"], + psychocut: ["8M"], + psyshock: ["9M", "9L24", "8M", "8L24"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["8M"], + scaryface: ["9M", "8M"], + seedbomb: ["9M", "8M"], + shadowball: ["9M", "9L1", "8M", "8L1"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "9L80", "8M", "8L80"], + solarblade: ["9M", "8M"], + speedswap: ["8M"], + stomp: ["9L1", "8L1"], + stompingtantrum: ["9M", "8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swift: ["9M", "8M"], + tackle: ["9L1", "8L1"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M", "9L1", "8L1"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thrash: ["9L1", "8L1"], + triattack: ["8M"], + trick: ["9M", "8M"], + trickroom: ["9M", "8M"], + uproar: ["8M"], + willowisp: ["9M", "8M"], + wonderroom: ["8M"], + zenheadbutt: ["9M", "8M"], + }, + eventData: [ + {generation: 8, level: 80, moves: ["astralbarrage", "psychic", "agility", "gigadrain"]}, + ], + eventOnly: true, + }, + enamorus: { + learnset: { + agility: ["9M"], + astonish: ["9L1"], + bodyslam: ["9M"], + calmmind: ["9M"], + dazzlinggleam: ["9M", "9L40"], + disarmingvoice: ["9M"], + drainingkiss: ["9M", "9L20"], + earthpower: ["9M"], + endure: ["9M"], + extrasensory: ["9L45"], + facade: ["9M"], + fairywind: ["9L1"], + flatter: ["9L10"], + fly: ["9M"], + focusblast: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M"], + healingwish: ["9L60"], + hyperbeam: ["9M"], + imprison: ["9M", "9L30"], + irondefense: ["9M", "9L25"], + ironhead: ["9M"], + mistyexplosion: ["9M"], + mistyterrain: ["9M"], + moonblast: ["9L65"], + mysticalfire: ["9L35"], + outrage: ["9M", "9L70"], + playrough: ["9M"], + protect: ["9M"], + psychic: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + springtidestorm: ["9L75"], + substitute: ["9M"], + sunnyday: ["9M"], + superpower: ["9L55"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + torment: ["9L5"], + twister: ["9L15"], + uproar: ["9M", "9L50"], + weatherball: ["9M"], + zenheadbutt: ["9M"], + }, + }, + enamorustherian: { + learnset: { + agility: ["9M"], + astonish: ["9L1"], + bodyslam: ["9M"], + calmmind: ["9M"], + dazzlinggleam: ["9M", "9L40"], + disarmingvoice: ["9M"], + drainingkiss: ["9M", "9L20"], + earthpower: ["9M"], + endure: ["9M"], + extrasensory: ["9L45"], + facade: ["9M"], + fairywind: ["9L1"], + flatter: ["9L10"], + fly: ["9M"], + focusblast: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M"], + healingwish: ["9L60"], + hyperbeam: ["9M"], + imprison: ["9M", "9L30"], + irondefense: ["9M", "9L25"], + ironhead: ["9M"], + mistyexplosion: ["9M"], + mistyterrain: ["9M"], + moonblast: ["9L65"], + mysticalfire: ["9L35"], + outrage: ["9M", "9L70"], + playrough: ["9M"], + protect: ["9M"], + psychic: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + springtidestorm: ["9L75"], + substitute: ["9M"], + sunnyday: ["9M"], + superpower: ["9L55"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + torment: ["9L5"], + twister: ["9L15"], + uproar: ["9M", "9L50"], + weatherball: ["9M"], + zenheadbutt: ["9M"], + }, + }, + sprigatito: { + learnset: { + acrobatics: ["9M"], + agility: ["9M"], + allyswitch: ["9E"], + bite: ["9L7"], + bulletseed: ["9M"], + charm: ["9M"], + copycat: ["9E"], + disarmingvoice: ["9M"], + endure: ["9M"], + energyball: ["9M", "9L32"], + facade: ["9M"], + faketears: ["9M"], + gigadrain: ["9M"], + grassknot: ["9M"], + grasspledge: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + helpinghand: ["9M"], + honeclaws: ["9L10"], + leafage: ["9L1"], + leafstorm: ["9M"], + leechseed: ["9E"], + magicalleaf: ["9M", "9L13"], + mudslap: ["9M"], + nastyplot: ["9M"], + petalblizzard: ["9E"], + playrough: ["9M", "9L36"], + protect: ["9M"], + quickattack: ["9L15"], + rest: ["9M"], + scratch: ["9L1"], + seedbomb: ["9M", "9L17"], + shadowclaw: ["9M"], + slash: ["9L28"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + substitute: ["9M"], + suckerpunch: ["9E"], + swift: ["9M"], + tailwhip: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "9L21"], + worryseed: ["9L25"], + }, + }, + floragato: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M"], + bite: ["9L7"], + bulletseed: ["9M"], + charm: ["9M"], + disarmingvoice: ["9M"], + endure: ["9M"], + energyball: ["9M", "9L38"], + facade: ["9M"], + faketears: ["9M"], + fling: ["9M"], + gigadrain: ["9M"], + grassknot: ["9M"], + grasspledge: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + helpinghand: ["9M"], + honeclaws: ["9L10"], + leafage: ["9L1"], + leafstorm: ["9M", "9L46"], + lowkick: ["9M"], + lowsweep: ["9M"], + magicalleaf: ["9M", "9L13"], + mudslap: ["9M"], + nastyplot: ["9M"], + playrough: ["9M", "9L42"], + protect: ["9M"], + quickattack: ["9L15"], + rest: ["9M"], + scratch: ["9L1"], + seedbomb: ["9M", "9L20"], + shadowclaw: ["9M"], + slash: ["9L33"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + substitute: ["9M"], + swift: ["9M"], + tailwhip: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "9L24"], + worryseed: ["9L28"], + }, + }, + meowscarada: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M"], + aurasphere: ["9M"], + bite: ["9L7"], + brickbreak: ["9M"], + bulletseed: ["9M"], + charm: ["9M"], + chillingwater: ["9M"], + darkpulse: ["9M"], + disarmingvoice: ["9M"], + doubleteam: ["9M", "9L1"], + endure: ["9M"], + energyball: ["9M", "9L42"], + facade: ["9M"], + faketears: ["9M"], + fling: ["9M"], + flowertrick: ["9L0"], + foulplay: ["9M"], + frenzyplant: ["9M"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grasspledge: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M", "9L58"], + helpinghand: ["9M"], + honeclaws: ["9L10"], + hyperbeam: ["9M"], + knockoff: ["9M", "9L52"], + lashout: ["9M"], + leafage: ["9L1"], + leafstorm: ["9M", "9L64"], + lowkick: ["9M"], + lowsweep: ["9M"], + magicalleaf: ["9M", "9L13"], + mudslap: ["9M"], + nastyplot: ["9M"], + nightslash: ["9L38"], + playrough: ["9M", "9L47"], + pollenpuff: ["9M"], + powergem: ["9M"], + protect: ["9M"], + quickattack: ["9L15"], + rest: ["9M"], + scratch: ["9L1"], + seedbomb: ["9M", "9L20"], + shadowball: ["9M"], + shadowclaw: ["9M"], + skillswap: ["9M"], + slash: ["9L33"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spikes: ["9M"], + substitute: ["9M"], + swift: ["9M"], + tailwhip: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderpunch: ["9M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + trick: ["9M", "9L1"], + trickroom: ["9M"], + uturn: ["9M", "9L24"], + worryseed: ["9L29"], + }, + }, + fuecoco: { + learnset: { + belch: ["9E"], + bite: ["9L12"], + bodyslam: ["9M"], + crunch: ["9M"], + curse: ["9E"], + dig: ["9M"], + disarmingvoice: ["9M"], + ember: ["9L1"], + encore: ["9M", "9E"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M", "9L36"], + firefang: ["9M"], + firepledge: ["9M"], + firespin: ["9M"], + flamecharge: ["9M"], + flamethrower: ["9M", "9L28"], + flareblitz: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + hypervoice: ["9M", "9L32"], + incinerate: ["9L15"], + leer: ["9L1"], + mudslap: ["9M"], + outrage: ["9M"], + overheat: ["9M"], + protect: ["9M"], + rest: ["9M"], + roar: ["9M", "9L25"], + round: ["9L7"], + seedbomb: ["9M"], + slackoff: ["9E"], + sleeptalk: ["9M"], + snarl: ["9M", "9L21"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + willowisp: ["9M"], + yawn: ["9L17"], + zenheadbutt: ["9M"], + }, + }, + crocalor: { + learnset: { + bite: ["9L12"], + bodyslam: ["9M"], + crunch: ["9M"], + dig: ["9M"], + disarmingvoice: ["9M"], + ember: ["9L1"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M", "9L47"], + firefang: ["9M"], + firepledge: ["9M"], + firespin: ["9M"], + flamecharge: ["9M"], + flamethrower: ["9M", "9L32"], + flareblitz: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + hypervoice: ["9M", "9L38"], + incinerate: ["9L17"], + leer: ["9L1"], + lick: ["9L7"], + mudslap: ["9M"], + outrage: ["9M"], + overheat: ["9M"], + protect: ["9M"], + rest: ["9M"], + roar: ["9M", "9L28"], + round: ["9L10"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M", "9L24"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + willowisp: ["9M", "9L42"], + yawn: ["9L15"], + zenheadbutt: ["9M"], + }, + }, + skeledirge: { + learnset: { + bite: ["9L15"], + blastburn: ["9M"], + bodyslam: ["9M"], + crunch: ["9M"], + dig: ["9M"], + disarmingvoice: ["9M"], + earthpower: ["9M"], + earthquake: ["9M"], + ember: ["9L1"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M", "9L58"], + firefang: ["9M"], + firepledge: ["9M"], + firespin: ["9M"], + flamecharge: ["9M"], + flamethrower: ["9M", "9L32"], + flareblitz: ["9M"], + gigaimpact: ["9M"], + heatcrash: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + hex: ["9M", "9L47"], + hyperbeam: ["9M"], + hypervoice: ["9M", "9L42"], + imprison: ["9M"], + incinerate: ["9L17"], + leer: ["9L1"], + lick: ["9L7"], + mudslap: ["9M"], + nightshade: ["9M"], + outrage: ["9M"], + overheat: ["9M", "9L64"], + poltergeist: ["9M"], + protect: ["9M"], + rest: ["9M"], + roar: ["9M", "9L28"], + round: ["9L10"], + scaryface: ["9M", "9L12"], + seedbomb: ["9M"], + shadowball: ["9M", "9L38"], + shadowclaw: ["9M"], + sing: ["9L1"], + sleeptalk: ["9M"], + snarl: ["9M", "9L24"], + solarbeam: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + torchsong: ["9L0"], + willowisp: ["9M", "9L47"], + yawn: ["9L1"], + zenheadbutt: ["9M"], + }, + }, + quaxly: { + learnset: { + acrobatics: ["9M", "9L31"], + aerialace: ["9M"], + aircutter: ["9M"], + airslash: ["9M", "9L24"], + aquacutter: ["9L21"], + aquajet: ["9L13"], + batonpass: ["9M"], + bravebird: ["9M"], + chillingwater: ["9M"], + detect: ["9E"], + disarmingvoice: ["9M"], + doublehit: ["9L17"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + focusenergy: ["9L28"], + growl: ["9L1"], + helpinghand: ["9M"], + hydropump: ["9M"], + lastresort: ["9E"], + liquidation: ["9M", "9L35"], + lowkick: ["9M"], + mistyterrain: ["9M"], + pound: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rapidspin: ["9E"], + rest: ["9M"], + roost: ["9E"], + sleeptalk: ["9M"], + substitute: ["9M"], + surf: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + watergun: ["9L1"], + waterpledge: ["9M"], + wingattack: ["9L10"], + workup: ["9L7"], + }, + }, + quaxwell: { + learnset: { + acrobatics: ["9M", "9L38"], + aerialace: ["9M"], + aircutter: ["9M"], + airslash: ["9M", "9L27"], + aquacutter: ["9L23"], + aquajet: ["9L13"], + batonpass: ["9M"], + bravebird: ["9M"], + chillingwater: ["9M"], + disarmingvoice: ["9M"], + doublehit: ["9L1"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + featherdance: ["9L48"], + flipturn: ["9M"], + focusenergy: ["9L32"], + growl: ["9L1"], + helpinghand: ["9M"], + hydropump: ["9M"], + liquidation: ["9M", "9L43"], + lowkick: ["9M"], + lowsweep: ["9M", "9L19"], + mistyterrain: ["9M"], + pound: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + surf: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + watergun: ["9L1"], + waterpledge: ["9M"], + waterpulse: ["9M", "9L17"], + wingattack: ["9L10"], + workup: ["9L7"], + }, + }, + quaquaval: { + learnset: { + acrobatics: ["9M", "9L43"], + aerialace: ["9M"], + agility: ["9M"], + aircutter: ["9M"], + airslash: ["9M", "9L27"], + aquacutter: ["9L21"], + aquajet: ["9L13"], + aquastep: ["9L0"], + batonpass: ["9M"], + bravebird: ["9M"], + brickbreak: ["9M"], + bulkup: ["9M"], + chillingwater: ["9M"], + closecombat: ["9M", "9L58"], + counter: ["9L1"], + disarmingvoice: ["9M"], + doublehit: ["9L1"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + featherdance: ["9L52"], + fling: ["9M"], + flipturn: ["9M"], + focusenergy: ["9L32"], + gigaimpact: ["9M"], + growl: ["9L1"], + helpinghand: ["9M"], + hurricane: ["9M"], + hydrocannon: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icespinner: ["9M"], + icywind: ["9M"], + knockoff: ["9M"], + liquidation: ["9M", "9L47"], + lowkick: ["9M"], + lowsweep: ["9M", "9L17"], + megakick: ["9L38"], + mistyterrain: ["9M"], + pound: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + surf: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + uturn: ["9M"], + watergun: ["9L1"], + waterpledge: ["9M"], + waterpulse: ["9M", "9L17"], + wavecrash: ["9L64"], + wingattack: ["9L10"], + workup: ["9L7"], + }, + }, + lechonk: { + learnset: { + bodyslam: ["9M"], + bulldoze: ["9M"], + bulletseed: ["9M"], + chillingwater: ["9M"], + covet: ["9L15", "9S0"], + dig: ["9M", "9L17", "9S0"], + disarmingvoice: ["9M", "9L5"], + doubleedge: ["9L35"], + echoedvoice: ["9L8"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + headbutt: ["9L21"], + helpinghand: ["9M"], + hypervoice: ["9M"], + ironhead: ["9M"], + mudshot: ["9M", "9L12", "9S0"], + mudslap: ["9M"], + playrough: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + spitup: ["9E"], + stockpile: ["9E"], + stuffcheeks: ["9E"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M"], + swallow: ["9E"], + tackle: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M", "9L27"], + terablast: ["9M", "9S0"], + thief: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "9L32"], + workup: ["9L30"], + yawn: ["9L24"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 15, gender: "M", isHidden: true, moves: ["terablast", "mudshot", "covet", "dig"], pokeball: "cherishball"}, + ], + }, + oinkologne: { + learnset: { + belch: ["9L54"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + bulletseed: ["9M"], + chillingwater: ["9M"], + covet: ["9L15"], + dig: ["9M", "9L17"], + disarmingvoice: ["9M", "9L5"], + doubleedge: ["9L42"], + earthpower: ["9M", "9L48"], + echoedvoice: ["9L8"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L23"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + ironhead: ["9M"], + lashout: ["9M"], + mudshot: ["9M", "9L12"], + mudslap: ["9M"], + playrough: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M"], + tackle: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M", "9L26"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "9L38"], + workup: ["9L34"], + yawn: ["9L27"], + zenheadbutt: ["9M"], + }, + }, + oinkolognef: { + learnset: { + belch: ["9L51"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + bulletseed: ["9M"], + chillingwater: ["9M"], + covet: ["9L12"], + dig: ["9M", "9L15"], + disarmingvoice: ["9M", "9L3"], + doubleedge: ["9L39"], + earthpower: ["9M", "9L45"], + echoedvoice: ["9L6"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L17"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + ironhead: ["9M"], + lashout: ["9M"], + mudshot: ["9M", "9L9"], + mudslap: ["9M"], + playrough: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M"], + tackle: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M", "9L28"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + uproar: ["9M", "9L34"], + workup: ["9L30"], + yawn: ["9L23"], + zenheadbutt: ["9M"], + }, + }, + tarountula: { + learnset: { + assurance: ["9L8"], + block: ["9L18"], + bodyslam: ["9M"], + bugbite: ["9M", "9L14"], + bugbuzz: ["9M"], + bulletseed: ["9M"], + circlethrow: ["9L36"], + counter: ["9L22"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + feint: ["9L11"], + firstimpression: ["9E"], + gastroacid: ["9L33"], + gigadrain: ["9M"], + grassknot: ["9M"], + headbutt: ["9L25"], + knockoff: ["9M"], + leechlife: ["9M"], + lunge: ["9M", "9E"], + memento: ["9E"], + poisonjab: ["9M"], + pounce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + shadowclaw: ["9M"], + skittersmack: ["9L44"], + sleeptalk: ["9M"], + spikes: ["9M"], + stickyweb: ["9L29"], + stringshot: ["9L1"], + strugglebug: ["9M", "9L5"], + substitute: ["9M"], + suckerpunch: ["9E"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9L40"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + xscissor: ["9M"], + }, + }, + spidops: { + learnset: { + aerialace: ["9M"], + assurance: ["9L8"], + block: ["9L19"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bugbite: ["9M", "9L14"], + bugbuzz: ["9M"], + bulletseed: ["9M"], + circlethrow: ["9L41"], + counter: ["9L24"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + feint: ["9L11"], + fling: ["9M"], + gastroacid: ["9L37"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + headbutt: ["9L28"], + knockoff: ["9M"], + leechlife: ["9M"], + lowkick: ["9M"], + lunge: ["9M"], + poisonjab: ["9M"], + pounce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rocktomb: ["9M"], + scaryface: ["9M"], + shadowclaw: ["9M"], + silktrap: ["9L0"], + skittersmack: ["9L49"], + sleeptalk: ["9M"], + spikes: ["9M"], + stickyweb: ["9L33"], + stringshot: ["9L1"], + strugglebug: ["9M", "9L5"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9L45"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + uturn: ["9M"], + xscissor: ["9M"], + }, + }, + nymble: { + learnset: { + agility: ["9M", "9L30"], + assurance: ["9L9"], + astonish: ["9L6"], + bugbite: ["9M", "9L22"], + bugbuzz: ["9M"], + counter: ["9E"], + doublekick: ["9L11"], + endure: ["9M", "9L18"], + facade: ["9M"], + feint: ["9L26"], + firstimpression: ["9L41"], + leechlife: ["9M"], + leer: ["9L1"], + pounce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + screech: ["9L14"], + skittersmack: ["9E"], + sleeptalk: ["9M"], + strugglebug: ["9M", "9L4"], + substitute: ["9M"], + suckerpunch: ["9L38"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + uturn: ["9M"], + xscissor: ["9M"], + }, + }, + lokix: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "9L32"], + assurance: ["9L9"], + astonish: ["9L6"], + axekick: ["9L53"], + bounce: ["9L48"], + brickbreak: ["9M"], + bugbite: ["9M", "9L22"], + bugbuzz: ["9M"], + darkpulse: ["9M"], + detect: ["9L1"], + doublekick: ["9L11"], + endure: ["9M", "9L18"], + facade: ["9M"], + feint: ["9L28"], + firstimpression: ["9L44"], + fling: ["9M"], + gigaimpact: ["9M"], + knockoff: ["9M"], + lashout: ["9M"], + leechlife: ["9M"], + leer: ["9L1"], + lowkick: ["9M", "9L1"], + lowsweep: ["9M"], + lunge: ["9M", "9L0"], + pounce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + scaryface: ["9M"], + screech: ["9L14"], + sleeptalk: ["9M"], + spite: ["9M"], + strugglebug: ["9M", "9L4"], + substitute: ["9M"], + suckerpunch: ["9L40"], + sunnyday: ["9M"], + swordsdance: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9L36"], + trailblaze: ["9M"], + uturn: ["9M"], + xscissor: ["9M"], + }, + }, + rellor: { + learnset: { + bugbite: ["9M", "9L20"], + bugbuzz: ["9M"], + cosmicpower: ["9E"], + defensecurl: ["9L1"], + dig: ["9M", "9L29"], + endure: ["9M"], + facade: ["9M"], + fling: ["9M"], + gunkshot: ["9M"], + irondefense: ["9M"], + leechlife: ["9M"], + lunge: ["9M", "9L35"], + memento: ["9E"], + mudshot: ["9M", "9L15"], + mudslap: ["9M"], + pounce: ["9M"], + protect: ["9M"], + recover: ["9E"], + rest: ["9M"], + rocktomb: ["9M"], + rollout: ["9L11"], + sandattack: ["9L4"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + strugglebug: ["9M", "9L7"], + substitute: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L24"], + terablast: ["9M"], + thief: ["9M"], + weatherball: ["9M", "9E"], + xscissor: ["9M"], + }, + }, + rabsca: { + learnset: { + bugbite: ["9M", "9L20"], + bugbuzz: ["9M", "9L45"], + calmmind: ["9M"], + confuseray: ["9M"], + confusion: ["9L1"], + dazzlinggleam: ["9M"], + defensecurl: ["9L1"], + dig: ["9M"], + earthpower: ["9M"], + electroball: ["9M"], + endure: ["9M"], + energyball: ["9M"], + extrasensory: ["9L29"], + facade: ["9M"], + fling: ["9M"], + gigaimpact: ["9M"], + gravity: ["9M"], + guardswap: ["9L40"], + gunkshot: ["9M"], + hyperbeam: ["9M"], + imprison: ["9M"], + irondefense: ["9M"], + leechlife: ["9M"], + lightscreen: ["9M"], + lunge: ["9M", "9L35"], + mudshot: ["9M"], + mudslap: ["9M"], + poltergeist: ["9M"], + pounce: ["9M"], + powergem: ["9M"], + powerswap: ["9L40"], + protect: ["9M"], + psybeam: ["9M", "9L15"], + psychic: ["9M", "9L50"], + psychicterrain: ["9M"], + psychup: ["9L1"], + psyshock: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + revivalblessing: ["9L0"], + rocktomb: ["9M"], + rollout: ["9L11"], + safeguard: ["9L1"], + sandattack: ["9L4"], + sandstorm: ["9M"], + shadowball: ["9M"], + skillswap: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + speedswap: ["9L40"], + storedpower: ["9M"], + strugglebug: ["9M", "9L7"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L24"], + terablast: ["9M"], + thief: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + weatherball: ["9M"], + xscissor: ["9M"], + zenheadbutt: ["9M"], + }, + }, + greavard: { + learnset: { + allyswitch: ["9E"], + bite: ["9L6"], + bulldoze: ["9M"], + charm: ["9M", "9L46"], + confuseray: ["9M"], + crunch: ["9M", "9L28"], + destinybond: ["9E"], + dig: ["9M", "9L16"], + disable: ["9E"], + doubleedge: ["9L52"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + growl: ["9L1"], + headbutt: ["9L12"], + helpinghand: ["9M", "9L37"], + hex: ["9M"], + howl: ["9E"], + icefang: ["9M"], + lick: ["9L3"], + memento: ["9E"], + mudshot: ["9M"], + mudslap: ["9M"], + nightshade: ["9M"], + phantomforce: ["9M", "9L41"], + playrough: ["9M", "9L32"], + poltergeist: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M", "9L24"], + roar: ["9M", "9L9"], + sandstorm: ["9M"], + scaryface: ["9M"], + shadowball: ["9M"], + shadowsneak: ["9E"], + sleeptalk: ["9M"], + snarl: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + tailwhip: ["9L6"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderfang: ["9M"], + trick: ["9M"], + uproar: ["9M"], + yawn: ["9E"], + }, + }, + houndstone: { + learnset: { + bite: ["9L6"], + bodypress: ["9M"], + bulldoze: ["9M"], + charm: ["9M", "9L51"], + confuseray: ["9M"], + crunch: ["9M", "9L28"], + dig: ["9M", "9L16"], + doubleedge: ["9L58"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + gigaimpact: ["9M"], + growl: ["9L1"], + headbutt: ["9L12"], + helpinghand: ["9M", "9L41"], + hex: ["9M"], + hyperbeam: ["9M"], + icefang: ["9M"], + lastrespects: ["9L0"], + lick: ["9L3"], + mudshot: ["9M"], + mudslap: ["9M"], + nightshade: ["9M"], + phantomforce: ["9M", "9L46"], + playrough: ["9M", "9L36"], + poltergeist: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M", "9L24"], + roar: ["9M", "9L9"], + sandstorm: ["9M"], + scaryface: ["9M"], + shadowball: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + tailwhip: ["9L6"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderfang: ["9M"], + trick: ["9M"], + uproar: ["9M"], + willowisp: ["9M"], + }, + }, + flittle: { + learnset: { + agility: ["9M", "9L29"], + allyswitch: ["9E"], + babydolleyes: ["9L8"], + batonpass: ["9M"], + calmmind: ["9M"], + confuseray: ["9M"], + confusion: ["9L5"], + disarmingvoice: ["9M", "9L11"], + endure: ["9M"], + facade: ["9M"], + foulplay: ["9M"], + growl: ["9L1"], + helpinghand: ["9M"], + hypnosis: ["9E"], + lightscreen: ["9M"], + mudslap: ["9M"], + peck: ["9L1"], + pluck: ["9L24"], + pounce: ["9M"], + protect: ["9M"], + psybeam: ["9M", "9L19"], + psychic: ["9M"], + psychicterrain: ["9M"], + psyshock: ["9M"], + quickattack: ["9L15"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + roost: ["9E"], + sandstorm: ["9M"], + seedbomb: ["9M"], + skillswap: ["9M"], + sleeptalk: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + uproar: ["9M", "9L34"], + uturn: ["9M"], + zenheadbutt: ["9M"], + }, + }, + espathra: { + learnset: { + aerialace: ["9M"], + agility: ["9M", "9L29"], + babydolleyes: ["9L8"], + batonpass: ["9M"], + bodyslam: ["9M"], + bravebird: ["9M"], + calmmind: ["9M"], + confuseray: ["9M"], + confusion: ["9L5"], + dazzlinggleam: ["9M", "9L43"], + disarmingvoice: ["9M", "9L11"], + drillpeck: ["9L1"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + featherdance: ["9L1"], + flashcannon: ["9M"], + foulplay: ["9M"], + gigaimpact: ["9M"], + growl: ["9L1"], + helpinghand: ["9M"], + hex: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + lastresort: ["9L54"], + lightscreen: ["9M"], + lowkick: ["9M"], + luminacrash: ["9L0"], + mudslap: ["9M"], + nightshade: ["9M"], + peck: ["9L1"], + pluck: ["9L24"], + pounce: ["9M"], + protect: ["9M"], + psybeam: ["9M", "9L19"], + psychic: ["9M", "9L49"], + psychicterrain: ["9M"], + psyshock: ["9M"], + quickattack: ["9L15"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + sandstorm: ["9M"], + seedbomb: ["9M"], + shadowball: ["9M"], + skillswap: ["9M"], + sleeptalk: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + uproar: ["9M", "9L34"], + uturn: ["9M"], + zenheadbutt: ["9M"], + }, + }, + farigiraf: { + learnset: { + agility: ["9M", "9L23"], + amnesia: ["9M"], + assurance: ["9L10"], + astonish: ["9L1"], + batonpass: ["9M", "9L41"], + bodyslam: ["9M"], + bulldoze: ["9M"], + calmmind: ["9M"], + chargebeam: ["9M"], + confuseray: ["9M"], + confusion: ["9L5"], + crunch: ["9M", "9L37"], + dazzlinggleam: ["9M"], + doublehit: ["9L28"], + earthquake: ["9M"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + foulplay: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + gravity: ["9M"], + growl: ["9L1"], + guardswap: ["9L1"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + imprison: ["9M"], + ironhead: ["9M"], + lightscreen: ["9M"], + lowkick: ["9M"], + nastyplot: ["9M", "9L46"], + nightshade: ["9M"], + powerswap: ["9L1"], + protect: ["9M"], + psybeam: ["9M", "9L19"], + psychic: ["9M", "9L50"], + psychicfangs: ["9M"], + psychicterrain: ["9M"], + psyshock: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + roar: ["9M"], + shadowball: ["9M"], + skillswap: ["9M"], + sleeptalk: ["9M"], + stomp: ["9L14"], + stompingtantrum: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderwave: ["9M"], + trailblaze: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + twinbeam: ["9L32"], + uproar: ["9M"], + zenheadbutt: ["9M"], + }, + }, + wiglett: { + learnset: { + agility: ["9M"], + aquajet: ["9L12"], + blizzard: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + dig: ["9M", "9L28"], + earthpower: ["9M"], + endure: ["9M"], + facade: ["9M"], + finalgambit: ["9E"], + foulplay: ["9M"], + headbutt: ["9L24"], + helpinghand: ["9M"], + hydropump: ["9M"], + icebeam: ["9M"], + liquidation: ["9M", "9L40"], + memento: ["9E"], + mudshot: ["9M"], + mudslap: ["9M", "9L4"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sandattack: ["9L1"], + sandstorm: ["9M"], + slam: ["9L20"], + sleeptalk: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + suckerpunch: ["9L32"], + surf: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["9L36"], + watergun: ["9L1"], + waterpulse: ["9M", "9L20"], + wrap: ["9L8"], + }, + }, + wugtrio: { + learnset: { + agility: ["9M"], + aquajet: ["9L12"], + blizzard: ["9M"], + bulldoze: ["9M"], + chillingwater: ["9M"], + dig: ["9M", "9L36"], + earthpower: ["9M"], + endure: ["9M"], + facade: ["9M"], + foulplay: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L24"], + helpinghand: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + liquidation: ["9M", "9L54"], + mudshot: ["9M"], + mudslap: ["9M", "9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sandattack: ["9L1"], + sandstorm: ["9M"], + slam: ["9L16"], + sleeptalk: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + suckerpunch: ["9L42"], + surf: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["9L48"], + tripledive: ["9L30"], + watergun: ["9L1"], + waterpulse: ["9M", "9L20"], + wrap: ["9L1"], + }, + }, + dondozo: { + learnset: { + aquatail: ["9L40"], + avalanche: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M", "9L35"], + bulldoze: ["9M"], + chillingwater: ["9M"], + crunch: ["9M"], + curse: ["9E"], + dive: ["9L20"], + doubleedge: ["9L60"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + fissure: ["9E"], + flail: ["9L10"], + gigaimpact: ["9M"], + heavyslam: ["9M", "9L55"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icefang: ["9M"], + liquidation: ["9M"], + nobleroar: ["9L25"], + orderup: ["9L50"], + outrage: ["9M"], + protect: ["9M"], + raindance: ["9M", "9L45"], + rest: ["9M", "9L15"], + rockslide: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M", "9L15"], + soak: ["9L30"], + stompingtantrum: ["9M"], + substitute: ["9M"], + supersonic: ["9L1"], + surf: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9E"], + tickle: ["9L5"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M"], + wavecrash: ["9L65"], + yawn: ["9E"], + zenheadbutt: ["9M"], + }, + }, + veluza: { + learnset: { + agility: ["9M"], + aquacutter: ["9L25"], + aquajet: ["9L1"], + blizzard: ["9M"], + bodyslam: ["9M"], + chillingwater: ["9M"], + crunch: ["9M", "9L50"], + drillrun: ["9M"], + endure: ["9M"], + filletaway: ["9L30"], + finalgambit: ["9L55"], + flipturn: ["9M"], + focusenergy: ["9L15"], + gigaimpact: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icefang: ["9M"], + icywind: ["9M"], + liquidation: ["9M", "9L45"], + nightslash: ["9L35"], + pluck: ["9L7"], + protect: ["9M"], + psychic: ["9M"], + psychicfangs: ["9M"], + psychicterrain: ["9M"], + psychocut: ["9L40"], + raindance: ["9M"], + recover: ["9E"], + rest: ["9M"], + scaleshot: ["9M"], + slash: ["9L20"], + sleeptalk: ["9M"], + snowscape: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + surf: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9E"], + waterfall: ["9M"], + waterpulse: ["9M", "9L11"], + zenheadbutt: ["9M"], + }, + }, + finizen: { + learnset: { + acrobatics: ["9M", "9L29"], + agility: ["9M"], + aquajet: ["9L13"], + aquatail: ["9L39"], + astonish: ["9L7"], + blizzard: ["9M"], + bodyslam: ["9M"], + boomburst: ["9E"], + bounce: ["9E"], + charm: ["9M", "9L25"], + chillingwater: ["9M"], + counter: ["9E"], + disarmingvoice: ["9M"], + dive: ["9L21"], + doublehit: ["9L17"], + drainingkiss: ["9M"], + encore: ["9M", "9L34"], + endure: ["9M"], + facade: ["9M"], + fling: ["9M"], + focusenergy: ["9L10"], + haze: ["9M", "9E"], + helpinghand: ["9M"], + hydropump: ["9M", "9L50"], + icebeam: ["9M"], + icywind: ["9M"], + liquidation: ["9M"], + mist: ["9L44"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + supersonic: ["9L1"], + surf: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + tickle: ["9E"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M"], + zenheadbutt: ["9M"], + }, + }, + palafin: { + learnset: { + acrobatics: ["9M", "9L29"], + agility: ["9M"], + aquajet: ["9L13"], + aquatail: ["9L39"], + astonish: ["9L7"], + aurasphere: ["9M"], + blizzard: ["9M"], + bodyslam: ["9M"], + bulkup: ["9M"], + charm: ["9M", "9L25"], + chillingwater: ["9M"], + closecombat: ["9M"], + disarmingvoice: ["9M"], + dive: ["9L21"], + doublehit: ["9L17"], + drainingkiss: ["9M"], + drainpunch: ["9M"], + encore: ["9M", "9L34"], + endure: ["9M"], + facade: ["9M"], + fling: ["9M"], + flipturn: ["9M", "9L0"], + focusblast: ["9M"], + focusenergy: ["9L10"], + focuspunch: ["9M", "9L55"], + gigaimpact: ["9M"], + grassknot: ["9M"], + haze: ["9M", "9S0"], + helpinghand: ["9M"], + hydropump: ["9M", "9L50"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icebeam: ["9M"], + icepunch: ["9M"], + icywind: ["9M"], + ironhead: ["9M"], + jetpunch: ["9L1", "9S0"], + liquidation: ["9M"], + mist: ["9L44"], + outrage: ["9M"], + protect: ["9M", "9S0"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + supersonic: ["9L1"], + surf: ["9M"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + waterfall: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M"], + wavecrash: ["9L61", "9S0"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 50, gender: "F", nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 17, spd: 31, spe: 31}, moves: ["jetpunch", "wavecrash", "haze", "protect"], pokeball: "cherishball"}, + ], + }, + smoliv: { + learnset: { + absorb: ["9L5"], + bulletseed: ["9M"], + charm: ["9M"], + earthpower: ["9M"], + endure: ["9M"], + energyball: ["9M", "9L30"], + facade: ["9M"], + flail: ["9L16"], + gigadrain: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M", "9L23"], + growth: ["9L7"], + helpinghand: ["9M", "9L13"], + leafstorm: ["9M"], + leechseed: ["9L34"], + magicalleaf: ["9M"], + megadrain: ["9L20"], + memento: ["9E"], + protect: ["9M"], + razorleaf: ["9L10"], + rest: ["9M"], + seedbomb: ["9M", "9L27"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + solarblade: ["9M"], + strengthsap: ["9E"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetscent: ["9L1"], + swift: ["9M"], + synthesis: ["9E"], + tackle: ["9L1"], + terablast: ["9M"], + terrainpulse: ["9L38"], + trailblaze: ["9M"], + weatherball: ["9M", "9E"], + }, + }, + dolliv: { + learnset: { + absorb: ["9L5"], + bulletseed: ["9M"], + charm: ["9M"], + earthpower: ["9M"], + endure: ["9M"], + energyball: ["9M", "9L34"], + facade: ["9M"], + flail: ["9L16"], + gigadrain: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M", "9L23"], + growth: ["9L7"], + helpinghand: ["9M", "9L13"], + leafstorm: ["9M"], + leechseed: ["9L37"], + magicalleaf: ["9M"], + megadrain: ["9L20"], + protect: ["9M"], + razorleaf: ["9L10"], + rest: ["9M"], + seedbomb: ["9M", "9L29"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + solarblade: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetscent: ["9L1"], + swift: ["9M"], + tackle: ["9L1"], + terablast: ["9M"], + terrainpulse: ["9L42"], + trailblaze: ["9M"], + weatherball: ["9M"], + }, + }, + arboliva: { + learnset: { + absorb: ["9L5"], + bulletseed: ["9M"], + charm: ["9M"], + dazzlinggleam: ["9M"], + earthpower: ["9M"], + encore: ["9M"], + endure: ["9M"], + energyball: ["9M", "9L34"], + facade: ["9M"], + flail: ["9L16"], + fling: ["9M"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M", "9L23"], + growth: ["9L7"], + helpinghand: ["9M", "9L13"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + leafstorm: ["9M"], + leechseed: ["9L39"], + lightscreen: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L20"], + metronome: ["9M"], + mirrorcoat: ["9L1"], + petalblizzard: ["9L52"], + petaldance: ["9L58"], + pollenpuff: ["9M"], + protect: ["9M"], + razorleaf: ["9L10"], + reflect: ["9M"], + rest: ["9M"], + safeguard: ["9L1"], + seedbomb: ["9M", "9L29"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + solarblade: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetscent: ["9L1"], + swift: ["9M"], + tackle: ["9L1"], + terablast: ["9M"], + terrainpulse: ["9L46"], + trailblaze: ["9M"], + weatherball: ["9M"], + }, + }, + capsakid: { + learnset: { + bite: ["9L4"], + bulletseed: ["9M", "9L21"], + crunch: ["9M", "9L38"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + gigadrain: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L10"], + headbutt: ["9L24"], + helpinghand: ["9M"], + ingrain: ["9E"], + leafage: ["9L1"], + leafstorm: ["9M"], + leechseed: ["9E"], + leer: ["9L1"], + magicalleaf: ["9M"], + protect: ["9M"], + ragepowder: ["9E"], + razorleaf: ["9L13"], + rest: ["9M"], + rollout: ["9E"], + sandstorm: ["9M"], + seedbomb: ["9M", "9L44"], + sleeptalk: ["9M"], + solarbeam: ["9M", "9L48"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L17"], + superfang: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + worryseed: ["9E"], + zenheadbutt: ["9M", "9L28"], + }, + }, + scovillain: { + learnset: { + bite: ["9L4"], + bulletseed: ["9M", "9L21"], + burningjealousy: ["9M"], + crunch: ["9M", "9L38"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M", "9L1"], + flamethrower: ["9M", "9L0"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L10"], + headbutt: ["9L24"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + lashout: ["9M"], + leafage: ["9L1"], + leafstorm: ["9M"], + leer: ["9L1"], + magicalleaf: ["9M"], + overheat: ["9M", "9L48"], + protect: ["9M"], + razorleaf: ["9L13"], + rest: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + seedbomb: ["9M", "9L44"], + sleeptalk: ["9M"], + solarbeam: ["9M", "9L48"], + spicyextract: ["9L0"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L17"], + superfang: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + willowisp: ["9M"], + worryseed: ["9L33"], + zenheadbutt: ["9M", "9L28"], + }, + }, + tadbulb: { + learnset: { + acidspray: ["9M"], + charge: ["9M", "9L17"], + chargebeam: ["9M"], + chillingwater: ["9M"], + confuseray: ["9M"], + discharge: ["9L32"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L40"], + electroball: ["9M"], + endure: ["9M"], + flail: ["9L25"], + hypervoice: ["9M"], + lightscreen: ["9M"], + muddywater: ["9E"], + mudshot: ["9M", "9L24"], + mudslap: ["9M", "9L1"], + paraboliccharge: ["9E"], + protect: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + sleeptalk: ["9M"], + soak: ["9E"], + spark: ["9L21"], + substitute: ["9M"], + suckerpunch: ["9L45"], + swift: ["9M"], + tackle: ["9L1"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thundershock: ["9L7"], + thunderwave: ["9M"], + voltswitch: ["9M"], + watergun: ["9L11"], + waterpulse: ["9M"], + weatherball: ["9M", "9L36"], + wildcharge: ["9M"], + zapcannon: ["9L50"], + }, + }, + bellibolt: { + learnset: { + acidspray: ["9M"], + charge: ["9M", "9L17"], + chargebeam: ["9M"], + chillingwater: ["9M"], + confuseray: ["9M"], + discharge: ["9L32"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L40"], + electroball: ["9M"], + endure: ["9M"], + flail: ["9L25"], + gigaimpact: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + lightscreen: ["9M"], + mudshot: ["9M", "9L24"], + mudslap: ["9M", "9L1"], + protect: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + slackoff: ["9L1"], + sleeptalk: ["9M"], + spark: ["9L21"], + substitute: ["9M"], + suckerpunch: ["9L45"], + swift: ["9M"], + tackle: ["9L1"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thundershock: ["9L7"], + thunderwave: ["9M"], + toxic: ["9M"], + voltswitch: ["9M"], + watergun: ["9L11"], + waterpulse: ["9M"], + weatherball: ["9M", "9L36"], + wildcharge: ["9M"], + zapcannon: ["9L50"], + }, + }, + varoom: { + learnset: { + acidspray: ["9M"], + assurance: ["9L10"], + bodyslam: ["9M"], + bulldoze: ["9M"], + endure: ["9M"], + facade: ["9M"], + flashcannon: ["9M"], + gunkshot: ["9M", "9L50"], + gyroball: ["9M", "9L17"], + haze: ["9M", "9E"], + headbutt: ["9L21"], + irondefense: ["9M"], + ironhead: ["9M", "9L28"], + lick: ["9L1"], + partingshot: ["9E"], + poisongas: ["9L1"], + poisonjab: ["9M", "9L36"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + screech: ["9L25"], + selfdestruct: ["9E"], + sleeptalk: ["9M"], + sludge: ["9L13"], + sludgebomb: ["9M"], + smog: ["9L4"], + spinout: ["9L46"], + steelbeam: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L32"], + takedown: ["9M"], + taunt: ["9M", "9L7"], + terablast: ["9M"], + thief: ["9M"], + torment: ["9E"], + toxic: ["9M", "9E"], + toxicspikes: ["9M"], + uproar: ["9M", "9L41"], + venoshock: ["9M"], + zenheadbutt: ["9M"], + }, + }, + revavroom: { + learnset: { + acidspray: ["9M"], + assurance: ["9L10"], + bodyslam: ["9M"], + bulldoze: ["9M"], + endure: ["9M"], + facade: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + gunkshot: ["9M", "9L58"], + gyroball: ["9M", "9L17"], + haze: ["9M"], + headbutt: ["9L21"], + heavyslam: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + irondefense: ["9M"], + ironhead: ["9M", "9L28", "9S0"], + lashout: ["9M"], + lick: ["9L1"], + magnetrise: ["9L1"], + overheat: ["9M"], + poisongas: ["9L1"], + poisonjab: ["9M", "9L36", "9S0"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + screech: ["9L25"], + shiftgear: ["9L0"], + sleeptalk: ["9M"], + sludge: ["9L13"], + sludgebomb: ["9M"], + smog: ["9L4"], + spinout: ["9L52"], + steelbeam: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L32", "9S0"], + takedown: ["9M"], + taunt: ["9M", "9L7"], + terablast: ["9M", "9S0"], + thief: ["9M"], + toxic: ["9M"], + toxicspikes: ["9M"], + uproar: ["9M", "9L46"], + venoshock: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 50, gender: "F", nature: "Naughty", abilities: ["clearbody"], ivs: {hp: 20, atk: 31, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["ironhead", "swagger", "poisonjab", "terablast"], pokeball: "healball"}, + ], + }, + orthworm: { + learnset: { + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M", "9L16"], + coil: ["9E"], + curse: ["9E"], + dig: ["9M", "9L30"], + earthpower: ["9M"], + earthquake: ["9M", "9L47"], + endure: ["9M"], + facade: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + harden: ["9L1"], + headbutt: ["9S0"], + heavyslam: ["9M"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + irondefense: ["9M", "9L38"], + ironhead: ["9M", "9L21"], + irontail: ["9L43", "9S0"], + metalburst: ["9E"], + mudshot: ["9M"], + mudslap: ["9M", "9L7"], + protect: ["9M"], + rest: ["9M"], + rockblast: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M", "9L34", "9S0"], + sandtomb: ["9M"], + shedtail: ["9L52"], + sleeptalk: ["9M"], + smackdown: ["9M", "9L12"], + spikes: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L26"], + terablast: ["9M"], + wrap: ["9L1", "9S0"], + }, + eventData: [ + {generation: 9, level: 29, gender: "M", nature: "Quirky", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["irontail", "headbutt", "wrap", "sandstorm"]}, + ], + }, + tandemaus: { + learnset: { + aerialace: ["9M"], + afteryou: ["9E"], + agility: ["9M"], + babydolleyes: ["9L1"], + batonpass: ["9M", "9E"], + beatup: ["9L37"], + bite: ["9E"], + bulletseed: ["9M", "9L18"], + charm: ["9M", "9L33"], + copycat: ["9L41"], + crunch: ["9M"], + dig: ["9M"], + doublehit: ["9L14"], + echoedvoice: ["9L5"], + encore: ["9M", "9L22"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9M"], + feint: ["9E"], + grassknot: ["9M"], + helpinghand: ["9M", "9L8"], + hypervoice: ["9M", "9L30"], + lowkick: ["9M"], + lowsweep: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + playrough: ["9M", "9L26"], + populationbomb: ["9L46"], + pound: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M", "9L11"], + swift: ["9M"], + switcheroo: ["9E"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderwave: ["9M"], + tickle: ["9E"], + uturn: ["9M"], + waterpulse: ["9M"], + }, + }, + maushold: { + learnset: { + aerialace: ["9M"], + agility: ["9M"], + babydolleyes: ["9L1"], + batonpass: ["9M"], + beatup: ["9L41"], + bulletseed: ["9M", "9L18"], + charm: ["9M", "9L37"], + chillingwater: ["9M"], + copycat: ["9L46"], + crunch: ["9M"], + dig: ["9M"], + doublehit: ["9L14"], + echoedvoice: ["9L5"], + encore: ["9M", "9L22"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9M"], + followme: ["9L1"], + gigaimpact: ["9M"], + grassknot: ["9M"], + helpinghand: ["9M", "9L8"], + hyperbeam: ["9M"], + hypervoice: ["9M", "9L33"], + lowkick: ["9M"], + lowsweep: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + playrough: ["9M", "9L29"], + populationbomb: ["9L53"], + pound: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M", "9L11"], + swift: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderwave: ["9M"], + tidyup: ["9L1"], + trailblaze: ["9M"], + uturn: ["9M"], + waterpulse: ["9M"], + }, + }, + cetoddle: { + learnset: { + amnesia: ["9M", "9L40"], + avalanche: ["9M", "9L27"], + bellydrum: ["9E"], + blizzard: ["9M", "9L53"], + bodypress: ["9M"], + bodyslam: ["9M", "9L36"], + bounce: ["9L31"], + bulldoze: ["9M"], + charm: ["9M"], + chillingwater: ["9M"], + doubleedge: ["9L49"], + earthquake: ["9M"], + echoedvoice: ["9L9"], + endure: ["9M"], + entrainment: ["9E"], + facade: ["9M"], + flail: ["9L25"], + growl: ["9L6"], + heavyslam: ["9M"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icebeam: ["9M"], + icefang: ["9M"], + iceshard: ["9L12"], + icespinner: ["9M", "9L44"], + iciclecrash: ["9E"], + iciclespear: ["9M"], + icywind: ["9M"], + knockoff: ["9M"], + liquidation: ["9M"], + playrough: ["9M"], + powdersnow: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M", "9L15"], + sleeptalk: ["9M"], + snowscape: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + superpower: ["9E"], + tackle: ["9L1"], + takedown: ["9M", "9L19"], + terablast: ["9M"], + waterpulse: ["9M"], + yawn: ["9E"], + }, + }, + cetitan: { + learnset: { + amnesia: ["9M", "9L40", "9S0"], + avalanche: ["9M", "9L27"], + blizzard: ["9M", "9L53"], + bodypress: ["9M"], + bodyslam: ["9M", "9L36", "9S0"], + bounce: ["9L31"], + bulldoze: ["9M"], + charm: ["9M"], + chillingwater: ["9M"], + doubleedge: ["9L49", "9S0"], + earthquake: ["9M"], + echoedvoice: ["9L9"], + endure: ["9M"], + facade: ["9M"], + flail: ["9L25"], + gigaimpact: ["9M"], + growl: ["9L6"], + heavyslam: ["9M"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icebeam: ["9M"], + icefang: ["9M"], + icepunch: ["9M"], + iceshard: ["9L12"], + icespinner: ["9M", "9L44", "9S0"], + iciclespear: ["9M"], + icywind: ["9M"], + knockoff: ["9M"], + liquidation: ["9M"], + playrough: ["9M"], + powdersnow: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M", "9L15"], + sleeptalk: ["9M"], + snowscape: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L19"], + terablast: ["9M"], + waterpulse: ["9M"], + }, + eventData: [ + {generation: 9, moves: ["bodyslam", "amnesia", "icespinner", "doubleedge"]}, + ], + }, + frigibax: { + learnset: { + aquatail: ["9E"], + avalanche: ["9M"], + bite: ["9L24"], + blizzard: ["9M"], + bodyslam: ["9M"], + crunch: ["9M", "9L44"], + dig: ["9M"], + dracometeor: ["9M"], + dragonbreath: ["9L12"], + dragonclaw: ["9M", "9L32"], + dragonpulse: ["9M"], + dragonrush: ["9E"], + dragontail: ["9M", "9L1"], + endure: ["9M"], + facade: ["9M"], + focusenergy: ["9L18"], + freezedry: ["9E"], + helpinghand: ["9M"], + icebeam: ["9M", "9L40"], + icefang: ["9M", "9L29"], + iciclecrash: ["9L48"], + iciclespear: ["9M", "9E"], + icywind: ["9M", "9L6"], + leer: ["9L1"], + outrage: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sleeptalk: ["9M"], + snowscape: ["9M"], + substitute: ["9M"], + swordsdance: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L36"], + terablast: ["9M"], + }, + }, + arctibax: { + learnset: { + aerialace: ["9M"], + avalanche: ["9M"], + bite: ["9L24"], + blizzard: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + crunch: ["9M", "9L50"], + dig: ["9M"], + dracometeor: ["9M"], + dragonbreath: ["9L12"], + dragonclaw: ["9M"], + dragonpulse: ["9M"], + dragontail: ["9M", "9L1"], + endure: ["9M"], + facade: ["9M"], + focusenergy: ["9L18"], + helpinghand: ["9M"], + icebeam: ["9M", "9L45"], + icefang: ["9M", "9L29"], + iciclecrash: ["9L55"], + iciclespear: ["9M"], + icywind: ["9M", "9L6"], + ironhead: ["9M"], + leer: ["9L1"], + outrage: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snowscape: ["9M"], + substitute: ["9M"], + swordsdance: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L40"], + terablast: ["9M"], + }, + }, + baxcalibur: { + learnset: { + aerialace: ["9M"], + avalanche: ["9M"], + bite: ["9L24"], + blizzard: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M"], + breakingswipe: ["9L1"], + brickbreak: ["9M"], + bulldoze: ["9M"], + crunch: ["9M", "9L55"], + dig: ["9M"], + dracometeor: ["9M"], + dragonbreath: ["9L12"], + dragonclaw: ["9M", "9L35"], + dragondance: ["9M"], + dragonpulse: ["9M"], + dragontail: ["9M", "9L1"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + focusenergy: ["9L18"], + gigaimpact: ["9M"], + glaiverush: ["9L0"], + helpinghand: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M", "9L48"], + icefang: ["9M", "9L29"], + iceshard: ["9L1"], + iciclecrash: ["9L62"], + iciclespear: ["9M"], + icywind: ["9M", "9L6"], + ironhead: ["9M"], + leer: ["9L1"], + outrage: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaleshot: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snowscape: ["9M", "9L1"], + stompingtantrum: ["9M"], + substitute: ["9M"], + swordsdance: ["9M"], + tackle: ["9L1"], + takedown: ["9M", "9L42"], + terablast: ["9M"], + thunderfang: ["9M"], + zenheadbutt: ["9M"], + }, + }, + tatsugiri: { + learnset: { + batonpass: ["9M", "9E"], + chillingwater: ["9M"], + counter: ["9E"], + dracometeor: ["9M"], + dragondance: ["9M"], + dragonpulse: ["9M", "9L52", "9S0"], + endure: ["9M"], + facade: ["9M"], + gigaimpact: ["9M"], + harden: ["9L6"], + helpinghand: ["9M", "9L12"], + hydropump: ["9M"], + hyperbeam: ["9M"], + icywind: ["9M", "9S0"], + lunge: ["9M"], + memento: ["9L34"], + mirrorcoat: ["9L47"], + muddywater: ["9L39", "9S0"], + nastyplot: ["9M", "9L43"], + outrage: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rapidspin: ["9E"], + rest: ["9M"], + sleeptalk: ["9M"], + soak: ["9L23"], + splash: ["9L1"], + substitute: ["9M"], + surf: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L28", "9S0"], + terablast: ["9M"], + watergun: ["9L1"], + waterpulse: ["9M", "9L17"], + }, + eventData: [ + {generation: 9, level: 57, gender: "M", nature: "Quiet", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["muddywater", "icywind", "taunt", "dragonpulse"]}, + ], + }, + tatsugiristretchy: { + learnset: { + celebrate: ["9S0"], + dracometeor: ["9S0"], + helpinghand: ["9S0"], + muddywater: ["9S0"], + }, + eventData: [ + {generation: 9, level: 50, moves: ["dracometeor", "muddywater", "helpinghand", "celebrate"], pokeball: "cherishball"}, + ], + }, + cyclizar: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M"], + aquatail: ["9E"], + bite: ["9L23"], + bodyslam: ["9M"], + breakingswipe: ["9L14"], + crunch: ["9M"], + doubleedge: ["9L51"], + dracometeor: ["9M"], + dragonclaw: ["9M", "9L36"], + dragonpulse: ["9M", "9L45"], + dragonrush: ["9L57"], + dragontail: ["9M"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + gigaimpact: ["9M"], + growl: ["9L1"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icespinner: ["9M"], + ironhead: ["9M"], + irontail: ["9E"], + knockoff: ["9M", "9E"], + mudshot: ["9M"], + mudslap: ["9M"], + outrage: ["9M"], + overheat: ["9M"], + powerwhip: ["9E"], + protect: ["9M"], + quickattack: ["9L18"], + raindance: ["9M"], + rapidspin: ["9L7"], + rest: ["9M"], + scaleshot: ["9M"], + shedtail: ["9L31"], + shiftgear: ["9L40"], + sleeptalk: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M", "9L11"], + terablast: ["9M"], + thief: ["9M"], + thunderbolt: ["9M"], + thunderfang: ["9M"], + trailblaze: ["9M"], + uproar: ["9M"], + uturn: ["9M", "9L27"], + wildcharge: ["9M"], + }, + }, + pawmi: { + learnset: { + agility: ["9M", "9L40"], + batonpass: ["9M"], + bite: ["9L19"], + celebrate: ["9S0"], + charge: ["9M", "9L8"], + chargebeam: ["9M"], + charm: ["9M"], + crunch: ["9M"], + dig: ["9M", "9L15"], + discharge: ["9L38"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + encore: ["9M"], + endure: ["9M"], + entrainment: ["9L31"], + facade: ["9M"], + fakeout: ["9E"], + fling: ["9M"], + growl: ["9L1", "9S0"], + helpinghand: ["9M"], + machpunch: ["9E"], + metalclaw: ["9M"], + nuzzle: ["9L12"], + playrough: ["9M"], + protect: ["9M"], + quickattack: ["9L6"], + raindance: ["9M"], + rest: ["9M"], + scratch: ["9L1"], + slam: ["9L35"], + sleeptalk: ["9M"], + spark: ["9L23"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M"], + sweetkiss: ["9E"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M", "9S0"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderfang: ["9M"], + thundershock: ["9L3", "9S0"], + thunderwave: ["9M", "9L27"], + voltswitch: ["9M"], + wildcharge: ["9M", "9L44"], + wish: ["9E"], + }, + eventData: [ + {generation: 9, level: 5, moves: ['thundershock', 'growl', 'terablast', 'celebrate'], pokeball: 'cherishball'}, + ], + }, + pawmo: { + learnset: { + agility: ["9M", "9L46"], + armthrust: ["9L0"], + batonpass: ["9M"], + bite: ["9L19"], + charge: ["9M", "9L8"], + chargebeam: ["9M"], + charm: ["9M"], + crunch: ["9M"], + dig: ["9M", "9L15"], + discharge: ["9L42"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + encore: ["9M"], + endure: ["9M"], + entrainment: ["9L38"], + facade: ["9M"], + fling: ["9M"], + focuspunch: ["9M"], + growl: ["9L1"], + helpinghand: ["9M"], + knockoff: ["9M"], + lowkick: ["9M"], + lowsweep: ["9M"], + metalclaw: ["9M"], + nuzzle: ["9L12"], + playrough: ["9M"], + protect: ["9M"], + quickattack: ["9L6"], + raindance: ["9M"], + rest: ["9M"], + scratch: ["9L1"], + slam: ["9L32"], + sleeptalk: ["9M"], + spark: ["9L23"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderfang: ["9M"], + thunderpunch: ["9M"], + thundershock: ["9L3"], + thunderwave: ["9M", "9L27"], + voltswitch: ["9M"], + wildcharge: ["9M", "9L52"], + }, + }, + pawmot: { + learnset: { + agility: ["9M", "9L54"], + armthrust: ["9L25"], + batonpass: ["9M"], + bite: ["9L19"], + bodypress: ["9M"], + brickbreak: ["9M"], + bulkup: ["9M"], + charge: ["9M", "9L8"], + chargebeam: ["9M"], + charm: ["9M"], + closecombat: ["9M", "9L44"], + crunch: ["9M"], + dig: ["9M", "9L15"], + discharge: ["9L49"], + doubleshock: ["9L60"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + encore: ["9M"], + endure: ["9M"], + entrainment: ["9L39"], + facade: ["9M"], + firepunch: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + focuspunch: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + growl: ["9L1"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + icepunch: ["9M"], + knockoff: ["9M"], + lowkick: ["9M"], + lowsweep: ["9M"], + metalclaw: ["9M"], + metronome: ["9M"], + nuzzle: ["9L12"], + playrough: ["9M"], + protect: ["9M"], + quickattack: ["9L6"], + raindance: ["9M"], + rest: ["9M"], + revivalblessing: ["9L0"], + rocktomb: ["9M"], + scratch: ["9L1"], + seedbomb: ["9M"], + slam: ["9L33"], + sleeptalk: ["9M"], + spark: ["9L23"], + substitute: ["9M"], + sunnyday: ["9M"], + superfang: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderfang: ["9M"], + thunderpunch: ["9M"], + thundershock: ["9L3"], + thunderwave: ["9M", "9L29"], + voltswitch: ["9M"], + wildcharge: ["9M", "9L1"], + }, + }, + wattrel: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M", "9L32"], + aircutter: ["9M"], + airslash: ["9M"], + bravebird: ["9M"], + charge: ["9M"], + chargebeam: ["9M"], + discharge: ["9L43"], + dualwingbeat: ["9M", "9L27"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + featherdance: ["9E"], + fly: ["9M"], + growl: ["9L1"], + hurricane: ["9M"], + peck: ["9L1"], + pluck: ["9L11"], + protect: ["9M"], + quickattack: ["9L7"], + rest: ["9M"], + roost: ["9L23"], + sleeptalk: ["9M"], + spark: ["9L15"], + spitup: ["9E"], + stockpile: ["9E"], + substitute: ["9M"], + swallow: ["9E"], + swift: ["9M"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thundershock: ["9L4"], + thunderwave: ["9M"], + uproar: ["9M", "9L19"], + uturn: ["9M"], + voltswitch: ["9M", "9L37"], + weatherball: ["9M", "9E"], + wildcharge: ["9M"], + }, + }, + kilowattrel: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M", "9L36"], + aircutter: ["9M"], + airslash: ["9M"], + bravebird: ["9M"], + charge: ["9M"], + chargebeam: ["9M"], + discharge: ["9L48"], + dualwingbeat: ["9M", "9L30"], + eerieimpulse: ["9M"], + electricterrain: ["9M"], + electroball: ["9M", "9L0"], + endure: ["9M"], + facade: ["9M"], + fly: ["9M"], + gigaimpact: ["9M"], + growl: ["9L1"], + hurricane: ["9M", "9L55"], + hyperbeam: ["9M"], + peck: ["9L1"], + pluck: ["9L11"], + protect: ["9M"], + quickattack: ["9L7"], + rest: ["9M"], + roost: ["9L24"], + scaryface: ["9M"], + sleeptalk: ["9M"], + spark: ["9L15"], + substitute: ["9M"], + swift: ["9M"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thundershock: ["9L4"], + thunderwave: ["9M"], + uproar: ["9M", "9L19"], + uturn: ["9M"], + voltswitch: ["9M", "9L43"], + weatherball: ["9M"], + wildcharge: ["9M"], + }, + }, + bombirdier: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + aircutter: ["9M"], + airslash: ["9M"], + bravebird: ["9M"], + darkpulse: ["9M"], + drillrun: ["9M"], + dualwingbeat: ["9M", "9L42"], + endure: ["9M"], + facade: ["9M"], + featherdance: ["9E"], + fly: ["9M"], + foulplay: ["9M"], + gigaimpact: ["9M"], + heatwave: ["9M"], + honeclaws: ["9L1"], + hurricane: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icywind: ["9M"], + knockoff: ["9M", "9L53"], + lashout: ["9M"], + leer: ["9L1"], + memento: ["9L1"], + nastyplot: ["9M"], + partingshot: ["9L60"], + payback: ["9L36"], + peck: ["9L1"], + pluck: ["9L20", "9S0"], + powergem: ["9M"], + powertrip: ["9E"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + rockblast: ["9M"], + rockslide: ["9M", "9L47"], + rockthrow: ["9L11", "9S0"], + rocktomb: ["9M", "9L29"], + roost: ["9E"], + sandstorm: ["9M"], + scaryface: ["9M"], + skyattack: ["9E"], + sleeptalk: ["9M"], + snarl: ["9M"], + stealthrock: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + suckerpunch: ["9E"], + sunnyday: ["9M"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M", "9L7"], + torment: ["9L24", "9S0"], + uturn: ["9M"], + whirlwind: ["9L16"], + wingattack: ["9L1", "9S0"], + }, + eventData: [ + {generation: 9, level: 20, gender: "F", nature: "Jolly", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, isHidden: true, moves: ["rockthrow", "wingattack", "pluck", "torment"]}, + ], + }, + squawkabilly: { + learnset: { + aerialace: ["9M", "9L13"], + aircutter: ["9M"], + airslash: ["9M"], + bravebird: ["9M", "9L42"], + copycat: ["9L27"], + doubleedge: ["9E"], + dualwingbeat: ["9M"], + endure: ["9M"], + facade: ["9M", "9L34"], + faketears: ["9M"], + finalgambit: ["9E"], + flatter: ["9E"], + fly: ["9M", "9L30"], + foulplay: ["9M"], + furyattack: ["9L17"], + gigaimpact: ["9M"], + growl: ["9L1"], + heatwave: ["9M"], + helpinghand: ["9M"], + hurricane: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + lashout: ["9M"], + mimic: ["9L1"], + partingshot: ["9E"], + peck: ["9L1"], + pounce: ["9M"], + protect: ["9M"], + quickattack: ["9L6"], + rest: ["9M"], + reversal: ["9M", "9L52"], + roost: ["9L47"], + scaryface: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L38"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L20"], + terablast: ["9M"], + thief: ["9M"], + torment: ["9L10"], + uproar: ["9M", "9L24"], + uturn: ["9M"], + }, + }, + flamigo: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M"], + aircutter: ["9M"], + airslash: ["9M", "9L35"], + bravebird: ["9M", "9L54"], + bulkup: ["9M"], + chillingwater: ["9M"], + closecombat: ["9M"], + copycat: ["9L1"], + detect: ["9L9"], + doublekick: ["9L5"], + doubleteam: ["9E"], + dualwingbeat: ["9M"], + endure: ["9M"], + facade: ["9M"], + feint: ["9L21"], + fling: ["9M"], + fly: ["9M"], + focusenergy: ["9L15"], + gigaimpact: ["9M"], + hurricane: ["9M"], + hyperbeam: ["9M"], + liquidation: ["9M"], + lowkick: ["9M", "9L18"], + lowsweep: ["9M"], + lunge: ["9M"], + megakick: ["9L39"], + payback: ["9L27"], + peck: ["9L1"], + pounce: ["9M"], + protect: ["9M"], + quickguard: ["9E"], + rest: ["9M"], + reversal: ["9M"], + roost: ["9L31"], + skyattack: ["9E"], + sleeptalk: ["9M"], + substitute: ["9M"], + swordsdance: ["9M"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + throatchop: ["9L48"], + uturn: ["9M"], + waterpulse: ["9M"], + wideguard: ["9L44"], + wingattack: ["9L12"], + }, + }, + klawf: { + learnset: { + ancientpower: ["9E"], + block: ["9S0"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + crabhammer: ["9E"], + dig: ["9M"], + earthpower: ["9M"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + flail: ["9L37"], + fling: ["9M"], + gigaimpact: ["9M"], + guillotine: ["9L56"], + harden: ["9L6"], + helpinghand: ["9M"], + highhorsepower: ["9M", "9L47"], + hyperbeam: ["9M"], + irondefense: ["9M", "9L51"], + knockoff: ["9M", "9E"], + metalclaw: ["9M", "9L17"], + mudshot: ["9M"], + mudslap: ["9M"], + powergem: ["9M"], + protect: ["9M", "9L21"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rockblast: ["9M", "9L24"], + rockslide: ["9M", "9L42"], + rocksmash: ["9L9", "9S0"], + rockthrow: ["9L1"], + rocktomb: ["9M", "9L13", "9S0"], + sandstorm: ["9M"], + scaryface: ["9M"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swordsdance: ["9M", "9L33"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + visegrip: ["9L1", "9S0"], + xscissor: ["9M", "9L29"], + }, + eventData: [ + {generation: 9, level: 16, gender: "F", nature: "Gentle", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, abilities: ["angershell"], moves: ["visegrip", "rocksmash", "block", "rocktomb"]}, + ], + }, + nacli: { + learnset: { + ancientpower: ["9E"], + bodyslam: ["9M"], + bulldoze: ["9M"], + curse: ["9E"], + dig: ["9M"], + earthpower: ["9M"], + earthquake: ["9M", "9L40"], + endure: ["9M"], + facade: ["9M"], + fissure: ["9E"], + flashcannon: ["9M"], + harden: ["9L1"], + headbutt: ["9L16"], + heavyslam: ["9M", "9L35"], + helpinghand: ["9M"], + irondefense: ["9M", "9L20"], + ironhead: ["9M"], + mudshot: ["9M", "9L7"], + powergem: ["9M", "9E"], + protect: ["9M"], + raindance: ["9M"], + recover: ["9L25"], + rest: ["9M"], + rockpolish: ["9L13"], + rockslide: ["9M", "9L30"], + rockthrow: ["9L5"], + sandstorm: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M", "9L10"], + stealthrock: ["9M", "9L33"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "9L45"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + zenheadbutt: ["9M"], + }, + }, + naclstack: { + learnset: { + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M"], + dig: ["9M"], + earthpower: ["9M"], + earthquake: ["9M", "9L45"], + endure: ["9M"], + facade: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + harden: ["9L1"], + headbutt: ["9L16"], + heavyslam: ["9M", "9L41"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + irondefense: ["9M", "9L20"], + ironhead: ["9M"], + mudshot: ["9M", "9L7"], + powergem: ["9M"], + protect: ["9M"], + raindance: ["9M"], + recover: ["9L30"], + rest: ["9M"], + rockpolish: ["9L13"], + rockslide: ["9M", "9L34"], + rockthrow: ["9L5"], + saltcure: ["9L0"], + sandstorm: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M", "9L10"], + stealthrock: ["9M", "9L38"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "9L51"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + zenheadbutt: ["9M"], + }, + }, + garganacl: { + learnset: { + avalanche: ["9M"], + block: ["9L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + dig: ["9M"], + earthpower: ["9M"], + earthquake: ["9M", "9L49"], + endure: ["9M"], + explosion: ["9L60"], + facade: ["9M"], + firepunch: ["9M"], + flashcannon: ["9M"], + fling: ["9M"], + focuspunch: ["9M"], + gigaimpact: ["9M"], + gravity: ["9M"], + hammerarm: ["9L0"], + harden: ["9L1"], + headbutt: ["9L16"], + heavyslam: ["9M", "9L44"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + icepunch: ["9M"], + irondefense: ["9M"], + ironhead: ["9M"], + mudshot: ["9M", "9L7"], + powergem: ["9M"], + protect: ["9M", "9S0"], + raindance: ["9M"], + recover: ["9L30", "9S0"], + rest: ["9M"], + rockblast: ["9M", "9L1"], + rockpolish: ["9L13"], + rockslide: ["9M", "9L34"], + rockthrow: ["9L5"], + rocktomb: ["9M", "9L10"], + saltcure: ["9L24", "9S0"], + sandstorm: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M"], + stealthrock: ["9M", "9L40"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "9L54"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunderpunch: ["9M"], + wideguard: ["9L1", "9S0"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 50, gender: "M", nature: "Careful", ivs: {hp: 31, atk: 31, def: 31, spa: 22, spd: 31, spe: 31}, moves: ["saltcure", "recover", "wideguard", "protect"], pokeball: "cherishball"}, + ], + }, + glimmet: { + learnset: { + acidarmor: ["9L41"], + acidspray: ["9M", "9L7"], + ancientpower: ["9L11"], + confuseray: ["9M"], + dazzlinggleam: ["9M"], + endure: ["9M"], + explosion: ["9E"], + facade: ["9M"], + gunkshot: ["9M"], + harden: ["9L1"], + irondefense: ["9M"], + lightscreen: ["9M"], + memento: ["9E"], + mudshot: ["9M"], + powergem: ["9M", "9L37"], + protect: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + rockblast: ["9M"], + rockpolish: ["9L15"], + rockslide: ["9M", "9L33"], + rockthrow: ["9L1"], + rocktomb: ["9M"], + sandstorm: ["9M", "9L26"], + sandtomb: ["9M"], + selfdestruct: ["9L29"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + sludgewave: ["9L46"], + smackdown: ["9M", "9L1"], + spikes: ["9M"], + stealthrock: ["9M", "9L18"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + terablast: ["9M"], + toxic: ["9M", "9E"], + toxicspikes: ["9M"], + venoshock: ["9M", "9L22"], + }, + }, + glimmora: { + learnset: { + acidarmor: ["9L44"], + acidspray: ["9M", "9L7"], + ancientpower: ["9L11"], + confuseray: ["9M"], + dazzlinggleam: ["9M"], + earthpower: ["9M"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + harden: ["9L1"], + hyperbeam: ["9M"], + irondefense: ["9M"], + lightscreen: ["9M"], + mortalspin: ["9L0"], + mudshot: ["9M"], + powergem: ["9M", "9L39"], + protect: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + rockblast: ["9M"], + rockpolish: ["9L15"], + rockslide: ["9M", "9L33"], + rockthrow: ["9L1"], + rocktomb: ["9M"], + sandstorm: ["9M", "9L26"], + sandtomb: ["9M"], + selfdestruct: ["9L29"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + sludgewave: ["9L50"], + smackdown: ["9M", "9L1"], + solarbeam: ["9M"], + spikes: ["9M"], + spikyshield: ["9L1"], + stealthrock: ["9M", "9L18"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + terablast: ["9M"], + toxic: ["9M"], + toxicspikes: ["9M", "9L1"], + venoshock: ["9M", "9L22"], + }, + }, + shroodle: { + learnset: { + acidspray: ["9M", "9L5"], + acrobatics: ["9M"], + batonpass: ["9M"], + bite: ["9L8"], + copycat: ["9E"], + crosspoison: ["9E"], + dig: ["9M"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + flatter: ["9L18"], + fling: ["9M"], + foulplay: ["9M"], + furyswipes: ["9L8"], + gunkshot: ["9M", "9L45"], + helpinghand: ["9M"], + knockoff: ["9M", "9L40"], + leer: ["9L1"], + metronome: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + nastyplot: ["9M"], + partingshot: ["9E"], + poisonfang: ["9L14"], + poisonjab: ["9M", "9L29"], + pounce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scratch: ["9L1"], + slash: ["9L21"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + substitute: ["9M", "9L36"], + sunnyday: ["9M"], + superfang: ["9M", "9E"], + swagger: ["9E"], + switcheroo: ["9L11"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L33"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["9M", "9E"], + trailblaze: ["9M"], + uturn: ["9M", "9L25"], + venoshock: ["9M"], + }, + }, + grafaiai: { + learnset: { + acidspray: ["9M", "9L5"], + acrobatics: ["9M"], + batonpass: ["9M"], + dig: ["9M"], + doodle: ["9L0"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + flatter: ["9L18"], + fling: ["9M"], + foulplay: ["9M"], + furyswipes: ["9L8"], + gigaimpact: ["9M"], + gunkshot: ["9M", "9L51"], + helpinghand: ["9M"], + knockoff: ["9M", "9L45"], + leer: ["9L1"], + lowkick: ["9M"], + lowsweep: ["9M"], + metronome: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + nastyplot: ["9M"], + poisonfang: ["9L14"], + poisonjab: ["9M", "9L33"], + poisontail: ["9M"], + pounce: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + scaryface: ["9M"], + scratch: ["9L1"], + shadowclaw: ["9M"], + slash: ["9L21"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + substitute: ["9M", "9L40"], + sunnyday: ["9M"], + superfang: ["9M"], + switcheroo: ["9L11"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L37"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["9M"], + trailblaze: ["9M"], + uturn: ["9M", "9L25"], + venoshock: ["9M"], + xscissor: ["9M"], + }, + }, + fidough: { + learnset: { + agility: ["9M"], + babydolleyes: ["9L15"], + batonpass: ["9M", "9L26"], + bite: ["9L11"], + bodyslam: ["9M"], + charm: ["9M", "9L36", "9S0"], + copycat: ["9E"], + covet: ["9L8"], + crunch: ["9M", "9L40"], + dazzlinggleam: ["9M"], + dig: ["9M"], + doubleedge: ["9L33"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + growl: ["9L1"], + helpinghand: ["9M"], + howl: ["9E"], + icefang: ["9M"], + lastresort: ["9L45"], + lick: ["9L3", "9S0"], + mistyterrain: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + playrough: ["9M", "9L18", "9S0"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M"], + roar: ["9M", "9L30"], + sleeptalk: ["9M"], + snarl: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetscent: ["9E"], + tackle: ["9L1"], + tailwhip: ["9L6", "9S0"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + trailblaze: ["9M"], + wish: ["9E"], + workup: ["9L22"], + yawn: ["9E"], + }, + eventData: [ + {generation: 9, level: 5, moves: ['playrough', 'charm', 'lick', 'tailwhip'], pokeball: 'cherishball'}, + ], + }, + dachsbun: { + learnset: { + agility: ["9M"], + babydolleyes: ["9L15"], + batonpass: ["9M", "9L29"], + bite: ["9L11"], + bodypress: ["9M"], + bodyslam: ["9M"], + charm: ["9M", "9L42"], + covet: ["9L8"], + crunch: ["9M", "9L47"], + dazzlinggleam: ["9M"], + dig: ["9M"], + doubleedge: ["9L38"], + drainingkiss: ["9M"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + gigaimpact: ["9M"], + growl: ["9L1"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + icefang: ["9M"], + lastresort: ["9L53"], + lick: ["9L3"], + mistyterrain: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + playrough: ["9M", "9L18"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M"], + roar: ["9M", "9L33"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + tackle: ["9L1"], + tailwhip: ["9L6"], + takedown: ["9M"], + terablast: ["9M"], + thunderfang: ["9M"], + trailblaze: ["9M"], + workup: ["9L22"], + }, + }, + maschiff: { + learnset: { + bite: ["9L14"], + bodyslam: ["9M"], + charm: ["9M"], + crunch: ["9M", "9L31"], + darkpulse: ["9M"], + destinybond: ["9E"], + dig: ["9M"], + doubleedge: ["9L49"], + endeavor: ["9E"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9M"], + firefang: ["9M"], + headbutt: ["9L22"], + helpinghand: ["9M"], + honeclaws: ["9L10"], + icefang: ["9M"], + jawlock: ["9L43"], + lashout: ["9M"], + leer: ["9L1"], + lick: ["9L4"], + payback: ["9L26"], + playrough: ["9M", "9E"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M"], + retaliate: ["9E"], + reversal: ["9M", "9L39"], + roar: ["9M", "9L18"], + scaryface: ["9M", "9L1"], + sleeptalk: ["9M"], + snarl: ["9M", "9L7"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L35"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderfang: ["9M"], + trailblaze: ["9M"], + }, + }, + mabosstiff: { + learnset: { + bite: ["9L14"], + bodyslam: ["9M"], + charm: ["9M"], + comeuppance: ["9L0"], + crunch: ["9M", "9L34"], + darkpulse: ["9M"], + dig: ["9M"], + doubleedge: ["9L55"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9M"], + firefang: ["9M"], + gigaimpact: ["9M"], + headbutt: ["9L22"], + helpinghand: ["9M"], + honeclaws: ["9L10"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icefang: ["9M"], + jawlock: ["9L48"], + lashout: ["9M"], + leer: ["9L1"], + lick: ["9L4"], + outrage: ["9M", "9L60"], + payback: ["9L26"], + playrough: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M", "9L43"], + roar: ["9M", "9L18"], + scaryface: ["9M", "9L1"], + sleeptalk: ["9M"], + snarl: ["9M", "9L7"], + spite: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L39"], + tackle: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderfang: ["9M"], + trailblaze: ["9M"], + wildcharge: ["9M"], + }, + }, + bramblin: { + learnset: { + absorb: ["9L5"], + astonish: ["9L1"], + beatup: ["9E"], + block: ["9E"], + bulletseed: ["9M", "9L13"], + confuseray: ["9M"], + curse: ["9L45"], + defensecurl: ["9L1"], + disable: ["9L29"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + gigadrain: ["9M", "9L40"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + hex: ["9M", "9L21"], + infestation: ["9L17"], + leafstorm: ["9M"], + leechseed: ["9E"], + megadrain: ["9L25"], + nightshade: ["9M"], + painsplit: ["9L50"], + phantomforce: ["9M", "9L35"], + poltergeist: ["9M"], + pounce: ["9M"], + powerwhip: ["9L55"], + protect: ["9M"], + rapidspin: ["9L9"], + rest: ["9M"], + rollout: ["9L1"], + scaryface: ["9M"], + seedbomb: ["9M"], + shadowball: ["9M"], + shadowsneak: ["9E"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spikes: ["9M"], + spite: ["9M"], + strengthsap: ["9E"], + substitute: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + }, + }, + brambleghast: { + learnset: { + absorb: ["9L5"], + astonish: ["9L1"], + bulletseed: ["9M", "9L13"], + confuseray: ["9M"], + curse: ["9L45"], + defensecurl: ["9L1"], + disable: ["9L29"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + gigadrain: ["9M", "9L40"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + hex: ["9M", "9L21"], + hyperbeam: ["9M"], + infestation: ["9L17"], + leafstorm: ["9M"], + megadrain: ["9L25"], + nightshade: ["9M"], + painsplit: ["9L50"], + phantomforce: ["9M", "9L35"], + poltergeist: ["9M"], + pounce: ["9M"], + powerwhip: ["9L55"], + protect: ["9M"], + rapidspin: ["9L9"], + rest: ["9M"], + rollout: ["9L1"], + scaryface: ["9M"], + seedbomb: ["9M"], + shadowball: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spikes: ["9M"], + spite: ["9M"], + substitute: ["9M"], + terablast: ["9M"], + thief: ["9M"], + trailblaze: ["9M"], + }, + }, + gimmighoul: { + learnset: { + astonish: ["9L1", "9S2", "9S0"], + confuseray: ["9M"], + endure: ["9M"], + hex: ["9M", "9S1"], + lightscreen: ["9M"], + nastyplot: ["9M"], + nightshade: ["9M"], + powergem: ["9M", "9S1"], + protect: ["9M"], + reflect: ["9M"], + rest: ["9M"], + shadowball: ["9M", "9S1"], + sleeptalk: ["9M"], + substitute: ["9M"], + tackle: ["9L1", "9S2", "9S0"], + takedown: ["9M", "9S1"], + terablast: ["9M"], + thief: ["9M"], + }, + eventData: [ + {generation: 9, level: 5, moves: ["astonish", "tackle"]}, + {generation: 9, level: 75, shiny: 1, perfectIVs: 4, moves: ["takedown", "shadowball", "hex", "powergem"]}, + {generation: 9, level: 5, nature: "Timid", ivs: {hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 31}, moves: ["astonish", "tackle"]}, + ], + eventOnly: true, + }, + gholdengo: { + learnset: { + astonish: ["9L1"], + chargebeam: ["9M"], + confuseray: ["9M", "9L14"], + dazzlinggleam: ["9M"], + electroball: ["9M"], + endure: ["9M"], + flashcannon: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + focuspunch: ["9M"], + gigaimpact: ["9M"], + heavyslam: ["9M"], + hex: ["9M"], + hyperbeam: ["9M"], + ironhead: ["9M"], + lightscreen: ["9M"], + lowkick: ["9M"], + lowsweep: ["9M"], + makeitrain: ["9L56"], + memento: ["9L70"], + metalsound: ["9L28"], + nastyplot: ["9M", "9L63"], + nightshade: ["9M", "9L7"], + poltergeist: ["9M"], + powergem: ["9M", "9L49"], + protect: ["9M"], + psychic: ["9M"], + psyshock: ["9M"], + recover: ["9L42"], + reflect: ["9M"], + rest: ["9M"], + sandstorm: ["9M"], + shadowball: ["9M", "9L35"], + sleeptalk: ["9M"], + steelbeam: ["9M"], + substitute: ["9M", "9L21"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderpunch: ["9M"], + thunderwave: ["9M"], + trick: ["9M"], + }, + }, + greattusk: { + learnset: { + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M", "9L28", "9S0"], + bulkup: ["9M"], + bulldoze: ["9M", "9L7"], + closecombat: ["9M", "9L63"], + defensecurl: ["9L1"], + dig: ["9M"], + earthpower: ["9M"], + earthquake: ["9M", "9L49", "9S1"], + endeavor: ["9L70"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M", "9L56", "9S1"], + headlongrush: ["9L91"], + headsmash: ["9L84"], + heavyslam: ["9M"], + highhorsepower: ["9M"], + hornattack: ["9L1"], + hyperbeam: ["9M"], + icefang: ["9M"], + icespinner: ["9M"], + ironhead: ["9M"], + knockoff: ["9M", "9L42", "9S0", "9S1"], + megahorn: ["9L77"], + mudshot: ["9M"], + mudslap: ["9M"], + playrough: ["9M"], + protect: ["9M"], + psyshock: ["9M"], + rapidspin: ["9L21", "9S0"], + rest: ["9M"], + reversal: ["9M"], + roar: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + rollout: ["9L1"], + sandstorm: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + smackdown: ["9M"], + smartstrike: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M", "9L35", "9S0", "9S1"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + takedown: ["9M"], + taunt: ["9M", "9L14"], + terablast: ["9M"], + thunderfang: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 45, nature: "Naughty", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["rapidspin", "brickbreak", "knockoff", "stompingtantrum"]}, + {generation: 9, level: 57, shiny: 1, moves: ["stompingtantrum", "knockoff", "earthquake", "gigaimpact"]}, + ], + eventOnly: true, + }, + brutebonnet: { + learnset: { + absorb: ["9L1"], + astonish: ["9L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulletseed: ["9M"], + clearsmog: ["9L28", "9S0"], + closecombat: ["9M"], + confuseray: ["9M"], + crunch: ["9M"], + darkpulse: ["9M"], + earthpower: ["9M"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + gigadrain: ["9M", "9L49", "9S0"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M"], + growth: ["9L1"], + hex: ["9M"], + hyperbeam: ["9M"], + ingrain: ["9L70"], + lashout: ["9M"], + leafstorm: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L14"], + outrage: ["9M"], + payback: ["9L35", "9S0"], + pollenpuff: ["9M"], + protect: ["9M"], + ragepowder: ["9L77"], + rest: ["9M"], + scaryface: ["9M"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M", "9L91"], + spore: ["9L63"], + stompingtantrum: ["9M"], + stunspore: ["9L7"], + substitute: ["9M"], + suckerpunch: ["9L56"], + sunnyday: ["9M", "9L1"], + synthesis: ["9L21"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thrash: ["9L42", "9S0"], + trailblaze: ["9M"], + venoshock: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["thrash", "gigadrain", "clearsmog", "payback"]}, + ], + eventOnly: true, + }, + sandyshocks: { + learnset: { + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M", "9L14"], + charge: ["9M"], + chargebeam: ["9M", "9L21"], + discharge: ["9L56"], + earthpower: ["9M", "9L63"], + earthquake: ["9M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L1"], + electroball: ["9M"], + endure: ["9M"], + facade: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + gravity: ["9M", "9L77"], + heavyslam: ["9M", "9L42", "9S0"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + irondefense: ["9M"], + lightscreen: ["9M"], + magneticflux: ["9L91"], + metalsound: ["9L49", "9S0"], + mirrorcoat: ["9L70"], + mudshot: ["9M"], + powergem: ["9M"], + protect: ["9M"], + reflect: ["9M"], + rest: ["9M"], + sandstorm: ["9M"], + sandtomb: ["9M"], + screech: ["9L35", "9S0"], + sleeptalk: ["9M"], + spark: ["9L7"], + spikes: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + supersonic: ["9L1"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thundershock: ["9L1"], + thunderwave: ["9M", "9L1"], + triattack: ["9L28", "9S0"], + voltswitch: ["9M"], + wildcharge: ["9M"], + zapcannon: ["9L84"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["screech", "heavyslam", "metalsound", "triattack"]}, + ], + eventOnly: true, + }, + screamtail: { + learnset: { + amnesia: ["9M"], + batonpass: ["9M"], + bite: ["9L21"], + blizzard: ["9M"], + bodyslam: ["9M", "9L28", "9S0"], + boomburst: ["9L91"], + bulkup: ["9M"], + calmmind: ["9M"], + crunch: ["9M", "9L63"], + dazzlinggleam: ["9M"], + dig: ["9M"], + disable: ["9L1"], + drainpunch: ["9M"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + faketears: ["9M"], + fireblast: ["9M"], + firefang: ["9M"], + firepunch: ["9M"], + flamethrower: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + gyroball: ["9M", "9L77"], + helpinghand: ["9M"], + howl: ["9L7"], + hyperbeam: ["9M"], + hypervoice: ["9M", "9L49", "9S0"], + icebeam: ["9M"], + icefang: ["9M"], + icepunch: ["9M"], + imprison: ["9M"], + lightscreen: ["9M"], + metronome: ["9M"], + mistyexplosion: ["9M"], + mistyterrain: ["9M"], + nobleroar: ["9L14"], + perishsong: ["9L84"], + playrough: ["9M", "9L42", "9S0"], + pound: ["9L1"], + protect: ["9M"], + psybeam: ["9M"], + psychic: ["9M"], + psychicfangs: ["9M", "9L56"], + psychicterrain: ["9M"], + psyshock: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M", "9L35", "9S0"], + roar: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + sing: ["9L1"], + sleeptalk: ["9M"], + snowscape: ["9M"], + stealthrock: ["9M"], + stompingtantrum: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderfang: ["9M"], + thunderpunch: ["9M"], + thunderwave: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + uproar: ["9M"], + waterpulse: ["9M"], + wish: ["9L70"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["playrough", "hypervoice", "bodyslam", "rest"]}, + ], + eventOnly: true, + }, + fluttermane: { + learnset: { + astonish: ["9L1"], + calmmind: ["9M"], + chargebeam: ["9M"], + charm: ["9M"], + confuseray: ["9M", "9L1"], + darkpulse: ["9M"], + dazzlinggleam: ["9M", "9L35", "9S0"], + disarmingvoice: ["9M"], + drainingkiss: ["9M"], + endure: ["9M"], + energyball: ["9M"], + faketears: ["9M"], + gigaimpact: ["9M"], + helpinghand: ["9M"], + hex: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + icywind: ["9M"], + imprison: ["9M"], + magicalleaf: ["9M"], + meanlook: ["9L14"], + memento: ["9L21"], + mistyterrain: ["9M"], + moonblast: ["9L84"], + mysticalfire: ["9L49", "9S0"], + nightshade: ["9M"], + painsplit: ["9L77"], + perishsong: ["9L91"], + phantomforce: ["9M", "9L70"], + poltergeist: ["9M"], + powergem: ["9M", "9L56"], + protect: ["9M"], + psybeam: ["9M", "9L7"], + psyshock: ["9M", "9L63"], + rest: ["9M"], + shadowball: ["9M", "9L42", "9S0"], + sleeptalk: ["9M"], + spite: ["9M", "9L1"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + swift: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderwave: ["9M"], + trickroom: ["9M"], + wish: ["9L28", "9S0"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["shadowball", "mysticalfire", "wish", "dazzlinggleam"]}, + ], + eventOnly: true, + }, + slitherwing: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bugbite: ["9M", "9L1"], + bugbuzz: ["9M"], + bulkup: ["9M", "9L56"], + closecombat: ["9M"], + dualwingbeat: ["9M", "9L63"], + earthquake: ["9M"], + ember: ["9L1"], + endure: ["9M"], + facade: ["9M"], + firstimpression: ["9L70"], + flamecharge: ["9M", "9L14"], + flareblitz: ["9M"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + gust: ["9L1"], + heatcrash: ["9M"], + heatwave: ["9M"], + heavyslam: ["9M"], + highhorsepower: ["9M"], + hurricane: ["9M"], + hyperbeam: ["9M"], + leechlife: ["9M", "9L84"], + lowkick: ["9M"], + lowsweep: ["9M", "9L28", "9S0"], + lunge: ["9M", "9L42", "9S0"], + morningsun: ["9L35", "9S0"], + poisonpowder: ["9L7"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + reversal: ["9M"], + sandstorm: ["9M"], + sleeptalk: ["9M"], + stomp: ["9L21"], + stompingtantrum: ["9M"], + stunspore: ["9L7"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + superpower: ["9L49", "9S0"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L91"], + trailblaze: ["9M"], + uturn: ["9M"], + whirlwind: ["9L77"], + wildcharge: ["9M"], + willowisp: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["morningsun", "lunge", "superpower", "lowsweep"]}, + ], + eventOnly: true, + }, + roaringmoon: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + airslash: ["9M"], + bite: ["9L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + breakingswipe: ["9L1"], + brickbreak: ["9M"], + crunch: ["9M"], + darkpulse: ["9M"], + dig: ["9M"], + doubleedge: ["9L91"], + dracometeor: ["9M"], + dragonbreath: ["9L1"], + dragonclaw: ["9M", "9L28", "9S0"], + dragondance: ["9M", "9L56"], + dragonpulse: ["9M"], + dragonrush: ["9L63"], + dragontail: ["9M"], + earthquake: ["9M"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M"], + firespin: ["9M"], + flamethrower: ["9M", "9L42", "9S0"], + fly: ["9M", "9L70"], + focusenergy: ["9L1"], + gigaimpact: ["9M"], + headbutt: ["9L14"], + heatwave: ["9M"], + hurricane: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + incinerate: ["9L7"], + ironhead: ["9M"], + jawlock: ["9L1"], + knockoff: ["9M"], + lashout: ["9M"], + leer: ["9L1"], + metalclaw: ["9M"], + nightslash: ["9L49", "9S0"], + outrage: ["9M"], + protect: ["9M"], + rest: ["9M"], + roar: ["9M"], + rockslide: ["9M"], + roost: ["9L84"], + scaleshot: ["9M", "9L1"], + scaryface: ["9M", "9L21"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + stompingtantrum: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + throatchop: ["9L77"], + thunderfang: ["9M"], + uturn: ["9M"], + xscissor: ["9M"], + zenheadbutt: ["9M", "9L35", "9S0"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["zenheadbutt", "flamethrower", "nightslash", "dragonclaw"]}, + ], + eventOnly: true, + }, + irontreads: { + learnset: { + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M", "9L7"], + defensecurl: ["9L1"], + earthpower: ["9M"], + earthquake: ["9M", "9L49", "9S1"], + electricterrain: ["9M", "9L1"], + electroball: ["9M"], + endeavor: ["9L70"], + facade: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M", "9L84"], + gyroball: ["9M"], + heavyslam: ["9M", "9L56", "9S1"], + highhorsepower: ["9M"], + hornattack: ["9L1"], + hyperbeam: ["9M"], + icefang: ["9M"], + icespinner: ["9M"], + irondefense: ["9M"], + ironhead: ["9M", "9L28", "9S0"], + knockoff: ["9M", "9L42", "9S0", "9S1"], + megahorn: ["9L77"], + mudshot: ["9M"], + mudslap: ["9M"], + protect: ["9M"], + rapidspin: ["9L21", "9S0"], + rest: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + rollout: ["9L1"], + sandstorm: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M"], + steelroller: ["9L91"], + stompingtantrum: ["9M", "9L35", "9S0", "9S1"], + stoneedge: ["9M"], + substitute: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderfang: ["9M"], + voltswitch: ["9M"], + wildcharge: ["9M", "9L63"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 45, nature: "Naughty", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["rapidspin", "ironhead", "knockoff", "stompingtantrum"]}, + {generation: 9, level: 57, shiny: 1, moves: ["knockoff", "earthquake", "heavyslam", "stompingtantrum"]}, + ], + }, + ironmoth: { + learnset: { + acidspray: ["9M", "9L1"], + acrobatics: ["9M"], + agility: ["9M"], + airslash: ["9M"], + bugbuzz: ["9M", "9L84"], + chargebeam: ["9M"], + confuseray: ["9M"], + dazzlinggleam: ["9M"], + discharge: ["9L42", "9S0"], + electricterrain: ["9M", "9L1"], + ember: ["9L1"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + fierydance: ["9L56"], + fireblast: ["9M"], + firespin: ["9M", "9L14"], + flamecharge: ["9M"], + flamethrower: ["9M"], + flareblitz: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + gust: ["9L1"], + heatwave: ["9M"], + helpinghand: ["9M"], + hurricane: ["9M", "9L77"], + hyperbeam: ["9M"], + lightscreen: ["9M"], + lunge: ["9M", "9L28", "9S0"], + metalsound: ["9L63"], + morningsun: ["9L70"], + overheat: ["9M", "9L91"], + pounce: ["9M"], + protect: ["9M"], + psychic: ["9M"], + rest: ["9M"], + screech: ["9L35", "9S0"], + sleeptalk: ["9M"], + sludgewave: ["9L49", "9S0"], + solarbeam: ["9M"], + strugglebug: ["9M", "9L7"], + substitute: ["9M"], + sunnyday: ["9M"], + swift: ["9M"], + takedown: ["9M", "9L21"], + terablast: ["9M"], + toxic: ["9M"], + toxicspikes: ["9M"], + uturn: ["9M"], + venoshock: ["9M"], + whirlwind: ["9L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["screech", "discharge", "sludgewave", "lunge"]}, + ], + eventOnly: true, + }, + ironhands: { + learnset: { + armthrust: ["9L1"], + bellydrum: ["9L84"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + charge: ["9M", "9L49", "9S0"], + closecombat: ["9M", "9L63"], + detect: ["9L70"], + drainpunch: ["9M"], + earthquake: ["9M"], + electricterrain: ["9M", "9L1"], + endure: ["9M"], + facade: ["9M"], + fakeout: ["9L7"], + firepunch: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + focusenergy: ["9L1"], + focuspunch: ["9M", "9L91"], + forcepalm: ["9L35", "9S0"], + gigaimpact: ["9M"], + heavyslam: ["9M", "9L77"], + hyperbeam: ["9M"], + icepunch: ["9M"], + irondefense: ["9M"], + ironhead: ["9M"], + lowkick: ["9M"], + lowsweep: ["9M"], + metronome: ["9M"], + playrough: ["9M"], + protect: ["9M"], + rest: ["9M"], + reversal: ["9M"], + rockslide: ["9M"], + rocktomb: ["9M"], + sandattack: ["9L1"], + scaryface: ["9M"], + seismictoss: ["9L42", "9S0"], + slam: ["9L28", "9S0"], + sleeptalk: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + swordsdance: ["9M"], + tackle: ["9L1"], + takedown: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderpunch: ["9M", "9L21"], + voltswitch: ["9M"], + whirlwind: ["9L14"], + wildcharge: ["9M", "9L56"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["forcepalm", "seismictoss", "charge", "slam"]}, + ], + eventOnly: true, + }, + ironjugulis: { + learnset: { + acrobatics: ["9M"], + aircutter: ["9M", "9L1"], + airslash: ["9M", "9L56"], + assurance: ["9L14"], + bodyslam: ["9M"], + chargebeam: ["9M"], + crunch: ["9M", "9L35", "9S0"], + darkpulse: ["9M", "9L70"], + dragonbreath: ["9L21", "9S0"], + dragonpulse: ["9M", "9L84"], + dragontail: ["9M"], + dualwingbeat: ["9M"], + earthpower: ["9M"], + electricterrain: ["9M", "9L1"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M"], + flamethrower: ["9M"], + flashcannon: ["9M"], + fly: ["9M"], + focusblast: ["9M"], + focusenergy: ["9L1"], + gigaimpact: ["9M"], + heatwave: ["9M"], + hurricane: ["9M"], + hydropump: ["9M"], + hyperbeam: ["9M", "9L91"], + hypervoice: ["9M", "9L42", "9S0"], + ironhead: ["9M"], + knockoff: ["9M", "9L63"], + lashout: ["9M"], + outrage: ["9M", "9L77"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + roar: ["9M", "9L7"], + rocktomb: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M", "9L28", "9S0"], + substitute: ["9M"], + sunnyday: ["9M"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + triattack: ["9L1"], + uturn: ["9M"], + workup: ["9L1"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["snarl", "crunch", "hypervoice", "dragonbreath"]}, + ], + eventOnly: true, + }, + ironthorns: { + learnset: { + bite: ["9L28", "9S0"], + blizzard: ["9M"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + bulldoze: ["9M"], + charge: ["9M", "9L35", "9S0"], + chargebeam: ["9M"], + crunch: ["9M"], + dig: ["9M"], + dragonclaw: ["9M"], + dragondance: ["9M"], + dragontail: ["9M"], + earthpower: ["9M"], + earthquake: ["9M", "9L70"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L1"], + electroball: ["9M"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M", "9L1"], + firepunch: ["9M"], + flamethrower: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + gigaimpact: ["9M", "9L91"], + heavyslam: ["9M"], + highhorsepower: ["9M"], + hyperbeam: ["9M"], + icebeam: ["9M"], + icefang: ["9M", "9L1"], + icepunch: ["9M"], + irondefense: ["9M", "9L1"], + ironhead: ["9M"], + lowkick: ["9M"], + metalclaw: ["9M"], + pinmissile: ["9L63"], + powergem: ["9M"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + rockblast: ["9M"], + rockslide: ["9M", "9L42", "9S0"], + rockthrow: ["9L1"], + rocktomb: ["9M", "9L21"], + sandstorm: ["9M", "9L49", "9S0"], + sandtomb: ["9M"], + scaryface: ["9M"], + screech: ["9L7"], + sleeptalk: ["9M"], + smackdown: ["9M"], + snarl: ["9M"], + spikes: ["9M"], + stealthrock: ["9M", "9L77"], + stompingtantrum: ["9M"], + stoneedge: ["9M", "9L84"], + substitute: ["9M"], + sunnyday: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + thunderfang: ["9M", "9L1"], + thunderpunch: ["9M"], + thunderwave: ["9M"], + voltswitch: ["9M"], + wildcharge: ["9M", "9L56"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["charge", "rockslide", "sandstorm", "bite"]}, + ], + eventOnly: true, + }, + ironbundle: { + learnset: { + acrobatics: ["9M"], + agility: ["9M", "9L63"], + aircutter: ["9M"], + auroraveil: ["9L84"], + avalanche: ["9M"], + blizzard: ["9M", "9L91"], + bodyslam: ["9M"], + chillingwater: ["9M"], + drillpeck: ["9L28", "9S0"], + electricterrain: ["9M", "9L1"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + fling: ["9M"], + flipturn: ["9M", "9L49", "9S0"], + freezedry: ["9L42", "9S0"], + gigaimpact: ["9M"], + helpinghand: ["9M", "9L35", "9S0"], + hydropump: ["9M", "9L77"], + hyperbeam: ["9M"], + icebeam: ["9M", "9L56"], + icepunch: ["9M"], + icespinner: ["9M"], + icywind: ["9M"], + playrough: ["9M"], + powdersnow: ["9L7"], + present: ["9L1"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + sleeptalk: ["9M"], + snowscape: ["9M", "9L70"], + substitute: ["9M"], + swift: ["9M"], + takedown: ["9M", "9L21"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + uturn: ["9M"], + waterpulse: ["9M"], + whirlpool: ["9L14"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["drillpeck", "helpinghand", "freezedry", "flipturn"]}, + ], + eventOnly: true, + }, + ironvaliant: { + learnset: { + aerialace: ["9M"], + agility: ["9M"], + aurasphere: ["9M"], + brickbreak: ["9M"], + calmmind: ["9M"], + chargebeam: ["9M"], + closecombat: ["9M", "9L63"], + confuseray: ["9M"], + dazzlinggleam: ["9M", "9L28", "9S0"], + destinybond: ["9L77"], + disable: ["9L1"], + doubleteam: ["9L1"], + drainpunch: ["9M"], + electricterrain: ["9M", "9L1"], + encore: ["9M"], + endure: ["9M"], + energyball: ["9M"], + falseswipe: ["9M"], + feint: ["9L14"], + firepunch: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + furycutter: ["9L1"], + futuresight: ["9L21"], + gigaimpact: ["9M"], + grassknot: ["9M"], + helpinghand: ["9M"], + hex: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + hypnosis: ["9L7"], + icepunch: ["9M"], + icywind: ["9M"], + imprison: ["9M"], + knockoff: ["9M", "9L70"], + leafblade: ["9L49", "9S0"], + lightscreen: ["9M"], + liquidation: ["9M"], + lowkick: ["9M"], + magicalleaf: ["9M"], + metronome: ["9M"], + mistyterrain: ["9M"], + moonblast: ["9L56"], + nightslash: ["9L42", "9S0"], + poisonjab: ["9M"], + protect: ["9M"], + psybeam: ["9M"], + psychic: ["9M"], + psychicterrain: ["9M"], + psychocut: ["9L35", "9S0"], + psyshock: ["9M"], + quickguard: ["9L84"], + reflect: ["9M"], + rest: ["9M"], + reversal: ["9M"], + shadowball: ["9M"], + shadowclaw: ["9M"], + shadowsneak: ["9L1"], + skillswap: ["9M"], + sleeptalk: ["9M"], + spiritbreak: ["9L91"], + storedpower: ["9M"], + substitute: ["9M"], + swift: ["9M"], + swordsdance: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunderbolt: ["9M"], + thunderpunch: ["9M"], + thunderwave: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + vacuumwave: ["9M"], + wideguard: ["9L84"], + xscissor: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["psychocut", "nightslash", "leafblade", "dazzlinggleam"]}, + ], + eventOnly: true, + }, + tinglu: { + learnset: { + bodypress: ["9M"], + bodyslam: ["9M"], + bulldoze: ["9M", "9L20"], + darkpulse: ["9M", "9L40"], + dig: ["9M"], + earthpower: ["9M"], + earthquake: ["9M", "9L70"], + endure: ["9M"], + facade: ["9M"], + fissure: ["9L75"], + gigaimpact: ["9M"], + heavyslam: ["9M"], + hex: ["9M"], + hyperbeam: ["9M"], + lashout: ["9M"], + meanlook: ["9L1"], + memento: ["9L65"], + mudshot: ["9M"], + mudslap: ["9M"], + payback: ["9L10"], + protect: ["9M"], + rest: ["9M"], + rockslide: ["9M", "9L60", "9S0"], + rocktomb: ["9M"], + ruination: ["9L50", "9S0"], + sandstorm: ["9M"], + sandtomb: ["9M", "9L1"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + spikes: ["9M", "9L5"], + spite: ["9M", "9L1"], + stealthrock: ["9M"], + stomp: ["9L15"], + stompingtantrum: ["9M", "9L45", "9S0"], + stoneedge: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + takedown: ["9M"], + taunt: ["9M", "9L30"], + terablast: ["9M"], + thrash: ["9L35"], + throatchop: ["9L55", "9S0"], + whirlwind: ["9L25"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["stompingtantrum", "ruination", "throatchop", "rockslide"]}, + ], + eventOnly: true, + }, + chienpao: { + learnset: { + acrobatics: ["9M"], + aerialace: ["9M"], + avalanche: ["9M"], + blizzard: ["9M"], + brickbreak: ["9M"], + crunch: ["9M"], + darkpulse: ["9M", "9L40"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + gigaimpact: ["9M"], + haze: ["9M", "9L15"], + hex: ["9M"], + hyperbeam: ["9M"], + icefang: ["9M"], + iceshard: ["9L20"], + icespinner: ["9M"], + iciclecrash: ["9L45", "9S0"], + icywind: ["9M", "9L5"], + lashout: ["9M"], + meanlook: ["9L1"], + mist: ["9L15"], + nightslash: ["9L35"], + payback: ["9L10"], + powdersnow: ["9L1"], + protect: ["9M"], + psychicfangs: ["9M"], + raindance: ["9M"], + recover: ["9L65"], + rest: ["9M"], + ruination: ["9L50", "9S0"], + sacredsword: ["9L60", "9S0"], + scaryface: ["9M"], + sheercold: ["9L75"], + sleeptalk: ["9M"], + snarl: ["9M"], + snowscape: ["9M", "9L30"], + spite: ["9M", "9L1"], + substitute: ["9M"], + suckerpunch: ["9L55", "9S0"], + swordsdance: ["9M", "9L25"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + throatchop: ["9L70"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["iciclecrash", "ruination", "suckerpunch", "sacredsword"]}, + ], + eventOnly: true, + }, + wochien: { + learnset: { + absorb: ["9L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + bulletseed: ["9M"], + darkpulse: ["9M", "9L40"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + foulplay: ["9M", "9L55", "9S0"], + gigadrain: ["9M", "9L45", "9S0"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M", "9L65"], + growth: ["9L30"], + hex: ["9M"], + hyperbeam: ["9M"], + ingrain: ["9L35"], + knockoff: ["9M", "9L70"], + lashout: ["9M"], + leafstorm: ["9M", "9L75"], + leechseed: ["9L25"], + lightscreen: ["9M"], + magicalleaf: ["9M"], + meanlook: ["9L1"], + megadrain: ["9L20"], + mudshot: ["9M"], + mudslap: ["9M"], + payback: ["9L10"], + poisonpowder: ["9L15"], + pollenpuff: ["9M"], + powerwhip: ["9L60", "9S0"], + protect: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + rest: ["9M"], + ruination: ["9L50", "9S0"], + scaryface: ["9M"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + solarbeam: ["9M"], + solarblade: ["9M"], + spite: ["9M", "9L1"], + stunspore: ["9L15"], + substitute: ["9M"], + sunnyday: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + tickle: ["9L5"], + trailblaze: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["gigadrain", "ruination", "foulplay", "powerwhip"]}, + ], + eventOnly: true, + }, + chiyu: { + learnset: { + bounce: ["9L55", "9S0"], + burningjealousy: ["9M"], + confuseray: ["9M", "9L30"], + crunch: ["9M"], + darkpulse: ["9M", "9L40"], + ember: ["9L1"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firespin: ["9M"], + flamecharge: ["9M", "9L20"], + flamethrower: ["9M"], + flamewheel: ["9L5"], + flareblitz: ["9M"], + gigaimpact: ["9M"], + heatwave: ["9M"], + hex: ["9M"], + hyperbeam: ["9M"], + incinerate: ["9L25"], + inferno: ["9L65"], + lashout: ["9M"], + lavaplume: ["9L45", "9S0"], + lightscreen: ["9M"], + meanlook: ["9L1"], + memento: ["9L70"], + nastyplot: ["9M", "9L35"], + overheat: ["9M", "9L75"], + payback: ["9L10"], + protect: ["9M"], + psychic: ["9M"], + reflect: ["9M"], + rest: ["9M"], + ruination: ["9L50", "9S0"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + spite: ["9M", "9L1"], + substitute: ["9M"], + sunnyday: ["9M"], + swagger: ["9L60", "9S0"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + willowisp: ["9M", "9L15"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["lavaplume", "ruination", "bounce", "swagger"]}, + ], + eventOnly: true, + }, + koraidon: { + learnset: { + acrobatics: ["9M"], + agility: ["9M", "9L35"], + ancientpower: ["9L14"], + bodypress: ["9M"], + bodyslam: ["9M"], + breakingswipe: ["9L1"], + brickbreak: ["9M", "9L28"], + bulkup: ["9M", "9S1"], + bulldoze: ["9M"], + closecombat: ["9M", "9L84"], + collisioncourse: ["9L56", "9S0", "9S1"], + counter: ["9L70"], + crunch: ["9M"], + dig: ["9M"], + dracometeor: ["9M"], + dragonclaw: ["9M", "9L42"], + dragonpulse: ["9M"], + dragontail: ["9M"], + drainpunch: ["9M", "9L21"], + dualwingbeat: ["9M"], + endure: ["9M", "9S0"], + facade: ["9M"], + fireblast: ["9M"], + firefang: ["9M"], + firespin: ["9M"], + flamecharge: ["9M"], + flamethrower: ["9M", "9L49", "9S0", "9S1"], + flareblitz: ["9M", "9L91"], + focusblast: ["9M"], + focuspunch: ["9M"], + gigaimpact: ["9M", "9L98", "9S1"], + heatcrash: ["9M"], + heatwave: ["9M"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + icefang: ["9M"], + ironhead: ["9M"], + lowkick: ["9M"], + lowsweep: ["9M"], + mudshot: ["9M"], + mudslap: ["9M"], + outrage: ["9M", "9L77"], + overheat: ["9M"], + protect: ["9M"], + rest: ["9M"], + reversal: ["9M"], + roar: ["9M"], + rocksmash: ["9L7"], + scaleshot: ["9M"], + scaryface: ["9M"], + screech: ["9L63"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + solarbeam: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M", "9S0"], + thunderfang: ["9M"], + uproar: ["9M"], + uturn: ["9M"], + wildcharge: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 68, nature: "Quirky", ivs: {hp: 31, atk: 31, def: 28, spa: 31, spd: 28, spe: 31}, moves: ["flamethrower", "collisioncourse", "endure", "terablast"], pokeball: "pokeball"}, + {generation: 9, level: 72, nature: "Adamant", ivs: {hp: 25, atk: 31, def: 25, spa: 31, spd: 25, spe: 31}, moves: ["gigaimpact", "bulkup", "collisioncourse", "flamethrower"]}, + ], + eventOnly: true, + }, + miraidon: { + learnset: { + acrobatics: ["9M"], + agility: ["9M", "9L35"], + bodyslam: ["9M"], + calmmind: ["9M"], + charge: ["9M", "9L14", "9S1"], + chargebeam: ["9M"], + confuseray: ["9M"], + crunch: ["9M"], + dazzlinggleam: ["9M"], + discharge: ["9L28"], + dracometeor: ["9M"], + dragonbreath: ["9L1"], + dragonclaw: ["9M"], + dragonpulse: ["9M", "9L42"], + dragontail: ["9M"], + eerieimpulse: ["9M"], + electricterrain: ["9M", "9L1"], + electroball: ["9M"], + electrodrift: ["9L56", "9S0", "9S1"], + endure: ["9M", "9S0"], + facade: ["9M"], + flashcannon: ["9M"], + gigaimpact: ["9M"], + heavyslam: ["9M"], + helpinghand: ["9M"], + hyperbeam: ["9M", "9L98", "9S1"], + lightscreen: ["9M"], + metalsound: ["9L63"], + mirrorcoat: ["9L70"], + outrage: ["9M", "9L77"], + overheat: ["9M", "9L91"], + paraboliccharge: ["9L21"], + powergem: ["9M", "9S0", "9S1"], + protect: ["9M"], + reflect: ["9M"], + rest: ["9M"], + scaryface: ["9M"], + shockwave: ["9L7"], + sleeptalk: ["9M"], + snarl: ["9M"], + solarbeam: ["9M"], + substitute: ["9M"], + swordsdance: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M", "9S0"], + thunder: ["9M", "9L84"], + thunderbolt: ["9M"], + thundershock: ["9L1"], + thunderwave: ["9M"], + uturn: ["9M"], + voltswitch: ["9M"], + wildcharge: ["9M"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 68, nature: "Quirky", ivs: {hp: 31, atk: 31, def: 28, spa: 31, spd: 28, spe: 31}, moves: ["powergem", "electrodrift", "endure", "terablast"], pokeball: "pokeball"}, + {generation: 9, level: 72, nature: "Modest", ivs: {hp: 25, atk: 31, def: 25, spa: 31, spd: 25, spe: 31}, moves: ["hyperbeam", "charge", "electrodrift", "powergem"]}, + ], + eventOnly: true, + }, + tinkatink: { + learnset: { + astonish: ["9L1"], + babydolleyes: ["9L5"], + brutalswing: ["9L24"], + covet: ["9L11"], + drainingkiss: ["9M", "9L17"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + fairywind: ["9L1"], + fakeout: ["9L39"], + faketears: ["9M"], + feint: ["9E"], + flashcannon: ["9M", "9L31"], + flatter: ["9L43"], + fling: ["9M"], + foulplay: ["9M"], + helpinghand: ["9M"], + icehammer: ["9E"], + knockoff: ["9M", "9L52"], + lightscreen: ["9M"], + metalclaw: ["9M", "9L8"], + metronome: ["9M"], + playrough: ["9M", "9L35"], + pounce: ["9M"], + protect: ["9M"], + quash: ["9E"], + reflect: ["9M"], + rest: ["9M"], + rockslide: ["9M"], + rocksmash: ["9L14"], + rocktomb: ["9M"], + skillswap: ["9M"], + skittersmack: ["9L47"], + slam: ["9L27"], + sleeptalk: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sweetkiss: ["9L21"], + swordsdance: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderwave: ["9M"], + }, + }, + tinkatuff: { + learnset: { + astonish: ["9L1"], + babydolleyes: ["9L5"], + brickbreak: ["9M"], + brutalswing: ["9L24"], + covet: ["9L11"], + drainingkiss: ["9M", "9L17"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + fairywind: ["9L1"], + fakeout: ["9L39"], + faketears: ["9M"], + flashcannon: ["9M", "9L31"], + flatter: ["9L43"], + fling: ["9M"], + foulplay: ["9M"], + helpinghand: ["9M"], + knockoff: ["9M", "9L52"], + lightscreen: ["9M"], + metalclaw: ["9M", "9L8"], + metronome: ["9M"], + playrough: ["9M", "9L35"], + pounce: ["9M"], + protect: ["9M"], + reflect: ["9M"], + rest: ["9M"], + rockslide: ["9M"], + rocksmash: ["9L14"], + rocktomb: ["9M"], + skillswap: ["9M"], + skittersmack: ["9L47"], + slam: ["9L27"], + sleeptalk: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sweetkiss: ["9L21"], + swordsdance: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderwave: ["9M"], + }, + }, + tinkaton: { + learnset: { + astonish: ["9L1"], + babydolleyes: ["9L5"], + brickbreak: ["9M"], + brutalswing: ["9L24"], + bulldoze: ["9M"], + covet: ["9L11"], + drainingkiss: ["9M", "9L17"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + fairywind: ["9L1"], + fakeout: ["9L39"], + faketears: ["9M"], + flashcannon: ["9M", "9L31"], + flatter: ["9L43"], + fling: ["9M"], + foulplay: ["9M"], + gigatonhammer: ["9L0"], + heavyslam: ["9M"], + helpinghand: ["9M"], + knockoff: ["9M", "9L52"], + lightscreen: ["9M"], + metalclaw: ["9M", "9L8"], + metronome: ["9M"], + playrough: ["9M", "9L35"], + pounce: ["9M"], + protect: ["9M"], + reflect: ["9M"], + rest: ["9M"], + rockslide: ["9M"], + rocksmash: ["9L14"], + rocktomb: ["9M"], + skillswap: ["9M"], + skittersmack: ["9L47"], + slam: ["9L27"], + sleeptalk: ["9M"], + smackdown: ["9M"], + stealthrock: ["9M"], + steelbeam: ["9M"], + stoneedge: ["9M"], + substitute: ["9M"], + sweetkiss: ["9L21"], + swordsdance: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderwave: ["9M"], + }, + }, + charcadet: { + learnset: { + astonish: ["9L1", "9S0"], + celebrate: ["9S0"], + clearsmog: ["9L8"], + confuseray: ["9M"], + destinybond: ["9E"], + disable: ["9E"], + ember: ["9L1", "9S0"], + endure: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firespin: ["9M", "9L12"], + flamecharge: ["9M", "9L24"], + flamethrower: ["9M"], + flareblitz: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + incinerate: ["9L28"], + lavaplume: ["9L32"], + leer: ["9L1"], + nightshade: ["9M", "9L20"], + overheat: ["9M"], + protect: ["9M"], + rest: ["9M"], + sleeptalk: ["9M"], + spite: ["9M", "9E"], + substitute: ["9M"], + sunnyday: ["9M"], + takedown: ["9M"], + terablast: ["9M", "9S0"], + willowisp: ["9M", "9L16"], + }, + eventData: [ + {generation: 9, level: 5, moves: ['ember', 'astonish', 'terablast', 'celebrate'], pokeball: 'cherishball'}, + ], + }, + armarouge: { + learnset: { + acidspray: ["9M"], + allyswitch: ["9L42"], + armorcannon: ["9L62"], + astonish: ["9L1"], + aurasphere: ["9M"], + calmmind: ["9M", "9L37"], + clearsmog: ["9L8"], + confuseray: ["9M"], + darkpulse: ["9M"], + dragonpulse: ["9M"], + ember: ["9L1"], + endure: ["9M"], + energyball: ["9M"], + expandingforce: ["9L56"], + facade: ["9M"], + fireblast: ["9M"], + firespin: ["9M", "9L12"], + flamecharge: ["9M", "9L24"], + flamethrower: ["9M", "9L48"], + flareblitz: ["9M"], + flashcannon: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + incinerate: ["9L28"], + irondefense: ["9M"], + lavaplume: ["9L32"], + leer: ["9L1"], + lightscreen: ["9M"], + mysticalfire: ["9L1"], + nightshade: ["9M", "9L20"], + overheat: ["9M"], + protect: ["9M"], + psybeam: ["9M"], + psychic: ["9M"], + psychicterrain: ["9M"], + psyshock: ["9M", "9L0"], + reflect: ["9M"], + rest: ["9M"], + shadowball: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spite: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + trick: ["9M"], + trickroom: ["9M"], + weatherball: ["9M"], + wideguard: ["9L1"], + willowisp: ["9M", "9L16"], + }, + }, + ceruledge: { + learnset: { + allyswitch: ["9L42"], + astonish: ["9L1"], + bitterblade: ["9L48"], + brickbreak: ["9M"], + bulkup: ["9M"], + clearsmog: ["9L8"], + closecombat: ["9M"], + confuseray: ["9M"], + dragonclaw: ["9M"], + ember: ["9L1"], + endure: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + fireblast: ["9M"], + firespin: ["9M", "9L12"], + flamecharge: ["9M", "9L24"], + flamethrower: ["9M"], + flareblitz: ["9M", "9L62"], + fling: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + hex: ["9M"], + incinerate: ["9L28"], + irondefense: ["9M"], + ironhead: ["9M"], + lavaplume: ["9L32"], + leer: ["9L1"], + lightscreen: ["9M"], + nightshade: ["9M", "9L20"], + nightslash: ["9L1"], + overheat: ["9M"], + phantomforce: ["9M"], + poisonjab: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + psychocut: ["9L56"], + quickguard: ["9L1"], + reflect: ["9M"], + rest: ["9M"], + shadowball: ["9M"], + shadowclaw: ["9M", "9L0"], + shadowsneak: ["9L1"], + sleeptalk: ["9M"], + solarblade: ["9M", "9L1"], + spite: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + swordsdance: ["9M", "9L37"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + vacuumwave: ["9M"], + willowisp: ["9M", "9L16"], + xscissor: ["9M"], + }, + }, + toedscool: { + learnset: { + absorb: ["9L4"], + acidspray: ["9M"], + acupressure: ["9E"], + bulletseed: ["9M"], + confuseray: ["9M"], + dazzlinggleam: ["9M"], + earthpower: ["9M", "9L48"], + endure: ["9M"], + energyball: ["9M"], + flashcannon: ["9M"], + foulplay: ["9M"], + gigadrain: ["9M", "9L44"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L40"], + hex: ["9M", "9L28"], + knockoff: ["9M", "9E"], + leafstorm: ["9M"], + leechseed: ["9E"], + lightscreen: ["9M"], + lunge: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L16"], + mirrorcoat: ["9E"], + mudshot: ["9M", "9L24"], + mudslap: ["9M", "9L1"], + poisonpowder: ["9L8"], + powerwhip: ["9L52"], + protect: ["9M"], + ragepowder: ["9E"], + raindance: ["9M"], + rapidspin: ["9E"], + reflect: ["9M"], + rest: ["9M"], + scaryface: ["9M"], + screech: ["9L20"], + seedbomb: ["9M", "9L32"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + solarbeam: ["9M"], + spikes: ["9M"], + spore: ["9L36"], + stunspore: ["9L8"], + substitute: ["9M"], + supersonic: ["9L12"], + swift: ["9M"], + tackle: ["9L15"], + taunt: ["9M"], + terablast: ["9M"], + tickle: ["9E"], + toxic: ["9M", "9E"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + trickroom: ["9M"], + venoshock: ["9M"], + wrap: ["9L1"], + }, + }, + toedscruel: { + learnset: { + absorb: ["9L4"], + acidspray: ["9M"], + bulletseed: ["9M"], + confuseray: ["9M"], + dazzlinggleam: ["9M"], + earthpower: ["9M", "9L54"], + endure: ["9M"], + energyball: ["9M"], + flashcannon: ["9M"], + foulplay: ["9M"], + gigadrain: ["9M", "9L48"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L44"], + hex: ["9M", "9L28"], + hyperbeam: ["9M"], + knockoff: ["9M"], + leafstorm: ["9M"], + lightscreen: ["9M"], + lunge: ["9M"], + magicalleaf: ["9M"], + megadrain: ["9L16"], + mudshot: ["9M", "9L24"], + mudslap: ["9M", "9L1"], + poisonpowder: ["9L8"], + powerwhip: ["9L58"], + protect: ["9M"], + raindance: ["9M"], + reflect: ["9M"], + reflecttype: ["9L1"], + rest: ["9M"], + scaryface: ["9M"], + screech: ["9L20"], + seedbomb: ["9M", "9L34"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + solarbeam: ["9M"], + spikes: ["9M"], + spore: ["9L40"], + stunspore: ["9L8"], + substitute: ["9M"], + supersonic: ["9L12"], + swift: ["9M"], + tackle: ["9L15"], + taunt: ["9M"], + terablast: ["9M"], + toxic: ["9M"], + toxicspikes: ["9M"], + trailblaze: ["9M"], + trickroom: ["9M"], + venoshock: ["9M"], + wrap: ["9L1"], + }, + }, + walkingwake: { + learnset: { + agility: ["9M"], + aquajet: ["9L1"], + bite: ["9L7", "9L07"], + bodyslam: ["9M"], + breakingswipe: ["9L35"], + chillingwater: ["9M"], + crunch: ["9M"], + dracometeor: ["9M"], + dragonbreath: ["9L28"], + dragonclaw: ["9M"], + dragondance: ["9M"], + dragonpulse: ["9M", "9L63", "9S0"], + dragonrush: ["9L42"], + dragontail: ["9M"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + flamethrower: ["9M", "9L77", "9S0"], + flipturn: ["9M"], + gigaimpact: ["9M"], + honeclaws: ["9L1"], + hurricane: ["9M"], + hydropump: ["9M", "9L84"], + hydrosteam: ["9L56", "9S0"], + hyperbeam: ["9M"], + knockoff: ["9M"], + leer: ["9L1"], + liquidation: ["9M"], + lowkick: ["9M"], + mudshot: ["9M"], + nobleroar: ["9L21", "9S0"], + outrage: ["9M", "9L70"], + protect: ["9M"], + raindance: ["9M"], + rest: ["9M"], + roar: ["9M", "9L1"], + scald: ["9M"], + scaryface: ["9M"], + sleeptalk: ["9M"], + snarl: ["9M"], + substitute: ["9M"], + sunnyday: ["9M", "9L1"], + surf: ["9M"], + swift: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + twister: ["9L1"], + waterfall: ["9M"], + waterpulse: ["9M", "9L14"], + weatherball: ["9M"], + }, + eventData: [ + {generation: 9, level: 75, perfectIVs: 3, moves: ["hydrosteam", "dragonpulse", "nobleroar", "flamethrower"]}, + ], + eventOnly: true, + }, + ironleaves: { + learnset: { + aerialace: ["9M"], + agility: ["9M"], + airslash: ["9M"], + allyswitch: ["9L84"], + brickbreak: ["9M"], + calmmind: ["9M"], + closecombat: ["9M", "9L63"], + electricterrain: ["9M", "9L1"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + focusblast: ["9M"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyterrain: ["9M"], + gravity: ["9M"], + helpinghand: ["9M", "9L1"], + hyperbeam: ["9M"], + imprison: ["9M", "9L70"], + irondefense: ["9M"], + leafblade: ["9L49", "9S0"], + leafstorm: ["9M"], + leer: ["9L1"], + magicalleaf: ["9M", "9L7", "9L07"], + megahorn: ["9L77", "9S0"], + nightslash: ["9L28"], + protect: ["9M"], + psyblade: ["9L56", "9S0"], + psychicterrain: ["9M"], + quash: ["9L1"], + quickattack: ["9L1"], + quickguard: ["9L21"], + rest: ["9M"], + retaliate: ["9L14"], + reversal: ["9M"], + sacredsword: ["9L42"], + scaryface: ["9M"], + sleeptalk: ["9M"], + smartstrike: ["9M"], + solarbeam: ["9M"], + solarblade: ["9M", "9L91"], + substitute: ["9M"], + swift: ["9M"], + swordsdance: ["9M", "9L35", "9S0"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + trailblaze: ["9M"], + wildcharge: ["9M"], + workup: ["9L1"], + xscissor: ["9M"], + }, + eventData: [ + {generation: 9, level: 75, perfectIVs: 3, moves: ["psyblade", "leafblade", "megahorn", "swordsdance"]}, + ], + eventOnly: true, + }, + dipplin: { + learnset: { + astonish: ["9L1"], + bodyslam: ["9M"], + bugbite: ["9M"], + bulletseed: ["9M", "9L20"], + doublehit: ["9L0"], + dracometeor: ["9M"], + dragonbreath: ["9L12"], + dragonpulse: ["9M", "9L32"], + dragontail: ["9M", "9L4"], + endure: ["9M"], + energyball: ["9M", "9L40"], + facade: ["9M"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M"], + growth: ["9L8"], + gyroball: ["9M"], + hyperbeam: ["9M"], + infestation: ["9L1"], + leafstorm: ["9M"], + outrage: ["9M"], + pollenpuff: ["9M"], + pounce: ["9M"], + protect: ["9M", "9L16"], + recover: ["9L36"], + recycle: ["9L1"], + reflect: ["9M"], + rest: ["9M"], + seedbomb: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + substitute: ["9M", "9L44"], + sunnyday: ["9M"], + sweetscent: ["9L1"], + syrupbomb: ["9L28"], + takedown: ["9M"], + terablast: ["9M"], + withdraw: ["9L1"], + }, + }, + poltchageist: { + learnset: { + absorb: ["9L6"], + astonish: ["9L1"], + calmmind: ["9M"], + endure: ["9M"], + energyball: ["9M"], + foulplay: ["9M", "9L18"], + gigadrain: ["9M", "9L42"], + grassyterrain: ["9M"], + hex: ["9M", "9L30"], + imprison: ["9M"], + irondefense: ["9M"], + leafstorm: ["9M", "9L60"], + lifedew: ["9L12"], + magicalleaf: ["9M"], + megadrain: ["9L24"], + memento: ["9L54"], + nastyplot: ["9M"], + nightshade: ["9M"], + phantomforce: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + ragepowder: ["9L36"], + reflect: ["9M"], + rest: ["9M"], + scald: ["9M"], + shadowball: ["9M", "9L48"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spite: ["9M"], + stunspore: ["9L1"], + substitute: ["9M"], + terablast: ["9M"], + trickroom: ["9M"], + uproar: ["9M"], + withdraw: ["9L1"], + }, + }, + poltchageistartisan: { + learnset: { + absorb: ["9L6"], + astonish: ["9L1"], + calmmind: ["9M"], + endure: ["9M"], + energyball: ["9M"], + foulplay: ["9M", "9L18"], + gigadrain: ["9M", "9L42"], + grassyterrain: ["9M"], + hex: ["9M", "9L30"], + imprison: ["9M"], + irondefense: ["9M"], + leafstorm: ["9M", "9L60"], + lifedew: ["9L12"], + magicalleaf: ["9M"], + megadrain: ["9L24"], + memento: ["9L54"], + nastyplot: ["9M"], + nightshade: ["9M"], + phantomforce: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + ragepowder: ["9L36"], + reflect: ["9M"], + rest: ["9M"], + scald: ["9M"], + shadowball: ["9M", "9L48"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spite: ["9M"], + stunspore: ["9L1"], + substitute: ["9M"], + terablast: ["9M"], + trickroom: ["9M"], + uproar: ["9M"], + withdraw: ["9L1"], + }, + }, + sinistcha: { + learnset: { + absorb: ["9L6"], + astonish: ["9L1"], + calmmind: ["9M"], + endure: ["9M"], + energyball: ["9M"], + foulplay: ["9M", "9L18"], + gigadrain: ["9M"], + grassyterrain: ["9M"], + hex: ["9M", "9L30"], + hyperbeam: ["9M"], + imprison: ["9M"], + irondefense: ["9M"], + leafstorm: ["9M", "9L60"], + lifedew: ["9L12"], + magicalleaf: ["9M"], + matchagotcha: ["9L0"], + megadrain: ["9L24"], + memento: ["9L54"], + nastyplot: ["9M"], + nightshade: ["9M"], + phantomforce: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + ragepowder: ["9L36"], + reflect: ["9M"], + rest: ["9M"], + scald: ["9M"], + shadowball: ["9M", "9L48"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spite: ["9M"], + strengthsap: ["9L42"], + stunspore: ["9L1"], + substitute: ["9M"], + terablast: ["9M"], + trickroom: ["9M"], + uproar: ["9M"], + withdraw: ["9L1"], + }, + }, + sinistchamasterpiece: { + learnset: { + absorb: ["9L6"], + astonish: ["9L1"], + calmmind: ["9M"], + endure: ["9M"], + energyball: ["9M"], + foulplay: ["9M", "9L18"], + gigadrain: ["9M"], + grassyterrain: ["9M"], + hex: ["9M", "9L30"], + hyperbeam: ["9M"], + imprison: ["9M"], + irondefense: ["9M"], + leafstorm: ["9M", "9L60"], + lifedew: ["9L12"], + magicalleaf: ["9M"], + matchagotcha: ["9L0"], + megadrain: ["9L24"], + memento: ["9L54"], + nastyplot: ["9M"], + nightshade: ["9M"], + phantomforce: ["9M"], + poltergeist: ["9M"], + protect: ["9M"], + ragepowder: ["9L36"], + reflect: ["9M"], + rest: ["9M"], + scald: ["9M"], + shadowball: ["9M", "9L48"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spite: ["9M"], + strengthsap: ["9L42"], + stunspore: ["9L1"], + substitute: ["9M"], + terablast: ["9M"], + trickroom: ["9M"], + uproar: ["9M"], + withdraw: ["9L1"], + }, + }, + okidogi: { + learnset: { + bite: ["9L1"], + bodypress: ["9M"], + bodyslam: ["9M"], + brickbreak: ["9M"], + brutalswing: ["9L48", "9S0"], + bulkup: ["9M", "9L1"], + closecombat: ["9M"], + counter: ["9L32"], + crunch: ["9M", "9L56", "9S0"], + dig: ["9M"], + drainpunch: ["9M"], + endure: ["9M"], + facade: ["9M"], + firefang: ["9M"], + firepunch: ["9M"], + fling: ["9M"], + focusblast: ["9M"], + focuspunch: ["9M"], + forcepalm: ["9L24"], + gigaimpact: ["9M", "9L72"], + gunkshot: ["9M"], + highhorsepower: ["9M"], + howl: ["9L8"], + hyperbeam: ["9M"], + icefang: ["9M"], + icepunch: ["9M"], + ironhead: ["9M"], + knockoff: ["9M"], + lashout: ["9M"], + lowkick: ["9M", "9L1"], + lowsweep: ["9M"], + metalclaw: ["9M"], + outrage: ["9M"], + poisonfang: ["9L16"], + poisonjab: ["9M", "9L40", "9S0"], + poisontail: ["9M"], + protect: ["9M"], + psychicfangs: ["9M"], + rest: ["9M"], + reversal: ["9M"], + roar: ["9M"], + rocktomb: ["9M"], + scaryface: ["9M"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + snarl: ["9M"], + spite: ["9M"], + stompingtantrum: ["9M"], + substitute: ["9M"], + superpower: ["9L64", "9S0"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + thunderfang: ["9M"], + thunderpunch: ["9M"], + toxic: ["9M"], + uproar: ["9M"], + }, + eventData: [ + {generation: 9, level: 70, moves: ["superpower", "crunch", "brutalswing", "poisonjab"]}, + ], + eventOnly: true, + }, + munkidori: { + learnset: { + acidspray: ["9M"], + batonpass: ["9M"], + calmmind: ["9M"], + clearsmog: ["9L24"], + confuseray: ["9M"], + confusion: ["9L1"], + endure: ["9M"], + facade: ["9M"], + fakeout: ["9L1"], + flatter: ["9L1"], + fling: ["9M"], + focusblast: ["9M"], + futuresight: ["9L64", "9S0"], + gigaimpact: ["9M"], + grassknot: ["9M"], + gunkshot: ["9M"], + helpinghand: ["9M", "9L8"], + hex: ["9M"], + hyperbeam: ["9M"], + imprison: ["9M"], + lashout: ["9M"], + lightscreen: ["9M"], + metronome: ["9M"], + mudslap: ["9M"], + nastyplot: ["9M", "9L56", "9S0"], + nightshade: ["9M"], + partingshot: ["9L72"], + poisonjab: ["9M", "9L32"], + poltergeist: ["9M"], + protect: ["9M"], + psybeam: ["9M", "9L16"], + psychic: ["9M", "9L40", "9S0"], + psychicterrain: ["9M"], + psyshock: ["9M"], + rest: ["9M"], + scratch: ["9L1"], + shadowball: ["9M"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + sludgewave: ["9L48", "9S0"], + spite: ["9M"], + storedpower: ["9M"], + substitute: ["9M"], + swift: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["9M"], + trailblaze: ["9M"], + trick: ["9M"], + uproar: ["9M"], + uturn: ["9M"], + venoshock: ["9M"], + }, + eventData: [ + {generation: 9, level: 70, moves: ["futuresight", "nastyplot", "sludgewave", "psychic"]}, + ], + eventOnly: true, + }, + fezandipiti: { + learnset: { + acidspray: ["9M"], + acrobatics: ["9M"], + aerialace: ["9M"], + agility: ["9M"], + aircutter: ["9M"], + airslash: ["9M"], + attract: ["9L16"], + beatup: ["9L48", "9S0"], + bravebird: ["9M"], + calmmind: ["9M"], + charm: ["9M"], + crosspoison: ["9L32"], + darkpulse: ["9M"], + dazzlinggleam: ["9M"], + disarmingvoice: ["9M", "9L1"], + doublekick: ["9L1"], + dualwingbeat: ["9M"], + endure: ["9M"], + facade: ["9M"], + flatter: ["9L56", "9S0"], + fly: ["9M"], + gigaimpact: ["9M"], + gunkshot: ["9M"], + heatwave: ["9M"], + hex: ["9M"], + hurricane: ["9M"], + hyperbeam: ["9M"], + icywind: ["9M"], + lashout: ["9M"], + lightscreen: ["9M"], + moonblast: ["9L72"], + nastyplot: ["9M"], + peck: ["9L1"], + playrough: ["9M"], + poisongas: ["9L1"], + poisonjab: ["9M"], + poisontail: ["9M"], + protect: ["9M"], + quickattack: ["9L8"], + rest: ["9M"], + roost: ["9L64", "9S0"], + shadowball: ["9M"], + shadowclaw: ["9M"], + sleeptalk: ["9M"], + sludgebomb: ["9M"], + spite: ["9M"], + substitute: ["9M"], + swagger: ["9L56", "9S0"], + swift: ["9M"], + swordsdance: ["9M"], + tailslap: ["9L40"], + tailwind: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thief: ["9M"], + toxic: ["9M"], + uproar: ["9M"], + uturn: ["9M"], + venoshock: ["9M"], + wingattack: ["9L24"], + }, + eventData: [ + {generation: 9, level: 70, moves: ["roost", "flatter", "swagger", "beatup"]}, + ], + eventOnly: true, + }, + ogerpon: { + learnset: { + brickbreak: ["9M"], + bulletseed: ["9M"], + charm: ["9M"], + counter: ["9L1"], + doublekick: ["9L1"], + encore: ["9M"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + falseswipe: ["9M"], + fling: ["9M"], + focusenergy: ["9L6"], + followme: ["9L1"], + gigadrain: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + grassyglide: ["9M"], + grassyterrain: ["9M", "9S1"], + growth: ["9L12", "9S0"], + helpinghand: ["9M"], + hornleech: ["9L1"], + ivycudgel: ["9L30", "9S1", "9S0"], + knockoff: ["9M"], + lashout: ["9M"], + leafstorm: ["9M"], + leechseed: ["9L1"], + lowkick: ["9M", "9S1"], + lowsweep: ["9M", "9L24"], + magicalleaf: ["9M"], + playrough: ["9M"], + powerwhip: ["9L54"], + protect: ["9M"], + quickattack: ["9L1"], + raindance: ["9M"], + rest: ["9M"], + retaliate: ["9L1"], + reversal: ["9M"], + rocktomb: ["9M"], + sandstorm: ["9M"], + scaryface: ["9M"], + seedbomb: ["9M"], + slam: ["9L18", "9S1", "9S0"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + solarblade: ["9M"], + spikes: ["9M"], + spikyshield: ["9L48"], + stompingtantrum: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + superpower: ["9L60"], + swordsdance: ["9M"], + synthesis: ["9L42"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + throatchop: ["9L36"], + trailblaze: ["9M"], + uturn: ["9M"], + vinewhip: ["9L1", "9S0"], + woodhammer: ["9L66"], + zenheadbutt: ["9M"], + }, + eventData: [ + {generation: 9, level: 20, nature: "Lonely", ivs: {hp: 31, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["ivycudgel", "slam", "growth", "vinewhip"]}, + {generation: 9, level: 70, nature: "Lonely", ivs: {hp: 31, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["ivycudgel", "lowkick", "slam", "grassyterrain"]}, + ], + eventOnly: true, + }, + ogerponhearthflame: { + eventOnly: true, + }, + ogerponwellspring: { + eventOnly: true, + }, + ogerponcornerstone: { + eventOnly: true, + }, + syclar: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + attract: ["8M", "7M", "4M"], + avalanche: ["9M", "9L31", "8M", "8L31", "7L48", "4M"], + blizzard: ["9M", "8M", "7M", "4M"], + bugbite: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + bugbuzz: ["9M", "9L50", "8M", "8L50", "7L43", "4L42"], + captivate: ["4M"], + confide: ["7M"], + counter: ["9E", "8E", "7E", "4T"], + cut: ["6M", "4M"], + doubleedge: ["9E", "8E", "4T"], + doubleteam: ["7M", "4M"], + earthpower: ["9M", "8M", "8E", "7E", "4T", "4E"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + falseswipe: ["9M", "8M", "7M", "4M"], + fellstinger: ["9E", "8E", "7E"], + fling: ["9M", "8M", "7M", "4M"], + focusenergy: ["9L25", "8M", "8L25", "7L10", "4L13"], + focuspunch: ["9M", "7T"], + frostbreath: ["7M"], + frustration: ["7M", "4M"], + furyattack: ["9L5", "8L5", "7L14", "4L1"], + furycutter: ["9L10", "8L10", "7L23", "4T"], + hail: ["8M", "7M", "7L34", "4M", "4L28"], + hiddenpower: ["7M", "4M"], + honeclaws: ["7M"], + icebeam: ["9M", "8M", "7M", "4M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "7L1"], + iceshard: ["9L15", "8L15", "7L5", "4L8"], + icespinner: ["9M"], + iciclecrash: ["9L45", "8L45", "7L39"], + icywind: ["9M", "9L20", "8M", "8L20", "7T", "7L19", "4T", "4L18"], + leechlife: ["9M", "8M", "7M", "4L5"], + leer: ["9L1", "8L1", "7L1", "4L1"], + naturalgift: ["4M"], + pinmissile: ["9E", "8M", "7E", "6E", "5E", "4E"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M"], + screech: ["8M"], + secretpower: ["7M", "4M"], + sheercold: ["9L55", "8L55", "5L55", "4L49"], + signalbeam: ["7T", "7E"], + silverwind: ["4M"], + skittersmack: ["8T"], + slash: ["9L35", "8L35", "7L28"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "7T", "4T"], + snowscape: ["9M"], + spikes: ["9M", "8M", "7E", "4E"], + strength: ["6M", "5M"], + stringshot: ["9E", "8E", "4T"], + strugglebug: ["9M", "9E", "8E", "7M"], + substitute: ["9M", "8M", "7M", "4M"], + superpower: ["8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + swagger: ["7M", "4M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "4M"], + tailglow: ["9E", "7E", "6E", "5E", "4E"], + taunt: ["9M", "8M", "7M", "4M"], + terablast: ["9M"], + toxic: ["7M", "4M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "4M"], + waterpulse: ["9M", "6T", "4M"], + xscissor: ["9M", "9L40", "8M", "8L40", "7M", "7L31", "4M", "4L23"], + }, + }, + syclant: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + attract: ["8M", "7M", "4M"], + avalanche: ["9M", "9L33", "8M", "8L33", "7L50", "4M", "4L49"], + blizzard: ["9M", "8M", "7M", "4M"], + brickbreak: ["9M", "8M", "7M", "4M"], + brutalswing: ["8M", "7M"], + bugbite: ["9M", "7T", "6T", "5T", "4T"], + bugbuzz: ["9M", "9L60", "8M", "8L60", "7L46", "4L42"], + bulldoze: ["9M", "8M", "7M"], + captivate: ["4M"], + closecombat: ["9M"], + confide: ["7M"], + counter: ["4T"], + cut: ["4M"], + doubleedge: ["4T"], + doubleteam: ["7M", "4M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + falseswipe: ["9M", "8M", "7M", "4M"], + fling: ["9M", "8M", "7M", "4M"], + focusblast: ["9M", "8M", "7M", "4M"], + focusenergy: ["9L25", "8M", "8L25", "7L10", "4L8"], + focuspunch: ["9M", "7T", "6T", "4M"], + frostbreath: ["7M"], + frustration: ["7M", "4M"], + furyattack: ["9L1", "8L1", "7L14", "4L1"], + furycutter: ["9L1", "8L1", "7L23", "4T"], + gigaimpact: ["9M", "8M", "7M", "4M"], + hail: ["8M", "7M", "7L37", "4M", "4L35"], + hiddenpower: ["7M", "4M"], + honeclaws: ["7M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + icebeam: ["9M", "8M", "7M", "4M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "9L1", "8M", "8L1", "7L1", "4T", "4L30"], + iceshard: ["9L15", "8L15", "7L5", "4L5"], + icespinner: ["9M"], + iciclecrash: ["9L53", "8L53", "7L41"], + iciclespear: ["9M", "9L1", "8M", "8L1", "7L1"], + icywind: ["9M", "9L20", "8M", "8L20", "7L19", "4T", "4L18"], + leechlife: ["9M", "8M", "7M", "4L1"], + leer: ["9L1", "8L1", "7L1", "4L1"], + megapunch: ["8M"], + metronome: ["9M", "8M"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + pinmissile: ["8M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + round: ["8M", "7M"], + screech: ["8M"], + secretpower: ["7M", "4M"], + sheercold: ["9L67", "8L67", "5L59", "4L60"], + signalbeam: ["7T"], + silverwind: ["4M"], + skittersmack: ["8T"], + slash: ["9L39", "8L39", "7L28", "4L14"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "4T"], + snowscape: ["9M"], + spikes: ["9M", "8M"], + stoneedge: ["9M", "8M", "7M", "4M"], + strength: ["6M", "5M", "4M"], + stringshot: ["4T"], + strugglebug: ["9M", "7M"], + substitute: ["9M", "8M", "7M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "4M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "4M"], + taunt: ["9M", "8M", "7M", "4M"], + terablast: ["9M"], + toxic: ["7M", "4M"], + trailblaze: ["9M"], + tripleaxel: ["8T"], + uturn: ["9M", "8M", "7M", "4M"], + waterpulse: ["9M", "6T", "4M"], + xscissor: ["9M", "9L46", "8M", "8L46", "7M", "7L32", "4M", "4L27"], + }, + }, + revenankh: { + learnset: { + ancientpower: ["9E", "8E", "7E", "6E", "5E", "4E"], + armthrust: ["9L4", "8L4", "7L8", "6L8", "5L8", "4L8"], + attract: ["8M", "7M", "6M", "5M", "4M"], + bind: ["7T", "6T", "5T"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M", "5M", "4M"], + bulkup: ["9M", "8M", "7M", "6M", "5M", "4M"], + captivate: ["4M"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M", "6M"], + confuseray: ["9M"], + counter: ["9E", "8E", "7E", "6E", "5E", "4E"], + curse: ["9L36", "8L36", "7L28", "6L28", "5L28", "4L28"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M", "7M", "6M", "5T", "4M"], + destinybond: ["9E", "8E", "7E", "6E", "5E", "4E"], + detect: ["9L8", "8L8", "7L11", "6L11", "5L11", "4L11"], + dig: ["9M", "8M", "6M", "5M", "4M"], + doubleteam: ["8M", "7M", "6M", "5M", "4M"], + drainpunch: ["9M", "8M", "7T", "6T", "5T", "4M"], + dreameater: ["7M", "6M", "5M", "4M"], + dualchop: ["7T", "6T", "5T"], + earthquake: ["9M", "8M", "7M", "6M", "5M", "4M"], + embargo: ["7M", "6M", "5M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "6M", "5M", "4M"], + fling: ["9M", "8M", "7M", "6M", "5M", "4M"], + focusblast: ["9M", "8M", "7M", "6M", "5M", "4M"], + focuspunch: ["9M", "9L56", "8L60", "7T", "6T", "4M"], + forcepalm: ["9L28", "8L28", "7L15", "6L15", "5L15", "4L15"], + foulplay: ["9M", "8M", "7T", "6T", "5T"], + frustration: ["7M", "6M", "5M", "4M"], + gigaimpact: ["9M", "8M", "7M", "6M", "5M", "4M"], + glare: ["9L24", "8L24", "7L21", "6L21", "5L21", "4L21"], + grudge: ["8L52", "7L55", "6L55", "5L55", "4L49"], + hammerarm: ["9L48", "8L48", "7L49", "6L49", "5L49", "4L44"], + helpinghand: ["9M", "8M"], + hex: ["9M", "9L32", "8M", "8L32", "7L44", "6L44", "5L44"], + hiddenpower: ["7M", "6M", "5M", "4M"], + hyperbeam: ["9M", "8M", "7M", "6M", "5M", "4M"], + icepunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + knockoff: ["9M", "9L40", "8L40", "7T", "6T", "5T", "4T"], + laserfocus: ["7T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + machpunch: ["9E", "8E", "7E", "6E", "5E", "4E"], + meanlook: ["9L16", "8L16", "7L5", "6L5", "5L5", "4L5"], + megapunch: ["8M"], + memento: ["9E", "8E", "7E", "6E", "5E", "4E"], + metronome: ["9M", "8M"], + moonlight: ["9L44", "8L44", "7L66", "6L66", "5L66", "4L60"], + mudslap: ["9M", "4T"], + nastyplot: ["9M", "8M", "7E", "6E", "5E", "4E"], + naturalgift: ["4M"], + nightshade: ["9M"], + ominouswind: ["7E", "6E", "5E", "4T", "4E"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "6M", "5M", "4M"], + phantomforce: ["9M"], + poisonjab: ["9M", "8M", "7M", "6M", "5M", "4M"], + poltergeist: ["8T"], + poweruppunch: ["6M"], + powerwhip: ["9L52", "8L56", "7L60", "6L60", "5L60", "4L55"], + protect: ["9M", "8M", "7M", "6M", "5M", "4M"], + psychup: ["7M", "6M", "5M", "4M"], + punishment: ["7L33", "6L33", "5L33", "4L33"], + quickguard: ["9E", "8E", "7E", "6E"], + raindance: ["9M", "8M", "7M", "6M", "5M", "4M"], + rest: ["9M", "8M", "7M", "6M", "5M", "4M"], + retaliate: ["8M", "6M", "5M"], + return: ["7M", "6M", "5M", "4M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "6M", "5M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "7L18", "6M", "6L18", "5M", "5L18", "4M", "4L18"], + roleplay: ["7T", "6T", "5T", "4T"], + round: ["8M", "7M", "6M", "5M"], + safeguard: ["8M", "7M", "6M", "5M", "4M"], + sandstorm: ["9M", "8M", "7M", "6M", "5M", "4M"], + sandtomb: ["9M", "9L12", "8M", "8L12", "7L39", "6L39", "5L39", "4L39"], + scaryface: ["9M", "8M"], + secretpower: ["6M", "4M"], + shadowball: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowclaw: ["9M", "8M", "7M", "6M", "5M", "4M"], + shadowpunch: ["9L20", "8L20", "7L25", "6L25", "5L25", "4L25"], + shadowsneak: ["9E", "8E", "7E", "6E", "5E", "4E"], + sleeptalk: ["9M", "8M", "7M", "6M", "5T", "4M"], + smackdown: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "6T", "5T", "4M"], + snore: ["8M", "7T", "6T", "5T", "4T"], + spite: ["9M", "7T", "6T", "5T", "4T"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "6M", "5M", "4M"], + suckerpunch: ["9E", "8E", "7E", "6E", "5E", "4T"], + sunnyday: ["9M", "8M", "7M", "6M", "5M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "6M", "5M", "4M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M", "5M", "4M"], + telekinesis: ["7T", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M", "5M", "4M"], + throatchop: ["8M", "7T"], + thunderpunch: ["9M", "8M", "7T", "6T", "5T", "4T"], + torment: ["7M", "6M", "5M", "4M"], + toxic: ["7M", "6M", "5M", "4M"], + trick: ["9M", "8M", "7T", "6T", "5T", "4T"], + trickroom: ["9M", "8M", "7M", "6M", "5M", "4M"], + vacuumwave: ["9M", "4T"], + willowisp: ["9M", "8M", "7M"], + wonderroom: ["8M", "7T", "6T", "5T"], + workup: ["8M", "7M", "5M"], + wrap: ["9L1", "8L1", "7L1", "6L1", "5L1", "4L1"], + }, + }, + embirch: { + learnset: { + amnesia: ["9M", "8M", "7L37"], + aromatherapy: ["7E", "4E"], + attract: ["8M", "7M", "4M"], + block: ["9E", "8E", "7T", "4T"], + bulldoze: ["9M", "8M"], + bulletseed: ["9M", "9L1", "8M", "8L1", "7L1", "4M", "4L1"], + confide: ["7M"], + counter: ["9E", "8E", "7E", "4T", "4E"], + doubleedge: ["9L40", "8L40", "7L1", "7E", "4T", "4L33"], + doubleteam: ["7M", "4M"], + dragonbreath: ["9E", "8E", "7E", "4E"], + dragondance: ["9M", "8M"], + earthpower: ["9M", "8M", "7T"], + ember: ["9L4", "8L4", "7L5", "4L9"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M"], + firespin: ["9M", "8M", "7E", "4L25"], + flamecharge: ["9M", "7M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flamewheel: ["9L16", "8L16", "7L19", "4L17"], + flareblitz: ["9M", "8M"], + flash: ["4M"], + frustration: ["7M", "4M"], + gigadrain: ["9M", "9L20", "8M", "8L20", "7T", "7L32", "4M", "4L21"], + grassknot: ["9M", "8M", "7M", "4M"], + grasswhistle: ["7E", "4E"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M", "7E"], + growth: ["9L12", "8L12", "7L28", "4L5"], + headbutt: ["4T"], + heatcrash: ["9M", "9L44", "8M", "8L44"], + heatwave: ["9M", "8M", "7T", "4T"], + hiddenpower: ["7M", "4M"], + incinerate: ["7M"], + irondefense: ["9M", "8M", "7T", "7L37", "4T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T", "4M"], + lavaplume: ["9L32", "8L32", "7L41", "4L40"], + leechseed: ["9L8", "8L8", "7L10", "4L13"], + lightscreen: ["9M", "8M", "7M", "4M"], + magicalleaf: ["9M", "8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["8E", "7M"], + overheat: ["9M", "8M", "7M", "4M"], + petaldance: ["9L36", "8L36", "7L46", "4L29"], + protect: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + revenge: ["8M", "7E", "4E"], + roar: ["7M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "4M"], + sandtomb: ["9M", "8M", "7L23", "7E", "4E"], + secretpower: ["4M"], + seedbomb: ["9M", "9L28", "8M", "8L28", "7T", "4T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "7T", "4T"], + solarbeam: ["9M", "8M", "7M", "4M"], + stealthrock: ["9M", "8M", "7T", "4M"], + strength: ["4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + sweetscent: ["9L1", "8L1", "7L1", "4L1"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "4M"], + synthesis: ["9L25", "8L25", "7T", "7L14", "4T", "4L37"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + toxic: ["7M", "4M"], + trailblaze: ["9M"], + watersport: ["7E", "4E"], + wildcharge: ["9M", "8M"], + willowisp: ["9M", "8M", "7M", "4M"], + worryseed: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + zenheadbutt: ["9M", "8M"], + }, + }, + flarelm: { + learnset: { + amnesia: ["9M", "9L39", "8M", "8L39", "7L37"], + ancientpower: ["4T"], + attract: ["8M", "7M", "4M"], + block: ["7T", "4T"], + bulldoze: ["9M", "8M", "7M"], + bulletseed: ["9M", "9L1", "8M", "8L1", "7L1", "4M", "4L1"], + burningjealousy: ["9M", "8T"], + confide: ["7M"], + counter: ["4T"], + doubleedge: ["9L56", "8L56", "7L1", "4T"], + doubleteam: ["7M", "4M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T"], + dragontail: ["9M", "7M"], + earthpower: ["9M", "8M", "7T", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + ember: ["9L1", "8L1", "7L5", "4L9"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M", "7M", "4M"], + firespin: ["9M", "8M", "4L28"], + flameburst: ["7L24"], + flamecharge: ["9M", "9L0", "8L0", "7M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flamewheel: ["9L16", "8L16", "7L19", "4L17"], + flareblitz: ["9M", "8M"], + flash: ["4M"], + flashcannon: ["9M", "8M", "7M"], + frustration: ["7M", "4M"], + gigadrain: ["9M", "9L20", "8M", "8L20", "7L32", "4M", "4L21"], + grassknot: ["9M", "8M", "7M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L12", "8L12", "7L28", "4L5"], + headbutt: ["4T"], + heatcrash: ["9M", "9L62", "8M", "8L62"], + heatwave: ["9M", "8M", "7T", "4T"], + hiddenpower: ["7M", "4M"], + incinerate: ["7M"], + irondefense: ["9M", "9L39", "8M", "8L39", "7L37", "4T", "4L40"], + ironhead: ["8M", "7T"], + irontail: ["8M", "7T", "4M"], + lavaplume: ["9L44", "8L44", "7L46", "4L48"], + leechseed: ["9L1", "8L1", "7L10", "4L13"], + lightscreen: ["9M", "8M", "7M", "4M"], + lowkick: ["9M", "8M", "7T", "4T"], + magicalleaf: ["9M", "8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M"], + overheat: ["9M", "8M", "7M", "4M"], + petaldance: ["9L50", "8L50", "7L50", "4L36"], + protect: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + revenge: ["8M"], + roar: ["7M", "4M"], + rockclimb: ["4M"], + rockpolish: ["7M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "4M"], + sandtomb: ["9M", "8M"], + secretpower: ["7M", "4M"], + seedbomb: ["9M", "9L32", "8M", "8L32", "7L23", "4T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "7T", "4T"], + solarbeam: ["9M", "8M", "7M", "4M"], + stealthrock: ["9M", "8M", "7T", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + sweetscent: ["9L1", "8L1", "7L1", "4L1"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "4M"], + synthesis: ["9L27", "8L27", "7L14", "4T", "4L44"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + toxic: ["7M", "4M"], + trailblaze: ["9M"], + wildcharge: ["9M", "8M", "7M"], + willowisp: ["9M", "8M", "7M", "4M"], + worryseed: ["7T", "6T", "5T", "4T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + pyroak: { + learnset: { + amnesia: ["9M", "9L41", "8M", "8L41", "7L37"], + ancientpower: ["4T"], + aromaticmist: ["9L1", "8L1", "7L59"], + attract: ["8M", "7M", "4M"], + block: ["7T", "4T"], + bulldoze: ["9M", "8M", "7M"], + bulletseed: ["9M", "9L1", "8M", "8L1", "7L1", "4M", "4L1"], + burningjealousy: ["9M", "8T"], + burnup: ["8L72", "7L68"], + confide: ["7M"], + counter: ["4T"], + doubleedge: ["9L1", "8L1", "4T"], + doubleteam: ["7M", "4M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "7T"], + dragontail: ["9M", "7M"], + earthpower: ["9M", "8M", "7T", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + ember: ["9L1", "8L1", "7L5", "4L9"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "9L0", "8M", "8L0", "7M", "7L1", "4M"], + facade: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M", "7M", "4M"], + firespin: ["9M", "8M", "4L28"], + flameburst: ["7L24"], + flamecharge: ["9M", "9L1", "8L1", "7M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flamewheel: ["9L16", "8L16", "7L19", "4L17"], + flareblitz: ["9M", "8M", "8L1", "7L1", "4L1"], + flash: ["4M"], + flashcannon: ["9M", "8M", "7M", "7L46"], + frustration: ["7M", "4M"], + gigadrain: ["9M", "9L20", "8M", "8L20", "7L32", "4M", "4L21"], + gigaimpact: ["9M", "8M", "7M", "4M"], + grassknot: ["9M", "8M", "7M", "4M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + growth: ["9L12", "8L12", "7L28", "4L5"], + headbutt: ["4T"], + heatcrash: ["9M", "9L64", "8M", "8L64", "7L41"], + heatwave: ["9M", "8M", "7T", "4T"], + heavyslam: ["9M", "8M"], + hiddenpower: ["7M", "4M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + incinerate: ["7M"], + irondefense: ["9M", "9L41", "8M", "8L41", "7L37", "4T", "4L42"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T", "4M"], + lavaplume: ["9L48", "8L48", "7L50", "4L54"], + leechseed: ["9L1", "8L1", "7L10", "4L13"], + lightscreen: ["9M", "8M", "7M", "4M"], + lowkick: ["9M", "8M", "7T", "4T"], + magicalleaf: ["9M", "8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M"], + overheat: ["9M", "9L72", "8M", "7M", "4M"], + petalblizzard: ["9L1", "8L1"], + petaldance: ["9L56", "8L56", "7L55", "4L36"], + protect: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + revenge: ["8M"], + roar: ["7M", "4M"], + rockclimb: ["4M"], + rockpolish: ["7M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "4M"], + sandtomb: ["9M", "8M"], + scorchingsands: ["8T"], + secretpower: ["7M", "4M"], + seedbomb: ["9M", "9L32", "8M", "8L32", "7L23", "4T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "4T"], + solarbeam: ["9M", "8M", "7M", "4M"], + solarblade: ["9M", "8M"], + stealthrock: ["9M", "8M", "7T", "4M"], + strength: ["6M", "5M", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + sweetscent: ["9L1", "8L1", "7L1", "4L1"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M", "4M"], + synthesis: ["9L27", "8L27", "7L14", "4T", "4L48"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + toxic: ["7M", "4M"], + trailblaze: ["9M"], + wildcharge: ["9M", "8M", "7M"], + willowisp: ["9M", "8M", "7M", "4M"], + woodhammer: ["9L1", "8L1", "7L1", "4L1"], + worryseed: ["7T", "6T", "5T", "4T"], + zapcannon: ["9L1", "8L1", "7L64", "4L60"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + breezi: { + learnset: { + acrobatics: ["9M", "9L8", "8M", "8L8", "7M", "7L59"], + aerialace: ["9M", "9L16", "8L16", "7M", "7L30", "4M", "4L55"], + afteryou: ["7T"], + attract: ["8M", "7M", "4M"], + block: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + bodyslam: ["9M", "8M", "4T", "4L30"], + bounce: ["8M"], + captivate: ["4M"], + confide: ["7M"], + copycat: ["9E", "8E", "7L19", "4L19"], + disable: ["9E", "8E", "7E", "4E"], + doubleedge: ["9E", "8E", "7E", "4T"], + doubleteam: ["7M", "4M"], + encore: ["9M", "9L12", "8M", "8L12", "7L5", "4L5"], + endure: ["9M", "8M", "4M"], + entrainment: ["9E", "8E", "7E"], + facade: ["9M", "8M", "7M", "4M"], + fling: ["9M", "8M", "7M", "4M"], + followme: ["9L28", "8L28", "7E", "4E"], + frustration: ["7M", "4M"], + gastroacid: ["7T", "4T"], + gunkshot: ["9M", "9L52", "8M", "8L52"], + gust: ["9L1", "8L1", "7L1", "4L1"], + healblock: ["7L54", "4L50"], + healingwish: ["9E"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T", "7L1", "4T", "4L1"], + hiddenpower: ["7M", "4M"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "4T"], + knockoff: ["9M", "9L24", "8L24", "7L14", "4T", "4L14"], + lightscreen: ["9M", "8M", "7M", "4M"], + luckychant: ["7L55", "4L59"], + magicroom: ["9E", "8M", "7E"], + mefirst: ["7E", "4E"], + metronome: ["9M", "8M", "7E", "4T", "4E"], + mimic: ["7E", "5E"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + poisonjab: ["9M", "8M", "7M", "4M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "4M"], + psychup: ["7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + reflect: ["9M", "8M", "7M", "4M"], + rest: ["9M", "9L48", "8M", "8L48", "7M", "7L44", "4M", "4L44"], + return: ["7M", "4M"], + roleplay: ["7T"], + round: ["8M", "7M"], + safeguard: ["9L44", "8M", "8L44", "7M", "7L9", "4M", "4L9"], + sandstorm: ["9M", "8M", "7M", "4M"], + sandtomb: ["9M", "8M", "7E", "6E", "5E", "4E"], + secretpower: ["7M", "4M"], + selfdestruct: ["9E", "8M"], + shadowball: ["9M", "8M", "7M", "4M"], + skillswap: ["9M", "8M", "7M", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + sludgebomb: ["9M", "9L36", "8M", "8L36", "7M", "7L34", "4M", "4L34"], + sludgewave: ["8M"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + speedswap: ["8M"], + spikes: ["9M", "8M", "7E", "4E"], + stealthrock: ["9M", "8M", "7T"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + swift: ["9M", "8M", "4T"], + tailwind: ["9M", "9L4", "8L4", "7L1", "4T", "4L1"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M"], + toxic: ["9M", "9L40", "8L40", "7M", "6M", "5M", "4M"], + toxicspikes: ["9M", "9L20", "8M", "8L20", "7L39", "4L39"], + trickroom: ["9M", "8M", "7M", "4M"], + twister: ["4T"], + uturn: ["9M", "8M", "7M", "4M"], + venoshock: ["9M", "8M", "7M"], + whirlwind: ["9L32", "8L32", "7L25", "4L25"], + wish: ["9E", "8E", "7E", "4E"], + wonderroom: ["9E", "8M", "7E"], + }, + }, + fidgit: { + learnset: { + acrobatics: ["9M", "9L1", "8M", "8L1", "7M"], + aerialace: ["9M", "9L1", "8L1", "7M", "4M"], + afteryou: ["7T"], + attract: ["8M", "7M", "4M"], + block: ["7T", "6T", "5T", "4T"], + bodyslam: ["9M", "9L28", "8M", "8L28", "7L30", "4T", "4L30"], + bounce: ["8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + captivate: ["4M"], + cometpunch: ["7L1", "4L1"], + confide: ["7M"], + copycat: ["7L19", "4L19"], + dig: ["9M", "8M", "7M"], + doubleedge: ["4T"], + doubleteam: ["7M", "4M"], + drillrun: ["9M", "9L0", "8M", "8L0", "7L1"], + earthpower: ["9M", "9L56", "8M", "8L56", "7L60", "4T", "4L59"], + earthquake: ["9M", "8M", "7M", "4M"], + encore: ["9M", "9L1", "8M", "8L1", "7L5", "4L5"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + fling: ["9M", "8M", "7M", "4M"], + followme: ["9L1", "8L1"], + frustration: ["7M", "4M"], + gastroacid: ["9L1", "8L1", "7T", "4T"], + gigaimpact: ["9M", "8M", "7M", "4M"], + gravity: ["9M", "9L50", "8L50", "7L47", "4T", "4L49"], + gunkshot: ["9M", "9L62", "8M", "8L62"], + gust: ["9L1", "8L1", "7L1", "4L1"], + healblock: ["7L54", "4L53"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7L1", "4T", "4L1"], + hiddenpower: ["7M", "4M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + icespinner: ["9M"], + icywind: ["9M", "8M", "7T", "4T"], + knockoff: ["9M", "9L24", "8L24", "7L14", "4T", "4L14"], + lightscreen: ["9M", "8M", "7M", "4M"], + luckychant: ["7L65", "4L67"], + magicroom: ["8M"], + megapunch: ["8M"], + metronome: ["9M", "8M", "4T"], + mudshot: ["9M", "8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + poisonjab: ["9M", "8M", "7M", "4M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "4M"], + psychup: ["7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + rapidspin: ["9L16", "8L16", "7L9", "4L9"], + reflect: ["9M", "8M", "7M", "4M"], + rest: ["9M", "9L1", "8M", "8L1", "7M", "4M"], + return: ["7M", "4M"], + rockclimb: ["4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + roleplay: ["7T"], + rototiller: ["7L1"], + round: ["8M", "7M"], + safeguard: ["9L1", "8M", "8L1", "7M", "4M"], + sandstorm: ["9M", "8M", "7M", "4M"], + sandtomb: ["9M", "8M"], + scorchingsands: ["8T"], + secretpower: ["7M", "4M"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M", "7M", "4M"], + skillswap: ["9M", "8M", "7M", "4M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + sludgebomb: ["9M", "9L38", "8M", "8L38", "7M", "7L35", "4M", "4L35"], + sludgewave: ["8M", "7M"], + smartstrike: ["9M", "8M"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + speedswap: ["8M"], + spikes: ["9M", "8M"], + stealthrock: ["9M", "8M", "7T", "4M"], + stompingtantrum: ["9M", "8M"], + stoneedge: ["9M", "8M", "7M", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + swift: ["9M", "8M", "4T"], + tailwind: ["9M", "9L1", "8L1", "7L1", "4T", "4L1"], + taunt: ["9M", "8M", "7M", "4M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "4M"], + torment: ["7M", "4M"], + toxic: ["9M", "9L44", "8L44", "7M", "6M", "5M", "4M"], + toxicspikes: ["9M", "9L20", "8M", "8L20", "7L41", "4L41"], + trickroom: ["9M", "8M", "7M", "4M"], + twister: ["4T"], + uturn: ["9M", "8M", "7M", "4M"], + venoshock: ["9M", "8M", "7M"], + whirlwind: ["9L32", "8L32", "7L25", "4L25"], + wideguard: ["9L12", "8L12", "7L1"], + wonderroom: ["8M"], + }, + }, + rebble: { + learnset: { + accelerock: ["9L20", "8L20", "7L21"], + acupressure: ["9L40", "8L40", "7L26", "4L20"], + aerialace: ["9M", "7M", "4M"], + ancientpower: ["9L29", "8L29", "7L30", "4T"], + bulldoze: ["9M", "8M", "7M"], + calmmind: ["9M", "8M", "7M", "4M"], + confide: ["7M"], + cut: ["4M"], + dazzlinggleam: ["9M", "8M", "7M"], + defensecurl: ["9L1", "8L1", "7L1", "4L1"], + disable: ["9L16", "8L16", "7L17", "4L17"], + doubleedge: ["9L44", "8L44", "7L41", "4L41"], + doubleteam: ["7M", "4M"], + earthpower: ["9M", "8M", "7T", "7L45", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "4M"], + explosion: ["9L56", "8L56", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + falseswipe: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M", "7M", "4M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flash: ["4M"], + frustration: ["7M", "4M"], + gigadrain: ["9M", "8M", "7T", "4M"], + headbutt: ["4T"], + headsmash: ["9L52", "8L52"], + heatwave: ["9M", "8M", "7T", "4T"], + hiddenpower: ["7M", "4M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + incinerate: ["7M"], + lockon: ["9L48", "8L48", "7L65"], + metalsound: ["9L32", "8L32", "7L50", "4L37"], + meteorbeam: ["8T"], + mudshot: ["9M", "8M", "7L34", "4L25"], + mudslap: ["9M", "9L4", "8L4", "7L8", "4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + powergem: ["9M", "9L36", "8M", "8L36", "7L38", "4L29"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + rockblast: ["9M", "9L12", "8M", "8L12", "7L13", "4L15"], + rockpolish: ["9E", "8E", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + rollout: ["9L8", "8L8", "7L4", "4T", "4L1"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + secretpower: ["7M", "4M"], + shadowball: ["9M", "8M", "7M", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + smackdown: ["9M", "9L1", "8L1", "7M"], + snore: ["8M", "7T", "4T"], + speedswap: ["8M"], + stealthrock: ["9M", "8M", "7T", "4M"], + stoneedge: ["9M", "8M", "7M", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "4L1"], + terablast: ["9M"], + toxic: ["7M", "4M"], + trick: ["9M", "8M", "7T", "4T"], + vacuumwave: ["9M", "9L24", "8L24", "7L60", "4T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + tactite: { + learnset: { + accelerock: ["9L20", "8L20", "7L21"], + acupressure: ["9L48", "8L48", "7L26", "4L20"], + aerialace: ["9M", "7M", "4M"], + ancientpower: ["9L31", "8L31", "7L30", "4T"], + bulldoze: ["9M", "8M", "7M"], + calmmind: ["9M", "8M", "7M", "4M"], + confide: ["7M"], + cut: ["4M"], + dazzlinggleam: ["9M", "8M", "7M"], + defensecurl: ["9L1", "8L1", "7L1", "4L1"], + disable: ["9L16", "8L16", "7L17", "4L17"], + doubleedge: ["9L54", "8L54", "7L43", "4L43"], + doubleteam: ["7M", "4M"], + earthpower: ["9M", "8M", "7T", "7L47", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "4M"], + explosion: ["9L72", "8L72", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + falseswipe: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M", "7M", "4M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flash: ["4M"], + frustration: ["7M", "4M"], + gigadrain: ["9M", "8M", "7T", "4M"], + headbutt: ["4T"], + headsmash: ["9L66", "8L66", "4L67"], + heatwave: ["9M", "8M", "7T", "4T"], + hiddenpower: ["7M", "4M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + incinerate: ["7M"], + lockon: ["9L60", "8L60", "7L63"], + metalsound: ["9L36", "8L36", "7L51", "4L51"], + meteorbeam: ["8T"], + mudshot: ["9M", "8M", "7L34", "4L25"], + mudslap: ["9M", "9L1", "8L1", "7L8", "4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + powergem: ["9M", "9L42", "8M", "8L42", "7L39", "4L29"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + rockblast: ["9M", "9L12", "8M", "8L12", "7L13", "4L15"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + rollout: ["9L1", "8L1", "7L4", "4T", "4L1"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + secretpower: ["7M", "4M"], + shadowball: ["9M", "8M", "7M", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + smackdown: ["9M", "9L1", "8L1", "7M"], + smartstrike: ["9M", "8M"], + snore: ["8M", "7T", "4T"], + speedswap: ["8M", "7L55"], + stealthrock: ["9M", "8M", "7T", "4M"], + stoneedge: ["8M", "7M", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "4L1"], + terablast: ["9M"], + toxic: ["7M", "4M"], + trick: ["9M", "8M", "7T", "4T"], + vacuumwave: ["9M", "9L24", "8L24", "7L60", "4T"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + stratagem: { + learnset: { + accelerock: ["9L20", "8L20", "7L21"], + acupressure: ["9L48", "8L48", "7L26", "4L20"], + aerialace: ["9M", "7M", "4M"], + ancientpower: ["9L31", "8L31", "7L30", "4T"], + bulldoze: ["9M", "8M", "7M"], + calmmind: ["9M", "8M", "7M", "4M"], + confide: ["7M"], + cut: ["4M"], + dazzlinggleam: ["9M", "8M", "7M"], + defensecurl: ["9L1", "8L1", "7L1", "4L1"], + disable: ["9L16", "8L16", "7L17", "4L17"], + doubleedge: ["9L54", "8L54", "7L43", "4L32"], + doubleteam: ["7M", "4M"], + earthpower: ["9M", "8M", "7L47", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + endure: ["9M", "8M", "4M"], + energyball: ["9M", "8M", "7M", "4M"], + explosion: ["9L72", "8L72", "7M", "6M", "5M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + falseswipe: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M", "7M", "4M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flash: ["4M"], + frustration: ["7M", "4M"], + gigadrain: ["9M", "8M", "7T", "4M"], + gigaimpact: ["9M", "8M", "7M", "4M"], + headbutt: ["4T"], + headsmash: ["9L66", "8L66", "7L69", "4L50"], + heatwave: ["9M", "8M", "7T", "4T"], + hiddenpower: ["7M", "4M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + incinerate: ["7M"], + laserfocus: ["8L1", "7L1"], + lockon: ["9L60", "8L60", "7L65"], + metalsound: ["9L36", "8L36", "7L52", "4L37"], + meteorbeam: ["9L1", "8T"], + mudshot: ["9M", "8M", "7L34", "4L25"], + mudslap: ["9M", "9L1", "8L1", "7L8", "4T"], + naturalgift: ["4M"], + ominouswind: ["4T"], + paleowave: ["9L0", "8L0", "7L1", "4L42"], + powergem: ["9M", "9L42", "8M", "8L42", "7L39", "4L29"], + protect: ["9M", "8M", "7M", "4M"], + quickguard: ["9L1", "8L1", "7L1"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + rockblast: ["9M", "9L12", "8M", "8L12", "7L13", "4L15"], + rockclimb: ["4M"], + rockpolish: ["7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["6M", "5M", "4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + rollout: ["9L1", "8L1", "7L4", "4T", "4L1"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + secretpower: ["7M", "4M"], + shadowball: ["9M", "8M", "7M", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + smackdown: ["9M", "9L1", "8L1", "7M"], + smartstrike: ["9M", "8M", "7M"], + snore: ["8M", "7T", "4T"], + speedswap: ["8M", "7L56"], + stealthrock: ["9M", "8M", "7T", "4M"], + stoneedge: ["9M", "8M", "7M", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "4L1"], + terablast: ["9M"], + toxic: ["7M", "4M"], + trick: ["9M", "8M", "7T", "4T"], + vacuumwave: ["9M", "9L24", "8L24", "7L60", "4T"], + weatherball: ["9M", "9L1", "8M", "8L1", "7L1", "4L1"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + privatyke: { + learnset: { + aquacutter: ["9L28"], + aquajet: ["9L16", "8L16", "7L19", "4L27"], + armthrust: ["9L4", "8L4", "7L14", "4L21"], + attract: ["8M", "7M", "4M"], + blizzard: ["9M", "8M", "7M", "4M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "4M"], + brine: ["8M", "4M"], + bubble: ["7L1", "4L1"], + bulkup: ["9M", "8M", "7M", "7E", "4E"], + bulldoze: ["9M", "8M", "7M"], + captivate: ["4M"], + chillingwater: ["9M"], + chipaway: ["7L30"], + closecombat: ["9M", "8M", "7E"], + coaching: ["8T"], + confide: ["7M"], + crosschop: ["9E", "8E", "7M", "4E"], + cut: ["4M"], + dive: ["8M", "4T"], + doubleteam: ["7M", "4M"], + drainpunch: ["9M", "8M", "4M"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + falseswipe: ["9M", "8M"], + fling: ["9M", "8M", "7M", "4M"], + focuspunch: ["9M", "9L52", "8L52", "7L59", "4M", "4L67"], + foulplay: ["9M", "8M", "7T"], + frustration: ["7M", "4M"], + hail: ["8M", "7M", "4M"], + headbutt: ["9L36", "8L36", "7E", "4T", "4E"], + hiddenpower: ["7M", "4M"], + icebeam: ["9M", "8M", "7M", "4M"], + icepunch: ["9M", "8M", "7T", "4T"], + icywind: ["9M", "8M", "7T", "4T"], + knockoff: ["9M", "9L24", "8L24", "7T", "6T", "5T", "4T"], + lashout: ["8T"], + liquidation: ["9M", "9L40"], + lowkick: ["9M", "8M", "7T", "4T"], + lowsweep: ["9M", "8M", "7M"], + machpunch: ["9L16", "8L16", "7L35", "4L32"], + megapunch: ["8M"], + muddywater: ["8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + octazooka: ["8E", "7E", "4E"], + poisonjab: ["9M", "8M", "7M"], + poweruppunch: ["8E", "7M"], + protect: ["9M", "8M", "7M", "4M"], + psychup: ["7M"], + punishment: ["7L55", "4L60"], + raindance: ["9M", "8M", "7M", "4M"], + recover: ["9E", "8E", "7E", "4E"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + revenge: ["8M", "8L28", "7L42", "4L41"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + round: ["8M", "7M"], + safeguard: ["8M"], + scald: ["8M", "8L40", "7M", "7L38"], + scaryface: ["9M", "8M", "7E", "4E"], + secretpower: ["7M", "4M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + sludgebomb: ["9M", "8M", "7M", "4M"], + smokescreen: ["9L12", "8L12", "7L7", "4L7"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + snowscape: ["9M"], + spikes: ["9M", "8M", "7E"], + strength: ["4M"], + submission: ["8L44", "7L48", "4L55"], + substitute: ["9M", "8M", "7M", "4M"], + superpower: ["9L44", "8M", "7T", "6T", "5T", "4T"], + surf: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + takedown: ["9M"], + taunt: ["9M", "9L32", "8M", "8L32", "7M", "7L24", "4M", "4L36"], + terablast: ["9M"], + thief: ["9M", "9L8", "8M", "8L8", "7M", "7L45", "4M", "4L47"], + throatchop: ["8M"], + thunderpunch: ["9M", "8M", "7T", "4T"], + torment: ["9E", "7M", "6M", "5M", "4M"], + toxic: ["7M", "4M"], + vacuumwave: ["4T"], + waterfall: ["9M", "8M", "7M", "4M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T", "4M"], + whirlpool: ["8M", "4M"], + wideguard: ["9L48", "8L48", "7L52"], + workup: ["8M", "7M"], + wrap: ["9L1", "8L1", "7L1", "4L1"], + yawn: ["9L20", "8L20", "7L10", "4L1"], + }, + }, + arghonaut: { + learnset: { + aquacutter: ["9L28"], + aquajet: ["9L16", "8L16", "7L19", "4L27"], + armthrust: ["9L1", "8L1", "7L14", "4L21"], + attract: ["8M", "7M", "4M"], + blizzard: ["9M", "8M", "7M", "4M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "4M"], + brine: ["9L1", "8M", "8L1", "7L1", "6L1", "5L1", "4M", "4L1"], + bubble: ["7L1", "4L1"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + captivate: ["4M"], + chillingwater: ["9M"], + chipaway: ["7L30"], + circlethrow: ["9L1", "8L1", "7L1"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M"], + crosschop: ["7M"], + crosspoison: ["8M"], + cut: ["4M"], + dive: ["8M", "4T"], + doubleteam: ["7M", "4M"], + drainpunch: ["9M", "8M", "4M"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + falseswipe: ["9M", "8M"], + fling: ["9M", "8M", "7M", "4M"], + focusblast: ["9M", "8M", "7M", "4M"], + focuspunch: ["9M", "9L60", "8L60", "7L73", "4M", "4L67"], + foulplay: ["9M", "8M", "7T"], + frustration: ["7M", "4M"], + gigaimpact: ["9M", "8M", "7M", "4M"], + gunkshot: ["9M", "8M", "7T", "4T"], + hail: ["8M", "7M", "4M"], + headbutt: ["9L36", "8L36", "4T"], + hiddenpower: ["7M", "4M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + icebeam: ["9M", "8M", "7M", "4M"], + icepunch: ["9M", "8M", "7T", "4T"], + icywind: ["9M", "8M", "7T", "4T"], + knockoff: ["9M", "9L24", "8L24", "7T", "4T"], + lashout: ["8T"], + liquidation: ["9M", "9L42"], + lowkick: ["9M", "8M", "7T", "4T"], + lowsweep: ["9M", "8M", "7M"], + machpunch: ["9L16", "8L16", "7L35", "4L32"], + megapunch: ["8M"], + muddywater: ["8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + poisonjab: ["9M", "8M", "7M"], + poweruppunch: ["7M"], + protect: ["9M", "8M", "7M", "4M"], + psychup: ["7M"], + punishment: ["7L67", "4L60"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + revenge: ["8M", "8L28", "7L46", "4L41"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["4M"], + rocktomb: ["9M", "8M", "7M", "4M"], + round: ["8M", "7M"], + safeguard: ["8M"], + scald: ["8M", "8L42", "7M", "7L40"], + scaryface: ["9M", "8M"], + secretpower: ["7M", "4M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + sludgebomb: ["9M", "8M", "7M", "4M"], + smokescreen: ["9L12", "8L12", "7L7", "4L7"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + snowscape: ["9M"], + spikes: ["9M", "8M"], + stoneedge: ["9M", "8M", "7M", "4M"], + strength: ["4M"], + submission: ["8L48", "7L56", "4L55"], + substitute: ["9M", "8M", "7M", "4M"], + superpower: ["9L48", "8M", "7T", "6T", "5T", "4T"], + surf: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + takedown: ["9M"], + taunt: ["9M", "9L32", "8M", "8L32", "7M", "7L24", "4M", "4L36"], + terablast: ["9M"], + thief: ["9M", "9L1", "8M", "8L1", "7M", "7L51", "4M", "4L47"], + throatchop: ["8M"], + thunderpunch: ["9M", "8M", "7T", "4T"], + torment: ["7M", "4M"], + toxic: ["7M", "4M"], + vacuumwave: ["9L1", "8L1", "4T"], + waterfall: ["9M", "8M", "7M", "4M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T", "4M"], + whirlpool: ["8M", "4M"], + wideguard: ["9L54", "8L54", "7L62"], + workup: ["8M", "7M"], + wrap: ["9L1", "8L1", "7L1", "4L1"], + yawn: ["9L20", "8L20", "7L10", "4L1"], + }, + }, + nohface: { + learnset: { + assurance: ["8M"], + attract: ["8M", "7M", "4M"], + captivate: ["4M"], + closecombat: ["9M", "8M"], + confide: ["7M"], + confuseray: ["9M"], + copycat: ["9L20", "8L20", "7L22", "4L22"], + curse: ["9E", "8E", "7E", "4E"], + cut: ["7M", "4M"], + darkpulse: ["9M", "8M", "7M", "4M"], + defog: ["9E", "8E", "7E", "4M"], + dig: ["9M", "8M", "7M", "4M"], + doubleteam: ["7M", "4M"], + dreameater: ["7M", "4M"], + embargo: ["7M", "4M"], + endeavor: ["7T", "4T"], + facade: ["9M", "8M", "7M", "4M"], + fakeout: ["9L8", "8L8", "7L27", "4L35"], + falseswipe: ["9M", "8M", "7M", "4M"], + featherdance: ["9E", "8E", "7E", "4E"], + feintattack: ["7L14", "4L14"], + flail: ["9E", "8E", "7E", "4E"], + flash: ["7M", "4M"], + fling: ["9M", "8M", "7M", "4M"], + foulplay: ["9M", "8M", "7M"], + frustration: ["7M", "4M"], + furycutter: ["4T"], + headbutt: ["4T"], + hex: ["9M", "8M", "7E"], + hiddenpower: ["7M", "4M"], + honeclaws: ["9L28", "8L28", "7L31"], + icepunch: ["9M", "8M", "7T", "4T"], + icywind: ["9M", "8M", "7T", "4T"], + irontail: ["9E", "8M", "7E", "6E", "5E", "4M"], + knockoff: ["9M", "9L36", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "4T"], + lick: ["9L4", "8L4", "7L6", "4L6"], + magiccoat: ["7T", "4T"], + memento: ["9L44", "8L44", "7L52", "4L31"], + metalsound: ["9E", "8E", "7E", "4E"], + meteormash: ["9E", "8E", "7E", "4E"], + metronome: ["9M", "8M"], + naturalgift: ["4M"], + nightshade: ["9M"], + odorsleuth: ["7L10", "4L10"], + ominouswind: ["4T"], + painsplit: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "4T"], + payback: ["8M", "7M", "4M"], + perishsong: ["9L48", "8L48", "7L56", "4L55"], + playrough: ["9M", "8M", "7E"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "4M"], + psychoshift: ["8E", "7E", "4E"], + psychup: ["7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + revenge: ["8M", "8L36", "7L39", "4L44"], + roar: ["9M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "4M"], + scratch: ["9L1", "8L1", "7L1", "4L1"], + secretpower: ["7M", "4M"], + shadowball: ["9M", "8M", "7M", "4M"], + shadowclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L35", "4M", "4L40"], + shadowsneak: ["9L16", "8L16", "7L18", "4L18"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + spite: ["9M", "9L12", "8L12", "7T", "6T", "5T", "4T"], + substitute: ["9M", "8M", "7M", "4M"], + suckerpunch: ["9E", "8E", "7E", "4T"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + tailwhip: ["9L1", "8L1", "7L1", "4L1"], + taunt: ["9M", "8M", "7M", "4M"], + telekinesis: ["7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "4M"], + thunderpunch: ["9M", "8M", "7T", "4T"], + torment: ["9L24", "8L24", "7M", "4M"], + toxic: ["7M", "4M"], + trick: ["9M", "9L40", "8M", "8L40", "7T", "4T"], + trickroom: ["9M", "8M", "7M", "4M"], + uturn: ["9M", "8M", "7M", "4M"], + willowisp: ["9M", "8M", "7M", "4M"], + wish: ["9E", "8E", "7E"], + yawn: ["9E", "8E", "7E", "4E"], + }, + }, + kitsunoh: { + learnset: { + assurance: ["8M"], + attract: ["8M", "7M", "4M"], + bulldoze: ["9M", "8M", "7M"], + bulletpunch: ["9L1", "8L1", "7L1"], + captivate: ["4M"], + closecombat: ["9M", "8M"], + confide: ["7M"], + confuseray: ["9M"], + copycat: ["9L20", "8L20", "7L22", "4L22"], + cut: ["7M", "4M"], + darkpulse: ["9M", "8M", "7M", "4M"], + defog: ["4M"], + dig: ["9M", "8M", "7M", "4M"], + doubleteam: ["7M", "4M"], + dreameater: ["7M", "4M"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + endeavor: ["7T", "4T"], + facade: ["9M", "8M", "7M", "4M"], + fakeout: ["9L1", "8L1", "7L27", "4L35"], + falseswipe: ["9M", "8M", "7M", "4M"], + feintattack: ["7L14", "4L14"], + flash: ["7M", "4M"], + flashcannon: ["9M", "8M", "7M", "4M"], + fling: ["9M", "8M", "7M", "4M"], + foulplay: ["9M", "8M", "7M"], + frustration: ["7M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "4M"], + headbutt: ["4T"], + hex: ["9M", "8M"], + hiddenpower: ["7M", "4M"], + honeclaws: ["9L28", "8L28", "7L31"], + hyperbeam: ["9M", "8M", "7M", "4M"], + icepunch: ["9M", "8M", "7T", "4T"], + icywind: ["9M", "8M", "7T", "4T"], + irondefense: ["9M", "8M", "7T", "4T"], + ironhead: ["9M", "9L40", "8M", "8L40", "7L43", "4T"], + irontail: ["8M", "4M"], + knockoff: ["9M", "9L36", "7T", "6T", "5T", "4T"], + lastresort: ["7T", "4T"], + lick: ["9L1", "8L1", "7L6", "4L6"], + lowkick: ["9M", "8M", "7T", "4T"], + magiccoat: ["7T", "4T"], + memento: ["9L48", "8L48", "7L52", "4L31"], + metalclaw: ["9M", "9L0", "8L0", "7L1", "4L27"], + metronome: ["9M", "8M"], + naturalgift: ["4M"], + nightshade: ["9M"], + odorsleuth: ["7L10", "4L10"], + ominouswind: ["4T"], + painsplit: ["7T", "6T", "5T", "4T"], + payback: ["8M", "7M", "4M"], + perishsong: ["9L52", "8L52", "7L56", "4L55"], + playrough: ["9M", "8M", "7E"], + poltergeist: ["9M", "8T"], + protect: ["9M", "8M", "7M", "4M"], + psychup: ["7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + revenge: ["8M", "8L36", "7L39", "4L44"], + roar: ["9M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M", "4M"], + scratch: ["9L1", "8L1", "7L1", "4L1"], + secretpower: ["7M", "4M"], + shadowball: ["9M", "8M", "7M", "4M"], + shadowclaw: ["9M", "9L32", "8M", "8L32", "7M", "7L35", "4M", "4L40"], + shadowsneak: ["9L16", "8L16", "7L18", "4L18"], + shadowstrike: ["9L44", "8L44", "7L48", "4L49"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + spite: ["9M", "9L12", "8L12", "7T", "6T", "5T", "4T"], + steelbeam: ["9M", "8T"], + strengthsap: ["9L1"], + substitute: ["9M", "8M", "7M", "4M"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "4M"], + superfang: ["9M", "7T", "6T", "5T", "4T"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "4M"], + tailwhip: ["9L1", "8L1", "7L1", "4L1"], + taunt: ["9M", "8M", "7M", "4M"], + telekinesis: ["7M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "4M"], + thunderpunch: ["9M", "8M", "7T", "4T"], + torment: ["9L24", "8L24", "7M", "4M"], + toxic: ["7M", "4M"], + trick: ["9M", "9L1", "8M", "8L1", "7T", "4T"], + trickroom: ["9M", "8M", "7M", "4M"], + uturn: ["9M", "8M", "7M", "4M"], + willowisp: ["9M", "8M", "7M", "4M"], + }, + }, + monohm: { + learnset: { + aerialace: ["9M", "7M", "4M"], + aquatail: ["9E", "8E", "7T"], + attract: ["8M", "7M", "4M"], + bide: ["7L1", "4L1"], + blizzard: ["9M", "8M", "7M", "4M"], + captivate: ["4M"], + charge: ["9M", "9L12", "8L12", "7L11", "4L11"], + chargebeam: ["9M", "7M", "4M"], + chillingwater: ["9M"], + confide: ["7M"], + defog: ["9E"], + discharge: ["9L33", "8L33", "7L33", "4L37"], + doubleteam: ["7M", "4M"], + dragonbreath: ["9L20", "8L20", "7L29", "7E", "4E"], + dragonpulse: ["9M", "8M", "7T", "4M"], + dragonrage: ["7L24", "4L7"], + dragontail: ["9M", "9L28", "8L28", "7M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + flash: ["4M"], + focusenergy: ["8M"], + frustration: ["7M", "4M"], + growl: ["9L1", "8L1", "7L1", "4L1"], + hail: ["8M", "7M", "4M"], + headbutt: ["9E", "8E", "4T"], + healbell: ["7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + hiddenpower: ["7M", "4M"], + hydropump: ["9M", "8M", "7E", "4E"], + icebeam: ["9M", "8M", "7M", "4M"], + icywind: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + lightscreen: ["9M", "8M", "7M", "4M"], + lockon: ["9L44", "8L44"], + muddywater: ["8M"], + mudslap: ["9M", "9E", "8E", "7E", "4T", "4E"], + naturalgift: ["4M"], + naturepower: ["7M"], + outrage: ["9M", "8M", "4T"], + powdersnow: ["9E", "8E", "7E"], + powergem: ["9M", "8M", "7E", "4E"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "9L36", "8M", "8L36", "7M", "7L37", "4M", "4L19"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + risingvoltage: ["8T"], + roar: ["9M", "9E", "8E", "7M", "6M", "5M", "4M"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + secretpower: ["7M", "4M"], + shockwave: ["7T", "4M"], + signalbeam: ["4T"], + slackoff: ["9L40", "8L40", "7L48", "4L42"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "4T"], + snowscape: ["9M"], + sonicboom: ["7L16", "4L29"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + surf: ["9M", "8M", "7M", "4M"], + swagger: ["7M"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L48", "8L48", "7L53", "4L50"], + thunder: ["9M", "9L52", "8M", "8L52", "7M", "7L65", "4M"], + thunderbolt: ["9M", "8M", "7M", "4M"], + thunderfang: ["9M", "8M"], + thundershock: ["9L4", "8L4", "7L11", "4L15"], + thunderwave: ["9M", "9L24", "8M", "8L24", "7M", "4M"], + torment: ["7M", "4M"], + toxic: ["7M", "4M"], + trickroom: ["9M", "8M", "7M", "4M"], + twister: ["9L8", "8L8", "7L7", "4T"], + voltswitch: ["9M", "8M", "7M"], + waterfall: ["9M", "8M", "7M", "4M"], + waterpulse: ["9M", "7T", "4M"], + weatherball: ["9M", "9E", "8M"], + whirlwind: ["9L16", "8L16", "7L1", "4L1"], + wildcharge: ["9M", "8M", "7M"], + zapcannon: ["9L44", "8L44", "7L59", "4L59"], + }, + }, + duohm: { + learnset: { + aerialace: ["9M", "7M", "4M"], + aquatail: ["7T"], + attract: ["8M", "7M", "4M"], + bide: ["7L1", "4L1"], + blizzard: ["9M", "8M", "7M", "4M"], + captivate: ["4M"], + charge: ["9M", "9L12", "8L12", "7L11", "4L11"], + chargebeam: ["9M", "7M", "4M"], + chillingwater: ["9M"], + confide: ["7M"], + discharge: ["9L35", "8L35", "7L33", "4L37"], + doublehit: ["9L0", "8L0", "7L20", "4L22"], + doubleteam: ["7M", "4M"], + dracometeor: ["9M", "8T", "7T", "4T"], + dragonbreath: ["9L20", "8L20", "7L29"], + dragonclaw: ["9M", "8M", "7M", "4M"], + dragonpulse: ["9M", "8M", "7T", "4M"], + dragonrage: ["7L24", "4L7"], + dragontail: ["9M", "9L28", "8L28", "7M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M", "7M", "4M"], + firefang: ["9M", "8M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flash: ["4M"], + focusenergy: ["8M"], + frustration: ["7M", "4M"], + growl: ["9L1", "8L1", "7L1", "4L1"], + hail: ["8M", "7M", "4M"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "4M"], + honeclaws: ["7M"], + hydropump: ["9M", "8M"], + icebeam: ["9M", "8M", "7M", "4M"], + icefang: ["9M", "8M"], + icywind: ["9M", "8M", "7T"], + incinerate: ["7M"], + irontail: ["8M", "7T"], + lightscreen: ["9M", "8M", "7M", "4M"], + lockon: ["9L52", "8L52"], + muddywater: ["8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M"], + outrage: ["9M", "8M", "4T"], + powergem: ["9M", "8M"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "9L40", "8M", "8L40", "7M", "7L37", "4M", "4L19"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + risingvoltage: ["8T"], + roar: ["9M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + secretpower: ["7M", "4M"], + shockwave: ["7T", "4M"], + signalbeam: ["4T"], + slackoff: ["9L46", "8L46", "7L48", "4L42"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "4T"], + snowscape: ["9M"], + sonicboom: ["7L16", "4L29"], + strength: ["4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + surf: ["9M", "8M", "7M", "4M"], + swagger: ["7M"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L58", "8L58", "7L53", "4L50"], + thunder: ["9M", "9L64", "8M", "8L64", "7M", "7L65", "4M"], + thunderbolt: ["9M", "8M", "7M", "4M"], + thunderfang: ["9M", "8M"], + thundershock: ["9L1", "8L1", "7L11", "4L15"], + thunderwave: ["9M", "9L24", "8M", "8L24", "7M", "4M"], + torment: ["7M", "4M"], + toxic: ["7M", "4M"], + trickroom: ["9M", "8M", "7M", "4M"], + twister: ["9L1", "8L1", "7L7", "4T"], + voltswitch: ["9M", "8M", "7M"], + waterfall: ["9M", "8M", "7M", "4M"], + waterpulse: ["9M", "7T", "4M"], + weatherball: ["9M", "8M"], + whirlwind: ["9L16", "8L16", "7L1", "4L1"], + wildcharge: ["9M", "8M", "7M"], + zapcannon: ["9L52", "8L52", "7L59", "4L59"], + }, + }, + cyclohm: { + learnset: { + aerialace: ["9M", "7M", "4M"], + aquatail: ["7T"], + attract: ["8M", "7M", "4M"], + bide: ["7L1", "4L1"], + blizzard: ["9M", "8M", "7M", "4M"], + breakingswipe: ["9L1", "8M"], + bulldoze: ["9M", "8M", "7M"], + captivate: ["4M"], + charge: ["9M", "9L12", "8L12", "7L11", "4L11"], + chargebeam: ["9M", "7M", "4M"], + chillingwater: ["9M"], + confide: ["7M"], + discharge: ["9L35", "8L35", "7L33", "4L37"], + doublehit: ["9L1", "8L1", "7L20", "4L22"], + doubleteam: ["7M", "4M"], + dracometeor: ["9M", "8T", "7T", "4T"], + dragonbreath: ["9L20", "8L20", "7L29"], + dragonclaw: ["9M", "8M", "7M", "4M"], + dragonpulse: ["9M", "8M", "7T", "4M"], + dragonrage: ["7L24", "4L7"], + dragontail: ["9M", "9L28", "8L28", "7M"], + earthquake: ["9M", "8M", "7M", "4M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + fireblast: ["9M", "8M", "7M", "4M"], + firefang: ["9M", "8M"], + flamethrower: ["9M", "8M", "7M", "4M"], + flash: ["4M"], + focusenergy: ["8M"], + frustration: ["7M", "4M"], + gigaimpact: ["9M", "8M", "7M", "4M"], + growl: ["9L1", "8L1", "7L1", "4L1"], + hail: ["8M", "7M", "4M"], + headbutt: ["4T"], + healbell: ["7T", "6T", "5T", "4T"], + hiddenpower: ["7M", "4M"], + honeclaws: ["7M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + icebeam: ["9M", "8M", "7M", "4M"], + icefang: ["9M", "8M"], + icywind: ["9M", "8M", "7T"], + incinerate: ["7M"], + irontail: ["8M", "7T"], + lightscreen: ["9M", "8M", "7M", "4M"], + lockon: ["9L56", "8L56"], + muddywater: ["8M"], + mudslap: ["9M", "4T"], + naturalgift: ["4M"], + naturepower: ["7M"], + outrage: ["9M", "8M", "4T"], + powergem: ["9M", "8M"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "9L40", "8M", "8L40", "7M", "7L37", "4M", "4L19"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + risingvoltage: ["8T"], + roar: ["9M", "7M", "6M", "5M", "4M"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + secretpower: ["7M", "4M"], + shockwave: ["7T", "4M"], + signalbeam: ["4T"], + slackoff: ["9L48", "8L48", "7L48", "4L42"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "4T"], + snowscape: ["9M"], + sonicboom: ["7L16", "4L29"], + strength: ["4M"], + substitute: ["9M", "8M", "7M", "4M"], + sunnyday: ["9M", "8M", "7M", "4M"], + surf: ["9M", "8M", "7M", "4M"], + swagger: ["7M"], + swift: ["9M", "8M", "4T"], + tackle: ["9L1", "8L1", "7L1", "4L1"], + takedown: ["9M"], + terablast: ["9M"], + thrash: ["9L64", "8L64", "7L53", "4L50"], + thunder: ["9M", "9L72", "8M", "8L72", "7M", "7L65", "4M"], + thunderbolt: ["9M", "8M", "7M", "4M"], + thunderfang: ["9M", "8M"], + thundershock: ["9L1", "8L1", "7L11", "4L15"], + thunderwave: ["9M", "9L24", "8M", "8L24", "7M", "4M"], + torment: ["7M", "4M"], + toxic: ["7M", "4M"], + triattack: ["9L0", "8M", "8L0", "7L1", "4L33"], + trickroom: ["9M", "8M", "7M", "4M"], + twister: ["9L1", "8L1", "7L7", "4T"], + voltswitch: ["9M", "8M", "7M"], + waterfall: ["9M", "8M", "7M", "4M"], + waterpulse: ["9M", "7T", "4M"], + weatherball: ["9M", "8M", "7L42"], + whirlwind: ["9L16", "8L16", "7L1", "4L1"], + wildcharge: ["9M", "8M", "7M"], + zapcannon: ["9L56", "8L56", "7L59", "4L59"], + }, + }, + dorsoil: { + learnset: { + ancientpower: ["4T"], + aquatail: ["9E", "8E", "7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "4M"], + bite: ["9L20", "8L20", "5L10", "4L11"], + block: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L35", "8M", "8L35", "7L42", "4T", "4L22"], + bounce: ["8M", "4T"], + brickbreak: ["9M", "8M", "7M", "4M"], + brutalswing: ["8M", "7M"], + bulldoze: ["8M", "7M"], + captivate: ["4M"], + chipaway: ["7E"], + confide: ["7M"], + crunch: ["9M", "9L45", "8M", "8L45", "7L58", "4L55"], + darkpulse: ["9M", "8M", "7M", "4M"], + dig: ["9M", "8M", "4M"], + dive: ["8M", "4T"], + doubleedge: ["9E", "8E", "7E", "4T", "4E"], + doubleteam: ["7M", "4M"], + drillrun: ["9M", "8M"], + earthpower: ["9M", "8M", "7T", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + encore: ["9M", "8M", "7E", "4E"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + fakeout: ["9E", "8E", "7E", "4E"], + firefang: ["9M", "8M", "7E", "4E"], + fissure: ["9E", "8E", "7E", "4E"], + flail: ["9E", "8E", "7E", "4E"], + foulplay: ["9M", "8M", "7T"], + frustration: ["7M", "4M"], + hiddenpower: ["7M", "4M"], + highhorsepower: ["9M", "8M"], + icespinner: ["9M"], + irontail: ["8M", "7T", "4M"], + knockoff: ["9M", "9L25", "8L25", "7T", "6T", "5T", "4T"], + leer: ["9L1", "8L1", "7L1", "4L1"], + magnitude: ["7L32", "4L42"], + mudshot: ["9M"], + mudslap: ["9M", "9L5", "8L5", "7L16", "4T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "6M", "5M", "4M"], + peck: ["9L1", "8L1", "7L1", "4L1"], + protect: ["9M", "8M", "7M", "4M"], + pursuit: ["7L37", "4L29"], + raindance: ["9M", "8M", "7M", "4M"], + rapidspin: ["9L15", "8L15", "7L21", "4L17"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["7M", "4M"], + rocktomb: ["9M", "8M", "7M"], + rollout: ["4T"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + sandtomb: ["9M", "9L10", "8M", "8L10", "7E", "6E", "5E", "4E"], + scorchingsands: ["8T"], + screech: ["8M", "7E", "4E"], + secretpower: ["7M", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snarl: ["9M", "8M", "7M"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + spitup: ["9L40", "8L40", "7L53", "4L48"], + stealthrock: ["9M"], + stockpile: ["9L40", "8L40", "7L53", "4L48"], + strength: ["9L30", "8L30", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + suckerpunch: ["9E", "8E", "7E", "4T", "4E"], + sunnyday: ["9M", "8M", "7M", "4M"], + superpower: ["9E", "8M", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + swagger: ["7M", "4M"], + swallow: ["9L40", "8L40", "7L53", "4L48"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "4M"], + terablast: ["9M"], + thunderfang: ["9M", "8M", "7E", "4E"], + torment: ["7M"], + toxic: ["7M", "4M"], + uturn: ["9M", "8M", "7M", "4M"], + wideguard: ["7E"], + }, + }, + colossoil: { + learnset: { + ancientpower: ["4T"], + aquatail: ["7T", "6T", "5T", "4T"], + attract: ["8M", "7M", "4M"], + bite: ["9L20", "8L20", "5L10", "4L11"], + block: ["7T", "6T", "5T"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "9L35", "8M", "8L35", "7L42", "4T", "4L22"], + bounce: ["8M", "7L48", "4T", "4L35"], + brickbreak: ["9M", "8M", "7M", "4M"], + brutalswing: ["9L1", "8M", "8L1", "7M"], + bulldoze: ["9M", "8M", "7M"], + captivate: ["4M"], + confide: ["7M"], + crunch: ["9M", "9L49", "8M", "8L49", "7L58", "4L55"], + darkpulse: ["9M", "8M", "7M", "4M"], + dig: ["9M", "8M", "4M"], + dive: ["8M", "4T"], + doubleedge: ["4T"], + doubleteam: ["7M", "4M"], + drillrun: ["9M", "9L0", "8M", "8L0", "7L1"], + earthpower: ["9M", "8M", "7T", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + embargo: ["7M", "4M"], + encore: ["9M", "8M"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + firefang: ["9M", "8M"], + foulplay: ["9M", "8M", "7T"], + frustration: ["7M", "4M"], + furyattack: ["9L1", "8L1", "7L26"], + gigaimpact: ["9M", "8M", "7M", "4M"], + headlongrush: ["9L63"], + hiddenpower: ["7M", "4M"], + highhorsepower: ["9M", "9L1", "8M", "8L1", "7L1"], + hornattack: ["9L1", "8L1", "7L5", "4L6"], + horndrill: ["9L70", "8L63", "7L74", "4L70"], + hyperbeam: ["9M", "8M", "7M", "4M"], + icespinner: ["9M"], + irontail: ["8M", "7T", "4M"], + knockoff: ["9M", "9L25", "8L25", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], + leer: ["9L1", "8L1", "7L1", "4L1"], + magnitude: ["7L32", "4L42"], + megahorn: ["9L56", "8M", "8L56", "7L64", "4L63"], + mudshot: ["9M"], + mudslap: ["9M", "9L1", "8L1", "7L16", "4T"], + naturalgift: ["4M"], + payback: ["8M", "7M", "4M"], + peck: ["9L1", "8L1", "7L1", "4L1"], + protect: ["9M", "8M", "7M", "4M"], + pursuit: ["7L37", "4L29"], + raindance: ["9M", "8M", "7M", "4M"], + rapidspin: ["9L15", "8L15", "7L21", "4L17"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + roar: ["9M", "7M", "6M", "5M", "4M"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["7M", "4M"], + rocktomb: ["9M", "8M", "7M"], + rollout: ["4T"], + round: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M", "4M"], + sandtomb: ["9M", "9L1", "8M", "8L1"], + scorchingsands: ["8T"], + screech: ["8M"], + secretpower: ["7M", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + smartstrike: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], + snatch: ["7M", "4M"], + snore: ["8M", "7T", "4T"], + spitup: ["9L42", "8L42", "7L53", "4L48"], + stealthrock: ["9M"], + stockpile: ["9L42", "8L42", "7L53", "4L48"], + stoneedge: ["9M", "8M", "7M", "4M"], + strength: ["9L30", "8L30", "4M"], + substitute: ["9M", "8M", "7M", "4M"], + suckerpunch: ["4T"], + sunnyday: ["9M", "8M", "7M", "4M"], + superpower: ["8M", "7T", "6T", "5T", "4T"], + swagger: ["7M", "4M"], + swallow: ["9L42", "8L42", "7L53", "4L48"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "4M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + torment: ["7M"], + toxic: ["7M", "4M"], + uturn: ["9M", "8M", "7M", "4M"], + }, + }, + protowatt: { + learnset: { + bubble: ["7L1", "4L1"], + charge: ["9M", "9L1", "8L1", "7L1", "4L1"], + confuseray: ["9M", "9L10", "8L10", "7L11", "4L11"], + counter: ["9E", "8E", "7E", "4E"], + entrainment: ["9E", "8E", "7E"], + followme: ["9E", "8E", "7E", "4E"], + mefirst: ["7E", "4E"], + metronome: ["7E", "4E"], + mindreader: ["7E", "4E"], + mirrorcoat: ["9E", "8E", "7E", "4E"], + sheercold: ["9E", "8E", "7E", "4E"], + speedswap: ["7E"], + terablast: ["9M"], + thundershock: ["9L5", "8L5", "7L5", "4L5"], + watergun: ["9L1", "8L1"], + }, + }, + krilowatt: { + learnset: { + aquatail: ["9L50", "8L50", "7L1"], + attract: ["8M", "7M", "4M"], + blizzard: ["9M", "8M", "7M", "6M", "5M"], + bubble: ["7L1", "4L1"], + bubblebeam: ["9L0", "8L0", "7L28", "4L28"], + bulldoze: ["9M", "8M", "7M"], + captivate: ["4M"], + charge: ["9M", "9L1", "8L1", "7L1", "4L1"], + chillingwater: ["9M"], + confide: ["7M"], + confuseray: ["9M", "9L1", "8L1", "7L11", "4L11"], + copycat: ["9L25", "8L25", "7L39", "4L39"], + counter: ["7L33", "4L33"], + cut: ["6M", "5M", "4M"], + discharge: ["9L30", "8L30", "7M", "7L51", "4L51"], + dive: ["8M", "6M", "4T"], + doubleteam: ["7M", "4M"], + earthpower: ["9M", "8M", "7T", "4T"], + earthquake: ["9M", "8M", "7M", "4M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "8M"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + flash: ["4M"], + fling: ["9M", "8M", "7M", "4M"], + flipturn: ["8T"], + frustration: ["7M", "4M"], + furycutter: ["4T"], + gigaimpact: ["9M", "8M", "7M", "4M"], + guillotine: ["9L60", "8L60", "7L57", "4L57"], + hail: ["8M", "7M", "4M"], + heartswap: ["9S0", "7L53", "4L46"], + helpinghand: ["9M", "8M", "7T", "4T"], + hiddenpower: ["7M", "4M"], + hyperbeam: ["9M", "8M", "7M", "4M"], + icebeam: ["9M", "9S0", "8M", "7M", "6M", "5M"], + icepunch: ["9M", "8M", "7T", "6T", "5T"], + iceshard: ["9L1", "8L1", "7L1", "4L1"], + icywind: ["9M", "8M", "7T", "4T"], + imprison: ["9M", "9L20", "8M", "8L20", "7L17", "4L17"], + irontail: ["8M", "7T"], + liquidation: ["9M", "8M"], + lowkick: ["9M", "8M", "7T", "4T"], + lowsweep: ["9M", "8M", "7M"], + magneticflux: ["9L1", "8L1", "7L1"], + metronome: ["9M", "8M"], + mindreader: ["8L35"], + mirrorcoat: ["7L24", "4L24"], + muddywater: ["9L40", "8M", "8L40", "7L68", "4L68"], + naturalgift: ["4M"], + payback: ["8M", "7M", "4M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "4M"], + raindance: ["9M", "8M", "7M", "4M"], + recycle: ["7T", "4M"], + rest: ["9M", "8M", "7M", "4M"], + return: ["7M", "4M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + scald: ["8M", "7M"], + secretpower: ["7T", "4M"], + shockwave: ["7T", "4M"], + signalbeam: ["7T", "4T"], + sleeptalk: ["9M", "8M", "7M", "4M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + speedswap: ["8M"], + substitute: ["9M", "8M", "7M", "4M"], + surf: ["9M", "9S0", "8M", "7M", "4M"], + swagger: ["7M"], + swift: ["9M", "8M", "4T"], + terablast: ["9M"], + thunder: ["9M", "9L55", "8M", "8L55", "7M", "7L63", "4M", "4L63"], + thunderbolt: ["9M", "9S0", "8M", "7M", "4M"], + thunderpunch: ["9M", "8M", "7T", "4T"], + thundershock: ["9L1", "8L1", "7L5", "4L5"], + thunderwave: ["9M", "8M", "7M", "4M"], + torment: ["7M", "4M"], + toxic: ["7M", "4M"], + voltswitch: ["9M", "8M", "7M"], + waterfall: ["9M", "8M", "7M", "4M"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M", "7T", "4M"], + whirlpool: ["9L35", "8M", "7M", "4M"], + wildcharge: ["9M", "9L45", "8M", "8L45", "7M", "7L53"], + }, + eventData: [ + {generation: 9, level: 50, moves: ["surf", "thunderbolt", "icebeam", "heartswap"], pokeball: "pokeball"}, + ], + }, + voodoll: { + learnset: { + acupressure: ["9L48", "8L48", "7L36", "4L40"], + afteryou: ["7T"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L1", "4L1"], + attract: ["8M", "7M", "4M"], + aurasphere: ["9M", "9L36", "8M", "8L36", "7L45", "4L45"], + batonpass: ["9M", "8M", "7E", "4E"], + burningjealousy: ["9M", "8T"], + captivate: ["4M"], + charge: ["9M", "9L20", "8L20", "7L19", "4L19"], + confide: ["7M"], + copycat: ["9L4", "8L4", "7L1", "4L1"], + counter: ["9E", "8E", "7E", "4T"], + darkpulse: ["9M", "8M", "7M", "4M"], + doubleteam: ["7M"], + dreameater: ["7M", "4M"], + echoedvoice: ["9L16", "8L16"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + feintattack: ["7L30", "4L30"], + fling: ["9M", "8M", "7M", "4M"], + followme: ["9L40", "8L40", "7L20", "4L20"], + foulplay: ["9M", "9L54", "8M", "8L52", "7L54"], + frustration: ["7M", "4M"], + grudge: ["8L33", "7L15", "4L15"], + hex: ["9M", "9L28", "8M", "8L28", "7L43"], + hiddenpower: ["7M", "4M"], + hypervoice: ["9M", "8M", "7T"], + imprison: ["9M", "8M", "7E", "4E"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E", "4T", "4E"], + lashout: ["9M", "8T"], + machpunch: ["9E", "8E", "7E", "4E"], + magiccoat: ["7T", "4T"], + magicroom: ["8M", "7T"], + memento: ["9E", "8E", "7E", "4E"], + metronome: ["9M", "8M", "7E", "4T"], + mimic: ["7E", "4E"], + mudslap: ["9M", "4T"], + nastyplot: ["9M", "8M", "7E"], + naturalgift: ["4M"], + nightmare: ["7E", "4T"], + painsplit: ["9L44", "8L44", "7L7", "4T", "4L7"], + payback: ["8M", "7M", "4M"], + perishsong: ["9E", "8E", "7E", "4E"], + pinmissile: ["9L8", "8M", "8L8", "7L25", "4L25"], + powertrip: ["9E", "8E", "7E"], + poweruppunch: ["7M"], + protect: ["9M", "8M", "7M", "4M"], + psychic: ["9M", "8M", "7M", "4M"], + pursuit: ["7E", "4E"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + risingvoltage: ["8T"], + rocksmash: ["7M", "4M"], + round: ["8M", "7M"], + screech: ["8M", "7E", "4E"], + secretpower: ["7M", "4M"], + shockwave: ["7T", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + smellingsalts: ["7E", "4E"], + snarl: ["9M", "8M", "7M"], + snatch: ["4M"], + snore: ["8M", "7T", "4T"], + spite: ["9M", "9L12", "8L12", "7T", "7L11", "6T", "5T", "4T", "4L11"], + strength: ["7M", "4M"], + substitute: ["9M", "8M", "7M", "7L50", "4M", "4L50"], + suckerpunch: ["9E", "8E"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "4M"], + tearfullook: ["9L24", "8L24", "7L22"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "4M"], + thunderbolt: ["9M", "8M", "7M"], + thunderwave: ["9M", "8M", "7M", "4M"], + torment: ["9L33", "7M", "6M", "5M", "4M"], + toxic: ["7M", "4M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + vacuumwave: ["9M", "9E", "8E", "7E", "6E", "5E", "4T", "4E"], + voltswitch: ["9M"], + workup: ["8M", "7M"], + wrap: ["9L1", "8L1", "7L1", "4L1"], + }, + }, + voodoom: { + learnset: { + acupressure: ["9L52", "8L52", "7L40", "4L40"], + afteryou: ["7T"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L1", "4L1"], + attract: ["8M", "7M", "4M"], + aurasphere: ["9M", "9L40", "8M", "8L40", "7L45", "4L45"], + batonpass: ["9M", "8M"], + beatup: ["8M", "7L55", "4L55"], + brickbreak: ["8M", "7M", "4M"], + brutalswing: ["8M"], + bulkup: ["8M", "7M", "4M"], + bulldoze: ["8M", "7M"], + burningjealousy: ["9M", "8T"], + captivate: ["4M"], + charge: ["9M", "9L20", "8L20", "7L19", "4L19"], + closecombat: ["9M", "9L64", "8M", "8L64", "7L35", "4L35"], + coaching: ["8T"], + confide: ["7M"], + copycat: ["9L1", "8L1", "7L1", "4L1"], + counter: ["4T"], + darkestlariat: ["8M"], + darkpulse: ["9M", "8M", "7M", "4M"], + doubleteam: ["7M"], + drainpunch: ["9M", "8M", "7T", "4M"], + dreameater: ["7M", "4M"], + earthquake: ["9M", "8M", "7M", "4M"], + echoedvoice: ["9L16", "8L16"], + endure: ["9M", "8M", "4M"], + facade: ["9M", "8M", "7M", "4M"], + feintattack: ["7L30", "4L30"], + flashcannon: ["9M", "8M", "7M"], + fling: ["9M", "8M", "7M", "4M"], + focusblast: ["9M", "8M", "7M", "4M"], + focuspunch: ["9M", "7T", "6T", "4M"], + followme: ["9L1", "8L1", "7L20", "4L20"], + foulplay: ["9M", "9L58", "8M", "8L58", "7L61"], + frustration: ["7M", "4M"], + gigaimpact: ["9M", "8M", "7M", "4M"], + grudge: ["8L35", "7L15", "4L15"], + hex: ["9M", "9L28", "8M", "8L28", "7L48"], + hiddenpower: ["7M", "4M"], + hyperbeam: ["8M", "7M", "4M"], + hypervoice: ["9M", "8M", "7T"], + icepunch: ["9M", "8M", "7T", "4T"], + imprison: ["9M", "8M"], + knockoff: ["9M", "7T", "6T", "5T", "4T"], + lashout: ["9M", "8T"], + lowkick: ["9M", "8M", "7T", "4T"], + lowsweep: ["9M", "8M", "7M"], + magiccoat: ["7T", "4T"], + magicroom: ["8M", "7T"], + metronome: ["9M", "8M", "4T"], + mudslap: ["9M", "4T"], + nastyplot: ["9M", "8M"], + naturalgift: ["4M"], + nightmare: ["4T"], + nightslash: ["9L1", "8L1", "7M", "7L1", "4L1"], + painsplit: ["9L46", "8L46", "7L1", "4T", "4L1"], + payback: ["8M", "7M", "4M"], + pinmissile: ["9L1", "8M", "8L1", "7L25", "4L25"], + poweruppunch: ["7M"], + protect: ["9M", "8M", "7M", "4M"], + psychic: ["9M", "8M", "7M", "4M"], + rest: ["9M", "8M", "7M", "4M"], + retaliate: ["8M", "7M"], + return: ["7M", "4M"], + revenge: ["8M", "8L0", "7L1", "4L1"], + risingvoltage: ["8T"], + rockslide: ["9M", "8M", "7M", "4M"], + rocksmash: ["7M", "4M"], + round: ["8M", "7M"], + screech: ["8M"], + secretpower: ["7M", "4M"], + shockwave: ["7T", "4M"], + sleeptalk: ["9M", "8M", "7M", "4M"], + smartstrike: ["9M", "8M", "7M"], + snarl: ["9M", "8M", "7M"], + snatch: ["4M"], + snore: ["8M", "7T", "4T"], + spite: ["9M", "9L12", "8L12", "7T", "7L1", "6T", "5T", "4T", "4L1"], + stoneedge: ["9M", "8M", "7M", "4M"], + strength: ["7M", "4M"], + substitute: ["9M", "8M", "7M", "7L50", "4M", "4L50"], + sunnyday: ["9M", "8M", "7M", "4M"], + swagger: ["7M", "4M"], + taunt: ["9M", "8M", "7M", "4M"], + tearfullook: ["9L24", "8L24", "7L22"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "4M"], + throatchop: ["9L1", "8M", "8L1"], + thunderbolt: ["9M", "8M", "7M"], + thunderpunch: ["9M", "8M"], + thunderwave: ["9M", "8M", "7M", "4M"], + torment: ["9L35", "7M", "6M", "5M", "4M"], + toxic: ["7M", "4M"], + uproar: ["9M", "8M", "7T", "6T", "5T", "4T"], + vacuumwave: ["9M", "4T"], + voltswitch: ["9M"], + workup: ["8M", "7M"], + wrap: ["9L1", "8L1", "7L1", "4L1"], + }, + }, + scratchet: { + learnset: { + aerialace: ["9M", "7M", "5M"], + attract: ["8M", "7M", "5M"], + batonpass: ["9M", "8M", "7E", "5E"], + bodypress: ["9M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "9L30", "8M", "7M", "6M", "5M"], + bulkup: ["9M", "9L36", "8M", "8L36", "7M", "7L40", "5M", "5L40"], + bulldoze: ["9M", "8M", "7M", "5M"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M"], + confuseray: ["9M", "9E", "8E", "7M", "7E", "5E"], + doubleteam: ["7M", "5M"], + echoedvoice: ["7M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "5M"], + falseswipe: ["9M", "8M", "7M", "5M"], + flash: ["6M", "5M"], + fling: ["9M", "8M", "7M", "5M"], + focusblast: ["9M", "8M", "7M", "5M"], + focusenergy: ["9L6", "8M", "8L6", "7L13", "7E", "5L13", "5E"], + frustration: ["7M", "7E", "5M"], + furyswipes: ["9L9", "8L9", "7L18", "5L1"], + grassknot: ["9M", "8M", "7M", "5M"], + harden: ["9L1", "8L1", "7L4", "5L9"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M", "5M"], + hypervoice: ["9M", "9L33", "8M", "8L33", "7L36", "5L36"], + irontail: ["8M", "7T"], + megakick: ["8M"], + megapunch: ["8M"], + memento: ["9E", "8E", "7E", "5E"], + mudslap: ["9M"], + naturepower: ["8E", "7M", "7E", "5E"], + poweruppunch: ["8L3", "6M"], + protect: ["9M", "8M", "7M", "5M"], + quash: ["9E", "8E", "7M", "5M"], + raindance: ["9M", "8M", "7M", "5M"], + rapidspin: ["9E", "8E", "7E", "5E"], + rest: ["9M", "9L24", "8M", "8L24", "7M", "7L53", "5M", "5L53"], + retaliate: ["9L21", "8M", "8L21", "7L57", "6M", "5M", "5L57"], + return: ["7M", "5M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + roar: ["9M", "9L18", "8L18", "7M", "7L23", "7E", "6M", "6E", "5M", "5L23", "5E"], + rockslide: ["9M", "8M", "7M", "5M"], + rocksmash: ["9L12", "8L12", "7T", "7L9", "6M", "5M", "5L18"], + rocktomb: ["9M", "8M", "7M", "5M"], + roost: ["8E", "7M", "7E", "6M", "6E", "5T", "5E"], + round: ["8M", "7M", "5M"], + safeguard: ["8M", "7M", "5M"], + scratch: ["9L1", "8L1", "7L1"], + secretpower: ["7M"], + sleeptalk: ["9M", "8M"], + snore: ["8M", "7T"], + stealthrock: ["9M", "8M", "7T", "7E", "5E"], + strength: ["6M", "5M"], + submission: ["8L30", "7L32", "5L32"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "8M", "7M", "5M"], + superpower: ["9L39", "8M", "8L39", "7T", "7L45", "6T", "6L45", "5T", "5L45"], + swagger: ["7M", "5M"], + takedown: ["9M"], + taunt: ["9M", "9L15", "8M", "8L15", "7M", "7L49", "5M", "5L49"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "5M"], + throatchop: ["8M"], + toxic: ["7M", "5M"], + trailblaze: ["9M"], + workup: ["9L27", "8M", "8L27", "7M", "7L27", "5M", "5L27"], + yawn: ["9E", "8E", "7E", "5E"], + }, + }, + tomohawk: { + learnset: { + acrobatics: ["9M", "8M", "7M", "5M"], + aerialace: ["9M", "9L12", "8L12", "7M", "7L17", "5M", "5L17"], + aircutter: ["9M"], + airslash: ["9M", "9L31", "8M", "8L31", "7L33", "5L37"], + aquatail: ["7T"], + attract: ["8M", "7M", "5M"], + aurasphere: ["9M", "9L1", "8M", "8L1", "7L1", "5L1"], + batonpass: ["9M", "8M"], + bodypress: ["9M"], + bodyslam: ["9M", "8M"], + bravebird: ["9M", "8M"], + brickbreak: ["9M", "9L36", "8M", "7M", "6M", "5M"], + bulkup: ["9M", "9L1", "8M", "8L1", "7M", "5M"], + bulldoze: ["9M", "8M", "7M", "5M"], + closecombat: ["9M", "8M"], + coaching: ["8T"], + confide: ["7M"], + confuseray: ["9M", "7M"], + doubleteam: ["7M", "5M"], + dualwingbeat: ["9M", "8T"], + earthquake: ["9M", "8M", "7M", "5M"], + echoedvoice: ["7M", "5M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "5M"], + falseswipe: ["9M", "8M", "7M", "5M"], + flash: ["6M", "5M"], + fling: ["9M", "8M", "7M", "5M"], + fly: ["9M", "8M", "7M", "5M"], + focusblast: ["9M", "8M", "7M", "5M"], + focusenergy: ["9L1", "8M", "8L1"], + frustration: ["5M"], + furyswipes: ["9L9", "8L9", "7L1", "5L1"], + gigaimpact: ["9M", "8M", "7M", "5M"], + grassknot: ["9M", "8M", "7M", "5M"], + harden: ["9L1", "8L1", "7L1", "5L1"], + haze: ["9M"], + healingwish: ["9L46", "8L46", "7L60", "5L60"], + heatwave: ["9M", "8M", "7L42", "5L45"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M", "5M"], + hurricane: ["9M", "9L56", "8M", "8L56", "7L51", "5L55"], + hyperbeam: ["9M", "8M", "7M", "5M"], + hypervoice: ["9M", "9L41", "8M", "8L41", "7L45", "5L49"], + incinerate: ["6M", "5M"], + irontail: ["8M", "7T"], + megakick: ["8M"], + megapunch: ["8M"], + morningsun: ["9L15", "8L15", "7L20", "5L20"], + poweruppunch: ["8L1", "6L99"], + protect: ["9M", "8M", "7M", "5M"], + quash: ["7M", "5M"], + raindance: ["9M", "9L21", "8M", "8L21", "7M", "7L29", "5M", "5L29"], + rest: ["9M", "9L1", "8M", "8L1", "7M", "7L53", "5M", "5L53"], + retaliate: ["9L1", "8M", "8L1", "6M", "5M"], + return: ["7M", "5M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + roar: ["9M", "9L1", "8L1", "7M", "6M", "5M"], + rockslide: ["9M", "8M", "7M", "5M"], + rocksmash: ["9L1", "8L1", "6M", "5M"], + rocktomb: ["9M", "8M", "7M", "5M"], + roost: ["9L26", "8L26", "7M", "6M", "5T"], + round: ["8M", "7M", "5M"], + safeguard: ["8M", "7M", "5M"], + scratch: ["9L1", "8L1", "7L4"], + secretpower: ["7M"], + skyattack: ["9L61", "8L61", "7L55"], + skydrop: ["7M", "7L49", "5M", "5L50"], + sleeptalk: ["9M", "8M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M", "5M"], + stealthrock: ["9M", "8M"], + steelwing: ["8M", "7M"], + stoneedge: ["9M", "8M"], + strength: ["6M", "5M"], + submission: ["8L36", "7L37", "5L42"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "9L15", "8M", "8L15", "7M", "7L1", "5M", "5L1"], + superpower: ["9L51", "8M", "8L51", "7T", "7L50", "6T", "6L51", "5T", "5L51"], + swagger: ["7M", "5M"], + takedown: ["9M"], + taunt: ["9M", "9L1", "8M", "8L1", "7M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "5M"], + throatchop: ["8M"], + toxic: ["7M", "5M"], + trailblaze: ["9M"], + whirlwind: ["9L18", "8L18", "7L23", "5L23"], + workup: ["9L1", "8M", "8L1", "7M", "5M"], + }, + }, + necturine: { + learnset: { + attract: ["8M", "7M", "5M"], + calmmind: ["9M", "8M", "7M", "5M"], + confide: ["7M"], + confuseray: ["9M"], + curse: ["9E", "8E", "7E", "5E"], + cut: ["7M", "5M"], + darkpulse: ["9M", "8M", "7M"], + doubleteam: ["7M", "5M"], + dreameater: ["7M", "5M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "5M"], + facade: ["9M", "8M", "7M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "5M"], + futuresight: ["8M", "7E", "5E"], + gigadrain: ["9M", "8M", "7E", "6T", "5E"], + grassknot: ["9M", "8M", "7M", "5M"], + grassyglide: ["8T"], + grassyterrain: ["9M", "9L32", "8M", "8L32", "7L22"], + gravity: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + hex: ["9M", "9L16", "8M", "8L16", "7L18", "5L25"], + hiddenpower: ["7M", "5M"], + ingrain: ["9E", "8E", "7E", "5E"], + leafblade: ["9E", "8M", "7E", "6E", "5E"], + leafstorm: ["9M", "8M", "7E", "5E"], + leechlife: ["9M", "8M", "7M"], + leechseed: ["9L8", "8L8", "7L8"], + leer: ["9L1", "8L1", "7L1", "5L1"], + magicalleaf: ["9M", "9L12", "8M", "8L12", "7L11"], + naturalgift: ["7E", "5L31", "5E"], + naturepower: ["7M"], + nightmare: ["7E", "5E"], + nightshade: ["9M", "9L28", "8L28", "7L26"], + ominouswind: ["7E", "5L7"], + painsplit: ["9L40", "8L40", "7L34", "6T", "5L37"], + payback: ["8M", "7M", "5M"], + powerwhip: ["9L44", "8M", "8L44", "7L50", "5L50"], + protect: ["9M", "8M", "7M", "5M"], + psychic: ["9M", "8M", "7M", "5M"], + psychup: ["7M", "5M"], + rest: ["9M", "8M", "7M", "5M"], + return: ["7M", "5M"], + round: ["8M", "7M", "5M"], + secretpower: ["7M"], + seedbomb: ["9M", "9L24", "8M", "8L24", "7T", "7L39"], + shadowball: ["9M", "9L36", "8M", "8L36", "7M", "7L43", "5M", "5L44"], + shadowsneak: ["9L4", "8L4", "7L4", "5L13"], + shellsmash: ["9E"], + sketch: ["7E", "5E"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M", "5M"], + spite: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "8M", "7M", "5M"], + swagger: ["7M", "5M"], + telekinesis: ["6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "5M"], + torment: ["7M", "5M"], + toxic: ["7M", "5M"], + toxicspikes: ["9M", "9L20", "8M", "8L20", "7L23", "5L19"], + trailblaze: ["9M"], + vinewhip: ["9L1", "8L1", "7L1", "5L1"], + willowisp: ["9M", "9L20", "8M", "8L20", "7M", "7L15", "5M", "5L19"], + worryseed: ["7T"], + }, + }, + necturna: { + learnset: { + attract: ["8M", "7M", "5M"], + calmmind: ["9M", "8M", "7M", "5M"], + confide: ["7M"], + confuseray: ["9M"], + crunch: ["9M", "8M"], + cut: ["7M", "5M"], + darkpulse: ["9M", "8M", "7M"], + doubleteam: ["7M", "5M"], + dreameater: ["7M", "5M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "5M"], + facade: ["9M", "8M", "7M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "5M"], + futuresight: ["8M"], + gigadrain: ["8M", "6T"], + gigaimpact: ["9M", "8M", "7M", "5M"], + grassknot: ["9M", "8M", "7M", "5M"], + grassyglide: ["8T"], + grassyterrain: ["9M", "9L34", "8M", "8L34", "7L34"], + gravity: ["9M", "7T", "6T", "5T"], + hex: ["9M", "9L16", "8M", "8L16", "7L28", "5L25"], + hiddenpower: ["7M", "5M"], + hornleech: ["9L0", "8L0", "7L1", "5L31"], + hyperbeam: ["9M", "8M", "7M", "5M"], + leafblade: ["8M"], + leafstorm: ["9M", "8M"], + leechlife: ["9M", "8M", "7M"], + leechseed: ["9L1", "8L1", "7L12"], + leer: ["9L1", "8L1", "7L1", "5L1"], + magicalleaf: ["9M", "9L12", "8M", "8L12", "7L17"], + naturepower: ["7M"], + nightshade: ["9M", "9L28", "8L28", "7L39"], + ominouswind: ["5L7"], + painsplit: ["9L46", "8L46", "7L45", "6T", "5L40"], + payback: ["8M", "7M", "5M"], + poisonfang: ["9L1", "8L1", "7L1", "5L1"], + powerwhip: ["9L52", "8M", "8L52", "7L56", "5L60"], + protect: ["9M", "8M", "7M", "5M"], + psychic: ["9M", "8M", "7M", "5M"], + psychup: ["7M", "5M"], + rest: ["9M", "8M", "7M", "5M"], + return: ["7M", "5M"], + round: ["8M", "7M", "5M"], + secretpower: ["7M"], + seedbomb: ["9M", "9L24", "8M", "8L24", "7T"], + shadowball: ["9M", "9L40", "8M", "8L40", "7M", "7L50", "5M", "5L50"], + shadowclaw: ["9M", "8M", "7M", "5M"], + shadowsneak: ["9L1", "8L1", "7L6", "5L13"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M", "5M"], + solarblade: ["9M", "8M"], + spite: ["9M", "7T", "6T", "5T"], + stoneedge: ["9M", "8M", "7M", "5M"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "8M", "7M", "5M"], + superfang: ["9M", "9L1", "8L1", "7T", "7L1", "6T", "5T", "5L1"], + swagger: ["7M", "5M"], + telekinesis: ["6M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "5M"], + thunderfang: ["9M", "9L1", "8M", "8L1", "7L1", "5L1"], + torment: ["7M", "5M"], + toxic: ["7M", "5M"], + toxicspikes: ["9M", "9L20", "8M", "8L20", "7L23", "5L19"], + trailblaze: ["9M"], + vinewhip: ["9L1", "8L1", "7L1", "5L1"], + willowisp: ["9M", "9L20", "8M", "8L20", "7M", "7L23", "5M", "5L19"], + worryseed: ["7T"], + }, + }, + mollux: { + learnset: { + acid: ["9L4", "8L4", "7L4", "5L4"], + acidarmor: ["9L32", "8L32", "7L33", "5L28"], + acidspray: ["9M", "9L12", "8L12", "7L12", "5L12"], + aquaring: ["9E", "8E", "7E", "5E"], + attract: ["8M", "7M", "5M"], + bide: ["7L1", "5L1"], + bind: ["7T"], + calmmind: ["9M", "8M", "7M", "5M"], + charm: ["9M", "8M", "7E", "5E"], + clearsmog: ["9L24", "8L24", "7L25", "5L20"], + confide: ["7M"], + confuseray: ["9M", "9L8", "8L8", "7L17", "5L17"], + corrosivegas: ["8T"], + doubleteam: ["7M", "5M"], + drainingkiss: ["9M", "9L16", "8M", "8L16", "7L20", "7E"], + ember: ["9L1", "8L1", "7L1", "5L1"], + endure: ["9M", "8M"], + eruption: ["9L68", "8L68", "7L57", "5L52"], + explosion: ["7M", "5M"], + facade: ["9M", "8M", "7M", "5M"], + finalgambit: ["9L60", "8L60", "7L60", "5L57"], + fireblast: ["9M", "8M", "7M", "5M"], + firespin: ["9M", "8M", "7E", "5E"], + flamecharge: ["9M", "7M", "5M"], + flamethrower: ["9M", "8M", "7M", "5M"], + flash: ["6M", "5M"], + frustration: ["7M", "5M"], + gastroacid: ["9L56", "8L56", "7M", "6T", "5E"], + gigaimpact: ["9M", "8M", "7M", "5M"], + gunkshot: ["9M", "8M", "7L52", "6T", "5L49"], + healbell: ["7T", "7E", "6T", "6E", "5T", "5E"], + healpulse: ["9E", "8E", "7E", "5E"], + heatwave: ["9M", "8M", "7L36", "6T", "5L33"], + helpinghand: ["9M", "8M", "7E", "6T", "5E"], + hiddenpower: ["7M", "5M"], + hydropump: ["9M"], + hyperbeam: ["9M", "8M", "7M", "5M"], + inferno: ["9L48", "8L48", "7L49", "5L44"], + lavaplume: ["9L28", "8L28", "7L28", "5L25"], + leechlife: ["9M", "8M", "7M"], + lifedew: ["9L20", "8L20"], + lightscreen: ["9M", "8M", "7M", "5M"], + moonlight: ["9L40", "8L40", "7L33", "5L28"], + overheat: ["9M", "8M", "7M", "5M"], + protect: ["9M", "8M", "7M", "5M"], + raindance: ["9M", "8M", "7M", "5M"], + rapidspin: ["9E", "8E", "7E", "5E"], + recover: ["9L52", "8L52", "7L41", "5L36"], + rest: ["9M", "8M", "7M", "5M"], + return: ["7M", "5M"], + round: ["8M", "7M", "5M"], + secretpower: ["7M"], + selfdestruct: ["8M"], + shockwave: ["7T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "7E", "5E"], + sludgebomb: ["9M", "8M", "7M", "5M"], + sludgewave: ["9L36", "8M", "8L36", "7M", "5M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M", "5M"], + spotlight: ["7L65"], + stealthrock: ["9M", "8M", "7E", "6T", "5E"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "8M", "7M", "5M"], + swagger: ["7M", "5M"], + swift: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "5M"], + thunder: ["9M", "8M", "7M", "5M"], + thunderbolt: ["9M", "8M", "7M", "5M"], + thunderwave: ["9M", "8M", "7M", "5M"], + toxic: ["9M", "9L64", "8L64", "7M", "6M", "5M"], + toxicspikes: ["9M", "9L44", "8M", "8L44", "7L44", "5L41"], + trick: ["9M", "8M", "7E", "6T", "5E"], + venomdrench: ["8M", "7E"], + venoshock: ["9M", "8M", "7M", "5M"], + willowisp: ["9M", "8M", "7M", "5M"], + withdraw: ["9L1", "8L1", "7L9", "5L9"], + }, + }, + cupra: { + learnset: { + allyswitch: ["8M", "5M"], + ancientpower: ["9L21", "8L21", "7L44", "5L44"], + attract: ["8M", "7M", "5M"], + bugbite: ["9M", "9L15", "8L15", "7T", "7L7", "6T", "5T", "5L7"], + bugbuzz: ["9M", "8M", "7E", "5E"], + calmmind: ["9M"], + closecombat: ["9M", "8M", "7E", "5E"], + confide: ["7M"], + counter: ["9E", "8E", "7E", "5E"], + cut: ["6M", "5M"], + disable: ["9E", "7E", "6E", "5E"], + doubleteam: ["9L9", "8L9", "7M", "5M"], + dreameater: ["7M", "5M"], + echoedvoice: ["7M", "5M"], + electroweb: ["8M", "7T", "5T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "5M"], + feint: ["9E", "8E", "7E", "5E"], + finalgambit: ["9L36", "8L36", "7L38", "5L38"], + flash: ["6M", "5M"], + fling: ["9M", "8M", "7M", "5M"], + frustration: ["7M", "5M"], + hail: ["8M", "7M", "5M"], + healpulse: ["9L18", "8L18", "7L21", "5L21"], + helpinghand: ["9M", "8M", "7T", "5T"], + hiddenpower: ["7M", "5M"], + hydropump: ["9M", "8M", "7E", "5E"], + icywind: ["9M", "8M", "7T", "5T"], + imprison: ["9M", "9L12", "8M", "8L12"], + infestation: ["7M"], + lightscreen: ["9M", "8M", "7M", "5M"], + magiccoat: ["7T", "5T"], + magicroom: ["8M", "7T", "5T"], + megahorn: ["9E", "8M", "7E", "6E", "5E"], + nastyplot: ["9M", "8M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "5M"], + psychic: ["9M", "9L33", "8M", "8L33", "7M", "5M"], + psychicterrain: ["9M", "8M"], + psychup: ["9E", "7M", "6M", "5M"], + psyshock: ["9M", "8M", "7M", "5M"], + raindance: ["9M", "8M", "7M", "5M"], + recycle: ["7T", "5T"], + reflect: ["9M", "8M", "7M", "5M"], + rest: ["9M", "8M", "7M", "5M"], + retaliate: ["8M", "5M"], + return: ["7M", "5M"], + roleplay: ["7T", "5T"], + round: ["8M", "7M", "5M"], + safeguard: ["8M", "7M", "7E", "5M", "5E"], + secretpower: ["7M"], + shadowball: ["9M", "8M", "7M", "5M"], + shockwave: ["7M"], + signalbeam: ["7T"], + skillswap: ["9M", "8M", "7T", "5T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + steelwing: ["8M", "7M"], + stringshot: ["9L1", "8L1", "7L1", "5L1"], + strugglebug: ["9M", "9L6", "8L6", "7L27", "5M"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "9L3", "8M", "8L3", "7M", "7L14", "5M", "5L14"], + swagger: ["7M", "5M"], + tackle: ["9L1", "8L1", "7L1", "5L1"], + tailglow: ["9E", "7L60"], + telekinesis: ["5M"], + terablast: ["9M"], + toxic: ["7M", "5M"], + trick: ["9M", "8M", "7T", "5T"], + waterpulse: ["9M", "7T"], + willowisp: ["9M", "9L24", "8M", "8L24", "7M", "7L32", "5M", "5L32"], + wingattack: ["7E", "5E"], + wish: ["9L31", "8L31", "7L48", "5L48"], + wonderroom: ["8M", "7T", "5T"], + xscissor: ["9M", "8M", "7M", "5M"], + zenheadbutt: ["9M", "9L27", "8M", "8L27", "7T", "5T", "5L54"], + }, + }, + argalis: { + learnset: { + allyswitch: ["8M", "5M"], + ancientpower: ["9L21", "8L21", "7L47", "5L47"], + attract: ["8M", "7M", "5M"], + bugbite: ["9M", "9L15", "8L15", "7T", "7L7", "6T", "5T", "5L7"], + bugbuzz: ["9M", "8M"], + calmmind: ["9M"], + closecombat: ["9M", "8M"], + confide: ["7M"], + cut: ["6M", "5M"], + doubleteam: ["9L9", "8L9", "7M", "5M"], + dreameater: ["7M", "5M"], + echoedvoice: ["7M", "5M"], + electroweb: ["8M", "7T", "5T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "5M"], + finalgambit: ["9L52", "8L52", "7L41", "5L41"], + flash: ["6M", "5M"], + fling: ["9M", "8M", "7M", "5M"], + frustration: ["7M", "5M"], + hail: ["8M", "7M", "5M"], + healpulse: ["9L18", "8L18", "7L21", "5L21"], + helpinghand: ["9M", "8M", "7T", "5T"], + hiddenpower: ["7M", "5M"], + hydropump: ["9M", "8M"], + icywind: ["9M", "8M", "7T", "5T"], + imprison: ["9M", "9L12", "8M", "8L12"], + infestation: ["7M"], + lightscreen: ["9M", "9L37", "8M", "8L37", "7M", "7L57", "5M"], + magiccoat: ["7T", "5T"], + magicroom: ["8M", "7T", "5T"], + megahorn: ["8M"], + nastyplot: ["9M", "9L42", "8M", "8L42"], + ominouswind: ["7L27", "5L27"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "5M"], + psychic: ["9M", "9L47", "8M", "8L47", "7M", "7L62", "5M"], + psychicterrain: ["9M", "8M"], + psychup: ["7M", "5M"], + psyshock: ["9M", "8M", "7M", "5M"], + raindance: ["9M", "8M", "7M", "5M"], + recycle: ["7T", "5T"], + reflect: ["9M", "9L37", "8M", "8L37", "7M", "7L57", "5M"], + rest: ["9M", "8M", "7M", "5M"], + retaliate: ["8M", "5M"], + return: ["7M", "5M"], + roleplay: ["7T", "5T"], + round: ["8M", "7M", "5M"], + safeguard: ["8M", "7M", "5M"], + secretpower: ["7M"], + shadowball: ["9M", "8M", "7M", "5M"], + shockwave: ["7M"], + signalbeam: ["7T"], + skillswap: ["9M", "8M", "7T", "5T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + spotlight: ["7L1"], + steelwing: ["8M", "7M"], + stringshot: ["9L1", "8L1", "7L1", "5L1"], + strugglebug: ["9M", "9L1", "8L1", "5M"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "9L1", "8M", "8L1", "7M", "7L14", "5M", "5L14"], + swagger: ["7M", "5M"], + tackle: ["9L1", "8L1", "7L1", "5L1"], + tailglow: ["7L65"], + telekinesis: ["5M"], + terablast: ["9M"], + toxic: ["7M", "5M"], + trick: ["9M", "8M", "7T", "5T"], + waterpulse: ["9M", "7T"], + willowisp: ["9M", "9L24", "8M", "8L24", "7M", "7L34", "5M", "5L34"], + wish: ["9L33", "8L33", "7L54", "5L54"], + wonderroom: ["8M", "7T", "5T"], + xscissor: ["9M", "8M", "7M", "5M"], + zenheadbutt: ["9M", "9L27", "8M", "8L27", "7T", "5T"], + }, + }, + aurumoth: { + learnset: { + allyswitch: ["8M", "5M"], + ancientpower: ["9L21", "8L21", "7L47", "5L47"], + attract: ["8M", "7M", "5M"], + blizzard: ["9M", "8M", "7M", "5M"], + bugbite: ["9M", "9L15", "8L15", "7T", "6T", "5T"], + bugbuzz: ["8M"], + calmmind: ["9M"], + closecombat: ["9M", "8M"], + confide: ["7M"], + cut: ["6M", "5M"], + doubleteam: ["9L9", "8L9", "7M", "5M"], + dragondance: ["9M", "9L1", "8M", "8L1", "7L1", "5L1"], + dreameater: ["7M", "5M"], + dualwingbeat: ["9M", "8T"], + echoedvoice: ["7M", "5M"], + electroweb: ["8M", "7T", "5T"], + expandingforce: ["8T"], + facade: ["9M", "8M", "7M", "5M"], + finalgambit: ["9L61", "8L61", "5L41"], + flash: ["6M", "5M"], + fling: ["9M", "8M", "7M", "5M"], + focusblast: ["9M", "8M", "7M", "5M"], + frustration: ["7M", "5M"], + gigaimpact: ["9M", "8M", "7M", "5M"], + hail: ["8M", "7M", "5M"], + healingwish: ["9L54", "8L54", "7L61", "5L61"], + healpulse: ["9L18", "8L18", "7L21", "5L21"], + helpinghand: ["9M", "8M", "7T", "5T"], + hiddenpower: ["7M", "5M"], + hydropump: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M", "5M"], + icebeam: ["9M", "8M", "7M", "5M"], + icywind: ["9M", "8M", "7T", "5T"], + imprison: ["9M", "9L12", "8M", "8L12"], + infestation: ["7M"], + lightscreen: ["9M", "9L37", "8M", "8L37", "7M", "5M"], + magiccoat: ["7T", "5T"], + magicroom: ["8M", "7T", "5T"], + megahorn: ["8M"], + nastyplot: ["9M", "9L42", "8M", "8L42"], + ominouswind: ["7L27", "5L27"], + overheat: ["9M", "8M", "7M", "5M"], + pounce: ["9M"], + protect: ["9M", "8M", "7M", "5M"], + psychic: ["9M", "9L47", "8M", "8L47", "7M", "5M"], + psychicterrain: ["9M", "9L0", "8M", "8L0", "7L1"], + psychup: ["7M", "5M"], + psyshock: ["9M", "8M", "7M", "5M"], + raindance: ["9M", "8M", "7M", "5M"], + recycle: ["7T", "5T"], + reflect: ["9M", "9L37", "8M", "8L37", "7M", "5M"], + rest: ["9M", "8M", "7M", "5M"], + retaliate: ["8M", "5M"], + return: ["7M", "5M"], + roleplay: ["7T", "5T"], + round: ["8M", "7M", "5M"], + safeguard: ["8M", "7M", "5M"], + secretpower: ["7M"], + shadowball: ["9M", "8M", "7M", "5M"], + shockwave: ["7M"], + signalbeam: ["7T"], + silverwind: ["7L1", "5L1"], + skillswap: ["9M", "8M", "7T", "5T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + solarbeam: ["9M", "8M", "7M", "5M"], + spotlight: ["7L1"], + steelwing: ["8M", "7M"], + stringshot: ["9L1", "8L1", "7L1", "5L1"], + strugglebug: ["9M", "9L1", "8L1", "5M"], + substitute: ["9M", "8M", "7M", "5M"], + sunnyday: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "5M", "5L1"], + surf: ["9M", "8M", "7M", "5M"], + swagger: ["7M", "5M"], + tackle: ["9L1", "8L1", "7L1", "5L1"], + tailglow: ["7L67", "5L67"], + telekinesis: ["5M"], + terablast: ["9M"], + terrainpulse: ["8T"], + thunder: ["9M", "8M", "7M", "5M"], + thunderbolt: ["9M", "8M", "7M", "5M"], + toxic: ["7M", "5M"], + trick: ["9M", "8M", "7T", "5T"], + waterpulse: ["9M", "7T"], + willowisp: ["9M", "9L24", "8M", "8L24", "7M", "7L34", "5M", "5L34"], + wish: ["9L33", "8L33", "7L54", "5L54"], + wonderroom: ["8M", "7T", "5T"], + xscissor: ["9M", "8M", "7M", "5M"], + zenheadbutt: ["9M", "9L27", "8M", "8L27", "7T", "5T"], + }, + }, + brattler: { + learnset: { + aromatherapy: ["8E", "7E", "5E"], + attract: ["8M", "7M", "5M"], + beatup: ["8M", "7E", "5E"], + belch: ["9E", "8E", "7E"], + bind: ["7T", "5T"], + brutalswing: ["8M", "7M"], + confide: ["7M"], + crunch: ["9M", "9L28", "8M", "8L28", "7L43", "5L39"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "5T"], + doubleteam: ["7M", "5M"], + dragontail: ["9M", "7M", "5M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "5M"], + facade: ["9M", "8M", "7M", "5M"], + feint: ["9E", "8E", "7E"], + foulplay: ["9M", "9L44", "8M", "8L44", "7T", "5T"], + frustration: ["7M", "5M"], + gigadrain: ["9M", "8M", "7T", "5T"], + glare: ["9L32", "8L32", "7L1", "7E", "5E"], + grassknot: ["9M", "9L16", "8M", "8L16", "7M", "7L15", "5M", "5L18"], + grassyglide: ["9M", "8T"], + haze: ["9M", "9E", "8E", "7E", "6E", "5E"], + healbell: ["7T", "5T"], + hiddenpower: ["7M", "5M"], + icefang: ["9M", "8M", "7E"], + irontail: ["8M", "7T", "5T"], + knockoff: ["9M", "9E", "8E", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leafblade: ["9L36", "8M", "8L36", "7L26", "5L34"], + leer: ["9L1", "8L1", "7L1"], + nastyplot: ["9M", "8M"], + naturepower: ["7M"], + nightslash: ["9E", "8E", "7E", "5E"], + partingshot: ["9L48", "8L48"], + payback: ["9L8", "8M", "8L8", "7M", "5M"], + poisonpowder: ["9E", "8E", "7E", "5E"], + poisontail: ["9M", "9E", "8E", "7E", "6E", "5E"], + powerwhip: ["9L52", "8M", "8L52", "7L44", "5L50"], + protect: ["9M", "8M", "7M", "5M"], + punishment: ["7L55", "5L55"], + pursuit: ["7L8", "5L1"], + recycle: ["9E", "7T", "6T", "5T"], + rest: ["9M", "8M", "7M", "5M"], + retaliate: ["8M", "7M", "5M"], + return: ["7M", "5M"], + roar: ["9M", "7M", "6M", "5M"], + round: ["8M", "7M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L11", "7E", "5E"], + screech: ["9E", "8M", "7E", "5E"], + secretpower: ["7M"], + seedbomb: ["9M", "8M", "7T", "5T"], + skittersmack: ["8T"], + slam: ["9L24", "8L24", "7L22", "5L30"], + sleeptalk: ["9M", "8M", "7M", "5T"], + snarl: ["9M", "8M", "7M", "5M"], + snore: ["8M", "7T", "5T"], + solarbeam: ["9M", "8M", "7M", "5M"], + spikyshield: ["9L40", "8L40", "7L40"], + spite: ["9M", "9E", "7T", "6T", "5T"], + strength: ["6M", "5M"], + stunspore: ["9E", "8E", "7E", "5E"], + substitute: ["9M", "8M", "7M", "5M"], + suckerpunch: ["9L20", "8L20", "7L18", "5L25"], + sunnyday: ["8M", "7M", "5M"], + swagger: ["7M", "6M", "5M"], + sweetscent: ["9E", "8E", "7E", "5E"], + synthesis: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + taunt: ["9M", "8M", "7M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "5M"], + thunderfang: ["9M", "8M", "7E"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "5M"], + vinewhip: ["9L4", "8L4", "7L5", "5L1"], + weatherball: ["9M", "8M"], + wildcharge: ["9M", "8M", "7M", "5M"], + worryseed: ["7T", "5T"], + wrap: ["9L1", "8L1", "7L1", "5L1"], + wringout: ["7L49", "5L44"], + }, + }, + malaconda: { + learnset: { + attract: ["8M", "7M", "5M"], + beatup: ["8M"], + bind: ["7T", "5T"], + breakingswipe: ["8M"], + brutalswing: ["8M", "7M"], + confide: ["7M"], + crunch: ["9M", "9L28", "8M", "8L28", "7L43", "5L42"], + cut: ["6M", "5M"], + darkpulse: ["9M", "8M", "7M", "5T"], + doubleteam: ["7M", "5M"], + dragontail: ["9M", "7M", "5M"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "7M", "5M"], + facade: ["9M", "8M", "7M", "5M"], + followme: ["9L1", "8L1", "7L1"], + foulplay: ["9M", "9L50", "8M", "8L50", "7T", "5T"], + frustration: ["7M", "5M"], + gigadrain: ["9M", "8M", "7T", "5T"], + gigaimpact: ["9M", "8M", "7M", "5M"], + glare: ["9L32", "8L32", "7L38"], + grassknot: ["9M", "9L16", "8M", "8L16", "7M", "7L20", "5M", "5L18"], + grassyglide: ["9M", "8T"], + gravapple: ["9L0", "8L0"], + haze: ["9M"], + healbell: ["7T", "5T"], + hiddenpower: ["7M", "5M"], + hyperbeam: ["9M", "8M", "7M", "5M"], + icefang: ["9M", "8M"], + irontail: ["8M", "7T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + lashout: ["9M", "8T"], + leafblade: ["9L38", "8M", "8L38", "7L34", "5L36"], + leer: ["9L1", "8L1", "7L1"], + nastyplot: ["9M", "8M"], + naturepower: ["7M"], + partingshot: ["9L56", "8L56"], + payback: ["9L1", "8M", "8L1", "7M", "5M"], + poisontail: ["9M"], + powerwhip: ["9L1", "8M", "8L1", "7L48", "5L57"], + protect: ["9M", "8M", "7M", "5M"], + punishment: ["7L62", "5L66"], + pursuit: ["7L10", "5L1"], + rapidspin: ["9L1", "8L1", "7L1", "6L1", "5L1"], + recycle: ["7T", "6T", "5T"], + rest: ["9M", "8M", "7M", "5M"], + retaliate: ["8M", "7M", "5M"], + return: ["7M", "5M"], + roar: ["9M", "7M", "6M", "5M"], + round: ["8M", "7M", "5M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L12", "8M", "8L12", "7L15"], + screech: ["8M"], + secretpower: ["7M"], + seedbomb: ["9M", "8M", "7T", "5T"], + skittersmack: ["8T"], + slam: ["9L24", "8L24", "7L29", "5L30"], + sleeptalk: ["9M", "8M", "7M", "5T"], + snarl: ["9M", "8M", "7M", "5M"], + snore: ["8M", "7T", "5T"], + solarbeam: ["9M", "8M", "7M", "5M"], + solarblade: ["9M", "9L62", "8M", "8L62", "7L66"], + spikyshield: ["9L44", "8L44", "7L52"], + spite: ["9M", "7T", "6T", "5T"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "5M"], + suckerpunch: ["9L20", "8L20", "7L24", "5L25"], + sunnyday: ["9M", "8M", "7M", "5M"], + swagger: ["7M", "5M"], + synthesis: ["7T", "6T", "5T"], + taunt: ["9M", "8M", "7M", "5M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "5M"], + throatchop: ["8M"], + thunderfang: ["9M", "8M"], + toxic: ["7M", "6M", "5M"], + trailblaze: ["9M"], + uturn: ["9M", "8M", "7M", "5M"], + vinewhip: ["9L1", "8L1", "7L6", "5L1"], + weatherball: ["9M", "8M"], + wildcharge: ["9M", "8M", "7M", "5M"], + worryseed: ["7T", "5T"], + wrap: ["9L1", "8L1", "7L1", "5L1"], + wringout: ["7L57", "5L48"], + }, + }, + cawdet: { + learnset: { + acrobatics: ["9M", "8M", "5M"], + aerialace: ["9M", "9E", "8E", "5M"], + aircutter: ["9M"], + airslash: ["9M", "8M", "7E", "5E"], + assurance: ["8M"], + attract: ["8M", "5M"], + beatup: ["8M"], + block: ["5T"], + brickbreak: ["9M", "8M", "5M"], + brine: ["9L28", "8M", "8L28", "5L42"], + bulletpunch: ["9L8", "8L8", "5L38"], + chillingwater: ["9M"], + confide: ["7M"], + detect: ["9L32", "8L32", "5L26"], + doubleteam: ["5M"], + drainpunch: ["9M", "8M", "5T"], + drillpeck: ["9E", "8E", "7E", "5E"], + endeavor: ["9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "5M"], + flashcannon: ["9M", "9L44", "8M", "8L44", "5M", "5L49"], + fly: ["9M", "8M", "5M"], + frustration: ["5M"], + growl: ["9L4", "8L4", "5L5"], + hiddenpower: ["5M"], + hurricane: ["9M", "9L48", "8M", "8L48", "5L53"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M", "5T"], + knockoff: ["9M", "9E", "8E", "7T", "7E", "6T", "6E", "5T", "5E"], + leer: ["9L1", "8L1", "5L1"], + metalclaw: ["9M", "9L12", "8L12", "5L13"], + metalsound: ["9E", "8E", "7E", "5E"], + metronome: ["9M", "8M"], + mirrormove: ["7E", "5E"], + peck: ["9L1", "8L1", "5L1"], + pluck: ["5M"], + protect: ["9M", "8M", "5M"], + psychup: ["5M"], + pursuit: ["7E", "5E"], + quickattack: ["9E", "8E", "7E", "5E"], + quickguard: ["9E", "8E", "7E", "5E"], + raindance: ["9M", "8M", "5M"], + razorwind: ["7E", "5E"], + rest: ["9M", "8M", "5M"], + retaliate: ["8M", "5M"], + return: ["5M"], + rocksmash: ["5M"], + round: ["8M", "5M"], + screech: ["9L16", "8M", "8L16", "5L18"], + shockwave: ["7T"], + skyattack: ["5T"], + skydrop: ["5M"], + sleeptalk: ["9M", "8M", "5T"], + smackdown: ["9M", "7M", "6M", "5M"], + snatch: ["5T"], + snore: ["8M", "5T"], + steelbeam: ["9M", "8T"], + steelwing: ["9L36", "8M", "8L36", "5L31"], + strength: ["5M"], + substitute: ["9M", "8M", "5M"], + surf: ["9M", "8M", "5M"], + swagger: ["5M"], + swift: ["9M", "9L20", "8M", "8L20", "5L9"], + tailwind: ["9M", "9L40", "8L40", "5T", "5L45"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["5M"], + waterpulse: ["9M", "7T"], + watersport: ["7E", "5E"], + whirlpool: ["8M"], + wingattack: ["9L24", "8L24", "5L22"], + }, + }, + cawmodore: { + learnset: { + acrobatics: ["9M", "8M", "7M", "5M"], + aerialace: ["9M", "7M", "5M"], + agility: ["9M", "8M"], + aircutter: ["9M"], + airslash: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M", "7M", "5M"], + beatup: ["8M"], + belch: ["9L56", "8L56", "7L52"], + bellydrum: ["9L0", "8L0", "7L1", "5L35"], + block: ["7T", "5T"], + brickbreak: ["9M", "8M", "7M", "5M"], + brine: ["9L28", "8M", "8L28", "7L44", "5L44"], + bulletpunch: ["9L1", "8L1", "7L39", "5L39"], + chillingwater: ["9M"], + confide: ["7M"], + detect: ["9L32", "8L32", "7L26", "5L26"], + doubleteam: ["7M", "5M"], + drainpunch: ["9M", "8M", "7T", "5T"], + dualwingbeat: ["9M", "8T"], + endeavor: ["7T", "6T", "5T"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "5M"], + flashcannon: ["9M", "9L50", "8M", "8L50", "7M", "7L58", "5M", "5L52"], + fly: ["9M", "8M", "7M", "5M"], + frustration: ["7M", "5M"], + gigaimpact: ["9M", "8M", "7M", "5M"], + growl: ["9L1", "8L1", "7L5", "5L5"], + hiddenpower: ["7M", "5M"], + hurricane: ["9M", "9L62", "8M", "8L62", "7L64", "5L58"], + hyperbeam: ["9M", "8M", "7M", "5M"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M", "7T", "5T"], + knockoff: ["9M", "7T", "6T", "5T"], + leer: ["9L1", "8L1", "7L1", "5L1"], + megapunch: ["8M"], + metalclaw: ["9M", "9L12", "8L12", "7L13", "5L13"], + metronome: ["9M", "8M"], + peck: ["9L1", "8L1", "7L1", "5L1"], + pluck: ["7M", "5M"], + protect: ["9M", "8M", "7M", "5M"], + psychup: ["7M", "5M"], + raindance: ["9M", "8M", "7M", "5M"], + rest: ["9M", "8M", "7M", "5M"], + retaliate: ["8M", "7M", "5M"], + return: ["7M", "5M"], + revenge: ["8M"], + rocksmash: ["6M", "5M"], + round: ["8M", "7M", "5M"], + screech: ["9L16", "8M", "8L16", "7L18", "5L18"], + secretpower: ["7M"], + shockwave: ["7T"], + skyattack: ["9L68", "8L68", "7T", "5T"], + skydrop: ["7M", "5M"], + sleeptalk: ["9M", "8M", "7M", "5T"], + smackdown: ["9M", "7M", "6M", "5M"], + snatch: ["7T", "5T"], + snore: ["8M", "7T", "5T"], + steelbeam: ["9M", "8T"], + steelwing: ["9L38", "8M", "8L38", "7M", "7L31", "5L31"], + strength: ["6M", "5M"], + substitute: ["9M", "8M", "7M", "5M"], + surf: ["9M", "8M", "7M", "5M"], + swagger: ["7M", "5M"], + swift: ["9M", "9L20", "8M", "8L20", "7L9", "5L9"], + tailwind: ["9M", "9L44", "8L44", "5T", "5L48"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["8M"], + toxic: ["7M", "5M"], + waterpulse: ["9M", "7T"], + whirlpool: ["8M"], + wingattack: ["9L24", "8L24", "7L22", "5L22"], + }, + }, + volkritter: { + learnset: { + absorb: ["9L1", "8L1"], + aquajet: ["9E", "8E", "7E"], + aquaring: ["9L32", "8L32", "6L44"], + assurance: ["8M", "7E", "6E"], + attract: ["8M", "6M"], + bind: ["9L1", "8L1"], + bite: ["9L24", "8L24", "6L1"], + bounce: ["8M", "7T"], + captivate: ["7E", "6E"], + confide: ["6M"], + constrict: ["6L1"], + covet: ["7T"], + destinybond: ["9L44", "8L44", "6L32"], + dive: ["9L28", "8M", "8L28", "6L36"], + doubleteam: ["6M"], + extrasensory: ["9L40", "8L40"], + facade: ["9M", "8M", "6M"], + falseswipe: ["9M", "8M", "6M"], + fireblast: ["9M", "8M", "6M"], + firespin: ["9M", "9L8", "8M", "8L8", "6L18"], + flameburst: ["6L23"], + flamethrower: ["9M", "8M", "6M"], + flareblitz: ["9M"], + flash: ["6M", "6L1"], + flashcannon: ["9M", "8M", "6M"], + fling: ["9M", "8M", "6M"], + flipturn: ["9M", "8T"], + frustration: ["6M"], + heatwave: ["9M", "8M", "6L48"], + hiddenpower: ["6M"], + hydropump: ["9M", "9L48", "8M", "8L48", "6L51"], + incinerate: ["9L20", "8L20", "6M"], + infestation: ["9E", "8E", "7M", "6M"], + leechlife: ["9M", "8M", "6L1"], + memento: ["9L52", "8L52", "6L59"], + muddywater: ["8M"], + overheat: ["9M", "8M", "6M"], + payback: ["8M", "6M"], + pounce: ["9M"], + powergem: ["9M", "9L36", "8M", "8L36", "6L39"], + protect: ["9M", "8M", "6M"], + quash: ["6M"], + raindance: ["9M", "8M", "6M"], + reflect: ["9M", "9L12", "8M", "8L12", "6M", "6L4"], + reflecttype: ["9E", "8E", "7E"], + rest: ["9M", "8M", "6M"], + return: ["6M"], + round: ["8M", "6M"], + scald: ["9M", "8M", "7M", "6M", "6L28"], + scaryface: ["9M", "8M", "7E", "6E"], + scorchingsands: ["8T"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "6M"], + snore: ["8M"], + substitute: ["9M", "8M", "6M"], + sunnyday: ["9M", "8M", "6M"], + surf: ["9M", "8M", "6M"], + swagger: ["6M"], + terablast: ["9M"], + thief: ["9M", "8M", "6M"], + tickle: ["9E", "8E", "7E", "6E"], + torment: ["6M"], + toxic: ["6M"], + uturn: ["9M", "8M", "6M"], + waterfall: ["9M", "8M", "6M"], + watergun: ["9L4", "8L4", "6L1"], + waterpulse: ["9M", "9E", "8E", "7E", "6E"], + whirlpool: ["9L16", "8M", "8L16", "6L14"], + willowisp: ["9M", "8M", "6M"], + }, + }, + volkraken: { + learnset: { + absorb: ["9L1", "8L1", "7L1"], + aquaring: ["9L32", "8L32", "7L46", "6L46"], + assurance: ["8M"], + attract: ["8M", "7M", "6M"], + bind: ["9L1", "8L1", "7T"], + bite: ["9L24", "8L24", "7L1", "6L1"], + bounce: ["8M", "7T"], + burningjealousy: ["8T"], + confide: ["7M", "6M"], + constrict: ["7L1", "6L1"], + covet: ["7T"], + destinybond: ["9L56", "8L56", "7L32", "6L32"], + dive: ["9L28", "8M", "8L28", "6L37"], + doubleteam: ["7M", "6M"], + extrasensory: ["9L50", "8L50"], + facade: ["9M", "8M", "7M", "6M"], + falseswipe: ["9M", "8M", "7M", "6M"], + fireblast: ["9M", "8M", "7M", "6M"], + firelash: ["9L38", "8L38", "7L35"], + firespin: ["9M", "9L1", "8M", "8L1", "7L18", "6L18"], + flameburst: ["7L23", "6L23"], + flamethrower: ["9M", "8M", "7M", "6M"], + flareblitz: ["9M"], + flash: ["7L1", "6M", "6L1"], + flashcannon: ["9M", "8M", "7M", "6M"], + fling: ["9M", "8M", "7M", "6M"], + flipturn: ["9M", "8T"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + heatwave: ["9M", "8M", "7L51", "6T", "6L51"], + hiddenpower: ["7M", "6M"], + hydropump: ["9M", "9L62", "8M", "8L62", "7L56", "6L56"], + hyperbeam: ["9M", "8M", "7M", "6M"], + incinerate: ["9L20", "8L20", "7M"], + infestation: ["7M", "6M"], + leechlife: ["9M", "8M", "7M", "6L1"], + liquidation: ["9M", "8M"], + memento: ["9L68", "8L68", "7L66", "6L66"], + muddywater: ["8M"], + overheat: ["9M", "8M", "7M", "6M"], + payback: ["8M", "7M", "6M"], + pounce: ["9M"], + powergem: ["9M", "9L44", "8M", "8L44", "7L42", "6L42"], + protect: ["9M", "8M", "7M", "6M"], + quash: ["7M", "6M"], + raindance: ["9M", "8M", "7M", "6M"], + reflect: ["9M", "9L12", "8M", "8L12", "7M", "7L1", "6M", "6L1"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + round: ["8M", "7M", "6M"], + scald: ["9M", "9L0", "8M", "8L0", "7M", "7L28", "6M", "6L28"], + scaryface: ["9M", "8M"], + scorchingsands: ["8T"], + secretpower: ["7M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "7T"], + substitute: ["9M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + surf: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + terablast: ["9M"], + thief: ["9M", "8M", "7M", "6M"], + torment: ["7M", "6M"], + toxic: ["7M", "6M"], + uturn: ["9M", "8M", "7M", "6M"], + waterfall: ["9M", "8M", "7M", "6M"], + watergun: ["9L1", "8L1", "7L1", "6L1"], + waterpulse: ["9M", "6T"], + whirlpool: ["9L16", "8M", "8L16", "7L14", "6L14"], + willowisp: ["9M", "8M", "7M", "6M"], + wringout: ["7L60"], + }, + }, + snugglow: { + learnset: { + acid: ["9L8", "8L8", "6L12"], + acidspray: ["9M"], + aquatail: ["9E", "8E", "6L32"], + attract: ["8M", "6M"], + aurasphere: ["9M", "8M", "7E"], + block: ["7T"], + chargebeam: ["9M", "7M", "6M"], + chillingwater: ["9M"], + clearsmog: ["9L28", "8L28", "6L22"], + confide: ["6M"], + crosspoison: ["8M"], + cut: ["6M"], + dazzlinggleam: ["9M", "8M", "6M"], + discharge: ["9L36", "8L36", "6L42"], + doubleteam: ["6M"], + eerieimpulse: ["9M", "8M", "6L49"], + electrify: ["9L40", "8L40"], + electroball: ["9M", "8M"], + electroweb: ["8M"], + encore: ["9M", "9L12", "8M", "8L12", "6L16"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "6M"], + flashcannon: ["9M", "8M", "6M"], + frustration: ["6M"], + haze: ["9M", "9E", "8E", "7E", "6E"], + hiddenpower: ["6M"], + iondeluge: ["6L26"], + irontail: ["9M", "8M"], + paraboliccharge: ["9L24", "8L24", "6L36"], + poisonjab: ["9M", "8M"], + poisonsting: ["9L1", "8L1", "6L6"], + poisontail: ["9M", "9L20", "8L20", "6L29"], + protect: ["9M", "8M", "6M"], + psybeam: ["9M", "9L32", "8L32"], + psychic: ["9M", "8M", "6M"], + psyshock: ["9M", "8M", "6M"], + psywave: ["6L39"], + raindance: ["9M", "8M", "6M"], + rest: ["9M", "8M", "6M"], + return: ["6M"], + risingvoltage: ["8T"], + round: ["8M", "6M"], + shockwave: ["9E", "7E", "6E"], + signalbeam: ["7E", "6E"], + sleeptalk: ["9M", "8M", "6M"], + sludgebomb: ["9M", "8M", "6M"], + sludgewave: ["9L44", "8M", "8L44", "7M", "6M"], + snore: ["8M"], + splash: ["9E", "8E", "7E", "6E"], + substitute: ["9M", "8M", "6M"], + supersonic: ["9L4", "8L4", "6L1"], + surf: ["9M"], + swagger: ["6M"], + taunt: ["9M", "8M", "6M"], + terablast: ["9M"], + thunder: ["9M", "9L48", "8M", "8L48", "6M", "6L46"], + thunderbolt: ["9M", "8M", "6M"], + thundershock: ["9L1", "8L1", "6L1"], + thunderwave: ["9M", "9L16", "8M", "8L16", "6M", "6L19"], + toxic: ["9M", "9E", "8E", "7M", "6M"], + venomdrench: ["8M", "7E"], + venoshock: ["9M", "8M", "6M"], + waterpulse: ["9M", "9E", "8E", "7E", "6E"], + wideguard: ["9E", "8E", "7E", "6E"], + wildcharge: ["9M", "8M", "6M"], + zenheadbutt: ["9M", "8M"], + }, + }, + plasmanta: { + learnset: { + acid: ["9L1", "8L1", "7L12", "6L12"], + acidspray: ["9M"], + aquatail: ["7L33", "6T", "6L33"], + attract: ["8M", "7M", "6M"], + aurasphere: ["9M", "8M"], + block: ["7T"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + chargebeam: ["9M", "7M", "6M"], + chillingwater: ["9M"], + clearsmog: ["9L28", "8L28", "7L22", "6L22"], + confide: ["7M", "6M"], + corrosivegas: ["8T"], + crosspoison: ["8M", "7L51", "6L51"], + cut: ["6M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + discharge: ["9L40", "8L40", "7L47", "6L47"], + doubleteam: ["7M", "6M"], + eerieimpulse: ["9M", "8M", "7L65", "6L65"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], + electrify: ["9L46", "8L46"], + electroball: ["9M", "8M"], + electroweb: ["8M", "7T"], + encore: ["9M", "9L12", "8M", "8L12", "7L16", "6L16"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flashcannon: ["9M", "8M", "7M", "6M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + haze: ["9M"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + iondeluge: ["7L26", "6L26"], + irontail: ["8M", "7T"], + liquidation: ["9M", "8M"], + magnetrise: ["9L1", "8L1", "7T"], + paraboliccharge: ["9L24", "8L24", "7L38", "6L38"], + poisonjab: ["9M", "8M", "7M"], + poisonsting: ["9L1", "8L1", "7L1", "6L1"], + poisontail: ["9M", "9L20", "8L20", "7L29", "6L29"], + protect: ["9M", "8M", "7M", "6M"], + psybeam: ["9M", "9L34", "8L34"], + psychic: ["9M", "8M", "7M", "6M"], + psyshock: ["9M", "8M", "7M", "6M"], + psywave: ["7L42", "6L42"], + raindance: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + risingvoltage: ["8T"], + round: ["8M", "7M", "6M"], + signalbeam: ["6T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["9L52", "8M", "8L52", "7M", "6M"], + snore: ["8M", "7T"], + substitute: ["9M", "8M", "7M", "6M"], + supersonic: ["9L1", "8L1", "7L1", "6L1"], + surf: ["9M"], + swagger: ["9L58", "8L58", "7M", "7L56", "6M", "6L56"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + thunder: ["9M", "9L64", "8M", "8L64", "7M", "7L60", "6M", "6L60"], + thunderbolt: ["9M", "8M", "7M", "6M"], + thundershock: ["9L1", "8L1", "7L1", "6L1"], + thunderwave: ["9M", "9L16", "8M", "8L16", "7M", "7L19", "6M", "6L19"], + toxic: ["9M", "7M", "6M"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M", "6M"], + waterpulse: ["9M", "6T"], + wildcharge: ["9M", "8M", "7M", "6M"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + floatoy: { + learnset: { + attract: ["8M", "6M"], + bite: ["9E", "8E", "7E", "6E"], + blizzard: ["9M", "8M", "6M"], + bodyslam: ["9M", "8M"], + brine: ["9L24", "8M", "8L24", "6L38"], + brutalswing: ["8M"], + bubblebeam: ["9L22", "8L22", "6L23"], + calmmind: ["9M", "8M", "6M"], + chillingwater: ["9M"], + confide: ["6M"], + crunch: ["9M", "8M"], + dive: ["8M", "6M"], + doubleteam: ["6M"], + dragonbreath: ["9L18", "8L18", "6L1"], + dragonclaw: ["9M", "8M", "6M"], + dragondance: ["9M", "8M", "7E", "6E"], + dragonpulse: ["9M", "8M", "6T"], + drillpeck: ["9L30", "8L30", "6L27"], + echoedvoice: ["6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "6M"], + featherdance: ["9E", "8E", "7E", "6E"], + feint: ["9E", "8E", "7E", "6E"], + focusenergy: ["8M"], + frustration: ["6M"], + gust: ["9L6", "8L6", "6L1"], + hail: ["8M", "6M"], + haze: ["9M", "9E", "8E", "7E", "6E"], + hiddenpower: ["6M"], + hurricane: ["9M", "8M"], + hydropump: ["9M", "9L39", "8M", "8L39", "6L50"], + icebeam: ["9M", "8M", "6M"], + icefang: ["9M", "8M", "7E", "6E"], + icepunch: ["9M", "8M", "6T"], + iciclecrash: ["9L36", "8L36", "6L42"], + iciclespear: ["9E", "8M", "7E", "6E"], + icywind: ["9M", "8M", "6T"], + ironhead: ["9M", "9L33", "8M", "8L33", "6T", "6L53"], + irontail: ["8M", "7E", "6T", "6E"], + metalclaw: ["9M", "9L9", "8L9", "6L11"], + metronome: ["9M", "8M", "7E", "6E"], + muddywater: ["9E", "8M", "7E", "6E"], + peck: ["9L1", "8L1", "6L1"], + protect: ["9M", "9L42", "8M", "8L42", "6M"], + psychicfangs: ["9M", "8M", "7E"], + raindance: ["9M", "8M", "6M"], + refresh: ["7E", "6E"], + rest: ["9M", "8M", "6M"], + return: ["6M"], + rocksmash: ["6M"], + round: ["8M", "6M"], + scald: ["9M", "8M", "7M", "6M"], + scaryface: ["9M", "9L15", "8M", "8L15", "6L1"], + screech: ["8M"], + secretpower: ["6M"], + slackoff: ["9L27", "8L27", "6L39"], + sleeptalk: ["9M", "8M", "6M"], + snore: ["8M", "6T"], + snowscape: ["9M"], + splash: ["9L1", "8L1", "6L1"], + substitute: ["9M", "8M", "6M"], + surf: ["9M", "8M", "6M"], + swagger: ["6M"], + taunt: ["9M", "8M", "6M"], + terablast: ["9M"], + thunderfang: ["9M", "8M", "7E", "6E"], + toxic: ["6M"], + waterfall: ["9M", "8M", "6M"], + watergun: ["9L3", "8L3", "6L7"], + waterpulse: ["9M", "9L12", "8L12", "7E", "6T", "6E"], + whirlpool: ["8M", "7E", "6E"], + }, + }, + caimanoe: { + learnset: { + attract: ["8M", "6M"], + blizzard: ["9M", "8M", "6M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brine: ["9L28", "8M", "8L28", "6L43"], + brutalswing: ["8M"], + bubblebeam: ["9L24", "8L24", "6L25"], + calmmind: ["9M", "8M", "6M"], + chillingwater: ["9M"], + confide: ["6M"], + crunch: ["9M", "8M"], + dive: ["8M", "6M"], + doubleteam: ["6M"], + dragonbreath: ["9L18", "8L18", "6L1"], + dragonclaw: ["9M", "8M", "6M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "6T"], + drillpeck: ["9L38", "8L38", "6L31"], + echoedvoice: ["6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "6M"], + flashcannon: ["9M", "8M", "6M", "6L35"], + focusenergy: ["8M"], + frustration: ["6M"], + gust: ["9L1", "8L1", "6L1"], + hail: ["8M", "6M"], + haze: ["9M"], + heavyslam: ["9M", "8M"], + hiddenpower: ["6M"], + hurricane: ["9M", "8M"], + hydropump: ["9M", "9L53", "8M", "8L53", "6L60"], + icebeam: ["9M", "8M", "6M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "6T"], + iciclecrash: ["9L48", "8L48", "6L47"], + iciclespear: ["8M"], + icywind: ["9M", "8M", "6T"], + irondefense: ["9M", "8M", "6T"], + ironhead: ["9M", "9L43", "8M", "8L43", "6T", "6L58"], + irontail: ["8M", "6T"], + metalclaw: ["9M", "9L9", "8L9", "6L11"], + metalsound: ["9L0", "8L0", "6L21"], + metronome: ["9M", "8M"], + muddywater: ["8M"], + peck: ["9L1", "8L1", "6L1"], + protect: ["9M", "9L58", "8M", "8L58", "6M"], + psychicfangs: ["9M", "8M"], + raindance: ["9M", "8M", "6M"], + rest: ["9M", "8M", "6M"], + retaliate: ["8M", "6M"], + return: ["6M"], + rocksmash: ["6M"], + round: ["8M", "6M"], + scald: ["9M", "8M", "7M", "6M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L15", "8M", "8L15", "6L1"], + screech: ["8M"], + secretpower: ["6M"], + selfdestruct: ["8M", "6L62"], + slackoff: ["9L33", "8L33", "6L39"], + sleeptalk: ["9M", "8M", "6M"], + snore: ["8M", "6T"], + snowscape: ["9M"], + splash: ["9L1", "8L1", "6L1"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + strength: ["6M"], + substitute: ["9M", "8M", "6M"], + surf: ["9M", "8M", "6M"], + swagger: ["6M"], + taunt: ["9M", "8M", "6M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + thunderpunch: ["9M", "8M", "6T"], + toxic: ["6M"], + waterfall: ["9M", "8M", "6M"], + watergun: ["9L1", "8L1", "6L7"], + waterpulse: ["9M", "9L12", "8L12", "6T"], + whirlpool: ["8M"], + }, + }, + naviathan: { + learnset: { + attract: ["8M", "7M", "6M"], + blizzard: ["9M", "8M", "7M", "6M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + brine: ["9L28", "8M", "8L28", "7L45", "6L45"], + brutalswing: ["8M", "7M"], + bubblebeam: ["9L24", "8L24", "7L25", "6L25"], + calmmind: ["9M", "8M", "7M", "6M"], + chillingwater: ["9M"], + confide: ["7M", "6M"], + crunch: ["9M", "8M"], + dive: ["8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + dragonbreath: ["9L18", "8L18", "7L1", "6L1"], + dragonclaw: ["9M", "8M", "7M", "6M"], + dragondance: ["9M", "8M"], + dragonpulse: ["9M", "8M", "6T"], + drillpeck: ["9L38", "8L38", "7L31", "6L31"], + echoedvoice: ["7M", "6M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M", "6M"], + flashcannon: ["9M", "8M", "7M", "7L35", "6M", "6L35"], + focusenergy: ["8M"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + gust: ["9L1", "8L1", "7L1", "6L1"], + hail: ["8M", "7M", "6M"], + haze: ["9M"], + heavyslam: ["9M", "9L66", "8M", "8L66", "7L1"], + hiddenpower: ["7M", "6M"], + hurricane: ["9M", "8M", "7L64", "6L64"], + hydropump: ["9L59", "8M", "8L59", "7L60", "6L60"], + hyperbeam: ["9M", "8M", "7M", "6M"], + icebeam: ["9M", "8M", "7M", "6M"], + icefang: ["9M", "8M"], + icepunch: ["9M", "8M", "6T"], + iciclecrash: ["9L52", "8L52", "7L52", "6L51"], + iciclespear: ["8M"], + icywind: ["9M", "8M", "6T"], + irondefense: ["9M", "8M", "6T"], + ironhead: ["9M", "9L45", "8M", "8L45", "7L65", "6T", "6L65"], + irontail: ["8M", "6T"], + metalclaw: ["9M", "9L9", "8L9", "7L11", "6L11"], + metalsound: ["9L1", "8L1", "7L21", "6L21"], + metronome: ["9M", "8M"], + muddywater: ["8M"], + peck: ["9L1", "8L1", "7L1", "6L1"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "6M"], + psychicfangs: ["9M", "8M"], + raindance: ["9M", "8M", "7M", "6M"], + rest: ["9M", "8M", "7M", "6M"], + retaliate: ["8M", "7M", "6M"], + return: ["7M", "6M"], + rocksmash: ["7M", "6M"], + round: ["8M", "7M", "6M"], + scald: ["9M", "8M", "7M", "6M"], + scaleshot: ["9M", "8T"], + scaryface: ["9M", "9L15", "8M", "8L15", "7L1", "6L1"], + screech: ["8M"], + secretpower: ["7M"], + selfdestruct: ["8M", "7L74", "6L74"], + slackoff: ["9L33", "8L33", "7L39", "6L39"], + sleeptalk: ["9M", "8M", "7M", "6M"], + snore: ["8M", "6T"], + snowscape: ["9M"], + splash: ["9L1", "8L1", "7L1", "6L1"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + strength: ["6M"], + substitute: ["9M", "8M", "7M", "6M"], + surf: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + thunderpunch: ["9M", "8M", "6T"], + toxic: ["7M", "6M"], + waterfall: ["9M", "8M", "7M", "6M"], + watergun: ["9L1", "8L1", "7L7", "6L7"], + waterpulse: ["9M", "9L12", "8L12", "6T"], + wavecrash: ["9L73"], + whirlpool: ["9L1", "8M", "8L1"], + wideguard: ["9L1", "8L1", "7L54", "6L54"], + wildcharge: ["9M", "8M", "7M", "6M"], + }, + }, + crucibelle: { + learnset: { + acidarmor: ["9L40", "8L40", "7L32", "6L32"], + acidspray: ["9M"], + assurance: ["8M"], + astonish: ["9L1", "8L1", "7L1", "6L1"], + attract: ["8M", "7M", "6M"], + block: ["9E", "8E", "6T"], + coil: ["9L1", "8L1", "7E", "6E"], + confide: ["7M"], + confuseray: ["9M", "9L8", "8L8", "7L16", "6L16"], + confusion: ["9L16", "8L16", "7L14", "6L14"], + crosspoison: ["8M"], + defensecurl: ["9E", "8E", "7E", "6E"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9M", "8M"], + embargo: ["7M", "6M"], + endure: ["9M", "9L1", "8M", "8L1", "7L1", "6L1"], + explosion: ["9L68", "8L68", "7M", "7L60", "6M", "6L60"], + facade: ["9M", "8M", "7M", "6M"], + faketears: ["9M", "9L28", "8M", "8L28", "7L10", "6L10"], + frustration: ["7M", "6M"], + gigaimpact: ["9M", "8M", "7M", "6M"], + grassknot: ["9M", "8M", "7M", "6M"], + gravity: ["9M", "7T", "6T"], + gunkshot: ["9M", "9L64", "8M", "8L64", "7L56", "6T", "6L56"], + helpinghand: ["9M", "8M", "6T"], + hex: ["9M", "9L48", "8M", "8L48", "7L44", "6L44"], + hiddenpower: ["7M", "6M"], + hyperbeam: ["9M", "8M", "7M", "6M"], + infestation: ["7M", "6M"], + irondefense: ["9M", "8M"], + ironhead: ["9M", "8M", "6T"], + knockoff: ["9E"], + lightscreen: ["9M", "8M"], + magicroom: ["8M", "6T"], + meteorbeam: ["8T"], + metronome: ["9M", "8M"], + payback: ["8M", "7M", "6M"], + pinmissile: ["8M"], + poisonjab: ["9M", "8M", "7M", "6M"], + powergem: ["9M", "8M"], + protect: ["9M", "9L1", "8M", "8L1", "7M", "7L1", "6M", "6L1"], + psybeam: ["9M", "9L32", "8L32", "7L40", "6L40"], + psychic: ["9M", "8M", "7M", "6M"], + reflect: ["9M", "8M", "7M", "7L25", "6M", "6L25"], + rest: ["9M", "8M", "7M", "6M"], + return: ["7M", "6M"], + rockblast: ["9M", "9L12", "8M", "8L12", "7L52", "6L52"], + rockpolish: ["9E", "8E", "7M", "6M"], + rockslide: ["9M", "9L52", "8M", "8L52", "7M", "7L36", "6M", "6L36"], + rocksmash: ["7M", "6M"], + rockthrow: ["9L4", "8L4", "7L5", "6L5"], + rocktomb: ["9M", "8M", "7M", "6M"], + rollout: ["9E", "8E", "7E", "6E"], + round: ["8M", "7M", "6M"], + safeguard: ["8M", "7M", "6M"], + sandstorm: ["9M", "8M", "7M", "6M"], + secretpower: ["7M"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M", "7M", "6M"], + skillswap: ["9M", "8M", "6T"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludge: ["9L44", "8L44", "7L28", "6L28"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["8M", "8L60", "7M", "6M"], + smackdown: ["9M", "9L24", "8L24", "7M", "7L23", "6M", "6L23"], + snatch: ["6T"], + snore: ["8M", "6T"], + stealthrock: ["9M", "8M", "6T"], + steelroller: ["8T"], + stoneedge: ["9M", "8M", "7M", "6M"], + substitute: ["9M", "8M", "7M", "6M"], + swagger: ["7M", "6M"], + terablast: ["9M"], + torment: ["9L20", "8L20", "7M", "7L48", "6M", "6L48"], + toxic: ["9L56", "8L56", "7M", "7L7", "6M", "6L7"], + toxicspikes: ["9M", "9L36", "8M", "8L36", "7L19", "6L19"], + trick: ["9M", "8M", "6T"], + uturn: ["9M", "8M", "7M", "6M"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M", "6M"], + withdraw: ["9L1", "8L1", "7L1", "6L1"], + wonderroom: ["8M", "6T"], + woodhammer: ["9E", "8E", "7E", "6E"], + zenheadbutt: ["9M", "8M", "6T"], + }, + }, + pluffle: { + learnset: { + allyswitch: ["8M"], + attract: ["8M", "6M"], + beatup: ["9E", "8M", "7E", "6E"], + bodyslam: ["9M", "8M"], + charm: ["9M", "9L9", "8M", "8L9", "7E", "6E"], + confide: ["7T", "6L25"], + dazzlinggleam: ["9M", "8M", "6M"], + doubleteam: ["6M"], + drainingkiss: ["9M", "9L12", "8M", "8L12", "6L13"], + dreameater: ["9L36", "8L36", "6M", "6L42"], + encore: ["9M", "9L15", "8M", "8L15", "7E", "6L16", "6E"], + endure: ["9M", "8M"], + energyball: ["9M", "8M", "6M"], + facade: ["9M", "8M", "6M"], + fairywind: ["9L3", "8L3", "6L1"], + featherdance: ["9L1", "8L1", "6L1"], + flashcannon: ["9M", "8M", "6M"], + frustration: ["6M"], + gigadrain: ["9M", "8M", "6T"], + grassknot: ["9M", "8M", "6M"], + helpinghand: ["9M", "8M", "6T"], + hiddenpower: ["6M"], + magicroom: ["8M"], + metronome: ["9M", "8M"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + moonblast: ["9L30", "8L30", "6L36"], + nightmare: ["6L42"], + partingshot: ["9L21", "8L21", "6L24"], + playrough: ["9M", "9L24", "8M", "8L24", "6L27"], + protect: ["9M", "8M", "6M"], + psychic: ["9M"], + psychup: ["6M"], + quickguard: ["9E", "8E", "7E", "6E"], + rest: ["9M", "9L27", "8M", "8L27", "6M", "6L31"], + retaliate: ["8M", "6M"], + return: ["6M"], + round: ["8M", "6M"], + scaryface: ["9M", "9L18", "8M", "8L18", "6L20"], + scratch: ["9L1", "8L1", "6L1"], + sleeptalk: ["9M", "8M", "6M"], + sludgebomb: ["9M", "8M", "6M"], + sludgewave: ["8M", "6M"], + snarl: ["9M", "8M", "6M"], + snore: ["9L27", "8M", "8L27", "6T"], + substitute: ["9M", "8M", "6M"], + sunnyday: ["9M", "8M", "6M"], + swagger: ["7M", "6M"], + takedown: ["9M"], + taunt: ["9M", "8M", "6M"], + terablast: ["9M"], + torment: ["9L33", "8L33", "6M"], + toxic: ["6M"], + uproar: ["9M", "8M"], + vacuumwave: ["9M"], + wakeupslap: ["6L10"], + wideguard: ["9E", "8E", "7E", "6E"], + wish: ["9E", "8E", "7E", "6E"], + workup: ["8M"], + yawn: ["9L6", "8L6", "6L7"], + }, + }, + kerfluffle: { + learnset: { + allyswitch: ["8M"], + attract: ["8M", "7M", "6M"], + aurasphere: ["9M", "9L30", "8M", "8L30", "7L45", "6L45"], + beatup: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + brickbreak: ["9M", "8M", "7M", "6M"], + bulkup: ["9M", "8M", "7M", "6M"], + celebrate: ["6S0"], + charm: ["9M", "9L9", "8M", "8L1"], + closecombat: ["9M", "9L42", "8M", "8L42", "7L53", "6L53"], + coaching: ["8T"], + confide: ["7L25", "6L25"], + crushclaw: ["9L0", "8L0", "7M", "6M"], + dazzlinggleam: ["9M", "8M", "7M", "6M"], + doubleteam: ["7M", "6M"], + drainingkiss: ["9L12", "8M", "8L12", "7L17", "6L17"], + drainpunch: ["9M", "8M", "6T"], + dreameater: ["9L39", "8L39", "7M", "7L57", "6M", "6L57"], + encore: ["9M", "9L1", "8M", "8L1"], + endure: ["9M", "9L15", "8M", "8L15", "7L21", "6L21"], + energyball: ["9M", "8M", "7M", "6M"], + facade: ["9M", "8M", "7M", "6M"], + fairywind: ["9L1", "8L1", "7L1", "6L1"], + featherdance: ["9L1", "8L1", "7L1", "6L1"], + flashcannon: ["9M", "8M", "7M", "6M"], + fly: ["9M", "8M", "6S0"], + focusblast: ["9M", "8M", "7M"], + focusenergy: ["8M"], + frustration: ["7M", "6M"], + gigadrain: ["9M", "8M", "6T"], + gigaimpact: ["9M", "8M", "7M", "6M"], + grassknot: ["9M", "8M", "7M", "6M"], + helpinghand: ["9M", "8M", "6T"], + hiddenpower: ["7M", "6M"], + holdhands: ["6S0"], + hyperbeam: ["9M", "8M", "7M", "6M"], + lowkick: ["9M", "8M", "6T"], + lowsweep: ["9M", "8M"], + magicroom: ["8M"], + megakick: ["8M"], + megapunch: ["8M"], + metronome: ["9M", "8M", "6S0"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + moonblast: ["9L33", "8L33", "7L49", "6L49"], + nightmare: ["7L57", "6L57"], + partingshot: ["9L21", "8L21", "7L33", "6L33"], + playrough: ["9M", "9L24", "8M", "8L24", "7L37", "6L37"], + poweruppunch: ["8L9", "7M", "6M"], + protect: ["9M", "8M", "7M", "6M"], + psychic: ["9M"], + psychup: ["7M", "6M"], + rest: ["9M", "9L27", "8M", "8L27", "7M", "7L41", "6M", "6L41"], + retaliate: ["8M", "7M", "6M"], + return: ["7M", "6M"], + revenge: ["8M"], + reversal: ["9M", "8M"], + round: ["8M", "7M", "6M"], + scaryface: ["9M", "9L18", "8M", "8L18", "7L29", "6L29"], + scratch: ["9L1", "8L1", "7L1", "6L1"], + secretpower: ["7M"], + sleeptalk: ["9M", "8M", "7M", "6M"], + sludgebomb: ["9M", "8M", "7M", "6M"], + sludgewave: ["8M", "7M", "6M"], + snarl: ["9M", "8M", "7M", "6M"], + snore: ["9L27", "8M", "8L27", "6T"], + speedswap: ["8M"], + strength: ["7M", "6M"], + substitute: ["9M", "8M", "7M", "6M"], + sunnyday: ["9M", "8M", "7M", "6M"], + superpower: ["8M"], + swagger: ["9L1", "8L1", "7M", "7L1", "6M", "6L1"], + swift: ["9M", "8M"], + takedown: ["9M"], + taunt: ["9M", "8M", "7M", "6M"], + terablast: ["9M"], + torment: ["9L36", "8L36", "7M", "6M"], + toxic: ["7M", "6M"], + uproar: ["9M", "8M"], + vacuumwave: ["9M"], + wakeupslap: ["7L13", "6L13"], + workup: ["8M", "7M"], + yawn: ["9L1", "8L1", "7L9", "6L9"], + }, + eventData: [ + {generation: 6, level: 16, abilities: ["naturalcure"], moves: ["celebrate", "holdhands", "fly", "metronome"], pokeball: "cherishball"}, + ], + }, + pajantom: { + learnset: { + aerialace: ["9M", "7M"], + astonish: ["9L10", "8L10", "7L1"], + attract: ["8M", "7M"], + bind: ["9L5", "8L5", "7T"], + block: ["7T"], + bravebird: ["9M", "9L1", "8M", "8L1", "7L1"], + breakingswipe: ["9L30", "8M"], + brutalswing: ["8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + confide: ["7M"], + confuseray: ["9M"], + crunch: ["9M", "8M"], + doubleteam: ["9L25", "8L25", "7M"], + dracometeor: ["9M", "8T", "7T"], + dragonbreath: ["9L20", "8L20", "7L19"], + dragonclaw: ["9M", "9L35", "8M", "8L35", "7M", "7L23"], + dragonpulse: ["9M", "8M", "7T"], + dragonrage: ["7L12"], + dragonrush: ["9E", "8E", "7L34"], + dreameater: ["9E", "7M"], + drillrun: ["9M", "8M", "7T"], + dualchop: ["8L30", "7T"], + earthquake: ["9M", "8M", "7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + fairylock: ["9L1", "8L1", "7L1"], + fly: ["9M", "8M", "7M"], + focusenergy: ["9L15", "8M", "7E"], + frustration: ["7M"], + gastroacid: ["7T"], + gigaimpact: ["9M", "8M", "7M"], + gravity: ["9M", "7T"], + growl: ["9L1", "8L1", "7L1"], + haze: ["9M", "9L40", "8L40", "7L37"], + healblock: ["7L30"], + helpinghand: ["9M", "8M", "7T"], + hex: ["9M", "8M"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + icefang: ["9M", "8M", "7E"], + icepunch: ["9M", "8M", "7T"], + icywind: ["9M", "8M"], + imprison: ["9M", "8M"], + infestation: ["9E", "8E", "7M"], + irontail: ["8M", "7T", "7E"], + laserfocus: ["8L15", "7T", "7L10"], + leechlife: ["9M", "8M", "7M"], + nastyplot: ["9M", "8M"], + outrage: ["9M", "9L60", "8M", "8L60", "7T", "7L53"], + phantomforce: ["9M", "9L55", "8M", "8L55", "7L45"], + poisonfang: ["9E", "8E", "7E"], + poisongas: ["9L1", "8L1", "7L17"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychicfangs: ["9M", "9L50", "8M", "8L50", "7L32"], + psychup: ["7M"], + raindance: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + sandtomb: ["9M", "9E", "8M", "7E"], + shadowball: ["9M", "8M", "7M"], + shadowclaw: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + smartstrike: ["9M", "8M", "7M"], + snore: ["9L1", "8M", "8L1", "7T", "7L1"], + spiritshackle: ["9L45", "8L45", "7L1"], + spite: ["9M", "7T", "7E"], + stoneedge: ["9M", "8M", "7M"], + substitute: ["8M", "7M"], + surf: ["9M", "8M", "7M"], + swagger: ["7M"], + takedown: ["9M"], + taunt: ["9M"], + telekinesis: ["7T"], + terablast: ["9M"], + throatchop: ["8M", "7T"], + toxic: ["9M", "7M"], + toxicspikes: ["9M", "8M", "7L28"], + trickroom: ["9M", "8M", "7M"], + venoshock: ["9M", "8M", "7M"], + whirlpool: ["8M", "7E"], + wrap: ["9L1", "8L1", "7L1"], + zenheadbutt: ["9M", "8M", "7T"], + }, + }, + mumbao: { + learnset: { + attract: ["8M", "7M"], + bodyslam: ["9M", "9L45", "8M", "8L45", "7L28"], + bulletseed: ["9M", "8M"], + confide: ["7M"], + dazzlinggleam: ["9M", "8M", "7M"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L55", "8M", "8L55", "7M", "7L37"], + explosion: ["9E", "8E"], + facade: ["9M", "8M", "7M"], + flowershield: ["8L1", "7L1"], + focusblast: ["9M", "8M", "7M"], + focusenergy: ["9L20", "8M", "8L20"], + frustration: ["7M"], + gigadrain: ["9M", "9L40", "8M", "8L40", "7T"], + grassknot: ["9M", "8M", "7M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M", "7E"], + gravity: ["9M", "7T"], + gyroball: ["9M", "8M", "7M"], + harden: ["9L1"], + healingwish: ["9E", "8E", "7E"], + heavyslam: ["9M", "8M"], + helpinghand: ["9M", "9L15", "8M", "8L15", "7T", "7L35"], + hiddenpower: ["7M"], + ingrain: ["9L10", "8L10", "7L10"], + leafage: ["9L5", "8L5", "7L13"], + leafstorm: ["9M", "9L65", "8M", "8L65", "7L46"], + lightscreen: ["9M", "8M", "7M"], + luckychant: ["7L17"], + magicalleaf: ["9M", "9L25", "8M", "8L25", "7L19"], + magiccoat: ["7T"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M", "7E"], + moonblast: ["9L60", "8L60", "7L44"], + naturalgift: ["7L31"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychup: ["9L35", "8L35", "7M", "7L26"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rototiller: ["7L8"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + smellingsalts: ["7E"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "9L50", "8M", "8L50", "7M", "7L40"], + superpower: ["9E", "8M", "7T", "7E"], + swagger: ["7M"], + synthesis: ["9L50", "8L50", "7T"], + tackle: ["9L1", "8L1", "7L4"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + wish: ["9L30", "8L30", "7L22"], + woodhammer: ["9E", "8E", "7E"], + worryseed: ["9E", "8E", "7T"], + }, + }, + jumbao: { + learnset: { + armthrust: ["9L20", "8L20"], + attract: ["8M", "7M"], + block: ["7T"], + bodyslam: ["9M", "9L45", "8M", "8L45", "7L28"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "8M", "7M"], + bulletseed: ["9M", "8M", "7L38"], + confide: ["7M"], + dazzlinggleam: ["9M", "8M", "7M"], + detect: ["9L15", "8L15", "7L1"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + endure: ["9M", "8M"], + energyball: ["9M", "9L55", "8M", "8L55", "7M", "7L45"], + explosion: ["7M"], + facade: ["9M", "8M", "7M"], + fakeout: ["9L1", "8L1", "7L1"], + flameburst: ["7L35"], + flowershield: ["8L1", "7L1"], + focusblast: ["9M", "8M", "7M"], + focusenergy: ["9L1", "8M", "8L1"], + frustration: ["7M"], + gigadrain: ["9M", "9L40", "8M", "8L40", "7T"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + gravity: ["9M", "7T"], + gyroball: ["9M", "8M", "7M"], + harden: ["9L1"], + heavyslam: ["9M", "9L60", "8M", "8L60", "7L42"], + helpinghand: ["9M", "9L1", "8M", "8L1", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + ingrain: ["9L1", "8L1", "7L14"], + leafage: ["9L1", "8L1", "7L1"], + leafstorm: ["9M", "9L70", "8M", "8L70", "7L52"], + lifedew: ["9L1", "8L1"], + lightscreen: ["9M", "8M", "7M"], + luckychant: ["7L1"], + magicalleaf: ["9M", "9L25", "8M", "8L25", "7L17"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + metronome: ["9M", "8M"], + mistyexplosion: ["9M", "8T"], + mistyterrain: ["9M", "8M"], + moonblast: ["9L65", "8L65", "7L49"], + naturalgift: ["7L31"], + playrough: ["9M", "8M"], + protect: ["9M", "8M", "7M"], + psychup: ["9L35", "8L35", "7M", "7L24"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rototiller: ["7L10"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + seedbomb: ["9M", "8M", "7T"], + selfdestruct: ["8M"], + shadowball: ["9M", "8M", "7M"], + shoreup: ["9L1", "8L1", "7L1"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + solarblade: ["9M", "8M"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "9L50", "8M", "8L50", "7M", "7L35"], + superpower: ["8M", "7T"], + swagger: ["7M"], + synthesis: ["9L50", "8L50", "7T"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + toxic: ["7M"], + trailblaze: ["9M"], + wish: ["9L30", "8L30", "7L21"], + wonderroom: ["8M", "7T"], + worryseed: ["7T"], + }, + }, + fawnifer: { + learnset: { + attract: ["8M", "7M"], + bodyslam: ["9M", "9L30", "8M", "8L30", "7L30"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulletseed: ["9M", "8M"], + chargebeam: ["9M", "9L18", "8L18"], + charm: ["9M", "8M"], + confide: ["7M"], + confuseray: ["9M", "9L15", "8L15", "7L18"], + doubleedge: ["9E", "8E", "7E"], + doublekick: ["9E", "8E", "7E"], + doubleteam: ["7M"], + echoedvoice: ["7M"], + endeavor: ["9E", "8E", "7T"], + endure: ["9M", "8M"], + energyball: ["9M", "9L39", "8M", "8L39", "7M"], + facade: ["9M", "8M", "7M"], + flash: ["7L42"], + frustration: ["7M"], + gigadrain: ["9M", "8M", "7T"], + grassknot: ["9M", "8M", "7M"], + grasspledge: ["9M", "8T", "7T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hypervoice: ["9M", "8M", "7T"], + knockoff: ["9M", "7T"], + leafage: ["9L3", "8L3", "7L1"], + leafstorm: ["9M", "8M"], + leechseed: ["9L21", "8L21", "7L26"], + leer: ["9L1", "8L1", "7L4"], + naturalgift: ["7E"], + naturepower: ["7M"], + powerwhip: ["9E", "8M", "7E"], + present: ["9E", "8E", "7E"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L9", "8L9", "7L11"], + rapidspin: ["9E", "8E", "7E"], + razorleaf: ["9L12", "8L12", "7L14"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + seedbomb: ["9M", "9L27", "8M", "8L27", "7T", "7L34"], + signalbeam: ["7L46"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + spark: ["9L24", "8L24", "7L22"], + spotlight: ["7E"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L33", "8L33", "7T"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + thundershock: ["9L6", "8L6", "7L7"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["9M", "9E", "8M", "7T", "7E"], + voltswitch: ["9M", "8M", "7M"], + wildcharge: ["9M", "9L36", "8M", "8L36", "7T", "7L38"], + workup: ["8M", "7M"], + worryseed: ["7T"], + }, + }, + electrelk: { + learnset: { + attract: ["8M", "7M"], + bodyslam: ["9M", "9L40", "8M", "8L40", "7L30"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulletseed: ["9M", "8M"], + chargebeam: ["9M", "9L20", "8L20", "7M"], + charm: ["9M", "8M"], + confide: ["7M"], + confuseray: ["9M", "9L15", "8L15", "7L18"], + doubleteam: ["7M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M", "8M"], + electroweb: ["8M", "7T"], + endeavor: ["7T"], + endure: ["9M", "8M"], + energyball: ["9M", "9L1", "8M", "8L1", "7M"], + facade: ["9M", "8M", "7M"], + flash: ["7L45"], + flashcannon: ["9M", "8M", "7M"], + frustration: ["7M"], + gigadrain: ["9M", "8M", "7T"], + grassknot: ["9M", "8M", "7M"], + grasspledge: ["9M", "8T", "7T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "8M", "7T"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hypervoice: ["9M", "8M", "7T"], + knockoff: ["9M", "7T"], + leafage: ["9L1", "8L1", "7L1"], + leafstorm: ["9M", "8M"], + leechseed: ["9L25", "8L25", "7L26"], + leer: ["9L1", "8L1", "7L4"], + magnetrise: ["9L55", "8L55", "7L58"], + naturepower: ["7M"], + powerwhip: ["8M"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L9", "8L9", "7L11"], + razorleaf: ["9L12", "8L12", "7L14"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + seedbomb: ["9M", "9L35", "8M", "8L35", "7T", "7L35"], + shockwave: ["7T"], + signalbeam: ["7T", "7L49"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + solarblade: ["9M", "8M"], + spark: ["9L30", "8L30", "7L22"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L45", "8L45", "7T"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + throatchop: ["8M"], + thunder: ["9M", "8M", "7M"], + thunderbolt: ["9M", "8M", "7M"], + thundershock: ["9L1", "8L1", "7L7"], + thunderwave: ["9M", "8M", "7M"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T"], + voltswitch: ["9M", "8M", "7M"], + wildcharge: ["9M", "9L50", "8M", "8L50", "7T", "7L40"], + workup: ["8M", "7M"], + worryseed: ["7T"], + zapcannon: ["9L60", "8L60", "7L53"], + }, + }, + caribolt: { + learnset: { + attract: ["8M", "7M"], + bodyslam: ["9M", "9L44", "8M", "8L44", "7L32"], + boomburst: ["9L1", "8L1", "7L1"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulletseed: ["9M", "8M", "7L1"], + celebrate: ["7S0"], + chargebeam: ["9M", "9L20", "8L20", "7M"], + charm: ["9M", "8M"], + confide: ["7M"], + confuseray: ["9M", "9L15", "8L15", "7L19"], + doubleteam: ["7M"], + echoedvoice: ["7M"], + eerieimpulse: ["9M", "8M"], + electricterrain: ["9M", "9L1", "8M", "8L1", "7L1"], + electroweb: ["8M", "7T"], + endeavor: ["7T"], + endure: ["9M", "8M"], + energyball: ["9M", "9L1", "8M", "8L1", "7M"], + facade: ["9M", "8M", "7M"], + flash: ["7L47"], + flashcannon: ["9M", "8M", "7M"], + frenzyplant: ["9M", "8T", "7T"], + frustration: ["7M"], + gigadrain: ["9M", "8M", "7T"], + gigaimpact: ["9M", "8M", "7M"], + grassknot: ["9M", "8M", "7M"], + grasspledge: ["9M", "8T", "7T"], + grassyglide: ["9M", "8T"], + grassyterrain: ["9M", "9L1", "8M", "8L1", "7L1"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hornleech: ["9L0", "8L0", "7L1", "7S0"], + hyperbeam: ["9M", "8M", "7M"], + hyperdrill: ["9L1"], + hypervoice: ["9M", "8M", "7T"], + knockoff: ["9M", "7T"], + leafage: ["9L1", "8L1", "7L1"], + leafstorm: ["9M", "8M"], + leechseed: ["9L25", "8L25", "7L28"], + leer: ["9L1", "8L1", "7L1"], + magnetrise: ["9L65", "8L65", "7T", "7L62"], + metronome: ["9M", "8M", "7S0"], + naturepower: ["7M"], + powerwhip: ["8M"], + protect: ["9M", "8M", "7M"], + quickattack: ["9L9", "8L9", "7L12"], + razorleaf: ["9L12", "8L12", "7L15"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + risingvoltage: ["8T"], + round: ["8M", "7M"], + seedbomb: ["9M", "9L37", "8M", "8L37", "7T", "7L37"], + shockwave: ["7T"], + signalbeam: ["7T", "7L52"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + solarblade: ["9M", "8M"], + spark: ["9L30", "8L30", "7L24"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "8M", "7M"], + synthesis: ["9L51", "8L51", "7T"], + tackle: ["9L1", "8L1", "7L1"], + takedown: ["9M"], + terablast: ["9M"], + terrainpulse: ["8T"], + throatchop: ["8M"], + thunder: ["9M", "8M", "7M"], + thunderbolt: ["9M", "8M", "7M"], + thundershock: ["9L1", "8L1", "7L1"], + thunderwave: ["9M", "8M", "7M"], + toxic: ["7M"], + trailblaze: ["9M"], + uproar: ["9M", "8M", "7T"], + voltswitch: ["9M", "8M", "7M"], + wildcharge: ["9M", "9L58", "8M", "8L58", "7T", "7L42", "7S0"], + workup: ["8M", "7M"], + worryseed: ["7T"], + zapcannon: ["9L72", "8L72", "7L57"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["celebrate", "hornleech", "wildcharge", "metronome"], pokeball: "cherishball"}, + ], + }, + smogecko: { + learnset: { + acidspray: ["9M", "9E", "8E", "7E"], + aerialace: ["9M"], + attract: ["8M", "7M"], + bonerush: ["9E", "8E", "7E"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "9L24", "8M", "8L24", "7M", "7L19"], + bulletpunch: ["9E", "8E", "7E"], + camouflage: ["7L30"], + confide: ["7M"], + defog: ["9E", "8E", "7T"], + dig: ["9M", "9L33", "8M", "8L33", "7L47"], + doubleteam: ["7M"], + earthpower: ["9M", "8M", "7T"], + ember: ["9L3", "8L3", "7L1"], + endeavor: ["9E", "8E", "7T"], + facade: ["9M", "8M", "7M"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M", "8M"], + firepledge: ["9M", "8T", "7T"], + firepunch: ["9M", "8M"], + firespin: ["9M", "8M", "7E"], + flameburst: ["7L22"], + flamecharge: ["9M", "9E"], + flamethrower: ["9M", "8M", "7M", "7L40"], + flamewheel: ["9L21", "8L21", "7L15"], + flareblitz: ["9L39", "8L39"], + forcepalm: ["9E", "8E", "7E"], + frustration: ["7M"], + gunkshot: ["9M", "8M", "7T"], + heatwave: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + incinerate: ["9L16", "8L16", "7L34"], + irontail: ["8M", "7T"], + lavaplume: ["9L27", "8L27", "7L26"], + lick: ["9L9", "8L9", "7L7"], + lowkick: ["9M", "8M", "7T"], + mudshot: ["9M", "9L18", "8M", "8L18", "7L13"], + overheat: ["9M", "8M", "7M"], + poisonfang: ["9E", "8E", "7E"], + poisonjab: ["9M", "8M", "7M"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roar: ["7M"], + round: ["8M", "7M"], + sandtomb: ["9M", "8M", "7E"], + scaleshot: ["9M", "8T"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "7L1"], + screech: ["9L30", "8M", "8L30", "7L44"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M"], + smog: ["9L12", "8L12", "7L10"], + smokescreen: ["9L6", "8L6", "7L4"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + stealthrock: ["9M", "8M", "7T"], + stompingtantrum: ["9M", "8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + swagger: ["7M"], + tailwhip: ["9L1", "8L1", "7L4"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + toxic: ["9M", "9L36", "8L36", "7M"], + trailblaze: ["9M"], + venomdrench: ["8M"], + willowisp: ["9M", "8M", "7M"], + workup: ["8M", "7M"], + }, + }, + smoguana: { + learnset: { + acidspray: ["9M"], + aerialace: ["9M"], + attract: ["8M", "7M"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "9L35", "8M", "8L35", "7M", "7L19"], + burningjealousy: ["9M", "8T"], + camouflage: ["7L35"], + clearsmog: ["9L20", "8L20", "7L26"], + confide: ["7M"], + corrosivegas: ["8T"], + crosspoison: ["8M"], + defog: ["7T"], + dig: ["9M", "9L1", "8M", "8L1"], + doubleteam: ["7M"], + earthpower: ["9M", "8M", "7T"], + earthquake: ["9M", "9L50", "8M", "8L50", "7M", "7L50"], + ember: ["9L1", "8L1", "7L1"], + endeavor: ["7T"], + facade: ["9M", "8M", "7M"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M", "8M"], + firepledge: ["9M", "8T", "7T"], + firepunch: ["9M", "8M", "7T"], + flameburst: ["7L22"], + flamecharge: ["9M"], + flamethrower: ["9M", "8M", "7M", "7L42"], + flamewheel: ["9L30", "8L30", "7L15"], + flareblitz: ["9M", "9L60", "8M", "8L60", "7L55"], + frustration: ["7M"], + gunkshot: ["9M", "8M", "7T"], + heatwave: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + incinerate: ["9L15", "8L15"], + irontail: ["8M", "7T"], + lavaplume: ["9L40", "8L40", "7L31"], + lick: ["9L9", "8L9", "7L7"], + lowkick: ["9M", "8M", "7T"], + mudshot: ["9M", "9L25", "8M", "8L25", "7L13"], + overheat: ["9M", "8M", "7M"], + poisonjab: ["9M", "8M", "7M"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roar: ["7M"], + round: ["8M", "7M"], + sandtomb: ["9M", "8M"], + scaleshot: ["9M", "8T"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "7L1"], + screech: ["9L45", "8M", "8L45", "7L46"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M"], + smog: ["9L12", "8L12", "7L10"], + smokescreen: ["9L1", "8L1", "7L4"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + stealthrock: ["9M", "8M", "7T"], + stompingtantrum: ["9M", "8M", "7T"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + superpower: ["8M", "7T"], + swagger: ["7M"], + tailwhip: ["9L1", "8L1", "7L1"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + toxic: ["9M", "9L55", "8L55", "7M"], + trailblaze: ["9M"], + venomdrench: ["8M"], + willowisp: ["9M", "8M", "7M"], + workup: ["8M", "7M"], + }, + }, + smokomodo: { + learnset: { + acidspray: ["9M"], + aerialace: ["9M"], + attract: ["8M", "7M"], + blastburn: ["9M", "8T", "7T"], + brickbreak: ["9M", "8M", "7M"], + bulkup: ["9M", "8M", "7M"], + bulldoze: ["9M", "9L35", "8M", "8L35", "7M", "7L20"], + burningjealousy: ["9M", "8T"], + camouflage: ["7L38", "7S0"], + celebrate: ["7S0"], + circlethrow: ["9L1", "8L1", "7L1"], + clearsmog: ["9L20", "8L20", "7L29"], + confide: ["7M"], + corrosivegas: ["8T"], + crosspoison: ["8M"], + defog: ["7T"], + dig: ["9M", "9L1", "8M", "8L1"], + doubleteam: ["7M"], + earthpower: ["9M", "8M", "7T"], + earthquake: ["9M", "9L56", "8M", "8L56", "7M", "7L54"], + ember: ["9L1", "8L1", "7L1"], + endeavor: ["7T"], + eruption: ["9L0", "8L0", "7L1", "7S0"], + facade: ["9M", "8M", "7M"], + fireblast: ["9M", "8M", "7M"], + firefang: ["9M", "8M"], + firepledge: ["9M", "8T", "7T"], + firepunch: ["9M", "8M", "7T"], + firespin: ["9M", "8M"], + fissure: ["9L1", "8L1", "7L65"], + flameburst: ["7L24"], + flamecharge: ["9M"], + flamethrower: ["9M", "8M", "7M", "7L43"], + flamewheel: ["9L30", "8L30", "7L17"], + flareblitz: ["9M", "9L70", "8M", "8L70", "7L60"], + focusblast: ["9M", "8M", "7M"], + frustration: ["7M"], + gigaimpact: ["9M", "8M", "7M"], + gunkshot: ["9M", "8M", "7T"], + heatcrash: ["9M", "8M"], + heatwave: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M", "7M"], + incinerate: ["9L15", "8L15"], + irontail: ["8M", "7T"], + lavaplume: ["9L42", "8L42", "7L33"], + lick: ["9L9", "8L9", "7L7"], + lowkick: ["9M", "8M", "7T"], + machpunch: ["9L1", "8L1"], + magnitude: ["7L1", "7S0"], + metalclaw: ["9M", "9L1", "8L1", "7L1"], + morningsun: ["9L1", "8L1", "7L1"], + mudshot: ["9M", "9L25", "8M", "8L25", "7L14"], + mysticalfire: ["8M"], + overheat: ["9M", "8M", "7M"], + poisonjab: ["9M", "8M", "7M"], + protect: ["9M", "8M", "7M"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + roar: ["7M"], + round: ["8M", "7M"], + sandtomb: ["9M", "8M"], + scaleshot: ["9M", "8T"], + scorchingsands: ["8T"], + scratch: ["9L1", "8L1", "7L1"], + screech: ["9L49", "8M", "8L49", "7L49"], + sleeptalk: ["9M", "8M", "7M"], + sludgebomb: ["9M", "8M", "7M"], + smog: ["9L12", "8L12", "7L10"], + smokescreen: ["9L1", "8L1", "7L4"], + snore: ["8M", "7T"], + solarbeam: ["9M", "8M", "7M"], + stealthrock: ["9M", "8M", "7T"], + stompingtantrum: ["9M", "8M", "7T"], + stormthrow: ["9L1", "8L1", "7L1"], + substitute: ["9M", "8M", "7M"], + sunnyday: ["9M", "8M", "7M"], + superpower: ["8M", "7T"], + swagger: ["7M"], + tailwhip: ["9L1", "8L1", "7L1"], + taunt: ["9M", "8M", "7M"], + terablast: ["9M"], + toxic: ["9M", "9L63", "8L63", "7M"], + trailblaze: ["9M"], + venomdrench: ["8M"], + willowisp: ["9M", "8M", "7M"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["celebrate", "eruption", "magnitude", "camouflage"], pokeball: "cherishball"}, + ], + }, + swirlpool: { + learnset: { + acidarmor: ["9E", "8E", "7E"], + allyswitch: ["8M"], + aquajet: ["9L12", "8L12", "7L16"], + attract: ["8M", "7M"], + blizzard: ["9M", "8M", "7M"], + bodyslam: ["9M", "8M"], + brine: ["9L21", "8M", "8L21", "7L25"], + bugbite: ["9M", "7T"], + bugbuzz: ["9M", "9L33", "8M", "8L33", "7L38"], + captivate: ["7L40"], + charm: ["9M", "9L9", "8M", "8L9", "7L10"], + chillingwater: ["9M"], + confide: ["7M"], + confusion: ["9L15", "8L15", "7L14"], + dazzlinggleam: ["9M", "8M", "7M"], + dive: ["8M"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + frustration: ["7M"], + futuresight: ["8M"], + growl: ["9L1", "8L1", "7L4"], + guardswap: ["8M"], + hail: ["8M", "7M"], + healpulse: ["9L24", "8L24", "7L20"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hydropump: ["9M", "9L39", "8M", "8L39", "7L44"], + hypervoice: ["9M", "8M", "7T"], + icebeam: ["9M", "8M", "7M"], + icywind: ["9M", "8M", "7T"], + infestation: ["9E", "8E", "7M"], + leechlife: ["9M", "8M", "7M"], + lifedew: ["9E", "8E"], + magiccoat: ["7T"], + metronome: ["9M", "8M"], + muddywater: ["9E", "8M", "7E"], + pinmissile: ["9E", "8M", "7E"], + pounce: ["9M"], + pound: ["9L1", "8L1", "7L1"], + powder: ["7E"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "8M", "7M"], + psychoshift: ["8E", "7E"], + raindance: ["9M", "9L18", "8M", "8L18", "7M", "7L29"], + recover: ["9E"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scald: ["8M", "7M"], + signalbeam: ["7T"], + skillswap: ["9M", "8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + spikyshield: ["9E", "8E", "7E"], + spotlight: ["7E"], + stealthrock: ["9M", "8M", "7T"], + stickyweb: ["9E", "8E", "7E"], + strugglebug: ["9M", "9L6", "8L6", "7L7"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L30", "8M", "8L30", "7M", "7L48"], + terablast: ["9M"], + toxic: ["9L36", "8L36", "7M"], + trick: ["9M", "8M", "7T"], + uproar: ["8M", "7T"], + uturn: ["9M", "9L27", "8M", "8L27", "7M", "7L34"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L3", "8L3", "7L1"], + waterpledge: ["9M", "8T", "7T"], + waterpulse: ["9M", "7T"], + whirlpool: ["8M"], + workup: ["8M", "7M"], + }, + }, + coribalis: { + learnset: { + allyswitch: ["8M"], + aquajet: ["9L12", "8L12", "7L16"], + attract: ["8M", "7M"], + blizzard: ["9M", "8M", "7M"], + block: ["7T"], + bodyslam: ["9M", "8M"], + brine: ["9L25", "8M", "8L25", "7L26"], + bugbite: ["9M", "7T"], + bugbuzz: ["9M", "9L50", "8M", "8L50", "7L42"], + captivate: ["7L48"], + charm: ["9M", "9L9", "8M", "8L9", "7L10"], + chillingwater: ["9M"], + confide: ["7M"], + confusion: ["9L15", "8L15", "7L14"], + dazzlinggleam: ["9M", "8M", "7M"], + dive: ["8M"], + doubleteam: ["7M"], + drainingkiss: ["8M"], + dualwingbeat: ["8T"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + frustration: ["7M"], + futuresight: ["8M"], + growl: ["9L1", "8L1", "7L4"], + guardswap: ["8M"], + hail: ["8M", "7M"], + healpulse: ["9L30", "8L30", "7L22"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hydropump: ["9M", "9L60", "8M", "8L60", "7L52"], + hypervoice: ["9M", "8M", "7T"], + icebeam: ["9M", "8M", "7M"], + icywind: ["9M", "8M", "7T"], + infestation: ["7M"], + leechlife: ["9M", "8M", "7M"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + metronome: ["9M", "8M"], + muddywater: ["8M"], + pinmissile: ["8M"], + pounce: ["9M"], + pound: ["9L1", "8L1", "7L1"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "9L40", "8M", "8L40", "7M", "7L38"], + raindance: ["9M", "9L20", "8M", "8L20", "7M", "7L30"], + razorshell: ["9L1", "8M", "8L1"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scald: ["8M", "7M"], + signalbeam: ["7T"], + skillswap: ["9M", "8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + stealthrock: ["9M", "8M", "7T"], + strugglebug: ["9M", "9L1", "8L1", "7L7"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L45", "8M", "8L45", "7M", "7L58"], + terablast: ["9M"], + toxic: ["9L55", "8L55", "7M"], + trick: ["9M", "8M", "7T"], + trickroom: ["9M", "8M", "7M"], + uproar: ["8M", "7T"], + uturn: ["9M", "9L35", "8M", "8L35", "7M", "7L34"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L1", "8L1"], + waterpledge: ["9M", "8T", "7T"], + waterpulse: ["9M", "7T"], + whirlpool: ["8M"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + xscissor: ["9M", "8M"], + }, + }, + snaelstrom: { + learnset: { + allyswitch: ["8M"], + aquajet: ["9L12", "8L12", "7L17"], + aquaring: ["9L1", "8L1", "7L1"], + attract: ["9L1", "8M", "8L1", "7M", "7L1"], + blizzard: ["9M", "8M", "7M"], + block: ["7T"], + bodyslam: ["9M", "8M"], + brine: ["9L25", "8M", "8L25", "7L27"], + bugbite: ["9M", "7T"], + bugbuzz: ["9M", "9L58", "8M", "8L58", "7L48"], + captivate: ["7L56"], + celebrate: ["7S0"], + charm: ["9M", "9L9", "8M", "8L9", "7L11"], + chillingwater: ["9M"], + confide: ["7M"], + confusion: ["9L15", "8L15", "7L14"], + dazzlinggleam: ["9M", "8M", "7M"], + dive: ["8M"], + doubleteam: ["7M"], + drainingkiss: ["9M", "8M"], + dualwingbeat: ["8T"], + echoedvoice: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + frustration: ["7M"], + futuresight: ["8M"], + gigaimpact: ["9M", "8M", "7M"], + growl: ["9L1", "8L1", "7L1"], + guardswap: ["8M"], + hail: ["8M", "7M"], + healpulse: ["9L30", "8L30", "7L22"], + helpinghand: ["9M", "8M"], + hiddenpower: ["7M"], + hydrocannon: ["9M", "8T", "7T"], + hydropump: ["9M", "9L72", "8M", "8L72", "7L60"], + hyperbeam: ["9M", "8M", "7M"], + hypervoice: ["9M", "8M"], + icebeam: ["9M", "8M", "7M"], + iciclespear: ["9M", "8M"], + icywind: ["9M", "8M", "7T"], + infestation: ["7M"], + leechlife: ["9M", "8M", "7M", "7S0"], + liquidation: ["9M", "9L0", "8M", "8L0", "7T", "7L1", "7S0"], + magiccoat: ["7T"], + magicroom: ["8M", "7T"], + metronome: ["9M", "8M", "7S0"], + muddywater: ["8M"], + pinmissile: ["8M"], + pounce: ["9M"], + pound: ["9L1", "8L1", "7L1"], + protect: ["9M", "8M", "7M"], + psychic: ["9M", "9L44", "8M", "8L44", "7M", "7L44"], + raindance: ["9M", "9L20", "8M", "8L20", "7M", "7L32"], + rapidspin: ["9L1", "8L1", "7L1"], + razorshell: ["9L1", "8M", "8L1"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + scald: ["8M", "7M"], + signalbeam: ["7T"], + skillswap: ["9M", "8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M", "7M"], + snore: ["8M", "7T"], + snowscape: ["9M"], + stealthrock: ["9M", "8M", "7T"], + strugglebug: ["9M", "9L1", "8L1", "7L1"], + substitute: ["9M", "8M", "7M"], + surf: ["9M", "8M", "7M"], + swagger: ["7M"], + swift: ["9M", "8M"], + swordsdance: ["9M", "9L51", "8M", "8L51", "7M", "7L64"], + terablast: ["9M"], + toxic: ["9L65", "8L65", "7M"], + trick: ["9M", "8M", "7T"], + trickroom: ["9M", "8M", "7M"], + uproar: ["8M", "7T"], + uturn: ["9M", "9L37", "8M", "8L37", "7M", "7L40"], + venomdrench: ["8M"], + venoshock: ["9M", "8M", "7M"], + waterfall: ["9M", "8M", "7M"], + watergun: ["9L1", "8L1"], + waterpledge: ["9M", "8T", "7T"], + waterpulse: ["9M", "7T"], + whirlpool: ["9L1", "8M", "8L1", "7L1"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + xscissor: ["9M", "8M"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["celebrate", "liquidation", "leechlife", "metronome"], pokeball: "cherishball"}, + ], + }, + justyke: { + learnset: { + allyswitch: ["8M", "7T"], + aurasphere: ["9M", "9L33", "8M", "8L33", "7L64"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M"], + confide: ["7M"], + destinybond: ["9L44", "8L44", "7L58"], + doubleteam: ["7M"], + drillrun: ["9M", "8M", "7T"], + earthpower: ["9M", "9L48", "8M", "8L48", "7T", "7L36"], + earthquake: ["9M", "8M", "7M", "7L52"], + embargo: ["7M"], + endure: ["9M", "8M"], + facade: ["9M", "8M", "7M"], + flashcannon: ["9M", "9L28", "8M", "8L28", "7M", "7L41"], + frustration: ["7M"], + gravity: ["9M", "9L24", "7T"], + guardsplit: ["9L16", "8L16", "7L21"], + gyroball: ["9M", "9L12", "8M", "8L12", "7M", "7L17"], + healingwish: ["9L40", "8L40", "7L46"], + heavyslam: ["9M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + icespinner: ["9M"], + imprison: ["9M", "9L8", "8M", "8L8", "7L9"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + magicroom: ["8M", "7T"], + magnetrise: ["9L1", "8L1", "7T"], + memento: ["9L36", "8L36", "7L46"], + mindreader: ["8L24", "7L31"], + mirrorshot: ["7L26"], + mudshot: ["9M", "8M", "7L13"], + mudslap: ["9M", "9L4", "8L4", "7L5"], + mudsport: ["7L1"], + painsplit: ["9L52", "8L52", "7T", "7L70"], + pound: ["9L1", "8L1", "7L1"], + powersplit: ["9L16", "8L16", "7L21"], + protect: ["9M", "8M", "7M"], + psychup: ["7M"], + quash: ["9L20", "8L20", "7M"], + recycle: ["7T"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rockpolish: ["7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + smartstrike: ["9M", "8M", "7M"], + snore: ["8M", "7M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + substitute: ["9M", "8M", "7M"], + swagger: ["7M"], + terablast: ["9M"], + trickroom: ["9M", "8M", "7M"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + }, + }, + equilibra: { + learnset: { + allyswitch: ["8M", "7T"], + aurasphere: ["9M", "9L35", "8M", "8L35", "7L71"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "8M", "7M"], + confide: ["7M"], + destinybond: ["9L52", "8L52", "7L64"], + doomdesire: ["9S0", "8L0", "7L1"], + doubleteam: ["7M"], + drillrun: ["9M", "8M", "7T"], + earthpower: ["9M", "9L58", "9S0", "8M", "8L58", "7T", "7L40"], + earthquake: ["9M", "8M", "7M", "7L57"], + embargo: ["7M"], + endure: ["9M", "8M"], + explosion: ["7M"], + facade: ["9M", "8M", "7M"], + flashcannon: ["9M", "9L28", "9S0", "8M", "8L28", "7M", "7L45"], + frustration: ["7M"], + gigaimpact: ["9M", "8M", "7M"], + gravity: ["9M", "9L24", "7T"], + guardsplit: ["9L16", "8L16", "7L25"], + gyroball: ["9M", "9L12", "8M", "8L12", "7M", "7L20"], + healingwish: ["9L46", "8L46", "7L50"], + heavyslam: ["9M"], + helpinghand: ["9M", "8M", "7T"], + hiddenpower: ["7M"], + hyperbeam: ["9M", "8M", "7M"], + imprison: ["9M", "9L1", "8M", "8L1", "7L1"], + irondefense: ["9M", "8M", "7T"], + ironhead: ["9M", "8M", "7T"], + irontail: ["8M", "7T"], + magicroom: ["8M", "7T"], + magnetrise: ["9L1", "8L1", "7T"], + memento: ["9L40", "8L40", "7L50"], + mindreader: ["8L24", "7L35"], + mirrorshot: ["7L30"], + mudshot: ["9M", "8M", "7L15"], + mudslap: ["9M", "9L1", "8L1", "7L1"], + mudsport: ["7L1"], + painsplit: ["9L64", "8L64", "7T", "7L78"], + perishsong: ["9L1", "8L1", "7L85"], + pound: ["9L1", "8L1", "7L1"], + powersplit: ["9L16", "8L16", "7L25"], + protect: ["9M", "8M", "7M"], + psychup: ["7M"], + quash: ["9L20", "8L20", "7M"], + rapidspin: ["9L1", "9S0", "8L1", "7L1"], + recycle: ["7T"], + rest: ["9M", "8M", "7M"], + return: ["7M"], + rockpolish: ["7M"], + rockslide: ["9M", "8M", "7M"], + rocktomb: ["9M", "8M", "7M"], + round: ["8M", "7M"], + safeguard: ["8M", "7M"], + sandstorm: ["9M", "8M", "7M"], + sleeptalk: ["9M", "8M", "7M"], + smartstrike: ["9M", "8M", "7M"], + snore: ["8M", "7M"], + steelbeam: ["9M", "8T"], + steelroller: ["8T"], + substitute: ["9M", "8M", "7M"], + swagger: ["7M"], + terablast: ["9M"], + trickroom: ["9M", "8M", "7M"], + wonderroom: ["8M", "7T"], + workup: ["8M", "7M"], + }, + eventData: [ + {generation: 9, level: 50, moves: ["doomdesire", "flashcannon", "earthpower", "rapidspin"], pokeball: "pokeball"}, + ], + }, + solotl: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "8M"], + allyswitch: ["8M"], + attract: ["8M"], + batonpass: ["9M", "8M"], + breakingswipe: ["8M"], + charm: ["9M", "9L20", "8M", "8L20"], + cosmicpower: ["9L28", "8M", "8L28"], + dazzlinggleam: ["9M", "8M"], + defog: ["9E", "8E"], + dracometeor: ["9M", "8T"], + dragonbreath: ["9L8", "8L8"], + dragonpulse: ["9M", "9L40", "8M", "8L40"], + dragonrush: ["9L48", "8L48"], + dragontail: ["9M", "9L24", "8L24"], + ember: ["9L4", "8L4"], + encore: ["9M", "9L12", "8M", "8L12"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + firelash: ["9L36", "9L36", "8L36"], + firespin: ["9M", "8M"], + flamecharge: ["9M"], + flamethrower: ["9M", "8M"], + flamewheel: ["9L16", "8L16"], + flareblitz: ["9M", "9L52", "8M", "8L52"], + healbell: ["8L32"], + healingwish: ["9L44", "8L44"], + heatwave: ["9M", "8M"], + helpinghand: ["9M", "8M"], + imprison: ["9M", "8M"], + lifedew: ["9E", "8E"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + meteorbeam: ["8T"], + metronome: ["9M", "8M"], + mysticalfire: ["8M"], + outrage: ["9M", "8M"], + overheat: ["9M", "8M"], + pound: ["9L1", "8L1"], + protect: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["9L32", "8M"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + spikes: ["9M", "8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + twister: ["9E", "8E"], + willowisp: ["9M", "8M"], + workup: ["8M"], + yawn: ["9E", "8E"], + }, + }, + astrolotl: { + learnset: { + acrobatics: ["9M", "8M"], + agility: ["9M", "8M"], + allyswitch: ["8M"], + attract: ["8M"], + batonpass: ["9M", "9L1", "8M", "8L1"], + breakingswipe: ["8M"], + bulldoze: ["9M", "8M"], + charm: ["9M", "9L20", "8M", "8L20"], + cosmicpower: ["9L28", "8M", "8L28"], + dazzlinggleam: ["9M", "8M"], + dracometeor: ["8T"], + dragonbreath: ["9L1", "8L1"], + dragonclaw: ["9M", "8M"], + dragonpulse: ["9M", "9L44", "8M", "8L44"], + dragonrush: ["9L56", "8L56"], + dragontail: ["9M", "9L24", "8L24"], + ember: ["9L1", "8L1"], + encore: ["9M", "9L12", "8M", "8L12"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fireblast: ["9M", "8M"], + firefang: ["9M", "8M"], + firelash: ["9L38", "8L38"], + firepunch: ["9M", "8M"], + firespin: ["9M", "8M"], + flamecharge: ["9M"], + flamethrower: ["9M", "8M"], + flamewheel: ["9L16", "8L16"], + flareblitz: ["9M", "9L62", "8M", "8L62"], + healbell: ["8L32"], + healingwish: ["9L50", "8L50"], + heatwave: ["9M", "8M"], + helpinghand: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + lightscreen: ["9M", "8M"], + magicalleaf: ["9M", "8M"], + magiccoat: ["8L1"], + meteorbeam: ["8T"], + metronome: ["9M", "8M"], + mysticalfire: ["9L0", "8M", "8L0"], + outrage: ["9M", "8M"], + overheat: ["9M", "8M"], + pound: ["9L1", "8L1"], + protect: ["9M", "8M"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + safeguard: ["9L32", "8M"], + scorchingsands: ["8T"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + solarbeam: ["9M", "8M"], + spikes: ["9M", "8M"], + stompingtantrum: ["9M", "8M"], + storedpower: ["9M", "8M"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + swift: ["9M", "8M"], + tailwhip: ["9L1", "8L1"], + takedown: ["9M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + willowisp: ["9M", "8M"], + workup: ["8M"], + }, + }, + miasmite: { + learnset: { + agility: ["9M", "8M"], + aromatherapy: ["8E"], + attract: ["8M"], + bite: ["9L8", "8L8"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + bugbite: ["9M", "9L16", "8L16"], + bugbuzz: ["9M", "9L24", "8M", "8L24"], + corrosivegas: ["8T"], + crunch: ["9M", "9L36", "8M", "8L36"], + darkpulse: ["9M", "8M"], + dracometeor: ["9M", "8T"], + dragonbreath: ["9L4", "8L4"], + dragonclaw: ["9M", "8M"], + dragonpulse: ["9M", "9L40", "8M", "8L40"], + dragonrush: ["9E", "8E"], + dragontail: ["9M", "9E", "8E"], + earthpower: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + firefang: ["9M", "8M"], + firstimpression: ["9E", "8E"], + flashcannon: ["9M", "8M"], + haze: ["9M", "9L28", "8L28"], + icefang: ["9M", "8M"], + ironhead: ["9M", "8M"], + irontail: ["8M"], + leechlife: ["9M", "8M"], + lunge: ["9M", "9L44", "8L44"], + megahorn: ["9E", "8M"], + outrage: ["9M", "8M"], + pinmissile: ["8M"], + poisonfang: ["9E", "8E"], + poisongas: ["9L20", "8L20"], + poisonjab: ["9M", "8M"], + pounce: ["9M"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + recover: ["9E", "8E"], + rest: ["9M", "8M"], + round: ["8M"], + scaryface: ["9M", "8M"], + screech: ["8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + smog: ["9L12", "8L12"], + smokescreen: ["9L1", "8L1"], + snore: ["8M"], + strugglebug: ["9M", "9L1", "8L1"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superfang: ["9M", "9L32", "8L32"], + superpower: ["8M"], + swordsdance: ["9M", "8M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thunderfang: ["9M", "8M"], + uproar: ["9M", "8M"], + workup: ["8M"], + xscissor: ["9M", "8M"], + }, + }, + miasmaw: { + learnset: { + agility: ["9M", "8M"], + attract: ["8M"], + bite: ["9L1", "8L1"], + bodyslam: ["9M", "8M"], + breakingswipe: ["8M"], + brutalswing: ["8M"], + bugbite: ["9M", "9L16", "8L16"], + bugbuzz: ["9M", "9L24", "8M", "8L24"], + bulldoze: ["9M", "8M"], + closecombat: ["9M", "8M"], + corrosivegas: ["8T"], + crunch: ["9M", "9L40", "8M", "8L40"], + darkpulse: ["9M", "8M"], + dracometeor: ["9M", "8T"], + dragonbreath: ["9L1", "8L1"], + dragonclaw: ["9M", "8M"], + dragonhammer: ["8L0"], + dragonpulse: ["9M", "9L46", "8M", "8L46"], + dragontail: ["9M"], + dualwingbeat: ["9M", "8T"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "8M"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + firefang: ["9M", "8M"], + flashcannon: ["9M", "8M"], + focusblast: ["9M", "8M"], + gigaimpact: ["9M", "9L58", "8M", "8L58"], + gunkshot: ["9M", "8M"], + haze: ["9M", "9L28", "8L28"], + highhorsepower: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + icefang: ["9M", "8M"], + ironhead: ["9M", "8M"], + irontail: ["8M"], + leechlife: ["9M", "8M"], + lunge: ["9M", "9L52", "8L52"], + megahorn: ["8M"], + nastyplot: ["9M", "8M"], + outrage: ["9M", "8M"], + pinmissile: ["8M"], + poisongas: ["9L20", "8L20"], + poisonjab: ["9M", "8M"], + pounce: ["9M"], + protect: ["9M", "8M"], + raindance: ["9M", "8M"], + rest: ["9M", "8M"], + round: ["8M"], + scaleshot: ["9M", "9L0"], + scaryface: ["9M", "8M"], + screech: ["8M"], + skittersmack: ["8T"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + smog: ["9L12", "8L12"], + smokescreen: ["9L1", "8L1"], + snore: ["8M"], + strugglebug: ["9M", "9L1", "8L1"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + superfang: ["9M", "9L34", "8L34"], + superpower: ["8M"], + swordsdance: ["9M", "8M"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderfang: ["9M", "8M"], + uproar: ["9M", "8M"], + uturn: ["9M", "8M"], + wildcharge: ["9M", "8M"], + workup: ["8M"], + xscissor: ["9M", "8M"], + }, + }, + chromera: { + learnset: { + acidspray: ["9M", "9L1", "8L1"], + aerialace: ["9M", "9L10", "8L10"], + aromatherapy: ["8L60"], + assurance: ["8M"], + attract: ["8M"], + beatup: ["8M"], + belch: ["8S0"], + blizzard: ["9M", "8M"], + bodyslam: ["9M", "8M"], + boomburst: ["9L75", "8L75"], + calmmind: ["9M", "8M", "8S0"], + charm: ["9M", "8M"], + chillingwater: ["9M"], + crunch: ["9M", "9L35", "8M", "8L35"], + darkpulse: ["9M", "8M", "8S0"], + decorate: ["8L65"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + faketears: ["9M", "8M"], + finalgambit: ["9L80", "8L80"], + firefang: ["9M", "9L20", "8M", "8L20"], + firstimpression: ["9L45", "8L45"], + foulplay: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + grassknot: ["9L60"], + gunkshot: ["9M", "8M"], + hex: ["9M", "8M"], + hyperbeam: ["9M", "8M"], + hypervoice: ["9M", "8M"], + icefang: ["9M", "9L20", "8M", "8L20"], + imprison: ["9M", "9L25", "8M", "8L25"], + knockoff: ["9L1", "8L1"], + lashout: ["9M", "8T"], + lifedew: ["9L40", "8L40"], + lightscreen: ["9M", "8M"], + metalclaw: ["9M", "9L5", "8L5"], + mudslap: ["9M"], + nobleroar: ["9L1", "8L1"], + outrage: ["9M", "9L70", "8M", "8L70"], + payback: ["8M"], + payday: ["8M"], + playrough: ["9M", "9L65", "8M"], + protect: ["9M", "8M"], + recover: ["9L1", "8L1", "8S0"], + reflect: ["9M", "8M"], + rest: ["9M", "8M"], + revenge: ["8M"], + round: ["8M"], + safeguard: ["8M"], + scald: ["8M"], + scaryface: ["9M", "8M"], + shadowball: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + sludgewave: ["8M"], + snarl: ["9M", "8M"], + snore: ["8M"], + spite: ["9M", "9L15", "8L15"], + stompingtantrum: ["9M", "9L30", "8M", "8L30"], + substitute: ["9M", "8M"], + sunnyday: ["9M", "8M"], + switcheroo: ["9L1", "8L1"], + taunt: ["9M", "8M"], + terablast: ["9M"], + thief: ["9M", "8M"], + thunder: ["9M", "8M"], + thunderbolt: ["9M", "8M"], + thunderfang: ["9M", "9L20", "8M", "8L20"], + toxic: ["9L55", "8L55"], + toxicspikes: ["9M", "8M"], + trailblaze: ["9M"], + uproar: ["9M", "8M"], + venomdrench: ["8M"], + wideguard: ["9L50", "8L50"], + }, + eventData: [ + {generation: 8, level: 50, moves: ["recover", "calmmind", "darkpulse", "belch"], pokeball: "cherishball"}, + ], + }, + venomicon: { + learnset: { + acidspray: ["9M"], + aircutter: ["9M", "9L15", "8L15"], + airslash: ["9M", "8M"], + assurance: ["8M"], + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bravebird: ["9M", "8M"], + clearsmog: ["9E", "8E"], + coil: ["9L50", "8L50"], + confuseray: ["9L10", "8L10"], + darkpulse: ["9M", "8M"], + drillpeck: ["9L35", "8L35"], + dualwingbeat: ["9M", "8T"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fly: ["9M", "8M"], + focusenergy: ["8M"], + foulplay: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + guardswap: ["8M"], + gunkshot: ["9M", "8M"], + hex: ["9M", "9L25", "8M", "8L25"], + hurricane: ["9M", "9L55", "8M", "8L55"], + hyperbeam: ["9M", "8M"], + imprison: ["9M", "8M"], + irondefense: ["9M", "8M"], + knockoff: ["9M", "9E", "8E"], + lashout: ["9M", "8T"], + magicalleaf: ["9M", "8M"], + magicroom: ["8M"], + meanlook: ["9E", "8E"], + memento: ["9E", "8E"], + nastyplot: ["9M", "8M"], + payback: ["8M"], + peck: ["9L1", "8L1"], + phantomforce: ["9M", "8M"], + poisonjab: ["9M", "9L40", "8M", "8L40"], + poisonsting: ["9L1", "8L1"], + powerswap: ["8M"], + protect: ["9M", "8M"], + psychic: ["9M", "8M"], + psyshock: ["9M", "8M"], + rest: ["9M", "8M"], + retaliate: ["8M"], + roost: ["9L45", "8L45"], + round: ["8M"], + safeguard: ["8M"], + scaryface: ["9M", "8M"], + shadowball: ["9M", "8M"], + skillswap: ["9M", "8M"], + sleeptalk: ["9M", "8M"], + sludgebomb: ["9M", "8M"], + sludgewave: ["8M"], + snore: ["8M"], + stealthrock: ["9M", "8M"], + steelwing: ["8M"], + substitute: ["9M", "8M"], + swift: ["9M", "8M"], + tailwind: ["9M"], + takedown: ["9M"], + terablast: ["9M"], + thunderwave: ["9M", "8M"], + toxic: ["9L30", "8L30"], + toxicspikes: ["9M", "8M"], + trick: ["9M", "8M"], + uturn: ["9M", "8M"], + venomdrench: ["8M"], + venoshock: ["9M", "9L20", "8M", "8L20"], + withdraw: ["9L5", "8L5"], + }, + }, + saharascal: { + learnset: { + ancientpower: ["9E", "8E"], + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "9L16", "8M", "8L16"], + doubleedge: ["9L36", "8L36"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "9L32", "8M", "8L32"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fissure: ["9L44", "8L44"], + heavyslam: ["9M", "8M"], + highhorsepower: ["9M", "9E", "8M"], + megakick: ["8M"], + mudshot: ["9M", "8M"], + painsplit: ["9E", "8E"], + payback: ["8M"], + payday: ["8M"], + protect: ["9M", "8M"], + rapidspin: ["9E", "8E"], + rest: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + sandattack: ["9L1", "8L1"], + sandstorm: ["9M", "9L20", "8M", "8L20"], + sandtomb: ["9M", "9L14", "8M", "8L4"], + scorchingsands: ["8T"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spitup: ["9L40", "8L40"], + stealthrock: ["9M", "8M"], + stockpile: ["9L40", "8L40"], + stomp: ["9L28", "8L28"], + stompingtantrum: ["9M", "8M"], + substitute: ["9M", "8M"], + swallow: ["9L40", "8L40"], + swordsdance: ["9M", "8M"], + tackle: ["9L1", "8L1"], + taunt: ["9M", "9L8", "8M", "8L8"], + terablast: ["9M"], + thief: ["9M", "9L24", "8M", "8L24"], + watergun: ["9L12", "8L12"], + waterpulse: ["9M", "9E", "8E"], + }, + }, + saharaja: { + learnset: { + attract: ["8M"], + bodypress: ["9M", "8M"], + bodyslam: ["9M", "8M"], + bulldoze: ["9M", "9L1", "8M", "8L1"], + dazzlinggleam: ["9M", "8M"], + diamondstorm: ["9L0", "8L0"], + doubleedge: ["9L1", "8L1"], + earthpower: ["9M", "8M"], + earthquake: ["9M", "9L1", "8M", "8L1"], + endure: ["9M", "8M"], + facade: ["9M", "8M"], + fissure: ["9L1", "8L1"], + flashcannon: ["9M", "8M"], + gigaimpact: ["9M", "8M"], + healbell: ["8L1"], + heavyslam: ["9M", "8M"], + highhorsepower: ["9M", "8M"], + hornleech: ["9L1", "8L1"], + hyperbeam: ["9M", "8M"], + lashout: ["8T"], + megakick: ["8M"], + mudshot: ["9M", "8M"], + outrage: ["9M", "8M"], + payback: ["8M"], + payday: ["9L1", "8M", "8L1"], + powergem: ["9M", "8M"], + protect: ["9M", "8M"], + rest: ["9M", "8M"], + rocktomb: ["9M", "8M"], + round: ["8M"], + sandattack: ["9L1", "8L1"], + sandstorm: ["9M", "9L1", "8M", "8L1"], + sandtomb: ["9M", "9L1", "8M", "8L1"], + scorchingsands: ["8T"], + sleeptalk: ["9M", "8M"], + snore: ["8M"], + spitup: ["9L1", "8L1"], + stealthrock: ["9M", "8M"], + stockpile: ["9L1", "8L1"], + stomp: ["9L1", "8L1"], + stompingtantrum: ["8M"], + stoneedge: ["9M", "8M"], + substitute: ["9M", "8M"], + swallow: ["9L1", "8L1"], + swordsdance: ["9M", "8M"], + tackle: ["9L1", "8L1"], + taunt: ["9M", "9L1", "8M", "8L1"], + terablast: ["9M"], + thief: ["9M", "9L1", "8M", "8L1"], + watergun: ["9L1", "8L1"], + waterpulse: ["9M"], + }, + }, + ababo: { + learnset: { + bodyslam: ["9M"], + bulkup: ["9M"], + charm: ["9M", "9L20"], + copycat: ["9L1"], + dazzlinggleam: ["9M"], + defensecurl: ["9L4"], + disable: ["9L16"], + disarmingvoice: ["9M", "9L12"], + drainingkiss: ["9M"], + endure: ["9M"], + explosion: ["9E"], + extremespeed: ["9E"], + facade: ["9M"], + flamethrower: ["9M"], + fling: ["9M"], + grassknot: ["9M"], + helpinghand: ["9M"], + hypervoice: ["9M"], + lashout: ["9M"], + lightscreen: ["9M"], + metronome: ["9M"], + mistyexplosion: ["9M"], + mistyterrain: ["9M"], + playrough: ["9M"], + pound: ["9L1"], + protect: ["9M"], + psychic: ["9M"], + raindance: ["9M"], + rest: ["9M"], + seismictoss: ["9E"], + shadowball: ["9M"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetkiss: ["9L8"], + takedown: ["9M"], + terablast: ["9M"], + trailblaze: ["9M"], + trick: ["9M"], + wildcharge: ["9M"], + wish: ["9E"], + }, + }, + scattervein: { + learnset: { + batonpass: ["9M"], + bodyslam: ["9M"], + brutalswing: ["9L12"], + bulkup: ["9M"], + charm: ["9M", "9L1"], + copycat: ["9L1"], + dazzlinggleam: ["9M"], + defensecurl: ["9L1"], + disable: ["9L1"], + disarmingvoice: ["9M", "9L1"], + doubleedge: ["9L44"], + drainingkiss: ["9M"], + echoedvoice: ["9L8"], + endure: ["9M"], + energyball: ["9M"], + explosion: ["9E"], + extremespeed: ["9E"], + facade: ["9M"], + fireblast: ["9M"], + flamethrower: ["9M"], + fling: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + imprison: ["9M"], + lashout: ["9M"], + lifedew: ["9L24"], + lightscreen: ["9M"], + magicalleaf: ["9M"], + metronome: ["9M"], + mistyexplosion: ["9M"], + mistyterrain: ["9M"], + moonblast: ["9L36"], + moonlight: ["9L28"], + playrough: ["9M"], + pound: ["9L1"], + protect: ["9M"], + psychic: ["9M"], + psyshock: ["9M"], + raindance: ["9M"], + rest: ["9M"], + safeguard: ["9L32"], + screech: ["9L40"], + seismictoss: ["9E"], + shadowball: ["9M"], + slam: ["9L20"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spikes: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetkiss: ["9L1"], + tailwhip: ["9L4"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + tickle: ["9L16"], + trailblaze: ["9M"], + trick: ["9M"], + wildcharge: ["9M"], + willowisp: ["9M"], + wish: ["9E"], + wrap: ["9L1"], + zenheadbutt: ["9M"], + }, + }, + hemogoblin: { + learnset: { + batonpass: ["9M"], + bitterblade: ["9L0"], + bodyslam: ["9M"], + brutalswing: ["9L1"], + bulkup: ["9M"], + burningjealousy: ["9M"], + charm: ["9M", "9L1"], + copycat: ["9L1"], + dazzlinggleam: ["9M"], + defensecurl: ["9L1"], + disable: ["9L1"], + disarmingvoice: ["9M", "9L1"], + doubleedge: ["9L1"], + drainingkiss: ["9M"], + echoedvoice: ["9L1"], + endure: ["9M"], + energyball: ["9M"], + facade: ["9M"], + fireblast: ["9M"], + firelash: ["9L1"], + flamethrower: ["9M"], + flareblitz: ["9M"], + fling: ["9M"], + gigaimpact: ["9M"], + grassknot: ["9M"], + heatwave: ["9M"], + helpinghand: ["9M"], + hyperbeam: ["9M"], + hypervoice: ["9M"], + imprison: ["9M"], + lashout: ["9M"], + lifedew: ["9L1"], + lightscreen: ["9M"], + magicalleaf: ["9M"], + metronome: ["9M"], + mistyexplosion: ["9M"], + mistyterrain: ["9M"], + moonblast: ["9L1"], + moonlight: ["9L1"], + overheat: ["9M"], + playrough: ["9M"], + pound: ["9L1"], + protect: ["9M"], + psychic: ["9M"], + psyshock: ["9M"], + raindance: ["9M"], + rest: ["9M"], + safeguard: ["9L1"], + screech: ["9L1"], + shadowball: ["9M"], + slam: ["9L1"], + sleeptalk: ["9M"], + solarbeam: ["9M"], + spikes: ["9M"], + substitute: ["9M"], + sunnyday: ["9M"], + sweetkiss: ["9L1"], + tailwhip: ["9L1"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunder: ["9M"], + thunderbolt: ["9M"], + tickle: ["9L1"], + trailblaze: ["9M"], + trick: ["9M"], + wildcharge: ["9M"], + willowisp: ["9M"], + wrap: ["9L1"], + zenheadbutt: ["9M"], + }, + }, + cresceidon: { + learnset: { + earthpower: ["9M"], + encore: ["9M"], + endure: ["9M"], + facade: ["9M"], + haze: ["9M"], + healingwish: ["9L1"], + helpinghand: ["9M"], + hydropump: ["9M"], + moonblast: ["9L1"], + protect: ["9M"], + recover: ["9L1"], + rest: ["9M"], + scald: ["9M"], + sleeptalk: ["9M"], + substitute: ["9M"], + surf: ["9M"], + takedown: ["9M"], + taunt: ["9M"], + terablast: ["9M"], + thunderwave: ["9M"], + whirlpool: ["9L1"], + wish: ["9L1"], + }, + }, + pokestarsmeargle: { + eventData: [ + {generation: 5, level: 60, gender: "M", abilities: ["owntempo"], moves: ["mindreader", "guillotine", "tailwhip", "gastroacid"]}, + {generation: 5, level: 30, gender: "M", abilities: ["owntempo"], moves: ["outrage", "magiccoat"]}, + {generation: 5, level: 99, gender: "M", abilities: ["owntempo"], moves: ["nastyplot", "sheercold", "attract", "shadowball"]}, + ], + }, + pokestarufo: { + eventData: [ + {generation: 5, level: 38, moves: ["bubblebeam", "counter", "recover", "signalbeam"]}, + ], + }, + pokestarufo2: { + eventData: [ + {generation: 5, level: 47, moves: ["darkpulse", "flamethrower", "hyperbeam", "icebeam"]}, + ], + }, + pokestarbrycenman: { + eventData: [ + {generation: 5, level: 56, moves: ["icebeam", "nightshade", "psychic", "uturn"]}, + ], + }, + pokestarmt: { + eventData: [ + {generation: 5, level: 63, moves: ["earthquake", "ironhead", "spark", "surf"]}, + ], + }, + pokestarmt2: { + eventData: [ + {generation: 5, level: 72, moves: ["dragonpulse", "flamethrower", "metalburst", "thunderbolt"]}, + ], + }, + pokestartransport: { + eventData: [ + {generation: 5, level: 20, moves: ["clearsmog", "flameburst", "discharge"]}, + {generation: 5, level: 50, moves: ["iciclecrash", "overheat", "signalbeam"]}, + ], + }, + pokestargiant: { + eventData: [ + {generation: 5, level: 99, moves: ["crushgrip", "focuspunch", "growl", "rage"]}, + ], + }, + pokestargiant2: { + eventData: [ + {generation: 5, level: 99, moves: ["crushgrip", "doubleslap", "teeterdance", "stomp"]}, + ], + }, + pokestarhumanoid: { + eventData: [ + {generation: 5, level: 20, gender: "M", moves: ["scratch", "shadowclaw", "acid"]}, + {generation: 5, level: 30, gender: "M", moves: ["darkpulse", "shadowclaw", "slash"]}, + {generation: 5, level: 20, gender: "F", moves: ["acid", "nightslash"]}, + {generation: 5, level: 20, gender: "M", moves: ["acid", "doubleedge"]}, + {generation: 5, level: 20, gender: "F", moves: ["acid", "rockslide"]}, + {generation: 5, level: 20, gender: "M", moves: ["acid", "thunderpunch"]}, + {generation: 5, level: 20, gender: "F", moves: ["acid", "icepunch"]}, + {generation: 5, level: 40, gender: "F", moves: ["explosion", "selfdestruct"]}, + {generation: 5, level: 40, gender: "F", moves: ["shadowclaw", "scratch"]}, + {generation: 5, level: 40, gender: "M", moves: ["nightslash", "scratch"]}, + {generation: 5, level: 40, gender: "M", moves: ["doubleedge", "scratch"]}, + {generation: 5, level: 40, gender: "F", moves: ["rockslide", "scratch"]}, + ], + }, + pokestarmonster: { + eventData: [ + {generation: 5, level: 50, moves: ["darkpulse", "confusion"]}, + ], + }, + pokestarf00: { + eventData: [ + {generation: 5, level: 10, moves: ["teeterdance", "growl", "flail", "chatter"]}, + {generation: 5, level: 58, moves: ["needlearm", "headsmash", "headbutt", "defensecurl"]}, + {generation: 5, level: 60, moves: ["hammerarm", "perishsong", "ironhead", "thrash"]}, + ], + }, + pokestarf002: { + eventData: [ + {generation: 5, level: 52, moves: ["flareblitz", "ironhead", "psychic", "wildcharge"]}, + ], + }, + pokestarspirit: { + eventData: [ + {generation: 5, level: 99, moves: ["crunch", "dualchop", "slackoff", "swordsdance"]}, + ], + }, + pokestarblackdoor: { + eventData: [ + {generation: 5, level: 53, moves: ["luckychant", "amnesia", "ingrain", "rest"]}, + {generation: 5, level: 70, moves: ["batonpass", "counter", "flamecharge", "toxic"]}, + ], + }, + pokestarwhitedoor: { + eventData: [ + {generation: 5, level: 7, moves: ["batonpass", "inferno", "mirrorcoat", "toxic"]}, + ], + }, + pokestarblackbelt: { + eventData: [ + {generation: 5, level: 30, moves: ["focuspunch", "machpunch", "taunt"]}, + {generation: 5, level: 40, moves: ["machpunch", "hammerarm", "jumpkick"]}, + ], + }, + pokestargiantpropo2: { + eventData: [ + {generation: 5, level: 99, moves: ["crushgrip", "doubleslap", "teeterdance", "stomp"]}, + ], + }, + pokestarufopropu2: { + eventData: [ + {generation: 5, level: 47, moves: ["darkpulse", "flamethrower", "hyperbeam", "icebeam"]}, + ], + }, +}; diff --git a/data/mods/gen9dlc1/moves.ts b/data/mods/gen9dlc1/moves.ts new file mode 100644 index 000000000000..d2047b1357fb --- /dev/null +++ b/data/mods/gen9dlc1/moves.ts @@ -0,0 +1,197 @@ +export const Moves: {[k: string]: ModdedMoveData} = { + aeroblast: { + inherit: true, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1}, + isNonstandard: "Past", + }, + alluringvoice: { + inherit: true, + isNonstandard: "Future", + }, + beakblast: { + inherit: true, + isNonstandard: "Past", + }, + bitterblade: { + inherit: true, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, + }, + blueflare: { + inherit: true, + isNonstandard: "Past", + }, + boltstrike: { + inherit: true, + isNonstandard: "Past", + }, + burningbulwark: { + inherit: true, + isNonstandard: "Future", + }, + conversion: { + inherit: true, + isNonstandard: "Past", + }, + conversion2: { + inherit: true, + isNonstandard: "Past", + }, + crushgrip: { + inherit: true, + isNonstandard: "Past", + }, + darkvoid: { + inherit: true, + noSketch: false, + }, + decorate: { + inherit: true, + isNonstandard: "Past", + }, + dragoncheer: { + inherit: true, + isNonstandard: "Future", + }, + dragonhammer: { + inherit: true, + isNonstandard: "Past", + }, + electroshot: { + inherit: true, + isNonstandard: "Future", + }, + ficklebeam: { + inherit: true, + isNonstandard: "Future", + }, + floralhealing: { + inherit: true, + isNonstandard: "Past", + }, + freezeshock: { + inherit: true, + isNonstandard: "Past", + }, + fusionbolt: { + inherit: true, + isNonstandard: "Past", + }, + fusionflare: { + inherit: true, + isNonstandard: "Past", + }, + glaciate: { + inherit: true, + isNonstandard: "Past", + }, + hardpress: { + inherit: true, + isNonstandard: "Future", + }, + hyperspacefury: { + inherit: true, + noSketch: false, + }, + iceburn: { + inherit: true, + isNonstandard: "Past", + }, + lusterpurge: { + inherit: true, + basePower: 70, + isNonstandard: "Past", + }, + malignantchain: { + inherit: true, + isNonstandard: "Future", + }, + matchagotcha: { + inherit: true, + flags: {protect: 1, mirror: 1, defrost: 1, metronome: 1}, + }, + mightycleave: { + inherit: true, + isNonstandard: "Future", + }, + mistball: { + inherit: true, + basePower: 70, + isNonstandard: "Past", + }, + moongeistbeam: { + inherit: true, + isNonstandard: "Past", + }, + photongeyser: { + inherit: true, + isNonstandard: "Past", + }, + prismaticlaser: { + inherit: true, + isNonstandard: "Past", + }, + psychicnoise: { + inherit: true, + isNonstandard: "Future", + }, + psychoboost: { + inherit: true, + isNonstandard: "Past", + }, + revivalblessing: { + inherit: true, + noSketch: false, + }, + rockwrecker: { + inherit: true, + isNonstandard: "Past", + }, + sacredfire: { + inherit: true, + isNonstandard: "Past", + }, + secretsword: { + inherit: true, + isNonstandard: "Past", + }, + sketch: { + inherit: true, + isNonstandard: "Past", + }, + sparklingaria: { + inherit: true, + isNonstandard: "Past", + }, + sunsteelstrike: { + inherit: true, + isNonstandard: "Past", + }, + supercellslam: { + inherit: true, + isNonstandard: "Future", + }, + tachyoncutter: { + inherit: true, + isNonstandard: "Future", + }, + terastarstorm: { + inherit: true, + isNonstandard: "Future", + }, + thunderclap: { + inherit: true, + isNonstandard: "Future", + }, + topsyturvy: { + inherit: true, + isNonstandard: "Past", + }, + triplekick: { + inherit: true, + isNonstandard: "Past", + }, + upperhand: { + inherit: true, + isNonstandard: "Future", + }, +}; diff --git a/data/mods/gen9dlc1/pokedex.ts b/data/mods/gen9dlc1/pokedex.ts new file mode 100644 index 000000000000..a4131ce212bd --- /dev/null +++ b/data/mods/gen9dlc1/pokedex.ts @@ -0,0 +1,8 @@ +export const Pokedex: {[k: string]: ModdedSpeciesData} = { + cresceidon: { + inherit: true, + baseStats: {hp: 80, atk: 32, def: 111, spa: 88, spd: 99, spe: 125}, + abilities: {0: "Multiscale", 1: "Rough Skin"}, + eggGroups: ["Undiscovered"], + }, +}; diff --git a/data/mods/gen9dlc1/typechart.ts b/data/mods/gen9dlc1/typechart.ts new file mode 100644 index 000000000000..8035817ee651 --- /dev/null +++ b/data/mods/gen9dlc1/typechart.ts @@ -0,0 +1,6 @@ +export const TypeChart: {[k: string]: ModdedTypeData | null} = { + stellar: { + inherit: true, + isNonstandard: 'Future', + }, +}; diff --git a/data/mods/gen9predlc/abilities.ts b/data/mods/gen9predlc/abilities.ts index 5fcff8e888e5..f2892d7d06ac 100644 --- a/data/mods/gen9predlc/abilities.ts +++ b/data/mods/gen9predlc/abilities.ts @@ -1,17 +1,21 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { commander: { inherit: true, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1}, + }, + gulpmissile: { + inherit: true, + flags: {cantsuppress: 1, notransform: 1}, }, hadronengine: { inherit: true, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1}, }, illuminate: { inherit: true, onTryBoost() {}, onModifyMove() {}, - isBreakable: undefined, + flags: {}, rating: 0, }, mindseye: { @@ -20,7 +24,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, orichalcumpulse: { inherit: true, - isPermanent: true, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1, notransform: 1}, }, supersweetsyrup: { inherit: true, diff --git a/data/mods/gen9predlc/scripts.ts b/data/mods/gen9predlc/scripts.ts index ba7a48b1e54a..912445888bbf 100644 --- a/data/mods/gen9predlc/scripts.ts +++ b/data/mods/gen9predlc/scripts.ts @@ -1,4 +1,4 @@ export const Scripts: ModdedBattleScriptsData = { gen: 9, - inherit: 'gen9', + inherit: 'gen9dlc1', }; diff --git a/data/mods/gen9ssb/abilities.ts b/data/mods/gen9ssb/abilities.ts new file mode 100644 index 000000000000..73ff91f033b0 --- /dev/null +++ b/data/mods/gen9ssb/abilities.ts @@ -0,0 +1,2884 @@ +import {ssbSets} from "./random-teams"; +import {changeSet, getName, enemyStaff} from "./scripts"; + +const STRONG_WEATHERS = ['desolateland', 'primordialsea', 'deltastream', 'deserteddunes', 'millenniumcastle']; + +export const Abilities: {[k: string]: ModdedAbilityData} = { + /* + // Example + abilityid: { + shortDesc: "", // short description, shows up in /dt + desc: "", // long description + name: "Ability Name", + // The bulk of an ability is not easily shown in an example since it varies + // For more examples, see https://github.com/smogon/pokemon-showdown/blob/master/data/abilities.ts + }, + */ + // Please keep abilites organized alphabetically based on staff member name! + // Aelita + fortifiedmetal: { + shortDesc: "This Pokemon's weight is doubled and Attack is 1.5x when statused.", + name: "Fortified Metal", + onModifyWeightPriority: 1, + onModifyWeight(weighthg) { + return weighthg * 2; + }, + onModifyAtkPriority: 5, + onModifyAtk(atk, pokemon) { + if (pokemon.status) { + return this.chainModify(1.5); + } + }, + flags: {breakable: 1}, + gen: 9, + }, + + // Aethernum + theeminenceintheshadow: { + shortDesc: "Unaware + Supreme Overlord with half the boost.", + name: "The Eminence in the Shadow", + onAnyModifyBoost(boosts, pokemon) { + const unawareUser = this.effectState.target; + if (unawareUser === pokemon) return; + if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { + boosts['def'] = 0; + boosts['spd'] = 0; + boosts['evasion'] = 0; + } + if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { + boosts['atk'] = 0; + boosts['def'] = 0; + boosts['spa'] = 0; + boosts['accuracy'] = 0; + } + }, + onStart(pokemon) { + if (pokemon.side.totalFainted) { + this.add('-activate', pokemon, 'ability: The Eminence in the Shadow'); + const fallen = Math.min(pokemon.side.totalFainted, 5); + this.add('-start', pokemon, `fallen${fallen}`, '[silent]'); + this.effectState.fallen = fallen; + } + }, + onEnd(pokemon) { + this.add('-end', pokemon, `fallen${this.effectState.fallen}`, '[silent]'); + }, + onBasePowerPriority: 21, + onBasePower(basePower, attacker, defender, move) { + if (this.effectState.fallen) { + const powMod = [20, 21, 22, 23, 24, 25]; + this.debug(`Supreme Overlord boost: ${powMod[this.effectState.fallen]}/25`); + return this.chainModify([powMod[this.effectState.fallen], 20]); + } + }, + flags: {breakable: 1}, + }, + + // Akir + takeitslow: { + shortDesc: "Regenerator + Psychic Surge.", + name: "Take it Slow", + onSwitchOut(pokemon) { + pokemon.heal(pokemon.baseMaxhp / 3); + }, + onStart(source) { + this.field.setTerrain('psychicterrain'); + }, + flags: {}, + gen: 9, + }, + + // Alex + pawprints: { + shortDesc: "Oblivious + status moves ignore abilities.", + name: "Pawprints", + onUpdate(pokemon) { + if (pokemon.volatiles['attract']) { + this.add('-activate', pokemon, 'ability: Paw Prints'); + pokemon.removeVolatile('attract'); + this.add('-end', pokemon, 'move: Attract', '[from] ability: Paw Prints'); + } + if (pokemon.volatiles['taunt']) { + this.add('-activate', pokemon, 'ability: Paw Prints'); + pokemon.removeVolatile('taunt'); + // Taunt's volatile already sends the -end message when removed + } + }, + onImmunity(type, pokemon) { + if (type === 'attract') return false; + }, + onTryHit(pokemon, target, move) { + if (move.id === 'attract' || move.id === 'captivate' || move.id === 'taunt') { + this.add('-immune', pokemon, '[from] ability: Paw Prints'); + return null; + } + }, + onTryBoost(boost, target, source, effect) { + if (effect.name === 'Intimidate' && boost.atk) { + delete boost.atk; + this.add('-fail', target, 'unboost', 'Attack', '[from] ability: Paw Prints', '[of] ' + target); + } + }, + onModifyMove(move) { + if (move.category === 'Status') { + move.ignoreAbility = true; + } + }, + flags: {breakable: 1}, + }, + + // Alexander489 + confirmedtown: { + shortDesc: "Technician + Protean.", + name: "Confirmed Town", + onBasePowerPriority: 30, + onBasePower(basePower, attacker, defender, move) { + const basePowerAfterMultiplier = this.modify(basePower, this.event.modifier); + this.debug('Base Power: ' + basePowerAfterMultiplier); + if (basePowerAfterMultiplier <= 60) { + this.debug('Confirmed Town boost'); + return this.chainModify(1.5); + } + }, + onPrepareHit(source, target, move) { + if (move.hasBounced || move.flags['futuremove'] || move.sourceEffect === 'snatch') return; + const type = move.type; + if (type && type !== '???' && source.getTypes().join() !== type) { + if (!source.setType(type)) return; + this.add('-start', source, 'typechange', type, '[from] ability: Confirmed Town'); + } + }, + flags: {}, + }, + + // Appletun a la Mode + servedcold: { + shortDesc: "This Pokemon's Defense is raised 2 stages if hit by an Ice move; Ice immunity.", + name: "Served Cold", + onTryHit(target, source, move) { + if (target !== source && move.type === 'Ice') { + if (!this.boost({def: 2})) { + this.add('-immune', target, '[from] ability: Served Cold'); + } + return null; + } + }, + flags: {breakable: 1}, + }, + + // aQrator + neverendingfhunt: { + shortDesc: "This Pokemon's Status moves have priority raised by 1. Dark types are not immune.", + name: "Neverending fHunt", + onModifyPriority(priority, pokemon, target, move) { + if (move?.category === 'Status') { + return priority + 1; + } + }, + flags: {}, + }, + + // A Quag To The Past + quagofruin: { + shortDesc: "Active Pokemon without this Ability have 0.85x Defense. Ignores abilities.", + desc: "Active Pokemon without this Ability have their Defense multiplied by 0.85x. This Pokemon's moves and their effects ignore certain Abilities of other Pokemon.", + name: "Quag of Ruin", + onStart(pokemon) { + if (this.suppressingAbility(pokemon)) return; + this.add('-ability', pokemon, 'Quag of Ruin'); + }, + onAnyModifyDef(def, target, source, move) { + if (!move) return; + const abilityHolder = this.effectState.target; + if (target.hasAbility('Quag of Ruin')) return; + if (!move.ruinedDef?.hasAbility('Quag of Ruin')) move.ruinedDef = abilityHolder; + if (move.ruinedDef !== abilityHolder) return; + this.debug('Quag of Ruin Def drop'); + return this.chainModify(0.85); + }, + onModifyMove(move) { + move.ignoreAbility = true; + }, + flags: {}, + gen: 9, + }, + clodofruin: { + shortDesc: "Active Pokemon without this Ability have 0.85x Attack. Ignores stat changes.", + desc: "Active Pokemon without this Ability have their Attack multiplied by 0.85x. This Pokemon ignores other Pokemon's stat stages when taking or doing damage.", + name: "Clod of Ruin", + onStart(pokemon) { + if (this.suppressingAbility(pokemon)) return; + this.add('-ability', pokemon, 'Clod of Ruin'); + }, + onAnyModifyAtk(atk, target, source, move) { + if (!move) return; + const abilityHolder = this.effectState.target; + if (target.hasAbility('Clod of Ruin')) return; + if (!move.ruinedAtk?.hasAbility('Clod of Ruin')) move.ruinedAtk = abilityHolder; + if (move.ruinedAtk !== abilityHolder) return; + this.debug('Clod of Ruin Atk drop'); + return this.chainModify(0.85); + }, + onAnyModifyBoost(boosts, pokemon) { + const unawareUser = this.effectState.target; + if (unawareUser === pokemon) return; + if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { + boosts['def'] = 0; + boosts['spd'] = 0; + boosts['evasion'] = 0; + } + if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { + boosts['atk'] = 0; + boosts['def'] = 0; + boosts['spa'] = 0; + boosts['accuracy'] = 0; + } + }, + flags: {breakable: 1}, + gen: 9, + }, + + // Archas + saintlybullet: { + shortDesc: "Snipe Shot always has STAB and heals the user by 1/8 (or 1/6 on a crit) of its max HP.", + name: "Saintly Bullet", + onModifyMove(move) { + if (move.id === 'snipeshot') { + move.forceSTAB = true; + } + }, + onAfterMoveSecondarySelf(source, target, move) { + if (move.id === 'snipeshot') { + const ratio = source.getMoveHitData(move).crit ? 6 : 8; + this.heal(source.maxhp / ratio, source); + } + }, + flags: {}, + gen: 9, + }, + + // Arcueid + marblephantasm: { + shortDesc: "Deoxys-Defense is immune to status moves/effects. Deoxys-Attack gains Fairy type.", + desc: "If this Pokemon is a Deoxys-Defense, it is immune to status moves and cannot be afflicted with any non-volatile status condition. If this Pokemon is a Deoxys-Attack, it gains an additional Fairy typing for as long as this Ability remains active.", + name: "Marble Phantasm", + onStart(source) { + if (source.species.name === "Deoxys-Attack" && source.setType(['Psychic', 'Fairy'])) { + this.add('-start', source, 'typechange', source.getTypes(true).join('/'), '[from] ability: Marble Phantasm'); + } else if (source.species.name === "Deoxys-Defense" && source.setType('Psychic')) { + this.add('-start', source, 'typechange', 'Psychic', '[from] ability: Marble Phantasm'); + } + }, + onTryHit(target, source, move) { + if (move.category === 'Status' && target !== source && target.species.name === "Deoxys-Defense") { + this.add('-immune', target, '[from] ability: Marble Phantasm'); + return null; + } + }, + onSetStatus(status, target, source, effect) { + if (target.species.name === "Deoxys-Defense") { + this.add('-immune', target, '[from] ability: Marble Phantasm'); + return false; + } + }, + flags: {}, + gen: 9, + }, + + // Arsenal + absorbphys: { + shortDesc: "This Pokemon heals 1/4 of its max HP when hit by Normal moves; Normal immunity.", + name: "Absorb Phys", + onTryHit(target, source, move) { + if (target !== source && move.type === 'Normal') { + if (!this.heal(target.baseMaxhp / 4)) { + this.add('-immune', target, '[from] ability: Absorb Phys'); + } + return null; + } + }, + flags: {breakable: 1}, + gen: 9, + }, + + // Artemis + supervisedlearning: { + shortDesc: "Unaware + Clear Body.", + name: "Supervised Learning", + onAnyModifyBoost(boosts, pokemon) { + const unawareUser = this.effectState.target; + if (unawareUser === pokemon) return; + if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { + boosts['def'] = 0; + boosts['spd'] = 0; + boosts['evasion'] = 0; + } + if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { + boosts['atk'] = 0; + boosts['def'] = 0; + boosts['spa'] = 0; + boosts['accuracy'] = 0; + } + }, + onTryBoost(boost, target, source, effect) { + if (source && target === source) return; + let showMsg = false; + let i: BoostID; + for (i in boost) { + if (boost[i]! < 0) { + delete boost[i]; + showMsg = true; + } + } + if (showMsg && !(effect as ActiveMove).secondaries && effect.id !== 'octolock') { + this.add("-fail", target, "unboost", "[from] ability: Supervised Learning", "[of] " + target); + } + }, + flags: {}, + gen: 9, + }, + + // ausma + cascade: { + shortDesc: "At 25% HP, transforms into a Mismagius. Sigil's Storm becomes Ghost type and doesn't charge.", + name: "Cascade", + onUpdate(pokemon) { + if (pokemon.baseSpecies.baseSpecies !== 'Hatterene' || pokemon.transformed || !pokemon.hp) return; + if (pokemon.species.id === 'mismagius' || pokemon.hp > pokemon.maxhp / 4) return; + this.add(`c:|${getName('ausma')}|that's it, yall mfs are about to face the wrath of Big Stall™`); + this.add(`c:|${getName('ausma')}|or i guess moreso Big Pult. pick your poison`); + this.add('-activate', pokemon, 'ability: Cascade'); + changeSet(this, pokemon, ssbSets['ausma-Mismagius'], true); + pokemon.cureStatus(); + this.heal(pokemon.maxhp / 3); + if (this.field.pseudoWeather['trickroom']) { + this.field.removePseudoWeather('trickroom'); + this.boost({spe: 2}, pokemon, pokemon, this.effect); + } + }, + flags: {}, + }, + + // blazeofvictory + prismaticlens: { + shortDesc: "Pixilate + Tinted Lens.", + name: "Prismatic Lens", + onModifyTypePriority: -1, + onModifyType(move, pokemon) { + const noModifyType = [ + 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'technoblast', 'terrainpulse', 'weatherball', + ]; + if (move.type === 'Normal' && !noModifyType.includes(move.id) && + !(move.isZ && move.category !== 'Status') && !(move.name === 'Tera Blast' && pokemon.terastallized)) { + move.type = 'Fairy'; + move.typeChangerBoosted = this.effect; + } + }, + onBasePowerPriority: 23, + onBasePower(basePower, pokemon, target, move) { + if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); + }, + onModifyDamage(damage, source, target, move) { + if (target.getMoveHitData(move).typeMod < 0) { + this.debug('Tinted Lens boost'); + return this.chainModify(2); + } + }, + flags: {}, + }, + + // Blitz + blitzofruin: { + shortDesc: "Active Pokemon without this Ability have 0.75x Speed.", + desc: "Active Pokemon without this Ability have their Speed multiplied by 0.75x.", + name: "Blitz of Ruin", + onStart(pokemon) { + this.add('-ability', pokemon, 'Blitz of Ruin'); + this.add('-message', `${pokemon.name}'s Blitz of Ruin lowered the Speed of all surrounding Pokémon!`); + }, + onAnyModifySpe(spe, pokemon) { + if (!pokemon.hasAbility('Blitz of Ruin')) { + return this.chainModify(0.75); + } + }, + flags: {breakable: 1}, + }, + + // Breadstycks + painfulexit: { + shortDesc: "When this Pokemon switches out, foes lose 25% HP.", + name: "Painful Exit", + onBeforeSwitchOutPriority: -1, + onBeforeSwitchOut(pokemon) { + if (enemyStaff(pokemon) === "Mad Monty") { + this.add(`c:|${getName('Breadstycks')}|Welp`); + } else { + this.add(`c:|${getName('Breadstycks')}|Just kidding!! Take this KNUCKLE SANDWICH`); + } + for (const foe of pokemon.foes()) { + if (!foe || foe.fainted || !foe.hp) continue; + this.add(`-anim`, pokemon, "Tackle", foe); + this.damage(foe.hp / 4, foe, pokemon); + } + }, + flags: {}, + }, + + // Chloe + acetosa: { + shortDesc: "This Pokemon's moves are changed to be Grass type and have 1.2x power.", + name: "Acetosa", + onModifyTypePriority: 1, + onModifyType(move, pokemon) { + const noModifyType = [ + 'hiddenpower', 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'struggle', 'technoblast', 'terrainpulse', 'weatherball', + ]; + if (!(move.isZ && move.category !== 'Status') && !noModifyType.includes(move.id) && + !(move.name === 'Tera Blast' && pokemon.terastallized)) { + move.type = 'Grass'; + move.typeChangerBoosted = this.effect; + } + }, + onBasePowerPriority: 23, + onBasePower(basePower, pokemon, target, move) { + if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); + }, + flags: {}, + }, + + // Clefable + thatshacked: { + shortDesc: "Tries to inflict the foe with Torment at the end of each turn.", + name: "That's Hacked", + onResidual(target, source, effect) { + if (!target.foes()?.length) return; + const abilMessages = [ + "All hacks and hacking methods are banned!", + "Can't be having that.", + "Naaah, miss me with that shit.", + "Bit bullshit that, mate.", + "Wait, thats illegal!", + "Nope.", + "I can't believe you've done this.", + "No thank you.", + "Seems a bit suss.", + "Thats probably hacked, shouldnt use it here.", + "Hacks will get you banned.", + "You silly sausage", + "Can you not?", + "Yeah, thats a no from me.", + "Lets not", + "No fun allowed", + ]; + this.add(`c:|${getName((target.illusion || target).name)}|${this.sample(abilMessages)}`); + for (const foe of target.foes()) { + if (foe && !foe.volatiles['torment']) { + foe.addVolatile('torment'); + } + } + }, + flags: {}, + }, + + // Clementine + meltingpoint: { + shortDesc: "+2 Speed. Fire moves change user to Water type. Fire immunity.", + name: "Melting Point", + onTryHit(target, source, move) { + if (target !== source && move.type === 'Fire') { + if (target.setType('Water')) { + this.add('-start', target, 'typechange', 'Water', '[from] ability: Melting Point'); + this.boost({spe: 2}, target, source, this.dex.abilities.get('meltingpoint')); + } else { + this.add('-immune', target, '[from] ability: Melting Point'); + } + return null; + } + }, + }, + + // clerica + masquerade: { + shortDesc: "(Mimikyu only) The first hit is blocked: instead, takes 1/8 damage and gets +1 Atk/Spe.", + desc: "If this Pokemon is a Mimikyu, the first hit it takes in battle deals 0 neutral damage. Its disguise is then broken, it changes to Busted Form, its Attack and Speed are boosted by 1 stage, and it loses 1/8 of its max HP. Confusion damage also breaks the disguise.", + name: "Masquerade", + onDamagePriority: 1, + onDamage(damage, target, source, effect) { + if ( + effect && effect.effectType === 'Move' && + ['mimikyu', 'mimikyutotem'].includes(target.species.id) && !target.transformed + ) { + this.add('-activate', target, 'ability: Masquerade'); + this.effectState.busted = true; + return 0; + } + }, + onCriticalHit(target, source, move) { + if (!target) return; + if (!['mimikyu', 'mimikyutotem'].includes(target.species.id) || target.transformed) { + return; + } + const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); + if (hitSub) return; + + if (!target.runImmunity(move.type)) return; + return false; + }, + onEffectiveness(typeMod, target, type, move) { + if (!target || move.category === 'Status') return; + if (!['mimikyu', 'mimikyutotem'].includes(target.species.id) || target.transformed) { + return; + } + + const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); + if (hitSub) return; + + if (!target.runImmunity(move.type)) return; + return 0; + }, + onUpdate(pokemon) { + if (['mimikyu', 'mimikyutotem'].includes(pokemon.species.id) && this.effectState.busted) { + const speciesid = pokemon.species.id === 'mimikyutotem' ? 'Mimikyu-Busted-Totem' : 'Mimikyu-Busted'; + pokemon.formeChange(speciesid, this.effect, true); + this.damage(pokemon.baseMaxhp / 8, pokemon, pokemon, this.dex.species.get(speciesid)); + this.boost({atk: 1, spe: 1}); + this.add(`c:|${getName('clerica')}|oop`); + } + }, + flags: {breakable: 1, failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, + }, + + // Clouds + jetstream: { + shortDesc: "Delta Stream + Stealth Rock immunity.", + name: "Jet Stream", + onStart(source) { + this.field.setWeather('deltastream'); + this.add('message', `Strong air currents keep Flying-types ahead of the chase!`); + }, + onAnySetWeather(target, source, weather) { + if (this.field.isWeather('deltastream') && !STRONG_WEATHERS.includes(weather.id)) return false; + }, + onEnd(pokemon) { + if (this.field.weatherState.source !== pokemon) return; + for (const target of this.getAllActive()) { + if (target === pokemon) continue; + if (target.hasAbility(['deltastream', 'jetstream'])) { + this.field.weatherState.source = target; + return; + } + } + this.field.clearWeather(); + }, + onDamage(damage, target, source, effect) { + if (effect && effect.name === 'Stealth Rock') { + return false; + } + }, + flags: {breakable: 1}, + }, + + // Coolcodename + firewall: { + shortDesc: "Burns foes that attempt to use status moves on this Pokemon; Status move immunity.", + name: "Firewall", + onTryHit(target, source, move) { + if (move.category === 'Status' && target !== source) { + if (!source.trySetStatus('brn', target)) { + this.add('-immune', target, '[from] ability: Firewall'); + } + return null; + } + }, + flags: {breakable: 1}, + }, + + // Corthius + grassyemperor: { + shortDesc: "On switch-in, summons Grassy Terrain. During Grassy Terrain, Attack is 1.33x.", + name: "Grassy Emperor", + onStart(pokemon) { + if (this.field.setTerrain('grassyterrain')) { + this.add('-activate', pokemon, 'Grassy Emperor', '[source]'); + } else if (this.field.isTerrain('grassyterrain')) { + this.add('-activate', pokemon, 'ability: Grassy Emperor'); + } + }, + onModifyAtkPriority: 5, + onModifyAtk(atk, pokemon) { + if (this.field.isTerrain('grassyterrain')) { + this.debug('Grassy Emperor boost'); + return this.chainModify([5461, 4096]); + } + }, + flags: {}, + }, + + // Dawn of Artemis + formchange: { + shortDesc: ">50% HP Necrozma, else Necrozma-Ultra. SpA boosts become Atk boosts and vice versa.", + desc: "If this Pokemon is a Necrozma, it changes to Necrozma-Ultra and switches its Attack and Special Attack stat stage changes if it has 1/2 or less of its maximum HP at the end of a turn. If Necrozma-Ultra's HP is above 1/2 of its maximum HP at the end of a turn, it changes back to Necrozma and switches its Attack and Special Attack stat stage changes.", + name: "Form Change", + onResidual(pokemon) { + if (pokemon.baseSpecies.baseSpecies !== 'Necrozma' || pokemon.transformed || !pokemon.hp) return; + let newSet = 'Dawn of Artemis'; + if (pokemon.hp > pokemon.maxhp / 2) { + if (pokemon.species.id === 'necrozma') return; + this.add(`c:|${getName('Dawn of Artemis')}|Good, I'm healthy again, time to swap back.`); + } else { + if (pokemon.species.id === 'necrozmaultra') return; + this.add(`c:|${getName('Dawn of Artemis')}|Time for me to transform and you to witness the power of Ares now!`); + newSet += '-Ultra'; + } + this.add('-activate', pokemon, 'ability: Form Change'); + changeSet(this, pokemon, ssbSets[newSet]); + [pokemon.boosts['atk'], pokemon.boosts['spa']] = [pokemon.boosts['spa'], pokemon.boosts['atk']]; + this.add('-setboost', pokemon, 'spa', pokemon.boosts['spa'], '[silent]'); + this.add('-setboost', pokemon, 'atk', pokemon.boosts['atk'], '[silent]'); + this.add('-message', `${pokemon.name} swapped its Attack and Special Attack boosts!`); + }, + flags: {}, + }, + + // DaWoblefet + shadowartifice: { + shortDesc: "Traps adjacent foes. If KOed with a move, that move's user loses an equal amount of HP.", + name: "Shadow Artifice", + onFoeTrapPokemon(pokemon) { + if (!pokemon.hasAbility(['shadowtag', 'shadowartifice']) && pokemon.isAdjacent(this.effectState.target)) { + pokemon.tryTrap(true); + } + }, + onFoeMaybeTrapPokemon(pokemon, source) { + if (!source) source = this.effectState.target; + if (!source || !pokemon.isAdjacent(source)) return; + if (!pokemon.hasAbility(['shadowtag', 'shadowartifice'])) { + pokemon.maybeTrapped = true; + } + }, + onDamagingHitOrder: 1, + onDamagingHit(damage, target, source, move) { + if (!target.hp) { + this.damage(target.getUndynamaxedHP(damage), source, target); + } + }, + flags: {}, + }, + + // dhelmise + coalescence: { + shortDesc: "Moves drain 37%. Allies heal 5% HP. <25% HP, moves drain 114%, allies get 10%.", + desc: "All moves heal 37% of damage dealt. Unfainted allies heal 5% HP at the end of each turn. If this Pokemon's HP is less than 25%, moves heal 114% of damage dealt, and allies restore 10% of their health.", + name: "Coalescence", + onModifyMove(move, source, target) { + if (move.category !== "Status") { + // move.flags['heal'] = 1; // For Heal Block + if (source.hp > source.maxhp / 4) { + move.drain = [37, 100]; + } else { + move.drain = [114, 100]; + } + } + }, + onResidualOrder: 5, + onResidualSubOrder: 4, + onResidual(pokemon) { + for (const ally of pokemon.side.pokemon) { + if (!ally.hp || ally === pokemon) continue; + if (ally.heal(this.modify(ally.baseMaxhp, pokemon.hp > pokemon.maxhp / 4 ? 0.05 : 0.1))) { + this.add('-heal', ally, ally.getHealth, '[from] ability: Coalescence', '[of] ' + pokemon); + } + } + }, + flags: {}, + }, + + // Elly + stormsurge: { + shortDesc: "On switch-in, summons rain that causes wind moves to have perfect accuracy and 1.2x Base Power.", + desc: "Summons the Storm Surge weather on switch-in. While Storm Surge is active, wind moves used by any Pokemon are perfectly accurate and become 20% stronger. Water moves are 50% stronger, Fire moves are 50% weaker.", + name: "Storm Surge", + onStart(source) { + this.field.setWeather('stormsurge'); + }, + }, + + // Emboar02 + hogwash: { + shortDesc: "Reckless; on STAB moves, also add Rock Head. On non-STAB moves, recoil is recovery.", + desc: "This Pokemon's attacks that would normally have recoil or crash damage have their power multiplied by 1.2. Does not affect Struggle. STAB recoil attacks used by this Pokemon do not deal recoil damage to the user. Non-STAB recoil attacks used by this Pokemon will heal the user instead of dealing recoil damage.", + name: "Hogwash", + onBasePowerPriority: 23, + onBasePower(basePower, attacker, defender, move) { + if (move.recoil || move.hasCrashDamage) { + this.debug('Hogwash boost'); + return this.chainModify([4915, 4096]); + } + }, + onDamage(damage, target, source, effect) { + if (effect.id === 'recoil') { + if (!this.activeMove) throw new Error("Battle.activeMove is null"); + if (this.activeMove.id !== 'struggle') { + if (!source.hasType(this.activeMove.type)) this.heal(damage); + return null; + } + } + }, + }, + + // Frostyicelad + almostfrosty: { + shortDesc: "This Pokemon's damaging moves hit twice. The second hit has its damage halved.", + name: "Almost Frosty", + onPrepareHit(source, target, move) { + if (move.category === 'Status' || move.multihit || move.flags['noparentalbond'] || move.flags['charge'] || + move.flags['futuremove'] || move.spreadHit || move.isZ || move.isMax) return; + move.multihit = 2; + move.multihitType = 'parentalbond'; + }, + // Damage modifier implemented in BattleActions#modifyDamage() + onSourceModifySecondaries(secondaries, target, source, move) { + if (move.multihitType === 'parentalbond' && move.id === 'secretpower' && move.hit < 2) { + // hack to prevent accidentally suppressing King's Rock/Razor Fang + return secondaries.filter(effect => effect.volatileStatus === 'flinch'); + } + }, + }, + + // Frozoid + snowballer: { + shortDesc: "This Pokemon's Attack is raised 1 stage if hit by an Ice move; Ice immunity.", + name: "Snowballer", + onTryHitPriority: 1, + onTryHit(target, source, move) { + if (target !== source && move.type === 'Ice') { + if (!this.boost({atk: 1})) { + this.add('-immune', target, '[from] ability: Snowballer'); + } + return null; + } + }, + flags: {breakable: 1}, + }, + + // Fame + socialjumpluffwarrior: { + shortDesc: "Serene Grace + Mold Breaker.", + name: "Social Jumpluff Warrior", + onStart(pokemon) { + this.add('-ability', pokemon, 'Social Jumpluff Warrior'); + }, + onModifyMovePriority: -2, + onModifyMove(move) { + move.ignoreAbility = true; + if (move.secondaries) { + this.debug('doubling secondary chance'); + for (const secondary of move.secondaries) { + if (secondary.chance) secondary.chance *= 2; + } + } + if (move.self?.chance) move.self.chance *= 2; + }, + flags: {}, + }, + + // Ganjafin + gamblingaddiction: { + shortDesc: "When under 1/4 max HP: +1 Spe, heal to full HP, and all moves become Final Gambit.", + name: "Gambling Addiction", + onResidualOrder: 29, + onResidual(pokemon) { + if (!this.effectState.gamblingAddiction && pokemon.hp && pokemon.hp < pokemon.maxhp / 4) { + this.boost({spe: 1}); + this.heal(pokemon.maxhp); + const move = this.dex.moves.get('finalgambit'); + const finalGambit = { + move: move.name, + id: move.id, + pp: (move.noPPBoosts || move.isZ) ? move.pp : move.pp * 8 / 5, + maxpp: (move.noPPBoosts || move.isZ) ? move.pp : move.pp * 8 / 5, + target: move.target, + disabled: false, + used: false, + }; + pokemon.moveSlots.fill(finalGambit); + pokemon.baseMoveSlots.fill(finalGambit); + this.effectState.gamblingAddiction = true; + } + }, + flags: {}, + }, + + // Goro Yagami + illusionmaster: { + shortDesc: "This Pokemon has an illusion until it falls below 33% health.", + name: "Illusion Master", + onBeforeSwitchIn(pokemon) { + pokemon.illusion = null; + // yes, you can Illusion an active pokemon but only if it's to your right + for (let i = pokemon.side.pokemon.length - 1; i > pokemon.position; i--) { + const possibleTarget = pokemon.side.pokemon[i]; + if (!possibleTarget.fainted) { + // If Ogerpon is in the last slot while the Illusion Pokemon is Terastallized + // Illusion will not disguise as anything + if (!pokemon.terastallized || possibleTarget.species.baseSpecies !== 'Ogerpon') { + pokemon.illusion = possibleTarget; + } + break; + } + } + }, + onDamagingHit(damage, target, source, move) { + if (target.illusion && target.hp < (target.maxhp / 3)) { + this.singleEvent('End', this.dex.abilities.get('Illusion'), target.abilityState, target, source, move); + } + }, + onEnd(pokemon) { + if (pokemon.illusion) { + this.debug('illusion master cleared'); + let disguisedAs = this.toID(pokemon.illusion.name); + pokemon.illusion = null; + const details = pokemon.species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); + this.add('replace', pokemon, details); + this.add('-end', pokemon, 'Illusion'); + if (this.ruleTable.has('illusionlevelmod')) { + this.hint("Illusion Level Mod is active, so this Pok\u00e9mon's true level was hidden.", true); + } + // Handle various POKEMON. + if (this.dex.species.get(disguisedAs).exists || this.dex.moves.get(disguisedAs).exists || + this.dex.abilities.get(disguisedAs).exists || disguisedAs === 'blitz') { + disguisedAs += 'user'; + } + if (pokemon.volatiles[disguisedAs]) { + pokemon.removeVolatile(disguisedAs); + } + if (!pokemon.volatiles[this.toID(pokemon.set.name)]) { + const status = this.dex.conditions.get(this.toID(pokemon.set.name)); + if (status?.exists) { + pokemon.addVolatile(this.toID(pokemon.set.name), pokemon); + } + } + } + }, + onFaint(pokemon) { + pokemon.illusion = null; + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1}, + }, + + // havi + mensiscage: { + shortDesc: "Immune to status and is considered to be asleep. 30% chance to Disable when hit.", + name: "Mensis Cage", + onDamagingHit(damage, target, source, move) { + if (source.volatiles['disable']) return; + if (!move.isMax && !move.flags['futuremove'] && move.id !== 'struggle') { + if (this.randomChance(3, 10)) { + source.addVolatile('disable', this.effectState.target); + } + } + }, + onStart(pokemon) { + this.add('-ability', pokemon, 'Mensis Cage'); + }, + onSetStatus(status, target, source, effect) { + if ((effect as Move)?.status) { + this.add('-immune', target, '[from] ability: Mensis Cage'); + } + return false; + }, + // Permanent sleep "status" implemented in the relevant sleep-checking effects + flags: {}, + }, + + // Hecate + hacking: { + name: "Hacking", + shortDesc: "Hacks into PS and finds out if the enemy has any super effective moves.", + onStart(pokemon) { + const name = (pokemon.illusion || pokemon).name; + this.add(`c:|${getName(name)}|One moment, please. One does not simply go into battle blind.`); + const side = pokemon.side.id === 'p1' ? 'p2' : 'p1'; + this.add( + `message`, + ( + `ssh sim@pokemonshowdown.com && nc -U logs/repl/sim <<< ` + + `"Users.get('${this.toID(name)}').popup(battle.sides.get('${side}').pokemon.map(m => Teams.exportSet(m)))"` + ) + ); + let warnMoves: (Move | Pokemon)[][] = []; + let warnBp = 1; + for (const target of pokemon.foes()) { + for (const moveSlot of target.moveSlots) { + const move = this.dex.moves.get(moveSlot.move); + let bp = move.basePower; + if (move.ohko) bp = 150; + if (move.id === 'counter' || move.id === 'metalburst' || move.id === 'mirrorcoat') bp = 120; + if (bp === 1) bp = 80; + if (!bp && move.category !== 'Status') bp = 80; + if (bp > warnBp) { + warnMoves = [[move, target]]; + warnBp = bp; + } else if (bp === warnBp) { + warnMoves.push([move, target]); + } + } + } + if (!warnMoves.length) { + this.add(`c:|${getName(name)}|Fascinating. None of your sets have any moves of interest.`); + return; + } + const [warnMoveName, warnTarget] = this.sample(warnMoves); + this.add( + 'message', + `${name} hacked into PS and looked at ${name === 'Hecate' ? 'her' : 'their'} opponent's sets. ` + + `${warnTarget.name}'s move ${warnMoveName} drew ${name === 'Hecate' ? 'her' : 'their'} eye.` + ); + this.add(`c:|${getName(name)}|Interesting. With that in mind, bring it!`); + }, + flags: {}, + }, + + // HoeenHero + misspelled: { + shortDesc: "Swift Swim + Special Attack 1.5x, Accuracy 0.8x. Never misses, only misspells.", + name: "Misspelled", + onModifySpAPriority: 5, + onModifySpA(spa) { + return this.modify(spa, 1.5); + }, + onSourceModifyAccuracyPriority: -1, + onSourceModifyAccuracy(accuracy, target, source, move) { + if (move.category === 'Special' && typeof accuracy === 'number') { + return this.chainModify([3277, 4096]); + } + }, + onModifySpe(spe, pokemon) { + if (['raindance', 'primordialsea'].includes(pokemon.effectiveWeather())) { + return this.chainModify(2); + } + }, + // Misspelling implemented in scripts.ts#hitStepAccuracy + flags: {}, + }, + + // Hydrostatics + hydrostaticpositivity: { + shortDesc: "Sturdy + Storm Drain + Motor Drive + 1.3x accuracy of Water & Electric moves", + name: "Hydrostatic Positivity", + onTryHit(target, source, move) { + // Storm Drain + if (target !== source && move.type === 'Water') { + if (!this.boost({spa: 1})) { + this.add('-immune', target, '[from] ability: Hydrostatic Positivity'); + } + return null; + } + + // Motor Drive + if (target !== source && move.type === 'Electric') { + if (!this.boost({spe: 1})) { + this.add('-immune', target, '[from] ability: Hydrostatic Positivity'); + } + return null; + } + + // Sturdy + if (move.ohko) { + this.add('-immune', target, '[from] ability: Hydrostatic Positivity'); + return null; + } + }, + onAnyRedirectTarget(target, source, source2, move) { + // Storm Drain + if (move.type !== 'Water' || ['firepledge', 'grasspledge', 'waterpledge'].includes(move.id)) return; + const redirectTarget = ['randomNormal', 'adjacentFoe'].includes(move.target) ? 'normal' : move.target; + if (this.validTarget(this.effectState.target, source, redirectTarget)) { + if (move.smartTarget) move.smartTarget = false; + if (this.effectState.target !== target) { + this.add('-activate', this.effectState.target, 'ability: Hydrostatic Positivity'); + } + return this.effectState.target; + } + }, + onDamagePriority: -30, + onDamage(damage, target, source, effect) { + // Sturdy + if (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') { + this.add('-ability', target, 'Hydrostatic Positivity'); + return target.hp - 1; + } + }, + onSourceModifyAccuracyPriority: -1, + onSourceModifyAccuracy(accuracy, target, source, move) { + if (typeof accuracy !== 'number') return; + if (['Electric', 'Water'].includes(move.type)) { + this.debug('Hydrostatic Positivity - enhancing accuracy'); + return this.chainModify([5325, 4096]); + } + }, + }, + + // in the hills + illiterit: { + shortDesc: "Immune to moves with 12 or more alphanumeric characters.", + name: "Illiterit", + onTryHit(target, source, move) { + if (target !== source && move.id.length >= 12) { + this.add('-immune', target, '[from] ability: Illiterit'); + this.add(`c:|${getName('in the hills')}|Gee ${source.name}, maybe I should get a dictionary so I can understand what move you just used.`); + return null; + } + }, + flags: {breakable: 1}, + }, + + // Irpachuza + mimeknowsbest: { + shortDesc: "When this Pokemon switches in, it uses a random screen or protect move.", + desc: "When this Pokemon switches in, it will randomly use one of Light Screen, Reflect, Protect, Detect, Barrier, Spiky Shield, Baneful Bunker, Safeguard, Mist, King's Shield, Magic Coat, or Aurora Veil.", + name: "Mime knows best", + onStart(target) { + const randomMove = [ + "Light Screen", "Reflect", "Protect", "Detect", "Barrier", "Spiky Shield", "Baneful Bunker", + "Safeguard", "Mist", "King's Shield", "Magic Coat", "Aurora Veil", + ]; + const move = this.dex.getActiveMove(this.sample(randomMove)); + // allows use of Aurora Veil without hail + if (move.name === "Aurora Veil") delete move.onTry; + this.actions.useMove(move, target); + }, + flags: {}, + }, + + // J0rdy004 + fortifyingfrost: { + shortDesc: "If Snow is active, this Pokemon's Sp. Atk and Sp. Def are 1.5x.", + name: "Fortifying Frost", + onModifySpAPriority: 5, + onModifySpA(spa, pokemon) { + if (['hail', 'snow'].includes(pokemon.effectiveWeather())) { + return this.chainModify(1.5); + } + }, + onModifySpD(spd, pokemon) { + if (['hail', 'snow'].includes(pokemon.effectiveWeather())) { + return this.chainModify(1.5); + } + }, + flags: {}, + }, + + // kenn + deserteddunes: { + shortDesc: "Summons Deserted Dunes until switch-out; Sandstorm + Rock weaknesses removed.", + desc: "On switch-in, the weather becomes Deserted Dunes, which removes the weaknesses of the Rock type from Rock-type Pokemon. This weather remains in effect until this Ability is no longer active for any Pokemon, or the weather is changed by the Desolate Land, Primordial Sea or Delta Stream Abilities.", + name: "Deserted Dunes", + onStart(source) { + this.field.setWeather('deserteddunes'); + }, + onAnySetWeather(target, source, weather) { + if (this.field.getWeather().id === 'deserteddunes' && !STRONG_WEATHERS.includes(weather.id)) return false; + }, + onEnd(pokemon) { + if (this.field.weatherState.source !== pokemon) return; + for (const target of this.getAllActive()) { + if (target === pokemon) continue; + if (target.hasAbility('deserteddunes')) { + this.field.weatherState.source = target; + return; + } + } + this.field.clearWeather(); + }, + flags: {}, + gen: 9, + }, + + // Kennedy + anfield: { + shortDesc: "Clears terrain/hazards/pseudo weathers. Summons Anfield Atmosphere.", + name: "Anfield", + onStart(target) { + let success = false; + if (this.field.terrain) { + success = this.field.clearTerrain(); + } + for (const side of this.sides) { + const remove = [ + 'reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', + ]; + for (const sideCondition of remove) { + if (side.removeSideCondition(sideCondition)) { + success = true; + } + } + } + if (Object.keys(this.field.pseudoWeather).length) { + for (const pseudoWeather in this.field.pseudoWeather) { + if (this.field.removePseudoWeather(pseudoWeather)) success = true; + } + } + if (success) { + this.add('-activate', target, 'ability: Anfield'); + } + this.field.addPseudoWeather('anfieldatmosphere', target, target.getAbility()); + }, + flags: {}, + }, + youllneverwalkalone: { + shortDesc: "Boosts Atk, Def, SpD, and Spe by 25% under Anfield Atmosphere.", + name: "You'll Never Walk Alone", + onStart(pokemon) { + if (this.field.getPseudoWeather('anfieldatmosphere')) { + this.add('-ability', pokemon, 'You\'ll Never Walk Alone'); + } + }, + onModifyAtkPriority: 5, + onModifyAtk(atk, source, target, move) { + if (this.field.getPseudoWeather('anfieldatmosphere')) { + this.debug('You\'ll Never Walk Alone atk boost'); + return this.chainModify([5120, 4096]); + } + }, + onModifyDefPriority: 6, + onModifyDef(def, target, source, move) { + if (this.field.getPseudoWeather('anfieldatmosphere')) { + this.debug('You\'ll Never Walk Alone def boost'); + return this.chainModify([5120, 4096]); + } + }, + onModifySpDPriority: 6, + onModifySpD(spd, target, source, move) { + if (this.field.getPseudoWeather('anfieldatmosphere')) { + this.debug('You\'ll Never Walk Alone spd boost'); + return this.chainModify([5120, 4096]); + } + }, + onModifySpe(spe, pokemon) { + if (this.field.getPseudoWeather('anfieldatmosphere')) { + this.debug('You\'ll Never Walk Alone spe boost'); + return this.chainModify([5120, 4096]); + } + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1}, + }, + + // kingbaruk + peerpressure: { + shortDesc: "All moves used while this Pokemon is on the field consume 4 PP.", + name: "Peer Pressure", + onStart(pokemon) { + this.add('-ability', pokemon, 'Peer Pressure'); + }, + onAnyDeductPP(target, source) { + return 3; + }, + flags: {}, + }, + + // Kiwi + surehitsorcery: { + shortDesc: "No Guard + Prankster + Grassy Surge.", + name: "Sure Hit Sorcery", + onAnyInvulnerabilityPriority: 1, + onAnyInvulnerability(target, source, move) { + if (move && (source === this.effectState.target || target === this.effectState.target)) return 0; + }, + onAnyAccuracy(accuracy, target, source, move) { + if (move && (source === this.effectState.target || target === this.effectState.target)) { + return true; + } + return accuracy; + }, + onModifyPriority(priority, pokemon, target, move) { + if (move?.category === 'Status') { + move.pranksterBoosted = true; + return priority + 1; + } + }, + onStart(source) { + this.field.setTerrain('grassyterrain'); + }, + flags: {}, + }, + + // Klmondo + superskilled: { + shortDesc: "Skill Link + Multiscale.", + name: "Super Skilled", + onModifyMove(move) { + if (move.multihit && Array.isArray(move.multihit) && move.multihit.length) { + move.multihit = move.multihit[1]; + } + if (move.multiaccuracy) { + delete move.multiaccuracy; + } + }, + onSourceModifyDamage(damage, source, target, move) { + if (target.hp >= target.maxhp) { + this.debug('Multiscale weaken'); + return this.chainModify(0.5); + } + }, + flags: {breakable: 1}, + }, + + // Kry + flashfreeze: { + shortDesc: "Heatproof + If attacker's used offensive stat has positive stat changes, take 0.75x damage.", + name: "Flash Freeze", + onSourceModifyAtkPriority: 6, + onSourceModifyAtk(atk, attacker, defender, move) { + if (move.type === 'Fire') { + this.debug('Heatproof Atk weaken'); + return this.chainModify(0.5); + } + }, + onSourceModifySpAPriority: 5, + onSourceModifySpA(atk, attacker, defender, move) { + if (move.type === 'Fire') { + this.debug('Heatproof SpA weaken'); + return this.chainModify(0.5); + } + }, + onDamage(damage, target, source, effect) { + if (effect && effect.id === 'brn') { + return damage / 2; + } + }, + onSourceModifyDamage(damage, source, target, move) { + if ( + (move.category === 'Special' && source.boosts['spa'] > 0) || + (move.category === 'Physical' && source.boosts['atk'] > 0) + ) { + return this.chainModify(0.75); + } + }, + flags: {breakable: 1}, + }, + + // Lasen + idealizedworld: { + shortDesc: "Removes everything on switch-in.", + desc: "When this Pokemon switches in, all stat boosts, entry hazards, weathers, terrains, persistent weathers (such as Primordial Sea), and any other field effects (such as Aurora Veil) are removed from all sides of the field.", + name: "Idealized World", + onStart(pokemon) { + const target = pokemon.side.foe; + this.add('-ability', pokemon, 'Idealized World'); + const displayText = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; + for (const targetCondition of Object.keys(target.sideConditions)) { + if (target.removeSideCondition(targetCondition) && displayText.includes(targetCondition)) { + this.add('-sideend', target, this.dex.conditions.get(targetCondition).name, '[from] ability: Idealized World', '[of] ' + pokemon); + } + } + for (const sideCondition of Object.keys(pokemon.side.sideConditions)) { + if (pokemon.side.removeSideCondition(sideCondition) && displayText.includes(sideCondition)) { + this.add('-sideend', pokemon.side, this.dex.conditions.get(sideCondition).name, '[from] ability: Idealized World', '[of] ' + pokemon); + } + } + this.field.clearTerrain(); + this.field.clearWeather(); + for (const pseudoWeather of Object.keys(this.field.pseudoWeather)) { + this.field.removePseudoWeather(pseudoWeather); + } + this.add('-clearallboost'); + for (const poke of this.getAllActive()) { + poke.clearBoosts(); + } + }, + flags: {}, + }, + + // Lionyx + enormoos: { + shortDesc: "This Pokemon's Defense is used in damage calculation instead of Attack or Sp. Atk.", + name: "EnorMOOs", + onModifyMove(move, pokemon, target) { + if (move.category !== "Status") { + move.overrideOffensiveStat = 'def'; + } + }, + flags: {}, + }, + + // Lumari + pyrotechnic: { + shortDesc: "Critical hits are guaranteed when the foe is burned.", + name: "Pyrotechnic", + onModifyCritRatio(critRatio, source, target) { + if (target?.status === 'brn') return 5; + }, + flags: {}, + }, + + // Lunell + lowtidehightide: { + shortDesc: "Switch-in sets Gravity, immune to Water, traps Water-type foes.", + name: "Low Tide, High Tide", + onStart(source) { + this.field.addPseudoWeather('gravity', source); + }, + onTryHit(target, source, move) { + if (target !== source && move.type === 'Water') { + this.add('-immune', target, '[from] ability: Low Tide, High Tide'); + return null; + } + }, + onFoeTrapPokemon(pokemon) { + if (pokemon.hasType('Water') && pokemon.isAdjacent(this.effectState.target)) { + pokemon.tryTrap(true); + } + }, + onFoeMaybeTrapPokemon(pokemon, source) { + if (!source) source = this.effectState.target; + if (!source || !pokemon.isAdjacent(source)) return; + if (!pokemon.knownType || pokemon.hasType('Water')) { + pokemon.maybeTrapped = true; + } + }, + flags: {breakable: 1}, + }, + + // Lyna + magicaura: { + shortDesc: "Magic Guard + Magic Bounce.", + name: "Magic Aura", + onDamage(damage, target, source, effect) { + if (effect.effectType !== 'Move') { + if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); + return false; + } + }, + onTryHitPriority: 1, + onTryHit(target, source, move) { + if (target === source || move.hasBounced || !move.flags['reflectable']) { + return; + } + const newMove = this.dex.getActiveMove(move.id); + newMove.hasBounced = true; + newMove.pranksterBoosted = false; + this.actions.useMove(newMove, target, source); + return null; + }, + onAllyTryHitSide(target, source, move) { + if (target.isAlly(source) || move.hasBounced || !move.flags['reflectable']) { + return; + } + const newMove = this.dex.getActiveMove(move.id); + newMove.hasBounced = true; + newMove.pranksterBoosted = false; + this.actions.useMove(newMove, this.effectState.target, source); + return null; + }, + condition: { + duration: 1, + }, + flags: {breakable: 1}, + }, + + // Mad Monty + climatechange: { + shortDesc: "1.5x SpA in sun, 1.5x Def/SpD in snow, heals 50% in rain. Changes forme/weather.", + desc: "If this Pokemon is a Castform, it changes the active weather and therefore this Pokemon's forme and set at the end of each turn, alternating between sun, rain, and snow in that order. When the weather is sun, this Pokemon's Special Attack is multiplied by 1.5x. When the weather becomes rain, this Pokemon heals for 1/2 of its maximum HP. When the weather is snow, this Pokemon's Defense and Special Defense are multiplied by 1.5x.", + name: "Climate Change", + onResidualOrder: 28, + onResidualSubOrder: 2, + onResidual(pokemon) { + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + this.field.setWeather('raindance'); + break; + case 'raindance': + this.field.setWeather('snow'); + break; + default: + this.field.setWeather('sunnyday'); + break; + } + }, + onStart(pokemon) { + this.singleEvent('WeatherChange', this.effect, this.effectState, pokemon); + }, + onWeatherChange(pokemon) { + if (pokemon.baseSpecies.baseSpecies !== 'Castform' || pokemon.transformed) return; + let forme = null; + let relevantMove = null; + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + case 'desolateland': + if (pokemon.species.id !== 'castformsunny') { + forme = 'Castform-Sunny'; + relevantMove = 'Solar Beam'; + } + break; + case 'raindance': + case 'primordialsea': + case 'stormsurge': + if (pokemon.species.id !== 'castformrainy') { + forme = 'Castform-Rainy'; + relevantMove = 'Thunder'; + this.heal(pokemon.baseMaxhp / 2); + } + break; + case 'hail': + case 'snow': + if (pokemon.species.id !== 'castformsnowy') { + forme = 'Castform-Snowy'; + relevantMove = 'Aurora Veil'; + } + break; + default: + if (pokemon.species.id !== 'castform') forme = 'Castform'; + break; + } + if (pokemon.isActive && forme) { + pokemon.formeChange(forme, this.effect, false, '[msg]'); + + if (!relevantMove) return; + const move = this.dex.moves.get(relevantMove); + + const sketchIndex = Math.max( + pokemon.moves.indexOf("solarbeam"), pokemon.moves.indexOf("thunder"), pokemon.moves.indexOf("auroraveil") + ); + if (sketchIndex < 0) return; + const carryOver = pokemon.moveSlots[sketchIndex].pp / pokemon.moveSlots[sketchIndex].maxpp; + const sketchedMove = { + move: move.name, + id: move.id, + pp: Math.floor((move.pp * 8 / 5) * carryOver), + maxpp: (move.pp * 8 / 5), + target: move.target, + disabled: false, + used: false, + }; + pokemon.moveSlots[sketchIndex] = sketchedMove; + pokemon.baseMoveSlots[sketchIndex] = sketchedMove; + } + }, + onModifySpA(spa, pokemon) { + if (['sunnyday', 'desolateland'].includes(pokemon.effectiveWeather())) { + return this.chainModify(1.5); + } + }, + onModifyDef(def, pokemon) { + if (['hail', 'snow'].includes(pokemon.effectiveWeather())) { + return this.chainModify(1.5); + } + }, + onModifySpD(spd, pokemon) { + if (['hail', 'snow'].includes(pokemon.effectiveWeather())) { + return this.chainModify(1.5); + } + }, + flags: {}, + }, + + // maroon + builtdifferent: { + shortDesc: "Stamina + Normal-type moves get +1 priority.", + name: "Built Different", + onDamagingHit(damage, target, source, effect) { + this.boost({def: 1}); + }, + onModifyPriority(priority, pokemon, target, move) { + if (move?.type === 'Normal') return priority + 1; + }, + flags: {}, + }, + + // Mathy + dynamictyping: { + shortDesc: "Moves used by all Pokemon are ??? type.", + name: "Dynamic Typing", + onStart(pokemon) { + this.add('-ability', pokemon, "Dynamic Typing"); + }, + onModifyTypePriority: 2, + onAnyModifyType(move, pokemon, target) { + move.type = "???"; + }, + flags: {}, + }, + + // Mex + timedilation: { + shortDesc: "+10% BP for every 10 turns passed in battle, max 200%.", + name: "Time Dilation", + onBasePowerPriority: 21, + onBasePower(basePower, attacker, defender, move) { + const turnMultiplier = Math.floor(this.turn / 10); + let bpMod = 1 + (0.1 * turnMultiplier); + if (bpMod > 2) bpMod = 2; + return this.chainModify(bpMod); + }, + flags: {}, + }, + + // Monkey + harambehit: { + shortDesc: "Unseen Fist + Punch moves have 1.5x power.", + name: "Harambe Hit", + onModifyMove(move) { + if (move.flags['contact']) delete move.flags['protect']; + }, + onBasePowerPriority: 23, + onBasePower(basePower, attacker, defender, move) { + if (move.flags['punch']) { + this.debug('Harambe Hit boost'); + return this.chainModify([6144, 4096]); + } + }, + flags: {}, + }, + + // MyPearl + eoncall: { + shortDesc: "Changes into Latios after status move, Latias after special move.", + desc: "If this Pokemon is a Latios, it changes into Latias after using a status move. If this Pokemon is a Latias, it changes into Latios after using a special attack.", + name: "Eon Call", + onAfterMove(source, target, move) { + if (move.category === 'Status' && source.species.baseSpecies === 'Latias') { + changeSet(this, source, ssbSets['MyPearl'], true); + } else if (move.category === 'Special' && source.species.baseSpecies === 'Latios') { + changeSet(this, source, ssbSets['MyPearl-Latias'], true); + } + }, + flags: {}, + }, + + // Ney + pranksterplus: { + shortDesc: "This Pokemon's Status moves have priority raised by 1. Dark types are not immune.", + name: "Prankster Plus", + onModifyPriority(priority, pokemon, target, move) { + if (move?.category === 'Status') { + return priority + 1; + } + }, + flags: {}, + }, + + // Notater517 + ventcrosser: { + shortDesc: "Uses Baton Pass after every move.", + name: "Vent Crosser", + onAfterMove(source, target, move) { + this.actions.useMove('Baton Pass', source); + }, + flags: {}, + }, + + // nya + adorablegrace: { + shortDesc: "This Pokemon's secondary effects and certain items have their activation chance doubled.", + desc: "This Pokemon's secondary effects of attacks, as well as the effects of chance based items like Focus Band and King's Rock, have their activation chance doubled.", + name: "Adorable Grace", + onModifyMovePriority: -2, + onModifyMove(move) { + if (move.secondaries) { + this.debug('doubling secondary chance'); + for (const secondary of move.secondaries) { + if (secondary.chance) secondary.chance *= 2; + } + } + if (move.self?.chance) move.self.chance *= 2; + }, + // Item chances modified in items.js + }, + + // Nyx + lasthymn: { + shortDesc: "Weakens incoming attacks by 10% for each Pokemon fainted.", + name: "Last Hymn", + onStart(pokemon) { + if (pokemon.side.totalFainted) { + this.add('-activate', pokemon, 'ability: Last Hymn'); + const fallen = Math.min(pokemon.side.totalFainted, 5); + this.add('-start', pokemon, `fallen${fallen}`, '[silent]'); + this.effectState.fallen = fallen; + } + }, + onEnd(pokemon) { + this.add('-end', pokemon, `fallen${this.effectState.fallen}`, '[silent]'); + }, + onBasePowerPriority: 21, + onFoeBasePower(basePower, attacker, defender, move) { + if (this.effectState.fallen) { + return this.chainModify([10, (10 + this.effectState.fallen)]); + } + }, + }, + + // Opple + orchardsgift: { + shortDesc: "Summons Grassy Terrain. 1.5x Sp. Atk and Sp. Def during Grassy Terrain.", + name: "Orchard's Gift", + onStart(pokemon) { + if (this.field.setTerrain('grassyterrain')) { + this.add('-activate', pokemon, 'Orchard\'s Gift', '[source]'); + } else if (this.field.isTerrain('grassyterrain')) { + this.add('-activate', pokemon, 'ability: Orchard\'s Gift'); + } + }, + onModifyAtkPriority: 5, + onModifySpA(spa, pokemon) { + if (this.field.isTerrain('grassyterrain')) { + this.debug('Orchard\'s Gift boost'); + return this.chainModify(1.5); + } + }, + onModifySpDPriority: 6, + onModifySpD(spd, pokemon) { + if (this.field.isTerrain('grassyterrain')) { + this.debug('Orchard\'s Gift boost'); + return this.chainModify(1.5); + } + }, + }, + + // PartMan + ctiershitposter: { + shortDesc: "-1 Atk/SpA, +1 Def/SpD. +1 Atk/SpA/Spe, -1 Def/SpD, Mold Breaker if 420+ dmg taken.", + desc: "When this Pokemon switches in, its Defense and Special Defense are boosted by 1 stage and its Attack and Special Attack are lowered by 1 stage. Once this Pokemon has taken total damage throughout the battle equal to or greater than 420 HP, it instead ignores the Abilities of opposing Pokemon when attacking and its existing stat stage changes are cleared. After this and whenever it gets sent out from this point onwards, this Pokemon boosts its Attack, Special Attack, and Speed by 1 stage, and lowers its Defense and Special Defense by 1 stage.", + name: "C- Tier Shitposter", + onDamage(damage, target, source, effect) { + target.m.damageTaken ??= 0; + target.m.damageTaken += damage; + if (target.set && !target.set.shiny) { + if (target.m.damageTaken >= 420) { + target.set.shiny = true; + if (!target.hp) { + return this.add(`c:|${getName('PartMan')}|MWAHAHA NOW YOU - oh I'm dead`); + } + this.add(`c:|${getName('PartMan')}|That's it. Get ready to be rapid-fire hugged.`); + target.clearBoosts(); + this.add('-clearboost', target); + this.boost({atk: 1, def: -1, spa: 1, spd: -1, spe: 1}); + const details = target.species.name + (target.level === 100 ? '' : ', L' + target.level) + + (target.gender === '' ? '' : ', ' + target.gender) + (target.set.shiny ? ', shiny' : ''); + target.details = details; + this.add('detailschange', target, details); + } + } + }, + onModifyMove(move, pokemon) { + if (pokemon.set.shiny) move.ignoreAbility = true; + }, + onStart(pokemon) { + if (!pokemon.set.shiny) { + this.boost({atk: -1, def: 1, spa: -1, spd: 1}); + } else { + this.boost({atk: 1, def: -1, spa: 1, spd: -1, spe: 1}); + } + }, + }, + + // PenQuin + poleonspyroquirk: { + shortDesc: "Burned Pokemon also become confused.", + name: "'Poleon's Pyro Quirk", + onAnyAfterSetStatus(status, target, source, effect) { + if (source !== this.effectState.target || target === source || effect.effectType !== 'Move') return; + if (status.id === 'brn') { + target.addVolatile('confusion'); + } + }, + flags: {}, + }, + + // phoopes + ididitagain: { + shortDesc: "Bypasses Sleep Clause Mod once per battle.", + name: "I Did It Again", + flags: {}, + // implemented in rulesets.ts + }, + + // Pulse_kS + pulseluck: { + shortDesc: "Mega Launcher + Super Luck.", + name: "Pulse Luck", + onBasePowerPriority: 19, + onBasePower(basePower, attacker, defender, move) { + if (move.flags['pulse']) { + return this.chainModify(1.5); + } + }, + onModifyCritRatio(critRatio) { + return critRatio + 1; + }, + flags: {}, + }, + + // PYRO + hardcorehustle: { + shortDesc: "Moves have 15% more power and -5% Acc for each fainted ally, up to 5 allies.", + name: "Hardcore Hustle", + onStart(pokemon) { + if (pokemon.side.totalFainted) { + this.add('-activate', pokemon, 'ability: Hardcore Hustle'); + const fallen = Math.min(pokemon.side.totalFainted, 5); + this.add('-start', pokemon, `fallen${fallen}`, '[silent]'); + this.effectState.fallen = fallen; + } + }, + onEnd(pokemon) { + this.add('-end', pokemon, `fallen${this.effectState.fallen}`, '[silent]'); + }, + onBasePowerPriority: 21, + onBasePower(basePower, attacker, defender, move) { + if (this.effectState.fallen) { + const powMod = [1, 1.15, 1.3, 1.45, 1.6, 1.75]; + this.debug(`Hardcore Hustle boost: ${powMod[this.effectState.fallen]}`); + return this.chainModify(powMod[this.effectState.fallen]); + } + }, + onSourceModifyAccuracyPriority: -1, + onSourceModifyAccuracy(accuracy, target, source, move) { + if (this.effectState.fallen) { + const accMod = [1, 0.95, 0.90, 0.85, 0.80, 0.75]; + this.debug(`Hardcore Hustle debuff: ${accMod[this.effectState.fallen]}`); + return this.chainModify(accMod[this.effectState.fallen]); + } + }, + flags: {}, + }, + + // Quite Quiet + fancyscarf: { + shortDesc: "Shield Dust + Magic Guard", + name: "Fancy Scarf", + onDamage(damage, target, source, effect) { + if (effect.effectType !== 'Move') { + if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); + return false; + } + }, + onModifySecondaries(secondaries) { + this.debug('Fancy Scarf prevent secondary'); + return secondaries.filter(effect => !!(effect.self || effect.dustproof)); + }, + flags: {}, + }, + + // quziel + highperformancecomputing: { + shortDesc: "Becomes a random typing at the beginning of each turn.", + name: "High Performance Computing", + flags: {}, + onBeforeTurn(source) { + if (source.terastallized) return; + const type = this.sample(this.dex.types.names().filter(i => i !== 'Stellar')); + source.setType(type); + this.add('-start', source, 'typechange', type, '[from] ability: High Performance Computing'); + }, + }, + + // R8 + antipelau: { + shortDesc: "Boosts Sp. Atk by 2 and sets a 25% Wish upon switch-in.", + name: "Anti-Pelau", + onStart(target) { + this.boost({spa: 2}, target); + const wish = this.dex.getActiveMove('wish'); + wish.condition = { + duration: 2, + onStart(pokemon, source) { + this.effectState.hp = source.maxhp / 4; + }, + onResidualOrder: 4, + onEnd(pokemon) { + if (pokemon && !pokemon.fainted) { + const damage = this.heal(this.effectState.hp, pokemon, pokemon); + if (damage) { + this.add('-heal', pokemon, pokemon.getHealth, '[from] move: Wish', '[wisher] ' + this.effectState.source.name); + } + } + }, + }; + this.actions.useMove(wish, target); + }, + flags: {}, + }, + + // Rainshaft + rainysaura: { + shortDesc: "On switch-in, this Pokemon summons rain. Boosts all Psychic-type damage by 33%.", + name: "Rainy's Aura", + onStart(source) { + if (this.suppressingAbility(source)) return; + for (const action of this.queue) { + if (action.choice === 'runPrimal' && action.pokemon === source && source.species.id === 'kyogre') return; + if (action.choice !== 'runSwitch' && action.choice !== 'runPrimal') break; + } + this.field.setWeather('raindance'); + }, + onAnyBasePowerPriority: 20, + onAnyBasePower(basePower, source, target, move) { + if (target === source || move.category === 'Status' || move.type !== 'Psychic') return; + if (!move.auraBooster?.hasAbility('Rainy\'s Aura')) move.auraBooster = this.effectState.target; + if (move.auraBooster !== this.effectState.target) return; + return this.chainModify([move.hasAuraBreak ? 3072 : 5448, 4096]); + }, + flags: {}, + }, + + // Ransei + ultramystik: { + shortDesc: "Stats 1.5x until hit super effectively + Magic Guard + Leftovers.", + desc: "This Pokemon can only be damaged by direct attacks. At the end of each turn, this Pokemon restores 1/16 of its maximum HP. This Pokemon's Attack, Defense, Special Attack, Special Defense, and Speed are boosted by 1.5x if it has not been hit by a super effective attack during this battle.", + name: "Ultra Mystik", + onStart(target) { + if (!this.effectState.superHit) { + target.addVolatile('ultramystik'); + } + }, + onEnd(pokemon) { + delete pokemon.volatiles['ultramystik']; + this.add('-end', pokemon, 'Ultra Mystik', '[silent]'); + }, + onSourceModifyDamage(damage, source, target, move) { + if (target.getMoveHitData(move).typeMod > 0) { + this.effectState.superHit = true; + target.removeVolatile('ultramystik'); + target.setAbility('Healer', undefined, true); + } + }, + condition: { + noCopy: true, + onStart(pokemon, source, effect) { + this.add('-activate', pokemon, 'ability: Ultra Mystik'); + this.add('-start', pokemon, 'ultramystik'); + }, + onModifyAtkPriority: 5, + onModifyAtk(atk, pokemon) { + if (pokemon.ignoringAbility()) return; + return this.chainModify(1.3); + }, + onModifyDefPriority: 6, + onModifyDef(def, pokemon) { + if (pokemon.ignoringAbility()) return; + return this.chainModify(1.3); + }, + onModifySpAPriority: 5, + onModifySpA(spa, pokemon) { + if (pokemon.ignoringAbility()) return; + return this.chainModify(1.3); + }, + onModifySpDPriority: 6, + onModifySpD(spd, pokemon) { + if (pokemon.ignoringAbility()) return; + return this.chainModify(1.3); + }, + onModifySpe(spe, pokemon) { + if (pokemon.ignoringAbility()) return; + return this.chainModify(1.3); + }, + onEnd(pokemon) { + this.add('-end', pokemon, 'Ultra Mystik'); + }, + }, + onDamage(damage, target, source, effect) { + if (effect.effectType !== 'Move') { + if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); + return false; + } + }, + onResidual(pokemon) { + this.heal(pokemon.baseMaxhp / 16, pokemon, pokemon, pokemon.getAbility()); + }, + }, + + // ReturnToMonkey + monkeseemonkedo: { + shortDesc: "Boosts Atk or SpA by 1 based on foe's defenses, then copies foe's Ability.", + name: "Monke See Monke Do", + onStart(pokemon) { + let totaldef = 0; + let totalspd = 0; + for (const target of pokemon.foes()) { + totaldef += target.getStat('def', false, true); + totalspd += target.getStat('spd', false, true); + } + if (totaldef && totaldef >= totalspd) { + this.boost({spa: 1}); + } else if (totalspd) { + this.boost({atk: 1}); + } + + // n.b. only affects Hackmons + // interaction with No Ability is complicated: https://www.smogon.com/forums/threads/pokemon-sun-moon-battle-mechanics-research.3586701/page-76#post-7790209 + if (pokemon.adjacentFoes().some(foeActive => foeActive.ability === 'noability')) { + this.effectState.gaveUp = true; + } + // interaction with Ability Shield is similar to No Ability + if (pokemon.hasItem('Ability Shield')) { + this.add('-block', pokemon, 'item: Ability Shield'); + this.effectState.gaveUp = true; + } + }, + onUpdate(pokemon) { + if (!pokemon.isStarted || this.effectState.gaveUp) return; + + const possibleTargets = pokemon.adjacentFoes().filter( + target => !target.getAbility().flags['notrace'] && target.ability !== 'noability' + ); + if (!possibleTargets.length) return; + + const target = this.sample(possibleTargets); + const ability = target.getAbility(); + if (pokemon.setAbility(ability)) { + this.add('-ability', pokemon, ability, '[from] ability: Monke See Monke Do', '[of] ' + target); + } + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1}, + }, + + // RSB + hotpursuit: { + shortDesc: "This Pokemon's damaging moves have the Pursuit effect.", + name: "Hot Pursuit", + onBeforeTurn(pokemon) { + for (const side of this.sides) { + if (side.hasAlly(pokemon)) continue; + side.addSideCondition('hotpursuit', pokemon); + const data = side.getSideConditionData('hotpursuit'); + if (!data.sources) { + data.sources = []; + } + data.sources.push(pokemon); + } + }, + onBasePower(relayVar, source, target, move) { + // You can't get here unless the pursuit succeeds + if (target.beingCalledBack || target.switchFlag) { + this.debug('Pursuit damage boost'); + return move.basePower * 2; + } + return move.basePower; + }, + onModifyMove(move, source, target) { + if (target?.beingCalledBack || target?.switchFlag) move.accuracy = true; + }, + onTryHit(source, target) { + target.side.removeSideCondition('hotpursuit'); + }, + condition: { + duration: 1, + onBeforeSwitchOut(pokemon) { + const move = this.queue.willMove(pokemon.foes()[0]); + const moveName = move && move.moveid ? move.moveid.toString() : ""; + this.debug('Pursuit start'); + let alreadyAdded = false; + pokemon.removeVolatile('destinybond'); + for (const source of this.effectState.sources) { + if (!source.isAdjacent(pokemon) || !this.queue.cancelMove(source) || !source.hp) continue; + if (!alreadyAdded) { + this.add('-activate', pokemon.foes()[0], 'ability: Hot Pursuit'); + alreadyAdded = true; + } + // Run through each action in queue to check if the Pursuit user is supposed to Mega Evolve this turn. + // If it is, then Mega Evolve before moving. + if (source.canMegaEvo || source.canUltraBurst) { + for (const [actionIndex, action] of this.queue.entries()) { + if (action.pokemon === source && action.choice === 'megaEvo') { + this.actions.runMegaEvo(source); + this.queue.list.splice(actionIndex, 1); + break; + } + } + } + this.actions.runMove(moveName, source, source.getLocOf(pokemon)); + } + }, + }, + flags: {}, + }, + + // Rumia + youkaiofthedusk: { + shortDesc: "This Pokemon's Defense is doubled and its status moves gain +1 priority.", + name: "Youkai of the Dusk", + onModifyDefPriority: 6, + onModifyDef(def) { + return this.chainModify(2); + }, + onModifyPriority(priority, pokemon, target, move) { + if (move?.category === 'Status') { + move.pranksterBoosted = true; + return priority + 1; + } + }, + flags: {}, + }, + + // SexyMalasada + ancestryritual: { + shortDesc: "Recoil heals. While below 50% HP, changes to Typhlosion-Hisui.", + desc: "Moves that would deal recoil or crash damage, aside from Struggle, heal this Pokemon for the corresponding amount instead. If this Pokemon is a Typhlosion, it changes to Typhlosion-Hisui if it has 1/2 or less of its maximum HP at the end of a turn. If Typhlosion-Hisui's HP is above 1/2 of its maximum HP at the end of a turn, it changes back to Typhlosion.", + name: "Ancestry Ritual", + onDamage(damage, target, source, effect) { + if (effect.id === 'recoil') { + if (!this.activeMove) throw new Error("Battle.activeMove is null"); + if (this.activeMove.id !== 'struggle') { + this.heal(damage); + return null; + } + } + }, + onResidualOrder: 20, + onResidual(pokemon) { + if (pokemon.baseSpecies.baseSpecies !== 'Typhlosion' || pokemon.transformed) { + return; + } + if (pokemon.hp <= pokemon.maxhp / 2 && pokemon.species.id !== 'typhlosionhisui') { + pokemon.formeChange('Typhlosion-Hisui'); + } else if (pokemon.hp > pokemon.maxhp / 2 && pokemon.species.id === 'typhlosionhisui') { + pokemon.formeChange('Typhlosion'); + } + }, + flags: {}, + }, + + // Siegfried + magicalmysterycharge: { + shortDesc: "Summons Electric Terrain upon switch-in, +1 boost to Sp. Def during Electric Terrain.", + name: "Magical Mystery Charge", + onStart(source) { + this.field.setTerrain('electricterrain'); + }, + onModifySpDPriority: 5, + onModifySpD(spd, pokemon) { + if (this.field.isTerrain('electricterrain')) { + return this.chainModify(1.5); + } + }, + flags: {}, + }, + + // Sificon + perfectlyimperfect: { + shortDesc: "Magic Guard + Thick Fat.", + name: "Perfectly Imperfect", + onDamage(damage, target, source, effect) { + if (effect.effectType !== 'Move') { + if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); + return false; + } + }, + onSourceModifyAtkPriority: 6, + onSourceModifyAtk(atk, attacker, defender, move) { + if (move.type === 'Ice' || move.type === 'Fire') { + this.debug('Perfectly Imperfect weaken'); + return this.chainModify(0.5); + } + }, + onSourceModifySpAPriority: 5, + onSourceModifySpA(atk, attacker, defender, move) { + if (move.type === 'Ice' || move.type === 'Fire') { + this.debug('Perfectly Imperfect weaken'); + return this.chainModify(0.5); + } + }, + flags: {breakable: 1}, + }, + + // skies + spikesofwrath: { + shortDesc: "Cheek Pouch + sets Spikes and Toxic Spikes upon getting KOed.", + name: "Spikes of Wrath", + onDamagingHit(damage, target, source, effect) { + if (!target.hp) { + const side = source.isAlly(target) ? source.side.foe : source.side; + const spikes = side.sideConditions['spikes']; + const toxicSpikes = side.sideConditions['toxicspikes']; + if (!spikes || spikes.layers < 3) { + this.add('-activate', target, 'ability: Spikes of Wrath'); + side.addSideCondition('spikes', target); + } + if (!toxicSpikes || toxicSpikes.layers < 2) { + this.add('-activate', target, 'ability: Spikes of Wrath'); + side.addSideCondition('toxicspikes', target); + } + } + }, + onEatItem(item, pokemon) { + this.heal(pokemon.baseMaxhp / 3); + }, + flags: {}, + }, + + // Soft Flex + adaptiveengineering: { + shortDesc: "Every turn, raises a random stat by 1 stage if the foe has more raised stats.", + name: "Adaptive Engineering", + onResidual(source) { + if (source === undefined || source.foes() === undefined || source.foes()[0] === undefined) return; + if (source.positiveBoosts() < source.foes()[0].positiveBoosts()) { + const stats: BoostID[] = []; + let stat: BoostID; + for (stat in source.boosts) { + if (stat === 'accuracy' || stat === 'evasion') continue; + if (source.boosts[stat] < 6) { + stats.push(stat); + } + } + if (stats.length) { + const randomStat = this.sample(stats); + this.boost({[randomStat]: 1}, source, source); + } + } + }, + flags: {}, + }, + + // Solaros & Lunaris + ridethesun: { + shortDesc: "Drought + Chlorophyll", + name: "Ride the Sun!", + onStart(source) { + for (const action of this.queue) { + if (action.choice === 'runPrimal' && action.pokemon === source && source.species.id === 'groudon') return; + if (action.choice !== 'runSwitch' && action.choice !== 'runPrimal') break; + } + this.field.setWeather('sunnyday'); + }, + onModifySpe(spe, pokemon) { + if (['sunnyday', 'desolateland'].includes(pokemon.effectiveWeather())) { + return this.chainModify(2); + } + }, + flags: {}, + }, + + // spoo + icanheartheheartbeatingasone: { + shortDesc: "Pixilate + Sharpness. -1 Atk upon KOing an opposing Pokemon.", + name: "I Can Hear The Heart Beating As One", + onModifyTypePriority: -1, + onModifyType(move, pokemon) { + const noModifyType = [ + 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'technoblast', 'terrainpulse', 'weatherball', + ]; + if (move.type === 'Normal' && !noModifyType.includes(move.id) && + !(move.isZ && move.category !== 'Status') && !(move.name === 'Tera Blast' && pokemon.terastallized)) { + move.type = 'Fairy'; + move.typeChangerBoosted = this.effect; + } + }, + onBasePowerPriority: 23, + onBasePower(basePower, pokemon, target, move) { + if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); + if (move.flags['slicing']) { + this.debug('Sharpness boost'); + return this.chainModify(1.5); + } + }, + onSourceAfterFaint(length, target, source, effect) { + if (effect && effect.effectType === 'Move') { + this.boost({atk: -length}, source); + } + }, + flags: {}, + }, + + // Steorra + ghostlyhallow: { + shortDesc: "This Pokémon can hit Normal types with Ghost-type moves.", + name: "Ghostly Hallow", + onModifyMovePriority: -5, + onModifyMove(move) { + if (!move.ignoreImmunity) move.ignoreImmunity = {}; + if (move.ignoreImmunity !== true) { + move.ignoreImmunity['Ghost'] = true; + } + }, + }, + + // Struchni + overaskedclause: { + shortDesc: "Moves used by opposing Pokemon on the previous turn will always fail.", + name: "Overasked Clause", + onFoeBeforeMove(target, source, move) { + if (target.lastMove && target.lastMove.id !== 'struggle') { + if (move.id === target.lastMove.id) { + this.attrLastMove('[still]'); + this.add('cant', target, 'ability: Overasked Clause', move, '[of] ' + source); + return false; + } + } + }, + }, + + // Sulo + protectionofthegelatin: { + shortDesc: "Magic Guard + Stamina", + name: "Protection of the Gelatin", + onDamage(damage, target, source, effect) { + if (effect.effectType !== 'Move') { + if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); + return false; + } + }, + onDamagingHit(damage, target, source, effect) { + this.boost({def: 1}); + }, + }, + + // Swiffix + stinky: { + desc: "10% chance to either poison or paralyze the target on hit.", + name: "Stinky", + onModifyMovePriority: -1, + onModifyMove(move) { + if (move.category !== "Status") { + this.debug('Adding Stinky psn/par'); + if (!move.secondaries) move.secondaries = []; + move.secondaries.push({ + chance: 10, + onHit(target, source) { + const result = this.random(2); + if (result === 0) { + target.trySetStatus('par', source); + } else { + target.trySetStatus('psn', source); + } + }, + }); + } + }, + flags: {}, + }, + + // Tenshi + sandsleuth: { + desc: "Sets Gravity and identifies foes on switch-in. Priority immune from identified foes.", + name: "Sand Sleuth", + onStart(target) { + this.field.addPseudoWeather('gravity', target); + for (const opponent of target.adjacentFoes()) { + if (!opponent.volatiles['foresight']) { + opponent.addVolatile('foresight'); + } + } + }, + onFoeTryMove(target, source, move) { + if (target.volatiles['foresight']) { + const targetAllExceptions = ['perishsong', 'flowershield', 'rototiller']; + if (move.target === 'foeSide' || (move.target === 'all' && !targetAllExceptions.includes(move.id))) { + return; + } + const dazzlingHolder = this.effectState.target; + if ((source.isAlly(dazzlingHolder) || move.target === 'all') && move.priority > 0.1) { + this.attrLastMove('[still]'); + this.add('cant', target, 'ability: Sand Sleuth', move, '[of] ' + source); + return false; + } + } + }, + flags: {}, + }, + + // Theia + powerabuse: { + shortDesc: "Drought + 60% damage reduction + 20% burn after physical move.", + name: "Power Abuse", + onStart() { + this.field.setWeather('sunnyday'); + }, + onSourceModifyDamage() { + return this.chainModify(0.4); + }, + onDamagingHit(damage, target, source, move) { + if (move.category === "Physical" && this.randomChance(1, 5)) { + source.trySetStatus('brn', target); + } + }, + flags: {breakable: 1}, + }, + + // Tico + eternalgenerator: { + shortDesc: "Regenerator + Magic Guard + immune to Sticky Web.", + name: "Eternal Generator", + onSwitchOut(pokemon) { + pokemon.heal(pokemon.baseMaxhp / 3); + }, + onDamage(damage, target, source, effect) { + if (effect.effectType !== 'Move') { + if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); + return false; + } + }, + flags: {breakable: 1}, + }, + + // TheJesucristoOsAma + thegraceofjesuschrist: { + shortDesc: "Changes plates at the end of every turn.", + name: "The Grace Of Jesus Christ", + onResidualOrder: 28, + onResidualSubOrder: 2, + onResidual(pokemon) { + const plates = this.dex.items.all().filter(item => item.onPlate && !item.zMove); + const item = this.sample(plates.filter(plate => this.toID(plate) !== this.toID(pokemon.item))); + pokemon.item = ''; + this.add('-item', pokemon, item, '[from] ability: The Grace Of Jesus Christ'); + pokemon.setItem(item); + pokemon.formeChange("Arceus-" + item.onPlate!, this.dex.abilities.get('thegraceofjesuschrist'), true); + }, + flags: {}, + }, + + // trace + eyesofeternity: { + shortDesc: "Moves used by/against this Pokemon always hit; only damaged by attacks.", + name: "Eyes of Eternity", + onAnyInvulnerabilityPriority: 1, + onAnyInvulnerability(target, source, move) { + if (move && (source === this.effectState.target || target === this.effectState.target)) return 0; + }, + onAnyAccuracy(accuracy, target, source, move) { + if (move && (source === this.effectState.target || target === this.effectState.target)) { + return true; + } + return accuracy; + }, + onDamage(damage, target, source, effect) { + if (effect.effectType !== 'Move') { + if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); + return false; + } + }, + flags: {}, + }, + + // Two of Roses + aswesee: { + shortDesc: "1x per turn: Stat gets boosted -> 50% chance to copy, 15% to raise another.", + desc: "Once per turn, when any active Pokemon has a stat boosted, this Pokemon has a 50% chance of copying it and a 15% chance to raise another random stat.", + name: "As We See", + onFoeAfterBoost(boost, target, source, effect) { // Opportunist + if (this.randomChance(1, 2)) { + if (effect && ['As We See', 'Mirror Herb', 'Opportunist'].includes(effect.name)) return; + const pokemon = this.effectState.target; + const positiveBoosts: Partial = {}; + let i: BoostID; + for (i in boost) { + if (boost[i]! > 0) { + positiveBoosts[i] = boost[i]; + } + } + if (Object.keys(positiveBoosts).length < 1) return; + this.boost(positiveBoosts, pokemon); + this.effectState.triggered = true; + } + }, + onResidual(target, source, effect) { + if (this.randomChance(15, 100) && this.effectState.triggered) { + const stats: BoostID[] = []; + const boost: SparseBoostsTable = {}; + let statPlus: BoostID; + for (statPlus in target.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (target.boosts[statPlus] < 6) { + stats.push(statPlus); + } + } + const randomStat: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + if (randomStat) boost[randomStat] = 1; + this.boost(boost, target, target); + } + this.effectState.triggered = false; + }, + flags: {}, + }, + + // UT + galeguard: { + shortDesc: "Mountaineer + Fur Coat.", + name: "Gale Guard", + onDamage(damage, target, source, effect) { + if (effect && effect.name === 'Stealth Rock') { + return false; + } + }, + onTryHit(target, source, move) { + if (move.type === 'Rock' && !target.activeTurns) { + this.add('-immune', target, '[from] ability: Mountaineer'); + return null; + } + }, + onModifyDef(def) { + return this.chainModify(2); + }, + flags: {breakable: 1}, + }, + + // umuwo + soulsurfer: { + name: "Soul Surfer", + shortDesc: "Drizzle + Surge Surfer.", + onStart(source) { + this.field.setWeather('raindance'); + }, + onModifySpe(spe) { + if (this.field.isTerrain('electricterrain')) { + return this.chainModify(2); + } + }, + flags: {}, + }, + + // Valerian + fullbloom: { + shortDesc: "This Pokémon's priority moves have double power.", + name: "Full Bloom", + onBasePowerPriority: 30, + onBasePower(basePower, pokemon, target, move) { + if (move.priority > 0) { + return this.chainModify(2); + } + }, + }, + + // Venous + concreteoverwater: { + shortDesc: "Gains +1 Defense and Sp. Def before getting hit by a super effective move.", + name: "Concrete Over Water", + onTryHit(target, source, move) { + if (target === source || move.category === 'Status') return; + if (target.runEffectiveness(move) > 0) { + this.boost({def: 1, spd: 1}, target); + } + }, + flags: {}, + }, + + // Violet + seenoevilhearnoevilspeaknoevil: { + shortDesc: "Dark immune; Cornerstone: Sound immune. Wellspring: Moves never miss. Hearthflame: 1.3x BP vs male.", + desc: "This Pokemon is immune to Dark-type attacks. If this Pokemon is Ogerpon-Cornerstone, it is immune to sound moves. If this Pokemon is Ogerpon-Wellspring, its moves will never miss. If this Pokemon is Ogerpon-Hearthflame, its damage against male targets is multiplied by 1.3x.", + name: "See No Evil, Hear No Evil, Speak No Evil", + onTryHit(target, source, move) { + if (target !== source && move.flags['sound'] && target.species.id.startsWith('ogerponcornerstone')) { + if (!this.heal(target.baseMaxhp / 4)) { + this.add('-immune', target, '[from] ability: See No Evil, Hear No Evil, Speak No Evil'); + } + return null; + } + + if (target !== source && move.type === 'Dark') { + this.add('-immune', target, '[from] ability: See No Evil, Hear No Evil, Speak No Evil'); + return null; + } + }, + onSourceAccuracy(accuracy, target, source, move) { + if (!source.species.id.startsWith('ogerponwellspring')) return; + if (typeof accuracy !== 'number') return; + return true; + }, + onSourceModifyDamage(damage, source, target, move) { + if (!source.species.id.startsWith('ogerponwellspring')) return; + if (typeof move.accuracy === 'number' && move.accuracy < 100) { + this.debug('neutralize'); + return this.chainModify(0.75); + } + }, + onBasePowerPriority: 24, + onBasePower(basePower, attacker, defender, move) { + if (!attacker.species.id.startsWith('ogerponhearthflame')) return; + if (defender.gender === 'M') { + this.debug('attack boost'); + return this.chainModify(1.3); + } + }, + flags: {breakable: 1}, + }, + + // Vistar + virtualidol: { + shortDesc: "Dancer + Punk Rock.", + name: "Virtual Idol", + onBasePowerPriority: 7, + onBasePower(basePower, attacker, defender, move) { + if (move.flags['sound']) { + this.debug('Punk Rock boost'); + return this.chainModify([5325, 4096]); + } + }, + onSourceModifyDamage(damage, source, target, move) { + if (move.flags['sound']) { + this.debug('Punk Rock weaken'); + return this.chainModify(0.5); + } + }, + flags: {breakable: 1}, + }, + + // vmnunes + wildgrowth: { + shortDesc: "Attacking moves also inflict Leech Seed on the target.", + name: "Wild Growth", + onModifyMovePriority: -1, + onAfterMove(source, target, move) { + if (target.hasType('Grass') || target.hasAbility('Sap Sipper') || !move.hit) return null; + target.addVolatile('leechseed', source); + }, + flags: {}, + }, + + // WarriorGallade + primevalharvest: { + shortDesc: "Sun: Heal 1/8 max HP, random berry if no item. Else 50% random berry if no item.", + desc: "In Sun, the user restores 1/8th of its maximum HP at the end of the turn and has a 100% chance to get a random berry if it has no item. Outside of sun, there is a 50% chance to get a random berry. Berry given will be one of: Cheri, Chesto, Pecha, Lum, Aguav, Liechi, Ganlon, Petaya, Apicot, Salac, Micle, Lansat, Enigma, Custap, Kee or Maranga.", + name: "Primeval Harvest", + onResidualOrder: 28, + onResidualSubOrder: 2, + onResidual(pokemon) { + const isSunny = this.field.isWeather(['sunnyday', 'desolateland']); + if (isSunny) { + this.heal(pokemon.baseMaxhp / 8, pokemon, pokemon, pokemon.getAbility()); + } + if (isSunny || this.randomChance(1, 2)) { + if (pokemon.hp && !pokemon.item) { + const berry = this.sample([ + 'cheri', 'chesto', 'pecha', 'lum', 'aguav', 'liechi', 'ganlon', 'petaya', + 'apicot', 'salac', 'micle', 'lansat', 'enigma', 'custap', 'kee', 'maranga', + ]) + 'berry'; + pokemon.setItem(berry); + pokemon.lastItem = ''; + this.add('-item', pokemon, pokemon.getItem(), '[from] ability: Primeval Harvest'); + } + } + }, + flags: {}, + }, + + // WigglyTree + treestance: { + shortDesc: "Rock Head + Filter.", + name: "Tree Stance", + onDamage(damage, target, source, effect) { + if (effect.id === 'recoil') { + if (!this.activeMove) throw new Error("Battle.activeMove is null"); + if (this.activeMove.id !== 'struggle') return null; + } + }, + onSourceModifyDamage(damage, source, target, move) { + if (target.getMoveHitData(move).typeMod > 0) { + this.debug('Tree Stance neutralize'); + return this.chainModify(0.75); + } + }, + flags: {breakable: 1}, + }, + + // xy01 + panic: { + shortDesc: "Lowers the foe's Atk and Sp. Atk by 1 upon switch-in.", + name: "Panic", + onStart(pokemon) { + let activated = false; + for (const target of pokemon.adjacentFoes()) { + if (!activated) { + this.add('-ability', pokemon, 'Panic', 'boost'); + activated = true; + } + if (target.volatiles['substitute']) { + this.add('-immune', target); + } else { + this.boost({atk: -1, spa: -1}, target, pokemon, null, true); + } + } + }, + flags: {}, + }, + + // Yellow Paint + yellowmagic: { + shortDesc: "+25% HP, +1 SpA, +1 Spe, Charge, or paralyzes attacker when hit by an Electric move; Electric immunity.", + desc: "This Pokemon is immune to Electric type moves. When this Pokemon is hit by one, it either: restores 25% of its maximum HP, boosts its Special Attack by 1 stage, boosts its Speed by 1 stage, gains the Charge effect, or paralyzes the attacker.", + name: "Yellow Magic", + onTryHit(target, source, move) { + if (target !== source && move.type === 'Electric') { + let didSomething = false; + switch (this.random(5)) { + case 0: + didSomething = !!this.heal(target.baseMaxhp / 4); + break; + case 1: + didSomething = !!this.boost({spa: 1}, target, target); + break; + case 2: + didSomething = !!this.boost({spe: 1}, target, target); + break; + case 3: + if (!target.volatiles['charge']) { + this.add('-ability', target, 'Yellow Magic'); + target.addVolatile('charge', target); + didSomething = true; + } + break; + case 4: + didSomething = source.trySetStatus('par', target); + break; + } + if (!didSomething) { + this.add('-immune', target, '[from] ability: Yellow Magic'); + } + return null; + } + }, + flags: {breakable: 1}, + }, + + // YveltalNL + heightadvantage: { + shortDesc: "If this Pokemon's height is more than that of the foe, -1 to foe's Attack/Sp. Atk.", + name: "Height Advantage", + onStart(pokemon) { + let activated = false; + for (const target of pokemon.adjacentFoes()) { + if (!activated) { + this.add('-ability', pokemon, 'Height Advantage', 'boost'); + activated = true; + } + if (target.volatiles['substitute']) { + this.add('-immune', target); + } else { + if (this.dex.species.get(pokemon.species).heightm > this.dex.species.get(target.species).heightm) { + this.boost({atk: -1, spa: -1}, target, pokemon, null, true); + } + } + } + }, + flags: {}, + }, + + // za + troll: { + shortDesc: "Using moves that can flinch makes user move first in their priority bracket.", + name: "Troll", + onFractionalPriority(priority, pokemon, target, move) { + if (move?.secondaries?.some(m => m.volatileStatus === 'flinch')) { + this.add('-activate', pokemon, 'ability: Troll'); + return 0.1; + } + }, + }, + + // Zarel + tempochange: { + shortDesc: "Switches Meloetta's forme between Aria and Pirouette at the end of each turn.", + name: "Tempo Change", + onResidualOrder: 29, + onResidual(pokemon) { + if (pokemon.species.baseSpecies !== 'Meloetta') return; + if (pokemon.species.name === 'Meloetta') { + changeSet(this, pokemon, ssbSets['Zarel-Pirouette'], true); + } else { + changeSet(this, pokemon, ssbSets['Zarel'], true); + } + }, + flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, notransform: 1}, + }, + + // zoro + ninelives: { + shortDesc: "Twice per battle, this Pokemon will survive a lethal hit with 1 HP remaining, regardless of HP.", + name: "Nine Lives", + onTryHit(pokemon, target, move) { + if (move.ohko) { + this.add('-immune', pokemon, '[from] ability: Nine Lives'); + return null; + } + }, + onDamagePriority: -30, + onDamage(damage, target, source, effect) { + if (damage >= target.hp && effect?.effectType === 'Move' && !this.effectState.busted) { + this.add('-ability', target, 'Nine Lives'); + if (this.effectState.busted === 0) { + this.effectState.busted = 1; + } else { + this.effectState.busted = 0; + } + return target.hp - 1; + } + }, + // Yes, this looks very patchwork-y. declaring new persistent global variables seems to be a no-go here + // so i repurposed one which should likely not affect anything else - have tested with clerica/zoro on both sides + // and their disguise/sturdy state is unaffected by modifying anything here. but let wg know if this breaks stuff. + flags: {breakable: 1}, + }, + + // Modified abilities + baddreams: { + inherit: true, + onResidual(pokemon) { + if (!pokemon.hp) return; + for (const target of pokemon.foes()) { + if (target.status === 'slp' || target.hasAbility(['comatose', 'mensiscage'])) { + this.damage(target.baseMaxhp / 8, target, pokemon); + } + } + }, + }, + deltastream: { + inherit: true, + onAnySetWeather(target, source, weather) { + if (this.field.getWeather().id === 'deltastream' && !STRONG_WEATHERS.includes(weather.id)) return false; + }, + }, + desolateland: { + inherit: true, + onAnySetWeather(target, source, weather) { + if (this.field.getWeather().id === 'desolateland' && !STRONG_WEATHERS.includes(weather.id)) return false; + }, + }, + dryskin: { + inherit: true, + onWeather(target, source, effect) { + if (target.hasItem('utilityumbrella')) return; + if (effect.id === 'raindance' || effect.id === 'primordialsea' || effect.id === 'stormsurge') { + this.heal(target.baseMaxhp / 8); + } else if (effect.id === 'sunnyday' || effect.id === 'desolateland') { + this.damage(target.baseMaxhp / 8, target, target); + } + }, + }, + forecast: { + inherit: true, + onWeatherChange(pokemon) { + if (pokemon.baseSpecies.baseSpecies !== 'Castform' || pokemon.transformed) return; + let forme = null; + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + case 'desolateland': + if (pokemon.species.id !== 'castformsunny') forme = 'Castform-Sunny'; + break; + case 'raindance': + case 'primordialsea': + case 'stormsurge': + if (pokemon.species.id !== 'castformrainy') forme = 'Castform-Rainy'; + break; + case 'hail': + case 'snow': + if (pokemon.species.id !== 'castformsnowy') forme = 'Castform-Snowy'; + break; + default: + if (pokemon.species.id !== 'castform') forme = 'Castform'; + break; + } + if (pokemon.isActive && forme) { + pokemon.formeChange(forme, this.effect, false, '[msg]'); + } + }, + }, + hydration: { + inherit: true, + onResidual(pokemon) { + if (pokemon.status && ['raindance', 'primordialsea', 'stormsurge'].includes(pokemon.effectiveWeather())) { + this.debug('hydration'); + this.add('-activate', pokemon, 'ability: Hydration'); + pokemon.cureStatus(); + } + }, + }, + neutralizinggas: { + inherit: true, + onPreStart(pokemon) { + this.add('-ability', pokemon, 'Neutralizing Gas'); + pokemon.abilityState.ending = false; + for (const target of this.getAllActive()) { + if (target.hasItem('Ability Shield')) { + this.add('-block', target, 'item: Ability Shield'); + continue; + } + // Can't suppress a Tatsugiri inside of Dondozo already + if (target.volatiles['commanding']) { + continue; + } + if (target.illusion) { + this.singleEvent('End', this.dex.abilities.get('Illusion'), target.abilityState, target, pokemon, 'neutralizinggas'); + } + if (target.volatiles['slowstart']) { + delete target.volatiles['slowstart']; + this.add('-end', target, 'Slow Start', '[silent]'); + } + if (STRONG_WEATHERS.includes(target.getAbility().id)) { + this.singleEvent('End', this.dex.abilities.get(target.getAbility().id), target.abilityState, target, pokemon, 'neutralizinggas'); + } + } + }, + }, + overcoat: { + inherit: true, + onImmunity(type, pokemon) { + if (type === 'sandstorm' || type === 'deserteddunes' || type === 'hail' || type === 'powder') return false; + }, + }, + primordialsea: { + inherit: true, + onAnySetWeather(target, source, weather) { + if (this.field.getWeather().id === 'primordialsea' && !STRONG_WEATHERS.includes(weather.id)) return false; + }, + }, + raindish: { + inherit: true, + onWeather(target, source, effect) { + if (target.hasItem('utilityumbrella')) return; + if (effect.id === 'raindance' || effect.id === 'primordialsea' || effect.id === 'stormsurge') { + this.heal(target.baseMaxhp / 16); + } + }, + }, + sandforce: { + inherit: true, + onBasePower(basePower, attacker, defender, move) { + if (this.field.isWeather(['sandstorm', 'deserteddunes'])) { + if (move.type === 'Rock' || move.type === 'Ground' || move.type === 'Steel') { + this.debug('Sand Force boost'); + return this.chainModify([5325, 4096]); + } + } + }, + onImmunity(type, pokemon) { + if (type === 'sandstorm' || type === 'deserteddunes') return false; + }, + }, + sandrush: { + inherit: true, + onModifySpe(spe, pokemon) { + if (this.field.isWeather(['sandstorm', 'deserteddunes'])) { + return this.chainModify(2); + } + }, + onImmunity(type, pokemon) { + if (type === 'sandstorm' || type === 'deserteddunes') return false; + }, + }, + sandveil: { + inherit: true, + onImmunity(type, pokemon) { + if (type === 'sandstorm' || type === 'deserteddunes') return false; + }, + onModifyAccuracy(accuracy) { + if (typeof accuracy !== 'number') return; + if (this.field.isWeather(['sandstorm', 'deserteddunes'])) { + this.debug('Sand Veil - decreasing accuracy'); + return this.chainModify([3277, 4096]); + } + }, + }, + swiftswim: { + inherit: true, + onModifySpe(spe, pokemon) { + if (['raindance', 'primordialsea', 'stormsurge'].includes(pokemon.effectiveWeather())) { + return this.chainModify(2); + } + }, + }, +}; diff --git a/data/mods/gen9ssb/conditions.ts b/data/mods/gen9ssb/conditions.ts new file mode 100644 index 000000000000..8a77dc45afc6 --- /dev/null +++ b/data/mods/gen9ssb/conditions.ts @@ -0,0 +1,3198 @@ +import {ssbSets} from "./random-teams"; +import {changeSet, getName, enemyStaff} from './scripts'; + +export const Conditions: {[k: string]: ModdedConditionData & {innateName?: string}} = { + /* + // Example: + userid: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Username')}|Switch In Message`); + }, + onSwitchOut() { + this.add(`c:|${getName('Username')}|Switch Out Message`); + }, + onFaint() { + this.add(`c:|${getName('Username')}|Faint Message`); + }, + // Innate effects go here + }, + IMPORTANT: Obtain the username from getName + */ + // Please keep statuses organized alphabetically based on staff member name! + aegii: { + noCopy: true, + onStart() { + this.add(`c:|${getName('aegii')}|**It is now aegii's turn to beat you down.**`); + }, + onSwitchOut(pokemon) { + if (this.randomChance(2, 100)) { + this.add(`c:|${getName('aegii')}|...right, I was saying in SSB4 to "stan loona", but this has to be changed now that we've found out that the company managing loona is shady af. I would like to amend that to "stan the individual members of loona" (or if you want, you can choose to stan any other group of your choice!)`); + } else { + pokemon.side.addSlotCondition(pokemon, 'aegiibpmsg'); + } + }, + onFaint() { + this.add(`c:|${getName('aegii')}|nerd`); + }, + }, + aegiibpmsg: { + onSwap(target, source) { + if (!target.fainted) { + this.add(`c:|${getName('aegii')}|~yes ${target.name}`); + target.side.removeSlotCondition(target, 'aegiibpmsg'); + } + }, + }, + aelita: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Aelita')}|You know, no one appreciates the work that goes into making weapons and towers.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Aelita')}|Gotta use this tower to change sectors, BRB.`); + }, + onFaint() { + this.add(`c:|${getName('Aelita')}|Well, I hope the Lyoko Warriors are at least well equipped.`); + }, + }, + aethernum: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Aethernum')}|We are the Shadow Garden, and your time has come. Prepare yourself`); + }, + onSwitchOut() { + this.add(`c:|${getName('Aethernum')}|Better play the side character for now, i'll wait a more favorable opportunity`); + }, + onFaint() { + this.add(`c:|${getName('Aethernum')}|There are important things that i have to attend, i don't have any more time for you`); + }, + }, + akir: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Akir')}|hey whats up`); + }, + onSwitchOut() { + this.add(`c:|${getName('Akir')}|ok c ya`); + }, + onFaint() { + this.add(`c:|${getName('Akir')}|oh woops`); + }, + }, + alex: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Alex')}|meow`); + }, + onSwitchOut() { + this.add(`c:|${getName('Alex')}|meow meow`); + }, + onFaint() { + this.add(`c:|${getName('Alex')}|:3`); + }, + }, + alexander489: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Alexander489')}|gm`); + }, + onSwitchOut() { + this.add(`c:|${getName('Alexander489')}|gn`); + }, + onFaint() { + this.add(`c:|${getName('Alexander489')}|kek`); + }, + }, + appletunalamode: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Appletun a la Mode')}|QuQ`); + }, + onFaint() { + this.add(`c:|${getName('Appletun a la Mode')}|QnQ`); + }, + innateName: "Ripen", + shortDesc: "When this Pokemon eats certain Berries, the effects are doubled.", + onTryHeal(damage, target, source, effect) { + if (!effect || target.illusion) return; + if (effect.name === 'Berry Juice' || effect.name === 'Leftovers') { + this.add('-activate', target, 'ability: Ripen'); + } + if ((effect as Item).isBerry) return this.chainModify(2); + }, + onChangeBoost(boost, target, source, effect) { + if (target.illusion) return; + if (effect && (effect as Item).isBerry) { + let b: BoostID; + for (b in boost) { + boost[b]! *= 2; + } + } + }, + onSourceModifyDamagePriority: -1, + onSourceModifyDamage(damage, source, target, move) { + if (target.illusion) return; + if (target.abilityState.berryWeaken) { + target.abilityState.berryWeaken = false; + return this.chainModify(0.5); + } + }, + onTryEatItemPriority: -1, + onTryEatItem(item, pokemon) { + if (pokemon.illusion) return; + this.add('-activate', pokemon, 'ability: Ripen'); + }, + onEatItem(item, pokemon) { + if (pokemon.illusion) return; + const weakenBerries = [ + 'Babiri Berry', 'Charti Berry', 'Chilan Berry', 'Chople Berry', 'Coba Berry', 'Colbur Berry', 'Haban Berry', 'Kasib Berry', 'Kebia Berry', 'Occa Berry', 'Passho Berry', 'Payapa Berry', 'Rindo Berry', 'Roseli Berry', 'Shuca Berry', 'Tanga Berry', 'Wacan Berry', 'Yache Berry', + ]; + // Record if the pokemon ate a berry to resist the attack + pokemon.abilityState.berryWeaken = weakenBerries.includes(item.name); + }, + }, + aqrator: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('aQrator')}|Let me tell you my sTori.`); + if (this.toID(enemyStaff(pokemon)) === 'warriorgallade') { + this.add(`c:|${getName('aQrator')}|Hey Zeiol, how's your brother?`); + } + }, + onSwitchOut() { + this.add(`c:|${getName('aQrator')}|A few Water Guns and Force Palms later, Tori and Riolu- Wait where are you going?`); + }, + onFaint() { + this.add(`c:|${getName('aQrator')}|But I only got to part 3...`); + }, + }, + aquagtothepast: { + noCopy: true, + onStart() { + this.add(`c:|${getName('A Quag To The Past')}|I'm coming out of my cage and I've been doing just fine`); + }, + onSwitchOut() { + this.add(`c:|${getName('A Quag To The Past')}|so true`); + }, + onFaint() { + const lines = [ + 'Anger he felt', + 'Before Showderp he knelt', + 'A moderator so quiet', + 'Inventing his riot', + '[[]]', + 'Onward he gazed', + 'As his cattle had grazed', + 'Wolves on the hills', + 'Mom paying his bills', + '[[]]', + 'His keyboard he used', + 'His power: abused', + '"Silent as me"', + '"You must be"', + '[[]]', + 'The chatroom is dead', + 'Yet quickly he fled', + 'Before retaliation, he made fast', + 'A Quag To The Past', + ]; + for (const line of lines) { + this.add(`c:|${getName('A Quag To The Past')}|${line}`); + } + }, + }, + archas: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Archas')}|We'll get over this barrier together!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Archas')}|Stand your ground, everyone!`); + }, + onFaint() { + this.add(`c:|${getName('Archas')}|What would Grandfather... think of me now...`); + }, + }, + arcueid: { + noCopy: true, + onStart() { + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠛⠛⠛⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⠋⠈⠀⠀⠀⠀⠐⠺⣖⢄⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⡏⢀⡆⠀⠀⠀⢋⣭⣽⡚⢮⣲⠆⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⡇⡼⠀⠀⠀⠀⠈⠻⣅⣨⠇⠈⠀⠰⣀⣀⣀⡀⠀⢸⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⡇⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⢷⣶⠶⣃⢀⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⠀⠈⠓⠚⢸⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢀⡠⠀⡄⣀⠀⠀⠀⢻⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠐⠉⠀⠀⠙⠉⠀⠠⡶⣸⠁⠀⣠⣿⣿⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣦⡆⠀⠐⠒⠢⢤⣀⡰⠁⠇⠈⠘⢶⣿⣿⣿⣿⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠠⣄⣉⣙⡉⠓⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿`); + this.add('-message', `⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣀⣀⠀⣀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿`); + }, + onFaint() { + this.add(`c:|${getName('Arcueid')}|change da world,,, my final message. Goodb ye`); + }, + }, + arsenal: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Arsenal')}|Show me your true form!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Arsenal')}|I should write something`); + }, + onFaint() { + this.add(`c:|${getName('Arsenal')}|Dont forget this feeling !`); + }, + }, + artemis: { + noCopy: true, + onFoeAfterFaint(target, source, effect) { + this.add('message', `${source.name} was banned from Pok\u00e9mon Showdown!`); + }, + }, + arya: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Arya')}|NORMAL SUMMON DEEP SEA DIVA`); + }, + onSwitchOut() { + this.add(`c:|${getName('Arya')}|Oleeeee too good for this fight!`); + }, + onFaint() { + this.add(`c:|${getName('Arya')}|Nevermind, happy tuesday and let's pray for the 33.`); + }, + onAfterMega() { + this.add(`c:|${getName('Arya')}|W-whats this? Oh, come on...!!!`); + }, + }, + autumn: { + noCopy: true, + onFaint() { + this.add(`c:|${getName('autumn')}|lost ggs`); + }, + }, + ausma: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('ausma')}|what it Do what it Be`); + switch (this.toID(enemyStaff(pokemon))) { + case 'umuwo': + this.add(`c:|${getName('ausma')}|it's.... chu......`); + break; + case 'spoo': + this.add(`c:|${getName('ausma')}|LOOL SPOOP?!`); + break; + case 'rumia': + this.add(`c:|${getName('ausma')}|oh no... it's poomia....`); + break; + case 'lily': + this.add(`c:|${getName('ausma')}|togedemaru`); + break; + case 'lumari': + this.add(`c:|${getName('ausma')}|we should watch the next ladybug ep after this tbh`); + break; + } + }, + onSwitchOut() { + const phrases = [ + 'vr shift', + 'commission', + 'bio lab', + 'lab report', + 'council post', + 'anti-tera blast propaganda post', + ]; + this.add(`c:|${getName('ausma')}|oh shit i forgot to do this ${this.sample(phrases)} hang on`); + }, + onFaint() { + this.add(`c:|${getName('ausma')}|God has punished me for my hubris.`); + }, + onTryMove(source, target, move) { + this.effectState.foeMemory = target.name; + }, + onFoeSwitchOut(pokemon) { + if (this.effectState.foeMemory && pokemon.species.name === "Fennekin") { + changeSet(this, pokemon, ssbSets[this.effectState.foeMemory]); + } + }, + onFoeFaint(target, source, effect) { + if (this.effectState.foeMemory && target.species.name === "Fennekin") { + changeSet(this, target, ssbSets[this.effectState.foeMemory]); + } + }, + }, + auzbat: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('AuzBat')}|I'm Batman`); + }, + onSwitchOut() { + this.add(`c:|${getName('AuzBat')}|I believe what doesn't kill you simply makes you, stranger`); + }, + onFaint() { + this.add(`c:|${getName('AuzBat')}|All I have are negative thoughts.`); + }, + }, + avarice: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('avarice')}|so what's tea`); + }, + onSwitchOut() { + this.add(`c:|${getName('avarice')}|l8r h8r`); + }, + onFaint() { + this.add(`c:|${getName('avarice')}|gg ig`); + }, + }, + beowulf: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Beowulf')}|Fear the bee`); + }, + onSwitchOut() { + this.add(`c:|${getName('Beowulf')}|/me buzzes`); + }, + onFaint() { + this.add(`c:|${getName('Beowulf')}|/me buzzes`); + }, + }, + berry: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('berry')}|berry`); + }, + onSwitchOut() { + this.add(`c:|${getName('berry')}|rock`); + }, + onFaint() { + this.add(`c:|${getName('berry')}|and all I got was this lousy t-shirt`); + }, + }, + billo: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Billo')}|So where did you say you got this mon from again?`); + }, + onFaint(pokemon) { + if (pokemon.species.name === 'Solgaleo' && !pokemon.getVolatile('perishsong')) { + this.add(`c:|${getName('Billo')}|Bruh this is the worst hack I've ever seen...`); + } else if (pokemon.species.name === 'Solgaleo') { + this.add(`c:|${getName('Billo')}|@Room Owner this user needs blacklisting but I have to head to bed.`); + } else if (pokemon.species.name === 'Lunala') { + this.add(`c:|${getName('Billo')}|Someone take me to the hozzy please.`); + } + }, + innateName: "Sheer Force/Reckless", + shortDesc: "Lunala: Sheer Force. Solgaleo: Reckless", + onModifyMove(move, pokemon) { + if (!pokemon.illusion && pokemon.species.name === 'Lunala') { + if (move.secondaries) { + delete move.secondaries; + // Technically not a secondary effect, but it is negated + delete move.self; + if (move.id === 'clangoroussoulblaze') delete move.selfBoost; + // Actual negation of `AfterMoveSecondary` effects implemented in scripts.js + move.hasSheerForce = true; + } + } + }, + onBasePowerPriority: 21, + onBasePower(basePower, pokemon, target, move) { + if (move.hasSheerForce) return this.chainModify([5325, 4096]); + if (!pokemon.illusion && pokemon.species.name === 'Solgaleo') { + if (move.recoil || move.hasCrashDamage) { + this.debug('Reckless boost'); + return this.chainModify([4915, 4096]); + } + } + }, + + }, + blazeofvictory: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('blazeofvictory')}|blazeofvictorys in ur puter, askin u trivia questinz`); + }, + onSwitchOut() { + this.add(`c:|${getName('blazeofvictory')}|I'll let you have bp... for now...`); + }, + onFaint() { + this.add(`c:|${getName('blazeofvictory')}|[ bleps at you sadly :( ]`); + }, + }, + blitzuser: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Blitz')}|Hey guys, did you know that Chi-Yu is a Water/Dark-type Pokémon introduced in Generation IX? Chi-Yu is number 1004 in the National Dex, and a member of the Undiscovered egg group. Chi-Yu has no evolutionary relatives. Chi-Yu has a base stat total of 570, as do all the Treasures of Ruin, and it has the ability Blitz of Ruin. Chi-Yu learns various strong moves, such as Fiery Wrath, Lava Plume, and Nasty Plot. Chi-Yu is a blue Pokémon with a fish-like build, weighing in at 10.8 pounds and standing 1'04" feet tall. Chi-Yu's design is inspired by goldfish, flames, and beads. Chi-Yu controls flames burning at over 5,400 degrees Fahrenheit, and casually swims through the sea of lava it creates by melting rock and sand, according to various Pokedex entries. Chi-Yu is the only Treasure of Ruin in Generation IX that was quickbanned from Smogon's OverUsed tier. Many Trainers like Chi-Yu for its design, which mixes cool and cute, as well as its good stats and movepool.`); + this.add('-start', pokemon, 'typechange', 'Water/Dark', '[silent]'); + }, + onSwitchOut() { + this.add(`c:|${getName('Blitz')}|Splashyyy!`); + }, + onFaint() { + this.add(`c:|${getName('Blitz')}|https://www.youtube.com/watch?v=lPGipwoJiOM`); + }, + }, + breadstycks: { + noCopy: true, + onStart(pokemon) { + if (enemyStaff(pokemon) === "Mad Monty") { + this.add(`c:|${getName('Breadstycks')}|Ope, sorry`); + } else { + this.add(`c:|${getName('Breadstycks')}|I loeuf you <3`); + } + }, + // onSwitchOut implemented in ability instead + onFoeSwitchIn(pokemon) { + if (pokemon.name === "Mad Monty") { + this.add(`c:|${getName('Breadstycks')}|Ope, sorry`); + } + }, + onFaint() { + this.add(`c:|${getName('Breadstycks')}|Oh, ma vie... c'est 'pitable'...`); + }, + onFoeFaint(target, source, effect) { + if (source === this.effectState.target && effect?.name === 'Painful Exit') { + this.add(`c:|${getName('Breadstycks')}|Ashes to ashes, crust to crust.`); + } else if (target.name === "Mad Monty") { + this.add(`c:|${getName('Breadstycks')}|G.G, weather you like it or not`); + } else { + this.add(`c:|${getName('Breadstycks')}|Ope, someone's swallowing fishes.`); + } + }, + innateName: "Well-Baked Body", + shortDesc: "This Pokemon's Defense is raised 2 stages if hit by a Fire move; Fire immunity.", + onTryHit(target, source, move) { + if (!target.illusion && target !== source && move.type === 'Fire') { + if (!this.boost({def: 2})) { + this.add('-immune', target, '[from] ability: Well-Baked Body'); + } + return null; + } + }, + }, + cake: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Cake')}|randem batels`); + if (pokemon.illusion) return; + this.effectState.moves = [ + pokemon.moveSlots[0].id, + pokemon.moveSlots[1].id, + pokemon.moveSlots[2].id, + ]; + }, + onSwitchOut(pokemon) { + this.add(`c:|${getName('Cake')}|hustle is a good ability`); + if (!this.effectState.moves) return; + for (const [i, moveid] of this.effectState.moves.entries()) { + const replacement = this.dex.moves.get(moveid); + const replacementMove = { + move: replacement.name, + id: replacement.id, + pp: replacement.pp, + maxpp: replacement.pp, + target: replacement.target, + disabled: false, + used: false, + }; + pokemon.moveSlots[i] = replacementMove; + pokemon.baseMoveSlots[i] = replacementMove; + } + // very notable infinite pp problem here, especially with the set changes... + // consider nerfing custom move pp and removing switch-out moveset restoration. + }, + onFaint() { + this.add(`c:|${getName('Cake')}|livid washed is a nerd`); + }, + }, + chaos: { + noCopy: true, + }, + chloe: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Chloe')}|hey!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Chloe')}|cya soon o/`); + }, + onFaint() { + this.add(`c:|${getName('Chloe')}|ouch :(`); + }, + }, + ciran: { + noCopy: true, + onStart() { + this.add(`c:|${getName('ciran')}|Nobody expects the Spanish Inquisition!`); + }, + onSwitchOut() { + this.add(`c:|${getName('ciran')}|Had enough, eh? Just a flesh wound!`); + }, + onFaint() { + this.add(`c:|${getName('ciran')}|Alright then, we'll call it a draw.`); + }, + }, + clefableuser: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Clefable')}|LF: A win`); + }, + onSwitchOut() { + this.add(`c:|${getName('Clefable')}|Catch you on the flip side!`); + }, + onFaint() { + this.add(`c:|${getName('Clefable')}|I needed a VISA to be in Paldea, Wasn't even worth it. Bloody Brexit.`); + }, + }, + clementine: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Clementine')}|Je suis peut-être con comme une table`); + }, + onSwitchOut(pokemon) { + if (pokemon.volatiles['flipped']) { + pokemon.removeVolatile('flipped'); + changeSet(this, pokemon, ssbSets['Clementine']); + this.add(`c:|${getName('Clementine')}|┬──┬◡ノ(° -°ノ)`); + } else { + this.add(`c:|${getName('Clementine')}|I fucking love air-conditioning.`); + } + }, + onFoeSwitchIn(pokemon) { + if ((pokemon.illusion || pokemon).name === 'Kennedy') { + this.add(`c:|${getName('Clementine')}|yikes`); + } + }, + onFaint() { + this.add(`c:|${getName('Clementine')}|ofc`); + }, + }, + clerica: { + noCopy: true, + onStart() { + this.add(`c:|${getName('clerica')}|gm`); + }, + onSwitchOut() { + this.add(`c:|${getName('clerica')}|gn`); + }, + onFaint() { + this.add(`c:|${getName('clerica')}|unfort`); + }, + }, + clouds: { + onStart() { + this.add(`c:|${getName('Clouds')}|i can feel it coming in the air tonight...`); + }, + onSwitchOut() { + this.add(`c:|${getName('Clouds')}|oh lord`); + }, + onFaint() { + this.add(`c:|${getName('Clouds')}|and i've been waiting for this moment for all my life`); + }, + }, + coolcodename: { + onStart(pokemon) { + this.add(`c:|${getName('Coolcodename')}|LFGI ${pokemon.side.name}`); + }, + onSwitchOut() { + this.add(`c:|${getName('Coolcodename')}|right, i forgot i have a skill issue`); + }, + onFaint() { + this.add(`c:|${getName('Coolcodename')}|mb LOL`); + }, + }, + corthius: { + onStart(pokemon) { + this.add(`c:|${getName('Corthius')}|*exessively drums on its chest*`); + }, + onSwitchOut() { + this.add(`c:|${getName('Corthius')}|I left my oven on, brb.`); + }, + onFaint() { + this.add(`c:|${getName('Corthius')}|Maurice, I can't "move it move it" anymore.`); + }, + }, + dawnofartemis: { + noCopy: true, + onStart(pokemon) { + const god = (pokemon.species.id === 'necrozmaultra') ? 'Ares' : 'Artemis'; + this.add(`c:|${getName('Dawn of Artemis')}|Time for you to witness the power of ${god}!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Dawn of Artemis')}|You'll witness it again later.`); + }, + onFaint() { + this.add(`c:|${getName('Dawn of Artemis')}|Sad.`); + }, + }, + dawoblefet: { + noCopy: true, + onStart() { + this.add(`c:|${getName('DaWoblefet')}|What's going on guys? This is DaWoblefet, and welcome to Mechanics Monday.`); + }, + onSwitchOut() { + this.add(`c:|${getName('DaWoblefet')}|Until next time, have a good one.`); + }, + onFaint() { + this.add(`c:|${getName('DaWoblefet')}|mished`); + }, + }, + deftinwolf: { + noCopy: true, + onStart() { + this.add(`c:|${getName('deftinwolf')}|Run, little rabbit.`); + }, + onSwitchOut() { + this.add(`c:|${getName('deftinwolf')}|I'll give you a moment to say your prayers.`); + }, + onFaint() { + this.add(`c:|${getName('deftinwolf')}|Death is only the beginning.`); + }, + }, + dhelmiseuser: { + noCopy: true, + onStart(pokemon) { + let quotes: string[] = []; + if (!pokemon.m.sentOutBefore) { + quotes = [ + `Humanity is shackled. I will find the key.`, + `Humanity is shackled. I hold the key.`, + `Our minds are shackled. Submission is the key.`, + ]; + pokemon.m.sentOutBefore = true; + } else { + quotes = [ + `If it must be done, let it be done quickly.`, + `Let us keep our questionable choices to a minimum.`, + `On with it.`, + `I'll see this matter resolved.`, + `Knowledge is its own reward.`, + `More field research? Grand...`, + `Much lies in store. Let us see to it.`, + `Push your limits. Nothing breaks that I cannot mend.`, + `Your work is a hypothesis. Prove it.`, + `Let us go on to the end.`, + `Victory grows more certain by the minute.`, + `Victory is within our grasp.`, + `I have come not to sve, but to __empower__.`, + `Now our true work begins.`, + `My soul hungers.`, + `Do not fight your true nature.`, + ]; + if (pokemon.side.pokemonLeft > pokemon.side.foe.pokemonLeft) { + quotes.push(`We hold the advantage. Shall we keep it?`); + } else if (pokemon.side.pokemonLeft === pokemon.side.foe.pokemonLeft) { + quotes.push( + `If we're hopingto win, now's the time.`, + `It all comes down to this.`, + `Prepare yourselves for the decisive battle.`, + `This fight is all that remains.` + ); + } else { + quotes.push( + `Another setback and all will be lost.`, + `One more mistake, and we fail.`, + `We cannot tolerate any more missteps.`, + `We must reverse the course that we are on.` + ); + } + } + this.add(`c:|${getName('dhelmise')}|${this.sample(quotes)}`); + }, + onSwitchOut() { + const quotes = [ + `Fading.`, + `Like shadow.`, + `Obscured.`, + `Of the Void.`, + `Dissolution.`, + `Into darkness.`, + `Unknowable.`, + ]; + this.add(`c:|${getName('dhelmise')}|${this.sample(quotes)}`); + }, + onFaint() { + this.add(`c:|${getName('dhelmise')}|Revive me.`); + }, + }, + diananicole: { + noCopy: true, + onStart() { + this.add(`c:|${getName('DianaNicole')}|Ready for Initiative? Cause I'm gonna Clickity Clackity, Roll to Attackity!`); + }, + onSwitchOut() { + this.add(`c:|${getName('DianaNicole')}|Dropping out of Initiative`); + }, + onFaint() { + this.add(`c:|${getName('DianaNicole')}|Guess I didn't roll high enough`); + }, + }, + easyonthehills: { + noCopy: true, + onStart() { + this.add(`c:|${getName('EasyOnTheHills')}|Yo`); + }, + onSwitchOut() { + this.add(`c:|${getName('EasyOnTheHills')}|Would you rather have unlimited bacon, but no more video games, or would you rather have games, unlimited games, but no more games.`); + }, + onFaint() { + this.add(`c:|${getName('EasyOnTheHills')}|__loud Dorito bag crinkling noises__`); + }, + }, + elliot: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Elliot')}|Anyone fancy a brew?`); + }, + onFaint(pokemon) { + if (pokemon.getVolatile('boiled')) { + this.add(`c:|${getName('Elliot')}|Also try Vimbos!`); + } else { + this.add(`c:|${getName('Elliot')}|We've ran out of teabags :(`); + } + }, + }, + elly: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Elly')}|any`); + }, + onSwitchOut() { + this.add(`c:|${getName('Elly')}|ok bye`); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Elly')}|that wasn't very nice, ${enemyStaff(pokemon)}.`); + }, + }, + emboar02: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Emboar02')}|I'm the best fire-fighting starter!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Emboar02')}|This is boaring...`); + }, + onFaint() { + this.add(`c:|${getName('Emboar02')}|Too much recoil D:`); + }, + }, + eva: { + noCopy: true, + onStart() { + this.add(`c:|${getName('eva')}|You kept me like a secret but I kept you like an oath`); + }, + onSwitchOut() { + this.add(`c:|${getName('eva')}|They don't think it be like it is, but it do`); + }, + onFaint() { + this.add(`c:|${getName('eva')}|Aight Imma head out`); + }, + }, + fame: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Fame')}|:hi:`); + }, + onSwitchOut() { + this.add(`c:|${getName('Fame')}|:bye:`); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Fame')}|NOOOOOOOOOOOO! I'M A STAR! PLEASE, IM A STAR!`); + }, + }, + felucia: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Felucia')}|Good morning gamers! Just here to fix a few things`); + }, + onSwitchOut(pokemon) { + this.add(`c:|${getName('Felucia')}|I have bots to make and chatrooms to manage...`); + if (pokemon.illusion) return; + pokemon.heal(pokemon.baseMaxhp / 3); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Felucia')}|Okay that's enough work for today`); + }, + innateName: "Regenerator", + shortDesc: "Regenerator + innate +1 Speed.", + onModifySpe(spe, pokemon) { + if (pokemon.illusion) return; + return this.chainModify(1.5); + }, + }, + froggeh: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Froggeh')}|Hello. Froggeh the dad here. And welcome to The Happy Place!`); + switch (this.toID(enemyStaff(pokemon))) { + case 'valerian': + this.add(`c:|${getName('Froggeh')}|See that frog, she is green, diggin the froggy queen!`); + break; + case 'queeni': + this.add(`c:|${getName('Froggeh')}|Imagine if you will- a frog with a smol crown on her head.`); + break; + } + }, + onSwitchOut() { + this.add(`c:|${getName('Froggeh')}|It's not easy being dad.`); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Froggeh')}|URG! I've croaked...`); + }, + onFoeMoveAborted(target, source, move) { + if (source.getVolatile('confusion')) { + if (source.foes()) { + for (const foe of source.foes()) { + if (foe.illusion || foe.name !== 'Froggeh') continue; + this.boost({atk: 1, def: 1}, foe); + } + } + } + }, + }, + frostyicelad: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Frostyicelad')}|why am I a Qwilfish`); + if (pokemon.set.shiny) { + const moveIndex = Math.max(pokemon.moves.indexOf('direclaw'), + pokemon.moves.indexOf('meteormash'), pokemon.moves.indexOf('bittermalice')); + if (moveIndex < 0) { + return; + } + const replacement = this.dex.moves.get("fishiousrend"); + const newMoveSlot = { + move: replacement.name, + id: replacement.id, + pp: replacement.pp, + maxpp: replacement.pp, + target: replacement.target, + disabled: false, + used: false, + }; + pokemon.moveSlots[moveIndex] = newMoveSlot; + pokemon.teraType = "Water"; + } + }, + onSwitchOut() { + this.add(`c:|${getName('Frostyicelad')}|time to bring in the Ice types`); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Frostyicelad')}|Why am I not lapras`); + }, + onUpdate(pokemon) { + if (!pokemon.illusion && pokemon.status === 'brn') { + this.add('-activate', pokemon, 'ability: Water Veil'); + pokemon.cureStatus(); + } + }, + onSetStatus(status, target, source, effect) { + if (target.illusion || status.id !== 'brn') return; + if ((effect as Move)?.status) { + this.add('-immune', target, '[from] ability: Water Veil'); + } + return false; + }, + innateName: "Water Veil", + }, + frozoid: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Frozoid')}|Let's do this`); + }, + onSwitchOut() { + this.add(`c:|${getName('Frozoid')}|Wait let me finish what i was doi-`); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Frozoid')}|Man.`); + }, + }, + ganjafin: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Ganjafin')}|How's it going guys, Ganjafin here`); + }, + onSwitchOut() { + this.add(`c:|${getName('Ganjafin')}|And I'll see you guys, in the next one`); + }, + onFaint() { + this.add(`c:|${getName('Ganjafin')}|I knew I'd die before Silksong came out`); + }, + }, + goroyagami: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Goro Yagami')}|It's now or never!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Goro Yagami')}|Time for a special Cyndaquil retreat!`); + }, + onFaint() { + this.add(`c:|${getName('Goro Yagami')}|Until next time!`); + }, + }, + hasteinky: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Haste Inky')}|Wanna see whatever weird thing I can do?`); + }, + onSwitchOut() { + this.add(`c:|${getName('Haste Inky')}|Good call! I wasn't liking this situation either.`); + }, + onFaint() { + this.add(`c:|${getName('Haste Inky')}| I am NOT feeling full of beans rn…`); + }, + }, + havi: { + noCopy: true, + onStart() { + this.add(`c:|${getName('havi')}|kos, or some say kosm`); + }, + onSwitchOut() { + this.add(`c:|${getName('havi')}|grant us eyes, grant us eyes`); + }, + onFaint() { + this.add(`c:|${getName('havi')}|the nightmare swirls and churns unending n_n`); + }, + }, + hecate: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Hecate')}|git pull ps hecate`); + }, + onSwitchOut() { + this.add(`c:|${getName('Hecate')}|git switch`); + }, + onFaint() { + this.add(`c:|${getName('Hecate')}|git checkout --detach HEAD && git commit -m "war crimes"`); + }, + }, + hizo: { + noCopy: true, + onStart() { + let friends; + const tier = this.sample(['Partners in Crime', 'Sketchmons', 'Godly Power']); + switch (tier) { + case 'Partners in Crime': + friends = ['chromate', 'yuki', 'YoBuddyTheBaker', 'zoe', 'jasprose']; + break; + case 'Sketchmons': + friends = ['Eggs', 'career ended', 'ponchlake']; + break; + default: + friends = ['roonie217', 'chromate', 'tkhanh', 'lilyhii']; + break; + } + this.add(`c:|${getName('HiZo')}|Why am I needed here, I was in the middle of a game of ${tier} with ${this.sample(friends)}`); + this.add(`c:|${getName('HiZo')}|Did I break something again`); + }, + onSwitchOut() { + this.add(`c:|${getName('HiZo')}|This isn't my fault this time I swear`); + this.add(`c:|${getName('HiZo')}|Ok maybe it is but that doesn't mean you should blame me automatically`); + }, + onFaint() { + this.add(`c:|${getName('HiZo')}|What did I do to deserve this`); + this.add(`c:|${getName('HiZo')}|Actually on second thought don't answer that question`); + }, + }, + hoeenhero: { + noCopy: true, + onStart() { + this.add(`c:|${getName('HoeenHero')}|Ok what did Hippopotas break now?`); + }, + onSwitchOut() { + this.add(`c:|${getName('HoeenHero')}|TODO think of a switch out message later.`); + }, + onFaint() { + this.add(`c:|${getName('HoeenHero')}|I should of reprogrammed the RNG to be in my favor too...`); + }, + }, + hsy: { + noCopy: true, + onStart() { + this.add(`c:|${getName('hsy')}|BANJO!`); + }, + onSwitchOut() { + this.add(`c:|${getName('hsy')}|LEMME SCRAP COWARD`); + }, + onFaint() { + this.add(`c:|${getName('hsy')}|https://www.youtube.com/watch?v=g104OJIh9hs`); + }, + }, + hydrostaticsuser: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Hydrostatics')}|Straighten your backs and get some hydration :]`); + this.add('-start', pokemon, 'typechange', 'Electric/Water', '[silent]'); + }, + onSwitchOut() { + this.add(`c:|${getName('Hydrostatics')}|Brb getting some water :d`); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Hydrostatics')}|Seems like you were more hydrated than me :c`); + if (pokemon.side.pokemon.some(mon => mon.name === 'PartMan')) { + // Custom message for PartMan + // Yes, this reveals that the enemy has PartMan + this.add(`c:|${getName('PartMan')}|Hydro here have a tiara`); + } + }, + }, + inthehills: { + noCopy: true, + onStart() { + this.add(`c:|${getName('in the hills')}|in (the hills)`); + }, + onSwitchOut() { + this.add(`c:|${getName('in the hills')}|i'll be out back`); + }, + onFaint() { + this.add(`c:|${getName('in the hills')}|im starting to feel kinda stupid can i please leave`); + }, + }, + ironwater: { + noCopy: true, + onStart() { + this.add(`c:|${getName('ironwater')}|Jirachi Ban Hammer!`); + }, + onSwitchOut() { + this.add(`c:|${getName('ironwater')}|Let me grab a bigger hammer`); + }, + onFaint() { + this.add(`c:|${getName('ironwater')}|I'll ban you in the next game...`); + }, + }, + irpachuza: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Irpachuza!')}|Hf. I never say gl because I sincerely don't want my oppo to have better luck than me in rands n.n`); + }, + onSwitchOut() { + this.add(`c:|${getName('Irpachuza!')}|bye and HOOP HOOP n.n`); + }, + onFaint(pokemon) { + this.add(`c:|${getName('Irpachuza!')}|how DARE YOU ${pokemon.side.foe.name} ;-; n.n`); + }, + innateName: "Prankster", + desc: "This Pokemon's non-damaging moves have their priority increased by 1. Opposing Dark-type Pokemon are immune to these moves, and any move called by these moves, if the resulting user of the move has this Ability.", + shortDesc: "This Pokemon's Status moves have priority raised by 1, but Dark types are immune.", + onModifyPriority(priority, pokemon, target, move) { + if (pokemon.illusion) return; + if (move?.category === 'Status') { + move.pranksterBoosted = true; + return priority + 1; + } + }, + }, + isaiah: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Isaiah')}|Who dyin'?`); + }, + onSwitchOut() { + this.add(`c:|${getName('Isaiah')}|Misclick`); + }, + onFaint() { + this.add(`c:|${getName('Isaiah')}|Bruh, nice cteam`); + }, + }, + j0rdy004: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('J0rdy004 ♫')}|Get-get-get-get, got-got-got-got`); + }, + onSwitchOut() { + this.add(`c:|${getName('J0rdy004 ♫')}|I've seen footage, I stay noided`); + }, + onFaint() { + this.add(`c:|${getName('J0rdy004 ♫')}|So softly a supergod dies...`); + }, + }, + kalalokki: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Kalalokki')}|FLAMIGOOOO!`); + }, + onFaint() { + this.add(`c:|${getName('Kalalokki')}|Flamigoooo...`); + }, + innateName: "Tinted Lens", + shortDesc: "Resisted moves hit with double power.", + onModifyDamage(damage, source, target, move) { + if (!source || source.illusion) return; + if (target.getMoveHitData(move).typeMod < 0) { + this.debug('Tinted Lens boost'); + return this.chainModify(2); + } + }, + }, + karthik: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Karthik')}|>>> const staraptor = battle.player('${pokemon.side.name}').active[0]`); + }, + onSwitchOut(pokemon) { + this.add(`c:|${getName('Karthik')}|>>> staraptor.heal(staraptor.baseMaxhp / 3)`); + if (!pokemon.illusion) pokemon.heal(pokemon.baseMaxhp / 3); + }, + onFaint() { + this.add(`c:|${getName('Karthik')}|>>> staraptor.faint()`); + }, + innateName: "Regenerator", + shortDesc: "This Pokemon restores 1/3 of its maximum HP, rounded down, when it switches out.", + }, + ken: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('ken')}|gm.`); + }, + onSwitchOut() { + this.add(`c:|${getName('ken')}|whoopsies`); + }, + onFaint() { + this.add(`c:|${getName('ken')}|have a good day!`); + }, + }, + kenn: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('kenn')}|*old man grumbling*`); + }, + onSwitchOut() { + this.add(`c:|${getName('kenn')}|Ope`); + }, + onFaint() { + this.add(`c:|${getName('kenn')}|I'm too old for this shi-`); + }, + }, + kennedy: { + noCopy: true, + innateName: "Battle Bond", + shortDesc: "After KOing a Pokemon: becomes Cinderace-Gmax.", + onStart(target, source, effect) { + const message = this.sample(['Justice for the 97', 'up the reds']); + this.add(`c:|${getName('Kennedy')}|${message}`); + if (source && source.name === 'Clementine') { + if (source.volatiles['flipped']) { + source.removeVolatile('flipped'); + changeSet(this, source, ssbSets['Clementine']); + this.add(`c:|${getName('Kennedy')}|┬──┬◡ノ(° -°ノ)`); + } else { + source.addVolatile('flipped', target, this.effect); + changeSet(this, source, ssbSets['Clementine-Flipped']); + this.add(`c:|${getName('Kennedy')}|(╯°o°)╯︵ ┻━┻`); + } + } + if (target.species.id === 'cinderacegmax' && !target.terastallized) { + this.add('-start', target, 'typechange', target.getTypes(true, true).join('/'), '[silent]'); + } + }, + onSwitchOut() { + this.add(`c:|${getName('Kennedy')}|Stream some Taylor Swift whilst I'm gone!`); // TODO replace + }, + onFoeSwitchIn(pokemon) { + switch ((pokemon.illusion || pokemon).name) { + case 'Clementine': + this.add(`c:|${getName('Kennedy')}|Not the Fr*nch....`); + break; + case 'dhelmise': + this.add(`c:|${getName('Kennedy')}|fuck that`); + this.effectState.target.faint(); + this.add('message', 'Kennedy fainted mysteriously.....'); + break; + } + }, + onFaint() { + this.add(`c:|${getName('Kennedy')}|FUCK OFF, REALLY?????`); + }, + onSourceAfterFaint(length, target, source, effect) { + const message = this.sample(['ALLEZZZZZ', 'VAMOSSSSS', 'FORZAAAAA', 'LET\'S GOOOOO']); + this.add(`c:|${getName('Kennedy')}|${message}`); + if (source.species.id === 'cinderace' && this.field.pseudoWeather['anfieldatmosphere'] && + !source.transformed && effect?.effectType === 'Move' && source.hp && source.side.foePokemonLeft()) { + this.add('-activate', source, 'ability: Battle Bond'); + source.formeChange('Cinderace-Gmax', this.effect, true); + source.baseMaxhp = Math.floor(Math.floor( + 2 * source.species.baseStats['hp'] + source.set.ivs['hp'] + Math.floor(source.set.evs['hp'] / 4) + 100 + ) * source.level / 100 + 10); + const newMaxHP = source.volatiles['dynamax'] ? (2 * source.baseMaxhp) : source.baseMaxhp; + source.hp = newMaxHP - (source.maxhp - source.hp); + source.maxhp = newMaxHP; + this.add('-heal', source, source.getHealth, '[silent]'); + } + }, + onUpdate(pokemon) { + if (pokemon.volatiles['attract']) { + this.add(`c:|${getName('Kennedy')}|NAAA FUCK OFF, I'd rather be dead`); + pokemon.faint(); + this.add('message', 'Kennedy would have been infatuated but fainted mysteriously'); + } + }, + onSourceCriticalHit(pokemon, source, move) { + this.add(`c:|${getName('Kennedy')}|LOOOOOOL ffs`); + }, + onFlinch(pokemon) { + if (pokemon.illusion) return; + this.add(`c:|${getName('Kennedy')}|LOOOOOOL ffs`); + }, + }, + keys: { + noCopy: true, + onStart() { + this.add(`c:|${getName('keys')}|It's Prime Time`); + }, + onSwitchOut() { + this.add(`c:|${getName('keys')}|Don't worry, I'll be back`); + }, + onFaint() { + this.add(`c:|${getName('keys')}|...`); + }, + }, + kingbaruk: { + noCopy: true, + onStart() { + this.add(`c:|${getName('kingbaruk')}|Pressure pushing down on me`); + }, + onSwitchOut() { + this.add(`c:|${getName('kingbaruk')}|Pressing down on you`); + }, + onFaint() { + this.add(`c:|${getName('kingbaruk')}|Why can't we give love that one more chance?`); + }, + innateName: "Multiscale", + onSourceModifyDamage(damage, source, target, move) { + if (target.illusion) return; + if (target.hp >= target.maxhp) { + this.debug('Multiscale weaken'); + return this.chainModify(0.5); + } + }, + }, + kiwi: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Kiwi')}|Hey, are you a goldfish or a shark? I guess it depends on how quickly you get flushed down`); + }, + onSwitchOut() { + this.add(`c:|${getName('Kiwi')}|You're lively, but I'm not done peeling off your scales`); + }, + onFaint() { + this.add(`c:|${getName('Kiwi')}|Too late, the manifestation has completed. You'll be reduced to a fillet one day unexpectedly...`); + }, + }, + klmondo: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Klmondo')}|Gm`); + }, + onSwitchOut() { + this.add(`c:|${getName('Klmondo')}|I need a snack`); + }, + onFaint() { + this.add(`c:|${getName('Klmondo')}|It's Klmondover`); + }, + }, + kolohe: { + noCopy: true, + onStart(pokemon) { + const foe = enemyStaff(pokemon); + if (foe === 'Rumia') { + this.add(`c:|${getName('kolohe ✮彡')}|You come around here often?`); + } else if (foe === 'spoo') { + this.add(`c:|${getName('kolohe ✮彡')}|Big bald head spotted...`); + } else if (foe === 'ausma') { + this.add(`c:|${getName('kolohe ✮彡')}|The weekly Smogon furry convention starts NOW`); + } else if (foe === 'Peary') { + this.add(`c:|${getName('kolohe ✮彡')}|Any arters or culturers?`); + } else { + this.add(`c:|${getName('kolohe ✮彡')}|Hey, howzit!`); + } + }, + onSwitchOut() { + this.add(`c:|${getName('kolohe ✮彡')}|Wait, I just got started!`); + }, + onFaint() { + this.add(`c:|${getName('kolohe ✮彡')}|change da world... my final message. goodbye`); + }, + }, + kry: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Kry')}|:3`); + }, + onSwitchOut() { + this.add(`c:|${getName('Kry')}|PartMan is a nerd`); + }, + onFaint() { + this.add(`c:|${getName('Kry')}|Guys whatever you do don't say Farigiraf backwards`); + }, + }, + lasen: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Lasen')}|That's a Hungarian yield sign, easy Budapest guess.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Lasen')}|Will give QC 2/2 after implementation.`); + }, + onFaint() { + this.add(`c:|${getName('Lasen')}|I'm out and NOT about...`); + }, + }, + letsgoshuckles: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Lets go shuckles')}|Behold the magnificence of Shuckle.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Lets go shuckles')}|Wise men don't fight battles they cannot win.`); + }, + onFaint() { + this.add(`c:|${getName('Lets go shuckles')}|He who lives by the Shuckle shall die by the Shuckle.`); + }, + }, + lily: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Lily')}|buying gf`); + }, + onSwitchOut() { + this.add(`c:|${getName('Lily')}|accidentally burnt the shrimps`); + }, + onFaint() { + this.add(`c:|${getName('Lily')}|oh dear, i am dead`); + }, + }, + lionyx: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Lionyx')}| It's Lionyx busting in once again (⌐■_■)`); + }, + onSwitchOut() { + this.add(`c:|${getName('Lionyx')}|Wherever you go and whoever you meet, don't forget us, will you?`); + }, + onFaint() { + this.add(`c:|${getName('Lionyx')}|I don't even like milk anyway`); + }, + }, + loethalion: { + noCopy: true, + onStart(pokemon) { + const foe = enemyStaff(pokemon); + if (foe === 'WigglyTree') { + this.add(`c:|${getName('Loethalion')}|No, I'm not drawing Dialga on a bike again`); + } else if (foe === 'Swiffix') { + this.add(`c:|${getName('Loethalion')}|Oh hi Stinky`); + } else if (foe === 'Mex') { + this.add(`c:|${getName('Loethalion')}|In spain without the A`); + } else if (foe === 'Billo') { + this.add(`c:|${getName('Loethalion')}|So your saying I can't ban myself?`); + } else if (foe === 'Clefable') { + this.add(`c:|${getName('Loethalion')}|But what if I hack a tiny bit?`); + } else if (foe === 'Lunell') { + this.add(`c:|${getName('Loethalion')}|We bean posting?`); + } else if (foe === 'Ciran') { + this.add(`c:|${getName('Loethalion')}|So I have another great piplup drawing idea :>`); + } else { + this.add(`c:|${getName('Loethalion')}| ...from Zero`); + } + }, + onSourceAfterFaint(length, target, source, effect) { + if (enemyStaff(source) === 'Swiffix') { + this.add(`c:|${getName('Loethalion')}|It's still pfp...`); + } + }, + onSwitchOut(pokemon) { + this.add(`c:|${getName('Loethalion')}| I don't remember why I'm even here __walks out the room__`); + }, + onFaint() { + this.add(`c:|${getName('Loethalion')}|__Wheezing laugh__`); + }, + }, + lumari: { + noCopy: true, + // quotes added later + onSwitchOut(pokemon) { + if (pokemon.illusion) return; + pokemon.heal(pokemon.baseMaxhp / 3); + }, + innateName: "Regenerator", + shortDesc: "User will heal 33% of their max HP on switch-out.", + }, + lunell: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Lunell')}|vapowo`); + }, + onSwitchOut() { + this.add(`c:|${getName('Lunell')}|brb looking for bean images, don't disturb`); + }, + onFaint() { + this.add(`c:|${getName('Lunell')}|*sad vaporeon noises*`); + }, + }, + lyna: { + noCopy: true, + onStart(pokemon) { + let phrase = ''; + switch (this.toID(enemyStaff(pokemon))) { + case 'alex': + case 'nya': + this.add(`c:|${getName('Lyna 氷')}|Oh, a cat <3`); + break; + case 'r8': + case 'clementine': + case 'lionyx': + case 'teclis': + case 'swiffix': + case 'ironwater': + phrase = 'slt'; + break; + default: + phrase = 'Hey <3'; + break; + } + this.add(`c:|${getName('Lyna 氷')}|${phrase}`); + }, + onSwitchOut(pokemon) { + let phrase = ''; + switch (this.toID(enemyStaff(pokemon))) { + case 'alex': + case 'nya': + phrase = 'You\'re so cute, I can\'t hit you...'; + break; + case 'r8': + case 'clementine': + case 'lionyx': + case 'teclis': + case 'swiffix': + case 'ironwater': + phrase = '**Tournoi Hebdo sur <> !**'; + break; + default: + phrase = 'Nvm I\'m too busy for that, cya!'; + break; + } + this.add(`c:|${getName('Lyna 氷')}|${phrase}`); + }, + onFaint(pokemon) { + let phrase = ''; + switch (this.toID(enemyStaff(pokemon))) { + case 'alex': + case 'nya': + phrase = 'You\'re definitely too cute...'; + break; + case 'r8': + phrase = 'ok mais on dit pain au chocolat.'; + break; + case 'clementine': + case 'lionyx': + case 'teclis': + case 'swiffix': + case 'ironwater': + phrase = 't\'as de la chance que je sois sympa..'; + break; + default: + phrase = 'The flames were too frozen...'; + break; + } + this.add(`c:|${getName('Lyna 氷')}|${phrase}`); + }, + }, + madmonty: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Mad Monty')}|I'm here to make sure you don't get eaten by llamas!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Mad Monty')}|Ope! The Library's on fire. Gotta tend to that for a sec...`); + }, + onFaint() { + this.add(`c:|${getName('Mad Monty')}|Well great. Now the llamas are gonna come back. Is that what you wanted?`); + }, + }, + marillvibes: { + noCopy: true, + onStart() { + this.add(`c:|${getName('marillvibes ♫')}|Is that a __rat__?`); + }, + onSwitchOut() { + this.add(`c:|${getName('marillvibes ♫')}|Here for a good time, not a long time!`); + }, + onFaint() { + this.add(`c:|${getName('marillvibes ♫')}|The vibes are off... :(`); + }, + }, + maroon: { + noCopy: true, + onStart() { + this.add(`c:|${getName('maroon')}|It's not my fault you're, like, in love with me!`); + }, + onSwitchOut() { + this.add(`c:|${getName('maroon')}|That's why her hair is so big. It's full of secrets.`); + }, + onFoeSwitchOut() { + this.add(`c:|${getName('maroon')}|You wanna do something fun? You wanna go to Taco Bell?`); + }, + onFaint() { + this.add(`c:|${getName('maroon')}|Gretchen, I'm sorry I laughed at you that time you got diarrhea at Barnes & Noble. And I'm sorry for telling everyone about it. And I'm sorry for repeating it now.`); + }, + }, + mathy: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Mathy')}|Nooooo i broke tera again`); + }, + onSwitchOut(pokemon) { + this.add(`c:|${getName('Mathy')}|whatever i'll make ${enemyStaff(pokemon)} fix it`); + }, + onFaint() { + this.add(`c:|${getName('Mathy')}|thanks for making my job harder :/`); + }, + }, + meteordash: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Meteordash')}|hi`); + }, + onSwitchOut() { + this.add(`c:|${getName('Meteordash')}|oh`); + }, + onFaint() { + this.add(`c:|${getName('Meteordash')}|man.`); + }, + }, + mex: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Mex')}|Time to make the donuts.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Mex')}|Brb, there's a Dialga raid.`); + }, + onFaint() { + this.add(`c:|${getName('Mex')}|pain.`); + }, + }, + monkey: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Monkey')}|Hmm, monke`); + }, + onSwitchOut() { + this.add(`c:|${getName('Monkey')}|Don't mind me I was just monkeying around`); + }, + onFaint() { + this.add(`c:|${getName('Monkey')}|I'm a seeker too. But my dreams aren't like yours. I can't help thinking that somewhere in the universe there has to be something better than man. Has to be.`); + }, + }, + mypearl: { + noCopy: true, + onStart() { + this.add(`c:|${getName('MyPearl')}|sim, estou no ssb, like se amaste`); + }, + onSwitchOut() { + this.add(`c:|${getName('MyPearl')}|nossa, ela é tãaaao regina george`); + }, + onFaint() { + this.add(`c:|${getName('MyPearl')}|ta permitido isso?`); + }, + }, + ney: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Ney')}|Hi I'm Ney. I love mischiefs.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Ney')}|Unloading more tricks.`); + }, + onFaint() { + this.add(`c:|${getName('Ney')}|How long am I banned for?`); + }, + }, + notater517: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Notater517')}|OwO What's This?`); + }, + onSwitchOut() { + this.add(`c:|${getName('Notater517')}|brb, dealing with mobile connection, here's a song to listen to before I return: https://www.youtube.com/watch?v=dQw4w9WgXcQ`); + }, + onFaint() { + this.add(`c:|${getName('Notater517')}|ngl that was pretty sus ඩ`); + }, + }, + nya: { + noCopy: true, + onStart() { + this.add(`c:|${getName('nya~ ❤')}|:3`); + }, + onSwitchOut() { + this.add(`c:|${getName('nya~ ❤')}|nya~`); + }, + onFaint() { + this.add(`c:|${getName('nya~ ❤')}|>~<`); + }, + innateName: "Fickle Beam", + onBasePower(basePower, attacker, defender, move) { + if (attacker.illusion) return; + if (this.randomChance(3, 10)) { + let allOutAnim = 'Draco Meteor'; + switch (move.id) { + case 'voltswitch': allOutAnim = 'Thunder'; break; + case 'freezedry': allOutAnim = 'Glacial Lance'; break; + case 'triattack': allOutAnim = 'Blood Moon'; break; + case '3': allOutAnim = 'Fleur Cannon'; break; + } + this.attrLastMove('[anim] ' + allOutAnim); + this.add('-activate', attacker, 'move: Fickle Beam'); + return this.chainModify(2); + } + }, + }, + nyx: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Nyx')}|good meowning, here's why you're wrong.`); + }, + onSwitchOut(pokemon) { + this.add(`c:|${getName('Nyx')}|good nyight, I'm always right.`); + if (pokemon.illusion || !pokemon.status) return; + this.add('-curestatus', pokemon, pokemon.status, '[from] ability: Natural Cure'); + pokemon.clearStatus(); + }, + onFaint() { + this.add(`c:|${getName('Nyx')}|We let TPP cook too hard...`); + }, + innateName: "Natural Cure", + }, + opple: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Opple')}|I'm boutta Wopple with Opple!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Opple')}|Opple you glad I am leavin'!? Get it? Opple instead of Orange? I'm wasted here! Bu-Bye!`); + }, + onFaint() { + this.add(`c:|${getName('Opple')}|Who's the floppling? Opple? AGAIN?!`); + }, + }, + partman: { + noCopy: true, + onStart(pokemon) { + let message; + switch (this.toID(enemyStaff(pokemon))) { + case 'partman': + message = 'Hii Q - oh, it\'s just me.'; + break; + case 'arsenal': + message = 'Do I count as a gunner?'; + break; + case 'aqrator': + message = 'Speaking of cafes - this Pokemon is so popular, it has an entire cafe dedicated to it in the Pokemon world! Alongside the cafe, there\'s also stuff like a bus tour where you can sit one-on-one with the Pokemon and admire its beauty.'; + break; + case 'beowulf': + message = 'BEE'; + break; + case 'breadstycks': + message = 'BREADBOWL'; + break; + case 'clerica': + message = 'SMELY HIIII'; + break; + case 'computerwizard8800': + message = 'CWIZ SLEEP'; + break; + case 'hydrostatics': + message = 'Here to bully Hydro'; + break; + case 'kennedy': + message = 'Down the reds!'; + break; + case 'kry': + this.add(`c:|${getName('PartMan')}|%r 14 // @Kry`); + this.add(`c:|${getName('Ice Kyubs')}|Roll: 14`); + message = null; + break; + case 'mex': + message = 'Probopass moment'; + break; + case 'monkey': + message = 'Remember to smile!'; + break; + case 'notater517': + message = 'E-excuse me s-senpai >///<'; + break; + case 'pissog': + message = 'Ma ciaomi queste noci'; + break; + case 'pyro': + message = 'Fight me you boiled potato'; + break; + case 'rsb': + message = '/me hugs'; + break; + case 'siegfried': + message = 'Is Sieg baked or boiled?'; + break; + case 'softflex': + message = '/me softly flexes'; + break; + case 'sulo': + message = '...Sulo\'s AFK again, aren\'t they?'; + break; + case 'trace': + this.add('-message', `PartMan's Neutralizing Gas filled the area! (but not really)`); + message = null; + break; + case 'warriorgallade': + message = 'Berry nice to meet you!'; + break; + case 'za': + message = '/me shitposts'; + break; + case 'zalm': + message = '<(:O)00000>'; + break; + default: + message = 'Hiii QT :3'; + } + if (message) this.add(`c:|${getName('PartMan')}|${message}`); + }, + onSwitchOut() { + this.add(`c:|${getName('PartMan')}|Deez nuts`); + }, + onFaint() { + this.add(`c:|${getName('PartMan')}|Okay weeb`); + }, + onFoeSwitchIn(pokemon) { + if (pokemon.name === 'Hydrostatics') { + this.add(`c:|${getName('PartMan')}|LUAAAAA!`); + this.add(`c:|${getName('PartMan')}|/me pats`); + } + }, + onFoeFaint(target, source, effect) { + // Message happens when PartMan is on the enemy team + // Handled in Hydro's conditions + if (target.name === 'Hydrostatics') return; + this.add(`c:|${getName('PartMan')}|Skill issue`); + }, + onHit(target, source, move) { + if (!move.num) { + this.add(`c:|${getName('PartMan')}|That's what she said!`); + } + }, + innateName: "Skill Issue", + shortDesc: "Any move that does damage equal to this Pokemon's max HP fails.", + // onDamagePriority: 1, + onDamage(damage, target, source, effect) { + if (target.illusion) return; + if (effect?.effectType === 'Move' && damage >= target.maxhp) { + this.add('-activate', target, 'ability: Skill Issue'); + this.add(`c:|${getName('PartMan')}|THAT'S WHAT SHE SAID!`); + return false; + } + }, + }, + peary: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Peary')}|This bout to grind yalls gears`); + }, + onSwitchOut() { + this.add(`c:|${getName('Peary')}|Did my Part, no Man`); + }, + onFaint() { + this.add(`c:|${getName('Peary')}|Blood all on my gears... damn`); + }, + }, + penquin: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('PenQuin')}|'Sup ${pokemon.side.foe.name}. Wanna sling some dice? B)`); + }, + onSwitchOut() { + this.add(`c:|${getName('PenQuin')}|Wait, one more roll...`); + }, + onFaint() { + this.add(`c:|${getName('PenQuin')}|I want my fair one. Join <> so we can roll battle.`); + }, + }, + phoopes: { + noCopy: true, + onStart() { + this.add(`c:|${getName('phoopes')}|phoopes! (There It Is)`); + }, + onSwitchOut() { + this.add(`c:|${getName('phoopes')}|phoopes! (There He Goes)`); + }, + onFaint() { + this.add(`c:|${getName('phoopes')}|Jynx! Knock on wood`); + }, + }, + pissog: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Pissog')}|Hi I'm Pissog ^^`); + }, + onSwitchOut() { + this.add(`c:|${getName('Pissog')}|^^ gossiP m'I iH`); + }, + onFaint() { + this.add(`c:|${getName('Pissog')}|Yes, there are two paths you can go by, but in the long run`); + }, + }, + pokemonvortex: { + noCopy: true, + onStart() { + this.add(`c:|${getName('pokemonvortex')}|i just like the bowtie`); + }, + onSwitchOut() { + this.add(`c:|${getName('pokemonvortex')}|ok`); + }, + onFaint() { + this.add(`c:|${getName('pokemonvortex')}|人不可貌相,海水不可斗量`); + }, + }, + ptoad: { + noCopy: true, + onStart() { + this.add(`c:|${getName('ptoad')}|/me enters the stage`); + }, + onSwitchOut() { + this.add(`c:|${getName('ptoad')}|Taking 5!`); + }, + onFaint() { + this.add(`c:|${getName('ptoad')}|Who told you you're allowed to rain on my parade?`); + }, + }, + pulseks: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Pulse_kS')}|Mid Skill, God Luck`); + }, + onSwitchOut() { + this.add(`c:|${getName('Pulse_kS')}|brb lemme run the numbers`); + }, + onFaint() { + this.add(`c:|${getName('Pulse_kS')}|If my model is accurate (it isn't)`); + }, + }, + pyro: { + noCopy: true, + onStart() { + this.add(`c:|${getName('PYRO')}|and I'm your host, the Supervillain`); + }, + onSwitchOut() { + this.add(`c:|${getName('PYRO')}|Operation: Lifesaver is in effect, as of right now`); + }, + onFaint() { + this.add(`c:|${getName('PYRO')}|Just remember ALL CAPS when you spell the man name...`); + }, + onSourceAfterFaint(length, target, source, effect) { + if (effect?.effectType === 'Move') { + if (effect.id === 'meatgrinder') { + this.add(`c:|${getName('PYRO')}|Tripping off the beat kinda, dripping off the meat grinder`); + return; + } + if (!source.m.msgPlayed) { + this.add(`c:|${getName('PYRO')}|This Villain was a ruthless mass conqueror, with aspirations to dominate the universe`); + source.m.msgPlayed = true; + } + } + }, + }, + quitequiet: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Quite Quiet')}|what are we even doing here`); + }, + onFaint() { + this.add(`c:|${getName('Quite Quiet')}|hm`); + }, + }, + quziel: { + noCopy: true, + onStart() { + this.add(`c:|${getName('quziel')}|Gaze`); + }, + onSwitchOut() { + this.add(`c:|${getName('quziel')}|See y-disconnects`); + }, + onFaint() { + this.add(`c:|${getName('quziel')}|I am become Tilt`); + }, + }, + r8: { + noCopy: true, + onStart() { + this.add(`c:|${getName('R8')}|!randcat`); + }, + onSwitchOut() { + this.add(`c:|${getName('R8')}|wow emoji`); + }, + onFaint() { + this.add(`c:|${getName('R8')}|Getting KOed won't prevent me from making propaganda: https://www.smogon.com/forums/forums/national-dex-other-tiers.738/`); + }, + }, + rainshaft: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Rainshaft')}|Hello ${pokemon.side.name} and ${pokemon.side.foe.name} :P`); + }, + onSwitchOut() { + this.add(`c:|${getName('Rainshaft')}|Hope you got lucky there...`); + }, + onFaint() { + this.add(`c:|${getName('Rainshaft')}|You weren't lucky enough, join <> for more practice XD`); + }, + }, + ransei: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Ransei')}|Heyo, I'm hosting a program known as Pokémon Lore Tutoring this generation and I was wondering if any of you guys would be interested in tutoring. Every generation of Pokémon lore is available for tutoring, however we are in need of tutors to start off with. If you are interested let me know. Oh yeah I'm also hosting a program known as OM Tutoring.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Ransei')}|A perfect world of Pokémon has everything balanced, whether it's truth and ideals, life and death, time and space, or the organisms of nature and the organisms of whom were genetically engineered. All Pokémon are welcomed as long as they help maintain this balance. Remember this. It's what Arceus always wanted.`); + }, + onFaint() { + this.add(`c:|${getName('Ransei')}|Well, at least I tried. ripsei.`); + }, + }, + returntomonkey: { + noCopy: true, + onStart() { + this.add(`c:|${getName('ReturnToMonkey')}|Where banana`); + }, + onSwitchOut() { + this.add(`c:|${getName('ReturnToMonkey')}|**Monkey Scream**`); + }, + onFaint() { + this.add(`c:|${getName('ReturnToMonkey')}|Reject the humanity...if you dare...`); + }, + }, + rsb: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('RSB')}|Time to take a bite out of crime!`); + const dog = (this.toID(enemyStaff(pokemon))); + if (dog === 'rsb' || dog === 'shiloh' || dog === 'valerian' || dog === 'breadstycks' || dog === 'yuki') { + this.add(`c:|${getName('RSB')}|DOGGO!`); + } + }, + onSwitchOut() { + this.add(`c:|${getName('RSB')}|Requesting backup!`); + }, + onFaint() { + this.add(`c:|${getName('RSB')}|Officer down.`); + }, + onBasePowerPriority: 19, + onBasePower(basePower, attacker, defender, move) { + if (!attacker.illusion && move.flags['bite']) { + return this.chainModify(1.5); + } + }, + onTryHit(target, source, move) { + if (!target.illusion && target !== source && move.type === 'Fire') { + move.accuracy = true; + if (!target.addVolatile('flashfire')) { + this.add('-immune', target, '[from] ability: Flash Fire'); + } + return null; + } + }, + onEnd(pokemon) { + pokemon.removeVolatile('flashfire'); + }, + innateName: "Flash Fire + Strong Jaw", + shortDesc: "Flash Fire + Strong Jaw.", + }, + rumia: { + noCopy: true, + onStart(pokemon) { + if (enemyStaff(pokemon) === 'kolohe') { + this.add(`c:|${getName('Rumia')}|OMG who could that be (⁠●⁠♡⁠∀⁠♡⁠)`); + } else { + this.add(`c:|${getName('Rumia')}|is the mon in front of me the edible kind?`); + } + }, + onSwitchOut(pokemon) { + if (enemyStaff(pokemon) === 'kolohe') { + this.add(`c:|${getName('Rumia')}|i cant bring myself to do this...`); + } else { + this.add(`c:|${getName('Rumia')}|brb ^_^`); + } + }, + onFaint(pokemon) { + if (enemyStaff(pokemon) === 'kolohe') { + this.add(`c:|${getName('Rumia')}|this is the best way to go out...`); + } else { + this.add(`c:|${getName('Rumia')}|is that sooooo...`); + } + }, + }, + scotteh: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Scotteh')}|\`\`Compilation completed successfully. Executing...\`\``); + }, + onSwitchOut() { + this.add(`c:|${getName('Scotteh')}|\`\`Execution temporarily paused.\`\``); + }, + onFaint() { + this.add(`c:|${getName('Scotteh')}|\`\`Segmentation fault (core dumped)\`\``); + }, + }, + sexymalasada: { + noCopy: true, + onStart(pokemon) { + switch (this.toID(enemyStaff(pokemon))) { + case 'wigglytree': + this.add(`c:|${getName('SexyMalasada')}|Hey Wiggles! I made pizza again! Wanna learn more RNG btw?`); + break; + case 'appletunalamode': + this.add(`c:|${getName('SexyMalasada')}|And now you must learn how to RNG with nothing but a sundial for a timer! __Trust me!__`); + break; + case 'loethalion': + this.add(`c:|${getName('SexyMalasada')}|For the hundredth time Loe, check. the. pins.`); + break; + case 'nicolic': + this.add(`c:|${getName('SexyMalasada')}|Hi Nic! Why you keep postponing learning old-gen RNG? q_q`); + break; + case 'swiffix': + this.add(`c:|${getName('SexyMalasada')}|....something smells in here`); + break; + case 'mex': + this.add(`c:|${getName('SexyMalasada')}|Today is the day you finally learn RNG Mex, deal with it!`); + break; + case 'clefable': + this.add(`c:|${getName('SexyMalasada')}|Oi! I'm not hacking, it's RNG!`); + break; + case 'billo': + this.add(`c:|${getName('SexyMalasada')}|Billo help! The tool isn't working again q_q`); + break; + default: + this.add(`c:|${getName('SexyMalasada')}|Hello! Do you have some time to talk about RNGesus and its awesome teachings: The Art of RNG abuse??`); + break; + } + }, + onSwitchOut(pokemon) { + switch (this.toID(enemyStaff(pokemon))) { + case 'loethalion': + this.add(`c:|${getName('SexyMalasada')}|fricking heck`); + break; + case 'swiffix': + this.add(`c:|${getName('SexyMalasada')}|Just shower already!`); + break; + case 'billo': + this.add(`c:|${getName('SexyMalasada')}|Fiiiine I'll read the wiki...`); + break; + default: + this.add(`c:|${getName('SexyMalasada')}|Crap! I missed my frame... Resetting... q_q`); + break; + } + }, + onFaint(pokemon) { + switch (this.toID(enemyStaff(pokemon))) { + case 'loethalion': + this.add(`c:|${getName('SexyMalasada')}|fricking heck`); + break; + case 'swiffix': + this.add(`c:|${getName('SexyMalasada')}|Just shower already!`); + break; + case 'billo': + this.add(`c:|${getName('SexyMalasada')}|Fiiiine I'll read the wiki...`); + break; + default: + this.add(`c:|${getName('SexyMalasada')}|Well then.. have fun soft-resetting for your shiny! >:( Cya on the flipside 🕶️`); + break; + } + }, + }, + sharpclaw: { + noCopy: true, + onStart(pokemon) { + if (pokemon.species.name === 'Sneasel') { + this.add(`c:|${getName('sharp_claw')}|Hi, I'm Tumble! hf :D`); + } else { + this.add(`c:|${getName('sharp_claw')}|Hi, I'm Rough! gl >:)`); + } + }, + onSwitchOut(pokemon) { + if (pokemon.species.name === 'Sneasel') { + this.add(`c:|${getName('sharp_claw')}|brb, getting my brother :3`); + if (pokemon.illusion) return; + changeSet(this, pokemon, ssbSets['sharp_claw-Rough']); + } else { + this.add(`c:|${getName('sharp_claw')}|brb, getting my sister c:`); + if (pokemon.illusion) return; + changeSet(this, pokemon, ssbSets['sharp_claw']); + } + }, + onFaint(pokemon) { + if (pokemon.species.name === 'Sneasel') { + this.add(`c:|${getName('sharp_claw')}|ur no fun ;~;`); + } else { + this.add(`c:|${getName('sharp_claw')}|ur no fun T_T`); + } + }, + innateName: "Rough and Tumble", + shortDesc: "Changes Sneasel forme on switch out.", + }, + siegfried: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Siegfried')}|You say goodbye and I say hello`); + }, + onSwitchOut() { + this.add(`c:|${getName('Siegfried')}|Oh, I get by with a little help from my friends.`); + }, + onFaint() { + this.add(`c:|${getName('Siegfried')}|Living is easy with eyes closed.`); + }, + }, + sificon: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Sificon~')}|gm (it's 4pm and I woke up just now)`); + }, + onSwitchOut() { + this.add(`c:|${getName('Sificon~')}|guess I'll go to bed (we all know that I won't)`); + }, + onFaint() { + this.add(`c:|${getName('Sificon~')}|oop`); + }, + }, + skies: { + noCopy: true, + onStart() { + this.add(`c:|${getName('skies')}|the baddest in the room, so tell em to make room... `); + }, + onSwitchOut() { + this.add(`c:|${getName('skies')}|u thought i was feelin u?`); + }, + onFaint() { + this.add(`c:|${getName('skies')}|what did i do? like?`); + }, + }, + snake: { + noCopy: true, + onStart() { + this.add(`c:|${getName('snake')}|CAP Concept: Pure Utility Pokemon`); + }, + onSwitchOut() { + this.add(`c:|${getName('snake')}|CAP is a community focused project that creates singular Pokemon through structured Smogon based discussion threads. We define a concept to build around and proceed through various stages to determine typing, ability, stats, and movepool to complement that concept. We also run stages to determine a CAP's art, name, Pokedex entry, and sprite, so even if you're not a competitive Pokemon person you can get involved. At the end of each process we implement each CAP here on Pokemon Showdown!, where they are made available with the rest of our creations in the CAP metagame, found under 'S/V Singles'.`); + }, + onFaint() { + this.add(`c:|${getName('snake')}|CAP does not accept personal creations. This refers to any idea for a Pokemon that already has predefined typing, stats, abilities, movepool, name, art, pokedex entries, weight, height, or even generic themes such as "rabbit" or "angry". These facets of a Pokemon are all decided through community discussion in CAP during the CAP process. If you think you have an idea for a Pokemon that does not define these features, you may have a concept. CAP bases our Pokemon around concepts that look to explore the mechanics behind Pokemon and we take open submissions whenever we start a new project. Examples of past concepts include Perfect Sketch User, Momentum, Trapping mechanics, delayed move user, and weather enabler.`); + }, + }, + softflex: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Soft Flex')}|*beep beep beep*`); + }, + onSwitchOut() { + this.add(`c:|${getName('Soft Flex')}|*whrrrr*`); + }, + }, + solaroslunaris: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Solaros & Lunaris')}|Get a taste of this!`); + }, + onSwitchOut() { + this.add(`c:|${getName('Solaros & Lunaris')}|Too hot to handle!`); + }, + }, + spoo: { + noCopy: true, + onStart() { + this.add(`c:|${getName('spoo')}|hemogoblin`); + }, + onSwitchOut() { + this.add(`c:|${getName('spoo')}|danger`); + }, + onFaint() { + this.add(`c:|${getName('spoo')}|dies`); + }, + }, + steorra: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Steorra')}|BOO`); + }, + onSwitchOut() { + this.add(`c:|${getName('Steorra')}|Into the shadows I go`); + }, + onFaint() { + this.add(`c:|${getName('Steorra')}|I'm dead but not really (lol ghost)`); + }, + }, + struchni: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Struchni')}|~tt newgame`); + }, + onSwitchOut() { + this.add(`c:|${getName('Struchni')}|~tt endgame`); + }, + onFaint() { + this.add(`c:|${getName('Struchni')}|**selfveto**`); + }, + }, + sulo: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Sulo')}|everybody is so damn dramatic. me included.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Sulo')}|afk sorry guys brb`); + }, + onFaint() { + this.add(`c:|${getName('Sulo')}|Charon, take me home...`); + }, + }, + swiffix: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Swiffix')}|:uwupip:`); + }, + onSwitchOut() { + this.add(`c:|${getName('Swiffix')}|brb, gonna get some ketchup for my pizza`); + }, + onFaint() { + this.add(`c:|${getName('Swiffix')}|Remember: it's pp, not pfp!`); + }, + innateName: "Skill Link", + onModifyMove(move, pokemon, target) { + if (pokemon.illusion) return; + if (move.multihit && Array.isArray(move.multihit) && move.multihit.length) { + move.multihit = move.multihit[1]; + } + if (move.multiaccuracy) { + delete move.multiaccuracy; + } + }, + }, + teclis: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Teclis')}|Thanks for having me.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Teclis')}|Until next time!`); + }, + onFaint() { + this.add(`c:|${getName('Teclis')}|This was my last dance.`); + }, + }, + tenshi: { + noCopy: true, + onStart(pokemon) { + switch (this.toID(enemyStaff(pokemon))) { + case 'blitz': + this.add(`c:|${getName('Tenshi')}|le fishe`); + break; + case 'ut': + case 'clouds': + this.add(`c:|${getName('Tenshi')}|birbs cannot save u from SAND`); + break; + default: + this.add(`c:|${getName('Tenshi')}|he SLEUTHING`); + } + }, + onSwitchOut(pokemon) { + this.add(`c:|${getName('Tenshi')}|omg no SAND save him! :(`); + const replacementIndex = Math.max( + pokemon.moves.indexOf('pyroball'), + pokemon.moves.indexOf('aquatail'), + pokemon.moves.indexOf('tripleaxel'), + pokemon.moves.indexOf('stoneedge') + ); + if (replacementIndex < 0) { + return; + } + const replacement = this.dex.moves.get('dynamicpunch'); + const replacementMove = { + move: replacement.name, + id: replacement.id, + pp: replacement.pp, + maxpp: replacement.pp, + target: replacement.target, + disabled: false, + used: false, + }; + pokemon.moveSlots[replacementIndex] = replacementMove; + pokemon.baseMoveSlots[replacementIndex] = replacementMove; + }, + onFaint(pokemon) { + switch (this.toID(enemyStaff(pokemon))) { + case 'blitz': + this.add(`c:|${getName('Tenshi')}|YOU KILLED YOUR SON`); + break; + case 'ut': + this.add(`c:|${getName('Tenshi')}|worryrex`); + break; + case 'clouds': + this.add(`c:|${getName('Tenshi')}|SAND is no longer in the air tonight :(`); + break; + default: + this.add(`c:|${getName('Tenshi')}|Wait no that's illegal`); + } + }, + }, + tico: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Tico')}|oie`); + if (pokemon.illusion) return; + this.add('-ability', pokemon, 'Mold Breaker'); + }, + onSwitchOut() { + this.add(`c:|${getName('Tico')}|t+`); + }, + onFaint() { + this.add(`c:|${getName('Tico')}|It's been 3,000 years…`); + }, + onModifyMove(move, pokemon) { + if (pokemon.illusion) return; + move.ignoreAbility = true; + }, + innateName: "Mold Breaker", + }, + theia: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Theia')}|gm ${enemyStaff(pokemon)}`); + }, + onSwitchOut() { + this.add(`c:|${getName('Theia')}|(cat)ch you later`); + }, + onFaint() { + this.add(`c:|${getName('Theia')}|gn`); + }, + }, + thejesucristoosama: { + noCopy: true, + onStart() { + this.add(`c:|${getName('TheJesucristoOsAma')}|In the name of the Father, the Son and the Holy Spirit. I bless you, Amen.`); + }, + onSwitchOut() { + this.add(`c:|${getName('TheJesucristoOsAma')}|Oh well, I think it's time to call my apostles.`); + }, + onFaint() { + this.add(`c:|${getName('TheJesucristoOsAma')}|And that's how I've died for the third time, I'll go to host a game at eventos.`); + }, + }, + traceuser: { + noCopy: true, + onStart() { + this.add(`c:|${getName('trace')}|I'm both the beginning and the end.`); + }, + onSwitchOut() { + this.add(`c:|${getName('trace')}|Why does the violence never end?`); + }, + onFaint() { + this.add(`c:|${getName('trace')}|How disappointingly short a dream lasts.`); + }, + }, + twoofroses: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('Two of Roses')}|I'm here! I'm uhh- Yes! Also hi! Happy to be here.`); + this.singleEvent('WeatherChange', this.effect, this.effectState, pokemon); + this.singleEvent('TerrainChange', this.effect, this.effectState, pokemon); + }, + onSwitchOut() { + this.add(`c:|${getName('Two of Roses')}|Pfft! I prefer lurking anyway.`); + }, + onFaint() { + this.add(`c:|${getName('Two of Roses')}|It matters not how much we try but only that we try. For if the tides swell the dunes of a timeless existence, and our strength wanes in the coming unlight- And if we are to be as the forsaken namesakes before us, for the yesterday that never came and the tomorrow that is forever promised, know this; We dilly, so they do not dally...`); + }, + innateName: "Wonderer", + shortDesc: "This Pokemon's secondary type changes based on the active weather or terrain, monotype if neither.", + onWeatherChange(target, source, sourceEffect) { + const currentWeather = this.field.getWeather().id; + const currentTerrain = this.field.getTerrain().id; + let type; + if (!currentWeather && !currentTerrain && !target.hasType('Dark')) { + type = 'Dark'; + } else if (currentWeather) { + if (['raindance', 'primordialsea'].includes(currentWeather) && !target.hasType('Water')) { + type = 'Water'; + } else if (['sunnyday', 'desolateland'].includes(currentWeather) && !target.hasType('Fire')) { + type = 'Fire'; + } else if (['sandstorm', 'deserteddunes'].includes(currentWeather) && !target.hasType('Rock')) { + type = 'Rock'; + } else if (['hail', 'snow'].includes(currentWeather) && !target.hasType('Ice')) { + type = 'Ice'; + } else { + // do nothing if it's not the 4 primary weathers...unless there are more? + } + } + if (type && !target.terastallized) { + target.addType(type); + this.add('-start', target, 'typeadd', type, '[from] ability: Wonderer'); + } + }, + onTerrainChange(target, source, sourceEffect) { + const currentWeather = this.field.getWeather().id; + const currentTerrain = this.field.getTerrain().id; + let type; + if (!currentWeather && !currentTerrain && !target.hasType('Dark')) { + type = 'Dark'; + } else if (currentTerrain) { + if (currentTerrain === 'electricterrain') { + target.setType('Electric'); + type = ''; + } else if (currentTerrain === 'psychicterrain' && !target.hasType('Psychic')) { + type = 'Psychic'; + } else if (currentTerrain === 'grassyterrain' && !target.hasType('Grass')) { + type = 'Grass'; + } else if (currentTerrain === 'mistyterrain' && !target.hasType('Fairy')) { + type = 'Fairy'; + } else if (!target.hasType('Ghost')) { // custom terrains + type = 'Ghost'; + } + } + if (type && !target.terastallized) { + target.addType(type); + this.add('-start', target, 'typeadd', type, '[from] ability: Wonderer'); + } + }, + }, + ut: { + noCopy: true, + onStart() { + this.add(`c:|${getName('UT')}|__being this young is art, aquamarine__`); + }, + onSwitchOut() { + this.add(`c:|${getName('UT')}|__make sure nobody sees you leave__`); + }, + onFaint() { + this.add(`c:|${getName('UT')}|__swaying as the room burnded down__`); + }, + }, + valerian: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Valerian ✿ ♡')}|Lucario's shiny should've been red.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Valerian ✿ ♡')}|As a wise man once said, "I'll be back".`); + }, + onFaint() { + this.add(`c:|${getName('Valerian ✿ ♡')}|My name is based on a flower, NOT the movie!`); + }, + }, + venous: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Venous')}|bro the flute on stal is bonkers`); + }, + onSwitchOut() { + this.add(`c:|${getName('2013 hindi room')}|when i said tine wins i didnt mean now`); + this.add(`c:|${getName('Venous')}|dw watch this`); + }, + onFaint() { + this.add(`c:|${getName('Venous')}|teachin bitches how to swim`); + }, + }, + violet: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Vio͜͡let')}|I'm not hating you just decided to be wrong`); + }, + onSwitchOut() { + this.add(`c:|${getName('Vio͜͡let')}|anyway…`); + }, + onFaint() { + this.add(`c:|${getName('Vio͜͡let')}|blatantly carried by cheating but you'll still find a way to downplay`); + }, + innateName: "Do No Evil", + shortDesc: "When this Pokemon uses an attacking move, it transforms into the Ogerpon form of the corresponding type.", + onModifyMove(move, attacker, defender) { + if (attacker.species.baseSpecies !== 'Ogerpon' || attacker.transformed) return; + let targetForme = 'Ogerpon'; + switch (move.type) { + case 'Rock': + targetForme += '-Cornerstone'; + break; + case 'Fire': + targetForme += '-Hearthflame'; + break; + case 'Water': + targetForme += '-Wellspring'; + break; + case 'Grass': + // Do nothing + break; + default: + return; + } + if (attacker.terastallized) targetForme += (targetForme === 'Ogerpon' ? '-Teal' : '') + '-Tera'; + if (attacker.species.name !== targetForme) { + this.add('-activate', attacker, 'ability: Do No Evil'); + attacker.formeChange(targetForme); + } + }, + }, + vistar: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Vistar')}|Oh hi! (0_0)/`); + }, + onSwitchOut() { + this.add(`c:|${getName('Vistar')}|I'll go on a break, wait for me!`); + }, + onFaint() { + this.add(`c:|${getName('Vistar')}|So... this is how my career ends...`); + }, + }, + vmnunes: { + noCopy: true, + }, + warriorgallade: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('WarriorGallade')}|i wanted to proc berries, but it seems that i was better at proc rastinating instead. nom nom nom.`); + if (this.toID(enemyStaff(pokemon)) === 'aqrator') { + this.add(`c:|${getName('WarriorGallade')}|Hi Tori, how goes your conquest?`); + } + // innate + if (pokemon.illusion) return; + pokemon.abilityState.gluttony = true; + this.add('-activate', pokemon, 'ability: Nutrient Boost'); + this.boost({def: 1, spd: 1}, pokemon); + }, + onSwitchOut() { + this.add(`c:|${getName('WarriorGallade')}|amidst this tactical retreat, you didn't think i forgot about the pokeradar, did you? you can bet that my return with even more questions will be __eventful__ :3`); + }, + onFaint() { + this.add(`c:|${getName('WarriorGallade')}|a wig flew, and now i must bid you adieu. farewell my berries accrued, for this is the end of my etude.`); + }, + onSourceAfterFaint() { + this.add(`c:|${getName('WarriorGallade')}|Triumphant through trouncing tough, tenacious threats today, though testing 212 takeovers tarry. Theorizing these techniques tends to torrid, terribly tiresome tabulations, therefore torrential tactics traverse thorough thoughts.`); + }, + innateName: "Nutrient Boost", + shortDesc: "Gluttony + Thick Fat + Neuroforce + +1 Def/Sp. Def boost.", + onDamage(item, pokemon) { + if (pokemon.illusion) return; + pokemon.abilityState.gluttony = true; + }, + onSourceModifyAtkPriority: 6, + onSourceModifyAtk(atk, attacker, defender, move) { + if (defender.illusion) return; + if (move.type === 'Ice' || move.type === 'Fire') { + this.debug('Thick Fat weaken'); + return this.chainModify(0.5); + } + }, + onSourceModifySpAPriority: 5, + onSourceModifySpA(atk, attacker, defender, move) { + if (defender.illusion) return; + if (move.type === 'Ice' || move.type === 'Fire') { + this.debug('Thick Fat weaken'); + return this.chainModify(0.5); + } + }, + onModifyDamage(damage, source, target, move) { + if (source.illusion) return; + if (move && target.getMoveHitData(move).typeMod > 0) { + return this.chainModify([5120, 4096]); + } + }, + }, + waves: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Waves')}|Nice opinion, one small issue: 252+ SpA Wailord Water Spout (150 BP) vs. 0 HP / 0- SpD Your Argument in Rain: 1202-1416 (413 - 486.5%) -- guaranteed OHKO.`); + }, + onSwitchOut() { + this.add(`c:|${getName('Waves')}|Ocean man, take me by the hand.`); + }, + onFaint() { + this.add(`c:|${getName('Waves')}|/me waves goodbye.`); + }, + }, + wigglytree: { + noCopy: true, + onStart() { + this.add(`c:|${getName('WigglyTree')}|hi ur qt :3`); + }, + onSwitchOut() { + this.add(`c:|${getName('WigglyTree')}|Is that a watering can I see?`); + }, + onFaint() { + this.add(`c:|${getName('WigglyTree')}|Keep wiggling!`); + }, + }, + xprienzo: { + noCopy: true, + onStart() { + this.add(`c:|${getName('XpRienzo ☑◡☑')}|Would I lie to you?`); + }, + onSwitchOut() { + this.add(`c:|${getName('XpRienzo ☑◡☑')}|What? You don't trust me? >.>`); + }, + onFaint() { + this.add(`c:|${getName('XpRienzo ☑◡☑')}|Bleh, lame.`); + }, + }, + xy01: { + noCopy: true, + }, + yellowpaint: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Yellow Paint')}|cheers`); + }, + onSwitchOut() { + this.add(`c:|${getName('Yellow Paint')}|luckynbad`); + }, + onFaint() { + this.add(`c:|${getName('Yellow Paint')}|The canvas is filled with different screams.`); + }, + onModifyMove(move) { + if (move.id === 'iondeluge') { + move.onHitField = function () { + this.add(`c:|${getName('Yellow Paint')}|Paint it Yellow!`); + }; + } + }, + }, + yveltalnl: { + noCopy: true, + onStart(pokemon) { + this.add(`c:|${getName('YveltalNL')}|It's over ${pokemon.side.foe.name}, I have the high ground!`); + }, + onSwitchOut() { + this.add(`c:|${getName('YveltalNL')}|brb playing a draft game rq`); + }, + onFaint() { + this.add(`c:|${getName('YveltalNL')}|whatever i'll go watch football`); + }, + }, + za: { + noCopy: true, + onStart() { + this.add(`c:|${getName('za')}|Benvenuto`); + }, + onSwitchOut() { + this.add(`c:|${getName('za')}|mish`); + }, + onFaint() { + this.add(`c:|${getName('za')}|!track Between the Buried and Me - Sun Of Nothing - 2020 Remix / Remaster`); + }, + }, + zalm: { + noCopy: true, + onStart() { + this.add(`c:|${getName('Zalm')}|<(:O)00000>`); + }, + onSwitchOut() { + this.add(`c:|${getName('Zalm')}|brb gonna check if my lasagne didn't explode e-e`); + }, + onFaint() { + this.add(`c:|${getName('Zalm')}|I should have picked an actual fish pokémon like veluza instead...`); + }, + }, + zarel: { + noCopy: true, + }, + zee: { + noCopy: true, + onStart() { + this.add(`c:|${getName('zee')}|So is this your first VGC tournament?`); + }, + onSwitchOut() { + this.add(`c:|${getName('zee')}|Sorry, I've got a plane to catch!`); + }, + onFaint() { + this.add(`c:|${getName('zee')}|Hey everyone it's been a great time working with you all in this Super Staff Bros battle but I think it's the right time for me to step down. Thank you all and see you around.`); + }, + }, + zoro: { + noCopy: true, + onStart() { + this.add(`c:|${getName('zoro')}|gmeow`); + }, + onSwitchOut() { + this.add(`c:|${getName('zoro')}|brb I want to chase some yarn`); + }, + onFaint() { + this.add(`c:|${getName('zoro')}|time to take a cat nap`); + }, + }, + + // Custom effects + + // Clementine + flipped: { + name: 'Flipped', + onStart(target) { + this.add('-start', target, 'flipped'); + }, + onEnd(target) { + this.add('-end', target, 'flipped'); + }, + }, + + // dhelmise + bioticorbself: { + name: "Biotic Orb (Self)", + // side condition + effectType: 'Condition', + duration: 4, + onSideStart(side, source) { + this.effectState.source = source; + this.add('-sidestart', side, 'move: Biotic Orb (Self)'); + }, + onResidualOrder: 5, + onResidualSubOrder: 1, + onResidual(target, pokemon, effect) { + const source = this.effectState.source; + const quotes: string[] = [ + `A cure for all that ails.`, + `A sip for the parched.`, + `Be nourished!`, + `I offer something more.`, + `Receive my aid.`, + `Be nurtured.`, + `Know mother's kindness.`, + `A salve for all that ails.`, + `An eldritch blessing.`, + `Flourish.`, + `Now feast.`, + `Recover your strength.`, + ]; + if (target.hp) { + let amount = 65; + if (this.effectState.duration === 4) amount = 40; + this.heal(amount, target, source, effect); + } + this.add(`c:|${getName((source.illusion || source).name)}|${this.sample(quotes)}`); + }, + onSideResidualOrder: 26, + onSideResidualSubOrder: 5, + onSideEnd(side) { + this.add('-sideend', side, 'move: Biotic Orb (Self)'); + }, + }, + bioticorbfoe: { + name: "Biotic Orb (Foe)", + // side condition + effectType: 'Condition', + duration: 4, + onSideStart(side, source) { + this.effectState.source = source; + this.add('-sidestart', side, 'move: Biotic Orb (Foe)'); + }, + onResidualOrder: 5, + onResidualSubOrder: 1, + onResidual(target, pokemon, effect) { + const source = this.effectState.source; + let quotes: string[] = [ + `A taste of poison.`, + `Misery made manifest.`, + `Pain is inevitable.`, + `You cannot escape me!`, + `Your end is within my reach.`, + `Bí ag stangadh leat.`, + `Ruination is imminent.`, + `The weak can fend for themselves.`, + `Know darkness.`, + `Let shadow consume you.`, + `Your pain will be endless.`, + ]; + if (target.hp) { + this.damage(50, target, source, effect); + } + if (target.fainted || target.hp <= 0) { + quotes = [ + `Expect the unexpected.`, + `In chaos lies opportunity.`, + `Mind your surroundings.`, + `Perhaps next time you should not stand in the way of the orb.`, + `A torturous gift.`, + `The darkness will find them.`, + `The gloom takes you.`, + ]; + } + this.add(`c:|${getName((source.illusion || source).name)}|${this.sample(quotes)}`); + }, + onSideResidualOrder: 26, + onSideResidualSubOrder: 5, + onSideEnd(side) { + this.add('-sideend', side, 'move: Biotic Orb (Foe)'); + }, + }, + + // EasyOnTheHills + snack: { + name: "Snack", + duration: 3, + onStart(target) { + this.add('-start', target, 'snack'); + }, + onEnd(target) { + this.add('-end', target, 'snack'); + }, + onResidualOrder: 5, + onResidualSubOrder: 4, + onResidual(target, source, effect) { + this.heal(target.baseMaxhp / 4); + }, + }, + + // Elliot + beefed: { + name: "Beefed", + onStart(target) { + this.add('-start', target, 'beefed'); + }, + onEnd(target) { + this.add('-end', target, 'beefed'); + }, + onModifyMovePriority: -1, + onModifyMove(move, pokemon, target) { + if (!target || !this.checkMoveMakesContact(move, pokemon, target) || move.category === "Status") return; + if (!move.secondaries) move.secondaries = []; + move.secondaries.push({ + chance: 30, + status: 'brn', + }); + }, + onDamagingHitOrder: 1, + onDamagingHit(damage, target, source, move) { + if (this.checkMoveMakesContact(move, source, target, true)) { + this.damage(source.baseMaxhp / 8, source, target); + } + if (this.checkMoveMakesContact(move, source, target) && this.randomChance(3, 10)) { + source.trySetStatus('brn', target); + } + }, + onResidual(target, source, effect) { + this.heal(target.baseMaxhp / 8); + }, + onSourceAfterFaint(length, target, source, effect) { + this.add(`c:|${getName('Elliot')}|Get Bovriled`); + }, + }, + boiled: { + name: "Boiled", + onStart(target) { + this.add('-start', target, 'boiled'); + }, + onEnd(target) { + this.add('-end', target, 'boiled'); + }, + onModifySpAPriority: 5, + onModifySpA(relayVar, source, target, move) { + return this.chainModify(1.5); + }, + onModifyMovePriority: -1, + onModifyMove(move, pokemon, target) { + if (!target) return; + if (move.category !== "Status") { + if (!move.secondaries) move.secondaries = []; + move.secondaries.push({ + chance: 30, + status: 'brn', + }); + } + }, + }, + + // Elly + stormsurge: { + name: 'StormSurge', + effectType: 'Weather', + duration: 5, + durationCallback(source, effect) { + if (source?.hasItem('damprock')) { + return 8; + } + return 5; + }, + onEffectivenessPriority: -1, + onEffectiveness(typeMod, target, type, move) { + if (move?.effectType === 'Move' && move.category !== 'Status' && type === 'Flying' && typeMod > 0) { + this.add('-fieldactivate', 'Storm Surge'); + return 0; + } + }, + onWeatherModifyDamage(damage, attacker, defender, move) { + if (defender.hasItem('utilityumbrella')) return; + if (move.flags['wind']) { + this.debug('Storm Surge wind boost'); + return this.chainModify(1.2); + } + if (move.type === 'Water') { + this.debug('Storm Surge water boost'); + return this.chainModify(1.5); + } + if (move.type === 'Fire') { + this.debug('Storm Surge fire suppress'); + return this.chainModify(0.5); + } + }, + onAccuracy(accuracy, attacker, defender, move) { + if (move?.flags['wind'] && !attacker.hasItem('utilityumbrella')) return true; + return accuracy; + }, + onFieldStart(battle, source, effect) { + if (effect?.effectType === 'Ability') { + if (this.gen <= 5) this.effectState.duration = 0; + this.add('-weather', 'StormSurge', '[from] ability: ' + effect.name, '[of] ' + source); + } else { + this.add('-weather', 'StormSurge'); + } + }, + onImmunity(type, pokemon) { + if (pokemon.hasItem('utilityumbrella')) return; + if (type === 'frz') return false; + }, + onFieldResidualOrder: 1, + onFieldResidual() { + this.add('-weather', 'StormSurge', '[upkeep]'); + this.eachEvent('Weather'); + }, + onFieldEnd() { + this.add('-weather', 'none'); + }, + }, + + // HoeenHero + virus: { + name: 'Virus', + onStart(target, source, sourceEffect) { + this.effectState.stage = 0; + this.add('-start', target, 'virus'); + }, + onResidualOrder: 9, + onResidual(pokemon) { + if (this.effectState.stage < 15) { + this.effectState.stage++; + } + this.damage(this.clampIntRange(pokemon.baseMaxhp / 16, 1) * this.effectState.stage); + }, + }, + + // kenn + deserteddunes: { + name: 'DesertedDunes', + effectType: 'Weather', + duration: 0, + onEffectivenessPriority: -1, + onEffectiveness(typeMod, target, type, move) { + if (move?.effectType === 'Move' && move.category !== 'Status' && type === 'Rock' && typeMod > 0) { + this.add('-fieldactivate', 'Deserted Dunes'); + return 0; + } + }, + onModifySpDPriority: 10, + onModifySpD(spd, pokemon) { + if (pokemon.hasType('Rock') && this.field.isWeather('deserteddunes')) { + return this.modify(spd, 1.5); + } + }, + onFieldStart(field, source, effect) { + this.add('-weather', 'DesertedDunes', '[from] ability: ' + effect.name, '[of] ' + source); + }, + onFieldResidualOrder: 1, + onFieldResidual() { + this.add('-weather', 'DesertedDunes', '[upkeep]'); + this.eachEvent('Weather'); + }, + onWeather(target) { + this.damage(target.baseMaxhp / 16); + }, + onFieldEnd() { + this.add('-weather', 'none'); + }, + }, + + // Effects needed to be overriden for things to happen + attract: { + onStart(pokemon, source, effect) { + if (!(pokemon.gender === 'M' && source.gender === 'F') && !(pokemon.gender === 'F' && source.gender === 'M')) { + if (!['The Love Of Christ', ':3'].includes(effect.name)) { + this.debug('incompatible gender'); + return false; + } + } + if (!this.runEvent('Attract', pokemon, source)) { + this.debug('Attract event failed'); + return false; + } + + if (effect.name === 'Cute Charm') { + this.add('-start', pokemon, 'Attract', '[from] ability: Cute Charm', '[of] ' + source); + } else if (effect.name === 'Destiny Knot') { + this.add('-start', pokemon, 'Attract', '[from] item: Destiny Knot', '[of] ' + source); + } else { + this.add('-start', pokemon, 'Attract'); + } + }, + onUpdate(pokemon) { + if (this.effectState.source && !this.effectState.source.isActive && pokemon.volatiles['attract']) { + this.debug('Removing Attract volatile on ' + pokemon); + pokemon.removeVolatile('attract'); + } + }, + onBeforeMovePriority: 2, + onBeforeMove(pokemon, target, move) { + this.add('-activate', pokemon, 'move: Attract', '[of] ' + this.effectState.source); + if (this.randomChance(1, 2)) { + this.add('cant', pokemon, 'Attract'); + return false; + } + }, + onEnd(pokemon) { + this.add('-end', pokemon, 'Attract', '[silent]'); + }, + }, + + gravity: { + duration: 5, + durationCallback(source, effect) { + if (source?.hasAbility('persistent')) { + this.add('-activate', source, 'ability: Persistent', '[move] Gravity'); + return 7; + } + return 5; + }, + onFieldStart(target, source) { + if (source?.hasAbility('persistent')) { + this.add('-fieldstart', 'move: Gravity', '[persistent]'); + } else { + this.add('-fieldstart', 'move: Gravity'); + } + for (const pokemon of this.getAllActive()) { + let applies = false; + if (pokemon.removeVolatile('bounce') || pokemon.removeVolatile('fly')) { + applies = true; + this.queue.cancelMove(pokemon); + pokemon.removeVolatile('twoturnmove'); + } + if (pokemon.volatiles['skydrop']) { + applies = true; + this.queue.cancelMove(pokemon); + + if (pokemon.volatiles['skydrop'].source) { + this.add('-end', pokemon.volatiles['twoturnmove'].source, 'Sky Drop', '[interrupt]'); + } + pokemon.removeVolatile('skydrop'); + pokemon.removeVolatile('twoturnmove'); + } + if (pokemon.volatiles['magnetrise']) { + applies = true; + delete pokemon.volatiles['magnetrise']; + } + if (pokemon.volatiles['telekinesis']) { + applies = true; + delete pokemon.volatiles['telekinesis']; + } + if (applies) this.add('-activate', pokemon, 'move: Gravity'); + } + }, + onModifyAccuracy(accuracy) { + if (typeof accuracy !== 'number') return; + return this.chainModify([6840, 4096]); + }, + onDisableMove(pokemon) { + for (const moveSlot of pokemon.moveSlots) { + if (this.dex.moves.get(moveSlot.id).flags['gravity']) { + pokemon.disableMove(moveSlot.id); + } + } + }, + // groundedness implemented in battle.engine.js:BattlePokemon#isGrounded + onBeforeMovePriority: 6, + onBeforeMove(pokemon, target, move) { + if (move.flags['gravity'] && !move.isZ) { + this.add('cant', pokemon, 'move: Gravity', move); + return false; + } + }, + onModifyMove(move, pokemon, target) { + if (move.flags['gravity'] && !move.isZ) { + this.add('cant', pokemon, 'move: Gravity', move); + return false; + } + }, + onFieldResidualOrder: 27, + onFieldResidualSubOrder: 2, + onFieldEnd() { + this.add('-fieldend', 'move: Gravity'); + const activePokemon = this.getAllActive(); + for (const a of activePokemon) { + if (a.name === "Lunell") { + this.add(`c:|${getName('Lunell')}|ope there goes gravity`); + break; + } + } + }, + }, + raindance: { + inherit: true, + onWeatherModifyDamage(damage, attacker, defender, move) { + if (defender.hasItem('utilityumbrella') || move.id === 'geyserblast') return; + if (move.type === 'Water') { + this.debug('rain water boost'); + return this.chainModify(1.5); + } + if (move.type === 'Fire') { + this.debug('rain fire suppress'); + return this.chainModify(0.5); + } + }, + }, + sunnyday: { + inherit: true, + onWeatherModifyDamage(damage, attacker, defender, move) { + if (defender.hasItem('utilityumbrella') || move.id === 'geyserblast') return; + if (move.type === 'Fire') { + this.debug('Sunny Day fire boost'); + return this.chainModify(1.5); + } + if (move.type === 'Water' && move.id !== 'hydrosteam') { + this.debug('Sunny Day water suppress'); + return this.chainModify(0.5); + } + }, + }, + primordialsea: { + inherit: true, + onTryMove(attacker, defender, move) { + if (move.id === 'scorchingtruth') return; + if (move.type === 'Fire' && move.category !== 'Status') { + this.debug('Primordial Sea fire suppress'); + this.add('-fail', attacker, move, '[from] Primordial Sea'); + this.attrLastMove('[still]'); + return null; + } + }, + onWeatherModifyDamage(damage, attacker, defender, move) { + if (defender.hasItem('utilityumbrella')) return; + if (move.type === 'Water') { + this.debug('Rain water boost'); + return this.chainModify(1.5); + } + if (move.id === 'scorchingtruth') { + this.debug('Scorching Truth debuff'); + this.add('-fail', attacker, move, '[from] Primordial Sea'); + return this.chainModify(0.5); + } + }, + }, +}; diff --git a/data/mods/gen9ssb/items.ts b/data/mods/gen9ssb/items.ts new file mode 100644 index 000000000000..cb9fc9444611 --- /dev/null +++ b/data/mods/gen9ssb/items.ts @@ -0,0 +1,145 @@ +export const Items: {[k: string]: ModdedItemData} = { + // Archas + lilligantiumz: { + name: "Lilligantium Z", + spritenum: 633, + onTakeItem: false, + zMove: "Aura Rain", + zMoveFrom: "Quiver Dance", + itemUser: ["Lilligant"], + desc: "If held by a Lilligant with Quiver Dance, it can use Aura Rain.", + }, + // Arya + flygonite: { + inherit: true, + spritenum: 111, + itemUser: ["Flygon"], + megaEvolves: "Flygon", + megaStone: "Trapinch", + onTakeItem(item, source) { + if (item.megaEvolves === source.baseSpecies.baseSpecies) return false; + return true; + }, + desc: "If held by a Flygon, this item allows it to Mega Evolve in battle.", + }, + // Irpachuza + irpatuziniumz: { + name: "Irpatuzinium Z", + spritenum: 648, + onTakeItem: false, + zMove: "Bibbidi-Bobbidi-Rands", + zMoveFrom: "Fleur Cannon", + itemUser: ["Mr. Mime"], + desc: "If held by a Mr. Mime with Fleur Cannon, it can use Bibbidi-Bobbidi-Rands.", + }, + // Loethalion + gardevoirite: { + inherit: true, + itemUser: ["Ralts"], + megaEvolves: "Ralts", + desc: "If held by a Ralts, this item allows it to Mega Evolve in battle.", + }, + // Peary + pearyumz: { + name: "Pearyum Z", + spritenum: 647, + onTakeItem: false, + zMove: "1000 Gears", + zMoveFrom: "Gear Grind", + itemUser: ["Klinklang"], + desc: "If held by a Klinklang with Gear Grind, it can use 1000 Gears.", + }, + // Rainshaft + rainiumz: { + name: "Rainium Z", + spritenum: 652, + onTakeItem: false, + zMove: "Hatsune Miku's Lucky Orb", + zMoveFrom: "Sparkling Aria", + itemUser: ["Xerneas"], + desc: "If held by a Xerneas with Sparkling Aria, it can use Hatsune Miku's Lucky Orb.", + }, + + // Modified for other effects + + eviolite: { + inherit: true, + onModifyDef(def, pokemon) { + // Added Pichu-Spiky-eared for Hydrostatics to use Eviolite + if (pokemon.baseSpecies.nfe || pokemon.species.id === 'pichuspikyeared') { + return this.chainModify(1.5); + } + }, + onModifySpD(spd, pokemon) { + // Added Pichu-Spiky-eared for Hydrostatics to use Eviolite + if (pokemon.baseSpecies.nfe || pokemon.species.id === 'pichuspikyeared') { + return this.chainModify(1.5); + } + }, + }, + + // modified for nya's ability + focusband: { + inherit: true, + onDamage(damage, target, source, effect) { + const chance = target.hasAbility('adorablegrace') ? 2 : 1; + if (this.randomChance(chance, 10) && damage >= target.hp && effect && effect.effectType === 'Move') { + this.add("-activate", target, "item: Focus Band"); + return target.hp - 1; + } + }, + }, + quickclaw: { + inherit: true, + onFractionalPriority(priority, pokemon) { + const chance = pokemon.hasAbility('adorablegrace') ? 2 : 1; + if (priority <= 0 && this.randomChance(chance, 5)) { + this.add('-activate', pokemon, 'item: Quick Claw'); + return 0.1; + } + }, + }, + + // modified for SexyMalasada's ability + lifeorb: { + inherit: true, + onAfterMoveSecondarySelf(source, target, move) { + if (source && source !== target && move && move.category !== 'Status' && !source.forceSwitchFlag) { + if (source.hasAbility('Ancestry Ritual')) { + this.heal(source.baseMaxhp / 10, source, source, this.dex.items.get('lifeorb')); + } else { + this.damage(source.baseMaxhp / 10, source, source, this.dex.items.get('lifeorb')); + } + } + }, + }, + + safetygoggles: { + inherit: true, + onImmunity(type, pokemon) { + if (type === 'sandstorm' || type === 'deserteddunes' || type === 'hail' || type === 'powder') return false; + }, + }, + utilityumbrella: { + inherit: true, + onStart(pokemon) { + if (!pokemon.ignoringItem()) return; + if (['sunnyday', 'raindance', 'desolateland', 'primordialsea', 'stormsurge'].includes(this.field.effectiveWeather())) { + this.runEvent('WeatherChange', pokemon, pokemon, this.effect); + } + }, + onUpdate(pokemon) { + if (!this.effectState.inactive) return; + this.effectState.inactive = false; + if (['sunnyday', 'raindance', 'desolateland', 'primordialsea', 'stormsurge'].includes(this.field.effectiveWeather())) { + this.runEvent('WeatherChange', pokemon, pokemon, this.effect); + } + }, + onEnd(pokemon) { + if (['sunnyday', 'raindance', 'desolateland', 'primordialsea', 'stormsurge'].includes(this.field.effectiveWeather())) { + this.runEvent('WeatherChange', pokemon, pokemon, this.effect); + } + this.effectState.inactive = true; + }, + }, +}; diff --git a/data/mods/gen9ssb/moves.ts b/data/mods/gen9ssb/moves.ts new file mode 100644 index 000000000000..db5c63716c35 --- /dev/null +++ b/data/mods/gen9ssb/moves.ts @@ -0,0 +1,6645 @@ +import {ssbSets} from "./random-teams"; +import {changeSet, getName} from "./scripts"; +import {Teams} from '../../../sim/teams'; + +export const Moves: {[k: string]: ModdedMoveData} = { + /* + // Example + moveid: { + accuracy: 100, // a number or true for always hits + basePower: 100, // Not used for Status moves, base power of the move, number + category: "Physical", // "Physical", "Special", or "Status" + shortDesc: "", // short description, shows up in /dt + desc: "", // long description + name: "Move Name", + gen: 8, + pp: 10, // unboosted PP count + priority: 0, // move priority, -6 -> 6 + flags: {}, // Move flags https://github.com/smogon/pokemon-showdown/blob/master/data/moves.js#L1-L27 + onTryMove() { + this.attrLastMove('[still]'); // For custom animations + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Move Name 1', source); + this.add('-anim', source, 'Move Name 2', source); + }, // For custom animations + secondary: { + status: "tox", + chance: 20, + }, // secondary, set to null to not use one. Exact usage varies, check data/moves.js for examples + target: "normal", // What does this move hit? + // normal = the targeted foe, self = the user, allySide = your side (eg light screen), foeSide = the foe's side (eg spikes), all = the field (eg raindance). More can be found in data/moves.js + type: "Water", // The move's type + // Other useful things + noPPBoosts: true, // add this to not boost the PP of a move, not needed for Z moves, dont include it otherwise + isZ: "crystalname", // marks a move as a z move, list the crystal name inside + zMove: {effect: ''}, // for status moves, what happens when this is used as a Z move? check data/moves.js for examples + zMove: {boost: {atk: 2}}, // for status moves, stat boost given when used as a z move + critRatio: 2, // The higher the number (above 1) the higher the ratio, lowering it lowers the crit ratio + drain: [1, 2], // recover first num / second num % of the damage dealt + heal: [1, 2], // recover first num / second num % of the target's HP + }, + */ + // Please keep sets organized alphabetically based on staff member name! + // aegii + equipaegislash: { + accuracy: 100, + basePower: 80, + category: "Physical", + shortDesc: "50% +1 Atk, 50% +1 Def, eats berry.", + desc: "This move has a 50% chance to raise the user's Attack by 1 stage and a 50% chance to raise the user's Defense by 1 stage. After using the move, the user eats its berry if holding one.", + name: "Equip Aegislash", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Shadow Sneak', target); + this.add('-anim', source, 'Swords Dance', source); + this.add('-anim', source, 'Iron Defense', source); + }, + secondaries: [ + { + chance: 50, + self: { + boosts: { + atk: 1, + }, + }, + }, { + chance: 50, + self: { + boosts: { + def: 1, + }, + }, + }, + ], + self: { + onHit(target, source) { + if (!source.getItem().isBerry) return; + source.eatItem(true); + }, + }, + secondary: null, + target: "normal", + type: "Steel", + }, + + // Aelita + smelt: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "User burns itself and gains +2 Spe/+1 Atk.", + desc: "This move burns the user, raises their Speed by 2 stages, and raises their Attack by 1 stage.", + name: "Smelt", + gen: 9, + pp: 10, + priority: 0, + flags: {}, + onPrepareHit(pokemon) { + this.attrLastMove('[still]'); + }, + onHit(pokemon) { + pokemon.trySetStatus('brn'); + this.add('-anim', pokemon, 'Shift Gear', pokemon); + this.boost({spe: 2, atk: 1}); + }, + secondary: null, + target: "self", + type: "Steel", + }, + + // Aethernum + iamatomic: { + accuracy: 100, + basePower: 140, + category: "Special", + shortDesc: "Lowers user's Def, Sp. Atk and Speed by 2 stages.", + desc: "Lowers the user's Defense, Special Attack, and Speed by 2 stages.", + name: "I. AM. ATOMIC.", + gen: 9, + pp: 5, + priority: 0, + flags: {protect: 1}, + onPrepareHit(target, source, move) { + this.add('-anim', source, 'Trick Room', target); + this.add('-anim', source, 'Clangerous Soul', source); + this.add('-anim', source, 'Flash', target); + this.add(`c:|${getName((source.illusion || source).name)}|I`); + this.add(`c:|${getName((source.illusion || source).name)}|AM`); + this.add(`c:|${getName((source.illusion || source).name)}|ATOMIC.`); + }, + self: { + boosts: { + spe: -2, + def: -2, + spa: -2, + }, + }, + secondary: null, + target: "normal", + type: "Ghost", + }, + + // Akir + freeswitchbutton: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Haze + Parting Shot + Replacement heals 33%.", + desc: "Resets the stat stages of all active Pokemon to 0, then lowers the foe's Attack and Special Attack by 1 stage each while switching out. The Pokemon that switches in heals 33% of its maximum HP. This move bypasses all Protect-like effects.", + name: "Free Switch Button", + gen: 9, + pp: 10, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onHit(target, source, move) { + this.add('-clearallboost'); + for (const pokemon of this.getAllActive()) { + pokemon.clearBoosts(); + } + const foe = source.foes()[0]; + if (!foe) return; + const success = this.boost({atk: -1, spa: -1}, foe, source); + if (!success && !foe.hasAbility('mirrorarmor')) { + delete move.selfSwitch; + } + }, + // the foe cannot be set as the target in move properties because it breaks the 33% replacement heal + selfSwitch: true, + onPrepareHit(target, source) { + this.add('-anim', source, 'Haze', source); + }, + slotCondition: 'freeswitchbutton', + condition: { + onSwap(target) { + if (!target.fainted && (target.hp < target.maxhp)) { + target.heal(target.maxhp / 3); + this.add('-heal', target, target.getHealth, '[from] move: Free Switch Button'); + target.side.removeSlotCondition(target, 'freeswitchbutton'); + } + }, + }, + secondary: null, + target: "self", + type: "Water", + }, + + // Alex + spicierextract: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Leech Seed + Heal Block + Infestation", + desc: "Applies the effects of Leech Seed, Heal Block, and partial trapping to the target, causing the user to steal 1/8 of the target's maximum HP at the end of each turn until the target switches out, preventing the target from using any moves, items, or Abilities that heal HP for 5 turns, and preventing the target from switching out while damaging it for an additional 1/8 of its maximum HP at the end of each turn for 4-5 turns. If the target uses Baton Pass, the effects of Leech Seed, Heal Block, and partial trapping will remain in effect for the replacement.", + name: "Spicier Extract", + pp: 15, + priority: 0, + flags: {protect: 1, reflectable: 1, mirror: 1, powder: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Leafage', target); + this.add('-anim', source, 'Stun Spore', target); + }, + onHit(target, source) { + let success = false; + if (target.addVolatile('partiallytrapped', source)) success = true; + if (target.addVolatile('leechseed', source)) success = true; + if (target.addVolatile('healblock', source)) success = true; + return success; + }, + secondary: null, + target: "normal", + type: "Grass", + }, + + // Alexander489 + scumhunt: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Uses a random damaging, non-resisted move.", + desc: "A random damaging non-resisted move is selected for use, other than moves uncallable by Metronome and moves originating from Super Staff Bros Ultimate.", + name: "Scumhunt", + pp: 10, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + const nresTypes = []; + for (const i of this.dex.types.names()) { + if (i === "Stellar") continue; + if (target) { + const effect = this.dex.getEffectiveness(i, target.types); + const immune = this.dex.getImmunity(i, target.types); + if (effect >= 0 && immune) { + nresTypes.push(i); + } + } + } + if (!nresTypes.length) return; + const netType = this.sample(nresTypes); + const moves = this.dex.moves.all().filter(m => ( + (![2, 4].includes(this.gen) || !source.moves.includes(m.id)) && + (!m.isNonstandard || m.isNonstandard === 'Unobtainable') && + m.flags['metronome'] && m.type === netType && m.category !== "Status" + )); + let randomMove = ''; + if (moves.length) { + moves.sort((a, b) => a.num - b.num); + randomMove = this.sample(moves).id; + } + if (!randomMove) return false; + source.side.lastSelectedMove = this.toID(randomMove); + this.add('-anim', source, 'Spite', target); + this.add('-anim', source, 'Grudge', target); + this.add('-anim', source, 'Metronome', source); + this.actions.useMove(randomMove, source); + }, + target: "normal", + type: "???", + }, + + // Appletun a la Mode + extracourse: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Recycles berry, +1 to 2 random stats (-acc/eva).", + desc: "The user regains the item it last used, and then boosts two random stats by 1 stage each, except Accuracy and Evasion. If the user is currently holding an item or has had their item forcibly removed, the stat boosts occur without the Recycle effect.", + name: "Extra Course", + gen: 9, + pp: 5, + priority: 0, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Recycle', target); + }, + flags: {snatch: 1}, + onHit(pokemon) { + if (!pokemon.item && pokemon.lastItem) { + const item = pokemon.lastItem; + pokemon.lastItem = ''; + this.add('-item', pokemon, this.dex.items.get(item), '[from] move: Extra Course'); + pokemon.setItem(item); + } + let stats: BoostID[] = []; + const boost: SparseBoostsTable = {}; + let statPlus: BoostID; + for (statPlus in pokemon.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (pokemon.boosts[statPlus] < 6) { + stats.push(statPlus); + } + } + let randomStat: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + if (randomStat) boost[randomStat] = 1; + stats = []; + for (statPlus in pokemon.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (pokemon.boosts[statPlus] < 6 && statPlus !== randomStat) { + stats.push(statPlus); + } + } + randomStat = stats.length ? this.sample(stats) : undefined; + if (randomStat) boost[randomStat] = 1; + this.boost(boost, pokemon, pokemon); + }, + target: "self", + type: "Normal", + }, + + // aQrator + torisstori: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Confuses foe & deals 1/6th max HP for 4-5 turns.", + desc: "Causes the target to become confused. If this move is successful, the target takes damage equal to 1/6th of its maximum HP at the end of each turn for 4-5 turns.", + name: "Tori's Stori", + gen: 9, + pp: 5, + priority: 0, + flags: {protect: 1, reflectable: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Water Spout', target); + this.add('-anim', source, 'Confuse Ray', target); + }, + volatileStatus: 'torisstori', + condition: { + duration: 5, + durationCallback(target, source) { + if (source?.hasItem('gripclaw')) return 8; + return this.random(5, 6); + }, + onStart(target) { + this.add('-start', target, 'Tori\'s Stori'); + }, + onResidualOrder: 6, + onResidual(pokemon) { + this.damage(pokemon.baseMaxhp / 6); + }, + onEnd(target) { + this.add('-end', target, 'Tori\'s Stori'); + }, + }, + secondary: { + chance: 100, + volatileStatus: 'confusion', + }, + target: "normal", + type: "Water", + }, + + // A Quag To The Past + sireswitch: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Quag: Protect; Clod: Recover. Switch sires.", + desc: "Nearly always moves first. If the user is Quagsire, the user is protected from most attacks made by other Pokemon during this turn and then transforms into Clodsire. If the user is Clodsire, the user recovers 1/2 of its maximum HP and then transforms into Quagsire. This move fails if the user is neither Quagsire nor Clodsire.", + name: "Sire Switch", + gen: 9, + pp: 20, + priority: 4, + onModifyPriority(relayVar, source, target, move) { + if (source.species.name === 'Clodsire') { + return -6; + } + }, + flags: {failcopycat: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Max Guard', source); + if (source.species.name === 'Quagsire') { + this.add('-anim', source, 'Protect', source); + return !!this.queue.willAct() && this.runEvent('StallMove', source); + } else { + this.add('-anim', source, 'Recover', source); + } + }, + volatileStatus: 'protect', + onModifyMove(move, pokemon) { + if (pokemon.species.name === 'Clodsire') { + move.flags['heal'] = 1; + move.heal = [1, 2]; + delete move.volatileStatus; + } + }, + onHit(pokemon) { + if (pokemon.species.name === 'Quagsire') { + pokemon.addVolatile('stall'); + changeSet(this, pokemon, ssbSets['A Quag To The Past-Clodsire'], true); + } else { + changeSet(this, pokemon, ssbSets['A Quag To The Past'], true); + } + }, + secondary: null, + target: "self", + type: "Ground", + }, + + // Archas + aurarain: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Heals 50% HP + cures status + Focus Energy.", + desc: "Z-Move that requires Lilligantium Z. The user heals 50% of its maximum HP, cures its status, and gains the Focus Energy effect.", + name: "Aura Rain", + pp: 1, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Rain Dance', source); + this.add('-anim', source, 'Water Sport', source); + this.add('-anim', source, 'Aromatherapy', source); + }, + onHit(pokemon) { + this.add('-message', 'An alleviating aura rains down on the field!'); + pokemon.heal(pokemon.maxhp / 2, pokemon, this.effect); + this.add('-heal', pokemon, pokemon.getHealth); + pokemon.cureStatus(); + pokemon.addVolatile('focusenergy', pokemon, this.effect); + }, + isZ: "lilligantiumz", + secondary: null, + target: "self", + type: "Grass", + }, + + // Arcueid + funnyvamp: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Changes user's forme, effects vary with forme.", + desc: "If the user is Deoxys-Defense, it transforms into Deoxys-Attack and uses a random move from its moveset. If the user is Deoxys-Attack, it transforms into Deoxys-Defense and boosts two random stats by 1 stage each, except Accuracy and Evasion.", + name: "Funny Vamp", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, failcopycat: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Moonlight', target); + this.add('-anim', source, 'Quiver Dance', target); + this.add('-anim', source, 'Geomancy', target); + this.add(`c:|${getName('Arcueid')}|I've got nine lives 🐈. You knew that about cats, right, 😹? That means I haven't lost until you beat me nine times 🙀!`); + }, + onHit(target, source, move) { + if (source.species.name === "Deoxys-Defense") { + changeSet(this, source, ssbSets['Arcueid-Attack'], true); + let randMove = this.random(3) - 1; + if (randMove < 0) randMove = 0; + this.actions.useMove(source.moveSlots[randMove].id, target); + } else { + changeSet(this, source, ssbSets['Arcueid'], true); + for (let i = 0; i < 2; i++) { + const stats: BoostID[] = []; + const boost: SparseBoostsTable = {}; + let statPlus: BoostID; + for (statPlus in source.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (source.boosts[statPlus] < 6) { + stats.push(statPlus); + } + } + const randomStat: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + if (randomStat) boost[randomStat] = 1; + this.boost(boost, source, source); + } + this.heal(source.baseMaxhp / 2, source); + } + }, + secondary: null, + target: "self", + type: "Psychic", + }, + + // Arsenal + megidolaon: { + accuracy: 100, + basePower: 255, + category: "Special", + shortDesc: "Flinches if resulting in a critical hit.", + name: "Megidolaon", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Hyper Beam', target); + this.add('-anim', source, 'Earthquake', target); + }, + volatileStatus: 'flinch', + onHit(target, source, move) { + if (!source.getMoveHitData(move).crit) { + delete move.volatileStatus; + } + }, + secondary: null, + target: "normal", + type: "???", + }, + + // Artemis + automatedresponse: { + accuracy: 100, + basePower: 90, + category: "Special", + shortDesc: "Change move/user's type to SE. 25% NVE instead.", + desc: "Randomly changes the move's and user's type to deal super effective damage. There is a 25% chance that this move has a false positive and changes the move's and user's type to deal not very effective damage instead.", + name: "Automated Response", + pp: 20, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + beforeTurnCallback(source, target) { + const seTypes = []; + const nveTypes = []; + let netType = ""; + for (const i of this.dex.types.names()) { + if (target) { + const effect = this.dex.getEffectiveness(i, target); + const isImmune = !this.dex.getImmunity(i, target); + if (effect > 0 && !isImmune) { + seTypes.push(i); + } else if (effect < 0 && !isImmune) { + nveTypes.push(i); + } + } + } + let falsePositive = false; + if (!seTypes.length) seTypes.push('Electric'); + if (!nveTypes.length) nveTypes.push('Electric'); + if (this.randomChance(75, 100)) { + netType = this.sample(seTypes); + } else { // false positive + falsePositive = true; + netType = this.sample(nveTypes); + } + if (falsePositive) { + this.add('-message', `${(target.illusion || target).name} triggered a false-positive and caused Automated Response to become not-very effective!`); + } + if (source.setType(netType)) { + this.add('-start', source, 'typechange', netType); + } + source.m.artemisMoveType = netType; + }, + onPrepareHit(target, source, move) { + this.add('-anim', source, 'Techno Blast', target); + }, + onModifyType(move, pokemon, target) { + if (pokemon.m.artemisMoveType) { + move.type = pokemon.m.artemisMoveType; + } + }, + target: "normal", + type: "Electric", + }, + + // Arya + anyonecanbekilled: { + accuracy: 95, + basePower: 80, + category: "Special", + shortDesc: "+2 SpA for 2 turns.", + desc: "The user's Special Attack is boosted by 2 stages for 2 turns and is restored to its original value at the end. Does not stack with itself.", + name: "Anyone can be killed", + pp: 10, + priority: 0, + flags: {protect: 1, sound: 1, bypasssub: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + self: { + volatileStatus: 'anyonecanbekilled', + }, + condition: { + duration: 3, + onResidualOrder: 3, + onStart(target, source, sourceEffect) { + this.boost({spa: 2}, source); + }, + onEnd(target) { + this.boost({spa: -2}, target); + }, + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Dragon Dance', target); + this.add('-anim', source, 'Earth Power', target); + }, + target: "normal", + type: "Ground", + }, + + // autumn + seasonssmite: { + accuracy: 100, + basePower: 90, + category: "Special", + shortDesc: "+1 Defense if Protosynthesis is active.", + desc: "Raises the user's Defense by 1 stage if the user is under the effect of the Protosynthesis Ability.", + name: "Season's Smite", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', target, 'Morning Sun', target); + }, + secondary: { + chance: 100, + onHit(target, source, move) { + if (source.volatiles['protosynthesis']) { + this.boost({def: 1}, source, source, move); + } + }, + }, + target: "normal", + type: "Ghost", + }, + + // ausma + sigilsstorm: { + accuracy: 100, + basePower: 123, + category: "Special", + shortDesc: "If hit, Trick Room. Else, attack+random effect.", + desc: "Begins to charge an attack at the start of the turn. Nearly always moves last. If the user is directly damaged while charging, Trick Room is set instead, making the slower Pokemon move first for 5 turns. The Trick Room effect occurs before Cascade if both would activate on the same turn. If the user was not directly damaged while charging, the attack executes and one random effect will occur from the following: poison; burn; paralysis; confusion; the user recovers HP equal to 75% of damage dealt; all entry hazards are removed from the field; a random entry hazard is set, except G-Max Steelsurge; two random stats of the user are raised by 1 stage each, except Accuracy and Evasion; two random stats of the target are lowered by 1 stage each, except Accuracy and Evasion; or the target transforms into a Fennekin with Ember, Scratch, and Growl until they switch out.", + name: "Sigil's Storm", + pp: 5, + priority: -6, + onModifyPriority(priority, source, target, move) { + if (source.species.id === 'mismagius') return priority + 6; + }, + flags: {snatch: 1, metronome: 1, protect: 1, failcopycat: 1}, + priorityChargeCallback(pokemon) { + if (pokemon.species.id === 'mismagius') return; + pokemon.addVolatile('sigilsstorm'); + this.add('-anim', pokemon, 'Calm Mind', pokemon); + }, + beforeMoveCallback(pokemon) { + if (pokemon.species.id === 'mismagius') return; + if (pokemon.volatiles['sigilsstorm']?.lostFocus) { + this.add('cant', pokemon, 'sigilsstorm', 'sigilsstorm'); + this.actions.useMove('trickroom', pokemon); + this.add(`c:|${getName('ausma')}|dog can you not`); + return true; + } + }, + onModifyType(move, pokemon, target) { + if (pokemon.species.id === 'mismagius') { + move.type = 'Ghost'; + } + }, + condition: { + duration: 1, + onStart(pokemon) { + this.add('-singleturn', pokemon, 'move: Sigil\'s Storm'); + }, + onHit(pokemon, source, move) { + if (move.category !== 'Status') { + this.effectState.lostFocus = true; + } + }, + onTryAddVolatile(status, pokemon) { + if (status.id === 'flinch') return null; + }, + }, + onTry(source) { + if (source.illusion || source.name === 'ausma') { + return; + } + this.attrLastMove('[still]'); + this.add('-fail', source, 'move: Sigil\'s Storm'); + this.hint("Only a Pokemon whose nickname is \"ausma\" can use this move."); + return null; + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Geomancy', source); + this.add('-anim', source, 'Blood Moon', target); + }, + secondary: { + chance: 100, + onHit(target, source, move) { + const sideConditions = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; + const chance = this.random(100); + if (chance <= 10) { + target.trySetStatus('psn', target); + } else if (chance <= 20) { + target.trySetStatus('par', target); + } else if (chance <= 30) { + target.trySetStatus('brn', target); + } else if (chance <= 50) { + const stats: BoostID[] = []; + const boost: SparseBoostsTable = {}; + let statPlus: BoostID; + const statTarget = chance <= 40 ? target : source; + for (statPlus in statTarget.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (chance <= 40 && statTarget.boosts[statPlus] > -6) { + stats.push(statPlus); + } else if (chance <= 50 && statTarget.boosts[statPlus] < 6) { + stats.push(statPlus); + } + } + const randomStat: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + const randomStat2: BoostID | undefined = stats.length ? this.sample(stats.filter(s => s !== randomStat)) : undefined; + if (randomStat && randomStat2) { + if (chance <= 40) { + boost[randomStat] = -1; + boost[randomStat2] = -1; + } else { + boost[randomStat] = 1; + boost[randomStat2] = 1; + } + this.boost(boost, statTarget, statTarget); + } + } else if (chance <= 60) { + target.addVolatile('confusion', source); + } else if (chance <= 70) { + for (const condition of sideConditions) { + if (source.side.removeSideCondition(condition)) { + this.add('-sideend', source.side, this.dex.conditions.get(condition).name, '[from] move: Sigil\'s Storm', '[of] ' + source); + } + } + } else if (chance <= 80) { + target.side.addSideCondition(this.sample(sideConditions.filter(hazard => !target.side.getSideCondition(hazard)))); + } else if (chance <= 90) { + move.drain = [3, 4]; + } else { + changeSet(this, target, ssbSets["ausma-Fennekin"], true); + this.add(`c:|${getName('ausma')}|oh shit i posted to the wrong account`); + } + }, + }, + target: "normal", + type: "Psychic", + }, + + // AuzBat + preptime: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Raises the user's Sp. Atk by 2 and Speed by 1.", + desc: "The user's Special Attack is boosted by 2 stages and its Speed is boosted by 1 stage.", + name: "Prep Time", + pp: 5, + priority: 0, + flags: {snatch: 1, metronome: 1}, + boosts: { + spa: 2, + spe: 1, + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Tidy Up', source); + }, + target: "self", + type: "Psychic", + }, + + // avarice + yugiohreference: { + accuracy: 90, + basePower: 105, + category: "Special", + shortDesc: "40% chance to force the foe out.", + desc: "Nearly always moves last. If this attack is successful, there is a 40% chance that the target is forced to switch out and be replaced with a random unfainted ally.", + name: "yu-gi-oh reference", + pp: 5, + priority: -6, + flags: {protect: 1, bullet: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Never-Ending Nightmare', target); + }, + secondary: { + chance: 40, + onHit(target, source, move) { + move.forceSwitch = true; + }, + }, + target: "normal", + type: "Ghost", + }, + + // Beowulf + buzzerstingercounter: { + accuracy: 100, + basePower: 50, + category: "Physical", + shortDesc: "+3 prio if foe uses custom move. +3 Atk on KO.", + desc: "This move will nearly always move first (+3 priority) if the target would use a custom move from Super Staff Bros Ultimate this turn. Raises the user's Attack by 3 stages if this move knocks out the target.", + name: "Buzzer Stinger Counter", + gen: 9, + pp: 10, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1}, + onModifyPriority(priority, pokemon, target) { + if (!target) return; + const move = this.queue.willMove(target)?.moveid; + if (move && target.moves.indexOf(move) === target.moves.length - 1) { + this.debug('BSC priority boost'); + return priority + 3; + } + }, + onAfterMoveSecondarySelf(pokemon, target, move) { + if (!target || target.fainted || target.hp <= 0) this.boost({atk: 3}, pokemon, pokemon, move); + }, + secondary: null, + target: "normal", + type: "Bug", + }, + + // berry + whatkind: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Eats berry, gives random new berry, heals 25%.", + desc: "The user consumes its held berry if it is holding one, heals 25% of its maximum HP, and then gains a random item from the following: Iapapa Berry, Leppa Berry, Lum Berry, Maranga Berry, Ganlon Berry, Starf Berry, Liechi Berry, or Enigma Berry.", + name: "what kind", + gen: 9, + pp: 10, + priority: 0, + flags: {}, + onPrepareHit() { + this.attrLastMove('[anim] Nasty Plot'); + }, + onHit(pokemon, qwerty, move) { + if (pokemon.item && pokemon.getItem().isBerry) { + pokemon.eatItem(true); + } + pokemon.lastItem = ''; + const berries = ['iapapa', 'leppa', 'lum', 'maranga', 'ganlon', 'starf', 'liechi', 'enigma']; + const item = this.dex.items.get(this.sample(berries) + 'berry'); + pokemon.setItem(item, pokemon, move); + this.add('-item', pokemon, item, '[from] move: what kind'); + this.heal(pokemon.baseMaxhp / 4, pokemon); + }, + secondary: null, + target: "self", + type: "Water", + }, + + // Billo + hackcheck: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "80%: Change into Lunala, else Solgaleo.", + desc: "This move has an 80% chance of transforming the user into Lunala. It has a 20% chance of instead transforming the user into Solgaleo, boosting its Attack by 1 stage, preventing it from switching out, and causing it to faint after three turns, akin to Perish Song.", + name: "Hack Check", + gen: 9, + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1, bypasssub: 1, failcopycat: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onHit(target, source, move) { + if (this.randomChance(1, 5)) { + changeSet(this, source, ssbSets['Billo-Solgaleo'], true); + source.addVolatile('trapped', source, move, 'trapper'); + source.addVolatile('perishsong'); + this.add('-start', source, 'perish3', '[silent]'); + this.boost({atk: 1}, source, source, move); + this.add(`c:|${getName('Billo')}|This is a streamer mon, you're banned from the room.`); + } else { + changeSet(this, source, ssbSets['Billo-Lunala'], true); + this.add(`c:|${getName('Billo')}|Everything checks out, remember to report any suspicious mons to staff!`); + } + }, + target: "self", + type: "Normal", + }, + + // blazeofvictory + veto: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Protects user, Disables attackers.", + desc: "Nearly always moves first. The user is protected from most attacks made by other Pokemon during this turn. If a targeted move is blocked during this effect, the move used by the target is disabled and cannot be selected for 4 turns. This move cannot disable more than one move at a time. This move fails if the user moves last, and has an increasing chance to fail when used consecutively.", + name: "Veto", + gen: 9, + pp: 10, + priority: 3, + flags: {noassist: 1, failcopycat: 1}, + stallingMove: true, + volatileStatus: 'veto', + onPrepareHit(pokemon) { + return !!this.queue.willAct() && this.runEvent('StallMove', pokemon); + }, + onHit(pokemon) { + pokemon.addVolatile('stall'); + }, + condition: { + duration: 1, + onStart(target) { + this.add('-singleturn', target, 'move: Protect'); + }, + onTryHitPriority: 3, + onTryHit(target, source, move) { + if (!move.flags['protect']) { + if (['gmaxoneblow', 'gmaxrapidflow'].includes(move.id)) return; + if (move.isZ || move.isMax) target.getMoveHitData(move).zBrokeProtect = true; + return; + } + if (move.smartTarget) { + move.smartTarget = false; + } else { + this.add('-activate', target, 'move: Protect'); + } + const lockedmove = source.getVolatile('lockedmove'); + if (lockedmove) { + // Outrage counter is reset + if (source.volatiles['lockedmove'].duration === 2) { + delete source.volatiles['lockedmove']; + } + } + if (!source.volatiles['disable']) { + source.addVolatile('disable', this.effectState.target); + } + return this.NOT_FAIL; + }, + onHit(target, source, move) { + if (move.isZOrMaxPowered && !source.volatiles['disable']) { + source.addVolatile('disable', this.effectState.target); + } + }, + }, + secondary: null, + target: "self", + type: "Normal", + }, + + // Blitz + geyserblast: { + accuracy: 95, + basePower: 100, + category: "Special", + shortDesc: "Fire + Water-type attack. Ignores weather.", + desc: "This move combines Fire in its type effectiveness against the target and does not increase or decrease damage dealt based on the current weather condition.", + name: "Geyser Blast", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Steam Eruption'); + }, + onEffectiveness(typeMod, target, type, move) { + return typeMod + this.dex.getEffectiveness('Fire', type); + }, + secondary: null, + target: "normal", + type: "Water", + }, + + // Breadstycks + bakersdouzeoff: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Wake up -> Wish + Substitute -> Baton Pass.", + desc: "The user wakes up if it is asleep. Then, the user uses the moves Wish, Substitute, and Baton Pass in that order. If the user does not have enough HP to set a Substitute, the rest of the effects of the move will still occur.", + name: "Baker's Douze Off", + gen: 9, + pp: 15, + priority: 1, + flags: {}, + sleepUsable: true, + slotCondition: 'Wish', + volatileStatus: 'substitute', + onPrepareHit(pokemon) { + this.attrLastMove('[anim] Teleport'); + if (pokemon.status === 'slp') pokemon.cureStatus(); + }, + onTry(source, target, move) { + if (source.volatiles['substitute'] || + source.hp <= source.maxhp / 4 || source.maxhp === 1) { // Shedinja clause + delete move.volatileStatus; + } + }, + onHit(target, source, move) { + if (move.volatileStatus) this.directDamage(target.maxhp / 4); + }, + onAfterMoveSecondarySelf(source) { + if (this.canSwitch(source.side)) { + this.actions.useMove('batonpass', source); + source.skipBeforeSwitchOutEventFlag = false; + } + }, + secondary: null, + target: "self", + type: "Normal", + }, + + // Cake + rolesystem: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Protects, changes set. Can't use twice in a row.", + // it was easier to do it this way rather than implement failing on consecutive uses + desc: "Nearly always moves first. This move cannot be selected if it was the last move used by this Pokemon. The user is protected from most attacks made by other Pokemon during this turn, and all of the user's stat changes are set to 0. Then, the user gains varying stat boosts and changes its moveset based on the role it picks. Fast Attacker: +2 Attack, +4 Speed with Hyper Drill, Combat Torque, and Extreme Speed. Bulky Setup: +1 Attack, +1 Defense, +2 Special Defense with Coil, Body Slam, and Heal Order. Bulky Support: +2 Defense, +2 Special Defense with Heal Order and any two of Ceaseless Edge, Stone Axe, Mortal Spin, and G-Max Steelsurge. Wallbreaker: +6 Special Attack with Blood Moon.", + name: "Role System", + gen: 9, + pp: 40, + priority: 6, + flags: {protect: 1, mirror: 1, cantusetwice: 1, failcopycat: 1}, + onTry(source) { + if (source.species.baseSpecies === 'Dunsparce') { + return; + } + this.attrLastMove('[still]'); + this.add('-fail', source, 'move: Role System'); + this.hint("Only a Pokemon whose form is Dunsparce can use this move."); + return null; + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Haze', target); + }, + onHit(target, source, move) { + if (this.randomChance(1, 256)) { + this.add('-activate', target, 'move: Celebrate'); + } else { + target.clearBoosts(); + this.add('-clearboost', target); + target.addVolatile('protect'); + const set = Math.floor(Math.random() * 4); + const newMoves = []; + let role = ''; + switch (set) { + case 0: + newMoves.push('hyperdrill', 'combattorque', 'extremespeed'); + role = 'Fast Attacker'; + this.boost({atk: 2, spe: 4}); + break; + case 1: + newMoves.push('coil', 'bodyslam', 'healorder'); + role = 'Bulky Setup'; + this.boost({atk: 1, def: 1, spd: 2}); + break; + case 2: + const varMoves = ['Ceaseless Edge', 'Stone Axe', 'Mortal Spin', 'G-Max Steelsurge']; + const move1 = this.sample(varMoves); + const move2 = this.sample(varMoves.filter(i => i !== move1)); + newMoves.push('healorder', move1, move2); + role = 'Bulky Support'; + this.boost({def: 2, spd: 2}); + break; + case 3: + newMoves.push('bloodmoon', 'bloodmoon', 'bloodmoon'); + role = 'Wallbreaker'; + this.boost({spa: 6}); + break; + // removing moveslots becomes very messy so this was the next best thing + } + this.add('-message', `Cake takes up the role of ${role}!`); + for (let i = 0; i < 3; i++) { + const replacement = this.dex.moves.get(newMoves[i]); + const replacementMove = { + move: replacement.name, + id: replacement.id, + pp: replacement.pp, + maxpp: replacement.pp, + target: replacement.target, + disabled: false, + used: false, + }; + source.moveSlots[i] = replacementMove; + source.baseMoveSlots[i] = replacementMove; + } + } + }, + secondary: null, + target: "self", + type: "Normal", + // bird type crashes during testing (runStatusImmunity for Bird at sim\pokemon.ts:2101:10). no-go. + }, + + // chaos + outage: { + accuracy: 95, + basePower: 110, + category: "Special", + shortDesc: "Clear Smog + Taunt + Embargo.", + desc: "If this move is successful, the target has all stat stages reset to 0, cannot use status moves for the next 3 turns, and cannot gain any effect from held items for 5 turns. Z-Crystals and forme-changing items are unaffected.", + name: "Outage", + gen: 9, + pp: 5, + priority: 0, + flags: {contact: 1, protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Dark Pulse', target); + }, + secondaries: [ + { + chance: 100, + volatileStatus: 'taunt', + }, { + chance: 100, + volatileStatus: 'embargo', + }, + { + chance: 100, + onHit(target) { + target.clearBoosts(); + this.add('-clearboost', target); + }, + }, + ], + target: "normal", + type: "Dark", + }, + + // Chloe + detodaslasflores: { + accuracy: 90, + basePower: 90, + category: "Physical", + shortDesc: "Sets Grassy Terrain before. -50% HP on miss.", + desc: "Before attacking, this move will set Grassy Terrain for 5 turns. If the attack is not successful, the user loses half of its maximum HP, rounded down, as crash damage.", + name: "De Todas las Flores", + gen: 9, + pp: 15, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1, gravity: 1}, + hasCrashDamage: true, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.field.setTerrain('grassyterrain'); + this.add('-anim', source, 'High Jump Kick', target); + }, + onMoveFail(target, source, move) { + this.damage(source.baseMaxhp / 2, source, source, this.dex.conditions.get('High Jump Kick')); + }, + secondary: null, + target: "normal", + type: "Grass", + }, + + // ciran + summonmonsterviiifiendishmonstrouspiplupedecolossal: { + accuracy: 90, + basePower: 60, + basePowerCallback(pokemon, target, move) { + if (move.hit === 1) return 60; + if (move.hit === 2) return 0; + return 20; + }, + category: "Physical", + shortDesc: "60 BP Bite->Toxic->2-5 multihit w/ 20 BP each.", + desc: "The user calls the following effects in order: a 100% accurate 60 Base Power Poison-type attack with a 20% chance to cause the target to flinch; 100% accurate Toxic; and 2-5 90% accurate 20 Base Power Poison-type attacks.", + name: "Summon Monster VIII: Fiendish monstrous Piplupede, Colossal", + gen: 9, + pp: 15, + priority: 0, + flags: {protect: 1, contact: 1, mirror: 1}, + multihit: [3, 7], + self: { + volatileStatus: 'summonmonsterviiifiendishmonstrouspiplupedecolossal', + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Crunch', target); + this.add('-anim', source, 'Fury Swipes', target); + }, + condition: { + duration: 1, + noCopy: true, + onAccuracy(accuracy, target, source, move) { + if (move.hit <= 2) return 100; + return 90; + }, + }, + secondaries: [ + { + chance: 20, + onHit(target, source, move) { + if (move.hit !== 1) return; + target.addVolatile('flinch', source, move); + }, + }, + { + chance: 100, + onHit(target, source, move) { + if (move.hit !== 2) return; + target.trySetStatus('tox', source, move); + }, + }, + ], + onAfterMove(source, target, move) { + this.add(`c:|${getName((source.illusion || source).name)}|There's no way this'll faint in one punch!`); + }, + target: "allAdjacentFoes", + type: "Poison", + }, + + // Clefable + giveaway: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "User switches, passing stat changes and more.", + desc: "The user is replaced with another Pokemon in its party. The selected Pokemon has the user's stat stage changes, confusion, and certain move effects transferred to it.", + name: "Giveaway!", + gen: 9, + pp: 10, + priority: 0, + flags: {metronome: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Teleport', target); + this.add('-anim', source, 'Baton Pass', target); + }, + // Baton Pass clones are stupid client side so we're doing this + onHit(target) { + this.actions.useMove('batonpass', target); + }, + secondary: null, + target: "self", + type: "Normal", + }, + + // Clementine + o: { + accuracy: 100, + basePower: 100, + category: "Special", + shortDesc: "Phys if Atk > SpA. Flips user.", + desc: "This move becomes a physical attack if the user's Attack is greater than its Special Attack, including stat stage changes. If this move is successful and the user is an Avalugg, it either gains or loses the Flipped condition, changing its moveset and base stats. When under the Flipped condition, Avalugg's Base Stats are 95/46/44/184/116/95 and its moveset changes to Earth Power, Volt Switch, and Heal Pulse. This move is super effective against Kennedy.", + name: "(╯°o°)╯︵ ┻━┻", + pp: 10, + priority: 0, + flags: {protect: 1, failcopycat: 1}, + noSketch: true, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Malicious Moonsault', target); + this.add('-anim', source, 'Blizzard', target); + }, + onModifyMove(move, pokemon) { + if (pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) move.category = 'Physical'; + }, + onModifyType(move, pokemon) { + let type = pokemon.getTypes()[0]; + if (type === "Bird") type = "???"; + if (type === "Stellar") type = pokemon.getTypes(false, true)[0]; + move.type = type; + }, + onEffectiveness(typeMod, target, type) { + if (target?.name === 'Kennedy') return 1; + }, + onHit(target, source, move) { + if (source.illusion || source.baseSpecies.baseSpecies !== 'Avalugg') return; + if (source.volatiles['flipped']) { + source.removeVolatile('flipped'); + changeSet(this, source, ssbSets['Clementine']); + } else { + source.addVolatile('flipped', source, move); + changeSet(this, source, ssbSets['Clementine-Flipped']); + } + }, + target: "normal", + type: "Normal", + }, + + // clerica + stockholmsyndrome: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Curses and traps foe. User loses 1/2 HP.", + desc: "The user loses 1/2 of its maximum HP, rounded down and even if it would cause fainting, in exchange for the target losing 1/4 of its maximum HP, rounded down, at the end of each turn while it is active and becoming unable to switch out.", + name: "Stockholm Syndrome", + pp: 5, + priority: 0, + flags: {bypasssub: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Curse', target); + this.add('-anim', source, 'Block', target); + }, + onHit(target, source, move) { + let success = false; + if (!target.volatiles['curse']) { + this.directDamage(source.maxhp / 2, source, source); + target.addVolatile('curse'); + success = true; + } + return target.addVolatile('trapped', source, move, 'trapper') || success; + }, + zMove: {effect: 'heal'}, + secondary: null, + target: "normal", + type: "Ghost", + }, + + // Clouds + windsofchange: { + accuracy: 100, + basePower: 70, + category: "Physical", + shortDesc: "User sets Tailwind and switches out.", + desc: "If this attack is successful and the user has not fainted, the user switches out even if it is trapped and is replaced immediately by a selected party member, and its party members have their Speed doubled for 4 turns.", + name: "Winds of Change", + pp: 15, + priority: 0, + flags: {protect: 1}, + self: { + sideCondition: 'tailwind', + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Tailwind', target); + this.add('-anim', source, 'U-turn', target); + }, + selfSwitch: true, + secondary: null, + target: "normal", + type: "Flying", + }, + + // Coolcodename + haxerswill: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "70% +1 SpA/Spe & Focus Energy, else lose boosts.", + desc: "This move has a 70% chance to boost the user's Special Attack and Speed by 1 stage and grant the user an increased chance of dealing critical hits. If it does not do this, the user's positive stat stage changes will instead be removed.", + name: "Haxer's Will", + gen: 9, + pp: 15, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Clangorous Soul', source); + this.add('-anim', source, 'Focus Energy', source); + }, + onHit(pokemon) { + if (this.randomChance(7, 10)) { + this.boost({spa: 1, spe: 1}); + pokemon.addVolatile('focusenergy'); + } else { + pokemon.clearBoosts(); + this.add('-clearboost', pokemon); + } + }, + target: "self", + type: "Normal", + }, + + // Corthius + monkeybeatup: { + accuracy: 100, + basePower: 20, + category: "Physical", + shortDesc: "Hits 4-5 times. +1 priority under Grassy Terrain.", + desc: "Usually moves first when Grassy Terrain is in effect. This move has a 50% chance to hit 4 times and a 50% chance to hit 5 times.", + name: "Monkey Beat Up", + gen: 9, + pp: 10, + priority: 0, + multihit: [4, 5], + flags: {protect: 1, contact: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Beat Up', target); + this.add('-anim', source, 'Wood Hammer', target); + }, + onModifyPriority(priority, source, target, move) { + if (this.field.isTerrain('grassyterrain') && source.isGrounded()) { + return priority + 1; + } + }, + target: "normal", + type: "Grass", + }, + + // Dawn of Artemis + magicalfocus: { + accuracy: 100, + basePower: 80, + category: "Special", + name: "Magical Focus", + shortDesc: "Move type cycles. Sets Reflect. Fail if Ultra.", + desc: "This move's type cycles between Fire, Electric, and Ice depending on the current turn number, starting at Fire on turn 1, Electric on turn 2, Ice on turn 3, and repeating this pattern on future turns. For 5 turns, all Pokemon on the user's side of the field take 0.5x damage from physical attacks. This move fails if the user is Necrozma-Ultra.", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove(target, source, move) { + switch (move.type) { + case 'Fire': + this.attrLastMove('[anim] Flamethrower'); + break; + case 'Electric': + this.attrLastMove('[anim] Thunderbolt'); + break; + case 'Ice': + this.attrLastMove('[anim] Ice Beam'); + break; + default: + this.attrLastMove('[anim] Hyper Beam'); + break; + } + }, + onModifyType(move) { + if (this.turn % 3 === 1) { + move.type = 'Fire'; + } else if (this.turn % 3 === 2) { + move.type = 'Electric'; + } else { + move.type = 'Ice'; + } + }, + onDisableMove(pokemon) { + if (pokemon.species.id === 'necrozmaultra') pokemon.disableMove('magicalfocus'); + }, + self: { + sideCondition: 'reflect', + }, + target: "normal", + type: "Normal", + }, + + // DaWoblefet + superegoinflation: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "User heals 25% HP; Target: +2 Atk/SpA + Taunt.", + desc: "The user heals 1/4 of its maximum HP. The target's Attack and Special Attack are raised by 2 stages each, and the target cannot use status moves for 3 turns.", + name: "Super Ego Inflation", + gen: 9, + pp: 5, + priority: -7, + flags: {protect: 1, mirror: 1, bypasssub: 1, reflectable: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Follow Me', source); + this.add('-anim', target, 'Swords Dance', target); + this.add('-anim', target, 'Nasty Plot', target); + }, + onHit(target, source) { + this.heal(source.maxhp / 4, source); + this.boost({atk: 2, spa: 2}); + target.addVolatile('taunt'); + }, + target: "normal", + type: "Normal", + }, + + // deftinwolf + trivialpursuit: { + accuracy: 100, + basePower: 70, + basePowerCallback(pokemon, target, move) { + // You can't get here unless the pursuit succeeds + if (target.beingCalledBack || target.switchFlag) { + this.debug('Trivial Pursuit damage boost'); + return move.basePower * 2; + } + return move.basePower; + }, + category: "Physical", + shortDesc: "If foe is switching out, 2x power. Doesn't KO.", + desc: "If an opposing Pokemon switches out this turn, this move hits that Pokemon before it leaves the field, even if it was not the original target. If the user moves after an opponent using Flip Turn, Parting Shot, Teleport, U-turn, or Volt Switch, but not Baton Pass, it will hit that opponent before it leaves the field. Power doubles and no accuracy check is done if the user hits an opponent switching out, and the user's turn is over. Leaves the target with at least 1 HP.", + name: "Trivial Pursuit", + pp: 5, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Pursuit'); + }, + beforeTurnCallback(pokemon) { + for (const side of this.sides) { + if (side.hasAlly(pokemon)) continue; + side.addSideCondition('trivialpursuit', pokemon); + const data = side.getSideConditionData('trivialpursuit'); + if (!data.sources) { + data.sources = []; + } + data.sources.push(pokemon); + } + }, + onModifyMove(move, source, target) { + if (target?.beingCalledBack || target?.switchFlag) move.accuracy = true; + }, + onTryHit(target, pokemon) { + target.side.removeSideCondition('trivialpursuit'); + }, + condition: { + duration: 1, + onBeforeSwitchOut(pokemon) { + this.debug('Trivial Pursuit start'); + let alreadyAdded = false; + pokemon.removeVolatile('destinybond'); + for (const source of this.effectState.sources) { + if (!source.isAdjacent(pokemon) || !this.queue.cancelMove(source) || !source.hp) continue; + if (!alreadyAdded) { + this.add('-activate', pokemon, 'move: Pursuit'); + alreadyAdded = true; + } + // Run through each action in queue to check if the Pursuit user is supposed to Mega Evolve this turn. + // If it is, then Mega Evolve before moving. + if (source.canMegaEvo || source.canUltraBurst) { + for (const [actionIndex, action] of this.queue.entries()) { + if (action.pokemon === source && action.choice === 'megaEvo') { + this.actions.runMegaEvo(source); + this.queue.list.splice(actionIndex, 1); + break; + } + } + } + this.actions.runMove('trivialpursuit', source, source.getLocOf(pokemon)); + } + }, + }, + onDamagePriority: -20, + onDamage(damage, target, source, effect) { + if (damage >= target.hp) return target.hp - 1; + }, + secondary: null, + target: "normal", + type: "Dark", + }, + + // dhelmise + bioticorb: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: ">50% HP:Set orb that damages foes.<50% heals you.", + desc: "If the user's HP is at or above 50% of its maximum HP, a damaging orb is set on the opponent's side of the field, dealing 50 points of damage at the end of each turn for 4 turns. If the user's HP is below 50% of its maximum HP, a healing orb is set on the user's side of the field, healing the active Pokemon for 65 HP at the end of each turn until it has healed a total of 300 HP. If the appropriate side already has its orb, this move will try to place the other orb down. This move fails if an orb is already in place on the side an orb would be set.", + name: "Biotic Orb", + gen: 9, + pp: 10, + priority: 0, + flags: {reflectable: 1, mustpressure: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + if (source.hp < source.maxhp / 2) { + this.add('-anim', source, 'Wish', source); + } else { + this.add('-anim', source, 'Shadow Ball', target); + } + }, + // Volatiles implemented in conditions.ts + onHit(target, source, move) { + if (source.hp < source.maxhp / 2) { + if (!source.side.addSideCondition('bioticorbself', source, move)) { + if (!source.side.foe.addSideCondition('bioticorbfoe', source, move)) return null; + } + } else { + if (!source.side.foe.addSideCondition('bioticorbfoe', source, move)) { + if (!source.side.addSideCondition('bioticorbself', source, move)) return null; + } + } + }, + secondary: null, + target: "normal", + type: "Poison", + }, + + // DianaNicole + breathoftiamat: { + accuracy: 95, + basePower: 20, + category: "Special", + shortDesc: "5 hits: Fire, Ice, Poison, Elec, Poison. Is STAB.", + desc: "This move hits 5 times. The first hit is Fire-type, the second is Ice-type, the third is Poison-type, the fourth is Electric-type, and the fifth is Poison-type. Each move checks accuracy individually, and if one hit misses, the attack stops. If the target is immune to one or more of the hits, the rest will still execute as normal. This move will always have Same-Type Attack Bonus.", + name: "Breath of Tiamat", + pp: 20, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + if (target.runImmunity('Fire')) { + this.add('-anim', source, 'Flamethrower', target); + } + }, + onHit(target, source, move) { + const moveTypes = ['Fire', 'Ice', 'Poison', 'Electric', 'Poison']; + const hitTypes = moveTypes.filter(x => target.runImmunity(x)); + if (move.hit >= hitTypes.length) { + move.basePower = 0; + move.category = 'Status'; + /* Problem here - we can't retroactively change the multihit parameter. + With this specific code, the move functions as intended, but will display the incorrect + number of hits if a target is immune to any of them. Even if you try to return false, null, etc + during this step, it will not interrupt the move. Nor will a this.add(-fail) do so either. + This seems to be the only way to get it to work and is a decent enough compromise for now. */ + } else { + move.type = hitTypes[move.hit]; + const moveAnims = ['Flamethrower', 'Ice Beam', 'Gunk Shot', 'Charge Beam', 'Sludge Bomb']; + const hitAnims = []; + for (const [i, anim] of moveAnims.entries()) { + const index2 = Math.min(i, hitTypes.length - 1); + if (moveTypes[i] === hitTypes[index2]) { + hitAnims.push(anim); + } + } + this.add('-anim', source, hitAnims[move.hit], target); + } + }, + multihit: 5, + multiaccuracy: true, + forceSTAB: true, + secondary: null, + target: 'normal', + type: "Fire", + }, + + // EasyOnTheHills + snacktime: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Charges.Turn 2: +2 Atk/Def, heal 25% for 3 turns.", + desc: "Boosts the user's Attack and Defense by 2 stages, and heals the user for 1/4 of its maximum HP at the end of each turn for 3 turns. This attack charges on the first turn and executes on the second. This move will fail if it is already in effect.", + name: "Snack Time", + pp: 10, + priority: 0, + flags: {}, + volatileStatus: 'snack', + onTryMove(attacker, defender, move) { + if (attacker.volatiles['snack']) { + this.add('-fail', attacker, 'move: Snack Time'); + this.attrLastMove('[still]'); + return null; + } + if (attacker.removeVolatile(move.id)) { + this.attrLastMove('[still]'); + this.add('-anim', attacker, 'Shell Smash', attacker); + return; + } + this.attrLastMove('[still]'); + this.add('-anim', attacker, 'Geomancy', attacker); + if (!this.runEvent('ChargeMove', attacker, defender, move)) { + return; + } + attacker.addVolatile('twoturnmove', defender); + return null; + }, + boosts: { + atk: 2, + def: 2, + }, + // passive recovery implemented in conditions.ts + secondary: null, + target: "self", + type: "Normal", + }, + + // Elliot + teaparty: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Recover & Refresh. 7/8 get Boiled, 1/8 Beefed.", + desc: "The user heals 1/2 of its maximum HP and cures its non-volatile status condition. The user has a 7/8 chance of gaining the Boiled condition, removing all previously-added extra types, adding a Water typing to the user, replacing its ability with Speed Boost, and replacing Teatime or Body Press with Steam Eruption if it exists on the set; and a 1/8 chance of gaining the Beefed condition, removing all previously-added extra types, adding a Fighting typing to the user, replacing its ability with Stamina, and replacing Teatime or Steam Eruption with Body Press.", + name: "Tea Party", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1, heal: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Milk Drink', source); + }, + onHit(pokemon) { + this.heal(pokemon.baseMaxhp / 2); + pokemon.cureStatus(); + let newMove = ""; + let backupMove = ""; + if (this.randomChance(7, 8)) { // get boiled + pokemon.removeVolatile('beefed'); + pokemon.addVolatile('boiled'); + pokemon.setAbility("Speed Boost"); + newMove = 'steameruption'; + backupMove = 'bodypress'; + if (!pokemon.hasType('Water') && pokemon.addType('Water')) { + this.add('-start', pokemon, 'typeadd', 'Water', '[from] move: Tea Party'); + } + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|Just tea, thank you`); + } else { // get beefed + pokemon.removeVolatile('boiled'); + pokemon.addVolatile('beefed'); + pokemon.setAbility("Stamina"); + newMove = 'bodypress'; + backupMove = 'steameruption'; + if (!pokemon.hasType('Fighting') && pokemon.addType('Fighting')) { + this.add('-start', pokemon, 'typeadd', 'Fighting', '[from] move: Tea Party'); + } + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|BOVRIL TIME`); + } + // -start for beefed and boiled is not necessary, i put it in there for an indicator + // as to what form sinistea is currently using. backupMove also eases the form switch + let teaIndex = pokemon.moves.indexOf('teatime'); + const replacement = this.dex.moves.get(newMove); + if (teaIndex < 0) { + if (pokemon.moves.includes(backupMove)) { + teaIndex = pokemon.moves.indexOf(backupMove); + } else { + return; + } + } + const newMoveSlot = { + move: replacement.name, + id: replacement.id, + pp: replacement.pp, + maxpp: replacement.pp, + target: replacement.target, + disabled: false, + used: false, + }; + pokemon.moveSlots[teaIndex] = newMoveSlot; + }, + secondary: null, + target: 'self', + type: "Flying", + }, + + // Elly + sustainedwinds: { + accuracy: 90, + basePower: 20, + category: "Special", + shortDesc: "Hits 5 times.", + name: "Sustained Winds", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, wind: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Bleakwind Storm'); + }, + multihit: 5, + secondary: null, + target: 'normal', + type: "Flying", + }, + + // Emboar02 + insertboarpunhere: { + accuracy: 100, + basePower: 80, + category: "Physical", + shortDesc: "Has 33% recoil. Switch after using.", + desc: "If the target lost HP, the user takes recoil damage equal to 33% of the HP lost by the target, rounded half up, but not less than 1 HP. If this move is successful and the user has not fainted, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members, or if the target switched out using an Eject Button or through the effect of the Emergency Exit or Wimp Out Abilities.", + name: "Insert boar pun here", + pp: 20, + priority: 0, + flags: {protect: 1, contact: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Collision Course', target); + this.add('-anim', source, 'U-turn', target); + }, + selfSwitch: true, + recoil: [33, 100], + secondary: null, + target: 'normal', + type: "Fighting", + }, + + // eva + asoulforasoul: { + accuracy: 100, + basePower: 0, + category: "Physical", + shortDesc: "KOes foe + user if ally was KOed prev. turn.", + desc: "If one of the user's party members fainted last turn, this move results in a guaranteed KO for both the target and the user. This move can hit Normal-type Pokemon. Fails if one of the user's party members did not faint last turn.", + name: "A Soul for a Soul", + pp: 5, + priority: 1, + flags: {protect: 1, contact: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Explosion', target); + this.add('-anim', source, 'Final Gambit', target); + }, + onTry(source, target) { + if (!source.side.faintedLastTurn) return false; + source.faint(source); + target?.faint(source); + }, + ignoreImmunity: true, + secondary: null, + target: "normal", + type: "Ghost", + }, + + // Fame + solidarity: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Creates a Substitute and sets Leech Seed.", + desc: "The user takes 1/4 of its maximum HP, rounded down, and puts it into a substitute to take its place in battle. The Pokemon at the user's position steals 1/8 of the target's maximum HP, rounded down, at the end of each turn. If either of the affected Pokemon uses Baton Pass, its respective effect will remain for its replacement.", + name: "Solidarity", + pp: 15, + priority: 0, + flags: {protect: 1, reflectable: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Substitute'); + this.add('-anim', source, 'Leech Seed', target); + }, + onHit(target, source) { + if (target.hasType('Grass') || target.isProtected()) return null; + target.addVolatile('leechseed', source); + }, + self: { + onHit(target, source) { + if (source.volatiles['substitute']) return; + if (source.hp <= source.maxhp / 4 || source.maxhp === 1) { // Shedinja clause + this.add('-fail', source, 'move: Substitute', '[weak]'); + } else { + source.addVolatile('substitute'); + this.directDamage(source.maxhp / 4); + } + }, + }, + secondary: null, + target: 'normal', + type: "Grass", + }, + + // Felucia + riggeddice: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Stat changes: inverts, else Taunt. User switches.", + desc: "If the target has any stat stage changes, the target's positive stat stages become negative and vice versa. If the target does not have any stat stage changes, the target cannot use status moves for 3 turns. If this move is successful, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members.", + name: "Rigged Dice", + pp: 10, + priority: 0, + flags: {protect: 1, reflectable: 1}, + selfSwitch: true, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Smart Strike', source); + }, + onHit(target, source) { + let success = false; + let i: BoostID; + for (i in target.boosts) { + if (target.boosts[i] === 0) continue; + target.boosts[i] = -target.boosts[i]; + success = true; + } + if (success) { + this.add('-invertboost', target, '[from] move: Rigged Dice'); + } else { + target.addVolatile('taunt', source); + } + }, + secondary: null, + target: 'normal', + type: "Bug", + }, + + // Froggeh + cringedadjoke: { + accuracy: 90, + basePower: 90, + category: "Physical", + shortDesc: "Confuses the foe. Foe self-hits: +1 Atk/Def.", + desc: "Confuses the target. When the target hits itself in confusion from this move, the user's Attack and Defense are boosted by 1 stage.", + name: "Cringe Dad Joke", + pp: 10, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Dizzy Punch', target); + this.add('-anim', source, 'Bulk Up', source); + }, + secondary: { + chance: 100, + volatileStatus: 'confusion', + }, + target: 'normal', + type: "Fighting", + // confusion self-hit stat bonus implemented as an innate because it doesn't work as a move effect + }, + + // Frostyicelad + puffyspikydestruction: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Turn 1 out: DDance, Protect, TSpikes, -Psn type.", + desc: "Nearly always moves first. Protects the user from most attacks made by other Pokemon this turn, removes the user's Poison typing if it has one, and boosts the user's Attack and Speed by 1 stage. Sets one layer of Toxic Spikes on the opposing side of the field, poisoning all grounded, non-Poison-type Pokemon that switch in. Fails unless it's the user's first turn on the field.", + name: "Puffy Spiky Destruction", + pp: 5, + priority: 4, + flags: {}, + sideCondition: 'toxicspikes', + onTry(source) { + if (source.activeMoveActions > 1) { + this.hint("Puffy Spiky Destruction only works on your first turn out."); + return false; + } + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Quiver Dance', source); + this.add('-anim', source, 'Spiky Shield', source); + this.add('-anim', source, 'Toxic Spikes', target); + }, + self: { + volatileStatus: 'spikyshield', + onHit(target, source, move) { + source.setType(source.getTypes(true).filter(type => type !== "Poison")); + this.add('-start', source, 'typechange', source.getTypes().join('/'), '[from] move: Puffy Spiky Destruction'); + }, + boosts: { + spe: 1, + atk: 1, + }, + }, + secondary: null, + target: 'normal', + type: "Poison", + }, + + // Frozoid + flatoutfalling: { + accuracy: 100, + basePower: 75, + category: "Physical", + shortDesc: "Sets Gravity.", + desc: "Sets Gravity for 5 turns, multiplying the evasiveness of all active Pokemon by 0.6 and grounding them.", + name: "Flat out falling", + pp: 5, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Head Smash', target); + this.add('-anim', source, 'Gravity', target); + }, + self: { + onHit(source) { + this.field.addPseudoWeather('gravity', source); + }, + }, + secondary: null, + target: 'normal', + type: "???", + }, + + // Ganjafin + wigglingstrike: { + accuracy: 95, + basePower: 10, + category: "Physical", + shortDesc: "Applies Salt Cure and sets a layer of spikes.", + desc: "Causes damage to the target equal to 1/8 of its maximum HP (1/4 if the target is Steel or Water type), rounded down, at the end of each turn during effect. This effect ends when the target is no longer active. Sets a layer of Spikes on the target's side of the field, damaging grounded foes when they switch in.", + name: "Wiggling Strike", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Water Pulse', target); + this.add('-anim', target, 'Aqua Ring', target); + }, + self: { + onHit(source) { + for (const side of source.side.foeSidesWithConditions()) { + side.addSideCondition('spikes'); + } + }, + }, + secondary: { + chance: 100, + volatileStatus: 'saltcure', + }, + target: "normal", + type: "Water", + }, + + // Goro Yagami + shadowambush: { + accuracy: 100, + basePower: 40, + category: "Physical", + shortDesc: "-1 Def/SpD, gives Slow Start, user switches.", + desc: "Lowers the target's Defense and Special Defense by 1 stage and replaces the target's ability with Slow Start. If this move is successful, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members.", + name: "Shadow Ambush", + gen: 9, + pp: 15, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Spectral Thief', target); + }, + secondary: { + chance: 100, + volatileStatus: 'slowstart', + boosts: { + def: -1, + spd: -1, + }, + }, + selfSwitch: true, + target: "normal", + type: "Ghost", + }, + + // Haste Inky + hastyrevolution: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Clear foe stats+copies neg stats+inverts on user.", + desc: "Resets the stat stages of the target to 0. Then, the target receives a copy of the user's negative stat stage changes, and the user's negative stat stage changes become positive.", + name: "Hasty Revolution", + pp: 10, + priority: 4, + flags: {protect: 1, mirror: 1, noassist: 1, failcopycat: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Pain Split', target); + return !!this.queue.willAct() && this.runEvent('StallMove', source); + }, + onHit(target, source, move) { + source.addVolatile('stall'); + target.clearBoosts(); + this.add('-clearboost', target); + let i: BoostID; + for (i in source.boosts) { + if (source.boosts[i] < 0) { + target.boosts[i] += source.boosts[i]; + source.boosts[i] = -source.boosts[i]; + } + } + this.add('-copyboost', target, source, '[from] move: Hasty Revolution'); + this.add('-invertboost', source, '[from] move: Hasty Revolution'); + }, + stallingMove: true, + self: { + volatileStatus: 'protect', + }, + secondary: null, + target: "normal", + type: "Normal", + }, + + // havi + augurofebrietas: { + accuracy: 100, + basePower: 70, + category: "Special", + shortDesc: "Disables the target's last move and switches.", + desc: "The target's last used move is disabled and cannot be selected for 4 turns. This move cannot disable more than one move at a time. The user then switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members.", + name: "Augur of Ebrietas", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Spirit Shackle'); + }, + onAfterHit(target, source, move) { + this.add(`c:|${getName((source.illusion || source).name)}|as you once did for the vacuous Rom,`); + }, + selfSwitch: true, + volatileStatus: 'disable', + target: "normal", + type: "Ghost", + }, + + // Hecate + testinginproduction: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "+2, -2 to random stats, small chance of harm.", + desc: "The user boosts a random stat by 2 stages, and the user lowers a random stat by 2 stages. These can be the same stat, and cannot include Accuracy or Evasion. Independently, there is a 10% chance for the user to lose 10% of their maximum HP, and there is a 5% chance for the user to gain a random non-volatile status condition.", + name: "Testing in Production", + gen: 9, + pp: 5, + priority: 0, + flags: {}, + onPrepareHit() { + this.attrLastMove('[anim] Curse'); + }, + onHit(pokemon) { + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|Please don't break...`); + let stats: BoostID[] = []; + const boost: SparseBoostsTable = {}; + let statPlus: BoostID; + for (statPlus in pokemon.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (pokemon.boosts[statPlus] < 6) { + stats.push(statPlus); + } + } + let randomStat: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + if (randomStat) boost[randomStat] = 2; + + stats = []; + let statMinus: BoostID; + for (statMinus in pokemon.boosts) { + if (statMinus === 'accuracy' || statMinus === 'evasion') continue; + if (pokemon.boosts[statMinus] > -6) { + stats.push(statMinus); + } + } + randomStat = stats.length ? this.sample(stats) : undefined; + if (randomStat) { + if (boost[randomStat]) { + boost[randomStat] = 0; + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|Well. Guess that broke. Time to roll back.`); + return; + } else { + boost[randomStat] = -2; + } + } + + this.boost(boost, pokemon, pokemon); + }, + onAfterMove(pokemon) { + if (this.randomChance(1, 10)) { + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|Ouch! That crash is really getting on my nerves...`); + this.damage(pokemon.baseMaxhp / 10); + if (pokemon.hp <= 0) return; + } + + if (this.randomChance(1, 20)) { + const status = this.sample(['frz', 'brn', 'psn', 'par']); + let statusText = status; + if (status === 'frz') { + statusText = 'froze'; + } else if (status === 'brn') { + statusText = 'burned'; + } else if (status === 'par') { + statusText = 'paralyzed'; + } else if (status === 'psn') { + statusText = 'poisoned'; + } + + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|Darn. A bug ${statusText} me. Guess I should have tested this first.`); + pokemon.setStatus(status); + } + }, + secondary: null, + target: "self", + type: "Electric", + }, + + // HiZo + scapegoat: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "KO a teammate; gain more Atk/SpA/Spe if healthy.", + desc: "A party member is selected and faints, raising the user's Attack, Special Attack, and Speed by 1 stage if the party member's HP is below 33%, by 2 stages if the party member's HP is between 33% and 66%, and by 3 stages if the party member's HP is above 66%. Fails if there are no non-fainted Pokemon on the user's side.", + name: "Scapegoat", + gen: 9, + pp: 5, + priority: 0, + flags: {}, + onTryHit(source) { + if (!this.canSwitch(source.side)) { + this.attrLastMove('[still]'); + this.add('-fail', source); + return this.NOT_FAIL; + } + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Swords Dance', source); + }, + onHit(target, source) { + this.add(`c:|${getName((source.illusion || source).name)}|Ok I have a stupid idea, just hear me out`); + this.add('message', `A sacrifice is needed.`); + }, + slotCondition: 'scapegoat', + // fake switch a la revival blessing + selfSwitch: true, + condition: { + duration: 1, + // reviving implemented in side.ts, kind of + }, + secondary: null, + target: "self", + type: "Dark", + }, + + + // HoeenHero + reprogram: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Rain Dance + Lock-On.", + name: "Re-Program", + pp: 10, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Calm Mind', source); + this.add('-anim', source, 'Geomancy', target); + }, + onHit(target, source, move) { + let success = false; + if (this.field.setWeather('raindance', source, move)) { + this.add('-message', 'HoeenHero made the environment easier to work with!'); + success = true; + } + if (source.addVolatile('lockon', target)) { + this.add('-message', 'HoeenHero double checked their work and fixed any errors!'); + this.add('-activate', source, 'move: Lock-On', '[of] ' + target); + success = true; + } + if (success) { + this.add('-message', 'HoeenHero reprograms the battle to be more beneficial to them!'); + } + }, + target: "normal", + type: "Psychic", + }, + + // hsy + wonderwing: { + accuracy: 90, + basePower: 150, + category: "Physical", + shortDesc: "No dmg rest of turn. Next turn user has -1 prio.", + desc: "Usually moves last. The user becomes immune to all damage sources for the rest of the turn. The turn after this move is used, the user's moves all gain -1 priority. This move ignores all negative effects associated with contact moves.", + name: "Wonder Wing", + pp: 5, + priority: 0, + flags: {contact: 1}, + // No negative contact effects implemented in Battle#checkMovesMakeContact + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Electric Terrain', source); + this.add('-anim', source, 'Giga Impact', target); + }, + self: { + volatileStatus: 'wonderwing', + }, + condition: { + noCopy: true, + duration: 2, + onStart(pokemon) { + this.add('-start', pokemon, 'Wonder Wing'); + }, + onRestart(target, source, sourceEffect) { + target.removeVolatile('wonderwing'); + }, + onDamage(damage, target, source, effect) { + if (this.effectState.duration < 2) return; + this.add('-activate', source, 'move: Wonder Wing'); + return false; + }, + onModifyPriority(relayVar, source, target, move) { + return -1; + }, + onEnd(pokemon) { + this.add('-end', pokemon, 'Wonder Wing', '[silent]'); + }, + }, + target: "normal", + type: "Flying", + }, + + // Hydrostatics + hydrostatics: { + accuracy: 100, + basePower: 90, + category: "Special", + name: "Hydrostatics", + shortDesc: "70%:+1 SpA,50%:prz,Elec/Water. Differs when Tera.", + desc: "If the user has not Terastallized, this move has a 70% chance to raise the user's Special Attack by 1 stage, has a 50% chance to paralyze the target, and combines the Water type in its type effectiveness. When the user has Terastallized, this move is a purely Water-type attack that gains Same-Type Attack Bonus with Water-types, and it has an 80% chance to raise the user's Special Attack by 1 stage, has a 60% chance to change the target's typing to Water, and is super effective against Water.", + pp: 20, + priority: 1, + flags: {protect: 1, mirror: 1}, + onModifyMove(move, source, target) { + if (source.terastallized) { + move.type = 'Water'; + } + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + if (!source.terastallized) this.add('-anim', source, 'Charge Beam', source); + else this.add('-anim', source, 'Water Pulse', target); + }, + onEffectiveness(typeMod, target, type, move) { + if (move.type === 'Electric') return typeMod + this.dex.getEffectiveness('Water', type); + else if (type === 'Water' && move.type === 'Water') return 1; + }, + secondary: { + chance: 100, + onHit(target, source, move) { + // None of these stack with Serene Grace + if (!source.terastallized) { + if (this.randomChance(70, 100)) { + this.boost({spa: 1}, source); + } + if (this.randomChance(50, 100)) { + if (target.isActive) target.trySetStatus('par', source, this.effect); + } + } else { + if (this.randomChance(80, 100)) { + this.boost({spa: 1}, source); + } + if (this.randomChance(60, 100)) { + // Soak + if (target.getTypes().join() !== 'Water' && target.setType('Water')) { + this.add('-start', target, 'typechange', 'Water'); + } + } + } + }, + }, + target: "normal", + type: "Electric", + }, + + // in the hills + "102040": { + accuracy: 100, + basePower: 10, + category: "Physical", + name: "10-20-40", + shortDesc: "Hits 3 times, 3rd hit crits. sets Safeguard.", + desc: "Hits three times. Power increases to 20 for the second hit and 40 for the third. The third hit is always a critical hit unless the target is under the effect of Lucky Chant or has the Battle Armor or Shell Armor Abilities. If this move deals damage, it applies the effect of Safeguard for 5 turns, protecting the user's team from confusion and non-volatile status conditions.", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1}, + basePowerCallback(pokemon, target, move) { + return [10, 20, 40][move.hit - 1]; + }, + onTryHit(target, source, move) { + if (move.hit === 3) { + move.willCrit = true; + } + }, + onPrepareHit() { + this.attrLastMove('[anim] Triple Kick'); + }, + self: { + sideCondition: 'safeguard', + }, + secondary: null, + multihit: 3, + target: "normal", + type: "Ground", + }, + + // ironwater + jirachibanhammer: { + accuracy: 100, + basePower: 120, + category: "Physical", + shortDesc: "Prevents the target from switching out.", + desc: "Prevents the target from switching out. The target can still switch out if it is holding Shed Shell or uses Baton Pass, Flip Turn, Parting Shot, Teleport, U-turn, or Volt Switch. If the target leaves the field using Baton Pass, the replacement will remain trapped. The effect ends if the user leaves the field.", + name: "Jirachi Ban Hammer", + pp: 5, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Gigaton Hammer'); + }, + secondary: { + chance: 100, + onHit(target, source, move) { + if (source.isActive) target.addVolatile('trapped', source, move, 'trapper'); + }, + }, + target: "normal", + type: "Steel", + }, + + // Irpachuza + bibbidibobbidirands: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Changes target to a Randbats set.", + desc: "Z-Move requiring Irpatuzinium Z. Nearly always moves first. Permanently transforms the target into a randomized Pokemon that would be generated in one of the following formats: Gen 9 Random Battle, Gen 9 Hackmons Cup, Gen 9 Challenge Cup, or Computer-Generated Teams. In the vast majority of circumstances, this also prevents the target from acting this turn.", + name: "Bibbidi-Bobbidi-Rands", + gen: 9, + pp: 1, + priority: 0, + flags: {protect: 1}, + onPrepareHit(target, source) { + this.attrLastMove('[anim] Doom Desire'); + }, + onHit(target, source) { + const formats = ['gen9randombattle', 'gen9hackmonscup', 'gen9challengecup1v1', 'gen9computergeneratedteams']; + const randFormat = this.sample(formats); + let msg; + switch (randFormat) { + case 'gen9randombattle': + msg = "Ta-dah! You are now blessed with a set from the most popular format on the sim, hope you like it! n.n"; + break; + case 'gen9hackmonscup': + msg = "Hackmons Cup is like Rands but scrambled eggs, cheese and pasta. I'm sure you'll love it too n.n"; + break; + case 'gen9challengecup1v1': + msg = "The only difference between a Challenge Cup Pokémon and my in-game one is that the former actually surpassed lvl. 60, enjoy n.n"; + break; + case 'gen9computergeneratedteams': + msg = "We asked an AI to make a randbats set. YOU WON'T BELIEVE WHAT IT CAME UP WITH N.N"; + break; + } + let team = [] as PokemonSet[]; + const unModdedDex = Dex.mod('base'); + let depth = 0; + while (!team.length) { + team = Teams.generate(randFormat, {name: target.side.name}); + if (depth >= 50) break; // Congrats you won the lottery! + team = team.filter(p => { + const baseSpecies = unModdedDex.species.get(p.species); + const curSpecies = this.dex.species.get(p.species); + if (Object.values(baseSpecies.baseStats).join() !== Object.values(curSpecies.baseStats).join()) { + return false; + } + if (Object.values(baseSpecies.abilities).join() !== Object.values(curSpecies.abilities).join()) { + return false; + } + if (baseSpecies.types.join() !== curSpecies.types.join()) { + return false; + } + return true; + }); + depth++; + } + + this.addMove('-anim', target, 'Wish', target); + target.clearBoosts(); + this.add('-clearboost', target); + // @ts-ignore set wants a sig but randbats sets don't have one + changeSet(this, target, team[0], true); + this.add(`c:|${getName((source.illusion || source).name)}|${msg}`); + }, + isZ: "irpatuziniumz", + secondary: null, + target: "normal", + type: "Fairy", + }, + + // Isaiah + simplegameplan: { + accuracy: 100, + basePower: 95, + category: "Physical", + name: "Simple Gameplan", + shortDesc: "No additional effect.", + pp: 10, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1}, + onPrepareHit(target, source) { + this.attrLastMove('[anim] High Jump Kick'); + }, + secondary: null, + target: "allAdjacent", + type: "Psychic", + }, + + // J0rdy004 + snowysamba: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Snowy Samba", + shortDesc: "Sets Snow, +1 Sp. Atk, +2 Speed.", + desc: "Raises the user's Special Attack by 1 stage and Speed by 2 stages, and changes the weather to Snow, boosting the defense of Ice-types by 1.5x for 5 turns. Snow will not be set if the weather cannot be changed or if the weather is already Snow.", + pp: 15, + priority: 0, + flags: {snatch: 1, metronome: 1}, + boosts: { + spe: 2, + spa: 1, + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Agility', target); + this.add('-anim', source, 'Snowscape', target); + }, + weather: 'snow', + secondary: null, + target: "self", + type: "Ice", + }, + + // Kalalokki + knotweak: { + accuracy: 80, + basePower: 150, + category: "Physical", + name: "Knot Weak", + shortDesc: "Has 1/2 recoil.", + desc: "If the target lost HP, the user takes recoil damage equal to 1/2 the HP lost by the target, rounded half up, but not less than 1 HP.", + pp: 5, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + recoil: [1, 2], + secondary: null, + priority: 0, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Focus Punch', target); + }, + target: "normal", + type: "Fighting", + }, + + // Karthik + salvagedsacrifice: { + accuracy: 100, + basePower: 0, + damageCallback(pokemon) { + this.add('-anim', pokemon, 'Roost', pokemon); + this.heal(this.modify(pokemon.maxhp, 0.25), pokemon, pokemon, this.dex.getActiveMove('Salvaged Sacrifice')); + const damage = pokemon.hp; + this.add('-anim', pokemon, 'Final Gambit', this.activeTarget); + pokemon.faint(); + return damage; + }, + selfdestruct: "ifHit", + category: "Physical", + name: "Salvaged Sacrifice", + shortDesc: "Heals 25% HP, then uses Final Gambit.", + desc: "The user heals 1/4 of its maximum HP, then deals damage to the target equal to the user's current HP. If this attack is successful, the user faints.", + pp: 5, + priority: 0, + flags: {protect: 1, metronome: 1, noparentalbond: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + secondary: null, + target: "normal", + type: "Fighting", + }, + + // ken + ac: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Does something random.", + desc: "This move performs exactly one of the following at random, ignoring options that would do nothing: 10% chance to burn the target; 10% chance to paralyze the target; 10% chance to poison the target; 3% chance to put the target to sleep; 2% chance to freeze the target; 5% chance each to confuse, infatuate, Taunt, Encore, Torment, or Heal Block the target; 5% chance each to set Stealth Rock, Spikes, Toxic Spikes, or Sticky Web; 5% chance to remove entry hazards from the user's side of the field; 5% chance to lower the foe's highest stat by 1 stage; and a 5% chance to switch out.", + name: ", (ac)", + pp: 15, + priority: 0, + flags: {reflectable: 1, mustpressure: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Fling', target); + }, + secondary: { + chance: 100, + onHit(target, source, move) { + let success = false; + while (!success) { + const effect = this.random(100); + if (effect < 10) { + if (target.trySetStatus('psn', target)) { + success = true; + } + } else if (effect < 20) { + if (target.trySetStatus('par', target)) { + success = true; + } + } else if (effect < 30) { + if (target.trySetStatus('par', target)) { + success = true; + } + } else if (effect < 33) { + if (target.trySetStatus('slp', target)) { + success = true; + } + } else if (effect < 35) { + if (target.trySetStatus('frz', target)) { + success = true; + } + } else if (effect < 40) { + if (!target.volatiles['confusion']) { + target.addVolatile('confusion', source); + success = true; + } + } else if (effect < 45) { + if (!target.volatiles['attract']) { + target.addVolatile('attract', source); + success = true; + } + } else if (effect < 50) { + if (!target.volatiles['taunt']) { + target.addVolatile('taunt', source); + success = true; + } + } else if (effect < 55) { + if (target.lastMove && !target.volatiles['encore']) { + target.addVolatile('encore', source); + success = true; + } + } else if (effect < 60) { + if (!target.volatiles['torment']) { + target.addVolatile('torment', source); + success = true; + } + } else if (effect < 65) { + if (!target.volatiles['healblock']) { + target.addVolatile('healblock', source); + success = true; + } + } else if (effect < 70) { + if (target.side.addSideCondition('stealthrock')) { + success = true; + } + } else if (effect < 75) { + if (target.side.addSideCondition('stickyweb')) { + success = true; + } + } else if (effect < 80) { + if (target.side.addSideCondition('spikes')) { + success = true; + } + } else if (effect < 85) { + if (target.side.addSideCondition('toxicspikes')) { + success = true; + } + } else if (effect < 90) { + const sideConditions = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; + for (const condition of sideConditions) { + if (source.side.removeSideCondition(condition)) { + success = true; + this.add('-sideend', source.side, this.dex.conditions.get(condition).name, '[from] move: , (ac)', '[of] ' + source); + } + } + } else if (effect < 95) { + const bestStat = target.getBestStat(true, true); + this.boost({[bestStat]: -1}, target); + success = true; + } else { + if (this.canSwitch(source.side)) { + this.actions.useMove("teleport", source); + success = true; + } + } + } + }, + }, + target: "normal", + type: "Psychic", + }, + + // kenn + stonefaced: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Sets Stealth Rock. Target: -1 Defense/Speed.", + desc: "Lowers the target's Defense and Speed by 1 stage, and sets Stealth Rock on the target's side of the field, damaging Pokemon as they switch in. If Stealth Rock is already on the target's side of the field, the move will not set Stealth Rock but the other effects will still occur.", + name: "Stone Faced", + pp: 15, + priority: 0, + flags: {reflectable: 1, mustpressure: 1}, + sideCondition: 'stealthrock', + onPrepareHit(target, source) { + this.attrLastMove('[anim] Scary Face'); + this.attrLastMove('[anim] Stone Axe'); + }, + boosts: { + def: -1, + spe: -1, + }, + secondary: null, + target: "normal", + type: "Rock", + }, + + // Kennedy + hattrick: { + accuracy: 98, + basePower: 19, + category: "Physical", + shortDesc: "3 hits. Third hit crits. 3.5% chance to curse.", + desc: "Hits three times. The third hit is always a critical hit unless the target is under the effect of Lucky Chant or has the Battle Armor or Shell Armor Abilities. Each hit has a 3.5% chance to apply the Curse effect to the target, causing them to take damage equal to 25% of their maximum HP at the end of each turn until they switch out.", + name: "Hat-Trick", + gen: 9, + pp: 10, + priority: 0, + flags: {contact: 1, protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Focus Energy', source); + this.add('-anim', source, 'High Jump Kick', target); + this.add('-anim', target, 'Boomburst', source); + this.add('-anim', source, 'Aqua Step', target); + this.add('-anim', source, 'Aqua Step', target); + }, + onTryHit(target, source, move) { + if (move.hit === 3) { + move.willCrit = true; + } + }, + secondary: { + chance: 3.5, + volatileStatus: 'curse', + }, + multihit: 3, + target: "normal", + type: "Ice", + }, + anfieldatmosphere: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Anfield Atmosphere", + shortDesc: "No weather/sleep,share statuses,halve hazard dmg.", + desc: "For 6 turns, sets a field effect. Negates all weather conditions. Prevents Pokemon from falling asleep. Any status conditions and volatile status conditions applied to one Pokemon will also apply to the all Pokemon on the field. Halves entry hazard damage.", + pp: 5, + priority: 0, + flags: {mirror: 1}, + pseudoWeather: 'anfieldatmosphere', + condition: { + duration: 6, + durationCallback(source, effect) { + if (source?.hasAbility('persistent')) { + this.add('-activate', source, 'ability: Persistent', '[move] Anfield Atmosphere'); + return 8; + } + return 6; + }, + onUpdate(pokemon) { + if (pokemon.volatiles['confusion']) { + pokemon.removeVolatile('confusion'); + } + }, + onFieldStart(target, source) { + if (source?.hasAbility('persistent')) { + this.add('-fieldstart', 'move: Anfield Atmosphere', '[of] ' + source, '[persistent]'); + } else { + this.add('-fieldstart', 'move: Anfield Atmosphere', '[of] ' + source); + } + for (const pokemon of this.getAllActive()) { + if (pokemon.volatiles['confusion']) { + pokemon.removeVolatile('confusion'); + } + } + }, + onFieldRestart(target, source) { + this.field.removePseudoWeather('anfieldatmosphere'); + }, + onAnySetWeather(target, source, weather) { + return false; + }, + onSetStatus(status, target, source, effect) { + if (effect.id === 'anfieldatmosphere') return; + if (status.id === 'slp' && !target.isSemiInvulnerable()) { + this.add('-activate', target, 'move: Anfield Atmosphere'); + return false; + } + for (const pokemon of this.getAllActive()) { + if (!pokemon.hp || pokemon.fainted) continue; + pokemon.trySetStatus(status, source, this.effect); + } + }, + onTryAddVolatile(status, target) { + if (target.isSemiInvulnerable()) return; + if (status.id === 'yawn' || status.id === 'confusion') { + this.add('-activate', target, 'move: Anfield Atmosphere'); + return null; + } + }, + onDamage(damage, target, source, effect) { + if (effect && ['stealthrock', 'spikes', 'gmaxsteelsurge'].includes(effect.id)) { + return damage / 2; + } + }, + onFieldResidualOrder: 27, + onFieldResidualSubOrder: 1, + onFieldEnd() { + this.add('-fieldend', 'move: Anfield Atmosphere'); + }, + }, + secondary: null, + target: "all", + type: "Psychic", + }, + + // keys + protectoroftheskies: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Forces both Pokemon out. Can't be blocked.", + desc: "Both the target and the user are forced to switch out and be replaced with random unfainted allies. This effect cannot be blocked by any means other than having no valid allies that can be sent out.", + name: "Protector of the Skies", + pp: 10, + priority: -1, + flags: {}, + onTryMove(source, target, move) { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + for (const pokemon of this.getAllActive()) { + this.add('-anim', source, 'Whirlwind', pokemon); + } + }, + onModifyPriority(priority, source, target, move) { + if (target && Object.values(target.boosts).some(x => x !== 0)) { + return priority + 1; + } + }, + onHitField(target, source, move) { + for (const pokemon of this.getAllActive()) { + if (pokemon.hp <= 0 || pokemon.fainted) continue; + pokemon.forceSwitchFlag = true; + } + }, + secondary: null, + target: "all", + type: "Flying", + }, + + // kingbaruk + platinumrecord: { + accuracy: true, + basePower: 70, + category: "Special", + shortDesc: "Heals 50% HP, restores 1 PP for all other moves.", + desc: "Heals the user for 1/2 of their maximum HP, and restores 1 PP to all moves on the user's set other than Platinum Record.", + name: "Platinum Record", + pp: 5, + priority: 0, + flags: {sound: 1, heal: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Sing', target); + this.add('-anim', source, 'Iron Defense', target); + }, + onHit(target, source, move) { + this.heal(source.maxhp / 2); + for (const moveSlot of source.moveSlots) { + if (moveSlot.id === move.id) continue; + if (moveSlot.pp < moveSlot.maxpp) moveSlot.pp += 1; + } + }, + target: "self", + type: "Fairy", + + }, + + // Kiwi + madmanifest: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "User: +1 Spe, Foe:Free Curse, 50% brn/par/psn.", + desc: "Applies the Curse effect to the target, causing them to take damage equal to 25% of their maximum HP at the end of each turn until they switch out. Has a 50% chance to cause the target to either become burned, become poisoned, or become paralyzed. Raises the user's Speed by 1 stage.", + name: "Mad Manifest", + pp: 10, + priority: 0, + flags: {}, + volatileStatus: 'curse', + onHit(target, source) { + const result = this.random(3); + if (result === 0) { + target.trySetStatus('psn', target); + } else if (result === 1) { + target.trySetStatus('par', target); + } else { + target.trySetStatus('brn', target); + } + this.boost({spe: 1}, source); + }, + onPrepareHit(target, source) { + this.attrLastMove('[anim] Dark Void'); + }, + target: "normal", + type: "Fairy", + + }, + + // Klmondo + thebetterwatershuriken: { + accuracy: 100, + basePower: 20, + category: "Physical", + shortDesc: "+1 Priority. Hits 2-5 times.", + desc: "Usually moves first. Hits two to five times. Has a 35% chance to hit two or three times and a 15% chance to hit four or five times. If one of the hits breaks the target's substitute, it will take damage for the remaining hits. If the user has the Skill Link Ability, this move will always hit five times.", + name: "The Better Water Shuriken", + pp: 30, + priority: 1, + flags: {protect: 1, mirror: 1, metronome: 1}, + multihit: [2, 5], + secondary: null, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Water Shuriken', target); + this.add('-anim', source, 'Electro Shot', target); + }, + target: "normal", + type: "Water", + }, + + // kolohe + hangten: { + accuracy: 100, + basePower: 75, + category: "Special", + name: "Hang Ten", + shortDesc: "User sets Electric Terrain on hit.", + desc: "If this move is successful, the terrain becomes Electric Terrain.", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Stoked Sparksurfer', target); + this.add('-anim', source, 'Surf', target); + }, + secondary: { + chance: 100, + self: { + onHit() { + this.field.setTerrain('electricterrain'); + }, + }, + }, + target: "normal", + type: "Water", + }, + + // Kry + attackofopportunity: { + accuracy: 100, + basePower: 60, + basePowerCallback(pokemon, target, move) { + if (target.beingCalledBack || target.switchFlag) { + this.debug('Attack of Opportunity damage boost'); + return move.basePower * 1.5; + } + return move.basePower; + }, + category: "Physical", + shortDesc: "Pursuit, +2 Attack when KOing on switch.", + desc: "If an opposing Pokemon switches out this turn, this move hits that Pokemon before it leaves the field. Power is multiplied by 1.5x and no accuracy check is done if the user hits an opponent switching out, and the user's turn is over; if an opponent faints from this, the user's Attack is boosted by 2 stages and the replacement Pokemon does not become active until the end of the turn. If the user moves after an opponent using Flip Turn, Parting Shot, Teleport, U-turn, or Volt Switch, but not Baton Pass, it will hit that opponent before it leaves the field.", + name: "Attack of Opportunity", + pp: 20, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Pursuit', target); + this.add('-anim', source, 'Behemoth Blade', target); + }, + beforeTurnCallback(pokemon) { + for (const side of this.sides) { + if (side.hasAlly(pokemon)) continue; + side.addSideCondition('attackofopportunity', pokemon); + const data = side.getSideConditionData('attackofopportunity'); + if (!data.sources) { + data.sources = []; + } + data.sources.push(pokemon); + } + }, + onModifyMove(move, source, target) { + if (target?.beingCalledBack || target?.switchFlag) { + move.accuracy = true; + move.onAfterMoveSecondarySelf = function (s, t, m) { + if (!t || t.fainted || t.hp <= 0) { + this.boost({atk: 1}, s, s, m); + } + }; + } + }, + onTryHit(target, pokemon) { + target.side.removeSideCondition('attackofopportunity'); + }, + condition: { + duration: 1, + onBeforeSwitchOut(pokemon) { + this.debug('Attack of Opportunity start'); + let alreadyAdded = false; + pokemon.removeVolatile('destinybond'); + for (const source of this.effectState.sources) { + if (!source.isAdjacent(pokemon) || !this.queue.cancelMove(source) || !source.hp) continue; + if (!alreadyAdded) { + this.add('-activate', pokemon, 'move: Pursuit'); + alreadyAdded = true; + } + if (source.canMegaEvo) { + for (const [actionIndex, action] of this.queue.entries()) { + if (action.pokemon === source && action.choice === 'megaEvo') { + this.actions.runMegaEvo(source); + this.queue.list.splice(actionIndex, 1); + break; + } + } + } + this.actions.runMove('attackofopportunity', source, source.getLocOf(pokemon)); + } + }, + }, + secondary: null, + target: "normal", + type: "Steel", + contestType: "Clever", + }, + + // Lasen + riseabove: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Magnet Rise + Aqua Ring.", + desc: "For 5 turns, the user is immune to Ground-type attacks and effects as long as it remains active, and the user will recover 1/16th of their maximum HP at the end of each turn as long as it remains active. If the user uses Baton Pass, the replacement will gain the effects.", + name: "Rise Above", + gen: 9, + pp: 5, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(pokemon) { + this.add('-anim', pokemon, 'Magnet Rise', pokemon); + this.add('-anim', pokemon, 'Quiver Dance', pokemon); + }, + volatileStatus: 'riseabove', + onTry(source, target, move) { + if (target.volatiles['smackdown'] || target.volatiles['ingrain']) return false; + + // Additional Gravity check for Z-move variant + if (this.field.getPseudoWeather('Gravity')) { + this.add('cant', source, 'move: Gravity', move); + return null; + } + }, + condition: { + duration: 5, + onStart(target) { + this.add('-start', target, 'Rise Above'); + }, + onImmunity(type) { + if (type === 'Ground') return false; + }, + onResidualOrder: 6, + onResidual(pokemon) { + this.heal(pokemon.baseMaxhp / 16); + }, + onEnd(target) { + this.add('-end', target, 'Rise Above'); + }, + }, + secondary: null, + target: "self", + type: "Electric", + }, + + // Lets go shuckles + shucklepower: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Trick Room + Power Trick.", + desc: "Until the user switches out, it swaps its Attack and Defense stats, and stat stage changes remain on their respective stats. Sets Trick Room for 5 turns, making the slower Pokemon move first.", + name: "Shuckle Power", + pp: 5, + priority: -6, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Power Trick', source); + }, + pseudoWeather: 'trickroom', + volatileStatus: 'powertrick', + secondary: null, + target: "self", + type: "Psychic", + }, + + // Lily + recharge: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Recharge", + shortDesc: "Heals 50% HP. Heals 3% more per fainted ally.", + desc: "Heals the user for 50% of their maximum HP. Heals an additional 3% of the user's maximum HP for each team member on the user's side that has fainted.", + pp: 5, + priority: 0, + flags: {heal: 1}, + onModifyMove(move, source, target) { + const fntAllies = source.side.pokemon.filter(ally => ally !== source && ally.fainted); + if (move.heal) move.heal[0] = 50 + (3 * fntAllies.length); + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(pokemon) { + this.add('-anim', pokemon, 'Shore Up', pokemon); + this.add('-anim', pokemon, 'Charge', pokemon); + this.add('-anim', pokemon, 'Moonlight', pokemon); + }, + heal: [50, 100], + secondary: null, + target: "self", + type: "Electric", + }, + + // Lionyx + superrollout: { + accuracy: 95, + basePower: 30, + basePowerCallback(pokemon, target, move) { + if (!pokemon.volatiles['superrollout'] || move.hit === 1) { + pokemon.addVolatile('superrollout'); + } + let bp = move.basePower * pokemon.volatiles['superrollout'].multiplier; + if (pokemon.volatiles['defensecurl']) { + bp *= 2; + } + this.debug('BP: ' + bp); + return bp; + }, + category: "Physical", + shortDesc: "BP doubles after each hit. 2x if Defense Curl.", + desc: "Power doubles with each successful hit of this move and doubles again if Defense Curl was used previously by the user.", + name: "Super Rollout", + pp: 20, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, noparentalbond: 1}, + condition: { + duration: 2, + onStart() { + this.effectState.multiplier = 1; + }, + onRestart() { + if (this.effectState.multiplier < 4) { + this.effectState.multiplier <<= 1; + } + this.effectState.duration = 2; + }, + }, + secondary: null, + target: "normal", + type: "Rock", + }, + + // Loethalion + darkmooncackle: { + accuracy: 100, + basePower: 30, + basePowerCallback(pokemon, target, move) { + const bp = move.basePower + 20 * pokemon.positiveBoosts(); + this.debug('BP: ' + bp); + return bp; + }, + category: "Special", + desc: "Power is equal to 30+(X*20), where X is the user's total stat stage changes that are greater than 0. Has a 100% chance to raise the user's Special Attack by 1 stage.", + shortDesc: "+20 bp per stat boost. 100% chance +1 SpA.", + name: "Darkmoon Cackle", + pp: 15, + priority: 0, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Bulk Up', source); + this.add('-anim', source, 'Cosmic Power', source); + this.add('-anim', source, 'Moonblast', target); + }, + secondary: { + chance: 100, + self: { + boosts: { + spa: 1, + }, + }, + }, + target: "normal", + type: "Normal", + }, + + // Lumari + mysticalbonfire: { + accuracy: 100, + basePower: 100, + basePowerCallback(pokemon, target, move) { + if (target.status || target.hasAbility(['comatose', 'mensiscage'])) { + this.debug('BP doubled from status condition'); + return move.basePower * 1.5; + } + return move.basePower; + }, + category: "Physical", + shortDesc: "50% burn. 1.5x power if target is already statused.", + desc: "This move has a 50% chance to give the target a burn. This move's power is 1.5x stronger if the target has a non-volatile status condition.", + name: "Mystical Bonfire", + pp: 15, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Infernal Parade', target); + this.add('-anim', source, 'Fury Attack', target); + }, + secondary: { + chance: 50, + status: 'brn', + }, + target: "normal", + type: "Psychic", + }, + + // Lunell + praisethemoon: { + accuracy: 90, + basePower: 120, + category: "Special", + shortDesc: "First turn: +1 SpA. No charge in Gravity.", + desc: "This attack charges on the first turn and executes on the second. Raises the user's Special Attack by 1 stage on the first turn. If the user is holding a Power Herb or Gravity is active, the move completes in one turn.", + name: "Praise the Moon", + pp: 10, + priority: 0, + flags: {charge: 1, protect: 1, mirror: 1}, + onTryMove(attacker, defender, move) { + this.attrLastMove('[still]'); + if (attacker.removeVolatile(move.id)) { + return; + } + this.boost({spa: 1}, attacker, attacker, move); + if (this.field.pseudoWeather['gravity']) { + this.attrLastMove('[still]'); + this.addMove('-anim', attacker, move.name, defender); + return; + } + if (!this.runEvent('ChargeMove', attacker, defender, move)) { + return; + } + attacker.addVolatile('twoturnmove', defender); + return null; + }, + secondary: null, + hasSheerForce: true, + onPrepareHit(target, source) { + this.attrLastMove('[still]'); + this.add('-anim', source, 'Lunar Dance', target); + this.add('-anim', source, 'Moongeist Beam', target); + }, + target: "normal", + type: "Fairy", + }, + + // Lyna + wrathoffrozenflames: { + accuracy: 100, + basePower: 100, + category: "Physical", + shortDesc: "80% gain Ice type, 20% gain Fire type.", + desc: "After using the move, there is an 80% chance the user gains an additional Ice typing, and a 20% chance the user gains an additional Fire typing.", + name: "Wrath of Frozen Flames", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Clangorous Soulblaze', target); + }, + onHit(target, source, move) { + if (source.terastallized) return; + if (this.randomChance(8, 10)) { + source.addType('Ice'); + this.add('-start', source, 'typeadd', 'Ice', '[from] move: Wrath of Frozen Flames'); + } else { + source.addType('Fire'); + this.add('-start', source, 'typeadd', 'Fire', '[from] move: Wrath of Frozen Flames'); + } + }, + secondary: null, + target: "normal", + type: "Dragon", + }, + + // Mad Monty + stormshelter: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Storm Shelter", + shortDesc: "User protects and boosts random stat by 1 stage.", + desc: "Nearly always moves first. Protects the user from most attacks made by other Pokemon this turn, and boosts a random stat of the user by 1 stage, excluding Accuracy and Evasion. This move fails if the user moves last or if the foe switches out, and it has an increasing chance to fail if used consecutively.", + pp: 5, + priority: 4, + flags: {}, + stallingMove: true, + volatileStatus: 'protect', + onPrepareHit(pokemon) { + this.attrLastMove('[anim] Protect'); + return !!this.queue.willAct() && this.runEvent('StallMove', pokemon); + }, + onHit(pokemon) { + pokemon.addVolatile('stall'); + const boosts = pokemon.boosts; + const maxBoostIDs: BoostID[] = []; + for (const boost in boosts) { + if (boosts[boost as BoostID] >= 6) { + maxBoostIDs.push(boost as BoostID); + continue; + } + this.boost({[boost]: 1}, pokemon); + } + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|Ope! Wrong button, sorry.`); + const unloweredStat = this.sample(Object.keys(pokemon.boosts).filter(x => x !== ('evasion' as BoostID))); + for (const boost in boosts) { + if ((boosts[boost as BoostID] >= 6 && maxBoostIDs.includes(boost as BoostID)) || boost === unloweredStat) continue; + this.boost({[boost]: -1}, pokemon); + } + }, + secondary: null, + target: "self", + type: "Normal", + }, + + // marillvibes + goodvibesonly: { + accuracy: 100, + basePower: 90, + category: "Physical", + shortDesc: "Raises the user's Speed by 1 stage.", + desc: "Has a 100% chance to raise the user's Speed by 1 stage.", + name: "Good Vibes Only", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, contact: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Aqua Step', target); + }, + secondary: { + chance: 100, + self: { + boosts: { + spe: 1, + }, + }, + }, + target: "normal", + type: "Fairy", + }, + + // maroon + metalblast: { + accuracy: 90, + basePower: 90, + category: "Physical", + shortDesc: "Sets G-Max Steelsurge on the foe's side.", + desc: "If this move is successful, it sets up G-Max Steelsurge on the opposing side of the field, damaging each opposing Pokemon that switches in. Foes lose 1/32, 1/16, 1/8, 1/4, or 1/2 of their maximum HP, rounded down, based on their weakness to the Steel type; 0.25x, 0.5x, neutral, 2x, or 4x, respectively. Can be removed from the opposing side if any opposing Pokemon uses Rapid Spin or Defog successfully, or is hit by Defog.", + name: "Metal Blast", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Steel Beam', target); + this.add('-anim', source, 'G-max Steelsurge', target); + }, + onAfterHit(target, source, move) { + if (!move.hasSheerForce && source.hp) { + for (const side of source.side.foeSidesWithConditions()) { + side.addSideCondition('gmaxsteelsurge'); + } + } + }, + onAfterSubDamage(damage, target, source, move) { + if (!move.hasSheerForce && source.hp) { + for (const side of source.side.foeSidesWithConditions()) { + side.addSideCondition('gmaxsteelsurge'); + } + } + }, + secondary: {}, // Sheer Force-boosted + target: "normal", + type: "Steel", + }, + + // Mathy + breakingchange: { + accuracy: 100, + basePower: 70, + category: "Physical", + shortDesc: "Ignores target's Ability; disables it on hit.", + desc: "This move and its effects ignore the Abilities of other Pokemon. When this move hits the target, the target's Ability is suppressed until it switches out. Innate Abilities are unaffected.", + name: "Breaking Change", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Salt Cure'); + }, + onHit(target, source) { + if (target.getAbility().flags['cantsuppress']) return; + if (!target.addVolatile('gastroacid')) return; + this.add(`c:|${getName((source.illusion || source).name)}|Sorry i tried to fix smth but accidentally broke your ability :( will fix it next week`); + }, + ignoreAbility: true, + secondary: null, + target: "normal", + type: "Normal", + }, + + // Meteordash + plagiarism: { + accuracy: 100, + basePower: 0, + category: "Status", + name: "Plagiarism", + shortDesc: "Steal+use foe sig move+imprison. Fail: +1 stats.", + desc: "User copies opponents signature move and adds it to its own movepool, replacing this move. The user then uses the copied move immediately and gains the Imprison condition, preventing foes from using moves in the user's moveset. The PP of the copied move will be adjusted to match the PP the copied signature move is supposed to have. If the copied custom move would fail if used in this manner, Plagiarism fails and the user boosts all stats by 1 stage, except Accuracy and Evasion.", + pp: 1, + noPPBoosts: true, + priority: 1, + flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Mimic'); + this.attrLastMove('[anim] Imprison'); + }, + onHit(target, source, m) { + const sigMoveName = ssbSets[(target.illusion || target).name].signatureMove; + const move = this.dex.getActiveMove(sigMoveName); + if (!target || this.queue.willSwitch(target) || target.beingCalledBack || + move.flags['failcopycat'] || move.noSketch) { + this.boost({atk: 1, def: 1, spa: 1, spd: 1, spe: 1, accuracy: 1}, source, source, m); + return; + } + const plagiarismIndex = source.moves.indexOf('plagiarism'); + if (plagiarismIndex < 0) return false; + this.add(`c:|${getName((source.illusion || source).name)}|yoink`); + const plagiarisedMove = { + move: move.name, + id: move.id, + pp: move.pp, + maxpp: move.pp, + target: move.target, + disabled: false, + used: false, + }; + source.moveSlots[plagiarismIndex] = plagiarisedMove; + source.baseMoveSlots[plagiarismIndex] = plagiarisedMove; + this.add('-activate', source, 'move: Plagiarism', move.name); + this.add('-message', `${source.name} plagiarised ${target.name}'s ${move.name}!`); + this.actions.useMove(move.id, source, target); + delete target.volatiles['imprison']; + source.addVolatile('imprison', source); + }, + noSketch: true, + secondary: null, + target: "normal", + type: "Dark", + }, + + // Mex + timeskip: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Time Skip", + shortDesc: "Clears hazards. +10 turns. +1 Spe.", + desc: "Removes all entry hazards from the user's side of the field, increases the turn counter by 10, and boosts the user's Speed by 1 stage.", + pp: 10, + priority: 0, + flags: {}, + onPrepareHit() { + this.attrLastMove('[anim] Trick Room'); + }, + self: { + onHit(pokemon) { + const sideConditions = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; + for (const condition of sideConditions) { + if (pokemon.side.removeSideCondition(condition)) { + this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Time Skip', '[of] ' + pokemon); + } + } + // 9 turn addition so the +1 from nextTurn totals to 10 turns + this.turn += 9; + }, + boosts: { + spe: 1, + }, + }, + secondary: null, + target: "all", + type: "Dragon", + }, + + // Monkey + bananabreakfast: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "2 random stats +1; Lock-On/Laser Focus/Charge.", + desc: "Boosts 2 random stats of the user by 1 stage each, except Accuracy and Evasion. These stats can be the same. Applies one of Lock-On, Laser Focus, or Charge to the user at random.", + name: "Banana Breakfast", + gen: 9, + pp: 10, + priority: 2, + flags: {mirror: 1, heal: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Fire Fang', target); + this.add('-anim', source, 'Belly Drum', target); + }, + onHit(target, source) { + const stats: BoostID[] = []; + const boost: SparseBoostsTable = {}; + let statPlus: BoostID; + for (statPlus in source.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (source.boosts[statPlus] < 6) { + stats.push(statPlus); + } + } + const randomStat: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + const randomStat2: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + if (randomStat) boost[randomStat] = 1; + if (randomStat2 && randomStat === randomStat2) boost[randomStat] = 2; + else if (randomStat2) boost[randomStat2] = 1; + this.boost(boost, source); + const result = this.random(3); + if (result === 0) { + this.actions.useMove("laserfocus", target); + } else if (result === 1) { + this.actions.useMove("lockon", target); + } else { + this.actions.useMove("charge", target); + } // This is easier than implementing each condition manually + this.heal(target.maxhp / 4, target, target, this.effect); + }, + secondary: null, + target: "self", + type: "Grass", + }, + + // MyPearl + eonassault: { + accuracy: 100, + basePower: 35, + category: "Special", + shortDesc: "Hits twice. 20% -1 Sp. Atk, 20% -1 Sp. Def.", + desc: "Hits 2 times. Each hit has a 20% chance to lower Special Attack by 1 stage, and a 20% chance to lower Special Defense by 1 stage.", + name: "Eon Assault", + gen: 9, + pp: 15, + priority: 0, + flags: {protect: 1}, + multihit: 2, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Mist Ball', target); + this.add('-anim', source, 'Luster Purge', target); + }, + secondaries: [ + { + chance: 20, + boosts: { + spa: -1, + }, + }, { + chance: 20, + boosts: { + spd: -1, + }, + }, + ], + target: "normal", + type: "Psychic", + }, + + // Ney + shadowdance: { + accuracy: 90, + basePower: 110, + category: "Physical", + shortDesc: "Raises the user's Attack by 1 stage.", + desc: "100% chance to raise the user's Attack by 1 stage.", + name: "Shadow Dance", + gen: 9, + pp: 10, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1, dance: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Poltergeist', target); + this.add('-anim', source, 'Dragon Dance', source); + }, + secondary: { + chance: 100, + self: { + boosts: { + atk: 1, + }, + }, + }, + target: "normal", + type: "Ghost", + }, + + // Notater517 + nyaa: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Haze and then +1 Atk / Def.", + desc: "Resets the stat stages of all active Pokemon to 0, and then raises the user's Attack and Defense by 1 stage.", + name: "~nyaa", + gen: 9, + pp: 10, + priority: 0, + flags: {bypasssub: 1}, + onPrepareHit(target, source) { + this.attrLastMove('[anim] Haze'); + this.attrLastMove('[anim] Sweet Kiss'); + this.attrLastMove('[anim] Baton Pass'); + }, + onHitField(target, source, move) { + this.add('-clearallboost'); + for (const pokemon of this.getAllActive()) { + pokemon.clearBoosts(); + } + this.boost({atk: 1, def: 1}, source, source, move); + }, + slotCondition: 'nyaa', + condition: { + onSwap(target) { + const source = this.effectState.source; + if (!target.fainted) { + this.add(`c:|${getName((source.illusion || source).name)}|~nyaa ${target.name}`); + this.add(`c:|${getName('Jeopard-E')}|**It is now ${target.name}'s turn to ask a question.**`); + target.side.removeSlotCondition(target, 'nyaa'); + } + }, + }, + secondary: null, + target: "all", + type: "Steel", + }, + + // nya + '3': { + accuracy: 100, + basePower: 70, + category: "Special", + shortDesc: "Moves first. 40% infatuates. 10% backfire chance.", + desc: "Usually moves first. This move has a 40% chance to infatuate the target, regardless of gender, but this move has a 10% chance to be used by the target at the user instead.", + name: ":3", + gen: 9, + pp: 5, + priority: 1, + flags: {protect: 1}, + onTry(pokemon, target, move) { + if (move.sourceEffect !== '3' && this.randomChance(1, 10)) { + this.add('-message', "The move backfired!"); + const activeMove = this.dex.getActiveMove(':3'); + activeMove.hasBounced = true; + this.actions.useMove(activeMove, target, pokemon); + return null; + } + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Attract', target); + }, + secondary: { + volatileStatus: 'attract', + chance: 40, + }, + target: "normal", + type: "Fairy", + }, + + // Nyx + cottoncandycrush: { + accuracy: 100, + basePower: 80, + category: "Physical", + shortDesc: "Uses Sp. Def over Attack in damage calculation.", + desc: "Damage is calculated using the user's Special Defense stat as its Attack, including stat stage changes. Other effects that modify the Attack stat are used as normal.", + name: "Cotton Candy Crush", + overrideOffensiveStat: "spd", + gen: 9, + pp: 15, + priority: 0, + flags: {contact: 1, protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Fusion Bolt', target); + this.add('-anim', source, 'Fleur Cannon', target); + }, + target: "normal", + type: "Fairy", + }, + + // Opple + woppleorflopple: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Confuse; +2 SpA/D. Fail=Confuse self; -1 SpA/D.", + desc: "Usually moves first. This move has a 50% chance of confusing the target and raising the user's Special Attack and Special Defense by 2 stages. Otherwise, it will confuse the user and lower the user's Special Attack and Special Defense by 1 stage.", + name: "Wopple or Flopple", + gen: 9, + pp: 10, + priority: 1, + flags: {protect: 1, reflectable: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Moonlight', source); + }, + onHit(target, source, move) { + if (this.randomChance(1, 2)) { + target.addVolatile('confusion'); + this.boost({spa: 2, spd: 2}, source); + } else { + source.addVolatile('confusion'); + this.boost({spa: -1, spd: -1}, source); + } + }, + secondary: null, + target: "normal", + type: "Normal", + }, + + // PartMan + alting: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Alting", + shortDesc: "Switch+Protect, Shiny: 69BP ???-type atk instead.", + desc: "If the user is not shiny, it switches out even if it is trapped and is replaced immediately by a selected party member, and if the user moved first this turn, the selected party member will be protected from most attacks made by other Pokemon this turn. If the user is shiny, this move instead becomes a 69 Base Power ???-type special attack.", + pp: 5, + priority: 0, + flags: {snatch: 1}, + stallingMove: true, + sideCondition: 'alting', + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Memento', target); + + this.add(`l|${getName((source.illusion || source).name).split('|')[1]}`); + this.add(`j|FakePart`); + }, + onModifyMove(move, source, target) { + move.type = "???"; + if (source.set?.shiny) { + move.accuracy = 100; + move.basePower = 69; + move.category = "Special"; + move.flags = {protect: 1, bypasssub: 1}; + move.target = "normal"; + + delete move.selfSwitch; + delete move.stallingMove; + delete move.sideCondition; + delete move.condition; + + // Note: Taunt will disable all forms of Alting, including the damaging one. + // This is intentional. + } + }, + condition: { + duration: 1, + onSideStart(target, source) { + this.add('-singleturn', source, 'Alting'); + }, + onTryHitPriority: 3, + onTryHit(target, source, move) { + if (!move.flags['protect']) { + if (['gmaxoneblow', 'gmaxrapidflow'].includes(move.id)) return; + if (move.isZ || move.isMax) target.getMoveHitData(move).zBrokeProtect = true; + return; + } + if (move && (move.target === 'self' || move.category === 'Status')) return; + this.add('-activate', target, 'move: Alting', move.name); + const lockedmove = source.getVolatile('lockedmove'); + if (lockedmove) { + // Outrage counter is reset + if (source.volatiles['lockedmove'].duration === 2) { + delete source.volatiles['lockedmove']; + } + } + return this.NOT_FAIL; + }, + }, + selfSwitch: true, + target: "allySide", + type: "Ghost", // Updated to ??? in onModifyMove + }, + + // Peary + "1000gears": { + accuracy: true, + basePower: 0, + category: "Status", + name: "1000 Gears", + shortDesc: "Heals 100% HP,cures status,+1 Def/SpD,+5 levels.", + desc: "Z-Move requiring Pearyum Z. Heals the user for 100% of its maximum HP, cures its non-volatile status effects, boosts its Defense and Special Defense by 1 stage, and raises its level by 5.", + pp: 1, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(pokemon) { + this.add('-anim', pokemon, 'Shift Gear', pokemon); + this.add('-anim', pokemon, 'Belly Drum', pokemon); + }, + onHit(target, pokemon, move) { + this.heal(pokemon.maxhp, pokemon, pokemon, move); + pokemon.cureStatus(); + this.boost({def: 1, spd: 1}); + (pokemon as any).level += 5; + pokemon.details = pokemon.species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); + this.add('-anim', pokemon, 'Geomancy', pokemon); + this.add('replace', pokemon, pokemon.details); + this.add('-message', `${pokemon.name} gained 5 levels!`); + }, + isZ: "pearyumz", + secondary: null, + target: "self", + type: "Steel", + }, + + // PenQuin + splashnluckyblaze: { + accuracy: 100, + basePower: 40, + category: "Physical", + name: "Splash n' Lucky Blaze", + shortDesc: "User: +1 Attack; target: 100% chance of burn.", + desc: "Has a 100% chance to raise the user's Attack by 1 stage and a 100% chance to burn the target.", + pp: 20, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Jet Punch', target); + this.add('-anim', source, 'Flare Blitz', target); + }, + secondaries: [ + { + chance: 100, + status: 'brn', + }, { + chance: 100, + self: { + boosts: { + atk: 1, + }, + }, + }, + ], + target: "normal", + type: "Water", + }, + + // phoopes + gen1blizzard: { + accuracy: 90, + basePower: 120, + category: "Special", + name: "Gen 1 Blizzard", + desc: "Has a 10% chance to freeze the target.", + shortDesc: "10% chance to freeze the target.", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Blizzard'); + }, + secondary: { + chance: 10, + status: 'frz', + }, + target: "normal", + type: "Ice", + }, + + // Pissog + asongoficeandfire: { + accuracy: 100, + basePower: 100, + category: "Special", + name: "A Song of Ice and Fire", + shortDesc: "Type depends on form. Switches form.", + desc: "If the user is Volcarona, this move is Ice-type and, after dealing damage, transforms the user into a Snow Warning Frosmoth with Blizzard, Chilly Reception, and Aurora Veil. If the user is Frosmoth, this move is Fire-type and, after dealing damage, transforms the user into a Drought Volcarona with Torch Song, Morning Sun, and Solar Beam. This move fails if the user is neither Frosmoth nor Volcarona.", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, failcopycat: 1}, + noSketch: true, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + if (source.species.name === 'Volcarona') { + this.add('-anim', source, 'Blizzard', target); + } else { + this.add('-anim', source, 'Fiery Dance', target); + } + }, + onModifyType(move, pokemon) { + if (pokemon.species.name === 'Volcarona') { + move.type = "Ice"; + } else { + move.type = "Fire"; + } + }, + onHit(target, source, move) { + if (source.species.name === 'Volcarona') { + changeSet(this, source, ssbSets['Pissog-Frosmoth'], true); + } else if (source.species.name === 'Frosmoth') { + changeSet(this, source, ssbSets['Pissog'], true); + } + }, + target: "normal", + type: "Fire", + }, + + // pokemonvortex + roulette: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Roulette", + shortDesc: "Use a random move, and get a random moveset.", + desc: "A random move is selected for use, and then the user's other three moves are replaced with random moves. Aura Wheel, Dark Void, Explosion, Final Gambit, Healing Wish, Hyperspace Fury, Lunar Dance, Memento, Misty Explosion, Revival Blessing, and Self-Destruct cannot be selected.", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Nasty Plot', source); + this.add('-anim', source, 'Metronome', target); + this.add('-anim', source, 'Explosion', target); + }, + onHit(target, source) { + const bannedList = [ + 'aurawheel', 'darkvoid', 'explosion', 'finalgambit', 'healingwish', 'hyperspacefury', + 'lunardance', 'memento', 'mistyexplosion', 'revivalblessing', 'selfdestruct', + ]; + const moves = this.dex.moves.all().filter(move => ( + !source.moves.includes(move.id) && + (!move.isNonstandard || move.isNonstandard === 'Unobtainable') + )); + this.actions.useMove(this.sample(moves.filter(x => !bannedList.includes(x.id))), target); + for (const i of target.moveSlots.keys()) { + if (i > 2) break; + const randomMove = this.sample(moves.filter(x => !bannedList.includes(x.id))); + bannedList.push(randomMove.id); + const replacement = { + move: randomMove.name, + id: randomMove.id, + pp: randomMove.pp, + maxpp: randomMove.pp, + target: randomMove.target, + disabled: false, + used: false, + }; + target.moveSlots[i] = target.baseMoveSlots[i] = replacement; + } + }, + target: "self", + type: "Normal", + }, + + // ptoad + pleek: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Pleek...", + shortDesc: "+4 Attack + inflict Perish Song on the user.", + desc: "Raises the user's Attack by 4 stages. Inflicts the Perish Song effect on the user, causing it to faint in three turns at the end of the turn.", + pp: 10, + priority: 0, + flags: {sound: 1, bypasssub: 1}, + onTry(source) { + if (source.m.usedPleek) { + this.hint("Pleek... only works once per switch-in."); + return false; + } + }, + onPrepareHit() { + this.attrLastMove('[anim] Hyper Voice'); + this.attrLastMove('[anim] Splash'); + }, + onHit(target, source, move) { + this.add(`c:|${getName((source.illusion || source).name)}|Pleek...`); + this.boost({atk: 4}, source, source, move); + source.addVolatile('perishsong'); + this.add('-start', source, 'perish3', '[silent]'); + source.m.usedPleek = true; + }, + target: "self", + type: "Fairy", + }, + + // Pulse_kS + luckpulse: { + accuracy: 100, + basePower: 90, + category: "Special", + name: "Luck Pulse", + shortDesc: "Random type. 40% random effect. High crit.", + desc: "This move's typing is chosen randomly between the 18 standard types, and each type has a 40% chance to apply a status effect to the target specific to that type. This move has an increased chance to result in a critical hit. The list of effects per type are as follows: Normal can apply drowsy; Fire can apply burn; Water can apply Aqua Ring; Grass can apply Leech Seed; Flying can apply confusion; Fighting can apply partial trapping; Poison can apply Toxic poison; Electric can apply paralysis; Ground can apply No Retreat, trapping the target without granting boosts; Rock can apply Salt Cure; Psychic can apply sleep; Ice can apply freeze; Bug can apply poison; Ghost can apply Disable; Steel can cause the target to flinch; Dragon can cause the target to recharge on their next turn, as if they had just used Hyper Beam; Dark can apply Taunt; and Fairy can apply infatuation.", + critRatio: 2, + pp: 10, + priority: 0, + flags: {pulse: 1, protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + this.add('-anim', source, 'Tera Blast ' + move.type, target); + }, + onModifyType(move, pokemon, target) { + const type = this.sample(this.dex.types.names().filter(i => i !== 'Stellar')); + move.type = type; + }, + onTryHit(target, source, move) { + const messages = [ + 'Kai Shinden', + 'Kaio Sama', + 'Kaiba, Seto', + 'Kairyu-Shin', + 'Kaito Shizuki', + 'Kanga Skhan', + 'KanSas', + 'Karakuri Shogun', + 'Kate Stewart', + 'Kendo Spirit', + 'Keratan sulfate', + 'Kernel streaming', + 'Key Stage', + 'Kids Suck', + 'KillSteal', + 'Kilometers / Second', + 'Kilosecond', + 'King of the Swamp', + 'King\'s Shield', + 'Kirk/Spock', + 'Klingon Security', + 'Kuroudo (Cloud) Strife', + 'Kyouko Sakura', + 'KyrgyzStan', + 'Kpop Star', + 'Kartana Swords dance', + ]; + this.add(`c:|${getName((source.illusion || source).name)}|The kS stands for ${this.sample(messages)}`); + }, + secondary: { + chance: 40, + onHit(target, source, move) { + const table: {[k: string]: {volatileStatus?: string, status?: string}} = { + Normal: {volatileStatus: 'yawn'}, + Fire: {status: 'brn'}, + Water: {volatileStatus: 'aquaring'}, + Grass: {volatileStatus: 'leechseed'}, + Flying: {volatileStatus: 'confusion'}, + Fighting: {volatileStatus: 'partiallytrapped'}, + Poison: {status: 'tox'}, + Electric: {status: 'par'}, + Ground: {volatileStatus: 'trapped'}, + Rock: {volatileStatus: 'saltcure'}, + Psychic: {status: 'slp'}, + Ice: {status: 'frz'}, + Bug: {status: 'psn'}, + Ghost: {volatileStatus: 'disable'}, + Steel: {volatileStatus: 'flinch'}, + Dark: {volatileStatus: 'mustrecharge'}, + Dragon: {volatileStatus: 'taunt'}, + Fairy: {volatileStatus: 'attract'}, + }; + let condition = table[move.type]; + if (!condition) condition = table['Normal']; + if (condition.status) { + target.trySetStatus(condition.status); + } else if (condition.volatileStatus) { + target.addVolatile(condition.volatileStatus); + } + }, + }, + target: "normal", + type: "???", + }, + + // PYRO + meatgrinder: { + accuracy: 100, + basePower: 60, + category: "Physical", + name: "Meat Grinder", + shortDesc: "User:+1/8 HP/turn;Foe:-1/8 HP/turn,Nrm/Fairy 1/4.", + desc: "Causes damage to the target equal to 1/8 of its maximum HP (1/4 if the target is Normal or Fairy type), rounded down, and heals the user equal to 1/8 of its maximum HP, both at the end of each turn during effect. This effect ends when the target is no longer active.", + pp: 15, + priority: 0, + flags: {protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Guillotine'); + }, + condition: { + noCopy: true, + onStart(pokemon) { + this.add('-start', pokemon, 'Meat Grinder'); + }, + onResidualOrder: 13, + onResidual(pokemon, source) { + this.damage(pokemon.baseMaxhp / (pokemon.hasType(['Normal', 'Fairy']) ? 4 : 8)); + + const target = this.getAtSlot(pokemon.volatiles['meatgrinder'].sourceSlot); + if (!pokemon || pokemon.fainted || pokemon.hp <= 0) { + this.add(`c:|${getName((target.illusion || target).name)}|Tripping off the beat kinda, dripping off the meat grinder`); + } + if (!target || target.fainted || target.hp <= 0) { + this.debug('Nothing to heal'); + return; + } + this.heal(target.baseMaxhp / 8, target, pokemon); + }, + onEnd(pokemon) { + this.add('-end', pokemon, 'Meat Grinder'); + }, + }, + secondary: { + chance: 100, + volatileStatus: 'meatgrinder', + }, + target: "normal", + type: "Steel", + }, + + // Quite Quiet + worriednoises: { + accuracy: 100, + basePower: 90, + category: "Special", + name: "*Worried Noises*", + shortDesc: "+1 SpA. Type varies based on user's primary type.", + desc: "Has a 100% chance to raise the user's Special Attack by 1 stage. This move's type depends on the user's primary type. If the user's primary type is typeless, this move's type is the user's secondary type if it has one, otherwise the added type from effects that add extra typings. This move is typeless if the user's type is typeless alone.", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Tidy Up', source); + this.add('-anim', source, 'Bug Buzz', target); + }, + onModifyType(move, pokemon) { + let type = pokemon.getTypes()[0]; + if (type === "Bird") type = "???"; + move.type = type; + }, + secondary: { + chance: 100, + self: { + boosts: { + spa: 1, + }, + }, + }, + target: "normal", + type: "Normal", + }, + + // quziel + reshape: { + accuracy: 100, + basePower: 0, + category: "Status", + name: "Reshape", + shortDesc: "User: +1 SpA. Target becomes a random monotype.", + desc: "Raises the user's Special Attack by 1 stage and changes the target's typing to any one of the 18 standard types at random, replacing their old typing.", + pp: 10, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Reflect Type', target); + }, + onHit(target, source, move) { + const type = this.sample(this.dex.types.names().filter(i => i !== 'Stellar')); + target.setType(type); + this.add('-start', target, 'typechange', type, '[from] move: Reshape'); + this.boost({spa: 1}, source); + }, + target: "normal", + type: "Normal", + }, + + // R8 + magictrick: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Magic Trick", + shortDesc: "Teleport + Clears field effects.", + desc: "Removes any terrain, weather, entry hazard, or other removable field condition, and then causes the user to switch out out even if it is trapped and be replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members, and the user will still attempt to switch out if there are no active field conditions.", + pp: 5, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Explosion', target); + }, + onHit(target, source, move) { + const displayText = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; + for (const targetCondition of Object.keys(target.side.sideConditions)) { + if (target.side.removeSideCondition(targetCondition) && displayText.includes(targetCondition)) { + this.add('-sideend', target, this.dex.conditions.get(targetCondition).name, '[from] move: Magic Trick', '[of] ' + source); + } + } + for (const sideCondition of Object.keys(source.side.sideConditions)) { + if (source.side.removeSideCondition(sideCondition) && displayText.includes(sideCondition)) { + this.add('-sideend', source.side, this.dex.conditions.get(sideCondition).name, '[from] move: Magic Trick', '[of] ' + source); + } + } + this.field.clearTerrain(); + this.field.clearWeather(); + for (const pseudoWeather of Object.keys(this.field.pseudoWeather)) { + this.field.removePseudoWeather(pseudoWeather); + } + }, + self: { + onHit(target, source, move) { + return !!this.canSwitch(source.side); + }, + }, + selfSwitch: true, + secondary: null, + target: "normal", + type: "Normal", + }, + + // Rainshaft + "hatsunemikusluckyorb": { + accuracy: true, + basePower: 0, + category: "Status", + name: "Hatsune Miku's Lucky Orb", + shortDesc: "Gains +3 to random stat, then uses Baton Pass.", + desc: "Z-Move requiring Rainium Z. Boosts a random stat (except Accuracy and Evasion) by 3 stages, then the user is replaced with another Pokemon in its party. The selected Pokemon has the user's stat stage changes, confusion, and certain move effects transferred to it.", + pp: 1, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(pokemon) { + this.add('-anim', pokemon, 'Life Dew', pokemon); + this.add('-anim', pokemon, 'Geomancy', pokemon); + }, + onHit(target, pokemon, move) { + const stats: BoostID[] = []; + let stat: BoostID; + for (stat in target.boosts) { + if (stat === 'accuracy' || stat === 'evasion') continue; + if (target.boosts[stat] < 6) { + stats.push(stat); + } + } + if (stats.length) { + const randomStat = this.sample(stats); + this.boost({[randomStat]: 3}, pokemon, pokemon, move); + this.actions.useMove('Baton Pass', target); + } + }, + isZ: "rainiumz", + secondary: null, + target: "self", + type: "Water", + }, + + // Ransei + floodoflore: { + accuracy: 100, + basePower: 100, + category: "Special", + name: "Flood of Lore", + shortDesc: "Sets Psychic Terrain.", + desc: "If this move is successful, the terrain becomes Psychic Terrain.", + pp: 5, + priority: 0, + flags: {protect: 1}, + terrain: 'psychicterrain', + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Photon Geyser', target); + }, + secondary: null, + target: "normal", + type: "Psychic", + }, + + // ReturnToMonkey + monkemagic: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Monke Magic", + shortDesc: "Sets Trick Room; user SpA +1.", + desc: "Nearly always goes last. Raises the user's Special Attack by 1 stage and sets Trick Room for 5 turns, making the slower Pokemon move first for the duration.", + pp: 5, + priority: -7, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Trick', target); + this.add('-anim', source, 'Trick Room', target); + this.add('-anim', source, 'Nasty Plot', target); + }, + pseudoWeather: 'trickroom', + self: { + boosts: { + spa: 1, + }, + }, + target: "all", + type: "Psychic", + }, + + // RSB + confiscate: { + accuracy: 100, + basePower: 60, + category: "Physical", + name: "Confiscate", + shortDesc: "First turn only. Steals boosts and screens.", + desc: "Nearly always moves first. The target's stat stages greater than 0 are stolen from it and applied to the user, and any present effects of Reflect, Light Screen, and Aurora Veil are moved from the target's side of the field to the user's, before dealing damage. Fails unless it is the user's first turn on the field.", + pp: 5, + priority: 2, + flags: {contact: 1, protect: 1, mirror: 1, bite: 1}, + onTry(source) { + if (source.activeMoveActions > 1) { + this.hint("Confiscate only works on your first turn out."); + return false; + } + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Crunch', target); + this.add('-anim', source, 'Thief', target); + }, + onTryHit(target, source) { + this.add(`c:|${getName((source.illusion || source).name)}|Contraband detected, confiscating.`); + for (const condition of ['reflect', 'lightscreen', 'auroraveil']) { + if (target.side.removeSideCondition(condition)) { + source.side.addSideCondition(condition); + } + } + }, + stealsBoosts: true, + target: "normal", + type: "Dark", + }, + + // Rumia + midnightbird: { + accuracy: 100, + basePower: 85, + category: "Special", + name: "Midnight Bird", + shortDesc: "100% chance to raise the user's Sp. Atk by 1.", + desc: "Has a 100% chance to raise the user's Special Attack by 1 stage.", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Memento', target); + this.add('-anim', source, 'Brutal Swing', target); + }, + secondary: { + chance: 100, + self: { + boosts: { + spa: 1, + }, + }, + }, + target: "normal", + type: "Dark", + }, + + // Scotteh + purification: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Heals 50% of max HP. Cures status.", + desc: "Heals the user for 1/2 of their maximum HP and removes any non-volatile status effect from the user.", + name: "Purification", + pp: 5, + priority: 0, + flags: {heal: 1, bypasssub: 1, allyanim: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Moonlight'); + }, + onHit(pokemon) { + const success = !!this.heal(this.modify(pokemon.maxhp, 0.5)); + return pokemon.cureStatus() || success; + }, + secondary: null, + target: "self", + type: "Water", + }, + + // SexyMalasada + hexadecimalfire: { + accuracy: 100, + basePower: 75, + category: "Special", + shortDesc: "20% burn, 20% spite, 20% 1/4th recoil.", + desc: "This move independently has a 20% chance to leave the target with a burn, a 20% chance to reduce the PP of the target's last used move by 4, and a 20% chance to cause the user to take damage equal to 1/4 of the damage dealt to the target.", + name: "Hexadecimal Fire", + pp: 15, + priority: 0, + flags: {heal: 1, bypasssub: 1, allyanim: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Sacred Fire', target); + this.add('-anim', source, 'Hex', target); + }, + secondaries: [ + { + chance: 20, + status: 'brn', + }, + { + chance: 20, + onHit(target) { + if (!target.hp) return; + let move: Move | ActiveMove | null = target.lastMove; + if (!move || move.isZ) return; + if (move.isMax && move.baseMove) move = this.dex.moves.get(move.baseMove); + const ppDeducted = target.deductPP(move.id, 4); + if (!ppDeducted) return; + this.add('-activate', target, 'move: Hexadecimal Fire', move.name, ppDeducted); + }, + }, + { + chance: 20, + onHit(target, source, move) { + move.recoil = [25, 100]; + }, + }, + ], + target: "normal", + type: "Ghost", + }, + + // sharp_claw + treacheroustraversal: { + accuracy: 100, + basePower: 70, + category: "Physical", + shortDesc: "Clears hazards, sets spikes, switches out.", + desc: "Removes all entry hazards and active terrains from the field, then sets one layer of Spikes if the user is Sneasel or Toxic Spikes otherwise. If this move is successful and the user has not fainted, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members, or if the target switched out using an Eject Button or through the effect of the Emergency Exit or Wimp Out Abilities.", + name: "Treacherous Traversal", + gen: 9, + pp: 20, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Defog', source); + this.add('-anim', source, 'Extreme Speed', target); + }, + selfSwitch: true, + self: { + onHit(source) { + let success = false; + const removeTarget = [ + 'reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', + ]; + const removeAll = [ + 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', + ]; + const targetSide = source.side.foe; + for (const targetCondition of removeTarget) { + if (targetSide.removeSideCondition(targetCondition)) { + if (!removeAll.includes(targetCondition)) continue; + this.add('-sideend', targetSide, this.dex.conditions.get(targetCondition).name, '[from] move: Treacherous Traversal', '[of] ' + source); + success = true; + } + } + for (const sideCondition of removeAll) { + if (source.side.removeSideCondition(sideCondition)) { + this.add('-sideend', source.side, this.dex.conditions.get(sideCondition).name, '[from] move: Treacherous Traversal', '[of] ' + source); + success = true; + } + } + success = this.field.clearTerrain(); + for (const side of source.side.foeSidesWithConditions()) { + if (source.species.name === 'Sneasel') { + success = side.addSideCondition('spikes'); + } else { + success = side.addSideCondition('toxicspikes'); + } + } + return success; + }, + }, + secondary: {}, // allows sheer force to trigger + target: "normal", + type: "Rock", + }, + + // Siegfried + boltbeam: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Calls 45 BP Thunderbolt + 45 BP Ice Beam.", + desc: "When used, calls a 45 Base Power Thunderbolt for use, and then calls a 45 Base Power Ice Beam for use. If one move fails, the other will still execute.", + name: "BoltBeam", + pp: 15, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onTryHit(target) { + const tbolt = this.dex.getActiveMove('thunderbolt'); + tbolt.basePower = 45; + const icebeam = this.dex.getActiveMove('icebeam'); + icebeam.basePower = 45; + this.actions.useMove(tbolt, target); + this.actions.useMove(icebeam, target); + return null; + }, + secondary: null, + target: "self", + type: "Electric", + }, + + // Sificon + grassgaming: { + accuracy: 100, + basePower: 100, + category: "Special", + shortDesc: "Remove item, Leech Seed, Psn if stat raised.", + desc: "If the user has not fainted, the target loses its held item. This move cannot cause Pokemon with the Sticky Hold Ability or Pokemon holding Z-Crystals or Mega Stones to lose their held items. This move summons Leech Seed on the foe. Has a 100% chance to poison the target if it had a stat stage raised this turn.", + name: "Grass Gaming", + pp: 15, + priority: 0, + flags: {protect: 1, reflectable: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'G-Max Vine Lash', target); + }, + onBasePower(basePower, source, target, move) { + const item = target.getItem(); + if (!this.singleEvent('TakeItem', item, target.itemState, target, target, move, item)) return; + if (item.id) { + return this.chainModify(1.5); + } + }, + onAfterHit(target, source) { + if (source.hp) { + const item = target.takeItem(); + if (item) { + this.add('-enditem', target, item.name, '[from] move: Grass Gaming', '[of] ' + source); + } + } + }, + onHit(target, source, move) { + if (target?.statsRaisedThisTurn) { + target.trySetStatus('psn', source, move); + } + if (!target.hasType('Grass')) { + target.addVolatile('leechseed', source); + } + }, + secondary: null, + target: "normal", + type: "Grass", + }, + + // skies + like: { + accuracy: 100, + basePower: 80, + category: "Physical", + shortDesc: "The user recycles their item.", + desc: "If this attack is successful, the user regains its last used held item, unless it was forcibly removed.", + name: "Like..?", + pp: 5, + priority: 0, + flags: {reflectable: 1, protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Recycle', target); + this.add('-anim', source, 'Seed Bomb', target); + }, + self: { + onHit(pokemon) { + if (!pokemon.item && pokemon.lastItem) { + const item = pokemon.lastItem; + pokemon.lastItem = ''; + this.add('-item', pokemon, this.dex.items.get(item), '[from] move: Recycle'); + pokemon.setItem(item); + } + }, + }, + secondary: null, + target: "normal", + type: "Grass", + }, + + // snake + conceptrelevant: { + accuracy: 100, + basePower: 70, + category: "Physical", + shortDesc: "Sets up 3 random hazards+psn foe. Switch.", + desc: "If this move is successful, all entry hazards are removed from the user's side of the field, the target becomes poisoned, and a three random entry hazards are set on the target's side. If this move is successful and the user has not fainted, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members, or if the target switched out using an Eject Button or through the effect of the Emergency Exit or Wimp Out Abilities.", + name: "Concept Relevant", + gen: 9, + pp: 15, + priority: 0, + flags: {contact: 1, protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Mortal Spin', target); + this.add('-anim', source, 'Spikes', target); + this.add('-anim', source, 'U-turn', target); + }, + onAfterHit(target, pokemon) { + if (pokemon.hp && pokemon.removeVolatile('leechseed')) { + this.add('-end', pokemon, 'Leech Seed', '[from] move: Concept Relevant', '[of] ' + pokemon); + } + const sideConditions = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; + for (const condition of sideConditions) { + if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { + this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Concept Relevant', '[of] ' + pokemon); + } + } + if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { + pokemon.removeVolatile('partiallytrapped'); + } + for (let i = 0; i < 3; i++) { + const usableSideConditions = sideConditions.filter(condition => { + if (condition === 'spikes') { + return !target.side.sideConditions[condition] || target.side.sideConditions[condition].layers < 3; + } + if (condition === 'toxicspikes') { + return !target.side.sideConditions[condition] || target.side.sideConditions[condition].layers < 2; + } + return !target.side.sideConditions[condition]; + }); + if (usableSideConditions.length) { + target.side.addSideCondition(this.sample(usableSideConditions)); + } + } + }, + onAfterSubDamage(damage, target, pokemon) { + if (pokemon.hp && pokemon.removeVolatile('leechseed')) { + this.add('-end', pokemon, 'Leech Seed', '[from] move: Concept Relevant', '[of] ' + pokemon); + } + const sideConditions = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge']; + for (const condition of sideConditions) { + if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { + this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Concept Relevant', '[of] ' + pokemon); + } + } + if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { + pokemon.removeVolatile('partiallytrapped'); + } + for (let i = 0; i < 3; i++) { + const usableSideConditions = sideConditions.filter(condition => { + if (condition === 'spikes') { + return !target.side.sideConditions[condition] || target.side.sideConditions[condition].layers < 3; + } + if (condition === 'toxicspikes') { + return !target.side.sideConditions[condition] || target.side.sideConditions[condition].layers < 2; + } + return !target.side.sideConditions[condition]; + }); + if (usableSideConditions.length) { + target.side.addSideCondition(this.sample(usableSideConditions)); + } + } + }, + secondary: { + chance: 100, + status: 'psn', + }, + selfSwitch: true, + target: "normal", + type: "Bug", + }, + + // Soft Flex + adaptivebeam: { + accuracy: 100, + basePower: 90, + category: "Special", + shortDesc: "If target has boosts, steals them, +1 prio, 0 BP.", + desc: "This move's base power is doubled if the target has a higher number of positive stat stage changes than the user. If this move's power is doubled, a random stat, except Accuracy and Evasion, is boosted for the user by 1 stage and lowered for the target by 1 stage.", + name: "Adaptive Beam", + pp: 15, + priority: 0, + flags: {sound: 1, protect: 1, bypasssub: 1}, + stealsBoosts: true, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Flash Cannon', target); + if (target.positiveBoosts()) { + this.add('-anim', source, 'Extreme Evoboost', source); + } + }, + onModifyMove(move, pokemon, target) { + if (target?.positiveBoosts()) { + move.basePower = 0; + move.category = 'Status'; + } + }, + onModifyPriority(priority, source, target, move) { + if (target?.positiveBoosts()) return priority + 1; + return priority; + }, + secondary: null, + target: "normal", + type: "Steel", + }, + + // Solaros & Lunaris + mindmelt: { + accuracy: 100, + basePower: 100, + category: "Special", + overrideDefensiveStat: 'def', + shortDesc: "Target's the foe's Def instead of Sp. Def.", + desc: "Deals damage to the target based on its Defense instead of Special Defense.", + name: "Mind Melt", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Burn Up', target); + }, + secondary: null, + target: "normal", + type: "Fire", + }, + + // spoo + cardiotraining: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Boosts Atk, Def, and Sp. Def by 1 stage.", + desc: "Boosts the user's Attack, Defense, and Special Defense by 1 stage.", + name: "Cardio Training", + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + this.add('-anim', source, 'Geomancy', source); + }, + gen: 9, + pp: 5, + priority: 0, + flags: {snatch: 1, dance: 1, metronome: 1}, + boosts: { + atk: 1, + def: 1, + spd: 1, + }, + secondary: null, + target: "self", + type: "Fire", + }, + + // Steorra + phantomweapon: { + accuracy: 100, + basePower: 65, + category: "Physical", + name: "Phantom Weapon", + shortDesc: "2x power if user is holding item; destroys item.", + desc: "If the user is holding an item, this move will deal double damage and the user's held item will be removed.", + pp: 20, + priority: 0, + onModifyPriority(priority, pokemon) { + if (!pokemon.item) return priority + 1; + }, + flags: {protect: 1, mirror: 1}, + onModifyMove(move, pokemon, target) { + if (!pokemon.item) { + move.flags['contact'] = 1; + move.flags['mirror'] = 1; + } + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + this.add('-anim', source, 'Shadow Force', target); + if (!source.item || source.ignoringItem()) return; + const item = source.getItem(); + if (!this.singleEvent('TakeItem', item, source.itemState, source, source, move, item)) return; + move.basePower *= 2; + source.addVolatile('phantomweapon'); + }, + condition: { + onUpdate(pokemon) { + const item = pokemon.getItem(); + pokemon.setItem(''); + pokemon.lastItem = item.id; + pokemon.usedItemThisTurn = true; + this.add('-enditem', pokemon, item.name, '[from] move: Phantom Weapon'); + this.runEvent('AfterUseItem', pokemon, null, null, item); + pokemon.removeVolatile('phantomweapon'); + }, + }, + secondary: null, + target: "normal", + type: "Ghost", + }, + + // Struchni + randfact: { + accuracy: 100, + basePower: 120, + category: "Physical", + shortDesc: "Random type.", + desc: "This move's typing is chosen randomly between the 18 standard types.", + name: "~randfact", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source, move) { + move.type = this.sample(this.dex.types.names().filter(i => i !== 'Stellar')); + this.add('-anim', source, 'Nasty Plot', source); + this.add('-anim', source, 'Head Smash', target); + }, + secondary: null, + target: "normal", + type: "Steel", + }, + + // Sulo + vengefulmood: { + accuracy: 100, + basePower: 60, + basePowerCallback(pokemon) { + return Math.min(140, 60 + 20 * pokemon.timesAttacked); + }, + category: "Special", + shortDesc: "+20 power for each time user was hit. Max 4 hits.", + desc: "Power is equal to 60+(X*20), where X is the total number of times the user has been hit by a damaging attack during the battle, even if the user did not lose HP from the attack. X cannot be greater than 4 and does not reset upon switching out or fainting. Each hit of a multi-hit attack is counted, but confusion damage is not counted.", + name: "Vengeful Mood", + gen: 9, + pp: 15, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Aura Sphere', source); + }, + secondary: null, + target: "normal", + type: "Fighting", + }, + + // Swiffix + stinkbomb: { + accuracy: 85, + basePower: 10, + category: "Special", + shortDesc: "Hits 10 times. Each hit can miss.", + desc: "Hits ten times. This move checks accuracy for each hit, and the attack ends if the target avoids a hit. If one of the hits breaks the target's substitute, it will take damage for the remaining hits. If the user has the Skill Link Ability, this move will always hit ten times. If the user is holding Loaded Dice, this move hits four to ten times at random without checking accuracy between hits.", + name: "Stink Bomb", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Population Bomb', target); + this.add('-anim', source, 'Venoshock', target); + }, + multihit: 10, + multiaccuracy: true, + secondary: null, + target: "normal", + type: "Poison", + }, + + // Teclis + risingsword: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Boosts Attack, Speed, and Crit ratio by 1.", + desc: "Boosts the user's Attack and Speed by 1 stage and increases the user's chance of landing a critical hit.", + name: "Rising Sword", + pp: 5, + priority: 0, + onTryMove() { + this.attrLastMove('[still]'); + }, + onHit(pokemon) { + const success = !!this.boost({atk: 1, spe: 1}); + return pokemon.addVolatile('risingsword') || success; + }, + condition: { + onStart(pokemon, source) { + this.add('-start', pokemon, 'move: Rising Sword'); + }, + onModifyCritRatio(critRatio, source) { + return critRatio + 1; + }, + }, + flags: {}, + onPrepareHit(target, source) { + this.add('-anim', source, 'Focus Energy', target); + this.add('-anim', source, 'Agility', target); + }, + secondary: null, + target: "self", + type: "Psychic", + }, + + // Tenshi + sandeat: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Protects user, changes type and gains a new move.", + desc: "Nearly always moves first. The user protects itself from most attacks made by other Pokemon this turn and gains a random type. If the user has Dynamic Punch, Pyro Ball, Triple Axel, Stone Edge, or Aqua Tail, it will also replace that move with a new move based on the type gained. It can gain Fire type and Pyro Ball, Ice type and Triple Axel, Rock type and Stone Edge, and Water type and Aqua Tail. This move fails entirely if the user moved last this turn or if the foe switches out, and this move has an increasing chance to fail when used consectively.", + name: "SAND EAT", + pp: 10, + priority: 4, + flags: {noassist: 1}, + stallingMove: true, + volatileStatus: 'protect', + onTryMove() { + this.attrLastMove('[still]'); + }, + onHit(pokemon) { + pokemon.addVolatile('stall'); + const types = ['Fire', 'Water', 'Ice', 'Rock']; + const moves = ['pyroball', 'aquatail', 'tripleaxel', 'stoneedge']; + const newType = this.sample(types.filter(i => !pokemon.hasType(i))); + const newMove = moves[types.indexOf(newType)]; + const replacementIndex = Math.max( + pokemon.moves.indexOf('dynamicpunch'), + pokemon.moves.indexOf('pyroball'), + pokemon.moves.indexOf('aquatail'), + pokemon.moves.indexOf('tripleaxel'), + pokemon.moves.indexOf('stoneedge') + ); + if (replacementIndex < 0) { + return; + } + const replacement = this.dex.moves.get(newMove); + const replacementMove = { + move: replacement.name, + id: replacement.id, + pp: replacement.pp, + maxpp: replacement.pp, + target: replacement.target, + disabled: false, + used: false, + }; + pokemon.moveSlots[replacementIndex] = replacementMove; + pokemon.baseMoveSlots[replacementIndex] = replacementMove; + pokemon.addType(newType); + this.add('-start', pokemon, 'typeadd', newType, '[from] move: SAND EAT'); + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|omg look HE EAT`); + }, + onPrepareHit(pokemon, source) { + this.add('-anim', source, 'Dig', pokemon); + this.add('-anim', source, 'Odor Sleuth', pokemon); + this.add('-anim', source, 'Stuff Cheeks', pokemon); + this.add(`c:|${getName((pokemon.illusion || pokemon).name)}|he do be searching for rocks tho`); + return !!this.queue.willAct() && this.runEvent('StallMove', pokemon); + }, + secondary: null, + target: "self", + type: "Ground", + }, + + // Theia + bodycount: { + accuracy: 100, + basePower: 50, + basePowerCallback(pokemon, target, move) { + return 50 + 50 * pokemon.side.totalFainted; + }, + category: "Special", + shortDesc: "+50 power for each time a party member fainted.", + desc: "Power is equal to 50+(X*50), where X is the total number of times any Pokemon has fainted on the user's side, and X cannot be greater than 100.", + name: "Body Count", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Core Enforcer'); + }, + secondary: null, + target: "normal", + type: "Ghost", + }, + + // Tico + eternalwish: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Wish + Aromatherapy + Defog.", + desc: "Sets a Wish on the user's side, healing the active Pokemon for 50% of the user's maximum HP at the end of the next turn. Lowers the target's evasiveness by 1 stage. If this move is successful and whether or not the target's evasiveness was affected, the effects of Reflect, Light Screen, Aurora Veil, Safeguard, Mist, Spikes, Toxic Spikes, Stealth Rock, G-Max Steelsurge, and Sticky Web end for the target's side, and for the user's side all team members' non-volatile status conditions and the effects of Spikes, Toxic Spikes, Stealth Rock, G-Max Steelsurge, and Sticky Web are removed. Ignores a target's substitute, although a substitute will still block the lowering of evasiveness. If there is a terrain active and this move is successful, the terrain will be cleared.", + name: "Eternal Wish", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(source, target) { + this.add('-anim', target, 'Wish', target); + this.add('-anim', target, 'Aromatherapy', target); + this.add('-anim', target, 'Defog', target); + }, + onHit(target, source, move) { + let success = false; + if (!target.volatiles['substitute'] || move.infiltrates) success = !!this.boost({evasion: -1}); + const removeTarget = [ + 'reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', + ]; + const removeAll = [ + 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', + ]; + for (const targetCondition of removeTarget) { + if (target.side.removeSideCondition(targetCondition)) { + if (!removeAll.includes(targetCondition)) continue; + this.add('-sideend', target.side, this.dex.conditions.get(targetCondition).name, '[from] move: Eternal Wish', '[of] ' + source); + success = true; + } + } + for (const sideCondition of removeAll) { + if (source.side.removeSideCondition(sideCondition)) { + this.add('-sideend', source.side, this.dex.conditions.get(sideCondition).name, '[from] move: Eternal Wish', '[of] ' + source); + success = true; + } + } + this.field.clearTerrain(); + return success; + }, + self: { + slotCondition: 'Wish', + onHit(target, source, move) { + this.add('-activate', source, 'move: Eternal Wish'); + let success = false; + const allies = [...source.side.pokemon, ...source.side.allySide?.pokemon || []]; + for (const ally of allies) { + if (ally !== source && ((ally.hasAbility('sapsipper')) || + (ally.volatiles['substitute'] && !move.infiltrates))) { + continue; + } + if (ally.cureStatus()) success = true; + } + return success; + }, + }, + secondary: null, + target: "normal", + type: "Ghost", + }, + + // TheJesucristoOsAma + theloveofchrist: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Infatuates and confuses the target.", + desc: "Causes the target to become confused and infatuated, regardless of gender. This move cannot ever have more than 1 PP.", + name: "The Love Of Christ", + gen: 9, + pp: 1, + noPPBoosts: true, + priority: 0, + flags: {protect: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Morning Sun', source); + this.add('-anim', source, 'Lovely Kiss', target); + }, + onHit(target, source) { + target.addVolatile('attract', source); + target.addVolatile('confusion', source); + }, + secondary: null, + target: "normal", + type: "Normal", + }, + + // trace + chronostasis: { + accuracy: 90, + basePower: 80, + category: "Special", + shortDesc: "If target is KOed, user boosts random stat by 2.", + desc: "If this move knocks out the target, the user boosts a random stat, except Accuracy and Evasion, by 2 stages.", + name: "Chronostasis", + gen: 9, + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + onPrepareHit() { + this.attrLastMove('[anim] Future Sight'); + }, + onAfterMoveSecondarySelf(pokemon, target, move) { + if (!target || target.fainted || target.hp <= 0) { + const stats: BoostID[] = []; + let stat: BoostID; + for (stat in target.boosts) { + if (stat === 'accuracy' || stat === 'evasion') continue; + if (target.boosts[stat] < 6) { + stats.push(stat); + } + } + if (stats.length) { + const randomStat = this.sample(stats); + this.boost({[randomStat]: 2}, pokemon, pokemon, move); + } + } + }, + secondary: null, + target: "normal", + type: "Psychic", + }, + + // Two of Roses + dillydally: { + accuracy: 90, + basePower: 40, + category: "Physical", + shortDesc: "2 hits, +1 random stat/hit. Type = User 2nd type.", + desc: "This move hits 2 times. For each successful hit, the user boosts a random stat, except Accuracy and Evasion, by 1 stage. The typing of this move is equal to the user's secondary type; it will instead use the user's primary type if the user lacks a secondary type.", + name: "Dilly Dally", + pp: 20, + priority: 0, + multihit: 2, + flags: {protect: 1, contact: 1}, + type: "???", + onTryMove() { + this.attrLastMove('[still]'); + }, + onModifyType(move, pokemon) { + let type = pokemon.getTypes()[pokemon.getTypes().length - 1]; + if (type === "Bird" || type === undefined) type = "???"; + if (type === "Stellar") type = pokemon.getTypes()[pokemon.getTypes(false, true).length - 1]; + move.type = type; + }, + secondary: { + chance: 100, + onHit(target, source, move) { + const stats: BoostID[] = []; + const boost: SparseBoostsTable = {}; + let statPlus: BoostID; + for (statPlus in source.boosts) { + if (statPlus === 'accuracy' || statPlus === 'evasion') continue; + if (source.boosts[statPlus] < 6) { + stats.push(statPlus); + } + } + const randomStat: BoostID | undefined = stats.length ? this.sample(stats) : undefined; + if (randomStat) boost[randomStat] = 1; + this.boost(boost, source, source); + }, + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Volt Tackle', source); + this.add('-anim', source, 'Extreme Speed', target); + }, + target: "normal", + }, + + + // UT + myboys: { + accuracy: 100, + basePower: 60, + category: "Physical", + shortDesc: "Uses two status moves, then switches out.", + desc: "The user uses two, at random, of: Feather Dance, Growl, Rain Dance, Sunny Day, Tailwind and Taunt. After these moves execute, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members out.", + name: "My Boys", + pp: 20, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + const varMoves = ['Feather Dance', 'Growl', 'Rain Dance', 'Sunny Day', 'Tailwind', 'Taunt', 'Will-O-Wisp']; + const move1 = this.sample(varMoves); + const move2 = this.sample(varMoves.filter(i => i !== move1)); + this.add('-message', `Fletchling used ${move1}!`); + this.actions.useMove(move1, source); + this.add('-message', `Taillow used ${move2}!`); + this.actions.useMove(move2, source); + this.add('-message', `Talonflame attacked!`); + this.add('-anim', source, 'U-Turn', target); + }, + selfSwitch: true, + secondary: null, + target: "normal", + type: "Flying", + }, + + // Valerian + firststrike: { + accuracy: 100, + basePower: 25, + category: "Physical", + name: "First Strike", + shortDesc: "Turn 1 only. Atk: +1 NVE, +2 NE, +3 SE.", + desc: "Boosts the user's Attack by 1 stage if the attack is not very effective, 2 stages if the attack is neutral, and 3 stages if the attack is super effective. Fails unless it is the user's first turn on the field.", + pp: 15, + priority: 3, + flags: {contact: 1, protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Fake Out", target); + }, + onTry(source) { + if (source.activeMoveActions > 1) { + this.hint("First Strike only works on your first turn out."); + return false; + } + }, + onAfterMoveSecondarySelf(pokemon, target, move) { + let boost = 2; + const typeMod = target.getMoveHitData(move).typeMod; + if (typeMod > 0) { + boost = 3; + } else if (typeMod < 0) { + boost = 1; + } + this.boost({atk: boost}, pokemon, pokemon, move); + }, + secondary: null, + target: "normal", + type: "Steel", + }, + + // Venous + yourcripplinginterest: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Your Crippling Interest", + shortDesc: "Tox; clears terrain and hazards on both sides.", + desc: "The target becomes badly poisoned, and all entry hazards and terrain effects are removed from both sides of the field. If the target already has a non-volatile status condition, the removal effect can still occur.", + pp: 15, + priority: 0, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Esper Wing", target); + this.add('-anim', source, "Defog", source); + }, + onHit(target, source, move) { + let success = false; + if (!target.volatiles['substitute'] || move.infiltrates) success = !!target.trySetStatus('tox', source); + const removeTarget = [ + 'reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', + ]; + const removeAll = [ + 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', + ]; + for (const targetCondition of removeTarget) { + if (target.side.removeSideCondition(targetCondition)) { + if (!removeAll.includes(targetCondition)) continue; + this.add('-sideend', target.side, this.dex.conditions.get(targetCondition).name, '[from] move: Your Crippling Interest', '[of] ' + source); + success = true; + } + } + for (const sideCondition of removeAll) { + if (source.side.removeSideCondition(sideCondition)) { + this.add('-sideend', source.side, this.dex.conditions.get(sideCondition).name, '[from] move: Your Crippling Interest', '[of] ' + source); + success = true; + } + } + this.field.clearTerrain(); + return success; + }, + ignoreAbility: true, + secondary: null, + target: "normal", + type: "Flying", + }, + + // Violet + buildingcharacter: { + accuracy: 100, + basePower: 50, + basePowerCallback(pokemon, target, move) { + if (target?.terastallized) { + this.debug('BP doubled from tera'); + return move.basePower * 2; + } + return move.basePower; + }, + category: "Physical", + shortDesc: "Vs Tera'd target: 0 prio, 2x BP, removes Tera.", + desc: "Usually moves first. If the target has Terastallized, this move becomes +0 priority and does double damage. If this move is successful against a Terastallized target, the target's Terastallization effect is permanently removed.", + name: "building character", + gen: 9, + pp: 10, + priority: 1, + onModifyPriority(priority, pokemon, target, move) { + if (target?.terastallized) return 0; + }, + flags: {protect: 1, mirror: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + if (target?.terastallized) this.add('-anim', source, "Block", target); + this.add('-anim', source, "Wicked Blow", target); + }, + onHit(pokemon, source) { + if (pokemon?.terastallized) { + this.add(`c:|${getName((source.illusion || source).name)}|lol never do that ever again thanks`); + this.add('custom', '-endterastallize', pokemon); + delete pokemon.terastallized; + const details = pokemon.species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); + this.add('detailschange', pokemon, details); + } + }, + secondary: null, + target: "normal", + type: "Grass", + }, + + // Vistar + virtualavatar: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Changes to Idol forme and sets a substitute.", + desc: "If the user is a Zeraora, the user's ability changes to Virtual Idol and its full moveset becomes Overdrive, Sparkling Aria, Torch Song, and Teeter Dance, replacing every currently present move. The user takes 1/4 of its maximum HP, rounded down, and puts it into a substitute to take its place in battle.", + name: "Virtual Avatar", + pp: 10, + priority: 0, + flags: {sound: 1, failcopycat: 1}, + secondary: null, + onTryMove() { + this.attrLastMove('[still]'); + }, + onTry(source) { + if (source.species.name === 'Zeraora') { + return; + } + this.hint("Only Zeraora can use this move."); + this.attrLastMove('[still]'); + this.add('-fail', source, 'move: Virtual Avatar'); + return null; + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Morning Sun', source); + this.add('-anim', source, 'Seed Flare', target); + }, + onHit(target, source) { + changeSet(this, target, ssbSets['Vistar-Idol'], true); + this.add(`c:|${getName((source.illusion || source).name)}|Finally, I'm making my debut`); + if (source.volatiles['substitute']) return; + if (source.hp <= source.maxhp / 4 || source.maxhp === 1) { // Shedinja clause + this.add('-fail', source, 'move: Substitute', '[weak]'); + } else { + source.addVolatile('substitute'); + this.directDamage(source.maxhp / 4); + } + }, + target: "self", + type: "Normal", + }, + + // vmnunes + gracideasblessing: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Uses Wish, switches out. Recipient gets Aqua Ring.", + desc: "Sets a Wish on the user's side, healing the active Pokemon for 50% of the user's maximum HP at the end of the next turn. If this move is successful, the user switches out even if it is trapped and is replaced immediately by a selected party member, which will gain the Aqua Ring effect. The user does not switch out if there are no unfainted party members.", + name: "Gracidea's Blessing", + pp: 10, + priority: 0, + flags: {}, + secondary: null, + selfSwitch: true, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Morning Sun', source); + this.add('-anim', source, 'Seed Flare', target); + }, + slotCondition: 'gracideasblessing', + condition: { + duration: 2, + onStart(pokemon, source) { + this.effectState.hp = source.maxhp / 2; + }, + onSwap(target) { + if (!target.fainted) target.addVolatile('aquaring', target); + }, + onResidualOrder: 4, + onEnd(target) { + if (target && !target.fainted) { + this.heal(this.effectState.hp, target, target); + } + }, + }, + target: "self", + type: "Grass", + }, + + // WarriorGallade - TODO: Fix animations + fruitfullongbow: { + accuracy: 90, + basePower: 160, + category: "Special", + shortDesc: "Hit off higher atk, eats berry, Dragon/Fly eff.", + desc: "Uses the user's higher attack stat in damage calculation. Does not need to charge in sun. If this move is successful and the user is holding a berry, the user consumed its held berry and restored 25% of the its maximum HP. This move combines Dragon in its type effectiveness.", + name: "Fruitful Longbow", + gen: 9, + pp: 15, + priority: 0, + flags: {charge: 1, protect: 1, mirror: 1, slicing: 1, wind: 1}, + critRatio: 2, + onEffectiveness(typeMod, target, type, move) { + return typeMod + this.dex.getEffectiveness('Dragon', type); + }, + onModifyMove(move, pokemon, target) { + if (pokemon.getStat('atk') > pokemon.getStat('spa')) { + move.overrideOffensiveStat = 'atk'; + } + }, + onTryMove(attacker, defender, move) { + if (attacker.removeVolatile(move.id)) { + this.attrLastMove('[still]'); + this.add('-anim', attacker, 'Signal Beam', defender); + this.add('-anim', attacker, 'Twister', defender); + this.add('-anim', attacker, 'Psycho Cut', defender); + return; + } + this.add('-anim', attacker, 'Tailwind', attacker); + this.add('-message', `${attacker.name} whipped up an intense whirlwind and began to glow a vivine green!`); + if (attacker.getItem().isBerry) { + attacker.eatItem(true); + this.heal(attacker.maxhp / 4, attacker); + } + if (['sunnyday', 'desolateland'].includes(attacker.effectiveWeather())) { + this.attrLastMove('[still]'); + this.add('-anim', attacker, 'Signal Beam', defender); + this.add('-anim', attacker, 'Twister', defender); + this.add('-anim', attacker, 'Psycho Cut', defender); + return; + } + if (!this.runEvent('ChargeMove', attacker, defender, move)) { + return; + } + attacker.addVolatile('twoturnmove', defender); + return null; + }, + secondary: null, + target: "normal", + type: "Flying", + }, + + // Waves + torrentialdrain: { + accuracy: 100, + basePower: 60, + category: "Special", + shortDesc: "Recovers 50% of damage dealt.", + desc: "The user recovers 1/2 the HP lost by the target, rounded half up.", + name: "Torrential Drain", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, heal: 1, metronome: 1}, + drain: [1, 2], + secondary: null, + target: "allAdjacent", + type: "Water", + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Aqua Ring', source); + this.add('-anim', source, 'Origin Pulse', target); + this.add('-anim', source, 'Parabolic Charge', target); + }, + }, + + // WigglyTree + perfectmimic: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Endure + Me First. Copied move hits off Atk.", + desc: "Nearly always moves first. The user uses the move the target chose for use this turn against it, if possible, with its power multiplied by 1.5. The move must be a damaging move usable by Me First. The user also activates the Endure effect on itself, preventing it from falling below 1 HP through direct attacks this turn. Ignores the target's substitute for the purpose of copying the move. The move will fail entirely if the user did not move first this turn, or if the target switched out. If the target would use a move not usable by Me First, the Endure effect still occurs. This move has an increasing chance of failing when used in succession.", + name: "Perfect Mimic", + gen: 9, + pp: 10, + priority: 4, + flags: {}, + volatileStatus: 'perfectmimic', + onTryMove() { + this.attrLastMove('[anim] Endure'); + }, + onDisableMove(pokemon) { + if (pokemon.lastMove?.id === 'perfectmimic') pokemon.disableMove('perfectmimic'); + }, + condition: { + duration: 1, + onStart(target) { + this.add('-singleturn', target, 'move: Endure'); + }, + onDamagePriority: -10, + onDamage(damage, target, source, effect) { + if (effect?.effectType === 'Move') { + this.effectState.move = effect.id; + if (damage >= target.hp) { + this.add('-activate', target, 'move: Endure'); + return target.hp - 1; + } + } + }, + onSourceAfterMove(source, target) { + if (source === this.effectState.target || target !== this.effectState.target) return; + if (!source.hp || !this.effectState.move) return; + const move = this.dex.getActiveMove(this.effectState.move); + if (move.isZ || move.isMax || move.category === 'Status') return; + this.add('-message', target.name + ' tried to copy the move!'); + this.add('-anim', target, "Me First", source); + move.overrideOffensiveStat = 'atk'; + this.actions.useMove(move, target, source); + delete this.effectState.move; + }, + onBasePowerPriority: 12, + onBasePower() { + return this.chainModify(1.5); + }, + }, + secondary: null, + target: "self", + type: "Normal", + }, + + // XpRienzo + scorchingtruth: { + accuracy: 100, + basePower: 80, + category: "Special", + shortDesc: "Always at least neutral. Hits in Primordial Sea.", + desc: "If the attack is successful, the move will always hit for at least neutral damage, but it may still deal super effective damage. Primordial Sea does not fizzle this move out, instead reducing damage by 50%.", + name: "Scorching Truth", + gen: 9, + pp: 15, + priority: 0, + flags: {protect: 1, mirror: 1}, + hasCrashDamage: true, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, 'Focus Energy', source); + this.add('-anim', source, 'Fusion Flare', target); + }, + onEffectiveness(typeMod, target, type, move) { + if (typeMod < 0) return 0; + }, + secondary: null, + target: "normal", + type: "Fire", + }, + + // xy01 + poisonouswind: { + accuracy: true, + basePower: 0, + category: "Status", + name: "Poisonous Wind", + shortDesc: "Badly poisons the foe and forces them out.", + desc: "Badly poisons the target. If the infliction of status is successful, the target is forced to switch out and be replaced with a random unfainted ally. Fails if the target is the last unfainted Pokemon in its party, or if the target used Ingrain previously or has the Suction Cups Ability. This move will fail entirely if the target has a non-volatile status condition.", + pp: 10, + priority: -6, + flags: {reflectable: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1, noassist: 1, failcopycat: 1, wind: 1}, + forceSwitch: true, + status: 'tox', + secondary: null, + target: "normal", + type: "Poison", + }, + + // Yellow Paint + whiteout: { + accuracy: 85, + basePower: 70, + category: "Special", + shortDesc: "Sets up Snow. Target's ability becomes Normalize.", + desc: "If this move is successful, the current weather becomes snow, boosting the Defense of Ice-types by 1.5x for 5 turns, and the target's ability is replaced with Normalize.", + name: "Whiteout", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1, bullet: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Weather Ball", target); + this.add('-anim', source, "Snowscape", source); + }, + onHit(target, source) { + this.field.setWeather('snow'); + if (target.setAbility('normalize')) { + this.add('-ability', target, 'Normalize', '[from] move: Whiteout'); + } + this.add(`c:|${getName((source.illusion || source).name)}|A blank canvas.`); + }, + secondary: null, + target: "normal", + type: "Ice", + }, + + // YveltalNL + highground: { + accuracy: 100, + basePower: 90, + category: "Special", + shortDesc: "If the user is taller than the target, +1 SpA.", + desc: "If the user's height as listed on its Pokedex data is greater than the target's height, the user's Special Attack is boosted by 1 stage.", + name: "High Ground", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1}, + secondary: { + chance: 100, + onHit(target, source, move) { + if (this.dex.species.get(source.species).heightm > this.dex.species.get(target.species).heightm) { + this.boost({spa: 1}, source); + } + }, + }, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Dragon Ascent", target); + this.add('-anim', source, "Scorching Sands", target); + }, + target: "normal", + type: "Ground", + }, + + // Zalm + dudurafish: { + accuracy: true, + basePower: 0, + category: "Status", + shortDesc: "Heals 25% HP and sets Aqua Ring.", + desc: "The user recovers 1/4 of its maximum HP and gains the Aqua Ring effect, healing it for 1/16th of its maximum HP at the end of each turn. The healing effect will still occur if the user already has Aqua Ring active.", + name: "Dud ur a fish", + pp: 5, + priority: 0, + flags: {heal: 1, snatch: 1}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', target, "Recover", source); + this.add('-anim', target, "Aqua Ring", source); + }, + onHit(pokemon) { + let didSomething: boolean; + if (pokemon.hasType("Water")) { + didSomething = !!this.heal(this.modify(pokemon.baseMaxhp, 1, 2)); + didSomething = pokemon.cureStatus() || didSomething; + } else { + didSomething = !!this.heal(this.modify(pokemon.baseMaxhp, 1, 4)); + } + didSomething = pokemon.addVolatile('aquaring') || didSomething; + return didSomething; + }, + secondary: null, + target: "self", + type: "Water", + }, + + // za + shitpost: { + accuracy: 100, + basePower: 0, + category: "Status", + name: "Shitpost", + shortDesc: "Confuses and paralyzes the target.", + pp: 20, + priority: 0, + flags: {protect: 1, reflectable: 1}, + onTryMove(pokemon, target, move) { + this.attrLastMove('[still]'); + if (this.randomChance(1, 256)) { + this.add('-fail', pokemon); + this.add('-message', '(In Gen 1, moves with 100% accuracy have a 1/256 chance to miss.)'); + return false; + } + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Hex", target); + }, + onHit(target, source, move) { + if (!target.volatiles['confusion']) { + target.addVolatile('confusion', source, move); + } + target.trySetStatus('par', source, move); + }, + secondary: null, + target: "normal", + type: "Normal", + }, + + // Zarel + tsignore: { + accuracy: 100, + basePower: 100, + category: "Special", + shortDesc: "Bypasses everything. Uses Higher Atk.", + desc: "This move will bypass any negative effect on the field or the target that would impede its ability to deal damage, including type-based immunities. This move is physical if the user's Attack is higher than its Special Attack.", + name: "@ts-ignore", + gen: 9, + pp: 5, + priority: 0, + flags: {}, + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Conversion", source); + this.add('-anim', source, "Techno Blast", target); + }, + onModifyMove(move, pokemon, target) { + if (pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) { + move.category = 'Physical'; + } + }, + onModifyType(move, pokemon) { + if (pokemon.species.baseSpecies === 'Meloetta' && pokemon.terastallized) { + move.type = 'Stellar'; + } + }, + ignoreAbility: true, + ignoreImmunity: true, + ignoreDefensive: true, + ignoreNegativeOffensive: true, + breaksProtect: true, + ignoreAccuracy: true, + secondary: null, + target: "normal", + type: "Normal", + }, + + // zee + solarsummon: { + accuracy: 100, + basePower: 0, + category: "Status", + shortDesc: "Sets up Sunny Day and creates a Substitute.", + desc: "Sets sun, powering up Fire-type moves and weakening Water-type moves for 5 turns. The user takes 1/4 of its maximum HP, rounded down, and puts it into a substitute to take its place in battle. If one part of this move is already in effect, the other part will still be attempted.", + name: "Solar Summon", + gen: 9, + pp: 5, + priority: 0, + flags: {}, + onPrepareHit() { + this.attrLastMove('[anim] Sunny Day'); + }, + onHit(pokemon) { + let success = false; + if (this.field.setWeather('sunnyday')) success = true; + if (!pokemon.volatiles['substitute']) { + if (pokemon.hp <= pokemon.maxhp / 4 || pokemon.maxhp === 1) { // Shedinja clause + this.add('-fail', pokemon, 'move: Substitute', '[weak]'); + } else { + pokemon.addVolatile('substitute'); + this.directDamage(pokemon.maxhp / 4); + success = true; + } + } + return success; + }, + secondary: null, + target: "self", + type: "Fire", + }, + + // zoro + darkestnight: { + accuracy: 100, + basePower: 95, + category: "Physical", + shortDesc: "Literally just Foul Play.", + desc: "Damage is calculated using the target's Attack stat, including stat stage changes. The user's Ability, item, and burn are used as normal.", + name: "Darkest Night", + pp: 15, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + overrideOffensivePokemon: 'target', + secondary: null, + target: "normal", + type: "Dark", + onTryMove() { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Foul Play", target); + }, + }, + + // Modified moves + bleakwindstorm: { + inherit: true, + onModifyMove(move, pokemon, target) { + if (target && ['raindance', 'primordialsea', 'stormsurge'].includes(target.effectiveWeather())) { + move.accuracy = true; + } + }, + }, + dig: { + inherit: true, + condition: { + duration: 2, + onImmunity(type, pokemon) { + if (type === 'sandstorm' || type === 'deserteddunes' || type === 'hail') return false; + }, + onInvulnerability(target, source, move) { + if (['earthquake', 'magnitude'].includes(move.id)) { + return; + } + return false; + }, + onSourceModifyDamage(damage, source, target, move) { + if (move.id === 'earthquake' || move.id === 'magnitude') { + return this.chainModify(2); + } + }, + }, + }, + dive: { + inherit: true, + condition: { + duration: 2, + onImmunity(type, pokemon) { + if (type === 'sandstorm' || type === 'deserteddunes' || type === 'hail') return false; + }, + onInvulnerability(target, source, move) { + if (['surf', 'whirlpool'].includes(move.id)) { + return; + } + return false; + }, + onSourceModifyDamage(damage, source, target, move) { + if (move.id === 'surf' || move.id === 'whirlpool') { + return this.chainModify(2); + } + }, + }, + }, + dreameater: { + inherit: true, + onTryImmunity(target) { + return target.status === 'slp' || target.hasAbility(['comatose', 'mensiscage']); + }, + }, + electroshot: { + inherit: true, + onTryMove(attacker, defender, move) { + if (attacker.removeVolatile(move.id)) { + return; + } + this.add('-prepare', attacker, move.name); + this.boost({spa: 1}, attacker, attacker, move); + if (['raindance', 'primordialsea', 'stormsurge'].includes(attacker.effectiveWeather())) { + this.attrLastMove('[still]'); + this.addMove('-anim', attacker, move.name, defender); + return; + } + if (!this.runEvent('ChargeMove', attacker, defender, move)) { + return; + } + attacker.addVolatile('twoturnmove', defender); + return null; + }, + }, + hex: { + inherit: true, + basePowerCallback(pokemon, target, move) { + if (target.status || target.hasAbility(['comatose', 'mensiscage'])) { + this.debug('BP doubled from status condition'); + return move.basePower * 2; + } + return move.basePower; + }, + }, + hurricane: { + inherit: true, + onModifyMove(move, pokemon, target) { + switch (target?.effectiveWeather()) { + case 'raindance': + case 'primordialsea': + case 'stormsurge': + move.accuracy = true; + break; + case 'sunnyday': + case 'desolateland': + move.accuracy = 50; + break; + } + }, + }, + infernalparade: { + inherit: true, + basePowerCallback(pokemon, target, move) { + if (target.status || target.hasAbility(['comatose', 'mensiscage'])) return move.basePower * 2; + return move.basePower; + }, + }, + ingrain: { + inherit: true, + condition: { + onStart(pokemon) { + this.add('-start', pokemon, 'move: Ingrain'); + }, + onResidualOrder: 7, + onResidual(pokemon) { + this.heal(pokemon.baseMaxhp / 16); + }, + onTrapPokemon(pokemon) { + pokemon.tryTrap(); + }, + // groundedness implemented in battle.engine.js:BattlePokemon#isGrounded + onDragOut(pokemon, source, move) { + if (source && this.queue.willMove(source)?.moveid === 'protectoroftheskies') return; + this.add('-activate', pokemon, 'move: Ingrain'); + return null; + }, + }, + }, + mistyterrain: { + inherit: true, + condition: { + duration: 5, + durationCallback(source, effect) { + if (source?.hasItem('terrainextender')) { + return 8; + } + return 5; + }, + onSetStatus(status, target, source, effect) { + if (!target.isGrounded() || target.isSemiInvulnerable()) return; + if (effect && ((effect as Move).status || effect.id === 'yawn')) { + this.add('-activate', target, 'move: Misty Terrain'); + } + return false; + }, + onTryHitPriority: 4, + onTryHit(target, source, effect) { + if (effect && effect.name === "Puffy Spiky Destruction") { + this.add('-activate', target, 'move: Misty Terrain'); + return null; + } + }, + onTryAddVolatile(status, target, source, effect) { + if (!target.isGrounded() || target.isSemiInvulnerable()) return; + if (status.id === 'confusion') { + if (effect.effectType === 'Move' && !effect.secondaries) this.add('-activate', target, 'move: Misty Terrain'); + return null; + } + }, + onBasePowerPriority: 6, + onBasePower(basePower, attacker, defender, move) { + if (move.type === 'Dragon' && defender.isGrounded() && !defender.isSemiInvulnerable()) { + this.debug('misty terrain weaken'); + return this.chainModify(0.5); + } + }, + onFieldStart(field, source, effect) { + if (effect?.effectType === 'Ability') { + this.add('-fieldstart', 'move: Misty Terrain', '[from] ability: ' + effect.name, '[of] ' + source); + } else { + this.add('-fieldstart', 'move: Misty Terrain'); + } + }, + onFieldResidualOrder: 27, + onFieldResidualSubOrder: 7, + onFieldEnd() { + this.add('-fieldend', 'Misty Terrain'); + }, + }, + }, + moonlight: { + inherit: true, + onHit(pokemon) { + let factor = 0.5; + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + case 'desolateland': + factor = 0.667; + break; + case 'raindance': + case 'primordialsea': + case 'stormsurge': + case 'sandstorm': + case 'deserteddunes': + case 'hail': + case 'snow': + factor = 0.25; + break; + } + const success = !!this.heal(this.modify(pokemon.maxhp, factor)); + if (!success) { + this.add('-fail', pokemon, 'heal'); + return this.NOT_FAIL; + } + return success; + }, + }, + morningsun: { + inherit: true, + onHit(pokemon) { + let factor = 0.5; + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + case 'desolateland': + factor = 0.667; + break; + case 'raindance': + case 'primordialsea': + case 'stormsurge': + case 'sandstorm': + case 'deserteddunes': + case 'hail': + case 'snow': + factor = 0.25; + break; + } + const success = !!this.heal(this.modify(pokemon.maxhp, factor)); + if (!success) { + this.add('-fail', pokemon, 'heal'); + return this.NOT_FAIL; + } + return success; + }, + }, + nightmare: { + inherit: true, + condition: { + noCopy: true, + onStart(pokemon) { + if (pokemon.status !== 'slp' && !pokemon.hasAbility(['comatose', 'mensiscage'])) { + return false; + } + this.add('-start', pokemon, 'Nightmare'); + }, + onResidualOrder: 11, + onResidual(pokemon) { + this.damage(pokemon.baseMaxhp / 4); + }, + }, + }, + psychicterrain: { + inherit: true, + condition: { + duration: 5, + durationCallback(source, effect) { + if (source?.hasItem('terrainextender')) { + return 8; + } + return 5; + }, + onTryHitPriority: 4, + onTryHit(target, source, effect) { + if (effect && (effect.priority <= 0.1 || effect.target === 'self') && effect.name !== "Puffy Spiky Destruction") { + return; + } + if (target.isSemiInvulnerable() || target.isAlly(source)) return; + if (!target.isGrounded()) { + const baseMove = this.dex.moves.get(effect.id); + if (baseMove.priority > 0) { + this.hint("Psychic Terrain doesn't affect Pokémon immune to Ground."); + } + return; + } + this.add('-activate', target, 'move: Psychic Terrain'); + return null; + }, + onBasePowerPriority: 6, + onBasePower(basePower, attacker, defender, move) { + if (move.type === 'Psychic' && attacker.isGrounded() && !attacker.isSemiInvulnerable()) { + this.debug('psychic terrain boost'); + return this.chainModify([5325, 4096]); + } + }, + onFieldStart(field, source, effect) { + if (effect?.effectType === 'Ability') { + this.add('-fieldstart', 'move: Psychic Terrain', '[from] ability: ' + effect.name, '[of] ' + source); + } else { + this.add('-fieldstart', 'move: Psychic Terrain'); + } + }, + onFieldResidualOrder: 27, + onFieldResidualSubOrder: 7, + onFieldEnd() { + this.add('-fieldend', 'move: Psychic Terrain'); + }, + }, + }, + rest: { + inherit: true, + onTry(source) { + if (source.status === 'slp' || source.hasAbility(['comatose', 'mensiscage'])) return false; + + if (source.hp === source.maxhp) { + this.add('-fail', source, 'heal'); + return null; + } + if (source.hasAbility(['insomnia', 'vitalspirit'])) { + this.add('-fail', source, '[from] ability: ' + source.getAbility().name, '[of] ' + source); + return null; + } + }, + }, + sandsearstorm: { + inherit: true, + onModifyMove(move, pokemon, target) { + if (target && ['raindance', 'primordialsea', 'stormsurge'].includes(target.effectiveWeather())) { + move.accuracy = true; + } + }, + }, + shoreup: { + inherit: true, + onHit(pokemon) { + let factor = 0.5; + if (this.field.isWeather(['sandstorm', 'deserteddunes'])) { + factor = 0.667; + } + const success = !!this.heal(this.modify(pokemon.maxhp, factor)); + if (!success) { + this.add('-fail', pokemon, 'heal'); + return this.NOT_FAIL; + } + return success; + }, + }, + sleeptalk: { + inherit: true, + onTry(source) { + return source.status === 'slp' || source.hasAbility(['comatose', 'mensiscage']); + }, + }, + snore: { + inherit: true, + onTry(source) { + return source.status === 'slp' || source.hasAbility(['comatose', 'mensiscage']); + }, + }, + solarbeam: { + inherit: true, + onBasePower(basePower, pokemon, target) { + const weakWeathers = ['raindance', 'primordialsea', 'stormsurge', 'sandstorm', 'deserteddunes', 'hail', 'snow']; + if (weakWeathers.includes(pokemon.effectiveWeather())) { + this.debug('weakened by weather'); + return this.chainModify(0.5); + } + }, + }, + solarblade: { + inherit: true, + onBasePower(basePower, pokemon, target) { + const weakWeathers = ['raindance', 'primordialsea', 'stormsurge', 'sandstorm', 'deserteddunes', 'hail', 'snow']; + if (weakWeathers.includes(pokemon.effectiveWeather())) { + this.debug('weakened by weather'); + return this.chainModify(0.5); + } + }, + }, + stickyweb: { + inherit: true, + condition: { + onSideStart(side) { + this.add('-sidestart', side, 'move: Sticky Web'); + }, + onEntryHazard(pokemon) { + if (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots') || pokemon.hasAbility('eternalgenerator')) return; + this.add('-activate', pokemon, 'move: Sticky Web'); + this.boost({spe: -1}, pokemon, pokemon.side.foe.active[0], this.dex.getActiveMove('stickyweb')); + }, + }, + }, + synthesis: { + inherit: true, + onHit(pokemon) { + let factor = 0.5; + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + case 'desolateland': + factor = 0.667; + break; + case 'raindance': + case 'primordialsea': + case 'stormsurge': + case 'sandstorm': + case 'deserteddunes': + case 'hail': + case 'snow': + factor = 0.25; + break; + } + const success = !!this.heal(this.modify(pokemon.maxhp, factor)); + if (!success) { + this.add('-fail', pokemon, 'heal'); + return this.NOT_FAIL; + } + return success; + }, + }, + thunder: { + inherit: true, + onModifyMove(move, pokemon, target) { + switch (target?.effectiveWeather()) { + case 'raindance': + case 'primordialsea': + case 'stormsurge': + move.accuracy = true; + break; + case 'sunnyday': + case 'desolateland': + move.accuracy = 50; + break; + } + }, + }, + wakeupslap: { + inherit: true, + basePowerCallback(pokemon, target, move) { + if (target.status === 'slp' || target.hasAbility(['comatose', 'mensiscage'])) { + this.debug('BP doubled on sleeping target'); + return move.basePower * 2; + } + return move.basePower; + }, + }, + weatherball: { + inherit: true, + onModifyType(move, pokemon) { + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + case 'desolateland': + move.type = 'Fire'; + break; + case 'raindance': + case 'primordialsea': + case 'stormsurge': + move.type = 'Water'; + break; + case 'sandstorm': + case 'deserteddunes': + move.type = 'Rock'; + break; + case 'hail': + case 'snow': + move.type = 'Ice'; + break; + } + }, + onModifyMove(move, pokemon) { + switch (pokemon.effectiveWeather()) { + case 'sunnyday': + case 'desolateland': + case 'raindance': + case 'primordialsea': + case 'stormsurge': + case 'sandstorm': + case 'deserteddunes': + case 'hail': + case 'snow': + move.basePower *= 2; + break; + } + this.debug('BP: ' + move.basePower); + }, + }, + wildboltstorm: { + inherit: true, + onModifyMove(move, pokemon, target) { + if (target && ['raindance', 'primordialsea', 'stormsurge'].includes(target.effectiveWeather())) { + move.accuracy = true; + } + }, + }, + gravity: { + inherit: true, + condition: { + duration: 5, + durationCallback(source, effect) { + if (source?.hasAbility('persistent')) { + this.add('-activate', source, 'ability: Persistent', '[move] Gravity'); + return 7; + } + return 5; + }, + onFieldStart(target, source) { + if (source?.hasAbility('persistent')) { + this.add('-fieldstart', 'move: Gravity', '[persistent]'); + } else { + this.add('-fieldstart', 'move: Gravity'); + } + for (const pokemon of this.getAllActive()) { + let applies = false; + if (pokemon.removeVolatile('bounce') || pokemon.removeVolatile('fly')) { + applies = true; + this.queue.cancelMove(pokemon); + pokemon.removeVolatile('twoturnmove'); + } + if (pokemon.volatiles['skydrop']) { + applies = true; + this.queue.cancelMove(pokemon); + + if (pokemon.volatiles['skydrop'].source) { + this.add('-end', pokemon.volatiles['twoturnmove'].source, 'Sky Drop', '[interrupt]'); + } + pokemon.removeVolatile('skydrop'); + pokemon.removeVolatile('twoturnmove'); + } + if (pokemon.volatiles['magnetrise']) { + applies = true; + delete pokemon.volatiles['magnetrise']; + } + if (pokemon.volatiles['riseabove']) { + applies = true; + delete pokemon.volatiles['riseabove']; + } + if (pokemon.volatiles['telekinesis']) { + applies = true; + delete pokemon.volatiles['telekinesis']; + } + if (applies) this.add('-activate', pokemon, 'move: Gravity'); + } + }, + onModifyAccuracy(accuracy) { + if (typeof accuracy !== 'number') return; + return this.chainModify([6840, 4096]); + }, + onDisableMove(pokemon) { + for (const moveSlot of pokemon.moveSlots) { + if (this.dex.moves.get(moveSlot.id).flags['gravity']) { + pokemon.disableMove(moveSlot.id); + } + } + }, + // groundedness implemented in battle.engine.js:BattlePokemon#isGrounded + onBeforeMovePriority: 6, + onBeforeMove(pokemon, target, move) { + if (move.flags['gravity'] && !move.isZ) { + this.add('cant', pokemon, 'move: Gravity', move); + return false; + } + }, + onModifyMove(move, pokemon, target) { + if (move.flags['gravity'] && !move.isZ) { + this.add('cant', pokemon, 'move: Gravity', move); + return false; + } + }, + onFieldResidualOrder: 27, + onFieldResidualSubOrder: 2, + onFieldEnd() { + this.add('-fieldend', 'move: Gravity'); + }, + }, + }, + + // Try playing Staff Bros with dynamax clause and see what happens + supermetronome: { + accuracy: true, + basePower: 0, + category: "Status", + desc: "Uses 2-5 random moves. Does not include 1-Base Power Z-Moves, Super Metronome, Metronome, or 10-Base Power Max moves.", + shortDesc: "Uses 2-5 random moves.", + name: "Super Metronome", + isNonstandard: "Custom", + pp: 100, + noPPBoosts: true, + priority: 0, + flags: {}, + onTryMove(pokemon) { + this.attrLastMove('[still]'); + }, + onPrepareHit(target, source) { + this.add('-anim', source, "Metronome", source); + }, + onHit(target, source, effect) { + const moves = []; + for (const move of this.dex.moves.all()) { + if (move.realMove || move.id.includes('metronome')) continue; + // Calling 1 BP move is somewhat lame and disappointing. However, + // signature Z moves are fine, as they actually have a base power. + if (move.isZ && move.basePower === 1) continue; + if (move.gen > this.gen) continue; + if (move.isMax) continue; + moves.push(move.name); + } + let randomMove: string; + if (moves.length) { + randomMove = this.sample(moves); + } else { + return false; + } + this.actions.useMove(randomMove, target); + }, + multihit: [2, 5], + secondary: null, + target: "self", + type: "???", + }, +}; diff --git a/data/mods/gen9ssb/pokedex.ts b/data/mods/gen9ssb/pokedex.ts new file mode 100644 index 000000000000..bd2808988093 --- /dev/null +++ b/data/mods/gen9ssb/pokedex.ts @@ -0,0 +1,1131 @@ +export const Pokedex: {[k: string]: ModdedSpeciesData} = { + /* + // Example + id: { + inherit: true, // Always use this, makes the pokemon inherit its default values from the parent mod (gen7) + baseStats: {hp: 100, atk: 100, def: 100, spa: 100, spd: 100, spe: 100}, // the base stats for the pokemon + }, + */ + // aegii + scizor: { + inherit: true, + abilities: {0: "Unburden"}, + }, + + // Aelita + melmetal: { + inherit: true, + abilities: {0: "Fortified Metal"}, + }, + + // Aethernum + giratinaorigin: { + inherit: true, + abilities: {0: "The Eminince in the Shadow"}, + }, + + // Akir + slowbro: { + inherit: true, + abilities: {0: "Take it Slow"}, + }, + + // Alex + sprigatito: { + inherit: true, + baseStats: {hp: 90, atk: 61, def: 84, spa: 45, spd: 85, spe: 65}, + abilities: {0: "Pawprints"}, + }, + + // Alexander489 + charizard: { + inherit: true, + abilities: {0: "Confirmed Town"}, + }, + + // Appletun a la Mode + appletun: { + inherit: true, + abilities: {0: "Served Cold"}, + }, + + // aQrator + totodile: { + inherit: true, + baseStats: {hp: 85, atk: 105, def: 100, spa: 79, spd: 83, spe: 78}, + abilities: {0: "Neverending fHunt"}, + }, + + // A Quag To The Past + quagsire: { + inherit: true, + baseStats: {hp: 130, atk: 100, def: 75, spa: 20, spd: 60, spe: 45}, + abilities: {0: "Quag of Ruin"}, + }, + clodsire: { + inherit: true, + baseStats: {hp: 130, atk: 60, def: 75, spa: 40, spd: 100, spe: 20}, + abilities: {0: "Clod of Ruin"}, + }, + + // Archas + lilligant: { + inherit: true, + abilities: {0: "Saintly Bullet"}, + }, + + // Arcueid + deoxysattack: { + inherit: true, + abilities: {0: "Marble Phantasm"}, + }, + deoxysdefense: { + inherit: true, + abilities: {0: "Marble Phantasm"}, + }, + + // Arsenal + rabsca: { + inherit: true, + baseStats: {hp: 100, atk: 50, def: 100, spa: 115, spd: 100, spe: 45}, + abilities: {0: "Absorb Phys"}, + }, + + // Artemis + genesect: { + inherit: true, + abilities: {0: "Supervised Learning"}, + }, + + // Arya + trapinch: { + inherit: true, + types: ["Ground", "Dragon"], + baseStats: {hp: 80, atk: 100, def: 90, spa: 120, spd: 100, spe: 130}, + abilities: {0: "Punk Rock"}, + }, + flygon: { + inherit: true, + abilities: {0: "Tinted Lens"}, + }, + + // ausma + hatterene: { + inherit: true, + abilities: {0: "Cascade"}, + }, + + // AuzBat + swoobat: { + inherit: true, + abilities: {0: "Magic Guard"}, + }, + + // avarice + sinistchamasterpiece: { + inherit: true, + abilities: {0: "Serene Grace"}, + }, + + // Beowulf + beedrill: { + inherit: true, + abilities: {0: "Intrepid Sword"}, + }, + + // berry + regirock: { + inherit: true, + abilities: {0: "Sturdy"}, + }, + + // Billo + cosmog: { + inherit: true, + abilities: {0: "Wonder Guard"}, + }, + solgaleo: { + inherit: true, + abilities: {0: "Magic Guard"}, + }, + + // blazeofvictory + sylveon: { + inherit: true, + abilities: {0: "Prismatic Lens"}, + }, + + // Blitz + chiyu: { + inherit: true, + types: ["Water", "Dark"], + abilities: {0: "Blitz of Ruin"}, + }, + + // Breadstycks + dachsbun: { + inherit: true, + abilities: {0: "Painful Exit"}, + }, + + // Cake + dunsparce: { + inherit: true, + abilities: {0: "Scrappy"}, + }, + + // chaos + ironjugulis: { + inherit: true, + abilities: {0: "Transistor"}, + }, + + // Chloe + tsareena: { + inherit: true, + abilities: {0: "Acetosa"}, + }, + + // ciran + rapidash: { + inherit: true, + abilities: {0: "Defiant"}, + }, + + // Clefable + clefable: { + inherit: true, + abilities: {0: "That's Hacked"}, + }, + + // Clementine + avalugg: { + inherit: true, + abilities: {0: "Melting Point"}, + }, + avalugghisui: { + inherit: true, + types: ["Ice"], + baseStats: {hp: 95, atk: 46, def: 44, spa: 184, spd: 117, spe: 95}, + abilities: {0: "Melting Point"}, + }, + + // clerica + mimikyu: { + inherit: true, + abilities: {0: "Masquerade"}, + }, + mimikyubusted: { + inherit: true, + abilities: {0: "Masquerade"}, + }, + + // Clouds + corvisquire: { + inherit: true, + baseStats: {hp: 98, atk: 87, def: 105, spa: 53, spd: 85, spe: 67}, + abilities: {0: "Jet Stream"}, + }, + + // Coolcodename + victini: { + inherit: true, + abilities: {0: "Firewall"}, + }, + + // Corthius + thwackey: { + inherit: true, + abilities: {0: "Grassy Emperor"}, + }, + + // Dawn of Artemis + necrozma: { + inherit: true, + abilities: {0: "Form Change"}, + }, + necrozmaultra: { + inherit: true, + abilities: {0: "Form Change"}, + }, + + // DaWoblefet + wobbuffet: { + inherit: true, + abilities: {0: "Shadow Artifice"}, + }, + + // deftinwolf + yveltal: { + inherit: true, + abilities: {0: "Sharpness"}, + }, + + // dhelmise + slowkinggalar: { + inherit: true, + abilities: {0: "Coalescence"}, + }, + + // DianaNicole + abomasnow: { + inherit: true, + abilities: {0: "Snow Warning"}, + }, + abomasnowmega: { + inherit: true, + abilities: {0: "Flash Fire"}, + }, + + // EasyOnTheHills + snorlax: { + inherit: true, + abilities: {0: "Immunity"}, + }, + + // Elliot + sinistea: { + inherit: true, + baseStats: {hp: 69, atk: 65, def: 114, spa: 134, spd: 65, spe: 70}, + abilities: {0: "Natural Cure"}, + }, + + // Elly + thundurus: { + inherit: true, + abilities: {0: "Storm Surge"}, + }, + + // Emboar02 + emboar: { + inherit: true, + abilities: {0: "Hogwash"}, + }, + + // eva + ceruledge: { + inherit: true, + abilities: {0: "Sword of Ruin"}, + }, + + // Fame + jumpluff: { + inherit: true, + abilities: {0: "Social Jumpluff Warrior"}, + }, + + // Felucia + vespiquen: { + inherit: true, + abilities: {0: "Mountaineer"}, + }, + + // Froggeh + toxicroak: { + inherit: true, + abilities: {0: "Super Luck"}, + }, + + // Frostyicelad + qwilfishhisui: { + inherit: true, + abilities: {0: "Almost Frosty"}, + }, + + // Frozoid + gible: { + inherit: true, + baseStats: {hp: 65, atk: 110, def: 55, spa: 50, spd: 55, spe: 108}, + abilities: {0: "Snowballer"}, + }, + + // Ganjafin + wiglett: { + inherit: true, + baseStats: {hp: 80, atk: 60, def: 80, spa: 60, spd: 80, spe: 100}, + abilities: {0: "Gambling Addiction"}, + }, + + // Goro Yagami + cyndaquil: { + inherit: true, + baseStats: {hp: 78, atk: 109, def: 78, spa: 84, spd: 85, spe: 100}, + abilities: {0: "Illusion Master"}, + }, + + // Haste Inky + falinks: { + inherit: true, + abilities: {0: "Simple"}, + }, + + // havi + gastly: { + inherit: true, + baseStats: {hp: 60, atk: 65, def: 60, spa: 130, spd: 75, spe: 110}, + abilities: {0: "Mensis Cage"}, + }, + + // Hecate + mewtwo: { + inherit: true, + abilities: {0: "Hacking"}, + }, + mewtwomegax: { + inherit: true, + abilities: {0: "Hacking"}, + }, + + // HiZo + zoroarkhisui: { + inherit: true, + abilities: {0: "Justified"}, + }, + + // HoeenHero + ludicolo: { + inherit: true, + abilities: {0: "Misspelled"}, + }, + + // hsy + ursaluna: { + inherit: true, + abilities: {0: "Hustle"}, + }, + + // Hydrostatics + pichuspikyeared: { + inherit: true, + baseStats: {hp: 35, atk: 55, def: 40, spa: 50, spd: 50, spe: 90}, + abilities: {0: 'Hydrostatic Positivity'}, + types: ["Electric", "Water"], + }, + + // in the hills + gligar: { + inherit: true, + abilities: {0: "Illterit"}, + }, + + // ironwater + jirachi: { + inherit: true, + abilities: {0: "Good as Gold"}, + }, + + // Irpachuza + mrmime: { + inherit: true, + abilities: {0: "Mime knows best"}, + }, + + // Isaiah + medicham: { + inherit: true, + abilities: {0: "Psychic Surge"}, + }, + + // J0rdy004 + vulpixalola: { + inherit: true, + baseStats: {hp: 73, atk: 67, def: 75, spa: 81, spd: 100, spe: 109}, + abilities: {0: "Fortifying Frost"}, + }, + + // Kalalokki + flamigo: { + inherit: true, + abilities: {0: "Scrappy"}, + }, + + // Karthik + staraptor: { + inherit: true, + abilities: {0: "Tough Claws"}, + }, + + // ken + jigglypuff: { + inherit: true, + baseStats: {hp: 115, atk: 65, def: 99, spa: 65, spd: 115, spe: 111}, + abilities: {0: "Aroma Veil"}, + }, + + // kenn + larvitar: { + inherit: true, + baseStats: {hp: 100, atk: 84, def: 70, spa: 65, spd: 70, spe: 61}, + abilities: {0: "Deserted Dunes"}, + }, + + // Kennedy + cinderace: { + inherit: true, + abilities: {0: "Anfield"}, + otherFormes: ["Cinderace-Gmax"], + }, + cinderacegmax: { + inherit: true, + types: ["Fire", "Ice"], + baseStats: {hp: 84, atk: 119, def: 78, spa: 77, spd: 81, spe: 105}, + abilities: {0: "You'll Never Walk Alone"}, + weightkg: 103, + }, + + // keys + rayquaza: { + inherit: true, + abilities: {0: "Defeatist"}, + }, + rayquazamega: { + inherit: true, + abilities: {0: "Defeatist"}, + requiredMove: "Protector of the Skies", + }, + + // kingbaruk + wigglytuff: { + inherit: true, + abilities: {0: "Peer Pressure"}, + }, + + // Kiwi + minccino: { + inherit: true, + abilities: {0: "Sure Hit Sorcery"}, + }, + + // Klmondo + cloyster: { + inherit: true, + abilities: {0: "Super Skilled"}, + }, + + // kolohe + pikachu: { + inherit: true, + baseStats: {hp: 45, atk: 80, def: 50, spa: 75, spd: 60, spe: 120}, + abilities: {0: "Soul Surfer"}, + }, + + // Kry + mawile: { + inherit: true, + abilities: {0: "Flash Freeze"}, + }, + + // Lasen + zekrom: { + inherit: true, + abilities: {0: "Idealized World"}, + }, + + // Lets go shuckles + shuckle: { + inherit: true, + abilities: {0: "Persistent"}, + }, + + // Lily + togedemaru: { + inherit: true, + abilities: {0: "Unaware"}, + }, + + // Lionyx + miltank: { + inherit: true, + abilities: {0: "EnorMOOs"}, + }, + + // Loethalion + ralts: { + inherit: true, + abilities: {0: "Psychic Surge"}, + }, + + // Lumari + ponytagalar: { + inherit: true, + baseStats: {hp: 65, atk: 100, def: 70, spa: 80, spd: 80, spe: 105}, + abilities: {0: "Pyrotechnic"}, + }, + + // Lunell + vaporeon: { + inherit: true, + abilities: {0: "Low Tide, High Tide"}, + }, + + // Lyna + dragonair: { + inherit: true, + baseStats: {hp: 82, atk: 80, def: 80, spa: 80, spd: 80, spe: 80}, + abilities: {0: "Magic Aura"}, + }, + + // Mad Monty + castform: { + inherit: true, + abilities: {0: "Climate Change"}, + }, + castformrainy: { + inherit: true, + abilities: {0: "Climate Change"}, + }, + castformsnowy: { + inherit: true, + abilities: {0: "Climate Change"}, + }, + castformsunny: { + inherit: true, + abilities: {0: "Climate Change"}, + }, + + // marillvibes + marill: { + inherit: true, + baseStats: {hp: 100, atk: 50, def: 80, spa: 60, spd: 80, spe: 50}, + abilities: {0: "Huge Power"}, + }, + + // maroon + archaludon: { + inherit: true, + abilities: {0: "Built Different"}, + }, + + // Mathy + furret: { + inherit: true, + baseStats: {hp: 105, atk: 96, def: 84, spa: 45, spd: 75, spe: 110}, + abilities: {0: "Dynamic Typing"}, + }, + + // Meteordash + tatsugiri: { + inherit: true, + abilities: {0: "Shadow Shield"}, + }, + + // Mex + dialga: { + inherit: true, + abilities: {0: "Time Dilation"}, + }, + + // Monkey + infernape: { + inherit: true, + abilities: {0: "Harambe Hit"}, + }, + + // MyPearl + latios: { + inherit: true, + abilities: {0: "Eon Call"}, + }, + latias: { + inherit: true, + abilities: {0: "Eon Call"}, + }, + + // Ney + banette: { + inherit: true, + abilities: {0: "Insomnia"}, + }, + banettemega: { + inherit: true, + abilities: {0: "Prankster Plus"}, + }, + + // Notater517 + incineroar: { + inherit: true, + abilities: {0: "Vent Crosser"}, + }, + + // nya + delcatty: { + inherit: true, + types: ["Fairy"], + abilities: {0: "Adorable Grace"}, + }, + + // Nyx + altaria: { + inherit: true, + abilities: {0: "Last Hymn"}, + }, + altariamega: { + inherit: true, + abilities: {0: "Last Hymn"}, + }, + + // Opple + applin: { + inherit: true, + baseStats: {hp: 106, atk: 80, def: 110, spa: 120, spd: 80, spe: 44}, + abilities: {0: "Orchard's Gift"}, + }, + + // PartMan + chandelure: { + inherit: true, + abilities: {0: "C- Tier Shitposter"}, + }, + + // Peary + klinklang: { + inherit: true, + abilities: {0: "Levitate"}, + }, + + // PenQuin + empoleon: { + inherit: true, + abilities: {0: "'Poleon's Pyro Quirk"}, + }, + + // phoopes + jynx: { + inherit: true, + baseStats: {hp: 65, atk: 50, def: 35, spa: 115, spd: 115, spe: 95}, + abilities: {0: "I Did It Again"}, + }, + + // Pissog + volcarona: { + inherit: true, + abilities: {0: "Drought"}, + }, + frosmoth: { + inherit: true, + abilities: {0: "Snow Warning"}, + }, + + // pokemonvortex + pokestarsmeargle: { + inherit: true, + baseStats: {hp: 100, atk: 100, def: 100, spa: 100, spd: 100, spe: 100}, + abilities: {0: "Prankster"}, + }, + + // ptoad + politoed: { + inherit: true, + abilities: {0: "Drizzle"}, + }, + + // Pulse_kS + hydreigon: { + inherit: true, + abilities: {0: "Pulse Luck"}, + }, + + // PYRO + kingambit: { + inherit: true, + abilities: {0: "Hardcore Hustle"}, + }, + + // Quite Quiet + ribombee: { + inherit: true, + abilities: {0: "Fancy Scarf"}, + }, + + // quziel + chromera: { + inherit: true, + abilities: {0: "High Performance Computing"}, + }, + + // R8 + chansey: { + inherit: true, + abilities: {0: "Anti-Pelau"}, + }, + + // Rainshaft + xerneas: { + inherit: true, + abilities: {0: "Rainy's Aura"}, + }, + + // Ransei + audinomega: { + inherit: true, + abilities: {0: "Healer", 1: "Ultra Mystik"}, + }, + + // ReturnToMonkey + oranguru: { + inherit: true, + abilities: {0: "Monke See Monke Do"}, + }, + + // RSB + growlithe: { + inherit: true, + baseStats: {hp: 70, atk: 86, def: 60, spa: 86, spd: 66, spe: 76}, + abilities: {0: "Hot Pursuit"}, + }, + + // Rumia + duskull: { + inherit: true, + types: ["Ghost", "Dark"], + baseStats: {hp: 50, atk: 55, def: 90, spa: 90, spd: 55, spe: 55}, + abilities: {0: "Youkai of the Dusk"}, + }, + + // Scotteh + suicune: { + inherit: true, + abilities: {0: "Water Absorb"}, + }, + + // SexyMalasada + typhlosion: { + inherit: true, + abilities: {0: "Ancestry Ritual"}, + }, + typhlosionhisui: { + inherit: true, + abilities: {0: "Ancestry Ritual"}, + }, + + // sharp_claw + sneasel: { + inherit: true, + baseStats: {hp: 55, atk: 105, def: 95, spa: 35, spd: 95, spe: 135}, + abilities: {0: "Regenerator"}, + }, + sneaselhisui: { + inherit: true, + baseStats: {hp: 55, atk: 135, def: 75, spa: 35, spd: 85, spe: 135}, + abilities: {0: "Regenerator"}, + }, + + // Siegfried + ampharos: { + inherit: true, + abilities: {0: "Static"}, + }, + ampharosmega: { + inherit: true, + abilities: {0: "Magical Mystery Charge"}, + }, + + // Sificon + hoppip: { + inherit: true, + baseStats: {hp: 75, atk: 55, def: 70, spa: 55, spd: 95, spe: 110}, + abilities: {0: "Perfectly Imperfect"}, + }, + + // skies + chespin: { + inherit: true, + baseStats: {hp: 88, atk: 107, def: 122, spa: 74, spd: 75, spe: 64}, + abilities: {0: "Spikes of Wrath"}, + }, + + // snake + fidgit: { + inherit: true, + abilities: {0: "Persistent"}, + }, + + // Soft Flex + magnezone: { + inherit: true, + abilities: {0: "Adaptive Engineering"}, + }, + + // Solaros & Lunaris + scovillain: { + inherit: true, + abilities: {0: "Ride the Sun!"}, + }, + + // spoo + hemogoblin: { + inherit: true, + abilities: {0: "I Can Hear The Heart Beating As One"}, + }, + + // Steorra + kitsunoh: { + inherit: true, + abilities: {0: "Ghostly Hallow"}, + }, + + // Struchni + aggron: { + inherit: true, + abilities: {0: "Overasked Clause"}, + }, + + // Sulo + reuniclus: { + inherit: true, + abilities: {0: "Protection of the Gelatin"}, + }, + + // Swiffix + piplup: { + inherit: true, + baseStats: {hp: 64, atk: 66, def: 68, spa: 81, spd: 76, spe: 50}, + abilities: {0: "Stinky"}, + }, + + // Teclis + gallade: { + inherit: true, + abilities: {0: "Sharpness"}, + }, + + // Tenshi + sandshrew: { + inherit: true, + baseStats: {hp: 50, atk: 115, def: 130, spa: 50, spd: 65, spe: 98}, + abilities: {0: "Sand Sleuth"}, + }, + + // Theia + litwick: { + inherit: true, + abilities: {0: "Power Abuse"}, + }, + + // TheJesuchristoOsAma + arceus: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusbug: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusdark: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusdragon: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceuselectric: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusfairy: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusfighting: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusfire: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusflying: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusghost: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusgrass: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusground: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusice: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceuspoison: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceuspsychic: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceusrock: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceussteel: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + arceuswater: { + inherit: true, + abilities: {0: "The Grace of Jesus Christ"}, + }, + + // Tico + floetteeternal: { + inherit: true, + abilities: {0: "Eternal Generator"}, + }, + + // trace + delphox: { + inherit: true, + abilities: {0: "Eyes of Eternity"}, + }, + + // Two of Roses + luxray: { + inherit: true, + abilities: {0: "As We See"}, + }, + + // UT + talonflame: { + inherit: true, + abilities: {0: "Gale Guard"}, + }, + + // Valerian + lucario: { + inherit: true, + abilities: {0: "Full Bloom"}, + }, + + // Venous + mantine: { + inherit: true, + abilities: {0: "Concrete Over Water"}, + }, + + // Violet + ogerpon: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + ogerpontealtera: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + ogerponcornerstone: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + ogerponcornerstonetera: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + ogerponhearthflame: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + ogerponhearthflametera: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + ogerponwellspring: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + ogerponwellspringtera: { + inherit: true, + abilities: {0: "See No Evil, Hear No Evil, Speak No Evil"}, + }, + + // Vistar + zeraora: { + inherit: true, + abilities: {0: "Prankster"}, + }, + + // vmnunes + shayminsky: { + inherit: true, + abilities: {0: "Wild Growth"}, + }, + + // WarriorGallade + tropius: { + inherit: true, + abilities: {0: "Primeval Harvest"}, + }, + + // Waves + wailord: { + inherit: true, + abilities: {0: "Primordial Sea"}, + }, + + // WigglyTree + sudowoodo: { + inherit: true, + abilities: {0: "Tree Stance"}, + }, + + // xy01 + blissey: { + inherit: true, + abilities: {0: "Panic"}, + }, + + // Yellow Paint + rotomfrost: { + inherit: true, + abilities: {0: "Yellow Magic"}, + }, + + // YveltalNL + farigiraf: { + inherit: true, + abilities: {0: "Height Advantage"}, + }, + + // za + greedent: { + inherit: true, + abilities: {0: "Troll"}, + }, + + // Zalm + weedle: { + inherit: true, + baseStats: {hp: 100, atk: 90, def: 100, spa: 35, spd: 90, spe: 100}, + abilities: {0: "Water Bubble"}, + }, + + // Zarel + meloetta: { + inherit: true, + abilities: {0: "Tempo Change"}, + }, + meloettapirouette: { + inherit: true, + abilities: {0: "Tempo Change"}, + }, + + // zee + lilliganthisui: { + inherit: true, + abilities: {0: "Chlorophyll"}, + }, + + // zoro + umbreon: { + inherit: true, + abilities: {0: "Nine Lives"}, + }, +}; diff --git a/data/mods/gen9ssb/random-teams.ts b/data/mods/gen9ssb/random-teams.ts new file mode 100644 index 000000000000..fc41e2b746db --- /dev/null +++ b/data/mods/gen9ssb/random-teams.ts @@ -0,0 +1,1168 @@ +import RandomTeams from '../../random-battles/gen9/teams'; + +export interface SSBSet { + species: string; + ability: string | string[]; + item: string | string[]; + gender: GenderName | GenderName[]; + moves: (string | string[])[]; + signatureMove: string; + evs?: {hp?: number, atk?: number, def?: number, spa?: number, spd?: number, spe?: number}; + ivs?: {hp?: number, atk?: number, def?: number, spa?: number, spd?: number, spe?: number}; + nature?: string | string[]; + shiny?: number | boolean; + level?: number; + happiness?: number; + skip?: string; + teraType?: string | string[]; +} +interface SSBSets {[k: string]: SSBSet} + +export const ssbSets: SSBSets = { + /* + // Example: + Username: { + species: 'Species', ability: 'Ability', item: 'Item', gender: '', + moves: ['Move Name', ['Move Name', 'Move Name']], + signatureMove: 'Move Name', + evs: {stat: number}, ivs: {stat: number}, nature: 'Nature', teraType: 'Type', + }, + // Species, ability, and item need to be captialized properly ex: Ludicolo, Swift Swim, Life Orb + // Gender can be M, F, N, or left as an empty string + // each slot in moves needs to be a string (the move name, captialized properly ex: Hydro Pump), or an array of strings (also move names) + // signatureMove also needs to be capitalized properly ex: Scripting + // You can skip Evs (defaults to 84 all) and/or Ivs (defaults to 31 all), or just skip part of the Evs (skipped evs are 0) and/or Ivs (skipped Ivs are 31) + // You can also skip shiny, defaults to false. Level can be skipped (defaults to 100). + // Nature needs to be a valid nature with the first letter capitalized ex: Modest + */ + // Please keep sets organized alphabetically based on staff member name! + aegii: { + species: 'Scizor', ability: 'Unburden', item: 'Lansat Berry', gender: 'M', + moves: ['Acrobatics', 'Attack Order', ['Cross Chop', 'Night Slash']], + signatureMove: 'Equip Aegislash', + evs: {hp: 4, atk: 252, spe: 252}, nature: 'Adamant', teraType: 'Flying', + }, + Aelita: { + species: 'Melmetal', ability: 'Fortified Metal', item: 'Leftovers', gender: '', + moves: ['Heavy Slam', 'Bitter Blade', 'Liquidation'], + signatureMove: 'Smelt', + evs: {hp: 252, atk: 4, spd: 252}, nature: 'Careful', teraType: 'Steel', shiny: true, + }, + Aethernum: { + species: 'Giratina-Origin', ability: 'The Eminence in the Shadow', item: 'Griseous Core', gender: '', + moves: ['Fiery Wrath', 'Lunar Blessing', 'Dragon Energy'], + signatureMove: 'I. AM. ATOMIC.', + evs: {atk: 4, spa: 252, spe: 252}, nature: 'Hasty', teraType: 'Dark', shiny: true, + }, + Akir: { + species: 'Slowbro', ability: 'Take it Slow', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Future Sight', 'Slack Off', 'Steam Eruption'], + signatureMove: 'Free Switch Button', + evs: {hp: 248, def: 8, spa: 252}, ivs: {spe: 0}, nature: 'Relaxed', teraType: 'Fairy', + }, + Alex: { + species: 'Sprigatito', ability: 'Pawprints', item: 'Eviolite', gender: '', + moves: ['Substitute', 'Protect', 'Magic Powder'], + signatureMove: 'Spicier Extract', + evs: {hp: 252, def: 4, spd: 252}, nature: 'Careful', teraType: 'Water', + }, + Alexander489: { + species: 'Charizard', ability: 'Confirmed Town', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['No Retreat', 'Bitter Blade', 'Dual Wingbeat'], + signatureMove: 'Scumhunt', + evs: {atk: 252, spa: 4, spe: 252}, nature: 'Naughty', teraType: 'Fire', shiny: true, + }, + 'Appletun a la Mode': { + species: 'Appletun', ability: 'Served Cold', item: 'Sitrus Berry', gender: 'F', + moves: ['Freeze-Dry', 'Apple Acid', 'Fickle Beam'], + signatureMove: "Extra Course", + evs: {hp: 252, spa: 4, spd: 252}, nature: 'Calm', teraType: 'Ground', + }, + aQrator: { + species: 'Totodile', ability: 'Neverending fHunt', item: 'Eviolite', gender: 'F', + moves: ['Whirlpool', 'Noble Roar', 'Slack Off'], + signatureMove: "Tori's Stori", + evs: {hp: 252, def: 4, spd: 252}, nature: 'Sassy', teraType: 'Fighting', + }, + 'A Quag To The Past': { + species: 'Quagsire', ability: 'Quag of Ruin', item: 'Leftovers', gender: 'M', + moves: ['Surging Strikes', 'Precipice Blades', 'Gunk Shot'], + signatureMove: 'Sire Switch', + evs: {hp: 252, def: 4, spd: 252}, nature: 'Careful', teraType: 'Water', + }, + 'A Quag To The Past-Clodsire': { + species: 'Clodsire', ability: 'Clod of Ruin', item: 'Leftovers', gender: 'M', + moves: ['Coil', 'Strength Sap', 'Toxic'], + signatureMove: 'Sire Switch', + evs: {hp: 252, def: 4, spd: 252}, nature: 'Careful', teraType: 'Poison', skip: 'A Quag To The Past', + }, + Archas: { + species: 'Lilligant', ability: 'Saintly Bullet', item: 'Lilligantium Z', gender: 'F', + moves: ['Giga Drain', 'Snipe Shot', 'Aeroblast'], + signatureMove: 'Quiver Dance', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', + }, + Arcueid: { + species: 'Deoxys-Defense', ability: 'Marble Phantasm', item: 'Heavy-Duty Boots', gender: 'N', + moves: [['Lunar Blessing', 'Jungle Healing'], 'Body Press', ['Toxic', 'Will-O-Wisp', 'Topsy-Turvy']], + signatureMove: 'Funny Vamp', + evs: {hp: 248, def: 252, spd: 8}, nature: 'Bold', teraType: 'Fairy', shiny: true, + }, + 'Arcueid-Attack': { + species: 'Deoxys-Attack', ability: 'Marble Phantasm', item: 'Heavy-Duty Boots', gender: 'N', + moves: ['Moonblast', 'Photon Geyser', 'Flamethrower'], + signatureMove: 'Funny Vamp', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Fairy', shiny: true, skip: 'Arcueid', + }, + Arsenal: { + species: 'Rabsca', ability: 'Absorb Phys', item: 'Covert Cloak', gender: 'N', + moves: ['Recover', 'Calm Mind', 'Speed Swap'], + signatureMove: 'Megidolaon', + evs: {hp: 4, spa: 252, spd: 252}, nature: 'Modest', teraType: 'Stellar', shiny: true, + }, + Artemis: { + species: 'Genesect', ability: 'Supervised Learning', item: 'Choice Specs', gender: 'N', + moves: [], + signatureMove: 'Automated Response', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Serious', shiny: true, + }, + Arya: { + species: 'Flygon', ability: 'Tinted Lens', item: 'Flygonite', gender: 'F', + moves: ['Clanging Scales', 'Roost', 'Bug Buzz'], + signatureMove: 'Anyone can be killed', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', + }, + autumn: { + species: 'Flutter Mane', ability: 'Protosynthesis', item: 'Booster Energy', gender: 'N', + moves: ['Moonblast', 'Taunt', 'Strength Sap'], + signatureMove: 'Season\'s Smite', + evs: {def: 8, spa: 244, spe: 252}, nature: 'Timid', teraType: 'Fairy', + }, + ausma: { + species: 'Hatterene', ability: 'Cascade', item: 'Leftovers', gender: 'F', + moves: ['Light of Ruin', 'Strength Sap', 'Substitute'], + signatureMove: 'Sigil\'s Storm', + evs: {hp: 252, def: 4, spa: 252}, ivs: {atk: 0, spe: 0}, nature: 'Modest', teraType: 'Fairy', + }, + 'ausma-Mismagius': { + species: 'Mismagius', ability: 'Levitate', item: 'Leftovers', gender: 'F', + moves: ['Light of Ruin', 'Strength Sap', 'Substitute'], + signatureMove: 'Sigil\'s Storm', + evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Modest', teraType: 'Fairy', skip: 'ausma', + }, + 'ausma-Fennekin': { + species: 'Fennekin', ability: 'Blaze', item: '', gender: '', + moves: ['Tackle', 'Growl'], + signatureMove: 'Ember', + evs: {}, skip: 'ausma', + }, + AuzBat: { + species: 'Swoobat', ability: 'Magic Guard', item: 'Focus Sash', gender: 'M', + moves: ['Stored Power', 'Hurricane', ['Roost', 'Focus Blast']], + signatureMove: 'Prep Time', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Psychic', shiny: 8192, + }, + avarice: { + species: 'Sinistcha-Masterpiece', ability: 'Serene Grace', item: ['Covert Cloak', 'Leftovers'], gender: 'N', + moves: ['Strength Sap', 'Calm Mind', 'Matcha Gotcha'], + signatureMove: 'yu-gi-oh reference', + evs: {hp: 252, def: 160, spe: 90}, nature: 'Bold', teraType: 'Steel', + }, + Beowulf: { + species: 'Beedrill', ability: 'Intrepid Sword', item: 'Beedrillite', gender: 'M', + moves: ['Poison Jab', 'Attack Order', ['Sacred Fire', 'Earthquake', 'Volt Tackle', 'Glacial Lance']], + signatureMove: 'Buzzer Stinger Counter', + evs: {hp: 4, atk: 252, spe: 252}, nature: 'Jolly', shiny: 2, + }, + berry: { + species: 'Regirock', ability: 'Sturdy', item: 'Maranga Berry', gender: 'F', + moves: ['Curse', 'Salt Cure', 'Stone Axe'], + signatureMove: 'what kind', + evs: {hp: 252, atk: 4, spd: 252}, nature: 'Careful', teraType: 'Rock', + }, + Billo: { + species: 'Cosmog', ability: 'Wonder Guard', item: 'Eviolite', gender: 'N', + moves: [], + signatureMove: 'Hack Check', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', + }, + 'Billo-Solgaleo': { + species: 'Solgaleo', ability: 'Magic Guard', item: 'Choice Scarf', gender: 'N', + moves: ['Wave Crash', 'Volt Tackle', 'Flare Blitz'], + signatureMove: 'Head Smash', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', skip: 'Billo', shiny: true, + }, + 'Billo-Lunala': { + species: 'Lunala', ability: 'Shadow Shield', item: 'Lunalium Z', gender: 'N', + moves: ['Moongeist Beam', 'Moonblast', 'Ice Beam'], + signatureMove: 'Thunderbolt', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', skip: 'Billo', + }, + blazeofvictory: { + species: 'Sylveon', ability: 'Prismatic Lens', item: 'Leftovers', gender: 'F', + moves: ['Wish', 'Baton Pass', 'Hyper Voice'], + signatureMove: 'Veto', + evs: {hp: 252, spa: 252, spe: 4}, nature: 'Modest', teraType: 'Fairy', + }, + Blitz: { + species: 'Chi-Yu', ability: 'Blitz of Ruin', item: 'Life Orb', gender: 'N', + moves: ['Fiery Wrath', 'Lava Plume', 'Nasty Plot'], + signatureMove: 'Geyser Blast', + evs: {def: 4, spa: 252, spe: 252}, nature: 'Modest', teraType: 'Water', shiny: true, + }, + Breadstycks: { + species: 'Dachsbun', ability: 'Painful Exit', item: 'Leftovers', gender: '', + moves: ['Protect', 'Rest', 'Play Rough'], + signatureMove: 'Baker\'s Douze Off', + evs: {hp: 252, def: 252, spd: 4}, nature: 'Impish', teraType: 'Steel', + }, + Cake: { + species: 'Dunsparce', ability: 'Scrappy', item: 'Eviolite', gender: 'N', + moves: [ + 'Topsy-Turvy', 'Lunar Blessing', 'Lovely Kiss', 'Glare', 'Knock Off', 'Gastro Acid', + 'Trick Room', 'Toxic', 'Heal Bell', 'Octolock', 'G-Max Befuddle', 'G-Max Centiferno', + 'G-Max Cannonade', 'Magic Powder', 'Whirlwind', 'Lunar Dance', 'Power Split', + 'Snatch', 'Heal Order', 'Parting Shot', 'Population Bomb', 'Metronome', + ], + signatureMove: 'Role System', + // eslint-disable-next-line max-len + evs: {hp: 85, atk: 85, def: 85, spa: 85, spd: 85, spe: 85}, nature: 'Hardy', teraType: ['Ghost', 'Poison', 'Fairy'], shiny: 1024, level: 97, + }, + chaos: { + species: 'Iron Jugulis', ability: 'Transistor', item: 'Heavy-Duty Boots', gender: 'N', + moves: [['Oblivion Wing', 'Hurricane'], ['Thunderclap', 'Volt Switch'], ['Defog', 'Roost']], + signatureMove: 'Outage', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: ['Steel', 'Flying', 'Electric', 'Dark'], + }, + Chloe: { + species: 'Tsareena', ability: 'Acetosa', item: 'Assault Vest', gender: 'F', + moves: ['Rapid Spin', 'Fishious Rend', 'Stone Axe'], + signatureMove: 'De Todas las Flores', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Grass', shiny: true, + }, + ciran: { + species: 'Rapidash', ability: 'Defiant', item: 'Heavy-Duty Boots', gender: 'N', + moves: ['Protect', 'Sketch', 'Bitter Blade'], + signatureMove: 'Summon Monster VIII: Fiendish monstrous Piplupede, Colossal', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Poison', shiny: true, + }, + Clefable: { + species: 'Clefable', ability: 'That\'s Hacked', item: 'Leftovers', gender: 'M', + moves: ['Cosmic Power', 'Soft-Boiled', 'Thunder Wave'], + signatureMove: 'Giveaway!', + evs: {hp: 252, def: 200, spd: 56}, nature: 'Calm', teraType: 'Any', shiny: true, + }, + Clementine: { + species: 'Avalugg', ability: 'Melting Point', item: 'Heavy-Duty Boots', gender: '', + moves: ['Land\'s Wrath', 'Flip Turn', 'Milk Drink'], + signatureMove: '(╯°o°)╯︵ ┻━┻', + nature: 'Quirky', teraType: ['Poison', 'Steel'], + }, + 'Clementine-Flipped': { + species: 'Avalugg-Hisui', ability: 'Melting Point', item: 'Heavy-Duty Boots', gender: '', + moves: ['Earth Power', 'Volt Switch', 'Heal Pulse'], + signatureMove: '(╯°o°)╯︵ ┻━┻', + nature: 'Quirky', teraType: ['Poison', 'Steel'], skip: 'Clementine', + }, + clerica: { + species: 'Mimikyu', ability: 'Masquerade', item: 'Ghostium Z', gender: 'F', + moves: ['Protect', 'Substitute', 'Phantom Force'], + signatureMove: 'Stockholm Syndrome', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', + }, + Clouds: { + species: 'Corvisquire', ability: 'Jet Stream', item: 'Leftovers', gender: 'M', + moves: ['Brave Bird', 'Roost', 'Defog'], + signatureMove: 'Winds of Change', + evs: {hp: 252, atk: 4, def: 252}, nature: 'Jolly', teraType: 'Flying', shiny: 822, + }, + Coolcodename: { + species: 'Victini', ability: 'Firewall', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Searing Shot', 'Psychic', 'Dazzling Gleam'], + signatureMove: 'Haxer\'s Will', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Fairy', shiny: 1024, + }, + Corthius: { + species: 'Thwackey', ability: 'Grassy Emperor', item: 'Eviolite', gender: 'M', + moves: ['Swords Dance', 'U-turn', 'Close Combat'], + signatureMove: 'Monkey Beat Up', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Adamant', shiny: 69, + }, + 'Dawn of Artemis': { + species: 'Necrozma', ability: 'Form Change', item: 'Expert Belt', gender: 'F', + moves: ['Calm Mind', 'Photon Geyser', 'Earth Power'], + signatureMove: 'Magical Focus', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Psychic', shiny: 8192, + }, + 'Dawn of Artemis-Ultra': { + species: 'Necrozma-Ultra', ability: 'Form Change', item: 'Expert Belt', gender: 'F', + moves: ['Swords Dance', 'Photon Geyser', 'Outrage'], + signatureMove: 'Magical Focus', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Dragon', skip: 'Dawn of Artemis', + }, + DaWoblefet: { + species: 'Wobbuffet', ability: 'Shadow Artifice', item: 'Iapapa Berry', gender: 'M', + moves: ['Counter', 'Mirror Coat', 'Encore'], + signatureMove: 'Super Ego Inflation', + evs: {hp: 252, def: 252, spd: 4}, ivs: {spe: 0}, nature: 'Relaxed', teraType: 'Fairy', + }, + deftinwolf: { + species: 'Yveltal', ability: 'Sharpness', item: 'Dread Plate', gender: '', + moves: ['Aerial Ace', 'Ceaseless Edge', 'Cross Poison'], + signatureMove: 'Trivial Pursuit', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', teraType: 'Poison', + }, + dhelmise: { + species: 'Slowking-Galar', ability: 'Coalescence', item: 'Black Sludge', gender: 'N', + moves: ['Sludge Bomb', 'Psychic Noise', 'Parting Shot'], + signatureMove: 'Biotic Orb', + evs: {hp: 252, def: 252, spa: 4}, nature: 'Bold', teraType: ['Psychic', 'Poison'], + }, + DianaNicole: { + species: 'Abomasnow', ability: 'Snow Warning', item: 'Abomasite', gender: 'F', + moves: ['Giga Drain', 'Earth Power', 'Blizzard'], + signatureMove: 'Breath of Tiamat', + evs: {hp: 252, def: 4, spa: 252}, nature: 'Modest', shiny: true, + }, + EasyOnTheHills: { + species: 'Snorlax', ability: 'Immunity', item: 'Life Orb', gender: 'M', + moves: ['Darkest Lariat', 'Body Slam', 'Heavy Slam'], + signatureMove: 'Snack Time', + evs: {hp: 252, atk: 252, spd: 4}, nature: 'Adamant', teraType: 'Ghost', shiny: true, + }, + Elliot: { + species: 'Sinistea', ability: 'Natural Cure', item: 'Focus Sash', gender: 'N', + moves: ['Moonblast', 'Shadow Ball', 'Teatime'], + signatureMove: 'Tea Party', + evs: {def: 4, spa: 252, spe: 252}, nature: 'Modest', teraType: 'Water', shiny: true, + }, + Elly: { + species: 'Thundurus', ability: 'Storm Surge', item: 'Heavy-Duty Boots', gender: 'F', + moves: ['Wildbolt Storm', 'Sandsear Storm', 'Volt Switch'], + signatureMove: 'Sustained Winds', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Ground', + }, + Emboar02: { + species: 'Emboar', ability: 'Hogwash', item: 'Choice Band', gender: 'F', + moves: ['Flare Blitz', 'Wave Crash', 'Volt Tackle'], + signatureMove: 'Insert boar pun here', + // eslint-disable-next-line max-len + evs: {hp: 252, atk: 252, def: 4}, nature: 'Adamant', teraType: ['Fire', 'Water', 'Fighting', 'Electric'], shiny: 50 / 49, + }, + eva: { + species: 'Ceruledge', ability: 'Sword of Ruin', item: 'Life Orb', gender: 'N', + moves: ['Poltergeist', 'Swords Dance', 'Bitter Blade'], + signatureMove: 'A Soul for a Soul', + evs: {hp: 4, atk: 252, spe: 252}, nature: 'Adamant', teraType: 'Fire', + }, + Fame: { + species: 'Jumpluff', ability: 'Social Jumpluff Warrior', item: 'Leftovers', gender: 'F', + moves: ['Air Slash', 'Thunder Wave', 'Toxic'], + signatureMove: 'Solidarity', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Fire', + }, + Felucia: { + species: 'Vespiquen', ability: 'Mountaineer', item: 'Red Card', gender: 'F', + moves: ['Strength Sap', ['Bug Buzz', 'Night Shade'], ['Thief', 'Calm Mind', 'Toxic']], + signatureMove: 'Rigged Dice', + evs: {hp: 252, def: 4, spd: 252}, nature: 'Calm', + }, + Froggeh: { + species: 'Toxicroak', ability: 'Super Luck', item: 'Leftovers', gender: 'M', + moves: ['Gunk Shot', 'Sucker Punch', 'Drain Punch'], + signatureMove: 'Cringe Dad Joke', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', teraType: 'Dark', + }, + Frostyicelad: { + species: 'Qwilfish-Hisui', ability: 'Almost Frosty', item: 'Eviolite', gender: 'M', + moves: ['Darkest Lariat', 'Recover', ['Dire Claw', 'Meteor Mash', 'Bitter Malice']], + signatureMove: 'Puffy Spiky Destruction', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: ['Dark', 'Poison', 'Ghost', 'Steel'], shiny: 1024, + }, + Frozoid: { + species: 'Gible', ability: 'Snowballer', item: 'Eviolite', gender: 'M', + moves: ['Dragon Dance', 'Dragon Rush', 'Precipice Blades'], + signatureMove: 'Flat out falling', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', teraType: 'Any', shiny: true, + }, + Ganjafin: { + species: 'Wiglett', ability: 'Gambling Addiction', item: 'Eviolite', gender: 'M', + moves: ['Wrap', 'Cosmic Power', 'Strength Sap'], + signatureMove: 'Wiggling Strike', + evs: {hp: 252, def: 4, spe: 252}, nature: 'Timid', teraType: 'Grass', shiny: 2, + }, + 'Goro Yagami': { + species: 'Cyndaquil', ability: 'Illusion Master', item: '', gender: 'M', + moves: ['Victory Dance', 'Bitter Blade', 'Thief'], + signatureMove: 'Shadow Ambush', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Timid', teraType: 'Water', + }, + 'Haste Inky': { + species: 'Falinks', ability: 'Simple', item: 'Sitrus Berry', gender: 'N', + moves: ['Superpower', 'Ice Hammer', 'Throat Chop'], + signatureMove: 'Hasty Revolution', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Dark', + }, + havi: { + species: 'Gastly', ability: 'Mensis Cage', item: 'Leftovers', gender: 'F', + moves: ['Astral Barrage', 'Moonblast', 'Substitute'], + signatureMove: 'Augur of Ebrietas', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Ghost', + }, + Hecate: { + species: 'Mewtwo', ability: 'Hacking', item: 'Mewtwonite X', gender: 'F', + moves: ['Photon Geyser', 'Drain Punch', 'Iron Head'], + signatureMove: 'Testing in Production', + evs: {atk: 252, spa: 4, spe: 252}, nature: 'Jolly', + }, + HiZo: { + species: 'Zoroark-Hisui', ability: 'Justified', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Last Respects', 'Blood Moon', 'Spirit Break'], + signatureMove: 'Scapegoat', + evs: {atk: 252, spa: 4, spe: 252}, nature: 'Naive', teraType: 'Fairy', + }, + HoeenHero: { + species: 'Ludicolo', ability: 'Misspelled', item: 'Life Orb', gender: 'M', + moves: [['Hydro Pump', 'Surf'], 'Giga Drain', 'Ice Beam'], + signatureMove: 'Re-Program', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Water', + }, + hsy: { + species: 'Ursaluna', ability: 'Hustle', item: 'Blunder Policy', gender: 'M', + moves: ['Drill Peck', 'Egg Bomb', 'Headlong Rush'], + signatureMove: 'Wonder Wing', + evs: {hp: 252, atk: 252, spe: 4}, nature: 'Adamant', teraType: 'Flying', + }, + Hydrostatics: { + species: 'Pichu-Spiky-eared', ability: 'Hydrostatic Positivity', item: 'Eviolite', gender: 'M', + moves: ['Hydro Pump', 'Thunder', 'Ice Beam'], + signatureMove: 'Hydrostatics', + evs: {def: 4, spa: 252, spe: 252}, nature: 'Modest', teraType: 'Water', shiny: 2, + }, + 'in the hills': { + species: 'Gligar', ability: 'Illiterit', item: 'Eviolite', gender: 'M', + moves: ['Roost', 'Knock Off', 'Tidy Up'], + signatureMove: '10-20-40', + evs: {hp: 252, def: 4, spd: 252}, nature: 'Careful', teraType: 'Water', + }, + ironwater: { + species: 'Jirachi', ability: 'Good as Gold', item: 'Leftovers', gender: 'N', + moves: ['Swords Dance', 'Zen Headbutt', 'Hammer Arm'], + signatureMove: 'Jirachi Ban Hammer', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Steel', + }, + 'Irpachuza!': { + species: 'Mr. Mime', ability: 'Mime knows best', item: 'Irpatuzinium Z', gender: 'M', + moves: [['Destiny Bond', 'Lunar Dance'], 'Parting Shot', 'Taunt'], + signatureMove: 'Fleur Cannon', + evs: {hp: 252, spa: 4, spd: 252}, nature: 'Modest', + }, + Isaiah: { + species: 'Medicham', ability: 'Psychic Surge', item: 'Medichamite', gender: 'M', + moves: ['Close Combat', 'Knock Off', 'Triple Axel'], + signatureMove: 'Simple Gameplan', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', shiny: true, + }, + 'J0rdy004 ♫': { + species: 'Vulpix-Alola', ability: 'Fortifying Frost', item: 'Never-Melt Ice', gender: 'N', + moves: ['Blizzard', 'Focus Blast', 'Recover'], + signatureMove: 'Snowy Samba', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', shiny: 4, + }, + Kalalokki: { + species: 'Flamigo', ability: 'Scrappy', item: 'Choice Band', gender: 'M', + moves: ['Brave Bird', 'Sucker Punch', ['Drain Punch', 'Rapid Spin']], + signatureMove: 'Knot Weak', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: ['Fighting', 'Flying'], + }, + Karthik: { + species: 'Staraptor', ability: 'Tough Claws', item: 'Choice Scarf', gender: 'M', + moves: ['Brave Bird', 'Head Smash', ['Flare Blitz', 'Wave Crash']], + signatureMove: 'Salvaged Sacrifice', + evs: {hp: 252, atk: 4, spe: 252}, nature: 'Adamant', teraType: 'Flying', + }, + ken: { + species: 'Jigglypuff', ability: 'Aroma Veil', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Dazzling Gleam', 'Heal Order', 'Mortal Spin'], + signatureMove: ', (ac)', + evs: {hp: 252, def: 252, spa: 4}, nature: 'Bold', teraType: 'Any', + }, + kenn: { + species: 'Larvitar', ability: 'Deserted Dunes', item: 'Eviolite', gender: 'M', + moves: ['Salt Cure', 'Shore Up', ['Precipice Blades', 'Headlong Rush']], + signatureMove: 'Stone Faced', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', teraType: 'Rock', shiny: true, + }, + Kennedy: { + species: 'Cinderace', ability: 'Anfield', item: 'Berserk Gene', gender: 'M', + moves: ['Blaze Kick', ['Triple Kick', 'Trop Kick'], 'U-turn'], + signatureMove: 'Hat-Trick', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Any', + }, + keys: { + species: 'Rayquaza', ability: 'Defeatist', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Oblivion Wing', 'Sizzly Slide', 'Bouncy Bubble'], + signatureMove: 'Protector of the Skies', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', shiny: 10, + }, + kingbaruk: { + species: 'Wigglytuff', ability: 'Peer Pressure', item: 'Silk Scarf', gender: 'M', + moves: ['Trump Card', 'Encore', ['Protect', 'Thunder Wave']], + signatureMove: 'Platinum Record', + evs: {hp: 252, def: 4, spa: 252}, nature: 'Modest', teraType: 'Normal', + }, + Kiwi: { + species: 'Minccino', ability: 'Sure Hit Sorcery', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Dynamic Punch', 'Substitute', 'Noble Roar'], + signatureMove: 'Mad Manifest', + evs: {hp: 252, atk: 144, spe: 112}, nature: 'Adamant', teraType: 'Fighting', shiny: true, + }, + Klmondo: { + species: 'Cloyster', ability: 'Super Skilled', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Victory Dance', 'Icicle Spear', 'Rock Blast'], + signatureMove: 'The Better Water Shuriken', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Adamant', teraType: 'Water', + }, + 'kolohe ✮彡': { + species: 'Pikachu', ability: 'Soul Surfer', item: 'Light Ball', gender: '', + moves: ['Thunder', 'Volt Switch', 'Bouncy Bubble'], + signatureMove: 'Hang Ten', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Water', + }, + Kry: { + species: 'Mawile', ability: 'Flash Freeze', item: 'Mawilite', gender: 'M', + moves: ['Sucker Punch', 'Fire Lash', 'Play Rough'], + signatureMove: 'Attack of Opportunity', + evs: {hp: 252, atk: 252, spd: 4}, nature: 'Adamant', shiny: 1024, + }, + Lasen: { + species: 'Zekrom', ability: 'Idealized World', item: 'Leftovers', gender: 'M', + moves: ['Volt Switch', 'Fusion Bolt', 'Dragon Claw'], + signatureMove: 'Rise Above', + evs: {hp: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Fire', + }, + 'Lets go shuckles': { + species: 'Shuckle', ability: 'Persistent', item: 'Berry Juice', gender: 'M', + moves: ['Diamond Storm', 'Headlong Rush', ['Glacial Lance', 'U-turn']], + signatureMove: 'Shuckle Power', + evs: {hp: 252, def: 252, spd: 4}, ivs: {spe: 0}, nature: 'Relaxed', teraType: 'Ground', shiny: 213, + }, + Lily: { + species: 'Togedemaru', ability: 'Unaware', item: 'Leftovers', gender: 'F', + moves: ['Victory Dance', 'Plasma Fists', 'Meteor Mash'], + signatureMove: 'Recharge', + evs: {hp: 252, def: 4, spd: 252}, nature: 'Careful', teraType: 'Fairy', shiny: 1734, + }, + Lionyx: { + species: 'Miltank', ability: 'EnorMOOs', item: 'Leftovers', gender: 'M', + moves: [['Glacial Lance', 'Bolt Strike'], 'Milk Drink', 'Defense Curl'], + signatureMove: 'Super Rollout', + evs: {hp: 252, def: 252, spd: 4}, ivs: {atk: 0, spa: 0}, nature: 'Impish', teraType: ['Electric', 'Ice'], shiny: true, + }, + Loethalion: { + species: 'Ralts', ability: 'Psychic Surge', item: 'Gardevoirite', gender: '', + moves: [['Esper Wing', 'Lumina Crash', 'Psychic Noise'], ['Agility', 'Calm Mind'], ['Draining Kiss', 'Matcha Gotcha']], + signatureMove: 'Darkmoon Cackle', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', shiny: true, + }, + Lumari: { + species: 'Ponyta-Galar', ability: 'Pyrotechnic', item: 'Eviolite', gender: 'F', + moves: ['Substitute', 'Sappy Seed', 'Magical Torque'], + signatureMove: 'Mystical Bonfire', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Fairy', + }, + Lunell: { + species: 'Vaporeon', ability: 'Low Tide, High Tide', item: 'Leftovers', gender: 'F', + moves: ['Hydro Pump', 'Thunder', 'Moonlight'], + signatureMove: 'Praise the Moon', + evs: {hp: 252, def: 4, spa: 252}, nature: 'Calm', teraType: 'Fairy', shiny: 512, + }, + 'Lyna 氷': { + species: 'Dragonair', ability: 'Magic Aura', item: 'Eviolite', gender: 'F', + moves: ['Victory Dance', 'V-create', 'Glacial Lance'], + signatureMove: 'Wrath of Frozen Flames', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Dragon', + }, + 'Mad Monty': { + species: 'Castform', ability: 'Climate Change', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Weather Ball', 'Defog', ['Solar Beam', 'Thunder', 'Aurora Veil']], + signatureMove: 'Storm Shelter', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Modest', teraType: 'Rock', + }, + 'marillvibes ♫': { + species: 'Marill', ability: 'Huge Power', item: 'Life Orb', gender: 'M', + moves: ['Surging Strikes', 'Jet Punch', 'Close Combat'], + signatureMove: 'Good Vibes Only', + evs: {hp: 4, atk: 252, spe: 252}, nature: 'Adamant', teraType: 'Water', shiny: true, + }, + maroon: { + species: 'Archaludon', ability: 'Built Different', item: 'Leftovers', gender: 'M', + moves: ['Body Press', 'Stealth Rock', 'Rapid Spin'], + signatureMove: 'Metal Blast', + evs: {hp: 252, def: 252, spa: 4}, nature: 'Bold', teraType: 'Flying', + }, + Mathy: { + species: 'Furret', ability: 'Dynamic Typing', item: 'Big Root', gender: 'M', + moves: ['Bitter Blade', 'Swords Dance', 'Taunt'], + signatureMove: 'Breaking Change', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Ghost', + }, + Meteordash: { + species: 'Tatsugiri', ability: 'Shadow Shield', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Fickle Beam', 'Scald', 'Glare'], + signatureMove: 'Plagiarism', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Steel', + }, + Mex: { + species: 'Dialga', ability: 'Time Dilation', item: 'Adamant Orb', gender: 'N', + moves: ['Dragon Pulse', 'Flash Cannon', ['Aura Sphere', 'Volt Switch', 'Meteor Beam']], + signatureMove: 'Time Skip', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Steel', shiny: true, + }, + Monkey: { + species: 'Infernape', ability: 'Harambe Hit', item: 'Blunder Policy', gender: 'M', + moves: ['Dynamic Punch', 'Plasma Fists', 'Fire Punch'], + signatureMove: 'Banana Breakfast', + evs: {hp: 4, atk: 252, spe: 252}, nature: 'Jolly', teraType: 'Electric', shiny: 69, + }, + MyPearl: { + species: 'Latios', ability: 'Eon Call', item: 'Soul Dew', gender: 'M', + moves: ['Draco Meteor', 'Aura Sphere', 'Flip Turn'], + signatureMove: 'Eon Assault', + evs: {hp: 252, def: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', teraType: 'Steel', shiny: 50, + }, + 'MyPearl-Latias': { + species: 'Latias', ability: 'Eon Call', item: 'Soul Dew', gender: 'F', + moves: ['Calm Mind', 'Recover', 'Thunder Wave'], + signatureMove: 'Eon Assault', + evs: {hp: 252, def: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', teraType: 'Steel', shiny: 50, skip: 'MyPearl', + }, + Ney: { + species: 'Banette', ability: 'Insomnia', item: 'Banettite', gender: 'M', + moves: ['Destiny Bond', 'Will-O-Wisp', 'Parting Shot'], + signatureMove: 'Shadow Dance', + evs: {hp: 252, atk: 252, def: 4}, ivs: {spe: 0}, nature: 'Brave', shiny: true, + }, + Notater517: { + species: 'Incineroar', ability: 'Vent Crosser', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Ceaseless Edge', 'Pyro Ball', ['Rapid Spin', 'Encore']], + signatureMove: '~nyaa', + evs: {hp: 252, atk: 252, spd: 4}, nature: 'Adamant', teraType: 'Steel', + }, + 'nya~ ❤': { + species: 'Delcatty', ability: 'Adorable Grace', item: 'Focus Band', gender: 'F', + moves: ['Freeze-Dry', 'Tri Attack', 'Volt Switch'], + signatureMove: ':3', + evs: {hp: 252, spa: 4, spe: 252}, nature: 'Naive', teraType: 'Ice', + }, + Nyx: { + species: 'Altaria', ability: 'Last Hymn', item: 'Altarianite', gender: 'F', + moves: ['Earthquake', 'Amnesia', 'Roost'], + signatureMove: 'Cotton Candy Crush', + evs: {hp: 248, spd: 164, spe: 96}, nature: 'Careful', shiny: 4, + }, + Opple: { + species: 'Applin', ability: 'Orchard\'s Gift', item: 'Lum Berry', gender: ['M', 'F'], + moves: ['Apple Acid', 'Leech Seed', 'Dragon Pulse'], + signatureMove: 'Wopple or Flopple', + evs: {hp: 252, spa: 4, spd: 252}, nature: 'Sassy', shiny: 2, teraType: 'Dragon', + }, + PartMan: { + species: 'Chandelure', ability: 'C- Tier Shitposter', item: 'Leek', gender: 'M', + moves: ['Searing Shot', 'Hex', 'Morning Sun'], + signatureMove: 'Alting', + evs: {hp: 252, spa: 69, spe: 188}, nature: 'Timid', + }, + Peary: { + species: 'Klinklang', ability: 'Levitate', item: 'Pearyum Z', gender: '', + moves: ['Lock On', 'Sheer Cold', 'Substitute'], + signatureMove: 'Gear Grind', + evs: {hp: 252, def: 4, spe: 252}, nature: 'Jolly', + }, + PenQuin: { + species: 'Empoleon', ability: '\'Poleon\'s Pyro Quirk', item: 'Assault Vest', gender: 'M', + moves: ['Liquidation', 'Sacred Fire', 'Knock Off'], + signatureMove: 'Splash n\' Lucky Blaze', + evs: {atk: 252, def: 252, spe: 4}, nature: 'Adamant', teraType: 'Fire', + }, + phoopes: { + species: 'Jynx', ability: 'I Did It Again', item: 'Red Card', gender: 'F', + moves: ['Lovely Kiss', 'Psychic', 'Amnesia'], + signatureMove: 'Gen 1 Blizzard', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Ice', + }, + Pissog: { + species: 'Volcarona', ability: 'Drought', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Torch Song', 'Morning Sun', 'Solar Beam'], + signatureMove: 'A Song Of Ice And Fire', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Fire', shiny: 1096, + }, + 'Pissog-Frosmoth': { + species: 'Frosmoth', ability: 'Snow Warning', item: 'Heavy-Duty Boots', gender: 'F', + moves: ['Blizzard', 'Chilly Reception', 'Aurora Veil'], + signatureMove: 'A Song Of Ice And Fire', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Ice', skip: 'Pissog', shiny: 1096, + }, + pokemonvortex: { + species: 'Pokestar Smeargle', ability: 'Prankster', item: 'Focus Sash', gender: 'N', + moves: ['Spore', 'Extreme Evoboost', 'Substitute'], + signatureMove: 'Roulette', + evs: {hp: 252, def: 4, spe: 252}, nature: 'Timid', teraType: 'Ghost', + }, + ptoad: { + species: 'Politoed', ability: 'Drizzle', item: 'Leftovers', gender: 'M', + moves: ['Jet Punch', 'Ice Punch', 'Earthquake'], + signatureMove: 'Pleek...', + evs: {hp: 252, atk: 252, spd: 4}, nature: 'Adamant', teraType: 'Water', + }, + Pulse_kS: { + species: 'Hydreigon', ability: 'Pulse Luck', item: 'Quick Claw', gender: 'N', + moves: ['Dark Pulse', 'Dragon Pulse', 'Origin Pulse'], + signatureMove: 'Luck Pulse', + evs: {hp: 85, atk: 85, def: 85, spa: 85, spd: 85, spe: 85}, nature: 'Serious', teraType: ['Steel', 'Poison'], + }, + PYRO: { + species: 'Kingambit', ability: 'Hardcore Hustle', item: 'Leftovers', gender: 'M', + moves: ['Kowtow Cleave', 'Sucker Punch', 'Swords Dance'], + signatureMove: 'Meat Grinder', + evs: {hp: 252, atk: 252, def: 4}, nature: 'Adamant', teraType: 'Flying', + }, + 'Quite Quiet': { + species: 'Ribombee', ability: 'Fancy Scarf', item: ['Life Orb', 'Leftovers'], gender: 'F', + moves: ['Roost', 'Moonblast', ['Aura Sphere', 'U-turn']], + signatureMove: '*Worried Noises*', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Flying', + // The nature not being Quiet is a crime + }, + quziel: { + species: 'Chromera', ability: 'High Performance Computing', item: 'Covert Cloak', gender: 'M', + moves: ['Recover', 'Revelation Dance', 'Boomburst'], + signatureMove: 'Reshape', + evs: {def: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Ghost', + }, + R8: { + species: 'Chansey', ability: 'Anti-Pelau', item: 'Eviolite', gender: 'N', + moves: ['Ice Beam', 'Thunderbolt', 'Flamethrower'], + signatureMove: 'Magic Trick', + evs: {hp: 252, spa: 252, spe: 4}, ivs: {atk: 0}, nature: 'Modest', teraType: 'Ice', shiny: 256, + }, + Rainshaft: { + species: 'Xerneas', ability: 'Rainy\'s Aura', item: 'Rainium Z', gender: 'F', + moves: ['Psychic Noise', 'Sing', 'Alluring Voice'], + signatureMove: 'Sparkling Aria', + evs: {hp: 252, spa: 252, spe: 4}, nature: 'Mild', + }, + Ransei: { + species: 'Audino-Mega', ability: 'Ultra Mystik', item: 'Safety Goggles', gender: 'M', + moves: ['Psystrike', 'Transform', 'Light of Ruin'], + signatureMove: 'Flood of Lore', + evs: {hp: 252, def: 4, spa: 252}, ivs: {spe: 0}, nature: 'Modest', shiny: 2, + }, + ReturnToMonkey: { + species: 'Oranguru', ability: 'Monke See Monke Do', item: 'Twisted Spoon', gender: 'M', + moves: ['Hyper Voice', 'Psyshock', 'Focus Blast'], + signatureMove: 'Monke Magic', + evs: {hp: 252, def: 4, spa: 252}, ivs: {spe: 0}, nature: 'Quiet', teraType: 'Fighting', + }, + RSB: { + species: 'Growlithe', ability: 'Hot Pursuit', item: 'Eviolite', gender: 'M', + moves: ['Fire Fang', 'Thunder Fang', 'Morning Sun'], + signatureMove: 'Confiscate', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Grass', + }, + Rumia: { + species: 'Duskull', ability: 'Youkai of the Dusk', item: 'Eviolite', gender: 'N', + moves: ['Infernal Parade', 'Strength Sap', 'Mortal Spin'], + signatureMove: 'Midnight Bird', + evs: {hp: 252, def: 252, spa: 4}, nature: 'Bold', teraType: 'Poison', shiny: true, + }, + Scotteh: { + species: 'Suicune', ability: 'Water Absorb', item: 'Leftovers', gender: '', + moves: ['Calm Mind', 'Scald', 'Ice Beam'], + signatureMove: 'Purification', + evs: {hp: 252, def: 252, spd: 4}, nature: 'Bold', teraType: 'Water', + }, + SexyMalasada: { + species: 'Typhlosion', ability: 'Ancestry Ritual', item: 'Life Orb', gender: 'M', + moves: ['Calm Mind', 'Aura Sphere', 'Flamethrower'], + signatureMove: 'Hexadecimal Fire', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Ghost', shiny: true, + }, + sharp_claw: { + species: 'Sneasel', ability: 'Regenerator', item: 'Heavy-Duty Boots', gender: 'F', + moves: ['Knock Off', 'Ice Spinner', 'Ice Shard'], + signatureMove: 'Treacherous Traversal', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Poison', + }, + 'sharp_claw-Rough': { + species: 'Sneasel-Hisui', ability: 'Regenerator', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Combat Torque', 'Noxious Torque', 'Mach Punch'], + signatureMove: 'Treacherous Traversal', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Poison', skip: 'sharp_claw', + }, + Siegfried: { + species: 'Ampharos', ability: 'Static', item: 'Ampharosite', gender: 'M', + moves: ['Calm Mind', 'Thunderclap', 'Draco Meteor'], + signatureMove: 'BoltBeam', + evs: {hp: 252, spa: 252, spd: 4}, nature: 'Modest', shiny: 64, + }, + 'Sificon~': { + species: 'Hoppip', ability: 'Perfectly Imperfect', item: 'Eviolite', gender: 'M', + moves: ['Strength Sap', 'Spikes', 'Seismic Toss'], + signatureMove: 'Grass Gaming', + evs: {hp: 252, def: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', teraType: 'Dragon', + }, + skies: { + species: 'Chespin', ability: 'Spikes of Wrath', item: 'Sitrus Berry', gender: 'F', + moves: ['Bulk Up', 'Strength Sap', 'Body Press'], + signatureMove: 'Like..?', + evs: {hp: 252, atk: 4, def: 252}, nature: 'Impish', teraType: ['Water', 'Steel'], shiny: 15, + }, + snake: { + species: 'Fidgit', ability: 'Persistent', item: ['Mental Herb', 'Covert Cloak', 'Leppa Berry'], gender: 'M', + moves: ['Tailwind', 'Revival Blessing', 'Taunt'], + signatureMove: 'Concept Relevant', + evs: {hp: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Water', + }, + 'Soft Flex': { + species: 'Magnezone', ability: 'Adaptive Engineering', item: 'Leftovers', gender: 'N', + moves: ['Thunderbolt', 'Substitute', 'Parabolic Charge'], + signatureMove: 'Adaptive Beam', + evs: {hp: 248, def: 8, spe: 252}, nature: 'Timid', teraType: 'Flying', + }, + 'Solaros & Lunaris': { + species: 'Scovillain', ability: 'Ride the Sun!', item: 'Heavy-Duty Boots', gender: 'N', + moves: ['Solar Beam', 'Growth', 'Moonlight'], + signatureMove: 'Mind Melt', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Modest', teraType: 'Fire', + }, + spoo: { + species: 'Hemogoblin', ability: 'I Can Hear The Heart Beating As One', item: 'Heavy-Duty Boots', gender: 'N', + moves: ['Extreme Speed', 'Bitter Blade', 'Moonlight'], + signatureMove: 'Cardio Training', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', teraType: 'Fairy', shiny: 32, + }, + Steorra: { + species: 'Kitsunoh', ability: 'Ghostly Hallow', item: 'Choice Band', gender: '', + moves: ['Meteor Mash', 'Shadow Strike', 'U-turn'], + signatureMove: 'Phantom Weapon', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: ['Steel', 'Ghost'], shiny: 2, + }, + Struchni: { + species: 'Aggron', ability: 'Overasked Clause', item: 'Leftovers', gender: 'M', + moves: ['Protect', 'Encore', 'U-turn'], + signatureMove: '~randfact', + evs: {hp: 252, def: 16, spd: 240}, nature: 'Careful', teraType: 'Steel', + }, + Sulo: { + species: 'Reuniclus', ability: 'Protection of the Gelatin', item: 'Life Orb', gender: 'M', + moves: ['Calm Mind', 'Draining Kiss', 'Stored Power'], + signatureMove: 'Vengeful Mood', + evs: {hp: 252, def: 252, spd: 4}, nature: 'Bold', teraType: 'Fairy', shiny: true, + }, + Swiffix: { + species: 'Piplup', ability: 'Stinky', item: 'Eviolite', gender: 'M', + moves: ['Water Shuriken', 'Nasty Plot', 'Roost'], + signatureMove: 'Stink Bomb', + evs: {hp: 252, def: 4, spa: 252}, nature: 'Modest', teraType: 'Water', + }, + Teclis: { + species: 'Gallade', ability: 'Sharpness', item: 'Life Orb', gender: 'M', + moves: ['Sacred Sword', 'Psycho Cut', 'Leaf Blade'], + signatureMove: 'Rising Sword', + evs: {hp: 4, atk: 252, spe: 252}, nature: 'Adamant', teraType: 'Psychic', + }, + Tenshi: { + species: 'Sandshrew', ability: 'Sand Sleuth', item: 'Eviolite', gender: 'M', + moves: ['Precipice Blades', 'Dynamic Punch', 'Rapid Spin'], + signatureMove: 'SAND EAT', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Ground', shiny: 10, + }, + Theia: { + species: 'Litwick', ability: 'Power Abuse', item: 'Eviolite', gender: 'F', + moves: ['Shadow Ball', 'Flamethrower', 'Giga Drain'], + signatureMove: 'Body Count', + evs: {hp: 252, spa: 252, spd: 4}, nature: 'Modest', teraType: 'Ghost', + }, + TheJesucristoOsAma: { + species: 'Arceus', ability: 'The Grace Of Jesus Christ', gender: 'N', + item: [ + 'Draco Plate', 'Dread Plate', 'Earth Plate', 'Fist Plate', 'Flame Plate', 'Icicle Plate', 'Insect Plate', 'Iron Plate', 'Meadow Plate', + 'Mind Plate', 'Pixie Plate', 'Sky Plate', 'Splash Plate', 'Spooky Plate', 'Stone Plate', 'Toxic Plate', 'Zap Plate', + ], + moves: ['Earthquake', 'Surf', 'Judgment'], + signatureMove: 'The Love Of Christ', + evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', + }, + Tico: { + species: 'Floette-Eternal', ability: 'Eternal Generator', item: ['Covert Cloak', 'Red Card'], gender: 'M', + moves: ['Light of Ruin', 'Lava Plume', 'Teleport'], + signatureMove: 'Eternal Wish', + evs: {hp: 252, def: 16, spe: 240}, nature: 'Timid', teraType: ['Fire', 'Steel'], shiny: false, + }, + trace: { + species: 'Delphox', ability: 'Eyes of Eternity', item: 'Life Orb', gender: 'F', + moves: ['Calm Mind', 'Inferno', 'Recover'], + signatureMove: 'Chronostasis', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Modest', teraType: 'Psychic', + }, + 'Two of Roses': { + species: 'Luxray', ability: 'As We See', item: 'Mirror Herb', gender: 'M', + moves: ['Knock Off', 'Supercell Slam', 'Trailblaze'], + signatureMove: 'Dilly Dally', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Flying', shiny: 1024, + }, + UT: { + species: 'Talonflame', ability: 'Gale Guard', item: 'Leftovers', gender: 'M', + moves: ['Brave Bird', 'Roost', 'Defog'], + signatureMove: 'My Boys', + evs: {hp: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Flying', + }, + Valerian: { + species: 'Lucario', ability: 'Full Bloom', item: 'Clear Amulet', gender: 'F', + moves: ['Bullet Punch', 'Mach Punch', 'Parting Shot'], + signatureMove: 'First Strike', + evs: {hp: 252, atk: 252, def: 4}, nature: 'Adamant', teraType: 'Fighting', + }, + Venous: { + species: 'Mantine', ability: 'Concrete Over Water', item: 'Leftovers', gender: '', + moves: ['Scald', 'Roost', 'Clear Smog'], + signatureMove: 'Your Crippling Interest', + evs: {hp: 248, def: 244, spd: 16}, nature: 'Calm', teraType: 'Normal', shiny: 5, + }, + 'Vio͜͡let': { + species: 'Ogerpon', ability: 'See No Evil, Hear No Evil, Speak No Evil', item: 'Berry Juice', gender: 'F', + moves: ['Crabhammer', 'Mighty Cleave', 'Fire Lash'], + signatureMove: 'building character', + evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', teraType: 'Stellar', + }, + Vistar: { + species: 'Zeraora', ability: 'Prankster', item: 'Throat Spray', gender: 'M', + moves: ['Encore', 'Volt Switch', 'Copycat'], + signatureMove: 'Virtual Avatar', + evs: {def: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Electric', + }, + 'Vistar-Idol': { + species: 'Zeraora', ability: 'Virtual Idol', item: 'Throat Spray', gender: 'M', + moves: ['Sparkling Aria', 'Torch Song', 'Teeter Dance'], + signatureMove: 'Overdrive', + evs: {def: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Electric', shiny: true, skip: 'Vistar', + }, + vmnunes: { + species: 'Shaymin-Sky', ability: 'Wild Growth', item: 'Big Root', gender: 'M', + moves: ['Giga Drain', 'Oblivion Wing', 'Draining Kiss'], + signatureMove: 'Gracidea\'s Blessing', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', teraType: 'Fairy', + }, + WarriorGallade: { + species: 'Tropius', ability: 'Primeval Harvest', item: 'Starf Berry', gender: ['M', 'M', 'F'], + moves: ['Sunny Day', 'Natural Gift', ['Bitter Blade', 'Sappy Seed', 'Stored Power', 'Counter']], + signatureMove: 'Fruitful Longbow', + // eslint-disable-next-line max-len + evs: {hp: 184, atk: 112, def: 36, spd: 88, spe: 88}, ivs: {spa: 29}, nature: 'Impish', teraType: ['Dragon', 'Psychic', 'Fighting'], shiny: 20, + }, + Waves: { + species: 'Wailord', ability: 'Primordial Sea', item: 'Assault Vest', gender: 'M', + moves: ['Water Spout', 'Hurricane', 'Thunder'], + signatureMove: 'Torrential Drain', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Modest', teraType: 'Water', + }, + WigglyTree: { + species: 'Sudowoodo', ability: 'Tree Stance', item: 'Liechi Berry', gender: 'M', + moves: ['Shell Smash', 'Wood Hammer', 'Head Smash'], + signatureMove: 'Perfect Mimic', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Adamant', teraType: 'Grass', + }, + 'XpRienzo ☑◡☑': { + species: 'Reshiram', ability: 'Turboblaze', item: 'Choice Scarf', gender: 'M', + moves: ['Draco Meteor', 'Volt Switch', 'Flash Cannon'], + signatureMove: 'Scorching Truth', + evs: {spa: 252, spd: 4, spe: 252}, nature: 'Modest', teraType: 'Fire', + }, + xy01: { + species: 'Blissey', ability: 'Panic', item: 'Heavy-Duty Boots', gender: 'M', + moves: ['Soft-Boiled', 'Seismic Toss', 'Aromatherapy'], + signatureMove: 'Poisonous Wind', + evs: {hp: 248, def: 252, spd: 8}, nature: 'Bold', teraType: 'Fairy', shiny: true, + }, + 'Yellow Paint': { + species: 'Rotom-Frost', ability: 'Yellow Magic', item: 'Chilan Berry', gender: 'N', + moves: ['Thunderbolt', 'Blizzard', 'Ion Deluge'], + signatureMove: 'Whiteout', + evs: {hp: 252, spa: 252, spe: 4}, nature: 'Modest', teraType: 'Steel', shiny: 2, + }, + YveltalNL: { + species: 'Farigiraf', ability: 'Height Advantage', item: 'Leftovers', gender: 'M', + moves: ['Freezing Glare', 'Ice Beam', 'Slack Off'], + signatureMove: 'High Ground', + evs: {hp: 248, spa: 252, spe: 8}, nature: 'Modest', teraType: 'Ground', + }, + za: { + species: 'Greedent', ability: 'Troll', item: 'Leftovers', gender: 'M', + moves: ['Headbutt', 'Iron Head', 'Foul Play'], + signatureMove: 'Shitpost', + evs: {hp: 252, def: 252, spe: 6}, nature: 'Impish', teraType: 'Steel', + }, + Zalm: { + species: 'Weedle', ability: 'Water Bubble', item: 'Clear Amulet', gender: '', + moves: ['Surging Strikes', 'Attack Order', 'Dire Claw'], + signatureMove: 'Dud ur a fish', + evs: {hp: 4, atk: 252, spe: 252}, nature: 'Adamant', teraType: 'Water', + }, + Zarel: { + species: 'Meloetta', ability: 'Tempo Change', item: 'Leftovers', gender: 'M', + moves: ['Psystrike', 'Armor Cannon', 'Obstruct'], + signatureMove: '@ts-ignore', + evs: {def: 4, spa: 252, spe: 252}, nature: 'Timid', teraType: 'Stellar', + }, + 'Zarel-Pirouette': { + species: 'Meloetta-Pirouette', ability: 'Tempo Change', item: 'Leftovers', gender: 'M', + moves: ['Close Combat', 'Knock Off', 'Silk Trap'], + signatureMove: '@ts-ignore', + evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', teraType: 'Stellar', skip: 'Zarel', + }, + zee: { + species: 'Lilligant-Hisui', ability: 'Chlorophyll', item: 'Heat Rock', gender: 'F', + moves: [['Close Combat', 'Axe Kick'], ['Solar Blade', 'Seed Bomb'], 'Victory Dance'], + signatureMove: 'Solar Summon', + evs: {hp: 80, atk: 176, spe: 252}, nature: 'Adamant', teraType: 'Fire', + }, + zoro: { + species: 'Umbreon', ability: 'Nine Lives', item: 'Leftovers', gender: 'M', + moves: ['Wish', 'Protect', 'Toxic'], + signatureMove: 'Darkest Night', + evs: {hp: 252, def: 240, spd: 16}, nature: 'Calm', teraType: 'Steel', shiny: true, + }, +}; + +export class RandomStaffBrosTeams extends RandomTeams { + randomStaffBrosTeam(options: {inBattle?: boolean} = {}) { + this.enforceNoDirectCustomBanlistChanges(); + + const team: PokemonSet[] = []; + const debug: string[] = []; // Set this to a list of SSB sets to override the normal pool for debugging. + const ruleTable = this.dex.formats.getRuleTable(this.format); + const monotype = this.forceMonotype || (ruleTable.has('sametypeclause') ? + this.sample([...this.dex.types.names().filter(x => x !== 'Stellar')]) : false); + + let pool = Object.keys(ssbSets); + if (debug.length) { + while (debug.length < 6) { + const staff = this.sampleNoReplace(pool); + if (debug.includes(staff) || ssbSets[staff].skip) continue; + debug.push(staff); + } + pool = debug; + } + if (monotype && !debug.length) { + pool = pool.filter(x => this.dex.species.get(ssbSets[x].species).types.includes(monotype)); + } + if (global.Config?.disabledssbsets?.length) { + pool = pool.filter(x => !global.Config.disabledssbsets.includes(this.dex.toID(x))); + } + const typePool: {[k: string]: number} = {}; + let depth = 0; + while (pool.length && team.length < this.maxTeamSize) { + if (depth >= 200) throw new Error(`Infinite loop in Super Staff Bros team generation.`); + depth++; + const name = this.sampleNoReplace(pool); + const ssbSet: SSBSet = this.dex.deepClone(ssbSets[name]); + if (ssbSet.skip) continue; + + // Enforce typing limits + if (!(debug.length || monotype)) { // Type limits are ignored for debugging, monotype, or memes. + const species = this.dex.species.get(ssbSet.species); + + const weaknesses = []; + for (const type of this.dex.types.names()) { + const typeMod = this.dex.getEffectiveness(type, species.types); + if (typeMod > 0) weaknesses.push(type); + } + let rejected = false; + for (const type of weaknesses) { + if (typePool[type] === undefined) typePool[type] = 0; + if (typePool[type] >= 3) { + // Reject + rejected = true; + break; + } + } + if (ssbSet.ability === 'Wonder Guard') { + if (!typePool['wonderguard']) { + typePool['wonderguard'] = 1; + } else { + rejected = true; + } + } + if (rejected) continue; + // Update type counts + for (const type of weaknesses) { + typePool[type]++; + } + } + + let teraType: string | undefined; + if (ssbSet.teraType) { + teraType = ssbSet.teraType === 'Any' ? + this.sample(this.dex.types.names()) : + this.sampleIfArray(ssbSet.teraType); + } + const moves: string[] = []; + while (moves.length < 3 && ssbSet.moves.length > 0) { + let move = this.sampleNoReplace(ssbSet.moves); + if (Array.isArray(move)) move = this.sampleNoReplace(move); + moves.push(this.dex.moves.get(move).name); + } + moves.push(this.dex.moves.get(ssbSet.signatureMove).name); + const ivs = {...{hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}, ...ssbSet.ivs}; + if (!moves.map(x => this.dex.moves.get(x)).some(x => x.category === 'Physical')) { + ivs.atk = 0; + } + + const set: PokemonSet = { + name, + species: ssbSet.species, + item: this.sampleIfArray(ssbSet.item), + ability: this.sampleIfArray(ssbSet.ability), + moves, + nature: ssbSet.nature ? Array.isArray(ssbSet.nature) ? this.sampleNoReplace(ssbSet.nature) : ssbSet.nature : 'Serious', + gender: ssbSet.gender ? this.sampleIfArray(ssbSet.gender) : this.sample(['M', 'F', 'N']), + evs: ssbSet.evs ? {...{hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 0}, ...ssbSet.evs} : + {hp: 84, atk: 84, def: 84, spa: 84, spd: 84, spe: 84}, + ivs, + level: this.adjustLevel || ssbSet.level || 100, + happiness: typeof ssbSet.happiness === 'number' ? ssbSet.happiness : 255, + shiny: typeof ssbSet.shiny === 'number' ? this.randomChance(1, ssbSet.shiny) : !!ssbSet.shiny, + }; + + // Any set specific tweaks occur here. + if (set.name === "Felucia") { + const cmIndex = set.moves.indexOf("Calm Mind"); + if (cmIndex >= 0 && set.moves.includes("Night Shade")) { + set.moves[cmIndex] = this.sample(["Thief", "Toxic"]); + } + } + if (set.name === "Lionyx") { + if (set.moves.includes("Bolt Strike")) { + teraType = 'Electric'; + } else { + teraType = 'Ice'; + } + } + + if (teraType) set.teraType = teraType; + + team.push(set); + + // Team specific tweaks occur here + // Swap last and second to last sets if last set has Illusion + if (team.length === this.maxTeamSize && (set.ability === 'Illusion' || set.ability === 'Illusion Master')) { + team[this.maxTeamSize - 1] = team[this.maxTeamSize - 2]; + team[this.maxTeamSize - 2] = set; + } + } + return team; + } +} + +export default RandomStaffBrosTeams; diff --git a/data/mods/gen9ssb/rulesets.ts b/data/mods/gen9ssb/rulesets.ts new file mode 100644 index 000000000000..b5f8a95db8ab --- /dev/null +++ b/data/mods/gen9ssb/rulesets.ts @@ -0,0 +1,26 @@ +export const Rulesets: {[k: string]: ModdedFormatData} = { + sleepclausemod: { + inherit: true, + onSetStatus(status, target, source) { + if (source && source.isAlly(target)) { + return; + } + if (status.id === 'slp') { + for (const pokemon of target.side.pokemon) { + if (pokemon.hp && pokemon.status === 'slp') { + if (!pokemon.statusState.source || !pokemon.statusState.source.isAlly(pokemon)) { + if (source.hasAbility('ididitagain') && !source.m.bypassedSleepClause) { + this.add('-ability', source, 'I Did It Again'); + source.m.bypassedSleepClause = true; + return; + } + this.add('-message', 'Sleep Clause Mod activated.'); + this.hint("Sleep Clause Mod prevents players from putting more than one of their opponent's Pokémon to sleep at a time"); + return false; + } + } + } + } + }, + }, +}; diff --git a/data/mods/gen9ssb/scripts.ts b/data/mods/gen9ssb/scripts.ts new file mode 100644 index 000000000000..e2a3523fd081 --- /dev/null +++ b/data/mods/gen9ssb/scripts.ts @@ -0,0 +1,2037 @@ +import {SSBSet} from "./random-teams"; +import {ChosenAction} from '../../../sim/side'; +import {FS} from '../../../lib'; +import {toID} from '../../../sim/dex-data'; + +// Similar to User.usergroups. Cannot import here due to users.ts requiring Chat +// This also acts as a cache, meaning ranks will only update when a hotpatch/restart occurs +const usergroups: {[userid: string]: string} = {}; +const usergroupData = FS('config/usergroups.csv').readIfExistsSync().split('\n'); +for (const row of usergroupData) { + if (!toID(row)) continue; + + const cells = row.split(','); + if (cells.length > 3) throw new Error(`Invalid entry when parsing usergroups.csv`); + usergroups[toID(cells[0])] = cells[1].trim() || ' '; +} + +const roomauth: {[roomid: string]: {[userid: string]: string}} = {}; +/** + * Given a username and room, returns the auth they have in that room. Used for some conditional messages/effects. + * Each room is cached on the first call until the process is restarted. + */ +export function getRoomauth(name: string, room: string) { + const userid = toID(name); + const roomid = toID(room); + if (roomauth[roomid]) return roomauth[roomid][userid] || null; + const roomsList: any[] = JSON.parse(FS('config/chatrooms.json').readIfExistsSync() || '[]'); + const roomData = roomsList.find(r => toID(r.title) === roomid); + if (!roomData) return null; + roomauth[roomid] = roomData.auth; + return roomauth[roomid][userid] || null; +} + +export function getName(name: string): string { + const userid = toID(name); + if (!userid) throw new Error('No/Invalid name passed to getSymbol'); + + let group = usergroups[userid] || ' '; + if (name === 'Artemis') group = '@'; + if (name === 'Jeopard-E' || name === 'Ice Kyubs') group = '*'; + return Math.floor(Date.now() / 1000) + '|' + group + name; +} + +export function enemyStaff(pokemon: Pokemon): string { + const foePokemon = pokemon.side.foe.active[0]; + if (foePokemon.illusion) return foePokemon.illusion.name; + return foePokemon.name; +} + +/** TODO: What happened to make this work weird? + * Assigns a new set to a Pokémon + * @param pokemon the Pokemon to assign the set to + * @param newSet the SSBSet to assign + */ +export function changeSet(context: Battle, pokemon: Pokemon, newSet: SSBSet, changeAbility = false) { + if (pokemon.transformed) return; + const evs: StatsTable = { + hp: newSet.evs?.hp || 0, + atk: newSet.evs?.atk || 0, + def: newSet.evs?.def || 0, + spa: newSet.evs?.spa || 0, + spd: newSet.evs?.spd || 0, + spe: newSet.evs?.spe || 0, + }; + const ivs: StatsTable = { + hp: newSet.ivs?.hp || 31, + atk: newSet.ivs?.atk || 31, + def: newSet.ivs?.def || 31, + spa: newSet.ivs?.spa || 31, + spd: newSet.ivs?.spd || 31, + spe: newSet.ivs?.spe || 31, + }; + pokemon.set.evs = evs; + pokemon.set.ivs = ivs; + if (newSet.nature) pokemon.set.nature = Array.isArray(newSet.nature) ? context.sample(newSet.nature) : newSet.nature; + const oldShiny = pokemon.set.shiny; + pokemon.set.shiny = (typeof newSet.shiny === 'number') ? context.randomChance(1, newSet.shiny) : !!newSet.shiny; + let percent = (pokemon.hp / pokemon.baseMaxhp); + if (newSet.species === 'Shedinja') percent = 1; + pokemon.formeChange(newSet.species, context.effect, true); + if (!pokemon.terastallized && newSet.teraType) { + const allTypes = context.dex.types.all().map(x => x.name); + pokemon.teraType = newSet.teraType === 'Any' ? + allTypes[Math.floor(Math.random() * allTypes.length)] : + Array.isArray(newSet.teraType) ? + newSet.teraType[Math.floor(Math.random() * newSet.teraType.length)] : + newSet.teraType; + } + const details = pokemon.species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); + if (oldShiny !== pokemon.set.shiny) context.add('replace', pokemon, details); + if (changeAbility) pokemon.setAbility(newSet.ability as string, undefined, true); + + pokemon.baseMaxhp = pokemon.species.name === 'Shedinja' ? 1 : Math.floor(Math.floor( + 2 * pokemon.species.baseStats.hp + pokemon.set.ivs.hp + Math.floor(pokemon.set.evs.hp / 4) + 100 + ) * pokemon.level / 100 + 10); + const newMaxHP = pokemon.baseMaxhp; + pokemon.hp = Math.round(newMaxHP * percent); + pokemon.maxhp = newMaxHP; + context.add('-heal', pokemon, pokemon.getHealth, '[silent]'); + if (pokemon.item) { + let item = newSet.item; + if (typeof item !== 'string') item = item[context.random(item.length)]; + if (context.toID(item) !== (pokemon.item || pokemon.lastItem)) pokemon.setItem(item); + } + if (!pokemon.m.datacorrupt) { + const newMoves = changeMoves(context, pokemon, newSet.moves.concat(newSet.signatureMove)); + pokemon.moveSlots = newMoves; + // Necessary so pokemon doesn't get 8 moves + (pokemon as any).baseMoveSlots = newMoves; + } + pokemon.canMegaEvo = context.actions.canMegaEvo(pokemon); + pokemon.canUltraBurst = context.actions.canUltraBurst(pokemon); + pokemon.canTerastallize = context.actions.canTerastallize(pokemon); + context.add('message', `${pokemon.name} changed form!`); +} + +/** + * Assigns new moves to a Pokemon + * @param pokemon The Pokemon whose moveset is to be modified + * @param newSet The set whose moves should be assigned + */ +export function changeMoves(context: Battle, pokemon: Pokemon, newMoves: (string | string[])[]) { + const carryOver = pokemon.moveSlots.slice().map(m => m.pp / m.maxpp); + // In case there are ever less than 4 moves + while (carryOver.length < 4) { + carryOver.push(1); + } + const result = []; + let slot = 0; + for (const newMove of newMoves) { + const moveName = Array.isArray(newMove) ? newMove[context.random(newMove.length)] : newMove; + const move = context.dex.moves.get(context.toID(moveName)); + if (!move.id) continue; + const moveSlot = { + move: move.name, + id: move.id, + // eslint-disable-next-line max-len + pp: ((move.noPPBoosts || move.isZ) ? Math.floor(move.pp * carryOver[slot]) : Math.floor((move.pp * (8 / 5)) * carryOver[slot])), + maxpp: ((move.noPPBoosts || move.isZ) ? move.pp : move.pp * 8 / 5), + target: move.target, + disabled: false, + disabledSource: '', + used: false, + }; + result.push(moveSlot); + slot++; + } + return result; +} + +export const Scripts: ModdedBattleScriptsData = { + gen: 9, + inherit: 'gen9', + boost(boost, target, source, effect, isSecondary, isSelf) { + if (this.event) { + if (!target) target = this.event.target; + if (!source) source = this.event.source; + if (!effect) effect = this.effect; + } + if (!target?.hp) return 0; + if (!target.isActive) return false; + if (this.gen > 5 && !target.side.foePokemonLeft()) return false; + boost = this.runEvent('ChangeBoost', target, source, effect, {...boost}); + boost = target.getCappedBoost(boost); + boost = this.runEvent('TryBoost', target, source, effect, {...boost}); + let success = null; + let boosted = isSecondary; + let boostName: BoostID; + if (target.set.name === 'phoopes') { + if (boost.spa) { + boost.spd = boost.spa; + } + if (boost.spd) { + boost.spa = boost.spd; + } + } + for (boostName in boost) { + const currentBoost: SparseBoostsTable = { + [boostName]: boost[boostName], + }; + let boostBy = target.boostBy(currentBoost); + let msg = '-boost'; + if (boost[boostName]! < 0 || target.boosts[boostName] === -6) { + msg = '-unboost'; + boostBy = -boostBy; + } + if (boostBy) { + success = true; + switch (effect?.id) { + case 'bellydrum': case 'angerpoint': + this.add('-setboost', target, 'atk', target.boosts['atk'], '[from] ' + effect.fullname); + break; + case 'bellydrum2': + this.add(msg, target, boostName, boostBy, '[silent]'); + this.hint("In Gen 2, Belly Drum boosts by 2 when it fails."); + break; + case 'zpower': + this.add(msg, target, boostName, boostBy, '[zeffect]'); + break; + default: + if (!effect) break; + if (effect.effectType === 'Move') { + this.add(msg, target, boostName, boostBy); + } else if (effect.effectType === 'Item') { + this.add(msg, target, boostName, boostBy, '[from] item: ' + effect.name); + } else { + if (effect.effectType === 'Ability' && !boosted) { + this.add('-ability', target, effect.name, 'boost'); + boosted = true; + } + this.add(msg, target, boostName, boostBy); + } + break; + } + this.runEvent('AfterEachBoost', target, source, effect, currentBoost); + } else if (effect?.effectType === 'Ability') { + if (isSecondary || isSelf) this.add(msg, target, boostName, boostBy); + } else if (!isSecondary && !isSelf) { + this.add(msg, target, boostName, boostBy); + } + } + this.runEvent('AfterBoost', target, source, effect, boost); + if (success) { + if (Object.values(boost).some(x => x > 0)) target.statsRaisedThisTurn = true; + if (Object.values(boost).some(x => x < 0)) target.statsLoweredThisTurn = true; + } + return success; + }, + getActionSpeed(action) { + if (action.choice === 'move') { + let move = action.move; + if (action.zmove) { + const zMoveName = this.actions.getZMove(action.move, action.pokemon, true); + if (zMoveName) { + const zMove = this.dex.getActiveMove(zMoveName); + if (zMove.exists && zMove.isZ) { + move = zMove; + } + } + } + if (action.maxMove) { + const maxMoveName = this.actions.getMaxMove(action.maxMove, action.pokemon); + if (maxMoveName) { + const maxMove = this.actions.getActiveMaxMove(action.move, action.pokemon); + if (maxMove.exists && maxMove.isMax) { + move = maxMove; + } + } + } + // WHY DOES onModifyPriority TAKE A TARGET ARG WHEN IT IS ALWAYS NULL????? + const target = this.getTarget(action.pokemon, action.move, action.targetLoc); + // take priority from the base move, so abilities like Prankster only apply once + // (instead of compounding every time `getActionSpeed` is called) + let priority = this.dex.moves.get(move.id).priority; + // Grassy Glide priority + priority = this.singleEvent('ModifyPriority', move, null, action.pokemon, target, null, priority); + priority = this.runEvent('ModifyPriority', action.pokemon, target, move, priority); + action.priority = priority + action.fractionalPriority; + // In Gen 6, Quick Guard blocks moves with artificially enhanced priority. + if (this.gen > 5) action.move.priority = priority; + } + + if (!action.pokemon) { + action.speed = 1; + } else { + action.speed = action.pokemon.getActionSpeed(); + } + }, + // For some god forsaken reason removing the boolean declarations causes the "battles dont end automatically" bug + // I don't know why but in any case please don't touch this unless you know how to fix this + faintMessages(lastFirst = false, forceCheck = false, checkWin = true) { + if (this.ended) return; + const length = this.faintQueue.length; + if (!length) { + if (forceCheck && this.checkWin()) return true; + return false; + } + if (lastFirst) { + this.faintQueue.unshift(this.faintQueue[this.faintQueue.length - 1]); + this.faintQueue.pop(); + } + let faintQueueLeft, faintData; + while (this.faintQueue.length) { + faintQueueLeft = this.faintQueue.length; + faintData = this.faintQueue.shift()!; + const pokemon: Pokemon = faintData.target; + if (!pokemon.fainted && + this.runEvent('BeforeFaint', pokemon, faintData.source, faintData.effect)) { + if (!pokemon.isActive) { + this.add('message', `${pokemon.name} was killed by ${pokemon.side.name}!`); + // TODO: Custom Protocol needed for teambar update + } else { + this.add('faint', pokemon); + } + if (pokemon.side.pokemonLeft) pokemon.side.pokemonLeft--; + if (pokemon.side.totalFainted < 100) pokemon.side.totalFainted++; + this.runEvent('Faint', pokemon, faintData.source, faintData.effect); + this.singleEvent('End', pokemon.getAbility(), pokemon.abilityState, pokemon); + pokemon.clearVolatile(false); + pokemon.fainted = true; + pokemon.illusion = null; + pokemon.isActive = false; + pokemon.isStarted = false; + delete pokemon.terastallized; + pokemon.side.faintedThisTurn = pokemon; + if (this.faintQueue.length >= faintQueueLeft) checkWin = true; + } + } + + if (this.gen <= 1) { + // in gen 1, fainting skips the rest of the turn + // residuals don't exist in gen 1 + this.queue.clear(); + // Fainting clears accumulated Bide damage + for (const pokemon of this.getAllActive()) { + if (pokemon.volatiles['bide'] && pokemon.volatiles['bide'].damage) { + pokemon.volatiles['bide'].damage = 0; + this.hint("Desync Clause Mod activated!"); + this.hint("In Gen 1, Bide's accumulated damage is reset to 0 when a Pokemon faints."); + } + } + } else if (this.gen <= 3 && this.gameType === 'singles') { + // in gen 3 or earlier, fainting in singles skips to residuals + for (const pokemon of this.getAllActive()) { + if (this.gen <= 2) { + // in gen 2, fainting skips moves only + this.queue.cancelMove(pokemon); + } else { + // in gen 3, fainting skips all moves and switches + this.queue.cancelAction(pokemon); + } + } + } + + if (checkWin && this.checkWin(faintData)) return true; + + if (faintData && length) { + this.runEvent('AfterFaint', faintData.target, faintData.source, faintData.effect, length); + } + return false; + }, + checkMoveMakesContact(move, attacker, defender, announcePads) { + if (move.flags['contact'] && attacker.hasItem('protectivepads')) { + if (announcePads) { + this.add('-activate', defender, this.effect.fullname); + this.add('-activate', attacker, 'item: Protective Pads'); + } + return false; + } + if (move.id === 'wonderwing') return false; + return !!move.flags['contact']; + }, + // Fake switch needed for HiZo's Scapegoat + runAction(action) { + const pokemonOriginalHP = action.pokemon?.hp; + let residualPokemon: (readonly [Pokemon, number])[] = []; + // returns whether or not we ended in a callback + switch (action.choice) { + case 'start': { + for (const side of this.sides) { + if (side.pokemonLeft) side.pokemonLeft = side.pokemon.length; + } + + this.add('start'); + + // Change Zacian/Zamazenta into their Crowned formes + for (const pokemon of this.getAllPokemon()) { + let rawSpecies: Species | null = null; + if (pokemon.species.id === 'zacian' && pokemon.item === 'rustedsword') { + rawSpecies = this.dex.species.get('Zacian-Crowned'); + } else if (pokemon.species.id === 'zamazenta' && pokemon.item === 'rustedshield') { + rawSpecies = this.dex.species.get('Zamazenta-Crowned'); + } + if (!rawSpecies) continue; + const species = pokemon.setSpecies(rawSpecies); + if (!species) continue; + pokemon.baseSpecies = rawSpecies; + pokemon.details = species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); + // pokemon.setAbility(species.abilities['0'], null, true); + // pokemon.baseAbility = pokemon.ability; + + const behemothMove: {[k: string]: string} = { + 'Zacian-Crowned': 'behemothblade', 'Zamazenta-Crowned': 'behemothbash', + }; + const ironHead = pokemon.baseMoves.indexOf('ironhead'); + if (ironHead >= 0) { + const move = this.dex.moves.get(behemothMove[rawSpecies.name]); + pokemon.baseMoveSlots[ironHead] = { + move: move.name, + id: move.id, + pp: (move.noPPBoosts || move.isZ) ? move.pp : move.pp * 8 / 5, + maxpp: (move.noPPBoosts || move.isZ) ? move.pp : move.pp * 8 / 5, + target: move.target, + disabled: false, + disabledSource: '', + used: false, + }; + pokemon.moveSlots = pokemon.baseMoveSlots.slice(); + } + } + + if (this.format.onBattleStart) this.format.onBattleStart.call(this); + for (const rule of this.ruleTable.keys()) { + if ('+*-!'.includes(rule.charAt(0))) continue; + const subFormat = this.dex.formats.get(rule); + if (subFormat.onBattleStart) subFormat.onBattleStart.call(this); + } + + for (const side of this.sides) { + for (let i = 0; i < side.active.length; i++) { + if (!side.pokemonLeft) { + // forfeited before starting + side.active[i] = side.pokemon[i]; + side.active[i].fainted = true; + side.active[i].hp = 0; + } else { + this.actions.switchIn(side.pokemon[i], i); + } + } + } + for (const pokemon of this.getAllPokemon()) { + this.singleEvent('Start', this.dex.conditions.getByID(pokemon.species.id), pokemon.speciesState, pokemon); + } + this.midTurn = true; + break; + } + + case 'move': + if (!action.pokemon.isActive) return false; + if (action.pokemon.fainted) return false; + this.actions.runMove(action.move, action.pokemon, action.targetLoc, action.sourceEffect, + action.zmove, undefined, action.maxMove, action.originalTarget); + break; + case 'megaEvo': + this.actions.runMegaEvo(action.pokemon); + break; + case 'runDynamax': + action.pokemon.addVolatile('dynamax'); + action.pokemon.side.dynamaxUsed = true; + if (action.pokemon.side.allySide) action.pokemon.side.allySide.dynamaxUsed = true; + break; + case 'terastallize': + this.actions.terastallize(action.pokemon); + break; + case 'beforeTurnMove': + if (!action.pokemon.isActive) return false; + if (action.pokemon.fainted) return false; + this.debug('before turn callback: ' + action.move.id); + const target = this.getTarget(action.pokemon, action.move, action.targetLoc); + if (!target) return false; + if (!action.move.beforeTurnCallback) throw new Error(`beforeTurnMove has no beforeTurnCallback`); + action.move.beforeTurnCallback.call(this, action.pokemon, target); + break; + case 'priorityChargeMove': + if (!action.pokemon.isActive) return false; + if (action.pokemon.fainted) return false; + this.debug('priority charge callback: ' + action.move.id); + if (!action.move.priorityChargeCallback) throw new Error(`priorityChargeMove has no priorityChargeCallback`); + action.move.priorityChargeCallback.call(this, action.pokemon); + break; + + case 'event': + this.runEvent(action.event!, action.pokemon); + break; + case 'team': + if (action.index === 0) { + action.pokemon.side.pokemon = []; + } + action.pokemon.side.pokemon.push(action.pokemon); + action.pokemon.position = action.index; + // we return here because the update event would crash since there are no active pokemon yet + return; + + case 'pass': + return; + case 'instaswitch': + case 'switch': + if (action.choice === 'switch' && action.pokemon.status) { + this.singleEvent('CheckShow', this.dex.abilities.getByID('naturalcure' as ID), null, action.pokemon); + } + if (this.actions.switchIn(action.target, action.pokemon.position, action.sourceEffect) === 'pursuitfaint') { + // a pokemon fainted from Pursuit before it could switch + if (this.gen <= 4) { + // in gen 2-4, the switch still happens + this.hint("Previously chosen switches continue in Gen 2-4 after a Pursuit target faints."); + action.priority = -101; + this.queue.unshift(action); + break; + } else { + // in gen 5+, the switch is cancelled + this.hint("A Pokemon can't switch between when it runs out of HP and when it faints"); + break; + } + } + break; + case 'revivalblessing': + action.pokemon.side.pokemonLeft++; + if (action.target.position < action.pokemon.side.active.length) { + this.queue.addChoice({ + choice: 'instaswitch', + pokemon: action.target, + target: action.target, + }); + } + action.target.fainted = false; + action.target.faintQueued = false; + action.target.subFainted = false; + action.target.status = ''; + action.target.hp = 1; // Needed so hp functions works + action.target.sethp(action.target.maxhp / 2); + this.add('-heal', action.target, action.target.getHealth, '[from] move: Revival Blessing'); + action.pokemon.side.removeSlotCondition(action.pokemon, 'revivalblessing'); + break; + // @ts-ignore I'm sorry but it takes a lot + case 'scapegoat': + // @ts-ignore + const percent = (action.target.hp / action.target.baseMaxhp) * 100; + // @ts-ignore TODO: Client support for custom faint + action.target.faint(); + if (percent > 66) { + this.add('message', `Your courage will be greatly rewarded.`); + // @ts-ignore + this.boost({atk: 3, spa: 3, spe: 3}, action.pokemon, action.pokemon, this.dex.moves.get('scapegoat')); + } else if (percent > 33) { + this.add('message', `Your offering was accepted.`); + // @ts-ignore + this.boost({atk: 2, spa: 2, spe: 2}, action.pokemon, action.pokemon, this.dex.moves.get('scapegoat')); + } else { + this.add('message', `Coward.`); + // @ts-ignore + this.boost({atk: 1, spa: 1, spe: 1}, action.pokemon, action.pokemon, this.dex.moves.get('scapegoat')); + } + // @ts-ignore + this.add(`c:|${getName((action.pokemon.illusion || action.pokemon).name)}|Don't worry, if this plan fails we can just blame ${action.target.name}`); + // @ts-ignore + action.pokemon.side.removeSlotCondition(action.pokemon, 'scapegoat'); + break; + case 'runUnnerve': + this.singleEvent('PreStart', action.pokemon.getAbility(), action.pokemon.abilityState, action.pokemon); + break; + case 'runSwitch': + this.actions.runSwitch(action.pokemon); + break; + case 'runPrimal': + if (!action.pokemon.transformed) { + this.singleEvent('Primal', action.pokemon.getItem(), action.pokemon.itemState, action.pokemon); + } + break; + case 'shift': + if (!action.pokemon.isActive) return false; + if (action.pokemon.fainted) return false; + this.swapPosition(action.pokemon, 1); + break; + + case 'beforeTurn': + this.eachEvent('BeforeTurn'); + break; + case 'residual': + this.add(''); + this.clearActiveMove(true); + this.updateSpeed(); + residualPokemon = this.getAllActive().map(pokemon => [pokemon, pokemon.getUndynamaxedHP()] as const); + this.residualEvent('Residual'); + this.add('upkeep'); + break; + } + + // phazing (Roar, etc) + for (const side of this.sides) { + for (const pokemon of side.active) { + if (pokemon.forceSwitchFlag) { + if (pokemon.hp) this.actions.dragIn(pokemon.side, pokemon.position); + pokemon.forceSwitchFlag = false; + } + } + } + + this.clearActiveMove(); + + // fainting + + this.faintMessages(); + if (this.ended) return true; + + // switching (fainted pokemon, U-turn, Baton Pass, etc) + + if (!this.queue.peek() || (this.gen <= 3 && ['move', 'residual'].includes(this.queue.peek()!.choice))) { + // in gen 3 or earlier, switching in fainted pokemon is done after + // every move, rather than only at the end of the turn. + this.checkFainted(); + } else if (action.choice === 'megaEvo' && this.gen === 7) { + this.eachEvent('Update'); + // In Gen 7, the action order is recalculated for a Pokémon that mega evolves. + for (const [i, queuedAction] of this.queue.list.entries()) { + if (queuedAction.pokemon === action.pokemon && queuedAction.choice === 'move') { + this.queue.list.splice(i, 1); + queuedAction.mega = 'done'; + this.queue.insertChoice(queuedAction, true); + break; + } + } + return false; + } else if (this.queue.peek()?.choice === 'instaswitch') { + return false; + } + + if (this.gen >= 5) { + this.eachEvent('Update'); + for (const [pokemon, originalHP] of residualPokemon) { + const maxhp = pokemon.getUndynamaxedHP(pokemon.maxhp); + if (pokemon.hp && pokemon.getUndynamaxedHP() <= maxhp / 2 && originalHP > maxhp / 2) { + if (!pokemon.m.cascade) this.runEvent('EmergencyExit', pokemon); + } + } + } + + if (action.choice === 'runSwitch') { + const pokemon = action.pokemon; + if (pokemon.hp && pokemon.hp <= pokemon.maxhp / 2 && pokemonOriginalHP! > pokemon.maxhp / 2) { + if (!pokemon.m.cascade) this.runEvent('EmergencyExit', pokemon); + } + } + + const switches = this.sides.map( + side => side.active.some(pokemon => pokemon && !!pokemon.switchFlag) + ); + + for (let i = 0; i < this.sides.length; i++) { + let reviveSwitch = false; // Used to ignore the fake switch for Revival Blessing + if (switches[i] && !this.canSwitch(this.sides[i])) { + for (const pokemon of this.sides[i].active) { + if (this.sides[i].slotConditions[pokemon.position]['revivalblessing'] || + this.sides[i].slotConditions[pokemon.position]['scapegoat']) { + reviveSwitch = true; + continue; + } + pokemon.switchFlag = false; + } + if (!reviveSwitch) switches[i] = false; + } else if (switches[i]) { + for (const pokemon of this.sides[i].active) { + if (pokemon.hp && pokemon.switchFlag && pokemon.switchFlag !== 'revivalblessing' && + pokemon.switchFlag !== 'scapegoat' && !pokemon.skipBeforeSwitchOutEventFlag) { + this.runEvent('BeforeSwitchOut', pokemon); + pokemon.skipBeforeSwitchOutEventFlag = true; + this.faintMessages(); // Pokemon may have fainted in BeforeSwitchOut + if (this.ended) return true; + if (pokemon.fainted) { + switches[i] = this.sides[i].active.some(sidePokemon => sidePokemon && !!sidePokemon.switchFlag); + } + } + } + } + } + + for (const playerSwitch of switches) { + if (playerSwitch) { + this.makeRequest('switch'); + return true; + } + } + + if (this.gen < 5) this.eachEvent('Update'); + + if (this.gen >= 8 && (this.queue.peek()?.choice === 'move' || this.queue.peek()?.choice === 'runDynamax')) { + // In gen 8, speed is updated dynamically so update the queue's speed properties and sort it. + this.updateSpeed(); + for (const queueAction of this.queue.list) { + if (queueAction.pokemon) this.getActionSpeed(queueAction); + } + this.queue.sort(); + } + + return false; + }, + actions: { + modifyDamage(baseDamage, pokemon, target, move, suppressMessages) { + const tr = this.battle.trunc; + if (!move.type) move.type = '???'; + const type = move.type; + + baseDamage += 2; + + if (move.spreadHit) { + // multi-target modifier (doubles only) + const spreadModifier = move.spreadModifier || (this.battle.gameType === 'freeforall' ? 0.5 : 0.75); + this.battle.debug('Spread modifier: ' + spreadModifier); + baseDamage = this.battle.modify(baseDamage, spreadModifier); + } else if (move.multihitType === 'parentalbond' && move.hit > 1) { + // Parental Bond modifier + const bondModifier = this.battle.gen > 6 && !pokemon.hasAbility('Almost Frosty') ? 0.25 : 0.5; + this.battle.debug(`Parental Bond modifier: ${bondModifier}`); + baseDamage = this.battle.modify(baseDamage, bondModifier); + } + + // weather modifier + baseDamage = this.battle.runEvent('WeatherModifyDamage', pokemon, target, move, baseDamage); + + // crit - not a modifier + const isCrit = target.getMoveHitData(move).crit; + if (isCrit) { + baseDamage = tr(baseDamage * (move.critModifier || (this.battle.gen >= 6 ? 1.5 : 2))); + } + + // random factor - also not a modifier + baseDamage = this.battle.randomizer(baseDamage); + + // STAB + // The "???" type never gets STAB + // Not even if you Roost in Gen 4 and somehow manage to use + // Struggle in the same turn. + // (On second thought, it might be easier to get a MissingNo.) + if (type !== '???') { + let stab: number | [number, number] = 1; + + const isSTAB = move.forceSTAB || pokemon.hasType(type) || pokemon.getTypes(false, true).includes(type); + if (isSTAB) { + stab = 1.5; + } + + // The Stellar tera type makes this incredibly confusing + // If the move's type does not match one of the user's base types, + // the Stellar tera type applies a one-time 1.2x damage boost for that type. + // + // If the move's type does match one of the user's base types, + // then the Stellar tera type applies a one-time 2x STAB boost for that type, + // and then goes back to using the regular 1.5x STAB boost for those types. + if (pokemon.terastallized === 'Stellar') { + if (!pokemon.stellarBoostedTypes.includes(type)) { + stab = isSTAB ? 2 : [4915, 4096]; + if (!(pokemon.species.name === 'Terapagos-Stellar' || pokemon.species.baseSpecies === 'Meloetta')) { + pokemon.stellarBoostedTypes.push(type); + } + } + } else { + if (pokemon.terastallized === type && pokemon.getTypes(false, true).includes(type)) { + stab = 2; + } + stab = this.battle.runEvent('ModifySTAB', pokemon, target, move, stab); + } + + baseDamage = this.battle.modify(baseDamage, stab); + } + + // types + let typeMod = target.runEffectiveness(move); + typeMod = this.battle.clampIntRange(typeMod, -6, 6); + target.getMoveHitData(move).typeMod = typeMod; + if (typeMod > 0) { + if (!suppressMessages) this.battle.add('-supereffective', target); + + for (let i = 0; i < typeMod; i++) { + baseDamage *= 2; + } + } + if (typeMod < 0) { + if (!suppressMessages) this.battle.add('-resisted', target); + + for (let i = 0; i > typeMod; i--) { + baseDamage = tr(baseDamage / 2); + } + } + + if (isCrit && !suppressMessages) this.battle.add('-crit', target); + + if (pokemon.status === 'brn' && move.category === 'Physical' && + !pokemon.hasAbility(['guts', 'fortifiedmetal'])) { + if (this.battle.gen < 6 || move.id !== 'facade') { + baseDamage = this.battle.modify(baseDamage, 0.5); + } + } + + // Generation 5, but nothing later, sets damage to 1 before the final damage modifiers + if (this.battle.gen === 5 && !baseDamage) baseDamage = 1; + + // Final modifier. Modifiers that modify damage after min damage check, such as Life Orb. + baseDamage = this.battle.runEvent('ModifyDamage', pokemon, target, move, baseDamage); + + if (move.isZOrMaxPowered && target.getMoveHitData(move).zBrokeProtect) { + baseDamage = this.battle.modify(baseDamage, 0.25); + this.battle.add('-zbroken', target); + } + + // Generation 6-7 moves the check for minimum 1 damage after the final modifier... + if (this.battle.gen !== 5 && !baseDamage) return 1; + + // ...but 16-bit truncation happens even later, and can truncate to 0 + return tr(baseDamage, 16); + }, + switchIn(pokemon, pos, sourceEffect, isDrag) { + if (!pokemon || pokemon.isActive) { + this.battle.hint("A switch failed because the Pokémon trying to switch in is already in."); + return false; + } + + const side = pokemon.side; + if (pos >= side.active.length) { + throw new Error(`Invalid switch position ${pos} / ${side.active.length}`); + } + const oldActive = side.active[pos]; + const unfaintedActive = oldActive?.hp ? oldActive : null; + if (unfaintedActive) { + oldActive.beingCalledBack = true; + let switchCopyFlag: 'copyvolatile' | 'shedtail' | boolean = false; + if (sourceEffect && typeof (sourceEffect as Move).selfSwitch === 'string') { + switchCopyFlag = (sourceEffect as Move).selfSwitch!; + } + if (!oldActive.skipBeforeSwitchOutEventFlag && !isDrag) { + this.battle.runEvent('BeforeSwitchOut', oldActive); + if (this.battle.gen >= 5) { + this.battle.eachEvent('Update'); + } + } + oldActive.skipBeforeSwitchOutEventFlag = false; + if (!this.battle.runEvent('SwitchOut', oldActive)) { + // Warning: DO NOT interrupt a switch-out if you just want to trap a pokemon. + // To trap a pokemon and prevent it from switching out, (e.g. Mean Look, Magnet Pull) + // use the 'trapped' flag instead. + + // Note: Nothing in the real games can interrupt a switch-out (except Pursuit KOing, + // which is handled elsewhere); this is just for custom formats. + return false; + } + if (!oldActive.hp) { + // a pokemon fainted from Pursuit before it could switch + return 'pursuitfaint'; + } + + // will definitely switch out at this point + + oldActive.illusion = null; + this.battle.singleEvent('End', oldActive.getAbility(), oldActive.abilityState, oldActive); + + // if a pokemon is forced out by Whirlwind/etc or Eject Button/Pack, it can't use its chosen move + this.battle.queue.cancelAction(oldActive); + + let newMove = null; + if (this.battle.gen === 4 && sourceEffect) { + newMove = oldActive.lastMove; + } + if (switchCopyFlag) { + pokemon.copyVolatileFrom(oldActive, switchCopyFlag); + } + if (newMove) pokemon.lastMove = newMove; + oldActive.clearVolatile(); + } + if (oldActive) { + oldActive.isActive = false; + oldActive.isStarted = false; + oldActive.usedItemThisTurn = false; + oldActive.statsRaisedThisTurn = false; + oldActive.statsLoweredThisTurn = false; + // ptoad + delete oldActive.m.usedPleek; + oldActive.position = pokemon.position; + pokemon.position = pos; + side.pokemon[pokemon.position] = pokemon; + side.pokemon[oldActive.position] = oldActive; + } + pokemon.isActive = true; + side.active[pos] = pokemon; + pokemon.activeTurns = 0; + pokemon.activeMoveActions = 0; + for (const moveSlot of pokemon.moveSlots) { + moveSlot.used = false; + } + this.battle.runEvent('BeforeSwitchIn', pokemon); + if (sourceEffect) { + this.battle.add(isDrag ? 'drag' : 'switch', pokemon, pokemon.getDetails, '[from] ' + sourceEffect); + } else { + this.battle.add(isDrag ? 'drag' : 'switch', pokemon, pokemon.getDetails); + } + pokemon.abilityOrder = this.battle.abilityOrder++; + if (isDrag && this.battle.gen === 2) pokemon.draggedIn = this.battle.turn; + pokemon.previouslySwitchedIn++; + + if (isDrag && this.battle.gen >= 5) { + // runSwitch happens immediately so that Mold Breaker can make hazards bypass Clear Body and Levitate + this.battle.singleEvent('PreStart', pokemon.getAbility(), pokemon.abilityState, pokemon); + this.runSwitch(pokemon); + } else { + this.battle.queue.insertChoice({choice: 'runUnnerve', pokemon}); + this.battle.queue.insertChoice({choice: 'runSwitch', pokemon}); + } + + return true; + }, + canTerastallize(pokemon) { + if ( + pokemon.terastallized || pokemon.species.isMega || pokemon.species.isPrimal || pokemon.species.forme === "Ultra" || + pokemon.getItem().zMove || pokemon.canMegaEvo || pokemon.side.canDynamaxNow() || this.dex.gen !== 9 + ) { + return null; + } + if (pokemon.baseSpecies.id === 'arceus') return null; + return pokemon.teraType; + }, + // 1 mega per pokemon + runMegaEvo(pokemon) { + const speciesid = pokemon.canMegaEvo || pokemon.canUltraBurst; + if (!speciesid) return false; + + if (speciesid === 'Trapinch' && pokemon.name === 'Arya') { + this.battle.add(`c:|${getName('Arya')}|Oh yeaaaaah!!!!! Finally??!! I can finally Mega-Evolve!!! Vamossss`); + } + + pokemon.formeChange(speciesid, pokemon.getItem(), true); + if (pokemon.canMegaEvo) { + pokemon.canMegaEvo = null; + } else { + pokemon.canUltraBurst = null; + } + + this.battle.runEvent('AfterMega', pokemon); + + // Visual mega type changes here + if (['Arya'].includes(pokemon.name) && !pokemon.illusion) { + this.battle.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]'); + } + + this.battle.add('-ability', pokemon, `${pokemon.getAbility().name}`); + + return true; + }, + + // Modded for Mega Rayquaza + canMegaEvo(pokemon) { + const species = pokemon.baseSpecies; + const altForme = species.otherFormes && this.dex.species.get(species.otherFormes[0]); + const item = pokemon.getItem(); + // Mega Rayquaza + if (altForme?.isMega && altForme?.requiredMove && + pokemon.baseMoves.includes(this.battle.toID(altForme.requiredMove)) && !item.zMove) { + return altForme.name; + } + // a hacked-in Megazard X can mega evolve into Megazard Y, but not into Megazard X + if (item.megaEvolves === species.baseSpecies && item.megaStone !== species.name) { + return item.megaStone; + } + return null; + }, + + // 1 Z per pokemon + canZMove(pokemon) { + if (pokemon.m.zMoveUsed || + (pokemon.transformed && + (pokemon.species.isMega || pokemon.species.isPrimal || pokemon.species.forme === "Ultra")) + ) return; + const item = pokemon.getItem(); + if (!item.zMove) return; + if (item.itemUser && !item.itemUser.includes(pokemon.species.name)) return; + let atLeastOne = false; + let mustStruggle = true; + const zMoves: ZMoveOptions = []; + for (const moveSlot of pokemon.moveSlots) { + if (moveSlot.pp <= 0) { + zMoves.push(null); + continue; + } + if (!moveSlot.disabled) { + mustStruggle = false; + } + const move = this.dex.moves.get(moveSlot.move); + let zMoveName = this.getZMove(move, pokemon, true) || ''; + if (zMoveName) { + const zMove = this.dex.moves.get(zMoveName); + if (!zMove.isZ && zMove.category === 'Status') zMoveName = "Z-" + zMoveName; + zMoves.push({move: zMoveName, target: zMove.target}); + } else { + zMoves.push(null); + } + if (zMoveName) atLeastOne = true; + } + if (atLeastOne && !mustStruggle) return zMoves; + }, + + getZMove(move, pokemon, skipChecks) { + const item = pokemon.getItem(); + if (!skipChecks) { + if (pokemon.m.zMoveUsed) return; + if (!item.zMove) return; + if (item.itemUser && !item.itemUser.includes(pokemon.species.name)) return; + const moveData = pokemon.getMoveData(move); + // Draining the PP of the base move prevents the corresponding Z-move from being used. + if (!moveData?.pp) return; + } + + if (move.name === item.zMoveFrom) { + return item.zMove as string; + } else if (item.zMove === true && move.type === item.zMoveType) { + if (move.category === "Status") { + return move.name; + } else if (move.zMove?.basePower) { + return this.Z_MOVES[move.type]; + } + } + }, + + hitStepAccuracy(targets: Pokemon[], pokemon: Pokemon, move: ActiveMove) { + const hitResults = []; + for (const [i, target] of targets.entries()) { + this.battle.activeTarget = target; + // calculate true accuracy + let accuracy = move.accuracy; + if (move.ohko) { // bypasses accuracy modifiers + if (!target.isSemiInvulnerable()) { + accuracy = 30; + if (move.ohko === 'Ice' && this.battle.gen >= 7 && !pokemon.hasType('Ice')) { + accuracy = 20; + } + if (!target.volatiles['dynamax'] && pokemon.level >= target.level && + (move.ohko === true || !target.hasType(move.ohko))) { + accuracy += (pokemon.level - target.level); + } else { + this.battle.add('-immune', target, '[ohko]'); + hitResults[i] = false; + continue; + } + } + } else { + accuracy = this.battle.runEvent('ModifyAccuracy', target, pokemon, move, accuracy); + if (accuracy !== true) { + let boost = 0; + if (!move.ignoreAccuracy) { + const boosts = this.battle.runEvent('ModifyBoost', pokemon, null, null, {...pokemon.boosts}); + boost = this.battle.clampIntRange(boosts['accuracy'], -6, 6); + } + if (!move.ignoreEvasion) { + const boosts = this.battle.runEvent('ModifyBoost', target, null, null, {...target.boosts}); + boost = this.battle.clampIntRange(boost - boosts['evasion'], -6, 6); + } + if (boost > 0) { + accuracy = this.battle.trunc(accuracy * (3 + boost) / 3); + } else if (boost < 0) { + accuracy = this.battle.trunc(accuracy * 3 / (3 - boost)); + } + } + } + if (move.alwaysHit || (move.id === 'toxic' && this.battle.gen >= 8 && pokemon.hasType('Poison')) || + (move.target === 'self' && move.category === 'Status' && !target.isSemiInvulnerable())) { + accuracy = true; // bypasses ohko accuracy modifiers + } else { + accuracy = this.battle.runEvent('Accuracy', target, pokemon, move, accuracy); + } + if (accuracy !== true && !this.battle.randomChance(accuracy, 100)) { + if (move.smartTarget) { + move.smartTarget = false; + } else { + if (pokemon.hasAbility('misspelled')) { + // Custom miss for HoeenHero + // Typo the move + const typoedMove = move.name.charAt(0) + move.name.charAt(2) + move.name.charAt(1) + move.name.slice(3); + + // Modify the used move to be typoed. + const logEntries = this.battle.log[this.battle.lastMoveLine].split('|'); + logEntries[3] = typoedMove; + this.battle.log[this.battle.lastMoveLine] = logEntries.join('|'); + + this.battle.attrLastMove('[still]'); + this.battle.add('-message', `But it was misspelled!`); + } else { + if (!move.spreadHit) this.battle.attrLastMove('[miss]'); + this.battle.add('-miss', pokemon, target); + } + } + if (!move.ohko && pokemon.hasItem('blunderpolicy') && pokemon.useItem()) { + this.battle.boost({spe: 2}, pokemon); + } + hitResults[i] = false; + continue; + } + hitResults[i] = true; + } + return hitResults; + }, + + runMove(moveOrMoveName, pokemon, targetLoc, sourceEffect, zMove, externalMove, maxMove, originalTarget) { + pokemon.activeMoveActions++; + let target = this.battle.getTarget(pokemon, maxMove || zMove || moveOrMoveName, targetLoc, originalTarget); + let baseMove = this.dex.getActiveMove(moveOrMoveName); + const pranksterBoosted = baseMove.pranksterBoosted; + if (baseMove.id !== 'struggle' && !zMove && !maxMove && !externalMove) { + const changedMove = this.battle.runEvent('OverrideAction', pokemon, target, baseMove); + if (changedMove && changedMove !== true) { + baseMove = this.dex.getActiveMove(changedMove); + if (pranksterBoosted) baseMove.pranksterBoosted = pranksterBoosted; + target = this.battle.getRandomTarget(pokemon, baseMove); + } + } + let move = baseMove; + if (zMove) { + move = this.getActiveZMove(baseMove, pokemon); + } else if (maxMove) { + move = this.getActiveMaxMove(baseMove, pokemon); + } + + move.isExternal = externalMove; + + this.battle.setActiveMove(move, pokemon, target); + + /* if (pokemon.moveThisTurn) { + // THIS IS PURELY A SANITY CHECK + // DO NOT TAKE ADVANTAGE OF THIS TO PREVENT A POKEMON FROM MOVING; + // USE this.battle.queue.cancelMove INSTEAD + this.battle.debug('' + pokemon.id + ' INCONSISTENT STATE, ALREADY MOVED: ' + pokemon.moveThisTurn); + this.battle.clearActiveMove(true); + return; + } */ + const willTryMove = this.battle.runEvent('BeforeMove', pokemon, target, move); + if (!willTryMove) { + this.battle.runEvent('MoveAborted', pokemon, target, move); + this.battle.clearActiveMove(true); + // The event 'BeforeMove' could have returned false or null + // false indicates that this counts as a move failing for the purpose of calculating Stomping Tantrum's base power + // null indicates the opposite, as the Pokemon didn't have an option to choose anything + pokemon.moveThisTurnResult = willTryMove; + return; + } + if (move.beforeMoveCallback) { + if (move.beforeMoveCallback.call(this.battle, pokemon, target, move)) { + this.battle.clearActiveMove(true); + pokemon.moveThisTurnResult = false; + return; + } + } + pokemon.lastDamage = 0; + let lockedMove; + if (!externalMove) { + lockedMove = this.battle.runEvent('LockMove', pokemon); + if (lockedMove === true) lockedMove = false; + if (!lockedMove) { + if (!pokemon.deductPP(baseMove, null, target) && (move.id !== 'struggle')) { + this.battle.add('cant', pokemon, 'nopp', move); + this.battle.clearActiveMove(true); + pokemon.moveThisTurnResult = false; + return; + } + } else { + sourceEffect = this.dex.conditions.get('lockedmove'); + } + pokemon.moveUsed(move, targetLoc); + } + + // Dancer Petal Dance hack + // TODO: implement properly + const noLock = externalMove && !pokemon.volatiles['lockedmove']; + + if (zMove) { + if (pokemon.illusion) { + this.battle.singleEvent('End', this.dex.abilities.get('Illusion'), pokemon.abilityState, pokemon); + } + this.battle.add('-zpower', pokemon); + // 1 z move per poke + pokemon.m.zMoveUsed = true; + } + + const oldActiveMove = move; + + const moveDidSomething = this.useMove(baseMove, pokemon, target, sourceEffect, zMove, maxMove); + this.battle.lastSuccessfulMoveThisTurn = moveDidSomething ? this.battle.activeMove && this.battle.activeMove.id : null; + if (this.battle.activeMove) move = this.battle.activeMove; + this.battle.singleEvent('AfterMove', move, null, pokemon, target, move); + this.battle.runEvent('AfterMove', pokemon, target, move); + + // Dancer's activation order is completely different from any other event, so it's handled separately + if (move.flags['dance'] && moveDidSomething && !move.isExternal) { + const dancers = []; + for (const currentPoke of this.battle.getAllActive()) { + if (pokemon === currentPoke) continue; + if (currentPoke.hasAbility(['dancer', 'virtualidol']) && !currentPoke.isSemiInvulnerable()) { + dancers.push(currentPoke); + } + } + // Dancer activates in order of lowest speed stat to highest + // Note that the speed stat used is after any volatile replacements like Speed Swap, + // but before any multipliers like Agility or Choice Scarf + // Ties go to whichever Pokemon has had the ability for the least amount of time + dancers.sort( + (a, b) => -(b.storedStats['spe'] - a.storedStats['spe']) || b.abilityOrder - a.abilityOrder + ); + const targetOf1stDance = this.battle.activeTarget!; + for (const dancer of dancers) { + if (this.battle.faintMessages()) break; + if (dancer.fainted) continue; + this.battle.add('-activate', dancer, 'ability: ' + dancer.getAbility().name); + const dancersTarget = !targetOf1stDance.isAlly(dancer) && pokemon.isAlly(dancer) ? + targetOf1stDance : + pokemon; + const dancersTargetLoc = dancer.getLocOf(dancersTarget); + this.runMove(move.id, dancer, dancersTargetLoc, dancer.getAbility(), undefined, true); + } + } + if (noLock && pokemon.volatiles['lockedmove']) delete pokemon.volatiles['lockedmove']; + this.battle.faintMessages(); + this.battle.checkWin(); + + if (this.battle.gen <= 4) { + // In gen 4, the outermost move is considered the last move for Copycat + this.battle.activeMove = oldActiveMove; + } + }, + useMoveInner(moveOrMoveName, pokemon, target, sourceEffect, zMove, maxMove) { + if (!sourceEffect && this.battle.effect.id) sourceEffect = this.battle.effect; + if (sourceEffect && ['instruct', 'custapberry'].includes(sourceEffect.id)) sourceEffect = null; + + let move = this.dex.getActiveMove(moveOrMoveName); + pokemon.lastMoveUsed = move; + if (move.id === 'weatherball' && zMove) { + // Z-Weather Ball only changes types if it's used directly, + // not if it's called by Z-Sleep Talk or something. + this.battle.singleEvent('ModifyType', move, null, pokemon, target, move, move); + if (move.type !== 'Normal') sourceEffect = move; + } + if (zMove || (move.category !== 'Status' && sourceEffect && (sourceEffect as ActiveMove).isZ)) { + move = this.getActiveZMove(move, pokemon); + } + if (maxMove && move.category !== 'Status') { + // Max move outcome is dependent on the move type after type modifications from ability and the move itself + this.battle.singleEvent('ModifyType', move, null, pokemon, target, move, move); + this.battle.runEvent('ModifyType', pokemon, target, move, move); + } + if (maxMove || (move.category !== 'Status' && sourceEffect && (sourceEffect as ActiveMove).isMax)) { + move = this.getActiveMaxMove(move, pokemon); + } + + if (this.battle.activeMove) { + move.priority = this.battle.activeMove.priority; + if (!move.hasBounced) move.pranksterBoosted = this.battle.activeMove.pranksterBoosted; + } + const baseTarget = move.target; + let targetRelayVar = {target}; + targetRelayVar = this.battle.runEvent('ModifyTarget', pokemon, target, move, targetRelayVar, true); + if (targetRelayVar.target !== undefined) target = targetRelayVar.target; + if (target === undefined) target = this.battle.getRandomTarget(pokemon, move); + if (move.target === 'self' || move.target === 'allies') { + target = pokemon; + } + if (sourceEffect) { + move.sourceEffect = sourceEffect.id; + move.ignoreAbility = (sourceEffect as ActiveMove).ignoreAbility; + } + let moveResult = false; + + this.battle.setActiveMove(move, pokemon, target); + + this.battle.singleEvent('ModifyType', move, null, pokemon, target, move, move); + this.battle.singleEvent('ModifyMove', move, null, pokemon, target, move, move); + if (baseTarget !== move.target) { + // Target changed in ModifyMove, so we must adjust it here + // Adjust before the next event so the correct target is passed to the + // event + target = this.battle.getRandomTarget(pokemon, move); + } + move = this.battle.runEvent('ModifyType', pokemon, target, move, move); + move = this.battle.runEvent('ModifyMove', pokemon, target, move, move); + if (baseTarget !== move.target) { + // Adjust again + target = this.battle.getRandomTarget(pokemon, move); + } + if (!move || pokemon.fainted) { + return false; + } + + let attrs = ''; + + let movename = move.name; + if (move.id === 'hiddenpower') movename = 'Hidden Power'; + if (sourceEffect) attrs += `|[from]${sourceEffect.fullname}`; + if (zMove && move.isZ === true) { + attrs = '|[anim]' + movename + attrs; + movename = 'Z-' + movename; + } + this.battle.addMove('move', pokemon, movename, target + attrs); + + if (zMove) this.runZPower(move, pokemon); + + if (!target) { + this.battle.attrLastMove('[notarget]'); + this.battle.add(this.battle.gen >= 5 ? '-fail' : '-notarget', pokemon); + return false; + } + + const {targets, pressureTargets} = pokemon.getMoveTargets(move, target); + if (targets.length) { + target = targets[targets.length - 1]; // in case of redirection + } + + // Pursuit Clones support + const pursuitClones = ['pursuit', 'trivialpursuit', 'attackofopportunity']; + const callerMoveForPressure = sourceEffect && (sourceEffect as ActiveMove).pp ? sourceEffect as ActiveMove : null; + if (!sourceEffect || callerMoveForPressure || pursuitClones.includes(sourceEffect.id)) { + let extraPP = 0; + for (const source of pressureTargets) { + const ppDrop = this.battle.runEvent('DeductPP', source, pokemon, move); + if (ppDrop !== true) { + extraPP += ppDrop || 0; + } + } + if (extraPP > 0) { + pokemon.deductPP(callerMoveForPressure || moveOrMoveName, extraPP); + } + } + + if (!this.battle.singleEvent('TryMove', move, null, pokemon, target, move) || + !this.battle.runEvent('TryMove', pokemon, target, move)) { + move.mindBlownRecoil = false; + return false; + } + + this.battle.singleEvent('UseMoveMessage', move, null, pokemon, target, move); + + if (move.ignoreImmunity === undefined) { + move.ignoreImmunity = (move.category === 'Status'); + } + + if (this.battle.gen !== 4 && move.selfdestruct === 'always') { + this.battle.faint(pokemon, pokemon, move); + } + + let damage: number | false | undefined | '' = false; + if (move.target === 'all' || move.target === 'foeSide' || move.target === 'allySide' || move.target === 'allyTeam') { + damage = this.tryMoveHit(targets, pokemon, move); + if (damage === this.battle.NOT_FAIL) pokemon.moveThisTurnResult = null; + if (damage || damage === 0 || damage === undefined) moveResult = true; + } else { + if (!targets.length) { + this.battle.attrLastMove('[notarget]'); + this.battle.add(this.battle.gen >= 5 ? '-fail' : '-notarget', pokemon); + return false; + } + if (this.battle.gen === 4 && move.selfdestruct === 'always') { + this.battle.faint(pokemon, pokemon, move); + } + moveResult = this.trySpreadMoveHit(targets, pokemon, move); + } + if (move.selfBoost && moveResult) this.moveHit(pokemon, pokemon, move, move.selfBoost, false, true); + if (!pokemon.hp) { + this.battle.faint(pokemon, pokemon, move); + } + + if (!moveResult) { + this.battle.singleEvent('MoveFail', move, null, target, pokemon, move); + return false; + } + + if ( + !move.negateSecondary && + !(move.hasSheerForce && pokemon.hasAbility('sheerforce')) && + !move.flags['futuremove'] + ) { + const originalHp = pokemon.hp; + this.battle.singleEvent('AfterMoveSecondarySelf', move, null, pokemon, target, move); + this.battle.runEvent('AfterMoveSecondarySelf', pokemon, target, move); + if (pokemon && pokemon !== target && move.category !== 'Status') { + if (pokemon.hp <= pokemon.maxhp / 2 && originalHp > pokemon.maxhp / 2) { + if (!pokemon.m.cascade) this.battle.runEvent('EmergencyExit', pokemon, pokemon); + } + } + } + + return true; + }, + hitStepMoveHitLoop(targets, pokemon, move) { // Temporary name + let damage: (number | boolean | undefined)[] = []; + for (const i of targets.keys()) { + damage[i] = 0; + } + move.totalDamage = 0; + pokemon.lastDamage = 0; + let targetHits = move.multihit || 1; + if (Array.isArray(targetHits)) { + // yes, it's hardcoded... meh + if (targetHits[0] === 2 && targetHits[1] === 5) { + if (this.battle.gen >= 5) { + // 35-35-15-15 out of 100 for 2-3-4-5 hits + targetHits = this.battle.sample([2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5]); + if (targetHits < 4 && pokemon.hasItem('loadeddice')) { + targetHits = 5 - this.battle.random(2); + } + } else { + targetHits = this.battle.sample([2, 2, 2, 3, 3, 3, 4, 5]); + } + } else { + targetHits = this.battle.random(targetHits[0], targetHits[1] + 1); + } + } + if (targetHits === 10 && pokemon.hasItem('loadeddice')) targetHits -= this.battle.random(7); + targetHits = Math.floor(targetHits); + let nullDamage = true; + let moveDamage: (number | boolean | undefined)[] = []; + // There is no need to recursively check the ´sleepUsable´ flag as Sleep Talk can only be used while asleep. + const isSleepUsable = move.sleepUsable || this.dex.moves.get(move.sourceEffect).sleepUsable; + + let targetsCopy: (Pokemon | false | null)[] = targets.slice(0); + let hit: number; + for (hit = 1; hit <= targetHits; hit++) { + if (damage.includes(false)) break; + if (hit > 1 && pokemon.status === 'slp' && (!isSleepUsable || this.battle.gen === 4)) break; + if (targets.every(target => !target?.hp)) break; + move.hit = hit; + if (move.smartTarget && targets.length > 1) { + targetsCopy = [targets[hit - 1]]; + damage = [damage[hit - 1]]; + } else { + targetsCopy = targets.slice(0); + } + const target = targetsCopy[0]; // some relevant-to-single-target-moves-only things are hardcoded + if (target && typeof move.smartTarget === 'boolean') { + if (hit > 1) { + this.battle.addMove('-anim', pokemon, move.name, target); + } else { + this.battle.retargetLastMove(target); + } + } + + // like this (Triple Kick) + if (target && move.multiaccuracy && hit > 1) { + let accuracy = move.accuracy; + const boostTable = [1, 4 / 3, 5 / 3, 2, 7 / 3, 8 / 3, 3]; + if (accuracy !== true) { + if (!move.ignoreAccuracy) { + const boosts = this.battle.runEvent('ModifyBoost', pokemon, null, null, {...pokemon.boosts}); + const boost = this.battle.clampIntRange(boosts['accuracy'], -6, 6); + if (boost > 0) { + accuracy *= boostTable[boost]; + } else { + accuracy /= boostTable[-boost]; + } + } + if (!move.ignoreEvasion) { + const boosts = this.battle.runEvent('ModifyBoost', target, null, null, {...target.boosts}); + const boost = this.battle.clampIntRange(boosts['evasion'], -6, 6); + if (boost > 0) { + accuracy /= boostTable[boost]; + } else if (boost < 0) { + accuracy *= boostTable[-boost]; + } + } + } + accuracy = this.battle.runEvent('ModifyAccuracy', target, pokemon, move, accuracy); + if (!move.alwaysHit) { + accuracy = this.battle.runEvent('Accuracy', target, pokemon, move, accuracy); + if (accuracy !== true && !this.battle.randomChance(accuracy, 100)) break; + } + } + + const moveData = move; + if (!moveData.flags) moveData.flags = {}; + + let moveDamageThisHit; + // Modifies targetsCopy (which is why it's a copy) + [moveDamageThisHit, targetsCopy] = this.spreadMoveHit(targetsCopy, pokemon, move, moveData); + // When Dragon Darts targets two different pokemon, targetsCopy is a length 1 array each hit + // so spreadMoveHit returns a length 1 damage array + if (move.smartTarget) { + moveDamage.push(...moveDamageThisHit); + } else { + moveDamage = moveDamageThisHit; + } + + if (!moveDamage.some(val => val !== false)) break; + nullDamage = false; + + for (const [i, md] of moveDamage.entries()) { + if (move.smartTarget && i !== hit - 1) continue; + // Damage from each hit is individually counted for the + // purposes of Counter, Metal Burst, and Mirror Coat. + damage[i] = md === true || !md ? 0 : md; + // Total damage dealt is accumulated for the purposes of recoil (Parental Bond). + move.totalDamage += damage[i] as number; + } + if (move.mindBlownRecoil) { + const hpBeforeRecoil = pokemon.hp; + this.battle.damage(Math.round(pokemon.maxhp / 2), pokemon, pokemon, this.dex.conditions.get(move.id), true); + move.mindBlownRecoil = false; + if (pokemon.hp <= pokemon.maxhp / 2 && hpBeforeRecoil > pokemon.maxhp / 2) { + if (!pokemon.m.cascade) this.battle.runEvent('EmergencyExit', pokemon, pokemon); + } + } + this.battle.eachEvent('Update'); + if (!pokemon.hp && targets.length === 1) { + hit++; // report the correct number of hits for multihit moves + break; + } + } + // hit is 1 higher than the actual hit count + if (hit === 1) return damage.fill(false); + if (nullDamage) damage.fill(false); + this.battle.faintMessages(false, false, !pokemon.hp); + if (move.multihit && typeof move.smartTarget !== 'boolean') { + this.battle.add('-hitcount', targets[0], hit - 1); + } + + if ((move.recoil || move.id === 'chloroblast') && move.totalDamage) { + const hpBeforeRecoil = pokemon.hp; + this.battle.damage(this.calcRecoilDamage(move.totalDamage, move, pokemon), pokemon, pokemon, 'recoil'); + if (pokemon.hp <= pokemon.maxhp / 2 && hpBeforeRecoil > pokemon.maxhp / 2) { + if (!pokemon.m.cascade) this.battle.runEvent('EmergencyExit', pokemon, pokemon); + } + } + + if (move.struggleRecoil) { + const hpBeforeRecoil = pokemon.hp; + let recoilDamage; + if (this.dex.gen >= 5) { + recoilDamage = this.battle.clampIntRange(Math.round(pokemon.baseMaxhp / 4), 1); + } else { + recoilDamage = this.battle.clampIntRange(this.battle.trunc(pokemon.maxhp / 4), 1); + } + this.battle.directDamage(recoilDamage, pokemon, pokemon, {id: 'strugglerecoil'} as Condition); + if (pokemon.hp <= pokemon.maxhp / 2 && hpBeforeRecoil > pokemon.maxhp / 2) { + if (!pokemon.m.cascade) this.battle.runEvent('EmergencyExit', pokemon, pokemon); + } + } + + // smartTarget messes up targetsCopy, but smartTarget should in theory ensure that targets will never fail, anyway + if (move.smartTarget) { + targetsCopy = targets.slice(0); + } + + for (const [i, target] of targetsCopy.entries()) { + if (target && pokemon !== target) { + target.gotAttacked(move, moveDamage[i] as number | false | undefined, pokemon); + if (typeof moveDamage[i] === 'number') { + target.timesAttacked += move.smartTarget ? 1 : hit - 1; + } + } + } + + if (move.ohko && !targets[0].hp) this.battle.add('-ohko'); + + if (!damage.some(val => !!val || val === 0)) return damage; + + this.battle.eachEvent('Update'); + + this.afterMoveSecondaryEvent(targetsCopy.filter(val => !!val) as Pokemon[], pokemon, move); + + if (!move.negateSecondary && !(move.hasSheerForce && pokemon.hasAbility('sheerforce'))) { + for (const [i, d] of damage.entries()) { + // There are no multihit spread moves, so it's safe to use move.totalDamage for multihit moves + // The previous check was for `move.multihit`, but that fails for Dragon Darts + const curDamage = targets.length === 1 ? move.totalDamage : d; + if (typeof curDamage === 'number' && targets[i].hp) { + const targetHPBeforeDamage = (targets[i].hurtThisTurn || 0) + curDamage; + if (targets[i].hp <= targets[i].maxhp / 2 && targetHPBeforeDamage > targets[i].maxhp / 2) { + if (!targets[i].m.cascade) this.battle.runEvent('EmergencyExit', targets[i], pokemon); + } + } + } + } + + return damage; + }, + hitStepTryImmunity(targets, pokemon, move) { + const hitResults = []; + for (const [i, target] of targets.entries()) { + if (this.battle.gen >= 6 && move.flags['powder'] && target !== pokemon && !this.dex.getImmunity('powder', target)) { + this.battle.debug('natural powder immunity'); + this.battle.add('-immune', target); + hitResults[i] = false; + } else if (!this.battle.singleEvent('TryImmunity', move, {}, target, pokemon, move)) { + this.battle.add('-immune', target); + hitResults[i] = false; + } else if (this.battle.gen >= 7 && move.pranksterBoosted && + // Prankster Clone immunity + (pokemon.hasAbility('prankster') || pokemon.hasAbility('youkaiofthedusk') || pokemon.volatiles['irpachuza']) && + !targets[i].isAlly(pokemon) && !this.dex.getImmunity('prankster', target)) { + this.battle.debug('natural prankster immunity'); + if (!target.illusion) this.battle.hint("Since gen 7, Dark is immune to Prankster moves."); + this.battle.add('-immune', target); + hitResults[i] = false; + } else { + hitResults[i] = true; + } + } + return hitResults; + }, + spreadMoveHit(targets, pokemon, moveOrMoveName, hitEffect, isSecondary, isSelf) { + // Hardcoded for single-target purposes + // (no spread moves have any kind of onTryHit handler) + const target = targets[0]; + let damage: (number | boolean | undefined)[] = []; + for (const i of targets.keys()) { + damage[i] = true; + } + const move = this.dex.getActiveMove(moveOrMoveName); + let hitResult: boolean | number | null = true; + let moveData = hitEffect as ActiveMove; + if (!moveData) moveData = move; + if (!moveData.flags) moveData.flags = {}; + if (move.target === 'all' && !isSelf) { + hitResult = this.battle.singleEvent('TryHitField', moveData, {}, target || null, pokemon, move); + } else if ((move.target === 'foeSide' || move.target === 'allySide' || move.target === 'allyTeam') && !isSelf) { + hitResult = this.battle.singleEvent('TryHitSide', moveData, {}, target || null, pokemon, move); + } else if (target) { + hitResult = this.battle.singleEvent('TryHit', moveData, {}, target, pokemon, move); + } + if (!hitResult) { + if (hitResult === false) { + this.battle.add('-fail', pokemon); + this.battle.attrLastMove('[still]'); + } + return [[false], targets]; // single-target only + } + + // 0. check for substitute + if (!isSecondary && !isSelf) { + if (move.target !== 'all' && move.target !== 'allyTeam' && move.target !== 'allySide' && move.target !== 'foeSide') { + damage = this.tryPrimaryHitEvent(damage, targets, pokemon, move, moveData, isSecondary); + } + } + + for (const i of targets.keys()) { + if (damage[i] === this.battle.HIT_SUBSTITUTE) { + damage[i] = true; + targets[i] = null; + } + if (targets[i] && isSecondary && !moveData.self) { + damage[i] = true; + } + if (!damage[i]) targets[i] = false; + } + // 1. call to this.battle.getDamage + damage = this.getSpreadDamage(damage, targets, pokemon, move, moveData, isSecondary, isSelf); + + for (const i of targets.keys()) { + if (damage[i] === false) targets[i] = false; + } + + // 2. call to this.battle.spreadDamage + damage = this.battle.spreadDamage(damage, targets, pokemon, move); + + for (const i of targets.keys()) { + if (damage[i] === false) targets[i] = false; + } + + // 3. onHit event happens here + damage = this.runMoveEffects(damage, targets, pokemon, move, moveData, isSecondary, isSelf); + + for (const i of targets.keys()) { + if (!damage[i] && damage[i] !== 0) targets[i] = false; + } + + // steps 4 and 5 can mess with this.battle.activeTarget, which needs to be preserved for Dancer + const activeTarget = this.battle.activeTarget; + + // 4. self drops (start checking for targets[i] === false here) + if (moveData.self && !move.selfDropped) this.selfDrops(targets, pokemon, move, moveData, isSecondary); + + // 5. secondary effects + if (moveData.secondaries) this.secondaries(targets, pokemon, move, moveData, isSelf); + + this.battle.activeTarget = activeTarget; + + // 6. force switch + if (moveData.forceSwitch) damage = this.forceSwitch(damage, targets, pokemon, move); + + for (const i of targets.keys()) { + if (!damage[i] && damage[i] !== 0) targets[i] = false; + } + + const damagedTargets: Pokemon[] = []; + const damagedDamage = []; + for (const [i, t] of targets.entries()) { + if (typeof damage[i] === 'number' && t) { + damagedTargets.push(t); + damagedDamage.push(damage[i]); + } + } + const pokemonOriginalHP = pokemon.hp; + if (damagedDamage.length && !isSecondary && !isSelf) { + this.battle.runEvent('DamagingHit', damagedTargets, pokemon, move, damagedDamage); + if (moveData.onAfterHit) { + for (const t of damagedTargets) { + this.battle.singleEvent('AfterHit', moveData, {}, t, pokemon, move); + } + } + if (pokemon.hp && pokemon.hp <= pokemon.maxhp / 2 && pokemonOriginalHP > pokemon.maxhp / 2) { + if (!pokemon.m.cascade) this.battle.runEvent('EmergencyExit', pokemon); + } + } + + return [damage, targets]; + }, + }, + pokemon: { + isGrounded(negateImmunity) { + if ('gravity' in this.battle.field.pseudoWeather) return true; + if ('ingrain' in this.volatiles && this.battle.gen >= 4) return true; + if ('smackdown' in this.volatiles) return true; + const item = (this.ignoringItem() ? '' : this.item); + if (item === 'ironball') return true; + // If a Fire/Flying type uses Burn Up and Roost, it becomes ???/Flying-type, but it's still grounded. + if (!negateImmunity && this.hasType('Flying') && !(this.hasType('???') && 'roost' in this.volatiles)) return false; + if (this.hasAbility('levitate') && !this.battle.suppressingAbility(this)) return null; + if ('magnetrise' in this.volatiles) return false; + if ('riseabove' in this.volatiles) return false; + if ('telekinesis' in this.volatiles) return false; + return item !== 'airballoon'; + }, + effectiveWeather() { + const weather = this.battle.field.effectiveWeather(); + switch (weather) { + case 'sunnyday': + case 'raindance': + case 'desolateland': + case 'primordialsea': + case 'stormsurge': + if (this.hasItem('utilityumbrella')) return ''; + } + return weather; + }, + getMoveTargets(move, target) { + let targets: Pokemon[] = []; + + switch (move.target) { + case 'all': + case 'foeSide': + case 'allySide': + case 'allyTeam': + if (!move.target.startsWith('foe')) { + targets.push(...this.alliesAndSelf()); + } + if (!move.target.startsWith('ally')) { + targets.push(...this.foes(true)); + } + if (targets.length && !targets.includes(target)) { + this.battle.retargetLastMove(targets[targets.length - 1]); + } + break; + case 'allAdjacent': + targets.push(...this.adjacentAllies()); + // falls through + case 'allAdjacentFoes': + targets.push(...this.adjacentFoes()); + if (targets.length && !targets.includes(target)) { + this.battle.retargetLastMove(targets[targets.length - 1]); + } + break; + case 'allies': + targets = this.alliesAndSelf(); + break; + default: + const selectedTarget = target; + if (!target || (target.fainted && !target.isAlly(this)) && this.battle.gameType !== 'freeforall') { + // If a targeted foe faints, the move is retargeted + const possibleTarget = this.battle.getRandomTarget(this, move); + if (!possibleTarget) return {targets: [], pressureTargets: []}; + target = possibleTarget; + } + if (this.battle.activePerHalf > 1 && !move.tracksTarget) { + const isCharging = move.flags['charge'] && !this.volatiles['twoturnmove'] && + !(move.id.startsWith('solarb') && ['sunnyday', 'desolateland'].includes(this.effectiveWeather())) && + !(move.id === 'fruitfullongbow' && ['sunnyday', 'desolateland'].includes(this.effectiveWeather())) && + !(move.id === 'praisethemoon' && this.battle.field.getPseudoWeather('gravity')) && + !(move.id === 'electroshot' && ['stormsurge', 'raindance', 'primordialsea'].includes(this.effectiveWeather())) && + !(this.hasItem('powerherb') && move.id !== 'skydrop'); + if (!isCharging) { + target = this.battle.priorityEvent('RedirectTarget', this, this, move, target); + } + } + if (move.smartTarget) { + targets = this.getSmartTargets(target, move); + target = targets[0]; + } else { + targets.push(target); + } + if (target.fainted && !move.flags['futuremove']) { + return {targets: [], pressureTargets: []}; + } + if (selectedTarget !== target) { + this.battle.retargetLastMove(target); + } + } + + // Resolve apparent targets for Pressure. + let pressureTargets = targets; + if (move.target === 'foeSide') { + pressureTargets = []; + } + if (move.flags['mustpressure']) { + pressureTargets = this.foes(); + } + + return {targets, pressureTargets}; + }, + }, + side: { + getChoice() { + if (this.choice.actions.length > 1 && this.choice.actions.every(action => action.choice === 'team')) { + return `team ` + this.choice.actions.map(action => action.pokemon!.position + 1).join(', '); + } + return this.choice.actions.map(action => { + switch (action.choice) { + case 'move': + let details = ``; + if (action.targetLoc && this.active.length > 1) details += ` ${action.targetLoc > 0 ? '+' : ''}${action.targetLoc}`; + if (action.mega) details += (action.pokemon!.item === 'ultranecroziumz' ? ` ultra` : ` mega`); + if (action.zmove) details += ` zmove`; + if (action.maxMove) details += ` dynamax`; + if (action.terastallize) details += ` terastallize`; + return `move ${action.moveid}${details}`; + case 'switch': + case 'instaswitch': + case 'revivalblessing': + // @ts-ignore custom status falls through + case 'scapegoat': + return `switch ${action.target!.position + 1}`; + case 'team': + return `team ${action.pokemon!.position + 1}`; + default: + return action.choice; + } + }).join(', '); + }, + + chooseSwitch(slotText) { + if (this.requestState !== 'move' && this.requestState !== 'switch') { + return this.emitChoiceError(`Can't switch: You need a ${this.requestState} response`); + } + const index = this.getChoiceIndex(); + if (index >= this.active.length) { + if (this.requestState === 'switch') { + return this.emitChoiceError(`Can't switch: You sent more switches than Pokémon that need to switch`); + } + return this.emitChoiceError(`Can't switch: You sent more choices than unfainted Pokémon`); + } + const pokemon = this.active[index]; + let slot; + if (!slotText) { + if (this.requestState !== 'switch') { + return this.emitChoiceError(`Can't switch: You need to select a Pokémon to switch in`); + } + if (this.slotConditions[pokemon.position]['revivalblessing']) { + slot = 0; + while (!this.pokemon[slot].fainted) slot++; + } else { + if (!this.choice.forcedSwitchesLeft) return this.choosePass(); + slot = this.active.length; + while (this.choice.switchIns.has(slot) || this.pokemon[slot].fainted) slot++; + } + } else { + slot = parseInt(slotText) - 1; + } + if (isNaN(slot) || slot < 0) { + // maybe it's a name/species id! + slot = -1; + for (const [i, mon] of this.pokemon.entries()) { + if (slotText!.toLowerCase() === mon.name.toLowerCase() || toID(slotText) === mon.species.id) { + slot = i; + break; + } + } + if (slot < 0) { + return this.emitChoiceError(`Can't switch: You do not have a Pokémon named "${slotText}" to switch to`); + } + } + if (slot >= this.pokemon.length) { + return this.emitChoiceError(`Can't switch: You do not have a Pokémon in slot ${slot + 1} to switch to`); + } else if (slot < this.active.length && !this.slotConditions[pokemon.position]['revivalblessing']) { + return this.emitChoiceError(`Can't switch: You can't switch to an active Pokémon`); + } else if (this.choice.switchIns.has(slot)) { + return this.emitChoiceError(`Can't switch: The Pokémon in slot ${slot + 1} can only switch in once`); + } + const targetPokemon = this.pokemon[slot]; + + if (this.slotConditions[pokemon.position]['revivalblessing']) { + if (!targetPokemon.fainted) { + return this.emitChoiceError(`Can't switch: You have to pass to a fainted Pokémon`); + } + // Should always subtract, but stop at 0 to prevent errors. + this.choice.forcedSwitchesLeft = this.battle.clampIntRange(this.choice.forcedSwitchesLeft - 1, 0); + pokemon.switchFlag = false; + this.choice.actions.push({ + choice: 'revivalblessing', + pokemon, + target: targetPokemon, + } as ChosenAction); + return true; + } + + if (targetPokemon.fainted) { + return this.emitChoiceError(`Can't switch: You can't switch to a fainted Pokémon`); + } + + if (this.slotConditions[pokemon.position]['scapegoat']) { + // Should always subtract, but stop at 0 to prevent errors. + this.choice.forcedSwitchesLeft = this.battle.clampIntRange(this.choice.forcedSwitchesLeft - 1, 0); + pokemon.switchFlag = false; + // @ts-ignore custom request + this.choice.actions.push({ + choice: 'scapegoat', + pokemon, + target: targetPokemon, + } as ChosenAction); + return true; + } + + if (this.requestState === 'move') { + if (pokemon.trapped) { + const includeRequest = this.updateRequestForPokemon(pokemon, req => { + let updated = false; + if (req.maybeTrapped) { + delete req.maybeTrapped; + updated = true; + } + if (!req.trapped) { + req.trapped = true; + updated = true; + } + return updated; + }); + const status = this.emitChoiceError(`Can't switch: The active Pokémon is trapped`, includeRequest); + if (includeRequest) this.emitRequest(this.activeRequest!); + return status; + } else if (pokemon.maybeTrapped) { + this.choice.cantUndo = this.choice.cantUndo || pokemon.isLastActive(); + } + } else if (this.requestState === 'switch') { + if (!this.choice.forcedSwitchesLeft) { + throw new Error(`Player somehow switched too many Pokemon`); + } + this.choice.forcedSwitchesLeft--; + } + + this.choice.switchIns.add(slot); + + this.choice.actions.push({ + choice: (this.requestState === 'switch' ? 'instaswitch' : 'switch'), + pokemon, + target: targetPokemon, + } as ChosenAction); + + return true; + }, + }, + queue: { + resolveAction(action, midTurn) { + if (!action) throw new Error(`Action not passed to resolveAction`); + if (action.choice === 'pass') return []; + const actions = [action]; + + if (!action.side && action.pokemon) action.side = action.pokemon.side; + if (!action.move && action.moveid) action.move = this.battle.dex.getActiveMove(action.moveid); + if (!action.order) { + const orders: {[choice: string]: number} = { + team: 1, + start: 2, + instaswitch: 3, + beforeTurn: 4, + beforeTurnMove: 5, + revivalblessing: 6, + scapegoat: 7, + + runUnnerve: 100, + runSwitch: 101, + runPrimal: 102, + switch: 103, + megaEvo: 104, + runDynamax: 105, + terastallize: 106, + priorityChargeMove: 107, + + shift: 200, + // default is 200 (for moves) + + residual: 300, + }; + if (action.choice in orders) { + action.order = orders[action.choice]; + } else { + action.order = 200; + if (!['move', 'event'].includes(action.choice)) { + throw new Error(`Unexpected orderless action ${action.choice}`); + } + } + } + if (!midTurn) { + if (action.choice === 'move') { + if (!action.maxMove && !action.zmove && action.move.beforeTurnCallback) { + actions.unshift(...this.resolveAction({ + choice: 'beforeTurnMove', pokemon: action.pokemon, move: action.move, targetLoc: action.targetLoc, + })); + } + if (action.mega && !action.pokemon.isSkyDropped()) { + actions.unshift(...this.resolveAction({ + choice: 'megaEvo', + pokemon: action.pokemon, + })); + } + if (action.terastallize && !action.pokemon.terastallized) { + actions.unshift(...this.resolveAction({ + choice: 'terastallize', + pokemon: action.pokemon, + })); + } + if (action.maxMove && !action.pokemon.volatiles['dynamax']) { + actions.unshift(...this.resolveAction({ + choice: 'runDynamax', + pokemon: action.pokemon, + })); + } + if (!action.maxMove && !action.zmove && action.move.priorityChargeCallback) { + actions.unshift(...this.resolveAction({ + choice: 'priorityChargeMove', + pokemon: action.pokemon, + move: action.move, + })); + } + action.fractionalPriority = this.battle.runEvent('FractionalPriority', action.pokemon, null, action.move, 0); + } else if (['switch', 'instaswitch'].includes(action.choice)) { + if (typeof action.pokemon.switchFlag === 'string') { + action.sourceEffect = this.battle.dex.moves.get(action.pokemon.switchFlag as ID) as any; + } + action.pokemon.switchFlag = false; + } + } + + const deferPriority = this.battle.gen === 7 && action.mega && action.mega !== 'done'; + if (action.move) { + let target = null; + action.move = this.battle.dex.getActiveMove(action.move); + + if (!action.targetLoc) { + target = this.battle.getRandomTarget(action.pokemon, action.move); + // TODO: what actually happens here? + if (target) action.targetLoc = action.pokemon.getLocOf(target); + } + action.originalTarget = action.pokemon.getAtLoc(action.targetLoc); + } + if (!deferPriority) this.battle.getActionSpeed(action); + return actions as any; + }, + }, +}; diff --git a/data/mods/gen9ssb/typechart.ts b/data/mods/gen9ssb/typechart.ts new file mode 100644 index 000000000000..3733f8dc3524 --- /dev/null +++ b/data/mods/gen9ssb/typechart.ts @@ -0,0 +1,82 @@ +export const TypeChart: {[k: string]: ModdedTypeData} = { + ground: { + inherit: true, + damageTaken: { + sandstorm: 3, + deserteddunes: 3, + Bug: 0, + Dark: 0, + Dragon: 0, + Electric: 3, + Fairy: 0, + Fighting: 0, + Fire: 0, + Flying: 0, + Ghost: 0, + Grass: 1, + Ground: 0, + Ice: 1, + Normal: 0, + Poison: 2, + Psychic: 0, + Rock: 2, + Steel: 0, + Stellar: 0, + Water: 1, + }, + }, + rock: { + inherit: true, + damageTaken: { + sandstorm: 3, + deserteddunes: 3, + Bug: 0, + Dark: 0, + Dragon: 0, + Electric: 0, + Fairy: 0, + Fighting: 1, + Fire: 2, + Flying: 2, + Ghost: 0, + Grass: 1, + Ground: 1, + Ice: 0, + Normal: 2, + Poison: 2, + Psychic: 0, + Rock: 0, + Steel: 1, + Stellar: 0, + Water: 1, + }, + }, + steel: { + inherit: true, + damageTaken: { + psn: 3, + tox: 3, + sandstorm: 3, + deserteddunes: 3, + Bug: 2, + Dark: 0, + Dragon: 2, + Electric: 0, + Fairy: 2, + Fighting: 1, + Fire: 1, + Flying: 2, + Ghost: 0, + Grass: 2, + Ground: 1, + Ice: 2, + Normal: 2, + Poison: 3, + Psychic: 2, + Rock: 2, + Steel: 2, + Stellar: 0, + Water: 0, + }, + }, +}; diff --git a/data/mods/gennext/abilities.ts b/data/mods/gennext/abilities.ts index f02dc101b4a7..497a80006104 100644 --- a/data/mods/gennext/abilities.ts +++ b/data/mods/gennext/abilities.ts @@ -644,7 +644,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { }, adaptability: { inherit: true, - onModifyMove(move) {}, + onModifySTAB() {}, onBasePower(power, attacker, defender, move) { if (!attacker.hasType(move.type)) { return this.chainModify(1.33); diff --git a/data/mods/gennext/moves.ts b/data/mods/gennext/moves.ts index 7fe95c997a4b..3741c0231d3b 100644 --- a/data/mods/gennext/moves.ts +++ b/data/mods/gennext/moves.ts @@ -305,7 +305,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, desc: "This attack charges on the first turn and executes on the second. Power is halved if the weather is Hail, Rain Dance, or Sandstorm. If the user is holding a Power Herb or the weather is Sunny Day, the move completes in one turn. The user heals 1/2 of its max HP during the charge turn. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Charges turn 1. Hits turn 2. No charge in sunlight. Heals 1/2 of the user's max HP, on charge.", - flags: {charge: 1, mirror: 1}, + flags: {charge: 1, mirror: 1, metronome: 1}, breaksProtect: true, }, razorwind: { @@ -322,7 +322,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, desc: "Has a higher chance for a critical hit. This attack charges on the first turn and executes on the second. If the user is holding a Power Herb, the move completes in one turn. 100% chance to confuse the target. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Charges, then hits foe(s) turn 2. High crit ratio. Confuses target.", - flags: {charge: 1, mirror: 1}, + flags: {charge: 1, mirror: 1, metronome: 1}, breaksProtect: true, }, skullbash: { @@ -345,7 +345,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { attacker.addVolatile('twoturnmove', defender); return null; }, - flags: {contact: 1, charge: 1, mirror: 1}, + flags: {contact: 1, charge: 1, mirror: 1, metronome: 1}, breaksProtect: true, desc: "This attack charges on the first turn and executes on the second. Raises the user's Defense, Special Defense, and Accuracy by 1 stage on the first turn. If the user is holding a Power Herb, the move completes in one turn. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Raises user's Def, SpD, Acc by 1 on turn 1. Hits turn 2.", @@ -364,7 +364,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { def: -1, }, }, - flags: {charge: 1, mirror: 1, distance: 1}, + flags: {charge: 1, mirror: 1, distance: 1, metronome: 1}, breaksProtect: true, desc: "Has a 30% chance to flinch the target and a higher chance for a critical hit. This attack charges on the first turn and executes on the second. If the user is holding a Power Herb, the move completes in one turn. 100% chance to lower the target's Defense by one stage. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Charges, then hits turn 2. 30% flinch. High crit.", @@ -381,7 +381,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { chance: 100, status: 'par', }, - flags: {charge: 1, mirror: 1}, + flags: {charge: 1, mirror: 1, metronome: 1}, breaksProtect: true, desc: "Has a 100% chance to paralyze the target. This attack charges on the first turn and executes on the second. If the user is holding a Power Herb, the move completes in one turn. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Charges turn 1. Hits turn 2. 100% paralyze.", @@ -398,7 +398,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { chance: 100, status: 'brn', }, - flags: {charge: 1, mirror: 1}, + flags: {charge: 1, mirror: 1, metronome: 1}, breaksProtect: true, desc: "Has a 100% chance to burn the target. This attack charges on the first turn and executes on the second. If the user is holding a Power Herb, the move completes in one turn. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Charges turn 1. Hits turn 2. 100% burn.", @@ -411,7 +411,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { onTryHit(target) { target.removeVolatile('substitute'); }, - flags: {contact: 1, charge: 1, mirror: 1, gravity: 1, distance: 1}, + flags: {contact: 1, charge: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1}, breaksProtect: true, desc: "Has a 30% chance to paralyze the target. This attack charges on the first turn and executes on the second. On the first turn, the user avoids all attacks other than Gust, Hurricane, Sky Uppercut, Smack Down, Thousand Arrows, Thunder, and Twister. If the user is holding a Power Herb, the move completes in one turn. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Bounces turn 1. Hits turn 2. 30% paralyze.", @@ -430,7 +430,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { def: -1, }, }, - flags: {contact: 1, charge: 1, mirror: 1, gravity: 1, distance: 1}, + flags: {contact: 1, charge: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1}, breaksProtect: true, desc: "This attack charges on the first turn and executes on the second. On the first turn, the user avoids all attacks other than Gust, Hurricane, Sky Uppercut, Smack Down, Thousand Arrows, Thunder, and Twister. If the user is holding a Power Herb, the move completes in one turn. 100% chance to lower the target's Defense by one stage. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Flies up on first turn, then strikes the next turn. Lowers target's Def by 1 stage.", @@ -451,7 +451,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, desc: "This attack charges on the first turn and executes on the second. On the first turn, the user avoids all attacks other than Earthquake and Magnitude but takes double damage from them, and is also unaffected by weather. If the user is holding a Power Herb, the move completes in one turn. 100% chance to lower the target's Defense by one stage. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Digs underground turn 1, strikes turn 2. Lowers target's Def by 1 stage.", - flags: {contact: 1, charge: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, charge: 1, mirror: 1, nonsky: 1, metronome: 1}, breaksProtect: true, }, dive: { @@ -470,7 +470,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, desc: "This attack charges on the first turn and executes on the second. On the first turn, the user avoids all attacks other than Surf and Whirlpool but takes double damage from them, and is also unaffected by weather. If the user is holding a Power Herb, the move completes in one turn. 100% chance to lower the target's Defense by one stage. This move removes the target's Substitute (if one is active), and bypasses Protect. This move is also a guaranteed critical hit.", shortDesc: "Dives underwater turn 1, strikes turn 2. Lowers target's Def by 1 stage.", - flags: {contact: 1, charge: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, charge: 1, mirror: 1, nonsky: 1, metronome: 1}, breaksProtect: true, }, phantomforce: { @@ -518,7 +518,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { }, desc: "This attack takes the target into the air with the user on the first turn and executes on the second. Pokemon weighing 200kg or more cannot be lifted. On the first turn, the user and the target avoid all attacks other than Gust, Hurricane, Sky Uppercut, Smack Down, Thousand Arrows, Thunder, and Twister. The user and the target cannot make a move between turns, but the target can select a move to use. This move cannot damage Flying-type Pokemon. Fails on the first turn if the target is an ally or if the target has a substitute. Lowers the target's Defense by one stage. This move is a guaranteed critical hit. This move ignores Protection.", shortDesc: "User and foe fly up turn 1. Damages on turn 2. Lowers target's Def by 1 stage.", - flags: {contact: 1, charge: 1, mirror: 1, gravity: 1, distance: 1}, + flags: {contact: 1, charge: 1, mirror: 1, gravity: 1, distance: 1, metronome: 1}, breaksProtect: true, }, hyperbeam: { @@ -1272,7 +1272,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { basePower: 80, category: "Special", priority: 0, - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, ignoreImmunity: false, effectType: 'Move', type: 'Normal', @@ -2086,7 +2086,7 @@ export const Moves: {[k: string]: ModdedMoveData} = { name: "Magikarp's Revenge", pp: 10, priority: 0, - flags: {contact: 1, recharge: 1, protect: 1, mirror: 1, heal: 1}, + flags: {contact: 1, recharge: 1, protect: 1, mirror: 1, heal: 1, metronome: 1}, noSketch: true, drain: [1, 2], onTry(pokemon) { diff --git a/data/mods/mixandmega/random-teams.ts b/data/mods/mixandmega/random-teams.ts deleted file mode 100644 index 01c04c903ae9..000000000000 --- a/data/mods/mixandmega/random-teams.ts +++ /dev/null @@ -1,184 +0,0 @@ -import {RandomTeams} from './../../random-teams'; -import {toID} from '../../../sim/dex'; - -const mnmItems = [ - 'blueorb', 'redorb', 'rustedshield', 'rustedsword', -]; - -export class RandomMnMTeams extends RandomTeams { - randomCCTeam(): RandomTeamsTypes.RandomSet[] { - this.enforceNoDirectCustomBanlistChanges(); - - const dex = this.dex; - const team = []; - - const natures = this.dex.natures.all(); - const items = this.dex.items.all().filter(item => item.megaStone || mnmItems.includes(item.id)); - - const randomN = this.randomNPokemon(this.maxTeamSize, this.forceMonotype, undefined, undefined, true); - - for (let forme of randomN) { - let species = dex.species.get(forme); - if (species.isNonstandard) species = dex.species.get(species.baseSpecies); - - // Random legal item - let item = ''; - let isIllegalItem; - if (this.gen >= 2) { - do { - item = this.sample(items).name; - isIllegalItem = this.dex.items.get(item).gen > this.gen || this.dex.items.get(item).isNonstandard; - } while (isIllegalItem); - } - - // Make sure forme is legal - if (species.battleOnly) { - if (typeof species.battleOnly === 'string') { - species = dex.species.get(species.battleOnly); - } else { - species = dex.species.get(this.sample(species.battleOnly)); - } - forme = species.name; - } else if (species.requiredItems && !species.requiredItems.some(req => toID(req) === item)) { - if (!species.changesFrom) throw new Error(`${species.name} needs a changesFrom value`); - species = dex.species.get(species.changesFrom); - forme = species.name; - } - - // Random legal ability - const abilities = Object.values(species.abilities).filter(a => this.dex.abilities.get(a).gen <= this.gen); - const ability: string = this.gen <= 2 ? 'No Ability' : this.sample(abilities); - - // Four random unique moves from the movepool - let pool = ['struggle']; - if (forme === 'Smeargle') { - pool = this.dex.moves - .all() - .filter(move => !(move.isNonstandard || move.isZ || move.isMax || move.realMove)) - .map(m => m.id); - } else { - const formes = ['gastrodoneast', 'pumpkaboosuper', 'zygarde10']; - let learnset = this.dex.species.getLearnset(species.id); - let learnsetSpecies = species; - if (formes.includes(species.id) || !learnset) { - learnsetSpecies = this.dex.species.get(species.baseSpecies); - learnset = this.dex.species.getLearnset(learnsetSpecies.id); - } - if (learnset) { - pool = Object.keys(learnset).filter( - moveid => learnset![moveid].find(learned => learned.startsWith(String(this.gen))) - ); - } - if (learnset && learnsetSpecies === species && species.changesFrom) { - learnset = this.dex.species.getLearnset(toID(species.changesFrom)); - for (const moveid in learnset) { - if (!pool.includes(moveid) && learnset[moveid].some(source => source.startsWith(String(this.gen)))) { - pool.push(moveid); - } - } - } - const evoRegion = learnsetSpecies.evoRegion && learnsetSpecies.gen !== this.gen; - while (learnsetSpecies.prevo) { - learnsetSpecies = this.dex.species.get(learnsetSpecies.prevo); - for (const moveid in learnset) { - if (!pool.includes(moveid) && - learnset[moveid].some(source => source.startsWith(String(this.gen)) && !evoRegion)) { - pool.push(moveid); - } - } - } - } - - const moves = this.multipleSamplesNoReplace(pool, this.maxMoveCount); - - // Random EVs - const evs: StatsTable = {hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 0}; - const s: StatID[] = ["hp", "atk", "def", "spa", "spd", "spe"]; - let evpool = 510; - do { - const x = this.sample(s); - const y = this.random(Math.min(256 - evs[x], evpool + 1)); - evs[x] += y; - evpool -= y; - } while (evpool > 0); - - // Random IVs - const ivs = { - hp: this.random(32), - atk: this.random(32), - def: this.random(32), - spa: this.random(32), - spd: this.random(32), - spe: this.random(32), - }; - - // Random nature - const nature = this.sample(natures).name; - - // Level balance--calculate directly from stats rather than using some silly lookup table - const mbstmin = 1307; // Sunkern has the lowest modified base stat total, and that total is 807 - - let stats = species.baseStats; - // If Wishiwashi, use the school-forme's much higher stats - if (species.baseSpecies === 'Wishiwashi') stats = Dex.species.get('wishiwashischool').baseStats; - - // Modified base stat total assumes 31 IVs, 85 EVs in every stat - let mbst = (stats["hp"] * 2 + 31 + 21 + 100) + 10; - mbst += (stats["atk"] * 2 + 31 + 21 + 100) + 5; - mbst += (stats["def"] * 2 + 31 + 21 + 100) + 5; - mbst += (stats["spa"] * 2 + 31 + 21 + 100) + 5; - mbst += (stats["spd"] * 2 + 31 + 21 + 100) + 5; - mbst += (stats["spe"] * 2 + 31 + 21 + 100) + 5; - - let level; - if (this.adjustLevel) { - level = this.adjustLevel; - } else { - level = Math.floor(100 * mbstmin / mbst); // Initial level guess will underestimate - - while (level < 100) { - mbst = Math.floor((stats["hp"] * 2 + 31 + 21 + 100) * level / 100 + 10); - // Since damage is roughly proportional to level - mbst += Math.floor(((stats["atk"] * 2 + 31 + 21 + 100) * level / 100 + 5) * level / 100); - mbst += Math.floor((stats["def"] * 2 + 31 + 21 + 100) * level / 100 + 5); - mbst += Math.floor(((stats["spa"] * 2 + 31 + 21 + 100) * level / 100 + 5) * level / 100); - mbst += Math.floor((stats["spd"] * 2 + 31 + 21 + 100) * level / 100 + 5); - mbst += Math.floor((stats["spe"] * 2 + 31 + 21 + 100) * level / 100 + 5); - - if (mbst >= mbstmin) break; - level++; - } - } - - // Random happiness - const happiness = this.random(256); - - // Random shininess - const shiny = this.randomChance(1, 1024); - - const set: RandomTeamsTypes.RandomSet = { - name: species.baseSpecies, - species: species.name, - gender: species.gender, - item, - ability, - moves, - evs, - ivs, - nature, - level, - happiness, - shiny, - }; - if (this.gen === 9) { - // Tera type - set.teraType = this.sample(this.dex.types.all()).name; - } - team.push(set); - } - - return team; - } -} - -export default RandomMnMTeams; diff --git a/data/mods/mixandmega/scripts.ts b/data/mods/mixandmega/scripts.ts index e0cdae39262a..7fb9f4d494d3 100644 --- a/data/mods/mixandmega/scripts.ts +++ b/data/mods/mixandmega/scripts.ts @@ -433,6 +433,9 @@ export const Scripts: ModdedBattleScriptsData = { if (pokemon.illusion?.species.baseSpecies === 'Ogerpon') { this.battle.singleEvent('End', this.dex.abilities.get('Illusion'), pokemon.abilityState, pokemon); } + if (pokemon.illusion?.species.baseSpecies === 'Terapagos') { + this.battle.singleEvent('End', this.dex.abilities.get('Illusion'), pokemon.abilityState, pokemon); + } let type = pokemon.teraType; if (pokemon.species.baseSpecies !== 'Ogerpon' && pokemon.getItem().name.endsWith('Mask')) { @@ -464,9 +467,8 @@ export const Scripts: ModdedBattleScriptsData = { } } } - if (pokemon.species.baseSpecies === 'Ogerpon') { - const tera = pokemon.species.id === 'ogerpon' ? 'tealtera' : 'tera'; - pokemon.formeChange(pokemon.species.id + tera, pokemon.getItem(), true); + if (pokemon.species.name === 'Terapagos-Terastal' && type === 'Stellar') { + pokemon.formeChange('Terapagos-Stellar', null, true); } this.battle.runEvent('AfterTerastallization', pokemon); }, diff --git a/data/mods/moderngen2/formats-data.ts b/data/mods/moderngen2/formats-data.ts new file mode 100644 index 000000000000..787c08e5ecfc --- /dev/null +++ b/data/mods/moderngen2/formats-data.ts @@ -0,0 +1,3713 @@ +export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = { + bulbasaur: { + tier: "LC", + }, + ivysaur: { + tier: "NFE", + }, + venusaur: { + tier: "OU", + }, + venusaurmega: { + tier: "OU", + }, + charmander: { + tier: "LC", + }, + charmeleon: { + tier: "NFE", + }, + charizard: { + tier: "OU", + }, + charizardmegax: { + tier: "OU", + }, + charizardmegay: { + tier: "OU", + }, + squirtle: { + tier: "LC", + }, + wartortle: { + tier: "NFE", + }, + blastoise: { + tier: "OU", + }, + blastoisemega: { + tier: "OU", + }, + caterpie: { + tier: "LC", + }, + metapod: { + tier: "NFE", + }, + butterfree: { + tier: "OU", + }, + weedle: { + tier: "LC", + }, + kakuna: { + tier: "NFE", + }, + beedrill: { + tier: "OU", + }, + beedrillmega: { + tier: "OU", + }, + pidgey: { + tier: "LC", + }, + pidgeotto: { + tier: "NFE", + }, + pidgeot: { + tier: "OU", + }, + pidgeotmega: { + tier: "OU", + }, + rattata: { + tier: "LC", + }, + rattataalola: { + tier: "LC", + }, + raticate: { + tier: "OU", + }, + raticatealola: { + tier: "OU", + }, + spearow: { + tier: "LC", + }, + fearow: { + tier: "OU", + }, + ekans: { + tier: "LC", + }, + arbok: { + tier: "OU", + }, + pichu: { + tier: "LC", + }, + pichuspikyeared: { + tier: "Illegal", + }, + pikachu: { + tier: "NFE", + }, + pikachucosplay: { + tier: "Illegal", + }, + pikachurockstar: { + tier: "Illegal", + }, + pikachubelle: { + tier: "Illegal", + }, + pikachupopstar: { + tier: "Illegal", + }, + pikachuphd: { + tier: "Illegal", + }, + pikachulibre: { + tier: "Illegal", + }, + pikachuoriginal: { + tier: "OU", + }, + pikachuhoenn: { + tier: "OU", + }, + pikachusinnoh: { + tier: "OU", + }, + pikachuunova: { + tier: "OU", + }, + pikachukalos: { + tier: "OU", + }, + pikachualola: { + tier: "OU", + }, + pikachupartner: { + tier: "OU", + }, + pikachuworld: { + tier: "OU", + }, + raichu: { + tier: "OU", + }, + raichualola: { + tier: "OU", + }, + sandshrew: { + tier: "LC", + }, + sandshrewalola: { + tier: "LC", + }, + sandslash: { + tier: "OU", + }, + sandslashalola: { + tier: "OU", + }, + nidoranf: { + tier: "LC", + }, + nidorina: { + tier: "NFE", + }, + nidoqueen: { + tier: "OU", + }, + nidoranm: { + tier: "LC", + }, + nidorino: { + tier: "NFE", + }, + nidoking: { + tier: "OU", + }, + cleffa: { + tier: "LC", + }, + clefairy: { + tier: "NFE", + }, + clefable: { + tier: "OU", + }, + vulpix: { + tier: "LC", + }, + vulpixalola: { + tier: "LC", + }, + ninetales: { + tier: "OU", + }, + ninetalesalola: { + tier: "OU", + }, + igglybuff: { + tier: "LC", + }, + jigglypuff: { + tier: "NFE", + }, + wigglytuff: { + tier: "OU", + }, + zubat: { + tier: "LC", + }, + golbat: { + tier: "NFE", + }, + crobat: { + tier: "OU", + }, + oddish: { + tier: "LC", + }, + gloom: { + tier: "NFE", + }, + vileplume: { + tier: "OU", + }, + bellossom: { + tier: "OU", + }, + paras: { + tier: "LC", + }, + parasect: { + tier: "OU", + }, + venonat: { + tier: "LC", + }, + venomoth: { + tier: "OU", + }, + diglett: { + tier: "LC", + }, + diglettalola: { + tier: "LC", + }, + dugtrio: { + tier: "OU", + }, + dugtrioalola: { + tier: "OU", + }, + meowth: { + tier: "LC", + }, + meowthalola: { + tier: "LC", + }, + meowthgalar: { + tier: "LC", + }, + persian: { + tier: "OU", + }, + persianalola: { + tier: "OU", + }, + perrserker: { + tier: "OU", + }, + psyduck: { + tier: "LC", + }, + golduck: { + tier: "OU", + }, + mankey: { + tier: "LC", + }, + primeape: { + tier: "OU", + }, + growlithe: { + tier: "LC", + }, + growlithehisui: { + tier: "LC", + }, + arcanine: { + tier: "OU", + }, + arcaninehisui: { + tier: "OU", + }, + poliwag: { + tier: "LC", + }, + poliwhirl: { + tier: "NFE", + }, + poliwrath: { + tier: "OU", + }, + politoed: { + tier: "OU", + }, + abra: { + tier: "LC", + }, + kadabra: { + tier: "NFE", + }, + alakazam: { + tier: "OU", + }, + alakazammega: { + tier: "Uber", + }, + machop: { + tier: "LC", + }, + machoke: { + tier: "NFE", + }, + machamp: { + tier: "OU", + }, + bellsprout: { + tier: "LC", + }, + weepinbell: { + tier: "NFE", + }, + victreebel: { + tier: "OU", + }, + tentacool: { + tier: "LC", + }, + tentacruel: { + tier: "OU", + }, + geodude: { + tier: "LC", + }, + geodudealola: { + tier: "LC", + }, + graveler: { + tier: "NFE", + }, + graveleralola: { + tier: "NFE", + }, + golem: { + tier: "OU", + }, + golemalola: { + tier: "OU", + }, + ponyta: { + tier: "LC", + }, + ponytagalar: { + tier: "LC", + }, + rapidash: { + tier: "OU", + }, + rapidashgalar: { + tier: "OU", + }, + slowpoke: { + tier: "LC", + }, + slowpokegalar: { + tier: "LC", + }, + slowbro: { + tier: "OU", + }, + slowbrogalar: { + tier: "OU", + }, + slowbromega: { + tier: "OU", + }, + slowking: { + tier: "OU", + }, + slowkinggalar: { + tier: "OU", + }, + magnemite: { + tier: "LC", + }, + magneton: { + tier: "NFE", + }, + magnezone: { + tier: "OU", + }, + farfetchd: { + tier: "OU", + }, + farfetchdgalar: { + tier: "LC", + }, + sirfetchd: { + tier: "OU", + }, + doduo: { + tier: "LC", + }, + dodrio: { + tier: "OU", + }, + seel: { + tier: "LC", + }, + dewgong: { + tier: "OU", + }, + grimer: { + tier: "LC", + }, + grimeralola: { + tier: "LC", + }, + muk: { + tier: "OU", + }, + mukalola: { + tier: "OU", + }, + shellder: { + tier: "LC", + }, + cloyster: { + tier: "OU", + }, + gastly: { + tier: "LC", + }, + haunter: { + tier: "NFE", + }, + gengar: { + tier: "OU", + }, + gengarmega: { + tier: "OU", + }, + onix: { + tier: "LC", + }, + steelix: { + tier: "OU", + }, + steelixmega: { + tier: "OU", + }, + drowzee: { + tier: "LC", + }, + hypno: { + tier: "OU", + }, + krabby: { + tier: "LC", + }, + kingler: { + tier: "OU", + }, + voltorb: { + tier: "LC", + }, + voltorbhisui: { + tier: "LC", + }, + electrode: { + tier: "OU", + }, + electrodehisui: { + tier: "OU", + }, + exeggcute: { + tier: "LC", + }, + exeggutor: { + tier: "OU", + }, + exeggutoralola: { + tier: "OU", + }, + cubone: { + tier: "LC", + }, + marowak: { + tier: "OU", + }, + marowakalola: { + tier: "OU", + }, + tyrogue: { + tier: "LC", + }, + hitmonlee: { + tier: "OU", + }, + hitmonchan: { + tier: "OU", + }, + hitmontop: { + tier: "OU", + }, + lickitung: { + tier: "LC", + }, + lickilicky: { + tier: "OU", + }, + koffing: { + tier: "LC", + }, + weezing: { + tier: "OU", + }, + weezinggalar: { + tier: "OU", + }, + rhyhorn: { + tier: "LC", + }, + rhydon: { + tier: "NFE", + }, + rhyperior: { + tier: "OU", + }, + happiny: { + tier: "LC", + }, + chansey: { + tier: "OU", + }, + blissey: { + tier: "OU", + }, + tangela: { + tier: "NFE", + }, + tangrowth: { + tier: "OU", + }, + kangaskhan: { + tier: "OU", + }, + kangaskhanmega: { + tier: "OU", + }, + horsea: { + tier: "LC", + }, + seadra: { + tier: "NFE", + }, + kingdra: { + tier: "OU", + }, + goldeen: { + tier: "LC", + }, + seaking: { + tier: "OU", + }, + staryu: { + tier: "LC", + }, + starmie: { + tier: "OU", + }, + mimejr: { + tier: "LC", + }, + mrmime: { + tier: "OU", + }, + mrmimegalar: { + tier: "NFE", + }, + mrrime: { + tier: "OU", + }, + scyther: { + tier: "NFE", + }, + scizor: { + tier: "OU", + }, + scizormega: { + tier: "OU", + }, + kleavor: { + tier: "OU", + }, + smoochum: { + tier: "LC", + }, + jynx: { + tier: "OU", + }, + elekid: { + tier: "LC", + }, + electabuzz: { + tier: "NFE", + }, + electivire: { + tier: "OU", + }, + magby: { + tier: "LC", + }, + magmar: { + tier: "NFE", + }, + magmortar: { + tier: "OU", + }, + pinsir: { + tier: "OU", + }, + pinsirmega: { + tier: "OU", + }, + tauros: { + tier: "OU", + }, + taurospaldeacombat: { + tier: "OU", + }, + taurospaldeablaze: { + tier: "OU", + }, + taurospaldeaaqua: { + tier: "OU", + }, + magikarp: { + tier: "LC", + }, + gyarados: { + tier: "OU", + }, + gyaradosmega: { + tier: "OU", + }, + lapras: { + tier: "OU", + }, + ditto: { + tier: "OU", + }, + eevee: { + tier: "LC", + }, + vaporeon: { + tier: "OU", + }, + jolteon: { + tier: "OU", + }, + flareon: { + tier: "OU", + }, + espeon: { + tier: "OU", + }, + umbreon: { + tier: "OU", + }, + leafeon: { + tier: "OU", + }, + glaceon: { + tier: "OU", + }, + sylveon: { + tier: "OU", + }, + porygon: { + tier: "LC", + }, + porygon2: { + tier: "NFE", + }, + porygonz: { + tier: "OU", + }, + omanyte: { + tier: "LC", + }, + omastar: { + tier: "OU", + }, + kabuto: { + tier: "LC", + }, + kabutops: { + tier: "OU", + }, + aerodactyl: { + tier: "OU", + }, + aerodactylmega: { + tier: "OU", + }, + munchlax: { + tier: "LC", + }, + snorlax: { + tier: "OU", + }, + articuno: { + tier: "OU", + }, + articunogalar: { + tier: "OU", + }, + zapdos: { + tier: "OU", + }, + zapdosgalar: { + tier: "OU", + }, + moltres: { + tier: "OU", + }, + moltresgalar: { + tier: "OU", + }, + dratini: { + tier: "LC", + }, + dragonair: { + tier: "NFE", + }, + dragonite: { + tier: "OU", + }, + mewtwo: { + tier: "Uber", + }, + mewtwomegax: { + tier: "Uber", + }, + mewtwomegay: { + tier: "Uber", + }, + mew: { + tier: "OU", + }, + chikorita: { + tier: "LC", + }, + bayleef: { + tier: "NFE", + }, + meganium: { + tier: "OU", + }, + cyndaquil: { + tier: "LC", + }, + quilava: { + tier: "NFE", + }, + typhlosion: { + tier: "OU", + }, + typhlosionhisui: { + tier: "OU", + }, + totodile: { + tier: "LC", + }, + croconaw: { + tier: "NFE", + }, + feraligatr: { + tier: "OU", + }, + sentret: { + tier: "LC", + }, + furret: { + tier: "OU", + }, + hoothoot: { + tier: "LC", + }, + noctowl: { + tier: "OU", + }, + ledyba: { + tier: "LC", + }, + ledian: { + tier: "OU", + }, + spinarak: { + tier: "LC", + }, + ariados: { + tier: "OU", + }, + chinchou: { + tier: "LC", + }, + lanturn: { + tier: "OU", + }, + togepi: { + tier: "LC", + }, + togetic: { + tier: "NFE", + }, + togekiss: { + tier: "OU", + }, + natu: { + tier: "LC", + }, + xatu: { + tier: "OU", + }, + mareep: { + tier: "LC", + }, + flaaffy: { + tier: "NFE", + }, + ampharos: { + tier: "OU", + }, + ampharosmega: { + tier: "OU", + }, + azurill: { + tier: "LC", + }, + marill: { + tier: "NFE", + }, + azumarill: { + tier: "OU", + }, + bonsly: { + tier: "LC", + }, + sudowoodo: { + tier: "OU", + }, + hoppip: { + tier: "LC", + }, + skiploom: { + tier: "NFE", + }, + jumpluff: { + tier: "OU", + }, + aipom: { + tier: "LC", + }, + ambipom: { + tier: "OU", + }, + sunkern: { + tier: "LC", + }, + sunflora: { + tier: "OU", + }, + yanma: { + tier: "LC", + }, + yanmega: { + tier: "OU", + }, + wooper: { + tier: "LC", + }, + wooperpaldea: { + tier: "LC", + }, + quagsire: { + tier: "OU", + }, + murkrow: { + tier: "LC", + }, + honchkrow: { + tier: "OU", + }, + misdreavus: { + tier: "LC", + }, + mismagius: { + tier: "OU", + }, + unown: { + tier: "OU", + }, + wynaut: { + tier: "LC", + }, + wobbuffet: { + tier: "OU", + }, + girafarig: { + tier: "NFE", + }, + farigiraf: { + tier: "OU", + }, + pineco: { + tier: "LC", + }, + forretress: { + tier: "OU", + }, + dunsparce: { + tier: "LC", + }, + dudunsparce: { + tier: "OU", + }, + gligar: { + tier: "LC", + }, + gliscor: { + tier: "OU", + }, + snubbull: { + tier: "LC", + }, + granbull: { + tier: "OU", + }, + qwilfish: { + tier: "OU", + }, + qwilfishhisui: { + tier: "NFE", + }, + overqwil: { + tier: "OU", + }, + shuckle: { + tier: "OU", + }, + heracross: { + tier: "OU", + }, + heracrossmega: { + tier: "OU", + }, + sneasel: { + tier: "NFE", + }, + sneaselhisui: { + tier: "NFE", + }, + weavile: { + tier: "OU", + }, + sneasler: { + tier: "OU", + }, + teddiursa: { + tier: "LC", + }, + ursaring: { + tier: "OU", + }, + ursaluna: { + tier: "OU", + }, + ursalunabloodmoon: { + tier: "OU", + }, + slugma: { + tier: "LC", + }, + magcargo: { + tier: "OU", + }, + swinub: { + tier: "LC", + }, + piloswine: { + tier: "NFE", + }, + mamoswine: { + tier: "OU", + }, + corsola: { + tier: "OU", + }, + corsolagalar: { + tier: "LC", + }, + cursola: { + tier: "OU", + }, + remoraid: { + tier: "LC", + }, + octillery: { + tier: "OU", + }, + delibird: { + tier: "OU", + }, + mantyke: { + tier: "LC", + }, + mantine: { + tier: "OU", + }, + skarmory: { + tier: "OU", + }, + houndour: { + tier: "LC", + }, + houndoom: { + tier: "OU", + }, + houndoommega: { + tier: "OU", + }, + phanpy: { + tier: "LC", + }, + donphan: { + tier: "OU", + }, + stantler: { + tier: "NFE", + }, + wyrdeer: { + tier: "OU", + }, + smeargle: { + tier: "OU", + }, + miltank: { + tier: "OU", + }, + raikou: { + tier: "OU", + }, + entei: { + tier: "OU", + }, + suicune: { + tier: "OU", + }, + larvitar: { + tier: "LC", + }, + pupitar: { + tier: "NFE", + }, + tyranitar: { + tier: "OU", + }, + tyranitarmega: { + tier: "OU", + }, + lugia: { + tier: "Uber", + }, + hooh: { + tier: "Uber", + }, + celebi: { + tier: "OU", + }, + treecko: { + tier: "LC", + }, + grovyle: { + tier: "NFE", + }, + sceptile: { + tier: "OU", + }, + sceptilemega: { + tier: "OU", + }, + torchic: { + tier: "LC", + }, + combusken: { + tier: "NFE", + }, + blaziken: { + tier: "OU", + }, + blazikenmega: { + tier: "OU", + }, + mudkip: { + tier: "LC", + }, + marshtomp: { + tier: "NFE", + }, + swampert: { + tier: "OU", + }, + swampertmega: { + tier: "OU", + }, + poochyena: { + tier: "LC", + }, + mightyena: { + tier: "OU", + }, + zigzagoon: { + tier: "LC", + }, + zigzagoongalar: { + tier: "LC", + }, + linoone: { + tier: "OU", + }, + linoonegalar: { + tier: "NFE", + }, + obstagoon: { + tier: "OU", + }, + wurmple: { + tier: "LC", + }, + silcoon: { + tier: "NFE", + }, + beautifly: { + tier: "OU", + }, + cascoon: { + tier: "NFE", + }, + dustox: { + tier: "OU", + }, + lotad: { + tier: "LC", + }, + lombre: { + tier: "NFE", + }, + ludicolo: { + tier: "OU", + }, + seedot: { + tier: "LC", + }, + nuzleaf: { + tier: "NFE", + }, + shiftry: { + tier: "OU", + }, + taillow: { + tier: "LC", + }, + swellow: { + tier: "OU", + }, + wingull: { + tier: "LC", + }, + pelipper: { + tier: "OU", + }, + ralts: { + tier: "LC", + }, + kirlia: { + tier: "NFE", + }, + gardevoir: { + tier: "OU", + }, + gardevoirmega: { + tier: "OU", + }, + gallade: { + tier: "OU", + }, + gallademega: { + tier: "OU", + }, + surskit: { + tier: "LC", + }, + masquerain: { + tier: "OU", + }, + shroomish: { + tier: "LC", + }, + breloom: { + tier: "OU", + }, + slakoth: { + tier: "LC", + }, + vigoroth: { + tier: "NFE", + }, + slaking: { + tier: "Uber", + }, + nincada: { + tier: "LC", + }, + ninjask: { + tier: "OU", + }, + shedinja: { + tier: "OU", + }, + whismur: { + tier: "LC", + }, + loudred: { + tier: "NFE", + }, + exploud: { + tier: "OU", + }, + makuhita: { + tier: "LC", + }, + hariyama: { + tier: "OU", + }, + nosepass: { + tier: "LC", + }, + probopass: { + tier: "OU", + }, + skitty: { + tier: "LC", + }, + delcatty: { + tier: "OU", + }, + sableye: { + tier: "OU", + }, + sableyemega: { + tier: "OU", + }, + mawile: { + tier: "OU", + }, + mawilemega: { + tier: "OU", + }, + aron: { + tier: "LC", + }, + lairon: { + tier: "NFE", + }, + aggron: { + tier: "OU", + }, + aggronmega: { + tier: "OU", + }, + meditite: { + tier: "LC", + }, + medicham: { + tier: "OU", + }, + medichammega: { + tier: "OU", + }, + electrike: { + tier: "LC", + }, + manectric: { + tier: "OU", + }, + manectricmega: { + tier: "OU", + }, + plusle: { + tier: "OU", + }, + minun: { + tier: "OU", + }, + volbeat: { + tier: "OU", + }, + illumise: { + tier: "OU", + }, + budew: { + tier: "LC", + }, + roselia: { + tier: "NFE", + }, + roserade: { + tier: "OU", + }, + gulpin: { + tier: "LC", + }, + swalot: { + tier: "OU", + }, + carvanha: { + tier: "LC", + }, + sharpedo: { + tier: "OU", + }, + sharpedomega: { + tier: "OU", + }, + wailmer: { + tier: "LC", + }, + wailord: { + tier: "OU", + }, + numel: { + tier: "LC", + }, + camerupt: { + tier: "OU", + }, + cameruptmega: { + tier: "OU", + }, + torkoal: { + tier: "OU", + }, + spoink: { + tier: "LC", + }, + grumpig: { + tier: "OU", + }, + spinda: { + tier: "OU", + }, + trapinch: { + tier: "LC", + }, + vibrava: { + tier: "NFE", + }, + flygon: { + tier: "OU", + }, + cacnea: { + tier: "LC", + }, + cacturne: { + tier: "OU", + }, + swablu: { + tier: "LC", + }, + altaria: { + tier: "OU", + }, + altariamega: { + tier: "OU", + }, + zangoose: { + tier: "OU", + }, + seviper: { + tier: "OU", + }, + lunatone: { + tier: "OU", + }, + solrock: { + tier: "OU", + }, + barboach: { + tier: "LC", + }, + whiscash: { + tier: "OU", + }, + corphish: { + tier: "LC", + }, + crawdaunt: { + tier: "OU", + }, + baltoy: { + tier: "LC", + }, + claydol: { + tier: "OU", + }, + lileep: { + tier: "LC", + }, + cradily: { + tier: "OU", + }, + anorith: { + tier: "LC", + }, + armaldo: { + tier: "OU", + }, + feebas: { + tier: "LC", + }, + milotic: { + tier: "OU", + }, + castform: { + tier: "OU", + }, + kecleon: { + tier: "OU", + }, + shuppet: { + tier: "LC", + }, + banette: { + tier: "OU", + }, + banettemega: { + tier: "OU", + }, + duskull: { + tier: "LC", + }, + dusclops: { + tier: "NFE", + }, + dusknoir: { + tier: "OU", + }, + tropius: { + tier: "OU", + }, + chingling: { + tier: "LC", + }, + chimecho: { + tier: "OU", + }, + absol: { + tier: "OU", + }, + absolmega: { + tier: "OU", + }, + snorunt: { + tier: "LC", + }, + glalie: { + tier: "OU", + }, + glaliemega: { + tier: "OU", + }, + froslass: { + tier: "OU", + }, + spheal: { + tier: "LC", + }, + sealeo: { + tier: "NFE", + }, + walrein: { + tier: "OU", + }, + clamperl: { + tier: "LC", + }, + huntail: { + tier: "OU", + }, + gorebyss: { + tier: "OU", + }, + relicanth: { + tier: "OU", + }, + luvdisc: { + tier: "OU", + }, + bagon: { + tier: "LC", + }, + shelgon: { + tier: "NFE", + }, + salamence: { + tier: "OU", + }, + salamencemega: { + tier: "OU", + }, + beldum: { + tier: "LC", + }, + metang: { + tier: "NFE", + }, + metagross: { + tier: "OU", + }, + metagrossmega: { + tier: "OU", + }, + regirock: { + tier: "OU", + }, + regice: { + tier: "OU", + }, + registeel: { + tier: "OU", + }, + latias: { + tier: "OU", + }, + latiasmega: { + tier: "OU", + }, + latios: { + tier: "OU", + }, + latiosmega: { + tier: "OU", + }, + kyogre: { + tier: "Uber", + }, + kyogreprimal: { + tier: "Uber", + }, + groudon: { + tier: "Uber", + }, + groudonprimal: { + tier: "Uber", + }, + rayquaza: { + tier: "Uber", + }, + rayquazamega: { + tier: "Uber", + }, + jirachi: { + tier: "OU", + }, + deoxys: { + tier: "Uber", + }, + deoxysattack: { + tier: "Uber", + }, + deoxysdefense: { + tier: "OU", + }, + deoxysspeed: { + tier: "Uber", + }, + turtwig: { + tier: "LC", + }, + grotle: { + tier: "NFE", + }, + torterra: { + tier: "OU", + }, + chimchar: { + tier: "LC", + }, + monferno: { + tier: "NFE", + }, + infernape: { + tier: "OU", + }, + piplup: { + tier: "LC", + }, + prinplup: { + tier: "NFE", + }, + empoleon: { + tier: "OU", + }, + starly: { + tier: "LC", + }, + staravia: { + tier: "NFE", + }, + staraptor: { + tier: "OU", + }, + bidoof: { + tier: "LC", + }, + bibarel: { + tier: "OU", + }, + kricketot: { + tier: "LC", + }, + kricketune: { + tier: "OU", + }, + shinx: { + tier: "LC", + }, + luxio: { + tier: "NFE", + }, + luxray: { + tier: "OU", + }, + cranidos: { + tier: "LC", + }, + rampardos: { + tier: "OU", + }, + shieldon: { + tier: "LC", + }, + bastiodon: { + tier: "OU", + }, + burmy: { + tier: "LC", + }, + wormadam: { + tier: "OU", + }, + wormadamsandy: { + tier: "OU", + }, + wormadamtrash: { + tier: "OU", + }, + mothim: { + tier: "OU", + }, + combee: { + tier: "LC", + }, + vespiquen: { + tier: "OU", + }, + pachirisu: { + tier: "OU", + }, + buizel: { + tier: "LC", + }, + floatzel: { + tier: "OU", + }, + cherubi: { + tier: "LC", + }, + cherrim: { + tier: "OU", + }, + cherrimsunshine: { + tier: "Illegal", + }, + shellos: { + tier: "LC", + }, + gastrodon: { + tier: "OU", + }, + drifloon: { + tier: "LC", + }, + drifblim: { + tier: "OU", + }, + buneary: { + tier: "LC", + }, + lopunny: { + tier: "OU", + }, + lopunnymega: { + tier: "OU", + }, + glameow: { + tier: "LC", + }, + purugly: { + tier: "OU", + }, + stunky: { + tier: "LC", + }, + skuntank: { + tier: "OU", + }, + bronzor: { + tier: "LC", + }, + bronzong: { + tier: "OU", + }, + chatot: { + tier: "OU", + }, + spiritomb: { + tier: "OU", + }, + gible: { + tier: "LC", + }, + gabite: { + tier: "OU", + }, + garchomp: { + tier: "OU", + }, + garchompmega: { + tier: "OU", + }, + riolu: { + tier: "LC", + }, + lucario: { + tier: "OU", + }, + lucariomega: { + tier: "OU", + }, + hippopotas: { + tier: "LC", + }, + hippowdon: { + tier: "OU", + }, + skorupi: { + tier: "LC", + }, + drapion: { + tier: "OU", + }, + croagunk: { + tier: "LC", + }, + toxicroak: { + tier: "OU", + }, + carnivine: { + tier: "OU", + }, + finneon: { + tier: "LC", + }, + lumineon: { + tier: "OU", + }, + snover: { + tier: "LC", + }, + abomasnow: { + tier: "OU", + }, + abomasnowmega: { + tier: "OU", + }, + rotom: { + tier: "OU", + }, + rotomheat: { + tier: "OU", + }, + rotomwash: { + tier: "OU", + }, + rotomfrost: { + tier: "OU", + }, + rotomfan: { + tier: "OU", + }, + rotommow: { + tier: "OU", + }, + uxie: { + tier: "OU", + }, + mesprit: { + tier: "OU", + }, + azelf: { + tier: "OU", + }, + dialga: { + tier: "Uber", + }, + dialgaorigin: { + tier: "Uber", + }, + palkia: { + tier: "Uber", + }, + palkiaorigin: { + tier: "Uber", + }, + heatran: { + tier: "OU", + }, + regigigas: { + tier: "Uber", + }, + giratina: { + tier: "Uber", + }, + giratinaorigin: { + tier: "Uber", + }, + cresselia: { + tier: "OU", + }, + phione: { + tier: "OU", + }, + manaphy: { + tier: "Uber", + }, + darkrai: { + tier: "Uber", + }, + shaymin: { + tier: "OU", + }, + shayminsky: { + tier: "OU", + }, + arceus: { + tier: "Uber", + }, + victini: { + tier: "OU", + }, + snivy: { + tier: "LC", + }, + servine: { + tier: "NFE", + }, + serperior: { + tier: "OU", + }, + tepig: { + tier: "LC", + }, + pignite: { + tier: "NFE", + }, + emboar: { + tier: "OU", + }, + oshawott: { + tier: "LC", + }, + dewott: { + tier: "NFE", + }, + samurott: { + tier: "OU", + }, + samurotthisui: { + tier: "OU", + }, + patrat: { + tier: "LC", + }, + watchog: { + tier: "OU", + }, + lillipup: { + tier: "LC", + }, + herdier: { + tier: "NFE", + }, + stoutland: { + tier: "OU", + }, + purrloin: { + tier: "LC", + }, + liepard: { + tier: "OU", + }, + pansage: { + tier: "LC", + }, + simisage: { + tier: "OU", + }, + pansear: { + tier: "LC", + }, + simisear: { + tier: "OU", + }, + panpour: { + tier: "LC", + }, + simipour: { + tier: "OU", + }, + munna: { + tier: "LC", + }, + musharna: { + tier: "OU", + }, + pidove: { + tier: "LC", + }, + tranquill: { + tier: "NFE", + }, + unfezant: { + tier: "OU", + }, + blitzle: { + tier: "LC", + }, + zebstrika: { + tier: "OU", + }, + roggenrola: { + tier: "LC", + }, + boldore: { + tier: "NFE", + }, + gigalith: { + tier: "OU", + }, + woobat: { + tier: "LC", + }, + swoobat: { + tier: "OU", + }, + drilbur: { + tier: "LC", + }, + excadrill: { + tier: "OU", + }, + audino: { + tier: "OU", + }, + audinomega: { + tier: "OU", + }, + timburr: { + tier: "LC", + }, + gurdurr: { + tier: "NFE", + }, + conkeldurr: { + tier: "OU", + }, + tympole: { + tier: "LC", + }, + palpitoad: { + tier: "NFE", + }, + seismitoad: { + tier: "OU", + }, + throh: { + tier: "OU", + }, + sawk: { + tier: "OU", + }, + sewaddle: { + tier: "LC", + }, + swadloon: { + tier: "NFE", + }, + leavanny: { + tier: "OU", + }, + venipede: { + tier: "LC", + }, + whirlipede: { + tier: "NFE", + }, + scolipede: { + tier: "OU", + }, + cottonee: { + tier: "LC", + }, + whimsicott: { + tier: "OU", + }, + petilil: { + tier: "LC", + }, + lilligant: { + tier: "OU", + }, + lilliganthisui: { + tier: "OU", + }, + basculin: { + tier: "OU", + }, + basculinbluestriped: { + tier: "OU", + }, + basculinwhitestriped: { + tier: "NFE", + }, + basculegion: { + tier: "OU", + }, + basculegionf: { + tier: "OU", + }, + sandile: { + tier: "LC", + }, + krokorok: { + tier: "NFE", + }, + krookodile: { + tier: "OU", + }, + darumaka: { + tier: "LC", + }, + darumakagalar: { + tier: "LC", + }, + darmanitan: { + tier: "OU", + }, + darmanitanzen: { + tier: "Illegal", + }, + darmanitangalar: { + tier: "OU", + }, + darmanitangalarzen: { + tier: "Illegal", + }, + maractus: { + tier: "OU", + }, + dwebble: { + tier: "LC", + }, + crustle: { + tier: "OU", + }, + scraggy: { + tier: "LC", + }, + scrafty: { + tier: "OU", + }, + sigilyph: { + tier: "OU", + }, + yamask: { + tier: "LC", + }, + yamaskgalar: { + tier: "LC", + }, + cofagrigus: { + tier: "OU", + }, + runerigus: { + tier: "OU", + }, + tirtouga: { + tier: "LC", + }, + carracosta: { + tier: "OU", + }, + archen: { + tier: "LC", + }, + archeops: { + tier: "OU", + }, + trubbish: { + tier: "LC", + }, + garbodor: { + tier: "OU", + }, + zorua: { + tier: "LC", + }, + zoruahisui: { + tier: "LC", + }, + zoroark: { + tier: "OU", + }, + zoroarkhisui: { + tier: "OU", + }, + minccino: { + tier: "LC", + }, + cinccino: { + tier: "OU", + }, + gothita: { + tier: "LC", + }, + gothorita: { + tier: "NFE", + }, + gothitelle: { + tier: "OU", + }, + solosis: { + tier: "LC", + }, + duosion: { + tier: "NFE", + }, + reuniclus: { + tier: "OU", + }, + ducklett: { + tier: "LC", + }, + swanna: { + tier: "OU", + }, + vanillite: { + tier: "LC", + }, + vanillish: { + tier: "NFE", + }, + vanilluxe: { + tier: "OU", + }, + deerling: { + tier: "LC", + }, + sawsbuck: { + tier: "OU", + }, + emolga: { + tier: "OU", + }, + karrablast: { + tier: "LC", + }, + escavalier: { + tier: "OU", + }, + foongus: { + tier: "LC", + }, + amoonguss: { + tier: "OU", + }, + frillish: { + tier: "LC", + }, + jellicent: { + tier: "OU", + }, + alomomola: { + tier: "OU", + }, + joltik: { + tier: "LC", + }, + galvantula: { + tier: "OU", + }, + ferroseed: { + tier: "LC", + }, + ferrothorn: { + tier: "OU", + }, + klink: { + tier: "LC", + }, + klang: { + tier: "OU", + }, + klinklang: { + tier: "OU", + }, + tynamo: { + tier: "LC", + }, + eelektrik: { + tier: "NFE", + }, + eelektross: { + tier: "OU", + }, + elgyem: { + tier: "LC", + }, + beheeyem: { + tier: "OU", + }, + litwick: { + tier: "LC", + }, + lampent: { + tier: "NFE", + }, + chandelure: { + tier: "OU", + }, + axew: { + tier: "LC", + }, + fraxure: { + tier: "NFE", + }, + haxorus: { + tier: "OU", + }, + cubchoo: { + tier: "LC", + }, + beartic: { + tier: "OU", + }, + cryogonal: { + tier: "OU", + }, + shelmet: { + tier: "LC", + }, + accelgor: { + tier: "OU", + }, + stunfisk: { + tier: "OU", + }, + stunfiskgalar: { + tier: "OU", + }, + mienfoo: { + tier: "LC", + }, + mienshao: { + tier: "OU", + }, + druddigon: { + tier: "OU", + }, + golett: { + tier: "LC", + }, + golurk: { + tier: "OU", + }, + pawniard: { + tier: "LC", + }, + bisharp: { + tier: "OU", + }, + bouffalant: { + tier: "OU", + }, + rufflet: { + tier: "LC", + }, + braviary: { + tier: "OU", + }, + braviaryhisui: { + tier: "OU", + }, + vullaby: { + tier: "LC", + }, + mandibuzz: { + tier: "OU", + }, + heatmor: { + tier: "OU", + }, + durant: { + tier: "OU", + }, + deino: { + tier: "LC", + }, + zweilous: { + tier: "NFE", + }, + hydreigon: { + tier: "OU", + }, + larvesta: { + tier: "LC", + }, + volcarona: { + tier: "Uber", + }, + cobalion: { + tier: "OU", + }, + terrakion: { + tier: "OU", + }, + virizion: { + tier: "OU", + }, + tornadus: { + tier: "OU", + }, + tornadustherian: { + tier: "OU", + }, + thundurus: { + tier: "OU", + }, + thundurustherian: { + tier: "OU", + }, + reshiram: { + tier: "Uber", + }, + zekrom: { + tier: "Uber", + }, + landorus: { + tier: "OU", + }, + landorustherian: { + tier: "OU", + }, + kyurem: { + tier: "OU", + }, + kyuremblack: { + tier: "OU", + }, + kyuremwhite: { + tier: "Uber", + }, + keldeo: { + tier: "OU", + }, + keldeoresolute: { + tier: "OU", + }, + meloetta: { + tier: "OU", + }, + genesect: { + tier: "OU", + }, + genesectburn: { + tier: "OU", + }, + genesectchill: { + tier: "OU", + }, + genesectdouse: { + tier: "OU", + }, + genesectshock: { + tier: "OU", + }, + chespin: { + tier: "LC", + }, + quilladin: { + tier: "NFE", + }, + chesnaught: { + tier: "OU", + }, + fennekin: { + tier: "LC", + }, + braixen: { + tier: "NFE", + }, + delphox: { + tier: "OU", + }, + froakie: { + tier: "LC", + }, + frogadier: { + tier: "NFE", + }, + greninja: { + tier: "OU", + }, + greninjaash: { + tier: "Illegal", + }, + bunnelby: { + tier: "LC", + }, + diggersby: { + tier: "OU", + }, + fletchling: { + tier: "LC", + }, + fletchinder: { + tier: "NFE", + }, + talonflame: { + tier: "OU", + }, + scatterbug: { + tier: "LC", + }, + spewpa: { + tier: "NFE", + }, + vivillon: { + tier: "OU", + }, + vivillonfancy: { + tier: "OU", + }, + vivillonpokeball: { + tier: "OU", + }, + litleo: { + tier: "LC", + }, + pyroar: { + tier: "OU", + }, + flabebe: { + tier: "LC", + }, + floette: { + tier: "NFE", + }, + floetteeternal: { + tier: "OU", + }, + florges: { + tier: "OU", + }, + skiddo: { + tier: "LC", + }, + gogoat: { + tier: "OU", + }, + pancham: { + tier: "LC", + }, + pangoro: { + tier: "OU", + }, + furfrou: { + tier: "OU", + }, + espurr: { + tier: "LC", + }, + meowstic: { + tier: "OU", + }, + meowsticf: { + tier: "OU", + }, + honedge: { + tier: "LC", + }, + doublade: { + tier: "NFE", + }, + aegislash: { + tier: "OU", + }, + aegislashblade: { + }, + spritzee: { + tier: "LC", + }, + aromatisse: { + tier: "OU", + }, + swirlix: { + tier: "LC", + }, + slurpuff: { + tier: "OU", + }, + inkay: { + tier: "LC", + }, + malamar: { + tier: "OU", + }, + binacle: { + tier: "LC", + }, + barbaracle: { + tier: "OU", + }, + skrelp: { + tier: "LC", + }, + dragalge: { + tier: "OU", + }, + clauncher: { + tier: "LC", + }, + clawitzer: { + tier: "OU", + }, + helioptile: { + tier: "LC", + }, + heliolisk: { + tier: "OU", + }, + tyrunt: { + tier: "LC", + }, + tyrantrum: { + tier: "OU", + }, + amaura: { + tier: "LC", + }, + aurorus: { + tier: "OU", + }, + hawlucha: { + tier: "OU", + }, + dedenne: { + tier: "OU", + }, + carbink: { + tier: "OU", + }, + goomy: { + tier: "LC", + }, + sliggoo: { + tier: "NFE", + }, + sliggoohisui: { + tier: "NFE", + }, + goodra: { + tier: "OU", + }, + goodrahisui: { + tier: "OU", + }, + klefki: { + tier: "OU", + }, + phantump: { + tier: "LC", + }, + trevenant: { + tier: "OU", + }, + pumpkaboo: { + tier: "LC", + }, + pumpkaboosmall: { + tier: "LC", + }, + pumpkaboolarge: { + tier: "LC", + }, + pumpkaboosuper: { + tier: "LC", + }, + gourgeist: { + tier: "OU", + }, + gourgeistsmall: { + tier: "OU", + }, + gourgeistlarge: { + tier: "OU", + }, + gourgeistsuper: { + tier: "OU", + }, + bergmite: { + tier: "LC", + }, + avalugg: { + tier: "OU", + }, + avalugghisui: { + tier: "OU", + }, + noibat: { + tier: "LC", + }, + noivern: { + tier: "OU", + }, + xerneas: { + tier: "Uber", + }, + yveltal: { + tier: "Uber", + }, + zygarde: { + tier: "Uber", + }, + zygarde10: { + tier: "OU", + }, + zygardecomplete: { + tier: "Illegal", + }, + diancie: { + tier: "OU", + }, + dianciemega: { + tier: "OU", + }, + hoopa: { + tier: "OU", + }, + hoopaunbound: { + tier: "OU", + }, + volcanion: { + tier: "OU", + }, + rowlet: { + tier: "LC", + }, + dartrix: { + tier: "OU", + }, + decidueye: { + tier: "OU", + }, + decidueyehisui: { + tier: "OU", + }, + litten: { + tier: "LC", + }, + torracat: { + tier: "NFE", + }, + incineroar: { + tier: "OU", + }, + popplio: { + tier: "LC", + }, + brionne: { + tier: "NFE", + }, + primarina: { + tier: "OU", + }, + pikipek: { + tier: "LC", + }, + trumbeak: { + tier: "NFE", + }, + toucannon: { + tier: "OU", + }, + yungoos: { + tier: "LC", + }, + gumshoos: { + tier: "OU", + }, + grubbin: { + tier: "LC", + }, + charjabug: { + tier: "NFE", + }, + vikavolt: { + tier: "OU", + }, + crabrawler: { + tier: "LC", + }, + crabominable: { + tier: "OU", + }, + oricorio: { + tier: "OU", + }, + oricoriopompom: { + tier: "OU", + }, + oricoriopau: { + tier: "OU", + }, + oricoriosensu: { + tier: "OU", + }, + cutiefly: { + tier: "LC", + }, + ribombee: { + tier: "OU", + }, + rockruff: { + tier: "LC", + }, + rockruffdusk: { + tier: "LC", + }, + lycanroc: { + tier: "OU", + }, + lycanrocmidnight: { + tier: "OU", + }, + lycanrocdusk: { + tier: "OU", + }, + wishiwashi: { + tier: "OU", + }, + wishiwashischool: { + }, + mareanie: { + tier: "LC", + }, + toxapex: { + tier: "OU", + }, + mudbray: { + tier: "LC", + }, + mudsdale: { + tier: "OU", + }, + dewpider: { + tier: "LC", + }, + araquanid: { + tier: "OU", + }, + fomantis: { + tier: "LC", + }, + lurantis: { + tier: "OU", + }, + morelull: { + tier: "LC", + }, + shiinotic: { + tier: "OU", + }, + salandit: { + tier: "LC", + }, + salazzle: { + tier: "OU", + }, + stufful: { + tier: "LC", + }, + bewear: { + tier: "OU", + }, + bounsweet: { + tier: "LC", + }, + steenee: { + tier: "NFE", + }, + tsareena: { + tier: "OU", + }, + comfey: { + tier: "OU", + }, + oranguru: { + tier: "OU", + }, + passimian: { + tier: "OU", + }, + wimpod: { + tier: "LC", + }, + golisopod: { + tier: "OU", + }, + sandygast: { + tier: "LC", + }, + palossand: { + tier: "OU", + }, + pyukumuku: { + tier: "OU", + }, + typenull: { + tier: "NFE", + }, + silvally: { + tier: "OU", + }, + silvallybug: { + tier: "Illegal", + }, + silvallydark: { + tier: "Illegal", + }, + silvallydragon: { + tier: "Illegal", + }, + silvallyelectric: { + tier: "Illegal", + }, + silvallyfairy: { + tier: "Illegal", + }, + silvallyfighting: { + tier: "Illegal", + }, + silvallyfire: { + tier: "Illegal", + }, + silvallyflying: { + tier: "Illegal", + }, + silvallyghost: { + tier: "Illegal", + }, + silvallygrass: { + tier: "Illegal", + }, + silvallyground: { + tier: "Illegal", + }, + silvallyice: { + tier: "Illegal", + }, + silvallypoison: { + tier: "Illegal", + }, + silvallypsychic: { + tier: "Illegal", + }, + silvallyrock: { + tier: "Illegal", + }, + silvallysteel: { + tier: "Illegal", + }, + silvallywater: { + tier: "Illegal", + }, + minior: { + tier: "OU", + }, + miniormeteor: { + }, + komala: { + tier: "OU", + }, + turtonator: { + tier: "OU", + }, + togedemaru: { + tier: "OU", + }, + mimikyu: { + tier: "OU", + }, + bruxish: { + tier: "OU", + }, + drampa: { + tier: "OU", + }, + dhelmise: { + tier: "OU", + }, + jangmoo: { + tier: "LC", + }, + hakamoo: { + tier: "NFE", + }, + kommoo: { + tier: "OU", + }, + tapukoko: { + tier: "Uber", + }, + tapulele: { + tier: "OU", + }, + tapubulu: { + tier: "OU", + }, + tapufini: { + tier: "OU", + }, + cosmog: { + tier: "LC", + }, + cosmoem: { + tier: "NFE", + }, + solgaleo: { + tier: "Uber", + }, + lunala: { + tier: "Uber", + }, + nihilego: { + tier: "OU", + }, + buzzwole: { + tier: "OU", + }, + pheromosa: { + tier: "Uber", + }, + xurkitree: { + tier: "OU", + }, + celesteela: { + tier: "OU", + }, + kartana: { + tier: "OU", + }, + guzzlord: { + tier: "OU", + }, + necrozma: { + tier: "OU", + }, + necrozmaduskmane: { + tier: "Uber", + }, + necrozmadawnwings: { + tier: "Uber", + }, + necrozmaultra: { + tier: "Illegal", + }, + magearna: { + tier: "Uber", + }, + marshadow: { + tier: "Uber", + }, + poipole: { + tier: "NFE", + }, + naganadel: { + tier: "OU", + }, + stakataka: { + tier: "OU", + }, + blacephalon: { + tier: "OU", + }, + zeraora: { + tier: "OU", + }, + meltan: { + tier: "OU", + }, + melmetal: { + tier: "OU", + }, + grookey: { + tier: "LC", + }, + thwackey: { + tier: "OU", + }, + rillaboom: { + tier: "OU", + }, + scorbunny: { + tier: "LC", + }, + raboot: { + tier: "NFE", + }, + cinderace: { + tier: "OU", + }, + sobble: { + tier: "LC", + }, + drizzile: { + tier: "NFE", + }, + inteleon: { + tier: "OU", + }, + skwovet: { + tier: "LC", + }, + greedent: { + tier: "OU", + }, + rookidee: { + tier: "LC", + }, + corvisquire: { + tier: "NFE", + }, + corviknight: { + tier: "OU", + }, + blipbug: { + tier: "LC", + }, + dottler: { + tier: "NFE", + }, + orbeetle: { + tier: "LC", + }, + nickit: { + tier: "LC", + }, + thievul: { + tier: "OU", + }, + gossifleur: { + tier: "LC", + }, + eldegoss: { + tier: "OU", + }, + wooloo: { + tier: "LC", + }, + dubwool: { + tier: "OU", + }, + chewtle: { + tier: "LC", + }, + drednaw: { + tier: "OU", + }, + yamper: { + tier: "LC", + }, + boltund: { + tier: "OU", + }, + rolycoly: { + tier: "LC", + }, + carkol: { + tier: "NFE", + }, + coalossal: { + tier: "OU", + }, + applin: { + tier: "LC", + }, + flapple: { + tier: "OU", + }, + appletun: { + tier: "OU", + }, + dipplin: { + tier: "OU", + }, + silicobra: { + tier: "LC", + }, + sandaconda: { + tier: "OU", + }, + cramorant: { + tier: "OU", + }, + cramorantgorging: { + tier: "Illegal", + }, + cramorantgulping: { + tier: "Illegal", + }, + arrokuda: { + tier: "LC", + }, + barraskewda: { + tier: "OU", + }, + toxel: { + tier: "LC", + }, + toxtricity: { + tier: "OU", + }, + toxtricitylowkey: { + tier: "OU", + }, + sizzlipede: { + tier: "LC", + }, + centiskorch: { + tier: "OU", + }, + clobbopus: { + tier: "LC", + }, + grapploct: { + tier: "OU", + }, + sinistea: { + tier: "LC", + }, + polteageist: { + tier: "OU", + }, + hatenna: { + tier: "LC", + }, + hattrem: { + tier: "NFE", + }, + hatterene: { + tier: "OU", + }, + impidimp: { + tier: "LC", + }, + morgrem: { + tier: "NFE", + }, + grimmsnarl: { + tier: "OU", + }, + milcery: { + tier: "LC", + }, + alcremie: { + tier: "OU", + }, + falinks: { + tier: "OU", + }, + pincurchin: { + tier: "OU", + }, + snom: { + tier: "LC", + }, + frosmoth: { + tier: "OU", + }, + stonjourner: { + tier: "OU", + }, + eiscue: { + tier: "OU", + }, + eiscuenoice: { + tier: "Illegal", + }, + indeedee: { + tier: "OU", + }, + indeedeef: { + tier: "OU", + }, + morpeko: { + tier: "OU", + }, + morpekohangry: { + tier: "Illegal", + }, + cufant: { + tier: "LC", + }, + copperajah: { + tier: "OU", + }, + dracozolt: { + tier: "OU", + }, + arctozolt: { + tier: "OU", + }, + dracovish: { + tier: "OU", + }, + arctovish: { + tier: "OU", + }, + duraludon: { + tier: "OU", + }, + dreepy: { + tier: "LC", + }, + drakloak: { + tier: "NFE", + }, + dragapult: { + tier: "Uber", + }, + zacian: { + tier: "Uber", + }, + zaciancrowned: { + tier: "AG", + }, + zamazenta: { + tier: "Uber", + }, + zamazentacrowned: { + tier: "Uber", + }, + eternatus: { + tier: "Uber", + }, + kubfu: { + tier: "NFE", + }, + urshifu: { + tier: "OU", + }, + urshifurapidstrike: { + tier: "OU", + }, + zarude: { + tier: "OU", + }, + regieleki: { + tier: "OU", + }, + regidrago: { + tier: "OU", + }, + glastrier: { + tier: "OU", + }, + spectrier: { + tier: "OU", + }, + calyrex: { + tier: "OU", + }, + calyrexice: { + tier: "Uber", + }, + calyrexshadow: { + tier: "Uber", + }, + enamorus: { + tier: "OU", + }, + enamorustherian: { + tier: "OU", + }, + sprigatito: { + tier: "LC", + }, + floragato: { + tier: "NFE", + }, + meowscarada: { + tier: "OU", + }, + fuecoco: { + tier: "LC", + }, + crocalor: { + tier: "NFE", + }, + skeledirge: { + tier: "OU", + }, + quaxly: { + tier: "LC", + }, + quaxwell: { + tier: "OU", + }, + quaquaval: { + tier: "OU", + }, + lechonk: { + tier: "LC", + }, + oinkologne: { + tier: "OU", + }, + oinkolognef: { + tier: "OU", + }, + tarountula: { + tier: "LC", + }, + spidops: { + tier: "OU", + }, + nymble: { + tier: "LC", + }, + lokix: { + tier: "OU", + }, + rellor: { + tier: "LC", + }, + rabsca: { + tier: "OU", + }, + greavard: { + tier: "LC", + }, + houndstone: { + tier: "OU", + }, + flittle: { + tier: "NFE", + }, + espathra: { + tier: "OU", + }, + wiglett: { + tier: "LC", + }, + wugtrio: { + tier: "OU", + }, + dondozo: { + tier: "OU", + }, + veluza: { + tier: "OU", + }, + finizen: { + tier: "LC", + }, + palafin: { + tier: "OU", + }, + smoliv: { + tier: "LC", + }, + dolliv: { + tier: "NFE", + }, + arboliva: { + tier: "OU", + }, + capsakid: { + tier: "LC", + }, + scovillain: { + tier: "OU", + }, + tadbulb: { + tier: "LC", + }, + bellibolt: { + tier: "OU", + }, + varoom: { + tier: "LC", + }, + revavroom: { + tier: "OU", + }, + orthworm: { + tier: "OU", + }, + tandemaus: { + tier: "LC", + }, + maushold: { + tier: "OU", + }, + cetoddle: { + tier: "LC", + }, + cetitan: { + tier: "OU", + }, + frigibax: { + tier: "LC", + }, + arctibax: { + tier: "NFE", + }, + baxcalibur: { + tier: "OU", + }, + tatsugiri: { + tier: "OU", + }, + cyclizar: { + tier: "OU", + }, + pawmi: { + tier: "LC", + }, + pawmo: { + tier: "NFE", + }, + pawmot: { + tier: "OU", + }, + wattrel: { + tier: "LC", + }, + kilowattrel: { + tier: "OU", + }, + bombirdier: { + tier: "OU", + }, + squawkabilly: { + tier: "OU", + }, + flamigo: { + tier: "OU", + }, + klawf: { + tier: "OU", + }, + nacli: { + tier: "LC", + }, + naclstack: { + tier: "OU", + }, + garganacl: { + tier: "OU", + }, + glimmet: { + tier: "LC", + }, + glimmora: { + tier: "OU", + }, + shroodle: { + tier: "LC", + }, + grafaiai: { + tier: "OU", + }, + fidough: { + tier: "LC", + }, + dachsbun: { + tier: "OU", + }, + maschiff: { + tier: "LC", + }, + mabosstiff: { + tier: "OU", + }, + bramblin: { + tier: "LC", + }, + brambleghast: { + tier: "OU", + }, + gimmighoul: { + tier: "LC", + }, + gimmighoulroaming: { + tier: "LC", + }, + gholdengo: { + tier: "OU", + }, + greattusk: { + tier: "OU", + }, + brutebonnet: { + tier: "OU", + }, + sandyshocks: { + tier: "OU", + }, + screamtail: { + tier: "OU", + }, + fluttermane: { + tier: "OU", + }, + slitherwing: { + tier: "OU", + }, + roaringmoon: { + tier: "OU", + }, + irontreads: { + tier: "OU", + }, + ironmoth: { + tier: "OU", + }, + ironhands: { + tier: "OU", + }, + ironjugulis: { + tier: "OU", + }, + ironthorns: { + tier: "OU", + }, + ironbundle: { + tier: "Uber", + }, + ironvaliant: { + tier: "Uber", + }, + tinglu: { + tier: "OU", + }, + chienpao: { + tier: "OU", + }, + wochien: { + tier: "OU", + }, + chiyu: { + tier: "OU", + }, + koraidon: { + tier: "Uber", + }, + miraidon: { + tier: "Uber", + }, + tinkatink: { + tier: "LC", + }, + tinkatuff: { + tier: "OU", + }, + tinkaton: { + tier: "OU", + }, + charcadet: { + tier: "LC", + }, + armarouge: { + tier: "OU", + }, + ceruledge: { + tier: "OU", + }, + toedscool: { + tier: "LC", + }, + toedscruel: { + tier: "OU", + }, + kingambit: { + tier: "OU", + }, + clodsire: { + tier: "OU", + }, + annihilape: { + tier: "Uber", + }, + walkingwake: { + tier: "OU", + }, + ironleaves: { + tier: "OU", + }, + poltchageist: { + tier: "LC", + }, + sinistcha: { + tier: "OU", + }, + okidogi: { + tier: "OU", + }, + munkidori: { + tier: "OU", + }, + fezandipiti: { + tier: "OU", + }, + ogerpon: { + tier: "OU", + }, + ogerponhearthflame: { + tier: "OU", + }, + ogerponwellspring: { + tier: "OU", + }, + ogerponcornerstone: { + tier: "OU", + }, + terapagos: { + tier: "OU", + }, + hydrapple: { + tier: "OU", + }, + ragingbolt: { + tier: "OU", + }, + gougingfire: { + tier: "OU", + }, + archaludon: { + tier: "OU", + }, + ironcrown: { + tier: "OU", + }, + ironboulder: { + tier: "OU", + }, + pecharunt: { + tier: "OU", + }, +}; diff --git a/data/mods/moderngen2/learnsets.ts b/data/mods/moderngen2/learnsets.ts new file mode 100644 index 000000000000..01ecfee16d9e --- /dev/null +++ b/data/mods/moderngen2/learnsets.ts @@ -0,0 +1,99360 @@ +export const Learnsets: {[k: string]: ModdedLearnsetData} = { + missingno: { + learnset: { + blizzard: ["2L1"], + bubblebeam: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + fissure: ["2L1"], + fly: ["2L1"], + icebeam: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + psychic: ["2L1"], + rage: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + seismictoss: ["2L1"], + skyattack: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + thunder: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + watergun: ["2L1"], + }, + }, + bulbasaur: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + petaldance: ["2L1"], + poisonpowder: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skullbash: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 1, shiny: 1, ivs: {def: 31}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 5, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + ivysaur: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + poisonpowder: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + }, + venusaur: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + poisonjab: ["2L1"], + poisonpowder: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 6, level: 100, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + charmander: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blastburn: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + howl: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 40, gender: "M", nature: "Mild", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 40, gender: "M", nature: "Naive", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 40, gender: "M", nature: "Naughty", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 4, level: 40, gender: "M", nature: "Hardy", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 1, shiny: 1, ivs: {spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 5, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + charmeleon: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + charizard: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + blastburn: ["2L1"], + blazekick: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + fissure: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdhands: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + skydrop: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 36, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 36, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 36, shiny: true, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 36, gender: "M", nature: "Serious", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 40, nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 40, gender: "M", nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 40, gender: "M", nature: "Adamant", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 50, gender: "M", nature: "Adamant", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 50, nature: "Adamant", ivs: {hp: 20, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + squirtle: { + learnset: { + aquajet: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + lifedew: ["2L1"], + liquidation: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shellsmash: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + waterspout: ["2L1"], + wavecrash: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 1, shiny: 1, ivs: {hp: 31}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 5, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + wartortle: { + learnset: { + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shellsmash: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + blastoise: { + learnset: { + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + fissure: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shellsmash: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 100, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + caterpie: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + snore: ["2L1"], + stringshot: ["2L1"], + tackle: ["2L1"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 3}, + {generation: 3, level: 3}, + ], + }, + metapod: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + harden: ["2L1"], + irondefense: ["2L1"], + stringshot: ["2L1"], + }, + encounters: [ + {generation: 1, level: 4}, + {generation: 2, level: 4}, + {generation: 3, level: 4}, + {generation: 4, level: 3}, + {generation: 6, level: 4}, + {generation: 7, level: 3}, + ], + }, + butterfree: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + ominouswind: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + quiverdance: ["2L1"], + rage: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 6}, + {generation: 7, level: 9}, + ], + }, + weedle: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + poisonsting: ["2L1"], + stringshot: ["2L1"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 3}, + {generation: 3, level: 3}, + ], + }, + kakuna: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + harden: ["2L1"], + irondefense: ["2L1"], + stringshot: ["2L1"], + }, + encounters: [ + {generation: 1, level: 4}, + {generation: 2, level: 4}, + {generation: 3, level: 4}, + {generation: 4, level: 3}, + {generation: 6, level: 4}, + {generation: 7, level: 3}, + ], + }, + beedrill: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + silverwind: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + twineedle: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 6}, + ], + }, + pidgey: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + fly: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 1, level: 2}, + {generation: 2, level: 2}, + {generation: 3, level: 2}, + ], + }, + pidgeotto: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 9}, + {generation: 2, level: 7}, + {generation: 3, level: 7}, + {generation: 4, level: 7}, + ], + }, + pidgeot: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 61, gender: "M", nature: "Naughty", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 29}, + ], + }, + rattata: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + flamewheel: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperfang: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + watergun: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 2}, + {generation: 2, level: 2}, + {generation: 3, level: 2}, + ], + }, + rattataalola: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperfang: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mefirst: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + raticate: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperfang: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + watergun: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 34, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 6}, + {generation: 4, level: 13}, + ], + }, + raticatealola: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bulkup: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperfang: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 7, level: 17}, + ], + }, + raticatealolatotem: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bulkup: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperfang: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 20, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + spearow: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + drillrun: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 22, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 2}, + {generation: 3, level: 3}, + ], + }, + fearow: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + drillrun: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 1, level: 19}, + {generation: 2, level: 7}, + {generation: 4, level: 7}, + ], + }, + ekans: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + glare: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + switcheroo: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 3, level: 14, gender: "F", nature: "Docile", ivs: {hp: 26, atk: 28, def: 6, spa: 14, spd: 30, spe: 11}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 6}, + {generation: 2, level: 4}, + ], + }, + arbok: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 3, level: 33, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 10}, + {generation: 4, level: 10}, + ], + }, + pichu: { + learnset: { + attract: ["2L1"], + bestow: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nuzzle: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 4, level: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: true, gender: "M", nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 30, shiny: true, gender: "M", nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + pichuspikyeared: { + learnset: { + attract: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + volttackle: ["2L1"], + }, + eventData: [ + {generation: 4, level: 30, gender: "F", nature: "Naughty", moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachu: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bestow: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + happyhour: ["2L1"], + headbutt: ["2L1"], + heartstamp: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdhands: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 10, gender: "F", nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Hardy", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "F", nature: "Bashful", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "M", nature: "Jolly", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 40, gender: "M", nature: "Modest", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "F", nature: "Bashful", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 40, gender: "M", nature: "Mild", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "F", nature: "Bashful", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 30, gender: "M", nature: "Naughty", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, gender: "M", nature: "Relaxed", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "M", nature: "Docile", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, gender: "M", nature: "Naughty", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 20, gender: "M", nature: "Bashful", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "F", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, shiny: 1, gender: "F", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, gender: "F", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, gender: "F", nature: "Timid", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 100, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, gender: "M", nature: "Brave", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 22, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, gender: "F", moves: ["2L1"], pokeball: "healball"}, + {generation: 6, level: 36, shiny: true, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, gender: "F", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, gender: "M", nature: "Naughty", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, perfectIVs: 2, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 99, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "healball"}, + {generation: 7, level: 10, nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 40, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 5, gender: "M", nature: "Serious", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 21, gender: "M", nature: "Brave", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 25, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 100, gender: "M", nature: "Quiet", perfectIVs: 6, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 25, gender: "M", ivs: {hp: 25, atk: 25, def: 25, spa: 25, spd: 25, spe: 25}, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 4}, + {generation: 3, level: 3}, + ], + }, + pikachucosplay: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + nuzzle: ["2L1"], + playnice: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 6, level: 20, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachurockstar: { + learnset: { + meteormash: ["2L1"], + }, + eventOnly: false, + }, + pikachubelle: { + learnset: { + iciclecrash: ["2L1"], + }, + eventOnly: false, + }, + pikachupopstar: { + learnset: { + drainingkiss: ["2L1"], + }, + eventOnly: false, + }, + pikachuphd: { + learnset: { + electricterrain: ["2L1"], + }, + eventOnly: false, + }, + pikachulibre: { + learnset: { + flyingpress: ["2L1"], + }, + eventOnly: false, + }, + pikachuoriginal: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 7, level: 1, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachuhoenn: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 7, level: 6, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachusinnoh: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachuunova: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 7, level: 14, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachukalos: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 7, level: 17, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachualola: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 7, level: 20, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachupartner: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 7, level: 21, shiny: 1, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 25, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachustarter: { + learnset: { + agility: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + dig: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + facade: ["2L1"], + floatyfall: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + payday: ["2L1"], + pikapapow: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + seismictoss: ["2L1"], + slam: ["2L1"], + splishysplash: ["2L1"], + substitute: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + zippyzap: ["2L1"], + }, + eventData: [ + {generation: 7, level: 5, perfectIVs: 6, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + pikachuworld: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + volttackle: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 8, level: 25, nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 80, nature: "Hardy", ivs: {hp: 31, atk: 30, def: 30, spa: 31, spd: 30, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + raichu: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + speedswap: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + raichualola: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nuzzle: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + speedswap: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + sandshrew: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lowkick: ["2L1"], + magnitude: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 12, gender: "M", nature: "Docile", ivs: {hp: 4, atk: 23, def: 8, spa: 31, spd: 1, spe: 25}, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 6}, + ], + }, + sandshrewalola: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lowkick: ["2L1"], + metalclaw: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + sandslash: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fissure: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lowkick: ["2L1"], + magnitude: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 2, level: 10}, + {generation: 4, level: 10}, + ], + }, + sandslashalola: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lowkick: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + mist: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + nidoranf: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + irontail: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + }, + encounters: [ + {generation: 1, level: 2}, + ], + }, + nidorina: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + horndrill: ["2L1"], + icebeam: ["2L1"], + irontail: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + }, + encounters: [ + {generation: 4, level: 15, pokeball: "safariball"}, + ], + }, + nidoqueen: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + horndrill: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 6, level: 41, perfectIVs: 2, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + nidoranm: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + icebeam: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + }, + encounters: [ + {generation: 1, level: 2}, + ], + }, + nidorino: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + icebeam: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + }, + encounters: [ + {generation: 4, level: 15, pokeball: "safariball"}, + ], + }, + nidoking: { + learnset: { + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payday: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 7, level: 68, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + cleffa: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + amnesia: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + clefairy: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bestow: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + cosmicpower: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + meteormash: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + spotlight: ["2L1"], + stealthrock: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + wakeupslap: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, gender: "F", shiny: true, nature: "Bold", isHidden: true, ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 15, gender: "M", nature: "Modest", abilities: ["2L1"], moves: ["2L1"], pokeball: "moonball"}, + ], + encounters: [ + {generation: 1, level: 8}, + ], + }, + clefable: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + cosmicpower: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + meteormash: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + spotlight: ["2L1"], + stealthrock: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + vulpix: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flail: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grudge: ["2L1"], + headbutt: ["2L1"], + healingwish: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 18, gender: "F", nature: "Quirky", ivs: {hp: 15, atk: 6, def: 3, spa: 25, spd: 13, spe: 22}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 18, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 18}, + ], + }, + vulpixalola: { + learnset: { + agility: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + auroraveil: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + foulplay: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + grudge: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + mist: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + nastyplot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + powdersnow: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, gender: "F", nature: "Modest", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + ninetales: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + mimic: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Bold", ivs: {def: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + ninetalesalola: { + learnset: { + agility: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + foulplay: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + mist: ["2L1"], + mistyterrain: ["2L1"], + nastyplot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + powdersnow: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sheercold: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + weatherball: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + igglybuff: { + learnset: { + alluringvoice: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + jigglypuff: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + steelroller: ["2L1"], + stockpile: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + wakeupslap: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 3}, + {generation: 3, level: 3}, + ], + }, + wigglytuff: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + steelroller: ["2L1"], + stockpile: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 22}, + ], + }, + zubat: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gust: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + leechlife: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 6}, + {generation: 2, level: 2}, + ], + }, + golbat: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + leechlife: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 2, level: 13}, + {generation: 3, level: 5}, + {generation: 4, level: 10}, + {generation: 6, level: 19, maxEggMoves: 1}, + {generation: 7, level: 20}, + ], + }, + crobat: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crosspoison: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + leechlife: ["2L1"], + meanlook: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + wingattack: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 30, gender: "M", nature: "Timid", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 64, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + oddish: { + learnset: { + absorb: ["2L1"], + acid: ["2L1"], + acidspray: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petaldance: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strengthsap: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 26, gender: "M", nature: "Quirky", ivs: {hp: 23, atk: 24, def: 20, spa: 21, spd: 9, spe: 16}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 12}, + ], + }, + gloom: { + learnset: { + absorb: ["2L1"], + acid: ["2L1"], + acidspray: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 2, level: 14}, + {generation: 4, level: 14}, + {generation: 6, level: 18, maxEggMoves: 1}, + ], + }, + vileplume: { + learnset: { + absorb: ["2L1"], + acid: ["2L1"], + acidspray: ["2L1"], + afteryou: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + bellossom: { + learnset: { + absorb: ["2L1"], + acid: ["2L1"], + acidspray: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + laserfocus: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + playrough: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + quiverdance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + paras: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + agility: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + megadrain: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + wideguard: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 28, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 8}, + ], + }, + parasect: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 1, level: 13}, + {generation: 2, level: 5}, + ], + }, + venonat: { + learnset: { + acidspray: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + poisonfang: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 13}, + ], + }, + venomoth: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + poisonfang: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psywave: ["2L1"], + quiverdance: ["2L1"], + rage: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 32, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 30}, + {generation: 2, level: 10}, + {generation: 4, level: 8}, + {generation: 6, level: 30}, + ], + }, + diglett: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + finalgambit: ["2L1"], + fissure: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + magnitude: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 2}, + ], + }, + diglettalola: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + finalgambit: ["2L1"], + fissure: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + magnitude: ["2L1"], + memento: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + dugtrio: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + magnitude: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 40, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 5}, + {generation: 4, level: 19}, + ], + }, + dugtrioalola: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + magnitude: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + }, + }, + meowth: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + amnesia: ["2L1"], + assist: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + happyhour: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightslash: ["2L1"], + odorsleuth: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + petaldance: ["2L1"], + playrough: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 22, moves: ["2L1"]}, + {generation: 4, level: 21, gender: "F", nature: "Jolly", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 10, gender: "M", nature: "Jolly", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 15, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 20, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 10}, + {generation: 3, level: 3, gender: "M", nature: "Naive", ivs: {hp: 4, atk: 5, def: 4, spa: 5, spd: 4, spe: 4}, abilities: ["2L1"], pokeball: "pokeball"}, + ], + }, + meowthalola: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + amnesia: ["2L1"], + assist: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + flatter: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + metalclaw: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + meowthgalar: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charm: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + persian: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightslash: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 2, level: 18}, + {generation: 4, level: 19}, + ], + }, + persianalola: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + metalclaw: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + perrserker: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + psyduck: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + futuresight: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 27, gender: "M", nature: "Lax", ivs: {hp: 31, atk: 16, def: 12, spa: 29, spd: 31, spe: 14}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + golduck: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 33, moves: ["2L1"]}, + {generation: 7, level: 50, gender: "M", nature: "Timid", ivs: {hp: 31, atk: 30, def: 31, spa: 31, spd: 31, spe: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 25, pokeball: "safariball"}, + {generation: 4, level: 10}, + ], + }, + mankey: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + karatechop: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 3, level: 2}, + ], + }, + primeape: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + karatechop: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + ragefist: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 34, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 15}, + ], + }, + annihilape: { + learnset: { + acrobatics: ["2L1"], + assurance: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metronome: ["2L1"], + nightshade: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + ragefist: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowpunch: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + }, + }, + growlithe: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + burnup: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonrage: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + ragingfury: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 3, level: 32, gender: "F", nature: "Quiet", ivs: {hp: 11, atk: 24, def: 28, spa: 1, spd: 20, spe: 2}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 28, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + growlithehisui: { + learnset: { + agility: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + closecombat: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + headsmash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + howl: ["2L1"], + leer: ["2L1"], + morningsun: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 9, level: 15, isHidden: true, nature: "Jolly", ivs: {hp: 31, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + arcanine: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + burnup: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 50, shiny: true, gender: "F", nature: "Adamant", abilities: ["2L1"], ivs: {hp: 31, atk: 31, def: 31, spa: 8, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + arcaninehisui: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + dragonpulse: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + gigaimpact: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + ragingfury: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + }, + }, + poliwag: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypnosis: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + wakeupslap: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 5}, + {generation: 2, level: 3}, + ], + }, + poliwhirl: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + wakeupslap: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 20}, + {generation: 4, level: 10}, + {generation: 7, level: 24}, + {generation: 7, level: 22, gender: "F", nature: "Naughty", abilities: ["2L1"], pokeball: "pokeball"}, + ], + }, + poliwrath: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + circlethrow: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + darkestlariat: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 42, moves: ["2L1"]}, + ], + }, + politoed: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Calm", ivs: {hp: 31, atk: 13, def: 31, spa: 5, spd: 31, spe: 5}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + abra: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + powerswap: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 6}, + ], + }, + kadabra: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + kinesis: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 15}, + {generation: 7, level: 11, pokeball: "pokeball"}, + ], + }, + alakazam: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + kinesis: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + storedpower: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + machop: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + karatechop: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + powertrick: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollingkick: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + vitalthrow: ["2L1"], + wakeupslap: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 1, level: 15}, + ], + }, + machoke: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + karatechop: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + vitalthrow: ["2L1"], + wakeupslap: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 2, level: 14}, + {generation: 4, level: 14}, + ], + }, + machamp: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + darkestlariat: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + karatechop: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + vitalthrow: ["2L1"], + wakeupslap: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 38, gender: "M", nature: "Quiet", ivs: {hp: 9, atk: 23, def: 25, spa: 20, spd: 15, spe: 10}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 50, shiny: true, gender: "M", nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 39, gender: "M", nature: "Hardy", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 34, gender: "F", nature: "Brave", ivs: {atk: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 16}, + {generation: 2, level: 5}, + ], + }, + bellsprout: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonjab: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strengthsap: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 12}, + {generation: 2, level: 3}, + ], + }, + weepinbell: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonjab: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 3, level: 32, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 12}, + {generation: 4, level: 10}, + ], + }, + victreebel: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonjab: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + }, + }, + tentacool: { + learnset: { + acid: ["2L1"], + acidarmor: ["2L1"], + acidspray: ["2L1"], + acupressure: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + constrict: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + encounters: [ + {generation: 1, level: 5}, + ], + }, + tentacruel: { + learnset: { + acid: ["2L1"], + acidarmor: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + constrict: ["2L1"], + corrosivegas: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + encounters: [ + {generation: 1, level: 20}, + {generation: 2, level: 20}, + {generation: 3, level: 20}, + {generation: 4, level: 15}, + {generation: 6, level: 21, maxEggMoves: 1}, + ], + }, + geodude: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + magnitude: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + }, + encounters: [ + {generation: 1, level: 7}, + {generation: 2, level: 2}, + ], + }, + geodudealola: { + learnset: { + attract: ["2L1"], + autotomize: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + irondefense: ["2L1"], + magnetrise: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wideguard: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + graveler: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + magnitude: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + }, + encounters: [ + {generation: 2, level: 23}, + {generation: 4, level: 16, pokeball: "safariball"}, + {generation: 6, level: 24}, + ], + }, + graveleralola: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + electricterrain: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + irondefense: ["2L1"], + magnetrise: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + golem: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + magnitude: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steamroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + }, + }, + golemalola: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + electricterrain: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + magnetrise: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stealthrock: ["2L1"], + steamroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + ponyta: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + horndrill: ["2L1"], + hypnosis: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + lowkick: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stomp: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + }, + encounters: [ + {generation: 1, level: 28}, + ], + }, + ponytagalar: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + futuresight: ["2L1"], + growl: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + highhorsepower: ["2L1"], + horndrill: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + lowkick: ["2L1"], + morningsun: ["2L1"], + mysticalfire: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thrash: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + rapidash: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + horndrill: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + lowkick: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stomp: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 3, level: 40, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 14, gender: "M"}, + {generation: 3, level: 37}, + ], + }, + rapidashgalar: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + drillrun: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + lowkick: ["2L1"], + magicroom: ["2L1"], + megahorn: ["2L1"], + mistyterrain: ["2L1"], + mysticalfire: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + throatchop: ["2L1"], + trickroom: ["2L1"], + wildcharge: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + slowpoke: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stomp: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 31, gender: "F", nature: "Naive", ivs: {hp: 17, atk: 11, def: 19, spa: 20, spd: 5, spe: 10}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + slowpokegalar: { + learnset: { + acid: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + foulplay: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + mudshot: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stomp: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + slowbro: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stomp: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + wonderroom: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 100, nature: "Quiet", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 1, level: 23}, + {generation: 2, level: 20}, + {generation: 3, level: 32}, + {generation: 4, level: 15}, + {generation: 5, level: 35}, + {generation: 7, level: 15}, + ], + }, + slowbrogalar: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + shellsidearm: ["2L1"], + skillswap: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + wonderroom: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + slowking: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chillyreception: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payday: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + trumpcard: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + slowkinggalar: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + chillyreception: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + eeriespell: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + magnemite: { + learnset: { + bide: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetbomb: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mirrorshot: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + sonicboom: ["2L1"], + spark: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 1, level: 16}, + ], + }, + magneton: { + learnset: { + bide: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetbomb: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mirrorshot: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + sonicboom: ["2L1"], + spark: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 5}, + {generation: 3, level: 26}, + {generation: 4, level: 17, pokeball: "safariball"}, + ], + }, + magnezone: { + learnset: { + allyswitch: ["2L1"], + barrier: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetbomb: ["2L1"], + magneticflux: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mirrorcoat: ["2L1"], + mirrorshot: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + sonicboom: ["2L1"], + spark: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + farfetchd: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + brutalswing: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + firstimpression: ["2L1"], + flail: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leafblade: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + razorleaf: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + simplebeam: ["2L1"], + skullbash: ["2L1"], + skyattack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trumpcard: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 36, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 3}, + {generation: 3, level: 3, gender: "M", nature: "Adamant", ivs: {hp: 20, atk: 25, def: 21, spa: 24, spd: 15, spe: 20}, abilities: ["2L1"], pokeball: "pokeball"}, + ], + }, + farfetchdgalar: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + closecombat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + flail: ["2L1"], + focusenergy: ["2L1"], + furycutter: ["2L1"], + helpinghand: ["2L1"], + knockoff: ["2L1"], + leafblade: ["2L1"], + leer: ["2L1"], + nightslash: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + simplebeam: ["2L1"], + skyattack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + throatchop: ["2L1"], + workup: ["2L1"], + }, + }, + sirfetchd: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + firstimpression: ["2L1"], + focusenergy: ["2L1"], + furycutter: ["2L1"], + grassyglide: ["2L1"], + helpinghand: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leafblade: ["2L1"], + leer: ["2L1"], + meteorassault: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + throatchop: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 8, level: 80, gender: "M", nature: "Brave", abilities: ["2L1"], ivs: {hp: 30, atk: 31, def: 31, spa: 30, spd: 30, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + doduo: { + learnset: { + acrobatics: ["2L1"], + acupressure: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + jumpkick: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 1, level: 18}, + {generation: 2, level: 4}, + ], + }, + dodrio: { + learnset: { + acrobatics: ["2L1"], + acupressure: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + drillrun: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + jumpkick: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 34, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 29}, + {generation: 2, level: 10, gender: "F"}, + {generation: 2, level: 30}, + {generation: 3, level: 29, pokeball: "safariball"}, + {generation: 4, level: 15, gender: "F", nature: "Impish", ivs: {hp: 20, atk: 20, def: 20, spa: 15, spd: 15, spe: 15}, abilities: ["2L1"], pokeball: "pokeball"}, + ], + }, + seel: { + learnset: { + aquajet: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lick: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + peck: ["2L1"], + perishsong: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 23, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 22}, + ], + }, + dewgong: { + learnset: { + alluringvoice: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 5}, + {generation: 3, level: 32}, + {generation: 5, level: 30}, + {generation: 6, level: 30, maxEggMoves: 1}, + ], + }, + grimer: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + lick: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowpunch: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 23, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 23}, + ], + }, + grimeralola: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + minimize: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + muk: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lunge: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + moonblast: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 25}, + {generation: 2, level: 5}, + {generation: 3, level: 32}, + {generation: 4, level: 15}, + {generation: 5, level: 5}, + {generation: 5, level: 35, isHidden: true}, + {generation: 6, level: 30}, + ], + }, + mukalola: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + minimize: ["2L1"], + moonblast: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + shellder: { + learnset: { + aquaring: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + clamp: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + leer: ["2L1"], + lifedew: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + razorshell: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shellsmash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + triattack: ["2L1"], + twineedle: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + }, + eventData: [ + {generation: 3, level: 24, gender: "F", nature: "Brave", ivs: {hp: 5, atk: 19, def: 18, spa: 5, spd: 11, spe: 13}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 29, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 10}, + ], + }, + cloyster: { + learnset: { + attract: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + clamp: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shellsmash: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikecannon: ["2L1"], + spikes: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + triattack: ["2L1"], + twineedle: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + }, + eventData: [ + {generation: 5, level: 30, gender: "M", nature: "Naughty", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + gastly: { + learnset: { + acidspray: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + corrosivegas: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grudge: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + lick: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 1, level: 18}, + ], + }, + haunter: { + learnset: { + acidspray: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + corrosivegas: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + lick: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowpunch: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 20}, + {generation: 2, level: 15}, + {generation: 3, level: 20}, + {generation: 4, level: 16}, + ], + }, + gengar: { + learnset: { + acidspray: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + corrosivegas: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lick: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + phantomforce: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowpunch: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 23, gender: "F", nature: "Hardy", ivs: {hp: 19, atk: 14, def: 0, spa: 14, spd: 17, spe: 27}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 25, nature: "Timid", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 25, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 25, shiny: true, moves: ["2L1"], pokeball: "duskball"}, + {generation: 6, level: 50, shiny: true, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 80, gender: "M", nature: "Naughty", abilities: ["2L1"], ivs: {hp: 30, atk: 30, def: 30, spa: 31, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + onix: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + wideguard: ["2L1"], + }, + encounters: [ + {generation: 1, level: 13}, + ], + }, + steelix: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magnetrise: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + }, + }, + drowzee: { + learnset: { + allyswitch: ["2L1"], + assist: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + poisongas: ["2L1"], + pound: ["2L1"], + powersplit: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wakeupslap: ["2L1"], + wish: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 9}, + ], + }, + hypno: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + poisongas: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + synchronoise: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wakeupslap: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 34, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 16}, + {generation: 4, level: 16}, + ], + }, + krabby: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crabhammer: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + guillotine: ["2L1"], + hail: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + slam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 1, level: 10}, + ], + }, + kingler: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crabhammer: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + hail: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 3, level: 25}, + {generation: 4, level: 22}, + ], + }, + voltorb: { + learnset: { + agility: ["2L1"], + bide: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + sonicboom: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 19, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 14}, + {generation: 1, level: 40}, + ], + }, + voltorbhisui: { + learnset: { + agility: ["2L1"], + bulletseed: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gyroball: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + worryseed: ["2L1"], + }, + }, + electrode: { + learnset: { + agility: ["2L1"], + bide: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magneticflux: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + sonicboom: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 1, level: 3}, + {generation: 2, level: 23}, + {generation: 3, level: 3, nature: "Hasty", ivs: {hp: 19, atk: 16, def: 18, spa: 25, spd: 25, spe: 19}, abilities: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 23}, + ], + }, + electrodehisui: { + learnset: { + agility: ["2L1"], + bulletseed: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chloroblast: ["2L1"], + curse: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gyroball: ["2L1"], + hyperbeam: ["2L1"], + leafstorm: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + exeggcute: { + learnset: { + absorb: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + barrage: ["2L1"], + bestow: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + eggbomb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + moonlight: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightmare: ["2L1"], + poisonpowder: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + skillswap: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wish: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 20}, + ], + }, + exeggutor: { + learnset: { + absorb: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + barrage: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonhammer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + eggbomb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightmare: ["2L1"], + outrage: ["2L1"], + powerswap: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 46, moves: ["2L1"]}, + ], + }, + exeggutoralola: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + barrage: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + celebrate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonhammer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + eggbomb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + powerswap: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, gender: "M", nature: "Modest", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + cubone: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boneclub: ["2L1"], + bonemerang: ["2L1"], + bonerush: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + perishsong: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + }, + encounters: [ + {generation: 1, level: 16}, + ], + }, + marowak: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boneclub: ["2L1"], + bonemerang: ["2L1"], + bonerush: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sing: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + }, + eventData: [ + {generation: 3, level: 44, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 24}, + {generation: 2, level: 12}, + {generation: 4, level: 14}, + ], + }, + marowakalola: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boneclub: ["2L1"], + bonemerang: ["2L1"], + bonerush: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowbone: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwhip: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + }, + marowakalolatotem: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + boneclub: ["2L1"], + bonemerang: ["2L1"], + bonerush: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + shadowball: ["2L1"], + shadowbone: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tailwhip: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 7, level: 25, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + tyrogue: { + learnset: { + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + focusenergy: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + laserfocus: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + }, + }, + hitmonlee: { + learnset: { + attract: ["2L1"], + aurasphere: ["2L1"], + axekick: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + blazekick: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + jumpkick: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollingkick: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 38, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + hitmonchan: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 38, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + hitmontop: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icespinner: ["2L1"], + laserfocus: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + rollingkick: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + triplekick: ["2L1"], + twister: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 55, gender: "M", nature: "Adamant", abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + lickitung: { + learnset: { + acid: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lick: ["2L1"], + magnitude: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + poweruppunch: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 38, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + lickilicky: { + learnset: { + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lick: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + koffing: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + grudge: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisongas: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 1, level: 30}, + ], + }, + weezing: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisongas: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 2, level: 16}, + {generation: 3, level: 32}, + {generation: 4, level: 15, pokeball: "safariball"}, + ], + }, + weezinggalar: { + learnset: { + acidspray: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + clearsmog: ["2L1"], + corrosivegas: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + destinybond: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hyperbeam: ["2L1"], + memento: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poisongas: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strangesteam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + }, + }, + rhyhorn: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + guardsplit: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + magnitude: ["2L1"], + megahorn: ["2L1"], + metalburst: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 1, level: 20}, + ], + }, + rhydon: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + whirlpool: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 46, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 4, level: 41}, + {generation: 6, level: 30}, + ], + }, + rhyperior: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + megahorn: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rockwrecker: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + whirlpool: ["2L1"], + }, + }, + happiny: { + learnset: { + aromatherapy: ["2L1"], + attract: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + metronome: ["2L1"], + minimize: ["2L1"], + mudbomb: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pound: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + chansey: { + learnset: { + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bestow: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + eggbomb: ["2L1"], + electricterrain: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + mudbomb: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 39, moves: ["2L1"]}, + {generation: 8, level: 7, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 7}, + ], + }, + blissey: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bestow: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + eggbomb: ["2L1"], + electricterrain: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, isHidden: true, moves: ["2L1"]}, + ], + }, + tangela: { + learnset: { + absorb: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + constrict: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + painsplit: ["2L1"], + poisonpowder: ["2L1"], + powerswap: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rage: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + vinewhip: ["2L1"], + wakeupslap: ["2L1"], + worryseed: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 13}, + ], + }, + tangrowth: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + megadrain: ["2L1"], + morningsun: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisonpowder: ["2L1"], + powerswap: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + vinewhip: ["2L1"], + worryseed: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Brave", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + kangaskhan: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + circlethrow: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stomp: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trumpcard: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 35, abilities: ["2L1"], moves: ["2L1"]}, + {generation: 6, level: 50, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 25}, + ], + }, + horsea: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + octazooka: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + seadra: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 20}, + {generation: 2, level: 20}, + {generation: 3, level: 25}, + {generation: 4, level: 15}, + ], + }, + kingdra: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + breakingswipe: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 50, gender: "M", nature: "Timid", ivs: {hp: 31, atk: 17, def: 8, spa: 31, spd: 11, spe: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + goldeen: { + learnset: { + acupressure: ["2L1"], + agility: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 1, level: 5}, + ], + }, + seaking: { + learnset: { + agility: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 1, level: 23}, + {generation: 2, level: 10}, + {generation: 3, level: 20}, + {generation: 4, level: 10}, + {generation: 6, level: 26, maxEggMoves: 1}, + {generation: 7, level: 10}, + ], + }, + staryu: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + camouflage: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cosmicpower: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 18, nature: "Timid", ivs: {hp: 10, atk: 3, def: 22, spa: 24, spd: 3, spe: 18}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + starmie: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cosmicpower: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spotlight: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 41, moves: ["2L1"]}, + ], + }, + mimejr: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + batonpass: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meditate: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + pound: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + teeterdance: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wakeupslap: ["2L1"], + wonderroom: ["2L1"], + }, + }, + mrmime: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payback: ["2L1"], + pound: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + teeterdance: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wakeupslap: ["2L1"], + wideguard: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 42, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 6}, + ], + }, + mrmimegalar: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + dazzlinggleam: ["2L1"], + doublekick: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + freezedry: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mistyterrain: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + pound: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + taunt: ["2L1"], + teeterdance: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + mrrime: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + dazzlinggleam: ["2L1"], + doublekick: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + freezedry: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mistyterrain: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + pound: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + taunt: ["2L1"], + teeterdance: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + scyther: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + ominouswind: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + wingattack: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 40, abilities: ["2L1"], moves: ["2L1"]}, + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 1, level: 25}, + ], + }, + scizor: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + ominouswind: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + venoshock: ["2L1"], + wingattack: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Adamant", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 50, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 25, nature: "Adamant", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 25, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + kleavor: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + batonpass: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + closecombat: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + focusenergy: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + stealthrock: ["2L1"], + stoneaxe: ["2L1"], + stoneedge: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + xscissor: ["2L1"], + }, + }, + smoochum: { + learnset: { + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + healbell: ["2L1"], + heartstamp: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + lick: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + pound: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wakeupslap: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + jynx: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + heartstamp: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + lick: ["2L1"], + lightscreen: ["2L1"], + lovelykiss: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + pound: ["2L1"], + powdersnow: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + wakeupslap: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + wringout: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 20, nature: "Mild", ivs: {hp: 18, atk: 17, def: 18, spa: 22, spd: 25, spe: 21}, abilities: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 22}, + {generation: 7, level: 9}, + ], + }, + elekid: { + learnset: { + attract: ["2L1"], + barrier: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + karatechop: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magnetrise: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollingkick: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 20, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + electabuzz: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psywave: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 43, moves: ["2L1"]}, + {generation: 4, level: 30, gender: "M", nature: "Naughty", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 30, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 33}, + {generation: 2, level: 15}, + {generation: 4, level: 15}, + {generation: 7, level: 25}, + ], + }, + electivire: { + learnset: { + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + darkestlariat: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + iondeluge: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Adamant", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Serious", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + magby: { + learnset: { + acidspray: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + karatechop: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + machpunch: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + }, + magmar: { + learnset: { + acidspray: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + teleport: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 36, moves: ["2L1"]}, + {generation: 4, level: 30, gender: "M", nature: "Quiet", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 30, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 34}, + {generation: 2, level: 14}, + {generation: 4, level: 14}, + {generation: 7, level: 16}, + ], + }, + magmortar: { + learnset: { + acidspray: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, gender: "F", nature: "Modest", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Hardy", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + pinsir: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + stormthrow: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + vitalthrow: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 35, abilities: ["2L1"], moves: ["2L1"]}, + {generation: 6, level: 50, gender: "F", nature: "Adamant", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Jolly", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 1, level: 20}, + ], + }, + tauros: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + ragingbull: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 25, nature: "Docile", ivs: {hp: 14, atk: 19, def: 12, spa: 17, spd: 5, spe: 26}, abilities: ["2L1"], moves: ["2L1"], pokeball: "safariball"}, + {generation: 3, level: 10, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 46, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 21}, + ], + }, + taurospaldeacombat: { + learnset: { + assurance: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + drillrun: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + ragingbull: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + taurospaldeablaze: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + drillrun: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + ragingbull: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + taurospaldeaaqua: { + learnset: { + aquajet: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + drillrun: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + liquidation: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + ragingbull: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + trailblaze: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + magikarp: { + learnset: { + bounce: ["2L1"], + celebrate: ["2L1"], + flail: ["2L1"], + happyhour: ["2L1"], + hydropump: ["2L1"], + splash: ["2L1"], + tackle: ["2L1"], + }, + eventData: [ + {generation: 4, level: 5, gender: "M", nature: "Relaxed", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 6, gender: "F", nature: "Rash", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 7, gender: "F", nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 5, gender: "F", nature: "Lonely", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 4, gender: "M", nature: "Modest", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 99, shiny: true, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 1, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 19, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 5}, + ], + }, + gyarados: { + learnset: { + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + splash: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 20, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 15}, + {generation: 3, level: 5}, + {generation: 4, level: 10}, + {generation: 5, level: 1}, + {generation: 7, level: 10}, + ], + }, + lapras: { + learnset: { + alluringvoice: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dreameater: ["2L1"], + drillrun: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + foresight: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lifedew: ["2L1"], + liquidation: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + outrage: ["2L1"], + perishsong: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + sparklingaria: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 44, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 15}, + ], + }, + ditto: { + learnset: { + transform: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 12}, + {generation: 2, level: 10}, + {generation: 3, level: 23}, + {generation: 4, level: 10}, + {generation: 5, level: 45}, + {generation: 6, level: 30}, + {generation: 7, level: 25}, + ], + }, + eevee: { + learnset: { + alluringvoice: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sing: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trumpcard: ["2L1"], + weatherball: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 4, level: 10, gender: "F", nature: "Lonely", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, shiny: true, gender: "M", nature: "Hardy", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, gender: "F", nature: "Hardy", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 15, shiny: true, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 5, gender: "M", nature: "Docile", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 25}, + ], + }, + eeveestarter: { + learnset: { + baddybad: ["2L1"], + bite: ["2L1"], + bouncybubble: ["2L1"], + buzzybuzz: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + facade: ["2L1"], + freezyfrost: ["2L1"], + glitzyglow: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + irontail: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + sandattack: ["2L1"], + sappyseed: ["2L1"], + shadowball: ["2L1"], + sizzlyslide: ["2L1"], + sparklyswirl: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + veeveevolley: ["2L1"], + }, + eventData: [ + {generation: 7, level: 5, perfectIVs: 6, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + vaporeon: { + learnset: { + acidarmor: ["2L1"], + alluringvoice: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + jolteon: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + pinmissile: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + flareon: { + learnset: { + alluringvoice: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + espeon: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payday: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + umbreon: { + learnset: { + alluringvoice: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + meanlook: ["2L1"], + mimic: ["2L1"], + moonlight: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + leafeon: { + learnset: { + aerialace: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + glaceon: { + learnset: { + alluringvoice: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + babydolleyes: ["2L1"], + barrier: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + focusenergy: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + mirrorcoat: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + porygon: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + conversion: ["2L1"], + conversion2: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + eerieimpulse: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sharpen: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, isHidden: true, moves: ["2L1"]}, + {generation: 8, level: 25, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 1, level: 18}, + ], + }, + porygon2: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + blizzard: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + conversion: ["2L1"], + conversion2: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + eerieimpulse: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, nature: "Sassy", abilities: ["2L1"], ivs: {hp: 31, atk: 0, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + porygonz: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + blizzard: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + conversion: ["2L1"], + conversion2: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + eerieimpulse: ["2L1"], + electroweb: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + omanyte: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hornattack: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shellsmash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikecannon: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + omastar: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + naturalgift: ["2L1"], + pinmissile: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shellsmash: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikecannon: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + }, + }, + kabuto: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + megadrain: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + kabutops: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wringout: ["2L1"], + xscissor: ["2L1"], + }, + }, + aerodactyl: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + whirlwind: ["2L1"], + wideguard: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + munchlax: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + happyhour: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdback: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + payday: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 5, moves: ["2L1"]}, + {generation: 4, level: 5, gender: "F", nature: "Relaxed", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 5, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 1, shiny: true, gender: "M", isHidden: true, nature: "Impish", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + snorlax: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkestlariat: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payday: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psywave: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelroller: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 43, moves: ["2L1"]}, + {generation: 7, level: 30, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 1, level: 30}, + ], + }, + articuno: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bravebird: ["2L1"], + bubblebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"]}, + {generation: 4, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 70, moves: ["2L1"]}, + {generation: 6, level: 70, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 50}, + ], + eventOnly: false, + }, + articunogalar: { + learnset: { + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + confusion: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + freezingglare: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + gust: ["2L1"], + helpinghand: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + mindreader: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psychoshift: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + zapdos: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + ancientpower: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bravebird: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magneticflux: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"]}, + {generation: 4, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 70, moves: ["2L1"]}, + {generation: 6, level: 70, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 50}, + ], + eventOnly: false, + }, + zapdosgalar: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + blazekick: ["2L1"], + bounce: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderouskick: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + moltres: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + bide: ["2L1"], + bravebird: ["2L1"], + burningjealousy: ["2L1"], + burnup: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + willowisp: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"]}, + {generation: 4, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 70, moves: ["2L1"]}, + {generation: 6, level: 70, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 50}, + ], + eventOnly: false, + }, + moltresgalar: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + bravebird: ["2L1"], + darkpulse: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fierywrath: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + uturn: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + dratini: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 1, level: 10}, + ], + }, + dragonair: { + learnset: { + agility: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + horndrill: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 1, level: 15}, + {generation: 2, level: 10}, + {generation: 3, level: 25, pokeball: "safariball"}, + {generation: 4, level: 15}, + {generation: 7, level: 10}, + ], + }, + dragonite: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + horndrill: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + skydrop: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelwing: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + wrap: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 55, moves: ["2L1"]}, + {generation: 4, level: 50, gender: "M", nature: "Mild", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 55, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 55, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 50, gender: "M", nature: "Brave", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 55, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 62, gender: "M", ivs: {hp: 31, def: 31, spa: 31, spd: 31}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 80, gender: "F", nature: "Jolly", abilities: ["2L1"], ivs: {hp: 30, atk: 31, def: 30, spa: 30, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 5, level: 50}, + {generation: 7, level: 10}, + ], + }, + mewtwo: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + aurasphere: ["2L1"], + avalanche: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + disable: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + electroball: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + payday: ["2L1"], + poisonjab: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psystrike: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 70, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, nature: "Timid", ivs: {spa: 31, spe: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 70, moves: ["2L1"]}, + {generation: 6, level: 100, shiny: true, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 9, level: 100, nature: "Modest", perfectIVs: 6, isHidden: true, moves: ["2L1"]}, + ], + encounters: [ + {generation: 1, level: 70}, + ], + eventOnly: false, + }, + mew: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + barrier: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + blastburn: ["2L1"], + blazekick: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bravebird: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + corrosivegas: ["2L1"], + cosmicpower: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosspoison: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + drillrun: ["2L1"], + dualchop: ["2L1"], + dualwingbeat: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + eggbomb: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + fissure: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frenzyplant: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + hardpress: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + horndrill: ["2L1"], + hurricane: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechlife: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + magnetrise: ["2L1"], + mefirst: ["2L1"], + megadrain: ["2L1"], + megahorn: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + petalblizzard: ["2L1"], + phantomforce: ["2L1"], + pinmissile: ["2L1"], + playrough: ["2L1"], + pluck: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + pollenpuff: ["2L1"], + poltergeist: ["2L1"], + pounce: ["2L1"], + pound: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + quash: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + razorwind: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + speedswap: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + steelwing: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tailslap: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + transform: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + twister: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + voltswitch: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 5, perfectIVs: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + chikorita: { + learnset: { + ancientpower: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + irontail: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + bayleef: { + learnset: { + ancientpower: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + }, + meganium: { + learnset: { + ancientpower: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + cyndaquil: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + blastburn: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + burnup: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + quilava: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + burningjealousy: ["2L1"], + burnup: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + typhlosion: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + blastburn: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + burnup: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + typhlosionhisui: { + learnset: { + aerialace: ["2L1"], + blastburn: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + infernalparade: ["2L1"], + inferno: ["2L1"], + ironhead: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rollout: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + totodile: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dynamicpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + croconaw: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dynamicpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + feraligatr: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + sentret: { + learnset: { + amnesia: ["2L1"], + aquatail: ["2L1"], + assist: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + tidyup: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 2, level: 2}, + ], + }, + furret: { + learnset: { + agility: ["2L1"], + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 2, level: 6}, + {generation: 4, level: 6}, + ], + }, + hoothoot: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + magiccoat: ["2L1"], + meanlook: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + moonblast: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 2, level: 2}, + ], + }, + noctowl: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + moonblast: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 5}, + {generation: 7, level: 19}, + ], + }, + ledyba: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + machpunch: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 3}, + ], + }, + ledian: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + machpunch: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + }, + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 5}, + ], + }, + spinarak: { + learnset: { + absorb: ["2L1"], + acidspray: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + nightslash: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + pursuit: ["2L1"], + ragepowder: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowsneak: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + sonicboom: ["2L1"], + spiderweb: ["2L1"], + spite: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + toxicthread: ["2L1"], + trailblaze: ["2L1"], + twineedle: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 14, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 3}, + ], + }, + ariados: { + learnset: { + absorb: ["2L1"], + acidspray: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + crosspoison: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowsneak: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spiderweb: ["2L1"], + spite: ["2L1"], + stickyweb: ["2L1"], + stompingtantrum: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + toxicthread: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 9, level: 65, gender: "M", nature: "Hardy", abilities: ["2L1"], ivs: {hp: 20, atk: 20, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 7}, + {generation: 4, level: 5}, + {generation: 6, level: 19, maxEggMoves: 1}, + ], + }, + chinchou: { + learnset: { + agility: ["2L1"], + amnesia: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + healbell: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + iondeluge: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + lanturn: { + learnset: { + agility: ["2L1"], + amnesia: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + healbell: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + iondeluge: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + spitup: ["2L1"], + spotlight: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 4, level: 20}, + {generation: 6, level: 26, maxEggMoves: 1}, + {generation: 7, level: 10}, + ], + }, + togepi: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bestow: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + followme: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + morningsun: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 20, gender: "F", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 25, moves: ["2L1"]}, + ], + }, + togetic: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + aircutter: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bestow: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + softboiled: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + togekiss: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + playrough: ["2L1"], + pluck: ["2L1"], + pound: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + }, + natu: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cosmicpower: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 22, moves: ["2L1"]}, + ], + }, + xatu: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cosmicpower: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 16, gender: "M", nature: "Modest", ivs: {hp: 15, atk: 20, def: 15, spa: 20, spd: 20, spe: 20}, abilities: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 24, maxEggMoves: 1}, + {generation: 7, level: 21}, + ], + }, + mareep: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdback: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 37, gender: "F", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 17, moves: ["2L1"]}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + flaaffy: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 7, level: 11, pokeball: "pokeball"}, + ], + }, + ampharos: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + iondeluge: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magneticflux: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + azurill: { + learnset: { + alluringvoice: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + camouflage: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + perishsong: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + sing: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + marill: { + learnset: { + alluringvoice: ["2L1"], + amnesia: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + camouflage: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sing: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + azumarill: { + learnset: { + alluringvoice: ["2L1"], + amnesia: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 5, level: 5}, + {generation: 6, level: 16, maxEggMoves: 1}, + ], + }, + bonsly: { + learnset: { + afteryou: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lowkick: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + }, + }, + sudowoodo: { + learnset: { + afteryou: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + woodhammer: ["2L1"], + }, + }, + hoppip: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + amnesia: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bounce: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + payday: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + silverwind: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + strengthsap: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + }, + encounters: [ + {generation: 2, level: 3}, + ], + }, + skiploom: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bounce: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cottonspore: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + silverwind: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + }, + encounters: [ + {generation: 4, level: 12}, + ], + }, + jumpluff: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bounce: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cottonspore: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + silverwind: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 5, level: 27, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + }, + aipom: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + ambipom: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualchop: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + sunkern: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + sunflora: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flowershield: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + yanma: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + sonicboom: ["2L1"], + steelwing: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + }, + }, + yanmega: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + ominouswind: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + sonicboom: ["2L1"], + steelwing: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + }, + }, + wooper: { + learnset: { + acidspray: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + yawn: ["2L1"], + }, + encounters: [ + {generation: 2, level: 4}, + ], + }, + wooperpaldea: { + learnset: { + acidspray: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + mist: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + spikes: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + yawn: ["2L1"], + }, + }, + quagsire: { + learnset: { + acidspray: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + yawn: ["2L1"], + }, + encounters: [ + {generation: 2, level: 15}, + {generation: 4, level: 10}, + ], + }, + clodsire: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megahorn: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + murkrow: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + lashout: ["2L1"], + meanlook: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + perishsong: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + honchkrow: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + comeuppance: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lashout: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + nightslash: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 7, level: 65, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + misdreavus: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + destinybond: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + grudge: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + inferno: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + mefirst: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + mismagius: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + }, + }, + unown: { + learnset: { + hiddenpower: ["2L1"], + }, + encounters: [ + {generation: 2, level: 5}, + {generation: 3, level: 25}, + {generation: 4, level: 5}, + {generation: 6, level: 32}, + ], + }, + wynaut: { + learnset: { + amnesia: ["2L1"], + charm: ["2L1"], + counter: ["2L1"], + destinybond: ["2L1"], + encore: ["2L1"], + mirrorcoat: ["2L1"], + safeguard: ["2L1"], + splash: ["2L1"], + tickle: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + wobbuffet: { + learnset: { + amnesia: ["2L1"], + charm: ["2L1"], + counter: ["2L1"], + destinybond: ["2L1"], + encore: ["2L1"], + mirrorcoat: ["2L1"], + safeguard: ["2L1"], + splash: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 10, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 15, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 2, level: 5}, + {generation: 4, level: 3}, + ], + }, + girafarig: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magiccoat: ["2L1"], + meanlook: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + odorsleuth: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twinbeam: ["2L1"], + uproar: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + pineco: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icespinner: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 20, moves: ["2L1"]}, + ], + }, + forretress: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icespinner: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mirrorshot: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + voltswitch: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + dunsparce: { + learnset: { + agility: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonrush: ["2L1"], + dreameater: ["2L1"], + drillrun: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperdrill: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trumpcard: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + dudunsparce: { + learnset: { + agility: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + coil: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hyperdrill: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + lunge: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + gligar: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crabhammer: ["2L1"], + crosspoison: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + firefang: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + guillotine: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lunge: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + skyuppercut: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + wingattack: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + gliscor: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crabhammer: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + firefang: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lunge: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + skyattack: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + }, + snubbull: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smellingsalts: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + granbull: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 2, level: 15}, + ], + }, + qwilfish: { + learnset: { + acidspray: ["2L1"], + acupressure: ["2L1"], + agility: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + barbbarrage: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + destinybond: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + minimize: ["2L1"], + mudshot: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + steelroller: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + qwilfishhisui: { + learnset: { + acidspray: ["2L1"], + acupressure: ["2L1"], + agility: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + astonish: ["2L1"], + barbbarrage: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + doubleedge: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + flail: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lashout: ["2L1"], + liquidation: ["2L1"], + minimize: ["2L1"], + mudshot: ["2L1"], + painsplit: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + }, + }, + overqwil: { + learnset: { + acidspray: ["2L1"], + acupressure: ["2L1"], + agility: ["2L1"], + barbbarrage: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + doubleedge: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lashout: ["2L1"], + liquidation: ["2L1"], + minimize: ["2L1"], + mudshot: ["2L1"], + painsplit: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smartstrike: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + }, + }, + shuckle: { + learnset: { + acid: ["2L1"], + acupressure: ["2L1"], + afteryou: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + guardsplit: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powersplit: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + shellsmash: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelroller: ["2L1"], + stickyweb: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + withdraw: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 20, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + heracross: { + learnset: { + aerialace: ["2L1"], + armthrust: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lunge: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + pinmissile: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + venoshock: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, gender: "F", nature: "Adamant", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Adamant", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + sneasel: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + assist: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + upperhand: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + sneaselhisui: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + dig: ["2L1"], + doublehit: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + honeclaws: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metalclaw: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + vacuumwave: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + }, + weavile: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + upperhand: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 4, level: 30, gender: "M", nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 48, gender: "M", perfectIVs: 2, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + sneasler: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + dig: ["2L1"], + direclaw: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metalclaw: ["2L1"], + nastyplot: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + }, + teddiursa: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + babydolleyes: ["2L1"], + bellydrum: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 11, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 2}, + ], + }, + ursaring: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 2, level: 25}, + ], + }, + ursaluna: { + learnset: { + aerialace: ["2L1"], + avalanche: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headlongrush: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + }, + }, + ursalunabloodmoon: { + learnset: { + avalanche: ["2L1"], + bellydrum: ["2L1"], + bloodmoon: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + hardpress: ["2L1"], + headlongrush: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + metalclaw: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + mudshot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 9, level: 70, nature: "Hardy", perfectIVs: 3, moves: ["2L1"]}, + ], + eventOnly: false, + }, + slugma: { + learnset: { + acidarmor: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + guardswap: ["2L1"], + harden: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + lavaplume: ["2L1"], + lightscreen: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + willowisp: ["2L1"], + yawn: ["2L1"], + }, + }, + magcargo: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + lavaplume: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shellsmash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + willowisp: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 38, moves: ["2L1"]}, + ], + encounters: [ + {generation: 3, level: 25}, + {generation: 6, level: 30}, + ], + }, + swinub: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + freezedry: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + }, + eventData: [ + {generation: 3, level: 22, abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + piloswine: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + peck: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + mamoswine: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hardpress: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + peck: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + }, + eventData: [ + {generation: 5, level: 34, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: true, gender: "M", nature: "Adamant", isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + corsola: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + camouflage: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ingrain: ["2L1"], + irondefense: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spikecannon: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 7, level: 50, gender: "F", nature: "Serious", abilities: ["2L1"], moves: ["2L1"], pokeball: "ultraball"}, + ], + }, + corsolagalar: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + destinybond: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + grudge: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + headsmash: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + meteorbeam: ["2L1"], + mirrorcoat: ["2L1"], + naturepower: ["2L1"], + nightshade: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + throatchop: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 8, level: 15, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + cursola: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + meteorbeam: ["2L1"], + mirrorcoat: ["2L1"], + nightshade: ["2L1"], + perishsong: ["2L1"], + pinmissile: ["2L1"], + poltergeist: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + throatchop: ["2L1"], + whirlpool: ["2L1"], + willowisp: ["2L1"], + }, + }, + remoraid: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lockon: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + octazooka: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + waterspout: ["2L1"], + whirlpool: ["2L1"], + }, + }, + octillery: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + liquidation: ["2L1"], + lockon: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + octazooka: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, gender: "F", nature: "Serious", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 19}, + {generation: 7, level: 10}, + ], + }, + delibird: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + batonpass: ["2L1"], + bestow: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + destinybond: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + drillrun: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + featherdance: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + happyhour: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pluck: ["2L1"], + poweruppunch: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + signalbeam: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + splash: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 10, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + mantyke: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + mirrorcoat: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + wingattack: ["2L1"], + }, + }, + mantine: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + skarmory: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bodypress: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + drillrun: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + xscissor: ["2L1"], + }, + }, + houndour: { + learnset: { + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + comeuppance: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + odorsleuth: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 17, moves: ["2L1"]}, + ], + }, + houndoom: { + learnset: { + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + comeuppance: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + odorsleuth: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Timid", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + phanpy: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hypervoice: ["2L1"], + iceshard: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + watergun: ["2L1"], + }, + encounters: [ + {generation: 2, level: 2}, + ], + }, + donphan: { + learnset: { + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + icespinner: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + magnitude: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + playrough: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + }, + encounters: [ + {generation: 6, level: 24, maxEggMoves: 1}, + ], + }, + stantler: { + learnset: { + agility: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + jumpkick: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicroom: ["2L1"], + mefirst: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshieldbash: ["2L1"], + psyshock: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stomp: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + wyrdeer: { + learnset: { + agility: ["2L1"], + astonish: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + megahorn: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshieldbash: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + roleplay: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stomp: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + smeargle: { + learnset: { + captivate: ["2L1"], + falseswipe: ["2L1"], + flamethrower: ["2L1"], + furyswipes: ["2L1"], + meanlook: ["2L1"], + odorsleuth: ["2L1"], + seismictoss: ["2L1"], + sketch: ["2L1"], + sleeptalk: ["2L1"], + spore: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 50, gender: "F", nature: "Jolly", ivs: {atk: 31, spe: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 40, gender: "M", nature: "Jolly", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + miltank: { + learnset: { + afteryou: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + heartstamp: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + milkdrink: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + tackle: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + wakeupslap: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 20, perfectIVs: 3, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + raikou: { + learnset: { + agility: ["2L1"], + aurasphere: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 30, shiny: true, nature: "Rash", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 40}, + {generation: 3, level: 40}, + ], + eventOnly: false, + }, + entei: { + learnset: { + agility: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + extrasensory: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredfire: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 30, shiny: true, nature: "Adamant", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 40}, + {generation: 3, level: 40}, + ], + eventOnly: false, + }, + suicune: { + learnset: { + agility: ["2L1"], + airslash: ["2L1"], + aquaring: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 30, shiny: true, nature: "Relaxed", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 40}, + {generation: 3, level: 40}, + ], + eventOnly: false, + }, + larvitar: { + learnset: { + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + }, + eventData: [ + {generation: 3, level: 20, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 5, shiny: true, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + pupitar: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + }, + }, + tyranitar: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 55, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 55, shiny: true, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 14, spd: 31, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 50}, + ], + }, + lugia: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aeroblast: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + ominouswind: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychoboost: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + whirlwind: ["2L1"], + wonderroom: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 50, moves: ["2L1"]}, + {generation: 4, level: 45, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, nature: "Timid", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 100, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 40}, + ], + eventOnly: false, + }, + hooh: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + bulldoze: ["2L1"], + burnup: ["2L1"], + calmmind: ["2L1"], + celebrate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + ominouswind: ["2L1"], + overheat: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sacredfire: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + willowisp: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 45, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + encounters: [ + {generation: 2, level: 40}, + ], + eventOnly: false, + }, + celebi: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + healbell: ["2L1"], + healblock: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdback: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightmare: ["2L1"], + perishsong: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + telekinesis: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, moves: ["2L1"], pokeball: "luxuryball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 60, shiny: true, nature: "Quirky", moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 2, level: 30}, + ], + eventOnly: false, + }, + treecko: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + slam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + }, + grovyle: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + }, + sceptile: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosspoison: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shedtail: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + torchic: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 10, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + combusken: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blazekick: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skyuppercut: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + blaziken: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + blastburn: ["2L1"], + blazekick: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skyuppercut: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 50, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + mudkip: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + barrier: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + }, + marshtomp: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + swampert: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + darkestlariat: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + poochyena: { + learnset: { + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + mefirst: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, abilities: ["2L1"], moves: ["2L1"]}, + ], + encounters: [ + {generation: 3, level: 2}, + ], + }, + mightyena: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 7, level: 64, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + zigzagoon: { + learnset: { + attract: ["2L1"], + babydolleyes: ["2L1"], + bellydrum: ["2L1"], + bestow: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + pinmissile: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + simplebeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: true, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + encounters: [ + {generation: 3, level: 2}, + ], + }, + zigzagoongalar: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + counter: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + mudshot: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + linoone: { + learnset: { + attract: ["2L1"], + babydolleyes: ["2L1"], + bellydrum: ["2L1"], + bestow: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + pinmissile: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 3}, + {generation: 6, level: 17, maxEggMoves: 1}, + ], + }, + linoonegalar: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + counter: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + mudshot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + obstagoon: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + crosspoison: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudshot: ["2L1"], + nightslash: ["2L1"], + obstruct: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + wurmple: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + poisonsting: ["2L1"], + snore: ["2L1"], + stringshot: ["2L1"], + tackle: ["2L1"], + }, + encounters: [ + {generation: 3, level: 2}, + ], + }, + silcoon: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + harden: ["2L1"], + irondefense: ["2L1"], + stringshot: ["2L1"], + }, + encounters: [ + {generation: 3, level: 5}, + {generation: 4, level: 5}, + {generation: 6, level: 2, maxEggMoves: 1}, + ], + }, + beautifly: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + laserfocus: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + quiverdance: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + }, + }, + cascoon: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + harden: ["2L1"], + irondefense: ["2L1"], + stringshot: ["2L1"], + }, + encounters: [ + {generation: 3, level: 5}, + {generation: 4, level: 5}, + {generation: 6, level: 2, maxEggMoves: 1}, + ], + }, + dustox: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + moonlight: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + quiverdance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + }, + }, + lotad: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 3}, + ], + }, + lombre: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 6, level: 13, maxEggMoves: 1}, + ], + }, + ludicolo: { + learnset: { + absorb: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "M", nature: "Calm", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + seedot: { + learnset: { + absorb: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 17, moves: ["2L1"]}, + ], + encounters: [ + {generation: 3, level: 3}, + ], + }, + nuzleaf: { + learnset: { + absorb: ["2L1"], + aircutter: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + pound: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + encounters: [ + {generation: 6, level: 13, maxEggMoves: 1}, + ], + }, + shiftry: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + pound: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + twister: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + }, + taillow: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + boomburst: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + encounters: [ + {generation: 3, level: 4}, + ], + }, + swellow: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 3, level: 43, moves: ["2L1"]}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + wingull: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bravebird: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + wingattack: ["2L1"], + }, + encounters: [ + {generation: 3, level: 2}, + ], + }, + pelipper: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + spitup: ["2L1"], + steelwing: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + }, + encounters: [ + {generation: 4, level: 15}, + {generation: 6, level: 18, maxEggMoves: 1}, + ], + }, + ralts: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + grudge: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 20, moves: ["2L1"]}, + {generation: 6, level: 1, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 4}, + ], + }, + kirlia: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 4, level: 6}, + ], + }, + gardevoir: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: true, gender: "F", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + gallade: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + aquacutter: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafblade: ["2L1"], + leer: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + nightslash: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + wideguard: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + surskit: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mist: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + pounce: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + solarbeam: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 3}, + ], + }, + masquerain: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bubble: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + ominouswind: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + }, + encounters: [ + {generation: 6, level: 21, maxEggMoves: 1}, + ], + }, + shroomish: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + wakeupslap: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 15, abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + breloom: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poisonjab: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + venoshock: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + slakoth: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + playrough: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slackoff: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + vigoroth: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + slaking: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + punishment: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Adamant", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + nincada: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + bide: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + finalgambit: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gust: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + leechlife: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + xscissor: ["2L1"], + }, + }, + ninjask: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + xscissor: ["2L1"], + }, + }, + shedinja: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + batonpass: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + harden: ["2L1"], + healblock: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + leechlife: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + willowisp: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + whismur: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + circlethrow: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + synchronoise: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + loudred: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + synchronoise: ["2L1"], + taunt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 6, level: 16, maxEggMoves: 1}, + ], + }, + exploud: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + synchronoise: ["2L1"], + taunt: ["2L1"], + terrainpulse: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + makuhita: { + learnset: { + armthrust: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + vitalthrow: ["2L1"], + wakeupslap: ["2L1"], + whirlpool: ["2L1"], + whirlwind: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 18, moves: ["2L1"]}, + ], + }, + hariyama: { + learnset: { + armthrust: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + headlongrush: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + vitalthrow: ["2L1"], + wakeupslap: ["2L1"], + whirlpool: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 6, level: 22}, + ], + }, + nosepass: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + magnitude: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wideguard: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 26, moves: ["2L1"]}, + ], + }, + probopass: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetbomb: ["2L1"], + magneticflux: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + voltswitch: ["2L1"], + wideguard: ["2L1"], + zapcannon: ["2L1"], + }, + }, + skitty: { + learnset: { + assist: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + cosmicpower: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + simplebeam: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + wakeupslap: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 3, gender: "F", ivs: {hp: 5, atk: 4, def: 4, spa: 5, spd: 4, spe: 4}, abilities: ["2L1"], pokeball: "pokeball"}, + ], + }, + delcatty: { + learnset: { + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 18, abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + sableye: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + meanlook: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + moonlight: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + octazooka: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + waterpulse: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 33, abilities: ["2L1"], moves: ["2L1"]}, + {generation: 5, level: 50, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, nature: "Relaxed", ivs: {hp: 31, spa: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, nature: "Bold", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + mawile: { + learnset: { + ancientpower: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalburst: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poisonfang: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + sing: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stockpile: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 22, moves: ["2L1"]}, + {generation: 6, level: 50, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + aron: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonrush: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magnetrise: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + }, + }, + lairon: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magnetrise: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + }, + }, + aggron: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lowkick: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 50, nature: "Brave", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + meditite: { + learnset: { + acupressure: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulletpunch: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + powerswap: ["2L1"], + powertrick: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 20, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + medicham: { + learnset: { + acupressure: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + axekick: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + powertrick: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 4, level: 35}, + {generation: 6, level: 34, maxEggMoves: 1}, + ], + }, + electrike: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flameburst: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + manectric: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 3, level: 44, moves: ["2L1"]}, + {generation: 6, level: 50, nature: "Timid", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + plusle: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bestow: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nuzzle: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + watersport: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + minun: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + echoedvoice: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nuzzle: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trumpcard: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + volbeat: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + infestation: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + moonlight: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + playrough: ["2L1"], + pounce: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailglow: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + illumise: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + infestation: ["2L1"], + lightscreen: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + moonlight: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + pounce: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + budew: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cottonspore: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + leafstorm: ["2L1"], + lifedew: ["2L1"], + megadrain: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + pinmissile: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + roselia: { + learnset: { + absorb: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cottonspore: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lifedew: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mimic: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightmare: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 22, moves: ["2L1"]}, + ], + }, + roserade: { + learnset: { + absorb: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + laserfocus: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + gulpin: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + destinybond: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + infestation: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + stuffcheeks: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + wringout: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 17, moves: ["2L1"]}, + ], + }, + swalot: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + wringout: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + carvanha: { + learnset: { + agility: ["2L1"], + ancientpower: ["2L1"], + aquajet: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 15, moves: ["2L1"]}, + {generation: 6, level: 1, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + sharpedo: { + learnset: { + agility: ["2L1"], + ancientpower: ["2L1"], + aquajet: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Adamant", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 43, gender: "M", perfectIVs: 2, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 10}, + ], + }, + wailmer: { + learnset: { + amnesia: ["2L1"], + aquaring: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + splash: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + thrash: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + waterspout: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + wailord: { + learnset: { + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + naturalgift: ["2L1"], + nobleroar: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + splash: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + waterspout: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 3, level: 25}, + {generation: 4, level: 35}, + {generation: 5, level: 30}, + {generation: 7, level: 10}, + ], + }, + numel: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + howl: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + lavaplume: ["2L1"], + magnitude: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + willowisp: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 14, abilities: ["2L1"], moves: ["2L1"]}, + {generation: 6, level: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + camerupt: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + fissure: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + lavaplume: ["2L1"], + magnitude: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + willowisp: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 43, gender: "M", perfectIVs: 2, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + torkoal: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shellsmash: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + withdraw: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, gender: "M", nature: "Bold", abilities: ["2L1"], ivs: {hp: 31, atk: 12, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + spoink: { + learnset: { + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + splash: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + whirlwind: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + grumpig: { + learnset: { + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + splash: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + teeterdance: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + spinda: { + learnset: { + assist: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + guardsplit: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spotlight: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + teeterdance: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + trapinch: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + firstimpression: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + vibrava: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fissure: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + sonicboom: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + }, + }, + flygon: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychicnoise: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + sonicboom: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "M", nature: "Naive", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + cacnea: { + learnset: { + absorb: ["2L1"], + acid: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cottonspore: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + needlearm: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + cacturne: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cottonspore: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + needlearm: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spikyshield: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + swablu: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + healbell: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mist: ["2L1"], + moonblast: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + peck: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + pluck: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sing: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + {generation: 5, level: 1, shiny: true, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 1, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + altaria: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + alluringvoice: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + healbell: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + mimic: ["2L1"], + mist: ["2L1"], + moonblast: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + peck: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + pluck: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sing: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 36, moves: ["2L1"]}, + {generation: 5, level: 35, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 100, nature: "Modest", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + zangoose: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 18, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 28, moves: ["2L1"]}, + ], + }, + seviper: { + learnset: { + acidspray: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + infestation: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lick: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 18, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + lunatone: { + learnset: { + acrobatics: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + telekinesis: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 25, moves: ["2L1"]}, + {generation: 7, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + solrock: { + learnset: { + acrobatics: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + healblock: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + telekinesis: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 41, moves: ["2L1"]}, + {generation: 7, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + barboach: { + learnset: { + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + magnitude: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + whiscash: { + learnset: { + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + magnitude: ["2L1"], + mimic: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 51, gender: "F", nature: "Gentle", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 10}, + {generation: 7, level: 10}, + ], + }, + corphish: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crabhammer: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + guillotine: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trumpcard: ["2L1"], + visegrip: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball", emeraldEventEgg: true}, + ], + }, + crawdaunt: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crabhammer: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hardpress: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 3, level: 100, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + ], + encounters: [ + {generation: 7, level: 10}, + ], + }, + baltoy: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + healblock: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 17, moves: ["2L1"]}, + ], + }, + claydol: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + bodypress: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + healblock: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + lileep: { + learnset: { + acid: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + constrict: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + megadrain: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + cradily: { + learnset: { + acid: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + constrict: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + leechseed: ["2L1"], + megadrain: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + toxic: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + }, + anorith: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bugbite: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + armaldo: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + crushclaw: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + xscissor: ["2L1"], + }, + }, + feebas: { + learnset: { + attract: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 4, level: 5, gender: "F", nature: "Calm", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + milotic: { + learnset: { + alluringvoice: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 3, level: 35, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, gender: "F", nature: "Bold", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, shiny: true, gender: "M", nature: "Timid", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 58, gender: "M", nature: "Lax", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + castform: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + cosmicpower: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + lastresort: ["2L1"], + luckychant: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + }, + }, + kecleon: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + camouflage: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tailwhip: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + }, + }, + shuppet: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foresight: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grudge: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + banette: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cottonguard: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 3, level: 37, abilities: ["2L1"], moves: ["2L1"]}, + {generation: 5, level: 37, gender: "F", isHidden: true, moves: ["2L1"]}, + ], + encounters: [ + {generation: 5, level: 32}, + ], + }, + duskull: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gravity: ["2L1"], + grudge: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 19, moves: ["2L1"]}, + ], + }, + dusclops: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + meanlook: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowpunch: ["2L1"], + shadowsneak: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + }, + encounters: [ + {generation: 4, level: 16}, + {generation: 6, level: 30}, + ], + }, + dusknoir: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hardpress: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + meanlook: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowpunch: ["2L1"], + shadowsneak: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + }, + }, + tropius: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bestow: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + dragonhammer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + gust: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + magicalleaf: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + petalblizzard: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + silverwind: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wideguard: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 53, gender: "F", nature: "Jolly", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + chingling: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wish: ["2L1"], + wrap: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + chimecho: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + craftyshield: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + perishsong: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wish: ["2L1"], + wrap: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 10, gender: "M", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + absol: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + magiccoat: ["2L1"], + meanlook: ["2L1"], + mefirst: ["2L1"], + megahorn: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 35, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 70, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + snorunt: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + switcheroo: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + eventData: [ + {generation: 3, level: 20, abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + glalie: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + mimic: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + }, + froslass: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poltergeist: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + tripleaxel: ["2L1"], + wakeupslap: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + }, + }, + spheal: { + learnset: { + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + steelroller: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 3, level: 17, abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + sealeo: { + learnset: { + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 4, level: 25}, + {generation: 6, level: 28, maxEggMoves: 1}, + ], + }, + walrein: { + learnset: { + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 30}, + ], + }, + clamperl: { + learnset: { + aquaring: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + clamp: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shellsmash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + huntail: { + learnset: { + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + gorebyss: { + learnset: { + agility: ["2L1"], + amnesia: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + }, + }, + relicanth: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + liquidation: ["2L1"], + magnitude: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + luvdisc: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + heartstamp: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + luckychant: ["2L1"], + mimic: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wish: ["2L1"], + }, + }, + bagon: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 1, shiny: true, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 6, level: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + shelgon: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 7, level: 15}, + ], + }, + salamence: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 50, moves: ["2L1"]}, + {generation: 4, level: 50, gender: "M", nature: "Naughty", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 9}, + ], + }, + beldum: { + learnset: { + headbutt: ["2L1"], + holdback: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + steelbeam: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 5, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + metang: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + meteormash: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + metagross: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + meteormash: ["2L1"], + mimic: ["2L1"], + miracleeye: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 62, nature: "Brave", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 45, shiny: true, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 45, isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 45, isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 58, nature: "Serious", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, nature: "Jolly", ivs: {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + regirock: { + learnset: { + ancientpower: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lockon: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powergem: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 40, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + regice: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hail: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + lockon: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 40, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + registeel: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lockon: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + selfdestruct: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 40, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + latias: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guardsplit: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mimic: ["2L1"], + mistball: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + reflecttype: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roleplay: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 35, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 68, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, nature: "Bashful", moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + latios: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flipturn: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + healblock: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lusterpurge: ["2L1"], + magiccoat: ["2L1"], + memento: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + simplebeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 35, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 68, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, nature: "Modest", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + kyogre: { + learnset: { + ancientpower: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + liquidation: ["2L1"], + mimic: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + originpulse: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + waterspout: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 80, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 45, moves: ["2L1"]}, + {generation: 6, level: 100, nature: "Timid", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + groudon: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mimic: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + precipiceblades: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 45, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 80, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 45, moves: ["2L1"]}, + {generation: 6, level: 100, nature: "Adamant", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + rayquaza: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + avalanche: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + celebrate: ["2L1"], + confide: ["2L1"], + cosmicpower: ["2L1"], + crunch: ["2L1"], + defog: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonascent: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + meteorbeam: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vcreate: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 3, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 70, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 70, moves: ["2L1"]}, + {generation: 6, level: 70, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 70, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + jirachi: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doomdesire: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + happyhour: ["2L1"], + headbutt: ["2L1"], + healingwish: ["2L1"], + heartstamp: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + meteormash: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + moonblast: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Bashful", ivs: {hp: 24, atk: 3, def: 30, spa: 12, spd: 16, spe: 11}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Careful", ivs: {hp: 10, atk: 0, def: 10, spa: 10, spd: 26, spe: 12}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Docile", ivs: {hp: 19, atk: 7, def: 10, spa: 19, spd: 10, spe: 16}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Hasty", ivs: {hp: 3, atk: 12, def: 12, spa: 7, spd: 11, spe: 9}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Jolly", ivs: {hp: 11, atk: 8, def: 6, spa: 14, spd: 5, spe: 20}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Lonely", ivs: {hp: 31, atk: 23, def: 26, spa: 29, spd: 18, spe: 5}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Naughty", ivs: {hp: 21, atk: 31, def: 31, spa: 18, spd: 24, spe: 19}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Serious", ivs: {hp: 29, atk: 10, def: 31, spa: 25, spd: 23, spe: 21}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 5, shiny: true, nature: "Timid", ivs: {hp: 15, atk: 28, def: 29, spa: 3, spd: 0, spe: 7}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 3, level: 30, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 15, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 25, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, nature: "Timid", moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + deoxys: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + avalanche: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + cosmicpower: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + meteormash: ["2L1"], + mimic: ["2L1"], + mirrorcoat: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychoboost: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + wrap: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 30, shiny: 1, moves: ["2L1"]}, + {generation: 3, level: 70, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "duskball"}, + {generation: 6, level: 80, moves: ["2L1"]}, + ], + eventOnly: false, + }, + deoxysattack: { + eventOnly: false, + }, + deoxysdefense: { + eventOnly: false, + }, + deoxysspeed: { + eventOnly: false, + }, + turtwig: { + learnset: { + absorb: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shellsmash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wideguard: ["2L1"], + withdraw: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 9, level: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + grotle: { + learnset: { + absorb: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + withdraw: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + torterra: { + learnset: { + absorb: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + headlongrush: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + withdraw: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + chimchar: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + assist: ["2L1"], + attract: ["2L1"], + blazekick: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 40, gender: "M", nature: "Mild", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 4, level: 40, gender: "M", nature: "Hardy", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 9, level: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + monferno: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + infernape: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + blastburn: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + ragingfury: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 88, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + piplup: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + pound: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 15, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 15, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 7, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 30, gender: "M", nature: "Hardy", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 1, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + prinplup: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + metalclaw: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + empoleon: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + liquidation: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + starly: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + finalgambit: ["2L1"], + fly: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 4, level: 1, gender: "M", nature: "Mild", moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + staravia: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + finalgambit: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 4, level: 4}, + ], + }, + staraptor: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + finalgambit: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + }, + bidoof: { + learnset: { + amnesia: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperfang: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + watersport: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 4, level: 1, gender: "M", nature: "Lonely", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + bibarel: { + learnset: { + amnesia: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperfang: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + liquidation: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + encounters: [ + {generation: 4, level: 4}, + ], + }, + kricketot: { + learnset: { + bide: ["2L1"], + bugbite: ["2L1"], + endeavor: ["2L1"], + growl: ["2L1"], + lunge: ["2L1"], + mudslap: ["2L1"], + skittersmack: ["2L1"], + snore: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + uproar: ["2L1"], + }, + }, + kricketune: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + perishsong: ["2L1"], + pounce: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + silverwind: ["2L1"], + sing: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stickyweb: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + xscissor: ["2L1"], + }, + }, + shinx: { + learnset: { + attract: ["2L1"], + babydolleyes: ["2L1"], + bite: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firefang: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + luxio: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firefang: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + luxray: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firefang: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + cranidos: { + learnset: { + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + whirlwind: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + rampardos: { + learnset: { + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + shieldon: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + fissure: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + guardsplit: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magnetrise: ["2L1"], + metalburst: ["2L1"], + metalsound: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wideguard: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + bastiodon: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + metalburst: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wideguard: ["2L1"], + }, + }, + burmy: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + hiddenpower: ["2L1"], + protect: ["2L1"], + snore: ["2L1"], + stringshot: ["2L1"], + tackle: ["2L1"], + }, + }, + wormadam: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + }, + }, + wormadamsandy: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + }, + }, + wormadamtrash: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + magnetrise: ["2L1"], + metalburst: ["2L1"], + metalsound: ["2L1"], + mirrorshot: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + }, + }, + mothim: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + camouflage: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + lunge: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + }, + }, + combee: { + learnset: { + aircutter: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + gust: ["2L1"], + lunge: ["2L1"], + mudslap: ["2L1"], + ominouswind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + terablast: ["2L1"], + }, + }, + vespiquen: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + assurance: ["2L1"], + attackorder: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + defendorder: ["2L1"], + defog: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + healorder: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + laserfocus: ["2L1"], + lunge: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + pinmissile: ["2L1"], + poisonsting: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychicnoise: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + }, + pachirisu: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bestow: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperfang: ["2L1"], + iondeluge: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nuzzle: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Impish", ivs: {hp: 31, atk: 31, def: 31, spa: 14, spd: 31, spe: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + buizel: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulkup: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doublehit: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mefirst: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + odorsleuth: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + sonicboom: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + }, + }, + floatzel: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulkup: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + sonicboom: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 4, level: 22}, + {generation: 5, level: 10}, + ], + }, + cherubi: { + learnset: { + aromatherapy: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flowershield: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + leafage: ["2L1"], + leechseed: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + cherrim: { + learnset: { + attract: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flowershield: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + leafage: ["2L1"], + leechseed: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + morningsun: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + playrough: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + shellos: { + learnset: { + acidarmor: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + liquidation: ["2L1"], + memento: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stoneedge: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trumpcard: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + yawn: ["2L1"], + }, + }, + gastrodon: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + liquidation: ["2L1"], + memento: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, gender: "F", nature: "Modest", abilities: ["2L1"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + gastrodoneast: { + learnset: { + earthpower: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + protect: ["2L1"], + surf: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, gender: "F", nature: "Quiet", abilities: ["2L1"], ivs: {hp: 31, atk: 2, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 50, gender: "F", nature: "Sassy", abilities: ["2L1"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 50, gender: "M", nature: "Bold", abilities: ["2L1"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 8}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 50, gender: "F", nature: "Calm", abilities: ["2L1"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 8}, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 4, level: 20}, + ], + }, + drifloon: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + gyroball: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + magiccoat: ["2L1"], + memento: ["2L1"], + minimize: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + }, + }, + drifblim: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + gyroball: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + magiccoat: ["2L1"], + minimize: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + storedpower: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + }, + encounters: [ + {generation: 7, level: 11, pokeball: "pokeball"}, + ], + }, + buneary: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bounce: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + circlethrow: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + cosmicpower: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dizzypunch: ["2L1"], + doublehit: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + jumpkick: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + teeterdance: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + lopunny: { + learnset: { + acrobatics: ["2L1"], + afteryou: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brutalswing: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cosmicpower: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + dizzypunch: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firepunch: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + jumpkick: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mirrorcoat: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + glameow: { + learnset: { + aerialace: ["2L1"], + assist: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + wakeupslap: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + purugly: { + learnset: { + aerialace: ["2L1"], + assist: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 6, level: 32, maxEggMoves: 1}, + ], + }, + stunky: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + flameburst: ["2L1"], + flamethrower: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + memento: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + }, + skuntank: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + memento: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smokescreen: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + encounters: [ + {generation: 4, level: 29}, + ], + }, + bronzor: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + healblock: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + icespinner: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + metalsound: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + bronzong: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + healblock: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icespinner: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + payback: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, nature: "Relaxed", ivs: {hp: 31, atk: 31, def: 31, spa: 22, spd: 31, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 50, nature: "Modest", moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + chatot: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + attract: ["2L1"], + boomburst: ["2L1"], + captivate: ["2L1"], + chatter: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + mimic: ["2L1"], + mirrormove: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sing: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 4, level: 25, gender: "M", nature: "Jolly", abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + spiritomb: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + lashout: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + pursuit: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 5, level: 61, gender: "F", nature: "Quiet", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + gible: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + }, + }, + gabite: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dualchop: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + }, + }, + garchomp: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dualchop: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + liquidation: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + poisonjab: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 48, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 48, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 66, gender: "F", perfectIVs: 3, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + riolu: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + bite: ["2L1"], + blazekick: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + circlethrow: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + crunch: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + forcepalm: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + howl: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + meteormash: ["2L1"], + mindreader: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 30, gender: "M", nature: "Serious", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + lucario: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + blazekick: ["2L1"], + bodyslam: ["2L1"], + bonerush: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lifedew: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + meteormash: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, gender: "M", nature: "Modest", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 30, gender: "M", nature: "Adamant", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 50, gender: "M", nature: "Naughty", ivs: {atk: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, nature: "Jolly", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 40, gender: "M", nature: "Serious", abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 80, gender: "M", nature: "Serious", abilities: ["2L1"], ivs: {hp: 31, atk: 30, def: 30, spa: 31, spd: 30, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 75, shiny: true, gender: "M", nature: "Naive", abilities: ["2L1"], ivs: {hp: 31, atk: 31, def: 20, spa: 31, spd: 20, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + hippopotas: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + yawn: ["2L1"], + }, + }, + hippowdon: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + yawn: ["2L1"], + }, + }, + skorupi: { + learnset: { + acupressure: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crosspoison: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + twineedle: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + xscissor: ["2L1"], + }, + }, + drapion: { + learnset: { + acupressure: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + firefang: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 4, level: 22, pokeball: "safariball"}, + {generation: 6, level: 30}, + ], + }, + croagunk: { + learnset: { + acidspray: ["2L1"], + acupressure: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + belch: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crosschop: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + feintattack: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + meditate: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smellingsalts: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + wakeupslap: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + }, + toxicroak: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + belch: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudbomb: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 4, level: 22, pokeball: "safariball"}, + {generation: 6, level: 30}, + ], + }, + carnivine: { + learnset: { + acidspray: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + leaftornado: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + ragepowder: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + vinewhip: ["2L1"], + worryseed: ["2L1"], + wringout: ["2L1"], + }, + }, + finneon: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + alluringvoice: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + lumineon: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 4, level: 20}, + ], + }, + snover: { + learnset: { + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + growth: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ingrain: ["2L1"], + irontail: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megapunch: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sheercold: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + }, + }, + abomasnow: { + learnset: { + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + hail: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ingrain: ["2L1"], + irontail: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mist: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sheercold: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + }, + encounters: [ + {generation: 4, level: 38}, + ], + }, + rotom: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + lightscreen: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, nature: "Naughty", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, nature: "Quirky", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + rotomheat: { + learnset: { + overheat: ["2L1"], + }, + }, + rotomwash: { + learnset: { + hydropump: ["2L1"], + }, + }, + rotomfrost: { + learnset: { + blizzard: ["2L1"], + }, + }, + rotomfan: { + learnset: { + airslash: ["2L1"], + }, + }, + rotommow: { + learnset: { + leafstorm: ["2L1"], + }, + }, + uxie: { + learnset: { + acrobatics: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + mysticalpower: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + mesprit: { + learnset: { + acrobatics: ["2L1"], + allyswitch: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + copycat: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + mysticalpower: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + painsplit: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + azelf: { + learnset: { + acrobatics: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + mysticalpower: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + dialga: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aurasphere: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + healblock: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magnetrise: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roaroftime: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + }, + eventData: [ + {generation: 4, level: 47, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 1, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 5, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 100, nature: "Modest", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, nature: "Bold", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 75, nature: "Quiet", isHidden: true, perfectIVs: 4, moves: ["2L1"]}, + ], + eventOnly: false, + }, + dialgaorigin: { + eventOnly: false, + }, + palkia: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + aurasphere: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healblock: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + liquidation: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + outrage: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spacialrend: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 4, level: 47, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 1, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 5, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 100, nature: "Timid", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, nature: "Hasty", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 75, nature: "Modest", isHidden: true, perfectIVs: 4, moves: ["2L1"]}, + ], + eventOnly: false, + }, + palkiaorigin: { + eventOnly: false, + }, + heatran: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lunge: ["2L1"], + magmastorm: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + pounce: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, gender: "M", nature: "Quiet", moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 68, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + regigigas: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + avalanche: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crushgrip: ["2L1"], + darkestlariat: ["2L1"], + dizzypunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 1, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 68, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 100, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + giratina: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + aurasphere: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + headbutt: ["2L1"], + healblock: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magiccoat: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowforce: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 4, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 47, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 1, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 5, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 100, nature: "Brave", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + giratinaorigin: { + eventOnly: false, + }, + cresselia: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lightscreen: ["2L1"], + lunarblessing: ["2L1"], + lunardance: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mist: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 68, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 68, nature: "Modest", moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + phione: { + learnset: { + acidarmor: ["2L1"], + alluringvoice: ["2L1"], + ancientpower: ["2L1"], + aquaring: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + liquidation: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takeheart: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + manaphy: { + learnset: { + acidarmor: ["2L1"], + alluringvoice: ["2L1"], + ancientpower: ["2L1"], + aquaring: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + healbell: ["2L1"], + heartswap: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailglow: ["2L1"], + takeheart: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 5, moves: ["2L1"]}, + {generation: 4, level: 1, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, nature: "Impish", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + darkrai: { + learnset: { + aerialace: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + darkvoid: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roaroftime: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spacialrend: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 4, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 4, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + shaymin: { + learnset: { + aircutter: ["2L1"], + airslash: ["2L1"], + aromatherapy: ["2L1"], + batonpass: ["2L1"], + bulletseed: ["2L1"], + celebrate: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + healingwish: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + ominouswind: ["2L1"], + petalblizzard: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + seedflare: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 4, level: 30, shiny: 1, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 20, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + shayminsky: { + eventOnly: false, + }, + arceus: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + aurasphere: ["2L1"], + avalanche: ["2L1"], + blastburn: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bugbuzz: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cosmicpower: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healingwish: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + judgment: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + mistyterrain: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + punishment: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roaroftime: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowforce: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spacialrend: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 4, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["2L1"]}, + {generation: 6, level: 100, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + arceusbug: { + eventOnly: false, + }, + arceusdark: { + eventOnly: false, + }, + arceusdragon: { + eventOnly: false, + }, + arceuselectric: { + eventOnly: false, + }, + arceusfairy: { + eventOnly: false, + }, + arceusfighting: { + eventOnly: false, + }, + arceusfire: { + eventOnly: false, + }, + arceusflying: { + eventOnly: false, + }, + arceusghost: { + eventOnly: false, + }, + arceusgrass: { + eventOnly: false, + }, + arceusground: { + eventOnly: false, + }, + arceusice: { + eventOnly: false, + }, + arceuspoison: { + eventOnly: false, + }, + arceuspsychic: { + eventOnly: false, + }, + arceusrock: { + eventOnly: false, + }, + arceussteel: { + eventOnly: false, + }, + arceuswater: { + eventOnly: false, + }, + victini: { + learnset: { + batonpass: ["2L1"], + blazekick: ["2L1"], + blueflare: ["2L1"], + boltstrike: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + celebrate: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + fusionbolt: ["2L1"], + fusionflare: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + glaciate: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mysticalfire: ["2L1"], + overheat: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scorchingsands: ["2L1"], + searingshot: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vcreate: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["2L1"]}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 50, nature: "Brave", perfectIVs: 6, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + snivy: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + glare: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + mirrorcoat: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + twister: ["2L1"], + vinewhip: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 5, level: 5, gender: "M", nature: "Hardy", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + servine: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + }, + serperior: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdback: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + petalblizzard: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + tepig: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + burnup: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gyroball: ["2L1"], + headsmash: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + magnitude: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + pignite: { + learnset: { + armthrust: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gyroball: ["2L1"], + headsmash: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + emboar: { + learnset: { + armthrust: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + blastburn: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + headsmash: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + holdback: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + oshawott: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aquacutter: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trumpcard: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + dewott: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + samurott: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + drillrun: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdback: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + megahorn: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 100, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + samurotthisui: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + ceaselessedge: ["2L1"], + chillingwater: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + drillrun: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + liquidation: ["2L1"], + megahorn: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + scaryface: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snowscape: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + xscissor: ["2L1"], + }, + }, + patrat: { + learnset: { + afteryou: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperfang: ["2L1"], + hypnosis: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + meanlook: ["2L1"], + nastyplot: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tearfullook: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + watchog: { + learnset: { + afteryou: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperfang: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + meanlook: ["2L1"], + nastyplot: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + lillipup: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bite: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + }, + herdier: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bite: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 5, level: 20, isHidden: true}, + ], + }, + stoutland: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bite: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + ironhead: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 5, level: 23}, + ], + }, + purrloin: { + learnset: { + aerialace: ["2L1"], + assist: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + yawn: ["2L1"], + }, + }, + liepard: { + learnset: { + aerialace: ["2L1"], + assist: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + burningjealousy: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 5, level: 20, gender: "F", nature: "Jolly", isHidden: true, moves: ["2L1"]}, + ], + }, + pansage: { + learnset: { + acrobatics: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grasswhistle: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikyshield: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vinewhip: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, shiny: 1, gender: "M", nature: "Brave", ivs: {spa: 31}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 30, gender: "M", nature: "Serious", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + simisage: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + }, + pansear: { + learnset: { + acrobatics: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gastroacid: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + }, + simisear: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 5, perfectIVs: 2, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + panpour: { + learnset: { + acrobatics: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gastroacid: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mudsport: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 10, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + }, + simipour: { + learnset: { + acrobatics: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + munna: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + sonicboom: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + telekinesis: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 39, nature: "Mild", isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + ], + }, + musharna: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + mistyexplosion: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, isHidden: true, moves: ["2L1"]}, + ], + }, + pidove: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bestow: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + leer: ["2L1"], + luckychant: ["2L1"], + morningsun: ["2L1"], + nightslash: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, shiny: 1, gender: "F", nature: "Hardy", ivs: {atk: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + tranquill: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + leer: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + unfezant: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + leer: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 5, level: 22}, + ], + }, + blitzle: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flamecharge: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magnetrise: ["2L1"], + mefirst: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + zebstrika: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flamecharge: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + iondeluge: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magnetrise: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + roggenrola: { + learnset: { + attract: ["2L1"], + autotomize: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + lockon: ["2L1"], + magnitude: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + }, + }, + boldore: { + learnset: { + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + toxic: ["2L1"], + }, + encounters: [ + {generation: 5, level: 24}, + ], + }, + gigalith: { + learnset: { + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + }, + }, + woobat: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gust: ["2L1"], + gyroball: ["2L1"], + heartstamp: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + nastyplot: ["2L1"], + odorsleuth: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + swoobat: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + gyroball: ["2L1"], + heartstamp: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + nastyplot: ["2L1"], + odorsleuth: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + drilbur: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + xscissor: ["2L1"], + }, + }, + excadrill: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crushclaw: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + horndrill: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + magnetrise: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + audino: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bestow: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mistyterrain: ["2L1"], + painsplit: ["2L1"], + playnice: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 30, gender: "F", nature: "Calm", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "F", nature: "Serious", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "F", nature: "Jolly", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, nature: "Relaxed", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + timburr: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + hammerarm: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + wakeupslap: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + }, + }, + gurdurr: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + hammerarm: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + wakeupslap: ["2L1"], + workup: ["2L1"], + }, + }, + conkeldurr: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + wakeupslap: ["2L1"], + workup: ["2L1"], + }, + }, + tympole: { + learnset: { + acid: ["2L1"], + afteryou: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + mist: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + }, + palpitoad: { + learnset: { + acid: ["2L1"], + afteryou: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + }, + seismitoad: { + learnset: { + acid: ["2L1"], + afteryou: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + encounters: [ + {generation: 5, level: 15}, + ], + }, + throh: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + circlethrow: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + matblock: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + stormthrow: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + vitalthrow: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + sawk: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + dig: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + karatechop: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + sewaddle: { + learnset: { + agility: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + camouflage: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mefirst: ["2L1"], + mindreader: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + switcheroo: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + worryseed: ["2L1"], + }, + }, + swadloon: { + learnset: { + attract: ["2L1"], + batonpass: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + worryseed: ["2L1"], + }, + encounters: [ + {generation: 5, level: 19}, + ], + }, + leavanny: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 5, level: 20, isHidden: true}, + ], + }, + venipede: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bugbite: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gyroball: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + steamroller: ["2L1"], + steelroller: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + twineedle: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + }, + whirlipede: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + steamroller: ["2L1"], + steelroller: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + }, + scolipede: { + learnset: { + agility: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + megahorn: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smartstrike: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + steamroller: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + }, + cottonee: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + knockoff: ["2L1"], + leechseed: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + mistyterrain: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + worryseed: ["2L1"], + }, + }, + whimsicott: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + gust: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + playrough: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, gender: "F", nature: "Timid", ivs: {spe: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + petilil: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + growth: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + laserfocus: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + synthesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + worryseed: ["2L1"], + }, + }, + lilligant: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + alluringvoice: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + }, + }, + lilliganthisui: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + airslash: ["2L1"], + axekick: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + defog: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icespinner: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + megakick: ["2L1"], + metronome: ["2L1"], + petalblizzard: ["2L1"], + poisonjab: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + victorydance: ["2L1"], + weatherball: ["2L1"], + }, + }, + basculin: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + basculinwhitestriped: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + lastrespects: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + basculegion: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + chillingwater: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + lastrespects: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + nightshade: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + basculegionf: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + chillingwater: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flipturn: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + lastrespects: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + nightshade: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + sandile: { + learnset: { + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + meanlook: ["2L1"], + mefirst: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + }, + }, + krokorok: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + }, + }, + krookodile: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + meanlook: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + }, + }, + darumaka: { + learnset: { + attract: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + darumakagalar: { + learnset: { + attract: ["2L1"], + avalanche: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + dig: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + freezedry: ["2L1"], + grassknot: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + overheat: ["2L1"], + powdersnow: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + darmanitan: { + learnset: { + attract: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mysticalfire: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rage: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 35, isHidden: true, moves: ["2L1"]}, + {generation: 6, level: 35, gender: "M", nature: "Calm", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 32, maxEggMoves: 1}, + ], + }, + darmanitangalar: { + learnset: { + attract: ["2L1"], + avalanche: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + dig: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iciclecrash: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + maractus: { + learnset: { + absorb: ["2L1"], + acupressure: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + megadrain: ["2L1"], + naturepower: ["2L1"], + needlearm: ["2L1"], + peck: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spikyshield: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + synthesis: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + }, + }, + dwebble: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rockwrecker: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shellsmash: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + withdraw: ["2L1"], + xscissor: ["2L1"], + }, + }, + crustle: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bugbite: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + meteorbeam: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rockwrecker: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shellsmash: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + toxic: ["2L1"], + withdraw: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 6, level: 33, maxEggMoves: 1}, + ], + }, + scraggy: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, gender: "M", nature: "Adamant", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + scrafty: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Brave", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + sigilyph: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + miracleeye: ["2L1"], + mirrormove: ["2L1"], + pluck: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + whirlwind: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + yamask: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + craftyshield: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + grudge: ["2L1"], + guardsplit: ["2L1"], + haze: ["2L1"], + healblock: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + magiccoat: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poltergeist: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + yamaskgalar: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + craftyshield: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + guardsplit: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + payback: ["2L1"], + poltergeist: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + thief: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + cofagrigus: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + craftyshield: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grudge: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + magiccoat: ["2L1"], + meanlook: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 66, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 32, maxEggMoves: 1}, + ], + }, + runerigus: { + learnset: { + allyswitch: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + craftyshield: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + dragonpulse: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + meanlook: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skillswap: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + tirtouga: { + learnset: { + ancientpower: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + meteorbeam: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shellsmash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + withdraw: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + carracosta: { + learnset: { + ancientpower: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + meteorbeam: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shellsmash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + withdraw: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + archen: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + headsmash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + meteorbeam: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wingattack: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + archeops: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + meteorbeam: ["2L1"], + outrage: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wingattack: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + trubbish: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + belch: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + mudsport: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisongas: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + }, + garbodor: { + learnset: { + acidspray: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + crosspoison: ["2L1"], + darkpulse: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + metalclaw: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisongas: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + encounters: [ + {generation: 5, level: 31}, + {generation: 6, level: 30}, + {generation: 7, level: 24}, + ], + }, + zorua: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightdaze: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + }, + }, + zoruahisui: { + learnset: { + agility: ["2L1"], + bittermalice: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + comeuppance: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + hex: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + scratch: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + }, + }, + zoroark: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + nightdaze: ["2L1"], + nightshade: ["2L1"], + nightslash: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, gender: "M", nature: "Quirky", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, moves: ["2L1"], pokeball: "ultraball"}, + {generation: 6, level: 45, gender: "M", nature: "Naughty", moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 25}, + ], + }, + zoroarkhisui: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + bittermalice: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + happyhour: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, perfectIVs: 3, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + minccino: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + tidyup: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wakeupslap: ["2L1"], + workup: ["2L1"], + }, + }, + cinccino: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icespinner: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + sing: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + gothita: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + darkpulse: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + healbell: ["2L1"], + healblock: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + miracleeye: ["2L1"], + mirrorcoat: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + gothorita: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + darkpulse: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + healbell: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mirrorcoat: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 32, gender: "M", isHidden: true, moves: ["2L1"]}, + {generation: 5, level: 32, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + encounters: [ + {generation: 5, level: 31}, + ], + }, + gothitelle: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + covet: ["2L1"], + darkpulse: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + healbell: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + playnice: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 5, level: 34}, + ], + }, + solosis: { + learnset: { + acidarmor: ["2L1"], + afteryou: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelroller: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + duosion: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelroller: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 5, level: 31}, + ], + }, + reuniclus: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dizzypunch: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + megapunch: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelroller: ["2L1"], + storedpower: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 5, level: 34}, + ], + }, + ducklett: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + luckychant: ["2L1"], + mefirst: ["2L1"], + mirrormove: ["2L1"], + mudsport: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + }, + }, + swanna: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + bubblebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flipturn: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + vanillite: { + learnset: { + acidarmor: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + autotomize: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + mirrorcoat: ["2L1"], + mirrorshot: ["2L1"], + mist: ["2L1"], + naturalgift: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + }, + }, + vanillish: { + learnset: { + acidarmor: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + mirrorcoat: ["2L1"], + mirrorshot: ["2L1"], + mist: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + }, + }, + vanilluxe: { + learnset: { + acidarmor: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + beatup: ["2L1"], + blizzard: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + mirrorcoat: ["2L1"], + mirrorshot: ["2L1"], + mist: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + }, + deerling: { + learnset: { + agility: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + camouflage: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + jumpkick: ["2L1"], + lastresort: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + odorsleuth: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 30, gender: "F", isHidden: true, moves: ["2L1"]}, + ], + }, + sawsbuck: { + learnset: { + agility: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + camouflage: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + jumpkick: ["2L1"], + lastresort: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megahorn: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + emolga: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + eerieimpulse: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + iondeluge: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + nuzzle: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spark: ["2L1"], + speedswap: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + karrablast: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hornattack: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + nightslash: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + toxic: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + escavalier: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + flail: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + metalburst: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + twineedle: ["2L1"], + xscissor: ["2L1"], + }, + }, + foongus: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + synthesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + }, + }, + amoonguss: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + leafstorm: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + stompingtantrum: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + synthesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, shiny: true, gender: "F", nature: "Sassy", ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 0}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 5, level: 37}, + {generation: 5, level: 35, isHidden: true}, + ], + }, + frillish: { + learnset: { + absorb: ["2L1"], + acidarmor: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + constrict: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + hail: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + magiccoat: ["2L1"], + mist: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + poisonsting: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + waterspout: ["2L1"], + whirlpool: ["2L1"], + willowisp: ["2L1"], + wringout: ["2L1"], + }, + }, + jellicent: { + learnset: { + absorb: ["2L1"], + acidarmor: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + magiccoat: ["2L1"], + muddywater: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + poisonsting: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + waterspout: ["2L1"], + whirlpool: ["2L1"], + willowisp: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 5, level: 40, isHidden: true, moves: ["2L1"]}, + ], + encounters: [ + {generation: 5, level: 5}, + ], + }, + alomomola: { + learnset: { + acrobatics: ["2L1"], + alluringvoice: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brine: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + dive: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + mistyterrain: ["2L1"], + painsplit: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + wakeupslap: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + joltik: { + learnset: { + absorb: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + camouflage: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + disable: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockclimb: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + spiderweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + xscissor: ["2L1"], + }, + }, + galvantula: { + learnset: { + absorb: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + disable: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + spiderweb: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + ferroseed: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + ingrain: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + leechseed: ["2L1"], + magnetrise: ["2L1"], + metalclaw: ["2L1"], + mirrorshot: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + worryseed: ["2L1"], + }, + }, + ferrothorn: { + learnset: { + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + magnetrise: ["2L1"], + metalclaw: ["2L1"], + mirrorshot: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + worryseed: ["2L1"], + }, + }, + klink: { + learnset: { + assurance: ["2L1"], + autotomize: ["2L1"], + bind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + geargrind: ["2L1"], + gravity: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mirrorshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shiftgear: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + visegrip: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + klang: { + learnset: { + allyswitch: ["2L1"], + assurance: ["2L1"], + autotomize: ["2L1"], + bind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + geargrind: ["2L1"], + gravity: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mirrorshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shiftgear: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + visegrip: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + klinklang: { + learnset: { + allyswitch: ["2L1"], + assurance: ["2L1"], + autotomize: ["2L1"], + bind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + geargrind: ["2L1"], + gearup: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magneticflux: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mirrorshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shiftgear: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + visegrip: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + tynamo: { + learnset: { + charge: ["2L1"], + chargebeam: ["2L1"], + knockoff: ["2L1"], + magnetrise: ["2L1"], + spark: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + }, + }, + eelektrik: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + acrobatics: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + eelektross: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + acrobatics: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + closecombat: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + cut: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + iondeluge: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + outrage: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + elgyem: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + healblock: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + miracleeye: ["2L1"], + nastyplot: ["2L1"], + painsplit: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + synchronoise: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + beheeyem: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + healblock: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + miracleeye: ["2L1"], + nastyplot: ["2L1"], + painsplit: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + synchronoise: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + litwick: { + learnset: { + acid: ["2L1"], + acidarmor: ["2L1"], + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + memento: ["2L1"], + minimize: ["2L1"], + mysticalfire: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poltergeist: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + }, + }, + lampent: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + lashout: ["2L1"], + memento: ["2L1"], + minimize: ["2L1"], + mysticalfire: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + chandelure: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + memento: ["2L1"], + minimize: ["2L1"], + mysticalfire: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, gender: "F", nature: "Modest", ivs: {spa: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + axew: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualchop: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firstimpression: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, shiny: 1, gender: "M", nature: "Naive", ivs: {spe: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "pokeball"}, + {generation: 5, level: 10, gender: "F", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 30, gender: "M", nature: "Naive", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + fraxure: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualchop: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + haxorus: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guillotine: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 59, gender: "F", nature: "Naive", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + cubchoo: { + learnset: { + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightslash: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + powdersnow: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sheercold: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterpulse: ["2L1"], + xscissor: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + beartic: { + learnset: { + aerialace: ["2L1"], + aquajet: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + powdersnow: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + sheercold: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterpulse: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + cryogonal: { + learnset: { + acidarmor: ["2L1"], + acrobatics: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mist: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sharpen: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + waterpulse: ["2L1"], + }, + }, + shelmet: { + learnset: { + absorb: ["2L1"], + acid: ["2L1"], + acidarmor: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + megadrain: ["2L1"], + mindreader: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 5, level: 30, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + accelgor: { + learnset: { + absorb: ["2L1"], + acid: ["2L1"], + acidarmor: ["2L1"], + acidspray: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + mefirst: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + watershuriken: ["2L1"], + yawn: ["2L1"], + }, + }, + stunfisk: { + learnset: { + aquatail: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + camouflage: ["2L1"], + charge: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + lashout: ["2L1"], + magnetrise: ["2L1"], + mefirst: ["2L1"], + mudbomb: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + yawn: ["2L1"], + }, + }, + stunfiskgalar: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + icefang: ["2L1"], + irondefense: ["2L1"], + lashout: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snaptrap: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + terrainpulse: ["2L1"], + thunderwave: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + yawn: ["2L1"], + }, + }, + mienfoo: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + honeclaws: ["2L1"], + jumpkick: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + meditate: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + vitalthrow: ["2L1"], + workup: ["2L1"], + }, + }, + mienshao: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + blazekick: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icespinner: ["2L1"], + jumpkick: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + meditate: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 65, gender: "M", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + druddigon: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chargebeam: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisontail: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + golett: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magnitude: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowpunch: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + }, + }, + golurk: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + chargebeam: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkestlariat: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + hardpress: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magnitude: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowpunch: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 70, shiny: true, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + pawniard: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + grassknot: ["2L1"], + guillotine: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + meanlook: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + pursuit: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + xscissor: ["2L1"], + }, + }, + bisharp: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guillotine: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 7, level: 33}, + ], + }, + kingambit: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + brickbreak: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + guillotine: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + kowtowcleave: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + reversal: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + bouffalant: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + headcharge: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Adamant", ivs: {hp: 31, atk: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + rufflet: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + crushclaw: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + leer: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skydrop: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + braviary: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + crushclaw: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + metalclaw: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 25, gender: "M", isHidden: true, moves: ["2L1"]}, + ], + encounters: [ + {generation: 6, level: 45}, + ], + }, + braviaryhisui: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confuseray: ["2L1"], + crushclaw: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + esperwing: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + leer: ["2L1"], + metalclaw: ["2L1"], + nightshade: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skyattack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + vullaby: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bravebird: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + meanlook: ["2L1"], + mirrormove: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + }, + }, + mandibuzz: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bonerush: ["2L1"], + bravebird: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + mirrormove: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + }, + eventData: [ + {generation: 5, level: 25, gender: "F", isHidden: true, moves: ["2L1"]}, + ], + }, + heatmor: { + learnset: { + aerialace: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + burningjealousy: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fireblast: ["2L1"], + firelash: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + knockoff: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + nightslash: ["2L1"], + odorsleuth: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + willowisp: ["2L1"], + wrap: ["2L1"], + }, + }, + durant: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bugbite: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + firstimpression: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + xscissor: ["2L1"], + }, + }, + deino: { + learnset: { + aquatail: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + incinerate: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 1, shiny: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + zweilous: { + learnset: { + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + incinerate: ["2L1"], + lashout: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 5, level: 49}, + ], + }, + hydreigon: { + learnset: { + acrobatics: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 70, shiny: true, gender: "M", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 52, gender: "M", perfectIVs: 2, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 59}, + ], + }, + larvesta: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + harden: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + morningsun: ["2L1"], + overheat: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + volcarona: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fierydance: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + mysticalfire: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + quiverdance: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 35, moves: ["2L1"]}, + {generation: 5, level: 77, gender: "M", nature: "Calm", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 41}, + ], + }, + cobalion: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aurasphere: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + magnetrise: ["2L1"], + megahorn: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + voltswitch: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 42, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 45, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + terrakion: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aurasphere: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 42, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 45, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + virizion: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aurasphere: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + laserfocus: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megahorn: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 42, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 45, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + tornadus: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bleakwindstorm: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gust: ["2L1"], + hammerarm: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + weatherball: ["2L1"], + }, + eventData: [ + {generation: 5, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 5, level: 70, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + tornadustherian: { + eventOnly: false, + }, + thundurus: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hammerarm: ["2L1"], + healblock: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + risingvoltage: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildboltstorm: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 40, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 5, level: 70, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + thundurustherian: { + eventOnly: false, + }, + reshiram: { + learnset: { + ancientpower: ["2L1"], + blueflare: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + fusionflare: ["2L1"], + gigaimpact: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + mist: ["2L1"], + mysticalfire: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, moves: ["2L1"]}, + {generation: 5, level: 70, moves: ["2L1"]}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + zekrom: { + learnset: { + ancientpower: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + boltstrike: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + fusionbolt: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, moves: ["2L1"]}, + {generation: 5, level: 70, moves: ["2L1"]}, + {generation: 5, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + landorus: { + learnset: { + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + hammerarm: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandsearstorm: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + weatherball: ["2L1"], + }, + eventData: [ + {generation: 5, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 5, isHidden: true, moves: ["2L1"], pokeball: "dreamball"}, + {generation: 6, level: 65, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 1, spd: 31, spe: 24}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + landorustherian: { + eventOnly: false, + }, + kyurem: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + freezedry: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + glaciate: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 75, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + kyuremblack: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + freezedry: ["2L1"], + freezeshock: ["2L1"], + frustration: ["2L1"], + fusionbolt: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 75, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + kyuremwhite: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + freezedry: ["2L1"], + frustration: ["2L1"], + fusionflare: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + iceburn: ["2L1"], + icefang: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 75, shiny: 1, moves: ["2L1"]}, + {generation: 5, level: 70, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 50, shiny: 1, moves: ["2L1"]}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + keldeo: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megahorn: ["2L1"], + muddywater: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + secretsword: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + vacuumwave: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 65, moves: ["2L1"]}, + ], + eventOnly: false, + }, + keldeoresolute: { + eventOnly: false, + }, + meloetta: { + learnset: { + acrobatics: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + batonpass: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + celebrate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualchop: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + relicsong: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sing: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + teeterdance: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wakeupslap: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + genesect: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + blazekick: ["2L1"], + blizzard: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gunkshot: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lastresort: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magnetbomb: ["2L1"], + magnetrise: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + quickattack: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowclaw: ["2L1"], + shiftgear: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + simplebeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelbeam: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + technoblast: ["2L1"], + telekinesis: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + uturn: ["2L1"], + xscissor: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 5, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 5, level: 100, shiny: true, nature: "Hasty", ivs: {atk: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + genesectburn: { + eventOnly: false, + }, + genesectchill: { + eventOnly: false, + }, + genesectdouse: { + eventOnly: false, + }, + genesectshock: { + eventOnly: false, + }, + chespin: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + gyroball: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + naturepower: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + wideguard: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + quilladin: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + gyroball: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + naturepower: ["2L1"], + needlearm: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + chesnaught: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + needlearm: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spikyshield: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + fennekin: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 15, gender: "F", nature: "Hardy", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + braixen: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + delphox: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + blastburn: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + luckychant: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + froakie: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + bestow: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + camouflage: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lick: ["2L1"], + liquidation: ["2L1"], + mindreader: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smokescreen: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 7, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + frogadier: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + lick: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smokescreen: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + }, + greninja: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + happyhour: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + lick: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + matblock: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightslash: ["2L1"], + pound: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shadowsneak: ["2L1"], + sleeptalk: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + smokescreen: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watershuriken: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 36, ivs: {spe: 31}, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 100, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + greninjabond: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + lick: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + matblock: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightslash: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + shadowsneak: ["2L1"], + sleeptalk: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + smokescreen: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + watershuriken: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 36, ivs: {hp: 20, atk: 31, def: 20, spa: 31, spd: 20, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + bunnelby: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doublekick: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + hiddenpower: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + }, + }, + diggersby: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doublekick: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + }, + }, + fletchling: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flail: ["2L1"], + flamecharge: ["2L1"], + flareblitz: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + mefirst: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + fletchinder: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flail: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + incinerate: ["2L1"], + mefirst: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 7, level: 16}, + ], + }, + talonflame: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + bulkup: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flail: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + mefirst: ["2L1"], + naturalgift: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + scatterbug: { + learnset: { + bugbite: ["2L1"], + poisonpowder: ["2L1"], + pounce: ["2L1"], + ragepowder: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + }, + }, + spewpa: { + learnset: { + bugbite: ["2L1"], + electroweb: ["2L1"], + harden: ["2L1"], + irondefense: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + strugglebug: ["2L1"], + terablast: ["2L1"], + }, + }, + vivillon: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + powder: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + weatherball: ["2L1"], + }, + }, + vivillonfancy: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hiddenpower: ["2L1"], + holdhands: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + powder: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 6, level: 12, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + vivillonpokeball: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + powder: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 6, level: 12, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + litleo: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + nobleroar: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + }, + pyroar: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + nobleroar: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 49, gender: "M", perfectIVs: 2, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 6, level: 30}, + ], + }, + flabebe: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + camouflage: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + wish: ["2L1"], + worryseed: ["2L1"], + }, + }, + floette: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + vinewhip: ["2L1"], + wish: ["2L1"], + worryseed: ["2L1"], + }, + }, + floetteeternal: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lightofruin: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + toxic: ["2L1"], + vinewhip: ["2L1"], + wish: ["2L1"], + worryseed: ["2L1"], + }, + eventOnly: true, + }, + florges: { + learnset: { + afteryou: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flowershield: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + wish: ["2L1"], + worryseed: ["2L1"], + }, + }, + skiddo: { + learnset: { + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hornleech: ["2L1"], + irontail: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + milkdrink: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + gogoat: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + milkdrink: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + pancham: { + learnset: { + aerialace: ["2L1"], + armthrust: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + circlethrow: ["2L1"], + coaching: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + karatechop: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seismictoss: ["2L1"], + shadowclaw: ["2L1"], + skyuppercut: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + stormthrow: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vitalthrow: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 30, gender: "M", nature: "Adamant", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + pangoro: { + learnset: { + aerialace: ["2L1"], + armthrust: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + circlethrow: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + hammerarm: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + infestation: ["2L1"], + ironhead: ["2L1"], + karatechop: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + skyuppercut: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vitalthrow: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 7, level: 24}, + ], + }, + furfrou: { + learnset: { + attract: ["2L1"], + babydolleyes: ["2L1"], + bite: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mimic: ["2L1"], + odorsleuth: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + espurr: { + learnset: { + allyswitch: ["2L1"], + assist: ["2L1"], + attract: ["2L1"], + barrier: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + meowstic: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + miracleeye: ["2L1"], + mistyterrain: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + meowsticf: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mefirst: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + honedge: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gyroball: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + nightslash: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + }, + }, + doublade: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gyroball: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + nightslash: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + toxic: ["2L1"], + }, + }, + aegislash: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + headsmash: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + kingsshield: ["2L1"], + laserfocus: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + nightslash: ["2L1"], + powertrick: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, gender: "F", nature: "Quiet", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + spritzee: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + nastyplot: ["2L1"], + odorsleuth: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + telekinesis: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + wish: ["2L1"], + }, + }, + aromatisse: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + healbell: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + nastyplot: ["2L1"], + odorsleuth: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + telekinesis: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Relaxed", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + swirlix: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bellydrum: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mistyexplosion: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + tackle: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + wish: ["2L1"], + yawn: ["2L1"], + }, + }, + slurpuff: { + learnset: { + afteryou: ["2L1"], + amnesia: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + tackle: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + wish: ["2L1"], + }, + }, + inkay: { + learnset: { + acupressure: ["2L1"], + aerialace: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + calmmind: ["2L1"], + camouflage: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + happyhour: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + simplebeam: ["2L1"], + skillswap: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + topsyturvy: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + malamar: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderbolt: ["2L1"], + topsyturvy: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, nature: "Adamant", ivs: {hp: 31, atk: 31}, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + binacle: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + clamp: ["2L1"], + confide: ["2L1"], + crosschop: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + liquidation: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shellsmash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + withdraw: ["2L1"], + xscissor: ["2L1"], + }, + }, + barbaracle: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + clamp: ["2L1"], + confide: ["2L1"], + crosschop: ["2L1"], + cut: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dualchop: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + meteorbeam: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowclaw: ["2L1"], + shellsmash: ["2L1"], + skullbash: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + skrelp: { + learnset: { + acid: ["2L1"], + acidarmor: ["2L1"], + acidspray: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + camouflage: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + twister: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + dragalge: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + camouflage: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + twister: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + encounters: [ + {generation: 6, level: 35}, + ], + }, + clauncher: { + learnset: { + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crabhammer: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + visegrip: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + }, + }, + clawitzer: { + learnset: { + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crabhammer: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + visegrip: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + weatherball: ["2L1"], + }, + encounters: [ + {generation: 6, level: 35}, + ], + }, + helioptile: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + bulldoze: ["2L1"], + camouflage: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + electricterrain: ["2L1"], + electrify: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + glare: ["2L1"], + grassknot: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + mudslap: ["2L1"], + paraboliccharge: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + heliolisk: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electrify: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudslap: ["2L1"], + paraboliccharge: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + }, + }, + tyrunt: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + horndrill: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + meteorbeam: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 10, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + tyrantrum: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headsmash: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + honeclaws: ["2L1"], + horndrill: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + meteorbeam: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + amaura: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + barrier: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + meteorbeam: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + mudshot: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 10, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + aurorus: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + freezedry: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + meteorbeam: ["2L1"], + mist: ["2L1"], + mudshot: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + sylveon: { + learnset: { + alluringvoice: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + mudslap: ["2L1"], + mysticalfire: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 6, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 10, gender: "F", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + hawlucha: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + crosschop: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dualwingbeat: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + flyingpress: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + karatechop: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + meanlook: ["2L1"], + mefirst: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudsport: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + dedenne: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mistyterrain: ["2L1"], + naturalgift: ["2L1"], + nuzzle: ["2L1"], + paraboliccharge: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + carbink: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + ancientpower: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + meteorbeam: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + sharpen: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + }, + }, + goomy: { + learnset: { + absorb: ["2L1"], + acidarmor: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bubble: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + lifedew: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + sliggoo: { + learnset: { + absorb: ["2L1"], + acidarmor: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubble: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + }, + encounters: [ + {generation: 6, level: 30}, + ], + }, + sliggoohisui: { + learnset: { + absorb: ["2L1"], + acidarmor: ["2L1"], + acidspray: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + curse: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + flashcannon: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + ironhead: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + shelter: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + }, + }, + goodra: { + learnset: { + absorb: ["2L1"], + acidspray: ["2L1"], + aquatail: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + poisontail: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + }, + goodrahisui: { + learnset: { + absorb: ["2L1"], + acidspray: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + curse: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shelter: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + }, + }, + klefki: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + craftyshield: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairylock: ["2L1"], + fairywind: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + healblock: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mirrorshot: ["2L1"], + mistyterrain: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + steelbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + }, + }, + phantump: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bestow: ["2L1"], + branchpoke: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + forestscurse: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + grudge: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hornleech: ["2L1"], + imprison: ["2L1"], + ingrain: ["2L1"], + lashout: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + naturepower: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + venomdrench: ["2L1"], + willowisp: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + }, + }, + trevenant: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + branchpoke: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + focusblast: ["2L1"], + forestscurse: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + naturepower: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + venomdrench: ["2L1"], + willowisp: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + }, + pumpkaboo: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bestow: ["2L1"], + bulletseed: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + gyroball: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mysticalfire: ["2L1"], + naturepower: ["2L1"], + painsplit: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickortreat: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + }, + }, + pumpkaboosuper: { + learnset: { + astonish: ["2L1"], + scaryface: ["2L1"], + shadowsneak: ["2L1"], + trickortreat: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + gourgeist: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + brutalswing: ["2L1"], + bulletseed: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + gyroball: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + moonblast: ["2L1"], + mysticalfire: ["2L1"], + nastyplot: ["2L1"], + naturepower: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickortreat: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + }, + }, + bergmite: { + learnset: { + afteryou: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + barrier: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + mirrorcoat: ["2L1"], + mist: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + sharpen: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + }, + }, + avalugg: { + learnset: { + afteryou: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + iceball: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + sharpen: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + wideguard: ["2L1"], + }, + }, + avalugghisui: { + learnset: { + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + meteorbeam: ["2L1"], + mountaingale: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + wideguard: ["2L1"], + }, + }, + noibat: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + leechlife: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + wingattack: ["2L1"], + xscissor: ["2L1"], + }, + }, + noivern: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + moonlight: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + wingattack: ["2L1"], + xscissor: ["2L1"], + }, + }, + xerneas: { + learnset: { + aromatherapy: ["2L1"], + aurorabeam: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + geomancy: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + hiddenpower: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + ingrain: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + megahorn: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terrainpulse: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["2L1"]}, + {generation: 6, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + yveltal: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + airslash: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragonrush: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + oblivionwing: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["2L1"]}, + {generation: 6, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + zygarde: { + learnset: { + bind: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + camouflage: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + coreenforcer: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + grassknot: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + landswrath: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + thousandarrows: ["2L1"], + thousandwaves: ["2L1"], + toxic: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 70, moves: ["2L1"]}, + {generation: 6, level: 100, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 30, moves: ["2L1"]}, + {generation: 7, level: 50, moves: ["2L1"]}, + {generation: 7, level: 50, isHidden: true, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: true, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, shiny: true, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, isHidden: true, moves: ["2L1"]}, + ], + eventOnly: false, + }, + zygarde10: { + learnset: { + bind: ["2L1"], + dig: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + extremespeed: ["2L1"], + glare: ["2L1"], + haze: ["2L1"], + landswrath: ["2L1"], + outrage: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + thousandarrows: ["2L1"], + }, + eventData: [ + {generation: 7, level: 30, moves: ["2L1"]}, + {generation: 7, level: 50, isHidden: true, moves: ["2L1"]}, + {generation: 7, level: 50, isHidden: true, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 100, shiny: true, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, isHidden: true, moves: ["2L1"]}, + ], + eventOnly: false, + }, + diancie: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + batonpass: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + diamondstorm: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + earthpower: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + meteorbeam: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + moonblast: ["2L1"], + mysticalfire: ["2L1"], + naturepower: ["2L1"], + playrough: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + sharpen: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 50, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + hoopa: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualchop: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + gunkshot: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperspacefury: ["2L1"], + hyperspacehole: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + nastyplot: ["2L1"], + phantomforce: ["2L1"], + powersplit: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 6, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 15, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + hoopaunbound: { + eventOnly: false, + }, + volcanion: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + haze: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mist: ["2L1"], + mistyterrain: ["2L1"], + mudshot: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steameruption: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 6, level: 70, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 6, level: 70, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + rowlet: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + knockoff: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + nastyplot: ["2L1"], + naturepower: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + }, + dartrix: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + foresight: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + knockoff: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + nastyplot: ["2L1"], + naturepower: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + }, + decidueye: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + foresight: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + nastyplot: ["2L1"], + naturepower: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + peck: ["2L1"], + phantomforce: ["2L1"], + pluck: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skittersmack: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spiritshackle: ["2L1"], + spite: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + decidueyehisui: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulletseed: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confuseray: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frenzyplant: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + triplearrows: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + }, + }, + litten: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulkup: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + partingshot: ["2L1"], + payday: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + torracat: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulkup: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + incineroar: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + blastburn: ["2L1"], + blazekick: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crosschop: ["2L1"], + crunch: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + popplio: { + learnset: { + acrobatics: ["2L1"], + amnesia: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + aquatail: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lifedew: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + }, + }, + brionne: { + learnset: { + acrobatics: ["2L1"], + amnesia: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + }, + }, + primarina: { + learnset: { + acrobatics: ["2L1"], + alluringvoice: ["2L1"], + amnesia: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + sparklingaria: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + uproar: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + pikipek: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + boomburst: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flamecharge: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + mirrormove: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + trumbeak: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flamecharge: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + toucannon: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + beakblast: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flamecharge: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + overheat: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supersonic: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + encounters: [ + {generation: 7, level: 26}, + ], + }, + yungoos: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperfang: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + gumshoos: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hyperfang: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lowsweep: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + encounters: [ + {generation: 7, level: 17}, + ], + }, + gumshoostotem: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + hiddenpower: ["2L1"], + hyperfang: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 20, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + grubbin: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bugbite: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + electricterrain: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + xscissor: ["2L1"], + }, + }, + charjabug: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bugbite: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + xscissor: ["2L1"], + }, + }, + vikavolt: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magnetrise: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spark: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + xscissor: ["2L1"], + zapcannon: ["2L1"], + }, + }, + vikavolttotem: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + electroweb: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + mudslap: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spark: ["2L1"], + stringshot: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + visegrip: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + xscissor: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 7, level: 35, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + crabrawler: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + crabhammer: ["2L1"], + dig: ["2L1"], + dizzypunch: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + visegrip: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + crabominable: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + dig: ["2L1"], + dizzypunch: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + hardpress: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icehammer: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + oricorio: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + defog: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + icywind: ["2L1"], + mirrormove: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + quiverdance: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revelationdance: ["2L1"], + reversal: ["2L1"], + roleplay: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + cutiefly: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bestow: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + lastresort: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + moonblast: ["2L1"], + playrough: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + powder: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + stickyweb: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + wonderroom: ["2L1"], + }, + }, + ribombee: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + agility: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + faketears: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + lastresort: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + naturepower: ["2L1"], + playrough: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + storedpower: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + wonderroom: ["2L1"], + }, + }, + ribombeetotem: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + frustration: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + infestation: ["2L1"], + lastresort: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + magicroom: ["2L1"], + naturepower: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quiverdance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + rockruff: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + rockruffdusk: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + happyhour: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + lycanroc: { + learnset: { + accelerock: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + lycanrocmidnight: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + lycanrocdusk: { + learnset: { + accelerock: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + howl: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + odorsleuth: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + wishiwashi: { + learnset: { + aquaring: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + tearfullook: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + }, + }, + mareanie: { + learnset: { + acidspray: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spikecannon: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + wideguard: ["2L1"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + toxapex: { + learnset: { + acidspray: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + banefulbunker: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + crosspoison: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spikecannon: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + wideguard: ["2L1"], + }, + }, + mudbray: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + frustration: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magnitude: ["2L1"], + megakick: ["2L1"], + mudbomb: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + }, + }, + mudsdale: { + learnset: { + attract: ["2L1"], + bide: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + }, + encounters: [ + {generation: 7, level: 29}, + ], + }, + dewpider: { + learnset: { + aquaring: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mirrorcoat: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + spiderweb: ["2L1"], + spitup: ["2L1"], + stickyweb: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + }, + }, + araquanid: { + learnset: { + aquaring: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mirrorcoat: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + spiderweb: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wideguard: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + }, + }, + araquanidtotem: { + learnset: { + aquaring: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bugbite: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + doubleteam: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + lunge: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mirrorcoat: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + spiderweb: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + wideguard: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 25, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + fomantis: { + learnset: { + aromatherapy: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechlife: ["2L1"], + magicalleaf: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + }, + lurantis: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechlife: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + poisonjab: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + raindance: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + }, + lurantistotem: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafage: ["2L1"], + leafblade: ["2L1"], + leechlife: ["2L1"], + lowsweep: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + toxic: ["2L1"], + worryseed: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 30, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + morelull: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + growth: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megadrain: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + naturepower: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + spotlight: ["2L1"], + strengthsap: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + }, + }, + shiinotic: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megadrain: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + naturepower: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + spotlight: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + weatherball: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + }, + }, + salandit: { + learnset: { + acidspray: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + belch: ["2L1"], + burningjealousy: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + }, + }, + salazzle: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + agility: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + covet: ["2L1"], + crosspoison: ["2L1"], + disable: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firelash: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + encounters: [ + {generation: 7, level: 16}, + ], + }, + salazzletotem: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + disable: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + nastyplot: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 7, level: 30, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + stufful: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + frustration: ["2L1"], + hammerarm: ["2L1"], + hiddenpower: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thrash: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + bewear: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + darkestlariat: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hammerarm: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + thrash: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, gender: "F", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + bounsweet: { + learnset: { + acupressure: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + flail: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + naturepower: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + steenee: { + learnset: { + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + splash: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 20, nature: "Naive", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + tsareena: { + learnset: { + acrobatics: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + bulletseed: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + doubleslap: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + naturepower: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + punishment: ["2L1"], + rapidspin: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + splash: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + teeterdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + tropkick: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + comfey: { + learnset: { + acrobatics: ["2L1"], + afteryou: ["2L1"], + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + amnesia: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + floralhealing: ["2L1"], + flowershield: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + healbell: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + leaftornado: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + painsplit: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + playrough: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + vinewhip: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, nature: "Jolly", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + oranguru: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + covet: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + instruct: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + nastyplot: ["2L1"], + naturepower: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + passimian: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bestow: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + vitalthrow: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, isHidden: true, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + wimpod: { + learnset: { + aquajet: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bugbuzz: ["2L1"], + confide: ["2L1"], + defensecurl: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + leechlife: ["2L1"], + metalclaw: ["2L1"], + mudshot: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + wideguard: ["2L1"], + }, + }, + golisopod: { + learnset: { + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + defensecurl: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + dualchop: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firstimpression: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scald: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + xscissor: ["2L1"], + }, + }, + sandygast: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + ancientpower: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gravity: ["2L1"], + harden: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + shadowball: ["2L1"], + shoreup: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + }, + }, + palossand: { + learnset: { + absorb: ["2L1"], + afteryou: ["2L1"], + amnesia: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + harden: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + shadowball: ["2L1"], + shoreup: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + }, + }, + pyukumuku: { + learnset: { + attract: ["2L1"], + batonpass: ["2L1"], + bestow: ["2L1"], + bide: ["2L1"], + block: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + gastroacid: ["2L1"], + hail: ["2L1"], + harden: ["2L1"], + helpinghand: ["2L1"], + lightscreen: ["2L1"], + memento: ["2L1"], + mirrorcoat: ["2L1"], + mudsport: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + purify: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + soak: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + venomdrench: ["2L1"], + watersport: ["2L1"], + }, + }, + typenull: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + confide: ["2L1"], + crushclaw: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dragonclaw: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flamecharge: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + healblock: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lastresort: ["2L1"], + magiccoat: ["2L1"], + metalsound: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terrainpulse: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 40, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 60, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 50, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + silvally: { + learnset: { + aerialace: ["2L1"], + airslash: ["2L1"], + bite: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + defog: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grasspledge: ["2L1"], + hail: ["2L1"], + healblock: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + magiccoat: ["2L1"], + metalsound: ["2L1"], + multiattack: ["2L1"], + outrage: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terrainpulse: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 100, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + minior: { + learnset: { + acrobatics: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + cosmicpower: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + meteorbeam: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scorchingsands: ["2L1"], + selfdestruct: ["2L1"], + shellsmash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + komala: { + learnset: { + acrobatics: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icespinner: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metalclaw: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sing: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + wish: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + turtonator: { + learnset: { + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + curse: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flail: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headsmash: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lashout: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scorchingsands: ["2L1"], + shellsmash: ["2L1"], + shelltrap: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smog: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + wideguard: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 30, gender: "M", nature: "Brave", moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + togedemaru: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fellstinger: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + magnetrise: ["2L1"], + nuzzle: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + spikyshield: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + twineedle: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + zingzap: ["2L1"], + }, + }, + togedemarutotem: { + learnset: { + afteryou: ["2L1"], + attract: ["2L1"], + bounce: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + defensecurl: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + electricterrain: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + magnetrise: ["2L1"], + nuzzle: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + spikyshield: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + zingzap: ["2L1"], + }, + eventData: [ + {generation: 7, level: 30, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + mimikyu: { + learnset: { + afteryou: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + beatup: ["2L1"], + bulkup: ["2L1"], + burningjealousy: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + lastresort: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + magicroom: ["2L1"], + mimic: ["2L1"], + mistyterrain: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + playrough: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 10, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 10, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 50, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 9, level: 25, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + mimikyutotem: { + learnset: { + afteryou: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + bulkup: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + lastresort: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + magicroom: ["2L1"], + mimic: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 40, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + bruxish: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + crunch: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + rage: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synchronoise: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + }, + }, + drampa: { + learnset: { + amnesia: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + grassknot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lashout: ["2L1"], + lightscreen: ["2L1"], + mist: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaleshot: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 1, shiny: 1, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + dhelmise: { + learnset: { + absorb: ["2L1"], + aerialace: ["2L1"], + allyswitch: ["2L1"], + anchorshot: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + growth: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + megadrain: ["2L1"], + metalsound: ["2L1"], + muddywater: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + }, + }, + jangmoo: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + hakamoo: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bide: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + kommoo: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + autotomize: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + clangingscales: ["2L1"], + clangoroussoul: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + encounters: [ + {generation: 7, level: 41}, + ], + }, + kommoototem: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + autotomize: ["2L1"], + bellydrum: ["2L1"], + bide: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + clangingscales: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + skyuppercut: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + tapukoko: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + charge: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + falseswipe: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + meanlook: ["2L1"], + mirrormove: ["2L1"], + naturepower: ["2L1"], + naturesmadness: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + shockwave: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + steelwing: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + withdraw: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, nature: "Timid", moves: ["2L1"], pokeball: "cherishball"}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + tapulele: { + learnset: { + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + astonish: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + moonblast: ["2L1"], + naturepower: ["2L1"], + naturesmadness: ["2L1"], + playrough: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + withdraw: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + tapubulu: { + learnset: { + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + darkestlariat: ["2L1"], + dazzlinggleam: ["2L1"], + disable: ["2L1"], + dualchop: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + guardswap: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + leafage: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + megahorn: ["2L1"], + megapunch: ["2L1"], + naturepower: ["2L1"], + naturesmadness: ["2L1"], + payback: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + whirlwind: ["2L1"], + withdraw: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + tapufini: { + learnset: { + aquaring: ["2L1"], + blizzard: ["2L1"], + brine: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + haze: ["2L1"], + healpulse: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + mist: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + muddywater: ["2L1"], + naturepower: ["2L1"], + naturesmadness: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + withdraw: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + cosmog: { + learnset: { + splash: ["2L1"], + teleport: ["2L1"], + }, + eventData: [ + {generation: 7, level: 5, moves: ["2L1"]}, + {generation: 8, level: 5, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + cosmoem: { + learnset: { + cosmicpower: ["2L1"], + teleport: ["2L1"], + }, + }, + solgaleo: { + learnset: { + agility: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cosmicpower: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + morningsun: ["2L1"], + mysticalfire: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sunsteelstrike: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + wakeupslap: ["2L1"], + wideguard: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 55, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + }, + lunala: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + blizzard: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + meteorbeam: ["2L1"], + moonblast: ["2L1"], + moongeistbeam: ["2L1"], + moonlight: ["2L1"], + nightdaze: ["2L1"], + nightshade: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + telekinesis: ["2L1"], + teleport: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wideguard: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 55, moves: ["2L1"]}, + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + }, + nihilego: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + allyswitch: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + chargebeam: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + corrosivegas: ["2L1"], + crosspoison: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grassknot: ["2L1"], + guardsplit: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + mirrorcoat: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + pound: ["2L1"], + powergem: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trickroom: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 55, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + buzzwole: { + learnset: { + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + darkestlariat: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + dualwingbeat: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + leechlife: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + megapunch: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + vitalthrow: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 65, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + pheromosa: { + learnset: { + agility: ["2L1"], + assurance: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + echoedvoice: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hiddenpower: ["2L1"], + highjumpkick: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + jumpkick: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + mefirst: ["2L1"], + outrage: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + quiverdance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + tripleaxel: ["2L1"], + triplekick: ["2L1"], + uturn: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + xurkitree: { + learnset: { + bind: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + ingrain: ["2L1"], + iondeluge: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magnetrise: ["2L1"], + naturepower: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tailglow: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + wrap: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 7, level: 65, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + celesteela: { + learnset: { + absorb: ["2L1"], + acrobatics: ["2L1"], + airslash: ["2L1"], + autotomize: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leechseed: ["2L1"], + magnetrise: ["2L1"], + megadrain: ["2L1"], + megahorn: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 65, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + kartana: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + defog: ["2L1"], + detect: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + falseswipe: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + hiddenpower: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + leafblade: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tailwind: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + guzzlord: { + learnset: { + amnesia: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + corrosivegas: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hammerarm: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lastresort: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + steamroller: ["2L1"], + steelroller: ["2L1"], + stockpile: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swallow: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + toxic: ["2L1"], + wideguard: ["2L1"], + wringout: ["2L1"], + }, + eventData: [ + {generation: 7, level: 70, moves: ["2L1"]}, + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + necrozma: { + learnset: { + aerialace: ["2L1"], + allyswitch: ["2L1"], + autotomize: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + cosmicpower: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magnetrise: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + mirrorshot: ["2L1"], + moonlight: ["2L1"], + morningsun: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + photongeyser: ["2L1"], + powergem: ["2L1"], + prismaticlaser: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychocut: ["2L1"], + psyshock: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + wringout: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 75, moves: ["2L1"]}, + {generation: 7, level: 65, moves: ["2L1"]}, + {generation: 7, level: 75, shiny: true, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + necrozmaduskmane: { + learnset: { + sunsteelstrike: ["2L1"], + }, + eventOnly: false, + }, + necrozmadawnwings: { + learnset: { + moongeistbeam: ["2L1"], + }, + eventOnly: false, + }, + necrozmaultra: { + learnset: { + moongeistbeam: ["2L1"], + sunsteelstrike: ["2L1"], + }, + }, + magearna: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + aurasphere: ["2L1"], + aurorabeam: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + craftyshield: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + fleurcannon: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gearup: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + healbell: ["2L1"], + heartswap: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + luckychant: ["2L1"], + magneticflux: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + mindreader: ["2L1"], + mirrorshot: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + painsplit: ["2L1"], + playrough: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shiftgear: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + sonicboom: ["2L1"], + speedswap: ["2L1"], + spikes: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + synchronoise: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + trumpcard: ["2L1"], + voltswitch: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + magearnaoriginal: { + learnset: { + agility: ["2L1"], + aurasphere: ["2L1"], + aurorabeam: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confuseray: ["2L1"], + craftyshield: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + eerieimpulse: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flashcannon: ["2L1"], + fleurcannon: ["2L1"], + focusblast: ["2L1"], + gearup: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + magneticflux: ["2L1"], + metalsound: ["2L1"], + mindreader: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + painsplit: ["2L1"], + playrough: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shiftgear: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + speedswap: ["2L1"], + spikes: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + voltswitch: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, nature: "Mild", ivs: {hp: 31, atk: 30, def: 30, spa: 31, spd: 31, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + marshadow: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + aurasphere: ["2L1"], + blazekick: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + jumpkick: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lastresort: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rollingkick: ["2L1"], + round: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowpunch: ["2L1"], + shadowsneak: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spectralthief: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 60, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + poipole: { + learnset: { + acid: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + covet: ["2L1"], + dragonpulse: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gastroacid: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + irontail: ["2L1"], + nastyplot: ["2L1"], + peck: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + eventData: [ + {generation: 7, level: 40, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 7, level: 40, shiny: true, nature: "Modest", perfectIVs: 3, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 20, moves: ["2L1"], pokeball: "beastball"}, + ], + eventOnly: false, + }, + naganadel: { + learnset: { + acid: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + breakingswipe: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + peck: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + shadowclaw: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + }, + stakataka: { + learnset: { + allyswitch: ["2L1"], + autotomize: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + magnetrise: ["2L1"], + megakick: ["2L1"], + meteorbeam: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + telekinesis: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + wideguard: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + blacephalon: { + learnset: { + afteryou: ["2L1"], + astonish: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + incinerate: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + mindblown: ["2L1"], + mysticalfire: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + quash: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + round: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 7, level: 60, shiny: 1, moves: ["2L1"]}, + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + zeraora: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + aurasphere: ["2L1"], + blazekick: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + charge: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualchop: ["2L1"], + echoedvoice: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + outrage: ["2L1"], + payday: ["2L1"], + plasmafists: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shockwave: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + {generation: 8, level: 100, shiny: true, nature: "Hasty", ivs: {hp: 31, atk: 31, def: 30, spa: 31, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + meltan: { + learnset: { + acidarmor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + irondefense: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + tailwhip: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + }, + }, + melmetal: { + learnset: { + acidarmor: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + darkestlariat: ["2L1"], + discharge: ["2L1"], + doubleironbash: ["2L1"], + dynamicpunch: ["2L1"], + earthquake: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + }, + eventData: [ + {generation: 8, level: 100, nature: "Brave", ivs: {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 0}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + grookey: { + learnset: { + acrobatics: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + branchpoke: ["2L1"], + bulletseed: ["2L1"], + drainpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + growth: ["2L1"], + hammerarm: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + naturepower: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + }, + thwackey: { + learnset: { + acrobatics: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + branchpoke: ["2L1"], + bulletseed: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + drainpunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + }, + }, + rillaboom: { + learnset: { + acrobatics: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + branchpoke: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + darkestlariat: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + drainpunch: ["2L1"], + drumbeating: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frenzyplant: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growl: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudshot: ["2L1"], + nobleroar: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + woodhammer: ["2L1"], + workup: ["2L1"], + }, + }, + scorbunny: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blazekick: ["2L1"], + bounce: ["2L1"], + burningjealousy: ["2L1"], + counter: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + electroball: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + focusenergy: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + highjumpkick: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + raboot: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blazekick: ["2L1"], + bounce: ["2L1"], + bulkup: ["2L1"], + burningjealousy: ["2L1"], + counter: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + electroball: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + focusenergy: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + weatherball: ["2L1"], + workup: ["2L1"], + }, + }, + cinderace: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + blastburn: ["2L1"], + blazekick: ["2L1"], + bounce: ["2L1"], + bulkup: ["2L1"], + burningjealousy: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + courtchange: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + electroball: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + pyroball: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + scorchingsands: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + weatherball: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + sobble: { + learnset: { + aquajet: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + bounce: ["2L1"], + chillingwater: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fellstinger: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + hydropump: ["2L1"], + iceshard: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + mist: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + drizzile: { + learnset: { + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + bounce: ["2L1"], + chillingwater: ["2L1"], + dive: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + hydropump: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + inteleon: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bind: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + breakingswipe: ["2L1"], + chillingwater: ["2L1"], + darkpulse: ["2L1"], + dive: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + shadowball: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snipeshot: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + uturn: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + skwovet: { + learnset: { + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulletseed: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + gyroball: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + lastresort: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stuffcheeks: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + }, + }, + greedent: { + learnset: { + amnesia: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + counter: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stompingtantrum: ["2L1"], + stuffcheeks: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + wildcharge: ["2L1"], + }, + }, + rookidee: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + defog: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + furyattack: ["2L1"], + honeclaws: ["2L1"], + leer: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + corvisquire: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bravebird: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + furyattack: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + leer: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + corviknight: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + bulkup: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + }, + }, + blipbug: { + learnset: { + infestation: ["2L1"], + recover: ["2L1"], + stickyweb: ["2L1"], + strugglebug: ["2L1"], + supersonic: ["2L1"], + }, + }, + dottler: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confusion: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + guardswap: ["2L1"], + helpinghand: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + magicroom: ["2L1"], + payback: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + orbeetle: { + learnset: { + afteryou: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodypress: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypnosis: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + mirrorcoat: ["2L1"], + payback: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + nickit: { + learnset: { + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + foulplay: ["2L1"], + honeclaws: ["2L1"], + howl: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + }, + }, + thievul: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + burningjealousy: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firefang: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + lashout: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + partingshot: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + uturn: ["2L1"], + }, + }, + gossifleur: { + learnset: { + aromatherapy: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + sing: ["2L1"], + sleeppowder: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + synthesis: ["2L1"], + worryseed: ["2L1"], + }, + }, + eldegoss: { + learnset: { + aromatherapy: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + cottonguard: ["2L1"], + cottonspore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leaftornado: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + synthesis: ["2L1"], + weatherball: ["2L1"], + }, + }, + wooloo: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + copycat: ["2L1"], + cottonguard: ["2L1"], + counter: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + grassyglide: ["2L1"], + growl: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thunderwave: ["2L1"], + wildcharge: ["2L1"], + }, + }, + dubwool: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + copycat: ["2L1"], + cottonguard: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + grassyglide: ["2L1"], + growl: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + headbutt: ["2L1"], + hyperbeam: ["2L1"], + lastresort: ["2L1"], + megakick: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + thunderwave: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + chewtle: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + chillingwater: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + gastroacid: ["2L1"], + headbutt: ["2L1"], + hydropump: ["2L1"], + icefang: ["2L1"], + jawlock: ["2L1"], + liquidation: ["2L1"], + mudshot: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + shellsmash: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + drednaw: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + highhorsepower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icespinner: ["2L1"], + irondefense: ["2L1"], + irontail: ["2L1"], + jawlock: ["2L1"], + liquidation: ["2L1"], + megahorn: ["2L1"], + meteorbeam: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + yamper: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + charge: ["2L1"], + charm: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flamecharge: ["2L1"], + helpinghand: ["2L1"], + howl: ["2L1"], + nuzzle: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + boltund: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bulkup: ["2L1"], + charge: ["2L1"], + charm: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electrify: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + nuzzle: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + rolycoly: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + gyroball: ["2L1"], + heatcrash: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + willowisp: ["2L1"], + }, + }, + carkol: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + burnup: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + gyroball: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + overheat: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + scorchingsands: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + willowisp: ["2L1"], + }, + }, + coalossal: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + burnup: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + mudslap: ["2L1"], + overheat: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scald: ["2L1"], + scorchingsands: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + tarshot: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + willowisp: ["2L1"], + }, + }, + applin: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + defensecurl: ["2L1"], + dracometeor: ["2L1"], + grassyglide: ["2L1"], + pounce: ["2L1"], + recycle: ["2L1"], + rollout: ["2L1"], + suckerpunch: ["2L1"], + terablast: ["2L1"], + withdraw: ["2L1"], + }, + }, + flapple: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + airslash: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bulletseed: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravapple: ["2L1"], + growth: ["2L1"], + heavyslam: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + outrage: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + wingattack: ["2L1"], + withdraw: ["2L1"], + }, + }, + appletun: { + learnset: { + amnesia: ["2L1"], + appleacid: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + curse: ["2L1"], + dracometeor: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + sweetscent: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + withdraw: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + silicobra: { + learnset: { + attract: ["2L1"], + belch: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + coil: ["2L1"], + dig: ["2L1"], + dragonrush: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + glare: ["2L1"], + headbutt: ["2L1"], + lastresort: ["2L1"], + minimize: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + wrap: ["2L1"], + }, + }, + sandaconda: { + learnset: { + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + coil: ["2L1"], + dig: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + headbutt: ["2L1"], + highhorsepower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + minimize: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + skittersmack: ["2L1"], + skullbash: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + wrap: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + cramorant: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + amnesia: ["2L1"], + aquacutter: ["2L1"], + aquaring: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + blizzard: ["2L1"], + bravebird: ["2L1"], + chillingwater: ["2L1"], + defog: ["2L1"], + dive: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + steelwing: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swallow: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + uproar: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + }, + arrokuda: { + learnset: { + acupressure: ["2L1"], + agility: ["2L1"], + aquajet: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + drillrun: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + furyattack: ["2L1"], + hydropump: ["2L1"], + icefang: ["2L1"], + laserfocus: ["2L1"], + liquidation: ["2L1"], + nightslash: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + barraskewda: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + drillrun: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + laserfocus: ["2L1"], + liquidation: ["2L1"], + peck: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + toxel: { + learnset: { + acid: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + charm: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + growl: ["2L1"], + metalsound: ["2L1"], + nuzzle: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + }, + eventData: [ + {generation: 8, level: 1, isHidden: true, moves: ["2L1"], pokeball: "luxuryball"}, + ], + }, + toxtricity: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + boomburst: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + discharge: ["2L1"], + drainpunch: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + leer: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + nobleroar: ["2L1"], + nuzzle: ["2L1"], + overdrive: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psychicnoise: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shiftgear: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, shiny: true, nature: "Rash", abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + toxtricitylowkey: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + attract: ["2L1"], + belch: ["2L1"], + boomburst: ["2L1"], + brickbreak: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + discharge: ["2L1"], + drainpunch: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + leer: ["2L1"], + magneticflux: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + nobleroar: ["2L1"], + nuzzle: ["2L1"], + overdrive: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psychicnoise: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + sizzlipede: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + burnup: ["2L1"], + coil: ["2L1"], + crunch: ["2L1"], + defensecurl: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firelash: ["2L1"], + firespin: ["2L1"], + flamewheel: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scorchingsands: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + venoshock: ["2L1"], + wrap: ["2L1"], + }, + }, + centiskorch: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + burnup: ["2L1"], + coil: ["2L1"], + crunch: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firelash: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + gigaimpact: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + hyperbeam: ["2L1"], + inferno: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + mysticalfire: ["2L1"], + overheat: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scorchingsands: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + thunderfang: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + wrap: ["2L1"], + xscissor: ["2L1"], + }, + }, + clobbopus: { + learnset: { + attract: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulkup: ["2L1"], + circlethrow: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + detect: ["2L1"], + dive: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + focusblast: ["2L1"], + icepunch: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + megapunch: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + seismictoss: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + soak: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + superpower: ["2L1"], + taunt: ["2L1"], + waterfall: ["2L1"], + workup: ["2L1"], + }, + }, + grapploct: { + learnset: { + attract: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + focusblast: ["2L1"], + gigaimpact: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + megapunch: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + octazooka: ["2L1"], + octolock: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + taunt: ["2L1"], + topsyturvy: ["2L1"], + waterfall: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + sinistea: { + learnset: { + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + astonish: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + hex: ["2L1"], + imprison: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + shadowball: ["2L1"], + shellsmash: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sweetscent: ["2L1"], + terablast: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + withdraw: ["2L1"], + wonderroom: ["2L1"], + }, + }, + sinisteaantique: { + learnset: { + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + astonish: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + celebrate: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + hex: ["2L1"], + imprison: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + rest: ["2L1"], + shadowball: ["2L1"], + shellsmash: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sweetscent: ["2L1"], + terablast: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + withdraw: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + polteageist: { + learnset: { + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + astonish: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shellsmash: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sweetscent: ["2L1"], + teatime: ["2L1"], + terablast: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + willowisp: ["2L1"], + withdraw: ["2L1"], + wonderroom: ["2L1"], + }, + }, + hatenna: { + learnset: { + afteryou: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confusion: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + imprison: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + mysticalfire: ["2L1"], + nuzzle: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quash: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + }, + }, + hattrem: { + learnset: { + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confusion: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + imprison: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + mysticalfire: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + }, + }, + hatterene: { + learnset: { + agility: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + brutalswing: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + confusion: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magicpowder: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + mysticalfire: ["2L1"], + painsplit: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + powerswap: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + }, + }, + impidimp: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + burningjealousy: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + nastyplot: ["2L1"], + partingshot: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + }, + }, + morgrem: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + burningjealousy: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falsesurrender: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + imprison: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + nastyplot: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + }, + }, + grimmsnarl: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + burningjealousy: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + falsesurrender: ["2L1"], + firepunch: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + hammerarm: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + nastyplot: ["2L1"], + playrough: ["2L1"], + powerswap: ["2L1"], + poweruppunch: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spiritbreak: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, nature: "Calm", shiny: true, abilities: ["2L1"], ivs: {hp: 31, atk: 0, def: 31, spa: 31, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + milcery: { + learnset: { + acidarmor: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + babydolleyes: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + dazzlinggleam: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + helpinghand: ["2L1"], + lastresort: ["2L1"], + mistyterrain: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + }, + eventData: [ + {generation: 8, level: 5, nature: "Hardy", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + alcremie: { + learnset: { + acidarmor: ["2L1"], + alluringvoice: ["2L1"], + aromatherapy: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + dazzlinggleam: ["2L1"], + decorate: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + mysticalfire: ["2L1"], + painsplit: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sweetkiss: ["2L1"], + sweetscent: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + triattack: ["2L1"], + wonderroom: ["2L1"], + }, + }, + falinks: { + learnset: { + agility: ["2L1"], + assurance: ["2L1"], + beatup: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firstimpression: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lunge: ["2L1"], + megahorn: ["2L1"], + noretreat: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + pincurchin: { + learnset: { + acupressure: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bubblebeam: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + curse: ["2L1"], + discharge: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + liquidation: ["2L1"], + memento: ["2L1"], + muddywater: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + spikes: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + supercellslam: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + watergun: ["2L1"], + wildcharge: ["2L1"], + zingzap: ["2L1"], + }, + }, + snom: { + learnset: { + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + lunge: ["2L1"], + mirrorcoat: ["2L1"], + pounce: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + }, + }, + frosmoth: { + learnset: { + acrobatics: ["2L1"], + airslash: ["2L1"], + attract: ["2L1"], + aurorabeam: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + helpinghand: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + mist: ["2L1"], + playrough: ["2L1"], + pounce: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + quiverdance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + strugglebug: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + tripleaxel: ["2L1"], + uturn: ["2L1"], + weatherball: ["2L1"], + wideguard: ["2L1"], + }, + }, + stonjourner: { + learnset: { + ancientpower: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hardpress: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + meteorbeam: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + wideguard: ["2L1"], + wonderroom: ["2L1"], + }, + }, + eiscue: { + learnset: { + agility: ["2L1"], + amnesia: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + chillingwater: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flipturn: ["2L1"], + freezedry: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + liquidation: ["2L1"], + mist: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + soak: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + indeedee: { + learnset: { + afteryou: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + futuresight: ["2L1"], + gravity: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + lastresort: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mysticalfire: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + powersplit: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + indeedeef: { + learnset: { + alluringvoice: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + followme: ["2L1"], + futuresight: ["2L1"], + guardsplit: ["2L1"], + guardswap: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + metronome: ["2L1"], + mysticalfire: ["2L1"], + payday: ["2L1"], + playnice: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 75, shiny: 1, perfectIVs: 4, moves: ["2L1"]}, + ], + }, + morpeko: { + learnset: { + agility: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurawheel: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + firefang: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + icefang: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quash: ["2L1"], + quickattack: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spark: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + cufant: { + learnset: { + attract: ["2L1"], + belch: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + growl: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + playrough: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + screech: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + copperajah: { + learnset: { + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hardpress: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + superpower: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + dracozolt: { + learnset: { + aerialace: ["2L1"], + ancientpower: ["2L1"], + bodyslam: ["2L1"], + boltbeak: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + discharge: ["2L1"], + dracometeor: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + gigaimpact: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irontail: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + outrage: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + arctozolt: { + learnset: { + ancientpower: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boltbeak: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + discharge: ["2L1"], + echoedvoice: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + freezedry: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + meteorbeam: ["2L1"], + payback: ["2L1"], + pluck: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + taunt: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + dracovish: { + learnset: { + ancientpower: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fishiousrend: ["2L1"], + gigaimpact: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + ironhead: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + megakick: ["2L1"], + meteorbeam: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 8, level: 80, nature: "Naive", abilities: ["2L1"], ivs: {hp: 30, atk: 31, def: 31, spa: 30, spd: 30, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + arctovish: { + learnset: { + ancientpower: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fishiousrend: ["2L1"], + freezedry: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + liquidation: ["2L1"], + meteorbeam: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + superfang: ["2L1"], + surf: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 10, shiny: 1, perfectIVs: 3, moves: ["2L1"], pokeball: "pokeball"}, + ], + eventOnly: false, + }, + duraludon: { + learnset: { + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + laserfocus: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + mirrorcoat: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + }, + }, + dreepy: { + learnset: { + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + grudge: ["2L1"], + helpinghand: ["2L1"], + infestation: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + }, + }, + drakloak: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + breakingswipe: ["2L1"], + brine: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + infestation: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + nightshade: ["2L1"], + outrage: ["2L1"], + phantomforce: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + }, + }, + dragapult: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brine: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragondarts: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + nightshade: ["2L1"], + outrage: ["2L1"], + phantomforce: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + triattack: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, gender: "M", nature: "Jolly", perfectIVs: 6, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + zacian: { + learnset: { + agility: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firefang: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + metalclaw: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + nobleroar: ["2L1"], + playrough: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + psychocut: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + sacredsword: ["2L1"], + scaryface: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarblade: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, perfectIVs: 3, moves: ["2L1"]}, + {generation: 8, level: 100, shiny: true, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 30, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + zaciancrowned: { + learnset: { + behemothblade: ["2L1"], + }, + eventOnly: false, + }, + zamazenta: { + learnset: { + agility: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + crunch: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + moonblast: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tailslap: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + wideguard: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, perfectIVs: 3, moves: ["2L1"]}, + {generation: 8, level: 100, shiny: true, nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 30, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + zamazentacrowned: { + learnset: { + behemothbash: ["2L1"], + }, + eventOnly: false, + }, + eternatus: { + learnset: { + agility: ["2L1"], + assurance: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + confuseray: ["2L1"], + cosmicpower: ["2L1"], + crosspoison: ["2L1"], + dracometeor: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dynamaxcannon: ["2L1"], + endure: ["2L1"], + eternabeam: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gunkshot: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + meteorbeam: ["2L1"], + mysticalfire: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + }, + eventData: [ + {generation: 8, level: 60, perfectIVs: 3, moves: ["2L1"]}, + {generation: 8, level: 100, shiny: true, nature: "Timid", perfectIVs: 6, moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + kubfu: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 10, perfectIVs: 3, moves: ["2L1"]}, + ], + eventOnly: false, + }, + urshifu: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + beatup: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + payback: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + superpower: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + wickedblow: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + urshifurapidstrike: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulkup: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + dynamicpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surgingstrikes: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + zarude: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulletseed: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hammerarm: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + junglehealing: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vinewhip: ["2L1"], + }, + eventData: [ + {generation: 8, level: 60, nature: "Sassy", moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + zarudedada: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + assurance: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulletseed: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + furyswipes: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hammerarm: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + junglehealing: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + petalblizzard: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vinewhip: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, nature: "Adamant", moves: ["2L1"], pokeball: "cherishball"}, + ], + eventOnly: false, + }, + regieleki: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + ancientpower: ["2L1"], + assurance: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + magnetrise: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundercage: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + regidrago: { + learnset: { + ancientpower: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + crunch: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonenergy: ["2L1"], + dragonpulse: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + hammerarm: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + laserfocus: ["2L1"], + lightscreen: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunderfang: ["2L1"], + twister: ["2L1"], + visegrip: ["2L1"], + }, + eventData: [ + {generation: 8, level: 70, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + glastrier: { + learnset: { + assurance: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + lashout: ["2L1"], + megahorn: ["2L1"], + mist: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 75, moves: ["2L1"]}, + ], + eventOnly: false, + }, + spectrier: { + learnset: { + agility: ["2L1"], + assurance: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + lashout: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 8, level: 75, moves: ["2L1"]}, + ], + eventOnly: false, + }, + calyrex: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + batonpass: ["2L1"], + bodypress: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + confusion: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + growth: ["2L1"], + guardswap: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + megadrain: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + payday: ["2L1"], + pollenpuff: ["2L1"], + pound: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + speedswap: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 80, moves: ["2L1"]}, + ], + eventOnly: false, + }, + calyrexice: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + assurance: ["2L1"], + avalanche: ["2L1"], + batonpass: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confusion: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + glaciallance: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + growth: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + megadrain: ["2L1"], + megahorn: ["2L1"], + metronome: ["2L1"], + mist: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + pollenpuff: ["2L1"], + pound: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + speedswap: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + torment: ["2L1"], + trailblaze: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 80, moves: ["2L1"]}, + ], + eventOnly: false, + }, + calyrexshadow: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + aromatherapy: ["2L1"], + assurance: ["2L1"], + astralbarrage: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + growth: ["2L1"], + guardswap: ["2L1"], + haze: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + megadrain: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + phantomforce: ["2L1"], + pollenpuff: ["2L1"], + pound: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + speedswap: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + triattack: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 8, level: 80, moves: ["2L1"]}, + ], + eventOnly: false, + }, + enamorus: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + astonish: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + healingwish: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + mysticalfire: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + springtidestorm: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + enamorustherian: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + astonish: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + healingwish: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + mysticalfire: ["2L1"], + outrage: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + springtidestorm: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + twister: ["2L1"], + uproar: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + sprigatito: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + bite: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + copycat: ["2L1"], + disarmingvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + petalblizzard: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + }, + }, + floragato: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + bite: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + disarmingvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + petalblizzard: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + }, + }, + meowscarada: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aurasphere: ["2L1"], + bite: ["2L1"], + brickbreak: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + darkpulse: ["2L1"], + disarmingvoice: ["2L1"], + doubleteam: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fling: ["2L1"], + flowertrick: ["2L1"], + foulplay: ["2L1"], + frenzyplant: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + nightslash: ["2L1"], + petalblizzard: ["2L1"], + playrough: ["2L1"], + pollenpuff: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + skillswap: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + tripleaxel: ["2L1"], + uturn: ["2L1"], + worryseed: ["2L1"], + }, + }, + fuecoco: { + learnset: { + belch: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + leer: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + willowisp: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + crocalor: { + learnset: { + bite: ["2L1"], + bodyslam: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + willowisp: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + skeledirge: { + learnset: { + alluringvoice: ["2L1"], + bite: ["2L1"], + blastburn: ["2L1"], + bodyslam: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + gigaimpact: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + incinerate: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + torchsong: ["2L1"], + willowisp: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + quaxly: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquacutter: ["2L1"], + aquajet: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + chillingwater: ["2L1"], + detect: ["2L1"], + disarmingvoice: ["2L1"], + doublehit: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + lastresort: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + mistyterrain: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + roost: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + }, + quaxwell: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquacutter: ["2L1"], + aquajet: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + chillingwater: ["2L1"], + disarmingvoice: ["2L1"], + doublehit: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mistyterrain: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + tripleaxel: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + }, + quaquaval: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquacutter: ["2L1"], + aquajet: ["2L1"], + aquastep: ["2L1"], + batonpass: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + counter: ["2L1"], + disarmingvoice: ["2L1"], + doublehit: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hurricane: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + megakick: ["2L1"], + mistyterrain: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + tripleaxel: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + workup: ["2L1"], + }, + }, + lechonk: { + learnset: { + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + chillingwater: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + ironhead: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + stuffcheeks: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swallow: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 15, gender: "M", isHidden: true, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + oinkologne: { + learnset: { + belch: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + chillingwater: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + oinkolognef: { + learnset: { + belch: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + chillingwater: ["2L1"], + covet: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + tarountula: { + learnset: { + assurance: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulletseed: ["2L1"], + circlethrow: ["2L1"], + counter: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + firstimpression: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + memento: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + spikes: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + xscissor: ["2L1"], + }, + }, + spidops: { + learnset: { + aerialace: ["2L1"], + assurance: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulletseed: ["2L1"], + circlethrow: ["2L1"], + counter: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + gastroacid: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + headbutt: ["2L1"], + knockoff: ["2L1"], + leechlife: ["2L1"], + lowkick: ["2L1"], + lunge: ["2L1"], + painsplit: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + silktrap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + spikes: ["2L1"], + stickyweb: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + xscissor: ["2L1"], + }, + }, + nymble: { + learnset: { + agility: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + counter: ["2L1"], + doublekick: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + firstimpression: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + screech: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + xscissor: ["2L1"], + }, + }, + lokix: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + axekick: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + darkpulse: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + firstimpression: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + spite: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + xscissor: ["2L1"], + }, + }, + rellor: { + learnset: { + bugbite: ["2L1"], + bugbuzz: ["2L1"], + cosmicpower: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + gunkshot: ["2L1"], + irondefense: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + memento: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + sandattack: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + weatherball: ["2L1"], + xscissor: ["2L1"], + }, + }, + rabsca: { + learnset: { + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + earthpower: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardswap: ["2L1"], + gunkshot: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leechlife: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + poltergeist: ["2L1"], + pounce: ["2L1"], + powergem: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + revivalblessing: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + safeguard: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + speedswap: ["2L1"], + storedpower: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + greavard: { + learnset: { + allyswitch: ["2L1"], + bite: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + destinybond: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + howl: ["2L1"], + icefang: ["2L1"], + lick: ["2L1"], + memento: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + playrough: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + yawn: ["2L1"], + }, + }, + houndstone: { + learnset: { + bite: ["2L1"], + bodypress: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + lastrespects: ["2L1"], + lick: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + playrough: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + willowisp: ["2L1"], + }, + }, + flittle: { + learnset: { + agility: ["2L1"], + allyswitch: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + disarmingvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hypnosis: ["2L1"], + lightscreen: ["2L1"], + mudslap: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roost: ["2L1"], + sandstorm: ["2L1"], + seedbomb: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + espathra: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + drillpeck: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + lastresort: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + luminacrash: ["2L1"], + mudslap: ["2L1"], + nightshade: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + sandstorm: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + farigiraf: { + learnset: { + agility: ["2L1"], + amnesia: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + batonpass: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + twinbeam: ["2L1"], + uproar: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + wiglett: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + blizzard: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + dig: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + foulplay: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + liquidation: ["2L1"], + memento: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + }, + }, + wugtrio: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + blizzard: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + dig: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + liquidation: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + painsplit: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + tripledive: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + }, + }, + dondozo: { + learnset: { + aquatail: ["2L1"], + avalanche: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + liquidation: ["2L1"], + nobleroar: ["2L1"], + orderup: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + soak: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + tickle: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + yawn: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + veluza: { + learnset: { + agility: ["2L1"], + aquacutter: ["2L1"], + aquajet: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + drillrun: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + filletaway: ["2L1"], + finalgambit: ["2L1"], + flipturn: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + nightslash: ["2L1"], + painsplit: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + scaleshot: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + finizen: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + astonish: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + bounce: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + counter: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doublehit: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + liquidation: ["2L1"], + mist: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + palafin: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + aquajet: ["2L1"], + aquatail: ["2L1"], + astonish: ["2L1"], + aurasphere: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + bulkup: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + disarmingvoice: ["2L1"], + dive: ["2L1"], + doublehit: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + hardpress: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + jetpunch: ["2L1"], + liquidation: ["2L1"], + mist: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, gender: "F", nature: "Adamant", ivs: {hp: 31, atk: 31, def: 31, spa: 17, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + smoliv: { + learnset: { + absorb: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + }, + }, + dolliv: { + learnset: { + absorb: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + }, + }, + arboliva: { + learnset: { + absorb: ["2L1"], + alluringvoice: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + dazzlinggleam: ["2L1"], + earthpower: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + metronome: ["2L1"], + mirrorcoat: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + razorleaf: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + safeguard: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + trailblaze: ["2L1"], + weatherball: ["2L1"], + }, + }, + capsakid: { + learnset: { + bite: ["2L1"], + bulletseed: ["2L1"], + crunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + ingrain: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + magicalleaf: ["2L1"], + protect: ["2L1"], + ragepowder: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + sandstorm: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + scovillain: { + learnset: { + bite: ["2L1"], + bulletseed: ["2L1"], + burningjealousy: ["2L1"], + crunch: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + lashout: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + magicalleaf: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spicyextract: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + tadbulb: { + learnset: { + acidspray: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confuseray: ["2L1"], + discharge: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + flail: ["2L1"], + hypervoice: ["2L1"], + lightscreen: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + paraboliccharge: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + soak: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + voltswitch: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + bellibolt: { + learnset: { + acidspray: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confuseray: ["2L1"], + discharge: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + flail: ["2L1"], + gigaimpact: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + lightscreen: ["2L1"], + muddywater: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + supercellslam: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + varoom: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lick: ["2L1"], + metalsound: ["2L1"], + partingshot: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + spinout: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + revavroom: { + learnset: { + acidspray: ["2L1"], + assurance: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + haze: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lashout: ["2L1"], + lick: ["2L1"], + magnetrise: ["2L1"], + metalsound: ["2L1"], + overheat: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shiftgear: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + spinout: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uproar: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, gender: "F", nature: "Naughty", abilities: ["2L1"], ivs: {hp: 20, atk: 31, def: 20, spa: 20, spd: 20, spe: 20}, moves: ["2L1"], pokeball: "healball"}, + ], + }, + orthworm: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + coil: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + metalburst: ["2L1"], + metalsound: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + shedtail: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + wrap: ["2L1"], + }, + eventData: [ + {generation: 9, level: 29, gender: "M", nature: "Quirky", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"]}, + ], + }, + tandemaus: { + learnset: { + aerialace: ["2L1"], + afteryou: ["2L1"], + agility: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bite: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + copycat: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + populationbomb: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swift: ["2L1"], + switcheroo: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + tickle: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + }, + }, + maushold: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + copycat: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + echoedvoice: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + followme: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + populationbomb: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + tidyup: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + }, + }, + cetoddle: { + learnset: { + amnesia: ["2L1"], + avalanche: ["2L1"], + bellydrum: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + growl: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + playrough: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + waterpulse: ["2L1"], + yawn: ["2L1"], + }, + }, + cetitan: { + learnset: { + amnesia: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + liquidation: ["2L1"], + playrough: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + waterpulse: ["2L1"], + }, + eventData: [ + {generation: 9, moves: ["2L1"]}, + ], + }, + frigibax: { + learnset: { + aquatail: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + freezedry: ["2L1"], + helpinghand: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + leer: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + }, + }, + arctibax: { + learnset: { + aerialace: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + focusenergy: ["2L1"], + helpinghand: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + }, + }, + baxcalibur: { + learnset: { + aerialace: ["2L1"], + avalanche: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + glaiverush: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + tatsugiri: { + learnset: { + batonpass: ["2L1"], + chillingwater: ["2L1"], + counter: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + lunge: ["2L1"], + memento: ["2L1"], + mirrorcoat: ["2L1"], + muddywater: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + soak: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 9, level: 57, gender: "M", nature: "Quiet", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"]}, + ], + }, + tatsugiristretchy: { + learnset: { + celebrate: ["2L1"], + dracometeor: ["2L1"], + helpinghand: ["2L1"], + muddywater: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + cyclizar: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aquatail: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icespinner: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + scaleshot: ["2L1"], + shedtail: ["2L1"], + shiftgear: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + }, + }, + pawmi: { + learnset: { + agility: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + celebrate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + fling: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + machpunch: ["2L1"], + metalclaw: ["2L1"], + nuzzle: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scratch: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + sweetkiss: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 9, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + pawmo: { + learnset: { + agility: ["2L1"], + armthrust: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + coaching: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metalclaw: ["2L1"], + nuzzle: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scratch: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + upperhand: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + pawmot: { + learnset: { + agility: ["2L1"], + armthrust: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + doubleshock: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + nuzzle: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + revivalblessing: ["2L1"], + rocktomb: ["2L1"], + scratch: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + superfang: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + upperhand: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + }, + wattrel: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + bravebird: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + discharge: ["2L1"], + dualwingbeat: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + growl: ["2L1"], + hurricane: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + roost: ["2L1"], + sleeptalk: ["2L1"], + spark: ["2L1"], + spitup: ["2L1"], + stockpile: ["2L1"], + substitute: ["2L1"], + swallow: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + }, + }, + kilowattrel: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + bravebird: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + discharge: ["2L1"], + dualwingbeat: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + roost: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + }, + }, + bombirdier: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + bravebird: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + drillrun: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + powergem: ["2L1"], + powertrip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 9, level: 20, gender: "F", nature: "Jolly", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, isHidden: true, moves: ["2L1"]}, + ], + }, + squawkabilly: { + learnset: { + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + bravebird: ["2L1"], + copycat: ["2L1"], + doubleedge: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + featherdance: ["2L1"], + finalgambit: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + foulplay: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + lashout: ["2L1"], + mimic: ["2L1"], + partingshot: ["2L1"], + peck: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + }, + }, + flamigo: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + bravebird: ["2L1"], + bulkup: ["2L1"], + chillingwater: ["2L1"], + closecombat: ["2L1"], + copycat: ["2L1"], + detect: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feint: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + megakick: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roost: ["2L1"], + skyattack: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + upperhand: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + wideguard: ["2L1"], + wingattack: ["2L1"], + }, + }, + klawf: { + learnset: { + ancientpower: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + crabhammer: ["2L1"], + dig: ["2L1"], + earthpower: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flail: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + harden: ["2L1"], + helpinghand: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + visegrip: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 9, level: 16, gender: "F", nature: "Gentle", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, abilities: ["2L1"], moves: ["2L1"]}, + ], + }, + nacli: { + learnset: { + ancientpower: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flashcannon: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + sandstorm: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + naclstack: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + harden: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + saltcure: ["2L1"], + sandstorm: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + garganacl: { + learnset: { + avalanche: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + firepunch: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + hammerarm: ["2L1"], + harden: ["2L1"], + hardpress: ["2L1"], + headbutt: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + saltcure: ["2L1"], + sandstorm: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderpunch: ["2L1"], + wideguard: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, gender: "M", nature: "Careful", ivs: {hp: 31, atk: 31, def: 31, spa: 22, spd: 31, spe: 31}, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + glimmet: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + ancientpower: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + memento: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + }, + }, + glimmora: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + ancientpower: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + harden: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + meteorbeam: ["2L1"], + mortalspin: ["2L1"], + mudshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + selfdestruct: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spikyshield: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + venoshock: ["2L1"], + }, + }, + shroodle: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + copycat: ["2L1"], + crosspoison: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + furyswipes: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + partingshot: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scratch: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + }, + }, + grafaiai: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + batonpass: ["2L1"], + dig: ["2L1"], + doodle: ["2L1"], + doubleedge: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + shadowclaw: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + switcheroo: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + xscissor: ["2L1"], + }, + }, + fidough: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + charm: ["2L1"], + copycat: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + howl: ["2L1"], + icefang: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + mistyterrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 9, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + dachsbun: { + learnset: { + agility: ["2L1"], + alluringvoice: ["2L1"], + babydolleyes: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + charm: ["2L1"], + covet: ["2L1"], + crunch: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + drainingkiss: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + mistyterrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tackle: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + workup: ["2L1"], + }, + }, + maschiff: { + learnset: { + bite: ["2L1"], + bodyslam: ["2L1"], + charm: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firefang: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + icefang: ["2L1"], + jawlock: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + }, + }, + mabosstiff: { + learnset: { + bite: ["2L1"], + bodyslam: ["2L1"], + charm: ["2L1"], + comeuppance: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + firefang: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + helpinghand: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + jawlock: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + lick: ["2L1"], + outrage: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + }, + }, + bramblin: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + beatup: ["2L1"], + block: ["2L1"], + bulletseed: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + hex: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + megadrain: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + pounce: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + }, + }, + brambleghast: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + bulletseed: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + megadrain: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + pounce: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + trailblaze: ["2L1"], + }, + }, + gimmighoul: { + learnset: { + astonish: ["2L1"], + confuseray: ["2L1"], + endure: ["2L1"], + hex: ["2L1"], + lightscreen: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + }, + eventData: [ + {generation: 9, level: 5, moves: ["2L1"]}, + {generation: 9, level: 75, shiny: 1, perfectIVs: 4, moves: ["2L1"]}, + {generation: 9, level: 5, nature: "Timid", ivs: {hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 31}, moves: ["2L1"]}, + ], + eventOnly: false, + }, + gholdengo: { + learnset: { + astonish: ["2L1"], + chargebeam: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + electroball: ["2L1"], + endure: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + ironhead: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + makeitrain: ["2L1"], + memento: ["2L1"], + metalsound: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + poltergeist: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + sandstorm: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + steelbeam: ["2L1"], + substitute: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + }, + }, + greattusk: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + defensecurl: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + headlongrush: ["2L1"], + headsmash: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + icespinner: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + megahorn: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psyshock: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 45, nature: "Naughty", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"]}, + {generation: 9, level: 57, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + brutebonnet: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + clearsmog: ["2L1"], + closecombat: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + pollenpuff: ["2L1"], + protect: ["2L1"], + ragepowder: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spore: ["2L1"], + stompingtantrum: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + synthesis: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thrash: ["2L1"], + trailblaze: ["2L1"], + venoshock: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + sandyshocks: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + discharge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + lightscreen: ["2L1"], + magneticflux: ["2L1"], + metalsound: ["2L1"], + mirrorcoat: ["2L1"], + mudshot: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + spark: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + supersonic: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + triattack: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + screamtail: { + learnset: { + amnesia: ["2L1"], + batonpass: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + bulkup: ["2L1"], + calmmind: ["2L1"], + crunch: ["2L1"], + dazzlinggleam: ["2L1"], + dig: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gyroball: ["2L1"], + helpinghand: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + nobleroar: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sing: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + waterpulse: ["2L1"], + wish: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + fluttermane: { + learnset: { + astonish: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confuseray: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + faketears: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + magicalleaf: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + mysticalfire: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + perishsong: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psyshock: ["2L1"], + rest: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + trickroom: ["2L1"], + wish: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + slitherwing: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firstimpression: ["2L1"], + flamecharge: ["2L1"], + flareblitz: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + leechlife: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + lunge: ["2L1"], + morningsun: ["2L1"], + poisonpowder: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + sandstorm: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + roaringmoon: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + airslash: ["2L1"], + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamethrower: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + heatwave: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + jawlock: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + metalclaw: ["2L1"], + nightslash: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + roost: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + uturn: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + irontreads: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + defensecurl: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + icespinner: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + megahorn: ["2L1"], + metalsound: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderfang: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 45, nature: "Naughty", ivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}, moves: ["2L1"]}, + {generation: 9, level: 57, shiny: 1, moves: ["2L1"]}, + ], + }, + ironmoth: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + bugbuzz: ["2L1"], + chargebeam: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + electricterrain: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fierydance: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + morningsun: ["2L1"], + overheat: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + sludgewave: ["2L1"], + solarbeam: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ironhands: { + learnset: { + armthrust: ["2L1"], + bellydrum: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + closecombat: ["2L1"], + detect: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + gigaimpact: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metronome: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + sandattack: ["2L1"], + scaryface: ["2L1"], + seismictoss: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + voltswitch: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ironjugulis: { + learnset: { + acrobatics: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + bodyslam: ["2L1"], + chargebeam: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + triattack: ["2L1"], + uturn: ["2L1"], + workup: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ironthorns: { + learnset: { + bite: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lowkick: ["2L1"], + metalclaw: ["2L1"], + meteorbeam: ["2L1"], + pinmissile: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockslide: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ironbundle: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + auroraveil: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + chillingwater: ["2L1"], + drillpeck: ["2L1"], + electricterrain: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + freezedry: ["2L1"], + gigaimpact: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + playrough: ["2L1"], + powdersnow: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + snowscape: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ironvaliant: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + aurasphere: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + chargebeam: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + electricterrain: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + falseswipe: ["2L1"], + feint: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + furycutter: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + hypnosis: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + leafblade: ["2L1"], + lightscreen: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + metronome: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + nightslash: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + quickguard: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + spiritbreak: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + vacuumwave: ["2L1"], + wideguard: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 52, shiny: 1, moves: ["2L1"]}, + ], + eventOnly: false, + }, + tinglu: { + learnset: { + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + lashout: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + ruination: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + spikes: ["2L1"], + spite: ["2L1"], + stealthrock: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + throatchop: ["2L1"], + whirlwind: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["2L1"]}, + ], + eventOnly: false, + }, + chienpao: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + icywind: ["2L1"], + lashout: ["2L1"], + meanlook: ["2L1"], + mist: ["2L1"], + nightslash: ["2L1"], + payback: ["2L1"], + powdersnow: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + ruination: ["2L1"], + sacredsword: ["2L1"], + scaryface: ["2L1"], + sheercold: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snowscape: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["2L1"]}, + ], + eventOnly: false, + }, + wochien: { + learnset: { + absorb: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + darkpulse: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + meanlook: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + payback: ["2L1"], + poisonpowder: ["2L1"], + pollenpuff: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + ruination: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + trailblaze: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["2L1"]}, + ], + eventOnly: false, + }, + chiyu: { + learnset: { + bounce: ["2L1"], + burningjealousy: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + inferno: ["2L1"], + lashout: ["2L1"], + lavaplume: ["2L1"], + lightscreen: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + ruination: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + willowisp: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 60, moves: ["2L1"]}, + ], + eventOnly: false, + }, + koraidon: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + ancientpower: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + collisioncourse: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + drainpunch: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + gigaimpact: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + ironhead: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocksmash: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + solarbeam: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 68, nature: "Quirky", ivs: {hp: 31, atk: 31, def: 28, spa: 31, spd: 28, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 72, nature: "Adamant", ivs: {hp: 25, atk: 31, def: 25, spa: 31, spd: 25, spe: 31}, moves: ["2L1"]}, + ], + eventOnly: false, + }, + miraidon: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + bodyslam: ["2L1"], + calmmind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electrodrift: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + lightscreen: ["2L1"], + metalsound: ["2L1"], + mirrorcoat: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + paraboliccharge: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + uturn: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 68, nature: "Quirky", ivs: {hp: 31, atk: 31, def: 28, spa: 31, spd: 28, spe: 31}, moves: ["2L1"], pokeball: "pokeball"}, + {generation: 9, level: 72, nature: "Modest", ivs: {hp: 25, atk: 31, def: 25, spa: 31, spd: 25, spe: 31}, moves: ["2L1"]}, + ], + eventOnly: false, + }, + tinkatink: { + learnset: { + astonish: ["2L1"], + babydolleyes: ["2L1"], + brutalswing: ["2L1"], + covet: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + feint: ["2L1"], + flashcannon: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + helpinghand: ["2L1"], + icehammer: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + playrough: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sweetkiss: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + }, + }, + tinkatuff: { + learnset: { + astonish: ["2L1"], + babydolleyes: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + covet: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + flashcannon: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + helpinghand: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + playrough: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sweetkiss: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + }, + }, + tinkaton: { + learnset: { + astonish: ["2L1"], + babydolleyes: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + covet: ["2L1"], + drainingkiss: ["2L1"], + encore: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + fakeout: ["2L1"], + faketears: ["2L1"], + flashcannon: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + gigatonhammer: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + playrough: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sweetkiss: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderwave: ["2L1"], + }, + }, + charcadet: { + learnset: { + astonish: ["2L1"], + celebrate: ["2L1"], + clearsmog: ["2L1"], + confuseray: ["2L1"], + destinybond: ["2L1"], + disable: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + incinerate: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + sleeptalk: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + willowisp: ["2L1"], + }, + eventData: [ + {generation: 9, level: 5, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + armarouge: { + learnset: { + acidspray: ["2L1"], + allyswitch: ["2L1"], + armorcannon: ["2L1"], + astonish: ["2L1"], + aurasphere: ["2L1"], + calmmind: ["2L1"], + clearsmog: ["2L1"], + confuseray: ["2L1"], + darkpulse: ["2L1"], + dragonpulse: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + meteorbeam: ["2L1"], + mysticalfire: ["2L1"], + nightshade: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + scorchingsands: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + weatherball: ["2L1"], + wideguard: ["2L1"], + willowisp: ["2L1"], + }, + }, + ceruledge: { + learnset: { + allyswitch: ["2L1"], + astonish: ["2L1"], + bitterblade: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + clearsmog: ["2L1"], + closecombat: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + dragonclaw: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + nightshade: ["2L1"], + nightslash: ["2L1"], + overheat: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychocut: ["2L1"], + psychup: ["2L1"], + quickguard: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + sleeptalk: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + xscissor: ["2L1"], + }, + }, + toedscool: { + learnset: { + absorb: ["2L1"], + acidspray: ["2L1"], + acupressure: ["2L1"], + bulletseed: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hex: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mirrorcoat: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + painsplit: ["2L1"], + poisonpowder: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + ragepowder: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spore: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + tickle: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + trickroom: ["2L1"], + venoshock: ["2L1"], + wrap: ["2L1"], + }, + }, + toedscruel: { + learnset: { + absorb: ["2L1"], + acidspray: ["2L1"], + bulletseed: ["2L1"], + confuseray: ["2L1"], + dazzlinggleam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + flashcannon: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + lunge: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + painsplit: ["2L1"], + poisonpowder: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + seedbomb: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + spore: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + trickroom: ["2L1"], + venoshock: ["2L1"], + wrap: ["2L1"], + }, + }, + walkingwake: { + learnset: { + agility: ["2L1"], + aquajet: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + flipturn: ["2L1"], + gigaimpact: ["2L1"], + honeclaws: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hydrosteam: ["2L1"], + hyperbeam: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + mudshot: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + twister: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlpool: ["2L1"], + }, + eventData: [ + {generation: 9, level: 75, perfectIVs: 3, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ironleaves: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + allyswitch: ["2L1"], + brickbreak: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + doubleedge: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + focusblast: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leer: ["2L1"], + magicalleaf: ["2L1"], + megahorn: ["2L1"], + metalsound: ["2L1"], + nightslash: ["2L1"], + protect: ["2L1"], + psyblade: ["2L1"], + psychicterrain: ["2L1"], + quash: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + reversal: ["2L1"], + sacredsword: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 9, level: 75, perfectIVs: 3, moves: ["2L1"]}, + ], + eventOnly: false, + }, + dipplin: { + learnset: { + astonish: ["2L1"], + bodyslam: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + doublehit: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + gyroball: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + outrage: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + syrupbomb: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + withdraw: ["2L1"], + }, + }, + poltchageist: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + calmmind: ["2L1"], + curse: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + grassyterrain: ["2L1"], + hex: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leafstorm: ["2L1"], + lifedew: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + withdraw: ["2L1"], + }, + }, + poltchageistartisan: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + calmmind: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + grassyterrain: ["2L1"], + hex: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leafstorm: ["2L1"], + lifedew: ["2L1"], + magicalleaf: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + withdraw: ["2L1"], + }, + }, + sinistcha: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + calmmind: ["2L1"], + curse: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + grassyterrain: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leafstorm: ["2L1"], + lifedew: ["2L1"], + magicalleaf: ["2L1"], + matchagotcha: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + strengthsap: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + withdraw: ["2L1"], + }, + }, + sinistchamasterpiece: { + learnset: { + absorb: ["2L1"], + astonish: ["2L1"], + calmmind: ["2L1"], + curse: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + foulplay: ["2L1"], + gigadrain: ["2L1"], + grassyterrain: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + leafstorm: ["2L1"], + lifedew: ["2L1"], + magicalleaf: ["2L1"], + matchagotcha: ["2L1"], + megadrain: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + painsplit: ["2L1"], + phantomforce: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + ragepowder: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + scald: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + strengthsap: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + withdraw: ["2L1"], + }, + }, + okidogi: { + learnset: { + bite: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + closecombat: ["2L1"], + counter: ["2L1"], + crunch: ["2L1"], + curse: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + drainpunch: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + firepunch: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hardpress: ["2L1"], + highhorsepower: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + metalclaw: ["2L1"], + outrage: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + upperhand: ["2L1"], + uproar: ["2L1"], + }, + eventData: [ + {generation: 9, level: 70, moves: ["2L1"]}, + ], + eventOnly: false, + }, + munkidori: { + learnset: { + acidspray: ["2L1"], + batonpass: ["2L1"], + calmmind: ["2L1"], + clearsmog: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + flatter: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + lashout: ["2L1"], + lightscreen: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + partingshot: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + rest: ["2L1"], + scratch: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + spite: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + }, + eventData: [ + {generation: 9, level: 70, moves: ["2L1"]}, + ], + eventOnly: false, + }, + fezandipiti: { + learnset: { + acidspray: ["2L1"], + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + alluringvoice: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bravebird: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + crosspoison: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + disarmingvoice: ["2L1"], + doublekick: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flatter: ["2L1"], + fly: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + hex: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + icywind: ["2L1"], + lashout: ["2L1"], + lightscreen: ["2L1"], + moonblast: ["2L1"], + nastyplot: ["2L1"], + peck: ["2L1"], + playrough: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quickattack: ["2L1"], + rest: ["2L1"], + roost: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailslap: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + wingattack: ["2L1"], + }, + eventData: [ + {generation: 9, level: 70, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ogerpon: { + learnset: { + brickbreak: ["2L1"], + bulletseed: ["2L1"], + charm: ["2L1"], + counter: ["2L1"], + doublekick: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + followme: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + helpinghand: ["2L1"], + hornleech: ["2L1"], + ivycudgel: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicalleaf: ["2L1"], + playrough: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + reversal: ["2L1"], + rocktomb: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + seedbomb: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spikes: ["2L1"], + spikyshield: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vinewhip: ["2L1"], + woodhammer: ["2L1"], + zenheadbutt: ["2L1"], + }, + eventData: [ + {generation: 9, level: 20, nature: "Lonely", ivs: {hp: 31, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["2L1"]}, + {generation: 9, level: 70, nature: "Lonely", ivs: {hp: 31, atk: 31, def: 20, spa: 20, spd: 20, spe: 31}, moves: ["2L1"]}, + ], + eventOnly: false, + }, + ogerponhearthflame: { + eventOnly: false, + }, + ogerponwellspring: { + eventOnly: false, + }, + ogerponcornerstone: { + eventOnly: false, + }, + archaludon: { + learnset: { + aurasphere: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brickbreak: ["2L1"], + darkpulse: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + electroshot: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + gyroball: ["2L1"], + hardpress: ["2L1"], + heavyslam: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + lightscreen: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + scaryface: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snarl: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + steelbeam: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + }, + }, + hydrapple: { + learnset: { + astonish: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bugbite: ["2L1"], + bulletseed: ["2L1"], + curse: ["2L1"], + doubleedge: ["2L1"], + doublehit: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + ficklebeam: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + gyroball: ["2L1"], + heavyslam: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + leafstorm: ["2L1"], + magicalleaf: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + pollenpuff: ["2L1"], + pounce: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetscent: ["2L1"], + syrupbomb: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + uproar: ["2L1"], + withdraw: ["2L1"], + yawn: ["2L1"], + }, + }, + gougingfire: { + learnset: { + ancientpower: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + burningbulwark: ["2L1"], + crunch: ["2L1"], + crushclaw: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + dracometeor: ["2L1"], + dragoncheer: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + gigaimpact: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + howl: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + ironhead: ["2L1"], + lavaplume: ["2L1"], + leer: ["2L1"], + morningsun: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + ragingfury: ["2L1"], + rest: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + takedown: ["2L1"], + temperflare: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + weatherball: ["2L1"], + }, + }, + ragingbolt: { + learnset: { + ancientpower: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + calmmind: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + crunch: ["2L1"], + discharge: ["2L1"], + doubleedge: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragoncheer: ["2L1"], + dragonhammer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + heavyslam: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + outrage: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + scaryface: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + solarbeam: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderclap: ["2L1"], + thunderfang: ["2L1"], + thunderwave: ["2L1"], + twister: ["2L1"], + voltswitch: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + ironboulder: { + learnset: { + aerialace: ["2L1"], + agility: ["2L1"], + airslash: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + counter: ["2L1"], + doubleedge: ["2L1"], + earthquake: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + gigaimpact: ["2L1"], + hornattack: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + megahorn: ["2L1"], + meteorbeam: ["2L1"], + mightycleave: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychocut: ["2L1"], + psyshock: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + sacredsword: ["2L1"], + sandstorm: ["2L1"], + scaryface: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + solarblade: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swordsdance: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + wildcharge: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + ironcrown: { + learnset: { + agility: ["2L1"], + airslash: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confusion: ["2L1"], + doubleedge: ["2L1"], + electricterrain: ["2L1"], + endure: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + heavyslam: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + leer: ["2L1"], + metalburst: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicnoise: ["2L1"], + psychocut: ["2L1"], + psyshock: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + sacredsword: ["2L1"], + scaryface: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + solarblade: ["2L1"], + steelbeam: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + supercellslam: ["2L1"], + swordsdance: ["2L1"], + tachyoncutter: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + voltswitch: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + terapagos: { + learnset: { + ancientpower: ["2L1"], + aurasphere: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dazzlinggleam: ["2L1"], + doubleedge: ["2L1"], + dragonpulse: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heavyslam: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icespinner: ["2L1"], + ironhead: ["2L1"], + meteorbeam: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + roar: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + scorchingsands: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + supercellslam: ["2L1"], + surf: ["2L1"], + takedown: ["2L1"], + terastarstorm: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + withdraw: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + pecharunt: { + learnset: { + acidspray: ["2L1"], + astonish: ["2L1"], + curse: ["2L1"], + defensecurl: ["2L1"], + destinybond: ["2L1"], + endure: ["2L1"], + faketears: ["2L1"], + foulplay: ["2L1"], + gunkshot: ["2L1"], + hex: ["2L1"], + imprison: ["2L1"], + malignantchain: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + nightshade: ["2L1"], + partingshot: ["2L1"], + phantomforce: ["2L1"], + poisongas: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + rollout: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smog: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + venoshock: ["2L1"], + withdraw: ["2L1"], + }, + }, + syclar: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fellstinger: ["2L1"], + fling: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + icywind: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + naturalgift: ["2L1"], + pinmissile: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + tailglow: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + xscissor: ["2L1"], + }, + }, + syclant: { + learnset: { + absorb: ["2L1"], + attract: ["2L1"], + avalanche: ["2L1"], + blizzard: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + focuspunch: ["2L1"], + frostbreath: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icespinner: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + leechlife: ["2L1"], + leer: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + pinmissile: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sheercold: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skittersmack: ["2L1"], + slash: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + tripleaxel: ["2L1"], + uturn: ["2L1"], + waterpulse: ["2L1"], + xscissor: ["2L1"], + }, + }, + revenankh: { + learnset: { + ancientpower: ["2L1"], + armthrust: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + curse: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + destinybond: ["2L1"], + detect: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + forcepalm: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + grudge: ["2L1"], + hammerarm: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + knockoff: ["2L1"], + laserfocus: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + machpunch: ["2L1"], + meanlook: ["2L1"], + megapunch: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + moonlight: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poltergeist: ["2L1"], + poweruppunch: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowpunch: ["2L1"], + shadowsneak: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + vacuumwave: ["2L1"], + willowisp: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + wrap: ["2L1"], + }, + }, + embirch: { + learnset: { + amnesia: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragondance: ["2L1"], + earthpower: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasswhistle: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + petaldance: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + watersport: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + flarelm: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + burningjealousy: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + petaldance: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + pyroak: { + learnset: { + amnesia: ["2L1"], + ancientpower: ["2L1"], + aromaticmist: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + burningjealousy: ["2L1"], + burnup: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + growth: ["2L1"], + headbutt: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + leechseed: ["2L1"], + lightscreen: ["2L1"], + lowkick: ["2L1"], + magicalleaf: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + overheat: ["2L1"], + petalblizzard: ["2L1"], + petaldance: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + zapcannon: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + breezi: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + entrainment: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gunkshot: ["2L1"], + gust: ["2L1"], + healblock: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicroom: ["2L1"], + mefirst: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + }, + }, + fidgit: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + afteryou: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + cometpunch: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + dig: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fling: ["2L1"], + followme: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + gunkshot: ["2L1"], + gust: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icespinner: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicroom: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockclimb: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roleplay: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smartstrike: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + spikes: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + uturn: ["2L1"], + venoshock: ["2L1"], + whirlwind: ["2L1"], + wideguard: ["2L1"], + wonderroom: ["2L1"], + }, + }, + rebble: { + learnset: { + accelerock: ["2L1"], + acupressure: ["2L1"], + aerialace: ["2L1"], + ancientpower: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + lockon: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + vacuumwave: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + tactite: { + learnset: { + accelerock: ["2L1"], + acupressure: ["2L1"], + aerialace: ["2L1"], + ancientpower: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + lockon: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + vacuumwave: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + stratagem: { + learnset: { + accelerock: ["2L1"], + acupressure: ["2L1"], + aerialace: ["2L1"], + ancientpower: ["2L1"], + bulldoze: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + headsmash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + laserfocus: ["2L1"], + lockon: ["2L1"], + metalsound: ["2L1"], + meteorbeam: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + ominouswind: ["2L1"], + paleowave: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockclimb: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + stealthrock: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + vacuumwave: ["2L1"], + weatherball: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + privatyke: { + learnset: { + aquacutter: ["2L1"], + aquajet: ["2L1"], + armthrust: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + crosschop: ["2L1"], + cut: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + megapunch: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + octazooka: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smokescreen: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + wrap: ["2L1"], + yawn: ["2L1"], + }, + }, + arghonaut: { + learnset: { + aquacutter: ["2L1"], + aquajet: ["2L1"], + armthrust: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bubble: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chillingwater: ["2L1"], + chipaway: ["2L1"], + circlethrow: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + crosschop: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + machpunch: ["2L1"], + megapunch: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + poisonjab: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + punishment: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smokescreen: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikes: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + superpower: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + vacuumwave: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + workup: ["2L1"], + wrap: ["2L1"], + yawn: ["2L1"], + }, + }, + nohface: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + copycat: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + featherdance: ["2L1"], + feintattack: ["2L1"], + flail: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + magiccoat: ["2L1"], + memento: ["2L1"], + metalsound: ["2L1"], + meteormash: ["2L1"], + metronome: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + odorsleuth: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychoshift: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + yawn: ["2L1"], + }, + }, + kitsunoh: { + learnset: { + assurance: ["2L1"], + attract: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + captivate: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + copycat: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + falseswipe: ["2L1"], + feintattack: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + headbutt: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hyperbeam: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lastresort: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + magiccoat: ["2L1"], + memento: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + naturalgift: ["2L1"], + nightshade: ["2L1"], + odorsleuth: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + playrough: ["2L1"], + poltergeist: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + shadowstrike: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + steelbeam: ["2L1"], + strengthsap: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderpunch: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uturn: ["2L1"], + willowisp: ["2L1"], + }, + }, + monohm: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + powdersnow: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + sonicboom: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + voltswitch: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + duohm: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + sonicboom: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + voltswitch: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + cyclohm: { + learnset: { + aerialace: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + blizzard: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + discharge: ["2L1"], + doublehit: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragontail: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hail: ["2L1"], + headbutt: ["2L1"], + healbell: ["2L1"], + hiddenpower: ["2L1"], + honeclaws: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icywind: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lightscreen: ["2L1"], + lockon: ["2L1"], + muddywater: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + outrage: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + sonicboom: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thrash: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + triattack: ["2L1"], + trickroom: ["2L1"], + twister: ["2L1"], + voltswitch: ["2L1"], + waterfall: ["2L1"], + waterpulse: ["2L1"], + weatherball: ["2L1"], + whirlwind: ["2L1"], + wildcharge: ["2L1"], + zapcannon: ["2L1"], + }, + }, + dorsoil: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + chipaway: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + firefang: ["2L1"], + fissure: ["2L1"], + flail: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + icespinner: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + magnitude: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + wideguard: ["2L1"], + }, + }, + colossoil: { + learnset: { + ancientpower: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bounce: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dig: ["2L1"], + dive: ["2L1"], + doubleedge: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + furyattack: ["2L1"], + gigaimpact: ["2L1"], + headlongrush: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hornattack: ["2L1"], + horndrill: ["2L1"], + hyperbeam: ["2L1"], + icespinner: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leer: ["2L1"], + magnitude: ["2L1"], + megahorn: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + pursuit: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swallow: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + }, + }, + protowatt: { + learnset: { + bubble: ["2L1"], + charge: ["2L1"], + confuseray: ["2L1"], + counter: ["2L1"], + entrainment: ["2L1"], + followme: ["2L1"], + mefirst: ["2L1"], + metronome: ["2L1"], + mindreader: ["2L1"], + mirrorcoat: ["2L1"], + sheercold: ["2L1"], + speedswap: ["2L1"], + terablast: ["2L1"], + thundershock: ["2L1"], + watergun: ["2L1"], + }, + }, + krilowatt: { + learnset: { + aquatail: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bubble: ["2L1"], + bubblebeam: ["2L1"], + bulldoze: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + discharge: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + furycutter: ["2L1"], + gigaimpact: ["2L1"], + guillotine: ["2L1"], + hail: ["2L1"], + heartswap: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icepunch: ["2L1"], + iceshard: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magneticflux: ["2L1"], + metronome: ["2L1"], + mindreader: ["2L1"], + mirrorcoat: ["2L1"], + muddywater: ["2L1"], + naturalgift: ["2L1"], + payback: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + speedswap: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + voltswitch: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wildcharge: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + voodoll: { + learnset: { + acupressure: ["2L1"], + afteryou: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + fling: ["2L1"], + followme: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + grudge: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + machpunch: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + memento: ["2L1"], + metronome: ["2L1"], + mimic: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + perishsong: ["2L1"], + pinmissile: ["2L1"], + powertrip: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + pursuit: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + voltswitch: ["2L1"], + workup: ["2L1"], + wrap: ["2L1"], + }, + }, + voodoom: { + learnset: { + acupressure: ["2L1"], + afteryou: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + beatup: ["2L1"], + brickbreak: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + captivate: ["2L1"], + charge: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + copycat: ["2L1"], + counter: ["2L1"], + darkestlariat: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + feintattack: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focuspunch: ["2L1"], + followme: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grudge: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icepunch: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mudslap: ["2L1"], + nastyplot: ["2L1"], + naturalgift: ["2L1"], + nightmare: ["2L1"], + nightslash: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + risingvoltage: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snarl: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + tearfullook: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderbolt: ["2L1"], + thunderpunch: ["2L1"], + thunderwave: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + voltswitch: ["2L1"], + workup: ["2L1"], + wrap: ["2L1"], + }, + }, + scratchet: { + learnset: { + aerialace: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + grassknot: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + irontail: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + memento: ["2L1"], + mudslap: ["2L1"], + naturepower: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + }, + tomohawk: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + batonpass: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + doubleteam: ["2L1"], + dualwingbeat: ["2L1"], + earthquake: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + furyswipes: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + harden: ["2L1"], + haze: ["2L1"], + healingwish: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + morningsun: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + roar: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rocktomb: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + stoneedge: ["2L1"], + strength: ["2L1"], + submission: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + whirlwind: ["2L1"], + workup: ["2L1"], + }, + }, + necturine: { + learnset: { + attract: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + curse: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechlife: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + magicalleaf: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + nightmare: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowsneak: ["2L1"], + shellsmash: ["2L1"], + sketch: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spite: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + }, + }, + necturna: { + learnset: { + attract: ["2L1"], + calmmind: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + leafblade: ["2L1"], + leafstorm: ["2L1"], + leechlife: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + magicalleaf: ["2L1"], + naturepower: ["2L1"], + nightshade: ["2L1"], + ominouswind: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + poisonfang: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + shadowsneak: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + swagger: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + vinewhip: ["2L1"], + willowisp: ["2L1"], + worryseed: ["2L1"], + }, + }, + mollux: { + learnset: { + acid: ["2L1"], + acidarmor: ["2L1"], + acidspray: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + bide: ["2L1"], + bind: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + corrosivegas: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + ember: ["2L1"], + endure: ["2L1"], + eruption: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + healbell: ["2L1"], + healpulse: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + inferno: ["2L1"], + lavaplume: ["2L1"], + leechlife: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + moonlight: ["2L1"], + overheat: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shockwave: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spotlight: ["2L1"], + stealthrock: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + willowisp: ["2L1"], + withdraw: ["2L1"], + }, + }, + cupra: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + counter: ["2L1"], + cut: ["2L1"], + disable: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + electroweb: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + finalgambit: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megahorn: ["2L1"], + nastyplot: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + steelwing: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailglow: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + waterpulse: ["2L1"], + willowisp: ["2L1"], + wingattack: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + argalis: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dreameater: ["2L1"], + echoedvoice: ["2L1"], + electroweb: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + frustration: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megahorn: ["2L1"], + nastyplot: ["2L1"], + ominouswind: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spotlight: ["2L1"], + steelwing: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailglow: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + waterpulse: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + aurumoth: { + learnset: { + allyswitch: ["2L1"], + ancientpower: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + calmmind: ["2L1"], + closecombat: ["2L1"], + confide: ["2L1"], + cut: ["2L1"], + doubleteam: ["2L1"], + dragondance: ["2L1"], + dreameater: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + electroweb: ["2L1"], + expandingforce: ["2L1"], + facade: ["2L1"], + finalgambit: ["2L1"], + flash: ["2L1"], + fling: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + hail: ["2L1"], + healingwish: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + lightscreen: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + megahorn: ["2L1"], + nastyplot: ["2L1"], + ominouswind: ["2L1"], + overheat: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicterrain: ["2L1"], + psychup: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + recycle: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roleplay: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + secretpower: ["2L1"], + shadowball: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + silverwind: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + solarbeam: ["2L1"], + spotlight: ["2L1"], + steelwing: ["2L1"], + stringshot: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + tackle: ["2L1"], + tailglow: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + waterpulse: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + xscissor: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + brattler: { + learnset: { + aromatherapy: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + belch: ["2L1"], + bind: ["2L1"], + brutalswing: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + feint: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + glare: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + haze: ["2L1"], + healbell: ["2L1"], + hiddenpower: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafblade: ["2L1"], + leer: ["2L1"], + nastyplot: ["2L1"], + naturepower: ["2L1"], + nightslash: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + poisonpowder: ["2L1"], + poisontail: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikyshield: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + stunspore: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + sweetscent: ["2L1"], + synthesis: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + }, + malaconda: { + learnset: { + attract: ["2L1"], + beatup: ["2L1"], + bind: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + cut: ["2L1"], + darkpulse: ["2L1"], + doubleteam: ["2L1"], + dragontail: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + followme: ["2L1"], + foulplay: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + glare: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + gravapple: ["2L1"], + haze: ["2L1"], + healbell: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + irontail: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + leafblade: ["2L1"], + leer: ["2L1"], + nastyplot: ["2L1"], + naturepower: ["2L1"], + partingshot: ["2L1"], + payback: ["2L1"], + poisontail: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + punishment: ["2L1"], + pursuit: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + seedbomb: ["2L1"], + skittersmack: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spikyshield: ["2L1"], + spite: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + suckerpunch: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + throatchop: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uturn: ["2L1"], + vinewhip: ["2L1"], + weatherball: ["2L1"], + wildcharge: ["2L1"], + worryseed: ["2L1"], + wrap: ["2L1"], + wringout: ["2L1"], + }, + }, + cawdet: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulletpunch: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + detect: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + drillpeck: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + growl: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + mirrormove: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + pursuit: ["2L1"], + quickattack: ["2L1"], + quickguard: ["2L1"], + raindance: ["2L1"], + razorwind: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + shockwave: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + watersport: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + }, + }, + cawmodore: { + learnset: { + acrobatics: ["2L1"], + aerialace: ["2L1"], + agility: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + belch: ["2L1"], + bellydrum: ["2L1"], + block: ["2L1"], + brickbreak: ["2L1"], + brine: ["2L1"], + bulletpunch: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + detect: ["2L1"], + doubleteam: ["2L1"], + drainpunch: ["2L1"], + dualwingbeat: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + leer: ["2L1"], + megapunch: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + peck: ["2L1"], + pluck: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + shockwave: ["2L1"], + skyattack: ["2L1"], + skydrop: ["2L1"], + sleeptalk: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelwing: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wingattack: ["2L1"], + }, + }, + volkritter: { + learnset: { + absorb: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bounce: ["2L1"], + captivate: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + covet: ["2L1"], + destinybond: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + memento: ["2L1"], + muddywater: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + pounce: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + reflecttype: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + tickle: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + willowisp: ["2L1"], + }, + }, + volkraken: { + learnset: { + absorb: ["2L1"], + aquaring: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + bite: ["2L1"], + bounce: ["2L1"], + burningjealousy: ["2L1"], + confide: ["2L1"], + constrict: ["2L1"], + covet: ["2L1"], + destinybond: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + extrasensory: ["2L1"], + facade: ["2L1"], + falseswipe: ["2L1"], + fireblast: ["2L1"], + firelash: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + fling: ["2L1"], + flipturn: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + memento: ["2L1"], + muddywater: ["2L1"], + overheat: ["2L1"], + payback: ["2L1"], + pounce: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + quash: ["2L1"], + raindance: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + scorchingsands: ["2L1"], + secretpower: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uturn: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + willowisp: ["2L1"], + wringout: ["2L1"], + }, + }, + snugglow: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + block: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electrify: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + iondeluge: ["2L1"], + irontail: ["2L1"], + paraboliccharge: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + wideguard: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + plasmanta: { + learnset: { + acid: ["2L1"], + acidspray: ["2L1"], + aquatail: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + block: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + chargebeam: ["2L1"], + chillingwater: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + crosspoison: ["2L1"], + cut: ["2L1"], + dazzlinggleam: ["2L1"], + discharge: ["2L1"], + doubleteam: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electrify: ["2L1"], + electroball: ["2L1"], + electroweb: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + iondeluge: ["2L1"], + irontail: ["2L1"], + liquidation: ["2L1"], + magnetrise: ["2L1"], + paraboliccharge: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + poisontail: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + psywave: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + supersonic: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterpulse: ["2L1"], + wildcharge: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + floatoy: { + learnset: { + attract: ["2L1"], + bite: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + drillpeck: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + featherdance: ["2L1"], + feint: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + metalclaw: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + refresh: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + splash: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + caimanoe: { + learnset: { + attract: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + drillpeck: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + splash: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + }, + }, + naviathan: { + learnset: { + attract: ["2L1"], + blizzard: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brine: ["2L1"], + brutalswing: ["2L1"], + bubblebeam: ["2L1"], + calmmind: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + crunch: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragondance: ["2L1"], + dragonpulse: ["2L1"], + drillpeck: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gust: ["2L1"], + hail: ["2L1"], + haze: ["2L1"], + heavyslam: ["2L1"], + hiddenpower: ["2L1"], + hurricane: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + icebeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + iciclecrash: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + metalclaw: ["2L1"], + metalsound: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + peck: ["2L1"], + protect: ["2L1"], + psychicfangs: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + rocksmash: ["2L1"], + round: ["2L1"], + scald: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + slackoff: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + splash: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + thunderpunch: ["2L1"], + toxic: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + wavecrash: ["2L1"], + whirlpool: ["2L1"], + wideguard: ["2L1"], + wildcharge: ["2L1"], + }, + }, + crucibelle: { + learnset: { + acidarmor: ["2L1"], + acidspray: ["2L1"], + assurance: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + coil: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + confusion: ["2L1"], + crosspoison: ["2L1"], + defensecurl: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gravity: ["2L1"], + gunkshot: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + infestation: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + knockoff: ["2L1"], + lightscreen: ["2L1"], + magicroom: ["2L1"], + meteorbeam: ["2L1"], + metronome: ["2L1"], + payback: ["2L1"], + pinmissile: ["2L1"], + poisonjab: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + psybeam: ["2L1"], + psychic: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockblast: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocksmash: ["2L1"], + rockthrow: ["2L1"], + rocktomb: ["2L1"], + rollout: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + secretpower: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + sludge: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + smackdown: ["2L1"], + snatch: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelroller: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + withdraw: ["2L1"], + wonderroom: ["2L1"], + woodhammer: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + pluffle: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + bodyslam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + featherdance: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + nightmare: ["2L1"], + partingshot: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + quickguard: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + wakeupslap: ["2L1"], + wideguard: ["2L1"], + wish: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + }, + kerfluffle: { + learnset: { + allyswitch: ["2L1"], + attract: ["2L1"], + aurasphere: ["2L1"], + beatup: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + closecombat: ["2L1"], + coaching: ["2L1"], + confide: ["2L1"], + crushclaw: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + drainpunch: ["2L1"], + dreameater: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fairywind: ["2L1"], + featherdance: ["2L1"], + flashcannon: ["2L1"], + fly: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + holdhands: ["2L1"], + hyperbeam: ["2L1"], + lowkick: ["2L1"], + lowsweep: ["2L1"], + magicroom: ["2L1"], + megakick: ["2L1"], + megapunch: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + nightmare: ["2L1"], + partingshot: ["2L1"], + playrough: ["2L1"], + poweruppunch: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + return: ["2L1"], + revenge: ["2L1"], + reversal: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + scratch: ["2L1"], + secretpower: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + speedswap: ["2L1"], + strength: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + torment: ["2L1"], + toxic: ["2L1"], + uproar: ["2L1"], + vacuumwave: ["2L1"], + wakeupslap: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + eventData: [ + {generation: 6, level: 16, abilities: ["2L1"], moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + pajantom: { + learnset: { + aerialace: ["2L1"], + astonish: ["2L1"], + attract: ["2L1"], + bind: ["2L1"], + block: ["2L1"], + bravebird: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + crunch: ["2L1"], + doubleteam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrage: ["2L1"], + dragonrush: ["2L1"], + dreameater: ["2L1"], + drillrun: ["2L1"], + dualchop: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fairylock: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gastroacid: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + growl: ["2L1"], + haze: ["2L1"], + healblock: ["2L1"], + helpinghand: ["2L1"], + hex: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + icepunch: ["2L1"], + icywind: ["2L1"], + imprison: ["2L1"], + infestation: ["2L1"], + irontail: ["2L1"], + laserfocus: ["2L1"], + leechlife: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + phantomforce: ["2L1"], + poisonfang: ["2L1"], + poisongas: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychicfangs: ["2L1"], + psychup: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandtomb: ["2L1"], + shadowball: ["2L1"], + shadowclaw: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + spiritshackle: ["2L1"], + spite: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + telekinesis: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trickroom: ["2L1"], + venoshock: ["2L1"], + whirlpool: ["2L1"], + wrap: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + mumbao: { + learnset: { + attract: ["2L1"], + bodyslam: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flowershield: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + healingwish: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + ingrain: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + smellingsalts: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wish: ["2L1"], + woodhammer: ["2L1"], + worryseed: ["2L1"], + }, + }, + jumbao: { + learnset: { + armthrust: ["2L1"], + attract: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletseed: ["2L1"], + confide: ["2L1"], + dazzlinggleam: ["2L1"], + detect: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + fakeout: ["2L1"], + flameburst: ["2L1"], + flowershield: ["2L1"], + focusblast: ["2L1"], + focusenergy: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + gravity: ["2L1"], + gyroball: ["2L1"], + harden: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + ingrain: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + luckychant: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + naturalgift: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rototiller: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + seedbomb: ["2L1"], + selfdestruct: ["2L1"], + shadowball: ["2L1"], + shoreup: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + wish: ["2L1"], + wonderroom: ["2L1"], + worryseed: ["2L1"], + }, + }, + fawnifer: { + learnset: { + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulletseed: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + doubleedge: ["2L1"], + doublekick: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + naturalgift: ["2L1"], + naturepower: ["2L1"], + powerwhip: ["2L1"], + present: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + rapidspin: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spark: ["2L1"], + spotlight: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thundershock: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + }, + }, + electrelk: { + learnset: { + attract: ["2L1"], + bodyslam: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulletseed: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + magnetrise: ["2L1"], + naturepower: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zapcannon: ["2L1"], + }, + }, + caribolt: { + learnset: { + attract: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulletseed: ["2L1"], + celebrate: ["2L1"], + chargebeam: ["2L1"], + charm: ["2L1"], + confide: ["2L1"], + confuseray: ["2L1"], + doubleteam: ["2L1"], + echoedvoice: ["2L1"], + eerieimpulse: ["2L1"], + electricterrain: ["2L1"], + electroweb: ["2L1"], + endeavor: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + flash: ["2L1"], + flashcannon: ["2L1"], + frenzyplant: ["2L1"], + frustration: ["2L1"], + gigadrain: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + grasspledge: ["2L1"], + grassyglide: ["2L1"], + grassyterrain: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + hyperdrill: ["2L1"], + hypervoice: ["2L1"], + knockoff: ["2L1"], + leafage: ["2L1"], + leafstorm: ["2L1"], + leechseed: ["2L1"], + leer: ["2L1"], + magnetrise: ["2L1"], + metronome: ["2L1"], + naturepower: ["2L1"], + powerwhip: ["2L1"], + protect: ["2L1"], + quickattack: ["2L1"], + razorleaf: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + risingvoltage: ["2L1"], + round: ["2L1"], + seedbomb: ["2L1"], + shockwave: ["2L1"], + signalbeam: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + solarblade: ["2L1"], + spark: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + synthesis: ["2L1"], + tackle: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + terrainpulse: ["2L1"], + throatchop: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thundershock: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + voltswitch: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + worryseed: ["2L1"], + zapcannon: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + smogecko: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + bonerush: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + bulletpunch: ["2L1"], + camouflage: ["2L1"], + confide: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + forcepalm: ["2L1"], + frustration: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + mudshot: ["2L1"], + overheat: ["2L1"], + poisonfang: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + smoguana: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + camouflage: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + crosspoison: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + frustration: ["2L1"], + gunkshot: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + mudshot: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + smokomodo: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + attract: ["2L1"], + blastburn: ["2L1"], + brickbreak: ["2L1"], + bulkup: ["2L1"], + bulldoze: ["2L1"], + burningjealousy: ["2L1"], + camouflage: ["2L1"], + celebrate: ["2L1"], + circlethrow: ["2L1"], + clearsmog: ["2L1"], + confide: ["2L1"], + corrosivegas: ["2L1"], + crosspoison: ["2L1"], + defog: ["2L1"], + dig: ["2L1"], + doubleteam: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + ember: ["2L1"], + endeavor: ["2L1"], + eruption: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firepledge: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + fissure: ["2L1"], + flameburst: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + focusblast: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + heatcrash: ["2L1"], + heatwave: ["2L1"], + hiddenpower: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + incinerate: ["2L1"], + irontail: ["2L1"], + lavaplume: ["2L1"], + lick: ["2L1"], + lowkick: ["2L1"], + machpunch: ["2L1"], + magnitude: ["2L1"], + metalclaw: ["2L1"], + morningsun: ["2L1"], + mudshot: ["2L1"], + mysticalfire: ["2L1"], + overheat: ["2L1"], + poisonjab: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + roar: ["2L1"], + round: ["2L1"], + sandtomb: ["2L1"], + scaleshot: ["2L1"], + scorchingsands: ["2L1"], + scratch: ["2L1"], + screech: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + stealthrock: ["2L1"], + stompingtantrum: ["2L1"], + stormthrow: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superpower: ["2L1"], + swagger: ["2L1"], + tailwhip: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trailblaze: ["2L1"], + venomdrench: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + swirlpool: { + learnset: { + acidarmor: ["2L1"], + allyswitch: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + lifedew: ["2L1"], + magiccoat: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + pinmissile: ["2L1"], + pounce: ["2L1"], + pound: ["2L1"], + powder: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psychoshift: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + spikyshield: ["2L1"], + spotlight: ["2L1"], + stealthrock: ["2L1"], + stickyweb: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + workup: ["2L1"], + }, + }, + coribalis: { + learnset: { + allyswitch: ["2L1"], + aquajet: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydropump: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + pinmissile: ["2L1"], + pounce: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + snaelstrom: { + learnset: { + allyswitch: ["2L1"], + aquajet: ["2L1"], + aquaring: ["2L1"], + attract: ["2L1"], + blizzard: ["2L1"], + block: ["2L1"], + bodyslam: ["2L1"], + brine: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + captivate: ["2L1"], + celebrate: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + confide: ["2L1"], + confusion: ["2L1"], + dazzlinggleam: ["2L1"], + dive: ["2L1"], + doubleteam: ["2L1"], + drainingkiss: ["2L1"], + dualwingbeat: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + frustration: ["2L1"], + futuresight: ["2L1"], + gigaimpact: ["2L1"], + growl: ["2L1"], + guardswap: ["2L1"], + hail: ["2L1"], + healpulse: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hydrocannon: ["2L1"], + hydropump: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icebeam: ["2L1"], + iciclespear: ["2L1"], + icywind: ["2L1"], + infestation: ["2L1"], + leechlife: ["2L1"], + liquidation: ["2L1"], + magiccoat: ["2L1"], + magicroom: ["2L1"], + metronome: ["2L1"], + muddywater: ["2L1"], + pinmissile: ["2L1"], + pounce: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rapidspin: ["2L1"], + razorshell: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + signalbeam: ["2L1"], + skillswap: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + snowscape: ["2L1"], + stealthrock: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + swagger: ["2L1"], + swift: ["2L1"], + swordsdance: ["2L1"], + terablast: ["2L1"], + toxic: ["2L1"], + trick: ["2L1"], + trickroom: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + waterfall: ["2L1"], + watergun: ["2L1"], + waterpledge: ["2L1"], + waterpulse: ["2L1"], + whirlpool: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + eventData: [ + {generation: 7, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + justyke: { + learnset: { + allyswitch: ["2L1"], + aurasphere: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + destinybond: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + gyroball: ["2L1"], + healingwish: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + icespinner: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magicroom: ["2L1"], + magnetrise: ["2L1"], + memento: ["2L1"], + mindreader: ["2L1"], + mirrorshot: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + painsplit: ["2L1"], + pound: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + }, + }, + equilibra: { + learnset: { + allyswitch: ["2L1"], + aurasphere: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + confide: ["2L1"], + destinybond: ["2L1"], + doomdesire: ["2L1"], + doubleteam: ["2L1"], + drillrun: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + embargo: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + facade: ["2L1"], + flashcannon: ["2L1"], + frustration: ["2L1"], + gigaimpact: ["2L1"], + gravity: ["2L1"], + guardsplit: ["2L1"], + gyroball: ["2L1"], + healingwish: ["2L1"], + heavyslam: ["2L1"], + helpinghand: ["2L1"], + hiddenpower: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + magicroom: ["2L1"], + magnetrise: ["2L1"], + memento: ["2L1"], + mindreader: ["2L1"], + mirrorshot: ["2L1"], + mudshot: ["2L1"], + mudslap: ["2L1"], + mudsport: ["2L1"], + painsplit: ["2L1"], + perishsong: ["2L1"], + pound: ["2L1"], + powersplit: ["2L1"], + protect: ["2L1"], + psychup: ["2L1"], + quash: ["2L1"], + rapidspin: ["2L1"], + recycle: ["2L1"], + rest: ["2L1"], + return: ["2L1"], + rockpolish: ["2L1"], + rockslide: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sandstorm: ["2L1"], + sleeptalk: ["2L1"], + smartstrike: ["2L1"], + snore: ["2L1"], + steelbeam: ["2L1"], + steelroller: ["2L1"], + substitute: ["2L1"], + swagger: ["2L1"], + terablast: ["2L1"], + trickroom: ["2L1"], + wonderroom: ["2L1"], + workup: ["2L1"], + }, + eventData: [ + {generation: 9, level: 50, moves: ["2L1"], pokeball: "pokeball"}, + ], + }, + solotl: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + breakingswipe: ["2L1"], + charm: ["2L1"], + cosmicpower: ["2L1"], + dazzlinggleam: ["2L1"], + defog: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firelash: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + imprison: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + meteorbeam: ["2L1"], + metronome: ["2L1"], + mysticalfire: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + twister: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + yawn: ["2L1"], + }, + }, + astrolotl: { + learnset: { + acrobatics: ["2L1"], + agility: ["2L1"], + allyswitch: ["2L1"], + attract: ["2L1"], + batonpass: ["2L1"], + breakingswipe: ["2L1"], + bulldoze: ["2L1"], + charm: ["2L1"], + cosmicpower: ["2L1"], + dazzlinggleam: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + ember: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firefang: ["2L1"], + firelash: ["2L1"], + firepunch: ["2L1"], + firespin: ["2L1"], + flamecharge: ["2L1"], + flamethrower: ["2L1"], + flamewheel: ["2L1"], + flareblitz: ["2L1"], + healbell: ["2L1"], + healingwish: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + magiccoat: ["2L1"], + meteorbeam: ["2L1"], + metronome: ["2L1"], + mysticalfire: ["2L1"], + outrage: ["2L1"], + overheat: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scorchingsands: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + stompingtantrum: ["2L1"], + storedpower: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + swift: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + willowisp: ["2L1"], + workup: ["2L1"], + }, + }, + miasmite: { + learnset: { + agility: ["2L1"], + aromatherapy: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + corrosivegas: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonpulse: ["2L1"], + dragonrush: ["2L1"], + dragontail: ["2L1"], + earthpower: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + firstimpression: ["2L1"], + flashcannon: ["2L1"], + haze: ["2L1"], + icefang: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + megahorn: ["2L1"], + outrage: ["2L1"], + pinmissile: ["2L1"], + poisonfang: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderfang: ["2L1"], + uproar: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + miasmaw: { + learnset: { + agility: ["2L1"], + attract: ["2L1"], + bite: ["2L1"], + bodyslam: ["2L1"], + breakingswipe: ["2L1"], + brutalswing: ["2L1"], + bugbite: ["2L1"], + bugbuzz: ["2L1"], + bulldoze: ["2L1"], + closecombat: ["2L1"], + corrosivegas: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + dracometeor: ["2L1"], + dragonbreath: ["2L1"], + dragonclaw: ["2L1"], + dragonhammer: ["2L1"], + dragonpulse: ["2L1"], + dragontail: ["2L1"], + dualwingbeat: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + firefang: ["2L1"], + flashcannon: ["2L1"], + focusblast: ["2L1"], + gigaimpact: ["2L1"], + gunkshot: ["2L1"], + haze: ["2L1"], + highhorsepower: ["2L1"], + hyperbeam: ["2L1"], + icefang: ["2L1"], + ironhead: ["2L1"], + irontail: ["2L1"], + leechlife: ["2L1"], + lunge: ["2L1"], + megahorn: ["2L1"], + nastyplot: ["2L1"], + outrage: ["2L1"], + pinmissile: ["2L1"], + poisongas: ["2L1"], + poisonjab: ["2L1"], + pounce: ["2L1"], + protect: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + round: ["2L1"], + scaleshot: ["2L1"], + scaryface: ["2L1"], + screech: ["2L1"], + skittersmack: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + smog: ["2L1"], + smokescreen: ["2L1"], + snore: ["2L1"], + strugglebug: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + superfang: ["2L1"], + superpower: ["2L1"], + swordsdance: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + uproar: ["2L1"], + uturn: ["2L1"], + wildcharge: ["2L1"], + workup: ["2L1"], + xscissor: ["2L1"], + }, + }, + chromera: { + learnset: { + acidspray: ["2L1"], + aerialace: ["2L1"], + aromatherapy: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + beatup: ["2L1"], + belch: ["2L1"], + blizzard: ["2L1"], + bodyslam: ["2L1"], + boomburst: ["2L1"], + calmmind: ["2L1"], + charm: ["2L1"], + chillingwater: ["2L1"], + crunch: ["2L1"], + darkpulse: ["2L1"], + decorate: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + faketears: ["2L1"], + finalgambit: ["2L1"], + firefang: ["2L1"], + firstimpression: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + gunkshot: ["2L1"], + hex: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + icefang: ["2L1"], + imprison: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + metalclaw: ["2L1"], + mudslap: ["2L1"], + nobleroar: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + playrough: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + reflect: ["2L1"], + rest: ["2L1"], + revenge: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scald: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snarl: ["2L1"], + snore: ["2L1"], + spite: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + switcheroo: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + thunderfang: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trailblaze: ["2L1"], + uproar: ["2L1"], + venomdrench: ["2L1"], + wideguard: ["2L1"], + }, + eventData: [ + {generation: 8, level: 50, moves: ["2L1"], pokeball: "cherishball"}, + ], + }, + venomicon: { + learnset: { + acidspray: ["2L1"], + aircutter: ["2L1"], + airslash: ["2L1"], + assurance: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bravebird: ["2L1"], + clearsmog: ["2L1"], + coil: ["2L1"], + confuseray: ["2L1"], + darkpulse: ["2L1"], + drillpeck: ["2L1"], + dualwingbeat: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fly: ["2L1"], + focusenergy: ["2L1"], + foulplay: ["2L1"], + gigaimpact: ["2L1"], + guardswap: ["2L1"], + gunkshot: ["2L1"], + hex: ["2L1"], + hurricane: ["2L1"], + hyperbeam: ["2L1"], + imprison: ["2L1"], + irondefense: ["2L1"], + knockoff: ["2L1"], + lashout: ["2L1"], + magicalleaf: ["2L1"], + magicroom: ["2L1"], + meanlook: ["2L1"], + memento: ["2L1"], + nastyplot: ["2L1"], + payback: ["2L1"], + peck: ["2L1"], + phantomforce: ["2L1"], + poisonjab: ["2L1"], + poisonsting: ["2L1"], + powerswap: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + rest: ["2L1"], + retaliate: ["2L1"], + roost: ["2L1"], + round: ["2L1"], + safeguard: ["2L1"], + scaryface: ["2L1"], + shadowball: ["2L1"], + skillswap: ["2L1"], + sleeptalk: ["2L1"], + sludgebomb: ["2L1"], + sludgewave: ["2L1"], + snore: ["2L1"], + stealthrock: ["2L1"], + steelwing: ["2L1"], + substitute: ["2L1"], + swift: ["2L1"], + tailwind: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + toxic: ["2L1"], + toxicspikes: ["2L1"], + trick: ["2L1"], + uturn: ["2L1"], + venomdrench: ["2L1"], + venoshock: ["2L1"], + withdraw: ["2L1"], + }, + }, + saharascal: { + learnset: { + ancientpower: ["2L1"], + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + painsplit: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + protect: ["2L1"], + rapidspin: ["2L1"], + rest: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + substitute: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + }, + }, + saharaja: { + learnset: { + attract: ["2L1"], + bodypress: ["2L1"], + bodyslam: ["2L1"], + bulldoze: ["2L1"], + dazzlinggleam: ["2L1"], + diamondstorm: ["2L1"], + doubleedge: ["2L1"], + earthpower: ["2L1"], + earthquake: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + fissure: ["2L1"], + flashcannon: ["2L1"], + gigaimpact: ["2L1"], + healbell: ["2L1"], + heavyslam: ["2L1"], + highhorsepower: ["2L1"], + hornleech: ["2L1"], + hyperbeam: ["2L1"], + lashout: ["2L1"], + megakick: ["2L1"], + mudshot: ["2L1"], + outrage: ["2L1"], + payback: ["2L1"], + payday: ["2L1"], + powergem: ["2L1"], + protect: ["2L1"], + rest: ["2L1"], + rocktomb: ["2L1"], + round: ["2L1"], + sandattack: ["2L1"], + sandstorm: ["2L1"], + sandtomb: ["2L1"], + scorchingsands: ["2L1"], + sleeptalk: ["2L1"], + snore: ["2L1"], + spitup: ["2L1"], + stealthrock: ["2L1"], + stockpile: ["2L1"], + stomp: ["2L1"], + stompingtantrum: ["2L1"], + stoneedge: ["2L1"], + substitute: ["2L1"], + swallow: ["2L1"], + swordsdance: ["2L1"], + tackle: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thief: ["2L1"], + watergun: ["2L1"], + waterpulse: ["2L1"], + }, + }, + ababo: { + learnset: { + bodyslam: ["2L1"], + bulkup: ["2L1"], + charm: ["2L1"], + copycat: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + drainingkiss: ["2L1"], + endure: ["2L1"], + explosion: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + grassknot: ["2L1"], + helpinghand: ["2L1"], + hypervoice: ["2L1"], + lashout: ["2L1"], + lightscreen: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetkiss: ["2L1"], + takedown: ["2L1"], + terablast: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + wildcharge: ["2L1"], + wish: ["2L1"], + }, + }, + scattervein: { + learnset: { + batonpass: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + charm: ["2L1"], + copycat: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + explosion: ["2L1"], + extremespeed: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + flamethrower: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + lashout: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + seismictoss: ["2L1"], + shadowball: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetkiss: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + tickle: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + wish: ["2L1"], + wrap: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + hemogoblin: { + learnset: { + batonpass: ["2L1"], + bitterblade: ["2L1"], + bodyslam: ["2L1"], + brutalswing: ["2L1"], + bulkup: ["2L1"], + burningjealousy: ["2L1"], + charm: ["2L1"], + copycat: ["2L1"], + dazzlinggleam: ["2L1"], + defensecurl: ["2L1"], + disable: ["2L1"], + disarmingvoice: ["2L1"], + doubleedge: ["2L1"], + drainingkiss: ["2L1"], + echoedvoice: ["2L1"], + endure: ["2L1"], + energyball: ["2L1"], + facade: ["2L1"], + fireblast: ["2L1"], + firelash: ["2L1"], + flamethrower: ["2L1"], + flareblitz: ["2L1"], + fling: ["2L1"], + gigaimpact: ["2L1"], + grassknot: ["2L1"], + heatwave: ["2L1"], + helpinghand: ["2L1"], + hyperbeam: ["2L1"], + hypervoice: ["2L1"], + imprison: ["2L1"], + lashout: ["2L1"], + lifedew: ["2L1"], + lightscreen: ["2L1"], + magicalleaf: ["2L1"], + metronome: ["2L1"], + mistyexplosion: ["2L1"], + mistyterrain: ["2L1"], + moonblast: ["2L1"], + moonlight: ["2L1"], + overheat: ["2L1"], + playrough: ["2L1"], + pound: ["2L1"], + protect: ["2L1"], + psychic: ["2L1"], + psyshock: ["2L1"], + raindance: ["2L1"], + rest: ["2L1"], + safeguard: ["2L1"], + screech: ["2L1"], + shadowball: ["2L1"], + slam: ["2L1"], + sleeptalk: ["2L1"], + solarbeam: ["2L1"], + spikes: ["2L1"], + substitute: ["2L1"], + sunnyday: ["2L1"], + sweetkiss: ["2L1"], + tailwhip: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunder: ["2L1"], + thunderbolt: ["2L1"], + tickle: ["2L1"], + trailblaze: ["2L1"], + trick: ["2L1"], + wildcharge: ["2L1"], + willowisp: ["2L1"], + wrap: ["2L1"], + zenheadbutt: ["2L1"], + }, + }, + cresceidon: { + learnset: { + earthpower: ["2L1"], + encore: ["2L1"], + endure: ["2L1"], + facade: ["2L1"], + haze: ["2L1"], + healingwish: ["2L1"], + helpinghand: ["2L1"], + hydropump: ["2L1"], + moonblast: ["2L1"], + protect: ["2L1"], + recover: ["2L1"], + rest: ["2L1"], + scald: ["2L1"], + sleeptalk: ["2L1"], + substitute: ["2L1"], + surf: ["2L1"], + takedown: ["2L1"], + taunt: ["2L1"], + terablast: ["2L1"], + thunderwave: ["2L1"], + whirlpool: ["2L1"], + wish: ["2L1"], + }, + }, +}; \ No newline at end of file diff --git a/data/mods/moderngen2/pokedex.ts b/data/mods/moderngen2/pokedex.ts new file mode 100644 index 000000000000..9f40194fe299 --- /dev/null +++ b/data/mods/moderngen2/pokedex.ts @@ -0,0 +1,3817 @@ +export const Pokedex: {[k: string]: ModdedSpeciesData} = { + treecko: { + inherit: true, + gen: 2, + }, + grovyle: { + inherit: true, + gen: 2, + }, + sceptile: { + inherit: true, + gen: 2, + }, + sceptilemega: { + inherit: true, + gen: 2, + }, + torchic: { + inherit: true, + gen: 2, + }, + combusken: { + inherit: true, + gen: 2, + }, + blaziken: { + inherit: true, + gen: 2, + }, + blazikenmega: { + inherit: true, + gen: 2, + }, + mudkip: { + inherit: true, + gen: 2, + }, + marshtomp: { + inherit: true, + gen: 2, + }, + swampert: { + inherit: true, + gen: 2, + }, + swampertmega: { + inherit: true, + gen: 2, + }, + poochyena: { + inherit: true, + gen: 2, + }, + mightyena: { + inherit: true, + gen: 2, + }, + zigzagoon: { + inherit: true, + gen: 2, + }, + zigzagoongalar: { + inherit: true, + gen: 2, + }, + linoone: { + inherit: true, + gen: 2, + }, + linoonegalar: { + inherit: true, + gen: 2, + }, + wurmple: { + inherit: true, + gen: 2, + }, + silcoon: { + inherit: true, + gen: 2, + }, + beautifly: { + inherit: true, + gen: 2, + }, + cascoon: { + inherit: true, + gen: 2, + }, + dustox: { + inherit: true, + gen: 2, + }, + lotad: { + inherit: true, + gen: 2, + }, + lombre: { + inherit: true, + gen: 2, + }, + ludicolo: { + inherit: true, + gen: 2, + }, + seedot: { + inherit: true, + gen: 2, + }, + nuzleaf: { + inherit: true, + gen: 2, + }, + shiftry: { + inherit: true, + gen: 2, + }, + taillow: { + inherit: true, + gen: 2, + }, + swellow: { + inherit: true, + gen: 2, + }, + wingull: { + inherit: true, + gen: 2, + }, + pelipper: { + inherit: true, + gen: 2, + }, + ralts: { + inherit: true, + gen: 2, + }, + kirlia: { + inherit: true, + gen: 2, + }, + gardevoir: { + inherit: true, + gen: 2, + }, + gardevoirmega: { + inherit: true, + gen: 2, + }, + surskit: { + inherit: true, + gen: 2, + }, + masquerain: { + inherit: true, + gen: 2, + }, + shroomish: { + inherit: true, + gen: 2, + }, + breloom: { + inherit: true, + gen: 2, + }, + slakoth: { + inherit: true, + gen: 2, + }, + vigoroth: { + inherit: true, + gen: 2, + }, + slaking: { + inherit: true, + gen: 2, + }, + nincada: { + inherit: true, + gen: 2, + }, + ninjask: { + inherit: true, + gen: 2, + }, + shedinja: { + inherit: true, + gen: 2, + maxHP: 1, + }, + whismur: { + inherit: true, + gen: 2, + }, + loudred: { + inherit: true, + gen: 2, + }, + exploud: { + inherit: true, + gen: 2, + }, + makuhita: { + inherit: true, + gen: 2, + }, + hariyama: { + inherit: true, + gen: 2, + }, + azurill: { + inherit: true, + gen: 2, + canHatch: true, + }, + nosepass: { + inherit: true, + gen: 2, + }, + skitty: { + inherit: true, + gen: 2, + }, + delcatty: { + inherit: true, + gen: 2, + }, + sableye: { + inherit: true, + gen: 2, + }, + sableyemega: { + inherit: true, + gen: 2, + }, + mawile: { + inherit: true, + gen: 2, + }, + mawilemega: { + inherit: true, + gen: 2, + }, + aron: { + inherit: true, + gen: 2, + }, + lairon: { + inherit: true, + gen: 2, + }, + aggron: { + inherit: true, + gen: 2, + }, + aggronmega: { + inherit: true, + gen: 2, + }, + meditite: { + inherit: true, + gen: 2, + }, + medicham: { + inherit: true, + gen: 2, + }, + medichammega: { + inherit: true, + gen: 2, + }, + electrike: { + inherit: true, + gen: 2, + }, + manectric: { + inherit: true, + gen: 2, + }, + manectricmega: { + inherit: true, + gen: 2, + }, + plusle: { + inherit: true, + gen: 2, + }, + minun: { + inherit: true, + gen: 2, + }, + volbeat: { + inherit: true, + gen: 2, + }, + illumise: { + inherit: true, + gen: 2, + }, + roselia: { + inherit: true, + gen: 2, + canHatch: true, + }, + gulpin: { + inherit: true, + gen: 2, + }, + swalot: { + inherit: true, + gen: 2, + }, + carvanha: { + inherit: true, + gen: 2, + }, + sharpedo: { + inherit: true, + gen: 2, + }, + sharpedomega: { + inherit: true, + gen: 2, + }, + wailmer: { + inherit: true, + gen: 2, + }, + wailord: { + inherit: true, + gen: 2, + }, + numel: { + inherit: true, + gen: 2, + }, + camerupt: { + inherit: true, + gen: 2, + }, + cameruptmega: { + inherit: true, + gen: 2, + }, + torkoal: { + inherit: true, + gen: 2, + }, + spoink: { + inherit: true, + gen: 2, + }, + grumpig: { + inherit: true, + gen: 2, + }, + spinda: { + inherit: true, + gen: 2, + }, + trapinch: { + inherit: true, + gen: 2, + }, + vibrava: { + inherit: true, + gen: 2, + }, + flygon: { + inherit: true, + gen: 2, + }, + cacnea: { + inherit: true, + gen: 2, + }, + cacturne: { + inherit: true, + gen: 2, + }, + swablu: { + inherit: true, + gen: 2, + }, + altaria: { + inherit: true, + gen: 2, + }, + altariamega: { + inherit: true, + gen: 2, + }, + zangoose: { + inherit: true, + gen: 2, + }, + seviper: { + inherit: true, + gen: 2, + }, + lunatone: { + inherit: true, + gen: 2, + }, + solrock: { + inherit: true, + gen: 2, + }, + barboach: { + inherit: true, + gen: 2, + }, + whiscash: { + inherit: true, + gen: 2, + }, + corphish: { + inherit: true, + gen: 2, + }, + crawdaunt: { + inherit: true, + gen: 2, + }, + baltoy: { + inherit: true, + gen: 2, + }, + claydol: { + inherit: true, + gen: 2, + }, + lileep: { + inherit: true, + gen: 2, + }, + cradily: { + inherit: true, + gen: 2, + }, + anorith: { + inherit: true, + gen: 2, + }, + armaldo: { + inherit: true, + gen: 2, + }, + feebas: { + inherit: true, + gen: 2, + }, + milotic: { + inherit: true, + gen: 2, + }, + castform: { + inherit: true, + gen: 2, + }, + kecleon: { + inherit: true, + gen: 2, + }, + shuppet: { + inherit: true, + gen: 2, + }, + banette: { + inherit: true, + gen: 2, + }, + duskull: { + inherit: true, + gen: 2, + }, + dusclops: { + inherit: true, + gen: 2, + }, + tropius: { + inherit: true, + gen: 2, + }, + chimecho: { + inherit: true, + gen: 2, + canHatch: true, + }, + absol: { + inherit: true, + gen: 2, + }, + absolmega: { + inherit: true, + gen: 2, + }, + wynaut: { + inherit: true, + gen: 2, + canHatch: true, + }, + snorunt: { + inherit: true, + gen: 2, + }, + glalie: { + inherit: true, + gen: 2, + }, + glaliemega: { + inherit: true, + gen: 2, + }, + spheal: { + inherit: true, + gen: 2, + }, + sealeo: { + inherit: true, + gen: 2, + }, + walrein: { + inherit: true, + gen: 2, + }, + clamperl: { + inherit: true, + gen: 2, + }, + huntail: { + inherit: true, + gen: 2, + }, + gorebyss: { + inherit: true, + gen: 2, + }, + relicanth: { + inherit: true, + gen: 2, + }, + luvdisc: { + inherit: true, + gen: 2, + }, + bagon: { + inherit: true, + gen: 2, + }, + shelgon: { + inherit: true, + gen: 2, + }, + salamence: { + inherit: true, + gen: 2, + }, + salamencemega: { + inherit: true, + gen: 2, + }, + beldum: { + inherit: true, + gen: 2, + }, + metang: { + inherit: true, + gen: 2, + }, + metagross: { + inherit: true, + gen: 2, + }, + metagrossmega: { + inherit: true, + gen: 2, + }, + regirock: { + inherit: true, + gen: 2, + }, + regice: { + inherit: true, + gen: 2, + }, + registeel: { + inherit: true, + gen: 2, + }, + latias: { + inherit: true, + gen: 2, + }, + latiasmega: { + inherit: true, + gen: 2, + }, + latios: { + inherit: true, + gen: 2, + }, + latiosmega: { + inherit: true, + gen: 2, + }, + kyogre: { + inherit: true, + gen: 2, + }, + kyogreprimal: { + inherit: true, + gen: 2, + }, + groudon: { + inherit: true, + gen: 2, + }, + groudonprimal: { + inherit: true, + gen: 2, + }, + rayquaza: { + inherit: true, + gen: 2, + }, + rayquazamega: { + inherit: true, + gen: 2, + }, + jirachi: { + inherit: true, + gen: 2, + }, + deoxys: { + inherit: true, + gen: 2, + }, + deoxysattack: { + inherit: true, + gen: 2, + }, + deoxysdefense: { + inherit: true, + gen: 2, + }, + deoxysspeed: { + inherit: true, + gen: 2, + }, + turtwig: { + inherit: true, + gen: 2, + }, + grotle: { + inherit: true, + gen: 2, + }, + torterra: { + inherit: true, + gen: 2, + }, + chimchar: { + inherit: true, + gen: 2, + }, + monferno: { + inherit: true, + gen: 2, + }, + infernape: { + inherit: true, + gen: 2, + }, + piplup: { + inherit: true, + gen: 2, + }, + prinplup: { + inherit: true, + gen: 2, + }, + empoleon: { + inherit: true, + gen: 2, + }, + starly: { + inherit: true, + gen: 2, + }, + staravia: { + inherit: true, + gen: 2, + }, + staraptor: { + inherit: true, + gen: 2, + }, + bidoof: { + inherit: true, + gen: 2, + }, + bibarel: { + inherit: true, + gen: 2, + }, + kricketot: { + inherit: true, + gen: 2, + }, + kricketune: { + inherit: true, + gen: 2, + }, + shinx: { + inherit: true, + gen: 2, + }, + luxio: { + inherit: true, + gen: 2, + }, + luxray: { + inherit: true, + gen: 2, + }, + budew: { + inherit: true, + gen: 2, + canHatch: true, + }, + roserade: { + inherit: true, + gen: 2, + }, + cranidos: { + inherit: true, + gen: 2, + }, + rampardos: { + inherit: true, + gen: 2, + }, + shieldon: { + inherit: true, + gen: 2, + }, + bastiodon: { + inherit: true, + gen: 2, + }, + burmy: { + inherit: true, + gen: 2, + }, + wormadam: { + inherit: true, + gen: 2, + }, + wormadamsandy: { + inherit: true, + gen: 2, + }, + wormadamtrash: { + inherit: true, + gen: 2, + }, + mothim: { + inherit: true, + gen: 2, + }, + combee: { + inherit: true, + gen: 2, + }, + vespiquen: { + inherit: true, + gen: 2, + }, + pachirisu: { + inherit: true, + gen: 2, + }, + buizel: { + inherit: true, + gen: 2, + }, + floatzel: { + inherit: true, + gen: 2, + }, + cherubi: { + inherit: true, + gen: 2, + }, + cherrim: { + inherit: true, + gen: 2, + }, + shellos: { + inherit: true, + gen: 2, + }, + gastrodon: { + inherit: true, + gen: 2, + }, + ambipom: { + inherit: true, + gen: 2, + }, + drifloon: { + inherit: true, + gen: 2, + }, + drifblim: { + inherit: true, + gen: 2, + }, + buneary: { + inherit: true, + gen: 2, + }, + lopunny: { + inherit: true, + gen: 2, + }, + lopunnymega: { + inherit: true, + gen: 2, + }, + mismagius: { + inherit: true, + gen: 2, + }, + honchkrow: { + inherit: true, + gen: 2, + }, + glameow: { + inherit: true, + gen: 2, + }, + purugly: { + inherit: true, + gen: 2, + }, + chingling: { + inherit: true, + gen: 2, + canHatch: true, + }, + stunky: { + inherit: true, + gen: 2, + }, + skuntank: { + inherit: true, + gen: 2, + }, + bronzor: { + inherit: true, + gen: 2, + }, + bronzong: { + inherit: true, + gen: 2, + }, + bonsly: { + inherit: true, + gen: 2, + canHatch: true, + }, + mimejr: { + inherit: true, + gen: 2, + canHatch: true, + }, + happiny: { + inherit: true, + gen: 2, + canHatch: true, + }, + chatot: { + inherit: true, + gen: 2, + }, + spiritomb: { + inherit: true, + gen: 2, + }, + gible: { + inherit: true, + gen: 2, + }, + gabite: { + inherit: true, + gen: 2, + }, + garchomp: { + inherit: true, + gen: 2, + }, + garchompmega: { + inherit: true, + gen: 2, + }, + munchlax: { + inherit: true, + gen: 2, + canHatch: true, + }, + riolu: { + inherit: true, + gen: 2, + canHatch: true, + }, + lucario: { + inherit: true, + gen: 2, + }, + lucariomega: { + inherit: true, + gen: 2, + }, + hippopotas: { + inherit: true, + gen: 2, + }, + hippowdon: { + inherit: true, + gen: 2, + }, + skorupi: { + inherit: true, + gen: 2, + }, + drapion: { + inherit: true, + gen: 2, + }, + croagunk: { + inherit: true, + gen: 2, + }, + toxicroak: { + inherit: true, + gen: 2, + }, + carnivine: { + inherit: true, + gen: 2, + }, + finneon: { + inherit: true, + gen: 2, + }, + lumineon: { + inherit: true, + gen: 2, + }, + mantyke: { + inherit: true, + gen: 2, + canHatch: true, + }, + snover: { + inherit: true, + gen: 2, + }, + abomasnow: { + inherit: true, + gen: 2, + }, + abomasnowmega: { + inherit: true, + gen: 2, + }, + weavile: { + inherit: true, + gen: 2, + }, + magnezone: { + inherit: true, + gen: 2, + }, + lickilicky: { + inherit: true, + gen: 2, + }, + rhyperior: { + inherit: true, + gen: 2, + }, + tangrowth: { + inherit: true, + gen: 2, + }, + electivire: { + inherit: true, + gen: 2, + }, + magmortar: { + inherit: true, + gen: 2, + }, + togekiss: { + inherit: true, + gen: 2, + }, + yanmega: { + inherit: true, + gen: 2, + }, + leafeon: { + inherit: true, + gen: 2, + }, + glaceon: { + inherit: true, + gen: 2, + }, + gliscor: { + inherit: true, + gen: 2, + }, + mamoswine: { + inherit: true, + gen: 2, + }, + porygonz: { + inherit: true, + gen: 2, + }, + gallade: { + inherit: true, + gen: 2, + }, + gallademega: { + inherit: true, + gen: 2, + }, + probopass: { + inherit: true, + gen: 2, + }, + dusknoir: { + inherit: true, + gen: 2, + }, + froslass: { + inherit: true, + gen: 2, + }, + rotom: { + inherit: true, + gen: 2, + }, + rotomheat: { + inherit: true, + gen: 2, + }, + rotomwash: { + inherit: true, + gen: 2, + }, + rotomfrost: { + inherit: true, + gen: 2, + }, + rotomfan: { + inherit: true, + gen: 2, + }, + rotommow: { + inherit: true, + gen: 2, + }, + uxie: { + inherit: true, + gen: 2, + }, + mesprit: { + inherit: true, + gen: 2, + }, + azelf: { + inherit: true, + gen: 2, + }, + dialga: { + inherit: true, + gen: 2, + }, + dialgaorigin: { + inherit: true, + gen: 2, + }, + palkia: { + inherit: true, + gen: 2, + }, + palkiaorigin: { + inherit: true, + gen: 2, + }, + heatran: { + inherit: true, + gen: 2, + }, + regigigas: { + inherit: true, + gen: 2, + }, + giratina: { + inherit: true, + gen: 2, + }, + giratinaorigin: { + inherit: true, + gen: 2, + }, + cresselia: { + inherit: true, + gen: 2, + }, + phione: { + inherit: true, + gen: 2, + }, + manaphy: { + inherit: true, + gen: 2, + }, + darkrai: { + inherit: true, + gen: 2, + }, + shaymin: { + inherit: true, + gen: 2, + }, + shayminsky: { + inherit: true, + gen: 2, + }, + arceus: { + inherit: true, + gen: 2, + }, + victini: { + inherit: true, + gen: 2, + }, + snivy: { + inherit: true, + gen: 2, + }, + servine: { + inherit: true, + gen: 2, + }, + serperior: { + inherit: true, + gen: 2, + }, + tepig: { + inherit: true, + gen: 2, + }, + pignite: { + inherit: true, + gen: 2, + }, + emboar: { + inherit: true, + gen: 2, + }, + oshawott: { + inherit: true, + gen: 2, + }, + dewott: { + inherit: true, + gen: 2, + }, + samurott: { + inherit: true, + gen: 2, + }, + samurotthisui: { + inherit: true, + gen: 2, + }, + patrat: { + inherit: true, + gen: 2, + }, + watchog: { + inherit: true, + gen: 2, + }, + lillipup: { + inherit: true, + gen: 2, + }, + herdier: { + inherit: true, + gen: 2, + }, + stoutland: { + inherit: true, + gen: 2, + }, + purrloin: { + inherit: true, + gen: 2, + }, + liepard: { + inherit: true, + gen: 2, + }, + pansage: { + inherit: true, + gen: 2, + }, + simisage: { + inherit: true, + gen: 2, + }, + pansear: { + inherit: true, + gen: 2, + }, + simisear: { + inherit: true, + gen: 2, + }, + panpour: { + inherit: true, + gen: 2, + }, + simipour: { + inherit: true, + gen: 2, + }, + munna: { + inherit: true, + gen: 2, + }, + musharna: { + inherit: true, + gen: 2, + }, + pidove: { + inherit: true, + gen: 2, + }, + tranquill: { + inherit: true, + gen: 2, + }, + unfezant: { + inherit: true, + gen: 2, + }, + blitzle: { + inherit: true, + gen: 2, + }, + zebstrika: { + inherit: true, + gen: 2, + }, + roggenrola: { + inherit: true, + gen: 2, + }, + boldore: { + inherit: true, + gen: 2, + }, + gigalith: { + inherit: true, + gen: 2, + }, + woobat: { + inherit: true, + gen: 2, + }, + swoobat: { + inherit: true, + gen: 2, + }, + drilbur: { + inherit: true, + gen: 2, + }, + excadrill: { + inherit: true, + gen: 2, + }, + audino: { + inherit: true, + gen: 2, + }, + audinomega: { + inherit: true, + gen: 2, + }, + timburr: { + inherit: true, + gen: 2, + }, + gurdurr: { + inherit: true, + gen: 2, + }, + conkeldurr: { + inherit: true, + gen: 2, + }, + tympole: { + inherit: true, + gen: 2, + }, + palpitoad: { + inherit: true, + gen: 2, + }, + seismitoad: { + inherit: true, + gen: 2, + }, + throh: { + inherit: true, + gen: 2, + }, + sawk: { + inherit: true, + gen: 2, + }, + sewaddle: { + inherit: true, + gen: 2, + }, + swadloon: { + inherit: true, + gen: 2, + }, + leavanny: { + inherit: true, + gen: 2, + }, + venipede: { + inherit: true, + gen: 2, + }, + whirlipede: { + inherit: true, + gen: 2, + }, + scolipede: { + inherit: true, + gen: 2, + }, + cottonee: { + inherit: true, + gen: 2, + }, + whimsicott: { + inherit: true, + gen: 2, + }, + petilil: { + inherit: true, + gen: 2, + }, + lilligant: { + inherit: true, + gen: 2, + }, + lilliganthisui: { + inherit: true, + gen: 2, + }, + basculin: { + inherit: true, + gen: 2, + }, + basculinbluestriped: { + inherit: true, + gen: 2, + }, + basculinwhitestriped: { + inherit: true, + gen: 2, + }, + sandile: { + inherit: true, + gen: 2, + }, + krokorok: { + inherit: true, + gen: 2, + }, + krookodile: { + inherit: true, + gen: 2, + }, + darumaka: { + inherit: true, + gen: 2, + }, + darumakagalar: { + inherit: true, + gen: 2, + }, + darmanitan: { + inherit: true, + gen: 2, + }, + darmanitangalar: { + inherit: true, + gen: 2, + }, + maractus: { + inherit: true, + gen: 2, + }, + dwebble: { + inherit: true, + gen: 2, + }, + crustle: { + inherit: true, + gen: 2, + }, + scraggy: { + inherit: true, + gen: 2, + }, + scrafty: { + inherit: true, + gen: 2, + }, + sigilyph: { + inherit: true, + gen: 2, + }, + yamask: { + inherit: true, + gen: 2, + }, + yamaskgalar: { + inherit: true, + gen: 2, + }, + cofagrigus: { + inherit: true, + gen: 2, + }, + tirtouga: { + inherit: true, + gen: 2, + }, + carracosta: { + inherit: true, + gen: 2, + }, + archen: { + inherit: true, + gen: 2, + }, + archeops: { + inherit: true, + gen: 2, + }, + trubbish: { + inherit: true, + gen: 2, + }, + garbodor: { + inherit: true, + gen: 2, + }, + zorua: { + inherit: true, + gen: 2, + }, + zoruahisui: { + inherit: true, + gen: 2, + }, + zoroark: { + inherit: true, + gen: 2, + }, + zoroarkhisui: { + inherit: true, + gen: 2, + }, + minccino: { + inherit: true, + gen: 2, + }, + cinccino: { + inherit: true, + gen: 2, + }, + gothita: { + inherit: true, + gen: 2, + }, + gothorita: { + inherit: true, + gen: 2, + }, + gothitelle: { + inherit: true, + gen: 2, + }, + solosis: { + inherit: true, + gen: 2, + }, + duosion: { + inherit: true, + gen: 2, + }, + reuniclus: { + inherit: true, + gen: 2, + }, + ducklett: { + inherit: true, + gen: 2, + }, + swanna: { + inherit: true, + gen: 2, + }, + vanillite: { + inherit: true, + gen: 2, + }, + vanillish: { + inherit: true, + gen: 2, + }, + vanilluxe: { + inherit: true, + gen: 2, + }, + deerling: { + inherit: true, + gen: 2, + }, + sawsbuck: { + inherit: true, + gen: 2, + }, + emolga: { + inherit: true, + gen: 2, + }, + karrablast: { + inherit: true, + gen: 2, + }, + escavalier: { + inherit: true, + gen: 2, + }, + foongus: { + inherit: true, + gen: 2, + }, + amoonguss: { + inherit: true, + gen: 2, + }, + frillish: { + inherit: true, + gen: 2, + }, + jellicent: { + inherit: true, + gen: 2, + }, + alomomola: { + inherit: true, + gen: 2, + }, + joltik: { + inherit: true, + gen: 2, + }, + galvantula: { + inherit: true, + gen: 2, + }, + ferroseed: { + inherit: true, + gen: 2, + }, + ferrothorn: { + inherit: true, + gen: 2, + }, + klink: { + inherit: true, + gen: 2, + }, + klang: { + inherit: true, + gen: 2, + }, + klinklang: { + inherit: true, + gen: 2, + }, + tynamo: { + inherit: true, + gen: 2, + }, + eelektrik: { + inherit: true, + gen: 2, + }, + eelektross: { + inherit: true, + gen: 2, + }, + elgyem: { + inherit: true, + gen: 2, + }, + beheeyem: { + inherit: true, + gen: 2, + }, + litwick: { + inherit: true, + gen: 2, + }, + lampent: { + inherit: true, + gen: 2, + }, + chandelure: { + inherit: true, + gen: 2, + }, + axew: { + inherit: true, + gen: 2, + }, + fraxure: { + inherit: true, + gen: 2, + }, + haxorus: { + inherit: true, + gen: 2, + }, + cubchoo: { + inherit: true, + gen: 2, + }, + beartic: { + inherit: true, + gen: 2, + }, + cryogonal: { + inherit: true, + gen: 2, + }, + shelmet: { + inherit: true, + gen: 2, + }, + accelgor: { + inherit: true, + gen: 2, + }, + stunfisk: { + inherit: true, + gen: 2, + }, + stunfiskgalar: { + inherit: true, + gen: 2, + }, + mienfoo: { + inherit: true, + gen: 2, + }, + mienshao: { + inherit: true, + gen: 2, + }, + druddigon: { + inherit: true, + gen: 2, + }, + golett: { + inherit: true, + gen: 2, + }, + golurk: { + inherit: true, + gen: 2, + }, + pawniard: { + inherit: true, + gen: 2, + }, + bisharp: { + inherit: true, + gen: 2, + }, + bouffalant: { + inherit: true, + gen: 2, + }, + rufflet: { + inherit: true, + gen: 2, + }, + braviary: { + inherit: true, + gen: 2, + }, + braviaryhisui: { + inherit: true, + gen: 2, + }, + vullaby: { + inherit: true, + gen: 2, + }, + mandibuzz: { + inherit: true, + gen: 2, + }, + heatmor: { + inherit: true, + gen: 2, + }, + durant: { + inherit: true, + gen: 2, + }, + deino: { + inherit: true, + gen: 2, + }, + zweilous: { + inherit: true, + gen: 2, + }, + hydreigon: { + inherit: true, + gen: 2, + }, + larvesta: { + inherit: true, + gen: 2, + }, + volcarona: { + inherit: true, + gen: 2, + }, + cobalion: { + inherit: true, + gen: 2, + }, + terrakion: { + inherit: true, + gen: 2, + }, + virizion: { + inherit: true, + gen: 2, + }, + tornadus: { + inherit: true, + gen: 2, + }, + tornadustherian: { + inherit: true, + gen: 2, + }, + thundurus: { + inherit: true, + gen: 2, + }, + thundurustherian: { + inherit: true, + gen: 2, + }, + reshiram: { + inherit: true, + gen: 2, + }, + zekrom: { + inherit: true, + gen: 2, + }, + landorus: { + inherit: true, + gen: 2, + }, + landorustherian: { + inherit: true, + gen: 2, + }, + kyurem: { + inherit: true, + gen: 2, + }, + kyuremblack: { + inherit: true, + gen: 2, + }, + kyuremwhite: { + inherit: true, + gen: 2, + }, + keldeo: { + inherit: true, + gen: 2, + }, + meloetta: { + inherit: true, + gen: 2, + }, + genesect: { + inherit: true, + gen: 2, + }, + chespin: { + inherit: true, + gen: 2, + }, + quilladin: { + inherit: true, + gen: 2, + }, + chesnaught: { + inherit: true, + gen: 2, + }, + fennekin: { + inherit: true, + gen: 2, + }, + braixen: { + inherit: true, + gen: 2, + }, + delphox: { + inherit: true, + gen: 2, + }, + froakie: { + inherit: true, + gen: 2, + }, + frogadier: { + inherit: true, + gen: 2, + }, + greninja: { + inherit: true, + gen: 2, + }, + bunnelby: { + inherit: true, + gen: 2, + }, + diggersby: { + inherit: true, + gen: 2, + }, + fletchling: { + inherit: true, + gen: 2, + }, + fletchinder: { + inherit: true, + gen: 2, + }, + talonflame: { + inherit: true, + gen: 2, + }, + scatterbug: { + inherit: true, + gen: 2, + }, + spewpa: { + inherit: true, + gen: 2, + }, + vivillon: { + inherit: true, + gen: 2, + }, + vivillonfancy: { + inherit: true, + gen: 2, + }, + vivillonpokeball: { + inherit: true, + gen: 2, + }, + litleo: { + inherit: true, + gen: 2, + }, + pyroar: { + inherit: true, + gen: 2, + }, + flabebe: { + inherit: true, + gen: 2, + }, + floette: { + inherit: true, + gen: 2, + }, + floetteeternal: { + inherit: true, + gen: 2, + }, + florges: { + inherit: true, + gen: 2, + }, + skiddo: { + inherit: true, + gen: 2, + }, + gogoat: { + inherit: true, + gen: 2, + }, + pancham: { + inherit: true, + gen: 2, + }, + pangoro: { + inherit: true, + gen: 2, + }, + furfrou: { + inherit: true, + gen: 2, + }, + espurr: { + inherit: true, + gen: 2, + }, + meowstic: { + inherit: true, + gen: 2, + }, + meowsticf: { + inherit: true, + gen: 2, + }, + honedge: { + inherit: true, + gen: 2, + }, + doublade: { + inherit: true, + gen: 2, + }, + aegislash: { + inherit: true, + gen: 2, + }, + spritzee: { + inherit: true, + gen: 2, + }, + aromatisse: { + inherit: true, + gen: 2, + }, + swirlix: { + inherit: true, + gen: 2, + }, + slurpuff: { + inherit: true, + gen: 2, + }, + inkay: { + inherit: true, + gen: 2, + }, + malamar: { + inherit: true, + gen: 2, + }, + binacle: { + inherit: true, + gen: 2, + }, + barbaracle: { + inherit: true, + gen: 2, + }, + skrelp: { + inherit: true, + gen: 2, + }, + dragalge: { + inherit: true, + gen: 2, + }, + clauncher: { + inherit: true, + gen: 2, + }, + clawitzer: { + inherit: true, + gen: 2, + }, + helioptile: { + inherit: true, + gen: 2, + }, + heliolisk: { + inherit: true, + gen: 2, + }, + tyrunt: { + inherit: true, + gen: 2, + }, + tyrantrum: { + inherit: true, + gen: 2, + }, + amaura: { + inherit: true, + gen: 2, + }, + aurorus: { + inherit: true, + gen: 2, + }, + sylveon: { + inherit: true, + gen: 2, + }, + hawlucha: { + inherit: true, + gen: 2, + }, + dedenne: { + inherit: true, + gen: 2, + }, + carbink: { + inherit: true, + gen: 2, + }, + goomy: { + inherit: true, + gen: 2, + }, + sliggoo: { + inherit: true, + gen: 2, + }, + sliggoohisui: { + inherit: true, + gen: 2, + }, + goodra: { + inherit: true, + gen: 2, + }, + goodrahisui: { + inherit: true, + gen: 2, + }, + klefki: { + inherit: true, + gen: 2, + }, + phantump: { + inherit: true, + gen: 2, + }, + trevenant: { + inherit: true, + gen: 2, + }, + pumpkaboo: { + inherit: true, + gen: 2, + }, + pumpkaboosmall: { + inherit: true, + gen: 2, + }, + pumpkaboolarge: { + inherit: true, + gen: 2, + }, + pumpkaboosuper: { + inherit: true, + gen: 2, + }, + gourgeist: { + inherit: true, + gen: 2, + }, + gourgeistsmall: { + inherit: true, + gen: 2, + }, + gourgeistlarge: { + inherit: true, + gen: 2, + }, + gourgeistsuper: { + inherit: true, + gen: 2, + }, + bergmite: { + inherit: true, + gen: 2, + }, + avalugg: { + inherit: true, + gen: 2, + }, + avalugghisui: { + inherit: true, + gen: 2, + }, + noibat: { + inherit: true, + gen: 2, + }, + noivern: { + inherit: true, + gen: 2, + }, + xerneas: { + inherit: true, + gen: 2, + }, + xerneasneutral: { + inherit: true, + gen: 2, + }, + yveltal: { + inherit: true, + gen: 2, + }, + zygarde: { + inherit: true, + gen: 2, + }, + zygarde10: { + inherit: true, + gen: 2, + }, + diancie: { + inherit: true, + gen: 2, + }, + dianciemega: { + inherit: true, + gen: 2, + }, + hoopa: { + inherit: true, + gen: 2, + }, + hoopaunbound: { + inherit: true, + gen: 2, + }, + volcanion: { + inherit: true, + gen: 2, + }, + rowlet: { + inherit: true, + gen: 2, + }, + dartrix: { + inherit: true, + gen: 2, + }, + decidueye: { + inherit: true, + gen: 2, + }, + decidueyehisui: { + inherit: true, + gen: 2, + }, + litten: { + inherit: true, + gen: 2, + }, + torracat: { + inherit: true, + gen: 2, + }, + incineroar: { + inherit: true, + gen: 2, + }, + popplio: { + inherit: true, + gen: 2, + }, + brionne: { + inherit: true, + gen: 2, + }, + primarina: { + inherit: true, + gen: 2, + }, + pikipek: { + inherit: true, + gen: 2, + }, + trumbeak: { + inherit: true, + gen: 2, + }, + toucannon: { + inherit: true, + gen: 2, + }, + yungoos: { + inherit: true, + gen: 2, + }, + gumshoos: { + inherit: true, + gen: 2, + }, + grubbin: { + inherit: true, + gen: 2, + }, + charjabug: { + inherit: true, + gen: 2, + }, + vikavolt: { + inherit: true, + gen: 2, + }, + crabrawler: { + inherit: true, + gen: 2, + }, + crabominable: { + inherit: true, + gen: 2, + }, + oricorio: { + inherit: true, + gen: 2, + }, + oricoriopompom: { + inherit: true, + gen: 2, + }, + oricoriopau: { + inherit: true, + gen: 2, + }, + oricoriosensu: { + inherit: true, + gen: 2, + }, + cutiefly: { + inherit: true, + gen: 2, + }, + ribombee: { + inherit: true, + gen: 2, + }, + rockruff: { + inherit: true, + gen: 2, + }, + lycanroc: { + inherit: true, + gen: 2, + }, + lycanrocmidnight: { + inherit: true, + gen: 2, + }, + lycanrocdusk: { + inherit: true, + gen: 2, + }, + wishiwashi: { + inherit: true, + gen: 2, + }, + mareanie: { + inherit: true, + gen: 2, + }, + toxapex: { + inherit: true, + gen: 2, + }, + mudbray: { + inherit: true, + gen: 2, + }, + mudsdale: { + inherit: true, + gen: 2, + }, + dewpider: { + inherit: true, + gen: 2, + }, + araquanid: { + inherit: true, + gen: 2, + }, + fomantis: { + inherit: true, + gen: 2, + }, + lurantis: { + inherit: true, + gen: 2, + }, + morelull: { + inherit: true, + gen: 2, + }, + shiinotic: { + inherit: true, + gen: 2, + }, + salandit: { + inherit: true, + gen: 2, + }, + salazzle: { + inherit: true, + gen: 2, + }, + stufful: { + inherit: true, + gen: 2, + }, + bewear: { + inherit: true, + gen: 2, + }, + bounsweet: { + inherit: true, + gen: 2, + }, + steenee: { + inherit: true, + gen: 2, + }, + tsareena: { + inherit: true, + gen: 2, + }, + comfey: { + inherit: true, + gen: 2, + }, + oranguru: { + inherit: true, + gen: 2, + }, + passimian: { + inherit: true, + gen: 2, + }, + wimpod: { + inherit: true, + gen: 2, + }, + golisopod: { + inherit: true, + gen: 2, + }, + sandygast: { + inherit: true, + gen: 2, + }, + palossand: { + inherit: true, + gen: 2, + }, + pyukumuku: { + inherit: true, + gen: 2, + }, + typenull: { + inherit: true, + gen: 2, + }, + silvally: { + inherit: true, + gen: 2, + }, + minior: { + inherit: true, + gen: 2, + }, + komala: { + inherit: true, + gen: 2, + }, + turtonator: { + inherit: true, + gen: 2, + }, + togedemaru: { + inherit: true, + gen: 2, + }, + mimikyu: { + inherit: true, + gen: 2, + }, + bruxish: { + inherit: true, + gen: 2, + }, + drampa: { + inherit: true, + gen: 2, + }, + dhelmise: { + inherit: true, + gen: 2, + }, + jangmoo: { + inherit: true, + gen: 2, + }, + hakamoo: { + inherit: true, + gen: 2, + }, + kommoo: { + inherit: true, + gen: 2, + }, + tapukoko: { + inherit: true, + gen: 2, + }, + tapulele: { + inherit: true, + gen: 2, + }, + tapubulu: { + inherit: true, + gen: 2, + }, + tapufini: { + inherit: true, + gen: 2, + }, + cosmog: { + inherit: true, + gen: 2, + }, + cosmoem: { + inherit: true, + gen: 2, + }, + solgaleo: { + inherit: true, + gen: 2, + }, + lunala: { + inherit: true, + gen: 2, + }, + nihilego: { + inherit: true, + gen: 2, + }, + buzzwole: { + inherit: true, + gen: 2, + }, + pheromosa: { + inherit: true, + gen: 2, + }, + xurkitree: { + inherit: true, + gen: 2, + }, + celesteela: { + inherit: true, + gen: 2, + }, + kartana: { + inherit: true, + gen: 2, + }, + guzzlord: { + inherit: true, + gen: 2, + }, + necrozma: { + inherit: true, + gen: 2, + }, + necrozmaduskmane: { + inherit: true, + gen: 2, + }, + necrozmadawnwings: { + inherit: true, + gen: 2, + }, + necrozmaultra: { + inherit: true, + gen: 2, + }, + magearna: { + inherit: true, + gen: 2, + }, + magearnaoriginal: { + inherit: true, + gen: 2, + }, + marshadow: { + inherit: true, + gen: 2, + }, + poipole: { + inherit: true, + gen: 2, + }, + naganadel: { + inherit: true, + gen: 2, + }, + stakataka: { + inherit: true, + gen: 2, + }, + blacephalon: { + inherit: true, + gen: 2, + }, + zeraora: { + inherit: true, + gen: 2, + }, + meltan: { + inherit: true, + gen: 2, + }, + melmetal: { + inherit: true, + gen: 2, + }, + grookey: { + inherit: true, + gen: 2, + }, + thwackey: { + inherit: true, + gen: 2, + }, + rillaboom: { + inherit: true, + gen: 2, + }, + scorbunny: { + inherit: true, + gen: 2, + }, + raboot: { + inherit: true, + gen: 2, + }, + cinderace: { + inherit: true, + gen: 2, + }, + sobble: { + inherit: true, + gen: 2, + }, + drizzile: { + inherit: true, + gen: 2, + }, + inteleon: { + inherit: true, + gen: 2, + }, + skwovet: { + inherit: true, + gen: 2, + }, + greedent: { + inherit: true, + gen: 2, + }, + rookidee: { + inherit: true, + gen: 2, + }, + corvisquire: { + inherit: true, + gen: 2, + }, + corviknight: { + inherit: true, + gen: 2, + }, + blipbug: { + inherit: true, + gen: 2, + }, + dottler: { + inherit: true, + gen: 2, + }, + orbeetle: { + inherit: true, + gen: 2, + }, + nickit: { + inherit: true, + gen: 2, + }, + thievul: { + inherit: true, + gen: 2, + }, + gossifleur: { + inherit: true, + gen: 2, + }, + eldegoss: { + inherit: true, + gen: 2, + }, + wooloo: { + inherit: true, + gen: 2, + }, + dubwool: { + inherit: true, + gen: 2, + }, + chewtle: { + inherit: true, + gen: 2, + }, + drednaw: { + inherit: true, + gen: 2, + }, + yamper: { + inherit: true, + gen: 2, + }, + boltund: { + inherit: true, + gen: 2, + }, + rolycoly: { + inherit: true, + gen: 2, + }, + carkol: { + inherit: true, + gen: 2, + }, + coalossal: { + inherit: true, + gen: 2, + }, + applin: { + inherit: true, + gen: 2, + }, + flapple: { + inherit: true, + gen: 2, + }, + appletun: { + inherit: true, + gen: 2, + }, + silicobra: { + inherit: true, + gen: 2, + }, + sandaconda: { + inherit: true, + gen: 2, + }, + cramorant: { + inherit: true, + gen: 2, + }, + cramorantgulping: { + inherit: true, + gen: 2, + }, + cramorantgorging: { + inherit: true, + gen: 2, + }, + arrokuda: { + inherit: true, + gen: 2, + }, + barraskewda: { + inherit: true, + gen: 2, + }, + toxel: { + inherit: true, + gen: 2, + canHatch: true, + }, + toxtricity: { + inherit: true, + gen: 2, + }, + toxtricitylowkey: { + inherit: true, + gen: 2, + }, + sizzlipede: { + inherit: true, + gen: 2, + }, + centiskorch: { + inherit: true, + gen: 2, + }, + clobbopus: { + inherit: true, + gen: 2, + }, + grapploct: { + inherit: true, + gen: 2, + }, + sinistea: { + inherit: true, + gen: 2, + }, + sinisteaantique: { + inherit: true, + gen: 2, + }, + polteageist: { + inherit: true, + gen: 2, + }, + polteageistantique: { + inherit: true, + gen: 2, + }, + hatenna: { + inherit: true, + gen: 2, + }, + hattrem: { + inherit: true, + gen: 2, + }, + hatterene: { + inherit: true, + gen: 2, + }, + impidimp: { + inherit: true, + gen: 2, + }, + morgrem: { + inherit: true, + gen: 2, + }, + grimmsnarl: { + inherit: true, + gen: 2, + }, + obstagoon: { + inherit: true, + gen: 2, + }, + perrserker: { + inherit: true, + gen: 2, + }, + cursola: { + inherit: true, + gen: 2, + }, + sirfetchd: { + inherit: true, + gen: 2, + }, + runerigus: { + inherit: true, + gen: 2, + }, + milcery: { + inherit: true, + gen: 2, + }, + alcremie: { + inherit: true, + gen: 2, + }, + falinks: { + inherit: true, + gen: 2, + }, + pincurchin: { + inherit: true, + gen: 2, + }, + snom: { + inherit: true, + gen: 2, + }, + frosmoth: { + inherit: true, + gen: 2, + }, + stonjourner: { + inherit: true, + gen: 2, + }, + eiscue: { + inherit: true, + gen: 2, + }, + eiscuenoice: { + inherit: true, + gen: 2, + }, + indeedee: { + inherit: true, + gen: 2, + }, + indeedeef: { + inherit: true, + gen: 2, + }, + morpeko: { + inherit: true, + gen: 2, + }, + morpekohangry: { + inherit: true, + gen: 2, + }, + cufant: { + inherit: true, + gen: 2, + }, + copperajah: { + inherit: true, + gen: 2, + }, + dracozolt: { + inherit: true, + gen: 2, + }, + arctozolt: { + inherit: true, + gen: 2, + }, + dracovish: { + inherit: true, + gen: 2, + }, + arctovish: { + inherit: true, + gen: 2, + }, + duraludon: { + inherit: true, + gen: 2, + }, + dreepy: { + inherit: true, + gen: 2, + }, + drakloak: { + inherit: true, + gen: 2, + }, + dragapult: { + inherit: true, + gen: 2, + }, + zacian: { + inherit: true, + gen: 2, + }, + zamazenta: { + inherit: true, + gen: 2, + }, + eternatus: { + inherit: true, + gen: 2, + cannotDynamax: true, + }, + kubfu: { + inherit: true, + gen: 2, + }, + urshifu: { + inherit: true, + gen: 2, + }, + urshifurapidstrike: { + inherit: true, + gen: 2, + }, + zarude: { + inherit: true, + gen: 2, + }, + zarudedada: { + inherit: true, + gen: 2, + }, + regieleki: { + inherit: true, + gen: 2, + }, + regidrago: { + inherit: true, + gen: 2, + }, + glastrier: { + inherit: true, + gen: 2, + }, + spectrier: { + inherit: true, + gen: 2, + }, + calyrex: { + inherit: true, + gen: 2, + }, + calyrexice: { + inherit: true, + gen: 2, + }, + calyrexshadow: { + inherit: true, + gen: 2, + }, + wyrdeer: { + inherit: true, + gen: 2, + }, + kleavor: { + inherit: true, + gen: 2, + }, + ursaluna: { + inherit: true, + gen: 2, + }, + ursalunabloodmoon: { + inherit: true, + gen: 2, + }, + basculegion: { + inherit: true, + gen: 2, + }, + basculegionf: { + inherit: true, + gen: 2, + }, + sneasler: { + inherit: true, + gen: 2, + }, + overqwil: { + inherit: true, + gen: 2, + }, + enamorus: { + inherit: true, + gen: 2, + }, + enamorustherian: { + inherit: true, + gen: 2, + }, + sprigatito: { + inherit: true, + gen: 2, + }, + floragato: { + inherit: true, + gen: 2, + }, + meowscarada: { + inherit: true, + gen: 2, + }, + fuecoco: { + inherit: true, + gen: 2, + }, + crocalor: { + inherit: true, + gen: 2, + }, + skeledirge: { + inherit: true, + gen: 2, + }, + quaxly: { + inherit: true, + gen: 2, + }, + quaxwell: { + inherit: true, + gen: 2, + }, + quaquaval: { + inherit: true, + gen: 2, + }, + lechonk: { + inherit: true, + gen: 2, + }, + oinkologne: { + inherit: true, + gen: 2, + }, + oinkolognef: { + inherit: true, + gen: 2, + }, + tarountula: { + inherit: true, + gen: 2, + }, + spidops: { + inherit: true, + gen: 2, + }, + nymble: { + inherit: true, + gen: 2, + }, + lokix: { + inherit: true, + gen: 2, + }, + pawmi: { + inherit: true, + gen: 2, + }, + pawmo: { + inherit: true, + gen: 2, + }, + pawmot: { + inherit: true, + gen: 2, + }, + tandemaus: { + inherit: true, + gen: 2, + }, + maushold: { + inherit: true, + gen: 2, + }, + mausholdfour: { + inherit: true, + gen: 2, + }, + fidough: { + inherit: true, + gen: 2, + }, + dachsbun: { + inherit: true, + gen: 2, + }, + smoliv: { + inherit: true, + gen: 2, + }, + dolliv: { + inherit: true, + gen: 2, + }, + arboliva: { + inherit: true, + gen: 2, + }, + squawkabilly: { + inherit: true, + gen: 2, + }, + squawkabillyblue: { + inherit: true, + gen: 2, + }, + squawkabillyyellow: { + inherit: true, + gen: 2, + }, + squawkabillywhite: { + inherit: true, + gen: 2, + }, + nacli: { + inherit: true, + gen: 2, + }, + naclstack: { + inherit: true, + gen: 2, + }, + garganacl: { + inherit: true, + gen: 2, + }, + charcadet: { + inherit: true, + gen: 2, + }, + armarouge: { + inherit: true, + gen: 2, + }, + ceruledge: { + inherit: true, + gen: 2, + }, + tadbulb: { + inherit: true, + gen: 2, + }, + bellibolt: { + inherit: true, + gen: 2, + }, + wattrel: { + inherit: true, + gen: 2, + }, + kilowattrel: { + inherit: true, + gen: 2, + }, + maschiff: { + inherit: true, + gen: 2, + }, + mabosstiff: { + inherit: true, + gen: 2, + }, + shroodle: { + inherit: true, + gen: 2, + }, + grafaiai: { + inherit: true, + gen: 2, + }, + bramblin: { + inherit: true, + gen: 2, + }, + brambleghast: { + inherit: true, + gen: 2, + }, + toedscool: { + inherit: true, + gen: 2, + }, + toedscruel: { + inherit: true, + gen: 2, + }, + klawf: { + inherit: true, + gen: 2, + }, + capsakid: { + inherit: true, + gen: 2, + }, + scovillain: { + inherit: true, + gen: 2, + }, + rellor: { + inherit: true, + gen: 2, + }, + rabsca: { + inherit: true, + gen: 2, + }, + flittle: { + inherit: true, + gen: 2, + }, + espathra: { + inherit: true, + gen: 2, + }, + tinkatink: { + inherit: true, + gen: 2, + }, + tinkatuff: { + inherit: true, + gen: 2, + }, + tinkaton: { + inherit: true, + gen: 2, + }, + wiglett: { + inherit: true, + gen: 2, + }, + wugtrio: { + inherit: true, + gen: 2, + }, + bombirdier: { + inherit: true, + gen: 2, + }, + finizen: { + inherit: true, + gen: 2, + }, + palafin: { + inherit: true, + gen: 2, + }, + varoom: { + inherit: true, + gen: 2, + }, + revavroom: { + inherit: true, + gen: 2, + }, + cyclizar: { + inherit: true, + gen: 2, + }, + orthworm: { + inherit: true, + gen: 2, + }, + glimmet: { + inherit: true, + gen: 2, + }, + glimmora: { + inherit: true, + gen: 2, + }, + greavard: { + inherit: true, + gen: 2, + }, + houndstone: { + inherit: true, + gen: 2, + }, + flamigo: { + inherit: true, + gen: 2, + }, + cetoddle: { + inherit: true, + gen: 2, + }, + cetitan: { + inherit: true, + gen: 2, + }, + veluza: { + inherit: true, + gen: 2, + }, + dondozo: { + inherit: true, + gen: 2, + }, + tatsugiri: { + inherit: true, + gen: 2, + }, + annihilape: { + inherit: true, + gen: 2, + }, + clodsire: { + inherit: true, + gen: 2, + }, + farigiraf: { + inherit: true, + gen: 2, + }, + dudunsparce: { + inherit: true, + gen: 2, + }, + dudunsparcethreesegment: { + inherit: true, + gen: 2, + }, + kingambit: { + inherit: true, + gen: 2, + }, + greattusk: { + inherit: true, + gen: 2, + }, + screamtail: { + inherit: true, + gen: 2, + }, + brutebonnet: { + inherit: true, + gen: 2, + }, + fluttermane: { + inherit: true, + gen: 2, + }, + slitherwing: { + inherit: true, + gen: 2, + }, + sandyshocks: { + inherit: true, + gen: 2, + }, + irontreads: { + inherit: true, + gen: 2, + }, + ironbundle: { + inherit: true, + gen: 2, + }, + ironhands: { + inherit: true, + gen: 2, + }, + ironjugulis: { + inherit: true, + gen: 2, + }, + ironmoth: { + inherit: true, + gen: 2, + }, + ironthorns: { + inherit: true, + gen: 2, + }, + frigibax: { + inherit: true, + gen: 2, + }, + arctibax: { + inherit: true, + gen: 2, + }, + baxcalibur: { + inherit: true, + gen: 2, + }, + gimmighoul: { + inherit: true, + gen: 2, + }, + gimmighoulroaming: { + inherit: true, + gen: 2, + }, + gholdengo: { + inherit: true, + gen: 2, + }, + wochien: { + inherit: true, + gen: 2, + }, + chienpao: { + inherit: true, + gen: 2, + }, + tinglu: { + inherit: true, + gen: 2, + }, + chiyu: { + inherit: true, + gen: 2, + }, + roaringmoon: { + inherit: true, + gen: 2, + }, + ironvaliant: { + inherit: true, + gen: 2, + }, + koraidon: { + inherit: true, + gen: 2, + }, + miraidon: { + inherit: true, + gen: 2, + }, + walkingwake: { + inherit: true, + gen: 2, + }, + ironleaves: { + inherit: true, + gen: 2, + }, + dipplin: { + inherit: true, + gen: 2, + }, + poltchageist: { + inherit: true, + gen: 2, + }, + poltchageistartisan: { + inherit: true, + gen: 2, + }, + sinistcha: { + inherit: true, + gen: 2, + }, + sinistchamasterpiece: { + inherit: true, + gen: 2, + }, + okidogi: { + inherit: true, + gen: 2, + }, + munkidori: { + inherit: true, + gen: 2, + }, + fezandipiti: { + inherit: true, + gen: 2, + }, + ogerpon: { + inherit: true, + gen: 2, + }, + terapagos: { + inherit: true, + gen: 2, + }, + hydrapple: { + inherit: true, + gen: 2, + }, + ragingbolt: { + inherit: true, + gen: 2, + }, + gougingfire: { + inherit: true, + gen: 2, + }, + archaludon: { + inherit: true, + gen: 2, + }, + ironcrown: { + inherit: true, + gen: 2, + }, + ironboulder: { + inherit: true, + gen: 2, + }, + pecharunt: { + inherit: true, + gen: 2, + }, + venusaurmega: { + inherit: true, + gen: 2, + }, + charizardmegax: { + inherit: true, + gen: 2, + }, + charizardmegay: { + inherit: true, + gen: 2, + }, + blastoisemega: { + inherit: true, + gen: 2, + }, + beedrillmega: { + inherit: true, + gen: 2, + }, + pidgeotmega: { + inherit: true, + gen: 2, + }, + rattataalola: { + inherit: true, + gen: 2, + }, + raticatealola: { + inherit: true, + gen: 2, + }, + pikachuoriginal: { + inherit: true, + gen: 2, + }, + pikachuhoenn: { + inherit: true, + gen: 2, + }, + pikachusinnoh: { + inherit: true, + gen: 2, + }, + pikachuunova: { + inherit: true, + gen: 2, + }, + pikachukalos: { + inherit: true, + gen: 2, + }, + pikachualola: { + inherit: true, + gen: 2, + }, + pikachupartner: { + inherit: true, + gen: 2, + }, + pikachuworld: { + inherit: true, + gen: 2, + }, + raichualola: { + inherit: true, + gen: 2, + }, + sandshrewalola: { + inherit: true, + gen: 2, + }, + sandslashalola: { + inherit: true, + gen: 2, + }, + vulpixalola: { + inherit: true, + gen: 2, + }, + ninetalesalola: { + inherit: true, + gen: 2, + }, + diglettalola: { + inherit: true, + gen: 2, + }, + dugtrioalola: { + inherit: true, + gen: 2, + }, + meowthalola: { + inherit: true, + gen: 2, + }, + meowthgalar: { + inherit: true, + gen: 2, + }, + persianalola: { + inherit: true, + gen: 2, + }, + alakazammega: { + inherit: true, + gen: 2, + }, + geodudealola: { + inherit: true, + gen: 2, + }, + graveleralola: { + inherit: true, + gen: 2, + }, + golemalola: { + inherit: true, + gen: 2, + }, + ponytagalar: { + inherit: true, + gen: 2, + }, + rapidashgalar: { + inherit: true, + gen: 2, + }, + slowpokegalar: { + inherit: true, + gen: 2, + }, + slowbrogalar: { + inherit: true, + gen: 2, + }, + slowbromega: { + inherit: true, + gen: 2, + }, + slowkinggalar: { + inherit: true, + gen: 2, + }, + farfetchdgalar: { + inherit: true, + gen: 2, + }, + grimeralola: { + inherit: true, + gen: 2, + }, + mukalola: { + inherit: true, + gen: 2, + }, + gengarmega: { + inherit: true, + gen: 2, + }, + steelixmega: { + inherit: true, + gen: 2, + }, + exeggutoralola: { + inherit: true, + gen: 2, + }, + marowakalola: { + inherit: true, + gen: 2, + }, + weezinggalar: { + inherit: true, + gen: 2, + }, + kangaskhanmega: { + inherit: true, + gen: 2, + }, + mrmimegalar: { + inherit: true, + gen: 2, + }, + mrrime: { + inherit: true, + gen: 2, + }, + scizormega: { + inherit: true, + gen: 2, + }, + pinsirmega: { + inherit: true, + gen: 2, + }, + taurospaldeacombat: { + inherit: true, + gen: 2, + }, + taurospaldeablaze: { + inherit: true, + gen: 2, + }, + taurospaldeaaqua: { + inherit: true, + gen: 2, + }, + gyaradosmega: { + inherit: true, + gen: 2, + }, + aerodactylmega: { + inherit: true, + gen: 2, + }, + articunogalar: { + inherit: true, + gen: 2, + }, + zapdosgalar: { + inherit: true, + gen: 2, + }, + moltresgalar: { + inherit: true, + gen: 2, + }, + mewtwomegax: { + inherit: true, + gen: 2, + }, + mewtwomegay: { + inherit: true, + gen: 2, + }, + ampharosmega: { + inherit: true, + gen: 2, + }, + wooperpaldea: { + inherit: true, + gen: 2, + }, + heracrossmega: { + inherit: true, + gen: 2, + }, + corsolagalar: { + inherit: true, + gen: 2, + }, + houndoommega: { + inherit: true, + gen: 2, + }, + tyranitarmega: { + inherit: true, + gen: 2, + }, + voltorbhisui: { + inherit: true, + gen: 2, + }, + electrodehisui: { + inherit: true, + gen: 2, + }, +}; diff --git a/data/mods/moderngen2/rulesets.ts b/data/mods/moderngen2/rulesets.ts new file mode 100644 index 000000000000..3a9ff6b70a66 --- /dev/null +++ b/data/mods/moderngen2/rulesets.ts @@ -0,0 +1,57 @@ +export const Rulesets: {[k: string]: ModdedFormatData} = { + standard: { + effectType: 'ValidatorRule', + name: 'Standard', + ruleset: ['Obtainable', 'Sleep Clause Mod', 'Freeze Clause Mod', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Items Clause', 'Evasion Moves Clause', 'Endless battle Clause', 'HP Percentage Mod', 'Cancel Mod'], + banlist: [ + 'Hypnosis + Mean Look', + 'Hypnosis + Spider Web', + 'Lovely Kiss + Mean Look', + 'Lovely Kiss + Spider Web', + 'Sing + Mean Look', + 'Sing + Spider Web', + 'Sleep Powder + Mean Look', + 'Sleep Powder + Spider Web', + 'Spore + Mean Look', + 'Spore + Spider Web', + ], + }, + mg2mod: { + effectType: 'Rule', + name: 'MG2 Mod', + desc: 'At the start of a battle, gives each player a link to the Modern Gen 2 thread so they can use it to get information about new additions to the metagame.', + onBegin() { + this.add('-message', `Welcome to Modern Gen 2!`); + this.add('-message', `This is essentially Gen 9 National Dex OU but played with Gen 2 mechanics!`); + this.add('-message', `You can find our thread and metagame resources here:`); + this.add('-message', `https://www.smogon.com/forums/threads/3725808/`); + }, + }, + uselessmovesclause: { + effectType: 'ValidatorRule', + name: 'Useless Moves Clause', + desc: "Bans moves that have no effect (to aid in teambuilding).", + banlist: [ + 'Electric Terrain', 'Electrify', 'Grassy Terrain', 'Healing Wish', 'Ion Deluge', 'Laser Focus', 'Lucky Chant', + 'Lunar Dance', 'Misty Terrain', 'Psychic Terrain', 'Speed Swap', 'Wish', 'Telekinesis', 'Wonder Room', + ], + onBegin() { + this.add('rule', 'Useless Moves Clause: Prevents trainers from bringing moves with no effect'); + }, + }, + uselessitemsclause: { + effectType: 'ValidatorRule', + name: 'Useless Items Clause', + desc: "Bans items that have no effect (to aid in teambuilding).", + banlist: [ + 'Absorb Bulb', 'Blunder Policy', 'Cell Battery', 'Choice Band', 'Choice Scarf', 'Choice Specs', 'DeepSeaScale', 'DeepSeaTooth', + 'Chill Drive', 'Douse Drive', 'Shock Drive', 'Burn Drive', 'Eviolite', 'Expert Belt', 'Grip Claw', 'Iron Ball', 'Mental Herb', + 'Rocky Helmet', 'Quick Powder', 'Weakness Policy', 'Utility Umbrella', 'Snowball', 'Luminous Moss', 'Loaded Dice', 'Covert Cloak', + 'Babiri Berry', 'Charti Berry', 'Chilan Berry', 'Chople Berry', 'Coba Berry', 'Colbur Berry', 'Haban Berry', 'Kasib Berry', 'Kebia Berry', + 'Occa Berry', 'Passho Berry', 'Payapa Berry', 'Rindo Berry', 'Roseli Berry', 'Shuca Berry', 'Tanga Berry', 'Wacan Berry', 'Yache Berry', + ], + onBegin() { + this.add('rule', 'Useless Items Clause: Prevents trainers from bringing items with no effect'); + }, + }, +}; diff --git a/data/mods/moderngen2/scripts.ts b/data/mods/moderngen2/scripts.ts new file mode 100644 index 000000000000..601921b95c14 --- /dev/null +++ b/data/mods/moderngen2/scripts.ts @@ -0,0 +1,31 @@ +export const Scripts: ModdedBattleScriptsData = { + inherit: 'gen2', + gen: 2, + init() { + const specialTypes = ['Fire', 'Water', 'Grass', 'Ice', 'Electric', 'Dark', 'Psychic', 'Dragon']; + for (const i in this.data.Moves) { + if (this.data.Moves[i].num! >= 252) this.modData('Moves', i).gen = 2; + const illegalities = ['Past', 'LGPE', 'Unobtainable']; + if (this.data.Moves[i].isNonstandard && illegalities.includes(this.data.Moves[i].isNonstandard as string)) { + this.modData('Moves', i).isNonstandard = null; + } + if (this.data.Moves[i].category === 'Status') continue; + const newCategory = specialTypes.includes(this.data.Moves[i].type) ? 'Special' : 'Physical'; + if (newCategory !== this.data.Moves[i].category) { + this.modData('Moves', i).category = newCategory; + } + } + for (const i in this.data.Items) { + if (this.data.Items[i].gen! > 2) this.modData('Items', i).gen = 2; + if (this.data.Items[i].isNonstandard === 'Past') this.modData('Items', i).isNonstandard = null; + } + for (const i in this.data.Pokedex) { + if (this.species.get(i).gen > 2) this.modData('Pokedex', i).gen = 2; + } + for (const i in this.data.FormatsData) { + if (this.forGen(9).species.get(i).isNonstandard === 'Past') { + this.modData('FormatsData', i).isNonstandard = null; + } + } + }, +}; diff --git a/data/mods/partnersincrime/abilities.ts b/data/mods/partnersincrime/abilities.ts index 35c6b26c6e75..c8c348ad2464 100644 --- a/data/mods/partnersincrime/abilities.ts +++ b/data/mods/partnersincrime/abilities.ts @@ -19,7 +19,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { this.add('-end', target, 'Slow Start', '[silent]'); } if (target.m.innate) { - if (!this.dex.abilities.get(target.m.innate.slice(8)).isPermanent) { + if (!this.dex.abilities.get(target.m.innate.slice(8)).flags['cantsuppress']) { target.removeVolatile(target.m.innate); } } @@ -39,13 +39,13 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { const sortedActive = this.getAllActive(); this.speedSort(sortedActive); for (const pokemon of sortedActive) { + if (pokemon.m.innate) { + if (!pokemon.volatiles[pokemon.m.innate]) pokemon.addVolatile(pokemon.m.innate, pokemon); + } if (pokemon !== source) { // Will be suppressed by Pokemon#ignoringAbility if needed this.singleEvent('Start', pokemon.getAbility(), pokemon.abilityState, pokemon); } - if (pokemon.m.innate) { - if (!pokemon.volatiles[pokemon.m.innate]) pokemon.addVolatile(pokemon.m.innate, pokemon); - } } }, }, @@ -55,13 +55,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { if (!pokemon.isStarted || this.effectState.gaveUp) return; const isAbility = pokemon.ability === 'trace'; - const additionalBannedAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', - ]; - const possibleTargets = pokemon.adjacentFoes().filter(target => ( - !target.getAbility().isPermanent && !additionalBannedAbilities.includes(target.ability) - )); + const possibleTargets = pokemon.adjacentFoes().filter( + target => !target.getAbility().flags['notrace'] && target.ability !== 'noability' + ); if (!possibleTargets.length) return; const target = this.sample(possibleTargets); diff --git a/data/mods/partnersincrime/random-teams.ts b/data/mods/partnersincrime/random-teams.ts deleted file mode 100644 index 600818a738ea..000000000000 --- a/data/mods/partnersincrime/random-teams.ts +++ /dev/null @@ -1,5 +0,0 @@ -import RandomTeams from '../../random-teams'; - -export class RandomPartnersInCrimeTeams extends RandomTeams {} - -export default RandomPartnersInCrimeTeams; diff --git a/data/mods/partnersincrime/scripts.ts b/data/mods/partnersincrime/scripts.ts index 8cd5f590398a..f167a02470e3 100644 --- a/data/mods/partnersincrime/scripts.ts +++ b/data/mods/partnersincrime/scripts.ts @@ -81,6 +81,13 @@ export const Scripts: ModdedBattleScriptsData = { moveSlot.disabled = false; moveSlot.disabledSource = ''; } + if (pokemon.volatiles['encore']) { + // Encore check happens earlier than PiC move swapping, so end encore here. + const encoredMove = pokemon.volatiles['encore'].move; + if (!pokemon.moves.includes(encoredMove)) { + pokemon.removeVolatile('encore'); + } + } this.runEvent('DisableMove', pokemon); for (const moveSlot of pokemon.moveSlots) { const activeMove = this.dex.getActiveMove(moveSlot.id); @@ -263,7 +270,7 @@ export const Scripts: ModdedBattleScriptsData = { if (typeof ability === 'string') ability = this.battle.dex.abilities.get(ability); const oldAbility = this.ability; if (!isFromFormeChange) { - if (ability.isPermanent || this.getAbility().isPermanent) return false; + if (ability.flags['cantsuppress'] || this.getAbility().flags['cantsuppress']) return false; } if (!this.battle.runEvent('SetAbility', this, source, this.battle.effect, ability)) return false; this.battle.singleEvent('End', this.battle.dex.abilities.get(oldAbility), this.abilityState, this, source); @@ -315,9 +322,10 @@ export const Scripts: ModdedBattleScriptsData = { }, transformInto(pokemon, effect) { const species = pokemon.species; - if (pokemon.fainted || pokemon.illusion || (pokemon.volatiles['substitute'] && this.battle.gen >= 5) || + if (pokemon.fainted || this.illusion || pokemon.illusion || (pokemon.volatiles['substitute'] && this.battle.gen >= 5) || (pokemon.transformed && this.battle.gen >= 2) || (this.transformed && this.battle.gen >= 5) || - species.name === 'Eternatus-Eternamax') { + species.name === 'Eternatus-Eternamax' || (['Ogerpon', 'Terapagos'].includes(species.baseSpecies) && + (this.terastallized || pokemon.terastallized))) { return false; } @@ -333,7 +341,7 @@ export const Scripts: ModdedBattleScriptsData = { this.transformed = true; this.weighthg = pokemon.weighthg; - const types = pokemon.getTypes(true); + const types = pokemon.getTypes(true, true); this.setType(pokemon.volatiles['roost'] ? pokemon.volatiles['roost'].typeWas : types, true); this.addedType = pokemon.addedType; this.knownType = this.isAlly(pokemon) && pokemon.knownType; @@ -345,9 +353,9 @@ export const Scripts: ModdedBattleScriptsData = { if (this.modifiedStats) this.modifiedStats[statName] = pokemon.modifiedStats![statName]; // Gen 1: Copy modified stats. } this.moveSlots = []; - this.set.ivs = (this.battle.gen >= 5 ? this.set.ivs : pokemon.set.ivs); this.hpType = (this.battle.gen >= 5 ? this.hpType : pokemon.hpType); this.hpPower = (this.battle.gen >= 5 ? this.hpPower : pokemon.hpPower); + this.timesAttacked = pokemon.timesAttacked; for (const moveSlot of pokemon.moveSlots) { let moveName = moveSlot.move; if (!pokemon.m.curMoves.includes(moveSlot.id)) continue; @@ -371,7 +379,7 @@ export const Scripts: ModdedBattleScriptsData = { this.boosts[boostName] = pokemon.boosts[boostName]; } if (this.battle.gen >= 6) { - const volatilesToCopy = ['focusenergy', 'gmaxchistrike', 'laserfocus']; + const volatilesToCopy = ['dragoncheer', 'focusenergy', 'gmaxchistrike', 'laserfocus']; for (const volatile of volatilesToCopy) { if (pokemon.volatiles[volatile]) { this.addVolatile(volatile); @@ -386,7 +394,11 @@ export const Scripts: ModdedBattleScriptsData = { } else { this.battle.add('-transform', this, pokemon); } - if (this.battle.gen > 2) this.setAbility(pokemon.ability, this, true); + if (this.terastallized) { + this.knownType = true; + this.apparentType = this.terastallized; + } + if (this.battle.gen > 2) this.setAbility(pokemon.ability, this, true, true); // Change formes based on held items (for Transform) // Only ever relevant in Generation 4 since Generation 3 didn't have item-based forme changes @@ -409,6 +421,11 @@ export const Scripts: ModdedBattleScriptsData = { } } + // Pokemon transformed into Ogerpon cannot Terastallize + // restoring their ability to tera after they untransform is handled ELSEWHERE + if (this.species.baseSpecies === 'Ogerpon' && this.canTerastallize) this.canTerastallize = false; + if (this.species.baseSpecies === 'Terapagos' && this.canTerastallize) this.canTerastallize = false; + return true; }, deductPP(move, amount, target) { diff --git a/data/mods/pokebilities/abilities.ts b/data/mods/pokebilities/abilities.ts index bda83b850635..2a404d94fcf3 100644 --- a/data/mods/pokebilities/abilities.ts +++ b/data/mods/pokebilities/abilities.ts @@ -4,7 +4,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { onDamagingHit(damage, target, source, move) { if (target.ability === 'mummy') { const sourceAbility = source.getAbility(); - if (sourceAbility.isPermanent || sourceAbility.id === 'mummy') { + if (sourceAbility.flags['cantsuppress'] || sourceAbility.id === 'mummy') { return; } if (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) { @@ -15,7 +15,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { } } else { const possibleAbilities = [source.ability, ...(source.m.innates || [])] - .filter(val => !this.dex.abilities.get(val).isPermanent && val !== 'mummy'); + .filter(val => !this.dex.abilities.get(val).flags['cantsuppress'] && val !== 'mummy'); if (!possibleAbilities.length) return; if (this.checkMoveMakesContact(move, source, target, !source.isAlly(target))) { const abil = this.sample(possibleAbilities); @@ -44,7 +44,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { // Remove setter's innates before the ability starts if (pokemon.m.innates) { for (const innate of pokemon.m.innates) { - if (this.dex.abilities.get(innate).isPermanent || innate === 'neutralizinggas') continue; + if (this.dex.abilities.get(innate).flags['cantsuppress'] || innate === 'neutralizinggas') continue; pokemon.removeVolatile('ability:' + innate); } } @@ -58,7 +58,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { } if (target.m.innates) { for (const innate of target.m.innates) { - if (this.dex.abilities.get(innate).isPermanent) continue; + if (this.dex.abilities.get(innate).flags['cantsuppress']) continue; target.removeVolatile('ability:' + innate); } } @@ -100,11 +100,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { const isAbility = pokemon.ability === 'powerofalchemy'; let possibleAbilities = [ally.ability]; if (ally.m.innates) possibleAbilities.push(...ally.m.innates); - const additionalBannedAbilities = [ - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', pokemon.ability, ...(pokemon.m.innates || []), - ]; + const additionalBannedAbilities = [pokemon.ability, ...(pokemon.m.innates || [])]; possibleAbilities = possibleAbilities - .filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val)); + .filter(val => !this.dex.abilities.get(val).flags['noreceiver'] && !additionalBannedAbilities.includes(val)); if (!possibleAbilities.length) return; const ability = this.dex.abilities.get(possibleAbilities[this.random(possibleAbilities.length)]); this.add('-ability', pokemon, ability, '[from] ability: Power of Alchemy', '[of] ' + ally); @@ -124,11 +122,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { const isAbility = pokemon.ability === 'receiver'; let possibleAbilities = [ally.ability]; if (ally.m.innates) possibleAbilities.push(...ally.m.innates); - const additionalBannedAbilities = [ - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', pokemon.ability, ...(pokemon.m.innates || []), - ]; + const additionalBannedAbilities = [pokemon.ability, ...(pokemon.m.innates || [])]; possibleAbilities = possibleAbilities - .filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val)); + .filter(val => !this.dex.abilities.get(val).flags['noreceiver'] && !additionalBannedAbilities.includes(val)); if (!possibleAbilities.length) return; const ability = this.dex.abilities.get(possibleAbilities[this.random(possibleAbilities.length)]); this.add('-ability', pokemon, ability, '[from] ability: Receiver', '[of] ' + ally); @@ -156,12 +152,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { const target = possibleTargets[rand]; let possibleAbilities = [target.ability]; if (target.m.innates) possibleAbilities.push(...target.m.innates); - const additionalBannedAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', pokemon.ability, ...(pokemon.m.innates || []), - ]; + const additionalBannedAbilities = [pokemon.ability, ...(pokemon.m.innates || [])]; possibleAbilities = possibleAbilities - .filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val)); + .filter(val => !this.dex.abilities.get(val).flags['notrace'] && !additionalBannedAbilities.includes(val)); if (!possibleAbilities.length) { possibleTargets.splice(rand, 1); continue; @@ -182,13 +175,8 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { inherit: true, onDamagingHit(damage, target, source, move) { const isAbility = target.ability === 'wanderingspirit'; - const additionalBannedAbilities = ['hungerswitch', 'illusion', 'neutralizinggas', 'wonderguard']; if (isAbility) { - if (source.getAbility().isPermanent || additionalBannedAbilities.includes(source.ability) || - target.volatiles['dynamax'] - ) { - return; - } + if (source.getAbility().flags['failskillswap'] || target.volatiles['dynamax']) return; if (this.checkMoveMakesContact(move, source, target)) { const sourceAbility = source.setAbility('wanderingspirit', target); @@ -203,7 +191,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { } else { // Make Wandering Spirit replace a random ability const possibleAbilities = [source.ability, ...(source.m.innates || [])] - .filter(val => !this.dex.abilities.get(val).isPermanent && !additionalBannedAbilities.includes(val)); + .filter(val => !this.dex.abilities.get(val).flags['failskillswap']); if (!possibleAbilities.length || target.volatiles['dynamax']) return; if (move.flags['contact']) { const sourceAbility = this.sample(possibleAbilities); diff --git a/data/mods/pokebilities/scripts.ts b/data/mods/pokebilities/scripts.ts index 42241f509f8c..1d6c15c64657 100644 --- a/data/mods/pokebilities/scripts.ts +++ b/data/mods/pokebilities/scripts.ts @@ -32,7 +32,7 @@ export const Scripts: ModdedBattleScriptsData = { ((this.volatiles['gastroacid'] || (neutralizinggas && (this.ability !== ('neutralizinggas' as ID) || this.m.innates?.some((k: string) => k === 'neutralizinggas')) - )) && !this.getAbility().isPermanent + )) && !this.getAbility().flags['cantsuppress'] ) ); }, diff --git a/data/mods/potd/random-teams.ts b/data/mods/potd/random-teams.ts deleted file mode 100644 index 727ba926a3ec..000000000000 --- a/data/mods/potd/random-teams.ts +++ /dev/null @@ -1,214 +0,0 @@ -import {RandomTeams} from './../../random-teams'; - -const potdPokemon = [ - "hoopa", "groudon", "dachsbun", "squawkabilly", "cacturne", "typhlosion", "jolteon", "masquerain", "falinks", - "wyrdeer", "gardevoir", "decidueye", "hawlucha", "azelf", "gothitelle", "donphan", "pikachu", "zaciancrowned", - "quagsire", "uxie", "dondozo", "orthworm", "klawf", "dunsparce", "avalugg", "pawmot", "qwilfish", "lilliganthisui", -]; - -export class RandomPOTDTeams extends RandomTeams { - randomTeam() { - this.enforceNoDirectCustomBanlistChanges(); - - const seed = this.prng.seed; - const ruleTable = this.dex.formats.getRuleTable(this.format); - const pokemon: RandomTeamsTypes.RandomSet[] = []; - - // For Monotype - const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause'); - const isDoubles = this.format.gameType !== 'singles'; - const typePool = this.dex.types.names(); - const type = this.forceMonotype || this.sample(typePool); - - // PotD stuff - const day = new Date().getDate(); - const potd = this.dex.species.get(potdPokemon[day > 28 ? 27 : day - 1]); - - const baseFormes: {[k: string]: number} = {}; - - const tierCount: {[k: string]: number} = {}; - const typeCount: {[k: string]: number} = {}; - const typeComboCount: {[k: string]: number} = {}; - const typeWeaknesses: {[k: string]: number} = {}; - const teamDetails: RandomTeamsTypes.TeamDetails = {}; - - const pokemonList = isDoubles ? Object.keys(this.randomDoublesSets) : Object.keys(this.randomSets); - const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); - - // Remove PotD from baseSpeciesPool - if (baseSpeciesPool.includes(potd.baseSpecies)) { - this.fastPop(baseSpeciesPool, baseSpeciesPool.indexOf(potd.baseSpecies)); - } - - // Add PotD to type counts - for (const typeName of potd.types) { - typeCount[typeName] = 1; - } - typeComboCount[potd.types.slice().sort().join()] = 1; - - // Increment weakness counter - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, potd) > 0) { - typeWeaknesses[typeName] = 1; - } - } - - while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { - const baseSpecies = this.sampleNoReplace(baseSpeciesPool); - const currentSpeciesPool: Species[] = []; - for (const poke of pokemonPool) { - const species = this.dex.species.get(poke); - if (species.baseSpecies === baseSpecies) currentSpeciesPool.push(species); - } - let species = this.sample(currentSpeciesPool); - if (!species.exists) continue; - - // Limit to one of each species (Species Clause) - if (baseFormes[species.baseSpecies]) continue; - - // Illusion shouldn't be on the last slot - if (species.baseSpecies === 'Zoroark' && pokemon.length >= (this.maxTeamSize - 1)) continue; - - // If Zoroark is in the team, the sixth slot should not be a Pokemon with extremely low level - if ( - pokemon.some(pkmn => pkmn.name === 'Zoroark') && - pokemon.length >= (this.maxTeamSize - 1) && - this.getLevel(species, isDoubles) < 72 && - !this.adjustLevel - ) { - continue; - } - - // Pokemon with Last Respects, Intrepid Sword, and Dauntless Shield shouldn't be leading - if (['Basculegion', 'Houndstone', 'Zacian', 'Zamazenta'].includes(species.baseSpecies) && !pokemon.length) continue; - - const tier = species.tier; - const types = species.types; - const typeCombo = types.slice().sort().join(); - // Dynamically scale limits for different team sizes. The default and minimum value is 1. - const limitFactor = Math.round(this.maxTeamSize / 6) || 1; - - // Limit one Pokemon per tier, two for Monotype - // Disable this for now, since it is still a new gen - // Unless you want to have a lot of Ubers! - // if ( - // (tierCount[tier] >= (this.forceMonotype || isMonotype ? 2 : 1) * limitFactor) && - // !this.randomChance(1, Math.pow(5, tierCount[tier])) - // ) { - // continue; - // } - - if (!isMonotype && !this.forceMonotype) { - let skip = false; - - // Limit two of any type - for (const typeName of types) { - if (typeCount[typeName] >= 2 * limitFactor) { - skip = true; - break; - } - } - if (skip) continue; - - // Limit three weak to any type - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, species) > 0) { - if (!typeWeaknesses[typeName]) typeWeaknesses[typeName] = 0; - if (typeWeaknesses[typeName] >= 3 * limitFactor) { - skip = true; - break; - } - } - } - if (skip) continue; - } - - // Limit one of any type combination, two in Monotype - if (!this.forceMonotype && typeComboCount[typeCombo] >= (isMonotype ? 2 : 1) * limitFactor) continue; - - // The Pokemon of the Day - if (potd?.exists && (pokemon.length === 1 || this.maxTeamSize === 1)) species = potd; - - const set = this.randomSet(species, teamDetails, pokemon.length === 0, isDoubles); - - // Okay, the set passes, add it to our team - pokemon.push(set); - if (pokemon.length === this.maxTeamSize) { - // Set Zoroark's level to be the same as the last Pokemon - const illusion = teamDetails.illusion; - if (illusion) pokemon[illusion - 1].level = pokemon[this.maxTeamSize - 1].level; - - // Don't bother tracking details for the last Pokemon - break; - } - - // Now that our Pokemon has passed all checks, we can increment our counters - baseFormes[species.baseSpecies] = 1; - - // Increment tier counter - if (tierCount[tier]) { - tierCount[tier]++; - } else { - tierCount[tier] = 1; - } - - // Don't increment type/weakness counters for POTD, since they were added at the beginning - if (pokemon.length !== 1 && this.maxTeamSize !== 1) { - // Increment type counters - for (const typeName of types) { - if (typeName in typeCount) { - typeCount[typeName]++; - } else { - typeCount[typeName] = 1; - } - } - if (typeCombo in typeComboCount) { - typeComboCount[typeCombo]++; - } else { - typeComboCount[typeCombo] = 1; - } - - // Increment weakness counter - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, species) > 0) { - typeWeaknesses[typeName]++; - } - } - } - - // Track what the team has - if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; - if (set.ability === 'Drought' || set.moves.includes('sunnyday')) teamDetails.sun = 1; - if (set.ability === 'Sand Stream') teamDetails.sand = 1; - if (set.ability === 'Snow Warning' || set.moves.includes('snowscape') || set.moves.includes('chillyreception')) { - teamDetails.snow = 1; - } - if (set.moves.includes('spikes')) teamDetails.spikes = (teamDetails.spikes || 0) + 1; - if (set.moves.includes('stealthrock')) teamDetails.stealthRock = 1; - if (set.moves.includes('stickyweb')) teamDetails.stickyWeb = 1; - if (set.moves.includes('stoneaxe')) teamDetails.stealthRock = 1; - if (set.moves.includes('toxicspikes')) teamDetails.toxicSpikes = 1; - if (set.moves.includes('defog')) teamDetails.defog = 1; - if (set.moves.includes('rapidspin')) teamDetails.rapidSpin = 1; - if (set.moves.includes('mortalspin')) teamDetails.rapidSpin = 1; - if (set.moves.includes('tidyup')) teamDetails.rapidSpin = 1; - if (set.moves.includes('auroraveil') || (set.moves.includes('reflect') && set.moves.includes('lightscreen'))) { - teamDetails.screens = 1; - } - if (set.role === 'Tera Blast user') teamDetails.teraBlast = 1; - - // For setting Zoroark's level - if (set.ability === 'Illusion') teamDetails.illusion = pokemon.length; - } - if (pokemon.length < this.maxTeamSize && pokemon.length < 12) { // large teams sometimes cannot be built - throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`); - } - - return pokemon; - } -} - -export default RandomPOTDTeams; diff --git a/data/mods/sharedpower/abilities.ts b/data/mods/sharedpower/abilities.ts index f715c4e0d4e8..53a0e365d961 100644 --- a/data/mods/sharedpower/abilities.ts +++ b/data/mods/sharedpower/abilities.ts @@ -16,7 +16,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { } if (target.m.abils?.length) { for (const key of target.m.abils) { - if (this.dex.abilities.get(key.slice(8)).isPermanent) continue; + if (this.dex.abilities.get(key.slice(8)).flags['cantsuppress']) continue; target.removeVolatile(key); } } @@ -56,13 +56,9 @@ export const Abilities: {[k: string]: ModdedAbilityData} = { if (!pokemon.isStarted || this.effectState.gaveUp) return; const isAbility = pokemon.ability === 'trace'; - const additionalBannedAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'noability', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', - ]; - const possibleTargets = pokemon.adjacentFoes().filter(target => ( - !target.getAbility().isPermanent && !additionalBannedAbilities.includes(target.ability) - )); + const possibleTargets = pokemon.adjacentFoes().filter( + target => !target.getAbility().flags['notrace'] && target.ability !== 'noability' + ); if (!possibleTargets.length) return; const target = this.sample(possibleTargets); diff --git a/data/mods/sharedpower/scripts.ts b/data/mods/sharedpower/scripts.ts index c6260f5e32f0..572e4d265724 100644 --- a/data/mods/sharedpower/scripts.ts +++ b/data/mods/sharedpower/scripts.ts @@ -39,7 +39,7 @@ export const Scripts: ModdedBattleScriptsData = { ((this.volatiles['gastroacid'] || (neutralizinggas && (this.ability !== ('neutralizinggas' as ID) || this.m.abils?.includes('ability:neutralizinggas')) - )) && !this.getAbility().isPermanent + )) && !this.getAbility().flags['cantsuppress'] ) ); }, diff --git a/data/mods/sharingiscaring/items.ts b/data/mods/sharingiscaring/items.ts new file mode 100644 index 000000000000..3cfb04a29af8 --- /dev/null +++ b/data/mods/sharingiscaring/items.ts @@ -0,0 +1,31 @@ +export const Items: {[k: string]: ModdedItemData} = { + airballoon: { + inherit: true, + // airborneness implemented in sim/pokemon.js:Pokemon#isGrounded + onDamagingHit(damage, target, source, move) { + this.add('-enditem', target, 'Air Balloon'); + if (target.item === 'airballoon') { + target.item = ''; + target.itemState = {id: '', target}; + } else { + delete target.volatiles['item:airballoon']; + target.m.sharedItemsUsed.push('airballoon'); + } + this.runEvent('AfterUseItem', target, null, null, this.dex.items.get('airballoon')); + }, + onAfterSubDamage(damage, target, source, effect) { + this.debug('effect: ' + effect.id); + if (effect.effectType === 'Move') { + this.add('-enditem', target, 'Air Balloon'); + if (target.item === 'airballoon') { + target.item = ''; + target.itemState = {id: '', target}; + } else { + delete target.volatiles['item:airballoon']; + target.m.sharedItemsUsed.push('airballoon'); + } + this.runEvent('AfterUseItem', target, null, null, this.dex.items.get('airballoon')); + } + }, + }, +}; diff --git a/data/mods/sharingiscaring/scripts.ts b/data/mods/sharingiscaring/scripts.ts index 62fe0283c132..5222a9bc84c2 100644 --- a/data/mods/sharingiscaring/scripts.ts +++ b/data/mods/sharingiscaring/scripts.ts @@ -1,3 +1,5 @@ +import {RESTORATIVE_BERRIES} from '../../../sim/pokemon'; + export const Scripts: ModdedBattleScriptsData = { gen: 9, inherit: 'gen9', @@ -7,20 +9,136 @@ export const Scripts: ModdedBattleScriptsData = { if ('ingrain' in this.volatiles && this.battle.gen >= 4) return true; if ('smackdown' in this.volatiles) return true; const item = (this.ignoringItem() ? '' : this.item); - if (item === 'ironball' || this.volatiles['item:ironball']) return true; + if (item === 'ironball' || (this.volatiles['item:ironball'] && !this.ignoringItem())) return true; // If a Fire/Flying type uses Burn Up and Roost, it becomes ???/Flying-type, but it's still grounded. if (!negateImmunity && this.hasType('Flying') && !(this.hasType('???') && 'roost' in this.volatiles)) return false; if (this.hasAbility('levitate') && !this.battle.suppressingAbility(this)) return null; if ('magnetrise' in this.volatiles) return false; if ('telekinesis' in this.volatiles) return false; - if (item === 'airballoon' || this.volatiles['item:airballoon']) return false; + if (item === 'airballoon' || (this.volatiles['item:airballoon'] && !this.ignoringItem())) return false; return true; }, hasItem(item) { - if (this.ignoringItem()) return false; - if (Array.isArray(item)) return item.some(i => this.hasItem(i)); - const itemid = this.battle.toID(item); - return this.item === itemid || !!this.volatiles['item:' + itemid]; + if (Array.isArray(item)) { + return item.some(i => this.hasItem(i)); + } else { + if (this.battle.toID(item) !== this.item && !this.volatiles['item:' + this.battle.toID(item)]) return false; + } + return !this.ignoringItem(); + }, + useItem(source, sourceEffect) { + const hasAnyItem = !!this.item || Object.keys(this.volatiles).some(v => v.startsWith('item:')); + // Best to declare everything early because ally might have a gem that needs proccing + if (!sourceEffect && this.battle.effect) sourceEffect = this.battle.effect; + if (!source && this.battle.event && this.battle.event.target) source = this.battle.event.target; + const item = (sourceEffect?.id.startsWith('item:')) ? sourceEffect as Item : this.getItem(); + if ((!this.hp && !item.isGem) || !this.isActive) return false; + if (!hasAnyItem) return false; + + if (this.battle.runEvent('UseItem', this, null, null, item)) { + switch (item.id.startsWith('item:') ? item.id.slice(5) : item.id) { + case 'redcard': + this.battle.add('-enditem', this, item.fullname, '[of] ' + source); + break; + default: + if (item.isGem) { + this.battle.add('-enditem', this, item.fullname, '[from] gem'); + } else { + this.battle.add('-enditem', this, item.fullname); + } + break; + } + if (item.boosts) { + this.battle.boost(item.boosts, this, source, item); + } + + this.battle.singleEvent('Use', item, this.itemState, this, source, sourceEffect); + + if (item.id.startsWith('item:')) { + delete this.volatiles[item.id]; + this.m.sharedItemsUsed.push(item.id.slice(5)); + } else { + this.lastItem = this.item; + this.item = ''; + this.itemState = {id: '', target: this}; + } + this.usedItemThisTurn = true; + this.battle.runEvent('AfterUseItem', this, null, null, item); + return true; + } + return false; + }, + eatItem(force, source, sourceEffect) { + const hasAnyItem = !!this.item || Object.keys(this.volatiles).some(v => v.startsWith('item:')); + if (!sourceEffect && this.battle.effect) sourceEffect = this.battle.effect; + if (!source && this.battle.event && this.battle.event.target) source = this.battle.event.target; + const item = (sourceEffect?.id.startsWith('item:')) ? sourceEffect as Item : this.getItem(); + if (!hasAnyItem) return false; + if ((!this.hp && this.battle.toID(item.name) !== 'jabocaberry' && this.battle.toID(item.name) !== 'rowapberry') || + !this.isActive) return false; + + if ( + this.battle.runEvent('UseItem', this, null, null, item) && + (force || this.battle.runEvent('TryEatItem', this, null, null, item)) + ) { + this.battle.add('-enditem', this, item.fullname, '[eat]'); + + this.battle.singleEvent('Eat', item, this.itemState, this, source, sourceEffect); + this.battle.runEvent('EatItem', this, null, null, item); + + if (RESTORATIVE_BERRIES.has(item.id.startsWith('item:') ? item.id.slice(5) as ID : item.id)) { + switch (this.pendingStaleness) { + case 'internal': + if (this.staleness !== 'external') this.staleness = 'internal'; + break; + case 'external': + this.staleness = 'external'; + break; + } + this.pendingStaleness = undefined; + } + + if (item.id.startsWith('item:')) { + delete this.volatiles[item.id]; + this.m.sharedItemsUsed.push(item.id.slice(5)); + } else { + this.lastItem = this.item; + this.item = ''; + this.itemState = {id: '', target: this}; + } + this.usedItemThisTurn = true; + this.ateBerry = true; + this.battle.runEvent('AfterUseItem', this, null, null, item); + return true; + } + return false; + }, + setItem(item, source, effect) { + if (!this.hp || !this.isActive) return false; + if (this.itemState.knockedOff) return false; + if (typeof item === 'string') item = this.battle.dex.items.get(item); + + const effectid = this.battle.effect ? this.battle.effect.id : ''; + if (RESTORATIVE_BERRIES.has('leppaberry' as ID)) { + const inflicted = ['trick', 'switcheroo'].includes(effectid); + const external = inflicted && source && !source.isAlly(this); + this.pendingStaleness = external ? 'external' : 'internal'; + } else { + this.pendingStaleness = undefined; + } + const oldItem = this.getItem(); + const oldItemState = this.itemState; + this.item = item.id; + this.itemState = {id: item.id, target: this}; + if (oldItem.exists) this.battle.singleEvent('End', oldItem, oldItemState, this); + if (item.id) { + this.battle.singleEvent('Start', item, this.itemState, this, source, effect); + for (const ally of this.side.pokemon) { + if (!ally.m.sharedItemsUsed) continue; + ally.m.sharedItemsUsed = ally.m.sharedItemsUsed.filter((i: ID) => i !== (item as Item).id); + } + } + return true; }, }, }; diff --git a/data/mods/ssb/abilities.ts b/data/mods/ssb/abilities.ts deleted file mode 100644 index 0a1d97bb874f..000000000000 --- a/data/mods/ssb/abilities.ts +++ /dev/null @@ -1,2241 +0,0 @@ -import {SSBSet, ssbSets} from "./random-teams"; -import {getName} from './conditions'; - -// Used in many abilities, placed here to reduce the number of updates needed and to reduce the chance of errors -const STRONG_WEATHERS = ['desolateland', 'primordialsea', 'deltastream', 'heavyhailstorm', 'winterhail', 'turbulence']; - -/** - * Assigns a new set to a Pokémon - * @param pokemon the Pokemon to assign the set to - * @param newSet the SSBSet to assign - */ -export function changeSet(context: Battle, pokemon: Pokemon, newSet: SSBSet, changeAbility = false) { - if (pokemon.transformed) return; - const evs: StatsTable = { - hp: newSet.evs?.hp || 0, - atk: newSet.evs?.atk || 0, - def: newSet.evs?.def || 0, - spa: newSet.evs?.spa || 0, - spd: newSet.evs?.spd || 0, - spe: newSet.evs?.spe || 0, - }; - const ivs: StatsTable = { - hp: newSet.ivs?.hp || 31, - atk: newSet.ivs?.atk || 31, - def: newSet.ivs?.def || 31, - spa: newSet.ivs?.spa || 31, - spd: newSet.ivs?.spd || 31, - spe: newSet.ivs?.spe || 31, - }; - pokemon.set.evs = evs; - pokemon.set.ivs = ivs; - if (newSet.nature) pokemon.set.nature = Array.isArray(newSet.nature) ? context.sample(newSet.nature) : newSet.nature; - const oldShiny = pokemon.set.shiny; - pokemon.set.shiny = (typeof newSet.shiny === 'number') ? context.randomChance(1, newSet.shiny) : !!newSet.shiny; - let percent = (pokemon.hp / pokemon.baseMaxhp); - if (newSet.species === 'Shedinja') percent = 1; - pokemon.formeChange(newSet.species, context.effect, true); - const details = pokemon.species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + - (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); - if (oldShiny !== pokemon.set.shiny) context.add('replace', pokemon, details); - if (changeAbility) pokemon.setAbility(newSet.ability as string); - - pokemon.baseMaxhp = pokemon.species.name === 'Shedinja' ? 1 : Math.floor(Math.floor( - 2 * pokemon.species.baseStats.hp + pokemon.set.ivs.hp + Math.floor(pokemon.set.evs.hp / 4) + 100 - ) * pokemon.level / 100 + 10); - const newMaxHP = pokemon.baseMaxhp; - pokemon.hp = Math.round(newMaxHP * percent); - pokemon.maxhp = newMaxHP; - context.add('-heal', pokemon, pokemon.getHealth, '[silent]'); - if (pokemon.item) { - let item = newSet.item; - if (typeof item !== 'string') item = item[context.random(item.length)]; - if (context.toID(item) !== (pokemon.item || pokemon.lastItem)) pokemon.setItem(item); - } - if (!pokemon.m.datacorrupt) { - const newMoves = changeMoves(context, pokemon, newSet.moves.concat(newSet.signatureMove)); - pokemon.moveSlots = newMoves; - // @ts-ignore Necessary so pokemon doesn't get 8 moves - pokemon.baseMoveSlots = newMoves; - } - context.add('-ability', pokemon, `${pokemon.getAbility().name}`); - context.add('message', `${pokemon.name} changed form!`); -} - -/** - * Assigns new moves to a Pokemon - * @param pokemon The Pokemon whose moveset is to be modified - * @param newSet The set whose moves should be assigned - */ -export function changeMoves(context: Battle, pokemon: Pokemon, newMoves: (string | string[])[]) { - const carryOver = pokemon.moveSlots.slice().map(m => m.pp / m.maxpp); - // In case there are ever less than 4 moves - while (carryOver.length < 4) { - carryOver.push(1); - } - const result = []; - let slot = 0; - for (const newMove of newMoves) { - const moveName = Array.isArray(newMove) ? newMove[context.random(newMove.length)] : newMove; - const move = context.dex.moves.get(context.toID(moveName)); - if (!move.id) continue; - const moveSlot = { - move: move.name, - id: move.id, - // eslint-disable-next-line max-len - pp: ((move.noPPBoosts || move.isZ) ? Math.floor(move.pp * carryOver[slot]) : Math.floor((move.pp * (8 / 5)) * carryOver[slot])), - maxpp: ((move.noPPBoosts || move.isZ) ? move.pp : move.pp * 8 / 5), - target: move.target, - disabled: false, - disabledSource: '', - used: false, - }; - result.push(moveSlot); - slot++; - } - return result; -} - -export const Abilities: {[k: string]: ModdedAbilityData} = { - /* - // Example - "abilityid": { - desc: "", // long description - shortDesc: "", // short description, shows up in /dt - name: "Ability Name", - // The bulk of an ability is not easily shown in an example since it varies - // For more examples, see https://github.com/smogon/pokemon-showdown/blob/master/data/abilities.js - }, - */ - // Please keep abilites organized alphabetically based on staff member name! - // Aelita - scyphozoa: { - desc: "On switch-in, this Pokemon removes all field conditions, entry hazards, and stat boosts on both sides, gaining one random boost for every field condition, entry hazard, or boosted stat that gets cleared. This Pokemon's moves ignore abilities. If this Pokemon is a Zygarde in its 10% or 50% Forme, it changes to Complete Forme when it has 1/2 or less of its maximum HP at the end of the turn.", - shortDesc: "Power Construct + Mold Breaker. On switch-in, clears everything for random boosts.", - name: "Scyphozoa", - onSwitchIn(source) { - let successes = 0; - this.add('-ability', source, 'Scyphozoa'); - this.add('-clearallboost'); - for (const pokemon of this.getAllActive()) { - const boostTotal = Object.values(pokemon.boosts).reduce((num, add) => num + add); - if (boostTotal !== 0 || pokemon.positiveBoosts()) successes++; - pokemon.clearBoosts(); - if (pokemon.removeVolatile('substitute')) successes++; - } - const target = source.side.foe.active[0]; - - const removeAll = [ - 'reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', 'gmaxsteelsurge', - 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', - ]; - const silentRemove = ['reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist']; - for (const sideCondition of removeAll) { - if (target.side.removeSideCondition(sideCondition)) { - if (!silentRemove.includes(sideCondition)) { - this.add('-sideend', target.side, this.dex.conditions.get(sideCondition).name, '[from] ability: Scyphozoa', '[of] ' + source); - } - successes++; - } - if (source.side.removeSideCondition(sideCondition)) { - if (!silentRemove.includes(sideCondition)) { - this.add('-sideend', source.side, this.dex.conditions.get(sideCondition).name, '[from] ability: Scyphozoa', '[of] ' + source); - } - successes++; - } - } - for (const clear in this.field.pseudoWeather) { - if (clear.endsWith('mod') || clear.endsWith('clause')) continue; - this.field.removePseudoWeather(clear); - successes++; - } - if (this.field.clearWeather()) successes++; - if (this.field.clearTerrain()) successes++; - const stats: BoostID[] = []; - const exclude: string[] = ['accuracy', 'evasion']; - for (let x = 0; x < successes; x++) { - let stat: BoostID; - for (stat in source.boosts) { - if (source.boosts[stat] < 6 && !exclude.includes(stat)) { - stats.push(stat); - } - } - if (stats.length) { - const randomStat = this.sample(stats); - const boost: SparseBoostsTable = {}; - boost[randomStat] = 1; - this.boost(boost, source, source); - } - } - }, - isPermanent: true, - onModifyMove(move) { - move.ignoreAbility = true; - }, - onResidualOrder: 27, - onResidual(pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Zygarde' || pokemon.transformed || !pokemon.hp) return; - if (pokemon.species.id === 'zygardecomplete' || pokemon.hp > pokemon.maxhp / 2) return; - this.add('-activate', pokemon, 'ability: Scyphozoa'); - pokemon.formeChange('Zygarde-Complete', this.effect, true); - pokemon.baseMaxhp = Math.floor(Math.floor( - 2 * pokemon.species.baseStats['hp'] + pokemon.set.ivs['hp'] + Math.floor(pokemon.set.evs['hp'] / 4) + 100 - ) * pokemon.level / 100 + 10); - const newMaxHP = pokemon.volatiles['dynamax'] ? (2 * pokemon.baseMaxhp) : pokemon.baseMaxhp; - pokemon.hp = newMaxHP - (pokemon.maxhp - pokemon.hp); - pokemon.maxhp = newMaxHP; - this.add('-heal', pokemon, pokemon.getHealth, '[silent]'); - }, - gen: 8, - }, - - // aegii - setthestage: { - desc: "If this Pokemon is an Aegislash, it changes to Blade Forme before attempting to use an attacking move, and changes to Shield Forme before attempting to use King's Shield. This Pokemon's moves that match one of its types have a same-type attack bonus (STAB) of 2 instead of 1.5. On switch-in, this Pokemon selects a physical or special set.", - shortDesc: "Stance Change + Adaptability; on switch-in, selects physical or special set.", - isPermanent: true, - onSwitchIn(pokemon) { - if (pokemon.species.baseSpecies !== 'Aegislash') return; - const forme = this.randomChance(1, 2) ? 'aegii-Alt' : 'aegii'; - changeSet(this, pokemon, ssbSets[forme]); - const setType = pokemon.moves.includes('shadowball') ? 'specially' : 'physically'; - this.add('-message', `aegii currently has a ${setType} oriented set.`); - }, - onModifyMove(move, attacker, defender) { - move.stab = 2; - if (attacker.species.baseSpecies !== 'Aegislash' || attacker.transformed) return; - if (move.category === 'Status' && move.id !== 'kingsshield' && move.id !== 'reset') return; - const targetForme = (move.id === 'kingsshield' || move.id === 'reset' ? 'Aegislash' : 'Aegislash-Blade'); - if (attacker.species.name !== targetForme) attacker.formeChange(targetForme); - }, - name: "Set the Stage", - gen: 8, - }, - - // Aeonic - arsene: { - desc: "On switch-in, this Pokemon summons Sandstorm. If Sandstorm is active, this Pokemon's Speed is doubled. This Pokemon takes no damage from Sandstorm.", - shortDesc: "Sand Stream + Sand Rush.", - name: "Arsene", - onStart(source) { - this.field.setWeather('sandstorm'); - }, - onModifySpe(spe, pokemon) { - if (this.field.isWeather('sandstorm')) { - return this.chainModify(2); - } - }, - onImmunity(type) { - if (type === 'sandstorm') return false; - }, - gen: 8, - }, - - // Aethernum - rainyseason: { - desc: "On switch-in, this Pokemon summons Rain Dance. If Rain Dance or Heavy Rain is active, this Pokemon has doubled Speed, collects a raindrop, and restores 1/8 of its maximum HP, rounded down, at the end of each turn. If this Pokemon is holding Big Root, it will restore 1/6 of its maximum HP, rounded down, at the end of the turn. If this Pokemon is holding Utility Umbrella, its HP does not get restored and it does not collect raindrops. Each raindrop raises this Pokemon's Defense and Special Defense by 1 stage while it is collected.", - shortDesc: "Drizzle + Swift Swim. Restore HP if raining. Collect raindrops.", - name: "Rainy Season", - isPermanent: true, - onStart(source) { - for (const action of this.queue) { - if (action.choice === 'runPrimal' && action.pokemon === source && source.species.id === 'kyogre') return; - if (action.choice !== 'runSwitch' && action.choice !== 'runPrimal') break; - } - this.field.setWeather('raindance'); - }, - onWeather(target, source, effect) { - if (target.hasItem('utilityumbrella')) return; - if (['raindance', 'primordialsea'].includes(effect.id)) { - this.heal(target.baseMaxhp / (target.hasItem('bigroot') ? 6 : 8)); - target.addVolatile('raindrop'); - } - }, - onModifySpe(spe, pokemon) { - if (['raindance', 'primordialsea'].includes(pokemon.effectiveWeather())) { - return this.chainModify(2); - } - }, - gen: 8, - }, - - // Akir - fortifications: { - desc: "Pokemon making contact with this Pokemon lose 1/8 of their maximum HP, rounded down. At the end of every turn, this Pokemon Restores 1/16 of its max HP.", - shortDesc: "Foe loses 1/8 HP if makes contact; Restores 1/16 of its max HP every turn.", - onDamagingHitOrder: 1, - onDamagingHit(damage, target, source, move) { - if (this.checkMoveMakesContact(move, source, target, true)) { - this.damage(source.baseMaxhp / 8, source, target); - } - }, - onResidual(pokemon) { - this.heal(pokemon.baseMaxhp / 16); - }, - name: "Fortifications", - gen: 8, - }, - - // Alpha - iceage: { - desc: "The weather becomes an extremely heavy hailstorm that prevents damaging Steel-type moves from executing, causes Ice-type moves to be 50% stronger, causes all non-Ice-type Pokemon on the opposing side to take 1/8 damage from hail, and causes all moves to have a 10% chance to freeze. This weather bypasses Magic Guard and Overcoat. This weather remains in effect until the 3 turns are up, or the weather is changed by Delta Stream, Desolate Land, or Primordial Sea.", - shortDesc: "Weather: Steel fail. 1.5x Ice.", - onStart(source) { - this.field.setWeather('heavyhailstorm'); - }, - onAnySetWeather(target, source, weather) { - if (this.field.getWeather().id === 'heavyhailstorm' && !STRONG_WEATHERS.includes(weather.id)) return false; - }, - onEnd(pokemon) { - if (this.field.weatherState.source !== pokemon) return; - for (const target of this.getAllActive()) { - if (target === pokemon) continue; - if (target.hasAbility('iceage')) { - this.field.weatherState.source = target; - return; - } - } - this.field.clearWeather(); - }, - name: "Ice Age", - gen: 8, - }, - - // Annika - overprotective: { - desc: "If this Pokemon is the last unfainted team member, its Speed is raised by 1 stage.", - shortDesc: "+1 Speed on switch-in if all other team members have fainted.", - onSwitchIn(pokemon) { - if (pokemon.side.pokemonLeft === 1) this.boost({spe: 1}); - }, - name: "Overprotective", - gen: 8, - }, - - // A Quag To The Past - carefree: { - desc: "This Pokemon blocks certain status moves and instead uses the move against the original user. This Pokemon ignores other Pokemon's Attack, Special Attack, and accuracy stat stages when taking damage, and ignores other Pokemon's Defense, Special Defense, and evasiveness stat stages when dealing damage.", - shortDesc: "Magic Bounce + Unaware.", - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['spd'] = 0; - boosts['accuracy'] = 0; - } - }, - onTryHitPriority: 1, - onTryHit(target, source, move) { - if (target === source || move.hasBounced || !move.flags['reflectable']) { - return; - } - const newMove = this.dex.getActiveMove(move.id); - newMove.hasBounced = true; - newMove.pranksterBoosted = false; - this.add('-ability', target, 'Carefree'); - this.actions.useMove(newMove, target, source); - return null; - }, - onAllyTryHitSide(target, source, move) { - if (target.isAlly(source) || move.hasBounced || !move.flags['reflectable']) { - return; - } - const newMove = this.dex.getActiveMove(move.id); - newMove.hasBounced = true; - newMove.pranksterBoosted = false; - this.add('-ability', target, 'Carefree'); - this.actions.useMove(newMove, this.effectState.target, source); - return null; - }, - condition: { - duration: 1, - }, - name: "Carefree", - gen: 8, - }, - - // Arby - wavesurge: { - desc: "On switch-in, this Pokemon summons Wave Terrain for 5 turns. During the effect, the accuracy of Water-type moves is multiplied by 1.2, all current entry hazards are removed, and no entry hazards can be set.", - shortDesc: "On switch-in, 5 turns: no hazards; Water move acc 1.2x.", - onStart(source) { - this.field.setTerrain('waveterrain'); - }, - name: "Wave Surge", - gen: 8, - }, - - // Archas - indomitable: { - desc: "This Pokemon cures itself if it is confused or has a major status condition. Single use.", - onUpdate(pokemon) { - if ((pokemon.status || pokemon.volatiles['confusion']) && !this.effectState.indomitableActivated) { - this.add('-activate', pokemon, 'ability: Indomitable'); - pokemon.cureStatus(); - pokemon.removeVolatile('confusion'); - this.effectState.indomitableActivated = true; - } - }, - name: "Indomitable", - gen: 8, - }, - - // biggie - superarmor: { - desc: "Reduces damage taken from physical moves by 25% if the user has not yet attacked.", - onSourceModifyDamage(damage, source, target, move) { - if (this.queue.willMove(target) && move.category === 'Physical') { - return this.chainModify(0.75); - } - }, - name: "Super Armor", - gen: 8, - }, - - // Billo - proofpolicy: { - desc: "Pokemon making contact with this Pokemon have the effects of Yawn, Taunt, and Torment applied to them.", - shortDesc: "Upon contact, opposing Pokemon is made drowsy and applies Taunt + Torment.", - onDamagingHit(damage, target, source, move) { - if (this.checkMoveMakesContact(move, source, target, true)) { - source.addVolatile('taunt', target); - source.addVolatile('yawn', target); - source.addVolatile('torment', target); - } - }, - name: "Proof Policy", - gen: 8, - }, - - // Brandon - banesurge: { - desc: "On switch-in, this Pokemon summons Bane Terrain for 5 turns. For the duration of the effect, all Pokemon use their weaker offensive stat for all attacks. The move category used does not change.", - shortDesc: "On switch-in, 5 turns: all Pokemon use weaker offensive stat.", - onStart(source) { - this.field.setTerrain('baneterrain'); - }, - name: "Bane Surge", - gen: 8, - }, - - // brouha - turbulence: { - desc: "While this Pokemon is on the field, all entry hazards and terrains are removed at the end of each turn, non-Flying-type Pokemon lose 6% of their HP, rounded down, at the end of each turn.", - shortDesc: "End of each turn: clears terrain/hazards, non-Flying lose 6% HP.", - onStart(source) { - this.field.setWeather('turbulence'); - }, - onAnySetWeather(target, source, weather) { - if (this.field.getWeather().id === 'turbulence' && !STRONG_WEATHERS.includes(weather.id)) return false; - }, - onEnd(pokemon) { - if (this.field.weatherState.source !== pokemon) return; - for (const target of this.getAllActive()) { - if (target === pokemon) continue; - if (target.hasAbility('turbulence')) { - this.field.weatherState.source = target; - return; - } - } - this.field.clearWeather(); - }, - name: "Turbulence", - gen: 8, - }, - - // Buffy - speedcontrol: { - onStart(pokemon) { - this.boost({spe: 1}, pokemon); - }, - desc: "On switch-in, this Pokemon's Speed is raised by 1 stage.", - name: "Speed Control", - gen: 8, - }, - - // cant say - ragequit: { - desc: "If a Pokemon with this ability uses a move that misses or fails, the Pokemon faints and reduces the foe's Attack and Special Attack by 2 stages", - shortDesc: "If move misses or fails, use Memento.", - name: "Rage Quit", - onAfterMove(pokemon, target, move) { - if (pokemon.moveThisTurnResult === false) { - this.add('-ability', pokemon, 'Rage Quit'); - pokemon.faint(); - if (pokemon.side.foe.active[0]) { - this.boost({atk: -2, spa: -2}, pokemon.side.foe.active[0], pokemon, null, true); - } - } - }, - gen: 8, - }, - - // Celine - guardianarmor: { - desc: "On switch-in, this Pokemon's Defense and Special Defense are raised by 2 stages.", - name: "Guardian Armor", - onStart(pokemon) { - this.boost({def: 2, spd: 2}, pokemon); - }, - gen: 8, - }, - - // drampa's grandpa - oldmanpa: { - desc: "This Pokemon's sound-based moves have their power multiplied by 1.3. This Pokemon takes halved damage from sound-based moves. This Pokemon ignores other Pokemon's Attack, Special Attack, and accuracy stat stages when taking damage, and ignores other Pokemon's Defense, Special Defense, and evasiveness stat stages when dealing damage. Upon switching in, this Pokemon's Defense and Special Defense are raised by 1 stage.", - shortDesc: "Effects of Punk Rock + Unaware. On switch-in, boosts Def and Sp. Def by 1.", - name: "Old Manpa", - onBasePowerPriority: 7, - onBasePower(basePower, attacker, defender, move) { - if (move.flags['sound']) { - this.debug('Old Manpa boost'); - return this.chainModify([5325, 4096]); - } - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.flags['sound']) { - this.debug('Old Manpa weaken'); - return this.chainModify(0.5); - } - }, - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['spd'] = 0; - boosts['accuracy'] = 0; - } - }, - onStart(pokemon) { - this.boost({def: 1, spd: 1}); - }, - gen: 8, - }, - - // dream - greedpunisher: { - desc: "This Pokemon can only be damaged by direct attacks. On switch-in, this Pokemon's stats are boosted based on the number of hazards on the field. 1 random stat is raised if 1-2 hazards are up, and 2 random stats are raised if 3 or more hazards are up.", - shortDesc: "On switch-in, boosts stats based on the number of hazards on this Pokemon's side.", - name: "Greed Punisher", - onSwitchIn(pokemon) { - const side = pokemon.side; - const sideConditions = Object.keys(side.sideConditions); - const activeCount = sideConditions.length; - const stats: BoostID[] = []; - const exclude: string[] = ['accuracy', 'evasion']; - for (let x = 0; x < activeCount; x++) { - let stat: BoostID; - for (stat in pokemon.boosts) { - if (pokemon.boosts[stat] < 6 && !exclude.includes(stat)) { - stats.push(stat); - } - } - if (stats.length) { - const randomStat = this.sample(stats); - const boost: SparseBoostsTable = {}; - boost[randomStat] = 1; - this.boost(boost, pokemon, pokemon); - } - } - }, - onDamage(damage, target, source, effect) { - if (effect.id === 'heavyhailstorm') return; - if (effect.effectType !== 'Move') { - if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); - return false; - } - }, - gen: 8, - }, - - // Emeri - drakeskin: { - desc: "This Pokemon's Normal-type moves become Dragon-type moves and have their power multiplied by 1.2. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.", - shortDesc: "This Pokemon's Normal-type moves become Dragon type and have 1.2x power.", - name: "Drake Skin", - onModifyTypePriority: -1, - onModifyType(move, pokemon) { - const noModifyType = [ - 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'technoblast', 'terrainpulse', 'weatherball', - ]; - if (move.type === 'Normal' && !noModifyType.includes(move.id) && !(move.isZ && move.category !== 'Status')) { - move.type = 'Dragon'; - move.typeChangerBoosted = this.effect; - } - }, - onBasePowerPriority: 23, - onBasePower(basePower, pokemon, target, move) { - if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); - }, - gen: 8, - }, - - // EpicNikolai - dragonheart: { - desc: "Once per battle, when this Pokemon's HP is at or below 25% of its max HP, this Pokemon heals 50% of its max HP.", - shortDesc: "Once per battle, heals 50% when 25% or lower.", - name: "Dragon Heart", - onUpdate(pokemon) { - if (pokemon.hp > 0 && pokemon.hp < pokemon.maxhp / 4 && !this.effectState.dragonheart) { - this.effectState.dragonheart = true; - this.heal(pokemon.maxhp / 2); - } - }, - gen: 8, - }, - - // estarossa - sandsoftime: { - desc: "On switch-in, this Pokemon summons Sandstorm. If Sandstorm is active, this Pokemon's Ground-, Rock-, and Steel-type attacks have their power multiplied by 1.3. This Pokemon takes no damage from Sandstorm.", - shortDesc: "Sand Stream + Sand Force.", - name: "Sands of Time", - onStart(source) { - this.field.setWeather('sandstorm'); - }, - onImmunity(type, pokemon) { - if (type === 'sandstorm') return false; - }, - onBasePower(basePower, attacker, defender, move) { - if (this.field.isWeather('sandstorm')) { - if (move.type === 'Rock' || move.type === 'Ground' || move.type === 'Steel') { - this.debug('Sands of Time boost'); - return this.chainModify([5325, 4096]); - } - } - }, - gen: 8, - }, - - // fart - bipolar: { - desc: "If this Pokemon is a Kartana, then when it switches in, it changes to two random types and gets corresponding STAB attacks.", - shortDesc: "Kartana: User gains 2 random types and STAB moves on switch-in.", - name: "Bipolar", - isPermanent: true, - onSwitchIn(pokemon) { - if (pokemon.species.baseSpecies !== 'Kartana') return; - const typeMap: {[key: string]: string} = { - Normal: "Return", - Fighting: "Sacred Sword", - Flying: "Drill Peck", - Poison: "Poison Jab", - Ground: "Earthquake", - Rock: "Stone Edge", - Bug: "Lunge", - Ghost: "Shadow Bone", - Steel: "Iron Head", - Electric: "Zing Zap", - Psychic: "Psychic Fangs", - Ice: "Icicle Crash", - Dragon: "Dual Chop", - Dark: "Jaw Lock", - Fairy: "Play Rough", - }; - const types = Object.keys(typeMap); - this.prng.shuffle(types); - const newTypes = [types[0], types[1]]; - this.add('-start', pokemon, 'typechange', newTypes.join('/')); - pokemon.setType(newTypes); - let move = this.dex.moves.get(typeMap[newTypes[0]]); - pokemon.moveSlots[3] = pokemon.moveSlots[1]; - pokemon.moveSlots[1] = { - move: move.name, - id: move.id, - pp: move.pp, - maxpp: move.pp, - target: move.target, - disabled: false, - used: false, - virtual: true, - }; - move = this.dex.moves.get(typeMap[newTypes[1]]); - pokemon.moveSlots[2] = { - move: move.name, - id: move.id, - pp: move.pp, - maxpp: move.pp, - target: move.target, - disabled: false, - used: false, - virtual: true, - }; - }, - gen: 8, - }, - - // Finland - windingsong: { - desc: "If this Pokemon's species is Alcremie, it alternates one of its moves between two different options at the end of each turn, depending on the forme of Alcremie.", - shortDesc: "Alcremie: alternates between moves each turn.", - name: "Winding Song", - isPermanent: true, - onResidual(pokemon) { - if (pokemon.species.baseSpecies !== 'Alcremie') return; - let coolMoves = []; - if (pokemon.species.forme === 'Lemon-Cream') { - coolMoves = ['Reflect', 'Light Screen']; - } else if (pokemon.species.forme === 'Ruby-Swirl') { - coolMoves = ['Refresh', 'Destiny Bond']; - } else if (pokemon.species.forme === 'Mint-Cream') { - coolMoves = ['Light of Ruin', 'Sparkling Aria']; - } else { - coolMoves = ['Infestation', 'Whirlwind']; - } - let oldMove; - let move; - if (pokemon.moves.includes(this.toID(coolMoves[0]))) { - oldMove = this.toID(coolMoves[0]); - move = this.dex.moves.get(coolMoves[1]); - } else if (pokemon.moves.includes(this.toID(coolMoves[1]))) { - oldMove = this.toID(coolMoves[1]); - move = this.dex.moves.get(coolMoves[0]); - } else { - return; - } - if (!oldMove || !move) return; - const sketchIndex = pokemon.moves.indexOf(oldMove); - if (sketchIndex < 0) return false; - const sketchedMove = { - move: move.name, - id: move.id, - pp: (move.pp * 8 / 5), - maxpp: (move.pp * 8 / 5), - target: move.target, - disabled: false, - used: false, - }; - pokemon.moveSlots[sketchIndex] = sketchedMove; - pokemon.baseMoveSlots[sketchIndex] = sketchedMove; - this.add('-message', `Finland changed its move ${this.dex.moves.get(oldMove).name} to ${move.name}!`); - }, - gen: 8, - }, - - // frostyicelad - iceshield: { - desc: "This Pokemon can only be damaged by direct attacks. This Pokemon cannot lose its held item due to another Pokemon's attack.", - shortDesc: "Can only be damaged by direct attacks. Cannot lose its held item.", - name: "Ice Shield", - onDamage(damage, target, source, effect) { - if (effect.effectType !== 'Move') { - if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); - return false; - } - }, - onTakeItem(item, pokemon, source) { - if (this.suppressingAbility(pokemon) || !pokemon.hp || pokemon.item === 'stickybarb') return; - if (!this.activeMove) throw new Error("Battle.activeMove is null"); - if ((source && source !== pokemon) || this.activeMove.id === 'knockoff') { - this.add('-activate', pokemon, 'ability: Ice Shield'); - return false; - } - }, - gen: 8, - }, - - // gallant's pear - armortime: { - name: "Armor Time", - desc: "If this Pokemon uses a status move or King Giri Giri Slash, it changes its typing and boosts one of its stats by 1 stage randomly between four options: Bug/Fire type with a Special Attack boost, Bug/Steel type with a Defense boost, Bug/Rock type with a Special Defense boost, and Bug/Electric type with a Speed boost.", - shortDesc: "On use of status or King Giri Giri Slash, the user changes type and gets a boost.", - isPermanent: true, - onBeforeMove(source, target, move) { - if (move.category !== "Status" && move.id !== "kinggirigirislash") return; - const types = ['Fire', 'Steel', 'Rock', 'Electric']; - const type = ['Bug', this.sample(types)]; - if (!source.setType(type)) return; - this.add('-start', source, 'typechange', type.join('/'), '[from] ability: Armor Time'); - switch (type[1]) { - case 'Fire': - this.add('-message', 'Armor Time: Fire Armor!'); - this.boost({spa: 1}, source); - break; - case 'Steel': - this.add('-message', 'Armor Time: Steel Armor!'); - this.boost({def: 1}, source); - break; - case 'Rock': - this.add('-message', 'Armor Time: Rock Armor!'); - this.boost({spd: 1}, source); - break; - case 'Electric': - this.add('-message', 'Armor Time: Electric Armor!'); - this.boost({spe: 1}, source); - break; - } - }, - gen: 8, - }, - - // Gimmick - ic3peak: { - desc: "This Pokemon's Normal-type moves become Ice-type moves and have their power multiplied by 1.2. This Pokemon's moves, if they are not affected by Refrigerate, have their Base Power multiplied by the number of consecutive turns the move is used by this Pokemon.", - shortDesc: "Refrigerate; Echoed Voice modifier on non-Refrigerate moves.", - name: "IC3PEAK", - onModifyTypePriority: -1, - onModifyType(move, pokemon) { - const noModifyType = [ - 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'technoblast', 'terrainpulse', 'weatherball', - ]; - if (move.type === 'Normal' && !noModifyType.includes(move.id) && !(move.isZ && move.category !== 'Status')) { - move.type = 'Ice'; - move.typeChangerBoosted = this.effect; - } - }, - onBasePowerPriority: 23, - onBasePower(basePower, pokemon, target, move) { - if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); - }, - onModifyMovePriority: -2, - onModifyMove(move, attacker) { - if (move.typeChangerBoosted === this.effect) return; - move.onTry = function () { - this.field.addPseudoWeather('echoedvoiceclone'); - this.field.pseudoWeather.echoedvoiceclone.lastmove = move.name; - }; - // eslint-disable-next-line @typescript-eslint/no-shadow - move.basePowerCallback = function (pokemon, target, move) { - if (this.field.pseudoWeather.echoedvoiceclone) { - if (this.field.pseudoWeather.echoedvoiceclone.lastmove === move.name) { - return move.basePower * this.field.pseudoWeather.echoedvoiceclone.multiplier; - } else { - this.field.removePseudoWeather('echoedvoiceclone'); - } - } - return move.basePower; - }; - }, - gen: 8, - }, - - // GMars - capsulearmor: { - desc: "While in Minior-Meteor forme, this Pokemon cannot be affected by major status conditions and is immune to critical hits. This ability cannot be ignored by Moongeist Beam, Sunsteel Strike, Mold Breaker, Teravolt, or Turboblaze.", - shortDesc: "Minior-Meteor: Immune to crits and status", - name: "Capsule Armor", - isPermanent: true, - isBreakable: false, - onCriticalHit: false, - onSetStatus(status, target, source, effect) { - if (target.species.id !== 'miniormeteor' || target.transformed) return; - if ((effect as Move)?.status) { - this.add('-immune', target, '[from] ability: Capsule Armor'); - } - return false; - }, - onTryAddVolatile(status, target) { - if (target.species.id !== 'miniormeteor' || target.transformed) return; - if (status.id !== 'yawn') return; - this.add('-immune', target, '[from] ability: Capsule Armor'); - return null; - }, - }, - - // grimAuxiliatrix - aluminumalloy: { - desc: "This Pokemon restores 1/3 of its maximum HP, rounded down, when it switches out, and other Pokemon cannot lower this Pokemon's stat stages. -1 Speed, +1 Def/Sp.Def when hit with a Water-type attacking move, switching into rain or starting rain while this Pokemon is on the field.", - shortDesc: "Regenerator+Clear Body.+1 def/spd,-1 spe in rain/hit by water", - name: "Aluminum Alloy", - onSwitchIn(pokemon) { - if (['raindance', 'primordialsea'].includes(pokemon.effectiveWeather())) { - this.boost({def: 1, spd: 1, spe: -1}, pokemon, pokemon); - this.add('-message', `${pokemon.name} is rusting...`); - } - }, - onDamagingHit(damage, target, source, move) { - if (move.type === 'Water') { - this.boost({def: 1, spd: 1, spe: -1}, target, target); - this.add('-message', `${target.name} is rusting...`); - } - }, - onWeatherChange() { - const pokemon = this.effectState.target; - if (this.field.isWeather(['raindance', 'primordialsea'])) { - this.boost({def: 1, spd: 1, spe: -1}, pokemon, pokemon); - this.add('-message', `${pokemon.name} is rusting...`); - } - }, - onSwitchOut(pokemon) { - pokemon.heal(pokemon.baseMaxhp / 3); - }, - onTryBoost(boost, target, source, effect) { - if (source && target === source) return; - let showMsg = false; - let i: BoostID; - for (i in boost) { - if (boost[i]! < 0) { - delete boost[i]; - showMsg = true; - } - } - if (showMsg && !(effect as ActiveMove).secondaries && effect.id !== 'octolock') { - this.add("-fail", target, "unboost", "[from] ability: Aluminum Alloy", "[of] " + target); - } - }, - gen: 8, - }, - - // HoeenHero - tropicalcyclone: { - desc: "On switch-in, this Pokemon summons Rain Dance. If Rain Dance or Heavy Rain is active, this Pokemon's Speed is doubled.", - shortDesc: "Summons Rain. 2x Speed while rain is active.", - name: "Tropical Cyclone", - onStart(source) { - this.field.setWeather('raindance'); - }, - onModifySpe(spe, pokemon) { - if (['raindance', 'primordialsea'].includes(pokemon.effectiveWeather())) { - return this.chainModify(2); - } - }, - gen: 8, - }, - - // Hydro - hydrostatic: { - desc: "This Pokemon is immune to Water- and Electric-type moves and raises its Special Attack by 1 stage when hit by a Water- or Electric-type move. If this Pokemon is not the target of a single-target Water- or Electric-type move used by another Pokemon, this Pokemon redirects that move to itself if it is within the range of that move. This Pokemon's Water- and Electric-type moves have their accuracy multiplied by 1.3.", - shortDesc: "Storm Drain + Lightning Rod. This Pokemon's Water/Electric moves have 1.3x acc.", - onSourceModifyAccuracyPriority: 9, - onSourceModifyAccuracy(accuracy, source, target, move) { - if (typeof accuracy !== 'number') return; - if (!['Water', 'Electric'].includes(move.type)) return; - this.debug('hydrostatic - enhancing accuracy'); - return accuracy * 1.3; - }, - onTryHit(target, source, move) { - if (target !== source && ['Water', 'Electric'].includes(move.type)) { - if (!this.boost({spa: 1})) { - this.add('-immune', target, '[from] ability: Hydrostatic'); - } - return null; - } - }, - onAnyRedirectTarget(target, source, source2, move) { - if (!['Water', 'Electric'].includes(move.type) || move.flags['pledgecombo']) return; - const redirectTarget = ['randomNormal', 'adjacentFoe'].includes(move.target) ? 'normal' : move.target; - if (this.validTarget(this.effectState.target, source, redirectTarget)) { - if (move.smartTarget) move.smartTarget = false; - if (this.effectState.target !== target) { - this.add('-activate', this.effectState.target, 'ability: Hydrostatic'); - } - return this.effectState.target; - } - }, - name: "Hydrostatic", - gen: 8, - }, - - // Inactive - dragonsfury: { - desc: "If this Pokemon has a non-volatile status condition, its Defense is multiplied by 1.5x and its HP is restored by 25% of damage it deals.", - shortDesc: "If this Pokemon is statused, its Def is 1.5x and it heals for 25% of dmg dealt.", - onModifyDefPriority: 6, - onModifyDef(def, pokemon) { - if (pokemon.status) { - return this.chainModify(1.5); - } - }, - onModifyMove(move, attacker) { - if (attacker.status) move.drain = [1, 4]; - }, - name: "Dragon's Fury", - gen: 8, - }, - - // Iyarito - pollodiablo: { - desc: "This Pokemon's Special Attack is 1.5x, but it can only select the first move it executes.", - shortDesc: "This Pokemon's Sp. Atk is 1.5x, but it can only select the first move it executes.", - name: "Pollo Diablo", - onStart(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - onBeforeMove(pokemon, target, move) { - if (move.isZOrMaxPowered || move.id === 'struggle') return; - if (pokemon.abilityState.choiceLock && pokemon.abilityState.choiceLock !== move.id) { - this.addMove('move', pokemon, move.name); - this.attrLastMove('[still]'); - this.debug("Disabled by Pollo Diablo"); - this.add('-fail', pokemon); - return false; - } - }, - onModifyMove(move, pokemon) { - if (pokemon.abilityState.choiceLock || move.isZOrMaxPowered || move.id === 'struggle') return; - pokemon.abilityState.choiceLock = move.id; - }, - onModifySpAPriority: 1, - onModifySpA(spa, pokemon) { - if (pokemon.volatiles['dynamax']) return; - this.debug('Pollo Diablo Spa Boost'); - return this.chainModify(1.5); - }, - onDisableMove(pokemon) { - if (!pokemon.abilityState.choiceLock) return; - if (pokemon.volatiles['dynamax']) return; - for (const moveSlot of pokemon.moveSlots) { - if (moveSlot.id !== pokemon.abilityState.choiceLock) { - pokemon.disableMove(moveSlot.id, false, this.effectState.sourceEffect); - } - } - }, - onEnd(pokemon) { - pokemon.abilityState.choiceLock = ""; - }, - gen: 8, - }, - - // Jett - deceiver: { - desc: "This Pokemon's moves that match one of its types have a same-type attack bonus of 2 instead of 1.5. If this Pokemon is at full HP, it survives one hit with at least 1 HP.", - shortDesc: "Adaptability + Sturdy.", - onModifyMove(move) { - move.stab = 2; - }, - onTryHit(pokemon, target, move) { - if (move.ohko) { - this.add('-immune', pokemon, '[from] ability: Deceiver'); - return null; - } - }, - onDamagePriority: -100, - onDamage(damage, target, source, effect) { - if (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') { - this.add('-ability', target, 'Deceiver'); - return target.hp - 1; - } - }, - name: "Deceiver", - gen: 8, - }, - - // Jho - venomize: { - desc: "This Pokemon's Normal-type moves become Poison-type moves and have their power multiplied by 1.2. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.", - shortDesc: "This Pokemon's Normal-type moves become Poison type and have 1.2x power.", - onModifyTypePriority: -1, - onModifyType(move, pokemon) { - const noModifyType = [ - 'judgment', 'multiattack', 'naturalgift', 'revelationdance', 'technoblast', 'terrainpulse', 'weatherball', - ]; - if (move.type === 'Normal' && !noModifyType.includes(move.id) && !(move.isZ && move.category !== 'Status')) { - move.type = 'Poison'; - move.typeChangerBoosted = this.effect; - } - }, - onBasePowerPriority: 23, - onBasePower(basePower, pokemon, target, move) { - if (move.typeChangerBoosted === this.effect) return this.chainModify([4915, 4096]); - }, - name: "Venomize", - gen: 8, - }, - - // Jordy - divinesandstorm: { - desc: "On switch-in, this Pokemon summons Sandstorm. This Pokemon does not take recoil damage besides Struggle/Life Orb/crash damage.", - shortDesc: "Sand Stream + Rock Head.", - name: "Divine Sandstorm", - onDamage(damage, target, source, effect) { - if (effect.id === 'recoil') { - if (!this.activeMove) return; - if (this.activeMove.id !== 'struggle') return null; - } - }, - onStart(pokemon) { - this.field.setWeather('sandstorm'); - }, - gen: 8, - }, - - // Kaiju Bunny - secondwind: { - desc: "Once per battle, when this Pokemon's HP is at or below 25% of its max HP, this Pokemon heals 50% of its max HP.", - shortDesc: "Once per battle, heals 50% when 25% or lower.", - name: "Second Wind", - onUpdate(pokemon) { - if (pokemon.hp > 0 && pokemon.hp < pokemon.maxhp / 4 && !this.effectState.dragonheart) { - this.effectState.dragonheart = true; - this.heal(pokemon.maxhp / 2); - } - }, - gen: 8, - }, - - // Kennedy - falsenine: { - desc: "This Pokemon's type changes to match the type of the move it is about to use. This effect comes after all effects that change a move's type. This Pokemon's critical hit ratio is raised by 1 stage.", - shortDesc: "Protean + Super Luck.", - onPrepareHit(source, target, move) { - if (move.hasBounced) return; - const type = move.type; - if (type && type !== '???' && source.getTypes().join() !== type) { - if (!source.setType(type)) return; - this.add('-start', source, 'typechange', type, '[from] ability: False Nine'); - } - }, - onModifyCritRatio(critRatio) { - return critRatio + 1; - }, - name: "False Nine", - gen: 8, - }, - - // Kev - kingofatlantis: { - desc: "On switch-in, this Pokemon summons Rain Dance for 5 turns, plus 1 additional turn for each Water-type teammate. This Pokemon also has the effects of Dry Skin.", - shortDesc: "Drizzle + Dry Skin; +1 turn of rain for each Water-type teammate.", - onStart(source) { - this.field.setWeather('raindance', source); - // See conditions.ts for weather modifications. - }, - onTryHit(target, source, move) { - if (target !== source && move.type === 'Water') { - if (!this.heal(target.baseMaxhp / 4)) { - this.add('-immune', target, '[from] ability: King of Atlantis'); - } - return null; - } - }, - onFoeBasePowerPriority: 17, - onFoeBasePower(basePower, attacker, defender, move) { - if (this.effectState.target !== defender) return; - if (move.type === 'Fire') { - return this.chainModify(1.25); - } - }, - onWeather(target, source, effect) { - if (target.hasItem('utilityumbrella')) return; - if (effect.id === 'raindance' || effect.id === 'primordialsea') { - this.heal(target.baseMaxhp / 8); - } else if (effect.id === 'sunnyday' || effect.id === 'desolateland') { - this.damage(target.baseMaxhp / 8, target, target); - } - }, - name: "King of Atlantis", - gen: 8, - }, - - // KingSwordYT - bambookingdom: { - desc: "On switch-in, this Pokemon's Defense and Special Defense are raised by 1 stage. Attacking moves used by this Pokemon have their priority set to -7.", - shortDesc: "+1 Def/SpD. -7 priority on attacks.", - name: "Bamboo Kingdom", - onStart(pokemon) { - this.boost({def: 1, spd: 1}, pokemon); - }, - onModifyPriority(priority, pokemon, target, move) { - if (move?.category !== 'Status') return -7; - }, - gen: 8, - }, - - // Kipkluif - degenerator: { - desc: "While this Pokemon is active, foes that switch out lose 1/3 of their maximum HP, rounded down. This damage will never cause a Pokemon to faint, and will instead leave them at 1 HP.", - shortDesc: "While this Pokemon is active, foes that switch out lose 1/3 of their maximum HP.", - onStart(pokemon) { - pokemon.side.foe.addSideCondition('degeneratormod', pokemon); - const data = pokemon.side.foe.getSideConditionData('degeneratormod'); - if (!data.sources) { - data.sources = []; - } - data.sources.push(pokemon); - }, - onEnd(pokemon) { - pokemon.side.foe.removeSideCondition('degeneratormod'); - }, - name: "Degenerator", - gen: 8, - }, - - // Lionyx - tension: { - desc: "On switch-in, the Pokemon builds up tension, making the next attack always hit and always be a critical hit.", - shortDesc: "On switch-in, the Pokemon's next attack will always be a critical hit and will always hit.", - name: "Tension", - onStart(pokemon) { - this.add('-ability', pokemon, 'Tension'); - pokemon.addVolatile('tension'); - }, - condition: { - onStart(pokemon, source, effect) { - if (effect && (['imposter', 'psychup', 'transform'].includes(effect.id))) { - this.add('-start', pokemon, 'move: Tension', '[silent]'); - } else { - this.add('-start', pokemon, 'move: Tension'); - } - this.add("-message", `${pokemon.name} has built up tension!`); - }, - onModifyCritRatio(critRatio) { - return 5; - }, - onAnyInvulnerability(target, source, move) { - if (move && (source === this.effectState.target || target === this.effectState.target)) return 0; - }, - onSourceAccuracy(accuracy) { - return true; - }, - onAfterMove(pokemon, source) { - pokemon.removeVolatile('tension'); - }, - onEnd(pokemon) { - this.add('-end', pokemon, 'move: Tension', '[silent]'); - }, - }, - gen: 8, - }, - - // LittEleven - darkroyalty: { - desc: "While this Pokemon is active, priority moves from opposing Pokemon targeted at allies are prevented from having an effect. Dark-type attacks used by this Pokemon have their power multiplied by 1.2.", - shortDesc: "Immune to priority. Dark-type attacks have 1.2x power.", - onFoeTryMove(target, source, move) { - const targetAllExceptions = ['perishsong', 'flowershield', 'rototiller']; - if (move.target === 'foeSide' || (move.target === 'all' && !targetAllExceptions.includes(move.id))) { - return; - } - - const dazzlingHolder = this.effectState.target; - if ((source.isAlly(dazzlingHolder) || move.target === 'all') && move.priority > 0.1) { - this.attrLastMove('[still]'); - this.add('-ability', dazzlingHolder, 'Dark Royalty'); - this.add('cant', target, move, '[of] ' + dazzlingHolder); - return false; - } - }, - onAllyBasePower(basePower, attacker, defender, move) { - if (move.type === 'Dark') { - this.debug('Dark Royalty boost'); - return this.chainModify(1.2); - } - }, - name: "Dark Royalty", - }, - - // Lunala - magichat: { - desc: "This Pokemon can only be damaged by direct attacks. This Pokemon blocks certain status moves and instead uses the move against the original user.", - shortDesc: "Magic Guard + Magic Bounce.", - onDamage(damage, target, source, effect) { - if (effect.id === 'heavyhailstorm') return; - if (effect.effectType !== 'Move') { - if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); - return false; - } - }, - onTryHitPriority: 1, - onTryHit(target, source, move) { - if (target === source || move.hasBounced || !move.flags['reflectable']) { - return; - } - const newMove = this.dex.getActiveMove(move.id); - newMove.hasBounced = true; - newMove.pranksterBoosted = false; - this.add('-ability', target, 'Magic Hat'); - this.actions.useMove(newMove, target, source); - return null; - }, - onAllyTryHitSide(target, source, move) { - if (target.isAlly(source) || move.hasBounced || !move.flags['reflectable']) { - return; - } - const newMove = this.dex.getActiveMove(move.id); - newMove.hasBounced = true; - newMove.pranksterBoosted = false; - this.add('-ability', target, 'Magic Hat'); - this.actions.useMove(newMove, this.effectState.target, source); - return null; - }, - condition: { - duration: 1, - }, - name: "Magic Hat", - gen: 8, - }, - - // Mad Monty ¾° - petrichor: { - desc: "On switch-in, this Pokemon summons Rain Dance. If Rain Dance or Heavy Rain is active, this Pokemon's Electric-type moves have 1.2x power.", - shortDesc: "Summons rain. Electric-type moves have 1.2x power in rain.", - name: "Petrichor", - onStart(source) { - this.field.setWeather('raindance'); - }, - onBasePowerPriority: 23, - onBasePower(basePower, pokemon, target, move) { - if (move.type === 'Electric' && this.field.getWeather().id === 'raindance') { - return this.chainModify([4915, 4096]); - } - }, - }, - - // Marshmallon - stubbornness: { - desc: "this Pokemon does not take recoil damage. The first time an opposing Pokemon boosts a stat each time this Pokemon is active, this Pokemon's Attack, Defense, and Special Defense are raised by 1 stage; each time the opponent boosts after this, this Pokemon's Attack is boosted by 1 stage. Activation of opposing Stubbornness will not activate Stubbornness.", - shortDesc: "Rock Head + when foe first boosts, Atk/Def/SpD+1. Further foe boosts=+1 Atk.", - name: "Stubbornness", - onDamage(damage, target, source, effect) { - if (effect.id === 'recoil') { - if (!this.activeMove) throw new Error("Battle.activeMove is null"); - if (this.activeMove.id !== 'struggle') return null; - } - }, - onSwitchOut(pokemon) { - if (this.effectState.happened) delete this.effectState.happened; - }, - onFoeAfterBoost(boost, target, source, effect) { - const pokemon = target.side.foe.active[0]; - let success = false; - let i: BoostID; - for (i in boost) { - if (boost[i]! > 0) { - success = true; - } - } - // Infinite Loop preventer - if (effect?.name === 'Stubbornness') return; - if (success) { - if (!this.effectState.happened) { - this.boost({atk: 1, def: 1, spd: 1}, pokemon); - this.effectState.happened = true; - } else { - this.boost({atk: 1}, pokemon); - } - } - }, - gen: 8, - }, - - // Mitsuki - photosynthesis: { - desc: "On switch-in, this Pokemon summons Sunny Day. If Sunny Day is active and this Pokemon is not holding Utility Umbrella, this Pokemon's Speed is doubled.", - shortDesc: "Drought + Chlorophyll", - name: "Photosynthesis", - onStart(source) { - for (const action of this.queue) { - if (action.choice === 'runPrimal' && action.pokemon === source && source.species.id === 'groudon') return; - if (action.choice !== 'runSwitch' && action.choice !== 'runPrimal') break; - } - this.field.setWeather('sunnyday'); - }, - onModifySpe(spe, pokemon) { - if (['sunnyday', 'desolateland'].includes(pokemon.effectiveWeather())) { - return this.chainModify(2); - } - }, - gen: 8, - }, - - // n10siT - greedymagician: { - desc: "This Pokemon steals the item off a Pokemon it hits with an attack. If this Pokemon already has an item, it is replaced with the stolen item. This ability does not affect Doom Desire and Future Sight.", - shortDesc: "Steals item from foe on attack; replace current item with stolen item.", - name: "Greedy Magician", - onSourceHit(target, source, move) { - if (!move || !target) return; - if (target !== source && move.category !== 'Status') { - const yourItem = target.takeItem(source); - if (!yourItem) return; - if (!source.setItem(yourItem)) { - target.item = yourItem.id; - return; - } - this.add('-item', source, yourItem, '[from] ability: Greedy Magician', '[of] ' + source); - } - }, - gen: 8, - }, - - // Theia - burningsoul: { - desc: "On switch-in, this Pokemon summons Sunny Day. If this Pokemon is at full HP, it survives one hit with at least 1 HP. OHKO moves fail when used against this Pokemon.", - shortDesc: "Drought + Sturdy.", - onStart(source) { - this.field.setWeather('sunnyday'); - }, - onTryHit(pokemon, target, move) { - if (move.ohko) { - this.add('-immune', pokemon, '[from] ability: Burning Soul'); - return null; - } - }, - onDamagePriority: -100, - onDamage(damage, target, source, effect) { - if (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') { - this.add('-ability', target, 'Burning Soul'); - return target.hp - 1; - } - }, - name: "Burning Soul", - gen: 8, - }, - - // Notater517 - lastminutelag: { - desc: "This Pokemon applies the Recharge status to the opposing Pokemon if this Pokemon needs to recharge. If this Pokemon KOs an opposing Pokemon with a recharge move, then the user does not need to recharge.", - shortDesc: "Gives Recharge to the target if this Pokemon has it. KO: No recharge.", - onModifyMove(move, pokemon, target) { - if (move.self?.volatileStatus === 'mustrecharge') { - if (!move.volatileStatus) { - move.volatileStatus = 'mustrecharge'; - } else { - if (!move.secondaries) move.secondaries = []; - move.secondaries.push({chance: 100, volatileStatus: 'mustrecharge'}); - } - } - }, - onAfterMoveSecondarySelf(pokemon, target, move) { - if (!target || target.fainted || target.hp <= 0) { - if (pokemon.volatiles['mustrecharge']) { - this.add('-ability', pokemon, 'Last Minute Lag'); - this.add('-end', pokemon, 'mustrecharge'); - delete pokemon.volatiles['mustrecharge']; - this.hint('It may look like this Pokemon is going to recharge next turn, but it will not recharge.'); - } - } - }, - name: "Last-Minute Lag", - gen: 8, - }, - - // nui - conditionoverride: { - desc: "This Pokemon can attract opponents regardless of gender. Pokemon that are attracted have their Special Defense stat reduced by 25%.", - shortDesc: "Attracts anyone. Attracted Pokemon have SpD reduced by 25%.", - // See conditions.ts for implementation - name: "Condition Override", - gen: 8, - }, - - // pants - ghostspores: { - desc: "This Pokemon ignores the foe's stat boosts. On switch-out, this Pokemon regenerates 1/3 HP, rounded down. If this Pokemon is hit by an attack, Leech Seed is applied to the foe. If this Pokemon is KOed, Curse is applied to the foe.", - shortDesc: "Unaware + Regenerator. If hit, foe is Leech Seeded. If KOed, foe is Cursed.", - name: 'Ghost Spores', - onDamagingHit(damage, target, source, move) { - if (!target.hp) { - source.addVolatile('curse', target); - } else { - source.addVolatile('leechseed', target); - } - }, - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['accuracy'] = 0; - } - }, - onSwitchOut(pokemon) { - pokemon.heal(pokemon.baseMaxhp / 3); - }, - }, - - // PartMan - hecatomb: { - desc: "This Pokemon's Speed is raised by 1 stage if it attacks and knocks out another Pokemon. If the Pokemon is Chandelure and is not shiny, it changes its set.", - shortDesc: "Spe +1 on KOing foe. Chandelure: changes sets.", - name: 'Hecatomb', - onSourceAfterFaint(length, target, source, effect) { - if (effect && effect.effectType === 'Move') { - this.boost({spe: length}, source); - if (source.species.baseSpecies !== 'Chandelure') return; - if (source.set.shiny) return; - source.m.nowShiny = true; - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|THE LIGHT! IT BURNS!`); - changeSet(this, source, ssbSets['PartMan-Shiny']); - } - }, - gen: 8, - }, - - // peapod - stealthblack: { - desc: "No competitive use.", - name: 'Stealth Black', - gen: 8, - }, - - // Perish Song - soupsipper: { - desc: "This Pokemon is immune to Grass- and Water-type moves, restores 1/4 of its maximum HP, rounded down, when hit by these types, and boosts its Attack by 1 stage when hit by these types.", - shortDesc: "Immune to Water and Grass moves, heals 1/4 HP and gains +1 Atk when hit by them.", - onTryHit(target, source, move) { - if (target !== source && ['Water', 'Grass'].includes(move.type)) { - let success = false; - if (this.heal(target.baseMaxhp / 4)) success = true; - if (this.boost({atk: 1})) success = true; - if (!success) { - this.add('-immune', target, '[from] ability: Soup Sipper'); - } - return null; - } - }, - name: "Soup Sipper", - gen: 8, - }, - - // phiwings99 - plausibledeniability: { - desc: "This Pokemon's Status moves have priority raised by 1, but Dark-types are immune. Additionally, This Pokemon ignores other Pokemon's Attack, Special Attack, and accuracy stat stages when taking damage, and ignores other Pokemon's Defense, Special Defense, and evasiveness stat stages when dealing damage.", - shortDesc: "Unaware + Prankster. Dark-types still immune to Prankster moves.", - name: "Plausible Deniability", - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['spd'] = 0; - boosts['accuracy'] = 0; - } - }, - onModifyPriority(priority, pokemon, target, move) { - if (move?.category === 'Status') { - move.pranksterBoosted = true; - return priority + 1; - } - }, - gen: 8, - }, - - // piloswine gripado - foreverwinternights: { - desc: "On switch-in, this Pokemon summons Winter Hail. Winter Hail is hail that also lowers the Speed of non-Ice-type Pokemon by 50%. This weather remains in effect until this Ability is no longer active for any Pokemon, or the weather is changed by Delta Stream, Desolate Land, or Primordial Sea.", - shortDesc: "Sets permahail until this Pokemon switches out. Non-Ice: 1/2 Speed", - onStart(source) { - this.field.setWeather('winterhail'); - }, - onAnySetWeather(target, source, weather) { - if (this.field.getWeather().id === 'winterhail' && !STRONG_WEATHERS.includes(weather.id)) return false; - }, - onEnd(pokemon) { - if (this.field.weatherState.source !== pokemon) return; - for (const target of this.getAllActive()) { - if (target === pokemon) continue; - if (target.hasAbility('winterhail')) { - this.field.weatherState.source = target; - return; - } - } - this.field.clearWeather(); - }, - name: "Forever Winter Nights", - gen: 8, - }, - - // PiraTe Princess - wildmagicsurge: { - desc: "Randomly changes this Pokemon's type at the end of every turn to the type of one of its moves; same-type attack bonus (STAB) is 2 instead of 1.5.", - shortDesc: "Adaptability + Randomly changes to the type of one of its moves every turn.", - name: "Wild Magic Surge", - onModifyMove(move) { - move.stab = 2; - }, - onResidual(pokemon) { - if (!pokemon.hp) return; - const types = pokemon.moveSlots.map(slot => this.dex.moves.get(slot.id).type); - const type = types.length ? this.sample(types) : '???'; - if (this.dex.types.isName(type) && pokemon.setType(type)) { - this.add('-ability', pokemon, 'Wild Magic Surge'); - this.add('-start', pokemon, 'typechange', type); - } - }, - gen: 8, - }, - - // Psynergy - supernova: { - desc: "On switch-in, if total positive boosts - total negative boosts ≥ 8, both Pokemon faint.", - onStart(source) { - let result = 0; - const pokemon = this.getAllActive(); - for (const poke of pokemon) { - result += Object.values(poke.boosts).reduce((total, x) => total + x); - } - if (result < 8) return; - this.add('-ability', source, 'Supernova'); - for (const x of pokemon) { - this.add('-anim', x, 'Explosion', x); - x.faint(); - } - }, - name: "Supernova", - gen: 8, - }, - - // ptoad - swampysurge: { - desc: "On switch-in, this Pokemon summons Swampy Terrain. Swampy Terrain halves the power of Electric-, Grass-, and Ice-type moves used by grounded Pokemon and heals grounded Water- and Ground-types by 1/16 of their maximum HP, rounded down, each turn.", - shortDesc: "5 turns: Grounded: 1/2 Elec/Grass/Ice power, +1/16 HP/turn for Water or Ground.", - onStart(source) { - this.field.setTerrain('swampyterrain'); - }, - name: "Swampy Surge", - gen: 8, - }, - - // Rach - burnitdown: { - desc: "On switch-in, this Pokemon lowers the foe's higher offensive stat.", - shortDesc: "Lower the foe's higher offensive stat.", - onStart(pokemon) { - let totalatk = 0; - let totalspa = 0; - for (const target of pokemon.foes()) { - totalatk += target.getStat('atk', false, true); - totalspa += target.getStat('spa', false, true); - } - for (const target of pokemon.foes()) { - this.add('-ability', pokemon, 'BURN IT DOWN!'); - if (totalatk && totalatk >= totalspa) { - this.boost({atk: -1}, target, pokemon, null, true); - } else if (totalspa) { - this.boost({spa: -1}, target, pokemon, null, true); - } - } - }, - name: "BURN IT DOWN!", - gen: 8, - }, - - // Rage - inversionsurge: { - desc: "On switch-in, this Pokemon summons Inversion Terrain. While Inversion Terrain is active, type effectiveness for all Pokemon on the field is inverted, and paralyzed Pokemon have doubled, instead of halved, Speed.", - shortDesc: "Summons Inversion Terrain; 5 turns: Inverse Battle, par: 2x Spe.", - onStart(source) { - this.field.setTerrain('inversionterrain'); - }, - name: "Inversion Surge", - gen: 8, - }, - - // Raihan Kibana - royalcoat: { - desc: "If Sandstorm is active, this Pokemon's Speed is doubled and its Special Defense is multiplied by 1.5. This Pokemon takes no damage from Sandstorm.", - shortDesc: "If Sandstorm, Speed x2 and SpD x1.5; immunity to Sandstorm.", - name: "Royal Coat", - onModifySpe(spe, pokemon) { - if (this.field.isWeather('sandstorm')) { - return this.chainModify(2); - } - }, - onModifySpD(spd, pokemon) { - if (this.field.isWeather('sandstorm')) { - return this.chainModify(1.5); - } - }, - onImmunity(type, pokemon) { - if (type === 'sandstorm') return false; - }, - gen: 8, - }, - - // RavioliQueen - phantomplane: { - desc: "On switch-in, this Pokemon summons Pitch Black Terrain. While Pitch Black Terrain is active, all non-Ghost-type Pokemon take damage equal to 1/16 of their max HP, rounded down, at the end of each turn.", - shortDesc: "Summons Pitch Black Terrain, which damages non-Ghosts by 1/16 per turn.", - onStart(source) { - this.field.setTerrain('pitchblackterrain'); - }, - name: "Phantom Plane", - gen: 8, - }, - - // Robb576 - thenumbersgame: { - desc: "If this Pokemon is a forme of Necrozma, its forme changes on switch-in depending on the number of unfainted Pokemon on the user's team: Necrozma-Dusk-Mane if 3 or fewer Pokemon and Necrozma-Dawn-Wings was sent out already; Necrozma-Ultra if it is the last Pokemon left on the team and Necrozma-Dusk-Mane was sent out already.", - shortDesc: "Changes forme on switch-in depending on # of remaining Pokemon on user's team.", - name: "The Numbers Game", - isPermanent: true, - onStart(target) { - if (target.baseSpecies.baseSpecies !== 'Necrozma' || target.transformed) return; - if (target.side.pokemonLeft <= 3) { - if (target.species.name === 'Necrozma-Dusk-Mane' && target.side.pokemonLeft === 1 && target.m.flag2) { - changeSet(this, target, ssbSets['Robb576-Ultra']); - } else if (target.species.name === "Necrozma-Dawn-Wings" && target.m.flag1) { - changeSet(this, target, ssbSets['Robb576-Dusk-Mane']); - target.m.flag2 = true; - } - } - target.m.flag1 = true; - }, - gen: 8, - }, - - // Sectonia - royalaura: { - desc: "If this Pokemon is the target of an opposing Pokemon's move, that move loses one additional PP. Moves used by this Pokemon only use 0.5 PP.", - shortDesc: "Pressure, and this Pokemon uses 0.5 PP per move.", - name: "Royal Aura", - onStart(pokemon) { - this.add('-ability', pokemon, 'Royal Aura'); - }, - onDeductPP(target, source) { - if (target.isAlly(source)) return; - return 1; - }, - onTryMove(pokemon, target, move) { - const moveData = pokemon.getMoveData(move.id); - if (!moveData || moveData.pp < 0.5) return; - // Lost 1 PP due to move usage, restore 0.5 PP to make it so that only 0.5 PP - // would be used. - moveData.pp += 0.5; - }, - gen: 8, - }, - - // Segmr - skilldrain: { - desc: "While this Pokemon is active, no moves will trigger their secondary effects, and moves that cause the user to switch out will no longer do so.", - shortDesc: "While active: no secondary effects, moves can't switch out.", - name: "Skill Drain", - onAnyModifyMove(move) { - delete move.secondaries; - }, - // afterSecondarySelf and switch nullifying handled in ssb/scripts.ts - gen: 8, - }, - - // sejesensei - trashconsumer: { - desc: "This Pokemon is immune to Poison-type moves and restores 1/4 of its maximum HP, rounded down, when hit by a Poison-type move. Pokemon making contact with this Pokemon lose 1/8 of their maximum HP, rounded down.", - shortDesc: "Poison Absorb + Rough Skin", - name: "Trash Consumer", - onTryHit(target, source, move) { - if (target !== source && move.type === 'Poison') { - if (!this.heal(target.baseMaxhp / 4)) { - this.add('-immune', target, '[from] ability: Trash Consumer'); - } - return null; - } - }, - onDamagingHitOrder: 1, - onDamagingHit(damage, target, source, move) { - if (this.checkMoveMakesContact(move, source, target, true)) { - this.damage(source.baseMaxhp / 8, source, target); - } - }, - gen: 8, - }, - - // Shadecession - shadydeal: { - desc: "On switch-in, this Pokemon boosts a random stat other than Special Attack by 1 stage and gains 2 random type immunities that are displayed to the opponent.", - shortDesc: "On switch-in, gains random +1 to non-SpA, 2 random immunities.", - onStart(pokemon) { - const stats: BoostID[] = []; - let stat: BoostID; - for (stat in pokemon.boosts) { - const noBoost: string[] = ['accuracy', 'evasion', 'spa']; - if (!noBoost.includes(stat) && pokemon.boosts[stat] < 6) { - stats.push(stat); - } - } - if (stats.length) { - const randomStat = this.sample(stats); - const boost: SparseBoostsTable = {}; - boost[randomStat] = 1; - this.boost(boost); - } - if (this.effectState.immunities) return; - const typeList = this.dex.types.names(); - const firstTypeIndex = this.random(typeList.length); - const secondType = this.sample(typeList.slice(0, firstTypeIndex).concat(typeList.slice(firstTypeIndex + 1))); - this.effectState.immunities = [typeList[firstTypeIndex], secondType]; - this.add('-start', pokemon, `${this.effectState.immunities[0]} Immunity`, '[silent]'); - this.add('-start', pokemon, `${this.effectState.immunities[1]} Immunity`, '[silent]'); - this.add("-message", `${pokemon.name} is now immune to ${this.effectState.immunities[0]} and ${this.effectState.immunities[1]} type attacks!`); - }, - onTryHit(target, source, move) { - if (target !== source && this.effectState.immunities?.includes(move.type)) { - this.add('-immune', target, '[from] ability: Shady Deal'); - return null; - } - }, - onEnd(pokemon) { - if (!this.effectState.immunities) return; - this.add('-end', pokemon, `${this.effectState.immunities[0]} Immunity`, '[silent]'); - this.add('-end', pokemon, `${this.effectState.immunities[1]} Immunity`, '[silent]'); - delete this.effectState.immunities; - }, - name: "Shady Deal", - gen: 8, - }, - - // Soft Flex - eyeofthestorm: { - name: "Eye of the Storm", - desc: "On switch-in, this Pokemon summons Rain Dance and Tempest Terrain. While Tempest Terrain is active, Electric-type Pokemon are healed by 1/16 of their maximum HP, rounded down, at the end of each turn, and Flying- and Steel-type Pokemon lose 1/16 of their maximum HP, rounded down, at the end of each turn. If the Flying- or Steel-type Pokemon is also Electric-type, they only receive the healing.", - shortDesc: "5 turns: Rain, +1/16 HP/turn to Elec, -1/16/turn to Fly/Steel.", - onStart(source) { - this.field.setWeather('raindance', source); - this.field.setTerrain('tempestterrain', source); - }, - }, - // Spandan - hackedcorrosion: { - desc: "This Pokemon ignores other Pokemon's stat stages when taking or doing damage. This Pokemon can poison or badly poison Pokemon regardless of their typing.", - shortDesc: "Unaware + Corrosion.", - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['spd'] = 0; - boosts['accuracy'] = 0; - } - }, - name: "Hacked Corrosion", - }, - - // Struchni - overaskedclause: { - desc: "If this Pokemon is an Aggron and is hit by a move that is not very effective, this Pokemon becomes Aggron-Mega and its Attack is boosted by 1 stage.", - shortDesc: "Aggron: If hit by resisted move, Mega Evolve and gain +1 Atk.", - name: "Overasked Clause", - isPermanent: true, - onHit(target, source, move) { - if (target.getMoveHitData(move).typeMod < 0) { - if (!target.hp) return; - if (target.species.id.includes('aggron') && !target.illusion && !target.transformed) { - this.boost({atk: 1}, target); - if (target.species.name !== 'Aggron') return; - this.actions.runMegaEvo(target); - } - } - }, - gen: 8, - }, - - // Teclis - fieryfur: { - name: "Fiery Fur", - desc: "If this Pokemon is at full HP, damage taken from attacks is halved.", - onSourceModifyDamage(damage, source, target, move) { - if (target.hp >= target.maxhp) { - this.debug('Fiery Fur weaken'); - return this.chainModify(0.5); - } - }, - }, - - // temp - chargedup: { - desc: "If this Pokemon has a negative stat boost at -2 or lower, this Pokemon's negative stat boosts are cleared.", - shortDesc: "Resets negative stat boosts if there is one at -2 or lower.", - name: "Charged Up", - onUpdate(pokemon) { - let activate = false; - const boosts: SparseBoostsTable = {}; - let i: BoostID; - for (i in pokemon.boosts) { - if (pokemon.boosts[i] <= -2) { - activate = true; - boosts[i] = 0; - } - } - if (activate) { - pokemon.setBoost(boosts); - this.add('-activate', pokemon, 'ability: Charged Up'); - this.add('-clearnegativeboost', pokemon); - } - }, - gen: 8, - }, - - // tiki - truegrit: { - desc: "This Pokemon receives 1/2 damage from special attacks. This Pokemon ignores other Pokemon's Attack, Special Attack, and accuracy stat stages when taking damage, and ignores other Pokemon's Defense, Special Defense, and evasiveness stat stages when dealing damage.", - shortDesc: "Takes 1/2 damage from special moves and ignores boosts.", - name: "True Grit", - onSourceModifyDamage(damage, source, target, move) { - if (move.category === 'Special') { - return this.chainModify(0.5); - } - }, - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['spd'] = 0; - boosts['accuracy'] = 0; - } - }, - gen: 8, - }, - - // Trickster - trillionageroots: { - desc: "This Pokemon applies Leech Seed to the opposing Pokemon when hit with an attacking move. If this Pokemon is at full HP, it survives one hit with at least 1 HP. OHKO moves fail when used against this Pokemon.", - shortDesc: "Sturdy + apply Leech Seed when hit by foe.", - onTryHit(pokemon, target, move) { - if (move.ohko) { - this.add('-immune', pokemon, '[from] ability: Trillionage Roots'); - return null; - } - }, - onDamagePriority: -100, - onDamage(damage, target, source, effect) { - if (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') { - this.add('-ability', target, 'Trillionage Roots'); - return target.hp - 1; - } - }, - onDamagingHit(damage, target, source, move) { - if (source.volatiles['leechseed']) return; - if (!move.flags['futuremove']) { - source.addVolatile('leechseed', this.effectState.target); - } - }, - name: "Trillionage Roots", - gen: 8, - }, - - // Volco - speedrunning: { - desc: "This Pokemon's Special Attack is raised by 1 stage when another Pokemon faints. Moves used by this Pokemon that are 60 Base Power or lower gain an additional 25 Base Power. No moves can defrost a frozen Pokemon while this Pokemon is active. However, using a move that would defrost will still go through freeze.", - shortDesc: "Soul Heart + Weak moves get +25 BP. Moves can't defrost. Defrost moves go thru frz.", - onAnyFaintPriority: 1, - onAnyFaint() { - this.boost({spa: 1}, this.effectState.target); - }, - onAnyModifyMove(move, pokemon) { - if (move.thawsTarget) { - delete move.thawsTarget; - } - if (move.flags["defrost"]) { - delete move.flags["defrost"]; - } - }, - onBasePowerPriority: 21, - onBasePower(basePower, pokemon, target, move) { - if (move.basePower <= 60) return basePower + 25; - }, - name: "Speedrunning", - gen: 8, - }, - - // Vexen - aquilasblessing: { - desc: "This Pokemon's attacks with secondary effects have their power multiplied by 1.3, but the secondary effects are removed. If this Pokemon gets hit by a damaging Fire type move, its Defense and Special Defense get raised by 1 stage.", - shortDesc: "Sheer Force + when hit with Fire move: +1 Def/SpD.", - onModifyMove(move, pokemon) { - if (move.secondaries) { - delete move.secondaries; - // Technically not a secondary effect, but it is negated - if (move.id === 'clangoroussoulblaze') delete move.selfBoost; - // Actual negation of `AfterMoveSecondary` effects implemented in scripts.js - move.hasSheerForce = true; - } - }, - onBasePowerPriority: 21, - onBasePower(basePower, pokemon, target, move) { - if (move.hasSheerForce) return this.chainModify([5325, 4096]); - }, - onDamagingHit(damage, target, source, move) { - if (move.type === 'Fire') { - this.boost({def: 1, spd: 1}); - } - }, - name: "Aquila's Blessing", - gen: 8, - }, - - // vooper - qigong: { - desc: "This Pokemon's Defense is doubled, and it receives 1/2 damage from special attacks.", - onModifyDefPriority: 6, - onModifyDef(def) { - return this.chainModify(2); - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.category === 'Special') { - return this.chainModify(0.5); - } - }, - name: "Qi-Gong", - gen: 8, - }, - - // yuki - combattraining: { - desc: "If this Pokemon is a Cosplay Pikachu forme, the first hit it takes in battle deals 0 neutral damage. Confusion damage also breaks the immunity.", - shortDesc: "(Pikachu-Cosplay only) First hit deals 0 damage.", - isPermanent: true, - onDamagePriority: 1, - onDamage(damage, target, source, effect) { - const cosplayFormes = [ - 'pikachucosplay', 'pikachuphd', 'pikachulibre', 'pikachupopstar', 'pikachurockstar', 'pikachubelle', - ]; - if ( - effect?.effectType === 'Move' && - cosplayFormes.includes(target.species.id) && !target.transformed && - !this.effectState.busted - ) { - this.add('-activate', target, 'ability: Combat Training'); - this.effectState.busted = true; - return 0; - } - }, - onCriticalHit(target, source, move) { - if (!target) return; - const cosplayFormes = [ - 'pikachucosplay', 'pikachuphd', 'pikachulibre', 'pikachupopstar', 'pikachurockstar', 'pikachubelle', - ]; - if (!cosplayFormes.includes(target.species.id) || target.transformed) { - return; - } - const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); - if (hitSub) return; - - if (!target.runImmunity(move.type)) return; - return false; - }, - onEffectiveness(typeMod, target, type, move) { - if (!target) return; - const cosplayFormes = [ - 'pikachucosplay', 'pikachuphd', 'pikachulibre', 'pikachupopstar', 'pikachurockstar', 'pikachubelle', - ]; - if (!cosplayFormes.includes(target.species.id) || target.transformed) { - return; - } - const hitSub = target.volatiles['substitute'] && !move.flags['bypasssub'] && !(move.infiltrates && this.gen >= 6); - if (hitSub) return; - - if (!target.runImmunity(move.type)) return; - return 0; - }, - name: "Combat Training", - gen: 8, - }, - // Modified Illusion to support SSB volatiles - illusion: { - inherit: true, - onEnd(pokemon) { - if (pokemon.illusion) { - this.debug('illusion cleared'); - let disguisedAs = this.toID(pokemon.illusion.name); - pokemon.illusion = null; - const details = pokemon.species.name + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + - (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : ''); - this.add('replace', pokemon, details); - this.add('-end', pokemon, 'Illusion'); - // Handle users whose names match a species - if (this.dex.species.get(disguisedAs).exists) disguisedAs += 'user'; - if (pokemon.volatiles[disguisedAs]) { - pokemon.removeVolatile(disguisedAs); - } - if (!pokemon.volatiles[this.toID(pokemon.name)]) { - const status = this.dex.conditions.get(this.toID(pokemon.name)); - if (status?.exists) { - pokemon.addVolatile(this.toID(pokemon.name), pokemon); - } - } - } - }, - }, - - // Modified various abilities to support Alpha's move & pilo's abiility - deltastream: { - inherit: true, - onAnySetWeather(target, source, weather) { - if (this.field.getWeather().id === 'deltastream' && !STRONG_WEATHERS.includes(weather.id)) return false; - }, - }, - desolateland: { - inherit: true, - onAnySetWeather(target, source, weather) { - if (this.field.getWeather().id === 'desolateland' && !STRONG_WEATHERS.includes(weather.id)) return false; - }, - }, - primordialsea: { - inherit: true, - onAnySetWeather(target, source, weather) { - if (this.field.getWeather().id === 'primordialsea' && !STRONG_WEATHERS.includes(weather.id)) return false; - }, - }, - forecast: { - inherit: true, - onUpdate(pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Castform' || pokemon.transformed) return; - let forme = null; - switch (pokemon.effectiveWeather()) { - case 'sunnyday': - case 'desolateland': - if (pokemon.species.id !== 'castformsunny') forme = 'Castform-Sunny'; - break; - case 'raindance': - case 'primordialsea': - if (pokemon.species.id !== 'castformrainy') forme = 'Castform-Rainy'; - break; - case 'winterhail': - case 'heavyhailstorm': - case 'hail': - if (pokemon.species.id !== 'castformsnowy') forme = 'Castform-Snowy'; - break; - default: - if (pokemon.species.id !== 'castform') forme = 'Castform'; - break; - } - if (pokemon.isActive && forme) { - pokemon.formeChange(forme, this.effect, false, '[msg]'); - } - }, - }, - icebody: { - inherit: true, - desc: "If Hail or Heavy Hailstorm is active, this Pokemon restores 1/16 of its maximum HP, rounded down, at the end of each turn. This Pokemon takes no damage from Hail or Heavy Hailstorm.", - shortDesc: "Hail-like weather active: heals 1/16 max HP each turn; immunity to Hail-like weather.", - onWeather(target, source, effect) { - if (['heavyhailstorm', 'hail', 'winterhail'].includes(effect.id)) { - this.heal(target.baseMaxhp / 16); - } - }, - onImmunity(type, pokemon) { - if (['heavyhailstorm', 'hail', 'winterhail'].includes(type)) return false; - }, - }, - iceface: { - inherit: true, - desc: "If this Pokemon is an Eiscue, the first physical hit it takes in battle deals 0 neutral damage. Its ice face is then broken and it changes forme to Noice Face. Eiscue regains its Ice Face forme when Hail or Heavy Hailstorm begins or when Eiscue switches in while Hail or Heavy Hailstorm is active. Confusion damage also breaks the ice face.", - shortDesc: "If Eiscue, first physical hit taken deals 0 damage. Effect is restored in Hail-like weather.", - onStart(pokemon) { - if (this.field.isWeather(['heavyhailstorm', 'hail', 'winterhail']) && - pokemon.species.id === 'eiscuenoice' && !pokemon.transformed) { - this.add('-activate', pokemon, 'ability: Ice Face'); - this.effectState.busted = false; - pokemon.formeChange('Eiscue', this.effect, true); - } - }, - onWeatherChange() { - const pokemon = this.effectState.target; - if (this.field.isWeather(['heavyhailstorm', 'hail', 'winterhail']) && - pokemon.species.id === 'eiscuenoice' && !pokemon.transformed) { - this.add('-activate', pokemon, 'ability: Ice Face'); - this.effectState.busted = false; - pokemon.formeChange('Eiscue', this.effect, true); - } - }, - }, - slushrush: { - inherit: true, - shortDesc: "If a Hail-like weather is active, this Pokemon's Speed is doubled.", - onModifySpe(spe, pokemon) { - if (this.field.isWeather(['heavyhailstorm', 'hail', 'winterhail'])) { - return this.chainModify(2); - } - }, - }, - snowcloak: { - inherit: true, - desc: "If Heavy Hailstorm, Winter Hail, or Hail is active, this Pokemon's evasiveness is multiplied by 1.25. This Pokemon takes no damage from Heavy Hailstorm or Hail.", - shortDesc: "If a Hail-like weather is active, 1.25x evasion; immunity to Hail-like weathers.", - onImmunity(type, pokemon) { - if (['heavyhailstorm', 'hail', 'winterhail'].includes(type)) return false; - }, - onModifyAccuracy(accuracy) { - if (typeof accuracy !== 'number') return; - if (this.field.isWeather(['heavyhailstorm', 'hail', 'winterhail'])) { - this.debug('Snow Cloak - decreasing accuracy'); - return accuracy * 0.8; - } - }, - }, - // Modified Magic Guard for Alpha - magicguard: { - inherit: true, - shortDesc: "This Pokemon can only be damaged by direct attacks and Heavy Hailstorm.", - onDamage(damage, target, source, effect) { - if (effect.id === 'heavyhailstorm') return; - if (effect.effectType !== 'Move') { - if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); - return false; - } - }, - }, - // Modified Unaware for Blaz's move - unaware: { - inherit: true, - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['spd'] = 0; - boosts['accuracy'] = 0; - } - }, - }, - // Modified Stakeout for Hubriz to have a failsafe - stakeout: { - inherit: true, - onModifyAtkPriority: 5, - onModifyAtk(atk, attacker, defender) { - if (!defender?.activeTurns) { - this.debug('Stakeout boost'); - return this.chainModify(2); - } - }, - onModifySpAPriority: 5, - onModifySpA(atk, attacker, defender) { - if (!defender?.activeTurns) { - this.debug('Stakeout boost'); - return this.chainModify(2); - } - }, - }, -}; diff --git a/data/mods/ssb/conditions.ts b/data/mods/ssb/conditions.ts deleted file mode 100644 index f89d14e6b47f..000000000000 --- a/data/mods/ssb/conditions.ts +++ /dev/null @@ -1,2530 +0,0 @@ -import {FS} from '../../../lib'; -import {toID} from '../../../sim/dex-data'; - -// Similar to User.usergroups. Cannot import here due to users.ts requiring Chat -// This also acts as a cache, meaning ranks will only update when a hotpatch/restart occurs -const usergroups: {[userid: string]: string} = {}; -const usergroupData = FS('config/usergroups.csv').readIfExistsSync().split('\n'); -for (const row of usergroupData) { - if (!toID(row)) continue; - - const cells = row.split(','); - if (cells.length > 3) throw new Error(`Invalid entry when parsing usergroups.csv`); - usergroups[toID(cells[0])] = cells[1].trim() || ' '; -} - -export function getName(name: string): string { - const userid = toID(name); - if (!userid) throw new Error('No/Invalid name passed to getSymbol'); - - const group = usergroups[userid] || ' '; - return group + name; -} - -export const Conditions: {[k: string]: ModdedConditionData & {innateName?: string}} = { - /* - // Example: - userid: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Username')}|Switch In Message`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Username')}|Switch Out Message`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Username')}|Faint Message`); - }, - // Innate effects go here - }, - IMPORTANT: Obtain the username from getName - */ - // Please keep statuses organized alphabetically based on staff member name! - abdelrahman: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Abdelrahman')}|good morning, i'm town`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Abdelrahman')}|brb gonna go lynch scum`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Abdelrahman')}|I CC COP TOWN FAILED`); - }, - }, - adri: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Adri')}|This time will definitely be the one !`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Adri')}|//afk`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Adri')}|Until next time...`); - }, - }, - aelita: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aelita')}|The Scyphozoa's absorbing Aelita's memories!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aelita')}|We scared it away but it will be back. We can't let it get ahold of Aelita's memories.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aelita')}|X.A.N.A. is finally finished for good.`); - }, - }, - aegii: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('aegii')}|shoot! take a pano~rama~ https://youtu.be/G8GaQdW2wHc`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('aegii')}|${this.sample([`brb, buying albums`, `brb, downloading fancams`, `brb, streaming mvs`, `brb, learning choreos`])}`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('aegii')}|i forgot to stan loona...`); - }, - }, - aeonic: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|What's bonkin?`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|I am thou, thou art I`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|Guys the emoji movie wasn't __that bad__`); - }, - }, - aethernum: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aethernum')}|Hlelo ^_^ Lotad is so cute, don't you think? But don't underestimate him!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aethernum')}|Sinking in this sea of possibilities for now...but i'll float back once again!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aethernum')}|Ok, ok, i have procrastinated enough here, time to go ^_^' See ya around!`); - }, - }, - akir: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Akir')}|hey whats up`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Akir')}|let me get back to you`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Akir')}|ah well maybe next time`); - }, - }, - alpha: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Alpha')}|eccomi dimmi`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Alpha')}|FRATM FACI FRIDDU`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Alpha')}|caio`); - }, - }, - annika: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Annika')}|The circumstances of one's birth are irrelevant; it is what you do with the gift of life that determines who you are.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Annika')}|I'll be stronger when I'm back ^_^`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Annika')}|oh, I crashed the server again...`); - }, - }, - aquagtothepast: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('A Quag To The Past')}|Whatever happens, happens.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('A Quag To The Past')}|See you space cowboy...`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('A Quag To The Past')}|You're gonna carry that weight.`); - }, - }, - arby: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arby')}|Time to win this :)`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arby')}|MSU need a sub`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arby')}|Authhate is real.`); - }, - }, - archas: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Archas')}|Ready the main batteries, gentlemen! Hit ‘em hard and fast!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Archas')}|Helmsman, full reverse at speed!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Archas')}|They say the captain always goes down with the ship...`); - }, - }, - arcticblast: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|words are difficult`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|oh no`); - }, - onFaint() { - if (this.randomChance(1, 100)) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|get **mished** kid`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|single battles are bad anyway, why am I here?`); - } - }, - }, - awauser: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|awa!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|well, at least i didn't lose the game`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|or did i?`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|awawa?! awa awawawa awawa >:(`); - }, - }, - beowulf: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|:^)`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|/me buzzes`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|time for my own isekai`); - }, - onSourceFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|another one reincarnating into an isekai`); - }, - }, - biggie: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('biggie')}|gonna take you for a ride`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('biggie')}|mahvel baybee!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('biggie')}|it was all a dream`); - }, - }, - billo: { - noCopy: true, - onStart(source) { - let activeMon = source.side.foe.active[0].species.name; - if (!activeMon) activeMon = "Pokemon"; - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Billo')}|Your ${activeMon} looks hacked.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Billo')}|Let me inspect your Pokemon, brb`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Billo')}|Yep, definitely hacked.`); - }, - innateName: "Unaware", - shortDesc: "This Pokemon ignores other Pokemon's stat stages when taking or doing damage.", - // Unaware innate - onAnyModifyBoost(boosts, pokemon) { - const unawareUser = this.effectState.target; - if (unawareUser.illusion) return; - if (unawareUser === pokemon) return; - if (unawareUser === this.activePokemon && pokemon === this.activeTarget) { - boosts['def'] = 0; - boosts['spd'] = 0; - boosts['evasion'] = 0; - } - if (pokemon === this.activePokemon && unawareUser === this.activeTarget) { - boosts['atk'] = 0; - boosts['def'] = 0; - boosts['spa'] = 0; - boosts['accuracy'] = 0; - } - }, - }, - blaz: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Blaz')}|Give me, give me, give me the truth now oh oh oh oh`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Blaz')}|Tell me... why? Please tell me why do we worry? Why? Why do we worry at all?`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Blaz')}|the game (lol u lost)`); - }, - }, - brandon: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Brandon')}|I didn't come here to play. I came here to slay!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Brandon')}|${this.sample([`I need to catch my breath`, `brb getting a snack`])}`); - }, - onFaint(pokemon) { - const foeName = pokemon.side.foe.active[0].illusion ? - pokemon.side.foe.active[0].illusion.name : pokemon.side.foe.active[0].name; - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Brandon')}|${this.sample([`This battle was rigga morris!`, `At least I'll snag Miss Congeniality...`, `This battle was rigged for ${foeName} anyway >:(`])}`); - }, - }, - brouha: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('brouha')}|lmf`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('brouha')}|....`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('brouha')}|sobL`); - }, - }, - buffy: { - noCopy: true, - // No quotes requested - }, - cake: { - noCopy: true, - innateName: "h", - shortDesc: "On switch-in and at the end of every turn, this Pokemon changes type randomly.", - onStart(target, pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Cake')}|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`); - // h innate - if (pokemon.illusion) return; - const typeList = [...this.dex.types.names()]; - this.prng.shuffle(typeList); - const firstType = typeList[0]; - this.prng.shuffle(typeList); - const secondType = typeList[0]; - const newTypes = [firstType]; - if (firstType !== secondType) newTypes.push(secondType); - this.add('html|h'); - this.add('-start', pokemon, 'typechange', newTypes.join('/'), '[silent]'); - pokemon.setType(newTypes); - }, - onSwitchOut(pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Cake')}|${pokemon.side.name} is a nerd`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Cake')}|Chowder was a good show`); - }, - onResidualOrder: 26, - onResidualSubOrder: 1, - onResidual(pokemon) { - if (pokemon.illusion) return; - if (pokemon.activeTurns) { - const typeList = [...this.dex.types.names()]; - this.prng.shuffle(typeList); - const firstType = typeList[0]; - this.prng.shuffle(typeList); - const secondType = typeList[0]; - const newTypes = [firstType]; - if (firstType !== secondType) newTypes.push(secondType); - this.add('html|h'); - this.add('-start', pokemon, 'typechange', newTypes.join('/'), '[silent]'); - pokemon.setType(newTypes); - } - }, - }, - cantsay: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('cant say')}|haha volc go brrrr`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('cant say')}|lol CTed`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('cant say')}|${this.sample(['imagine taking pokemon seriously when you can just get haxed', '/me plays curb your enthusiasm theme', 'bad players always get lucky'])}`); - }, - innateName: "Magic Guard", - shortDesc: "This Pokemon can only be damaged by direct attacks.", - // Magic Guard Innate - onDamage(damage, target, source, effect) { - if (target.illusion) return; - if (effect.effectType !== 'Move') { - if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); - return false; - } - }, - }, - celine: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Celine')}|Support has arrived!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Celine')}|Brb writing`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Celine')}|'Tis only a flesh wound!`); - }, - }, - ckilgannon: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('c.kilgannon')}|Take a look to the sky just before you die`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('c.kilgannon')}|Death does wait; there's no debate.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('c.kilgannon')}|Memento mori.`); - }, - }, - coconut: { - noCopy: true, - // no quotes - }, - dogknees: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dogknees')}|Your opinion is wrong if you think cats are better than dogs ૮・ﻌ・ა`); - if (source.illusion) return; - this.add('-start', source, 'typechange', source.types.join('/'), '[silent]'); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dogknees')}|Yes, dogs do have knees. Stop asking me.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dogknees')}|Nap time!`); - }, - }, - dragonwhale: { - noCopy: true, - // No quotes - }, - drampasgrandpa: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('drampa\'s grandpa')}|Where are my glasses?`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('drampa\'s grandpa')}|Darn kids...`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('drampa\'s grandpa')}|Bah humbug!`); - }, - }, - dream: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dream')}|It's Prime Time`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dream')}|oh no please god tell me we're dreaming`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dream')}|perdemos`); - }, - }, - elgino: { - noCopy: true, - onStart(target, pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Elgino')}|Time to save Hyrule!`); - if (pokemon.illusion) return; - this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]'); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Elgino')}|Hold on I need to stock up on ${this.sample(['Bombs', 'Arrows', 'Magic', 'Seeds'])}`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Elgino')}|I'm out of fairies D:!`); - }, - }, - emeri: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Emeri')}|hey !`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Emeri')}|//busy`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Emeri')}|don't forget to chall SFG or Agarica in gen8ou`); - }, - }, - epicnikolai: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('EpicNikolai')}|I never give up until I get something right, which means destroying you ☜(゚ヮ゚☜)`); - if (source.species.id !== 'garchompmega' || source.illusion) return; - this.add('-start', source, 'typechange', source.types.join('/'), '[silent]'); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('EpicNikolai')}|This wasn't as fun as I thought it would be, I'm out ¯_( ͡~ ͜ʖ ͡°)_/¯`); // eslint-disable-line no-irregular-whitespace - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('EpicNikolai')}|I like to keep a positive attitude even though it is hard sometimes <('o'<)~*/`); - }, - }, - estarossa: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('estarossa')}|honestly best pairing for hazard coverage wtih molt is like molt + tsareena/dhelmise`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('estarossa')}|sand balance <333`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('estarossa')}|*eurgh*`); - }, - }, - explodingdaisies: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('explodingdaisies')}|Turn and run now, and I will mercifully pretend this never happened.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('explodingdaisies')}|You are beneath me, and it shows.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('explodingdaisies')}|Unacceptable!`); - }, - }, - fart: { - noCopy: true, - onStart(source) { - let activeMon; - activeMon = source.side.foe.active[0]; - activeMon = activeMon.illusion ? activeMon.illusion.name : activeMon.name; - const family = ['aethernum', 'trickster', 'celestial', 'gimmick', 'zalm', 'aelita', 'biggie']; - if (this.toID(activeMon) === 'hoeenhero') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|🎵 it's friday, friday, gotta get down on friday 🎵`); - } else if (this.toID(activeMon) === 'grimauxiliatrix') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|howdy ho, neighbor`); - } else if (this.toID(activeMon) === 'fart') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|How Can Mirrors Be Real If Our Eyes Aren't Real`); - } else if (family.includes(this.toID(activeMon))) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|hey, hey, hey. ${activeMon} is OK`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|rats, rats, we are the rats`); - } - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|if I can't win this game, then I'll make it boring for everyone.`); - }, - onFaint(pokemon) { - let activeMon; - activeMon = pokemon.side.foe.active[0]; - activeMon = this.toID(activeMon.illusion ? activeMon.illusion.name : activeMon.name); - const family = ['aethernum', 'trickster', 'celestial', 'gimmick', 'zalm', 'aelita', 'biggie']; - if (family.includes(activeMon)) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|at least I wasn't boring, right?`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|oy, I die`); - } - }, - }, - felucia: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Felucia')}|battlesignup! I dropped my dice somewhere and now all I can do is make you play with them (join using %join one)`); - if (source.illusion) return; - this.add('-start', source, 'typechange', source.types.join('/'), '[silent]'); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Felucia')}|battlesignup: I lost connection to a player so I guess I'll get a new one (/me in to sub)`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Felucia')}|%remp Felucia`); - }, - }, - finland: { - noCopy: true, - onStart(source) { - const roll = this.random(100); - let message: string; - if (roll < 70) { - message = 'pog'; - } else if (roll < 80) { - message = 'very pog'; - } else if (roll < 90) { - message = 'poggaroo'; - } else if (roll < 95) { - message = 'PogU'; - } else { - message = 'poog'; - } - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|${message}`); - if (source.illusion) return; - this.boost({spa: 1, spd: 1}, source); - }, - onBeforeMovePriority: 0.5, - onBeforeMove(attacker, defender, move) { - if (attacker.illusion) return; - attacker.clearBoosts(); - this.add('-clearboost', attacker); - if (move.category === 'Status') { - this.boost({def: 1, spd: 1}, attacker); - } else { - this.boost({spa: 1, spe: 1}, attacker); - } - }, - innateName: "Fickle Decorator", - shortDesc: "Calm Mind on switch-in. Changes boosts depending on move used.", - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|i hope running away is safe on shield?`); - }, - onFaint() { - if (this.randomChance(99, 100)) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|FINLAND!!!`); - } else { - // personally i like young link from oot3d and mm3d - sp - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|i hate young link. i hate you i hate you i hate you. i hate you. young link i hate you. i despise you. i loathe you. your existence is an affront to my person. to my own existence. it's an offense. a despicable crime. a wretched abomination. even worse than mega man. a cruel barbarity. an awful curse from capricious, pernicious fate. oh do i hate young link. i scorn you. i cast you away to ignominy and hatred even worse than mega man. you are shameful young link, and you should never show your face again`); - } - }, - }, - frostyicelad: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('frostyicelad ❆')}|Oh i guess its my turn now! Time to sweep!`); - }, - onSwitchOut(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('frostyicelad ❆')}|Hey! ${source.side.name} why dont you keep me in and let me sweep? Mean.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('frostyicelad ❆')}|So c-c-cold`); - }, - }, - gallantspear: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('gallant\'s pear')}|**Rejoice! The one to inherit all Rider powers, the time king who will rule over the past and the future.**`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('gallant\'s pear')}|My Overlord..`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('gallant\'s pear')}|Damn you, Decade!!!`); - }, - }, - gimmick: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|Mama, they say I'm a TRRST`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|Ic3peak to you later`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|I did nothing wrong (but I got on the blacklist)`); - }, - // Unburden Innate - onAfterUseItem(item, pokemon) { - if (pokemon !== this.effectState.target) return; - pokemon.addVolatile('unburden'); - }, - onTakeItem(item, pokemon) { - pokemon.addVolatile('unburden'); - }, - onEnd(pokemon) { - pokemon.removeVolatile('unburden'); - }, - innateName: "Unburden", - desc: "If this Pokemon loses its held item for any reason, its Speed is doubled. This boost is lost if it switches out or gains a new item.", - shortDesc: "Speed is doubled on held item loss; boost is lost if it switches or gets new item.", - }, - gmars: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('GMars')}|It's ya boy GEEEEEEEEMARS`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('GMars')}|Who switches out a Minior in prime position?`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('GMars')}|Follow me on bandcamp`); - }, - }, - grimauxiliatrix: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('grimAuxiliatrix')}|${this.sample(['THE JUICE IS LOOSE', 'TOOTHPASTE\'S OUT OF THE TUBE', 'PREPARE TO DISCORPORATE'])}`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('grimAuxiliatrix')}|${this.sample(['NOT LIKE THIS', 'HALT - MODULE CORE HEMORRHAGE', 'AAAAAAAAAAAAAAAAAAA', 'Change da world... my final message. Goodb ye.'])}`); - }, - }, - hoeenhero: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('HoeenHero')}|A storm is brewing...`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('HoeenHero')}|The eye of the hurricane provides a brief respite from the storm.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('HoeenHero')}|All storms eventually disipate.`); - }, - }, - hubriz: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hubriz')}|Free hugs!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hubriz')}|The soil's pH level is too high. I'm out!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hubriz')}|Delicate Flower Quest failed...`); - }, - }, - hydro: { - noCopy: true, - onStart(pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|Person reading this is a qt nerd and there is absolutely NOTHING u can do about it :)`); - if (pokemon.illusion) return; - this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]'); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|brb, taking a break from ur nerdiness`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|RUUUUUDEEE`); - }, - }, - inactive: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Inactive')}|Are you my nightmare? Or am I yours?`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Inactive')}|This is not the end...`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Inactive')}|/me turns to stone and crumbles`); - }, - }, - instructuser: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|lets drink to a great time!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Swagn')}|Hey, instruct. Here's those 15,000 walls of text you ordered. :3`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|ya know, why __do__ you always flood my dms?`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|whatever im just gonna go get some more coke`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|wait did we run out of coca-cola?`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|laaaaaaaaaaame`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|yall suck im going home`); - }, - innateName: "Last Laugh", - desc: "Upon fainting to an opponent's direct attack, this Pokemon deals damage to all Pokemon that have made contact with it equal to 50% of their max HP. This damage cannot KO Pokemon.", - shortDesc: "Upon foe KOing user, deal 50% of their max HP to all foes that this Pokemon contacted.", - // Innate - onSourceHit(target, source, move) { - if (source.illusion) return; - if (!move || !target) return; - if (target !== source && move.category !== 'Status') { - if (move.flags['contact']) { - if (!target.m.marked) this.add('-message', `${target.name} was marked by an unknown being...`); - target.m.marked = true; - } - } - }, - onDamagingHit(damage, target, source, move) { - if (target.illusion) return; - if (this.checkMoveMakesContact(move, source, target)) { - if (!source.m.marked) this.add('-message', `${source.name} was marked by an unknown being...`); - source.m.marked = true; - } - if (!target.hp) { - for (const foe of source.side.pokemon) { - if (foe.fainted || !foe.hp) continue; - if (!foe.m.marked) continue; - this.add('-activate', target, 'ability: Last Laugh'); - let collateral = this.clampIntRange(foe.baseMaxhp / 2, 1); - this.add('-message', `${foe.name} became insane and attacked themselves!`); - if (collateral >= foe.hp) collateral = foe.hp - 1; - foe.hp = foe.hp - collateral; - if (foe === source) { - this.add('-damage', foe, foe.getHealth); - } - } - } - }, - }, - iyarito: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Iyarito')}|Madre de Dios, ¡es el Pollo Diablo!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Iyarito')}|Well, you're not taking me without a fight!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Iyarito')}|RIP Patrona`); - }, - }, - jett: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jett')}|It's a good day for a hunt.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jett')}|I'll be back for more.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jett')}|They got lucky.`); - }, - }, - jho: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jho')}|Hey there party people`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jho')}|The Terminator(1984), 00:57:10`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jho')}|Unfortunately, CAP no longer accepts custom elements`); - }, - }, - jordy: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jordy')}|I heard there's a badge here. Please give it to me immediately.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jordy')}|Au Revoir. Was that right?`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jordy')}|hjb`); - }, - }, - kaijubunny: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kaiju Bunny')}|I heard SOMEONE wasn't getting enough affection!  ̄( ÒㅅÓ) ̄`); - if (source.species.id !== 'lopunnymega' || source.illusion) return; - this.add('-start', source, 'typechange', source.types.join('/'), '[silent]'); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kaiju Bunny')}|Brb, need more coffee  ̄( =ㅅ=) ̄`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kaiju Bunny')}|Wow, okay, r00d  ̄(ಥㅅಥ) ̄`); - }, - }, - kalalokki: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(•_•)`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|( •_•)>⌐■-■`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(⌐■_■)`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(⌐■_■)`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|( •_•)>⌐■-■`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(x_x)`); - }, - innateName: "Sturdy", - shortDesc: "If this Pokemon is at full HP, it survives one hit with at least 1 HP. Immune to OHKO.", - // Sturdy Innate - onTryHit(pokemon, target, move) { - if (target.illusion) return; - if (move.ohko) { - this.add('-immune', pokemon, '[from] ability: Sturdy'); - return null; - } - }, - onDamagePriority: -100, - onDamage(damage, target, source, effect) { - if (target.illusion) return; - if (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') { - this.add('-ability', target, 'Sturdy'); - return target.hp - 1; - } - }, - }, - kennedy: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kennedy')}|up the reds`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kennedy')}|brb Jayi is PMing me (again) -_-`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kennedy')}|I'm not meant to score goals anyway, I'm a defensive striker.`); - }, - }, - kev: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kev')}|Sorry for raining on your parade`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kev')}|Rain, rain, go away, come again another day`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kev')}|I guess I'm all washed up...`); - }, - }, - kingbaruk: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kingbaruk')}|:cute:`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kingbaruk')}|//none`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kingbaruk')}|Fijne avond nog`); - }, - }, - kingswordyt: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('KingSwordYT')}|Mucho texto`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('KingSwordYT')}|Hasta la próximaaaa`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('KingSwordYT')}|**__Se anula el host__**`); - }, - }, - kipkluif: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kipkluif')}|Please play LCUU, it's fun`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kipkluif')}| /teleport`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kipkluif')}|I've failed you.. I pray you hurry.. with those reinforcments.. you promised..`); - }, - }, - kris: { - innateName: "phuck", - desc: "If this Pokemon is an Unown forme, it is immune to indirect damage and transforms into a different Unown letter forme, aside from ! and ?, at the end of each turn.", - shortDesc: "Unown: Magic Guard + change letter every turn.", - noCopy: true, - onStart(source) { - const foeName = source.side.foe.active[0].illusion ? - source.side.foe.active[0].illusion.name : source.side.foe.active[0].name; - if (foeName === 'Aeonic' || source.side.foe.name === 'Aeonic') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|HAPPY BIRTHDAY AEONIC!!!!`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|hi ${foeName}`); - } - }, - onSwitchOut(source) { - const foeName = source.side.foe.active[0].illusion ? - source.side.foe.active[0].illusion.name : source.side.foe.active[0].name; - if (foeName === 'Aeonic' || source.side.foe.name === 'Aeonic') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|HAPPY BIRTHDAY AEONIC!!!!`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|bye ${foeName}`); - } - }, - onFaint(target) { - const foeName = target.illusion ? - target.illusion.name : target.name; - if (foeName === 'Aeonic' || target.side.name === 'Aeonic') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|HAPPY BIRTHDAY AEONIC!!!!`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|Fortnite Battle Royale`); - } - }, - // phuck innate - onDamage(damage, target, source, effect) { // Magic Guard - if (effect.id === 'heavyhailstorm') return; - if (target.illusion) return; - if (!target.species.id.includes('unown')) return; - if (effect.effectType !== 'Move') { - if (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name); - return false; - } - }, - onResidual(pokemon) { - if (pokemon.illusion) return; - if (!pokemon.species.id.includes('unown')) return; - // So this doesn't activate upon switching in - if (pokemon.activeTurns < 1) return; - const unownLetters = 'abcdefghijklmnopgrstuvwxyz'.split(''); - const currentFormeID = this.toID(pokemon.set.species); - const currentLetter = currentFormeID.charAt(5) || 'a'; - const chosenLetter = this.sample(unownLetters.filter(letter => letter !== currentLetter)); - // Change is permanent so when you switch out you keep the letter - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|watch this`); - if (chosenLetter === 'w') { - this.add('-activate', pokemon, 'ability: phuck'); - pokemon.formeChange(`unownw`, this.effect, true); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|W? More like L`); - this.add('-activate', pokemon, 'ability: phuck'); - pokemon.formeChange(`unownl`, this.effect, true); - this.hint(`There are no W Pokemon that work with Kris's signature move, so we're counting this as a loss`); - } else if (chosenLetter === 'u') { - this.add('-activate', pokemon, 'ability: phuck'); - pokemon.formeChange(`unownu`, this.effect, true); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|U? I'm already an Unown, no`); - this.add('-activate', pokemon, 'ability: phuck'); - const chosenLetter2 = this.sample(unownLetters.filter(letter => letter !== 'u' && letter !== 'w')); - pokemon.formeChange(`unown${chosenLetter2}`, this.effect, true); - this.hint(`There are no U Pokemon that work with Kris's signature move, so we're counting this as a loss`); - } else { - this.add('-activate', pokemon, 'ability: phuck'); - pokemon.formeChange(`unown${chosenLetter === 'a' ? '' : chosenLetter}`, this.effect, true); - } - }, - }, - lamp: { - noCopy: true, - onStart(pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lamp')}|DUDE HI ${pokemon.side.foe.name} (:`); - }, - onSwitchOut(pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lamp')}|bye ${pokemon.side.foe.name} :)`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lamp')}|no u`); - }, - }, - lionyx: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lionyx')}|Hi, this is ps-chan, how may I help you, user-kun? (。◕‿‿◕。)`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lionyx')}|Teclis au secours`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lionyx')}|The cold never bothered me anyway...`); - }, - }, - litteleven: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Litt♥Eleven')}|The coin is flipped, what follows is destiny alone.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Litt♥Eleven')}|Looks like my business is finished here... for now.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Litt♥Eleven')}|Perhaps, coin tossing isn't the optimal way to win a war...`); - }, - }, - lunalauser: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lunala')}|o bella`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lunala')}|Condivido schermo cosi' guardiamo i tre porcellini?`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lunala')}|BE... Ok mejo chiudere gioco... vedo documentario su Bibbia`); - }, - }, - madmonty: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mad Monty ¾°')}|Ah, the sweet smell of rain... Oh! Hi there!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mad Monty ¾°')}|Hey, I was enjoying the weather! Awww...`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mad Monty ¾°')}|Nooo, if I go, who will stop the llamas?`); - }, - }, - majorbowman: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('MajorBowman')}|Aaaand Cracktion!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('MajorBowman')}|This isn't Maury Povich!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('MajorBowman')}|Never loved ya.`); - }, - }, - marshmallon: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Marshmallon')}|I'm hungry. Are you edible? c:`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Marshmallon')}|RAWWWR`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Marshmallon')}|I'm still hungry. rawr. :c`); - }, - }, - meicoo: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|cool quiz`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|/leavehunt`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|/endhunt`); - }, - }, - mitsuki: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mitsuki')}|alguem quer batalha?????`); - }, - onSwitchOut(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mitsuki')}|You're weak, ${source.side.foe.name}. Why? Because you lack... hatred.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mitsuki')}|THIS WORLD SHALL KNOW P A I N`); - }, - }, - n10sit: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('n10siT')}|Heheheh... were you surprised?`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('n10siT')}|Heheheh... did I scare you?`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('n10siT')}|Hoopa never saw one of those!`); - }, - }, - naziel: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Naziel')}|ay ola soy nasieeeeeeel`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Naziel')}|YAY, I WILL NOT DIE THIS TIME`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Naziel')}|Toy xikito no puedo ;-;`); - }, - }, - theia: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Theia')}|What's up nerds`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Theia')}|cya nerds later`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Theia')}|nerd`); - }, - innateName: "RSUA", - shortDesc: "+1 priority to status moves. 1.5x Defense and Special Defense.", - // Innate Prankster and Eviolite - onModifyPriority(priority, pokemon, target, move) { - if (move?.category === 'Status') { - move.pranksterBoosted = true; - return priority + 1; - } - }, - onModifyDefPriority: 2, - onModifyDef(def, pokemon) { - if (pokemon.illusion) return; - return this.chainModify(1.5); - }, - onModifySpDPriority: 2, - onModifySpD(spd, pokemon) { - if (pokemon.illusion) return; - return this.chainModify(1.5); - }, - }, - notater517: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Notater517')}|nyaa~... I mean, 'tis a swell day to twirl one's mustache, isn't it?!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Notater517')}|/me corrupt trivia noises`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Notater517')}|This is probably a good time to fix my sleep schedule`); - }, - }, - nui: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('nui')}|/html `); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('nui')}|/html `); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('nui')}|/html `); - }, - }, - overneat: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Overneat')}|Lets end this ${source.side.foe.name}!!`); - if (source.species.id !== 'absolmega' || source.illusion) return; - this.add('-start', source, 'typechange', source.types.join('/'), '[silent]'); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Overneat')}|I can do better!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Overneat')}|I was to cocky...`); - }, - }, - om: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('OM~!')}|What's Up Gamers`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('OM~!')}|Let me just ${this.sample(['host murder for the 100th time', 'clean out scum zzz', 'ladder mnm rq'])}`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('OM~!')}|ugh, I ${this.sample(['rolled a 1, damnit.', 'got killed night 1, seriously?', 'got v-create\'d by fucking dragapult lmaoo'])}`); - }, - }, - pants: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|neat`); - }, - onSwitchOut(source) { - if (source.side.sideConditions.givewistfulthinking) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|brb contemplating things`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|brb dying a little`); - } - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|how do you even knock out something that's already dead? i call bs`); - }, - }, - paradise: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Paradise ╱╲☼')}|You ever notice that the first thing a PS tryhard does is put their PS auth in their smogon signature?`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Paradise ╱╲☼')}|Pokemon Showdown copypastas have to be among the worst I've seen on any website. People spam garbage over and over until eventually the mods get fed up and clamp down on spam. I don't blame them for it. Have you ever seen a copypasta fail as hard as the dead memes on this website? There are mods on here who still think that "Harambe" and "Damn Daniel" are the peak of comedy. Not to mention that there are rooms on here that don't even talk about pokemon lol. Yeah, I don't see this website lasting more than 2 years, I'd suggest becoming a mod somewhere else.`); - }, - onFaint(pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Paradise ╱╲☼')}|Paradise has been kicked, not banned, therefore you could still potentially invite them back. However, do not do this @${pokemon.side.name}, unless of course, you want to be banned too, because if you invite them back you and Paradise will both be banned.`); - }, - }, - partman: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|${this.sample([`OMA HI ${source.side.name.toUpperCase()} BIG FAN`, `HYDRO IS A NERD`, `Greetings, today we are all gathered here to pay respects to - wait, this is only ${source.side.foe.name}'s funeral. Never mind.`, `__I'm on fiiiiiiiiiiire__`, `/me hugs`, `A SACRIFICE FOR SNOM`, `${source.side.name} more like nerd`, `NER`])}`); - }, - onSwitchOut(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|Hi ${source.side.name}, I'm PartMan!`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|Hi PartMan, I'm PartMan!`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|Hi PartMan, I'm PartMan!`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|/log PartMan was muted by Hydro for 7 minutes. (flood)`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|${this.sample(['B-booli. >.<', 'Remember to dab on iph', 'Excuse me what', 'RUDE', ':pout:', '/html '])}`); - }, - }, - peapodc: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('peapod c')}|/me sprints into the room`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('peapod c')}|Must maintain m o m e n t u m`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('peapod c')}|They say sleep is the cousin of death — but even ghosts need to sleep!`); - }, - }, - perishsonguser: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Perish Song')}|(╯°□°)╯︵ ┻━┻`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Perish Song')}|┬──┬◡ノ(° -°ノ)`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Perish Song')}|Thanks for coming to my TED talk.`); - }, - }, - phiwings99: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('phiwings99')}|Pick.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('phiwings99')}|I'm boated.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('phiwings99')}|God, Nalei is fucking terrible at this game.`); - }, - }, - piloswinegripado: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('piloswine gripado')}|Suave?`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('piloswine gripado')}|cya frend :)`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('piloswine gripado')}|This was lame :/`); - }, - }, - pirateprincess: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|Ahoy! o/`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|brb making tea`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|I failed my death save`); - }, - onHit(target, source, move) { - if (move?.effectType === 'Move' && target.getMoveHitData(move).crit) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|NATURAL 20!!!`); - } - }, - }, - psynergy: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Psynergy')}|Will you survive?`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Psynergy')}|yadon moment`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Psynergy')}|oh`); - }, - }, - ptoad: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('ptoad')}|I'm ptoad.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('ptoad')}|Bye, ribbitch!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('ptoad')}|OKKKK DUUUDE`); - }, - innateName: "Sticky Hold", - shortDesc: "This Pokemon cannot lose its held item due to another Pokemon's attack.", - // Sticky Hold Innate - onTakeItem(item, pokemon, source) { - if (this.suppressingAbility(pokemon) || !pokemon.hp || pokemon.item === 'stickybarb') return; - if (!this.activeMove) throw new Error("Battle.activeMove is null"); - if ((source && source !== pokemon) || this.activeMove.id === 'knockoff') { - this.add('-activate', pokemon, 'ability: Sticky Hold'); - return false; - } - }, - }, - rabia: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rabia')}|eternally`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rabia')}|rabia`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rabia')}|im top 500 in relevant tiers and lead gp, i have 8 badges, im fine, gg`); - }, - }, - rach: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rach')}|Hel-lo`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rach')}|I was doing better alone`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rach')}|I'm all good already, so moved on, it's scary`); - }, - }, - rageuser: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rage')}|/html `); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rage')}|im off, cya lads`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rage')}|/me quits`); - }, - }, - raihankibana: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raihan Kibana')}|Hi gm`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raihan Kibana')}|Ight Imma head out`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raihan Kibana')}|Grr bork bork :(`); - }, - }, - rajshoot: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raj.Shoot')}|Plaza Power!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raj.Shoot')}|We'll be back!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raj.Shoot')}|You'll join me in the shadow realm soon....`); - }, - }, - ransei: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Ransei')}|Sup! This is Gen 8 so imma run an Eternamax set. Best of luck. You’ll need it :^)`); - }, - onFaint(pokemon) { - const target = pokemon.side.foe.active[0]; - if (!target || target.fainted || target.hp <= 0) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Ransei')}|Ahah yes you got rekt! Welcome to Hackmons! gg m8!`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Ransei')}|ripsei... Ok look you might’ve won this time but I kid you not you’re losing next game!`); - } - }, - }, - ravioliqueen: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('RavioliQueen')}|The Noodle Noble has Arrived!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('RavioliQueen')}|Time to spaghett out of here!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('RavioliQueen')}|This is impastable!`); - }, - innateName: "Pitch Black Witch", - desc: "When this Pokemon sets or switches into Pitch Black errain, its Special Attack and Special Defense are boosted by 1 stage. If this Pokemon gets hit while Pitch Black Terrain is up, it gets +1 speed", - shortDesc: "Pitch Black Terrain: Calm Mind on switch-in, +1 Spe when attacked.", - // Coded in the terrain itself - }, - robb576: { - noCopy: true, - onStart(target, pokemon) { - if (pokemon.side.pokemonLeft === 1) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|This is our last stand. Give it everything you got ${pokemon.side.name}!`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|1, 2, 3, 4, dunno how to count no more!`); - } - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|5, 7, 6, I will be right back into the mix!`); - }, - onFaint(pokemon) { - if (pokemon.species.name === "Necrozma-Ultra") { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|gg better luck next time. Sorry I couldn't handle them all :^(`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|8, 9, 10, it has been a pleasure man!`); - } - }, - }, - sectonia: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Sectonia')}|I love one (1) queen bee`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Sectonia')}|My search for my lost queen continues....`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Sectonia')}|NOOOOOO NOT THE JELLY BABY`); - }, - }, - segmr: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Segmr')}|*awakens conquerors haki* Greetings.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Segmr')}|Lemme show you this`); - this.add(`l|Segmr`); - }, - onFaint(pokemon) { - const name = pokemon.side.foe.active[0].illusion ? - pokemon.side.foe.active[0].illusion.name : pokemon.side.foe.active[0].name; - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Segmr')}|I'm sorry ${name} but could you please stop talking to me?`); - }, - }, - sejesensei: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('sejesensei')}|yoyo, what’ve you been reading lately`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('sejesensei')}|bbl, gonna go read some manga`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('sejesensei')}|B-but, this didn’t happen in the manga…`); - }, - }, - seso: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|I have good spacial awareness, and I'm pretty comfortable with a sword.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|In the blink of an eye.`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|I feel just, you know, defeated.`); - }, - }, - shadecession: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Shadecession')}|Better put on my Shadecessions`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Shadecession')}|⌐■_■`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Shadecession')}|ah, gg fam`); - }, - }, - softflex: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Soft Flex')}|:]`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Soft Flex')}|:[`); - }, - }, - spandan: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Spandan')}|Mareanie!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Spandan')}|You can't end this toxic relationship just like that!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Spandan')}|You didnt do shit. I coded myself to faint.`); - }, - }, - struchni: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Struchni')}|~tt newgame`); - }, - onSwitchOut(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Struchni')}|~tt endgame`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Struchni')}|**selfveto**`); - }, - }, - teclis: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Teclis')}|Fire at will!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Teclis')}|A spark remains...`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Teclis')}|You set my soul on fire!`); - }, - }, - temp: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('temp')}|hi, i'm here to drop dracos`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('temp')}|how did I not win yet`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('temp')}|oh I died`); - }, - }, - theimmortal: { - noCopy: true, - onStart(source) { - const foe = source.side.foe.active[0]; - const foeName = foe.illusion ? foe.illusion.name : foe.name; - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('The Immortal')}|${!foe || foe.fainted || foe.hp <= 0 ? 'hi' : foeName}`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('The Immortal')}|ok`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('The Immortal')}|ban stall`); - }, - }, - thewaffleman: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('thewaffleman')}|Whats Good Youtube its your boy thewaffleman`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('thewaffleman')}|Never Gonna Give You Up`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('thewaffleman')}|coyg`); - }, - }, - tiki: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|just tiki.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|/html `); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|aksfgkjag o k`); - }, - }, - traceuser: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('trace')}|Daishouri!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('trace')}|¯\\_(ツ)_/¯`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('trace')}|sucks to sucks`); - }, - }, - trickster: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Trickster')}|(¤﹏¤)`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Trickster')}|(︶︹︺)`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Trickster')}|(ಥ﹏ಥ)`); - }, - }, - vexen: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Vexen')}|Most unlucky for you!`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Vexen')}|brb reading Bleach`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Vexen')}|Wait this wasn't supposed to happen`); - }, - }, - vivalospride: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vivalospride')}|hola mi amore`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vivalospride')}|no hablo español`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vivalospride')}|classic honestly`); - }, - }, - volco: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|/me loud controller noises`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|/me controller clicking fades`); - }, - onFaint(source, target, effect) { - if (effect?.id === 'glitchexploiting') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|Dammit, time for a reset.`); - return; - } - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|Looks like the game fro-`); - this.add(`raw|
This Pokemon Showdown battle has frozen!
Don't worry, we're working on fixing it, so just carry on like you never saw this.
(Do not report this, this is intended.)
`); - }, - }, - vooper: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vooper')}|${this.sample(['Paws out, claws out!', 'Ready for the prowl!'])}`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vooper')}|Must... eat... bamboo...`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vooper')}|I guess Kung Fu isn't for everyone...`); - }, - }, - yuki: { - noCopy: true, - onStart(target, pokemon) { - let bst = 0; - for (const stat of Object.values(pokemon.species.baseStats)) { - bst += stat; - } - let targetBst = 0; - for (const stat of Object.values(target.species.baseStats)) { - targetBst += stat; - } - let message: string; - if (bst > targetBst) { - message = 'You dare challenge me!?'; - } else { - message = 'Sometimes, you go for it'; - } - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('yuki')}|${message}`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('yuki')}|Catch me if you can!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('yuki')}|You'll never extinguish our hopes!`); - }, - }, - zalm: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zalm')}|<(:O)000>`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zalm')}|Run for the hills!`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zalm')}|Woah`); - }, - }, - zarel: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zarel')}|the melo-p represents PS's battles, and the melo-a represents PS's chatrooms`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zarel')}|THIS melo-a represents kicking your ass, though`); - }, - }, - zodiax: { - noCopy: true, - onStart(source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|Zodiax is here to Zodihax`); - - // Easter Egg - const activeMon = this.toID( - source.side.foe.active[0].illusion ? source.side.foe.active[0].illusion.name : source.side.foe.active[0].name - ); - if (activeMon === 'aeonic') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|Happy Birthday Aeonic`); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|THIS JOKE IS AS BORING AS YOU ARE`); - } - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|Don't worry I'll be back again`); - }, - onFaint(pokemon) { - const name = pokemon.side.foe.name; - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|${name}, Why would you hurt this poor little pompombirb :(`); - }, - }, - zyguser: { - noCopy: true, - onStart() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zyg')}|Free Swirlyder.`); - }, - onSwitchOut() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zyg')}|/me sighs... what is there to say?`); - }, - onFaint() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zyg')}|At least I have a tier.`); - }, - }, - // Heavy Hailstorm status support for Alpha - heavyhailstorm: { - name: 'HeavyHailstorm', - effectType: 'Weather', - duration: 0, - onTryMovePriority: 1, - onTryMove(attacker, defender, move) { - if (move.type === 'Steel' && move.category !== 'Status') { - this.debug('Heavy Hailstorm Steel suppress'); - this.add('-message', 'The hail suppressed the move!'); - this.add('-fail', attacker, move, '[from] Heavy Hailstorm'); - this.attrLastMove('[still]'); - return null; - } - }, - onWeatherModifyDamage(damage, attacker, defender, move) { - if (move.type === 'Ice') { - this.debug('Heavy Hailstorm ice boost'); - return this.chainModify(1.5); - } - }, - onFieldStart(field, source, effect) { - this.add('-weather', 'Hail', '[from] ability: ' + effect, '[of] ' + source); - this.add('-message', 'The hail became extremely chilling!'); - }, - onModifyMove(move, pokemon, target) { - if (!this.field.isWeather('heavyhailstorm')) return; - if (move.category !== "Status") { - this.debug('Adding Heavy Hailstorm freeze'); - if (!move.secondaries) move.secondaries = []; - for (const secondary of move.secondaries) { - if (secondary.status === 'frz') return; - } - move.secondaries.push({ - chance: 10, - status: 'frz', - }); - } - }, - onFieldResidualOrder: 1, - onFieldResidual() { - this.add('-weather', 'Hail', '[upkeep]'); - if (this.field.isWeather('heavyhailstorm')) this.eachEvent('Weather'); - }, - onWeather(target, source, effect) { - if (target.isAlly(this.effectState.source)) return; - // Hail is stronger from Heavy Hailstorm - if (!target.hasType('Ice')) this.damage(target.baseMaxhp / 8); - }, - onFieldEnd() { - this.add('-weather', 'none'); - }, - }, - // Forever Winter Hail support for piloswine gripado - winterhail: { - name: 'Winter Hail', - effectType: 'Weather', - duration: 0, - onFieldStart(field, source, effect) { - this.add('-weather', 'Hail', '[from] ability: ' + effect, '[of] ' + source); - this.add('-message', 'It became winter!'); - }, - onModifySpe(spe, pokemon) { - if (!pokemon.hasType('Ice')) return this.chainModify(0.5); - }, - onFieldResidualOrder: 1, - onFieldResidual() { - this.add('-weather', 'Hail', '[upkeep]'); - if (this.field.isWeather('winterhail')) this.eachEvent('Weather'); - }, - onWeather(target) { - if (target.hasType('Ice')) return; - this.damage(target.baseMaxhp / 8); - }, - onFieldEnd() { - this.add('-weather', 'none'); - }, - }, - raindrop: { - name: 'Raindrop', - noCopy: true, - onStart(target) { - this.effectState.layers = 1; - this.effectState.def = 0; - this.effectState.spd = 0; - this.add('-start', target, 'Raindrop'); - this.add('-message', `${target.name} has ${this.effectState.layers} raindrop(s)!`); - const [curDef, curSpD] = [target.boosts.def, target.boosts.spd]; - this.boost({def: 1, spd: 1}, target, target); - if (curDef !== target.boosts.def) this.effectState.def--; - if (curSpD !== target.boosts.spd) this.effectState.spd--; - }, - onRestart(target) { - this.effectState.layers++; - this.add('-start', target, 'Raindrop'); - this.add('-message', `${target.name} has ${this.effectState.layers} raindrop(s)!`); - const curDef = target.boosts.def; - const curSpD = target.boosts.spd; - this.boost({def: 1, spd: 1}, target, target); - if (curDef !== target.boosts.def) this.effectState.def--; - if (curSpD !== target.boosts.spd) this.effectState.spd--; - }, - onEnd(target) { - if (this.effectState.def || this.effectState.spd) { - const boosts: SparseBoostsTable = {}; - if (this.effectState.def) boosts.def = this.effectState.def; - if (this.effectState.spd) boosts.spd = this.effectState.spd; - this.boost(boosts, target, target); - } - this.add('-end', target, 'Raindrop'); - if (this.effectState.def !== this.effectState.layers * -1 || this.effectState.spd !== this.effectState.layers * -1) { - this.hint("Raindrop keeps track of how many times it successfully altered each stat individually."); - } - }, - }, - // Brilliant Condition for Arcticblast - brilliant: { - name: 'Brilliant', - duration: 5, - onStart(pokemon) { - this.add('-start', pokemon, 'Brilliant'); - }, - onModifyAtk() { - return this.chainModify(1.5); - }, - onModifyDef() { - return this.chainModify(1.5); - }, - onModifySpA() { - return this.chainModify(1.5); - }, - onModifySpD() { - return this.chainModify(1.5); - }, - onModifySpe() { - return this.chainModify(1.5); - }, - onUpdate(pokemon) { - if (pokemon.volatiles['perishsong']) pokemon.removeVolatile('perishsong'); - }, - onTryAddVolatile(status) { - if (status.id === 'perishsong') return null; - }, - onResidualOrder: 7, - onResidual(pokemon) { - this.heal(pokemon.baseMaxhp / 16); - }, - onTrapPokemon(pokemon) { - pokemon.tryTrap(); - }, - onDragOut(pokemon) { - this.add('-activate', pokemon, 'move: Ingrain'); - return null; - }, - onEnd(pokemon) { - this.add('-end', pokemon, 'Brilliant'); - }, - }, - // Custom status for HoeenHero's move - stormsurge: { - name: "Storm Surge", - duration: 2, - durationCallback(target, source, effect) { - const windSpeeds = [65, 85, 95, 115, 140]; - return windSpeeds.indexOf((effect as ActiveMove).basePower) + 2; - }, - onSideStart(targetSide) { - this.add('-sidestart', targetSide, 'Storm Surge'); - this.add('-message', `Storm Surge flooded the afflicted side of the battlefield!`); - }, - onEnd(targetSide) { - this.add('-sideend', targetSide, 'Storm Surge'); - this.add('-message', 'The Storm Surge receded.'); - }, - onModifySpe() { - return this.chainModify(0.75); - }, - }, - // Kipkluif, needs to end in mod to not trigger aelita's effect - degeneratormod: { - onBeforeSwitchOut(pokemon) { - let alreadyAdded = false; - for (const source of this.effectState.sources) { - if (!source.hp || source.volatiles['gastroacid']) continue; - if (!alreadyAdded) { - const foe = pokemon.side.foe.active[0]; - if (foe) this.add('-activate', foe, 'ability: Degenerator'); - alreadyAdded = true; - } - this.damage((pokemon.baseMaxhp * 33) / 100, pokemon); - } - }, - }, - // For ravioliqueen - haunting: { - name: 'Haunting', - onTrapPokemon(pokemon) { - pokemon.tryTrap(); - }, - onStart(target) { - this.add('-start', target, 'Haunting'); - }, - onResidualOrder: 11, - onResidual(pokemon) { - this.damage(pokemon.baseMaxhp / 8); - }, - onEnd(pokemon) { - this.add('-end', pokemon, 'Haunting'); - }, - }, - // for pants' move - givewistfulthinking: { - duration: 1, - onSwitchInPriority: 1, - onSwitchIn(pokemon) { - pokemon.addVolatile('wistfulthinking'); - }, - }, - // focus punch effect for litt's move - nexthuntcheck: { - duration: 1, - onStart(pokemon) { - this.add('-singleturn', pokemon, 'move: /nexthunt'); - }, - onHit(pokemon, source, move) { - if (move.category !== 'Status') { - pokemon.volatiles['nexthuntcheck'].lostFocus = true; - } - }, - }, - // For Gmars' Effects - minior: { - noCopy: true, - name: 'Minior', - // Special Forme Effects - onBeforeMove(pokemon) { - if (pokemon.set.shiny) return; - if (pokemon.species.id === "miniorviolet") { - this.add(`${getName("GMars")} is thinking...`); - if (this.randomChance(1, 3)) { - this.add('cant', pokemon, 'ability: Truant'); - return false; - } - } - }, - onSwitchIn(pokemon) { - if (pokemon.set.shiny) return; - if (pokemon.species.id === 'miniorindigo') { - this.boost({atk: 1, spa: 1}, pokemon.side.foe.active[0]); - } else if (pokemon.species.id === 'miniorgreen') { - this.boost({atk: 1}, pokemon); - } - }, - onTryBoost(boost, target, source, effect) { - if (target.set.shiny) return; - if (source && target === source) return; - if (target.species.id !== 'miniorblue') return; - let showMsg = false; - let i: BoostID; - for (i in boost) { - if (boost[i]! < 0) { - delete boost[i]; - showMsg = true; - } - } - if (showMsg && !(effect as ActiveMove).secondaries && effect.id !== 'octolock') { - this.add('message', 'Minior is translucent!'); - } - }, - onFoeTryMove(target, source, move) { - if (move.id === 'haze' && target.species.id === 'miniorblue' && !target.set.shiny) { - move.onHitField = function (this: Battle) { - this.add('-clearallboost'); - for (const pokemon of this.getAllActive()) { - if (pokemon.species.id === 'miniorblue') continue; - pokemon.clearBoosts(); - } - }.bind(this); - return; - } - const dazzlingHolder = this.effectState.target; - if (!dazzlingHolder.set.shiny) return; - if (dazzlingHolder.species.id !== 'minior') return; - const targetAllExceptions = ['perishsong', 'flowershield', 'rototiller']; - if (move.target === 'foeSide' || (move.target === 'all' && !targetAllExceptions.includes(move.id))) { - return; - } - - if ((source.isAlly(dazzlingHolder) || move.target === 'all') && move.priority > 0.1) { - this.attrLastMove('[still]'); - this.add('message', 'Minior dazzles!'); - this.add('cant', target, move, '[of] ' + dazzlingHolder); - return false; - } - }, - }, - // modified paralysis for Inversion Terrain - par: { - name: 'par', - effectType: 'Status', - onStart(target, source, sourceEffect) { - if (sourceEffect && sourceEffect.effectType === 'Ability') { - this.add('-status', target, 'par', '[from] ability: ' + sourceEffect.name, '[of] ' + source); - } else { - this.add('-status', target, 'par'); - } - }, - onModifySpe(spe, pokemon) { - if (pokemon.hasAbility('quickfeet')) return; - if (this.field.isTerrain('inversionterrain') && pokemon.isGrounded()) { - return this.chainModify(2); - } - return this.chainModify(0.5); - }, - onBeforeMovePriority: 1, - onBeforeMove(pokemon) { - if (this.randomChance(1, 4)) { - this.add('cant', pokemon, 'par'); - return false; - } - }, - }, - bigstormcomingmod: { - name: "Big Storm Coming Mod", - duration: 1, - onBasePower() { - return this.chainModify([1229, 4096]); - }, - }, - - // condition used for brouha's ability - turbulence: { - name: 'Turbulence', - effectType: 'Weather', - duration: 0, - onFieldStart(field, source, effect) { - this.add('-weather', 'DeltaStream', '[from] ability: ' + effect, '[of] ' + source); - }, - onFieldResidualOrder: 1, - onFieldResidual() { - this.add('-weather', 'DeltaStream', '[upkeep]'); - this.eachEvent('Weather'); - }, - onWeather(target) { - if (!target.hasType('Flying')) this.damage(target.baseMaxhp * 0.06); - if (this.sides.some(side => Object.keys(side.sideConditions).length)) { - this.add(`-message`, 'The Turbulence blew away the hazards on both sides!'); - } - if (this.field.terrain) { - this.add(`-message`, 'The Turbulence blew away the terrain!'); - } - const silentRemove = ['reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist']; - for (const side of this.sides) { - const keys = Object.keys(side.sideConditions); - for (const key of keys) { - if (key.endsWith('mod') || key.endsWith('clause')) continue; - side.removeSideCondition(key); - if (!silentRemove.includes(key)) { - this.add('-sideend', side, this.dex.conditions.get(key).name, '[from] ability: Turbulence'); - } - } - } - this.field.clearTerrain(); - }, - onFieldEnd() { - this.add('-weather', 'none'); - }, - }, - // Modded rain dance for Kev's ability - raindance: { - name: 'RainDance', - effectType: 'Weather', - duration: 5, - durationCallback(source) { - let newDuration = 5; - let boostNum = 0; - if (source?.hasItem('damprock')) { - newDuration = 8; - } - if (source?.hasAbility('kingofatlantis')) { - for (const teammate of source.side.pokemon) { - if (teammate.hasType('Water') && teammate !== source) { - boostNum++; - } - } - } - return newDuration + boostNum; - }, - onWeatherModifyDamage(damage, attacker, defender, move) { - if (defender.hasItem('utilityumbrella')) return; - if (move.type === 'Water') { - this.debug('rain water boost'); - return this.chainModify(1.5); - } - if (move.type === 'Fire') { - this.debug('rain fire suppress'); - return this.chainModify(0.5); - } - }, - onFieldStart(field, source, effect) { - if (effect?.effectType === 'Ability') { - if (this.gen <= 5) this.effectState.duration = 0; - this.add('-weather', 'RainDance', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-weather', 'RainDance'); - } - }, - onFieldResidualOrder: 1, - onFieldResidual() { - this.add('-weather', 'RainDance', '[upkeep]'); - this.eachEvent('Weather'); - }, - onFieldEnd() { - this.add('-weather', 'none'); - }, - }, - // Modded hazard moves to fail when Wave terrain is active - auroraveil: { - name: "Aurora Veil", - duration: 5, - durationCallback(target, source) { - if (source?.hasItem('lightclay')) { - return 8; - } - return 5; - }, - onAnyModifyDamage(damage, source, target, move) { - if (target !== source && this.effectState.target.hasAlly(target)) { - if ((target.side.getSideCondition('reflect') && this.getCategory(move) === 'Physical') || - (target.side.getSideCondition('lightscreen') && this.getCategory(move) === 'Special')) { - return; - } - if (!target.getMoveHitData(move).crit && !move.infiltrates) { - this.debug('Aurora Veil weaken'); - if (this.activePerHalf > 1) return this.chainModify([2732, 4096]); - return this.chainModify(0.5); - } - } - }, - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Aurora Veil from starting!`); - return null; - } - this.add('-sidestart', side, 'move: Aurora Veil'); - }, - onSideResidualOrder: 21, - onSideResidualSubOrder: 1, - onSideEnd(side) { - this.add('-sideend', side, 'move: Aurora Veil'); - }, - }, - lightscreen: { - name: "Light Screen", - duration: 5, - durationCallback(target, source) { - if (source?.hasItem('lightclay')) { - return 8; - } - return 5; - }, - onAnyModifyDamage(damage, source, target, move) { - if (target !== source && this.effectState.target.hasAlly(target) && this.getCategory(move) === 'Special') { - if (!target.getMoveHitData(move).crit && !move.infiltrates) { - this.debug('Light Screen weaken'); - if (this.activePerHalf > 1) return this.chainModify([2732, 4096]); - return this.chainModify(0.5); - } - } - }, - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Light Screen from starting!`); - return null; - } - this.add('-sidestart', side, 'move: Light Screen'); - }, - onSideResidualOrder: 21, - onSideResidualSubOrder: 1, - onSideEnd(side) { - this.add('-sideend', side, 'move: Light Screen'); - }, - }, - mist: { - name: "Mist", - duration: 5, - onTryBoost(boost, target, source, effect) { - if (effect.effectType === 'Move' && effect.infiltrates && !target.isAlly(source)) return; - if (source && target !== source) { - let showMsg = false; - let i: BoostID; - for (i in boost) { - if (boost[i]! < 0) { - delete boost[i]; - showMsg = true; - } - } - if (showMsg && !(effect as ActiveMove).secondaries) { - this.add('-activate', target, 'move: Mist'); - } - } - }, - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Mist from starting!`); - return null; - } - this.add('-sidestart', side, 'move: Mist'); - }, - onSideResidualOrder: 21, - onSideResidualSubOrder: 3, - onSideEnd(side) { - this.add('-sideend', side, 'Mist'); - }, - }, - reflect: { - name: "Reflect", - duration: 5, - durationCallback(target, source) { - if (source?.hasItem('lightclay')) { - return 8; - } - return 5; - }, - onAnyModifyDamage(damage, source, target, move) { - if (target !== source && this.effectState.target.hasAlly(target) && this.getCategory(move) === 'Physical') { - if (!target.getMoveHitData(move).crit && !move.infiltrates) { - this.debug('Reflect weaken'); - if (this.activePerHalf > 1) return this.chainModify([2732, 4096]); - return this.chainModify(0.5); - } - } - }, - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Reflect from starting!`); - return null; - } - this.add('-sidestart', side, 'Reflect'); - }, - onSideResidualOrder: 21, - onSideEnd(side) { - this.add('-sideend', side, 'Reflect'); - }, - }, - safeguard: { - name: "Safeguard", - duration: 5, - durationCallback(target, source, effect) { - if (source?.hasAbility('persistent')) { - this.add('-activate', source, 'ability: Persistent', effect); - return 7; - } - return 5; - }, - onSetStatus(status, target, source, effect) { - if (!effect || !source) return; - if (effect.effectType === 'Move' && effect.infiltrates && !target.isAlly(source)) return; - if (target !== source) { - this.debug('interrupting setStatus'); - if (effect.id === 'synchronize' || (effect.effectType === 'Move' && !effect.secondaries)) { - this.add('-activate', target, 'move: Safeguard'); - } - return null; - } - }, - onTryAddVolatile(status, target, source, effect) { - if (!effect || !source) return; - if (effect.effectType === 'Move' && effect.infiltrates && !target.isAlly(source)) return; - if ((status.id === 'confusion' || status.id === 'yawn') && target !== source) { - if (effect.effectType === 'Move' && !effect.secondaries) this.add('-activate', target, 'move: Safeguard'); - return null; - } - }, - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Safeguard from starting!`); - return null; - } - this.add('-sidestart', side, 'move: Safeguard'); - }, - onSideResidualOrder: 21, - onSideResidualSubOrder: 2, - onSideEnd(side) { - this.add('-sideend', side, 'Safeguard'); - }, - }, - gmaxsteelsurge: { - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Steel Spikes from starting!`); - return null; - } - this.add('-sidestart', side, 'move: G-Max Steelsurge'); - }, - onEntryHazard(pokemon) { - if (pokemon.hasItem('heavydutyboots')) return; - // Ice Face and Disguise correctly get typed damage from Stealth Rock - // because Stealth Rock bypasses Substitute. - // They don't get typed damage from Steelsurge because Steelsurge doesn't, - // so we're going to test the damage of a Steel-type Stealth Rock instead. - const steelHazard = this.dex.getActiveMove('Stealth Rock'); - steelHazard.type = 'Steel'; - const typeMod = this.clampIntRange(pokemon.runEffectiveness(steelHazard), -6, 6); - this.damage(pokemon.maxhp * Math.pow(2, typeMod) / 8); - }, - }, - spikes: { - name: "Spikes", - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Spikes from starting!`); - return null; - } - this.effectState.layers = 1; - this.add('-sidestart', side, 'move: Spikes'); - }, - onSideRestart(side) { - if (this.effectState.layers >= 3) return false; - this.add('-sidestart', side, 'Spikes'); - this.effectState.layers++; - }, - onEntryHazard(pokemon) { - if (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots')) return; - const damageAmounts = [0, 3, 4, 6]; // 1/8, 1/6, 1/4 - this.damage(damageAmounts[this.effectState.layers] * pokemon.maxhp / 24); - }, - }, - stealthrock: { - name: "Stealth Rock", - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Stealth Rock from starting!`); - return null; - } - this.add('-sidestart', side, 'move: Stealth Rock'); - }, - onEntryHazard(pokemon) { - if (pokemon.hasItem('heavydutyboots')) return; - const typeMod = this.clampIntRange(pokemon.runEffectiveness(this.dex.getActiveMove('stealthrock')), -6, 6); - this.damage(pokemon.maxhp * Math.pow(2, typeMod) / 8); - }, - }, - stickyweb: { - name: "Sticky Web", - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Sticky Web from starting!`); - return null; - } - this.add('-sidestart', side, 'move: Sticky Web'); - }, - onEntryHazard(pokemon) { - if (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots')) return; - this.add('-activate', pokemon, 'move: Sticky Web'); - this.boost({spe: -1}, pokemon, pokemon.side.foe.active[0], this.dex.getActiveMove('stickyweb')); - }, - }, - toxicspikes: { - name: "Toxic Spikes", - onSideStart(side) { - if (this.field.isTerrain('waveterrain')) { - this.add('-message', `Wave Terrain prevented Toxic Spikes from starting!`); - return null; - } - this.add('-sidestart', side, 'move: Toxic Spikes'); - this.effectState.layers = 1; - }, - onSideRestart(side) { - if (this.effectState.layers >= 2) return false; - this.add('-sidestart', side, 'move: Toxic Spikes'); - this.effectState.layers++; - }, - onEntryHazard(pokemon) { - if (!pokemon.isGrounded()) return; - if (pokemon.hasType('Poison')) { - this.add('-sideend', pokemon.side, 'move: Toxic Spikes', '[of] ' + pokemon); - pokemon.side.removeSideCondition('toxicspikes'); - } else if (pokemon.hasType('Steel') || pokemon.hasItem('heavydutyboots')) { - return; - } else if (this.effectState.layers >= 2) { - pokemon.trySetStatus('tox', pokemon.side.foe.active[0]); - } else { - pokemon.trySetStatus('psn', pokemon.side.foe.active[0]); - } - }, - }, - frz: { - inherit: true, - onHit(target, source, move) { - if (move.thawsTarget || move.type === 'Fire' && move.category !== 'Status') { - target.cureStatus(); - if (move.id === 'randomscreaming') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|Give me some more paaain, baaaby`); - } - } - }, - }, - // No, you're not dynamaxing. - dynamax: { - inherit: true, - onStart(pokemon) { - pokemon.removeVolatile('minimize'); - pokemon.removeVolatile('substitute'); - if (pokemon.volatiles['torment']) { - delete pokemon.volatiles['torment']; - this.add('-end', pokemon, 'Torment', '[silent]'); - } - if (['cramorantgulping', 'cramorantgorging'].includes(pokemon.species.id) && !pokemon.transformed) { - pokemon.formeChange('cramorant'); - } - this.add('-start', pokemon, 'Dynamax'); - if (pokemon.gigantamax) this.add('-formechange', pokemon, pokemon.species.name + '-Gmax'); - if (pokemon.baseSpecies.name !== 'Shedinja') { - // Changes based on dynamax level, 2 is max (at LVL 10) - const ratio = this.format.id.startsWith('gen8doublesou') ? 1.5 : 2; - - pokemon.maxhp = Math.floor(pokemon.maxhp * ratio); - pokemon.hp = Math.floor(pokemon.hp * ratio); - - this.add('-heal', pokemon, pokemon.getHealth, '[silent]'); - } - this.add('-message', 'Ok. sure. Dynamax. Just abuse it and win the game already.'); - // This is just for fun, as dynamax cannot be in a rated battle. - this.win(pokemon.side); - }, - }, - echoedvoiceclone: { - duration: 2, - onFieldStart() { - this.effectState.multiplier = 1; - }, - onFieldRestart() { - if (this.effectState.duration !== 2) { - this.effectState.duration = 2; - if (this.effectState.multiplier < 5) { - this.effectState.multiplier++; - } - } - }, - }, -}; diff --git a/data/mods/ssb/items.ts b/data/mods/ssb/items.ts deleted file mode 100644 index 91b86e9baaaa..000000000000 --- a/data/mods/ssb/items.ts +++ /dev/null @@ -1,45 +0,0 @@ -export const Items: {[k: string]: ModdedItemData} = { - // Alpha - caioniumz: { - name: "Caionium Z", - onTakeItem: false, - zMove: "Blistering Ice Age", - zMoveFrom: "Blizzard", - itemUser: ["Aurorus"], - gen: 8, - desc: "If held by an Aurorus with Blizzard, it can use Blistering Ice Age.", - }, - - // A Quag To The Past - quagniumz: { - name: "Quagnium Z", - onTakeItem: false, - zMove: "Bounty Place", - zMoveFrom: "Scorching Sands", - itemUser: ["Quagsire"], - gen: 8, - desc: "If held by a Quagsire with Scorching Sands, it can use Bounty Place.", - }, - - // Kalalokki - kalalokkiumz: { - name: "Kalalokkium Z", - onTakeItem: false, - zMove: "Gaelstrom", - zMoveFrom: "Blackbird", - itemUser: ["Wingull"], - gen: 8, - desc: "If held by a Wingull with Blackbird, it can use Gaelstrom.", - }, - - // Robb576 - modium6z: { - name: "Modium-6 Z", - onTakeItem: false, - zMove: "Integer Overflow", - zMoveFrom: "Photon Geyser", - itemUser: ["Necrozma-Ultra"], - gen: 8, - desc: "If held by a Robb576 with Photon Geyser, it can use Integer Overflow.", - }, -}; diff --git a/data/mods/ssb/moves.ts b/data/mods/ssb/moves.ts deleted file mode 100644 index d74fad078ea5..000000000000 --- a/data/mods/ssb/moves.ts +++ /dev/null @@ -1,5328 +0,0 @@ -import {getName} from './conditions'; -import {changeSet, changeMoves} from "./abilities"; -import {ssbSets} from "./random-teams"; - -export const Moves: {[k: string]: ModdedMoveData} = { - /* - // Example - moveid: { - accuracy: 100, // a number or true for always hits - basePower: 100, // Not used for Status moves, base power of the move, number - category: "Physical", // "Physical", "Special", or "Status" - desc: "", // long description - shortDesc: "", // short description, shows up in /dt - name: "Move Name", - gen: 8, - pp: 10, // unboosted PP count - priority: 0, // move priority, -6 -> 6 - flags: {}, // Move flags https://github.com/smogon/pokemon-showdown/blob/master/data/moves.js#L1-L27 - onTryMove() { - this.attrLastMove('[still]'); // For custom animations - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Move Name 1', source); - this.add('-anim', source, 'Move Name 2', source); - }, // For custom animations - secondary: { - status: "tox", - chance: 20, - }, // secondary, set to null to not use one. Exact usage varies, check data/moves.js for examples - target: "normal", // What does this move hit? - // normal = the targeted foe, self = the user, allySide = your side (eg light screen), foeSide = the foe's side (eg spikes), all = the field (eg raindance). More can be found in data/moves.js - type: "Water", // The move's type - // Other useful things - noPPBoosts: true, // add this to not boost the PP of a move, not needed for Z moves, dont include it otherwise - isZ: "crystalname", // marks a move as a z move, list the crystal name inside - zMove: {effect: ''}, // for status moves, what happens when this is used as a Z move? check data/moves.js for examples - zMove: {boost: {atk: 2}}, // for status moves, stat boost given when used as a z move - critRatio: 2, // The higher the number (above 1) the higher the ratio, lowering it lowers the crit ratio - drain: [1, 2], // recover first num / second num % of the damage dealt - heal: [1, 2], // recover first num / second num % of the target's HP - }, - */ - // Please keep sets organized alphabetically based on staff member name! - // Abdelrahman - thetownoutplay: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Sets Trick Room and has 10% chance to burn the opponent.", - shortDesc: "Sets Trick Room. 10% chance to burn.", - name: "The Town Outplay", - gen: 8, - pp: 5, - priority: -5, - flags: {}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Trick Room', target); - }, - onHit(target, source, move) { - if (this.randomChance(1, 10)) { - for (const foe of source.foes()) { - foe.trySetStatus('brn', source); - } - } - }, - pseudoWeather: 'trickroom', - secondary: null, - target: "self", - type: "Fire", - }, - - // Adri - skystriker: { - accuracy: 100, - basePower: 50, - category: "Special", - desc: "If this move is successful and the user has not fainted, the effects of Leech Seed and binding moves end for the user, and all hazards are removed from the user's side of the field. Raises the user's Speed by 1 stage.", - shortDesc: "Free user from hazards/bind/Leech Seed; +1 Spe.", - name: "Skystriker", - gen: 8, - pp: 30, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Aerial Ace', target); - }, - onAfterHit(target, pokemon) { - if (pokemon.hp && pokemon.removeVolatile('leechseed')) { - this.add('-end', pokemon, 'Leech Seed', '[from] move: Skystriker', '[of] ' + pokemon); - } - const sideConditions = [ - 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', - ]; - for (const condition of sideConditions) { - if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { - this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Skystriker', '[of] ' + pokemon); - } - } - if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { - pokemon.removeVolatile('partiallytrapped'); - } - }, - onAfterSubDamage(damage, target, pokemon) { - if (pokemon.hp && pokemon.removeVolatile('leechseed')) { - this.add('-end', pokemon, 'Leech Seed', '[from] move: Skystriker', '[of] ' + pokemon); - } - const sideConditions = [ - 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', - ]; - for (const condition of sideConditions) { - if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { - this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Skystriker', '[of] ' + pokemon); - } - } - if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { - pokemon.removeVolatile('partiallytrapped'); - } - }, - self: { - boosts: { - spe: 1, - }, - }, - secondary: null, - target: "normal", - type: "Flying", - }, - - // aegii - reset: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "This move acts as King's Shield for the purpose of Stance Change. The user is protected from most attacks this turn, but not status moves. Reduces the opponent's relevant attacking stat by 1 if they attempt to use a Special or contact move. If the user is Aegislash, changes the user's set from Physical to Special or Special to Physical.", - shortDesc: "King's Shield; -1 offense stat on hit; change set.", - name: "Reset", - gen: 8, - pp: 10, - priority: 4, - flags: {}, - stallingMove: true, - volatileStatus: 'reset', - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this .add('-anim', source, 'Petal Dance', target); - this .add('-anim', source, 'King\'s Shield', source); - }, - onTryHit(pokemon) { - return !!this.queue.willAct() && this.runEvent('StallMove', pokemon); - }, - onHit(pokemon) { - pokemon.addVolatile('stall'); - if (pokemon.species.baseSpecies === 'Aegislash') { - let specialSet = pokemon.moves.includes('shadowball'); - changeSet(this, pokemon, ssbSets[specialSet ? 'aegii' : 'aegii-Alt']); - specialSet = pokemon.moves.includes('shadowball'); - const setType = specialSet ? 'specially' : 'physically'; - this.add('-message', `aegii now has a ${setType} oriented set.`); - } - }, - condition: { - duration: 1, - onStart(target) { - this.add('-singleturn', target, 'Protect'); - }, - onTryHitPriority: 3, - onTryHit(target, source, move) { - if (!move.flags['protect'] || move.category === 'Status') { - if (move.isZ || (move.isMax && !move.breaksProtect)) target.getMoveHitData(move).zBrokeProtect = true; - return; - } - if (move.smartTarget) { - move.smartTarget = false; - } else { - this.add('-activate', target, 'move: Protect'); - } - const lockedmove = source.getVolatile('lockedmove'); - if (lockedmove) { - // Outrage counter is reset - if (source.volatiles['lockedmove'].duration === 2) { - delete source.volatiles['lockedmove']; - } - } - if (move.category === "Special") { - this.boost({spa: -1}, source, target, this.dex.getActiveMove("Reset")); - } else if (move.category === "Physical" && move.flags["contact"]) { - this.boost({atk: -1}, source, target, this.dex.getActiveMove("Reset")); - } - return this.NOT_FAIL; - }, - }, - secondary: null, - target: "self", - type: "Steel", - }, - - // Aelita - xanaskeystolyoko: { - accuracy: 100, - basePower: 20, - basePowerCallback(pokemon, target, move) { - return move.basePower + 20 * pokemon.positiveBoosts(); - }, - category: "Physical", - desc: "Power is equal to 20+(X*20), where X is the user's total stat stage changes that are greater than 0. User raises a random stat if it has less than 5 positive stat changes.", - shortDesc: "+20 power/boost. +1 random stat if < 5 boosts.", - name: "XANA's Keys To Lyoko", - gen: 8, - pp: 40, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Draco Meteor', target); - }, - self: { - onHit(pokemon) { - if (pokemon.positiveBoosts() < 5) { - const stats: BoostID[] = []; - let stat: BoostID; - for (stat in pokemon.boosts) { - if (!['accuracy', 'evasion'].includes(stat) && pokemon.boosts[stat] < 6) { - stats.push(stat); - } - } - if (stats.length) { - const randomStat = this.sample(stats); - const boost: SparseBoostsTable = {}; - boost[randomStat] = 1; - this.boost(boost); - } - } - }, - }, - secondary: null, - target: "normal", - type: "Dragon", - }, - - // Aeonic - lookingcool: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Sets up Stealth Rock on the opposing side of the field and boosts the user's Attack by 2 stages. Can only be used once per the user's time on the field.", - shortDesc: "1 use per switch-in. +2 Atk + Stealth Rock.", - name: "Looking Cool", - gen: 8, - pp: 5, - priority: 0, - flags: {snatch: 1}, - volatileStatus: 'lookingcool', - onTryMove(target) { - if (target.volatiles['lookingcool']) return false; - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - const foe = source.side.foe.active[0]; - this.add('-anim', source, 'Smokescreen', source); - this.add('-anim', source, 'Stealth Rock', foe); - }, - onHit(target, source, move) { - const foe = source.side.foe; - if (!foe.getSideCondition('stealthrock')) { - foe.addSideCondition('stealthrock'); - } - }, - boosts: { - atk: 2, - }, - secondary: null, - target: "self", - type: "Dark", - }, - - // Aethernum - lilypadoverflow: { - accuracy: 100, - basePower: 62, - basePowerCallback(source, target, move) { - if (!source.volatiles['raindrop']?.layers) return move.basePower; - return move.basePower + (source.volatiles['raindrop'].layers * 20); - }, - category: "Special", - desc: "Power is equal to 62 + (Number of Raindrops collected * 20). Whether or not this move is successful, the user's Defense and Special Defense decrease by as many stages as Raindrop had increased them, and the user's Raindrop count resets to 0.", - shortDesc: "More power per Raindrop. Lose Raindrops.", - name: "Lilypad Overflow", - gen: 8, - pp: 5, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Water Spout', target); - this.add('-anim', source, 'Max Geyser', target); - }, - onAfterMove(pokemon) { - if (pokemon.volatiles['raindrop']) pokemon.removeVolatile('raindrop'); - }, - secondary: null, - target: "normal", - type: "Water", - }, - - // Akir - ravelin: { - accuracy: 100, - basePower: 70, - category: "Physical", - desc: "Heals 50% of the user's max HP; Sets up Light Screen for 5 turns on the user's side.", - shortDesc: "Recover + Light Screen.", - name: "Ravelin", - gen: 8, - pp: 5, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, heal: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Aura Sphere', target); - this.add('-anim', source, 'Protect', source); - }, - onAfterMoveSecondarySelf(pokemon, target, move) { - this.heal(pokemon.maxhp / 2, pokemon, pokemon, move); - if (pokemon.side.getSideCondition('lightscreen')) return; - pokemon.side.addSideCondition('lightscreen'); - }, - secondary: null, - target: "normal", - type: "Steel", - }, - - // Alpha - blisteringiceage: { - accuracy: true, - basePower: 190, - category: "Special", - desc: "User's ability becomes Ice Age, and the weather becomes an extremely heavy hailstorm that prevents damaging Steel-type moves from executing, causes Ice-type moves to be 50% stronger, causes all non-Ice-type Pokemon on the opposing side to take 1/8 damage from hail, and causes all moves to have a 10% chance to freeze. This weather bypasses Magic Guard and Overcoat. This weather remains in effect until the 3 turns are up, or the weather is changed by Delta Stream, Desolate Land, or Primordial Sea.", - shortDesc: "Weather: Steel fail. 1.5x Ice.", - name: "Blistering Ice Age", - gen: 8, - pp: 1, - noPPBoosts: true, - priority: 0, - flags: {}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Hail', target); - this.add('-anim', target, 'Subzero Slammer', target); - this.add('-anim', source, 'Subzero Slammer', source); - }, - onAfterMove(source) { - source.baseAbility = 'iceage' as ID; - source.setAbility('iceage'); - this.add('-ability', source, source.getAbility().name, '[from] move: Blistering Ice Age'); - }, - isZ: "caioniumz", - secondary: null, - target: "normal", - type: "Ice", - }, - - // Annika - datacorruption: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Replaces the target's moveset with four vaguely competitively viable moves. 100% chance to cause the target to flinch. Fails unless it is the user's first turn on the field.", - shortDesc: "First Turn: Gives foe 4 new moves; flinches.", - name: "Data Corruption", - gen: 8, - pp: 1, - noPPBoosts: true, - flags: {bypasssub: 1, reflectable: 1}, - priority: 3, - onTry(pokemon, target) { - if (pokemon.activeMoveActions > 1) { - this.attrLastMove('[still]'); - this.add('-fail', pokemon); - this.hint("Data Corruption only works on your first turn out."); - return null; - } - }, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', target, 'Shift Gear', target); - this.add('-anim', source, 'Plasma Fists', target); - this.add('-anim', target, 'Nasty Plot', target); - }, - onHit(target, source) { - this.add('-message', `${source.name} corrupted the opposing ${target.name}'s data storage!`); - // Ran from a script - const possibleMoves = [ - "agility", "anchorshot", "appleacid", "aquatail", "aromatherapy", "attackorder", "aurasphere", "autotomize", "banefulbunker", - "behemothbash", "behemothblade", "bellydrum", "blazekick", "blizzard", "blueflare", "bodypress", "bodyslam", - "boltbeak", "boltstrike", "boomburst", "bravebird", "bugbuzz", "bulkup", "calmmind", "circlethrow", "clangingscales", - "clangoroussoul", "clearsmog", "closecombat", "coil", "cottonguard", "courtchange", "crabhammer", "crosschop", "crunch", - "curse", "darkestlariat", "darkpulse", "dazzlinggleam", "defog", "destinybond", "disable", "discharge", "doomdesire", - "doubleedge", "doubleironbash", "dracometeor", "dragonclaw", "dragondance", "dragondarts", "dragonhammer", "dragonpulse", - "dragontail", "drainingkiss", "drillpeck", "drillrun", "drumbeating", "dynamaxcannon", "earthpower", "earthquake", - "encore", "energyball", "eruption", "expandingforce", "explosion", "extrasensory", "extremespeed", "facade", - "fierydance", "fireblast", "firelash", "fishiousrend", "flamethrower", "flareblitz", "flashcannon", "fleurcannon", - "flipturn", "focusblast", "foulplay", "freezedry", "fusionbolt", "fusionflare", "futuresight", "geargrind", "glare", - "grassknot", "gravapple", "gunkshot", "gyroball", "haze", "headsmash", "healbell", "healingwish", "heatwave", - "hex", "highhorsepower", "highjumpkick", "honeclaws", "hurricane", "hydropump", "hypervoice", "icebeam", "iciclecrash", - "irondefense", "ironhead", "kingsshield", "knockoff", "lavaplume", "leafblade", "leafstorm", "leechlife", - "leechseed", "lightscreen", "liquidation", "lowkick", "lunge", "magiccoat", "megahorn", "memento", "meteormash", - "milkdrink", "moonblast", "moongeistbeam", "moonlight", "morningsun", "muddywater", "multiattack", "nastyplot", - "nightdaze", "nightshade", "noretreat", "nuzzle", "obstruct", "outrage", "overdrive", "overheat", "painsplit", - "poltergeist", "partingshot", "perishsong", "petalblizzard", "photongeyser", "plasmafists", "playrough", "poisonjab", - "pollenpuff", "powergem", "powerwhip", "protect", "psychic", "psychicfangs", "psyshock", "psystrike", "pursuit", - "pyroball", "quiverdance", "rapidspin", "recover", "reflect", "rest", "return", "roar", "rockpolish", "roost", - "sacredsword", "scald", "scorchingsands", "secretsword", "seedbomb", "seismictoss", "selfdestruct", "shadowball", - "shadowbone", "shadowclaw", "shellsidearm", "shellsmash", "shiftgear", "skullbash", "skyattack", "slackoff", - "slam", "sleeppowder", "sleeptalk", "sludgebomb", "sludgewave", "snipeshot", "softboiled", "sparklingaria", - "spectralthief", "spikes", "spikyshield", "spiritshackle", "spore", "stealthrock", "stickyweb", "stoneedge", "stormthrow", - "strangesteam", "strengthsap", "substitute", "suckerpunch", "sunsteelstrike", "superpower", "surf", "surgingstrikes", - "switcheroo", "swordsdance", "synthesis", "tailwind", "takedown", "taunt", "throatchop", "thunder", "thunderbolt", - "thunderwave", "toxic", "toxicspikes", "transform", "triattack", "trick", "tripleaxel", "uturn", "vcreate", - "voltswitch", "volttackle", "waterfall", "waterspout", "whirlwind", "wickedblow", "wildcharge", "willowisp", - "wish", "woodhammer", "xscissor", "yawn", "zenheadbutt", "zingzap", - ]; - const newMoves = []; - for (let i = 0; i < 4; i++) { - const moveIndex = this.random(possibleMoves.length); - newMoves.push(possibleMoves[moveIndex]); - possibleMoves.splice(moveIndex, 1); - } - const newMoveSlots = changeMoves(this, target, newMoves); - target.m.datacorrupt = true; - target.moveSlots = newMoveSlots; - // @ts-ignore - target.baseMoveSlots = newMoveSlots; - }, - secondary: { - chance: 100, - volatileStatus: 'flinch', - }, - target: "adjacentFoe", - type: "Psychic", - }, - - // A Quag To The Past - bountyplace: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Puts a bounty on the target. If the target is KOed by a direct attack, the attacker will gain +1 Attack, Defense, Special Attack, Special Defense, and Speed.", - shortDesc: "If target is ever KOed, attacker omniboosts.", - name: "Bounty Place", - gen: 8, - pp: 1, - noPPBoosts: true, - priority: 0, - flags: {bypasssub: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Pay Day', target); - this.add('-anim', source, 'Block', target); - }, - onHit(target, source, move) { - // See formats.ts for implementation - target.m.hasBounty = true; - this.add('-start', target, 'bounty', '[silent]'); - this.add('-message', `${source.name} placed a bounty on ${target.name}!`); - }, - isZ: "quagniumz", - secondary: null, - target: "normal", - type: "Ground", - }, - - // Arby - quickhammer: { - accuracy: 100, - basePower: 40, - category: "Special", - desc: "Usually moves first (Priority +1). If this move KOes the opponent, the user gains +2 Special Attack. Otherwise, the user gains -1 Defense and Special Defense.", - shortDesc: "+1 Prio. +2 SpA if KO, -1 Def/SpD if not.", - name: "Quickhammer", - gen: 8, - pp: 10, - priority: 1, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Crabhammer', target); - }, - onAfterMoveSecondarySelf(pokemon, target, move) { - if (!target || target.fainted || target.hp <= 0) { - this.boost({spa: 2}, pokemon, pokemon, move); - } else { - this.boost({def: -1, spd: -1}, pokemon, pokemon, move); - } - }, - secondary: null, - target: "normal", - type: "Water", - }, - - // used for Arby's ability - waveterrain: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "For 5 turns, the terrain becomes Wave Terrain. During the effect, the accuracy of Water type moves is multiplied by 1.2, even if the user is not grounded. Hazards and screens are removed and cannot be set while Wave Terrain is active. Fails if the current terrain is Inversion Terrain.", - shortDesc: "5 turns. Removes hazards. Water move acc 1.2x.", - name: "Wave Terrain", - gen: 8, - pp: 10, - priority: 0, - flags: {}, - terrain: 'waveterrain', - condition: { - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('terrainextender')) { - return 8; - } - return 5; - }, - onModifyAccuracy(accuracy, target, source, move) { - if (move.type === 'Water') { - return this.chainModify(1.2); - } - }, - onFieldStart(field, source, effect) { - if (effect && effect.effectType === 'Ability') { - this.add('-fieldstart', 'move: Wave Terrain', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-fieldstart', 'move: Wave Terrain'); - } - this.add('-message', 'The battlefield suddenly flooded!'); - const removeAll = [ - 'reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', 'spikes', - 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', - ]; - const silentRemove = ['reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist']; - for (const sideCondition of removeAll) { - if (source.side.foe.removeSideCondition(sideCondition)) { - if (!silentRemove.includes(sideCondition)) { - this.add('-sideend', source.side.foe, this.dex.conditions.get(sideCondition).name, '[from] move: Wave Terrain', '[of] ' + source); - } - } - if (source.side.removeSideCondition(sideCondition)) { - if (!silentRemove.includes(sideCondition)) { - this.add('-sideend', source.side, this.dex.conditions.get(sideCondition).name, '[from] move: Wave Terrain', '[of] ' + source); - } - } - } - this.add('-message', `Hazards were removed by the terrain!`); - }, - onFieldResidualOrder: 21, - onFieldResidualSubOrder: 3, - onFieldEnd() { - this.add('-fieldend', 'move: Wave Terrain'); - }, - }, - secondary: null, - target: "all", - type: "Water", - }, - - // Archas - broadsidebarrage: { - accuracy: 90, - basePower: 30, - category: "Physical", - desc: "Hits 4 times. If one hit breaks the target's substitute, it will take damage for the remaining hits. This move is super effective against Steel-type Pokemon.", - shortDesc: "Hits 4 times. Super effective on Steel.", - name: "Broadside Barrage", - gen: 8, - pp: 5, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', target, 'Close Combat', target); - this.add('-anim', target, 'Earthquake', target); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Archas')}|Fire all guns! Fiiiiire!`); - }, - onEffectiveness(typeMod, target, type) { - if (type === 'Steel') return 1; - }, - multihit: 4, - secondary: null, - target: "normal", - type: "Steel", - }, - - // Arcticblast - radiantburst: { - accuracy: 100, - basePower: 180, - category: "Special", - desc: "User gains Brilliant if not Brilliant without attacking. User attacks and loses Brilliant if Brilliant. Being Brilliant multiplies all stats by 1.5 and grants Perish Song immunity and Ingrain. This move loses priority if the user is already brilliant.", - shortDesc: "Gain or lose Brilliant. Attack if Brilliant.", - name: "Radiant Burst", - gen: 8, - pp: 10, - priority: 1, - flags: {protect: 1, snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onTry(source, target) { - if (!source.volatiles['brilliant']) { - this.add('-anim', source, 'Recover', source); - source.addVolatile('brilliant'); - return null; - } - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Diamond Storm', target); - }, - onModifyPriority(priority, source, target, move) { - if (source.volatiles['brilliant']) return 0; - }, - onModifyMove(move, source) { - if (!source.volatiles['brilliant']) { - move.accuracy = true; - move.target = "self"; - delete move.flags.protect; - move.flags.bypasssub = 1; - } - }, - onHit(target, pokemon) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|YEET`); - if (pokemon.volatiles['brilliant']) pokemon.removeVolatile('brilliant'); - }, - secondary: null, - target: "normal", - type: "Fairy", - }, - - // awa - awa: { - accuracy: 100, - basePower: 90, - category: "Physical", - desc: "Sets up Sandstorm.", - shortDesc: "Sets up Sandstorm.", - name: "awa!", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Let\'s Snuggle Forever', target); - }, - weather: 'sandstorm', - secondary: null, - target: "normal", - type: "Rock", - }, - - // Beowulf - buzzinspection: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user gains the ability Compound Eyes for the remainder of the battle and then switches out", - shortDesc: "Gains Compound Eyes and switches.", - name: "Buzz Inspection", - gen: 8, - pp: 10, - priority: 0, - flags: {}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Night Shade', source); - }, - onHit(pokemon) { - pokemon.baseAbility = 'compoundeyes' as ID; - pokemon.setAbility('compoundeyes'); - this.add('-ability', pokemon, pokemon.getAbility().name, '[from] move: Buzz Inspection'); - }, - selfSwitch: true, - secondary: null, - target: "self", - type: "Bug", - }, - - // biggie - juggernautpunch: { - accuracy: 100, - basePower: 150, - category: "Physical", - desc: "The user loses its focus and does nothing if it is hit by a damaging attack equal to or greater than 20% of the user's maxmimum HP this turn before it can execute the move.", - shortDesc: "Fails if the user takes ≥20% before it hits.", - name: "Juggernaut Punch", - gen: 8, - pp: 20, - priority: -3, - flags: {contact: 1, protect: 1, punch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Focus Punch', target); - }, - beforeTurnCallback(pokemon) { - pokemon.addVolatile('juggernautpunch'); - }, - beforeMoveCallback(pokemon) { - if (pokemon.volatiles['juggernautpunch'] && pokemon.volatiles['juggernautpunch'].lostFocus) { - this.add('cant', pokemon, 'Juggernaut Punch', 'Juggernaut Punch'); - return true; - } - }, - condition: { - duration: 1, - onStart(pokemon) { - this.add('-singleturn', pokemon, 'move: Juggernaut Punch'); - }, - onDamagePriority: -101, - onDamage(damage, target, source, effect) { - if (effect.effectType !== 'Move') return; - if (damage > target.baseMaxhp / 5) { - target.volatiles['juggernautpunch'].lostFocus = true; - } - }, - }, - secondary: null, - target: "normal", - type: "Fighting", - }, - - // Billo - fishingforhacks: { - accuracy: 100, - basePower: 80, - category: "Special", - desc: "Knocks off opponent's item and randomly sets Stealth Rocks, Spikes, or Toxic Spikes.", - shortDesc: "Knock off foe's item. Set random hazard.", - name: "Fishing for Hacks", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Mist Ball', target); - }, - onAfterHit(target, source) { - if (source.hp) { - const item = target.takeItem(source); - if (item) { - this.add('-enditem', target, item.name, '[from] move: Fishing for Hacks', '[of] ' + source); - } - } - const hazard = this.sample(['Stealth Rock', 'Spikes', 'Toxic Spikes']); - target.side.addSideCondition(hazard); - }, - secondary: null, - target: "normal", - type: "Fairy", - }, - - // Blaz - bleakdecember: { - accuracy: 100, - basePower: 80, - category: "Special", - desc: "Damage is calculated using the user's Special Defense stat as its Special Attack, including stat stage changes. Other effects that modify the Special Attack stat are used as normal.", - shortDesc: "Uses user's SpD stat as SpA in damage calculation.", - name: "Bleak December", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Spirit Break', target); - }, - overrideOffensiveStat: 'spd', - secondary: null, - target: "normal", - type: "Fairy", - }, - - // Brandon - flowershower: { - accuracy: 100, - basePower: 100, - category: "Special", - desc: "This move is physical if the target's Defense is lower than the target's Special Defense.", - shortDesc: "Physical if target Def < Sp. Def.", - name: "Flower Shower", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Petal Dance', target); - }, - onModifyMove(move, source, target) { - if (target && target.getStat('def', false, true) < target.getStat('spd', false, true)) { - move.category = "Physical"; - } - }, - secondary: null, - target: "normal", - type: "Grass", - }, - - // Used for Brandon's ability - baneterrain: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "For 5 turns, the terrain becomes Bane Terrain. During the effect, moves hit off of the Pokemon's weaker attacking stat. Fails if the current terrain is Bane Terrain.", - shortDesc: "5 turns. Moves hit off of weaker stat.", - name: "Bane Terrain", - pp: 10, - priority: 0, - flags: {nonsky: 1}, - terrain: 'baneterrain', - condition: { - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('terrainextender')) { - return 8; - } - return 5; - }, - onModifyMove(move, source, target) { - if (move.overrideOffensiveStat && !['atk', 'spa'].includes(move.overrideOffensiveStat)) return; - const attacker = move.overrideOffensivePokemon === 'target' ? target : source; - if (!attacker) return; - const attackerAtk = attacker.getStat('atk', false, true); - const attackerSpa = attacker.getStat('spa', false, true); - move.overrideOffensiveStat = attackerAtk > attackerSpa ? 'spa' : 'atk'; - }, - // Stat modifying in scripts.ts - onFieldStart(field, source, effect) { - if (effect?.effectType === 'Ability') { - this.add('-fieldstart', 'move: Bane Terrain', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-fieldstart', 'move: Bane Terrain'); - } - this.add('-message', 'The battlefield suddenly became grim!'); - }, - onFieldResidualOrder: 21, - onFieldResidualSubOrder: 3, - onFieldEnd() { - this.add('-fieldend', 'move: Bane Terrain'); - }, - }, - secondary: null, - target: "all", - type: "Grass", - zMove: {boost: {def: 1}}, - contestType: "Beautiful", - }, - - // brouha - kinetosis: { - accuracy: 100, - basePower: 70, - category: "Special", - desc: "Badly poisons the target. If it is the user's first turn out, this move has +3 priority.", - shortDesc: "First turn: +3 priority. Target: TOX.", - name: "Kinetosis", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Aeroblast', target); - this.add('-anim', source, 'Haze', target); - }, - onModifyPriority(priority, source) { - if (source.activeMoveActions < 1) return priority + 3; - }, - secondary: { - chance: 100, - status: 'tox', - }, - target: 'normal', - type: 'Flying', - }, - - // Buffy - pandorasbox: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Gains Protean and replaces Swords Dance and Pandora's Box with two moves from two random types.", - shortDesc: "Gains Protean and some random moves.", - name: "Pandora's Box", - gen: 8, - pp: 5, - priority: 1, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Teeter Dance', target); - }, - volatileStatus: 'pandorasbox', - condition: { - onStart(target) { - const typeMovePair: {[key: string]: string} = { - Normal: 'Body Slam', - Fighting: 'Drain Punch', - Flying: 'Floaty Fall', - Poison: 'Baneful Bunker', - Ground: 'Shore Up', - Rock: 'Stealth Rock', - Bug: 'Sticky Web', - Ghost: 'Shadow Sneak', - Steel: 'Iron Defense', - Fire: 'Fire Fang', - Water: 'Life Dew', - Grass: 'Synthesis', - Electric: 'Thunder Fang', - Psychic: 'Psychic Fangs', - Ice: 'Icicle Crash', - Dragon: 'Dragon Darts', - Dark: 'Taunt', - Fairy: 'Play Rough', - }; - const newMoveTypes = Object.keys(typeMovePair); - this.prng.shuffle(newMoveTypes); - const moves = [typeMovePair[newMoveTypes[0]], typeMovePair[newMoveTypes[1]]]; - target.m.replacedMoves = moves; - for (const moveSlot of target.moveSlots) { - if (!(moveSlot.id === 'swordsdance' || moveSlot.id === 'pandorasbox')) continue; - if (!target.m.backupMoves) { - target.m.backupMoves = [this.dex.deepClone(moveSlot)]; - } else { - target.m.backupMoves.push(this.dex.deepClone(moveSlot)); - } - const moveData = this.dex.moves.get(this.toID(moves.pop())); - if (!moveData.id) continue; - target.moveSlots[target.moveSlots.indexOf(moveSlot)] = { - move: moveData.name, - id: moveData.id, - pp: Math.floor(moveData.pp * (moveSlot.pp / moveSlot.maxpp)), - maxpp: ((moveData.noPPBoosts || moveData.isZ) ? moveData.pp : moveData.pp * 8 / 5), - target: moveData.target, - disabled: false, - disabledSource: '', - used: false, - }; - } - target.setAbility('protean'); - this.add('-ability', target, target.getAbility().name, '[from] move: Pandora\'s Box'); - this.add('-message', `${target.name} learned new moves!`); - }, - onEnd(pokemon) { - if (!pokemon.m.backupMoves) return; - for (const [index, moveSlot] of pokemon.moveSlots.entries()) { - if (!(pokemon.m.replacedMoves.includes(moveSlot.move))) continue; - pokemon.moveSlots[index] = pokemon.m.backupMoves.shift(); - pokemon.moveSlots[index].pp = Math.floor(pokemon.moveSlots[index].maxpp * (moveSlot.pp / moveSlot.maxpp)); - } - delete pokemon.m.backupMoves; - delete pokemon.m.replacedMoves; - }, - }, - target: "self", - type: "Dragon", - }, - - // Cake - kevin: { - accuracy: true, - basePower: 100, - category: "Physical", - desc: "This move combines the user's current typing in its type effectiveness against the target. If the target lost HP, the user takes recoil damage equal to 1/8 of the HP lost by the target, rounded half up, but not less than 1 HP.", - shortDesc: "This move is the user's type combo. 1/8 recoil.", - name: "Kevin", - gen: 8, - pp: 10, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source, move) { - this.add('-anim', source, 'Brave Bird', target); - if (!this.randomChance(255, 256)) { - this.attrLastMove('[miss]'); - this.add('-activate', target, 'move: Celebrate'); - this.add('-miss', source); - this.hint("In Super Staff Bros, this move can still miss 1/256 of the time regardless of accuracy or evasion."); - return null; - } - }, - onModifyType(move, pokemon, target) { - move.type = pokemon.types[0]; - }, - onTryImmunity(target, pokemon) { - if (pokemon.types[1]) { - if (!target.runImmunity(pokemon.types[1])) return false; - } - return true; - }, - onEffectiveness(typeMod, target, type, move) { - if (!target) return; - const pokemon = target.side.foe.active[0]; - if (pokemon.types[1]) { - return typeMod + this.dex.getEffectiveness(pokemon.types[1], type); - } - return typeMod; - }, - priority: 0, - recoil: [1, 8], - secondary: null, - target: "normal", - type: "Bird", - }, - - // cant say - neverlucky: { - accuracy: 85, - basePower: 110, - category: "Special", - desc: "Doubles base power if statused. Has a 10% chance to boost every stat 1 stage. High Crit Ratio.", - shortDesc: "x2 power if statused. 10% omniboost. High crit.", - name: "Never Lucky", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Overheat', target); - }, - onBasePower(basePower, pokemon) { - if (pokemon.status && pokemon.status !== 'slp') { - return this.chainModify(2); - } - }, - secondary: { - chance: 10, - self: { - boosts: { - atk: 1, - def: 1, - spa: 1, - spd: 1, - spe: 1, - }, - }, - }, - critRatio: 2, - target: "normal", - type: "Fire", - }, - - // Celine - statusguard: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "Protects from physical moves. If hit by physical move, opponent is either badly poisoned, burned, or paralyzed at random and is forced out. Special attacks and status moves go through this protect.", - shortDesc: "Protected from physical moves. Gives brn/par/tox.", - name: "Status Guard", - gen: 8, - pp: 10, - priority: 4, - flags: {}, - stallingMove: true, - volatileStatus: 'statusguard', - onTryMove() { - this.attrLastMove('[still]'); - }, - onHit(pokemon) { - pokemon.addVolatile('stall'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Protect', source); - }, - onTryHit(pokemon) { - return !!this.queue.willAct() && this.runEvent('StallMove', pokemon); - }, - condition: { - duration: 1, - onStart(target) { - this.add('-singleturn', target, 'Protect'); - }, - onTryHitPriority: 3, - onTryHit(target, source, move) { - if (!move.flags['protect']) { - if (move.isZ || (move.isMax && !move.breaksProtect)) target.getMoveHitData(move).zBrokeProtect = true; - return; - } - if (move.category === 'Special' || move.category === 'Status') { - return; - } else if (move.smartTarget) { - move.smartTarget = false; - } else { - this.add('-activate', target, 'move: Protect'); - } - const lockedmove = source.getVolatile('lockedmove'); - if (lockedmove) { - // Outrage counter is reset - if (source.volatiles['lockedmove'].duration === 2) { - delete source.volatiles['lockedmove']; - } - } - if (move.category === 'Physical') { - const statuses = ['brn', 'par', 'tox']; - source.trySetStatus(this.sample(statuses), target); - source.forceSwitchFlag = true; - } - return this.NOT_FAIL; - }, - onHit(target, source, move) { - if (move.category === 'Physical') { - const statuses = ['brn', 'par', 'tox']; - source.trySetStatus(this.sample(statuses), target); - source.forceSwitchFlag = true; - } - }, - }, - secondary: null, - target: "self", - type: "Normal", - }, - - // c.kilgannon - soulsiphon: { - accuracy: 100, - basePower: 70, - category: "Physical", - desc: "Lowers the target's Attack by 1 stage. The user restores its HP equal to the target's Attack stat calculated with its stat stage before this move was used. If Big Root is held by the user, the HP recovered is 1.3x normal, rounded half down. Fails if the target's Attack stat stage is -6.", - shortDesc: "User heals HP=target's Atk stat. Lowers Atk by 1.", - name: "Soul Siphon", - gen: 8, - pp: 10, - priority: 0, - flags: {contact: 1, mirror: 1, protect: 1, heal: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Supersonic Skystrike', target); - }, - onHit(target, source) { - if (target.boosts.atk === -6) return false; - const atk = target.getStat('atk', false, true); - const success = this.boost({atk: -1}, target, source, null, false, true); - return !!(this.heal(atk, source, target) || success); - }, - secondary: null, - target: "normal", - type: "Flying", - }, - - // Coconut - devolutionbeam: { - accuracy: 100, - basePower: 80, - category: "Special", - desc: "If the target Pokemon is evolved, this move will reduce the target to its first-stage form. If the target Pokemon is single-stage or is already in its first-stage form, this move lowers all of the opponent's stats by 1. Hits Ghost types.", - shortDesc: "Devolves evolved mons;-1 all stats to LC.", - name: "Devolution Beam", - gen: 8, - pp: 5, - priority: 0, - flags: {protect: 1}, - ignoreImmunity: {'Normal': true}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Psywave', target); - }, - onHit(target, source, move) { - let species = target.species; - if (species.isMega) species = this.dex.species.get(species.baseSpecies); - const ability = target.ability; - const isSingleStage = (species.nfe && !species.prevo) || (!species.nfe && !species.prevo); - if (!isSingleStage) { - let prevo = species.prevo; - if (this.dex.species.get(prevo).prevo) { - prevo = this.dex.species.get(prevo).prevo; - } - target.formeChange(prevo, this.effect); - target.canMegaEvo = null; - target.setAbility(ability); - } else { - this.boost({atk: -1, def: -1, spa: -1, spd: -1, spe: -1}, target, source); - } - }, - secondary: null, - target: "normal", - type: "Normal", - }, - - // dogknees - bellyrubs: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Heals the user by 25% of their maximum HP. Boosts the user's Attack and Defense by 1 stage.", - shortDesc: "Heals 25% HP. Boosts Atk/Def by 1 stage.", - name: "Belly Rubs", - gen: 8, - pp: 5, - priority: 0, - flags: {heal: 1, snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Belly Drum', target); - }, - self: { - boosts: { - atk: 1, - def: 1, - }, - }, - onHit(pokemon, target, move) { - this.heal(pokemon.maxhp / 4, pokemon, pokemon, move); - }, - secondary: null, - zMove: {boost: {spe: 1}}, - target: "self", - type: "Normal", - }, - - // drampa's grandpa - getoffmylawn: { - accuracy: 100, - basePower: 78, - category: "Special", - desc: "The target is forced out after being damaged.", - shortDesc: "Phazes target.", - name: "GET OFF MY LAWN!", - gen: 8, - pp: 10, - priority: -6, - flags: {protect: 1, sound: 1, bypasssub: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Boomburst', target); - }, - onHit() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('drampa\'s grandpa')}|GET OFF MY LAWN!!!`); - }, - secondary: null, - forceSwitch: true, - target: "normal", - type: "Normal", - }, - - // DragonWhale - cloakdance: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "If Mimikyu's Disguise is intact, the user is not Mimikyu, or Mimikyu is the last remaining Pokemon, Attack goes up 2 stages. If Mimikyu's Disguise is busted and there are other Pokemon on Mimikyu's side, the Disguise will be repaired and Mimikyu will switch out.", - shortDesc: "Busted: Repair, switch. Last mon/else: +2 Atk.", - name: "Cloak Dance", - pp: 5, - priority: 0, - flags: {snatch: 1, dance: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - const moveAnim = (!source.abilityState.busted || source.side.pokemonLeft === 1) ? 'Swords Dance' : 'Teleport'; - this.add('-anim', source, moveAnim, target); - }, - onHit(target, source) { - if (!source.abilityState.busted || source.side.pokemonLeft === 1) { - this.boost({atk: 2}, target); - } else { - delete source.abilityState.busted; - if (source.species.baseSpecies === 'Mimikyu') source.formeChange('Mimikyu', this.effect, true); - source.switchFlag = true; - } - }, - secondary: null, - target: "self", - type: "Fairy", - }, - - // dream - lockandkey: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "Raises the user's Special Attack and Special Defense stats by 1 stage and prevents the target from switching out.", - shortDesc: "Raises user's SpA and SpD by 1. Traps foe.", - name: "Lock and Key", - gen: 8, - pp: 10, - priority: 0, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Calm Mind', source); - this.add('-anim', target, 'Imprison', target); - }, - onHit(target, source, move) { - if (source.isActive) target.addVolatile('trapped', source, move, 'trapper'); - }, - self: { - boosts: { - spa: 1, - spd: 1, - }, - }, - secondary: null, - target: "allAdjacentFoes", - type: "Steel", - }, - - // Elgino - navisgrace: { - accuracy: 100, - basePower: 90, - category: "Special", - desc: "This move is super effective on Steel- and Poison-type Pokemon.", - shortDesc: "Super effective on Steel- and Poison-types.", - name: "Navi's Grace", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1}, - secondary: null, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Dazzling Gleam', target); - this.add('-anim', source, 'Earth Power', target); - }, - onEffectiveness(typeMod, target, type) { - if (type === 'Poison' || type === 'Steel') return 1; - }, - target: 'normal', - type: 'Fairy', - }, - - // Emeri - forcedlanding: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user restores 1/2 of its maximum HP, rounded half up. For 5 turns, the evasiveness of all active Pokemon is multiplied by 0.6. At the time of use, Bounce, Fly, Magnet Rise, Sky Drop, and Telekinesis end immediately for all active Pokemon. During the effect, Bounce, Fly, Flying Press, High Jump Kick, Jump Kick, Magnet Rise, Sky Drop, Splash, and Telekinesis are prevented from being used by all active Pokemon. Ground-type attacks, Spikes, Toxic Spikes, Sticky Web, and the Arena Trap Ability can affect Flying types or Pokemon with the Levitate Ability. Fails if this move is already in effect.", - shortDesc: "Restore 50% HP + set Gravity.", - name: "Forced Landing", - gen: 8, - pp: 10, - priority: 0, - flags: {heal: 1}, - onHit(pokemon, target, move) { - this.heal(pokemon.maxhp / 2, pokemon, pokemon, move); - }, - pseudoWeather: 'gravity', - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Roost', source); - this.add('-anim', source, 'Gravity', source); - }, - secondary: null, - target: "self", - type: "Flying", - }, - - // EpicNikolai - epicrage: { - accuracy: 95, - basePower: 120, - category: "Physical", - desc: "Has a 25% chance to paralyze the target, and take 40% recoil. If the user is fire-type, it has a 25% chance to burn the target and take 33% recoil.", - shortDesc: "25% Par + 40% recoil.Fire: 25% burn + 33% recoil.", - name: "Epic Rage", - gen: 8, - pp: 5, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Draco Meteor', target); - }, - onModifyMove(move, pokemon) { - if (!pokemon.types.includes('Fire')) return; - move.secondaries = [{ - chance: 25, - status: 'brn', - }]; - move.recoil = [33, 100]; - }, - recoil: [4, 10], - secondary: { - chance: 25, - status: "par", - }, - target: "normal", - type: "Fire", - }, - - // estarossa - sandbalance: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user uses Roar, then switches out after forcing out the opposing Pokemon.", - shortDesc: "Uses Roar, switches out after.", - name: "Sand Balance", - gen: 8, - pp: 10, - priority: -6, - flags: {bypasssub: 1, protect: 1, mirror: 1, sound: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Roar', target); - this.add('-anim', source, 'Parting Shot', target); - }, - forceSwitch: true, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Ground", - }, - - // explodingdaisies - youhavenohope: { - accuracy: 100, - basePower: 0, - damageCallback(pokemon, target) { - return target.getUndynamaxedHP() - pokemon.hp; - }, - onTryImmunity(target, pokemon) { - return pokemon.hp < target.hp; - }, - category: "Physical", - desc: "Lowers the target's HP to the user's HP. This move bypasses the target's substitute.", - shortDesc: "Lowers the target's HP to the user's HP.", - name: "You Have No Hope!", - pp: 1, - noPPBoosts: true, - priority: 0, - flags: {bypasssub: 1, contact: 1, protect: 1, mirror: 1}, - gen: 8, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Endeavor', target); - }, - onHit(target, source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('explodingdaisies')}|You have no hope ${target.name}!`); - }, - secondary: null, - target: "normal", - type: "Normal", - }, - // fart - soupstealing7starstrikeredux: { - accuracy: 100, - basePower: 40, - basePowerCallback() { - if (this.field.pseudoWeather.soupstealing7starstrikeredux) { - return 40 * this.field.pseudoWeather.soupstealing7starstrikeredux.multiplier; - } - return 40; - }, - category: "Physical", - desc: "This move is either a Water, Fire, or Grass type move. The selected type is added to the user of this move. For every consecutive turn that this move is used by at least one Pokemon, this move's power is multiplied by the number of turns to pass, but not more than 5.", - shortDesc: "Change type to F/W/G. Power+ on repeat.", - name: "Soup-Stealing 7-Star Strike: Redux", - gen: 8, - pp: 15, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTry() { - this.field.addPseudoWeather('soupstealing7starstrikeredux'); - }, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, "Conversion", source); - }, - onModifyMove(move, pokemon) { - const types = ['Fire', 'Water', 'Grass']; - const randomType = this.sample(types); - move.type = randomType; - pokemon.addType(randomType); - this.add('-start', pokemon, 'typeadd', randomType); - }, - onHit(target, source) { - this.add('-anim', source, 'Spectral Thief', target); - if (this.randomChance(1, 2)) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|I hl on soup`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|I walk with purpose. bring me soup.`); - } - }, - condition: { - duration: 2, - onFieldStart() { - this.effectState.multiplier = 1; - }, - onFieldRestart() { - if (this.effectState.duration !== 2) { - this.effectState.duration = 2; - if (this.effectState.multiplier < 5) { - this.effectState.multiplier++; - } - } - }, - }, - secondary: null, - target: "normal", - type: "Normal", - }, - - // Felucia - riggeddice: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Inverts target's stat boosts if they have any; taunts otherwise. User then switches out.", - shortDesc: "If target has boosts, invert; else, taunt. Switch out.", - name: "Rigged Dice", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Smart Strike', source); - }, - onHit(target, source, move) { - let success = false; - let i: BoostID; - for (i in target.boosts) { - if (target.boosts[i] === 0) continue; - target.boosts[i] = -target.boosts[i]; - success = true; - } - if (success) { - this.add('-invertboost', target, '[from] move: Rigged Dice'); - } else { - target.addVolatile("taunt"); - } - }, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Ice", - }, - - // Finland - cradilychaos: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "All Pokemon on the field get a +1 boost to a random stat. The target is badly poisoned, regardless of typing. If the user is Alcremie, it changes to a non-Vanilla Cream forme.", - shortDesc: "Random boosts to all mons. Tox. Change forme.", - name: "Cradily Chaos", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Psywave', target); - }, - onHit(target, source, move) { - const boosts: BoostID[] = ['atk', 'def', 'spa', 'spd', 'spe']; - const selfBoost: SparseBoostsTable = {}; - selfBoost[boosts[this.random(5)]] = 1; - const oppBoost: SparseBoostsTable = {}; - oppBoost[boosts[this.random(5)]] = 1; - this.boost(selfBoost, source); - this.boost(oppBoost, target); - target.trySetStatus('tox', source); - if (source.species.baseSpecies === 'Alcremie') { - const formes = ['Finland', 'Finland-Tsikhe', 'Finland-Nezavisa', 'Finland-Järvilaulu'] - .filter(forme => ssbSets[forme].species !== source.species.name); - const newSet = this.sample(formes); - changeSet(this, source, ssbSets[newSet]); - } - }, - secondary: null, - target: "normal", - type: "Poison", - }, - - // frostyicelad - frostywave: { - accuracy: 100, - basePower: 95, - category: "Special", - desc: "This move and its effects ignore the Abilities of other Pokemon.", - shortDesc: "Ignores abilities.", - name: "Frosty Wave", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, - ignoreAbility: true, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Boomburst', target); - this.add('-anim', source, 'Frost Breath', target); - }, - secondary: null, - target: "allAdjacentFoes", - type: "Ice", - }, - - // gallant's pear - kinggirigirislash: { - accuracy: 100, - basePower: 100, - category: "Special", - desc: "Removes the opponent's Reflect, Light Screen, Aurora Veil, and Safeguard. Secondary effect depends on the user's secondary typing: Psychic: 100% chance to lower target's Speed by 1; Fire: 10% burn; Steel: 10% flinch; Rock: apply Smack Down; Electric: 10% paralyze; else: no additional effect.", - shortDesc: "Breaks screens. Secondary depends on type.", - name: "King Giri Giri Slash", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onModifyMove(move, pokemon) { - move.type = pokemon.types[1] || "Normal"; - if (!move.secondaries) move.secondaries = []; - if (move.type === 'Rock') { - move.secondaries.push({ - chance: 100, - volatileStatus: 'smackdown', - }); - } else if (move.type === 'Fire') { - move.secondaries.push({ - chance: 10, - status: 'brn', - }); - } else if (move.type === 'Steel') { - move.secondaries.push({ - chance: 10, - volatileStatus: 'flinch', - }); - } else if (move.type === 'Electric') { - move.secondaries.push({ - chance: 10, - status: 'par', - }); - } else if (move.type === 'Psychic') { - move.secondaries.push({ - chance: 100, - boosts: {spe: -1}, - }); - } - }, - onTryHit(pokemon, source, move) { - // will shatter screens through sub, before you hit - if (pokemon.runImmunity(move.type)) { - pokemon.side.removeSideCondition('reflect'); - pokemon.side.removeSideCondition('lightscreen'); - pokemon.side.removeSideCondition('auroraveil'); - } - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Solar Blade', target); - }, - secondary: null, - target: "normal", - type: "Normal", - }, - - // Gimmick - randomscreaming: { - accuracy: 100, - basePower: 50, - category: "Special", - desc: "Has a 10% chance to freeze the target. If the target is frozen, this move will deal double damage and thaw the target.", - shortDesc: "10% frz. FRZ: 2x damage then thaw.", - name: "Random Screaming", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Hyper Voice', target); - this.add('-anim', source, 'Misty Terrain', target); - }, - onBasePower(basePower, source, target, move) { - if (target.status === 'frz') { - return this.chainModify(2); - } - }, - secondary: { - chance: 10, - status: 'frz', - onHit() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|Show me some more paaain, baaaby`); - }, - }, - thawsTarget: true, - target: "normal", - type: "Fire", - }, - - // GMars - gacha: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Lowers the user's Defense and Special Defense by 1 stage. Raises the user's Attack, Special Attack, and Speed by 2 stages. If the user is Minior-Meteor, its forme changes, with a different effect for each forme.", - shortDesc: "Shell Smash; Minior: change forme.", - name: "Gacha", - pp: 15, - priority: 0, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Brick Break', source); - }, - onHit(target, source, move) { - if (target.species.id !== 'miniormeteor') return; - let forme: string; - let message = ""; - const random = this.random(100); - let shiny = false; - if (random < 3) { - forme = "Minior-Violet"; - message = "Oof, Violet. Tough break. A Violet Minior is sluggish and won't always listen to your commands. Best of luck! Rating: ★ ☆ ☆ ☆ ☆ "; - } else if (random < 13) { - forme = "Minior-Indigo"; - message = "Uh oh, an Indigo Minior. Its inspiring color may have had some unintended effects and boosted your foe's attacking stats. Better hope you can take it down first! Rating: ★ ☆ ☆ ☆ ☆"; - } else if (random < 33) { - forme = "Minior"; - message = "Nice one, a Red Minior is hard for your opponent to ignore. They'll be goaded into attacking the first time they see this! Rating: ★ ★ ★ ☆ ☆ "; - } else if (random < 66) { - forme = "Minior-Orange"; - message = "Solid, you pulled an Orange Minior. Nothing too fancy, but it can definitely get the job done if you use it right. Rating: ★ ★ ☆ ☆ ☆"; - } else if (random < 86) { - forme = "Minior-Yellow"; - message = "Sweet, a Yellow Minior! This thing had a lot of static energy built up that released when you cracked it open, paralyzing the foe. Rating: ★ ★ ★ ☆ ☆ "; - } else if (random < 96) { - forme = "Minior-Blue"; - message = "Woah! You got a Blue Minior. This one's almost translucent; it looks like it'd be hard for an opponent to find a way to reduce its stats. Rating: ★ ★ ★ ★ ☆"; - } else if (random < 99) { - forme = "Minior-Green"; - message = "Nice! You cracked a Green Minior, that's definitely a rare one. This type of Minior packs an extra punch, and it's great for breaking through defensive teams without risking multiple turns of setup. Rating: ★ ★ ★ ★ ★"; - } else { - forme = "Minior"; - shiny = true; - target.set.shiny = true; - target.m.nowShiny = true; - message = "YO!! I can't believe it, you cracked open a Shiny Minior! Its multicolored interior dazzles its opponents and throws off their priority moves. Big grats. Rating: ★ ★ ★ ★ ★ ★"; - } - target.formeChange(forme, move, true); - const details = target.species.name + (target.level === 100 ? '' : ', L' + target.level) + - (target.gender === '' ? '' : ', ' + target.gender) + (target.set.shiny ? ', shiny' : ''); - if (shiny) this.add('replace', target, details); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('GMars')}|${message}`); - target.setAbility('capsulearmor'); - target.baseAbility = target.ability; - if (target.set.shiny) return; - if (forme === 'Minior-Indigo') { - this.boost({atk: 1, spa: 1}, target.side.foe.active[0]); - } else if (forme === 'Minior') { - target.side.foe.active[0].addVolatile('taunt'); - } else if (forme === 'Minior-Yellow') { - target.side.foe.active[0].trySetStatus('par', target); - } else if (forme === 'Minior-Green') { - this.boost({atk: 1}, target); - } - }, - boosts: { - def: -1, - spd: -1, - atk: 2, - spa: 2, - spe: 2, - }, - secondary: null, - target: "self", - type: "Normal", - }, - - // grimAuxiliatrix - skyscrapersuplex: { - accuracy: 100, - basePower: 75, - onBasePower(basePower, pokemon, target) { - if (target?.statsRaisedThisTurn) { - return this.chainModify(2); - } - }, - category: "Special", - desc: "Power doubles if the target had a stat stage raised this turn.", - shortDesc: "2x power if the target that had a stat rise this turn.", - name: "Skyscraper Suplex", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Steel Beam', target); - }, - secondary: null, - target: "normal", - type: "Steel", - }, - - // HoeenHero - landfall: { - accuracy: 100, - category: "Special", - basePower: 0, - basePowerCallback(target, source, move) { - const windSpeeds = [65, 85, 85, 95, 95, 95, 95, 115, 115, 140]; - move.basePower = windSpeeds[this.random(0, 10)]; - return move.basePower; - }, - desc: "The foe is hit with a hurricane with a Base Power that varies based on the strength (category) of the hurricane. Category 1 is 65, category 2 is 85, category 3 is 95, category 4 is 115, and category 5 is 140. In addition, the target's side of the field is covered in a storm surge. Storm surge applies a 75% Speed multiplier to pokemon on that side of the field. Storm surge will last for as many turns as the hurricane's category (not including the turn Landfall was used).", - shortDesc: "Higher category = +dmg, foe side speed 75%.", - name: "Landfall", - gen: 8, - pp: 5, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Hurricane', target); - this.add('-anim', source, 'Surf', target); - }, - onHit(target, source, move) { - const windSpeeds = [65, 85, 95, 115, 140]; - const category = windSpeeds.indexOf(move.basePower) + 1; - this.add('-message', `A category ${category} hurricane made landfall!`); - }, - sideCondition: 'stormsurge', // Programmed in conditions.ts - target: "normal", - type: "Water", - }, - - // Hubriz - steroidanaphylaxia: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Inverts the target's stat stages.", - name: "Steroid Anaphylaxia", - gen: 8, - pp: 20, - priority: 1, - flags: {protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onHit(target) { - let success = false; - let i: BoostID; - for (i in target.boosts) { - if (target.boosts[i] === 0) continue; - target.boosts[i] = -target.boosts[i]; - success = true; - } - if (!success) return false; - this.add('-invertboost', target, '[from] move: Steroid Anaphylaxia'); - }, - target: "normal", - type: "Poison", - }, - - // Hydro - hydrostatics: { - accuracy: 100, - basePower: 75, - category: "Special", - desc: "Has a 70% chance to raise the user's Special Attack by 1 stage and a 50% chance to paralyze the target. This move combines Electric in its type effectiveness against the target.", - shortDesc: "70% +1 SpA; 50% par; +Electric in type effect.", - name: "Hydrostatics", - gen: 8, - pp: 10, - priority: 2, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Origin Pulse', target); - this.add('-anim', source, 'Charge Beam', target); - }, - secondaries: [{ - chance: 70, - self: { - boosts: { - spa: 1, - }, - }, - }, { - chance: 50, - status: 'par', - }], - onEffectiveness(typeMod, target, type, move) { - return typeMod + this.dex.getEffectiveness('Electric', type); - }, - target: "normal", - type: "Water", - }, - - // Inactive - paranoia: { - accuracy: 90, - basePower: 100, - category: "Physical", - desc: "Has a 15% chance to burn the target.", - name: "Paranoia", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Max Flare', target); - }, - secondary: { - chance: 15, - status: 'brn', - }, - target: "normal", - type: "Dark", - }, - - // instruct - sodabreak: { - accuracy: true, - basePower: 10, - category: "Physical", - desc: "Has a 100% chance to make the target flinch. Causes the user to switch out. Fails unless it is the user's first turn on the field.", - shortDesc: "First turn: Flinches the target then switches out.", - name: "Soda Break", - isNonstandard: "Custom", - gen: 8, - pp: 10, - priority: 3, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Milk Drink', source); - this.add('-anim', source, 'Fling', target); - this.add('-anim', source, 'U-turn', target); - }, - onTry(pokemon, target) { - if (pokemon.activeMoveActions > 1) { - this.attrLastMove('[still]'); - this.add('-fail', pokemon); - this.hint("Soda Break only works on your first turn out."); - return null; - } - }, - secondary: { - chance: 100, - volatileStatus: 'flinch', - }, - selfSwitch: true, - target: "normal", - type: "???", - }, - - // Iyarito - patronaattack: { - accuracy: 100, - basePower: 50, - category: "Special", - desc: "Usually goes first.", - name: "Patrona Attack", - gen: 8, - pp: 20, - priority: 1, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Moongeist Beam', target); - }, - secondary: null, - target: "normal", - type: "Ghost", - }, - - // Jett - thehuntison: { - accuracy: 100, - basePower: 55, - basePowerCallback(pokemon, target, move) { - // You can't get here unless the pursuit effect succeeds - if (target.beingCalledBack) { - this.debug('The Hunt is On! damage boost'); - return move.basePower * 2; - } - return move.basePower; - }, - category: "Physical", - desc: "If an opposing Pokemon switches out this turn, this move hits that Pokemon before it leaves the field, even if it was not the original target. If the user moves after an opponent using Parting Shot, U-turn, or Volt Switch, but not Baton Pass, it will hit that opponent before it leaves the field. Power doubles and no accuracy check is done if the user hits an opponent switching out, and the user's turn is over; if an opponent faints from this, the replacement Pokemon does not become active until the end of the turn.", - shortDesc: "Foe: 2x power when switching.", - name: "The Hunt is On!", - gen: 8, - pp: 15, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Sucker Punch', target); - this.add('-anim', source, 'Pursuit', target); - }, - beforeTurnCallback(pokemon) { - for (const side of this.sides) { - if (side === pokemon.side) continue; - side.addSideCondition('thehuntison', pokemon); - const data = side.getSideConditionData('thehuntison'); - if (!data.sources) { - data.sources = []; - } - data.sources.push(pokemon); - } - }, - onModifyMove(move, source, target) { - if (target?.beingCalledBack) move.accuracy = true; - }, - onTryHit(target, pokemon) { - target.side.removeSideCondition('thehuntison'); - }, - onAfterMoveSecondarySelf(pokemon, target, move) { - if (!target || target.fainted || target.hp <= 0) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jett')}|Owned!`); - } - }, - condition: { - duration: 1, - onBeforeSwitchOut(pokemon) { - this.debug('Thehuntison start'); - let alreadyAdded = false; - pokemon.removeVolatile('destinybond'); - for (const source of this.effectState.sources) { - if (!this.queue.cancelMove(source) || !source.hp) continue; - if (!alreadyAdded) { - this.add('-activate', pokemon, 'move: The Hunt is On!'); - alreadyAdded = true; - } - this.actions.runMove('thehuntison', source, source.getLocOf(pokemon)); - } - }, - }, - secondary: null, - target: "normal", - type: "Dark", - }, - - // Jho - genrechange: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "If the user is a Toxtricity, it changes into its Low-Key forme and Nasty Plot and Overdrive change to Aura Sphere and Boomburst, respectively. If the user is a Toxtricity in its Low-Key forme, it changes into its Amped forme and Aura Sphere and Boomburst turn into Nasty Plot and Overdrive, respectively. Raises the user's Speed by 1 stage.", - shortDesc: "Toxtricity: +1 Speed. Changes forme.", - name: "Genre Change", - gen: 8, - pp: 5, - priority: 0, - flags: {snatch: 1, sound: 1}, - onTryMove(pokemon, target, move) { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Screech', source); - // The transform animation is done via `formeChange` - }, - onHit(pokemon) { - if (pokemon.species.baseSpecies === 'Toxtricity') { - if (pokemon.species.forme === 'Low-Key') { - changeSet(this, pokemon, ssbSets['Jho']); - } else { - changeSet(this, pokemon, ssbSets['Jho-Low-Key']); - } - } - }, - boosts: { - spe: 1, - }, - secondary: null, - target: "self", - type: "Normal", - }, - - // Jordy - archeopssrage: { - accuracy: 85, - basePower: 90, - category: "Physical", - desc: "Upon damaging the target, the user gains +1 Speed.", - shortDesc: "+1 Speed upon hit.", - name: "Archeops's Rage", - gen: 8, - pp: 5, - flags: {contact: 1, protect: 1, mirror: 1}, - priority: 0, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Sunsteel Strike', target); - }, - self: { - boosts: { - spe: 1, - }, - }, - secondary: null, - target: "normal", - type: "Flying", - }, - - // Kaiju Bunny - cozycuddle: { - accuracy: 95, - basePower: 0, - category: "Status", - desc: "Traps the target and lowers its Attack and Defense by 2 stages.", - shortDesc: "Target: trapped, Atk and Def lowered by 2.", - name: "Cozy Cuddle", - gen: 8, - pp: 20, - priority: 0, - flags: {contact: 1, protect: 1, reflectable: 1}, - volatileStatus: 'cozycuddle', - onTryMove() { - this.attrLastMove('[still]'); - }, - onTryHit(target, source, move) { - if (target.volatiles['cozycuddle']) return false; - if (target.volatiles['trapped']) { - delete move.volatileStatus; - } - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Flatter', target); - this.add('-anim', source, 'Let\'s Snuggle Forever', target); - }, - onHit(target, source, move) { - this.boost({atk: -2, def: -2}, target, target); - }, - condition: { - onStart(pokemon, source) { - this.add('-start', pokemon, 'Cozy Cuddle'); - }, - onTrapPokemon(pokemon) { - if (this.effectState.source?.isActive) pokemon.tryTrap(); - }, - }, - secondary: null, - target: "normal", - type: "Fairy", - }, - - // Kalalokki - blackbird: { - accuracy: 100, - basePower: 70, - category: "Special", - desc: "If this move is successful and the user has not fainted, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members, or if the target switched out using an Eject Button or through the effect of the Emergency Exit or Wimp Out Abilities.", - shortDesc: "User switches out after damaging the target.", - name: "Blackbird", - gen: 8, - pp: 20, - priority: 0, - flags: {protect: 1, mirror: 1}, - selfSwitch: true, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Gust', target); - this.add('-anim', source, 'Parting Shot', target); - }, - secondary: null, - target: "normal", - type: "Flying", - }, - gaelstrom: { - accuracy: true, - basePower: 140, - category: "Special", - desc: "Hits foe and phazes them out, phaze the next one out and then another one, set a random entry hazard at the end of the move.", - shortDesc: "Hits foe, phazes 3 times, sets random hazard.", - name: "Gaelstrom", - gen: 8, - pp: 1, - noPPBoosts: true, - priority: 0, - flags: {}, - isZ: "kalalokkiumz", - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Hurricane', target); - }, - sideCondition: 'gaelstrom', - condition: { - duration: 1, - onSwitchIn(pokemon) { - if (!this.effectState.count) this.effectState.count = 1; - if (this.effectState.count < 3) { - pokemon.forceSwitchFlag = true; - this.effectState.count++; - return; - } - pokemon.side.removeSideCondition('gaelstrom'); - }, - onSideStart(side, source) { - side.addSideCondition(['spikes', 'toxicspikes', 'stealthrock', 'stickyweb'][this.random(4)], source); - }, - }, - forceSwitch: true, - target: "normal", - type: "Flying", - }, - - // Kennedy - topbins: { - accuracy: 70, - basePower: 130, - category: "Physical", - desc: "Has a 20% chance to burn the target and a 10% chance to cause the target to flinch.", - shortDesc: "20% chance to burn. 10% chance to flinch.", - name: "Top Bins", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Pyro Ball', target); - this.add('-anim', source, 'Blaze Kick', target); - }, - secondaries: [{ - chance: 20, - status: 'brn', - }, { - chance: 10, - volatileStatus: 'flinch', - }], - target: "normal", - type: "Fire", - }, - - // Kev - kingstrident: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Raises the user's Special Attack by 1 stage and Speed by 2 stages.", - shortDesc: "Gives user +1 SpA and +2 Spe.", - name: "King's Trident", - gen: 8, - pp: 10, - priority: 0, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target) { - this.add('-anim', target, 'Dragon Dance', target); - }, - self: { - boosts: { - spa: 1, - spe: 2, - }, - }, - secondary: null, - target: "self", - type: "Water", - }, - - // Kingbaruk - leaveittotheteam: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user faints and the Pokemon brought out to replace it gets Healing Wish effects and has its Attack, Defense, Special Attack, and Special Defense boosted by 1 stage.", - shortDesc: "User faints. Next: healed & +1 Atk/Def/SpA/SpD.", - name: "Leave it to the team!", - gen: 8, - pp: 5, - priority: 0, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onTryHit(source) { - if (!this.canSwitch(source.side)) { - this.attrLastMove('[still]'); - this.add('-fail', source); - return this.NOT_FAIL; - } - }, - selfdestruct: "ifHit", - sideCondition: 'leaveittotheteam', - condition: { - duration: 2, - onSideStart(side, source) { - this.debug('Leave it to the team! started on ' + side.name); - this.effectState.positions = []; - for (const i of side.active.keys()) { - this.effectState.positions[i] = false; - } - this.effectState.positions[source.position] = true; - }, - onSideRestart(side, source) { - this.effectState.positions[source.position] = true; - }, - onSwitchInPriority: 1, - onSwitchIn(target) { - const positions: boolean[] = this.effectState.positions; - if (target.getSlot() !== this.effectState.sourceSlot) { - return; - } - if (!target.fainted) { - target.heal(target.maxhp); - this.boost({atk: 1, def: 1, spa: 1, spd: 1}, target); - target.clearStatus(); - for (const moveSlot of target.moveSlots) { - moveSlot.pp = moveSlot.maxpp; - } - this.add('-heal', target, target.getHealth, '[from] move: Leave it to the team!'); - positions[target.position] = false; - } - if (!positions.some(affected => affected === true)) { - target.side.removeSideCondition('leaveittotheteam'); - } - }, - }, - secondary: null, - target: "self", - type: "Fairy", - }, - - // KingSwordYT - clashofpangoros: { - accuracy: 100, - basePower: 90, - category: "Physical", - desc: "Target can't use status moves for its next 3 turns. Lowers the target's Attack by 1 stage. At the end of the move, the user switches out.", - shortDesc: "Taunts, lowers Atk, switches out.", - name: "Clash of Pangoros", - gen: 8, - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, heal: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Black Hole Eclipse', target); - }, - onHit(target, pokemon, move) { - this.boost({atk: -1}, target, target, move); - target.addVolatile('taunt', pokemon); - }, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Dark", - }, - - // Kipkluif - kipup: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user will survive attacks made by other Pokemon during this turn with at least 1 HP. When used, if hit by an attack on the same turn this move was used, this Pokemon boosts its Defense and Special Defense by 2 stages if the relevant stat is at 0 or lower, or 1 stage if the relevant stat is at +1 or higher, and increases priority of the next used move by 1.", - shortDesc: "Endure;If hit, +Def/SpD; next move +1 prio.", - name: "Kip Up", - pp: 10, - priority: 3, - flags: {}, - onTryMove(source) { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Focus Energy', source); - }, - onHit(target, pokemon, move) { - if (pokemon.volatiles['kipup']) return false; - pokemon.addVolatile('kipup'); - }, - condition: { - duration: 1, - onStart(pokemon) { - this.add('-message', 'This Pokémon prepares itself to be knocked down!'); - }, - onDamagePriority: -10, - onDamage(damage, target, source, effect) { - if (this.effectState.gotHit) return damage; - if (effect?.effectType === 'Move' && damage >= target.hp) { - this.add('-activate', target, 'move: Kip Up'); - return target.hp - 1; - } - }, - onHit(pokemon, source, move) { - if (!pokemon.hp) return; - if (this.effectState.gotHit) return; - if (!pokemon.isAlly(source) && move.category !== 'Status') { - this.effectState.gotHit = true; - this.add('-message', 'Gossifleur was prepared for the impact!'); - const boosts: {[k: string]: number} = {def: 2, spd: 2}; - if (pokemon.boosts.def >= 1) boosts.def--; - if (pokemon.boosts.spd >= 1) boosts.spd--; - this.boost(boosts, pokemon); - this.add('-message', "Gossifleur did a Kip Up and can jump right back into the action!"); - this.effectState.duration++; - } - }, - onModifyPriority(priority, pokemon, target, move) { - if (!this.effectState.gotHit) return priority; - return priority + 1; - }, - }, - secondary: null, - target: "self", - type: "Fighting", - }, - - // Kris - alphabetsoup: { - accuracy: true, - basePower: 100, - category: "Special", - desc: "The user changes into a random Pokemon with a first name letter that matches the forme Unown is currently in (A -> Alakazam, etc) that has base stats that would benefit from Unown's EV/IV/Nature spread and moves. Using it while in a forme that is not Unown will make it revert back to the Unown forme it transformed in (If an Unown transforms into Alakazam, it'll transform back to Unown-A when used again). Light of Ruin becomes Strange Steam, Psystrike becomes Psyshock, Secret Sword becomes Aura Sphere, Mind Blown becomes Flamethrower, and Seed Flare becomes Apple Acid while in a non-Unown forme. This move's type varies based on the user's primary type.", - shortDesc: "Transform into Unown/mon. Type=user 1st type.", - name: "Alphabet Soup", - gen: 8, - pp: 20, - priority: 0, - flags: {protect: 1}, - onTryMove(source) { - this.attrLastMove('[still]'); - if (source.name !== 'Kris') { - this.add('-fail', source); - this.hint("Only Kris can use Alphabet Soup."); - return null; - } - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Dark Pulse', target); - this.add('-anim', source, 'Teleport', source); - }, - onModifyType(move, pokemon) { - let type = pokemon.types[0]; - if (type === "Bird") type = "???"; - move.type = type; - }, - onHit(target, source) { - if (!source) return; - if (source.species.id.includes('unown')) { - const monList = Object.keys(this.dex.data.Pokedex).filter(speciesid => { - const species = this.dex.species.get(speciesid); - if (species.id.startsWith('unown')) return false; - if (species.isNonstandard && ['Gigantamax', 'Unobtainable'].includes(species.isNonstandard)) return false; - if (['Arceus', 'Silvally'].includes(species.baseSpecies) && species.types[0] !== 'Normal') return false; - if (species.baseStats.spa < 80) return false; - if (species.baseStats.spe < 80) return false; - const unownLetter = source.species.id.charAt(5) || 'a'; - if (!species.id.startsWith(unownLetter.trim().toLowerCase())) return false; - return true; - }); - source.formeChange(this.sample(monList), this.effect); - source.setAbility('Protean'); - source.moveSlots = source.moveSlots.map(slot => { - const newMoves: {[k: string]: string} = { - lightofruin: 'strangesteam', - psystrike: 'psyshock', - secretsword: 'aurasphere', - mindblown: 'flamethrower', - seedflare: 'appleacid', - }; - if (slot.id in newMoves) { - const newMove = this.dex.moves.get(newMoves[slot.id]); - const newSlot = { - id: newMove.id, - move: newMove.name, - pp: newMove.pp * 8 / 5, - maxpp: newMove.pp * 8 / 5, - disabled: slot.disabled, - used: false, - }; - return newSlot; - } - return slot; - }); - } else { - let transformingLetter = source.species.id[0]; - if (transformingLetter === 'a') transformingLetter = ''; - source.formeChange(`unown${transformingLetter}`, this.effect, true); - source.moveSlots = source.moveSlots.map(slot => { - const newMoves: {[k: string]: string} = { - strangesteam: 'lightofruin', - psyshock: 'psystrike', - aurasphere: 'secretsword', - flamethrower: 'mindblown', - appleacid: 'seedflare', - }; - if (slot.id in newMoves) { - const newMove = this.dex.moves.get(newMoves[slot.id]); - const newSlot = { - id: newMove.id, - move: newMove.name, - pp: newMove.pp * 8 / 5, - maxpp: newMove.pp * 8 / 5, - disabled: slot.disabled, - used: false, - }; - return newSlot; - } - return slot; - }); - } - }, - secondary: null, - target: "normal", - type: "Dark", - }, - - // Lamp - soulswap: { - accuracy: 100, - basePower: 90, - category: "Special", - desc: "The user copies the target's positive stat stage changes and then inverts the target's stats.", - shortDesc: "Copies target's stat boosts then inverts.", - name: "Soul Swap", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Spectral Thief', target); - this.add('-anim', source, 'Teleport', source); - this.add('-anim', source, 'Topsy-Turvy', target); - }, - onHit(target, source) { - let i: BoostID; - const boosts: SparseBoostsTable = {}; - for (i in target.boosts) { - const stage = target.boosts[i]; - if (stage > 0) { - boosts[i] = stage; - } - if (target.boosts[i] !== 0) { - target.boosts[i] = -target.boosts[i]; - } - } - this.add('-message', `${source.name} stole ${target.name}'s boosts!`); - this.boost(boosts, source); - this.add('-invertboost', target, '[from] move: Soul Swap'); - }, - secondary: null, - target: "normal", - type: "Ghost", - }, - - // Lionyx - bigbang: { - accuracy: 100, - basePower: 120, - category: "Special", - desc: "The user loses HP equal to 33% of the damage dealt by this attack. Resets the field by clearing all hazards, terrains, screens, and weather.", - shortDesc: "33% recoil; removes field conditions.", - name: "Big Bang", - gen: 8, - pp: 5, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Extreme Evoboost', source); - this.add('-anim', source, 'Light of Ruin', target); - this.add('-anim', source, 'Dark Void', target); - }, - onHit(target, source, move) { - let success = false; - const removeAll = [ - 'reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', - 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', - ]; - const silentRemove = ['reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist']; - for (const sideCondition of removeAll) { - if (target.side.removeSideCondition(sideCondition)) { - if (!silentRemove.includes(sideCondition)) { - this.add('-sideend', target.side, this.dex.conditions.get(sideCondition).name, '[from] move: Big Bang', '[of] ' + source); - } - success = true; - } - if (source.side.removeSideCondition(sideCondition)) { - if (!silentRemove.includes(sideCondition)) { - this.add('-sideend', source.side, this.dex.conditions.get(sideCondition).name, '[from] move: Big Bang', '[of] ' + source); - } - success = true; - } - } - this.field.clearTerrain(); - this.field.clearWeather(); - return success; - }, - recoil: [33, 100], - secondary: null, - target: "normal", - type: "Fairy", - }, - - // LittEleven - nexthunt: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "If this Pokemon does not take damage this turn, it switches out to another Pokemon in the party and gives it a +2 boost corresponding to its highest stat. Fails otherwise.", - shortDesc: "Focus: switch out, next Pokemon +2 Beast Boost.", - name: "/nexthunt", - pp: 10, - priority: -6, - flags: {snatch: 1}, - beforeTurnCallback(pokemon) { - pokemon.addVolatile('nexthuntcheck'); - }, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Teleport', source); - }, - beforeMoveCallback(pokemon) { - if (pokemon.volatiles['nexthuntcheck'] && pokemon.volatiles['nexthuntcheck'].lostFocus) { - this.add('cant', pokemon, '/nexthunt', '/nexthunt'); - return true; - } - }, - onHit(target, source, move) { - this.add('-message', 'Time for the next hunt!'); - }, - sideCondition: 'nexthunt', - condition: { - duration: 1, - onSideStart(side, source) { - this.debug('/nexthunt started on ' + side.name); - this.effectState.positions = []; - for (const i of side.active.keys()) { - this.effectState.positions[i] = false; - } - this.effectState.positions[source.position] = true; - }, - onSideRestart(side, source) { - this.effectState.positions[source.position] = true; - }, - onSwitchInPriority: 1, - onSwitchIn(target) { - this.add('-activate', target, 'move: /nexthunt'); - let statName = 'atk'; - let bestStat = 0; - let s: StatIDExceptHP; - for (s in target.storedStats) { - if (target.storedStats[s] > bestStat) { - statName = s; - bestStat = target.storedStats[s]; - } - } - this.boost({[statName]: 2}, target, null, this.dex.getActiveMove('/nexthunt')); - }, - }, - selfSwitch: true, - secondary: null, - target: "self", - type: "Normal", - }, - - // Lunala - hatofwisdom: { - accuracy: 100, - basePower: 110, - category: "Special", - desc: "The user switches out, and this move deals damage one turn after it is used. At the end of that turn, the damage is calculated at that time and dealt to the Pokemon at the position the target had when the move was used. If the user is no longer active at the time, damage is calculated based on the user's natural Special Attack stat, types, and level, with no boosts from its held item or Ability. Fails if this move, Future Sight, or Doom Desire is already in effect for the target's position.", - shortDesc: "Hits 1 turn after being used. User switches.", - name: "Hat of Wisdom", - gen: 8, - pp: 15, - priority: 0, - flags: {futuremove: 1}, - ignoreImmunity: true, - onTry(source, target) { - this.attrLastMove('[still]'); - if (!target.side.addSlotCondition(target, 'futuremove')) return false; - this.add('-anim', source, 'Calm Mind', target); - this.add('-anim', source, 'Teleport', target); - Object.assign(target.side.slotConditions[target.position]['futuremove'], { - duration: 2, - move: 'hatofwisdom', - source: source, - moveData: { - id: 'hatofwisdom', - name: "Hat of Wisdom", - accuracy: 100, - basePower: 110, - category: "Special", - priority: 0, - flags: {futuremove: 1}, - ignoreImmunity: false, - effectType: 'Move', - type: 'Psychic', - }, - }); - this.add('-start', source, 'move: Hat of Wisdom'); - source.switchFlag = 'hatofwisdom' as ID; - return this.NOT_FAIL; - }, - secondary: null, - target: "normal", - type: "Psychic", - }, - - // Mad Monty ¾° - callamaty: { - accuracy: 100, - basePower: 75, - category: "Physical", - desc: "30% chance to paralyze. Starts Rain Dance if not currently active.", - shortDesc: "30% paralyze. Sets Rain Dance.", - name: "Ca-LLAMA-ty", - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Dark Void', target); - this.add('-anim', source, 'Plasma Fists', target); - }, - secondary: { - chance: 30, - status: 'par', - }, - self: { - onHit(source) { - this.field.setWeather('raindance'); - }, - }, - target: "normal", - type: "Electric", - }, - - // MajorBowman - corrosivecloud: { - accuracy: true, - basePower: 90, - category: "Special", - desc: "Has a 30% chance to burn the target. This move's type effectiveness against Steel is changed to be super effective no matter what this move's type is.", - shortDesc: "30% chance to burn. Super effective on Steel.", - name: "Corrosive Cloud", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Poison Gas', target); - this.add('-anim', source, 'Fire Spin', target); - }, - onEffectiveness(typeMod, target, type) { - if (type === 'Steel') return 1; - }, - ignoreImmunity: {'Poison': true}, - secondary: { - chance: 30, - status: 'brn', - }, - target: "normal", - type: "Poison", - }, - - // Marshmallon - rawwwr: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Heals the user by 33% of its max HP. Forces the target to switch to a random ally. User switches out after.", - shortDesc: "33% heal. Force out target, then switch.", - name: "RAWWWR", - gen: 8, - pp: 10, - priority: 0, - flags: {reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, heal: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Slack Off', source); - this.add('-anim', source, 'Roar of Time', target); - this.add('-anim', source, 'Roar', target); - }, - onAfterMoveSecondarySelf(pokemon, target, move) { - this.heal(pokemon.maxhp / 3, pokemon, pokemon, move); - }, - forceSwitch: true, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Dark", - }, - - // Meicoo - spamguess: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Calls the following moves in order, each with their normal respective accuracy: Haze -> Worry Seed -> Poison Powder -> Stun Spore -> Leech Seed -> Struggle (150 BP)", - shortDesc: "Does many things then struggles.", - name: "spamguess", - gen: 8, - pp: 10, - priority: 0, - flags: {}, - onTryMove() { - this.attrLastMove('[still]'); - }, - // fruit this move. - onHit(target, source) { - for (const move of ['Haze', 'Worry Seed', 'Poison Powder', 'Stun Spore', 'Leech Seed']) { - this.actions.useMove(move, source); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|That is not the answer - try again!`); - } - const strgl = this.dex.getActiveMove('Struggle'); - strgl.basePower = 150; - this.actions.useMove(strgl, source); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|That is not the answer - try again!`); - }, - secondary: null, - target: "self", - type: "Fighting", - }, - - - // Mitsuki - terraforming: { - accuracy: 100, - basePower: 70, - category: "Physical", - desc: "Upon use, this move sets up Stealth Rock on the target's side of the field.", - shortDesc: "Sets up Stealth Rock.", - name: "Terraforming", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Rock Slide', target); - this.add('-anim', source, 'Ingrain', target); - this.add('-anim', source, 'Stealth Rock', target); - }, - sideCondition: 'stealthrock', - secondary: null, - target: "normal", - type: "Rock", - }, - - // n10siT - "unbind": { - accuracy: 100, - basePower: 60, - category: "Special", - desc: "Has a 100% chance to raise the user's Speed by 1 stage. If the user is a Hoopa in its Confined forme, this move is Psychic type, and Hoopa will change into its Unbound forme. If the user is a Hoopa in its Unbound forme, this move is Dark type, and Hoopa will change into its Confined forme. This move cannot be used successfully unless the user's current form, while considering Transform, is Confined or Unbound Hoopa.", - shortDesc: "Hoopa: Psychic; Unbound: Dark; 100% +1 Spe. Changes form.", - name: "Unbind", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1}, - onTryMove(pokemon, target, move) { - this.attrLastMove('[still]'); - if (pokemon.species.baseSpecies === 'Hoopa') { - return; - } - this.add('-fail', pokemon, 'move: Unbind'); - this.hint("Only a Pokemon whose form is Hoopa or Hoopa-Unbound can use this move."); - return null; - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Hyperspace Hole', target); - this.add('-anim', source, 'Hyperspace Fury', target); - }, - onHit(target, pokemon, move) { - if (pokemon.baseSpecies.baseSpecies === 'Hoopa') { - const forme = pokemon.species.forme === 'Unbound' ? '' : '-Unbound'; - pokemon.formeChange(`Hoopa${forme}`, this.effect, false, '[msg]'); - this.boost({spe: 1}, pokemon, pokemon, move); - } - }, - onModifyType(move, pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Hoopa') return; - move.type = pokemon.species.name === 'Hoopa-Unbound' ? 'Dark' : 'Psychic'; - }, - secondary: null, - target: "normal", - type: "Psychic", - }, - - // naziel - notsoworthypirouette: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "50% chance to OHKO the target; otherwise, it OHKOes itself. On successive uses, this move has a 1/X chance of OHKOing the target, where X starts at 2 and doubles each time this move OHKOes the target. X resets to 2 if this move is not used in a turn.", - shortDesc: "50/50 to KO target/self. Worse used repeatedly.", - name: "Not-so-worthy Pirouette", - pp: 5, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, "High Jump Kick", target); - }, - onHit(target, source) { - source.addVolatile('notsoworthypirouette'); - const chance = source.volatiles['notsoworthypirouette']?.counter ? source.volatiles['notsoworthypirouette'].counter : 2; - if (this.randomChance(1, chance)) { - target.faint(); - } else { - source.faint(); - } - }, - condition: { - duration: 2, - onStart() { - this.effectState.counter = 2; - }, - onRestart() { - this.effectState.counter *= 2; - this.effectState.duration = 2; - }, - }, - secondary: null, - target: "normal", - type: "Fairy", - }, - - // Theia - madhacks: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Raises the user's Defense, Special Attack, and Special Defense by 1 stage. Sets Trick Room.", - shortDesc: "+1 Def/Spa/Spd. Sets Trick Room.", - name: "Mad Hacks", - gen: 8, - pp: 5, - priority: -7, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Acupressure', source); - }, - onHit(target, source) { - this.field.addPseudoWeather('trickroom'); - }, - boosts: { - def: 1, - spa: 1, - spd: 1, - }, - secondary: null, - target: "self", - type: "Ghost", - }, - - // Notater517 - technotubertransmission: { - accuracy: 90, - basePower: 145, - category: "Special", - desc: "If this move is successful, the user must recharge on the following turn and cannot select a move.", - shortDesc: "User cannot move next turn.", - name: "Techno Tuber Transmission", - pp: 5, - priority: 0, - flags: {recharge: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Techno Blast', target); - this.add('-anim', source, 'Never-Ending Nightmare', target); - }, - onHit() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Notater517')}|/html For more phantasmic music, check out this link.`); - }, - self: { - volatileStatus: 'mustrecharge', - }, - secondary: null, - target: "normal", - type: "Ghost", - }, - - // nui - wincondition: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "Inflicts the opponent with random status of sleep, paralysis, burn, or toxic. Then uses Dream Eater, Iron Head, Fire Blast, or Venoshock, respectively.", - shortDesc: "Chooses one of four move combos at random.", - name: "Win Condition", - pp: 10, - priority: 0, - flags: {protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, "Celebrate", target); - }, - onHit(target, source) { - const hax = this.sample(['slp', 'brn', 'par', 'tox']); - target.trySetStatus(hax, source); - if (hax === 'slp') { - this.actions.useMove('Dream Eater', source); - } else if (hax === 'par') { - this.actions.useMove('Iron Head', source); - } else if (hax === 'brn') { - this.actions.useMove('Fire Blast', source); - } else if (hax === 'tox') { - this.actions.useMove('Venoshock', source); - } - }, - secondary: null, - target: "normal", - type: "Fairy", - }, - - // OM~! - omzoom: { - accuracy: 100, - basePower: 70, - category: "Physical", - desc: "If this move is successful and the user has not fainted, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if there are no unfainted party members, or if the target switched out using an Eject Button or through the effect of the Emergency Exit or Wimp Out Abilities.", - shortDesc: "User switches out after damaging the target.", - name: "OM Zoom", - gen: 8, - pp: 10, - priority: 0, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Icicle Spear', target); - this.add('-anim', source, 'U-turn', target); - }, - onHit() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('OM~!')}|Bang Bang`); - }, - flags: {protect: 1, mirror: 1}, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Ice", - }, - - // Overneat - healingyou: { - accuracy: 100, - basePower: 115, - category: "Physical", - desc: "Heals the target by 50% of their maximum HP and eliminates any status problem before dealing damage, and lowers the target's Defense and Special Defense stat by 1 stage after dealing damage.", - shortDesc: "Foe: heal 50%HP & status, dmg, then -1 Def/SpD.", - name: "Healing you?", - gen: 8, - pp: 5, - priority: 0, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Heal Pulse', target); - this.heal(Math.ceil(target.baseMaxhp * 0.5)); - target.cureStatus(); - this.add('-anim', source, 'Close Combat', target); - }, - flags: {contact: 1, mirror: 1, protect: 1}, - secondary: { - chance: 100, - boosts: { - def: -1, - spd: -1, - }, - }, - target: "normal", - type: "Dark", - }, - - // Pants - wistfulthinking: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "Burns the target and switches out. The next Pokemon on the user's side heals 1/16 of their maximum HP per turn until they switch out.", - shortDesc: "Burn foe; switch out. Heals replacement.", - name: "Wistful Thinking", - pp: 10, - priority: 0, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Will-O-Wisp', target); - this.add('-anim', source, 'Parting Shot', target); - }, - onHit(target, source) { - target.trySetStatus('brn', source); - }, - self: { - sideCondition: 'givewistfulthinking', - }, - condition: { - onStart(pokemon) { - this.add('-start', pokemon, 'move: Wistful Thinking'); - }, - onResidualOrder: 5, - onResidualSubOrder: 5, - onResidual(pokemon) { - this.heal(pokemon.baseMaxhp / 16); - }, - }, - flags: {protect: 1, reflectable: 1}, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Ghost", - }, - - // Paradise - rapidturn: { - accuracy: 100, - basePower: 50, - category: "Physical", - desc: "Removes entry hazards, then user switches out after dealing damage", - shortDesc: "Removes hazards then switches out", - name: "Rapid Turn", - gen: 8, - pp: 20, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Rapid Spin', target); - this.add('-anim', source, 'U-turn', target); - }, - onAfterHit(target, pokemon) { - const sideConditions = [ - 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', - ]; - for (const condition of sideConditions) { - if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { - this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Rapid Turn', '[of] ' + pokemon); - } - } - if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { - pokemon.removeVolatile('partiallytrapped'); - } - }, - onAfterSubDamage(damage, target, pokemon) { - const sideConditions = [ - 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb', 'gmaxsteelsurge', - ]; - for (const condition of sideConditions) { - if (pokemon.hp && pokemon.side.removeSideCondition(condition)) { - this.add('-sideend', pokemon.side, this.dex.conditions.get(condition).name, '[from] move: Rapid Turn', '[of] ' + pokemon); - } - } - if (pokemon.hp && pokemon.volatiles['partiallytrapped']) { - pokemon.removeVolatile('partiallytrapped'); - } - }, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Normal", - }, - - // PartMan - balefulblaze: { - accuracy: 100, - basePower: 75, - basePowerCallback(pokemon) { - if (pokemon.set.shiny) { - return 95; - } - return 75; - }, - category: "Special", - desc: "This move combines Ghost in its type effectiveness against the target. Raises the user's Special Attack by 1 stage if this move knocks out the target. If the user is shiny, the move's Base Power becomes 95.", - shortDesc: "+Ghost. +1 SpA if KOes target. Shiny: BP=95.", - name: "Baleful Blaze", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Inferno', target); - this.add('-anim', source, 'Hex', target); - }, - onEffectiveness(typeMod, target, type, move) { - return typeMod + this.dex.getEffectiveness('Ghost', type); - }, - onAfterMoveSecondarySelf(pokemon, target, move) { - if (!target || target.fainted || target.hp <= 0) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|FOR SNOM!`); - this.boost({spa: 1}, pokemon, pokemon, move); - } - }, - secondary: null, - target: "normal", - type: "Fire", - }, - - // peapod c - submartingale: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "Inflicts the target with burn, toxic, or paralysis, then sets up a Substitute.", - shortDesc: "Inflicts burn/toxic/paralysis. Makes Substitute.", - name: "Submartingale", - pp: 10, - priority: 0, - flags: {protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, "Dark Void", target); - this.add('-anim', source, "Celebrate", target); - }, - onTryHit(target, source) { - this.actions.useMove('Substitute', source); - }, - onHit(target, source) { - target.trySetStatus('brn', source); - target.trySetStatus('tox', source); - target.trySetStatus('par', source); - }, - secondary: null, - target: "normal", - type: "Dark", - }, - - // Perish Song - trickery: { - accuracy: 95, - basePower: 100, - category: "Physical", - desc: "Changes the target's item to something random.", - shortDesc: "Changes the target's item to something random.", - name: "Trickery", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, "Amnesia", source); - this.add('-anim', source, "Trick", target); - }, - onHit(target, source, effect) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Perish Song')}|/html `); - const item = target.takeItem(source); - if (!target.item) { - if (item) this.add('-enditem', target, item.name, '[from] move: Trickery', '[of] ' + source); - const items = this.dex.items.all().map(i => i.name); - let randomItem = ''; - if (items.length) randomItem = this.sample(items); - if (!randomItem) { - return; - } - if (target.setItem(randomItem)) { - this.add('-item', target, randomItem, '[from] move: Trickery', '[of] ' + source); - } - } - }, - secondary: null, - target: "normal", - type: "Ground", - }, - - // phiwings99 - ghostof1v1past: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Imprisons and traps the target, and then transforms into them. The user will be trapped after the use of this move. The user faints if the target faints.", - shortDesc: "Trap + ImprisonForm. Faints if the target faints.", - name: "Ghost of 1v1 Past", - gen: 8, - pp: 1, - noPPBoosts: true, - priority: 0, - flags: {protect: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Imprison', source); - this.add('-anim', source, 'Mean Look', target); - this.add('-anim', source, 'Transform', target); - }, - onHit(target, pokemon, move) { - target.addVolatile('trapped', pokemon, move, 'trapper'); - pokemon.addVolatile('imprison', pokemon, move); - if (!pokemon.transformInto(target)) { - return false; - } - pokemon.addVolatile('trapped', target, move, 'trapper'); - pokemon.addVolatile('ghostof1v1past', pokemon); - pokemon.volatiles['ghostof1v1past'].targetPokemon = target; - }, - condition: { - onAnyFaint(target) { - if (target === this.effectState.targetPokemon) this.effectState.source.faint(); - }, - }, - secondary: null, - target: "normal", - type: "Ghost", - }, - - // piloswine gripado - iciclespirits: { - accuracy: 100, - basePower: 90, - category: "Physical", - desc: "The user recovers 1/2 the HP lost by the target, rounded half up. If Big Root is held by the user, the HP recovered is 1.3x normal, rounded half down.", - shortDesc: "User recovers 50% of the damage dealt.", - name: "Icicle Spirits", - gen: 8, - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, heal: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Horn Leech', target); - }, - drain: [1, 2], - secondary: null, - target: "normal", - type: "Ice", - }, - - // PiraTe Princess - dungeonsdragons: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Prevents the target from switching out and adds Dragon to the target's type. Has a 5% chance to either confuse the user or guarantee that the next attack is a critical hit, 15% chance to raise the user's Attack, Defense, Special Attack, Special Defense, or Speed by 1 stage, and a 15% chance to raise user's Special Attack and Speed by 1 stage.", - shortDesc: "Target: can't switch,+Dragon. Does other things.", - name: "Dungeons & Dragons", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Imprison', target); - this.add('-anim', source, 'Trick-or-Treat', target); - this.add('-anim', source, 'Shell Smash', source); - }, - onHit(target, source, move) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|did someone say d&d?`); - target.addVolatile('trapped', source, move, 'trapper'); - if (!target.hasType('Dragon') && target.addType('Dragon')) { - this.add('-start', target, 'typeadd', 'Dragon', '[from] move: Dungeons & Dragons'); - } - const result = this.random(21); - if (result === 20) { - source.addVolatile('laserfocus'); - } else if (result >= 2 && result <= 16) { - const boost: SparseBoostsTable = {}; - const stats: BoostID[] = ['atk', 'def', 'spa', 'spd', 'spe']; - boost[stats[this.random(5)]] = 1; - this.boost(boost, source); - } else if (result >= 17 && result <= 19) { - this.boost({spa: 1, spe: 1}, source); - } else { - source.addVolatile('confusion'); - } - }, - target: "normal", - type: "Dragon", - }, - - // Psynergy - clearbreath: { - accuracy: 100, - basePower: 0, - basePowerCallback(pokemon, target) { - let power = 60 + 20 * target.positiveBoosts(); - if (power > 200) power = 200; - return power; - }, - category: "Special", - desc: "Power is equal to 60+(X*20), where X is the target's total stat stage changes that are greater than 0, but not more than 200 power.", - shortDesc: "60 power +20 for each of the target's stat boosts.", - gen: 8, - name: "Clear Breath", - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Dragon Breath', target); - this.add('-anim', source, 'Haze', target); - }, - secondary: null, - target: "normal", - type: "Flying", - }, - - // ptoad - croak: { - accuracy: 100, - basePower: 20, - basePowerCallback(pokemon, target, move) { - const bp = move.basePower + 20 * pokemon.positiveBoosts(); - return bp; - }, - category: "Special", - desc: "Power is equal to 20+(X*20), where X is the user's total stat stage changes that are greater than 0. User raises 2 random stats by 1 if it has less than 8 positive stat changes.", - shortDesc: "+20 power/boost. +1 2 random stats < 8 boosts.", - name: "Croak", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source, move) { - this.add('-anim', source, 'Splash', source); - if (source.positiveBoosts() < 8) { - const stats: BoostID[] = []; - let stat: BoostID; - const exclude: string[] = ['accuracy', 'evasion']; - for (stat in source.boosts) { - if (source.boosts[stat] < 6 && !exclude.includes(stat)) { - stats.push(stat); - } - } - if (stats.length) { - let randomStat = this.sample(stats); - const boost: SparseBoostsTable = {}; - boost[randomStat] = 1; - if (stats.length > 1) { - stats.splice(stats.indexOf(randomStat), 1); - randomStat = this.sample(stats); - boost[randomStat] = 1; - } - this.boost(boost, source, source, move); - } - } - this.add('-anim', source, 'Hyper Voice', source); - }, - secondary: null, - target: "normal", - type: "Water", - }, - - // used for ptoad's ability - swampyterrain: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "For 5 turns, the terrain becomes Swampy Terrain. During the effect, the power of Electric-type, Grass-type, and Ice-type attacks made by grounded Pokemon are halved and Water and Ground types heal 1/16 at the end of each turn if grounded. Fails if the current terrain is Swampy Terrain.", - shortDesc: "5trn. Grounded:-Elec/Grs/Ice pow, Wtr/Grd:Lefts.", - name: "Swampy Terrain", - pp: 10, - priority: 0, - flags: {nonsky: 1}, - terrain: 'swampyterrain', - condition: { - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('terrainextender')) { - return 8; - } - return 5; - }, - onBasePowerPriority: 6, - onBasePower(basePower, attacker, defender, move) { - if (['Electric', 'Grass', 'Ice'].includes(move.type) && attacker.isGrounded() && !attacker.isSemiInvulnerable()) { - this.debug('swampy terrain weaken'); - return this.chainModify(0.5); - } - }, - onFieldStart(field, source, effect) { - if (effect?.effectType === 'Ability') { - this.add('-fieldstart', 'move: Swampy Terrain', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-fieldstart', 'move: Swampy Terrain'); - } - this.add('-message', 'The battlefield became swamped!'); - }, - onResidualOrder: 5, - onResidual(pokemon) { - if ((pokemon.hasType('Water') || pokemon.hasType('Ground')) && pokemon.isGrounded() && !pokemon.isSemiInvulnerable()) { - this.debug('Pokemon is grounded and a Water or Ground type, healing through Swampy Terrain.'); - if (this.heal(pokemon.baseMaxhp / 16, pokemon, pokemon)) { - this.add('-message', `${pokemon.name} was healed by the terrain!`); - } - } - }, - onFieldResidualOrder: 21, - onFieldResidualSubOrder: 3, - onFieldEnd() { - this.add('-fieldend', 'move: Swampy Terrain'); - }, - }, - secondary: null, - target: "all", - type: "Ground", - }, - - // Rabia - psychodrive: { - accuracy: 100, - basePower: 80, - category: "Special", - desc: "Has a 30% chance to boost the user's Speed by 1 stage.", - shortDesc: "30% chance to boost the user's Spe by 1.", - name: "Psycho Drive", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Genesis Supernova', target); - }, - secondary: { - chance: 30, - self: { - boosts: {spe: 1}, - }, - }, - target: "normal", - type: "Psychic", - }, - - // Rach - spindawheel: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user uses a random hazard-setting move; burns, badly poisons, or paralyzes the target; and then switches out.", - shortDesc: "Sets random hazard; brn/tox/par; switches.", - name: "Spinda Wheel", - gen: 8, - pp: 20, - priority: 0, - flags: {reflectable: 1, protect: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - target.m.spindaHazard = this.sample(['Sticky Web', 'Stealth Rock', 'Spikes', 'Toxic Spikes', 'G-Max Steelsurge']); - target.m.spindaStatus = this.sample(['Thunder Wave', 'Toxic', 'Will-O-Wisp']); - if (target.m.spindaHazard) { - this.add('-anim', source, target.m.spindaHazard, target); - } - if (target.m.spindaStatus) { - this.add('-anim', source, target.m.spindaStatus, target); - } - }, - onHit(target, source, move) { - if (target) { - if (target.m.spindaHazard) { - target.side.addSideCondition(target.m.spindaHazard); - } - if (target.m.spindaStatus) { - const s = target.m.spindaStatus; - target.trySetStatus(s === 'Toxic' ? 'tox' : s === 'Thunder Wave' ? 'par' : 'brn'); - } - } - }, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Normal", - }, - - // Rage - shockedlapras: { - accuracy: 100, - basePower: 75, - category: "Special", - desc: "Has a 100% chance to paralyze the user.", - shortDesc: "100% chance to paralyze the user.", - name: ":shockedlapras:", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Thunder', target); - if (!source.status) this.add('-anim', source, 'Thunder Wave', source); - }, - onHit() { - this.add(`raw|`); - }, - secondary: { - chance: 100, - self: { - status: 'par', - }, - }, - target: "normal", - type: "Electric", - }, - - // used for Rage's ability - inversionterrain: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "For 5 turns, the terrain becomes Inversion Terrain. During the effect, the the type chart is inverted, and grounded, paralyzed Pokemon have their Speed doubled. Fails if the current terrain is Inversion Terrain.", - shortDesc: "5 turns. Type chart inverted. Par: 2x Spe.", - name: "Inversion Terrain", - gen: 8, - pp: 10, - priority: 0, - flags: {}, - terrain: 'inversionterrain', - condition: { - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('terrainextender')) { - return 8; - } - return 5; - }, - onNegateImmunity: false, - onEffectivenessPriority: 1, - onEffectiveness(typeMod, target, type, move) { - // The effectiveness of Freeze Dry on Water isn't reverted - if (move && move.id === 'freezedry' && type === 'Water') return; - if (move && !this.dex.getImmunity(move, type)) return 1; - return -typeMod; - }, - onFieldStart(field, source, effect) { - if (effect?.effectType === 'Ability') { - this.add('-fieldstart', 'move: Inversion Terrain', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-fieldstart', 'move: Inversion Terrain'); - } - this.add('-message', 'The battlefield became upside down!'); - }, - onFieldResidualOrder: 21, - onFieldResidualSubOrder: 3, - onFieldEnd() { - this.add('-fieldend', 'move: Inversion Terrain'); - }, - }, - secondary: null, - target: "all", - type: "Psychic", - }, - - // Raihan Kibana - stonykibbles: { - accuracy: 100, - basePower: 90, - category: "Physical", - desc: "For 5 turns, the weather becomes Sandstorm. At the end of each turn except the last, all active Pokemon lose 1/16 of their maximum HP, rounded down, unless they are a Ground, Rock, or Steel type, or have the Magic Guard, Overcoat, Sand Force, Sand Rush, or Sand Veil Abilities. During the effect, the Special Defense of Rock-type Pokemon is multiplied by 1.5 when taking damage from a special attack. Lasts for 8 turns if the user is holding Smooth Rock. Fails if the current weather is Sandstorm.", - shortDesc: "Sets Sandstorm.", - name: "Stony Kibbles", - gen: 8, - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onHit() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raihan Kibana')}|Let the winds blow! Stream forward, Sandstorm!`); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Rock Slide', target); - this.add('-anim', source, 'Crunch', target); - this.add('-anim', source, 'Sandstorm', target); - }, - weather: 'Sandstorm', - target: "normal", - type: "Normal", - }, - - // Raj.Shoot - fanservice: { - accuracy: 100, - basePower: 90, - category: "Physical", - desc: "The user has its Attack and Speed raised by 1 stage after KOing a target. If the user is a Charizard in its base form, it will Mega Evolve into Mega Charizard X.", - shortDesc: "+1 Atk/Spe after KO. Mega evolves user.", - name: "Fan Service", - gen: 8, - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source, move) { - this.add('-anim', source, 'Sacred Fire', target); - }, - onAfterMoveSecondarySelf(pokemon, target, move) { - if (!target || target.fainted || target.hp <= 0) { - this.boost({atk: 1, spe: 1}, pokemon, pokemon, move); - } - }, - onHit(target, source) { - if (source.species.id === 'charizard') { - this.actions.runMegaEvo(source); - } - }, - secondary: null, - target: "normal", - type: "Grass", - }, - - // Ransei - ripsei: { - accuracy: 100, - basePower: 0, - damageCallback(pokemon) { - const damage = pokemon.hp; - return damage; - }, - category: "Special", - desc: "Deals damage to the target equal to the user's current HP. If this move is successful, the user faints.", - shortDesc: "Does damage equal to the user's HP. User faints.", - name: "ripsei", - gen: 8, - pp: 5, - priority: 1, - flags: {contact: 1, protect: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Final Gambit', target); - }, - onAfterMove(pokemon, target, move) { - if (pokemon.moveThisTurnResult === true) { - pokemon.faint(); - } - }, - secondary: null, - target: "normal", - type: "Fighting", - }, - - // RavioliQueen - witchinghour: { - accuracy: 90, - basePower: 60, - category: "Special", - desc: "50% chance to trap the target, dealing 1/8th of their HP, rounded down, in damage each turn it is trapped.", - shortDesc: "50% to trap, dealing 1/8 each turn.", - name: "Witching Hour", - pp: 5, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Spirit Shackle', target); - this.add('-anim', source, 'Curse', target); - }, - secondary: { - chance: 50, - volatileStatus: 'haunting', - }, - target: "normal", - type: "Ghost", - }, - - // for RavioliQueen's ability - pitchblackterrain: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "For 5 turns, Non Ghost types take 1/16th damage; Has boosting effects on Mismagius.", - shortDesc: "5 turns. Non Ghost types take 1/16th damage; Has boosting effects on Mismagius.", - name: "Pitch Black Terrain", - gen: 8, - pp: 10, - priority: 0, - flags: {}, - terrain: 'pitchblackterrain', - condition: { - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('terrainextender')) { - return 8; - } - return 5; - }, - onHit(target, source, move) { - if (!target.hp || target.species.name !== 'Mismagius') return; - if (move?.effectType === 'Move' && move.category !== 'Status') { - if (this.boost({spe: 1}, target)) { - this.add('-message', `${target.name} got a boost by the terrain!`); - } - } - }, - onSwitchInPriority: -1, - onSwitchIn(target) { - if (target?.species.name !== 'Mismagius') return; - if (this.boost({spa: 1, spd: 1}, target)) { - this.add('-message', `${target.name} got a boost by the terrain!`); - } - }, - onFieldStart(field, source, effect) { - if (effect?.effectType === 'Ability') { - this.add('-fieldstart', 'move: Pitch Black Terrain', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-fieldstart', 'move: Pitch Black Terrain'); - } - this.add('-message', 'The battlefield became dark!'); - if (source?.species.name !== 'Mismagius') return; - if (this.boost({spa: 1, spd: 1}, source)) { - this.add('-message', `${source.name} got a boost by the terrain!`); - } - }, - onResidualOrder: 5, - onResidual(pokemon) { - if (pokemon.isSemiInvulnerable()) return; - if (!pokemon || pokemon.hasType('Ghost')) return; - if (this.damage(pokemon.baseMaxhp / 16, pokemon)) { - this.add('-message', `${pokemon.name} was hurt by the terrain!`); - } - }, - onFieldResidualOrder: 21, - onFieldResidualSubOrder: 3, - onFieldEnd() { - this.add('-fieldend', 'move: Pitch Black Terrain'); - }, - }, - secondary: null, - target: "all", - type: "Ghost", - }, - - // Robb576 - integeroverflow: { - accuracy: true, - basePower: 200, - category: "Special", - desc: "This move becomes a physical attack if the user's Attack is greater than its Special Attack, including stat stage changes. This move and its effects ignore the Abilities of other Pokemon.", - shortDesc: "Physical if user's Atk > Sp. Atk. Ignores Abilities.", - name: "Integer Overflow", - gen: 8, - pp: 1, - noPPBoosts: true, - priority: 0, - flags: {}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Light That Burns The Sky', target); - }, - onModifyMove(move, pokemon) { - if (pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) move.category = 'Physical'; - }, - ignoreAbility: true, - isZ: "modium6z", - secondary: null, - target: "normal", - type: "Psychic", - }, - - mode5offensive: { - accuracy: true, - basePower: 30, - category: "Special", - desc: "This move hits three times. Every hit has a 20% chance to drop the target's SpD by 1 stage.", - shortDesc: "3 hits. Each hit: 20% -1 SpD.", - name: "Mode [5: Offensive]", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Focus Blast', target); - this.add('-anim', source, 'Zap Cannon', target); - }, - secondary: { - chance: 20, - boosts: { - spd: -1, - }, - }, - multihit: 3, - target: "normal", - type: "Fighting", - }, - - mode7defensive: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "This move cures the user's party of all status conditions, and then forces the target to switch to a random ally.", - shortDesc: "Heal Bell + Whirlwind.", - name: "Mode [7: Defensive]", - gen: 8, - pp: 15, - priority: -6, - flags: {reflectable: 1, protect: 1, sound: 1, bypasssub: 1}, - forceSwitch: true, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Heal Bell', source); - this.add('-anim', source, 'Roar', source); - }, - onHit(pokemon, source) { - this.add('-activate', source, 'move: Mode [7: Defensive]'); - const side = source.side; - let success = false; - for (const ally of side.pokemon) { - if (ally.hasAbility('soundproof')) continue; - if (ally.cureStatus()) success = true; - } - return success; - }, - target: "normal", - type: "Normal", - }, - - // Sectonia - homunculussvanity: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Raises the Defense and Special Defense by 1 stage. Lowers the foe's higher offensive stat by 1 stage.", - shortDesc: "+1 Def & SpD. -1 to foe's highest offensive stat.", - name: "Homunculus's Vanity", - gen: 8, - pp: 10, - priority: 0, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Cosmic Power', source); - this.add('-anim', source, 'Psychic', target); - }, - self: { - onHit(source) { - let totalatk = 0; - let totalspa = 0; - for (const target of source.foes()) { - totalatk += target.getStat('atk', false, true); - totalspa += target.getStat('spa', false, true); - if (totalatk && totalatk >= totalspa) { - this.boost({atk: -1}, target); - } else if (totalspa) { - this.boost({spa: -1}, target); - } - } - this.boost({def: 1, spd: 1}, source); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Sectonia')}|Jelly baby ;w;`); - }, - }, - secondary: null, - target: "self", - type: "Psychic", - zMove: {boost: {atk: 1}}, - }, - - // Segmr - tsukuyomi: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "The user loses 1/4 of its maximum HP, rounded down and even if it would cause fainting, in exchange for the target losing 1/4 of its maximum HP, rounded down, at the end of each turn while it is active. If the target uses Baton Pass, the replacement will continue to be affected. Fails if there is no target or if the target is already affected. Prevents the target from switching out. The target can still switch out if it is holding Shed Shell or uses Baton Pass, Parting Shot, Teleport, U-turn, or Volt Switch. If the target leaves the field using Baton Pass, the replacement will remain trapped. The effect ends if the user leaves the field.", - shortDesc: "Curses the target for 1/4 HP and traps it.", - name: "Tsukuyomi", - gen: 8, - pp: 5, - priority: 0, - flags: {bypasssub: 1, protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Dark Void', target); - this.add('-anim', source, 'Curse', target); - }, - onHit(pokemon, source, move) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Segmr')}|I don't like naruto actually let someone else write this message plz.`); - this.directDamage(source.maxhp / 4, source, source); - pokemon.addVolatile('curse'); - pokemon.addVolatile('trapped', source, move, 'trapper'); - }, - secondary: null, - target: "normal", - type: "Dark", - }, - - // sejesensei - badopinion: { - accuracy: 90, - basePower: 120, - category: "Physical", - desc: "Forces the opponent out. The user's Defense is raised by 1 stage upon hitting.", - shortDesc: "Forces the opponent out. +1 Def.", - name: "Bad Opinion", - gen: 8, - pp: 10, - priority: -6, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Hyper Voice', target); - this.add('-anim', source, 'Sludge Bomb', target); - }, - onHit() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('sejesensei')}|Please go read To Love-Ru I swear its really good, wait... don’t leave…`); - }, - self: { - boosts: { - def: 1, - }, - }, - forceSwitch: true, - secondary: null, - target: "normal", - type: "Poison", - }, - - // Seso - legendaryswordsman: { - accuracy: 85, - basePower: 95, - onTry(source, target) { - this.attrLastMove('[still]'); - const action = this.queue.willMove(target); - const move = action?.choice === 'move' ? action.move : null; - if (!move || (move.category === 'Status' && move.id !== 'mefirst') || target.volatiles['mustrecharge']) { - if (move?.category === 'Status') { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|Irritating a better swordsman than yourself is always a good way to end up dead.`); - } else { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|Scars on the back are a swordsman's shame.`); - } - return false; - } - }, - category: "Physical", - desc: "If the move hits, the user gains +1 Speed. This move deals not very effective damage to Flying-type Pokemon. This move fails if the target does not intend to attack.", - shortDesc: "+1 Spe on hit. Fails if target doesn't attack.", - name: "Legendary Swordsman", - gen: 8, - pp: 10, - priority: 1, - flags: {contact: 1, protect: 1}, - ignoreImmunity: {'Ground': true}, - onEffectiveness(typeMod, target, type) { - if (type === 'Flying') return -1; - }, - onTryMove(source, target, move) { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|FORWARD!`); - this.add('-anim', source, 'Gear Grind', target); - this.add('-anim', source, 'Thief', target); - }, - secondary: { - chance: 100, - self: { - boosts: { - spe: 1, - }, - }, - }, - target: "normal", - type: "Ground", - }, - - // Shadecession - shadeuppercut: { - accuracy: 100, - basePower: 90, - category: "Physical", - desc: "This move ignores type effectiveness, substitutes, and the opposing side's Reflect, Light Screen, Safeguard, Mist and Aurora Veil.", - shortDesc: "Ignores typing, sub, & screens.", - name: "Shade Uppercut", - gen: 8, - pp: 10, - priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Sky Uppercut', target); - this.add('-anim', source, 'Shadow Sneak', target); - }, - onEffectiveness(typeMod, target, type) { - return 0; - }, - infiltrates: true, - secondary: null, - target: "normal", - type: "Dark", - }, - - // Soft Flex - updraft: { - accuracy: 75, - basePower: 75, - category: "Special", - desc: "Changes target's secondary typing to Flying for 2-5 turns unless the target is Ground-type or affected by Ingrain. This move cannot miss in rain.", - shortDesc: "Target: +Flying type. Rain: never misses.", - name: "Updraft", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Twister', target); - }, - onModifyMove(move, pokemon, target) { - if (target && ['raindance', 'primordialsea'].includes(target.effectiveWeather())) { - move.accuracy = true; - } - }, - condition: { - noCopy: true, - duration: 5, - durationCallback(target, source) { - return this.random(5, 7); - }, - onStart(target) { - this.effectState.origTypes = target.getTypes(); // store original types - if (target.getTypes().length === 1) { // single type mons - if (!target.addType('Flying')) return false; - this.add('-start', target, 'typeadd', 'Flying', '[from] move: Updraft'); - } else { // dual typed mons - const primary = target.getTypes()[0]; // take the first type - if (!target.setType([primary, 'Flying'])) return false; - this.add('-start', target, 'typechange', primary + '/Flying', '[from] move: Updraft'); - } - }, - onEnd(target) { - if (!target.setType(this.effectState.origTypes)) return false; // reset the types - this.add('-start', target, 'typechange', this.effectState.origTypes.join('/'), '[silent]'); - }, - }, - secondary: { - chance: 100, - onHit(target) { - if (target.hasType(['Flying', 'Ground']) || target.volatiles['ingrain'] || target.volatiles['brilliant']) return false; - target.addVolatile('updraft'); - }, - }, - target: "normal", - type: "Flying", - }, - - // used for Soft Flex's ability - tempestterrain: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Heals Electric types for 1/16 of their maximum HP, rounded down, at the end of each turn. Causes Flying- and Steel-types and Levitate users to lose 1/16 of their maximum HP, rounded down, at the end of each turn; if the Pokemon is also Electric-type, they only get the healing effect.", - shortDesc: "Heals Electrics. Hurts Flyings and Steels.", - name: "Tempest Terrain", - pp: 10, - priority: 0, - flags: {nonsky: 1}, - terrain: 'tempestterrain', - condition: { - duration: 5, - durationCallback(source, effect) { - if (source?.hasItem('terrainextender')) { - return 8; - } - return 5; - }, - onResidualOrder: 5, - onResidual(pokemon) { - if (pokemon.hasType('Electric')) { - if (this.heal(pokemon.baseMaxhp / 8, pokemon)) { - this.add('-message', `${pokemon.name} was healed by the terrain!`); - } - } else if (!pokemon.hasType('Electric') && (pokemon.hasType(['Flying', 'Steel']) || pokemon.hasAbility('levitate'))) { - if (this.damage(pokemon.baseMaxhp / 8, pokemon)) { - this.add('-message', `${pokemon.name} was hurt by the terrain!`); - } - } - }, - onFieldStart(field, source, effect) { - if (effect?.effectType === 'Ability') { - this.add('-fieldstart', 'move: Tempest Terrain', '[from] ability: ' + effect, '[of] ' + source); - } else { - this.add('-fieldstart', 'move: Tempest Terrain'); - } - this.add('-message', 'The battlefield became stormy!'); - }, - onFieldResidualOrder: 21, - onFieldResidualSubOrder: 3, - onFieldEnd() { - this.add('-fieldend', 'move: Tempest Terrain'); - }, - }, - secondary: null, - target: "all", - type: "Electric", - zMove: {boost: {spe: 1}}, - contestType: "Clever", - }, - - // Spandan - imtoxicyoureslippinunder: { - accuracy: true, - basePower: 110, - category: "Physical", - overrideOffensivePokemon: 'target', - overrideOffensiveStat: 'spd', - desc: "This move uses the target's Special Defense to calculate damage (like Foul Play). This move is neutrally effective against Steel-types.", - shortDesc: "Uses foe's SpD as user's Atk. Hits Steel.", - name: "I'm Toxic You're Slippin' Under", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Sludge Bomb', target); - this.add('-anim', source, 'Sludge Wave', target); - }, - ignoreImmunity: {'Poison': true}, - secondary: null, - target: "normal", - type: "Poison", - }, - - // Struchni - veto: { - accuracy: 100, - basePower: 80, - category: "Physical", - desc: "If the user's stats was raised on the previous turn, double power and gain +1 priority.", - shortDesc: "If stat raised last turn: x2 power, +1 prio.", - name: "Veto", - gen: 8, - pp: 5, - priority: 0, - flags: {contact: 1, protect: 1}, - onTryMove(source) { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Head Smash', target); - }, - // Veto interactions located in formats.ts - onModifyPriority(priority, source, target, move) { - if (source.m.statsRaisedLastTurn) { - return priority + 1; - } - }, - basePowerCallback(pokemon, target, move) { - if (pokemon.m.statsRaisedLastTurn) { - return move.basePower * 2; - } - return move.basePower; - }, - onHit(target, source) { - if (source.m.statsRaisedLastTurn) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Struchni')}|**veto**`); - } - }, - target: "normal", - type: "Steel", - }, - - // Teclis - kaboom: { - accuracy: 100, - basePower: 150, - category: "Special", - desc: "This move's Base Power is equal to 70+(80*user's current HP/user's max HP). Sets Sunny Day.", - shortDesc: "Better Eruption. Sets Sun.", - name: "Kaboom", - pp: 5, - priority: 0, - flags: {protect: 1, mirror: 1}, - weather: 'sunnyday', - basePowerCallback(pokemon, target, move) { - return 70 + 80 * Math.floor(pokemon.hp / pokemon.maxhp); - }, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Eruption', target); - this.add('-anim', source, 'Earthquake', target); - }, - secondary: null, - target: "normal", - type: "Fire", - }, - - // temp - dropadraco: { - accuracy: 90, - basePower: 130, - category: "Special", - desc: "Lowers the user's Special Attack by 2 stages, then raises it by 1 stage.", - shortDesc: "Lowers user's Sp. Atk by 2, then raises by 1.", - name: "DROP A DRACO", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Draco Meteor', target); - }, - self: { - boosts: { - spa: -2, - }, - }, - onAfterMoveSecondarySelf(source, target) { - this.boost({spa: 1}, source, source, this.dex.getActiveMove('dropadraco')); - }, - secondary: null, - target: "normal", - type: "Dragon", - }, - - // The Immortal - wattup: { - accuracy: 100, - basePower: 73, - category: "Special", - desc: "Has a 75% chance to raise the user's Speed by 1 stage.", - shortDesc: "75% chance to raise the user's Speed by 1 stage.", - name: "Watt Up", - gen: 8, - pp: 15, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Volt Switch', target); - this.add('-anim', source, 'Nasty Plot', source); - }, - secondary: { - chance: 75, - self: { - boosts: { - spe: 1, - }, - }, - }, - target: "normal", - type: "Electric", - }, - - // thewaffleman - icepress: { - accuracy: 100, - basePower: 80, - category: "Physical", - desc: "Damage is calculated using the user's Defense stat as its Attack, including stat stage changes. Other effects that modify the Attack stat are used as normal. This move has a 10% chance to freeze the target and is super effective against Fire-types.", - shortDesc: "Body Press. 10% Frz. SE vs Fire.", - name: "Ice Press", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, contact: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Body Press', target); - }, - onEffectiveness(typeMod, target, type) { - if (type === 'Fire') return 1; - }, - overrideOffensiveStat: 'def', - secondary: { - chance: 10, - status: "frz", - }, - target: "normal", - type: "Ice", - }, - - // tiki - rightoncue: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Randomly uses 1-5 different support moves.", - shortDesc: "Uses 1-5 support moves.", - name: "Right. On. Cue!", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onHit(target, source) { - const supportMoves = [ - 'Wish', 'Heal Bell', 'Defog', 'Spikes', 'Taunt', 'Torment', - 'Haze', 'Encore', 'Reflect', 'Light Screen', 'Sticky Web', 'Acupressure', - 'Gastro Acid', 'Hail', 'Heal Block', 'Spite', 'Parting Shot', 'Trick Room', - ]; - const randomTurns = this.random(5) + 1; - let successes = 0; - for (let x = 1; x <= randomTurns; x++) { - const randomMove = this.sample(supportMoves); - supportMoves.splice(supportMoves.indexOf(randomMove), 1); - this.actions.useMove(randomMove, target); - successes++; - } - if (successes === 1) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|truly a dumpster fire`); - } else if (successes >= 4) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|whos ${source.side.foe.name}?`); - } - }, - secondary: null, - target: "self", - type: "Normal", - }, - - // trace - herocreation: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user switches out and raises the incoming Pokemon's Attack and Special Attack by 1 stage.", - shortDesc: "User switches, +1 Atk/SpA to replacement.", - name: "Hero Creation", - gen: 8, - pp: 10, - priority: -6, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Teleport', source); - this.add('-anim', source, 'Work Up', source); - }, - selfSwitch: true, - sideCondition: 'herocreation', - condition: { - duration: 1, - onSideStart(side, source) { - this.debug('Hero Creation started on ' + side.name); - this.effectState.positions = []; - for (const i of side.active.keys()) { - this.effectState.positions[i] = false; - } - this.effectState.positions[source.position] = true; - }, - onSideRestart(side, source) { - this.effectState.positions[source.position] = true; - }, - onSwitchInPriority: 1, - onSwitchIn(target) { - this.add('-activate', target, 'move: Hero Creation'); - this.boost({atk: 1, spa: 1}, target, null, this.dex.getActiveMove('herocreation')); - }, - }, - secondary: null, - target: "self", - type: "Psychic", - }, - - // Trickster - soulshatteringstare: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "The user loses 1/4 of its maximum HP, rounded down and even if it would cause fainting, in exchange for the target losing 1/4 of its maximum HP, rounded down, at the end of each turn while it is active. If the target uses Baton Pass, the replacement will continue to be affected. For 5 turns, the target is prevented from restoring any HP as long as it remains active. During the effect, healing and draining moves are unusable, and Abilities and items that grant healing will not heal the user. If an affected Pokemon uses Baton Pass, the replacement will remain unable to restore its HP. Pain Split and the Regenerator Ability are unaffected.", - shortDesc: "Curses target for 1/4 HP & blocks it from healing.", - name: "Soul-Shattering Stare", - gen: 8, - pp: 10, - priority: -7, - flags: {bypasssub: 1, protect: 1, reflectable: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Glare', target); - this.add('-anim', source, 'Trick-or-Treat', source); - }, - onHit(pokemon, source) { - this.directDamage(source.maxhp / 4, source, source); - pokemon.addVolatile('curse'); - pokemon.addVolatile('healblock'); - }, - secondary: null, - target: "normal", - type: "Ghost", - }, - - // Vexen - asteriusstrike: { - accuracy: 85, - basePower: 100, - category: "Physical", - desc: "Has a 25% chance to confuse the target.", - shortDesc: "25% chance to confuse the target.", - name: "Asterius Strike", - gen: 8, - pp: 5, - priority: 0, - flags: {protect: 1, contact: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Giga Impact', target); - }, - secondary: { - chance: 25, - volatileStatus: 'confusion', - }, - target: "normal", - type: "Normal", - }, - - // vivalospride - dripbayless: { - accuracy: true, - basePower: 85, - category: "Special", - desc: "This move's type effectiveness against Water is changed to be super effective no matter what this move's type is.", - shortDesc: "Super effective on Water.", - name: "DRIP BAYLESS", - gen: 8, - pp: 20, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Lava Plume', target); - this.add('-anim', source, 'Sunny Day', target); - }, - onEffectiveness(typeMod, target, type) { - if (type === 'Water') return 1; - }, - secondary: null, - target: "normal", - type: "Fire", - }, - - // Volco - glitchexploiting: { - accuracy: 100, - basePower: 60, - category: "Special", - desc: "1/4096 chance to KO the target and then the user, and a 1/1024 chance to force out the target and then the user; 20% chance to burn the target, and a 5% chance to freeze or paralyze a random Pokemon on the field; 30% chance to confuse the target.", - shortDesc: "Has a chance to do many things.", - name: "Glitch Exploiting", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Explosion', target); - this.add('-anim', source, 'Tackle', source); - this.add('-anim', source, 'Blue Flare', target); - }, - onHit(target, source, move) { - const random = this.random(4096); - if (random === 1) { - target.faint(source, move); - source.faint(source, move); - } else if ([1024, 2048, 3072, 4096].includes(random)) { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|haha memory corruption go brrr...`); - target.forceSwitchFlag = true; - source.forceSwitchFlag = true; - } else if (random === 69) { - this.add(`raw|
Pokemon Showdown has not crashed!
It just got sick of all the rng in Volco's Glitch Exploiting move and gave up.
(Do not report this, this is intended.)
`); - this.tie(); - } - }, - secondaries: [ - { - chance: 5, - onHit(target, source) { - const status = this.sample(['frz', 'par']); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|Ever just screw up the trick and corrupt the memory and cause the wrong thing to happen possibly ruining a run? No? Just me? okay...`); - if (this.randomChance(1, 2)) { - target.trySetStatus(status); - } else { - source.trySetStatus(status); - } - }, - }, - { - chance: 20, - status: 'brn', - }, - { - chance: 30, - volatileStatus: 'confusion', - }, - ], - target: "normal", - type: "Fire", - }, - - // vooper - pandaexpress: { - accuracy: 100, - basePower: 0, - category: "Status", - desc: "Lowers the target's Attack and Special Attack by 2 stages. If this move is successful, the user switches out even if it is trapped and is replaced immediately by a selected party member. The user does not switch out if the target's Attack and Special Attack stat stages were both unchanged, or if there are no unfainted party members.", - shortDesc: "Double strength Parting Shot.", - name: "Panda Express", - gen: 8, - pp: 20, - priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Parting Shot', target); - }, - onHit(target, source, move) { - const success = this.boost({atk: -2, spa: -2}, target, source); - if (!success && !target.hasAbility('mirrorarmor')) { - delete move.selfSwitch; - } - }, - selfSwitch: true, - secondary: null, - target: "normal", - type: "Dark", - }, - - // yuki - classchange: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "If the user is a cosplay Pikachu forme, it randomly changes forme and has an effect depending on the forme chosen: Cleric uses Strength Sap, Ninja uses Confuse Ray, Dancer uses Feather Dance, Songstress uses Sing, and Jester uses Charm.", - shortDesc: "Pikachu: Random forme and effect.", - name: "Class Change", - gen: 8, - pp: 6, - noPPBoosts: true, - priority: 0, - flags: {}, - onTryMove(source) { - this.attrLastMove('[still]'); - }, - onPrepareHit(foe, source, move) { - const formes = ['Cleric', 'Ninja', 'Dancer', 'Songstress', 'Jester'] - .filter(forme => ssbSets[`yuki-${forme}`].species !== source.species.name); - source.m.yukiCosplayForme = this.sample(formes); - switch (source.m.yukiCosplayForme) { - case 'Cleric': - this.actions.useMove("Strength Sap", source); - break; - case 'Ninja': - this.actions.useMove("Confuse Ray", source); - break; - case 'Dancer': - this.actions.useMove("Feather Dance", source); - break; - case 'Songstress': - this.actions.useMove("Sing", source); - break; - case 'Jester': - this.actions.useMove("Charm", source); - break; - } - }, - onHit(target, source) { - if (source.baseSpecies.baseSpecies !== 'Pikachu') return; - switch (source.m.yukiCosplayForme) { - case 'Cleric': - changeSet(this, source, ssbSets['yuki-Cleric']); - this.add('-message', 'yuki patches up her wounds!'); - return; - case 'Ninja': - changeSet(this, source, ssbSets['yuki-Ninja']); - this.add('-message', `yuki's fast movements confuse ${target.name}!`); - return; - case 'Dancer': - changeSet(this, source, ssbSets['yuki-Dancer']); - this.add('-message', `yuki dazzles ${target.name} with her moves!`); - return; - case 'Songstress': - changeSet(this, source, ssbSets['yuki-Songstress']); - this.add('-message', `yuki sang an entrancing melody!`); - return; - case 'Jester': - changeSet(this, source, ssbSets['yuki-Jester']); - this.add('-message', `yuki tries her best to impress ${target.name}!`); - return; - } - }, - secondary: null, - target: "self", - type: "Normal", - }, - - // Zalm - ingredientforaging: { - accuracy: 100, - basePower: 70, - category: "Special", - desc: "Heals 50% of the user's max HP, rounded down, if the target is holding an item. Removes the target's item and enables Belch on the user.", - shortDesc: "If foe has item: Heal 50% and remove it.", - name: "Ingredient Foraging", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Thief', target); - }, - onAfterHit(target, source) { - const item = target.getItem(); - if (source.hp && target.takeItem(source)) { - this.add('-enditem', target, item.name, '[from] stealeat', '[move] Ingredient Foraging', '[of] ' + source); - this.heal(source.maxhp / 2, source); - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zalm')}|Yum`); - source.ateBerry = true; - } - }, - secondary: null, - target: "normal", - type: "Bug", - }, - - // Zarel - relicdance: { - accuracy: 100, - basePower: 80, - category: "Special", - desc: "+1 Special Attack and, if the user is a Meloetta forme, transforms into the other Meloetta forme with its accompanying moveset, regardless of the outcome of the move. The move becomes fighting if Meloetta-P uses the move. If the user is Meloetta-Pirouette, this move is Fighting-type.", - shortDesc: "+1 SpA. Meloetta transforms. Fighting type if Melo-P.", - name: "Relic Dance", - gen: 8, - pp: 10, - priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, - secondary: null, - onTryMove(pokemon, target, move) { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Relic Song', target); - }, - onAfterMove(source) { - this.boost({spa: 1}, source); - if (source.species.baseSpecies !== 'Meloetta') return; - if (source.species.name === "Meloetta-Pirouette") { - changeSet(this, source, ssbSets['Zarel']); - } else { - changeSet(this, source, ssbSets['Zarel-Pirouette']); - } - }, - onModifyMove(move, pokemon) { - if (pokemon.species.name === "Meloetta-Pirouette") move.type = "Fighting"; - }, - target: "allAdjacentFoes", - type: "Psychic", - }, - - // Zodiax - bigstormcoming: { - accuracy: true, - basePower: 0, - category: "Special", - desc: "Uses Hurricane, Thunder, Blizzard, and then Weather Ball, each at 30% of their normal Base Power.", - shortDesc: "30% power: Hurricane, Thunder, Blizzard, W. Ball.", - name: "Big Storm Coming", - gen: 8, - pp: 10, - priority: 0, - flags: {}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit() { - this.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|There is a hail no storm okayyyyyy`); - }, - onTry(pokemon, target) { - pokemon.addVolatile('bigstormcomingmod'); - this.actions.useMove("Hurricane", pokemon); - this.actions.useMove("Thunder", pokemon); - this.actions.useMove("Blizzard", pokemon); - this.actions.useMove("Weather Ball", pokemon); - }, - secondary: null, - target: "normal", - type: "Flying", - }, - // Zyg - luckofthedraw: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Raises the user's Attack, Defense, and Speed by 1 stage.", - shortDesc: "Raises the user's Attack, Defense, Speed by 1.", - name: "Luck of the Draw", - gen: 8, - pp: 10, - priority: 0, - flags: {snatch: 1}, - onTryMove() { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, 'Quiver Dance', source); - }, - boosts: { - atk: 1, - def: 1, - spe: 1, - }, - secondary: null, - target: "self", - type: "Psychic", - }, - // These moves need modified to support Alpha's move - auroraveil: { - inherit: true, - desc: "For 5 turns, the user and its party members take 0.5x damage from physical and special attacks, or 0.66x damage if in a Double Battle; does not reduce damage further with Reflect or Light Screen. Critical hits ignore this protection. It is removed from the user's side if the user or an ally is successfully hit by Brick Break, Psychic Fangs, or Defog. Brick Break and Psychic Fangs remove the effect before damage is calculated. Lasts for 8 turns if the user is holding Light Clay. Fails unless the weather is Heavy Hailstorm or Hail.", - shortDesc: "For 5 turns, damage to allies is halved. Hail-like weather only.", - onTryHitSide() { - if (!this.field.isWeather(['winterhail', 'heavyhailstorm', 'hail'])) return false; - }, - }, - blizzard: { - inherit: true, - desc: "Has a 10% chance to freeze the target. If the weather is Heavy Hailstorm or Hail, this move does not check accuracy.", - shortDesc: "10% freeze foe(s). Can't miss in Hail-like weather.", - onModifyMove(move) { - if (this.field.isWeather(['winterhail', 'heavyhailstorm', 'hail'])) move.accuracy = true; - }, - }, - dig: { - inherit: true, - condition: { - duration: 2, - onImmunity(type, pokemon) { - if (['sandstorm', 'winterhail', 'heavyhailstorm', 'hail'].includes(type)) return false; - }, - onInvulnerability(target, source, move) { - if (['earthquake', 'magnitude'].includes(move.id)) { - return; - } - return false; - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.id === 'earthquake' || move.id === 'magnitude') { - return this.chainModify(2); - } - }, - }, - }, - dive: { - inherit: true, - condition: { - duration: 2, - onImmunity(type, pokemon) { - if (['sandstorm', 'winterhail', 'heavyhailstorm', 'hail'].includes(type)) return false; - }, - onInvulnerability(target, source, move) { - if (['surf', 'whirlpool'].includes(move.id)) { - return; - } - return false; - }, - onSourceModifyDamage(damage, source, target, move) { - if (move.id === 'surf' || move.id === 'whirlpool') { - return this.chainModify(2); - } - }, - }, - }, - moonlight: { - inherit: true, - desc: "The user restores 1/2 of its maximum HP if Delta Stream or no weather conditions are in effect or if the user is holding Utility Umbrella, 2/3 of its maximum HP if the weather is Desolate Land or Sunny Day, and 1/4 of its maximum HP if the weather is Heavy Hailstorm, Hail, Primordial Sea, Rain Dance, or Sandstorm, all rounded half down.", - onHit(pokemon) { - let factor = 0.5; - switch (pokemon.effectiveWeather()) { - case 'sunnyday': - case 'desolateland': - factor = 0.667; - break; - case 'raindance': - case 'primordialsea': - case 'sandstorm': - case 'heavyhailstorm': - case 'winterhail': - case 'hail': - factor = 0.25; - break; - } - return !!this.heal(this.modify(pokemon.maxhp, factor)); - }, - }, - morningsun: { - inherit: true, - desc: "The user restores 1/2 of its maximum HP if Delta Stream or no weather conditions are in effect or if the user is holding Utility Umbrella, 2/3 of its maximum HP if the weather is Desolate Land or Sunny Day, and 1/4 of its maximum HP if the weather is Heavy Hailstorm, Hail, Primordial Sea, Rain Dance, or Sandstorm, all rounded half down.", - onHit(pokemon) { - let factor = 0.5; - switch (pokemon.effectiveWeather()) { - case 'sunnyday': - case 'desolateland': - factor = 0.667; - break; - case 'raindance': - case 'primordialsea': - case 'sandstorm': - case 'heavyhailstorm': - case 'winterhail': - case 'hail': - factor = 0.25; - break; - } - return !!this.heal(this.modify(pokemon.maxhp, factor)); - }, - }, - solarbeam: { - inherit: true, - desc: "This attack charges on the first turn and executes on the second. Power is halved if the weather is Heavy Hailstorm, Hail, Primordial Sea, Rain Dance, or Sandstorm and the user is not holding Utility Umbrella. If the user is holding a Power Herb or the weather is Desolate Land or Sunny Day, the move completes in one turn. If the user is holding Utility Umbrella and the weather is Desolate Land or Sunny Day, the move still requires a turn to charge.", - onBasePower(basePower, pokemon, target) { - const weathers = ['raindance', 'primordialsea', 'sandstorm', 'winterhail', 'heavyhailstorm', 'hail']; - if (weathers.includes(pokemon.effectiveWeather())) { - this.debug('weakened by weather'); - return this.chainModify(0.5); - } - }, - }, - solarblade: { - inherit: true, - desc: "This attack charges on the first turn and executes on the second. Power is halved if the weather is Heavy Hailstorm, Hail, Primordial Sea, Rain Dance, or Sandstorm and the user is not holding Utility Umbrella. If the user is holding a Power Herb or the weather is Desolate Land or Sunny Day, the move completes in one turn. If the user is holding Utility Umbrella and the weather is Desolate Land or Sunny Day, the move still requires a turn to charge.", - onBasePower(basePower, pokemon, target) { - const weathers = ['raindance', 'primordialsea', 'sandstorm', 'winterhail', 'heavyhailstorm', 'hail']; - if (weathers.includes(pokemon.effectiveWeather())) { - this.debug('weakened by weather'); - return this.chainModify(0.5); - } - }, - }, - synthesis: { - inherit: true, - desc: "The user restores 1/2 of its maximum HP if Delta Stream or no weather conditions are in effect or if the user is holding Utility Umbrella, 2/3 of its maximum HP if the weather is Desolate Land or Sunny Day, and 1/4 of its maximum HP if the weather is Heavy Hailstorm, Hail, Primordial Sea, Rain Dance, or Sandstorm, all rounded half down.", - onHit(pokemon) { - let factor = 0.5; - switch (pokemon.effectiveWeather()) { - case 'sunnyday': - case 'desolateland': - factor = 0.667; - break; - case 'raindance': - case 'primordialsea': - case 'sandstorm': - case 'heavyhailstorm': - case 'winterhail': - case 'hail': - factor = 0.25; - break; - } - return !!this.heal(this.modify(pokemon.maxhp, factor)); - }, - }, - weatherball: { - inherit: true, - desc: "Power doubles if a weather condition other than Delta Stream is active, and this move's type changes to match. Ice type during Heavy Hailstorm or Hail, Water type during Primordial Sea or Rain Dance, Rock type during Sandstorm, and Fire type during Desolate Land or Sunny Day. If the user is holding Utility Umbrella and uses Weather Ball during Primordial Sea, Rain Dance, Desolate Land, or Sunny Day, the move is still Normal-type and does not have a base power boost.", - onModifyType(move, pokemon) { - switch (pokemon.effectiveWeather()) { - case 'sunnyday': - case 'desolateland': - move.type = 'Fire'; - break; - case 'raindance': - case 'primordialsea': - move.type = 'Water'; - break; - case 'sandstorm': - move.type = 'Rock'; - break; - case 'heavyhailstorm': - case 'winterhail': - case 'hail': - move.type = 'Ice'; - break; - } - }, - onModifyMove(move, pokemon) { - switch (pokemon.effectiveWeather()) { - case 'sunnyday': - case 'desolateland': - move.basePower *= 2; - break; - case 'raindance': - case 'primordialsea': - move.basePower *= 2; - break; - case 'sandstorm': - move.basePower *= 2; - break; - case 'heavyhailstorm': - case 'winterhail': - case 'hail': - move.basePower *= 2; - break; - } - }, - }, - // Modified move descriptions for support of Segmr's move - doomdesire: { - inherit: true, - desc: "Deals damage two turns after this move is used. At the end of that turn, the damage is calculated at that time and dealt to the Pokemon at the position the target had when the move was used. If the user is no longer active at the time, damage is calculated based on the user's natural Special Attack stat, types, and level, with no boosts from its held item or Ability. Fails if this move, Disconnect, or Future Sight is already in effect for the target's position.", - }, - futuresight: { - inherit: true, - desc: "Deals damage two turns after this move is used. At the end of that turn, the damage is calculated at that time and dealt to the Pokemon at the position the target had when the move was used. If the user is no longer active at the time, damage is calculated based on the user's natural Special Attack stat, types, and level, with no boosts from its held item or Ability. Fails if this move, Doom Desire, or Disconnect is already in effect for the target's position.", - }, - // Terrain Pulse for consistency - terrainpulse: { - inherit: true, - onModifyType(move, pokemon) { - if (!pokemon.isGrounded()) return; - switch (this.field.terrain) { - case 'electricterrain': - move.type = 'Electric'; - break; - case 'grassyterrain': - move.type = 'Grass'; - break; - case 'mistyterrain': - move.type = 'Fairy'; - break; - case 'psychicterrain': - move.type = 'Psychic'; - break; - case 'baneterrain': - move.type = 'Ice'; - break; - case 'swampyterrain': - move.type = 'Ground'; - break; - case 'inversionterrain': - move.type = '???'; - break; - case 'pitchblack': - move.type = 'Ghost'; - break; - case 'waveterrain': - move.type = 'Water'; - break; - case 'tempestterrain': - move.type = 'Flying'; - break; - } - }, - }, - // genderless infatuation for nui's Condition Override - attract: { - inherit: true, - condition: { - noCopy: true, // doesn't get copied by Baton Pass - onStart(pokemon, source, effect) { - if (!source.hasAbility('conditionoverride')) { - if (!(pokemon.gender === 'M' && source.gender === 'F') && !(pokemon.gender === 'F' && source.gender === 'M')) { - this.debug('incompatible gender'); - return false; - } - } - if (!this.runEvent('Attract', pokemon, source)) { - this.debug('Attract event failed'); - return false; - } - - if (effect.id === 'cutecharm') { - this.add('-start', pokemon, 'Attract', '[from] ability: Cute Charm', '[of] ' + source); - } else if (effect.id === 'destinyknot') { - this.add('-start', pokemon, 'Attract', '[from] item: Destiny Knot', '[of] ' + source); - } else { - this.add('-start', pokemon, 'Attract'); - } - }, - onUpdate(pokemon) { - if (this.effectState.source && !this.effectState.source.isActive && pokemon.volatiles['attract']) { - this.debug('Removing Attract volatile on ' + pokemon); - pokemon.removeVolatile('attract'); - } - }, - onModifySpDPriority: 1, - onModifySpD(spd, pokemon) { - for (const target of this.getAllActive()) { - if (target === pokemon) continue; - if (target.hasAbility('conditionoverride')) return this.chainModify(0.75); - } - return; - }, - onBeforeMovePriority: 2, - onBeforeMove(pokemon, target, move) { - this.add('-activate', pokemon, 'move: Attract', '[of] ' + this.effectState.source); - if (this.randomChance(1, 2)) { - this.add('cant', pokemon, 'Attract'); - return false; - } - }, - onEnd(pokemon) { - this.add('-end', pokemon, 'Attract', '[silent]'); - }, - }, - onTryImmunity(target, source) { - if (source.hasAbility('conditionoverride')) return true; - return (target.gender === 'M' && source.gender === 'F') || (target.gender === 'F' && source.gender === 'M'); - }, - }, - - // Try playing Staff Bros without dynamax and see what happens - supermetronome: { - accuracy: true, - basePower: 0, - category: "Status", - desc: "Uses 2-5 random moves. Does not include 1-Base Power Z-Moves, Super Metronome, Metronome, or 10-Base Power Max moves.", - shortDesc: "Uses 2-5 random moves.", - name: "Super Metronome", - isNonstandard: "Custom", - pp: 100, - noPPBoosts: true, - priority: 0, - flags: {}, - onTryMove(pokemon) { - this.attrLastMove('[still]'); - }, - onPrepareHit(target, source) { - this.add('-anim', source, "Metronome", source); - }, - onHit(target, source, effect) { - const moves = []; - for (const id in this.dex.data.Moves) { - const move = this.dex.moves.get(id); - if (move.realMove || move.id.includes('metronome')) continue; - // Calling 1 BP move is somewhat lame and disappointing. However, - // signature Z moves are fine, as they actually have a base power. - if (move.isZ && move.basePower === 1) continue; - if (move.gen > this.gen) continue; - if (move.isMax === true && move.basePower === 10) continue; - moves.push(move.name); - } - let randomMove: string; - if (moves.length) { - randomMove = this.sample(moves); - } else { - return false; - } - this.actions.useMove(randomMove, target); - }, - multihit: [2, 5], - secondary: null, - target: "self", - type: "???", - }, -}; diff --git a/data/mods/ssb/pokedex.ts b/data/mods/ssb/pokedex.ts deleted file mode 100644 index 2376792acefe..000000000000 --- a/data/mods/ssb/pokedex.ts +++ /dev/null @@ -1,265 +0,0 @@ -export const Pokedex: {[k: string]: ModdedSpeciesData} = { - /* - // Example - id: { - inherit: true, // Always use this, makes the pokemon inherit its default values from the parent mod (gen7) - baseStats: {hp: 100, atk: 100, def: 100, spa: 100, spd: 100, spe: 100}, // the base stats for the pokemon - }, - */ - // Abdelrahman - cameruptmega: { - inherit: true, - abilities: {0: "Water Absorb"}, - }, - // Aelita - zygardecomplete: { - inherit: true, - abilities: {0: "Scyphozoa"}, - }, - // aegii - aegislash: { - inherit: true, - abilities: {0: "Set the Stage"}, - }, - aegislashblade: { - inherit: true, - abilities: {0: "Set the Stage"}, - }, - // Aeonic - nosepass: { - inherit: true, - baseStats: {hp: 70, atk: 85, def: 135, spa: 45, spd: 90, spe: 70}, - }, - // Aethernum - lotad: { - inherit: true, - baseStats: {hp: 40, atk: 70, def: 70, spa: 80, spd: 90, spe: 70}, - }, - // Annika - mewtwomegay: { - inherit: true, - baseStats: {hp: 106, atk: 110, def: 90, spa: 154, spd: 90, spe: 130}, - abilities: {0: "Overprotective"}, - }, - // A Quag To The Past - quagsire: { - inherit: true, - baseStats: {hp: 95, atk: 65, def: 85, spa: 65, spd: 85, spe: 35}, - }, - // Billo - cosmog: { - inherit: true, - baseStats: {hp: 86, atk: 58, def: 62, spa: 87, spd: 62, spe: 74}, - }, - // dogknees - furret: { - inherit: true, - types: ["Normal", "Ghost"], - }, - // Elgino - celebi: { - inherit: true, - types: ["Grass", "Fairy"], - }, - // EpicNikolai - garchompmega: { - inherit: true, - abilities: {0: "Dragon Heart"}, - types: ["Dragon", "Fire"], - }, - // Felucia - uxie: { - inherit: true, - types: ["Psychic", "Normal"], - }, - // frostyicelad - laprasgmax: { - inherit: true, - heightm: 2.5, - weightkg: 220, - }, - // GMars - minior: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - miniorviolet: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - miniorindigo: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - miniorblue: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - miniorgreen: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - minioryellow: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - miniororange: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - miniormeteor: { - inherit: true, - abilities: {0: "Capsule Armor"}, - }, - // Hydro - pichu: { - inherit: true, - types: ["Electric", "Water"], - baseStats: {hp: 67, atk: 58, def: 57, spa: 81, spd: 67, spe: 101}, - }, - // Inactive - gyaradosmega: { - inherit: true, - abilities: {0: "Dragon's Fury"}, - }, - // Jho - toxtricity: { - inherit: true, - abilities: {0: "Punk Rock"}, - }, - toxtricitylowkey: { - inherit: true, - abilities: {0: "Venomize"}, - }, - // Kaiju Bunny - lopunnymega: { - inherit: true, - abilities: {0: "Second Wind"}, - types: ["Normal", "Fairy"], - }, - // Kris - unown: { - inherit: true, - baseStats: {hp: 100, atk: 100, def: 100, spa: 100, spd: 100, spe: 100}, - // For reverting back to an Unown forme - abilities: {0: "Protean"}, - }, - // Lamp - lampent: { - inherit: true, - baseStats: {hp: 60, atk: 80, def: 100, spa: 135, spd: 100, spe: 95}, - }, - // Meicoo - venusaurmega: { - inherit: true, - abilities: {0: "Unaware"}, - }, - // nui - jigglypuff: { - inherit: true, - baseStats: {hp: 115, atk: 128, def: 62, spa: 128, spd: 78, spe: 62}, - }, - // Overneat - absolmega: { - inherit: true, - abilities: {0: "Fluffy"}, - types: ["Dark", "Fairy"], - }, - // PartMan - chandelure: { - inherit: true, - abilities: {0: "Hecatomb"}, - }, - // Psynergy - rayquaza: { - inherit: true, - abilities: {0: "Supernova"}, - }, - rayquazamega: { - inherit: true, - abilities: {0: "Supernova"}, - requiredMove: "Clear Breath", - }, - // Robb576 - necrozmadawnwings: { - inherit: true, - abilities: {0: "The Numbers Game"}, - }, - necrozmaduskmane: { - inherit: true, - abilities: {0: "The Numbers Game"}, - }, - necrozmaultra: { - inherit: true, - abilities: {0: "The Numbers Game"}, - }, - // Strucni - aggronmega: { - inherit: true, - abilities: {0: "Overasked Clause"}, - }, - // Finland - alcremie: { - inherit: true, - abilities: {0: "Winding Song"}, - }, - // tiki - snom: { - inherit: true, - baseStats: {hp: 70, atk: 65, def: 60, spa: 125, spd: 90, spe: 65}, - }, - // vivalospride's interaction with Coconut's move - darumaka: { - inherit: true, - evos: ["Darmanitan", "Darmanitan-Zen"], - }, - darmanitanzen: { - inherit: true, - prevo: "Darumaka", - }, - // yuki - pikachucosplay: { - inherit: true, - baseStats: {hp: 60, atk: 85, def: 50, spa: 95, spd: 85, spe: 110}, - abilities: {0: "Combat Training"}, - }, - pikachuphd: { - inherit: true, - baseStats: {hp: 60, atk: 85, def: 50, spa: 95, spd: 85, spe: 110}, - abilities: {0: "Triage"}, - }, - pikachulibre: { - inherit: true, - baseStats: {hp: 60, atk: 85, def: 50, spa: 95, spd: 85, spe: 110}, - abilities: {0: "White Smoke"}, - }, - pikachupopstar: { - inherit: true, - baseStats: {hp: 60, atk: 85, def: 50, spa: 95, spd: 85, spe: 110}, - abilities: {0: "Dancer"}, - }, - pikachurockstar: { - inherit: true, - baseStats: {hp: 60, atk: 85, def: 50, spa: 95, spd: 85, spe: 110}, - abilities: {0: "Punk Rock"}, - }, - pikachubelle: { - inherit: true, - baseStats: {hp: 60, atk: 85, def: 50, spa: 95, spd: 85, spe: 110}, - abilities: {0: "Weak Armor"}, - }, - // Zalm - weedle: { - inherit: true, - baseStats: {hp: 100, atk: 35, def: 100, spa: 90, spd: 90, spe: 100}, - }, - // Zarel - meloetta: { - inherit: true, - abilities: {0: "Dancer"}, - }, - meloettapirouette: { - inherit: true, - abilities: {0: "Serene Grace"}, - }, -}; diff --git a/data/mods/ssb/random-teams.ts b/data/mods/ssb/random-teams.ts deleted file mode 100644 index 3a775e794e39..000000000000 --- a/data/mods/ssb/random-teams.ts +++ /dev/null @@ -1,974 +0,0 @@ -import RandomGen8Teams from '../gen8/random-teams'; - -export interface SSBSet { - species: string; - ability: string | string[]; - item: string | string[]; - gender: GenderName; - moves: (string | string[])[]; - signatureMove: string; - evs?: {hp?: number, atk?: number, def?: number, spa?: number, spd?: number, spe?: number}; - ivs?: {hp?: number, atk?: number, def?: number, spa?: number, spd?: number, spe?: number}; - nature?: string | string[]; - shiny?: number | boolean; - level?: number; - happiness?: number; - skip?: string; -} -interface SSBSets {[k: string]: SSBSet} - -export const ssbSets: SSBSets = { - /* - // Example: - Username: { - species: 'Species', ability: 'Ability', item: 'Item', gender: '', - moves: ['Move Name', ['Move Name', 'Move Name']], - signatureMove: 'Move Name', - evs: {stat: number}, ivs: {stat: number}, nature: 'Nature', level: 100, shiny: false, - }, - // Species, ability, and item need to be captialized properly ex: Ludicolo, Swift Swim, Life Orb - // Gender can be M, F, N, or left as an empty string - // each slot in moves needs to be a string (the move name, captialized properly ex: Hydro Pump), or an array of strings (also move names) - // signatureMove also needs to be capitalized properly ex: Scripting - // You can skip Evs (defaults to 82 all) and/or Ivs (defaults to 31 all), or just skip part of the Evs (skipped evs are 0) and/or Ivs (skipped Ivs are 31) - // You can also skip shiny, defaults to false. Level can be skipped (defaults to 100). - // Nature needs to be a valid nature with the first letter capitalized ex: Modest - */ - // Please keep sets organized alphabetically based on staff member name! - Abdelrahman: { - species: 'Camerupt', ability: 'Water Absorb', item: 'Cameruptite', gender: 'M', - moves: ['Eruption', 'Earth Power', 'Fire Blast'], - signatureMove: 'The Town Outplay', - evs: {hp: 252, spd: 172, spe: 84}, nature: 'Calm', - }, - Adri: { - species: 'Latios', ability: 'Psychic Surge', item: 'Leftovers', gender: 'M', - moves: ['Psyshock', 'Calm Mind', 'Aura Sphere'], - signatureMove: 'Skystriker', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Aelita: { - species: 'Zygarde', ability: 'Scyphozoa', item: 'Focus Sash', gender: 'F', - moves: ['Protect', 'Leech Seed', 'Thousand Arrows'], - signatureMove: 'XANA\'s Keys To Lyoko', - evs: {hp: 252, atk: 4, spd: 252}, nature: 'Careful', - }, - aegii: { - species: 'Aegislash', ability: 'Set the Stage', item: 'Life Orb', gender: 'M', - moves: ['Shadow Claw', 'Iron Head', 'Shadow Sneak'], - signatureMove: 'Reset', - evs: {hp: 252, def: 192, spd: 64}, nature: 'Sassy', - }, - 'aegii-Alt': { - species: 'Aegislash', ability: 'Set the Stage', item: 'Life Orb', gender: 'M', - moves: ['Shadow Ball', 'Flash Cannon', 'Shadow Sneak'], - signatureMove: 'Reset', - evs: {hp: 252, def: 192, spd: 64}, nature: 'Sassy', - skip: 'aegii', - }, - Aeonic: { - species: 'Nosepass', ability: 'Arsene', item: 'Stone Plate', gender: 'M', - moves: ['Diamond Storm', 'Earthquake', 'Milk Drink'], - signatureMove: 'Looking Cool', - evs: {atk: 252, def: 4, spd: 252}, nature: 'Impish', - }, - Aethernum: { - species: 'Lotad', ability: 'Rainy Season', item: 'Big Root', gender: 'M', - moves: ['Giga Drain', 'Muddy Water', 'Hurricane'], - signatureMove: 'Lilypad Overflow', - evs: {spa: 252, spd: 4, spe: 252}, nature: 'Modest', - }, - Akir: { - species: 'Forretress', ability: 'Fortifications', item: 'Leftovers', gender: 'M', - moves: ['Rapid Spin', 'Stealth Rock', ['U-turn', 'Toxic']], - signatureMove: 'Ravelin', - evs: {hp: 248, def: 252, spe: 8}, ivs: {spa: 0}, nature: 'Impish', - }, - Alpha: { - species: 'Aurorus', ability: 'Snow Warning', item: 'Caionium Z', gender: 'M', - moves: ['Freeze-Dry', 'Ancient Power', 'Earth Power'], - signatureMove: 'Blizzard', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', shiny: true, - }, - Annika: { - species: 'Mewtwo', ability: 'Overprotective', item: 'Mewtwonite Y', gender: 'F', - moves: [['Rising Voltage', 'Lava Plume'], ['Hex', 'Aurora Beam'], ['Psychic', 'Psyshock']], - signatureMove: 'Data Corruption', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Quirky', shiny: true, - }, - 'A Quag To The Past': { - species: 'Quagsire', ability: 'Carefree', item: 'Quagnium Z', gender: 'M', - moves: ['Shore Up', 'Flip Turn', ['Haze', 'Toxic']], - signatureMove: 'Scorching Sands', - evs: {hp: 252, def: 252, spd: 4}, ivs: {spe: 0}, nature: 'Relaxed', - }, - Arby: { - species: 'Keldeo-Resolute', ability: 'Wave Surge', item: 'Expert Belt', gender: '', - moves: ['Hydro Pump', 'Secret Sword', 'Ice Beam'], - signatureMove: 'Quickhammer', - evs: {def: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Arcticblast: { - species: 'Tapu Fini', ability: 'Misty Surge', item: 'Misty Seed', gender: '', - moves: ['Heal Order', 'Sparkling Aria', ['Clear Smog', 'Moonblast']], - signatureMove: 'Radiant Burst', - evs: {hp: 252, def: 252, spe: 4}, ivs: {atk: 0}, nature: 'Bold', - }, - Archas: { - species: 'Naviathan', ability: 'Indomitable', item: 'Iron Plate', gender: 'F', - moves: ['Waterfall', 'Icicle Crash', 'No Retreat'], - signatureMove: 'Broadside Barrage', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - 'awa!': { - species: 'Lycanroc', ability: 'Sand Rush', item: 'Life Orb', gender: 'F', - moves: ['Earthquake', 'Close Combat', 'Swords Dance'], - signatureMove: 'awa!', - evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', - }, - Beowulf: { - species: 'Beedrill', ability: 'Intrepid Sword', item: 'Beedrillite', gender: '', - moves: ['Megahorn', 'Gunk Shot', ['Precipice Blades', 'Head Smash']], - signatureMove: 'Buzz Inspection', - evs: {hp: 4, atk: 252, spe: 252}, nature: 'Jolly', shiny: 2, - }, - biggie: { - species: 'Snorlax', ability: 'Super Armor', item: 'Leftovers', gender: 'M', - moves: ['Body Slam', 'Darkest Lariat', 'Assist'], - signatureMove: 'Juggernaut Punch', - evs: {hp: 4, def: 252, spd: 252}, nature: 'Brave', - }, - Billo: { - species: 'Cosmog', ability: 'Proof Policy', item: 'Eviolite', gender: 'N', - moves: ['Cosmic Power', 'Calm Mind', 'Stored Power'], - signatureMove: 'Fishing for Hacks', - evs: {hp: 252, spa: 252, spd: 4}, ivs: {atk: 0}, nature: 'Modest', shiny: true, - }, - Blaz: { - species: 'Carbink', ability: 'Solid Rock', item: 'Leftovers', gender: 'N', - moves: ['Cosmic Power', 'Body Press', 'Recover'], - signatureMove: 'Bleak December', - evs: {hp: 4, def: 252, spd: 252}, ivs: {atk: 0}, nature: 'Careful', shiny: true, - }, - Brandon: { - species: 'Shaymin', ability: 'Bane Surge', item: ['Leftovers', 'Terrain Extender'], gender: 'M', - moves: [['Ice Beam', 'Paleo Wave'], ['Earthquake', 'Flamethrower'], 'Recover'], - signatureMove: 'Flower Shower', - evs: {hp: 84, atk: 84, def: 84, spa: 84, spd: 84, spe: 84}, nature: 'Quirky', - }, - brouha: { - species: 'Mantine', ability: 'Turbulence', item: 'Leftovers', gender: 'M', - moves: ['Scald', 'Recover', 'Haze'], - signatureMove: 'Kinetosis', - evs: {hp: 248, def: 8, spd: 252}, ivs: {atk: 0}, nature: 'Calm', - }, - Buffy: { - species: 'Dragonite', ability: 'Speed Control', item: 'Metal Coat', gender: '', - moves: ['Swords Dance', 'Thousand Arrows', 'Double Iron Bash'], - signatureMove: 'Pandora\'s Box', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', shiny: 2, - }, - Cake: { - species: 'Dunsparce', ability: 'Wonder Guard', item: 'Shell Bell', gender: 'M', - moves: ['Haze', 'Jungle Healing', ['Baton Pass', 'Poison Gas', 'Corrosive Gas', 'Magic Powder', 'Speed Swap', 'Spite', 'Screech', 'Trick Room', 'Heal Block', 'Geomancy']], - signatureMove: 'Kevin', - evs: {hp: 252, atk: 252, spd: 4}, nature: 'Adamant', - }, - 'cant say': { - species: 'Volcarona', ability: 'Rage Quit', item: 'Kee Berry', gender: 'M', - moves: ['Quiver Dance', 'Roost', 'Will-O-Wisp'], - signatureMove: 'Never Lucky', - evs: {hp: 248, def: 36, spe: 224}, ivs: {atk: 0}, nature: 'Timid', - }, - Celine: { - species: 'Lucario', ability: 'Guardian Armor', item: 'Leftovers', gender: 'F', - moves: ['Wish', 'Teleport', 'Drain Punch'], - signatureMove: 'Status Guard', - evs: {hp: 248, def: 252, spd: 8}, nature: 'Impish', - }, - 'c.kilgannon': { - species: 'Yveltal', ability: 'Infiltrator', item: 'Choice Scarf', gender: 'N', - moves: ['Knock Off', 'Steel Wing', 'U-turn'], - signatureMove: 'Soul Siphon', - evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', - }, - Coconut: { - species: 'Misdreavus', ability: 'Levitate', item: 'Focus Sash', gender: 'F', - moves: ['Dazzling Gleam', 'Shadow Ball', 'Snatch'], - signatureMove: 'Devolution Beam', - evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', - }, - dogknees: { - species: 'Furret', ability: 'Adaptability', item: ['Normalium Z', 'Ghostium Z'], gender: 'M', - moves: ['Extreme Speed', 'Shadow Claw', 'Explosion'], - signatureMove: 'Belly Rubs', - evs: {hp: 4, atk: 252, spe: 252}, nature: 'Jolly', - }, - DragonWhale: { - species: 'Mimikyu', ability: 'Disguise', item: 'Life Orb', gender: 'M', - moves: ['Play Rough', 'Spectral Thief', 'Shadow Sneak'], - signatureMove: 'Cloak Dance', - evs: {hp: 4, atk: 252, spe: 252}, nature: 'Jolly', - }, - 'drampa\'s grandpa': { - species: 'Drampa', ability: 'Old Manpa', item: 'Wise Glasses', gender: 'M', - moves: [ - ['Spikes', 'Stealth Rock', 'Toxic Spikes'], 'Slack Off', ['Core Enforcer', 'Snarl', 'Lava Plume', 'Scorching Sands'], - ], - signatureMove: 'GET OFF MY LAWN!', - evs: {hp: 248, def: 8, spa: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - dream: { - species: 'Klefki', ability: 'Greed Punisher', item: 'Life Orb', gender: 'N', - moves: ['Light of Ruin', 'Steel Beam', 'Mind Blown'], - signatureMove: 'Lock and Key', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - Elgino: { - species: 'Celebi', ability: 'Magic Guard', item: 'Life Orb', gender: 'M', - moves: ['Leaf Storm', 'Nasty Plot', 'Power Gem'], - signatureMove: 'Navi\'s Grace', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', shiny: true, - }, - Emeri: { - species: 'Flygon', ability: 'Drake Skin', item: 'Throat Spray', gender: 'M', - moves: ['Boomburst', 'Earth Power', 'Agility'], - signatureMove: 'Forced Landing', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - estarossa: { - species: 'Hippowdon', ability: 'Sands of Time', item: 'Leftovers', gender: 'M', - moves: ['Earthquake', 'Stone Edge', 'Slack Off'], - signatureMove: 'Sand Balance', - evs: {hp: 252, atk: 252, def: 4}, nature: 'Adamant', - }, - EpicNikolai: { - species: 'Garchomp', ability: 'Dragon Heart', item: 'Garchompite', gender: 'M', - moves: ['Outrage', 'Earthquake', 'Swords Dance'], - signatureMove: 'Epic Rage', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - explodingdaisies: { - species: 'Shedinja', ability: 'Wonder Guard', item: 'Heavy-Duty Boots', gender: 'M', - moves: ['Swords Dance', 'X-Scissor', 'Shadow Sneak'], - signatureMove: 'You Have No Hope!', - evs: {atk: 252, spd: 4, spe: 252}, nature: 'Adamant', - }, - fart: { - species: 'Kartana', ability: 'Bipolar', item: 'Metronome', gender: 'M', - moves: ['U-turn'], - signatureMove: 'Soup-Stealing 7-Star Strike: Redux', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', level: 100, shiny: true, - }, - Felucia: { - species: 'Uxie', ability: 'Regenerator', item: 'Red Card', gender: 'F', - moves: ['Strength Sap', ['Psyshock', 'Night Shade'], ['Thief', 'Toxic']], - signatureMove: 'Rigged Dice', - evs: {hp: 252, def: 4, spd: 252}, nature: 'Calm', - }, - Finland: { - species: 'Alcremie', ability: 'Winding Song', item: 'Leftovers', gender: 'M', - moves: ['Shore Up', 'Moonblast', ['Infestation', 'Whirlwind']], - signatureMove: 'Cradily Chaos', - evs: {hp: 252, def: 64, spa: 64, spd: 64, spe: 64}, ivs: {atk: 0}, nature: 'Serious', - }, - 'Finland-Tsikhe': { - species: 'Alcremie-Lemon-Cream', ability: 'Winding Song', item: 'Leftovers', gender: 'M', - moves: ['Shore Up', 'Spiky Shield', ['Reflect', 'Light Screen']], - signatureMove: 'Cradily Chaos', - evs: {hp: 252, def: 64, spa: 64, spd: 64, spe: 64}, ivs: {atk: 0}, nature: 'Serious', - skip: 'Finland', - }, - 'Finland-Nezavisa': { - species: 'Alcremie-Ruby-Swirl', ability: 'Winding Song', item: 'Leftovers', gender: 'M', - moves: ['Lava Plume', 'Scorching Sands', ['Refresh', 'Destiny Bond']], - signatureMove: 'Cradily Chaos', - evs: {hp: 252, def: 64, spa: 64, spd: 64, spe: 64}, ivs: {atk: 0}, nature: 'Serious', - skip: 'Finland', - }, - 'Finland-Järvilaulu': { - species: 'Alcremie-Mint-Cream', ability: 'Winding Song', item: 'Leftovers', gender: 'M', - moves: ['Sticky Web', 'Parting Shot', ['Light of Ruin', 'Sparkling Aria']], - signatureMove: 'Cradily Chaos', - evs: {hp: 252, def: 64, spa: 64, spd: 64, spe: 64}, ivs: {atk: 0}, nature: 'Serious', - skip: 'Finland', - }, - 'frostyicelad ❆': { - species: 'Lapras-Gmax', ability: 'Ice Shield', item: 'Life Orb', gender: 'M', - moves: ['Quiver Dance', 'Sparkling Aria', 'Recover'], - signatureMove: 'Frosty Wave', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - 'gallant\'s pear': { - species: 'Orbeetle', ability: 'Armor Time', item: ['Life Orb', 'Heavy-Duty Boots'], gender: 'M', - moves: ['Bug Buzz', 'Nasty Plot', 'Snipe Shot'], - signatureMove: 'King Giri Giri Slash', - evs: {hp: 252, def: 4, spe: 252}, nature: 'Timid', - }, - Gimmick: { - species: 'Grimmsnarl', ability: 'IC3PEAK', item: 'Throat Spray', gender: 'M', - moves: ['Boomburst', 'Disarming Voice', 'Snarl'], - signatureMove: 'Random Screaming', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', shiny: true, - }, - GMars: { - species: 'Minior-Meteor', ability: 'Capsule Armor', item: 'White Herb', gender: 'N', - moves: ['Acrobatics', 'Earthquake', 'Diamond Storm'], - signatureMove: 'Gacha', - evs: {hp: 68, atk: 252, spe: 188}, nature: 'Adamant', - }, - grimAuxiliatrix: { - species: 'Duraludon', ability: 'Aluminum Alloy', item: 'Assault Vest', gender: '', - moves: [['Core Enforcer', 'Draco Meteor'], 'Fire Blast', ['Thunderbolt', 'Earth Power']], - signatureMove: 'Skyscraper Suplex', - evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', - }, - HoeenHero: { - species: 'Ludicolo', ability: 'Tropical Cyclone', item: 'Life Orb', gender: 'M', - moves: ['Scald', 'Giga Drain', 'Hurricane'], - signatureMove: 'Landfall', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - Hubriz: { - species: 'Roserade', ability: 'Stakeout', item: 'Rose Incense', gender: 'F', - moves: [['Toxic Spikes', 'Spikes'], 'Leaf Storm', 'Sludge Bomb'], - signatureMove: 'Steroid Anaphylaxia', - evs: {def: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Hydro: { - species: 'Pichu', ability: 'Hydrostatic', item: 'Eviolite', gender: 'M', - moves: ['Hydro Pump', 'Thunder', 'Ice Beam'], - signatureMove: 'Hydrostatics', - evs: {def: 4, spa: 252, spe: 252}, nature: 'Modest', - }, - Inactive: { - species: 'Gyarados', ability: 'Dragon\'s Fury', item: 'Gyaradosite', gender: '', - moves: ['Dragon Dance', 'Earthquake', 'Crabhammer'], - signatureMove: 'Paranoia', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - instruct: { - species: 'Riolu', ability: 'Truant', item: 'Heavy-Duty Boots', gender: '', - moves: ['Explosion', 'Lunar Dance', 'Memento'], - signatureMove: 'Soda Break', - evs: {hp: 252, atk: 4, spe: 252}, nature: 'Jolly', - }, - Iyarito: { - species: 'Gengar', ability: 'Pollo Diablo', item: 'Choice Specs', gender: 'F', - moves: ['Sludge Wave', 'Volt Switch', 'Fusion Flare'], - signatureMove: 'Patrona Attack', - evs: {def: 4, spa: 252, spe: 252}, nature: 'Timid', shiny: true, - }, - Jett: { - species: 'Sneasel', ability: 'Deceiver', item: 'Heavy Duty Boots', gender: 'F', - moves: ['Knock Off', 'Triple Axel', 'Counter'], - signatureMove: 'The Hunt is On!', - evs: {hp: 4, atk: 252, spe: 252}, nature: 'Jolly', - }, - Jho: { - species: 'Toxtricity', ability: 'Punk Rock', item: 'Throat Spray', gender: 'M', - moves: ['Nasty Plot', 'Overdrive', 'Volt Switch'], - signatureMove: 'Genre Change', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - 'Jho-Low-Key': { - species: 'Toxtricity-Low-Key', ability: 'Venomize', item: 'Throat Spray', gender: 'M', - moves: ['Aura Sphere', 'Boomburst', 'Volt Switch'], - signatureMove: 'Genre Change', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - skip: 'Jho', - }, - Jordy: { - species: 'Archeops', ability: 'Divine Sandstorm', item: 'Life Orb', gender: 'M', - moves: ['Brave Bird', 'Head Smash', ['U-turn', 'Roost', 'Icicle Crash']], - signatureMove: 'Archeops\'s Rage', - evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', - }, - 'Kaiju Bunny': { - species: 'Lopunny', ability: 'Second Wind', item: 'Lopunnite', gender: 'F', - moves: ['Return', 'Play Rough', ['Drain Punch', 'High Jump Kick']], - signatureMove: 'Cozy Cuddle', - evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', shiny: true, - }, - Kalalokki: { - species: 'Wingull', ability: 'Magic Guard', item: 'Kalalokkium Z', gender: 'M', - moves: ['Tailwind', 'Encore', 'Healing Wish'], - signatureMove: 'Blackbird', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Kennedy: { - species: 'Cinderace', ability: 'False Nine', item: 'Choice Band', gender: 'M', - moves: ['High Jump Kick', 'Triple Axel', 'U-turn'], - signatureMove: 'Top Bins', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Adamant', - }, - Kev: { - species: 'Kingdra', ability: 'King of Atlantis', item: 'Life Orb', gender: 'M', - moves: ['Hydro Pump', 'Core Enforcer', 'Hurricane'], - signatureMove: 'King\'s Trident', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - Kingbaruk: { - species: 'Stonjourner', ability: 'Sturdy', item: 'Heavy Duty Boots', gender: 'M', - moves: ['Diamond Storm', ['Superpower', 'Earthquake'], 'King\'s Shield'], - signatureMove: 'Leave it to the team!', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - KingSwordYT: { - species: 'Pangoro', ability: 'Bamboo Kingdom', item: 'Rocky Helmet', gender: 'M', - moves: ['Body Press', 'Spiky Shield', 'Shore Up'], - signatureMove: 'Clash of Pangoros', - evs: {hp: 252, atk: 4, def: 252}, nature: 'Impish', shiny: true, - }, - Kipkluif: { - species: 'Gossifleur', ability: 'Degenerator', item: 'Eviolite', gender: 'M', - moves: ['Strength Sap', 'Apple Acid', 'Court Change'], - signatureMove: 'Kip Up', - evs: {hp: 196, def: 116, spa: 36, spd: 116, spe: 36}, ivs: {atk: 0}, nature: 'Modest', shiny: true, - }, - Kris: { - species: 'Unown', ability: 'Protean', item: 'Life Orb', gender: 'N', - moves: ['Light of Ruin', 'Psystrike', ['Secret Sword', 'Mind Blown', 'Seed Flare']], - signatureMove: 'Alphabet Soup', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Lamp: { - species: 'Lampent', ability: 'Soul-Heart', item: 'Eviolite', gender: 'M', - moves: ['Nasty Plot', 'Searing Shot', 'Recover'], - signatureMove: 'Soul Swap', - evs: {def: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Lionyx: { - species: 'Gardevoir', ability: 'Tension', item: 'Blunder Policy', gender: 'F', - moves: [ - ['Psychic', 'Psystrike'], 'Quiver Dance', [ - 'Blizzard', 'Focus Blast', 'Hurricane', 'Hydro Pump', 'Inferno', 'Zap Cannon', - ], - ], - signatureMove: 'Big Bang', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', shiny: true, - }, - 'Litt♥Eleven': { - species: 'Bisharp', ability: 'Dark Royalty', item: 'Black Glasses', gender: 'M', - moves: ['Sucker Punch', 'Knock Off', 'Iron Head'], - signatureMove: '/nexthunt', - evs: {hp: 4, atk: 252, spe: 252}, nature: 'Adamant', shiny: true, - }, - Lunala: { - species: 'Hattrem', ability: 'Magic Hat', item: 'Eviolite', gender: 'F', - moves: ['Nuzzle', 'Flamethrower', 'Healing Wish'], - signatureMove: 'Hat of Wisdom', - evs: {hp: 252, def: 4, spd: 252}, ivs: {atk: 0}, nature: 'Sassy', - }, - 'Mad Monty ¾°': { - species: 'Zekrom', ability: 'Petrichor', item: 'Damp Rock', gender: 'N', - moves: ['Bolt Strike', 'Dragon Claw', 'Liquidation'], - signatureMove: 'Ca-LLAMA-ty', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', shiny: true, - }, - MajorBowman: { - species: 'Weezing-Galar', ability: 'Neutralizing Gas', item: 'Black Sludge', gender: 'M', - moves: ['Strange Steam', ['Toxic Spikes', 'Haze'], 'Recover'], - signatureMove: 'Corrosive Cloud', - evs: {hp: 252, def: 252, spd: 4}, nature: 'Bold', - }, - Marshmallon: { - species: 'Munchlax', ability: 'Stubbornness', item: 'Eviolite', gender: 'M', - moves: ['Head Charge', 'Flare Blitz', 'Wood Hammer', 'Head Smash'], - signatureMove: 'RAWWWR', - evs: {hp: 248, def: 252, spd: 8}, ivs: {spe: 0}, nature: 'Relaxed', - }, - Meicoo: { - species: 'Venusaur', ability: 'Regenerator', item: 'Venusaurite', gender: 'M', - moves: ['Sludge Bomb', ['Giga Drain', 'Knock Off', 'Flamethrower'], ['Recover', 'Strength Sap']], - signatureMove: 'spamguess', - evs: {hp: 252, def: 252, spd: 4}, nature: 'Bold', - }, - Mitsuki: { - species: 'Leafeon', ability: 'Photosynthesis', item: ['Life Orb', 'Miracle Seed'], gender: 'M', - moves: ['Leaf Blade', 'Attack Order', 'Thousand Arrows'], - signatureMove: 'Terraforming', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - n10siT: { - species: 'Hoopa', ability: 'Greedy Magician', item: 'Focus Sash', gender: 'N', - moves: ['Hyperspace Hole', 'Shadow Ball', 'Aura Sphere'], - signatureMove: 'Unbind', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Naziel: { - species: 'Kirlia', ability: 'Prankster', item: 'Eviolite', gender: '', - moves: ['Glare', 'Defog', 'Swagger'], - signatureMove: 'Not-so-worthy Pirouette', - evs: {hp: 252, def: 200, spd: 56}, ivs: {atk: 0}, nature: 'Calm', shiny: true, - }, - Theia: { - species: 'Litwick', ability: 'Burning Soul', item: 'Spooky Plate', gender: 'F', - moves: ['Shadow Ball', 'Flamethrower', 'Giga Drain'], - signatureMove: 'Mad Hacks', - evs: {hp: 252, spa: 252, spd: 4}, ivs: {atk: 0, spe: 0}, nature: 'Quiet', shiny: true, - }, - Notater517: { - species: 'Jellicent', ability: 'Last-Minute Lag', item: 'Leftovers', gender: 'M', - moves: ['Hydro Cannon', 'Blast Burn', ['Toxic Spikes', 'Recover']], - signatureMove: 'Techno Tuber Transmission', - evs: {hp: 236, spa: 252, spe: 20}, ivs: {atk: 0}, nature: 'Modest', - }, - nui: { - species: 'Jigglypuff', ability: 'Condition Override', item: 'King\'s Rock', gender: 'M', - moves: ['Stealth Rock', 'Attract', 'Heal Order'], - signatureMove: 'Win Condition', - evs: {hp: 248, def: 92, spd: 168}, nature: 'Bold', shiny: true, - }, - 'OM~!': { - species: 'Glastrier', ability: 'Filter', item: 'Heavy Duty Boots', gender: 'M', - moves: ['Recover', 'Stealth Rock', 'Earthquake'], - signatureMove: 'OM Zoom', - evs: {hp: 252, def: 252, spd: 4}, ivs: {spe: 0}, nature: 'Relaxed', - }, - Overneat: { - species: 'Absol', ability: 'Intimidate', item: 'Absolite', gender: 'M', - moves: ['Play Rough', 'U-turn', 'Close Combat'], - signatureMove: 'Healing you?', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - pants: { - species: 'Phantump', ability: 'Ghost Spores', item: 'Eviolite', gender: 'M', - moves: ['Taunt', 'Spirit Shackle', ['Horn Leech', 'U-turn', 'Flip Turn']], - signatureMove: 'Wistful Thinking', - evs: {hp: 252, def: 4, spd: 252}, nature: 'Impish', shiny: true, - }, - 'Paradise ╱╲☼': { - species: 'Slaking', ability: 'Unaware', item: 'Choice Scarf', gender: '', - moves: ['Sacred Fire', 'Spectral Thief', 'Icicle Crash'], - signatureMove: 'Rapid Turn', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - PartMan: { - species: 'Chandelure', ability: 'Hecatomb', item: 'Focus Sash', gender: 'M', - moves: ['Nasty Plot', 'Draining Kiss', 'Dark Pulse'], - signatureMove: 'Baleful Blaze', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - 'PartMan-Shiny': { - species: 'Chandelure', ability: 'Hecatomb', item: 'Focus Sash', gender: 'M', - moves: ['Nasty Plot', 'Light of Ruin', 'Fiery Wrath'], - signatureMove: 'Baleful Blaze', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', shiny: true, - skip: 'PartMan', - }, - 'peapod c': { - species: 'Dragapult', ability: 'Stealth Black', item: 'Leftovers', gender: 'M', - moves: ['Hex', 'Dragon Darts', 'Work Up'], - signatureMove: 'Submartingale', - evs: {atk: 4, spa: 252, spe: 252}, nature: 'Mild', - }, - 'Perish Song': { - species: 'Rhydon', ability: 'Soup Sipper', item: 'Rocky Helmet', gender: 'M', - moves: ['Swords Dance', 'Stealth Rock', 'Rock Blast'], - signatureMove: 'Trickery', - evs: {hp: 252, atk: 4, def: 252}, nature: 'Impish', - }, - phiwings99: { - species: 'Froslass', ability: 'Plausible Deniability', item: 'Heavy Duty Boots', gender: 'M', - moves: ['Moongeist Beam', 'Spikes', 'Haze'], - signatureMove: 'Ghost of 1v1 Past', - evs: {hp: 252, spa: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - 'piloswine gripado': { - species: 'Piloswine', ability: 'Forever Winter Nights', item: 'Eviolite', gender: 'M', - moves: ['Earthquake', 'Bulk Up', 'refresh'], - signatureMove: 'Icicle Spirits', - evs: {hp: 252, atk: 252, def: 4}, nature: 'Adamant', - }, - 'PiraTe Princess': { - species: 'Polteageist', ability: 'Wild Magic Surge', item: 'Expert Belt', gender: 'F', - moves: [ - 'Moongeist Beam', 'Spacial Rend', [ - 'Tri Attack', 'Fiery Dance', 'Scald', 'Discharge', 'Apple Acid', 'Ice Beam', - 'Aura Sphere', 'Sludge Bomb', 'Earth Power', 'Oblivion Wing', 'Psyshock', 'Bug Buzz', - 'Power Gem', 'Dark Pulse', 'Flash Cannon', 'Dazzling Gleam', - ], - ], - signatureMove: 'Dungeons & Dragons', - evs: {def: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - Psynergy: { - species: 'Rayquaza', ability: 'Supernova', item: 'Wise Glasses', gender: 'M', - moves: ['Bouncy Bubble', 'Discharge', 'Lava Plume'], - signatureMove: 'Clear Breath', - evs: {spa: 252, spd: 4, spe: 252}, nature: 'Serious', shiny: true, - }, - ptoad: { - species: 'Palpitoad', ability: 'Swampy Surge', item: 'Eviolite', gender: 'M', - moves: ['Recover', 'Refresh', ['Sludge Bomb', 'Sludge Wave']], - signatureMove: 'Croak', - evs: {hp: 248, def: 8, spd: 252}, ivs: {atk: 0}, nature: 'Calm', - }, - Rabia: { - species: 'Mew', ability: 'Psychic Surge', item: 'Life Orb', gender: 'M', - moves: ['Nasty Plot', ['Flamethrower', 'Fire Blast'], 'Roost'], - signatureMove: 'Psycho Drive', - evs: {spa: 252, spd: 4, spe: 252}, nature: 'Timid', shiny: true, - }, - Rach: { - species: 'Spinda', ability: 'BURN IT DOWN!', item: 'Leftovers', gender: 'F', - moves: ['Extreme Speed', 'Recover', 'Knock Off'], - signatureMove: 'Spinda Wheel', - evs: {hp: 252, atk: 4, def: 252}, nature: 'Impish', - }, - Rage: { - species: 'Espeon', ability: 'Inversion Surge', item: 'Leftovers', gender: 'M', - moves: ['Psychic', 'Calm Mind', 'Hyper Voice'], - signatureMove: ':shockedlapras:', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - 'Raihan Kibana': { - species: 'Stoutland', ability: 'Royal Coat', item: 'Leftovers', gender: 'M', - moves: ['Knock Off', 'Thousand Waves', ['Play Rough', 'Power Whip']], - signatureMove: 'Stony Kibbles', - evs: {atk: 128, spd: 252, spe: 128}, nature: 'Jolly', - }, - 'Raj.Shoot': { - species: 'Charizard', ability: 'Tough Claws', item: 'Heavy-Duty Boots', gender: 'N', - moves: ['Flare Blitz', 'Dragon Claw', 'Roost'], - signatureMove: 'Fan Service', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - Ransei: { - species: 'Audino', ability: 'Neutralizing Gas', item: 'Choice Scarf', gender: 'M', - moves: ['Trick', 'Recover', 'Spectral Thief'], - signatureMove: 'ripsei', - evs: {hp: 252, atk: 4, spe: 252}, nature: 'Jolly', - }, - RavioliQueen: { - species: 'Mismagius', ability: 'Phantom Plane', item: 'Spell Tag', gender: '', - moves: ['Shadow Ball', 'Dark Pulse', 'Psychic'], - signatureMove: 'Witching Hour', - evs: {def: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - Robb576: { - species: 'Necrozma-Dawn-Wings', ability: 'The Numbers Game', item: 'Metronome', gender: 'M', - moves: ['Moongeist Beam', 'Psystrike', 'Thunder Wave'], - signatureMove: 'Mode [5: Offensive]', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - 'Robb576-Dusk-Mane': { - species: 'Necrozma-Dusk-Mane', ability: 'The Numbers Game', item: 'Leftovers', gender: 'M', - moves: ['Sunsteel Strike', 'Toxic', 'Rapid Spin'], - signatureMove: 'Mode [7: Defensive]', - evs: {hp: 252, atk: 4, spd: 252}, nature: 'Careful', - skip: 'Robb576', // This set is transformed into by The Numbers Game ability - }, - 'Robb576-Ultra': { - species: 'Necrozma-Ultra', ability: 'The Numbers Game', item: 'Modium-6 Z', gender: 'M', - moves: ['Earthquake', 'Dynamax Cannon', 'Fusion Flare'], - signatureMove: 'Photon Geyser', - evs: {atk: 204, spa: 200, spe: 104}, nature: 'Hasty', - skip: 'Robb576', // This set is transformed into by The Numbers Game ability - }, - Sectonia: { - species: 'Reuniclus', ability: 'Royal Aura', item: 'Leftovers', gender: 'M', - moves: ['Eerie Spell', 'Moonblast', 'Recover'], - signatureMove: 'Homunculus\'s Vanity', - evs: {hp: 252, def: 252, spd: 4}, ivs: {atk: 0, spe: 0}, nature: 'Relaxed', shiny: true, - }, - Segmr: { - species: 'Runerigus', ability: 'Skill Drain', item: 'Leftovers', gender: 'M', - moves: ['Recover', 'Will-O-Wisp', 'Protect'], - signatureMove: 'Tsukuyomi', - evs: {hp: 252, def: 4, spd: 252}, nature: 'Calm', shiny: true, - }, - sejesensei: { - species: 'Garbodor', ability: 'Trash Consumer', item: 'Red Card', gender: 'M', - moves: ['Toxic Spikes', 'Spikes', 'Thousand Waves'], - signatureMove: 'Bad Opinion', - evs: {hp: 252, atk: 56, def: 200}, nature: 'Impish', shiny: 2, - }, - Seso: { - species: 'Nidoking', ability: 'Intrepid Sword', item: 'Weakness Policy', gender: 'M', - moves: ['Sacred Sword', 'Leaf Blade', 'Behemoth Blade'], - signatureMove: 'Legendary Swordsman', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Adamant', shiny: true, - }, - Shadecession: { - species: 'Honchkrow', ability: 'Shady Deal', item: 'Heavy Duty Boots', gender: 'M', - moves: ['Knock Off', 'Roost', 'Brave Bird'], - signatureMove: 'Shade Uppercut', - evs: {atk: 252, spd: 4, spe: 252}, nature: 'Jolly', shiny: true, - }, - 'Soft Flex': { - species: 'Zapdos', ability: 'Eye of the Storm', item: ['Leftovers', 'Damp Rock'], gender: '', - moves: ['Thunder', 'Roost', ['Defog', 'Toxic']], - signatureMove: 'Updraft', - evs: {hp: 252, def: 252, spe: 8}, ivs: {atk: 0}, nature: 'Bold', shiny: 1024, - }, - Spandan: { - species: 'Mareanie', ability: 'Hacked Corrosion', item: 'Eviolite', gender: 'M', - moves: ['Toxic', 'Recover', 'Spiky Shield'], - signatureMove: 'I\'m Toxic You\'re Slippin\' Under', - evs: {hp: 252, def: 4, spd: 252}, nature: 'Calm', - }, - Struchni: { - species: 'Aggron', ability: 'Overasked Clause', item: 'Choice Band', gender: 'M', - moves: ['Pursuit', 'U-turn', 'Fishious Rend'], - signatureMove: 'Veto', - evs: {hp: 251, atk: 5, def: 11, spd: 241}, nature: 'Careful', - }, - Teclis: { - species: 'Typhlosion', ability: 'Fiery Fur', item: 'Heavy Duty Boots', gender: 'M', - moves: ['Earth Power', 'Seed Flare', 'Spiky Shield'], - signatureMove: 'Kaboom', - evs: {def: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - temp: { - species: 'Latias', ability: 'Charged Up', item: 'Dragon Fang', gender: 'F', - moves: ['Psychic', 'Surf', 'Roost'], - signatureMove: 'DROP A DRACO', - evs: {def: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', shiny: true, - }, - 'The Immortal': { - species: 'Xurkitree', ability: 'Teravolt', item: 'Electrium Z', gender: '', - moves: ['Tail Glow', 'Freeze Dry', 'Secret Sword'], - signatureMove: 'Watt Up', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Timid', - }, - thewaffleman: { - species: 'Mr. Rime', ability: 'Prankster', item: 'Kasib Berry', gender: 'M', - moves: ['Cotton Guard', 'Slack Off', 'Focus Blast'], - signatureMove: 'Ice Press', - evs: {hp: 252, def: 4, spd: 252}, ivs: {atk: 0}, nature: 'Calm', - }, - tiki: { - species: 'Snom', ability: 'True Grit', item: 'Eviolite', gender: 'M', - moves: ['Toxic', 'Strength Sap', 'U-turn'], - signatureMove: 'Right. On. Cue!', - evs: {hp: 128, def: 144, spd: 236}, ivs: {atk: 0}, nature: 'Bold', - }, - trace: { - species: 'Jirachi', ability: 'Trace', item: 'Leftovers', gender: '', - moves: ['Wish', 'Protect', 'Psychic'], - signatureMove: 'Hero Creation', - evs: {hp: 248, def: 8, spd: 252}, ivs: {atk: 0}, nature: 'Calm', - }, - Trickster: { - species: 'Shiinotic', ability: 'Trillionage Roots', item: 'Leftovers', gender: '', - moves: ['Strength Sap', 'Cosmic Power', 'Knock Off'], - signatureMove: 'Soul-Shattering Stare', - evs: {hp: 252, def: 252, spd: 4}, nature: 'Bold', shiny: true, - }, - Vexen: { - species: 'Tauros', ability: 'Aquila\'s Blessing', item: 'Life Orb', gender: 'M', - moves: ['Earthquake', 'Zen Headbutt', 'Rock Slide'], - signatureMove: 'Asterius Strike', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, - vivalospride: { - species: 'Darmanitan-Zen', ability: 'Regenerator', item: 'Heavy Duty Boots', gender: 'M', - moves: ['Teleport', 'Future Sight', 'Toxic'], - signatureMove: 'DRIP BAYLESS', - evs: {hp: 252, spa: 252, def: 4}, ivs: {atk: 0}, nature: 'Modest', - }, - Volco: { - species: 'Volcanion', ability: 'Speedrunning', item: 'Choice Scarf', - moves: ['Steam Eruption', ['Vacuum Wave', 'Secret Sword'], 'Overdrive'], - signatureMove: 'Glitch Exploiting', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: 'Timid', gender: 'N', - }, - vooper: { - species: 'Pancham', ability: 'Qi-Gong', item: 'Eviolite', gender: 'M', - moves: ['Drain Punch', 'Knock Off', 'Swords Dance'], - signatureMove: 'Panda Express', - evs: {hp: 252, atk: 252, spd: 4}, ivs: {atk: 0}, nature: 'Adamant', - }, - yuki: { - species: 'Pikachu-Cosplay', ability: 'Combat Training', item: 'Light Ball', gender: 'F', - moves: ['Quick Attack', 'Agility'], - signatureMove: 'Class Change', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, nature: ['Modest', 'Timid'], - }, - 'yuki-Cleric': { - species: 'Pikachu-PhD', ability: 'Triage', item: 'Light Ball', gender: 'F', - moves: ['Parabolic Charge', 'Wish', 'Baton Pass'], - signatureMove: 'Class Change', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, - skip: 'yuki', - }, - 'yuki-Dancer': { - species: 'Pikachu-Pop-Star', ability: 'Dancer', item: 'Light Ball', gender: 'F', - moves: ['Fiery Dance', 'Revelation Dance', 'Quiver Dance'], - signatureMove: 'Class Change', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, - skip: 'yuki', - }, - 'yuki-Ninja': { - species: 'Pikachu-Libre', ability: 'White Smoke', item: 'Light Ball', gender: 'F', - moves: ['Water Shuriken', 'Frost Breath', 'Toxic'], - signatureMove: 'Class Change', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, - skip: 'yuki', - }, - 'yuki-Songstress': { - species: 'Pikachu-Rock-Star', ability: 'Punk Rock', item: 'Light Ball', gender: 'F', - moves: ['Hyper Voice', 'Overdrive', 'Sing'], - signatureMove: 'Class Change', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, - skip: 'yuki', - }, - 'yuki-Jester': { - species: 'Pikachu-Belle', ability: 'Weak Armor', item: 'Light Ball', gender: 'F', - moves: ['Fire Blast', 'Thunder', 'Blizzard'], - signatureMove: 'Class Change', - evs: {hp: 4, spa: 252, spe: 252}, ivs: {atk: 0}, - skip: 'yuki', - }, - Zalm: { - species: 'Weedle', ability: 'Berserk', item: 'Sitrus Berry', gender: 'M', - moves: ['Quiver Dance', 'Belch', ['Snipe Shot', 'Power Gem']], - signatureMove: 'Ingredient Foraging', - evs: {hp: 252, spa: 252, spd: 4}, ivs: {atk: 0}, nature: 'Modest', - }, - Zarel: { - species: 'Meloetta', ability: 'Dancer', item: 'Leftovers', gender: 'N', - moves: ['Quiver Dance', 'Feather Dance', 'Lunar Dance'], - signatureMove: 'Relic Dance', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - }, - 'Zarel-Pirouette': { - species: 'Meloetta-Pirouette', ability: 'Serene Grace', item: 'Leftovers', gender: 'N', - moves: ['Revelation Dance', 'Fiery Dance', 'Petal Dance'], - signatureMove: 'Relic Dance', - evs: {spa: 252, spd: 4, spe: 252}, ivs: {atk: 0}, nature: 'Modest', - skip: 'Zarel', - }, - Zodiax: { - species: 'Oricorio-Pom-Pom', ability: 'Primordial Sea', item: 'Heavy-Duty Boots', gender: 'M', - moves: ['Quiver Dance', 'Hurricane', 'Thunder'], - signatureMove: 'Big Storm Coming', - evs: {hp: 4, spa: 252, spe: 252}, nature: 'Timid', - }, - Zyg: { - species: 'Azelf', ability: 'Magic Bounce', item: ['Life Orb', 'Expert Belt'], gender: 'M', - moves: ['Photon Geyser', 'Knock Off', ['U-turn', 'Play Rough', 'Close Combat']], - signatureMove: 'Luck of the Draw', - evs: {atk: 252, def: 4, spe: 252}, nature: 'Jolly', - }, -}; - -const afdSSBSets: SSBSets = { - 'Fox': { - species: 'Delphox', ability: 'No Ability', item: '', gender: '', - moves: [], - signatureMove: 'Super Metronome', - }, -}; - -export class RandomStaffBrosTeams extends RandomGen8Teams { - randomStaffBrosTeam(options: {inBattle?: boolean} = {}) { - this.enforceNoDirectCustomBanlistChanges(); - - const team: PokemonSet[] = []; - const debug: string[] = []; // Set this to a list of SSB sets to override the normal pool for debugging. - const ruleTable = this.dex.formats.getRuleTable(this.format); - const wiiulegacy = !ruleTable.has('dynamaxclause'); - const monotype = ruleTable.has('sametypeclause') ? this.sample([...this.dex.types.names()]) : false; - - let pool = debug.length ? debug : wiiulegacy ? Object.keys(afdSSBSets) : Object.keys(ssbSets); - if (monotype && !debug.length) { - pool = pool.filter(x => this.dex.species.get(ssbSets[x].species).types.includes(monotype)); - } - const typePool: {[k: string]: number} = {}; - let depth = 0; - while (pool.length && team.length < this.maxTeamSize) { - if (depth >= 200) throw new Error(`Infinite loop in Super Staff Bros team generation.`); - depth++; - const name = wiiulegacy ? this.sample(pool) : this.sampleNoReplace(pool); - const ssbSet: SSBSet = wiiulegacy ? this.dex.deepClone(afdSSBSets[name]) : this.dex.deepClone(ssbSets[name]); - if (ssbSet.skip) continue; - - // Enforce typing limits - if (!(debug.length || monotype || wiiulegacy)) { // Type limits are ignored for debugging, monotype, or memes. - const species = this.dex.species.get(ssbSet.species); - if (this.forceMonotype && !species.types.includes(this.forceMonotype)) continue; - - const weaknesses = []; - for (const type of this.dex.types.names()) { - const typeMod = this.dex.getEffectiveness(type, species.types); - if (typeMod > 0) weaknesses.push(type); - } - let rejected = false; - for (const type of weaknesses) { - if (typePool[type] === undefined) typePool[type] = 0; - if (typePool[type] >= 3) { - // Reject - rejected = true; - break; - } - } - if (ssbSet.ability === 'Wonder Guard') { - if (!typePool['wonderguard']) { - typePool['wonderguard'] = 1; - } else { - rejected = true; - } - } - if (rejected) continue; - // Update type counts - for (const type of weaknesses) { - typePool[type]++; - } - } - - const set: PokemonSet = { - name: name, - species: ssbSet.species, - item: Array.isArray(ssbSet.item) ? this.sampleNoReplace(ssbSet.item) : ssbSet.item, - ability: Array.isArray(ssbSet.ability) ? this.sampleNoReplace(ssbSet.ability) : ssbSet.ability, - moves: [], - nature: ssbSet.nature ? Array.isArray(ssbSet.nature) ? this.sampleNoReplace(ssbSet.nature) : ssbSet.nature : 'Serious', - gender: ssbSet.gender || this.sample(['M', 'F', 'N']), - evs: ssbSet.evs ? {...{hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 0}, ...ssbSet.evs} : - {hp: 84, atk: 84, def: 84, spa: 84, spd: 84, spe: 84}, - ivs: {...{hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}, ...ssbSet.ivs}, - level: this.adjustLevel || ssbSet.level || 100, - happiness: typeof ssbSet.happiness === 'number' ? ssbSet.happiness : 255, - shiny: typeof ssbSet.shiny === 'number' ? this.randomChance(1, ssbSet.shiny) : !!ssbSet.shiny, - }; - while (set.moves.length < 3 && ssbSet.moves.length > 0) { - let move = this.sampleNoReplace(ssbSet.moves); - if (Array.isArray(move)) move = this.sampleNoReplace(move); - set.moves.push(move); - } - set.moves.push(ssbSet.signatureMove); - - // Any set specific tweaks occur here. - if (set.name === 'Marshmallon' && !set.moves.includes('Head Charge')) set.moves[this.random(3)] = 'Head Charge'; - - if (wiiulegacy) { - const egg = this.random(100); - if (egg === 69) { - set.name = 'Falco'; - set.species = 'Swellow'; - } else if (egg === 96) { - set.name = 'Captain Falcon'; - set.species = 'Talonflame'; - } - if (this.randomChance(1, 100)) { - set.item = 'Mail'; - } - } - - team.push(set); - - // Team specific tweaks occur here - // Swap last and second to last sets if last set has Illusion - if (team.length === this.maxTeamSize && set.ability === 'Illusion') { - team[this.maxTeamSize - 1] = team[this.maxTeamSize - 2]; - team[this.maxTeamSize - 2] = set; - } - } - return team; - } -} - -export default RandomStaffBrosTeams; diff --git a/data/mods/ssb/scripts.ts b/data/mods/ssb/scripts.ts deleted file mode 100644 index 0c4868677607..000000000000 --- a/data/mods/ssb/scripts.ts +++ /dev/null @@ -1,1037 +0,0 @@ -export const Scripts: ModdedBattleScriptsData = { - gen: 8, - inherit: 'gen8', - actions: { - // 1 mega per pokemon - runMegaEvo(pokemon) { - if (pokemon.name === 'Struchni' && pokemon.species.name === 'Aggron') pokemon.canMegaEvo = 'Aggron-Mega'; - if (pokemon.name === 'Raj.Shoot' && pokemon.species.name === 'Charizard') pokemon.canMegaEvo = 'Charizard-Mega-X'; - const speciesid = pokemon.canMegaEvo || pokemon.canUltraBurst; - if (!speciesid) return false; - - pokemon.formeChange(speciesid, pokemon.getItem(), true); - if (pokemon.canMegaEvo) { - pokemon.canMegaEvo = null; - } else { - pokemon.canUltraBurst = null; - } - - this.battle.runEvent('AfterMega', pokemon); - - if (['Kaiju Bunny', 'Overneat', 'EpicNikolai'].includes(pokemon.name) && !pokemon.illusion) { - this.battle.add('-start', pokemon, 'typechange', pokemon.types.join('/')); - } - - this.battle.add('-ability', pokemon, `${pokemon.getAbility().name}`); - - return true; - }, - - // Modded for Mega Rayquaza - canMegaEvo(pokemon) { - const species = pokemon.baseSpecies; - const altForme = species.otherFormes && this.dex.species.get(species.otherFormes[0]); - const item = pokemon.getItem(); - // Mega Rayquaza - if (altForme?.isMega && altForme?.requiredMove && - pokemon.baseMoves.includes(this.battle.toID(altForme.requiredMove)) && !item.zMove) { - return altForme.name; - } - // a hacked-in Megazard X can mega evolve into Megazard Y, but not into Megazard X - if (item.megaEvolves === species.baseSpecies && item.megaStone !== species.name) { - return item.megaStone; - } - return null; - }, - - // 1 Z per pokemon - canZMove(pokemon) { - if (pokemon.m.zMoveUsed || - (pokemon.transformed && - (pokemon.species.isMega || pokemon.species.isPrimal || pokemon.species.forme === "Ultra")) - ) return; - const item = pokemon.getItem(); - if (!item.zMove) return; - if (item.itemUser && !item.itemUser.includes(pokemon.species.name)) return; - let atLeastOne = false; - let mustStruggle = true; - const zMoves: ZMoveOptions = []; - for (const moveSlot of pokemon.moveSlots) { - if (moveSlot.pp <= 0) { - zMoves.push(null); - continue; - } - if (!moveSlot.disabled) { - mustStruggle = false; - } - const move = this.dex.moves.get(moveSlot.move); - let zMoveName = this.getZMove(move, pokemon, true) || ''; - if (zMoveName) { - const zMove = this.dex.moves.get(zMoveName); - if (!zMove.isZ && zMove.category === 'Status') zMoveName = "Z-" + zMoveName; - zMoves.push({move: zMoveName, target: zMove.target}); - } else { - zMoves.push(null); - } - if (zMoveName) atLeastOne = true; - } - if (atLeastOne && !mustStruggle) return zMoves; - }, - - getZMove(move, pokemon, skipChecks) { - const item = pokemon.getItem(); - if (!skipChecks) { - if (pokemon.m.zMoveUsed) return; - if (!item.zMove) return; - if (item.itemUser && !item.itemUser.includes(pokemon.species.name)) return; - const moveData = pokemon.getMoveData(move); - // Draining the PP of the base move prevents the corresponding Z-move from being used. - if (!moveData?.pp) return; - } - - if (move.name === item.zMoveFrom) { - return item.zMove as string; - } else if (item.zMove === true && move.type === item.zMoveType) { - if (move.category === "Status") { - return move.name; - } else if (move.zMove?.basePower) { - return this.Z_MOVES[move.type]; - } - } - }, - - runMove(moveOrMoveName, pokemon, targetLoc, sourceEffect, zMove, externalMove, maxMove, originalTarget) { - pokemon.activeMoveActions++; - let target = this.battle.getTarget(pokemon, maxMove || zMove || moveOrMoveName, targetLoc, originalTarget); - let baseMove = this.dex.getActiveMove(moveOrMoveName); - const pranksterBoosted = baseMove.pranksterBoosted; - if (baseMove.id !== 'struggle' && !zMove && !maxMove && !externalMove) { - const changedMove = this.battle.runEvent('OverrideAction', pokemon, target, baseMove); - if (changedMove && changedMove !== true) { - baseMove = this.dex.getActiveMove(changedMove); - if (pranksterBoosted) baseMove.pranksterBoosted = pranksterBoosted; - target = this.battle.getRandomTarget(pokemon, baseMove); - } - } - let move = baseMove; - if (zMove) { - move = this.getActiveZMove(baseMove, pokemon); - } else if (maxMove) { - move = this.getActiveMaxMove(baseMove, pokemon); - } - - move.isExternal = externalMove; - - this.battle.setActiveMove(move, pokemon, target); - - /* if (pokemon.moveThisTurn) { - // THIS IS PURELY A SANITY CHECK - // DO NOT TAKE ADVANTAGE OF THIS TO PREVENT A POKEMON FROM MOVING; - // USE this.battle.queue.cancelMove INSTEAD - this.battle.debug('' + pokemon.id + ' INCONSISTENT STATE, ALREADY MOVED: ' + pokemon.moveThisTurn); - this.battle.clearActiveMove(true); - return; - } */ - const willTryMove = this.battle.runEvent('BeforeMove', pokemon, target, move); - if (!willTryMove) { - this.battle.runEvent('MoveAborted', pokemon, target, move); - this.battle.clearActiveMove(true); - // The event 'BeforeMove' could have returned false or null - // false indicates that this counts as a move failing for the purpose of calculating Stomping Tantrum's base power - // null indicates the opposite, as the Pokemon didn't have an option to choose anything - pokemon.moveThisTurnResult = willTryMove; - return; - } - if (move.beforeMoveCallback) { - if (move.beforeMoveCallback.call(this.battle, pokemon, target, move)) { - this.battle.clearActiveMove(true); - pokemon.moveThisTurnResult = false; - return; - } - } - pokemon.lastDamage = 0; - let lockedMove; - if (!externalMove) { - lockedMove = this.battle.runEvent('LockMove', pokemon); - if (lockedMove === true) lockedMove = false; - if (!lockedMove) { - if (!pokemon.deductPP(baseMove, null, target) && (move.id !== 'struggle')) { - this.battle.add('cant', pokemon, 'nopp', move); - const gameConsole = [ - null, 'Game Boy', 'Game Boy Color', 'Game Boy Advance', 'DS', 'DS', '3DS', '3DS', - ][this.battle.gen] || 'Switch'; - this.battle.hint(`This is not a bug, this is really how it works on the ${gameConsole}; try it yourself if you don't believe us.`); - this.battle.clearActiveMove(true); - pokemon.moveThisTurnResult = false; - return; - } - } else { - sourceEffect = this.dex.conditions.get('lockedmove'); - } - pokemon.moveUsed(move, targetLoc); - } - - // Dancer Petal Dance hack - // TODO: implement properly - const noLock = externalMove && !pokemon.volatiles['lockedmove']; - - if (zMove) { - if (pokemon.illusion) { - this.battle.singleEvent('End', this.dex.abilities.get('Illusion'), pokemon.abilityState, pokemon); - } - this.battle.add('-zpower', pokemon); - // In SSB Z-Moves are limited to 1 per pokemon. - pokemon.m.zMoveUsed = true; - } - const moveDidSomething = this.battle.actions.useMove(baseMove, pokemon, target, sourceEffect, zMove, maxMove); - if (this.battle.activeMove) move = this.battle.activeMove; - this.battle.singleEvent('AfterMove', move, null, pokemon, target, move); - this.battle.runEvent('AfterMove', pokemon, target, move); - - // Dancer's activation order is completely different from any other event, so it's handled separately - if (move.flags['dance'] && moveDidSomething && !move.isExternal) { - const dancers = []; - for (const currentPoke of this.battle.getAllActive()) { - if (pokemon === currentPoke) continue; - if (currentPoke.hasAbility('dancer') && !currentPoke.isSemiInvulnerable()) { - dancers.push(currentPoke); - } - } - // Dancer activates in order of lowest speed stat to highest - // Note that the speed stat used is after any volatile replacements like Speed Swap, - // but before any multipliers like Agility or Choice Scarf - // Ties go to whichever Pokemon has had the ability for the least amount of time - dancers.sort( - (a, b) => -(b.storedStats['spe'] - a.storedStats['spe']) || b.abilityOrder - a.abilityOrder - ); - for (const dancer of dancers) { - if (this.battle.faintMessages()) break; - if (dancer.fainted) continue; - this.battle.add('-activate', dancer, 'ability: Dancer'); - const dancersTarget = !target!.isAlly(dancer) && pokemon.isAlly(dancer) ? target! : pokemon; - const dancersTargetLoc = dancer.getLocOf(dancersTarget); - this.runMove(move.id, dancer, dancersTargetLoc, this.dex.abilities.get('dancer'), undefined, true); - } - } - if (noLock && pokemon.volatiles['lockedmove']) delete pokemon.volatiles['lockedmove']; - }, - - // Dollar Store Brand prankster immunity implementation - hitStepTryImmunity(targets, pokemon, move) { - const hitResults = []; - for (const [i, target] of targets.entries()) { - if (this.battle.gen >= 6 && move.flags['powder'] && target !== pokemon && !this.dex.getImmunity('powder', target)) { - this.battle.debug('natural powder immunity'); - this.battle.add('-immune', target); - hitResults[i] = false; - } else if (!this.battle.singleEvent('TryImmunity', move, {}, target, pokemon, move)) { - this.battle.add('-immune', target); - hitResults[i] = false; - } else if ( - this.battle.gen >= 7 && move.pranksterBoosted && - (pokemon.hasAbility('prankster') || pokemon.hasAbility('plausibledeniability') || pokemon.volatiles['nol']) && - !targets[i].isAlly(pokemon) && !this.dex.getImmunity('prankster', target) - ) { - this.battle.debug('natural prankster immunity'); - if (!target.illusion) this.battle.hint("Since gen 7, Dark is immune to Prankster moves."); - this.battle.add('-immune', target); - hitResults[i] = false; - } else { - hitResults[i] = true; - } - } - return hitResults; - }, - - // For Jett's The Hunt is On! - useMoveInner(moveOrMoveName, pokemon, target, sourceEffect, zMove, maxMove) { - if (!sourceEffect && this.battle.effect.id) sourceEffect = this.battle.effect; - if (sourceEffect && ['instruct', 'custapberry'].includes(sourceEffect.id)) sourceEffect = null; - - let move = this.dex.getActiveMove(moveOrMoveName); - if (move.id === 'weatherball' && zMove) { - // Z-Weather Ball only changes types if it's used directly, - // not if it's called by Z-Sleep Talk or something. - this.battle.singleEvent('ModifyType', move, null, pokemon, target, move, move); - if (move.type !== 'Normal') sourceEffect = move; - } - if (zMove || (move.category !== 'Status' && sourceEffect && (sourceEffect as ActiveMove).isZ)) { - move = this.getActiveZMove(move, pokemon); - } - if (maxMove && move.category !== 'Status') { - // Max move outcome is dependent on the move type after type modifications from ability and the move itself - this.battle.singleEvent('ModifyType', move, null, pokemon, target, move, move); - this.battle.runEvent('ModifyType', pokemon, target, move, move); - } - if (maxMove || (move.category !== 'Status' && sourceEffect && (sourceEffect as ActiveMove).isMax)) { - move = this.getActiveMaxMove(move, pokemon); - } - - if (this.battle.activeMove) { - move.priority = this.battle.activeMove.priority; - if (!move.hasBounced) move.pranksterBoosted = this.battle.activeMove.pranksterBoosted; - } - const baseTarget = move.target; - if (target === undefined) target = this.battle.getRandomTarget(pokemon, move); - if (move.target === 'self' || move.target === 'allies') { - target = pokemon; - } - if (sourceEffect) { - move.sourceEffect = sourceEffect.id; - move.ignoreAbility = false; - } - let moveResult = false; - - this.battle.setActiveMove(move, pokemon, target); - - this.battle.singleEvent('ModifyType', move, null, pokemon, target, move, move); - this.battle.singleEvent('ModifyMove', move, null, pokemon, target, move, move); - if (baseTarget !== move.target) { - // Target changed in ModifyMove, so we must adjust it here - // Adjust before the next event so the correct target is passed to the - // event - target = this.battle.getRandomTarget(pokemon, move); - } - move = this.battle.runEvent('ModifyType', pokemon, target, move, move); - move = this.battle.runEvent('ModifyMove', pokemon, target, move, move); - if (baseTarget !== move.target) { - // Adjust again - target = this.battle.getRandomTarget(pokemon, move); - } - if (!move || pokemon.fainted) { - return false; - } - - let attrs = ''; - - let movename = move.name; - if (move.id === 'hiddenpower') movename = 'Hidden Power'; - if (sourceEffect) attrs += '|[from]' + this.dex.conditions.get(sourceEffect); - if (zMove && move.isZ === true) { - attrs = '|[anim]' + movename + attrs; - movename = 'Z-' + movename; - } - this.battle.addMove('move', pokemon, movename, target + attrs); - - if (zMove) this.runZPower(move, pokemon); - - if (!target) { - this.battle.attrLastMove('[notarget]'); - this.battle.add(this.battle.gen >= 5 ? '-fail' : '-notarget', pokemon); - return false; - } - - const {targets, pressureTargets} = pokemon.getMoveTargets(move, target); - if (targets.length) { - target = targets[targets.length - 1]; // in case of redirection - } - - if (!sourceEffect || sourceEffect.id === 'pursuit' || sourceEffect.id === 'thehuntison') { - let extraPP = 0; - for (const source of pressureTargets) { - const ppDrop = this.battle.runEvent('DeductPP', source, pokemon, move); - if (ppDrop !== true) { - extraPP += ppDrop || 0; - } - } - if (extraPP > 0) { - pokemon.deductPP(move, extraPP); - } - } - - if (!this.battle.singleEvent('TryMove', move, null, pokemon, target, move) || - !this.battle.runEvent('TryMove', pokemon, target, move)) { - move.mindBlownRecoil = false; - return false; - } - - this.battle.singleEvent('UseMoveMessage', move, null, pokemon, target, move); - - if (move.ignoreImmunity === undefined) { - move.ignoreImmunity = (move.category === 'Status'); - } - - if (this.battle.gen !== 4 && move.selfdestruct === 'always') { - this.battle.faint(pokemon, pokemon, move); - } - - let damage: number | false | undefined | '' = false; - if (move.target === 'all' || move.target === 'foeSide' || move.target === 'allySide' || move.target === 'allyTeam') { - damage = this.tryMoveHit(target, pokemon, move); - if (damage === this.battle.NOT_FAIL) pokemon.moveThisTurnResult = null; - if (damage || damage === 0 || damage === undefined) moveResult = true; - } else { - if (!targets.length) { - this.battle.attrLastMove('[notarget]'); - this.battle.add(this.battle.gen >= 5 ? '-fail' : '-notarget', pokemon); - return false; - } - if (this.battle.gen === 4 && move.selfdestruct === 'always') { - this.battle.faint(pokemon, pokemon, move); - } - moveResult = this.trySpreadMoveHit(targets, pokemon, move); - } - if (move.selfBoost && moveResult) this.moveHit(pokemon, pokemon, move, move.selfBoost, false, true); - if (!pokemon.hp) { - this.battle.faint(pokemon, pokemon, move); - } - - if (!moveResult) { - this.battle.singleEvent('MoveFail', move, null, target, pokemon, move); - return false; - } - - if ( - !move.negateSecondary && - !(move.hasSheerForce && pokemon.hasAbility(['sheerforce', 'aquilasblessing'])) && - !this.battle.getAllActive().some(x => x.hasAbility('skilldrain')) - ) { - const originalHp = pokemon.hp; - this.battle.singleEvent('AfterMoveSecondarySelf', move, null, pokemon, target, move); - this.battle.runEvent('AfterMoveSecondarySelf', pokemon, target, move); - if (pokemon !== target && move.category !== 'Status') { - if (pokemon.hp <= pokemon.maxhp / 2 && originalHp > pokemon.maxhp / 2) { - this.battle.runEvent('EmergencyExit', pokemon, pokemon); - } - } - } - - if (move.selfSwitch && this.battle.getAllActive().some(x => x.hasAbility('skilldrain'))) { - this.battle.hint(`Self-switching doesn't trigger when a Pokemon with Skill Drain is active.`); - } - - return true; - }, - afterMoveSecondaryEvent(targets, pokemon, move) { - // console.log(`${targets}, ${pokemon}, ${move}`) - if ( - !move.negateSecondary && - !(move.hasSheerForce && pokemon.hasAbility(['sheerforce', 'aquilasblessing'])) && - !this.battle.getAllActive().some(x => x.hasAbility('skilldrain')) - ) { - this.battle.singleEvent('AfterMoveSecondary', move, null, targets[0], pokemon, move); - this.battle.runEvent('AfterMoveSecondary', targets, pokemon, move); - } - return undefined; - }, - hitStepMoveHitLoop(targets, pokemon, move) { // Temporary name - const damage: (number | boolean | undefined)[] = []; - for (const i of targets.keys()) { - damage[i] = 0; - } - move.totalDamage = 0; - pokemon.lastDamage = 0; - let targetHits = move.multihit || 1; - if (Array.isArray(targetHits)) { - // yes, it's hardcoded... meh - if (targetHits[0] === 2 && targetHits[1] === 5) { - if (this.battle.gen >= 5) { - targetHits = this.battle.sample([2, 2, 3, 3, 4, 5]); - } else { - targetHits = this.battle.sample([2, 2, 2, 3, 3, 3, 4, 5]); - } - } else { - targetHits = this.battle.random(targetHits[0], targetHits[1] + 1); - } - } - targetHits = Math.floor(targetHits); - let nullDamage = true; - let moveDamage: (number | boolean | undefined)[]; - // There is no need to recursively check the ´sleepUsable´ flag as Sleep Talk can only be used while asleep. - const isSleepUsable = move.sleepUsable || this.dex.moves.get(move.sourceEffect).sleepUsable; - - let targetsCopy: (Pokemon | false | null)[] = targets.slice(0); - let hit: number; - for (hit = 1; hit <= targetHits; hit++) { - if (damage.includes(false)) break; - if (hit > 1 && pokemon.status === 'slp' && !isSleepUsable) break; - if (targets.every(target => !target?.hp)) break; - move.hit = hit; - if (move.smartTarget && targets.length > 1) { - targetsCopy = [targets[hit - 1]]; - } else { - targetsCopy = targets.slice(0); - } - const target = targetsCopy[0]; // some relevant-to-single-target-moves-only things are hardcoded - if (target && typeof move.smartTarget === 'boolean') { - if (hit > 1) { - this.battle.addMove('-anim', pokemon, move.name, target); - } else { - this.battle.retargetLastMove(target); - } - } - - // like this (Triple Kick) - if (target && move.multiaccuracy && hit > 1) { - let accuracy = move.accuracy; - const boostTable = [1, 4 / 3, 5 / 3, 2, 7 / 3, 8 / 3, 3]; - if (accuracy !== true) { - if (!move.ignoreAccuracy) { - const boosts = this.battle.runEvent('ModifyBoost', pokemon, null, null, {...pokemon.boosts}); - const boost = this.battle.clampIntRange(boosts['accuracy'], -6, 6); - if (boost > 0) { - accuracy *= boostTable[boost]; - } else { - accuracy /= boostTable[-boost]; - } - } - if (!move.ignoreEvasion) { - const boosts = this.battle.runEvent('ModifyBoost', target, null, null, {...target.boosts}); - const boost = this.battle.clampIntRange(boosts['evasion'], -6, 6); - if (boost > 0) { - accuracy /= boostTable[boost]; - } else if (boost < 0) { - accuracy *= boostTable[-boost]; - } - } - } - accuracy = this.battle.runEvent('ModifyAccuracy', target, pokemon, move, accuracy); - if (!move.alwaysHit) { - accuracy = this.battle.runEvent('Accuracy', target, pokemon, move, accuracy); - if (accuracy !== true && !this.battle.randomChance(accuracy, 100)) break; - } - } - - const moveData = move; - if (!moveData.flags) moveData.flags = {}; - - // Modifies targetsCopy (which is why it's a copy) - [moveDamage, targetsCopy] = this.spreadMoveHit(targetsCopy, pokemon, move, moveData); - - if (!moveDamage.some(val => val !== false)) break; - nullDamage = false; - - for (const [i, md] of moveDamage.entries()) { - // Damage from each hit is individually counted for the - // purposes of Counter, Metal Burst, and Mirror Coat. - damage[i] = md === true || !md ? 0 : md; - // Total damage dealt is accumulated for the purposes of recoil (Parental Bond). - // @ts-ignore - move.totalDamage += damage[i]; - } - if (move.mindBlownRecoil) { - this.battle.damage(Math.round(pokemon.maxhp / 2), pokemon, pokemon, this.dex.conditions.get('Mind Blown'), true); - move.mindBlownRecoil = false; - } - this.battle.eachEvent('Update'); - if (!pokemon.hp && targets.length === 1) { - hit++; // report the correct number of hits for multihit moves - break; - } - } - // hit is 1 higher than the actual hit count - if (hit === 1) return damage.fill(false); - if (nullDamage) damage.fill(false); - if (move.multihit && typeof move.smartTarget !== 'boolean') { - this.battle.add('-hitcount', targets[0], hit - 1); - } - - if (move.recoil && move.totalDamage) { - this.battle.damage(this.calcRecoilDamage(move.totalDamage, move, pokemon), pokemon, pokemon, 'recoil'); - } - - if (move.struggleRecoil) { - let recoilDamage; - if (this.dex.gen >= 5) { - recoilDamage = this.battle.clampIntRange(Math.round(pokemon.baseMaxhp / 4), 1); - } else { - recoilDamage = this.battle.trunc(pokemon.maxhp / 4); - } - this.battle.directDamage(recoilDamage, pokemon, pokemon, {id: 'strugglerecoil'} as Condition); - } - - // smartTarget messes up targetsCopy, but smartTarget should in theory ensure that targets will never fail, anyway - if (move.smartTarget) targetsCopy = targets.slice(0); - - for (const [i, target] of targetsCopy.entries()) { - if (target && pokemon !== target) { - target.gotAttacked(move, damage[i] as number | false | undefined, pokemon); - } - } - - if (move.ohko && !targets[0].hp) this.battle.add('-ohko'); - - if (!damage.some(val => !!val || val === 0)) return damage; - - this.battle.eachEvent('Update'); - - this.afterMoveSecondaryEvent(targetsCopy.filter(val => !!val) as Pokemon[], pokemon, move); - - if ( - !move.negateSecondary && - !(move.hasSheerForce && pokemon.hasAbility(['sheerforce', 'aquilasblessing'])) && - !this.battle.getAllActive().some(x => x.hasAbility('skilldrain')) - ) { - for (const [i, d] of damage.entries()) { - // There are no multihit spread moves, so it's safe to use move.totalDamage for multihit moves - // The previous check was for `move.multihit`, but that fails for Dragon Darts - const curDamage = targets.length === 1 ? move.totalDamage : d; - if (typeof curDamage === 'number' && targets[i].hp) { - if (targets[i].hp <= targets[i].maxhp / 2 && targets[i].hp + curDamage > targets[i].maxhp / 2) { - this.battle.runEvent('EmergencyExit', targets[i], pokemon); - } - } - } - } - - return damage; - }, - - // For Spandan's custom move and Brandon's ability - getDamage(source, target, move, suppressMessages = false) { - if (typeof move === 'string') move = this.dex.getActiveMove(move); - - if (typeof move === 'number') { - const basePower = move; - move = new Dex.Move({ - basePower, - type: '???', - category: 'Physical', - willCrit: false, - }) as unknown as ActiveMove; - move.hit = 0; - } - - if (!move.ignoreImmunity || (move.ignoreImmunity !== true && !move.ignoreImmunity[move.type])) { - if (!target.runImmunity(move.type, !suppressMessages)) { - return false; - } - } - - if (move.ohko) return target.maxhp; - if (move.damageCallback) return move.damageCallback.call(this.battle, source, target); - if (move.damage === 'level') { - return source.level; - } else if (move.damage) { - return move.damage; - } - - const category = this.battle.getCategory(move); - - let basePower: number | false | null = move.basePower; - if (move.basePowerCallback) { - basePower = move.basePowerCallback.call(this.battle, source, target, move); - } - if (!basePower) return basePower === 0 ? undefined : basePower; - basePower = this.battle.clampIntRange(basePower, 1); - - let critMult; - let critRatio = this.battle.runEvent('ModifyCritRatio', source, target, move, move.critRatio || 0); - if (this.battle.gen <= 5) { - critRatio = this.battle.clampIntRange(critRatio, 0, 5); - critMult = [0, 16, 8, 4, 3, 2]; - } else { - critRatio = this.battle.clampIntRange(critRatio, 0, 4); - if (this.battle.gen === 6) { - critMult = [0, 16, 8, 2, 1]; - } else { - critMult = [0, 24, 8, 2, 1]; - } - } - - const moveHit = target.getMoveHitData(move); - moveHit.crit = move.willCrit || false; - if (move.willCrit === undefined) { - if (critRatio) { - moveHit.crit = this.battle.randomChance(1, critMult[critRatio]); - } - } - - if (moveHit.crit) { - moveHit.crit = this.battle.runEvent('CriticalHit', target, null, move); - } - - // happens after crit calculation - basePower = this.battle.runEvent('BasePower', source, target, move, basePower, true); - - if (!basePower) return 0; - basePower = this.battle.clampIntRange(basePower, 1); - - const level = source.level; - - const attacker = move.overrideOffensivePokemon === 'target' ? target : source; - const defender = move.overrideDefensivePokemon === 'source' ? source : target; - - const isPhysical = move.category === 'Physical'; - let attackStat: StatIDExceptHP = move.overrideOffensiveStat || (isPhysical ? 'atk' : 'spa'); - const defenseStat: StatIDExceptHP = move.overrideDefensiveStat || (isPhysical ? 'def' : 'spd'); - - const statTable = {atk: 'Atk', def: 'Def', spa: 'SpA', spd: 'SpD', spe: 'Spe'}; - - let atkBoosts = attacker.boosts[attackStat]; - let defBoosts = defender.boosts[defenseStat]; - - let ignoreNegativeOffensive = !!move.ignoreNegativeOffensive; - let ignorePositiveDefensive = !!move.ignorePositiveDefensive; - - if (moveHit.crit) { - ignoreNegativeOffensive = true; - ignorePositiveDefensive = true; - } - const ignoreOffensive = !!(move.ignoreOffensive || (ignoreNegativeOffensive && atkBoosts < 0)); - const ignoreDefensive = !!(move.ignoreDefensive || (ignorePositiveDefensive && defBoosts > 0)); - - if (ignoreOffensive) { - this.battle.debug('Negating (sp)atk boost/penalty.'); - atkBoosts = 0; - } - if (ignoreDefensive) { - this.battle.debug('Negating (sp)def boost/penalty.'); - defBoosts = 0; - } - - let attack = attacker.calculateStat(attackStat, atkBoosts); - let defense = defender.calculateStat(defenseStat, defBoosts); - - attackStat = (category === 'Physical' ? 'atk' : 'spa'); - - // Apply Stat Modifiers - attack = this.battle.runEvent('Modify' + statTable[attackStat], source, target, move, attack); - defense = this.battle.runEvent('Modify' + statTable[defenseStat], target, source, move, defense); - - if (this.battle.gen <= 4 && ['explosion', 'selfdestruct'].includes(move.id) && defenseStat === 'def') { - defense = this.battle.clampIntRange(Math.floor(defense / 2), 1); - } - - const tr = this.battle.trunc; - - // int(int(int(2 * L / 5 + 2) * A * P / D) / 50); - const baseDamage = tr(tr(tr(tr(2 * level / 5 + 2) * basePower * attack) / defense) / 50); - - // Calculate damage modifiers separately (order differs between generations) - return this.modifyDamage(baseDamage, source, target, move, suppressMessages); - }, - - runMoveEffects(damage, targets, pokemon, move, moveData, isSecondary, isSelf) { - let didAnything: number | boolean | null | undefined = damage.reduce(this.combineResults); - for (const [i, target] of targets.entries()) { - if (target === false) continue; - let hitResult; - let didSomething: number | boolean | null | undefined = undefined; - - if (target) { - if (moveData.boosts && !target.fainted) { - hitResult = this.battle.boost(moveData.boosts, target, pokemon, move, isSecondary, isSelf); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.heal && !target.fainted) { - if (target.hp >= target.maxhp) { - this.battle.add('-fail', target, 'heal'); - this.battle.attrLastMove('[still]'); - damage[i] = this.combineResults(damage[i], false); - didAnything = this.combineResults(didAnything, null); - continue; - } - const amount = target.baseMaxhp * moveData.heal[0] / moveData.heal[1]; - const d = target.heal((this.battle.gen < 5 ? Math.floor : Math.round)(amount)); - if (!d && d !== 0) { - this.battle.add('-fail', pokemon); - this.battle.attrLastMove('[still]'); - this.battle.debug('heal interrupted'); - damage[i] = this.combineResults(damage[i], false); - didAnything = this.combineResults(didAnything, null); - continue; - } - this.battle.add('-heal', target, target.getHealth); - didSomething = true; - } - if (moveData.status) { - hitResult = target.trySetStatus(moveData.status, pokemon, moveData.ability ? moveData.ability : move); - if (!hitResult && move.status) { - damage[i] = this.combineResults(damage[i], false); - didAnything = this.combineResults(didAnything, null); - continue; - } - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.forceStatus) { - hitResult = target.setStatus(moveData.forceStatus, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.volatileStatus) { - hitResult = target.addVolatile(moveData.volatileStatus, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.sideCondition) { - hitResult = target.side.addSideCondition(moveData.sideCondition, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.slotCondition) { - hitResult = target.side.addSlotCondition(target, moveData.slotCondition, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.weather) { - hitResult = this.battle.field.setWeather(moveData.weather, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.terrain) { - hitResult = this.battle.field.setTerrain(moveData.terrain, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.pseudoWeather) { - hitResult = this.battle.field.addPseudoWeather(moveData.pseudoWeather, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (moveData.forceSwitch && !this.battle.getAllActive().some(x => x.hasAbility('skilldrain'))) { - hitResult = !!this.battle.canSwitch(target.side); - didSomething = this.combineResults(didSomething, hitResult); - } - // Hit events - // These are like the TryHit events, except we don't need a FieldHit event. - // Scroll up for the TryHit event documentation, and just ignore the "Try" part. ;) - if (move.target === 'all' && !isSelf) { - if (moveData.onHitField) { - hitResult = this.battle.singleEvent('HitField', moveData, {}, target, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - } else if ((move.target === 'foeSide' || move.target === 'allySide') && !isSelf) { - if (moveData.onHitSide) { - hitResult = this.battle.singleEvent('HitSide', moveData, {}, target.side, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - } else { - if (moveData.onHit) { - hitResult = this.battle.singleEvent('Hit', moveData, {}, target, pokemon, move); - didSomething = this.combineResults(didSomething, hitResult); - } - if (!isSelf && !isSecondary) { - this.battle.runEvent('Hit', target, pokemon, move); - } - } - } - if (moveData.selfdestruct === 'ifHit' && damage[i] !== false) { - this.battle.faint(pokemon, pokemon, move); - } - if (moveData.selfSwitch && !this.battle.getAllActive().some(x => x.hasAbility('skilldrain'))) { - if (this.battle.canSwitch(pokemon.side)) { - didSomething = true; - } else { - didSomething = this.combineResults(didSomething, false); - } - } - // Move didn't fail because it didn't try to do anything - if (didSomething === undefined) didSomething = true; - damage[i] = this.combineResults(damage[i], didSomething === null ? false : didSomething); - didAnything = this.combineResults(didAnything, didSomething); - } - - - if (!didAnything && didAnything !== 0 && !moveData.self && !moveData.selfdestruct) { - if (!isSelf && !isSecondary) { - if (didAnything === false) { - this.battle.add('-fail', pokemon); - this.battle.attrLastMove('[still]'); - } - } - this.battle.debug('move failed because it did nothing'); - } else if (move.selfSwitch && pokemon.hp && !this.battle.getAllActive().some(x => x.hasAbility('skilldrain'))) { - pokemon.switchFlag = move.id; - } - - return damage; - }, - }, - - pokemon: { - isGrounded(negateImmunity) { - if ('gravity' in this.battle.field.pseudoWeather) return true; - if ('ingrain' in this.volatiles && this.battle.gen >= 4) return true; - if ('smackdown' in this.volatiles) return true; - const item = (this.ignoringItem() ? '' : this.item); - if (item === 'ironball') return true; - // If a Fire/Flying type uses Burn Up and Roost, it becomes ???/Flying-type, but it's still grounded. - if (!negateImmunity && this.hasType('Flying') && !('roost' in this.volatiles)) return false; - if (this.hasAbility('levitate') && !this.battle.suppressingAbility()) return null; - if ('magnetrise' in this.volatiles) return false; - if ('telekinesis' in this.volatiles) return false; - return item !== 'airballoon'; - }, - setStatus(status, source, sourceEffect, ignoreImmunities) { - if (!this.hp) return false; - status = this.battle.dex.conditions.get(status); - if (this.battle.event) { - if (!source) source = this.battle.event.source; - if (!sourceEffect) sourceEffect = this.battle.effect; - } - if (!source) source = this; - - if (this.status === status.id) { - if ((sourceEffect as Move)?.status === this.status) { - this.battle.add('-fail', this, this.status); - } else if ((sourceEffect as Move)?.status) { - this.battle.add('-fail', source); - this.battle.attrLastMove('[still]'); - } - return false; - } - - if (!ignoreImmunities && status.id && - !((source?.hasAbility('corrosion') || source?.hasAbility('hackedcorrosion') || sourceEffect?.id === 'cradilychaos') && - ['tox', 'psn'].includes(status.id))) { - // the game currently never ignores immunities - if (!this.runStatusImmunity(status.id === 'tox' ? 'psn' : status.id)) { - this.battle.debug('immune to status'); - if ((sourceEffect as Move)?.status) { - this.battle.add('-immune', this); - } - return false; - } - } - const prevStatus = this.status; - const prevStatusState = this.statusState; - if (status.id) { - const result: boolean = this.battle.runEvent('SetStatus', this, source, sourceEffect, status); - if (!result) { - this.battle.debug('set status [' + status.id + '] interrupted'); - return result; - } - } - - this.status = status.id; - this.statusState = {id: status.id, target: this}; - if (source) this.statusState.source = source; - if (status.duration) this.statusState.duration = status.duration; - if (status.durationCallback) { - this.statusState.duration = status.durationCallback.call(this.battle, this, source, sourceEffect); - } - - if (status.id && !this.battle.singleEvent('Start', status, this.statusState, this, source, sourceEffect)) { - this.battle.debug('status start [' + status.id + '] interrupted'); - // cancel the setstatus - this.status = prevStatus; - this.statusState = prevStatusState; - return false; - } - if (status.id && !this.battle.runEvent('AfterSetStatus', this, source, sourceEffect, status)) { - return false; - } - return true; - }, - }, - - // Modded to add a property to work with Struchni's move - nextTurn() { - this.turn++; - this.lastSuccessfulMoveThisTurn = null; - - const trappedBySide: boolean[] = []; - const stalenessBySide: ('internal' | 'external' | undefined)[] = []; - for (const side of this.sides) { - let sideTrapped = true; - let sideStaleness: 'internal' | 'external' | undefined; - for (const pokemon of side.active) { - if (!pokemon) continue; - pokemon.moveThisTurn = ''; - pokemon.newlySwitched = false; - pokemon.moveLastTurnResult = pokemon.moveThisTurnResult; - pokemon.moveThisTurnResult = undefined; - if (this.turn !== 1) { - pokemon.usedItemThisTurn = false; - // Used for Veto - pokemon.m.statsRaisedLastTurn = !!pokemon.statsRaisedThisTurn; - pokemon.statsRaisedThisTurn = false; - pokemon.statsLoweredThisTurn = false; - // It shouldn't be possible in a normal battle for a Pokemon to be damaged before turn 1's move selection - // However, this could be potentially relevant in certain OMs - pokemon.hurtThisTurn = null; - } - - pokemon.maybeDisabled = false; - for (const moveSlot of pokemon.moveSlots) { - moveSlot.disabled = false; - moveSlot.disabledSource = ''; - } - this.runEvent('DisableMove', pokemon); - if (!pokemon.ateBerry) pokemon.disableMove('belch'); - if (!pokemon.getItem().isBerry) pokemon.disableMove('stuffcheeks'); - - // If it was an illusion, it's not any more - if (pokemon.getLastAttackedBy() && this.gen >= 7) pokemon.knownType = true; - - for (let i = pokemon.attackedBy.length - 1; i >= 0; i--) { - const attack = pokemon.attackedBy[i]; - if (attack.source.isActive) { - attack.thisTurn = false; - } else { - pokemon.attackedBy.splice(pokemon.attackedBy.indexOf(attack), 1); - } - } - - if (this.gen >= 7) { - // In Gen 7, the real type of every Pokemon is visible to all players via the bottom screen while making choices - const seenPokemon = pokemon.illusion || pokemon; - const realTypeString = seenPokemon.getTypes(true).join('/'); - if (realTypeString !== seenPokemon.apparentType) { - this.add('-start', pokemon, 'typechange', realTypeString, '[silent]'); - seenPokemon.apparentType = realTypeString; - if (pokemon.addedType) { - // The typechange message removes the added type, so put it back - this.add('-start', pokemon, 'typeadd', pokemon.addedType, '[silent]'); - } - } - } - - pokemon.trapped = pokemon.maybeTrapped = false; - this.runEvent('TrapPokemon', pokemon); - if (!pokemon.knownType || this.dex.getImmunity('trapped', pokemon)) { - this.runEvent('MaybeTrapPokemon', pokemon); - } - // canceling switches would leak information - // if a foe might have a trapping ability - if (this.gen > 2) { - for (const source of pokemon.foes()) { - const species = (source.illusion || source).species; - if (!species.abilities) continue; - for (const abilitySlot in species.abilities) { - const abilityName = species.abilities[abilitySlot as keyof Species['abilities']]; - if (abilityName === source.ability) { - // pokemon event was already run above so we don't need - // to run it again. - continue; - } - const ruleTable = this.ruleTable; - if ((ruleTable.has('+hackmons') || !ruleTable.has('obtainableabilities')) && !this.format.team) { - // hackmons format - continue; - } else if (abilitySlot === 'H' && species.unreleasedHidden) { - // unreleased hidden ability - continue; - } - const ability = this.dex.abilities.get(abilityName); - if (ruleTable.has('-ability:' + ability.id)) continue; - if (pokemon.knownType && !this.dex.getImmunity('trapped', pokemon)) continue; - this.singleEvent('FoeMaybeTrapPokemon', ability, {}, pokemon, source); - } - } - } - - if (pokemon.fainted) continue; - - sideTrapped = sideTrapped && pokemon.trapped; - const staleness = pokemon.volatileStaleness || pokemon.staleness; - if (staleness) sideStaleness = sideStaleness === 'external' ? sideStaleness : staleness; - pokemon.activeTurns++; - } - trappedBySide.push(sideTrapped); - stalenessBySide.push(sideStaleness); - side.faintedLastTurn = side.faintedThisTurn; - side.faintedThisTurn = null; - } - - if (this.maybeTriggerEndlessBattleClause(trappedBySide, stalenessBySide)) return; - - if (this.gameType === 'triples' && !this.sides.filter(side => side.pokemonLeft > 1).length) { - // If both sides have one Pokemon left in triples and they are not adjacent, they are both moved to the center. - const actives = this.getAllActive(); - if (actives.length > 1 && !actives[0].isAdjacent(actives[1])) { - this.swapPosition(actives[0], 1, '[silent]'); - this.swapPosition(actives[1], 1, '[silent]'); - this.add('-center'); - } - } - - this.add('turn', this.turn); - - this.makeRequest('move'); - }, -}; diff --git a/data/mods/thecardgame/moves.ts b/data/mods/thecardgame/moves.ts index 61714cd75f58..af378a54c3f6 100644 --- a/data/mods/thecardgame/moves.ts +++ b/data/mods/thecardgame/moves.ts @@ -21,6 +21,22 @@ export const Moves: {[k: string]: ModdedMoveData} = { return typeMod + this.dex.getEffectiveness('Normal', type); }, }, + ivycudgel: { + inherit: true, + onModifyType(move, pokemon) { + switch (pokemon.species.name) { + case 'Ogerpon-Wellspring': case 'Ogerpon-Wellspring-Tera': + move.type = 'Water'; + break; + case 'Ogerpon-Hearthflame': case 'Ogerpon-Hearthflame-Tera': + move.type = 'Fire'; + break; + case 'Ogerpon-Cornerstone': case 'Ogerpon-Cornerstone-Tera': + move.type = 'Fighting'; + break; + } + }, + }, roost: { inherit: true, condition: { diff --git a/data/mods/trademarked/scripts.ts b/data/mods/trademarked/scripts.ts index d8b6c97506a4..b3b334f92516 100644 --- a/data/mods/trademarked/scripts.ts +++ b/data/mods/trademarked/scripts.ts @@ -204,6 +204,7 @@ export const Scripts: ModdedBattleScriptsData = { return { id: move.id, name: move.name, + flags: {}, // Does not need activation message with this fullname: 'ability: ' + move.name, onStart(this: Battle, pokemon: Pokemon) { @@ -227,7 +228,8 @@ export const Scripts: ModdedBattleScriptsData = { const species = pokemon.species; if (pokemon.fainted || this.illusion || pokemon.illusion || (pokemon.volatiles['substitute'] && this.battle.gen >= 5) || (pokemon.transformed && this.battle.gen >= 2) || (this.transformed && this.battle.gen >= 5) || - species.name === 'Eternatus-Eternamax') { + species.name === 'Eternatus-Eternamax' || (['Ogerpon', 'Terapagos'].includes(species.baseSpecies) && + (this.terastallized || pokemon.terastallized)) || this.terastallized === 'Stellar') { return false; } @@ -255,7 +257,6 @@ export const Scripts: ModdedBattleScriptsData = { if (this.modifiedStats) this.modifiedStats[statName] = pokemon.modifiedStats![statName]; // Gen 1: Copy modified stats. } this.moveSlots = []; - this.set.ivs = (this.battle.gen >= 5 ? this.set.ivs : pokemon.set.ivs); this.hpType = (this.battle.gen >= 5 ? this.hpType : pokemon.hpType); this.hpPower = (this.battle.gen >= 5 ? this.hpPower : pokemon.hpPower); this.timesAttacked = pokemon.timesAttacked; @@ -280,7 +281,7 @@ export const Scripts: ModdedBattleScriptsData = { this.boosts[boostName] = pokemon.boosts[boostName]; } if (this.battle.gen >= 6) { - const volatilesToCopy = ['focusenergy', 'gmaxchistrike', 'laserfocus']; + const volatilesToCopy = ['dragoncheer', 'focusenergy', 'gmaxchistrike', 'laserfocus']; for (const volatile of volatilesToCopy) { if (pokemon.volatiles[volatile]) { this.addVolatile(volatile); @@ -323,6 +324,11 @@ export const Scripts: ModdedBattleScriptsData = { } } + // Pokemon transformed into Ogerpon cannot Terastallize + // restoring their ability to tera after they untransform is handled ELSEWHERE + if (this.species.baseSpecies === 'Ogerpon' && this.canTerastallize) this.canTerastallize = false; + if (this.species.baseSpecies === 'Terapagos' && this.canTerastallize) this.canTerastallize = false; + return true; }, }, diff --git a/data/moves.ts b/data/moves.ts index e7b8be9398a3..2021209704d7 100644 --- a/data/moves.ts +++ b/data/moves.ts @@ -26,7 +26,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Absorb", pp: 25, priority: 0, - flags: {protect: 1, mirror: 1, heal: 1}, + flags: {protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [1, 2], secondary: null, target: "normal", @@ -41,7 +41,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Accelerock", pp: 20, priority: 1, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Rock", @@ -55,7 +55,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Acid", pp: 30, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -74,7 +74,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Acid Armor", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 2, }, @@ -108,7 +108,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Acid Spray", pp: 20, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 100, boosts: { @@ -134,7 +134,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Acrobatics", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, distance: 1}, + flags: {contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1}, secondary: null, target: "any", type: "Flying", @@ -148,7 +148,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Acupressure", pp: 30, priority: 0, - flags: {}, + flags: {metronome: 1}, onHit(target) { const stats: BoostID[] = []; let stat: BoostID; @@ -180,7 +180,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aerial Ace", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, distance: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1, slicing: 1}, secondary: null, target: "any", type: "Flying", @@ -191,11 +191,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 95, basePower: 100, category: "Special", - isNonstandard: "Past", name: "Aeroblast", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, distance: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, wind: 1}, critRatio: 2, secondary: null, target: "any", @@ -235,7 +234,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Agility", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { spe: 2, }, @@ -253,7 +252,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Air Cutter", pp: 25, priority: 0, - flags: {protect: 1, mirror: 1, slicing: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, slicing: 1, wind: 1}, critRatio: 2, secondary: null, target: "allAdjacentFoes", @@ -268,7 +267,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Air Slash", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, distance: 1, slicing: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, slicing: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -293,6 +292,26 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Fighting", contestType: "Cool", }, + alluringvoice: { + num: 914, + accuracy: 100, + basePower: 80, + category: "Special", + name: "Alluring Voice", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, + secondary: { + chance: 100, + onHit(target, source, move) { + if (target?.statsRaisedThisTurn) { + target.addVolatile('confusion', source, move); + } + }, + }, + target: "normal", + type: "Fairy", + }, allyswitch: { num: 502, accuracy: true, @@ -301,22 +320,50 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ally Switch", pp: 15, priority: 2, - flags: {}, - stallingMove: true, + flags: {metronome: 1}, onPrepareHit(pokemon) { - return !!this.queue.willAct() && this.runEvent('StallMove', pokemon); - }, - onTryHit(source) { - if (source.side.active.length === 1) return false; - if (source.side.active.length === 3 && source.position === 1) return false; + return pokemon.addVolatile('allyswitch'); }, onHit(pokemon) { - pokemon.addVolatile('stall'); + let success = true; + // Fail in formats where you don't control allies + if (this.format.gameType !== 'doubles' && this.format.gameType !== 'triples') success = false; + + // Fail in triples if the Pokemon is in the middle + if (pokemon.side.active.length === 3 && pokemon.position === 1) success = false; + const newPosition = (pokemon.position === 0 ? pokemon.side.active.length - 1 : 0); - if (!pokemon.side.active[newPosition]) return false; - if (pokemon.side.active[newPosition].fainted) return false; + if (!pokemon.side.active[newPosition]) success = false; + if (pokemon.side.active[newPosition].fainted) success = false; + if (!success) { + this.add('-fail', pokemon, 'move: Ally Switch'); + this.attrLastMove('[still]'); + return this.NOT_FAIL; + } this.swapPosition(pokemon, newPosition, '[from] move: Ally Switch'); }, + condition: { + duration: 2, + counterMax: 729, + onStart() { + this.effectState.counter = 3; + }, + onRestart(pokemon) { + // this.effectState.counter should never be undefined here. + // However, just in case, use 1 if it is undefined. + const counter = this.effectState.counter || 1; + this.debug("Ally Switch success chance: " + Math.round(100 / counter) + "%"); + const success = this.randomChance(1, counter); + if (!success) { + delete pokemon.volatiles['allyswitch']; + return false; + } + if (this.effectState.counter < (this.effect as Condition).counterMax!) { + this.effectState.counter *= 3; + } + this.effectState.duration = 2; + }, + }, secondary: null, target: "self", type: "Psychic", @@ -331,7 +378,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Amnesia", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { spd: 2, }, @@ -350,7 +397,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Anchor Shot", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, onHit(target, source, move) { @@ -369,7 +416,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ancient Power", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, self: { @@ -412,7 +459,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aqua Cutter", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, slicing: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, slicing: 1}, critRatio: 2, secondary: null, target: "normal", @@ -427,7 +474,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aqua Jet", pp: 20, priority: 1, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Water", @@ -441,7 +488,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aqua Ring", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, volatileStatus: 'aquaring', condition: { onStart(pokemon) { @@ -466,7 +513,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aqua Step", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, dance: 1}, + flags: {contact: 1, protect: 1, mirror: 1, dance: 1, metronome: 1}, secondary: { chance: 100, self: { @@ -487,7 +534,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aqua Tail", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Water", @@ -520,7 +567,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Arm Thrust", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -536,7 +583,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aromatherapy", pp: 5, priority: 0, - flags: {snatch: 1, distance: 1}, + flags: {snatch: 1, distance: 1, metronome: 1}, onHit(target, source, move) { this.add('-activate', source, 'move: Aromatherapy'); let success = false; @@ -563,7 +610,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aromatic Mist", pp: 20, priority: 0, - flags: {bypasssub: 1}, + flags: {bypasssub: 1, metronome: 1}, boosts: { spd: 1, }, @@ -582,7 +629,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Assist", pp: 20, priority: 0, - flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onHit(target) { const moves = []; for (const pokemon of target.side.pokemon) { @@ -623,7 +670,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Assurance", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dark", @@ -637,7 +684,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Astonish", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -667,7 +714,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Attack Order", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -682,7 +729,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Attract", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'attract', condition: { noCopy: true, // doesn't get copied by Baton Pass @@ -739,7 +786,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aura Sphere", pp: 20, priority: 0, - flags: {bullet: 1, protect: 1, pulse: 1, mirror: 1, distance: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, bullet: 1, pulse: 1}, secondary: null, target: "any", type: "Fighting", @@ -789,7 +836,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aurora Beam", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -808,7 +855,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Aurora Veil", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, sideCondition: 'auroraveil', onTry() { return this.field.isWeather(['hail', 'snow']); @@ -858,7 +905,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Autotomize", pp: 15, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onTryHit(pokemon) { const hasContrary = pokemon.hasAbility('contrary'); if ((!hasContrary && pokemon.boosts.spe === 6) || (hasContrary && pokemon.boosts.spe === -6)) { @@ -898,7 +945,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Avalanche", pp: 10, priority: -4, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ice", @@ -912,7 +959,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Axe Kick", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, hasCrashDamage: true, onMoveFail(target, source, move) { this.damage(source.baseMaxhp / 2, source, source, this.dex.conditions.get('High Jump Kick')); @@ -932,7 +979,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Baby-Doll Eyes", pp: 30, priority: 1, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, boosts: { atk: -1, }, @@ -1026,7 +1073,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Barb Barrage", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, pokemon, target) { if (target.status === 'psn' || target.status === 'tox') { return this.chainModify(2); @@ -1048,7 +1095,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Barrage", pp: 20, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -1064,7 +1111,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Barrier", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 2, }, @@ -1082,7 +1129,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Baton Pass", pp: 40, priority: 0, - flags: {}, + flags: {metronome: 1}, onHit(target) { if (!this.canSwitch(target.side) || target.volatiles['commanded']) { this.attrLastMove('[still]'); @@ -1107,11 +1154,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 100, category: "Physical", - isNonstandard: "Past", name: "Beak Blast", pp: 15, priority: -3, - flags: {bullet: 1, protect: 1, noassist: 1, failmefirst: 1, nosleeptalk: 1, failcopycat: 1, failinstruct: 1}, + flags: {protect: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, bullet: 1}, priorityChargeCallback(pokemon) { pokemon.addVolatile('beakblast'); }, @@ -1149,7 +1195,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Beat Up", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, allyanim: 1, metronome: 1}, onModifyMove(move, pokemon) { move.allies = pokemon.side.pokemon.filter(ally => ally === pokemon || !ally.fainted && !ally.status); move.multihit = move.allies.length; @@ -1180,7 +1226,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Behemoth Blade", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1, failcopycat: 1, failmimic: 1}, + flags: {contact: 1, protect: 1, mirror: 1, failcopycat: 1, failmimic: 1, slicing: 1}, secondary: null, target: "normal", type: "Steel", @@ -1193,7 +1239,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Belch", pp: 10, priority: 0, - flags: {protect: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {protect: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onDisableMove(pokemon) { if (!pokemon.ateBerry) pokemon.disableMove('belch'); }, @@ -1210,7 +1256,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Belly Drum", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onHit(target) { if (target.hp <= target.maxhp / 2 || target.boosts.atk >= 6 || target.maxhp === 1) { // Shedinja clause return false; @@ -1261,7 +1307,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bide", pp: 10, priority: 1, - flags: {contact: 1, protect: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {contact: 1, protect: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1}, volatileStatus: 'bide', ignoreImmunity: true, beforeMoveCallback(pokemon) { @@ -1334,7 +1380,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bind", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -1349,7 +1395,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bite", pp: 25, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -1366,7 +1412,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bitter Blade", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, heal: 1, metronome: 1, slicing: 1}, drain: [1, 2], secondary: null, target: "normal", @@ -1380,7 +1426,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bitter Malice", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -1414,7 +1460,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Blast Burn", pp: 5, priority: 0, - flags: {recharge: 1, protect: 1, mirror: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -1431,7 +1477,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Blaze Kick", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: { chance: 10, @@ -1451,8 +1497,9 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 10, priority: 0, flags: { - protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, + noSketch: true, secondary: { chance: 30, status: 'brn', @@ -1468,7 +1515,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bleakwind Storm", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, onModifyMove(move, pokemon, target) { if (target && ['raindance', 'primordialsea'].includes(target.effectiveWeather())) { move.accuracy = true; @@ -1491,7 +1538,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Blizzard", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, onModifyMove(move) { if (this.field.isWeather(['hail', 'snow'])) move.accuracy = true; }, @@ -1511,7 +1558,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Block", pp: 5, priority: 0, - flags: {reflectable: 1, mirror: 1}, + flags: {reflectable: 1, mirror: 1, metronome: 1}, onHit(target, source, move) { return target.addVolatile('trapped', source, move, 'trapper'); }, @@ -1529,7 +1576,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Blood Moon", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, cantusetwice: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, cantusetwice: 1}, secondary: null, target: "normal", type: "Normal", @@ -1555,11 +1602,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 85, basePower: 130, category: "Special", - isNonstandard: "Past", name: "Blue Flare", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, status: 'brn', @@ -1590,7 +1636,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Body Slam", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: { chance: 30, status: 'par', @@ -1616,7 +1662,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bolt Beak", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Electric", @@ -1626,11 +1672,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 85, basePower: 130, category: "Physical", - isNonstandard: "Past", name: "Bolt Strike", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, status: 'par', @@ -1648,7 +1693,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bone Club", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, volatileStatus: 'flinch', @@ -1666,7 +1711,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bonemerang", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: 2, secondary: null, target: "normal", @@ -1682,7 +1727,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bone Rush", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -1699,7 +1744,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Boomburst", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, secondary: null, target: "allAdjacent", type: "Normal", @@ -1714,7 +1759,8 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 5, priority: 0, flags: { - contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, + contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, + metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, }, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { @@ -1786,7 +1832,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Brave Bird", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, distance: 1}, + flags: {contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1}, recoil: [33, 100], secondary: null, target: "any", @@ -1835,7 +1881,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Brick Break", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onTryHit(pokemon) { // will shatter screens through sub, before you hit pokemon.side.removeSideCondition('reflect'); @@ -1855,7 +1901,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Brine", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, pokemon, target) { if (target.hp * 2 <= target.maxhp) { return this.chainModify(2); @@ -1874,7 +1920,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Brutal Swing", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "allAdjacent", type: "Dark", @@ -1889,7 +1935,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bubble", pp: 30, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -1908,7 +1954,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bubble Beam", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -1927,7 +1973,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bug Bite", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onHit(target, source) { const item = target.getItem(); if (source.hp && item.isBerry && target.takeItem(source)) { @@ -1952,7 +1998,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bug Buzz", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -1971,7 +2017,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bulk Up", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { atk: 1, def: 1, @@ -1990,7 +2036,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bulldoze", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -2009,7 +2055,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bullet Punch", pp: 30, priority: 1, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: null, target: "normal", type: "Steel", @@ -2023,7 +2069,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Bullet Seed", pp: 30, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -2032,6 +2078,62 @@ export const Moves: {[moveid: string]: MoveData} = { maxMove: {basePower: 130}, contestType: "Cool", }, + burningbulwark: { + num: 908, + accuracy: true, + basePower: 0, + category: "Status", + name: "Burning Bulwark", + pp: 10, + priority: 4, + flags: {metronome: 1, noassist: 1, failcopycat: 1}, + stallingMove: true, + volatileStatus: 'burningbulwark', + onPrepareHit(pokemon) { + return !!this.queue.willAct() && this.runEvent('StallMove', pokemon); + }, + onHit(pokemon) { + pokemon.addVolatile('stall'); + }, + condition: { + duration: 1, + onStart(target) { + this.add('-singleturn', target, 'move: Protect'); + }, + onTryHitPriority: 3, + onTryHit(target, source, move) { + if (!move.flags['protect'] || move.category === 'Status') { + if (['gmaxoneblow', 'gmaxrapidflow'].includes(move.id)) return; + if (move.isZ || move.isMax) target.getMoveHitData(move).zBrokeProtect = true; + return; + } + if (move.smartTarget) { + move.smartTarget = false; + } else { + this.add('-activate', target, 'move: Protect'); + } + const lockedmove = source.getVolatile('lockedmove'); + if (lockedmove) { + // Outrage counter is reset + if (source.volatiles['lockedmove'].duration === 2) { + delete source.volatiles['lockedmove']; + } + } + if (this.checkMoveMakesContact(move, source, target)) { + source.trySetStatus('brn', target); + } + return this.NOT_FAIL; + }, + onHit(target, source, move) { + if (move.isZOrMaxPowered && this.checkMoveMakesContact(move, source, target)) { + source.trySetStatus('brn', target); + } + }, + }, + secondary: null, + target: "self", + type: "Fire", + }, burningjealousy: { num: 807, accuracy: 100, @@ -2040,7 +2142,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Burning Jealousy", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, onHit(target, source, move) { @@ -2058,10 +2160,11 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 130, category: "Special", + isNonstandard: "Unobtainable", name: "Burn Up", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, + flags: {protect: 1, mirror: 1, defrost: 1, metronome: 1}, onTryMove(pokemon, target, move) { if (pokemon.hasType('Fire')) return; this.add('-fail', pokemon, 'move: Burn Up'); @@ -2105,7 +2208,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Calm Mind", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { spa: 1, spd: 1, @@ -2125,7 +2228,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Camouflage", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onHit(target) { let newType = 'Normal'; if (this.field.isTerrain('electricterrain')) { @@ -2156,7 +2259,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Captivate", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, onTryImmunity(pokemon, source) { return (pokemon.gender === 'M' && source.gender === 'F') || (pokemon.gender === 'F' && source.gender === 'M'); }, @@ -2193,7 +2296,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ceaseless Edge", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, onAfterHit(target, source, move) { if (!move.hasSheerForce && source.hp) { for (const side of source.side.foeSidesWithConditions()) { @@ -2220,7 +2323,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Celebrate", pp: 40, priority: 0, - flags: {nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onTryHit(target, source) { this.add('-activate', target, 'move: Celebrate'); }, @@ -2238,7 +2341,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Charge", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, volatileStatus: 'charge', condition: { onStart(pokemon, source, effect) { @@ -2293,7 +2396,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Charge Beam", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 70, self: { @@ -2314,7 +2417,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Charm", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, boosts: { atk: -2, }, @@ -2334,8 +2437,8 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 20, priority: 0, flags: { - protect: 1, mirror: 1, sound: 1, distance: 1, bypasssub: 1, nosleeptalk: 1, noassist: 1, - failcopycat: 1, failinstruct: 1, failmimic: 1, + protect: 1, mirror: 1, sound: 1, distance: 1, bypasssub: 1, + nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, noSketch: true, secondary: { @@ -2391,7 +2494,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Chip Away", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, ignoreDefensive: true, ignoreEvasion: true, secondary: null, @@ -2407,7 +2510,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Chloroblast", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, // Recoil implemented in battle-actions.ts secondary: null, target: "normal", @@ -2421,7 +2524,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Circle Throw", pp: 10, priority: -6, - flags: {contact: 1, protect: 1, mirror: 1, noassist: 1, failcopycat: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, noassist: 1, failcopycat: 1}, forceSwitch: true, target: "normal", type: "Fighting", @@ -2436,7 +2539,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Clamp", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -2451,7 +2554,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Clanging Scales", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, selfBoost: { boosts: { def: -1, @@ -2527,7 +2630,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Clear Smog", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onHit(target) { target.clearBoosts(); this.add('-clearboost', target); @@ -2545,7 +2648,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Close Combat", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, self: { boosts: { def: -1, @@ -2565,7 +2668,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Coaching", pp: 10, priority: 0, - flags: {bypasssub: 1, allyanim: 1}, + flags: {bypasssub: 1, allyanim: 1, metronome: 1}, secondary: null, boosts: { atk: 1, @@ -2582,7 +2685,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Coil", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { atk: 1, def: 1, @@ -2625,8 +2728,9 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 10, priority: 0, flags: { - protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, + noSketch: true, secondary: { chance: 30, status: 'par', @@ -2643,7 +2747,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Comet Punch", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -2690,7 +2794,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Confide", pp: 20, priority: 0, - flags: {reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, boosts: { spa: -1, }, @@ -2708,7 +2812,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Confuse Ray", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, volatileStatus: 'confusion', secondary: null, target: "normal", @@ -2724,7 +2828,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Confusion", pp: 25, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, volatileStatus: 'confusion', @@ -2742,7 +2846,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Constrict", pp: 35, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -2774,11 +2878,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: true, basePower: 0, category: "Status", - isNonstandard: "Past", name: "Conversion", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onHit(target) { const type = this.dex.moves.get(target.moveSlots[0].id).type; if (target.hasType(type) || !target.setType(type)) return false; @@ -2795,11 +2898,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: true, basePower: 0, category: "Status", - isNonstandard: "Past", name: "Conversion 2", pp: 30, priority: 0, - flags: {bypasssub: 1}, + flags: {bypasssub: 1, metronome: 1}, onHit(target, source) { if (!target.lastMoveUsed) { return false; @@ -2835,7 +2937,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Copycat", pp: 20, priority: 0, - flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onHit(pokemon) { let move: Move | ActiveMove | null = this.lastMove; if (!move) return; @@ -2861,14 +2963,14 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Core Enforcer", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onHit(target) { - if (target.getAbility().isPermanent) return; + if (target.getAbility().flags['cantsuppress']) return; if (target.newlySwitched || this.queue.willMove(target)) return; target.addVolatile('gastroacid'); }, onAfterSubDamage(damage, target) { - if (target.getAbility().isPermanent) return; + if (target.getAbility().flags['cantsuppress']) return; if (target.newlySwitched || this.queue.willMove(target)) return; target.addVolatile('gastroacid'); }, @@ -2899,10 +3001,11 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 0, category: "Status", + isNonstandard: "Unobtainable", name: "Corrosive Gas", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onHit(target, source) { const item = target.takeItem(source); if (item) { @@ -2923,7 +3026,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Cosmic Power", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 1, spd: 1, @@ -2942,7 +3045,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Cotton Guard", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 3, }, @@ -2960,7 +3063,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Cotton Spore", pp: 40, priority: 0, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1, powder: 1}, boosts: { spe: -2, }, @@ -3024,7 +3127,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Court Change", pp: 10, priority: 0, - flags: {mirror: 1}, + flags: {mirror: 1, metronome: 1}, onHitField(target, source) { const sideConditions = [ 'mist', 'lightscreen', 'reflect', 'spikes', 'safeguard', 'tailwind', 'toxicspikes', 'stealthrock', 'waterpledge', 'firepledge', 'grasspledge', 'stickyweb', 'auroraveil', 'gmaxsteelsurge', 'gmaxcannonade', 'gmaxvinelash', 'gmaxwildfire', @@ -3127,7 +3230,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Crabhammer", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -3174,7 +3277,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Cross Chop", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -3189,7 +3292,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Cross Poison", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, secondary: { chance: 10, status: 'psn', @@ -3207,7 +3310,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Crunch", pp: 15, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondary: { chance: 20, boosts: { @@ -3226,7 +3329,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Crush Claw", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 50, boosts: { @@ -3249,11 +3352,10 @@ export const Moves: {[moveid: string]: MoveData} = { return bp; }, category: "Physical", - isNonstandard: "Past", name: "Crush Grip", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -3269,7 +3371,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Curse", pp: 10, priority: 0, - flags: {bypasssub: 1}, + flags: {bypasssub: 1, metronome: 1}, volatileStatus: 'curse', onModifyMove(move, source, target) { if (!source.hasType('Ghost')) { @@ -3311,10 +3413,11 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 95, basePower: 50, category: "Physical", + isNonstandard: "Unobtainable", name: "Cut", pp: 30, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, secondary: null, target: "normal", type: "Normal", @@ -3328,7 +3431,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Darkest Lariat", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, ignoreEvasion: true, ignoreDefensive: true, secondary: null, @@ -3344,7 +3447,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dark Pulse", pp: 15, priority: 0, - flags: {protect: 1, pulse: 1, mirror: 1, distance: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, pulse: 1}, secondary: { chance: 20, volatileStatus: 'flinch', @@ -3361,7 +3464,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dark Void", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'slp', onTry(source, target, move) { if (source.species.name === 'Darkrai' || move.hasBounced) { @@ -3371,6 +3474,7 @@ export const Moves: {[moveid: string]: MoveData} = { this.hint("Only a Pokemon whose form is Darkrai can use this move."); return null; }, + noSketch: true, secondary: null, target: "allAdjacentFoes", type: "Dark", @@ -3385,7 +3489,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dazzling Gleam", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "allAdjacentFoes", type: "Fairy", @@ -3396,7 +3500,6 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: true, basePower: 0, category: "Status", - isNonstandard: "Past", name: "Decorate", pp: 15, priority: 0, @@ -3417,7 +3520,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Defend Order", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 1, spd: 1, @@ -3436,7 +3539,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Defense Curl", pp: 40, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 1, }, @@ -3459,7 +3562,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Defog", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, onHit(target, source, move) { let success = false; if (!target.volatiles['substitute'] || move.infiltrates) success = !!this.boost({evasion: -1}); @@ -3604,7 +3707,10 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dig", pp: 10, priority: 0, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1}, + flags: { + contact: 1, charge: 1, protect: 1, mirror: 1, + nonsky: 1, metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, + }, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; @@ -3646,7 +3752,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Disable", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'disable', onTryHit(target) { if (!target.lastMove || target.lastMove.isZ || target.lastMove.isMax || target.lastMove.id === 'struggle') { @@ -3677,7 +3783,7 @@ export const Moves: {[moveid: string]: MoveData} = { } } if (effect.effectType === 'Ability') { - this.add('-start', pokemon, 'Disable', pokemon.lastMove.name, '[from] ability: Cursed Body', '[of] ' + source); + this.add('-start', pokemon, 'Disable', pokemon.lastMove.name, '[from] ability: ' + effect.name, '[of] ' + source); } else { this.add('-start', pokemon, 'Disable', pokemon.lastMove.name); } @@ -3716,7 +3822,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Disarming Voice", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, secondary: null, target: "allAdjacentFoes", type: "Fairy", @@ -3730,7 +3836,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Discharge", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'par', @@ -3747,7 +3853,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dire Claw", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 50, onHit(target, source) { @@ -3773,7 +3879,8 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 10, priority: 0, flags: { - contact: 1, charge: 1, protect: 1, mirror: 1, nonsky: 1, allyanim: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, + contact: 1, charge: 1, protect: 1, mirror: 1, + nonsky: 1, allyanim: 1, metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, }, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { @@ -3821,7 +3928,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dizzy Punch", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: { chance: 20, volatileStatus: 'confusion', @@ -3841,14 +3948,16 @@ export const Moves: {[moveid: string]: MoveData} = { flags: {}, onHit(target, source, move) { let success: boolean | null = false; - for (const pokemon of source.alliesAndSelf()) { - if (pokemon.ability === target.ability) continue; - const oldAbility = pokemon.setAbility(target.ability); - if (oldAbility) { - this.add('-ability', pokemon, target.getAbility().name, '[from] move: Doodle'); - success = true; - } else if (!success && oldAbility === null) { - success = null; + if (!target.getAbility().flags['failroleplay']) { + for (const pokemon of source.alliesAndSelf()) { + if (pokemon.ability === target.ability || pokemon.getAbility().flags['cantsuppress']) continue; + const oldAbility = pokemon.setAbility(target.ability); + if (oldAbility) { + this.add('-ability', pokemon, target.getAbility().name, '[from] move: Doodle'); + success = true; + } else if (!success && oldAbility === null) { + success = null; + } } } if (!success) { @@ -3871,7 +3980,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Doom Desire", pp: 5, priority: 0, - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, onTry(source, target) { if (!target.side.addSlotCondition(target, 'futuremove')) return false; Object.assign(target.side.slotConditions[target.position]['futuremove'], { @@ -3884,7 +3993,7 @@ export const Moves: {[moveid: string]: MoveData} = { basePower: 140, category: "Special", priority: 0, - flags: {futuremove: 1}, + flags: {metronome: 1, futuremove: 1}, effectType: 'Move', type: 'Steel', }, @@ -3905,7 +4014,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Double-Edge", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [33, 100], secondary: null, target: "normal", @@ -3920,7 +4029,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Double Hit", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 2, secondary: null, target: "normal", @@ -3958,7 +4067,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Double Kick", pp: 30, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 2, secondary: null, target: "normal", @@ -4001,7 +4110,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Double Slap", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -4016,7 +4125,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Double Team", pp: 15, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { evasion: 1, }, @@ -4034,7 +4143,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Draco Meteor", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, self: { boosts: { spa: -2, @@ -4072,7 +4181,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Breath", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'par', @@ -4081,6 +4190,38 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Dragon", contestType: "Cool", }, + dragoncheer: { + num: 913, + accuracy: true, + basePower: 0, + category: "Status", + name: "Dragon Cheer", + pp: 15, + priority: 0, + flags: {bypasssub: 1, allyanim: 1, metronome: 1}, + volatileStatus: 'dragoncheer', + condition: { + onStart(target, source, effect) { + if (target.volatiles['focusenergy']) return false; + if (effect && (['costar', 'imposter', 'psychup', 'transform'].includes(effect.id))) { + this.add('-start', target, 'move: Dragon Cheer', '[silent]'); + } else { + this.add('-start', target, 'move: Dragon Cheer'); + } + // Store at the start because the boost doesn't change if a Pokemon + // Terastallizes into Dragon while having this volatile + // Found by DarkFE: + // https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9894139 + this.effectState.hasDragonType = target.hasType("Dragon"); + }, + onModifyCritRatio(critRatio, source) { + return critRatio + (this.effectState.hasDragonType ? 2 : 1); + }, + }, + secondary: null, + target: "adjacentAlly", + type: "Dragon", + }, dragonclaw: { num: 337, accuracy: 100, @@ -4089,7 +4230,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Claw", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dragon", @@ -4103,7 +4244,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Dance", pp: 20, priority: 0, - flags: {snatch: 1, dance: 1}, + flags: {snatch: 1, dance: 1, metronome: 1}, boosts: { atk: 1, spe: 1, @@ -4122,7 +4263,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Darts", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, noparentalbond: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, noparentalbond: 1}, multihit: 2, smartTarget: true, secondary: null, @@ -4153,11 +4294,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 90, category: "Physical", - isNonstandard: "Past", name: "Dragon Hammer", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dragon", @@ -4171,7 +4311,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Pulse", pp: 10, priority: 0, - flags: {protect: 1, pulse: 1, mirror: 1, distance: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, pulse: 1}, secondary: null, target: "any", type: "Dragon", @@ -4187,7 +4327,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Rage", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dragon", @@ -4201,7 +4341,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Rush", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, volatileStatus: 'flinch', @@ -4218,7 +4358,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dragon Tail", pp: 10, priority: -6, - flags: {contact: 1, protect: 1, mirror: 1, noassist: 1, failcopycat: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, noassist: 1, failcopycat: 1}, forceSwitch: true, target: "normal", type: "Dragon", @@ -4232,7 +4372,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Draining Kiss", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, heal: 1}, + flags: {contact: 1, protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [3, 4], secondary: null, target: "normal", @@ -4247,7 +4387,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Drain Punch", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1, heal: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, heal: 1, metronome: 1}, drain: [1, 2], secondary: null, target: "normal", @@ -4262,7 +4402,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dream Eater", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, heal: 1}, + flags: {protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [1, 2], onTryImmunity(target) { return target.status === 'slp' || target.hasAbility('comatose'); @@ -4280,7 +4420,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Drill Peck", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, distance: 1}, + flags: {contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1}, secondary: null, target: "any", type: "Flying", @@ -4294,7 +4434,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Drill Run", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -4328,7 +4468,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dual Chop", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 2, secondary: null, target: "normal", @@ -4344,7 +4484,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dual Wingbeat", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 2, secondary: null, target: "normal", @@ -4359,7 +4499,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dynamax Cannon", pp: 5, priority: 0, - flags: {protect: 1, failencore: 1, nosleeptalk: 1, noparentalbond: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {protect: 1, failencore: 1, nosleeptalk: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, noparentalbond: 1}, secondary: null, target: "normal", type: "Dragon", @@ -4372,7 +4512,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Dynamic Punch", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: { chance: 100, volatileStatus: 'confusion', @@ -4389,7 +4529,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Earth Power", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -4408,7 +4548,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Earthquake", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: null, target: "allAdjacent", type: "Ground", @@ -4430,7 +4570,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Echoed Voice", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, onTry() { this.field.addPseudoWeather('echoedvoice'); }, @@ -4461,7 +4601,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Eerie Impulse", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { spa: -2, }, @@ -4479,7 +4619,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Eerie Spell", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, secondary: { chance: 100, onHit(target) { @@ -4505,7 +4645,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Egg Bomb", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: null, target: "normal", type: "Normal", @@ -4519,7 +4659,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Electric Terrain", pp: 10, priority: 0, - flags: {nonsky: 1}, + flags: {nonsky: 1, metronome: 1}, terrain: 'electricterrain', condition: { duration: 5, @@ -4579,7 +4719,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Electrify", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, allyanim: 1, metronome: 1}, volatileStatus: 'electrify', onTryHit(target) { if (!this.queue.willMove(target) && target.activeTurns) return false; @@ -4618,7 +4758,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Electro Ball", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: null, target: "normal", type: "Electric", @@ -4647,6 +4787,37 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Electric", contestType: "Cool", }, + electroshot: { + num: 905, + accuracy: 100, + basePower: 130, + category: "Special", + name: "Electro Shot", + pp: 10, + priority: 0, + flags: {charge: 1, protect: 1, mirror: 1, metronome: 1}, + onTryMove(attacker, defender, move) { + if (attacker.removeVolatile(move.id)) { + return; + } + this.add('-prepare', attacker, move.name); + this.boost({spa: 1}, attacker, attacker, move); + if (['raindance', 'primordialsea'].includes(attacker.effectiveWeather())) { + this.attrLastMove('[still]'); + this.addMove('-anim', attacker, move.name, defender); + return; + } + if (!this.runEvent('ChargeMove', attacker, defender, move)) { + return; + } + attacker.addVolatile('twoturnmove', defender); + return null; + }, + secondary: null, + hasSheerForce: true, + target: "normal", + type: "Electric", + }, electroweb: { num: 527, accuracy: 95, @@ -4655,7 +4826,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Electroweb", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -4675,7 +4846,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Embargo", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, volatileStatus: 'embargo', condition: { duration: 5, @@ -4703,7 +4874,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ember", pp: 25, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'brn', @@ -4720,7 +4891,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Encore", pp: 5, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, failencore: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1, failencore: 1}, volatileStatus: 'encore', condition: { duration: 3, @@ -4746,7 +4917,7 @@ export const Moves: {[moveid: string]: MoveData} = { }, onResidualOrder: 16, onResidual(target) { - if (target.moves.includes(this.effectState.move) && + if (!target.moves.includes(this.effectState.move) || target.moveSlots[target.moves.indexOf(this.effectState.move)].pp <= 0) { // early termination if you run out of PP target.removeVolatile('encore'); @@ -4783,7 +4954,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Endeavor", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, noparentalbond: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, noparentalbond: 1}, onTryImmunity(target, pokemon) { return pokemon.hp < target.hp; }, @@ -4838,7 +5009,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Energy Ball", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 10, boosts: { @@ -4857,18 +5028,13 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Entrainment", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onTryHit(target, source) { if (target === source || target.volatiles['dynamax']) return false; - - const additionalBannedSourceAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'commander', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'zenmode', - ]; if ( target.ability === source.ability || - target.getAbility().isPermanent || target.ability === 'truant' || - source.getAbility().isPermanent || additionalBannedSourceAbilities.includes(source.ability) + target.getAbility().flags['cantsuppress'] || target.ability === 'truant' || + source.getAbility().flags['noentrain'] ) { return false; } @@ -4901,7 +5067,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Eruption", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "allAdjacentFoes", type: "Fire", @@ -4915,7 +5081,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Esper Wing", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: { chance: 100, @@ -4953,7 +5119,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Expanding Force", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, source) { if (this.field.isTerrain('psychicterrain') && source.isGrounded()) { this.debug('terrain buff'); @@ -4977,7 +5143,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Explosion", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, noparentalbond: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, noparentalbond: 1}, selfdestruct: "always", secondary: null, target: "allAdjacent", @@ -4992,7 +5158,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Extrasensory", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, volatileStatus: 'flinch', @@ -5032,7 +5198,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Extreme Speed", pp: 5, priority: 2, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -5046,7 +5212,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Facade", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, pokemon) { if (pokemon.status && pokemon.status !== 'slp') { return this.chainModify(2); @@ -5065,7 +5231,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fairy Lock", pp: 10, priority: 0, - flags: {mirror: 1, bypasssub: 1}, + flags: {mirror: 1, bypasssub: 1, metronome: 1}, pseudoWeather: 'fairylock', condition: { duration: 2, @@ -5090,7 +5256,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fairy Wind", pp: 30, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, secondary: null, target: "normal", type: "Fairy", @@ -5104,7 +5270,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fake Out", pp: 10, priority: 3, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onTry(source) { if (source.activeMoveActions > 1) { this.hint("Fake Out only works on your first turn out."); @@ -5127,7 +5293,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fake Tears", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, boosts: { spd: -2, }, @@ -5158,7 +5324,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "False Swipe", pp: 40, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onDamagePriority: -20, onDamage(damage, target, source, effect) { if (damage >= target.hp) return target.hp - 1; @@ -5176,7 +5342,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Feather Dance", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, dance: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, dance: 1, allyanim: 1, metronome: 1}, boosts: { atk: -2, }, @@ -5211,7 +5377,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Feint Attack", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dark", @@ -5225,7 +5391,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fell Stinger", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onAfterMoveSecondarySelf(pokemon, target, move) { if (!target || target.fainted || target.hp <= 0) this.boost({atk: 3}, pokemon, pokemon, move); }, @@ -5234,6 +5400,26 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Bug", contestType: "Cool", }, + ficklebeam: { + num: 907, + accuracy: 100, + basePower: 80, + category: "Special", + name: "Fickle Beam", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1, metronome: 1}, + onBasePower(basePower, pokemon) { + if (this.randomChance(3, 10)) { + this.attrLastMove('[anim] Fickle Beam All Out'); + this.add('-activate', pokemon, 'move: Fickle Beam'); + return this.chainModify(2); + } + }, + secondary: null, + target: "normal", + type: "Dragon", + }, fierydance: { num: 552, accuracy: 100, @@ -5242,7 +5428,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fiery Dance", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, + flags: {protect: 1, mirror: 1, dance: 1, metronome: 1}, secondary: { chance: 50, self: { @@ -5313,7 +5499,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Final Gambit", pp: 5, priority: 0, - flags: {protect: 1, noparentalbond: 1}, + flags: {protect: 1, metronome: 1, noparentalbond: 1}, secondary: null, target: "normal", type: "Fighting", @@ -5328,7 +5514,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fire Blast", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'brn', @@ -5345,7 +5531,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fire Fang", pp: 15, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondaries: [ { chance: 10, @@ -5367,7 +5553,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fire Lash", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -5387,13 +5573,13 @@ export const Moves: {[moveid: string]: MoveData} = { this.add('-combine'); return 150; } - return 80; + return move.basePower; }, category: "Special", name: "Fire Pledge", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1, pledgecombo: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1, pledgecombo: 1}, onPrepareHit(target, source, move) { for (const action of this.queue.list as MoveAction[]) { if ( @@ -5450,7 +5636,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fire Punch", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: { chance: 10, status: 'brn', @@ -5467,7 +5653,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fire Spin", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -5482,7 +5668,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "First Impression", pp: 10, priority: 2, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onTry(source) { if (source.activeMoveActions > 1) { this.hint("First Impression only works on your first turn out."); @@ -5511,7 +5697,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fishious Rend", pp: 10, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondary: null, target: "normal", type: "Water", @@ -5524,7 +5710,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fissure", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, ohko: true, secondary: null, target: "normal", @@ -5537,7 +5723,7 @@ export const Moves: {[moveid: string]: MoveData} = { num: 175, accuracy: 100, basePower: 0, - basePowerCallback(pokemon, target) { + basePowerCallback(pokemon) { const ratio = Math.max(Math.floor(pokemon.hp * 48 / pokemon.maxhp), 1); let bp; if (ratio < 2) { @@ -5560,7 +5746,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flail", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -5577,7 +5763,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flame Burst", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onHit(target, source, move) { for (const ally of target.adjacentAllies()) { this.damage(ally.baseMaxhp / 16, ally, source, this.dex.conditions.get('Flame Burst')); @@ -5601,7 +5787,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flame Charge", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, self: { @@ -5622,7 +5808,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flame Wheel", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, defrost: 1}, + flags: {contact: 1, protect: 1, mirror: 1, defrost: 1, metronome: 1}, secondary: { chance: 10, status: 'brn', @@ -5639,7 +5825,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flamethrower", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'brn', @@ -5656,7 +5842,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flare Blitz", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, defrost: 1}, + flags: {contact: 1, protect: 1, mirror: 1, defrost: 1, metronome: 1}, recoil: [33, 100], secondary: { chance: 10, @@ -5675,7 +5861,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flash", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { accuracy: -1, }, @@ -5693,7 +5879,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flash Cannon", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -5712,7 +5898,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flatter", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, volatileStatus: 'confusion', boosts: { spa: 1, @@ -5750,7 +5936,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fling", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, allyanim: 1, noparentalbond: 1}, + flags: {protect: 1, mirror: 1, allyanim: 1, metronome: 1, noparentalbond: 1}, onPrepareHit(target, source, move) { if (source.ignoringItem()) return false; const item = source.getItem(); @@ -5802,7 +5988,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flip Turn", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, selfSwitch: true, secondary: null, target: "normal", @@ -5831,11 +6017,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: true, basePower: 0, category: "Status", - isNonstandard: "Past", name: "Floral Healing", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, heal: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, heal: 1, allyanim: 1, metronome: 1}, onHit(target, source) { let success = false; if (this.field.isTerrain('grassyterrain')) { @@ -5867,7 +6052,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flower Shield", pp: 10, priority: 0, - flags: {distance: 1}, + flags: {distance: 1, metronome: 1}, onHitField(t, source, move) { const targets: Pokemon[] = []; for (const pokemon of this.getAllActive()) { @@ -5900,7 +6085,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Flower Trick", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, willCrit: true, secondary: null, target: "normal", @@ -5915,7 +6100,8 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 15, priority: 0, flags: { - contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, + contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, + metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, }, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { @@ -5954,7 +6140,7 @@ export const Moves: {[moveid: string]: MoveData} = { category: "Physical", name: "Flying Press", pp: 10, - flags: {contact: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nonsky: 1, metronome: 1}, onEffectiveness(typeMod, target, type, move) { return typeMod + this.dex.getEffectiveness('Flying', type); }, @@ -5973,7 +6159,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Focus Blast", pp: 5, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 10, boosts: { @@ -5992,10 +6178,11 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Focus Energy", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, volatileStatus: 'focusenergy', condition: { onStart(target, source, effect) { + if (target.volatiles['dragoncheer']) return false; if (effect?.id === 'zpower') { this.add('-start', target, 'move: Focus Energy', '[zeffect]'); } else if (effect && (['costar', 'imposter', 'psychup', 'transform'].includes(effect.id))) { @@ -6096,7 +6283,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Force Palm", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'par', @@ -6114,7 +6301,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Foresight", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'foresight', onTryHit(target) { if (target.volatiles['miracleeye']) return false; @@ -6147,7 +6334,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Forest's Curse", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onHit(target) { if (target.hasType('Grass')) return false; if (!target.addType('Grass')) return false; @@ -6167,7 +6354,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Foul Play", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, overrideOffensivePokemon: 'target', secondary: null, target: "normal", @@ -6182,7 +6369,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Freeze-Dry", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onEffectiveness(typeMod, target, type) { if (type === 'Water') return 1; }, @@ -6199,7 +6386,6 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 90, basePower: 140, category: "Physical", - isNonstandard: "Past", name: "Freeze Shock", pp: 5, priority: 0, @@ -6268,7 +6454,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Frenzy Plant", pp: 5, priority: 0, - flags: {recharge: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -6285,7 +6471,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Frost Breath", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, willCrit: true, secondary: null, target: "normal", @@ -6304,7 +6490,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Frustration", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -6320,7 +6506,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fury Attack", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -6343,7 +6529,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fury Cutter", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, condition: { duration: 2, onStart() { @@ -6369,7 +6555,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Fury Swipes", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -6382,11 +6568,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 100, category: "Physical", - isNonstandard: "Past", name: "Fusion Bolt", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, pokemon) { if (this.lastSuccessfulMoveThisTurn === 'fusionflare') { this.debug('double power'); @@ -6403,11 +6588,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 100, category: "Special", - isNonstandard: "Past", name: "Fusion Flare", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, + flags: {protect: 1, mirror: 1, defrost: 1, metronome: 1}, onBasePower(basePower, pokemon) { if (this.lastSuccessfulMoveThisTurn === 'fusionbolt') { this.debug('double power'); @@ -6427,7 +6611,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Future Sight", pp: 10, priority: 0, - flags: {allyanim: 1, futuremove: 1}, + flags: {allyanim: 1, metronome: 1, futuremove: 1}, ignoreImmunity: true, onTry(source, target) { if (!target.side.addSlotCondition(target, 'futuremove')) return false; @@ -6442,7 +6626,7 @@ export const Moves: {[moveid: string]: MoveData} = { basePower: 120, category: "Special", priority: 0, - flags: {allyanim: 1, futuremove: 1}, + flags: {allyanim: 1, metronome: 1, futuremove: 1}, ignoreImmunity: false, effectType: 'Move', type: 'Psychic', @@ -6464,10 +6648,10 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gastro Acid", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, volatileStatus: 'gastroacid', onTryHit(target) { - if (target.getAbility().isPermanent) { + if (target.getAbility().flags['cantsuppress']) { return false; } if (target.hasItem('Ability Shield')) { @@ -6483,7 +6667,7 @@ export const Moves: {[moveid: string]: MoveData} = { this.singleEvent('End', pokemon.getAbility(), pokemon.abilityState, pokemon, pokemon, 'gastroacid'); }, onCopy(pokemon) { - if (pokemon.getAbility().isPermanent) pokemon.removeVolatile('gastroacid'); + if (pokemon.getAbility().flags['cantsuppress']) pokemon.removeVolatile('gastroacid'); }, }, secondary: null, @@ -6501,7 +6685,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gear Grind", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 2, secondary: null, target: "normal", @@ -6519,7 +6703,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gear Up", pp: 20, priority: 0, - flags: {snatch: 1, bypasssub: 1}, + flags: {snatch: 1, bypasssub: 1, metronome: 1}, onHitSide(side, source, move) { const targets = side.allies().filter(target => ( target.hasAbility(['plus', 'minus']) && @@ -6570,7 +6754,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Geomancy", pp: 10, priority: 0, - flags: {charge: 1, nonsky: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {charge: 1, nonsky: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1}, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; @@ -6601,7 +6785,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Giga Drain", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, heal: 1}, + flags: {protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [1, 2], secondary: null, target: "normal", @@ -6616,7 +6800,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Giga Impact", pp: 5, priority: 0, - flags: {contact: 1, recharge: 1, protect: 1, mirror: 1}, + flags: {contact: 1, recharge: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -6633,7 +6817,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gigaton Hammer", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, cantusetwice: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, cantusetwice: 1}, secondary: null, target: "normal", type: "Steel", @@ -6672,11 +6856,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 95, basePower: 65, category: "Special", - isNonstandard: "Past", name: "Glaciate", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -6695,7 +6878,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Glaive Rush", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'glaiverush', }, @@ -6728,7 +6911,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Glare", pp: 30, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'par', secondary: null, target: "normal", @@ -7645,7 +7828,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Grass Knot", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, onTryHit(target, source, move) { if (target.volatiles['dynamax']) { this.add('-fail', source, 'move: Grass Knot', '[from] Dynamax'); @@ -7669,13 +7852,13 @@ export const Moves: {[moveid: string]: MoveData} = { this.add('-combine'); return 150; } - return 80; + return move.basePower; }, category: "Special", name: "Grass Pledge", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1, pledgecombo: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1, pledgecombo: 1}, onPrepareHit(target, source, move) { for (const action of this.queue.list as MoveAction[]) { if ( @@ -7731,7 +7914,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Grass Whistle", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, status: 'slp', secondary: null, target: "normal", @@ -7747,7 +7930,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Grassy Glide", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onModifyPriority(priority, source, target, move) { if (this.field.isTerrain('grassyterrain') && source.isGrounded()) { return priority + 1; @@ -7766,7 +7949,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Grassy Terrain", pp: 10, priority: 0, - flags: {nonsky: 1}, + flags: {nonsky: 1, metronome: 1}, terrain: 'grassyterrain', condition: { duration: 5, @@ -7847,7 +8030,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gravity", pp: 5, priority: 0, - flags: {nonsky: 1}, + flags: {nonsky: 1, metronome: 1}, pseudoWeather: 'gravity', condition: { duration: 5, @@ -7937,7 +8120,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Growl", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, boosts: { atk: -1, }, @@ -7955,7 +8138,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Growth", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onModifyMove(move, pokemon) { if (['sunnyday', 'desolateland'].includes(pokemon.effectiveWeather())) move.boosts = {atk: 2, spa: 2}; }, @@ -7978,7 +8161,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Grudge", pp: 5, priority: 0, - flags: {bypasssub: 1}, + flags: {bypasssub: 1, metronome: 1}, volatileStatus: 'grudge', condition: { onStart(pokemon) { @@ -8045,7 +8228,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Guard Split", pp: 10, priority: 0, - flags: {protect: 1, allyanim: 1}, + flags: {protect: 1, allyanim: 1, metronome: 1}, onHit(target, source) { const newdef = Math.floor((target.storedStats.def + source.storedStats.def) / 2); target.storedStats.def = newdef; @@ -8069,7 +8252,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Guard Swap", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1}, onHit(target, source) { const targetBoosts: SparseBoostsTable = {}; const sourceBoosts: SparseBoostsTable = {}; @@ -8099,7 +8282,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Guillotine", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, ohko: true, secondary: null, target: "normal", @@ -8116,7 +8299,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gunk Shot", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'psn', @@ -8133,7 +8316,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gust", pp: 35, priority: 0, - flags: {protect: 1, mirror: 1, distance: 1, wind: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, wind: 1}, secondary: null, target: "any", type: "Flying", @@ -8154,7 +8337,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Gyro Ball", pp: 5, priority: 0, - flags: {bullet: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: null, target: "normal", type: "Steel", @@ -8171,7 +8354,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hail", pp: 10, priority: 0, - flags: {}, + flags: {metronome: 1}, weather: 'hail', secondary: null, target: "all", @@ -8187,7 +8370,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hammer Arm", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, self: { boosts: { spe: -1, @@ -8206,7 +8389,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Happy Hour", pp: 30, priority: 0, - flags: {}, + flags: {metronome: 1}, onTryHit(target, source) { this.add('-activate', target, 'move: Happy Hour'); }, @@ -8224,7 +8407,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Harden", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 1, }, @@ -8234,6 +8417,26 @@ export const Moves: {[moveid: string]: MoveData} = { zMove: {boost: {def: 1}}, contestType: "Tough", }, + hardpress: { + num: 912, + accuracy: 100, + basePower: 0, + basePowerCallback(pokemon, target) { + const hp = target.hp; + const maxHP = target.maxhp; + const bp = Math.floor(Math.floor((100 * (100 * Math.floor(hp * 4096 / maxHP)) + 2048 - 1) / 4096) / 100) || 1; + this.debug('BP for ' + hp + '/' + maxHP + " HP: " + bp); + return bp; + }, + category: "Physical", + name: "Hard Press", + pp: 10, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + secondary: null, + target: "normal", + type: "Steel", + }, haze: { num: 114, accuracy: true, @@ -8242,7 +8445,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Haze", pp: 30, priority: 0, - flags: {bypasssub: 1}, + flags: {bypasssub: 1, metronome: 1}, onHitField() { this.add('-clearallboost'); for (const pokemon of this.getAllActive()) { @@ -8263,7 +8466,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Headbutt", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -8281,7 +8484,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Head Charge", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [1, 4], secondary: null, target: "normal", @@ -8296,7 +8499,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Headlong Rush", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, self: { boosts: { def: -1, @@ -8315,7 +8518,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Head Smash", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [1, 2], secondary: null, target: "normal", @@ -8330,7 +8533,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heal Bell", pp: 5, priority: 0, - flags: {snatch: 1, sound: 1, distance: 1, bypasssub: 1}, + flags: {snatch: 1, sound: 1, distance: 1, bypasssub: 1, metronome: 1}, onHit(target, source) { this.add('-activate', source, 'move: Heal Bell'); let success = false; @@ -8355,11 +8558,14 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heal Block", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, volatileStatus: 'healblock', condition: { duration: 5, durationCallback(target, source, effect) { + if (effect?.name === "Psychic Noise") { + return 2; + } if (source?.hasAbility('persistent')) { this.add('-activate', source, 'ability: Persistent', '[move] Heal Block'); return 7; @@ -8398,7 +8604,9 @@ export const Moves: {[moveid: string]: MoveData} = { if ((effect?.id === 'zpower') || this.effectState.isZ) return damage; return false; }, - onRestart(target, source) { + onRestart(target, source, effect) { + if (effect?.name === 'Psychic Noise') return; + this.add('-fail', target, 'move: Heal Block'); // Succeeds to supress downstream messages if (!source.moveThisTurnResult) { source.moveThisTurnResult = false; @@ -8419,7 +8627,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Healing Wish", pp: 10, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onTryHit(source) { if (!this.canSwitch(source.side)) { this.attrLastMove('[still]'); @@ -8453,7 +8661,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heal Order", pp: 10, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, heal: [1, 2], secondary: null, target: "self", @@ -8469,7 +8677,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heal Pulse", pp: 10, priority: 0, - flags: {protect: 1, pulse: 1, reflectable: 1, distance: 1, heal: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, distance: 1, heal: 1, allyanim: 1, metronome: 1, pulse: 1}, onHit(target, source) { let success = false; if (source.hasAbility('megalauncher')) { @@ -8501,7 +8709,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heart Stamp", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -8518,7 +8726,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heart Swap", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1}, onHit(target, source) { const targetBoosts: SparseBoostsTable = {}; const sourceBoosts: SparseBoostsTable = {}; @@ -8566,7 +8774,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heat Crash", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, onTryHit(target, pokemon, move) { if (target.volatiles['dynamax']) { this.add('-fail', pokemon, 'Dynamax'); @@ -8589,7 +8797,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heat Wave", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, secondary: { chance: 10, status: 'brn', @@ -8624,7 +8832,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Heavy Slam", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, onTryHit(target, pokemon, move) { if (target.volatiles['dynamax']) { this.add('-fail', pokemon, 'Dynamax'); @@ -8689,7 +8897,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hex", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ghost", @@ -8705,7 +8913,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hidden Power", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onModifyType(move, pokemon) { move.type = pokemon.hpType || 'Dark'; }, @@ -8978,7 +9186,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "High Horsepower", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ground", @@ -8992,7 +9200,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "High Jump Kick", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, gravity: 1}, + flags: {contact: 1, protect: 1, mirror: 1, gravity: 1, metronome: 1}, hasCrashDamage: true, onMoveFail(target, source, move) { this.damage(source.baseMaxhp / 2, source, source, this.dex.conditions.get('High Jump Kick')); @@ -9007,10 +9215,11 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 40, category: "Physical", + isNonstandard: "Unobtainable", name: "Hold Back", pp: 40, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onDamagePriority: -20, onDamage(damage, target, source, effect) { if (damage >= target.hp) return target.hp - 1; @@ -9025,10 +9234,11 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: true, basePower: 0, category: "Status", + isNonstandard: "Unobtainable", name: "Hold Hands", pp: 40, priority: 0, - flags: {bypasssub: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {bypasssub: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, secondary: null, target: "adjacentAlly", type: "Normal", @@ -9043,7 +9253,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hone Claws", pp: 15, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { atk: 1, accuracy: 1, @@ -9062,7 +9272,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Horn Attack", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -9076,7 +9286,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Horn Drill", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, ohko: true, secondary: null, target: "normal", @@ -9093,7 +9303,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Horn Leech", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, heal: 1}, + flags: {contact: 1, protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [1, 2], secondary: null, target: "normal", @@ -9108,7 +9318,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Howl", pp: 40, priority: 0, - flags: {snatch: 1, sound: 1}, + flags: {snatch: 1, sound: 1, metronome: 1}, boosts: { atk: 1, }, @@ -9126,7 +9336,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hurricane", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, distance: 1, wind: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, wind: 1}, onModifyMove(move, pokemon, target) { switch (target?.effectiveWeather()) { case 'raindance': @@ -9155,7 +9365,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hydro Cannon", pp: 5, priority: 0, - flags: {recharge: 1, protect: 1, mirror: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -9172,7 +9382,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hydro Pump", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Water", @@ -9186,7 +9396,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hydro Steam", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, + flags: {protect: 1, mirror: 1, defrost: 1, metronome: 1}, // Damage boost in Sun applied in conditions.ts thawsTarget: true, secondary: null, @@ -9217,7 +9427,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hyper Beam", pp: 5, priority: 0, - flags: {recharge: 1, protect: 1, mirror: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -9249,7 +9459,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hyper Fang", pp: 15, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondary: { chance: 10, volatileStatus: 'flinch', @@ -9287,6 +9497,7 @@ export const Moves: {[moveid: string]: MoveData} = { def: -1, }, }, + noSketch: true, secondary: null, target: "normal", type: "Dark", @@ -9315,7 +9526,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hyper Voice", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, secondary: null, target: "allAdjacentFoes", type: "Normal", @@ -9329,7 +9540,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Hypnosis", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'slp', secondary: null, target: "normal", @@ -9365,7 +9576,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ice Ball", pp: 20, priority: 0, - flags: {bullet: 1, contact: 1, protect: 1, mirror: 1, noparentalbond: 1, failinstruct: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, failinstruct: 1, bullet: 1, noparentalbond: 1}, onModifyMove(move, pokemon, target) { if (pokemon.volatiles['iceball'] || pokemon.status === 'slp' || !target) return; pokemon.addVolatile('iceball'); @@ -9416,7 +9627,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ice Beam", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'frz', @@ -9430,7 +9641,6 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 90, basePower: 140, category: "Special", - isNonstandard: "Past", name: "Ice Burn", pp: 5, priority: 0, @@ -9462,7 +9672,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ice Fang", pp: 15, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondaries: [ { chance: 10, @@ -9484,7 +9694,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ice Hammer", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, self: { boosts: { spe: -1, @@ -9503,7 +9713,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ice Punch", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: { chance: 10, status: 'frz', @@ -9520,7 +9730,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ice Shard", pp: 30, priority: 1, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ice", @@ -9534,7 +9744,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ice Spinner", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onAfterHit(target, source) { if (source.hp) { this.field.clearTerrain(); @@ -9557,7 +9767,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Icicle Crash", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -9574,7 +9784,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Icicle Spear", pp: 30, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -9591,7 +9801,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Icy Wind", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, secondary: { chance: 100, boosts: { @@ -9610,7 +9820,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Imprison", pp: 10, priority: 0, - flags: {snatch: 1, bypasssub: 1, mustpressure: 1}, + flags: {snatch: 1, bypasssub: 1, metronome: 1, mustpressure: 1}, volatileStatus: 'imprison', condition: { noCopy: true, @@ -9646,7 +9856,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Incinerate", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onHit(pokemon, source) { const item = pokemon.getItem(); if ((item.isBerry || item.isGem) && pokemon.takeItem(source)) { @@ -9670,7 +9880,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Infernal Parade", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'brn', @@ -9686,7 +9896,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Inferno", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, status: 'brn', @@ -9719,7 +9929,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Infestation", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -9734,7 +9944,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ingrain", pp: 20, priority: 0, - flags: {snatch: 1, nonsky: 1}, + flags: {snatch: 1, nonsky: 1, metronome: 1}, volatileStatus: 'ingrain', condition: { onStart(pokemon) { @@ -9803,7 +10013,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ion Deluge", pp: 25, priority: 1, - flags: {}, + flags: {metronome: 1}, pseudoWeather: 'iondeluge', condition: { duration: 1, @@ -9833,7 +10043,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Iron Defense", pp: 15, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 2, }, @@ -9851,7 +10061,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Iron Head", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -9868,7 +10078,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Iron Tail", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, boosts: { @@ -9887,8 +10097,13 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ivy Cudgel", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, critRatio: 2, + onPrepareHit(target, source, move) { + if (move.type !== "Grass") { + this.attrLastMove('[anim] Ivy Cudgel ' + move.type); + } + }, onModifyType(move, pokemon) { switch (pokemon.species.name) { case 'Ogerpon-Wellspring': case 'Ogerpon-Wellspring-Tera': @@ -9914,7 +10129,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Jaw Lock", pp: 10, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, onHit(target, source, move) { source.addVolatile('trapped', target, move, 'trapper'); target.addVolatile('trapped', source, move, 'trapper'); @@ -9945,7 +10160,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Judgment", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onModifyType(move, pokemon) { if (pokemon.ignoringItem()) return; const item = pokemon.getItem(); @@ -9967,7 +10182,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Jump Kick", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, gravity: 1}, + flags: {contact: 1, protect: 1, mirror: 1, gravity: 1, metronome: 1}, hasCrashDamage: true, onMoveFail(target, source, move) { this.damage(source.baseMaxhp / 2, source, source, this.dex.conditions.get('Jump Kick')); @@ -10003,7 +10218,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Karate Chop", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -10019,7 +10234,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Kinesis", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { accuracy: -1, }, @@ -10096,7 +10311,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Knock Off", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, source, target, move) { const item = target.getItem(); if (!this.singleEvent('TakeItem', item, target.itemState, target, target, move, item)) return; @@ -10125,7 +10340,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Kowtow Cleave", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, secondary: null, target: "normal", type: "Dark", @@ -10139,7 +10354,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Land's Wrath", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: null, target: "allAdjacentFoes", type: "Ground", @@ -10155,7 +10370,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Laser Focus", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, volatileStatus: 'laserfocus', condition: { duration: 2, @@ -10191,7 +10406,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lash Out", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, source) { if (source.statsLoweredThisTurn) { this.debug('lashout buff'); @@ -10210,7 +10425,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Last Resort", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onTry(source) { if (source.moveSlots.length < 2) return false; // Last Resort fails unless the user knows at least 2 moves let hasLastResort = false; // User must actually have Last Resort for it to succeed @@ -10239,7 +10454,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Last Respects", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ghost", @@ -10252,7 +10467,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lava Plume", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'brn', @@ -10269,7 +10484,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Leafage", pp: 40, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Grass", @@ -10283,7 +10498,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Leaf Blade", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, critRatio: 2, secondary: null, target: "normal", @@ -10298,7 +10513,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Leaf Storm", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, self: { boosts: { spa: -2, @@ -10318,7 +10533,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Leaf Tornado", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 50, boosts: { @@ -10337,7 +10552,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Leech Life", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, heal: 1}, + flags: {contact: 1, protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [1, 2], secondary: null, target: "normal", @@ -10352,7 +10567,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Leech Seed", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, volatileStatus: 'leechseed', condition: { onStart(target) { @@ -10388,7 +10603,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Leer", pp: 30, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { def: -1, }, @@ -10422,7 +10637,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lick", pp: 30, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'par', @@ -10469,7 +10684,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Light Screen", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, sideCondition: 'lightscreen', condition: { duration: 5, @@ -10531,7 +10746,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Liquidation", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, boosts: { @@ -10550,7 +10765,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lock-On", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onTryHit(target, source) { if (source.volatiles['lockon']) return false; }, @@ -10584,7 +10799,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lovely Kiss", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'slp', secondary: null, target: "normal", @@ -10619,7 +10834,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Low Kick", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onTryHit(target, pokemon, move) { if (target.volatiles['dynamax']) { this.add('-fail', pokemon, 'Dynamax'); @@ -10641,7 +10856,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Low Sweep", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -10661,7 +10876,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lucky Chant", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, sideCondition: 'luckychant', condition: { duration: 5, @@ -10689,7 +10904,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lumina Crash", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -10707,7 +10922,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lunar Blessing", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onHit(pokemon) { const success = !!this.heal(this.modify(pokemon.maxhp, 0.25)); return pokemon.cureStatus() || success; @@ -10724,7 +10939,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lunar Dance", pp: 10, priority: 0, - flags: {snatch: 1, heal: 1, dance: 1}, + flags: {snatch: 1, dance: 1, heal: 1, metronome: 1}, onTryHit(source) { if (!this.canSwitch(source.side)) { this.attrLastMove('[still]'); @@ -10766,7 +10981,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Lunge", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -10780,13 +10995,12 @@ export const Moves: {[moveid: string]: MoveData} = { lusterpurge: { num: 295, accuracy: 100, - basePower: 70, + basePower: 95, category: "Special", - isNonstandard: "Past", name: "Luster Purge", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 50, boosts: { @@ -10805,7 +11019,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mach Punch", pp: 30, priority: 1, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: null, target: "normal", type: "Fighting", @@ -10819,7 +11033,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magical Leaf", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Grass", @@ -10835,8 +11049,9 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 10, priority: 0, flags: { - protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, + noSketch: true, secondary: { chance: 30, volatileStatus: 'confusion', @@ -10853,7 +11068,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magic Coat", pp: 15, priority: 4, - flags: {}, + flags: {metronome: 1}, volatileStatus: 'magiccoat', condition: { duration: 1, @@ -10899,7 +11114,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magic Powder", pp: 20, priority: 0, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1, powder: 1}, onHit(target) { if (target.getTypes().join() === 'Psychic' || !target.setType('Psychic')) return false; this.add('-start', target, 'typechange', 'Psychic'); @@ -10916,7 +11131,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magic Room", pp: 10, priority: 0, - flags: {mirror: 1}, + flags: {mirror: 1, metronome: 1}, pseudoWeather: 'magicroom', condition: { duration: 5, @@ -10961,7 +11176,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magma Storm", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -10977,7 +11192,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magnet Bomb", pp: 20, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: null, target: "normal", type: "Steel", @@ -10991,7 +11206,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magnetic Flux", pp: 20, priority: 0, - flags: {snatch: 1, distance: 1, bypasssub: 1}, + flags: {snatch: 1, distance: 1, bypasssub: 1, metronome: 1}, onHitSide(side, source, move) { const targets = side.allies().filter(ally => ( ally.hasAbility(['plus', 'minus']) && @@ -11019,7 +11234,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magnet Rise", pp: 10, priority: 0, - flags: {snatch: 1, gravity: 1}, + flags: {snatch: 1, gravity: 1, metronome: 1}, volatileStatus: 'magnetrise', onTry(source, target, move) { if (target.volatiles['smackdown'] || target.volatiles['ingrain']) return false; @@ -11058,7 +11273,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Magnitude", pp: 30, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, onModifyMove(move, pokemon) { const i = this.random(100); if (i < 5) { @@ -11129,6 +11344,22 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Dark", contestType: "Cool", }, + malignantchain: { + num: 919, + accuracy: 100, + basePower: 100, + category: "Special", + name: "Malignant Chain", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1, metronome: 1}, + secondary: { + chance: 50, + status: 'tox', + }, + target: "normal", + type: "Poison", + }, matblock: { num: 561, accuracy: true, @@ -11186,7 +11417,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Matcha Gotcha", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, + flags: {protect: 1, mirror: 1, defrost: 1, heal: 1, metronome: 1}, drain: [1, 2], thawsTarget: true, secondary: { @@ -11652,7 +11883,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mean Look", pp: 5, priority: 0, - flags: {reflectable: 1, mirror: 1}, + flags: {reflectable: 1, mirror: 1, metronome: 1}, onHit(target, source, move) { return target.addVolatile('trapped', source, move, 'trapper'); }, @@ -11671,7 +11902,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Meditate", pp: 40, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { atk: 1, }, @@ -11692,7 +11923,7 @@ export const Moves: {[moveid: string]: MoveData} = { priority: 0, flags: { protect: 1, bypasssub: 1, - failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, onTryHit(target, pokemon) { const action = this.queue.willMove(target); @@ -11727,7 +11958,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mega Drain", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, heal: 1}, + flags: {protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [1, 2], secondary: null, target: "normal", @@ -11743,7 +11974,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Megahorn", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Bug", @@ -11757,7 +11988,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mega Kick", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -11771,7 +12002,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mega Punch", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -11785,7 +12016,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Memento", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, boosts: { atk: -2, spa: -2, @@ -11829,7 +12060,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Metal Burst", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, failmefirst: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, failmefirst: 1}, onTry(source) { const lastDamagedBy = source.getLastDamagedBy(true); if (lastDamagedBy === undefined || !lastDamagedBy.thisTurn) return false; @@ -11853,7 +12084,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Metal Claw", pp: 35, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, self: { @@ -11874,7 +12105,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Metal Sound", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, allyanim: 1, metronome: 1}, boosts: { spd: -2, }, @@ -11893,7 +12124,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Meteor Assault", pp: 5, priority: 0, - flags: {protect: 1, recharge: 1, mirror: 1, failinstruct: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, failinstruct: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -11909,7 +12140,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Meteor Beam", pp: 10, priority: 0, - flags: {charge: 1, protect: 1, mirror: 1}, + flags: {charge: 1, protect: 1, mirror: 1, metronome: 1}, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; @@ -11934,7 +12165,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Meteor Mash", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: { chance: 20, self: { @@ -11955,16 +12186,12 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Metronome", pp: 10, priority: 0, - flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, - noMetronome: [ - "After You", "Apple Acid", "Armor Cannon", "Assist", "Astral Barrage", "Aura Wheel", "Baneful Bunker", "Beak Blast", "Behemoth Bash", "Behemoth Blade", "Belch", "Bestow", "Blazing Torque", "Body Press", "Branch Poke", "Breaking Swipe", "Celebrate", "Chatter", "Chilling Water", "Chilly Reception", "Clangorous Soul", "Collision Course", "Combat Torque", "Comeuppance", "Copycat", "Counter", "Covet", "Crafty Shield", "Decorate", "Destiny Bond", "Detect", "Diamond Storm", "Doodle", "Double Iron Bash", "Double Shock", "Dragon Ascent", "Dragon Energy", "Drum Beating", "Dynamax Cannon", "Electro Drift", "Endure", "Eternabeam", "False Surrender", "Feint", "Fiery Wrath", "Fillet Away", "Fleur Cannon", "Focus Punch", "Follow Me", "Freeze Shock", "Freezing Glare", "Glacial Lance", "Grav Apple", "Helping Hand", "Hold Hands", "Hyper Drill", "Hyperspace Fury", "Hyperspace Hole", "Ice Burn", "Instruct", "Jet Punch", "Jungle Healing", "King's Shield", "Life Dew", "Light of Ruin", "Magical Torque", "Make It Rain", "Mat Block", "Me First", "Meteor Assault", "Metronome", "Mimic", "Mind Blown", "Mirror Coat", "Mirror Move", "Moongeist Beam", "Nature Power", "Nature's Madness", "Noxious Torque", "Obstruct", "Order Up", "Origin Pulse", "Overdrive", "Photon Geyser", "Plasma Fists", "Population Bomb", "Pounce", "Power Shift", "Precipice Blades", "Protect", "Pyro Ball", "Quash", "Quick Guard", "Rage Fist", "Rage Powder", "Raging Bull", "Raging Fury", "Relic Song", "Revival Blessing", "Ruination", "Salt Cure", "Secret Sword", "Shed Tail", "Shell Trap", "Silk Trap", "Sketch", "Sleep Talk", "Snap Trap", "Snarl", "Snatch", "Snore", "Snowscape", "Spectral Thief", "Spicy Extract", "Spiky Shield", "Spirit Break", "Spotlight", "Springtide Storm", "Steam Eruption", "Steel Beam", "Strange Steam", "Struggle", "Sunsteel Strike", "Surging Strikes", "Switcheroo", "Techno Blast", "Thief", "Thousand Arrows", "Thousand Waves", "Thunder Cage", "Thunderous Kick", "Tidy Up", "Trailblaze", "Transform", "Trick", "Twin Beam", "V-create", "Wicked Blow", "Wicked Torque", "Wide Guard", - ], + flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onHit(target, source, effect) { const moves = this.dex.moves.all().filter(move => ( (![2, 4].includes(this.gen) || !source.moves.includes(move.id)) && - !move.realMove && !move.isZ && !move.isMax && (!move.isNonstandard || move.isNonstandard === 'Unobtainable') && - !effect.noMetronome!.includes(move.name) + move.flags['metronome'] )); let randomMove = ''; if (moves.length) { @@ -11980,6 +12207,19 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Normal", contestType: "Cute", }, + mightycleave: { + num: 910, + accuracy: 100, + basePower: 95, + category: "Physical", + name: "Mighty Cleave", + pp: 5, + priority: 0, + flags: {contact: 1, mirror: 1, metronome: 1, slicing: 1}, + secondary: null, + target: "normal", + type: "Rock", + }, milkdrink: { num: 208, accuracy: true, @@ -11988,7 +12228,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Milk Drink", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, heal: [1, 2], secondary: null, target: "self", @@ -12006,7 +12246,7 @@ export const Moves: {[moveid: string]: MoveData} = { priority: 0, flags: { protect: 1, bypasssub: 1, allyanim: 1, - failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, onHit(target, source) { const move = target.lastMove; @@ -12069,7 +12309,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mind Reader", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onTryHit(target, source) { if (source.volatiles['lockon']) return false; }, @@ -12091,7 +12331,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Minimize", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, volatileStatus: 'minimize', condition: { noCopy: true, @@ -12132,7 +12372,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Miracle Eye", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'miracleeye', onTryHit(target) { if (target.volatiles['foresight']) return false; @@ -12211,7 +12451,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mirror Move", pp: 20, priority: 0, - flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onTryHit(target, pokemon) { const move = target.lastMove; if (!move?.flags['mirror'] || move.isZ || move.isMax) { @@ -12235,7 +12475,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mirror Shot", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, boosts: { @@ -12254,7 +12494,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mist", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, sideCondition: 'mist', condition: { duration: 5, @@ -12292,13 +12532,12 @@ export const Moves: {[moveid: string]: MoveData} = { mistball: { num: 296, accuracy: 100, - basePower: 70, + basePower: 95, category: "Special", - isNonstandard: "Past", name: "Mist Ball", pp: 5, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 50, boosts: { @@ -12317,7 +12556,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Misty Explosion", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, selfdestruct: "always", onBasePower(basePower, source) { if (this.field.isTerrain('mistyterrain') && source.isGrounded()) { @@ -12337,7 +12576,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Misty Terrain", pp: 10, priority: 0, - flags: {nonsky: 1}, + flags: {nonsky: 1, metronome: 1}, terrain: 'mistyterrain', condition: { duration: 5, @@ -12395,7 +12634,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Moonblast", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, boosts: { @@ -12411,7 +12650,6 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 100, category: "Special", - isNonstandard: "Past", name: "Moongeist Beam", pp: 5, priority: 0, @@ -12430,7 +12668,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Moonlight", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onHit(pokemon) { let factor = 0.5; switch (pokemon.effectiveWeather()) { @@ -12467,7 +12705,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Morning Sun", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onHit(pokemon) { let factor = 0.5; switch (pokemon.effectiveWeather()) { @@ -12504,7 +12742,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mortal Spin", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onAfterHit(target, pokemon, move) { if (!move.hasSheerForce) { if (pokemon.hp && pokemon.removeVolatile('leechseed')) { @@ -12552,7 +12790,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mountain Gale", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -12569,7 +12807,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mud Bomb", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 30, boosts: { @@ -12588,7 +12826,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mud Shot", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -12607,7 +12845,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mud-Slap", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -12627,7 +12865,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mud Sport", pp: 15, priority: 0, - flags: {nonsky: 1}, + flags: {nonsky: 1, metronome: 1}, pseudoWeather: 'mudsport', condition: { duration: 5, @@ -12661,7 +12899,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Muddy Water", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: { chance: 30, boosts: { @@ -12681,7 +12919,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Multi-Attack", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onModifyType(move, pokemon) { if (pokemon.ignoringItem()) return; move.type = this.runEvent('Memory', pokemon, null, move, 'Normal'); @@ -12701,7 +12939,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mystical Fire", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -12720,7 +12958,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Mystical Power", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, self: { @@ -12740,7 +12978,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Nasty Plot", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { spa: 2, }, @@ -12759,7 +12997,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Natural Gift", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onModifyType(move, pokemon) { if (pokemon.ignoringItem()) return; const item = pokemon.getItem(); @@ -12793,7 +13031,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Nature Power", pp: 20, priority: 0, - flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onTryHit(target, pokemon) { let move = 'triattack'; if (this.field.isTerrain('electricterrain')) { @@ -12840,7 +13078,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Needle Arm", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -12873,7 +13111,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Night Daze", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 40, boosts: { @@ -12893,7 +13131,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Nightmare", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'nightmare', condition: { noCopy: true, @@ -12923,7 +13161,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Night Shade", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ghost", @@ -12937,7 +13175,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Night Slash", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, critRatio: 2, secondary: null, target: "normal", @@ -12952,7 +13190,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Noble Roar", pp: 30, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, boosts: { atk: -1, spa: -1, @@ -12971,7 +13209,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "No Retreat", pp: 5, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, volatileStatus: 'noretreat', onTry(source, target, move) { if (source.volatiles['noretreat']) return false; @@ -13008,8 +13246,9 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 10, priority: 0, flags: { - protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, + noSketch: true, secondary: { chance: 30, status: 'psn', @@ -13025,7 +13264,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Nuzzle", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, status: 'par', @@ -13043,7 +13282,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Oblivion Wing", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, distance: 1, heal: 1}, + flags: {protect: 1, mirror: 1, distance: 1, heal: 1, metronome: 1}, drain: [3, 4], secondary: null, target: "any", @@ -13132,7 +13371,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Octazooka", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 50, boosts: { @@ -13152,7 +13391,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Octolock", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onTryImmunity(target) { return this.dex.getImmunity('trapped', target); }, @@ -13188,7 +13427,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Odor Sleuth", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1}, volatileStatus: 'foresight', onTryHit(target) { if (target.volatiles['miracleeye']) return false; @@ -13208,7 +13447,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Ominous Wind", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, self: { @@ -13263,7 +13502,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Origin Pulse", pp: 10, priority: 0, - flags: {protect: 1, pulse: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, pulse: 1}, target: "allAdjacentFoes", type: "Water", contestType: "Beautiful", @@ -13276,7 +13515,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Outrage", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, failinstruct: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, failinstruct: 1}, self: { volatileStatus: 'lockedmove', }, @@ -13311,7 +13550,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Overheat", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, self: { boosts: { spa: -2, @@ -13330,7 +13569,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Pain Split", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, allyanim: 1, metronome: 1}, onHit(target, pokemon) { const targetHP = target.getUndynamaxedHP(); const averagehp = Math.floor((targetHP + pokemon.hp) / 2) || 1; @@ -13374,7 +13613,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Parabolic Charge", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, heal: 1}, + flags: {protect: 1, mirror: 1, heal: 1, metronome: 1}, drain: [1, 2], secondary: null, target: "allAdjacent", @@ -13389,7 +13628,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Parting Shot", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, onHit(target, source, move) { const success = this.boost({atk: -1, spa: -1}, target, source); if (!success && !target.hasAbility('mirrorarmor')) { @@ -13419,7 +13658,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Payback", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dark", @@ -13433,7 +13672,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Pay Day", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -13447,7 +13686,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Peck", pp: 35, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, distance: 1}, + flags: {contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1}, secondary: null, target: "any", type: "Flying", @@ -13461,7 +13700,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Perish Song", pp: 5, priority: 0, - flags: {sound: 1, distance: 1, bypasssub: 1}, + flags: {sound: 1, distance: 1, bypasssub: 1, metronome: 1}, onHitField(target, source, move) { let result = false; let message = false; @@ -13507,7 +13746,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Petal Blizzard", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, secondary: null, target: "allAdjacent", type: "Grass", @@ -13521,7 +13760,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Petal Dance", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, dance: 1, failinstruct: 1}, + flags: {contact: 1, protect: 1, mirror: 1, dance: 1, metronome: 1, failinstruct: 1}, self: { volatileStatus: 'lockedmove', }, @@ -13543,7 +13782,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Phantom Force", pp: 10, priority: 0, - flags: {contact: 1, charge: 1, mirror: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1}, + flags: {contact: 1, charge: 1, mirror: 1, metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1}, breaksProtect: true, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { @@ -13570,7 +13809,6 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 100, category: "Special", - isNonstandard: "Past", name: "Photon Geyser", pp: 5, priority: 0, @@ -13612,7 +13850,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Pin Missile", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -13645,7 +13883,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Play Nice", pp: 20, priority: 0, - flags: {reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, boosts: { atk: -1, }, @@ -13663,7 +13901,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Play Rough", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -13682,7 +13920,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Pluck", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, distance: 1}, + flags: {contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1}, onHit(target, source) { const item = target.getItem(); if (source.hp && item.isBerry && target.takeItem(source)) { @@ -13707,7 +13945,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Poison Fang", pp: 15, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondary: { chance: 50, status: 'tox', @@ -13724,7 +13962,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Poison Gas", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'psn', secondary: null, target: "allAdjacentFoes", @@ -13740,7 +13978,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Poison Jab", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'psn', @@ -13757,7 +13995,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Poison Powder", pp: 35, priority: 0, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1, powder: 1}, status: 'psn', secondary: null, target: "normal", @@ -13773,7 +14011,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Poison Sting", pp: 35, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'psn', @@ -13790,7 +14028,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Poison Tail", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: { chance: 10, @@ -13808,7 +14046,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Pollen Puff", pp: 15, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, allyanim: 1, metronome: 1, bullet: 1}, onTryHit(target, source, move) { if (source.isAlly(target)) { move.basePower = 0; @@ -13849,7 +14087,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Poltergeist", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onTry(source, target) { return !!target.item; }, @@ -13902,7 +14140,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Pound", pp: 35, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -13917,7 +14155,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Powder", pp: 20, priority: 1, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1, powder: 1}, volatileStatus: 'powder', condition: { duration: 1, @@ -13948,7 +14186,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Powder Snow", pp: 25, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'frz', @@ -13965,7 +14203,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Power Gem", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Rock", @@ -14019,7 +14257,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Power Split", pp: 10, priority: 0, - flags: {protect: 1, allyanim: 1}, + flags: {protect: 1, allyanim: 1, metronome: 1}, onHit(target, source) { const newatk = Math.floor((target.storedStats.atk + source.storedStats.atk) / 2); target.storedStats.atk = newatk; @@ -14043,7 +14281,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Power Swap", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1}, onHit(target, source) { const targetBoosts: SparseBoostsTable = {}; const sourceBoosts: SparseBoostsTable = {}; @@ -14073,7 +14311,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Power Trick", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, volatileStatus: 'powertrick', condition: { onStart(pokemon) { @@ -14119,7 +14357,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Power Trip", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dark", @@ -14136,7 +14374,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Power-Up Punch", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: { chance: 100, self: { @@ -14157,7 +14395,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Power Whip", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Grass", @@ -14184,7 +14422,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Present", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onModifyMove(move, pokemon, target) { const rand = this.random(10); if (rand < 2) { @@ -14208,11 +14446,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 160, category: "Special", - isNonstandard: "Past", name: "Prismatic Laser", pp: 10, priority: 0, - flags: {recharge: 1, protect: 1, mirror: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -14279,7 +14516,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psybeam", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, volatileStatus: 'confusion', @@ -14296,7 +14533,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psyblade", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, secondary: null, onBasePower(basePower, source) { if (this.field.isTerrain('electricterrain')) { @@ -14315,7 +14552,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psych Up", pp: 10, priority: 0, - flags: {bypasssub: 1, allyanim: 1}, + flags: {bypasssub: 1, allyanim: 1, metronome: 1}, onHit(target, source) { let i: BoostID; for (i in target.boosts) { @@ -14346,7 +14583,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psychic", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, boosts: { @@ -14365,7 +14602,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psychic Fangs", pp: 10, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, onTryHit(pokemon) { // will shatter screens through sub, before you hit pokemon.side.removeSideCondition('reflect'); @@ -14377,6 +14614,22 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Psychic", contestType: "Clever", }, + psychicnoise: { + num: 917, + accuracy: 100, + basePower: 75, + category: "Special", + name: "Psychic Noise", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, + secondary: { + chance: 100, + volatileStatus: 'healblock', + }, + target: "normal", + type: "Psychic", + }, psychicterrain: { num: 678, accuracy: true, @@ -14385,7 +14638,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psychic Terrain", pp: 10, priority: 0, - flags: {nonsky: 1}, + flags: {nonsky: 1, metronome: 1}, terrain: 'psychicterrain', condition: { duration: 5, @@ -14442,11 +14695,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 90, basePower: 140, category: "Special", - isNonstandard: "Past", name: "Psycho Boost", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, self: { boosts: { spa: -2, @@ -14465,7 +14717,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psycho Cut", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, slicing: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, slicing: 1}, critRatio: 2, secondary: null, target: "normal", @@ -14481,7 +14733,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psycho Shift", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onTryHit(target, source, move) { if (!source.status) return false; move.status = source.status; @@ -14505,7 +14757,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psyshield Bash", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, self: { @@ -14526,7 +14778,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psyshock", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Psychic", @@ -14541,7 +14793,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psystrike", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Psychic", @@ -14559,7 +14811,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Psywave", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Psychic", @@ -14596,7 +14848,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Punishment", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Dark", @@ -14613,7 +14865,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Purify", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, heal: 1}, + flags: {protect: 1, reflectable: 1, heal: 1, metronome: 1}, onHit(target, source) { if (!target.cureStatus()) { this.add('-fail', source); @@ -14645,7 +14897,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Pursuit", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, beforeTurnCallback(pokemon) { for (const side of this.sides) { if (side.hasAlly(pokemon)) continue; @@ -14742,7 +14994,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Quick Attack", pp: 30, priority: 1, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -14804,7 +15056,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Quiver Dance", pp: 20, priority: 0, - flags: {snatch: 1, dance: 1}, + flags: {snatch: 1, dance: 1, metronome: 1}, boosts: { spa: 1, spd: 1, @@ -14825,7 +15077,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rage", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'rage', }, @@ -14873,7 +15125,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rage Powder", pp: 20, priority: 2, - flags: {powder: 1, noassist: 1, failcopycat: 1}, + flags: {noassist: 1, failcopycat: 1, powder: 1}, volatileStatus: 'ragepowder', onTry(source) { return this.activePerHalf > 1; @@ -14962,7 +15214,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rain Dance", pp: 5, priority: 0, - flags: {}, + flags: {metronome: 1}, weather: 'RainDance', secondary: null, target: "all", @@ -14978,7 +15230,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rapid Spin", pp: 40, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onAfterHit(target, pokemon, move) { if (!move.hasSheerForce) { if (pokemon.hp && pokemon.removeVolatile('leechseed')) { @@ -15031,7 +15283,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Razor Leaf", pp: 25, priority: 0, - flags: {protect: 1, mirror: 1, slicing: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, slicing: 1}, critRatio: 2, secondary: null, target: "allAdjacentFoes", @@ -15046,7 +15298,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Razor Shell", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, secondary: { chance: 50, boosts: { @@ -15066,7 +15318,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Razor Wind", pp: 10, priority: 0, - flags: {charge: 1, protect: 1, mirror: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {charge: 1, protect: 1, mirror: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1}, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; @@ -15092,7 +15344,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Recover", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, heal: [1, 2], secondary: null, target: "self", @@ -15108,7 +15360,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Recycle", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onHit(pokemon) { if (pokemon.item || !pokemon.lastItem) return false; const item = pokemon.lastItem; @@ -15130,7 +15382,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Reflect", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, sideCondition: 'reflect', condition: { duration: 5, @@ -15172,7 +15424,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Reflect Type", pp: 15, priority: 0, - flags: {protect: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, bypasssub: 1, allyanim: 1, metronome: 1}, onHit(target, source) { if (source.species && (source.species.num === 493 || source.species.num === 773)) return false; if (source.terastallized) return false; @@ -15206,7 +15458,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Refresh", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onHit(pokemon) { if (['', 'slp', 'frz'].includes(pokemon.status)) return false; pokemon.cureStatus(); @@ -15253,7 +15505,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rest", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onTry(source) { if (source.status === 'slp' || source.hasAbility('comatose')) return false; @@ -15287,7 +15539,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Retaliate", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, pokemon) { if (pokemon.side.faintedLastTurn) { this.debug('Boosted for a faint last turn'); @@ -15311,7 +15563,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Return", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -15327,10 +15579,11 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Revelation Dance", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, + flags: {protect: 1, mirror: 1, dance: 1, metronome: 1}, onModifyType(move, pokemon) { let type = pokemon.getTypes()[0]; if (type === "Bird") type = "???"; + if (type === "Stellar") type = pokemon.getTypes(false, true)[0]; move.type = type; }, secondary: null, @@ -15357,7 +15610,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Revenge", pp: 10, priority: -4, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Fighting", @@ -15367,7 +15620,7 @@ export const Moves: {[moveid: string]: MoveData} = { num: 179, accuracy: 100, basePower: 0, - basePowerCallback(pokemon, target) { + basePowerCallback(pokemon) { const ratio = Math.max(Math.floor(pokemon.hp * 48 / pokemon.maxhp), 1); let bp; if (ratio < 2) { @@ -15390,7 +15643,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Reversal", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Fighting", @@ -15406,7 +15659,7 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 1, noPPBoosts: true, priority: 0, - flags: {}, + flags: {heal: 1}, onTryHit(source) { if (!source.side.pokemon.filter(ally => ally.fainted).length) { return false; @@ -15421,6 +15674,7 @@ export const Moves: {[moveid: string]: MoveData} = { duration: 1, // reviving implemented in side.ts, kind of }, + noSketch: true, secondary: null, target: "self", type: "Normal", @@ -15440,7 +15694,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rising Voltage", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Electric", @@ -15454,7 +15708,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Roar", pp: 20, priority: -6, - flags: {reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, allyanim: 1, noassist: 1, failcopycat: 1}, + flags: {reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, allyanim: 1, metronome: 1, noassist: 1, failcopycat: 1}, forceSwitch: true, secondary: null, target: "normal", @@ -15470,7 +15724,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Roar of Time", pp: 5, priority: 0, - flags: {recharge: 1, protect: 1, mirror: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, metronome: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -15487,7 +15741,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rock Blast", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -15505,7 +15759,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rock Climb", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, volatileStatus: 'confusion', @@ -15522,7 +15776,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rock Polish", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { spe: 2, }, @@ -15540,7 +15794,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rock Slide", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -15557,7 +15811,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rock Smash", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 50, boosts: { @@ -15576,7 +15830,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rock Throw", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Rock", @@ -15590,7 +15844,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rock Tomb", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -15606,11 +15860,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 90, basePower: 150, category: "Physical", - isNonstandard: "Past", name: "Rock Wrecker", pp: 5, priority: 0, - flags: {bullet: 1, recharge: 1, protect: 1, mirror: 1}, + flags: {recharge: 1, protect: 1, mirror: 1, metronome: 1, bullet: 1}, self: { volatileStatus: 'mustrecharge', }, @@ -15627,19 +15880,10 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Role Play", pp: 10, priority: 0, - flags: {bypasssub: 1, allyanim: 1}, + flags: {bypasssub: 1, allyanim: 1, metronome: 1}, onTryHit(target, source) { if (target.ability === source.ability) return false; - - const additionalBannedTargetAbilities = [ - // Zen Mode included here for compatability with Gen 5-6 - 'commander', 'flowergift', 'forecast', 'hungerswitch', 'illusion', 'imposter', 'neutralizinggas', 'powerofalchemy', 'receiver', 'trace', 'wonderguard', 'zenmode', - ]; - - if (target.getAbility().isPermanent || additionalBannedTargetAbilities.includes(target.ability) || - source.getAbility().isPermanent) { - return false; - } + if (target.getAbility().flags['failroleplay'] || source.getAbility().flags['cantsuppress']) return false; }, onHit(target, source) { const oldAbility = source.setAbility(target.ability); @@ -15664,7 +15908,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rolling Kick", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -15700,7 +15944,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rollout", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, noparentalbond: 1, failinstruct: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, failinstruct: 1, noparentalbond: 1}, onModifyMove(move, pokemon, target) { if (pokemon.volatiles['rollout'] || pokemon.status === 'slp' || !target) return; pokemon.addVolatile('rollout'); @@ -15750,7 +15994,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Roost", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, heal: [1, 2], self: { volatileStatus: 'roost', @@ -15759,11 +16003,13 @@ export const Moves: {[moveid: string]: MoveData} = { duration: 1, onResidualOrder: 25, onStart(target) { - if (!target.terastallized) { - this.add('-singleturn', target, 'move: Roost'); - } else if (target.terastallized === "Flying") { - this.add('-hint', "If a Flying Terastallized Pokemon uses Roost, it remains Flying-type."); + if (target.terastallized) { + if (target.hasType('Flying')) { + this.add('-hint', "If a Terastallized Pokemon uses Roost, it remains Flying-type."); + } + return false; } + this.add('-singleturn', target, 'move: Roost'); }, onTypePriority: -1, onType(types, pokemon) { @@ -15786,7 +16032,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Rototiller", pp: 10, priority: 0, - flags: {distance: 1, nonsky: 1}, + flags: {distance: 1, nonsky: 1, metronome: 1}, onHitField(target, source) { const targets: Pokemon[] = []; let anyAirborne = false; @@ -15827,7 +16073,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Round", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, onTry(source, target, move) { for (const action of this.queue.list as MoveAction[]) { if (!action.pokemon || !action.move || action.maxMove || action.zmove) continue; @@ -15864,11 +16110,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 95, basePower: 100, category: "Physical", - isNonstandard: "Past", name: "Sacred Fire", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, + flags: {protect: 1, mirror: 1, defrost: 1, metronome: 1}, secondary: { chance: 50, status: 'brn', @@ -15885,7 +16130,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sacred Sword", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, ignoreEvasion: true, ignoreDefensive: true, secondary: null, @@ -15901,7 +16146,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Safeguard", pp: 25, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, sideCondition: 'safeguard', condition: { duration: 5, @@ -15988,7 +16233,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sand Attack", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { accuracy: -1, }, @@ -16006,7 +16251,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sandsear Storm", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, onModifyMove(move, pokemon, target) { if (target && ['raindance', 'primordialsea'].includes(target.effectiveWeather())) { move.accuracy = true; @@ -16027,7 +16272,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sandstorm", pp: 10, priority: 0, - flags: {wind: 1}, + flags: {metronome: 1, wind: 1}, weather: 'Sandstorm', secondary: null, target: "all", @@ -16043,7 +16288,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sand Tomb", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -16093,7 +16338,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Scald", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, + flags: {protect: 1, mirror: 1, defrost: 1, metronome: 1}, thawsTarget: true, secondary: { chance: 30, @@ -16111,7 +16356,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Scale Shot", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], selfBoost: { boosts: { @@ -16133,7 +16378,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Scary Face", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, boosts: { spe: -2, }, @@ -16151,7 +16396,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Scorching Sands", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, defrost: 1}, + flags: {protect: 1, mirror: 1, defrost: 1, metronome: 1}, thawsTarget: true, secondary: { chance: 30, @@ -16168,7 +16413,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Scratch", pp: 35, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -16182,7 +16427,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Screech", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, allyanim: 1, metronome: 1}, boosts: { def: -2, }, @@ -16201,7 +16446,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Searing Shot", pp: 5, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 30, status: 'brn', @@ -16236,7 +16481,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Secret Power", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onModifyMove(move, pokemon) { if (this.field.isTerrain('')) return; move.secondaries = []; @@ -16279,7 +16524,6 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 85, category: "Special", - isNonstandard: "Past", overrideDefensiveStat: 'def', name: "Secret Sword", pp: 10, @@ -16298,7 +16542,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Seed Bomb", pp: 15, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: null, target: "normal", type: "Grass", @@ -16312,7 +16556,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Seed Flare", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 40, boosts: { @@ -16332,7 +16576,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Seismic Toss", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: null, target: "normal", type: "Fighting", @@ -16347,7 +16591,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Self-Destruct", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1, noparentalbond: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, noparentalbond: 1}, selfdestruct: "always", secondary: null, target: "allAdjacent", @@ -16362,7 +16606,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shadow Ball", pp: 15, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 20, boosts: { @@ -16382,7 +16626,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shadow Bone", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, boosts: { @@ -16401,7 +16645,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shadow Claw", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -16416,7 +16660,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shadow Force", pp: 5, priority: 0, - flags: {contact: 1, charge: 1, mirror: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1}, + flags: {contact: 1, charge: 1, mirror: 1, metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1}, breaksProtect: true, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { @@ -16446,7 +16690,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shadow Punch", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: null, target: "normal", type: "Ghost", @@ -16460,7 +16704,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shadow Sneak", pp: 30, priority: 1, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ghost", @@ -16495,7 +16739,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sharpen", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { atk: 1, }, @@ -16567,7 +16811,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sheer Cold", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, ohko: 'Ice', target: "normal", @@ -16584,7 +16828,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shell Side Arm", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onPrepareHit(target, source, move) { if (!source.isAlly(target)) { this.attrLastMove('[anim] Shell Side Arm ' + move.category); @@ -16625,7 +16869,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shell Smash", pp: 15, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: -1, spd: -1, @@ -16687,7 +16931,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shelter", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 2, }, @@ -16703,7 +16947,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shift Gear", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { spe: 2, atk: 1, @@ -16722,7 +16966,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shock Wave", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Electric", @@ -16736,7 +16980,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Shore Up", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onHit(pokemon) { let factor = 0.5; if (this.field.isWeather('sandstorm')) { @@ -16764,7 +17008,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Signal Beam", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, volatileStatus: 'confusion', @@ -16836,7 +17080,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Silver Wind", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, self: { @@ -16861,9 +17105,9 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Simple Beam", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onTryHit(target) { - if (target.getAbility().isPermanent || target.ability === 'simple' || target.ability === 'truant') { + if (target.getAbility().flags['cantsuppress'] || target.ability === 'simple' || target.ability === 'truant') { return false; } }, @@ -16889,7 +17133,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sing", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, status: 'slp', secondary: null, target: "normal", @@ -16936,19 +17180,17 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: true, basePower: 0, category: "Status", - isNonstandard: "Past", name: "Sketch", pp: 1, noPPBoosts: true, priority: 0, flags: { - bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + bypasssub: 1, allyanim: 1, failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, onHit(target, source) { - const disallowedMoves = ['chatter', 'sketch', 'struggle']; const move = target.lastMove; if (source.transformed || !move || source.moves.includes(move.id)) return false; - if (disallowedMoves.includes(move.id) || move.isZ || move.isMax) return false; + if (move.noSketch || move.isZ || move.isMax) return false; const sketchIndex = source.moves.indexOf('sketch'); if (sketchIndex < 0) return false; const sketchedMove = { @@ -16979,17 +17221,11 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Skill Swap", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1}, onTryHit(target, source) { - const additionalBannedAbilities = ['hungerswitch', 'illusion', 'neutralizinggas', 'wonderguard']; const targetAbility = target.getAbility(); const sourceAbility = source.getAbility(); - // TODO: research in what order these should be checked - if ( - target.volatiles['dynamax'] || - targetAbility.isPermanent || sourceAbility.isPermanent || - additionalBannedAbilities.includes(target.ability) || additionalBannedAbilities.includes(source.ability) - ) { + if (sourceAbility.flags['failskillswap'] || targetAbility.flags['failskillswap'] || target.volatiles['dynamax']) { return false; } const sourceCanBeSet = this.runEvent('SetAbility', source, source, this.effect, targetAbility); @@ -17011,6 +17247,7 @@ export const Moves: {[moveid: string]: MoveData} = { target.ability = sourceAbility.id; source.abilityState = {id: this.toID(source.ability), target: source}; target.abilityState = {id: this.toID(target.ability), target: target}; + source.volatileStaleness = undefined; if (!target.isAlly(source)) target.volatileStaleness = 'external'; this.singleEvent('Start', targetAbility, source.abilityState, source); this.singleEvent('Start', sourceAbility, target.abilityState, target); @@ -17029,7 +17266,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Skitter Smack", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -17048,7 +17285,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Skull Bash", pp: 10, priority: 0, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {contact: 1, charge: 1, protect: 1, mirror: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1}, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; @@ -17074,7 +17311,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sky Attack", pp: 5, priority: 0, - flags: {charge: 1, protect: 1, mirror: 1, distance: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {charge: 1, protect: 1, mirror: 1, distance: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1}, critRatio: 2, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { @@ -17105,7 +17342,8 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 10, priority: 0, flags: { - contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, + contact: 1, charge: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, + metronome: 1, nosleeptalk: 1, noassist: 1, failinstruct: 1, }, onModifyMove(move, source) { if (!source.volatiles['skydrop']) { @@ -17218,7 +17456,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sky Uppercut", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: null, target: "normal", type: "Fighting", @@ -17232,7 +17470,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Slack Off", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, heal: [1, 2], secondary: null, target: "self", @@ -17248,7 +17486,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Slam", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -17262,7 +17500,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Slash", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, critRatio: 2, secondary: null, target: "normal", @@ -17277,7 +17515,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sleep Powder", pp: 15, priority: 0, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1, powder: 1}, status: 'slp', secondary: null, target: "normal", @@ -17293,7 +17531,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sleep Talk", pp: 10, priority: 0, - flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {failencore: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, sleepUsable: true, onTry(source) { return source.status === 'slp' || source.hasAbility('comatose'); @@ -17330,7 +17568,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sludge", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'psn', @@ -17347,7 +17585,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sludge Bomb", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 30, status: 'psn', @@ -17364,7 +17602,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sludge Wave", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'psn', @@ -17381,7 +17619,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Smack Down", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, volatileStatus: 'smackdown', condition: { noCopy: true, @@ -17428,7 +17666,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Smart Strike", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Steel", @@ -17450,7 +17688,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Smelling Salts", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onHit(target) { if (target.status === 'par') target.cureStatus(); }, @@ -17467,7 +17705,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Smog", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 40, status: 'psn', @@ -17484,7 +17722,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Smokescreen", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { accuracy: -1, }, @@ -17571,7 +17809,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Snipe Shot", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, critRatio: 2, tracksTarget: true, secondary: null, @@ -17621,7 +17859,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Soak", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onHit(target) { if (target.getTypes().join() === 'Water' || !target.setType('Water')) { // Soak should animate even when it fails. @@ -17645,7 +17883,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Soft-Boiled", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, heal: [1, 2], secondary: null, target: "self", @@ -17661,7 +17899,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Solar Beam", pp: 10, priority: 0, - flags: {charge: 1, protect: 1, mirror: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {charge: 1, protect: 1, mirror: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1}, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; @@ -17698,7 +17936,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Solar Blade", pp: 10, priority: 0, - flags: {contact: 1, charge: 1, protect: 1, mirror: 1, slicing: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {contact: 1, charge: 1, protect: 1, mirror: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1, slicing: 1}, onTryMove(attacker, defender, move) { if (attacker.removeVolatile(move.id)) { return; @@ -17737,7 +17975,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sonic Boom", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -17767,7 +18005,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spacial Rend", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -17782,7 +18020,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spark", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, status: 'par', @@ -17796,11 +18034,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 90, category: "Special", - isNonstandard: "Past", name: "Sparkling Aria", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, secondary: { dustproof: true, chance: 100, @@ -17868,7 +18105,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Speed Swap", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1}, + flags: {protect: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1}, onHit(target, source) { const targetSpe = target.storedStats.spe; target.storedStats.spe = source.storedStats.spe; @@ -17907,7 +18144,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spider Web", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, onHit(target, source, move) { return target.addVolatile('trapped', source, move, 'trapper'); }, @@ -17926,7 +18163,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spike Cannon", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -17942,7 +18179,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spikes", pp: 20, priority: 0, - flags: {reflectable: 1, nonsky: 1, mustpressure: 1}, + flags: {reflectable: 1, nonsky: 1, metronome: 1, mustpressure: 1}, sideCondition: 'spikes', condition: { // this is a side condition @@ -18033,7 +18270,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spin Out", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, self: { boosts: { spe: -2, @@ -18069,7 +18306,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spirit Shackle", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, onHit(target, source, move) { @@ -18092,7 +18329,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spit Up", pp: 10, priority: 0, - flags: {protect: 1}, + flags: {protect: 1, metronome: 1}, onTry(source) { return !!source.volatiles['stockpile']; }, @@ -18112,7 +18349,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spite", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, onHit(target) { let move: Move | ActiveMove | null = target.lastMove; if (!move || move.isZ) return false; @@ -18136,7 +18373,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Splash", pp: 40, priority: 0, - flags: {gravity: 1}, + flags: {gravity: 1, metronome: 1}, onTry(source, target, move) { // Additional Gravity check for Z-move variant if (this.field.getPseudoWeather('Gravity')) { @@ -18201,7 +18438,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Spore", pp: 15, priority: 0, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1, powder: 1}, status: 'slp', secondary: null, target: "normal", @@ -18268,7 +18505,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stealth Rock", pp: 20, priority: 0, - flags: {reflectable: 1, mustpressure: 1}, + flags: {reflectable: 1, metronome: 1, mustpressure: 1}, sideCondition: 'stealthrock', condition: { // this is a side condition @@ -18314,7 +18551,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Steamroller", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -18354,7 +18591,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Steel Roller", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onTry() { return !this.field.isTerrain(''); }, @@ -18376,7 +18613,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Steel Wing", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, self: { @@ -18397,7 +18634,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sticky Web", pp: 20, priority: 0, - flags: {reflectable: 1}, + flags: {reflectable: 1, metronome: 1}, sideCondition: 'stickyweb', condition: { onSideStart(side) { @@ -18406,7 +18643,7 @@ export const Moves: {[moveid: string]: MoveData} = { onEntryHazard(pokemon) { if (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots')) return; this.add('-activate', pokemon, 'move: Sticky Web'); - this.boost({spe: -1}, pokemon, this.effectState.source, this.dex.getActiveMove('stickyweb')); + this.boost({spe: -1}, pokemon, pokemon.side.foe.active[0], this.dex.getActiveMove('stickyweb')); }, }, secondary: null, @@ -18423,7 +18660,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stockpile", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onTry(source) { if (source.volatiles['stockpile'] && source.volatiles['stockpile'].layers >= 3) return false; }, @@ -18496,7 +18733,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stomp", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1}, + flags: {contact: 1, protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', @@ -18520,7 +18757,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stomping Tantrum", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Ground", @@ -18534,7 +18771,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stone Axe", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, onAfterHit(target, source, move) { if (!move.hasSheerForce && source.hp) { for (const side of source.side.foeSidesWithConditions()) { @@ -18561,7 +18798,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stone Edge", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondary: null, target: "normal", @@ -18581,7 +18818,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stored Power", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Psychic", @@ -18598,7 +18835,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Storm Throw", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, willCrit: true, secondary: null, target: "normal", @@ -18629,7 +18866,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Strength", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -18643,7 +18880,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Strength Sap", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, heal: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, heal: 1, metronome: 1}, onHit(target, source) { if (target.boosts.atk === -6) return false; const atk = target.getStat('atk', false, true); @@ -18664,7 +18901,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "String Shot", pp: 40, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { spe: -2, }, @@ -18685,7 +18922,7 @@ export const Moves: {[moveid: string]: MoveData} = { priority: 0, flags: { contact: 1, protect: 1, - failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, noSketch: true, onModifyMove(move, pokemon, target) { @@ -18706,7 +18943,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Struggle Bug", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -18725,7 +18962,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stuff Cheeks", pp: 10, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onDisableMove(pokemon) { if (!pokemon.getItem().isBerry) pokemon.disableMove('stuffcheeks'); }, @@ -18748,7 +18985,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Stun Spore", pp: 30, priority: 0, - flags: {powder: 1, protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1, powder: 1}, status: 'par', secondary: null, target: "normal", @@ -18765,7 +19002,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Submission", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [1, 4], secondary: null, target: "normal", @@ -18780,7 +19017,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Substitute", pp: 10, priority: 0, - flags: {snatch: 1, nonsky: 1}, + flags: {snatch: 1, nonsky: 1, metronome: 1}, volatileStatus: 'substitute', onTryHit(source) { if (source.volatiles['substitute']) { @@ -18878,7 +19115,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sucker Punch", pp: 5, priority: 1, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onTry(source, target) { const action = this.queue.willMove(target); const move = action?.choice === 'move' ? action.move : null; @@ -18899,7 +19136,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sunny Day", pp: 5, priority: 0, - flags: {}, + flags: {metronome: 1}, weather: 'sunnyday', secondary: null, target: "all", @@ -18912,7 +19149,6 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 100, basePower: 100, category: "Physical", - isNonstandard: "Past", name: "Sunsteel Strike", pp: 5, priority: 0, @@ -18923,6 +19159,23 @@ export const Moves: {[moveid: string]: MoveData} = { type: "Steel", contestType: "Cool", }, + supercellslam: { + num: 916, + accuracy: 95, + basePower: 100, + category: "Physical", + name: "Supercell Slam", + pp: 15, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + hasCrashDamage: true, + onMoveFail(target, source, move) { + this.damage(source.baseMaxhp / 2, source, source, this.dex.conditions.get('Supercell Slam')); + }, + secondary: null, + target: "normal", + type: "Electric", + }, superfang: { num: 162, accuracy: 90, @@ -18934,7 +19187,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Super Fang", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -18948,7 +19201,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Superpower", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, self: { boosts: { atk: -1, @@ -18968,7 +19221,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Supersonic", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'confusion', secondary: null, target: "normal", @@ -19000,7 +19253,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Surf", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1}, secondary: null, target: "allAdjacent", type: "Water", @@ -19014,7 +19267,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Surging Strikes", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, punch: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, willCrit: true, multihit: 3, secondary: null, @@ -19031,7 +19284,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Swagger", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, volatileStatus: 'confusion', boosts: { atk: 2, @@ -19050,7 +19303,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Swallow", pp: 10, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onTry(source) { return !!source.volatiles['stockpile']; }, @@ -19075,7 +19328,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sweet Kiss", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, volatileStatus: 'confusion', secondary: null, target: "normal", @@ -19091,7 +19344,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Sweet Scent", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { evasion: -2, }, @@ -19109,7 +19362,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Swift", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "allAdjacentFoes", type: "Normal", @@ -19171,7 +19424,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Swords Dance", pp: 20, priority: 0, - flags: {snatch: 1, dance: 1}, + flags: {snatch: 1, dance: 1, metronome: 1}, boosts: { atk: 2, }, @@ -19190,7 +19443,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Synchronoise", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onTryImmunity(target, source) { return target.hasType(source.getTypes()); }, @@ -19207,7 +19460,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Synthesis", pp: 5, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, onHit(pokemon) { let factor = 0.5; switch (pokemon.effectiveWeather()) { @@ -19244,7 +19497,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Syrup Bomb", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, bullet: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, condition: { noCopy: true, duration: 4, @@ -19266,6 +19519,23 @@ export const Moves: {[moveid: string]: MoveData} = { target: "normal", type: "Grass", }, + tachyoncutter: { + num: 911, + accuracy: true, + basePower: 50, + category: "Special", + name: "Tachyon Cutter", + pp: 10, + priority: 0, + flags: {protect: 1, mirror: 1, metronome: 1, slicing: 1}, + multihit: 2, + secondary: null, + target: "normal", + type: "Steel", + zMove: {basePower: 180}, + maxMove: {basePower: 140}, + contestType: "Clever", + }, tackle: { num: 33, accuracy: 100, @@ -19274,7 +19544,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tackle", pp: 35, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -19288,7 +19558,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tail Glow", pp: 20, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { spa: 3, }, @@ -19306,7 +19576,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tail Slap", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -19323,7 +19593,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tail Whip", pp: 30, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, boosts: { def: -1, }, @@ -19341,7 +19611,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tailwind", pp: 15, priority: 0, - flags: {snatch: 1, wind: 1}, + flags: {snatch: 1, metronome: 1, wind: 1}, sideCondition: 'tailwind', condition: { duration: 4, @@ -19382,7 +19652,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Take Down", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [1, 4], secondary: null, target: "normal", @@ -19397,7 +19667,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Take Heart", pp: 15, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, onHit(pokemon) { const success = !!this.boost({spa: 1, spd: 1}); return pokemon.cureStatus() || success; @@ -19414,10 +19684,11 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tar Shot", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, volatileStatus: 'tarshot', condition: { onStart(pokemon) { + if (pokemon.terastallized) return false; this.add('-start', pokemon, 'Tar Shot'); }, onEffectivenessPriority: -2, @@ -19443,7 +19714,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Taunt", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'taunt', condition: { duration: 3, @@ -19487,7 +19758,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tearful Look", pp: 20, priority: 0, - flags: {reflectable: 1, mirror: 1}, + flags: {reflectable: 1, mirror: 1, metronome: 1}, boosts: { atk: -1, spa: -1, @@ -19506,7 +19777,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Teatime", pp: 10, priority: 0, - flags: {bypasssub: 1}, + flags: {bypasssub: 1, metronome: 1}, onHitField(target, source, move) { const targets: Pokemon[] = []; for (const pokemon of this.getAllActive()) { @@ -19573,7 +19844,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Teeter Dance", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, dance: 1}, + flags: {protect: 1, mirror: 1, dance: 1, metronome: 1}, volatileStatus: 'confusion', secondary: null, target: "allAdjacent", @@ -19590,7 +19861,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Telekinesis", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, gravity: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, gravity: 1, allyanim: 1, metronome: 1}, volatileStatus: 'telekinesis', onTry(source, target, move) { // Additional Gravity check for Z-move variant @@ -19643,7 +19914,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Teleport", pp: 20, priority: -6, - flags: {}, + flags: {metronome: 1}, onTry(source) { return !!this.canSwitch(source.side); }, @@ -19654,15 +19925,41 @@ export const Moves: {[moveid: string]: MoveData} = { zMove: {effect: 'heal'}, contestType: "Cool", }, + temperflare: { + num: 915, + accuracy: 100, + basePower: 75, + basePowerCallback(pokemon, target, move) { + if (pokemon.moveLastTurnResult === false) { + this.debug('doubling Temper Flare BP due to previous move failure'); + return move.basePower * 2; + } + return move.basePower; + }, + category: "Physical", + name: "Temper Flare", + pp: 10, + priority: 0, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + secondary: null, + target: "normal", + type: "Fire", + }, terablast: { num: 851, accuracy: 100, basePower: 80, + basePowerCallback(pokemon, target, move) { + if (pokemon.terastallized === 'Stellar') { + return 100; + } + return move.basePower; + }, category: "Special", name: "Tera Blast", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, mustpressure: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, mustpressure: 1}, onPrepareHit(target, source, move) { if (source.terastallized) { this.attrLastMove('[anim] Tera Blast ' + source.teraType); @@ -19677,7 +19974,37 @@ export const Moves: {[moveid: string]: MoveData} = { if (pokemon.terastallized && pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) { move.category = 'Physical'; } + if (pokemon.terastallized === 'Stellar') { + move.self = {boosts: {atk: -1, spa: -1}}; + } + }, + secondary: null, + target: "normal", + type: "Normal", + }, + terastarstorm: { + num: 906, + accuracy: 100, + basePower: 120, + category: "Special", + name: "Tera Starstorm", + pp: 5, + priority: 0, + flags: {protect: 1, mirror: 1, noassist: 1, failcopycat: 1, failmimic: 1}, + onModifyType(move, pokemon) { + if (pokemon.species.name === 'Terapagos-Stellar') { + move.type = 'Stellar'; + if (pokemon.terastallized && pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) { + move.category = 'Physical'; + } + } + }, + onModifyMove(move, pokemon) { + if (pokemon.species.name === 'Terapagos-Stellar') { + move.target = 'allAdjacentFoes'; + } }, + noSketch: true, secondary: null, target: "normal", type: "Normal", @@ -19690,7 +20017,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Terrain Pulse", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, pulse: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, pulse: 1}, onModifyType(move, pokemon) { if (!pokemon.isGrounded()) return; switch (this.field.terrain) { @@ -19802,7 +20129,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Thrash", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, failinstruct: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, failinstruct: 1}, self: { volatileStatus: 'lockedmove', }, @@ -19824,7 +20151,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Throat Chop", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, condition: { duration: 2, onStart(target) { @@ -19873,7 +20200,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Thunder", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onModifyMove(move, pokemon, target) { switch (target?.effectiveWeather()) { case 'raindance': @@ -19902,7 +20229,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Thunderbolt", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'par', @@ -19925,6 +20252,27 @@ export const Moves: {[moveid: string]: MoveData} = { target: "normal", type: "Electric", }, + thunderclap: { + num: 909, + accuracy: 100, + basePower: 70, + category: "Special", + name: "Thunderclap", + pp: 5, + priority: 1, + flags: {protect: 1, mirror: 1, metronome: 1}, + onTry(source, target) { + const action = this.queue.willMove(target); + const move = action?.choice === 'move' ? action.move : null; + if (!move || (move.category === 'Status' && move.id !== 'mefirst') || target.volatiles['mustrecharge']) { + return false; + } + }, + secondary: null, + target: "normal", + type: "Electric", + contestType: "Clever", + }, thunderfang: { num: 422, accuracy: 95, @@ -19933,7 +20281,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Thunder Fang", pp: 15, priority: 0, - flags: {bite: 1, contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, bite: 1}, secondaries: [ { chance: 10, @@ -19973,7 +20321,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Thunder Punch", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1, metronome: 1}, secondary: { chance: 10, status: 'par', @@ -19990,7 +20338,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Thunder Shock", pp: 30, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 10, status: 'par', @@ -20007,7 +20355,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Thunder Wave", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'par', ignoreImmunity: false, secondary: null, @@ -20024,7 +20372,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tickle", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, boosts: { atk: -1, def: -1, @@ -20071,11 +20419,10 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: true, basePower: 0, category: "Status", - isNonstandard: "Past", name: "Topsy-Turvy", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onHit(target) { let success = false; let i: BoostID; @@ -20101,7 +20448,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Torch Song", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1}, secondary: { chance: 100, self: { @@ -20122,7 +20469,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Torment", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, bypasssub: 1, metronome: 1}, volatileStatus: 'torment', condition: { noCopy: true, @@ -20155,7 +20502,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Toxic", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, // No Guard-like effect for Poison-type users implemented in Scripts#tryMoveHit status: 'tox', secondary: null, @@ -20172,7 +20519,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Toxic Spikes", pp: 20, priority: 0, - flags: {reflectable: 1, nonsky: 1, mustpressure: 1}, + flags: {reflectable: 1, nonsky: 1, metronome: 1, mustpressure: 1}, sideCondition: 'toxicspikes', condition: { // this is a side condition @@ -20213,7 +20560,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Toxic Thread", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'psn', boosts: { spe: -1, @@ -20253,7 +20600,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Transform", pp: 10, priority: 0, - flags: {allyanim: 1, failencore: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1}, + flags: {allyanim: 1, failencore: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1}, onHit(target, pokemon) { if (!pokemon.transformInto(target)) { return false; @@ -20273,7 +20620,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Tri Attack", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, onHit(target, source) { @@ -20348,7 +20695,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Trick-or-Treat", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onHit(target) { if (target.hasType('Ghost')) return false; if (!target.addType('Ghost')) return false; @@ -20376,7 +20723,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Trick Room", pp: 5, priority: -7, - flags: {mirror: 1}, + flags: {mirror: 1, metronome: 1}, pseudoWeather: 'trickroom', condition: { duration: 5, @@ -20418,7 +20765,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Triple Arrows", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, critRatio: 2, secondaries: [ { @@ -20445,7 +20792,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Triple Axel", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 3, multiaccuracy: true, secondary: null, @@ -20462,7 +20809,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Triple Dive", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 3, secondary: null, target: "normal", @@ -20476,11 +20823,10 @@ export const Moves: {[moveid: string]: MoveData} = { return 10 * move.hit; }, category: "Physical", - isNonstandard: "Past", name: "Triple Kick", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, multihit: 3, multiaccuracy: true, secondary: null, @@ -20498,7 +20844,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Trop Kick", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 100, boosts: { @@ -20548,7 +20894,7 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 5, noPPBoosts: true, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -20580,7 +20926,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Twineedle", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: 2, secondary: { chance: 20, @@ -20615,7 +20961,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Twister", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, secondary: { chance: 20, volatileStatus: 'flinch', @@ -20632,13 +20978,36 @@ export const Moves: {[moveid: string]: MoveData} = { name: "U-turn", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, selfSwitch: true, secondary: null, target: "normal", type: "Bug", contestType: "Cute", }, + upperhand: { + num: 918, + accuracy: 100, + basePower: 65, + category: "Physical", + name: "Upper Hand", + pp: 15, + priority: 3, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, + onTry(source, target) { + const action = this.queue.willMove(target); + const move = action?.choice === 'move' ? action.move : null; + if (!move || move.priority <= 0.1 || move.category === 'Status') { + return false; + } + }, + secondary: { + chance: 100, + volatileStatus: 'flinch', + }, + target: "normal", + type: "Fighting", + }, uproar: { num: 253, accuracy: 100, @@ -20647,7 +21016,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Uproar", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, nosleeptalk: 1, failinstruct: 1}, + flags: {protect: 1, mirror: 1, sound: 1, bypasssub: 1, metronome: 1, nosleeptalk: 1, failinstruct: 1}, self: { volatileStatus: 'uproar', }, @@ -20706,7 +21075,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Vacuum Wave", pp: 30, priority: 1, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Fighting", @@ -20717,6 +21086,7 @@ export const Moves: {[moveid: string]: MoveData} = { accuracy: 95, basePower: 180, category: "Physical", + isNonstandard: "Unobtainable", name: "V-create", pp: 5, priority: 0, @@ -20763,7 +21133,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Venom Drench", pp: 20, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, onHit(target, source, move) { if (target.status === 'psn' || target.status === 'tox') { return !!this.boost({atk: -1, spa: -1, spe: -1}, target, source, move); @@ -20784,7 +21154,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Venoshock", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, onBasePower(basePower, pokemon, target) { if (target.status === 'psn' || target.status === 'tox') { return this.chainModify(2); @@ -20803,7 +21173,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Victory Dance", pp: 10, priority: 0, - flags: {snatch: 1, dance: 1}, + flags: {snatch: 1, dance: 1, metronome: 1}, boosts: { atk: 1, def: 1, @@ -20821,7 +21191,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Vine Whip", pp: 25, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Grass", @@ -20835,7 +21205,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Vise Grip", pp: 30, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -20850,7 +21220,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Vital Throw", pp: 10, priority: -1, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Fighting", @@ -20864,7 +21234,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Volt Switch", pp: 20, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, selfSwitch: true, secondary: null, target: "normal", @@ -20879,7 +21249,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Volt Tackle", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [33, 100], secondary: { chance: 10, @@ -20905,7 +21275,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wake-Up Slap", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, onHit(target) { if (target.status === 'slp') target.cureStatus(); }, @@ -20922,7 +21292,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Waterfall", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, volatileStatus: 'flinch', @@ -20939,7 +21309,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Water Gun", pp: 25, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Water", @@ -20954,13 +21324,13 @@ export const Moves: {[moveid: string]: MoveData} = { this.add('-combine'); return 150; } - return 80; + return move.basePower; }, category: "Special", name: "Water Pledge", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, nonsky: 1, pledgecombo: 1}, + flags: {protect: 1, mirror: 1, nonsky: 1, metronome: 1, pledgecombo: 1}, onPrepareHit(target, source, move) { for (const action of this.queue) { if (action.choice !== 'move') continue; @@ -21025,7 +21395,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Water Pulse", pp: 20, priority: 0, - flags: {protect: 1, pulse: 1, mirror: 1, distance: 1}, + flags: {protect: 1, mirror: 1, distance: 1, metronome: 1, pulse: 1}, secondary: { chance: 20, volatileStatus: 'confusion', @@ -21049,7 +21419,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Water Shuriken", pp: 20, priority: 1, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, multihit: [2, 5], secondary: null, target: "normal", @@ -21065,7 +21435,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Water Sport", pp: 15, priority: 0, - flags: {nonsky: 1}, + flags: {nonsky: 1, metronome: 1}, pseudoWeather: 'watersport', condition: { duration: 5, @@ -21104,7 +21474,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Water Spout", pp: 5, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "allAdjacentFoes", type: "Water", @@ -21118,7 +21488,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wave Crash", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [33, 100], secondary: null, target: "normal", @@ -21132,7 +21502,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Weather Ball", pp: 10, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, onModifyType(move, pokemon) { switch (pokemon.effectiveWeather()) { case 'sunnyday': @@ -21187,7 +21557,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Whirlpool", pp: 15, priority: 0, - flags: {protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -21202,7 +21572,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Whirlwind", pp: 20, priority: -6, - flags: {reflectable: 1, mirror: 1, bypasssub: 1, allyanim: 1, wind: 1, noassist: 1, failcopycat: 1}, + flags: {reflectable: 1, mirror: 1, bypasssub: 1, allyanim: 1, metronome: 1, noassist: 1, failcopycat: 1, wind: 1}, forceSwitch: true, secondary: null, target: "normal", @@ -21218,7 +21588,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wicked Blow", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, punch: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, punch: 1}, willCrit: true, secondary: null, target: "normal", @@ -21234,8 +21604,9 @@ export const Moves: {[moveid: string]: MoveData} = { pp: 10, priority: 0, flags: { - protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failinstruct: 1, failmimic: 1, + protect: 1, failencore: 1, failmefirst: 1, nosleeptalk: 1, noassist: 1, failcopycat: 1, failmimic: 1, failinstruct: 1, }, + noSketch: true, secondary: { chance: 10, status: 'slp', @@ -21300,7 +21671,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wildbolt Storm", pp: 10, priority: 0, - flags: {protect: 1, mirror: 1, wind: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, wind: 1}, onModifyMove(move, pokemon, target) { if (target && ['raindance', 'primordialsea'].includes(target.effectiveWeather())) { move.accuracy = true; @@ -21321,7 +21692,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wild Charge", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [1, 4], secondary: null, target: "normal", @@ -21336,7 +21707,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Will-O-Wisp", pp: 15, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, status: 'brn', secondary: null, target: "normal", @@ -21352,7 +21723,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wing Attack", pp: 35, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, distance: 1}, + flags: {contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1}, secondary: null, target: "any", type: "Flying", @@ -21366,7 +21737,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wish", pp: 10, priority: 0, - flags: {snatch: 1, heal: 1}, + flags: {snatch: 1, heal: 1, metronome: 1}, slotCondition: 'Wish', condition: { duration: 2, @@ -21397,7 +21768,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Withdraw", pp: 40, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { def: 1, }, @@ -21415,7 +21786,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wonder Room", pp: 10, priority: 0, - flags: {mirror: 1}, + flags: {mirror: 1, metronome: 1}, pseudoWeather: 'wonderroom', condition: { duration: 5, @@ -21465,7 +21836,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wood Hammer", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, recoil: [33, 100], secondary: null, target: "normal", @@ -21480,7 +21851,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Work Up", pp: 30, priority: 0, - flags: {snatch: 1}, + flags: {snatch: 1, metronome: 1}, boosts: { atk: 1, spa: 1, @@ -21499,7 +21870,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Worry Seed", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, allyanim: 1, metronome: 1}, onTryImmunity(target) { // Truant and Insomnia have special treatment; they fail before // checking accuracy and will double Stomping Tantrum's BP @@ -21508,7 +21879,7 @@ export const Moves: {[moveid: string]: MoveData} = { } }, onTryHit(target) { - if (target.getAbility().isPermanent) { + if (target.getAbility().flags['cantsuppress']) { return false; } }, @@ -21537,7 +21908,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wrap", pp: 20, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, volatileStatus: 'partiallytrapped', secondary: null, target: "normal", @@ -21560,7 +21931,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Wring Out", pp: 5, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: null, target: "normal", type: "Normal", @@ -21576,7 +21947,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "X-Scissor", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1, slicing: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1, slicing: 1}, secondary: null, target: "normal", type: "Bug", @@ -21590,7 +21961,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Yawn", pp: 10, priority: 0, - flags: {protect: 1, reflectable: 1, mirror: 1}, + flags: {protect: 1, reflectable: 1, mirror: 1, metronome: 1}, volatileStatus: 'yawn', onTryHit(target) { if (target.status || !target.runStatusImmunity('slp')) { @@ -21623,7 +21994,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Zap Cannon", pp: 5, priority: 0, - flags: {bullet: 1, protect: 1, mirror: 1}, + flags: {protect: 1, mirror: 1, metronome: 1, bullet: 1}, secondary: { chance: 100, status: 'par', @@ -21640,7 +22011,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Zen Headbutt", pp: 15, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 20, volatileStatus: 'flinch', @@ -21657,7 +22028,7 @@ export const Moves: {[moveid: string]: MoveData} = { name: "Zing Zap", pp: 10, priority: 0, - flags: {contact: 1, protect: 1, mirror: 1}, + flags: {contact: 1, protect: 1, mirror: 1, metronome: 1}, secondary: { chance: 30, volatileStatus: 'flinch', diff --git a/data/pokedex.ts b/data/pokedex.ts index 0a50c261edd1..945d20647b55 100644 --- a/data/pokedex.ts +++ b/data/pokedex.ts @@ -68,7 +68,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { genderRatio: {M: 0.875, F: 0.125}, baseStats: {hp: 80, atk: 82, def: 83, spa: 100, spd: 100, spe: 80}, abilities: {0: "Overgrow", H: "Chlorophyll"}, - heightm: 2, + heightm: 24, weightkg: 0, color: "Green", eggGroups: ["Monster", "Grass"], @@ -233,7 +233,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { genderRatio: {M: 0.875, F: 0.125}, baseStats: {hp: 79, atk: 83, def: 100, spa: 85, spd: 105, spe: 78}, abilities: {0: "Torrent", H: "Rain Dish"}, - heightm: 1.6, + heightm: 25, weightkg: 0, color: "Blue", eggGroups: ["Monster", "Water 1"], @@ -8588,7 +8588,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Pressure", H: "Telepathy"}, heightm: 7, weightkg: 850, - color: "White", + color: "Blue", eggGroups: ["Undiscovered"], requiredItem: "Adamant Crystal", changesFrom: "Dialga", @@ -12451,6 +12451,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { color: "Purple", prevo: "Sliggoo", evoLevel: 50, + evoCondition: "during rain", eggGroups: ["Dragon"], otherFormes: ["Goodra-Hisui"], formeOrder: ["Goodra", "Goodra-Hisui"], @@ -12468,6 +12469,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { color: "Purple", prevo: "Sliggoo-Hisui", evoLevel: 50, + evoCondition: "during rain", eggGroups: ["Dragon"], }, klefki: { @@ -14374,7 +14376,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1.2, weightkg: 55.5, color: "White", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, buzzwole: { @@ -14387,7 +14389,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 2.4, weightkg: 333.6, color: "Red", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, pheromosa: { @@ -14400,7 +14402,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1.8, weightkg: 25, color: "White", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, xurkitree: { @@ -14413,7 +14415,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 3.8, weightkg: 100, color: "Black", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, celesteela: { @@ -14426,7 +14428,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 9.2, weightkg: 999.9, color: "Green", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, kartana: { @@ -14439,7 +14441,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 0.3, weightkg: 0.1, color: "White", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, guzzlord: { @@ -14452,7 +14454,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 5.5, weightkg: 888, color: "Black", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, necrozma: { @@ -14568,7 +14570,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 0.6, weightkg: 1.8, color: "Purple", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], evos: ["Naganadel"], eggGroups: ["Undiscovered"], }, @@ -14582,7 +14584,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 3.6, weightkg: 150, color: "Purple", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], prevo: "Poipole", evoType: "levelMove", evoMove: "Dragon Pulse", @@ -14598,7 +14600,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 5.5, weightkg: 820, color: "Gray", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, blacephalon: { @@ -14611,7 +14613,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1.8, weightkg: 13, color: "White", - tags: ["Sub-Legendary"], + tags: ["Ultra Beast"], eggGroups: ["Undiscovered"], }, zeraora: { @@ -14721,7 +14723,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { genderRatio: {M: 0.875, F: 0.125}, baseStats: {hp: 100, atk: 125, def: 90, spa: 60, spd: 70, spe: 85}, abilities: {0: "Overgrow", H: "Grassy Surge"}, - heightm: 3, + heightm: 28, weightkg: 0, color: "Green", eggGroups: ["Field", "Grass"], @@ -14779,7 +14781,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { genderRatio: {M: 0.875, F: 0.125}, baseStats: {hp: 80, atk: 116, def: 75, spa: 65, spd: 75, spe: 119}, abilities: {0: "Blaze", H: "Libero"}, - heightm: 3, + heightm: 27, weightkg: 0, color: "White", eggGroups: ["Field", "Human-Like"], @@ -14837,7 +14839,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { genderRatio: {M: 0.875, F: 0.125}, baseStats: {hp: 70, atk: 85, def: 65, spa: 125, spd: 65, spe: 120}, abilities: {0: "Torrent", H: "Sniper"}, - heightm: 3, + heightm: 40, weightkg: 0, color: "Blue", eggGroups: ["Water 1", "Field"], @@ -15796,7 +15798,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Sweet Veil", H: "Aroma Veil"}, heightm: 30, weightkg: 0, - color: "White", + color: "Yellow", eggGroups: ["Fairy", "Amorphous"], changesFrom: "Alcremie", }, @@ -16042,6 +16044,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1.8, weightkg: 40, color: "White", + evos: ["Archaludon"], eggGroups: ["Mineral", "Dragon"], canGigantamax: "G-Max Depletion", }, @@ -16258,7 +16261,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { genderRatio: {M: 0.875, F: 0.125}, baseStats: {hp: 100, atk: 130, def: 100, spa: 63, spd: 60, spe: 97}, abilities: {0: "Unseen Fist"}, - heightm: 3, + heightm: 29, weightkg: 0, color: "Gray", eggGroups: ["Undiscovered"], @@ -16273,8 +16276,8 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { genderRatio: {M: 0.875, F: 0.125}, baseStats: {hp: 100, atk: 130, def: 100, spa: 63, spd: 60, spe: 97}, abilities: {0: "Unseen Fist"}, - heightm: 1.9, - weightkg: 105, + heightm: 26, + weightkg: 0, color: "Gray", eggGroups: ["Undiscovered"], battleOnly: "Urshifu-Rapid-Strike", @@ -16414,7 +16417,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Intimidate", 1: "Frisk", H: "Sap Sipper"}, heightm: 1.8, weightkg: 95.1, - color: "White", + color: "Gray", prevo: "Stantler", evoType: "other", evoCondition: "Use Agile style Psyshield Bash 20 times", @@ -16430,7 +16433,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { weightkg: 89, color: "Brown", prevo: "Scyther", - evoType: "other", + evoType: "useItem", evoCondition: "Black Augurite", eggGroups: ["Bug"], }, @@ -16508,7 +16511,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Pressure", 1: "Unburden", H: "Poison Touch"}, heightm: 1.3, weightkg: 43, - color: "Purple", + color: "Blue", prevo: "Sneasel-Hisui", evoType: "levelHold", evoItem: "Razor Claw", @@ -16523,7 +16526,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Poison Point", 1: "Swift Swim", H: "Intimidate"}, heightm: 2.5, weightkg: 60.5, - color: "Gray", + color: "Black", prevo: "Qwilfish-Hisui", evoType: "other", evoCondition: "Use Strong style Barb Barrage 20 times", @@ -17057,7 +17060,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Flash Fire", H: "Weak Armor"}, heightm: 1.6, weightkg: 62, - color: "Blue", + color: "Purple", prevo: "Charcadet", evoType: "useItem", evoItem: "Malicious Armor", @@ -17590,7 +17593,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Commander", H: "Storm Drain"}, heightm: 0.3, weightkg: 8, - color: "Pink", + color: "Red", cosmeticFormes: ["Tatsugiri-Droopy", "Tatsugiri-Stretchy"], formeOrder: ["Tatsugiri", "Tatsugiri-Droopy", "Tatsugiri-Stretchy"], eggGroups: ["Water 2"], @@ -17718,7 +17721,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Protosynthesis"}, heightm: 1.2, weightkg: 21, - color: "Gray", + color: "White", tags: ["Paradox"], eggGroups: ["Undiscovered"], }, @@ -17744,7 +17747,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Protosynthesis"}, heightm: 3.2, weightkg: 92, - color: "Red", + color: "White", tags: ["Paradox"], eggGroups: ["Undiscovered"], }, @@ -17822,7 +17825,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Quark Drive"}, heightm: 1.2, weightkg: 36, - color: "Yellow", + color: "White", tags: ["Paradox"], eggGroups: ["Undiscovered"], }, @@ -17859,7 +17862,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Thermal Exchange", H: "Ice Body"}, heightm: 0.8, weightkg: 30, - color: "Gray", + color: "Blue", prevo: "Frigibax", evoLevel: 35, evos: ["Baxcalibur"], @@ -17873,7 +17876,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Thermal Exchange", H: "Ice Body"}, heightm: 2.1, weightkg: 210, - color: "Gray", + color: "Blue", prevo: "Arctibax", evoLevel: 54, eggGroups: ["Dragon", "Mineral"], @@ -17888,7 +17891,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Rattled"}, heightm: 0.3, weightkg: 5, - color: "Brown", + color: "Red", evos: ["Gholdengo"], otherFormes: ["Gimmighoul-Roaming"], formeOrder: ["Gimmighoul", "Gimmighoul-Roaming"], @@ -17905,7 +17908,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Run Away"}, heightm: 0.1, weightkg: 0.1, - color: "Blue", + color: "Gray", evos: ["Gholdengo"], eggGroups: ["Undiscovered"], }, @@ -17985,7 +17988,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Protosynthesis"}, heightm: 2, weightkg: 380, - color: "Green", + color: "Blue", tags: ["Paradox"], eggGroups: ["Undiscovered"], }, @@ -18024,7 +18027,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Hadron Engine"}, heightm: 3.5, weightkg: 240, - color: "Blue", + color: "Purple", tags: ["Restricted Legendary"], eggGroups: ["Undiscovered"], }, @@ -18064,6 +18067,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { weightkg: 4.4, color: "Green", prevo: "Applin", + evos: ["Hydrapple"], evoType: "useItem", evoItem: "Syrupy Apple", eggGroups: ["Grass", "Dragon"], @@ -18144,6 +18148,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1.8, weightkg: 92, color: "Black", + tags: ["Sub-Legendary"], eggGroups: ["Undiscovered"], }, munkidori: { @@ -18156,6 +18161,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1, weightkg: 12.2, color: "Black", + tags: ["Sub-Legendary"], eggGroups: ["Undiscovered"], }, fezandipiti: { @@ -18168,6 +18174,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1.4, weightkg: 30.1, color: "Black", + tags: ["Sub-Legendary"], eggGroups: ["Undiscovered"], }, ogerpon: { @@ -18181,6 +18188,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { heightm: 1.2, weightkg: 39.8, color: "Green", + tags: ["Sub-Legendary"], eggGroups: ["Undiscovered"], otherFormes: ["Ogerpon-Wellspring", "Ogerpon-Hearthflame", "Ogerpon-Cornerstone", "Ogerpon-Teal-Tera", "Ogerpon-Wellspring-Tera", "Ogerpon-Hearthflame-Tera", "Ogerpon-Cornerstone-Tera"], formeOrder: ["Ogerpon", "Ogerpon-Wellspring", "Ogerpon-Hearthflame", "Ogerpon-Cornerstone", "Ogerpon-Teal-Tera", "Ogerpon-Wellspring-Tera", "Ogerpon-Hearthflame-Tera", "Ogerpon-Cornerstone-Tera"], @@ -18197,7 +18205,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Water Absorb"}, heightm: 1.2, weightkg: 39.8, - color: "Green", + color: "Blue", eggGroups: ["Undiscovered"], requiredItem: "Wellspring Mask", changesFrom: "Ogerpon", @@ -18264,7 +18272,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { abilities: {0: "Embody Aspect (Wellspring)"}, heightm: 1.2, weightkg: 39.8, - color: "Green", + color: "Blue", eggGroups: ["Undiscovered"], requiredItem: "Wellspring Mask", battleOnly: "Ogerpon-Wellspring", @@ -18304,6 +18312,140 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { battleOnly: "Ogerpon-Cornerstone", forceTeraType: "Rock", }, + archaludon: { + num: 1018, + name: "Archaludon", + types: ["Steel", "Dragon"], + baseStats: {hp: 90, atk: 105, def: 130, spa: 125, spd: 65, spe: 85}, + abilities: {0: "Stamina", 1: "Sturdy", H: "Stalwart"}, + heightm: 2, + weightkg: 60, + color: "White", + prevo: "Duraludon", + evoType: "useItem", + evoItem: "Metal Alloy", + eggGroups: ["Mineral", "Dragon"], + }, + hydrapple: { + num: 1019, + name: "Hydrapple", + types: ["Grass", "Dragon"], + baseStats: {hp: 106, atk: 80, def: 110, spa: 120, spd: 80, spe: 44}, + abilities: {0: "Supersweet Syrup", 1: "Regenerator", H: "Sticky Hold"}, + heightm: 1.8, + weightkg: 93, + color: "Green", + prevo: "Dipplin", + evoType: "levelMove", + evoMove: "Dragon Cheer", + eggGroups: ["Grass", "Dragon"], + }, + gougingfire: { + num: 1020, + name: "Gouging Fire", + types: ["Fire", "Dragon"], + gender: "N", + baseStats: {hp: 105, atk: 115, def: 121, spa: 65, spd: 93, spe: 91}, + abilities: {0: "Protosynthesis"}, + heightm: 3.5, + weightkg: 590, + color: "Brown", + eggGroups: ["Undiscovered"], + }, + ragingbolt: { + num: 1021, + name: "Raging Bolt", + types: ["Electric", "Dragon"], + gender: "N", + baseStats: {hp: 125, atk: 73, def: 91, spa: 137, spd: 89, spe: 75}, + abilities: {0: "Protosynthesis"}, + heightm: 5.2, + weightkg: 480, + color: "Yellow", + eggGroups: ["Undiscovered"], + }, + ironboulder: { + num: 1022, + name: "Iron Boulder", + types: ["Rock", "Psychic"], + gender: "N", + baseStats: {hp: 90, atk: 120, def: 80, spa: 68, spd: 108, spe: 124}, + abilities: {0: "Quark Drive"}, + heightm: 1.5, + weightkg: 162.5, + color: "Gray", + eggGroups: ["Undiscovered"], + }, + ironcrown: { + num: 1023, + name: "Iron Crown", + types: ["Steel", "Psychic"], + gender: "N", + baseStats: {hp: 90, atk: 72, def: 100, spa: 122, spd: 108, spe: 98}, + abilities: {0: "Quark Drive"}, + heightm: 1.6, + weightkg: 156, + color: "Blue", + eggGroups: ["Undiscovered"], + }, + terapagos: { + num: 1024, + name: "Terapagos", + types: ["Normal"], + baseStats: {hp: 90, atk: 65, def: 85, spa: 65, spd: 85, spe: 60}, + abilities: {0: "Tera Shift"}, + heightm: 0.2, + weightkg: 6.5, + color: "Blue", + tags: ["Restricted Legendary"], + eggGroups: ["Undiscovered"], + otherFormes: ["Terapagos-Terastal", "Terapagos-Stellar"], + formeOrder: ["Terapagos", "Terapagos-Terastal", "Terapagos-Stellar"], + forceTeraType: "Stellar", + }, + terapagosterastal: { + num: 1024, + name: "Terapagos-Terastal", + baseSpecies: "Terapagos", + forme: "Terastal", + types: ["Normal"], + baseStats: {hp: 95, atk: 95, def: 110, spa: 105, spd: 110, spe: 85}, + abilities: {0: "Tera Shell"}, + heightm: 0.3, + weightkg: 16, + color: "Blue", + eggGroups: ["Undiscovered"], + battleOnly: "Terapagos", + forceTeraType: "Stellar", + }, + terapagosstellar: { + num: 1024, + name: "Terapagos-Stellar", + baseSpecies: "Terapagos", + forme: "Stellar", + types: ["Normal"], + baseStats: {hp: 160, atk: 105, def: 110, spa: 130, spd: 110, spe: 85}, + abilities: {0: "Teraform Zero"}, + heightm: 1.7, + weightkg: 77, + color: "Blue", + eggGroups: ["Undiscovered"], + battleOnly: "Terapagos", + forceTeraType: "Stellar", + }, + pecharunt: { + num: 1025, + name: "Pecharunt", + types: ["Poison", "Ghost"], + gender: "N", + baseStats: {hp: 88, atk: 88, def: 160, spa: 88, spd: 88, spe: 88}, + abilities: {0: "Poison Puppeteer"}, + heightm: 0.3, + weightkg: 0.3, + color: "Purple", + tags: ["Mythical"], + eggGroups: ["Undiscovered"], + }, missingno: { num: 0, name: "MissingNo.", @@ -18347,7 +18489,7 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { name: "Revenankh", types: ["Ghost", "Fighting"], baseStats: {hp: 90, atk: 105, def: 90, spa: 65, spd: 110, spe: 65}, - abilities: {0: "Shed Skin", 1: "Air Lock", H: "Triage"}, + abilities: {0: "Air Lock", 1: "Triage", H: "Shed Skin"}, heightm: 1.8, weightkg: 44, color: "White", @@ -19345,6 +19487,30 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = { eggGroups: ["Monster", "Fairy"], gen: 9, }, + cresceidon: { + num: -72, + name: "Cresceidon", + types: ["Water", "Fairy"], + baseStats: {hp: 80, atk: 32, def: 111, spa: 88, spd: 99, spe: 124}, + abilities: {0: "Multiscale", 1: "Rough Skin", H: "Water Veil"}, + heightm: 10, + weightkg: 999.9, + color: "Blue", + eggGroups: ["Amorphous", "Water 3"], + gen: 9, + }, + chuggalong: { + num: -75, + name: "Chuggalong", + types: ["Dragon", "Poison"], + baseStats: {hp: 45, atk: 43, def: 117, spa: 120, spd: 110, spe: 115}, + abilities: {0: "Armor Tail"}, + heightm: 6.2, + weightkg: 201.6, + color: "Black", + eggGroups: ["Undiscovered"], + gen: 9, + }, // NOTE: PokeStar "formes" are not actually formes and thus do not have a formeOrder pokestarsmeargle: { num: -5000, diff --git a/data/mods/gen1/random-data.json b/data/random-battles/gen1/data.json similarity index 89% rename from data/mods/gen1/random-data.json rename to data/random-battles/gen1/data.json index 620cc80c193a..a9f1aebefc0c 100644 --- a/data/mods/gen1/random-data.json +++ b/data/random-battles/gen1/data.json @@ -1,25 +1,25 @@ { "bulbasaur": { - "level": 88, + "level": 89, "moves": ["bodyslam", "razorleaf", "sleeppowder", "swordsdance"] }, "ivysaur": { - "level": 79, + "level": 80, "moves": ["bodyslam", "razorleaf", "sleeppowder", "swordsdance"] }, "venusaur": { - "level": 73, - "moves": ["bodyslam", "hyperbeam", "razorleaf"], - "exclusiveMoves": ["sleeppowder", "swordsdance"] + "level": 74, + "moves": ["bodyslam", "razorleaf", "sleeppowder"], + "exclusiveMoves": ["hyperbeam", "swordsdance", "swordsdance"] }, "charmander": { - "level": 93, + "level": 90, "moves": ["counter", "seismictoss", "seismictoss", "slash", "slash"], "essentialMoves": ["bodyslam", "fireblast"], "comboMoves": ["bodyslam", "fireblast", "submission", "swordsdance"] }, "charmeleon": { - "level": 83, + "level": 81, "moves": ["counter", "seismictoss", "seismictoss", "slash", "slash"], "essentialMoves": ["bodyslam", "fireblast"], "comboMoves": ["bodyslam", "fireblast", "submission", "swordsdance"] @@ -30,13 +30,13 @@ "comboMoves": ["earthquake", "fireblast", "hyperbeam", "swordsdance"] }, "squirtle": { - "level": 91, + "level": 90, "moves": ["bodyslam", "counter"], "essentialMoves": ["blizzard", "seismictoss"], "exclusiveMoves": ["hydropump", "surf", "surf"] }, "wartortle": { - "level": 83, + "level": 82, "moves": ["counter", "rest", "seismictoss"], "essentialMoves": ["blizzard", "bodyslam"], "exclusiveMoves": ["hydropump", "surf", "surf"] @@ -48,59 +48,58 @@ "exclusiveMoves": ["hydropump", "surf", "surf"] }, "butterfree": { - "level": 79, + "level": 77, "moves": ["psychic", "sleeppowder", "stunspore"], - "exclusiveMoves": ["hyperbeam", "megadrain", "psywave", "substitute"] + "exclusiveMoves": ["doubleedge", "hyperbeam", "megadrain", "substitute"] }, "beedrill": { - "level": 86, - "moves": ["agility", "doubleedge", "megadrain", "swordsdance"], - "essentialMoves": ["hyperbeam", "twineedle"], - "comboMoves": ["agility", "hyperbeam", "swordsdance", "twineedle"] + "level": 81, + "moves": ["hyperbeam", "swordsdance", "twineedle"], + "exclusiveMoves": ["agility", "agility", "megadrain"] }, "pidgey": { - "level": 96, + "level": 90, "moves": ["mimic", "mirrormove", "sandattack", "substitute"], "essentialMoves": ["agility", "doubleedge"], "exclusiveMoves": ["quickattack", "skyattack"], "comboMoves": ["agility", "doubleedge", "quickattack", "skyattack"] }, "pidgeotto": { - "level": 87, + "level": 82, "moves": ["mimic", "mirrormove", "sandattack", "substitute"], "essentialMoves": ["agility", "doubleedge"], "exclusiveMoves": ["quickattack", "skyattack"], "comboMoves": ["agility", "doubleedge", "quickattack", "skyattack"] }, "pidgeot": { - "level": 78, + "level": 76, "moves": ["agility", "doubleedge", "hyperbeam"], "exclusiveMoves": ["mimic", "mirrormove", "reflect", "sandattack", "skyattack", "skyattack", "substitute", "quickattack", "quickattack", "quickattack"] }, "rattata": { - "level": 90, + "level": 89, "moves": ["blizzard", "bodyslam", "superfang"], "exclusiveMoves": ["doubleedge", "thunderbolt", "thunderbolt", "thunderbolt", "quickattack", "quickattack"] }, "raticate": { - "level": 76, + "level": 75, "moves": ["blizzard", "bodyslam", "hyperbeam", "superfang"] }, "spearow": { - "level": 92, + "level": 89, "moves": ["agility", "doubleedge", "drillpeck"], "exclusiveMoves": ["leer", "mimic", "mirrormove", "substitute"] }, "fearow": { - "level": 76, + "level": 75, "moves": ["agility", "doubleedge", "drillpeck", "hyperbeam"] }, "ekans": { - "level": 94, + "level": 90, "moves": ["bodyslam", "earthquake", "glare", "rockslide"] }, "arbok": { - "level": 82, + "level": 78, "moves": ["earthquake", "glare", "hyperbeam"], "exclusiveMoves": ["bodyslam", "rockslide", "rockslide"] }, @@ -119,17 +118,17 @@ "moves": ["bodyslam", "earthquake", "rockslide", "swordsdance"] }, "sandslash": { - "level": 77, + "level": 76, "moves": ["bodyslam", "earthquake", "rockslide"], "exclusiveMoves": ["slash", "swordsdance", "swordsdance", "swordsdance"] }, "nidoranf": { - "level": 94, + "level": 90, "moves": ["blizzard", "bodyslam", "thunderbolt"], "exclusiveMoves": ["doubleedge", "doublekick"] }, "nidorina": { - "level": 86, + "level": 82, "moves": ["blizzard", "bodyslam", "thunderbolt"], "exclusiveMoves": ["bubblebeam", "doubleedge", "doublekick"] }, @@ -139,17 +138,17 @@ "exclusiveMoves": ["bodyslam", "bodyslam", "substitute"] }, "nidoranm": { - "level": 94, + "level": 90, "moves": ["blizzard", "bodyslam", "thunderbolt"], "exclusiveMoves": ["doubleedge", "doublekick"] }, "nidorino": { - "level": 85, + "level": 82, "moves": ["blizzard", "bodyslam", "thunderbolt"], "exclusiveMoves": ["bubblebeam", "doubleedge", "doublekick"] }, "nidoking": { - "level": 73, + "level": 74, "moves": ["rockslide", "thunderbolt", "thunderbolt"], "essentialMoves": ["blizzard", "earthquake"], "exclusiveMoves": ["bodyslam", "bodyslam", "substitute"] @@ -167,7 +166,7 @@ "exclusiveMoves": ["blizzard", "counter", "hyperbeam", "hyperbeam", "psychic", "sing", "sing"] }, "vulpix": { - "level": 92, + "level": 88, "moves": ["bodyslam", "confuseray", "fireblast"], "exclusiveMoves": ["flamethrower", "flamethrower", "quickattack", "reflect", "substitute", "substitute"] }, @@ -177,13 +176,13 @@ "exclusiveMoves": ["flamethrower", "hyperbeam", "reflect", "substitute", "substitute"] }, "jigglypuff": { - "level": 90, + "level": 89, "moves": ["blizzard", "bodyslam", "seismictoss"], "essentialMoves": ["thunderwave"], "exclusiveMoves": ["counter", "sing", "thunderwave"] }, "wigglytuff": { - "level": 77, + "level": 76, "moves": ["blizzard", "bodyslam", "thunderwave"], "exclusiveMoves": ["counter", "hyperbeam", "sing"] }, @@ -193,21 +192,21 @@ "exclusiveMoves": ["substitute", "substitute", "wingattack"] }, "golbat": { - "level": 80, + "level": 78, "moves": ["confuseray", "doubleedge", "hyperbeam", "megadrain"] }, "oddish": { - "level": 89, + "level": 90, "moves": ["doubleedge", "megadrain", "sleeppowder"], "exclusiveMoves": ["stunspore", "stunspore", "swordsdance"] }, "gloom": { - "level": 81, + "level": 82, "moves": ["doubleedge", "megadrain", "sleeppowder"], "exclusiveMoves": ["stunspore", "stunspore", "swordsdance"] }, "vileplume": { - "level": 77, + "level": 76, "moves": ["bodyslam", "megadrain", "sleeppowder"], "exclusiveMoves": ["stunspore", "stunspore", "swordsdance"] }, @@ -217,32 +216,32 @@ "exclusiveMoves": ["stunspore", "stunspore", "swordsdance"] }, "parasect": { - "level": 78, + "level": 77, "moves": ["bodyslam", "megadrain", "spore"], "exclusiveMoves": ["hyperbeam", "slash", "stunspore", "stunspore", "stunspore", "swordsdance", "swordsdance"] }, "venonat": { "level": 88, "moves": ["psychic", "sleeppowder", "stunspore"], - "exclusiveMoves": ["doubleedge", "megadrain", "psywave"] + "exclusiveMoves": ["doubleedge", "megadrain"] }, "venomoth": { - "level": 73, + "level": 74, "moves": ["psychic", "sleeppowder", "stunspore"], "exclusiveMoves": ["doubleedge", "megadrain"] }, "diglett": { "level": 86, "moves": ["earthquake", "rockslide", "slash"], - "exclusiveMoves": ["bodyslam", "bodyslam", "substitute"] + "exclusiveMoves": ["bodyslam", "substitute"] }, "dugtrio": { "level": 73, "moves": ["earthquake", "rockslide", "slash"], - "exclusiveMoves": ["bodyslam", "bodyslam", "substitute"] + "exclusiveMoves": ["bodyslam", "substitute"] }, "meowth": { - "level": 86, + "level": 85, "moves": ["bodyslam", "bubblebeam", "slash"], "exclusiveMoves": ["thunder", "thunderbolt"] }, @@ -262,23 +261,23 @@ "exclusiveMoves": ["bodyslam", "hydropump", "rest", "rest", "seismictoss"] }, "mankey": { - "level": 91, + "level": 89, "moves": ["bodyslam", "rockslide", "submission"], "exclusiveMoves": ["counter", "lowkick", "megakick"] }, "primeape": { - "level": 78, + "level": 76, "moves": ["rockslide", "rockslide", "rockslide", "thunderbolt"], "essentialMoves": ["bodyslam", "submission"], "exclusiveMoves": ["counter", "lowkick", "hyperbeam", "hyperbeam"] }, "growlithe": { - "level": 94, + "level": 89, "moves": ["agility", "flamethrower", "reflect"], "essentialMoves": ["bodyslam", "fireblast"] }, "arcanine": { - "level": 76, + "level": 75, "moves": ["bodyslam", "fireblast", "hyperbeam"], "exclusiveMoves": ["agility", "agility", "flamethrower", "flamethrower", "reflect", "rest"] }, @@ -288,49 +287,49 @@ "exclusiveMoves": ["hypnosis", "hypnosis", "hypnosis", "psychic"] }, "poliwhirl": { - "level": 77, + "level": 79, "moves": ["amnesia", "blizzard", "surf"], "exclusiveMoves": ["counter", "hypnosis", "hypnosis", "hypnosis", "psychic"] }, "poliwrath": { - "level": 73, + "level": 74, "moves": ["blizzard", "bodyslam", "earthquake", "submission"], "essentialMoves": ["surf"], "exclusiveMoves": ["hypnosis", "hypnosis", "hypnosis", "psychic"], "comboMoves": ["amnesia", "blizzard"] }, "abra": { - "level": 81, + "level": 84, "moves": ["psychic", "seismictoss", "thunderwave"], "exclusiveMoves": ["counter", "reflect", "substitute"] }, "kadabra": { - "level": 73, + "level": 74, "moves": ["psychic", "recover", "thunderwave"], "exclusiveMoves": ["counter", "reflect", "reflect", "seismictoss", "seismictoss"] }, "alakazam": { - "level": 66, + "level": 68, "moves": ["psychic", "recover", "thunderwave"], "exclusiveMoves": ["counter", "reflect", "reflect", "seismictoss", "seismictoss"] }, "machop": { - "level": 92, + "level": 89, "moves": ["bodyslam", "earthquake", "submission"], "exclusiveMoves": ["counter", "rockslide", "rockslide"] }, "machoke": { - "level": 83, + "level": 81, "moves": ["bodyslam", "earthquake", "submission"], "exclusiveMoves": ["counter", "rockslide", "rockslide"] }, "machamp": { - "level": 77, + "level": 76, "moves": ["bodyslam", "earthquake", "submission"], "exclusiveMoves": ["counter", "hyperbeam", "hyperbeam", "rockslide", "rockslide"] }, "bellsprout": { - "level": 89, + "level": 88, "moves": ["doubleedge", "razorleaf", "sleeppowder"], "exclusiveMoves": ["stunspore", "stunspore", "swordsdance"] }, @@ -341,16 +340,16 @@ }, "victreebel": { "level": 74, - "moves": ["bodyslam", "razorleaf", "sleeppowder", "stunspore"], - "comboMoves": ["bodyslam", "hyperbeam", "razorleaf", "swordsdance"] + "moves": ["bodyslam", "razorleaf", "sleeppowder"], + "exclusiveMoves": ["hyperbeam", "stunspore", "stunspore", "stunspore", "swordsdance", "swordsdance"] }, "tentacool": { - "level": 84, + "level": 86, "moves": ["blizzard", "megadrain", "surf"], "exclusiveMoves": ["barrier", "hydropump", "hydropump"] }, "tentacruel": { - "level": 72, + "level": 73, "moves": ["blizzard", "hyperbeam", "swordsdance"], "exclusiveMoves": ["hydropump", "surf", "surf"] }, @@ -359,24 +358,24 @@ "moves": ["bodyslam", "earthquake", "explosion", "rockslide"] }, "graveler": { - "level": 79, + "level": 80, "moves": ["bodyslam", "earthquake", "explosion", "rockslide"] }, "golem": { - "level": 74, + "level": 71, "moves": ["bodyslam", "earthquake", "explosion", "rockslide"] }, "ponyta": { - "level": 85, + "level": 84, "moves": ["agility", "bodyslam", "fireblast"], "exclusiveMoves": ["reflect", "reflect", "reflect", "stomp", "substitute", "substitute"] }, "rapidash": { - "level": 77, + "level": 75, "moves": ["agility", "bodyslam", "fireblast", "hyperbeam"] }, "slowpoke": { - "level": 87, + "level": 84, "moves": ["blizzard", "psychic", "rest"], "essentialMoves": ["surf", "thunderwave"], "exclusiveMoves": ["amnesia", "earthquake", "earthquake"], @@ -389,17 +388,17 @@ "comboMoves": ["amnesia", "rest", "surf", "thunderwave"] }, "magnemite": { - "level": 90, + "level": 88, "moves": ["thunder", "thunderbolt", "thunderwave"], "exclusiveMoves": ["doubleedge", "doubleedge", "mimic", "rest"] }, "magneton": { - "level": 77, + "level": 76, "moves": ["thunder", "thunderbolt", "thunderwave"], "exclusiveMoves": ["doubleedge", "hyperbeam", "hyperbeam", "mimic", "rest"] }, "farfetchd": { - "level": 85, + "level": 78, "moves": ["agility", "bodyslam", "slash", "swordsdance"] }, "doduo": { @@ -407,7 +406,7 @@ "moves": ["agility", "bodyslam", "doubleedge", "drillpeck"] }, "dodrio": { - "level": 72, + "level": 73, "moves": ["agility", "bodyslam", "drillpeck", "hyperbeam"] }, "seel": { @@ -420,63 +419,60 @@ "exclusiveMoves": ["hyperbeam", "rest", "rest", "rest"] }, "grimer": { - "level": 92, + "level": 90, "moves": ["fireblast", "fireblast", "megadrain", "sludge", "sludge", "sludge", "thunderbolt"], "essentialMoves": ["bodyslam", "explosion"] }, "muk": { - "level": 78, + "level": 76, "moves": ["fireblast", "fireblast", "hyperbeam", "megadrain", "megadrain", "sludge", "sludge", "sludge", "thunderbolt"], "essentialMoves": ["bodyslam", "explosion"] }, "shellder": { - "level": 91, + "level": 90, "moves": ["blizzard", "doubleedge", "explosion", "surf"] }, "cloyster": { - "level": 72, + "level": 70, "moves": ["blizzard", "explosion", "surf"], "exclusiveMoves": ["doubleedge", "hyperbeam", "hyperbeam"] }, "gastly": { - "level": 77, + "level": 83, "moves": ["explosion", "explosion", "megadrain", "nightshade", "psychic", "psychic"], - "essentialMoves": ["thunderbolt"], - "exclusiveMoves": ["confuseray", "hypnosis", "hypnosis", "hypnosis"] + "essentialMoves": ["thunderbolt", "hypnosis"] }, "haunter": { - "level": 70, + "level": 74, "moves": ["explosion", "explosion", "megadrain", "nightshade", "psychic", "psychic"], - "essentialMoves": ["thunderbolt"], - "exclusiveMoves": ["confuseray", "hypnosis", "hypnosis", "hypnosis"] + "essentialMoves": ["thunderbolt", "hypnosis"] }, "gengar": { - "level": 64, + "level": 68, "moves": ["explosion", "explosion", "megadrain", "nightshade", "psychic", "psychic"], - "essentialMoves": ["thunderbolt"], - "exclusiveMoves": ["confuseray", "hypnosis", "hypnosis", "hypnosis"] + "essentialMoves": ["thunderbolt", "hypnosis"] }, "onix": { - "level": 81, + "level": 80, "moves": ["bodyslam", "earthquake", "explosion", "rockslide"] }, "drowzee": { - "level": 82, + "level": 84, "moves": ["hypnosis", "psychic", "thunderwave"], "exclusiveMoves": ["counter", "reflect", "rest", "seismictoss", "seismictoss"] }, "hypno": { - "level": 69, + "level": 72, "moves": ["hypnosis", "psychic", "thunderwave"], "exclusiveMoves": ["counter", "reflect", "rest", "rest", "seismictoss", "seismictoss"] }, "krabby": { - "level": 91, + "level": 89, "moves": ["bodyslam", "crabhammer", "swordsdance"], "exclusiveMoves": ["blizzard", "blizzard", "blizzard", "stomp"] }, "kingler": { - "level": 77, + "level": 76, "moves": ["bodyslam", "crabhammer", "hyperbeam", "swordsdance"] }, "voltorb": { @@ -485,39 +481,39 @@ "exclusiveMoves": ["takedown", "thunder"] }, "electrode": { - "level": 77, + "level": 76, "moves": ["explosion", "thunderbolt", "thunderwave"], "exclusiveMoves": ["hyperbeam", "hyperbeam", "takedown", "thunder", "thunder"] }, "exeggcute": { - "level": 78, + "level": 84, "moves": ["explosion", "psychic", "sleeppowder", "stunspore"] }, "exeggutor": { - "level": 65, + "level": 68, "moves": ["explosion", "psychic", "sleeppowder"], "exclusiveMoves": ["doubleedge", "hyperbeam", "megadrain", "stunspore", "stunspore", "stunspore"] }, "cubone": { - "level": 88, + "level": 89, "moves": ["blizzard", "bodyslam", "earthquake", "seismictoss"] }, "marowak": { - "level": 80, + "level": 79, "moves": ["blizzard", "bodyslam", "earthquake", "seismictoss"] }, "hitmonlee": { - "level": 81, + "level": 78, "moves": ["bodyslam", "highjumpkick", "seismictoss"], "exclusiveMoves": ["counter", "counter", "meditate", "megakick", "rollingkick"] }, "hitmonchan": { - "level": 85, + "level": 80, "moves": ["bodyslam", "seismictoss", "submission"], "exclusiveMoves": ["agility", "agility", "counter", "counter", "megakick"] }, "lickitung": { - "level": 81, + "level": 78, "moves": ["bodyslam", "hyperbeam", "swordsdance"], "exclusiveMoves": ["blizzard", "earthquake", "earthquake", "earthquake"] }, @@ -526,7 +522,7 @@ "moves": ["explosion", "fireblast", "sludge", "thunderbolt"] }, "weezing": { - "level": 77, + "level": 76, "moves": ["explosion", "fireblast", "sludge", "thunderbolt"] }, "rhyhorn": { @@ -538,7 +534,7 @@ "moves": ["bodyslam", "earthquake", "rockslide", "substitute"] }, "chansey": { - "level": 67, + "level": 68, "moves": ["icebeam", "softboiled", "thunderwave"], "exclusiveMoves": ["counter", "reflect", "seismictoss", "sing", "thunderbolt", "thunderbolt", "thunderbolt"] }, @@ -553,7 +549,7 @@ "exclusiveMoves": ["counter", "rockslide", "rockslide", "surf"] }, "horsea": { - "level": 89, + "level": 88, "moves": ["agility", "blizzard", "surf"], "exclusiveMoves": ["doubleedge", "hydropump", "smokescreen"] }, @@ -563,22 +559,22 @@ "exclusiveMoves": ["doubleedge", "hydropump", "hyperbeam", "smokescreen"] }, "goldeen": { - "level": 90, + "level": 88, "moves": ["agility", "blizzard", "doubleedge", "surf"] }, "seaking": { - "level": 79, + "level": 78, "moves": ["agility", "doubleedge", "hyperbeam"], "essentialMoves": ["blizzard", "surf"] }, "staryu": { - "level": 82, + "level": 84, "moves": ["blizzard", "thunderbolt", "thunderwave"], "essentialMoves": ["recover"], "exclusiveMoves": ["hydropump", "surf", "surf"] }, "starmie": { - "level": 66, + "level": 68, "moves": ["blizzard", "psychic", "thunderbolt", "thunderwave", "thunderwave"], "essentialMoves": ["recover"], "exclusiveMoves": ["hydropump", "psychic", "surf", "surf"] @@ -588,26 +584,26 @@ "moves": ["psychic", "seismictoss", "thunderbolt", "thunderwave"] }, "scyther": { - "level": 78, + "level": 75, "moves": ["agility", "hyperbeam", "slash", "swordsdance"] }, "jynx": { - "level": 67, + "level": 68, "moves": ["blizzard", "lovelykiss", "psychic"], "exclusiveMoves": ["bodyslam", "counter", "counter", "seismictoss", "substitute"] }, "electabuzz": { - "level": 73, + "level": 74, "moves": ["psychic", "thunderbolt", "thunderwave"], "exclusiveMoves": ["hyperbeam", "seismictoss", "seismictoss", "seismictoss"] }, "magmar": { - "level": 78, + "level": 76, "moves": ["bodyslam", "confuseray", "fireblast"], "exclusiveMoves": ["hyperbeam", "psychic", "seismictoss"] }, "pinsir": { - "level": 78, + "level": 75, "moves": ["bodyslam", "bodyslam", "slash"], "essentialMoves": ["hyperbeam", "swordsdance"], "exclusiveMoves": ["seismictoss", "submission", "submission"] @@ -618,13 +614,13 @@ "exclusiveMoves": ["blizzard", "blizzard", "blizzard", "thunderbolt"] }, "gyarados": { - "level": 72, + "level": 74, "moves": ["blizzard", "bodyslam", "bodyslam", "hyperbeam", "thunderbolt"], "exclusiveMoves": ["hydropump", "surf", "surf"] }, "lapras": { "level": 69, - "moves": ["bodyslam", "confuseray", "rest", "sing", "surf"], + "moves": ["bodyslam", "rest", "sing", "surf"], "essentialMoves": ["blizzard", "thunderbolt"] }, "ditto": { @@ -632,7 +628,7 @@ "moves": ["transform"] }, "eevee": { - "level": 89, + "level": 88, "moves": ["doubleedge", "doubleedge", "quickattack", "quickattack", "reflect"], "essentialMoves": ["bodyslam"], "exclusiveMoves": ["sandattack", "tailwhip"] @@ -644,20 +640,20 @@ }, "jolteon": { "level": 69, - "moves": ["agility", "agility", "bodyslam", "bodyslam", "bodyslam", "doublekick", "pinmissile", "pinmissile"], - "essentialMoves": ["thunderbolt", "thunderwave"] + "moves": ["bodyslam", "thunderbolt", "thunderwave"], + "exclusiveMoves": ["agility", "agility", "doublekick", "pinmissile", "pinmissile"] }, "flareon": { - "level": 77, + "level": 76, "moves": ["bodyslam", "fireblast", "hyperbeam", "quickattack"] }, "porygon": { - "level": 78, + "level": 76, "moves": ["blizzard", "recover", "thunderwave"], "exclusiveMoves": ["doubleedge", "psychic", "thunderbolt", "triattack"] }, "omanyte": { - "level": 88, + "level": 87, "moves": ["blizzard", "bodyslam", "rest"], "exclusiveMoves": ["hydropump", "surf"] }, @@ -668,12 +664,12 @@ "exclusiveMoves": ["hydropump", "surf"] }, "kabuto": { - "level": 89, + "level": 88, "moves": ["blizzard", "bodyslam", "slash"], "exclusiveMoves": ["hydropump", "surf", "surf"] }, "kabutops": { - "level": 77, + "level": 75, "moves": ["hyperbeam", "surf", "swordsdance"], "exclusiveMoves": ["bodyslam", "slash"] }, @@ -683,7 +679,7 @@ "exclusiveMoves": ["agility", "skyattack", "skyattack"] }, "snorlax": { - "level": 70, + "level": 69, "moves": ["bodyslam", "thunderbolt"], "essentialMoves": ["amnesia", "blizzard"], "exclusiveMoves": ["rest", "selfdestruct"], @@ -700,33 +696,32 @@ "moves": ["agility", "drillpeck", "thunderbolt", "thunderwave"] }, "moltres": { - "level": 74, + "level": 73, "moves": ["agility", "fireblast", "hyperbeam"], "exclusiveMoves": ["doubleedge", "doubleedge", "doubleedge", "reflect"] }, "dratini": { - "level": 92, + "level": 89, "moves": ["bodyslam", "hyperbeam", "thunderbolt", "thunderbolt"], "essentialMoves": ["blizzard", "thunderwave"] }, "dragonair": { - "level": 81, + "level": 80, "moves": ["bodyslam", "hyperbeam", "thunderbolt", "thunderbolt"], "essentialMoves": ["blizzard", "thunderwave"] }, "dragonite": { - "level": 73, + "level": 74, "moves": ["bodyslam", "hyperbeam", "thunderbolt", "thunderwave", "thunderwave"], "essentialMoves": ["blizzard"] }, "mewtwo": { - "level": 57, - "moves": ["blizzard", "recover", "thunderbolt"], - "essentialMoves": ["amnesia", "psychic"], - "comboMoves": ["amnesia", "psychic", "recover", "thunderwave"] + "level": 60, + "moves": ["amnesia", "psychic", "recover"], + "exclusiveMoves": ["blizzard", "thunderbolt", "thunderwave", "thunderwave"] }, "mew": { - "level": 63, + "level": 64, "moves": ["blizzard", "blizzard", "earthquake", "explosion", "explosion", "thunderbolt"], "essentialMoves": ["psychic", "softboiled", "thunderwave"] } diff --git a/data/mods/gen1/random-teams.ts b/data/random-battles/gen1/teams.ts similarity index 87% rename from data/mods/gen1/random-teams.ts rename to data/random-battles/gen1/teams.ts index 925b4c0cb479..0b2d16b1d798 100644 --- a/data/mods/gen1/random-teams.ts +++ b/data/random-battles/gen1/teams.ts @@ -1,4 +1,4 @@ -import RandomGen2Teams from '../gen2/random-teams'; +import RandomGen2Teams from '../gen2/teams'; import {Utils} from '../../../lib'; interface HackmonsCupEntry { @@ -15,7 +15,7 @@ interface Gen1RandomBattleSpecies { } export class RandomGen1Teams extends RandomGen2Teams { - randomData: {[species: string]: Gen1RandomBattleSpecies} = require('./random-data.json'); + randomData: {[species: string]: Gen1RandomBattleSpecies} = require('./data.json'); // Challenge Cup or CC teams are basically fully random teams. randomCCTeam() { @@ -27,7 +27,6 @@ export class RandomGen1Teams extends RandomGen2Teams { for (const pokemon of randomN) { const species = this.dex.species.get(pokemon); - const learnset = this.dex.species.getLearnset(species.id); // Level balance: calculate directly from stats rather than using some silly lookup table. const mbstmin = 1307; @@ -82,15 +81,7 @@ export class RandomGen1Teams extends RandomGen2Teams { // Four random unique moves from movepool. don't worry about "attacking" or "viable". // Since Gens 1 and 2 learnsets are shared, we need to weed out Gen 2 moves. - const pool: string[] = []; - if (learnset) { - for (const move in learnset) { - if (this.dex.moves.get(move).gen !== 1) continue; - if (learnset[move].some(learned => learned.startsWith('1'))) { - pool.push(move); - } - } - } + const pool = [...this.dex.species.getMovePool(species.id)]; team.push({ name: species.baseSpecies, @@ -127,16 +118,13 @@ export class RandomGen1Teams extends RandomGen2Teams { /** Pokémon that are not wholly incompatible with the team, but still pretty bad */ const rejectedButNotInvalidPool: string[] = []; - const nuTiers = ['UU', 'UUBL', 'NFE', 'LC', 'NU']; - const uuTiers = ['NFE', 'UU', 'UUBL', 'NU']; // Now let's store what we are getting. const typeCount: {[k: string]: number} = {}; const weaknessCount: {[k: string]: number} = {Electric: 0, Psychic: 0, Water: 0, Ice: 0, Ground: 0, Fire: 0}; - let uberCount = 0; - let nuCount = 0; + let numMaxLevelPokemon = 0; - const pokemonPool = this.getPokemonPool(type, pokemon, isMonotype, Object.keys(this.randomData))[0]; + const pokemonPool = Object.keys(this.getPokemonPool(type, pokemon, isMonotype, Object.keys(this.randomData))[0]); while (pokemonPool.length && pokemon.length < this.maxTeamSize) { const species = this.dex.species.get(this.sampleNoReplace(pokemonPool)); if (!species.exists) continue; @@ -149,33 +137,12 @@ export class RandomGen1Teams extends RandomGen2Teams { // Dynamically scale limits for different team sizes. The default and minimum value is 1. const limitFactor = Math.round(this.maxTeamSize / 6) || 1; - const tier = species.tier; - switch (tier) { - case 'LC': - case 'NFE': - // Don't add pre-evo mon if already 4 or more non-OUs - // Regardless, pre-evo mons are slightly less common. - if (nuCount >= 4 * limitFactor || this.randomChance(1, 3)) continue; - break; - case 'Uber': - // Only allow a single Uber. - if (uberCount >= 1 * limitFactor) continue; - break; - default: - // OUs are fine. Otherwise 50% chance to skip mon if already 4 or more non-OUs. - if (uuTiers.includes(tier) && pokemonPool.length > 1 && (nuCount >= 4 * limitFactor && this.randomChance(1, 2))) { - continue; - } - } - let skip = false; if (!isMonotype && !this.forceMonotype) { - // Limit 2 of any type as well. Diversity and minor weakness count. - // The second of a same type has halved chance of being added. + // Limit two of any type for (const typeName of species.types) { - if (typeCount[typeName] >= 2 * limitFactor || - (typeCount[typeName] >= 1 * limitFactor && this.randomChance(1, 2) && pokemonPool.length > 1)) { + if (typeCount[typeName] >= 2 * limitFactor) { skip = true; break; } @@ -188,7 +155,7 @@ export class RandomGen1Teams extends RandomGen2Teams { } // We need a weakness count of spammable attacks to avoid being swept by those. - // Spammable attacks are: Thunderbolt, Psychic, Surf, Blizzard, Earthquake. + // Spammable attacks are: Thunderbolt, Psychic, Surf, Blizzard, Earthquake, Fire Blast. const pokemonWeaknesses = []; for (const typeName in weaknessCount) { const increaseCount = this.dex.getImmunity(typeName, species) && this.dex.getEffectiveness(typeName, species) > 0; @@ -205,6 +172,12 @@ export class RandomGen1Teams extends RandomGen2Teams { continue; } + // Limit one level 100 Pokemon + if (!this.adjustLevel && (this.getLevel(species) === 100) && numMaxLevelPokemon >= limitFactor) { + rejectedButNotInvalidPool.push(species.id); + continue; + } + // The set passes the limitations. pokemon.push(this.randomSet(species)); @@ -223,12 +196,8 @@ export class RandomGen1Teams extends RandomGen2Teams { weaknessCount[weakness]++; } - // Increment tier bias counters. - if (tier === 'Uber') { - uberCount++; - } else if (nuTiers.includes(tier)) { - nuCount++; - } + // Increment level 100 counter + if (this.getLevel(species) === 100) numMaxLevelPokemon++; // Ditto check if (species.id === 'ditto') this.battleHasDitto = true; @@ -286,7 +255,7 @@ export class RandomGen1Teams extends RandomGen2Teams { } } - const level = this.adjustLevel || data.level || 80; + const level = this.getLevel(species); const evs = {hp: 255, atk: 255, def: 255, spa: 255, spd: 255, spe: 255}; const ivs = {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}; diff --git a/data/random-battles/gen2/sets.json b/data/random-battles/gen2/sets.json new file mode 100644 index 000000000000..d97458ad810a --- /dev/null +++ b/data/random-battles/gen2/sets.json @@ -0,0 +1,1716 @@ +{ + "venusaur": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["growth", "hiddenpowerfire", "hiddenpowerice", "razorleaf", "sleeppowder", "synthesis"] + } + ] + }, + "charizard": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["bellydrum", "earthquake", "fireblast", "rockslide", "swordsdance"] + } + ] + }, + "blastoise": { + "sets": [ + { + "role": "Generalist", + "movepool": ["icebeam", "rest", "sleeptalk", "surf", "zapcannon"] + }, + { + "role": "Bulky Support", + "movepool": ["icebeam", "rapidspin", "rest", "roar", "surf", "toxic"] + } + ] + }, + "butterfree": { + "sets": [ + { + "role": "Generalist", + "movepool": ["nightmare", "psychic", "sleeppowder", "substitute"] + }, + { + "role": "Fast Attacker", + "movepool": ["psychic", "sleeppowder", "stunspore", "substitute"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerbug", "psychic", "sleeppowder", "stunspore"] + } + ] + }, + "beedrill": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["agility", "hiddenpowerground", "sludgebomb", "substitute", "swordsdance"] + } + ] + }, + "pidgeot": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["curse", "doubleedge", "rest", "sleeptalk"] + }, + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "hiddenpowerground", "hiddenpowerwater", "rest", "sleeptalk"] + }, + { + "role": "Thief user", + "movepool": ["hiddenpowerground", "hiddenpowerwater", "return", "thief", "toxic"] + } + ] + }, + "raticate": { + "sets": [ + { + "role": "Generalist", + "movepool": ["doubleedge", "irontail", "rest", "return", "sleeptalk", "superfang"] + } + ] + }, + "fearow": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "drillpeck", "hiddenpowerground", "rest", "sleeptalk", "substitute"] + } + ] + }, + "arbok": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "earthquake", "rest", "sleeptalk", "sludgebomb"] + }, + { + "role": "Fast Attacker", + "movepool": ["curse", "earthquake", "glare", "haze", "sludgebomb"] + } + ] + }, + "pikachu": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["encore", "hiddenpowerfire", "hiddenpowerice", "surf", "thunderbolt"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerfire", "hiddenpowerice", "substitute", "surf", "thunderbolt"] + }, + { + "role": "Generalist", + "movepool": ["hiddenpowerice", "surf", "thunder", "thunderbolt"] + } + ] + }, + "raichu": { + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerice", "rest", "sleeptalk", "surf", "thunder"] + } + ] + }, + "sandslash": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerbug", "rockslide", "substitute", "swordsdance"], + "preferredTypes": ["Rock"] + }, + { + "role": "Generalist", + "movepool": ["earthquake", "rest", "rockslide", "sleeptalk", "swordsdance"] + } + ] + }, + "nidoqueen": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "fireblast", "icebeam", "moonlight", "thunder"], + "preferredTypes": ["Ice"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "icebeam", "lovelykiss", "thunder"] + } + ] + }, + "nidoking": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "fireblast", "icebeam", "morningsun", "thunder"], + "preferredTypes": ["Ice"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "icebeam", "lovelykiss", "thunder"] + } + ] + }, + "clefable": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["bellydrum", "bodyslam", "hiddenpowerground", "moonlight", "return", "thunderwave"] + }, + { + "role": "Bulky Support", + "movepool": ["bodyslam", "encore", "fireblast", "flamethrower", "moonlight"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "moonlight", "return", "thunderwave"] + } + ] + }, + "ninetales": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "rest", "sleeptalk", "sunnyday", "toxic"] + } + ] + }, + "wigglytuff": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["bodyslam", "charm", "doubleedge", "fireblast", "rest", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "doubleedge", "rest", "sleeptalk"] + } + ] + }, + "vileplume": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["moonlight", "razorleaf", "sleeppowder", "sludgebomb", "stunspore"] + }, + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerground", "moonlight", "sleeppowder", "sludgebomb", "swordsdance"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "moonlight", "sludgebomb", "stunspore"] + } + ] + }, + "parasect": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["bodyslam", "hiddenpowerground", "return", "spore", "swordsdance"] + }, + { + "role": "Bulky Setup", + "movepool": ["hiddenpowerbug", "spore", "swordsdance", "synthesis"] + }, + { + "role": "Bulky Attacker", + "movepool": ["bodyslam", "gigadrain", "hiddenpowerbug", "spore", "synthesis"], + "preferredTypes": ["Bug"] + } + ] + }, + "venomoth": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["gigadrain", "hiddenpowerfire", "psychic", "sleeppowder", "sludgebomb", "stunspore"], + "preferredTypes": ["Psychic"] + }, + { + "role": "Bulky Setup", + "movepool": ["batonpass", "curse", "sleeppowder", "sludgebomb"] + }, + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "curse", "sludgebomb", "stunspore"] + } + ] + }, + "dugtrio": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["earthquake", "rockslide", "sludgebomb", "substitute", "thief"], + "preferredTypes": ["Rock"] + } + ] + }, + "persian": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "hypnosis", "irontail", "rest", "sleeptalk", "thief"] + }, + { + "role": "Generalist", + "movepool": ["doubleedge", "hypnosis", "rest", "sleeptalk", "thief", "thunder"], + "preferredTypes": ["Electric"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "doubleedge", "rest", "sleeptalk"] + } + ] + }, + "golduck": { + "sets": [ + { + "role": "Generalist", + "movepool": ["crosschop", "hiddenpowerelectric", "hydropump", "hypnosis", "icebeam"] + }, + { + "role": "Bulky Attacker", + "movepool": ["crosschop", "hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"] + } + ] + }, + "primeape": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["crosschop", "hiddenpowerghost", "meditate", "rest", "rockslide", "substitute"] + }, + { + "role": "Bulky Setup", + "movepool": ["crosschop", "doubleedge", "hiddenpowerghost", "meditate", "rockslide"] + }, + { + "role": "Generalist", + "movepool": ["meditate", "reversal", "rockslide", "substitute"] + } + ] + }, + "arcanine": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["crunch", "doubleedge", "fireblast", "flamethrower", "hiddenpowergrass", "rest", "sleeptalk"] + } + ] + }, + "poliwhirl": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["bellydrum", "earthquake", "lovelykiss", "return"] + }, + { + "role": "Generalist", + "movepool": ["bellydrum", "earthquake", "hiddenpowerrock", "lovelykiss"] + } + ] + }, + "poliwrath": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["earthquake", "growth", "rest", "sleeptalk", "submission", "surf"] + }, + { + "role": "Setup Sweeper", + "movepool": ["bellydrum", "bodyslam", "earthquake", "lovelykiss", "return"] + }, + { + "role": "Generalist", + "movepool": ["bellydrum", "earthquake", "hiddenpowerrock", "lovelykiss"] + } + ] + }, + "alakazam": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["encore", "firepunch", "hiddenpowerdark", "psychic", "recover", "thunderwave"], + "preferredTypes": ["Fire"] + }, + { + "role": "Bulky Support", + "movepool": ["encore", "firepunch", "icepunch", "psychic", "recover", "thunderpunch"] + } + ] + }, + "machamp": { + "sets": [ + { + "role": "Generalist", + "movepool": ["crosschop", "curse", "rest", "rockslide", "sleeptalk"] + }, + { + "role": "Setup Sweeper", + "movepool": ["crosschop", "curse", "earthquake", "hiddenpowerbug", "rockslide"], + "preferredTypes": ["Rock"] + } + ] + }, + "victreebel": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerground", "sleeppowder", "sludgebomb", "swordsdance", "synthesis"] + }, + { + "role": "Generalist", + "movepool": ["hiddenpowerground", "razorleaf", "sleeppowder", "sludgebomb", "synthesis"] + } + ] + }, + "tentacruel": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hydropump", "sludgebomb", "substitute", "swordsdance"] + } + ] + }, + "golem": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["curse", "earthquake", "explosion", "rapidspin", "roar", "rockslide"] + } + ] + }, + "rapidash": { + "sets": [ + { + "role": "Generalist", + "movepool": ["doubleedge", "fireblast", "hiddenpowergrass", "hypnosis", "sunnyday"] + }, + { + "role": "Bulky Support", + "movepool": ["doubleedge", "fireblast", "flamethrower", "rest", "sleeptalk", "sunnyday"] + } + ] + }, + "slowbro": { + "sets": [ + { + "role": "Generalist", + "movepool": ["psychic", "rest", "sleeptalk", "surf"] + } + ] + }, + "magneton": { + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerice", "rest", "sleeptalk", "thunder"] + } + ] + }, + "farfetchd": { + "sets": [ + { + "role": "Generalist", + "movepool": ["agility", "batonpass", "return", "swordsdance"] + } + ] + }, + "dodrio": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "drillpeck", "hiddenpowerground", "rest", "sleeptalk", "substitute"] + } + ] + }, + "dewgong": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["icebeam", "rest", "sleeptalk", "surf"] + }, + { + "role": "Generalist", + "movepool": ["encore", "icebeam", "protect", "toxic"] + } + ] + }, + "muk": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "explosion", "fireblast", "hiddenpowerground", "sludgebomb"], + "preferredTypes": ["Ground"] + } + ] + }, + "cloyster": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["explosion", "icebeam", "rapidspin", "spikes", "surf", "toxic"] + }, + { + "role": "Generalist", + "movepool": ["explosion", "rapidspin", "spikes", "surf", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["explosion", "icebeam", "rapidspin", "spikes", "toxic"] + } + ] + }, + "gengar": { + "sets": [ + { + "role": "Generalist", + "movepool": ["explosion", "firepunch", "hypnosis", "icepunch", "psychic", "thunderbolt"], + "preferredTypes": ["Electric", "Ice"] + }, + { + "role": "Fast Attacker", + "movepool": ["destinybond", "firepunch", "hypnosis", "icepunch", "psychic", "thunderbolt"], + "preferredTypes": ["Electric", "Ice"] + } + ] + }, + "hypno": { + "sets": [ + { + "role": "Generalist", + "movepool": ["psychic", "rest", "seismictoss", "sleeptalk", "thunderwave"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "doubleedge", "rest", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "curse", "psychic", "rest", "return"] + } + ] + }, + "kingler": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerground", "protect", "rest", "return", "substitute", "swordsdance"] + }, + { + "role": "Bulky Setup", + "movepool": ["hiddenpowerground", "protect", "return", "substitute", "surf", "swordsdance"], + "preferredTypes": ["Normal"] + }, + { + "role": "Generalist", + "movepool": ["doubleedge", "rest", "sleeptalk", "swordsdance"] + } + ] + }, + "electrode": { + "sets": [ + { + "role": "Generalist", + "movepool": ["explosion", "hiddenpowerice", "thunderbolt", "thunderwave"] + }, + { + "role": "Fast Attacker", + "movepool": ["explosion", "hiddenpowerice", "lightscreen", "reflect", "thunder", "thunderbolt"] + } + ] + }, + "exeggutor": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowergrass", "psychic", "stunspore", "synthesis"] + }, + { + "role": "Fast Attacker", + "movepool": ["explosion", "hiddenpowerfire", "hiddenpowergrass", "psychic", "sleeppowder"] + }, + { + "role": "Generalist", + "movepool": ["explosion", "gigadrain", "hiddenpowerfire", "psychic"] + } + ] + }, + "marowak": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerbug", "rockslide", "swordsdance"] + } + ] + }, + "hitmonlee": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerghost", "hiddenpowerrock", "highjumpkick", "meditate", "rest", "substitute"] + }, + { + "role": "Bulky Setup", + "movepool": ["doubleedge", "hiddenpowerghost", "hiddenpowerrock", "highjumpkick", "meditate"] + }, + { + "role": "Generalist", + "movepool": ["bodyslam", "hiddenpowerrock", "highjumpkick", "rest", "sleeptalk"] + } + ] + }, + "hitmonchan": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["curse", "hiddenpowerghost", "hiddenpowerrock", "highjumpkick", "machpunch"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "highjumpkick", "rest", "sleeptalk"] + }, + { + "role": "Generalist", + "movepool": ["bodyslam", "hiddenpowerrock", "highjumpkick", "rest", "sleeptalk"] + } + ] + }, + "lickitung": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "protect", "rest", "return", "swordsdance"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "doubleedge", "rest", "return", "sleeptalk", "swordsdance"] + }, + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "earthquake", "rest", "sleeptalk", "thunder"] + } + ] + }, + "weezing": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["explosion", "fireblast", "sludgebomb", "thunder"] + }, + { + "role": "Generalist", + "movepool": ["explosion", "hiddenpowerwater", "sludgebomb", "thunder"] + }, + { + "role": "Bulky Attacker", + "movepool": ["fireblast", "haze", "hiddenpowerwater", "painsplit", "sludgebomb", "thunder"], + "preferredTypes": ["Electric"] + } + ] + }, + "rhydon": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["curse", "earthquake", "rest", "roar", "rockslide", "sleeptalk"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "earthquake", "rest", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "rest", "rockslide", "sleeptalk"] + } + ] + }, + "tangela": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["gigadrain", "growth", "hiddenpowerfire", "hiddenpowerice", "sleeppowder", "synthesis"] + } + ] + }, + "kangaskhan": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "earthquake", "rest", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "curse", "doubleedge", "rest", "return", "sleeptalk"] + }, + { + "role": "Setup Sweeper", + "movepool": ["bodyslam", "curse", "earthquake", "return", "roar"] + } + ] + }, + "seaking": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["agility", "hydropump", "return", "substitute", "swordsdance"], + "preferredTypes": ["Normal"] + }, + { + "role": "Setup Sweeper", + "movepool": ["agility", "hiddenpowerground", "return", "substitute", "swordsdance"] + } + ] + }, + "starmie": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["psychic", "rapidspin", "recover", "surf", "thunderbolt", "thunderwave"], + "preferredTypes": ["Psychic"] + }, + { + "role": "Bulky Support", + "movepool": ["icebeam", "psychic", "recover", "surf", "thunder"] + } + ] + }, + "mrmime": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["encore", "firepunch", "hypnosis", "psychic", "thief", "thunder"] + }, + { + "role": "Generalist", + "movepool": ["firepunch", "psychic", "rest", "sleeptalk", "thunder"] + }, + { + "role": "Bulky Attacker", + "movepool": ["barrier", "batonpass", "psychic", "thunder"] + } + ] + }, + "scyther": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["batonpass", "doubleedge", "hiddenpowerground", "swordsdance"] + } + ] + }, + "jynx": { + "sets": [ + { + "role": "Generalist", + "movepool": ["icebeam", "lovelykiss", "nightmare", "psychic"] + }, + { + "role": "Thief user", + "movepool": ["icebeam", "lovelykiss", "psychic", "thief"] + }, + { + "role": "Bulky Attacker", + "movepool": ["icebeam", "lovelykiss", "psychic", "substitute"] + } + ] + }, + "electabuzz": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["crosschop", "icepunch", "pursuit", "thief", "thunder", "thunderbolt"], + "preferredTypes": ["Fighting", "Ice"] + }, + { + "role": "Bulky Attacker", + "movepool": ["icepunch", "rest", "sleeptalk", "thunder"] + } + ] + }, + "magmar": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["crosschop", "fireblast", "hiddenpowerground", "sunnyday", "thunderpunch"], + "preferredTypes": ["Electric"] + }, + { + "role": "Fast Attacker", + "movepool": ["crosschop", "fireblast", "hiddenpowerground", "thief", "thunderpunch"], + "preferredTypes": ["Electric"] + } + ] + }, + "pinsir": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerground", "protect", "rest", "return", "substitute", "swordsdance"] + } + ] + }, + "tauros": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "doubleedge", "earthquake", "rest", "return", "sleeptalk"] + } + ] + }, + "gyarados": { + "sets": [ + { + "role": "Generalist", + "movepool": ["doubleedge", "hiddenpowerflying", "hydropump", "roar", "thunder"], + "preferredTypes": ["Electric"] + }, + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "hiddenpowerflying", "hydropump", "rest", "sleeptalk", "surf"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "hiddenpowerflying", "rest", "sleeptalk"] + } + ] + }, + "lapras": { + "sets": [ + { + "role": "Generalist", + "movepool": ["icebeam", "rest", "sleeptalk", "surf"] + }, + { + "role": "Fast Attacker", + "movepool": ["rest", "sleeptalk", "surf", "thunder"] + }, + { + "role": "Bulky Attacker", + "movepool": ["icebeam", "rest", "sleeptalk", "thunder"] + } + ] + }, + "ditto": { + "level": 90, + "sets": [ + { + "role": "Generalist", + "movepool": ["transform"] + } + ] + }, + "vaporeon": { + "sets": [ + { + "role": "Generalist", + "movepool": ["growth", "rest", "sleeptalk", "surf"] + } + ] + }, + "jolteon": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["batonpass", "growth", "hiddenpowerice", "substitute", "thunderbolt"] + } + ] + }, + "flareon": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "fireblast", "growth", "hiddenpowergrass"] + }, + { + "role": "Generalist", + "movepool": ["doubleedge", "fireblast", "flamethrower", "rest", "sleeptalk"] + } + ] + }, + "omastar": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["hiddenpowerelectric", "icebeam", "rest", "sandstorm", "sleeptalk", "surf"] + } + ] + }, + "kabutops": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["hiddenpowerground", "hydropump", "return", "swordsdance"] + }, + { + "role": "Setup Sweeper", + "movepool": ["ancientpower", "hiddenpowerground", "protect", "rest", "substitute", "swordsdance"] + } + ] + }, + "aerodactyl": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["curse", "earthquake", "hiddenpowerrock", "rest"] + }, + { + "role": "Setup Sweeper", + "movepool": ["ancientpower", "curse", "earthquake", "hiddenpowerflying"] + }, + { + "role": "Bulky Attacker", + "movepool": ["curse", "earthquake", "hiddenpowerrock", "whirlwind"] + } + ] + }, + "snorlax": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "doubleedge", "earthquake", "rest", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "curse", "doubleedge", "earthquake", "rest", "return"] + }, + { + "role": "Bulky Attacker", + "movepool": ["bodyslam", "curse", "earthquake", "lovelykiss", "return", "selfdestruct"] + } + ] + }, + "articuno": { + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "toxic"] + } + ] + }, + "zapdos": { + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerice", "rest", "sleeptalk", "thunder"] + } + ] + }, + "moltres": { + "sets": [ + { + "role": "Generalist", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "rest", "sleeptalk", "sunnyday"] + } + ] + }, + "dragonite": { + "sets": [ + { + "role": "Generalist", + "movepool": ["haze", "hiddenpowerflying", "rest", "surf", "thunder"] + }, + { + "role": "Bulky Attacker", + "movepool": ["icebeam", "rest", "sleeptalk", "thunder"] + }, + { + "role": "Fast Attacker", + "movepool": ["dynamicpunch", "hiddenpowerflying", "icebeam", "thunder"] + } + ] + }, + "mewtwo": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["flamethrower", "icebeam", "psychic", "recover", "thunder"] + }, + { + "role": "Bulky Setup", + "movepool": ["barrier", "flamethrower", "psychic", "recover", "thunder"] + } + ] + }, + "mew": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "explosion", "rockslide", "swordsdance"] + }, + { + "role": "Bulky Setup", + "movepool": ["earthquake", "rockslide", "softboiled", "swordsdance"] + } + ] + }, + "meganium": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "earthquake", "swordsdance", "synthesis"] + }, + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerrock", "swordsdance", "synthesis"] + }, + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "hiddenpowerfire", "leechseed", "lightscreen", "razorleaf", "synthesis"] + } + ] + }, + "typhlosion": { + "sets": [ + { + "role": "Generalist", + "movepool": ["earthquake", "fireblast", "flamethrower", "rest", "sleeptalk", "thunderpunch"] + }, + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "fireblast", "sunnyday", "thunderpunch"] + } + ] + }, + "feraligatr": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"] + } + ] + }, + "furret": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["curse", "doubleedge", "rest", "sleeptalk"] + }, + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "irontail", "rest", "sleeptalk", "surf"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "irontail", "quickattack", "return"] + } + ] + }, + "noctowl": { + "sets": [ + { + "role": "Thief user", + "movepool": ["hypnosis", "return", "thief", "toxic", "whirlwind"] + }, + { + "role": "Bulky Support", + "movepool": ["nightshade", "rest", "sleeptalk", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "rest", "return", "sleeptalk"] + } + ] + }, + "ledian": { + "sets": [ + { + "role": "Generalist", + "movepool": ["agility", "barrier", "batonpass", "lightscreen"] + } + ] + }, + "ariados": { + "sets": [ + { + "role": "Generalist", + "movepool": ["agility", "batonpass", "sludgebomb", "spiderweb"] + }, + { + "role": "Bulky Setup", + "movepool": ["agility", "batonpass", "growth", "sludgebomb"] + }, + { + "role": "Setup Sweeper", + "movepool": ["agility", "batonpass", "curse", "sludgebomb"] + } + ] + }, + "crobat": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["haze", "hiddenpowerground", "rest", "return", "toxic"], + "preferredTypes": ["Normal"] + }, + { + "role": "Generalist", + "movepool": ["haze", "protect", "toxic", "wingattack"] + } + ] + }, + "lanturn": { + "sets": [ + { + "role": "Generalist", + "movepool": ["rest", "sleeptalk", "surf", "thunder"] + } + ] + }, + "togetic": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["charm", "curse", "doubleedge", "fireblast", "rest", "sleeptalk"] + }, + { + "role": "Setup Sweeper", + "movepool": ["encore", "fireblast", "solarbeam", "sunnyday", "zapcannon"], + "preferredTypes": ["Fire", "Grass"] + } + ] + }, + "xatu": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["drillpeck", "psychic", "rest", "sleeptalk"] + }, + { + "role": "Thief user", + "movepool": ["confuseray", "drillpeck", "hiddenpowerfire", "psychic", "thief"] + } + ] + }, + "ampharos": { + "sets": [ + { + "role": "Generalist", + "movepool": ["firepunch", "hiddenpowerice", "rest", "sleeptalk", "thunder"] + } + ] + }, + "bellossom": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["hiddenpowerfire", "leechseed", "moonlight", "razorleaf", "sleeppowder", "stunspore"] + }, + { + "role": "Bulky Setup", + "movepool": ["hiddenpowerground", "moonlight", "return", "stunspore", "swordsdance"], + "preferredTypes": ["Normal"] + } + ] + }, + "azumarill": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["perishsong", "rest", "surf", "whirlpool"] + }, + { + "role": "Bulky Support", + "movepool": ["icebeam", "lightscreen", "rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "doubleedge", "rest", "sleeptalk"] + } + ] + }, + "sudowoodo": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["curse", "earthquake", "rockslide", "selfdestruct"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "rest", "rockslide", "sleeptalk"] + }, + { + "role": "Thief user", + "movepool": ["earthquake", "rockslide", "selfdestruct", "thief"] + } + ] + }, + "politoed": { + "sets": [ + { + "role": "Generalist", + "movepool": ["growth", "rest", "sleeptalk", "surf"] + } + ] + }, + "jumpluff": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["encore", "hiddenpowerflying", "stunspore", "synthesis"] + }, + { + "role": "Generalist", + "movepool": ["encore", "hiddenpowerflying", "leechseed", "stunspore"] + } + ] + }, + "aipom": { + "sets": [ + { + "role": "Generalist", + "movepool": ["agility", "batonpass", "curse", "return"] + } + ] + }, + "sunflora": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["growth", "hiddenpowerfire", "hiddenpowerice", "razorleaf", "synthesis"] + } + ] + }, + "yanma": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["gigadrain", "hiddenpowerflying", "return", "thief"] + }, + { + "role": "Thief user", + "movepool": ["gigadrain", "hiddenpowerbug", "thief", "wingattack"] + }, + { + "role": "Setup Sweeper", + "movepool": ["endure", "hiddenpowerflying", "return", "reversal"] + } + ] + }, + "quagsire": { + "sets": [ + { + "role": "Generalist", + "movepool": ["earthquake", "rest", "sleeptalk", "surf"] + }, + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "icebeam", "rest", "sleeptalk"] + }, + { + "role": "Setup Sweeper", + "movepool": ["bellydrum", "earthquake", "hiddenpowerrock", "rest"] + } + ] + }, + "espeon": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "growth", "hiddenpowerfire", "psychic", "substitute"] + }, + { + "role": "Bulky Setup", + "movepool": ["batonpass", "growth", "hiddenpowerfire", "morningsun", "psychic"] + } + ] + }, + "umbreon": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["batonpass", "growth", "hiddenpowerdark", "moonlight"] + }, + { + "role": "Generalist", + "movepool": ["batonpass", "meanlook", "moonlight", "sandattack"] + }, + { + "role": "Bulky Support", + "movepool": ["batonpass", "growth", "meanlook", "moonlight"] + } + ] + }, + "murkrow": { + "sets": [ + { + "role": "Generalist", + "movepool": ["drillpeck", "hiddenpowerdark", "pursuit", "toxic"] + }, + { + "role": "Thief user", + "movepool": ["drillpeck", "haze", "hiddenpowerdark", "thief", "toxic"], + "preferredTypes": ["Dark"] + } + ] + }, + "slowking": { + "sets": [ + { + "role": "Generalist", + "movepool": ["psychic", "rest", "sleeptalk", "surf"] + } + ] + }, + "misdreavus": { + "sets": [ + { + "role": "Generalist", + "movepool": ["meanlook", "painsplit", "perishsong", "protect", "thunder"] + }, + { + "role": "Thief user", + "movepool": ["hypnosis", "psychic", "thief", "thunder"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hypnosis", "painsplit", "psychic", "shadowball", "thief", "thunder"], + "preferredTypes": ["Electric"] + } + ] + }, + "unown": { + "level": 100, + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerpsychic"] + } + ] + }, + "wobbuffet": { + "level": 95, + "sets": [ + { + "role": "Generalist", + "movepool": ["counter", "mimic", "mirrorcoat", "safeguard"] + } + ] + }, + "girafarig": { + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["earthquake", "psychic", "rest", "return", "sleeptalk", "thunder"] + }, + { + "role": "Setup Sweeper", + "movepool": ["agility", "amnesia", "batonpass", "psychic"] + }, + { + "role": "Bulky Setup", + "movepool": ["agility", "batonpass", "psychic", "thunder"] + } + ] + }, + "forretress": { + "sets": [ + { + "role": "Generalist", + "movepool": ["explosion", "hiddenpowerbug", "hiddenpowersteel", "rapidspin", "spikes", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["doubleedge", "explosion", "rapidspin", "spikes", "toxic"] + } + ] + }, + "dunsparce": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["curse", "glare", "hiddenpowerground", "return"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "rest", "return", "sleeptalk"] + }, + { + "role": "Bulky Attacker", + "movepool": ["flamethrower", "rest", "return", "sleeptalk", "thunder"] + } + ] + }, + "gligar": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "hiddenpowerflying", "rest", "sleeptalk"] + }, + { + "role": "Thief user", + "movepool": ["counter", "earthquake", "hiddenpowerflying", "thief", "toxic"] + } + ] + }, + "steelix": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "earthquake", "irontail", "rest", "roar", "sleeptalk"] + }, + { + "role": "Bulky Attacker", + "movepool": ["curse", "earthquake", "irontail", "rest"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "earthquake", "explosion", "irontail", "roar"] + } + ] + }, + "granbull": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["curse", "rest", "return", "sleeptalk"] + }, + { + "role": "Bulky Support", + "movepool": ["healbell", "hiddenpowerground", "rest", "return", "sleeptalk"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "hiddenpowerground", "lovelykiss", "return"] + } + ] + }, + "qwilfish": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "haze", "hiddenpowerground", "hydropump", "sludgebomb", "spikes"] + } + ] + }, + "scizor": { + "sets": [ + { + "role": "Generalist", + "movepool": ["agility", "batonpass", "hiddenpowerbug", "hiddenpowersteel", "swordsdance"] + }, + { + "role": "Setup Sweeper", + "movepool": ["agility", "hiddenpowerground", "return", "swordsdance"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "doubleedge", "rest", "sleeptalk", "swordsdance"] + } + ] + }, + "shuckle": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["defensecurl", "rest", "rollout", "toxic"] + } + ] + }, + "heracross": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "earthquake", "megahorn", "rest", "sleeptalk"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "earthquake", "hiddenpowerrock", "megahorn"] + } + ] + }, + "sneasel": { + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerground", "moonlight", "return", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["dynamicpunch", "icebeam", "moonlight", "return"] + }, + { + "role": "Thief user", + "movepool": ["dynamicpunch", "moonlight", "return", "thief"] + } + ] + }, + "ursaring": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "earthquake", "rest", "return", "sleeptalk"] + } + ] + }, + "magcargo": { + "sets": [ + { + "role": "Generalist", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "rest", "rockslide", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "rest", "rockslide", "sleeptalk"] + } + ] + }, + "piloswine": { + "sets": [ + { + "role": "Generalist", + "movepool": ["earthquake", "icebeam", "rest", "sleeptalk"] + } + ] + }, + "corsola": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["curse", "recover", "rockslide", "sandstorm", "surf", "toxic"] + } + ] + }, + "octillery": { + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["flamethrower", "hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"] + } + ] + }, + "delibird": { + "sets": [ + { + "role": "Thief user", + "movepool": ["hiddenpowerflying", "icebeam", "rapidspin", "spikes", "thief", "toxic"] + } + ] + }, + "mantine": { + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"] + } + ] + }, + "skarmory": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "drillpeck", "rest", "sleeptalk", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "drillpeck", "rest", "whirlwind"] + } + ] + }, + "houndoom": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["crunch", "fireblast", "pursuit", "solarbeam", "sunnyday"], + "preferredTypes": ["Grass"] + }, + { + "role": "Bulky Attacker", + "movepool": ["crunch", "fireblast", "rest", "sleeptalk"] + }, + { + "role": "Generalist", + "movepool": ["counter", "crunch", "fireblast", "pursuit"] + } + ] + }, + "kingdra": { + "sets": [ + { + "role": "Generalist", + "movepool": ["dragonbreath", "icebeam", "rest", "sleeptalk", "surf"] + } + ] + }, + "donphan": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "earthquake", "hiddenpowerrock", "rest", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "earthquake", "hiddenpowerrock", "roar"] + } + ] + }, + "porygon2": { + "sets": [ + { + "role": "Generalist", + "movepool": ["icebeam", "recover", "thunderbolt", "thunderwave"] + }, + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "icebeam", "recover", "thunder", "thunderwave"], + "preferredTypes": ["Ice"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "doubleedge", "icebeam", "recover", "thunderwave"] + } + ] + }, + "stantler": { + "sets": [ + { + "role": "Generalist", + "movepool": ["curse", "earthquake", "rest", "return", "sleeptalk"] + } + ] + }, + "smeargle": { + "sets": [ + { + "role": "Generalist", + "movepool": ["agility", "batonpass", "spiderweb", "spikes", "spore", "swordsdance"] + } + ] + }, + "hitmontop": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["curse", "hiddenpowerghost", "hiddenpowerrock", "highjumpkick", "machpunch"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "highjumpkick", "rest", "sleeptalk"] + }, + { + "role": "Generalist", + "movepool": ["hiddenpowerghost", "hiddenpowerrock", "highjumpkick", "rest", "sleeptalk"] + } + ] + }, + "miltank": { + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "curse", "earthquake", "healbell", "milkdrink"] + } + ] + }, + "blissey": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["counter", "flamethrower", "healbell", "icebeam", "lightscreen", "present", "softboiled", "thunderwave", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["healbell", "present", "softboiled", "thunder"] + } + ] + }, + "raikou": { + "sets": [ + { + "role": "Generalist", + "movepool": ["crunch", "hiddenpowerice", "rest", "sleeptalk", "thunder"] + } + ] + }, + "entei": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["fireblast", "hiddenpowerground", "hiddenpowerrock", "solarbeam", "sunnyday"] + }, + { + "role": "Generalist", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "rest", "return", "sleeptalk"] + } + ] + }, + "suicune": { + "sets": [ + { + "role": "Generalist", + "movepool": ["icebeam", "rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["icebeam", "rest", "roar", "surf", "toxic"] + } + ] + }, + "tyranitar": { + "sets": [ + { + "role": "Generalist", + "movepool": ["crunch", "earthquake", "fireblast", "icebeam", "pursuit", "rockslide", "thunderbolt"] + }, + { + "role": "Bulky Support", + "movepool": ["curse", "earthquake", "rest", "rockslide", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "rest", "roar", "rockslide"] + } + ] + }, + "lugia": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["aeroblast", "curse", "earthquake", "recover"] + }, + { + "role": "Bulky Setup", + "movepool": ["curse", "hiddenpowerflying", "recover", "whirlwind"] + }, + { + "role": "Bulky Support", + "movepool": ["psychic", "recover", "thunder", "whirlwind"] + } + ] + }, + "hooh": { + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["curse", "earthquake", "hiddenpowerflying", "recover"] + }, + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "recover", "sacredfire", "thunder"] + } + ] + }, + "celebi": { + "sets": [ + { + "role": "Bulky Support", + "movepool": ["healbell", "leechseed", "psychic", "recover", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["healbell", "hiddenpowergrass", "psychic", "recover"] + }, + { + "role": "Bulky Setup", + "movepool": ["batonpass", "curse", "recover", "return"] + } + ] + } +} diff --git a/data/random-battles/gen2/teams.ts b/data/random-battles/gen2/teams.ts new file mode 100644 index 000000000000..7810c2d9c711 --- /dev/null +++ b/data/random-battles/gen2/teams.ts @@ -0,0 +1,487 @@ +import RandomGen3Teams from '../gen3/teams'; +import {PRNG, PRNGSeed} from '../../../sim/prng'; +import type {MoveCounter} from '../gen8/teams'; + +// Moves that restore HP: +const RECOVERY_MOVES = [ + 'milkdrink', 'moonlight', 'morningsun', 'painsplit', 'recover', 'softboiled', 'synthesis', +]; +// Moves that boost Attack: +const PHYSICAL_SETUP = [ + 'bellydrum', 'curse', 'meditate', 'swordsdance', +]; +// Conglomerate for ease of access +const SETUP = [ + 'agility', 'bellydrum', 'curse', 'growth', 'meditate', 'raindance', 'sunnyday', 'swordsdance', +]; +// Moves that shouldn't be the only STAB moves: +const NO_STAB = [ + 'explosion', 'icywind', 'machpunch', 'pursuit', 'quickattack', 'rapidspin', 'selfdestruct', 'skyattack', 'thief', +]; + +// Moves that should be paired together when possible +const MOVE_PAIRS = [ + ['sleeptalk', 'rest'], + ['meanlook', 'perishsong'], +]; + +export class RandomGen2Teams extends RandomGen3Teams { + randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./sets.json'); + + constructor(format: string | Format, prng: PRNG | PRNGSeed | null) { + super(format, prng); + this.noStab = NO_STAB; + this.moveEnforcementCheckers = { + Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric'), + Fire: (movePool, moves, abilities, types, counter) => !counter.get('Fire'), + Flying: (movePool, moves, abilities, types, counter, species) => ( + !counter.get('Flying') && ['gligar', 'murkrow', 'xatu'].includes(species.id) + ), + Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'), + Ice: (movePool, moves, abilities, types, counter) => !counter.get('Ice'), + Normal: (movePool, moves, abilities, types, counter) => !counter.get('Normal'), + Poison: (movePool, moves, abilities, types, counter) => !counter.get('Poison'), + Psychic: (movePool, moves, abilities, types, counter, species) => !counter.get('Psychic') && species.id !== 'starmie', + Rock: (movePool, moves, abilities, types, counter, species) => !counter.get('Rock') && species.id !== 'magcargo', + Water: (movePool, moves, abilities, types, counter) => !counter.get('Water'), + }; + } + + cullMovePool( + types: string[], + moves: Set, + abilities = {}, + counter: MoveCounter, + movePool: string[], + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + preferredType: string, + role: RandomTeamsTypes.Role, + ): void { + // Pokemon cannot have multiple Hidden Powers in any circumstance + let hasHiddenPower = false; + for (const move of moves) { + if (move.startsWith('hiddenpower')) hasHiddenPower = true; + } + if (hasHiddenPower) { + let movePoolHasHiddenPower = true; + while (movePoolHasHiddenPower) { + movePoolHasHiddenPower = false; + for (const moveid of movePool) { + if (moveid.startsWith('hiddenpower')) { + this.fastPop(movePool, movePool.indexOf(moveid)); + movePoolHasHiddenPower = true; + break; + } + } + } + } + + if (moves.size + movePool.length <= this.maxMoveCount) return; + // If we have two unfilled moves and only one unpaired move, cull the unpaired move. + if (moves.size === this.maxMoveCount - 2) { + const unpairedMoves = [...movePool]; + for (const pair of MOVE_PAIRS) { + if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { + this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[0])); + this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[1])); + } + } + if (unpairedMoves.length === 1) { + this.fastPop(movePool, movePool.indexOf(unpairedMoves[0])); + } + } + + // These moves are paired, and shouldn't appear if there is not room for them both. + if (moves.size === this.maxMoveCount - 1) { + for (const pair of MOVE_PAIRS) { + if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { + this.fastPop(movePool, movePool.indexOf(pair[0])); + this.fastPop(movePool, movePool.indexOf(pair[1])); + } + } + } + + // Team-based move culls + if (teamDetails.spikes) { + if (movePool.includes('spikes')) this.fastPop(movePool, movePool.indexOf('spikes')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (teamDetails.rapidSpin) { + if (movePool.includes('rapidspin')) this.fastPop(movePool, movePool.indexOf('rapidspin')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + + // General incompatibilities + const incompatiblePairs = [ + // These moves don't mesh well with other aspects of the set + [PHYSICAL_SETUP, PHYSICAL_SETUP], + [SETUP, 'haze'], + ['bodyslam', 'thunderwave'], + [['stunspore', 'thunderwave'], 'toxic'], + + // These attacks are redundant with each other + ['surf', 'hydropump'], + [['bodyslam', 'return'], ['bodyslam', 'doubleedge']], + ['fireblast', 'flamethrower'], + ['thunder', 'thunderbolt'], + ]; + + for (const pair of incompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); + + if (!role.includes('Bulky')) this.incompatibleMoves(moves, movePool, ['rest', 'sleeptalk'], 'roar'); + } + + // Generate random moveset for a given species, role, preferred type. + randomMoveset( + types: string[], + abilities: Set, + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + movePool: string[], + preferredType: string, + role: RandomTeamsTypes.Role, + ): Set { + const preferredTypes = preferredType ? preferredType.split(',') : []; + const moves = new Set(); + let counter = this.newQueryMoves(moves, species, preferredType, abilities); + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, + preferredType, role); + + // If there are only four moves, add all moves and return early + if (movePool.length <= this.maxMoveCount) { + // Still need to ensure that multiple Hidden Powers are not added (if maxMoveCount is increased) + while (movePool.length) { + const moveid = this.sample(movePool); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + return moves; + } + + const runEnforcementChecker = (checkerName: string) => { + if (!this.moveEnforcementCheckers[checkerName]) return false; + return this.moveEnforcementCheckers[checkerName]( + movePool, moves, abilities, new Set(types), counter, species, teamDetails + ); + }; + + // Add required move (e.g. Relic Song for Meloetta-P) + if (species.requiredMove) { + const move = this.dex.moves.get(species.requiredMove).id; + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + + // Add other moves you really want to have, e.g. STAB, recovery, setup. + + // Enforce Destiny Bond, Explosion, Present, Spikes and Spore + for (const moveid of ['destinybond', 'explosion', 'present', 'spikes', 'spore']) { + if (movePool.includes(moveid)) { + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce Baton Pass on Smeargle + if (movePool.includes('batonpass') && species.id === 'smeargle') { + counter = this.addMove('batonpass', moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + + // Enforce moves of all Preferred Types + for (const type of preferredTypes) { + if (!counter.get(type)) { + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && type === moveType) { + stabMoves.push(moveid); + } + } + if (stabMoves.length) { + const moveid = this.sample(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + + // Enforce STAB + for (const type of types) { + // Check if a STAB move of that type should be required + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && type === moveType) { + stabMoves.push(moveid); + } + } + while (runEnforcementChecker(type)) { + if (!stabMoves.length) break; + const moveid = this.sampleNoReplace(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // If no STAB move was added, add a STAB move + if (!counter.get('stab')) { + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && types.includes(moveType)) { + stabMoves.push(moveid); + } + } + if (stabMoves.length) { + const moveid = this.sample(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce recovery + if (['Bulky Support', 'Bulky Attacker', 'Bulky Setup'].includes(role)) { + const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); + if (recoveryMoves.length) { + const moveid = this.sample(recoveryMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + // Rest/Sleep Talk count as recovery in Gen 2 + if (movePool.includes('rest')) { + counter = this.addMove('rest', moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + if (movePool.includes('sleeptalk')) { + counter = this.addMove('sleeptalk', moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce setup + if (role.includes('Setup')) { + // First, try to add a non-Speed setup move + const nonSpeedSetupMoves = movePool.filter(moveid => SETUP.includes(moveid) && moveid !== 'agility'); + if (nonSpeedSetupMoves.length) { + const moveid = this.sample(nonSpeedSetupMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } else { + if (movePool.includes('agility')) { + counter = this.addMove('agility', moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + + // Enforce Thief + if (role === 'Thief user') { + if (movePool.includes('thief')) { + counter = this.addMove('thief', moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce a move not on the noSTAB list + if (!counter.damagingMoves.size && !moves.has('present')) { + // Choose an attacking move + const attackingMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + if (!this.noStab.includes(moveid) && (move.category !== 'Status')) attackingMoves.push(moveid); + } + if (attackingMoves.length) { + const moveid = this.sample(attackingMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce coverage move + if (['Fast Attacker', 'Setup Sweeper', 'Bulky Attacker'].includes(role)) { + if (counter.damagingMoves.size === 1) { + // Find the type of the current attacking move + const currentAttackType = counter.damagingMoves.values().next().value.type; + // Choose an attacking move that is of different type to the current single attack + const coverageMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback)) { + if (currentAttackType !== moveType) coverageMoves.push(moveid); + } + } + if (coverageMoves.length) { + const moveid = this.sample(coverageMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + + // Choose remaining moves randomly from movepool and add them to moves list: + while (moves.size < this.maxMoveCount && movePool.length) { + const moveid = this.sample(movePool); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + for (const pair of MOVE_PAIRS) { + if (moveid === pair[0] && movePool.includes(pair[1])) { + counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + if (moveid === pair[1] && movePool.includes(pair[0])) { + counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + return moves; + } + + getItem( + ability: string, + types: string[], + moves: Set, + counter: MoveCounter, + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + preferredType: string, + role: RandomTeamsTypes.Role, + ): string { + // First, the high-priority items + if (species.id === 'ditto') return 'Metal Powder'; + if (species.id === 'farfetchd') return 'Stick'; + if (species.id === 'marowak') return 'Thick Club'; + if (species.id === 'pikachu') return 'Light Ball'; + + if (moves.has('thief')) return ''; + + if (moves.has('flail')) return 'Pink Bow'; + if (moves.has('reversal')) return 'Black Belt'; + + if (moves.has('rest') && !moves.has('sleeptalk') && !role.includes('Bulky')) return 'Mint Berry'; + + if (moves.has('bellydrum') && !counter.get('recovery') && this.randomChance(1, 2)) return 'Miracle Berry'; + + // Default to Leftovers + return 'Leftovers'; + } + + randomSet( + species: string | Species, + teamDetails: RandomTeamsTypes.TeamDetails = {}, + isLead = false + ): RandomTeamsTypes.RandomSet { + species = this.dex.species.get(species); + const forme = this.getForme(species); + const sets = this.randomSets[species.id]["sets"]; + + const set = this.sampleIfArray(sets); + const role = set.role; + const movePool: string[] = Array.from(set.movepool); + const preferredTypes = set.preferredTypes; + // In Gen 2, if a set has multiple preferred types, enforce all of them. + const preferredType = preferredTypes ? preferredTypes.join() : ''; + + const ability = ''; + let item = undefined; + + const evs = {hp: 255, atk: 255, def: 255, spa: 255, spd: 255, spe: 255}; + const ivs = {hp: 30, atk: 30, def: 30, spa: 30, spd: 30, spe: 30}; + + const types = species.types; + const abilities = new Set(Object.values(species.abilities)); + + // Get moves + const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, movePool, + preferredType, role); + const counter = this.newQueryMoves(moves, species, preferredType, abilities); + + // Get items + item = this.getItem(ability, types, moves, counter, teamDetails, species, isLead, preferredType, role); + + const level = this.getLevel(species); + + // We use a special variable to track Hidden Power + // so that we can check for all Hidden Powers at once + let hasHiddenPower = false; + for (const move of moves) { + if (move.startsWith('hiddenpower')) hasHiddenPower = true; + } + + if (hasHiddenPower) { + let hpType; + for (const move of moves) { + if (move.startsWith('hiddenpower')) hpType = move.substr(11); + } + if (!hpType) throw new Error(`hasHiddenPower is true, but no Hidden Power move was found.`); + const hpIVs: {[k: string]: Partial} = { + dragon: {def: 28}, + ice: {def: 26}, + psychic: {def: 24}, + electric: {atk: 28}, + grass: {atk: 28, def: 28}, + water: {atk: 28, def: 26}, + fire: {atk: 28, def: 24}, + steel: {atk: 26}, + ghost: {atk: 26, def: 28}, + bug: {atk: 26, def: 26}, + rock: {atk: 26, def: 24}, + ground: {atk: 24}, + poison: {atk: 24, def: 28}, + flying: {atk: 24, def: 26}, + fighting: {atk: 24, def: 24}, + }; + let iv: StatID; + for (iv in hpIVs[hpType]) { + ivs[iv] = hpIVs[hpType][iv]!; + } + if (ivs.atk === 28 || ivs.atk === 24) ivs.hp = 14; + if (ivs.def === 28 || ivs.def === 24) ivs.hp -= 8; + } + + // Prepare optimal HP + while (evs.hp > 1) { + const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); + if (moves.has('substitute') && item !== 'Leftovers') { + // Should be able to use four Substitutes + if (hp % 4 > 0) break; + } else if (moves.has('bellydrum') && item !== 'Leftovers') { + // Belly Drum users without Leftovers should reach exactly 50% HP + if (hp % 2 === 0) break; + } else { + break; + } + evs.hp -= 4; + } + + // shuffle moves to add more randomness to camomons + const shuffledMoves = Array.from(moves); + this.prng.shuffle(shuffledMoves); + + return { + name: species.baseSpecies, + species: forme, + level, + moves: shuffledMoves, + ability: 'No Ability', + evs, + ivs, + item, + role, + // No shiny chance because Gen 2 shinies have bad IVs + shiny: false, + gender: species.gender ? species.gender : 'M', + }; + } +} + +export default RandomGen2Teams; diff --git a/data/random-battles/gen3/sets.json b/data/random-battles/gen3/sets.json new file mode 100644 index 000000000000..a2952acd68a3 --- /dev/null +++ b/data/random-battles/gen3/sets.json @@ -0,0 +1,2755 @@ +{ + "venusaur": { + "level": 82, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowergrass", "leechseed", "sleeppowder", "sludgebomb", "substitute"] + }, + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerghost", "sleeppowder", "sludgebomb", "swordsdance", "synthesis"], + "preferredTypes": ["Ground"] + } + ] + }, + "charizard": { + "level": 80, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["dragondance", "earthquake", "fireblast", "hiddenpowerflying", "rockslide"], + "preferredTypes": ["Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["bellydrum", "earthquake", "hiddenpowerflying", "rockslide", "substitute"], + "preferredTypes": ["Ground"] + }, + { + "role": "Berry Sweeper", + "movepool": ["dragonclaw", "fireblast", "hiddenpowergrass", "substitute"] + } + ] + }, + "blastoise": { + "level": 83, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["icebeam", "rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["icebeam", "rapidspin", "refresh", "roar", "surf", "toxic"] + }, + { + "role": "Staller", + "movepool": ["icebeam", "protect", "refresh", "surf", "toxic"] + } + ] + }, + "butterfree": { + "level": 95, + "sets": [ + { + "role": "Generalist", + "movepool": ["hiddenpowerfire", "morningsun", "psychic", "sleeppowder", "stunspore", "toxic"], + "preferredTypes": ["Psychic"] + } + ] + }, + "beedrill": { + "level": 92, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["brickbreak", "endure", "hiddenpowerbug", "sludgebomb", "swordsdance"], + "preferredTypes": ["Bug"] + }, + { + "role": "Fast Attacker", + "movepool": ["brickbreak", "doubleedge", "hiddenpowerbug", "sludgebomb", "swordsdance"] + } + ] + }, + "pidgeot": { + "level": 87, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["aerialace", "doubleedge", "hiddenpowerground", "quickattack", "return", "toxic"], + "preferredTypes": ["Ground"] + }, + { + "role": "Berry Sweeper", + "movepool": ["aerialace", "hiddenpowerground", "return", "substitute"] + } + ] + }, + "raticate": { + "level": 87, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "hiddenpowerground", "quickattack", "return", "shadowball"] + }, + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "facade", "hiddenpowerground", "return", "shadowball"] + }, + { + "role": "Berry Sweeper", + "movepool": ["return", "reversal", "shadowball", "substitute"] + } + ] + }, + "fearow": { + "level": 82, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "drillpeck", "hiddenpowerground", "quickattack", "return"] + } + ] + }, + "arbok": { + "level": 86, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "hiddenpowerghost", "rest", "rockslide", "sleeptalk", "sludgebomb"], + "preferredTypes": ["Ground"] + } + ] + }, + "pikachu": { + "level": 88, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["encore", "hiddenpowerice", "substitute", "surf", "thunderbolt"], + "preferredTypes": ["Ice", "Water"] + }, + { + "role": "Wallbreaker", + "movepool": ["hiddenpowerice", "surf", "thunderbolt", "volttackle"] + } + ] + }, + "raichu": { + "level": 83, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["encore", "hiddenpowerice", "surf", "thunderbolt", "thunderwave", "toxic"], + "preferredTypes": ["Ice"] + }, + { + "role": "Berry Sweeper", + "movepool": ["hiddenpowerice", "substitute", "surf", "thunderbolt"] + } + ] + }, + "sandslash": { + "level": 85, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "hiddenpowerbug", "rapidspin", "rockslide", "swordsdance", "toxic"], + "preferredTypes": ["Rock"] + } + ] + }, + "nidoqueen": { + "level": 82, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "fireblast", "icebeam", "shadowball", "sludgebomb", "substitute", "thunderbolt"] + } + ] + }, + "nidoking": { + "level": 80, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "fireblast", "icebeam", "megahorn", "shadowball", "sludgebomb", "substitute", "thunderbolt"] + } + ] + }, + "clefable": { + "level": 84, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["fireblast", "return", "shadowball", "softboiled", "thunderwave", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "icebeam", "softboiled", "thunderbolt"] + } + ] + }, + "ninetales": { + "level": 82, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "hypnosis", "substitute", "toxic", "willowisp"] + } + ] + }, + "wigglytuff": { + "level": 91, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["bodyslam", "fireblast", "protect", "wish"] + }, + { + "role": "Bulky Support", + "movepool": ["doubleedge", "protect", "thunderwave", "toxic", "wish"] + }, + { + "role": "Staller", + "movepool": ["protect", "seismictoss", "toxic", "wish"] + } + ] + }, + "vileplume": { + "level": 85, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["aromatherapy", "hiddenpowerfire", "hiddenpowergrass", "sleeppowder", "sludgebomb", "synthesis"] + } + ] + }, + "parasect": { + "level": 94, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["aromatherapy", "gigadrain", "hiddenpowerbug", "return", "spore", "stunspore"], + "preferredTypes": ["Normal"] + } + ] + }, + "venomoth": { + "level": 88, + "sets": [ + { + "role": "Generalist", + "movepool": ["batonpass", "hiddenpowerfire", "psychic", "signalbeam", "sleeppowder", "sludgebomb", "substitute"] + }, + { + "role": "Bulky Support", + "movepool": ["hiddenpowerfire", "psychic", "signalbeam", "sleeppowder", "sludgebomb"] + } + ] + }, + "dugtrio": { + "level": 80, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "hiddenpowerbug", "rockslide", "sludgebomb"] + } + ] + }, + "persian": { + "level": 87, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["hiddenpowerground", "irontail", "return", "shadowball", "substitute"] + }, + { + "role": "Fast Attacker", + "movepool": ["hiddenpowerground", "hypnosis", "irontail", "return", "shadowball"] + } + ] + }, + "golduck": { + "level": 81, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "hiddenpowerelectric", "hiddenpowergrass", "hydropump", "hypnosis", "icebeam", "substitute", "surf"], + "preferredTypes": ["Ice"] + } + ] + }, + "primeape": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["bulkup", "crosschop", "earthquake", "hiddenpowerghost", "rockslide"] + }, + { + "role": "Setup Sweeper", + "movepool": ["bulkup", "crosschop", "hiddenpowerghost", "rockslide", "substitute"] + }, + { + "role": "Berry Sweeper", + "movepool": ["bulkup", "hiddenpowerghost", "reversal", "substitute"] + } + ] + }, + "arcanine": { + "level": 80, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["flamethrower", "hiddenpowergrass", "rest", "sleeptalk", "toxic"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "extremespeed", "fireblast", "hiddenpowerrock", "irontail"], + "preferredTypes": ["Steel"] + }, + { + "role": "Staller", + "movepool": ["flamethrower", "hiddenpowergrass", "hiddenpowerrock", "protect", "toxic"] + } + ] + }, + "poliwrath": { + "level": 85, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["brickbreak", "bulkup", "earthquake", "hiddenpowerghost", "hydropump", "hypnosis", "substitute"] + }, + { + "role": "Bulky Attacker", + "movepool": ["brickbreak", "hiddenpowerghost", "hydropump", "hypnosis", "icebeam", "rest", "sleeptalk", "toxic"] + }, + { + "role": "Generalist", + "movepool": ["focuspunch", "hydropump", "icebeam", "substitute", "toxic"] + } + ] + }, + "alakazam": { + "level": 77, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "encore", "firepunch", "icepunch", "psychic", "recover", "substitute", "thunderpunch"], + "preferredTypes": ["Fire"] + } + ] + }, + "machamp": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["bulkup", "crosschop", "earthquake", "hiddenpowerghost", "rockslide"] + }, + { + "role": "Bulky Attacker", + "movepool": ["crosschop", "hiddenpowerghost", "rest", "rockslide", "sleeptalk"] + } + ] + }, + "victreebel": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["hiddenpowerfire", "sludgebomb", "solarbeam", "sunnyday"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerground", "magicalleaf", "sleeppowder", "sludgebomb", "synthesis"], + "preferredTypes": ["Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerground", "sleeppowder", "sludgebomb", "swordsdance", "synthesis"] + } + ] + }, + "tentacruel": { + "level": 81, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["hydropump", "icebeam", "rapidspin", "sludgebomb", "surf", "toxic"] + } + ] + }, + "golem": { + "level": 84, + "sets": [ + { + "role": "Staller", + "movepool": ["earthquake", "protect", "rockslide", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "earthquake", "explosion", "hiddenpowerbug", "rockslide", "toxic"] + } + ] + }, + "rapidash": { + "level": 82, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["fireblast", "hiddenpowergrass", "hiddenpowerrock", "substitute", "toxic"] + } + ] + }, + "slowbro": { + "level": 82, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["fireblast", "icebeam", "psychic", "rest", "sleeptalk", "surf", "thunderwave", "toxic"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "psychic", "rest", "surf"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "rest", "sleeptalk", "surf"] + } + ] + }, + "magneton": { + "level": 84, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerice", "rest", "sleeptalk", "thunderbolt"] + } + ] + }, + "farfetchd": { + "level": 99, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["agility", "batonpass", "return", "swordsdance"] + } + ] + }, + "dodrio": { + "level": 79, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "drillpeck", "hiddenpowerground", "quickattack", "return"] + }, + { + "role": "Berry Sweeper", + "movepool": ["drillpeck", "flail", "hiddenpowerground", "quickattack", "substitute"] + } + ] + }, + "dewgong": { + "level": 88, + "sets": [ + { + "role": "Staller", + "movepool": ["icebeam", "protect", "surf", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["encore", "icebeam", "rest", "sleeptalk", "surf", "toxic"] + } + ] + }, + "muk": { + "level": 84, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["explosion", "fireblast", "hiddenpowerground", "rest", "sludgebomb", "toxic"], + "preferredTypes": ["Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["curse", "hiddenpowerground", "rest", "sludgebomb"] + } + ] + }, + "cloyster": { + "level": 82, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["explosion", "icebeam", "rapidspin", "spikes", "surf", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["explosion", "rapidspin", "spikes", "surf", "toxic"] + } + ] + }, + "gengar": { + "level": 74, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["destinybond", "explosion", "firepunch", "icepunch", "substitute", "thunderbolt", "willowisp"], + "preferredTypes": ["Electric", "Ice"] + } + ] + }, + "hypno": { + "level": 87, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["batonpass", "calmmind", "firepunch", "protect", "psychic", "wish"] + }, + { + "role": "Bulky Support", + "movepool": ["batonpass", "firepunch", "protect", "psychic", "wish"] + }, + { + "role": "Staller", + "movepool": ["protect", "seismictoss", "toxic", "wish"] + } + ] + }, + "kingler": { + "level": 90, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["doubleedge", "hiddenpowerghost", "hiddenpowerground", "surf", "swordsdance"] + } + ] + }, + "electrode": { + "level": 82, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["explosion", "hiddenpowerice", "substitute", "thunderbolt", "toxic"] + } + ] + }, + "exeggutor": { + "level": 83, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["gigadrain", "hiddenpowerfire", "psychic", "sleeppowder", "stunspore", "synthesis"] + }, + { + "role": "Wallbreaker", + "movepool": ["explosion", "gigadrain", "hiddenpowerfire", "leechseed", "psychic", "sleeppowder", "stunspore", "substitute"] + }, + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerfire", "psychic", "solarbeam", "sunnyday"] + } + ] + }, + "marowak": { + "level": 82, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["doubleedge", "earthquake", "rockslide", "swordsdance"] + } + ] + }, + "hitmonlee": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["bulkup", "earthquake", "hiddenpowerghost", "highjumpkick", "machpunch", "rockslide"], + "preferredTypes": ["Ghost"] + }, + { + "role": "Berry Sweeper", + "movepool": ["earthquake", "hiddenpowerghost", "reversal", "rockslide", "substitute"], + "preferredTypes": ["Ghost"] + } + ] + }, + "hitmonchan": { + "level": 87, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["bulkup", "earthquake", "hiddenpowerghost", "machpunch", "rapidspin", "rockslide", "skyuppercut", "toxic"], + "preferredTypes": ["Ghost"] + } + ] + }, + "lickitung": { + "level": 93, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["bodyslam", "earthquake", "protect", "wish"] + }, + { + "role": "Bulky Support", + "movepool": ["healbell", "knockoff", "protect", "seismictoss", "wish"] + }, + { + "role": "Staller", + "movepool": ["protect", "seismictoss", "toxic", "wish"] + } + ] + }, + "weezing": { + "level": 82, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["explosion", "fireblast", "haze", "painsplit", "sludgebomb", "toxic", "willowisp"] + } + ] + }, + "rhydon": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["earthquake", "megahorn", "rockslide", "substitute", "swordsdance"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "megahorn", "rockslide"] + } + ] + }, + "tangela": { + "level": 93, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["hiddenpowergrass", "leechseed", "morningsun", "sleeppowder", "stunspore", "toxic"] + }, + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerfire", "morningsun", "sleeppowder", "solarbeam", "sunnyday"] + } + ] + }, + "kangaskhan": { + "level": 79, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "earthquake", "rest", "return", "shadowball", "toxic"], + "preferredTypes": ["Ground"] + }, + { + "role": "Bulky Attacker", + "movepool": ["bodyslam", "earthquake", "protect", "return", "wish"] + } + ] + }, + "seaking": { + "level": 90, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerelectric", "hiddenpowergrass", "hydropump", "icebeam", "megahorn", "raindance"] + } + ] + }, + "starmie": { + "level": 75, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["hydropump", "icebeam", "psychic", "recover", "surf", "thunderbolt"] + } + ] + }, + "mrmime": { + "level": 84, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "calmmind", "encore", "firepunch", "hypnosis", "psychic", "substitute", "thunderbolt"] + } + ] + }, + "scyther": { + "level": 81, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["aerialace", "batonpass", "hiddenpowerground", "silverwind", "swordsdance"], + "preferredTypes": ["Ground"] + } + ] + }, + "jynx": { + "level": 81, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "hiddenpowerfire", "icebeam", "lovelykiss", "psychic", "substitute"] + } + ] + }, + "electabuzz": { + "level": 83, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["crosschop", "firepunch", "focuspunch", "hiddenpowergrass", "icepunch", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Berry Sweeper", + "movepool": ["firepunch", "hiddenpowergrass", "icepunch", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + } + ] + }, + "magmar": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["crosschop", "fireblast", "flamethrower", "focuspunch", "hiddenpowergrass", "hiddenpowerice", "psychic", "substitute", "thunderpunch"], + "preferredTypes": ["Electric"] + }, + { + "role": "Berry Sweeper", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "hiddenpowerice", "psychic", "substitute", "thunderpunch"], + "preferredTypes": ["Electric"] + } + ] + }, + "pinsir": { + "level": 82, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerbug", "rockslide", "swordsdance"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "hiddenpowerbug", "rockslide"] + } + ] + }, + "tauros": { + "level": 76, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "hiddenpowerghost", "return"] + } + ] + }, + "gyarados": { + "level": 74, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "dragondance", "earthquake", "hiddenpowerflying", "hydropump"], + "preferredTypes": ["Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["doubleedge", "dragondance", "earthquake", "hiddenpowerflying", "substitute"], + "preferredTypes": ["Ground"] + } + ] + }, + "lapras": { + "level": 79, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["healbell", "icebeam", "rest", "sleeptalk", "surf", "thunderbolt", "toxic"] + }, + { + "role": "Fast Attacker", + "movepool": ["healbell", "icebeam", "rest", "sleeptalk", "thunderbolt", "toxic"] + } + ] + }, + "ditto": { + "level": 100, + "sets": [ + { + "role": "Generalist", + "movepool": ["transform"] + } + ] + }, + "vaporeon": { + "level": 80, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["icebeam", "protect", "surf", "toxic", "wish"] + } + ] + }, + "jolteon": { + "level": 77, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic"] + }, + { + "role": "Fast Attacker", + "movepool": ["batonpass", "hiddenpowerice", "substitute", "thunderbolt"] + } + ] + }, + "flareon": { + "level": 88, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["flamethrower", "hiddenpowergrass", "protect", "toxic", "wish"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "fireblast", "hiddenpowergrass", "hiddenpowerrock", "irontail", "shadowball", "toxic"] + } + ] + }, + "omastar": { + "level": 84, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "spikes", "surf"] + }, + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "raindance", "surf"] + } + ] + }, + "kabutops": { + "level": 84, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "hiddenpowerflying", "rockslide", "surf", "swordsdance"] + } + ] + }, + "aerodactyl": { + "level": 74, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "earthquake", "hiddenpowerflying", "rockslide"] + }, + { + "role": "Berry Sweeper", + "movepool": ["earthquake", "hiddenpowerflying", "rockslide", "substitute"] + } + ] + }, + "snorlax": { + "level": 72, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["bodyslam", "earthquake", "return", "selfdestruct", "shadowball"] + }, + { + "role": "Bulky Support", + "movepool": ["bodyslam", "curse", "rest", "sleeptalk"] + }, + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "curse", "earthquake", "rest"] + } + ] + }, + "articuno": { + "level": 80, + "sets": [ + { + "role": "Staller", + "movepool": ["healbell", "hiddenpowerfire", "icebeam", "protect", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerfire", "icebeam", "rest", "sleeptalk"] + } + ] + }, + "zapdos": { + "level": 75, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic"] + }, + { + "role": "Fast Attacker", + "movepool": ["batonpass", "hiddenpowerice", "substitute", "thunderbolt", "thunderwave", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerice", "rest", "sleeptalk", "thunderbolt"] + } + ] + }, + "moltres": { + "level": 78, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "morningsun", "substitute", "toxic", "willowisp"] + } + ] + }, + "dragonite": { + "level": 76, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["doubleedge", "dragondance", "earthquake", "healbell", "hiddenpowerflying", "rest", "substitute"], + "preferredTypes": ["Ground"] + }, + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "doubleedge", "earthquake", "fireblast", "hiddenpowerflying"], + "preferredTypes": ["Ground"] + } + ] + }, + "mewtwo": { + "level": 66, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["calmmind", "flamethrower", "psychic", "recover"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "flamethrower", "icebeam", "psychic", "thunderbolt"], + "preferredTypes": ["Electric"] + } + ] + }, + "mew": { + "level": 73, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["explosion", "flamethrower", "psychic", "softboiled", "thunderwave", "transform"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "flamethrower", "psychic", "softboiled", "thunderbolt"] + }, + { + "role": "Setup Sweeper", + "movepool": ["brickbreak", "earthquake", "explosion", "rockslide", "softboiled", "swordsdance"], + "preferredTypes": ["Ground", "Rock"] + } + ] + }, + "meganium": { + "level": 84, + "sets": [ + { + "role": "Staller", + "movepool": ["bodyslam", "earthquake", "hiddenpowergrass", "leechseed", "synthesis", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "earthquake", "hiddenpowerrock", "swordsdance", "synthesis"], + "preferredTypes": ["Ground"] + } + ] + }, + "typhlosion": { + "level": 79, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["fireblast", "flamethrower", "hiddenpowerice", "substitute", "thunderpunch"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "fireblast", "flamethrower", "focuspunch", "hiddenpowerice", "substitute", "thunderpunch", "toxic"], + "preferredTypes": ["Electric"] + } + ] + }, + "feraligatr": { + "level": 83, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "hiddenpowerflying", "hydropump", "rockslide", "swordsdance"], + "preferredTypes": ["Ground"] + } + ] + }, + "furret": { + "level": 89, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "doubleedge", "quickattack", "return", "shadowball"] + }, + { + "role": "Fast Attacker", + "movepool": ["brickbreak", "doubleedge", "return", "shadowball", "trick"] + }, + { + "role": "Berry Sweeper", + "movepool": ["return", "reversal", "shadowball", "substitute"] + } + ] + }, + "noctowl": { + "level": 92, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerfire", "hypnosis", "return", "toxic", "whirlwind"] + } + ] + }, + "ledian": { + "level": 100, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["agility", "batonpass", "silverwind", "swordsdance"] + }, + { + "role": "Generalist", + "movepool": ["batonpass", "silverwind", "substitute", "swordsdance"] + } + ] + }, + "ariados": { + "level": 97, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["agility", "batonpass", "signalbeam", "sludgebomb"] + }, + { + "role": "Bulky Support", + "movepool": ["batonpass", "signalbeam", "sludgebomb", "spiderweb", "toxic"], + "preferredTypes": ["Bug"] + }, + { + "role": "Bulky Setup", + "movepool": ["agility", "batonpass", "sludgebomb", "spiderweb"] + } + ] + }, + "crobat": { + "level": 81, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["aerialace", "haze", "hiddenpowerground", "shadowball", "sludgebomb", "toxic"], + "preferredTypes": ["Ground"] + } + ] + }, + "lanturn": { + "level": 82, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["icebeam", "rest", "sleeptalk", "surf", "thunderbolt", "toxic"] + } + ] + }, + "togetic": { + "level": 95, + "sets": [ + { + "role": "Staller", + "movepool": ["charm", "encore", "flamethrower", "seismictoss", "softboiled", "thunderwave", "toxic"] + } + ] + }, + "xatu": { + "level": 85, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "calmmind", "hiddenpowerfire", "psychic", "rest"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerfire", "protect", "psychic", "wish"] + }, + { + "role": "Bulky Support", + "movepool": ["protect", "psychic", "thunderwave", "toxic", "wish"] + } + ] + }, + "ampharos": { + "level": 82, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["firepunch", "healbell", "hiddenpowerice", "thunderbolt", "toxic"], + "preferredTypes": ["Ice"] + } + ] + }, + "bellossom": { + "level": 90, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerfire", "leechseed", "magicalleaf", "moonlight", "sleeppowder", "stunspore"] + } + ] + }, + "azumarill": { + "level": 87, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "doubleedge", "hiddenpowerghost", "hydropump", "rest", "return", "sleeptalk"], + "preferredTypes": ["Normal"] + } + ] + }, + "sudowoodo": { + "level": 92, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["brickbreak", "doubleedge", "earthquake", "explosion", "rockslide", "toxic"], + "preferredTypes": ["Ground"] + } + ] + }, + "politoed": { + "level": 84, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["encore", "hiddenpowergrass", "hypnosis", "icebeam", "rest", "surf", "toxic"], + "preferredTypes": ["Ice"] + }, + { + "role": "Staller", + "movepool": ["encore", "icebeam", "protect", "surf", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["icebeam", "rest", "sleeptalk", "surf", "toxic"] + } + ] + }, + "jumpluff": { + "level": 87, + "sets": [ + { + "role": "Generalist", + "movepool": ["encore", "hiddenpowerflying", "sleeppowder", "synthesis", "toxic"] + }, + { + "role": "Staller", + "movepool": ["hiddenpowerflying", "leechseed", "protect", "substitute"] + } + ] + }, + "aipom": { + "level": 92, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["brickbreak", "focuspunch", "return", "shadowball", "substitute", "thunderwave", "toxic"], + "preferredTypes": ["Ghost"] + }, + { + "role": "Generalist", + "movepool": ["batonpass", "brickbreak", "return", "shadowball", "substitute", "thunderwave", "toxic"] + }, + { + "role": "Wallbreaker", + "movepool": ["batonpass", "brickbreak", "doubleedge", "return", "shadowball"] + } + ] + }, + "sunflora": { + "level": 98, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerfire", "leechseed", "razorleaf", "synthesis", "toxic"] + }, + { + "role": "Fast Attacker", + "movepool": ["hiddenpowerfire", "solarbeam", "sunnyday", "synthesis"] + } + ] + }, + "yanma": { + "level": 90, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["hiddenpowerflying", "hypnosis", "reversal", "shadowball", "substitute"] + }, + { + "role": "Fast Attacker", + "movepool": ["aerialace", "doubleedge", "hiddenpowerground", "hypnosis", "signalbeam", "toxic"], + "preferredTypes": ["Ground"] + } + ] + }, + "quagsire": { + "level": 85, + "sets": [ + { + "role": "Staller", + "movepool": ["earthquake", "icebeam", "protect", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "icebeam", "rest", "sleeptalk", "surf", "toxic"] + } + ] + }, + "espeon": { + "level": 77, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "calmmind", "hiddenpowerfire", "morningsun", "psychic", "substitute"] + } + ] + }, + "umbreon": { + "level": 85, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerfire", "hiddenpowerground", "protect", "toxic", "wish"] + }, + { + "role": "Bulky Support", + "movepool": ["batonpass", "protect", "toxic", "wish"] + } + ] + }, + "murkrow": { + "level": 90, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["drillpeck", "hiddenpowerfighting", "hiddenpowerground", "shadowball", "substitute"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "drillpeck", "hiddenpowerfighting", "hiddenpowerground", "shadowball"] + }, + { + "role": "Bulky Attacker", + "movepool": ["drillpeck", "hiddenpowerfighting", "hiddenpowerground", "shadowball", "thunderwave", "toxic"] + } + ] + }, + "slowking": { + "level": 84, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["fireblast", "icebeam", "psychic", "rest", "sleeptalk", "surf", "thunderwave", "toxic"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "psychic", "rest", "surf"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "rest", "sleeptalk", "surf"] + } + ] + }, + "misdreavus": { + "level": 85, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["hiddenpowerice", "painsplit", "shadowball", "thunderbolt", "thunderwave", "toxic"] + }, + { + "role": "Staller", + "movepool": ["meanlook", "perishsong", "protect", "shadowball"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "hiddenpowerice", "substitute", "thunderbolt"] + } + ] + }, + "unown": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["hiddenpowerpsychic"] + }, + { + "role": "Wallbreaker", + "movepool": ["hiddenpowerbug", "hiddenpowerfighting"] + } + ] + }, + "wobbuffet": { + "level": 81, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["counter", "destinybond", "encore", "mirrorcoat"] + } + ] + }, + "girafarig": { + "level": 86, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["batonpass", "calmmind", "crunch", "psychic", "rest", "substitute", "thunderbolt"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "protect", "psychic", "return", "shadowball", "thunderbolt", "thunderwave", "toxic", "wish"] + } + ] + }, + "forretress": { + "level": 82, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["earthquake", "hiddenpowerbug", "hiddenpowersteel", "rapidspin", "spikes", "toxic"] + }, + { + "role": "Generalist", + "movepool": ["explosion", "hiddenpowerbug", "hiddenpowersteel", "rapidspin", "spikes", "toxic"] + } + ] + }, + "dunsparce": { + "level": 88, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "curse", "earthquake", "rest", "shadowball"] + }, + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "headbutt", "shadowball", "thunderwave"] + } + ] + }, + "gligar": { + "level": 84, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerflying", "quickattack", "rockslide", "substitute", "swordsdance"] + } + ] + }, + "steelix": { + "level": 83, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "earthquake", "explosion", "hiddenpowerrock", "irontail", "rest", "roar", "toxic"] + }, + { + "role": "Staller", + "movepool": ["doubleedge", "earthquake", "hiddenpowerrock", "protect", "toxic"] + } + ] + }, + "granbull": { + "level": 83, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "earthquake", "rest", "return", "sleeptalk"] + }, + { + "role": "Wallbreaker", + "movepool": ["bulkup", "doubleedge", "earthquake", "overheat", "shadowball"] + }, + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "healbell", "return", "shadowball", "thunderwave"], + "preferredTypes": ["Ground"] + } + ] + }, + "qwilfish": { + "level": 84, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["hydropump", "selfdestruct", "shadowball", "sludgebomb", "swordsdance"] + }, + { + "role": "Fast Attacker", + "movepool": ["destinybond", "hydropump", "selfdestruct", "sludgebomb", "spikes"] + } + ] + }, + "scizor": { + "level": 82, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "hiddenpowerground", "morningsun", "silverwind", "steelwing", "swordsdance"] + }, + { + "role": "Generalist", + "movepool": ["agility", "batonpass", "hiddenpowerground", "silverwind", "steelwing"] + } + ] + }, + "shuckle": { + "level": 98, + "sets": [ + { + "role": "Staller", + "movepool": ["encore", "rest", "toxic", "wrap"] + } + ] + }, + "heracross": { + "level": 77, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "earthquake", "hiddenpowerghost", "megahorn", "rockslide"], + "preferredTypes": ["Rock"] + }, + { + "role": "Setup Sweeper", + "movepool": ["brickbreak", "megahorn", "rockslide", "swordsdance"] + }, + { + "role": "Berry Sweeper", + "movepool": ["endure", "megahorn", "reversal", "rockslide", "substitute"] + } + ] + }, + "sneasel": { + "level": 88, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["brickbreak", "hiddenpowerflying", "shadowball", "substitute", "swordsdance"], + "preferredTypes": ["Fighting", "Ghost"] + }, + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "doubleedge", "hiddenpowerflying", "shadowball", "swordsdance"], + "preferredTypes": ["Fighting", "Ghost"] + } + ] + }, + "ursaring": { + "level": 81, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "focuspunch", "hiddenpowerghost", "return"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "facade", "hiddenpowerghost", "return"] + }, + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerghost", "return", "swordsdance"] + } + ] + }, + "magcargo": { + "level": 98, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "rest", "sleeptalk", "toxic"] + }, + { + "role": "Staller", + "movepool": ["fireblast", "flamethrower", "hiddenpowergrass", "protect", "toxic"] + } + ] + }, + "piloswine": { + "level": 88, + "sets": [ + { + "role": "Staller", + "movepool": ["earthquake", "icebeam", "protect", "toxic"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "icebeam", "rest", "rockslide", "sleeptalk"] + } + ] + }, + "corsola": { + "level": 97, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["calmmind", "icebeam", "recover", "surf", "toxic"] + } + ] + }, + "octillery": { + "level": 87, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["fireblast", "hiddenpowerelectric", "hiddenpowergrass", "icebeam", "surf", "thunderwave"], + "preferredTypes": ["Ice"] + } + ] + }, + "delibird": { + "level": 97, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["aerialace", "doubleedge", "focuspunch", "hiddenpowerground", "icebeam", "quickattack"], + "preferredTypes": ["Ground"] + } + ] + }, + "mantine": { + "level": 85, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["hiddenpowergrass", "icebeam", "rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Staller", + "movepool": ["haze", "icebeam", "protect", "surf", "toxic"] + }, + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "raindance", "surf"] + } + ] + }, + "skarmory": { + "level": 76, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["drillpeck", "protect", "rest", "spikes", "toxic"] + }, + { + "role": "Generalist", + "movepool": ["drillpeck", "spikes", "toxic", "whirlwind"] + }, + { + "role": "Staller", + "movepool": ["protect", "spikes", "toxic", "whirlwind"] + } + ] + }, + "houndoom": { + "level": 81, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["crunch", "fireblast", "hiddenpowergrass", "substitute"] + }, + { + "role": "Fast Attacker", + "movepool": ["crunch", "fireblast", "hiddenpowergrass", "pursuit", "willowisp"] + } + ] + }, + "kingdra": { + "level": 81, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerelectric", "hiddenpowergrass", "hydropump", "icebeam", "raindance", "substitute", "surf"], + "preferredTypes": ["Ice"] + } + ] + }, + "donphan": { + "level": 83, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "rapidspin", "rest", "rockslide", "sleeptalk", "toxic"] + } + ] + }, + "porygon2": { + "level": 81, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["icebeam", "recover", "return", "thunderbolt", "thunderwave", "toxic"] + } + ] + }, + "stantler": { + "level": 83, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "hypnosis", "return", "shadowball", "thunderbolt", "thunderwave"], + "preferredTypes": ["Ground"] + } + ] + }, + "smeargle": { + "level": 88, + "sets": [ + { + "role": "Generalist", + "movepool": ["encore", "explosion", "spikes", "spore"] + } + ] + }, + "hitmontop": { + "level": 86, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["bulkup", "earthquake", "hiddenpowerghost", "highjumpkick", "machpunch", "rapidspin", "rockslide", "toxic"], + "preferredTypes": ["Ghost"] + } + ] + }, + "miltank": { + "level": 78, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "curse", "earthquake", "milkdrink"] + }, + { + "role": "Bulky Support", + "movepool": ["bodyslam", "earthquake", "healbell", "milkdrink", "toxic"] + } + ] + }, + "blissey": { + "level": 78, + "sets": [ + { + "role": "Staller", + "movepool": ["aromatherapy", "seismictoss", "softboiled", "thunderwave", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["protect", "seismictoss", "toxic", "wish"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "icebeam", "softboiled", "thunderbolt"] + } + ] + }, + "raikou": { + "level": 73, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "crunch", "hiddenpowerice", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowerice", "rest", "sleeptalk", "thunderbolt"] + } + ] + }, + "entei": { + "level": 79, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["flamethrower", "rest", "sleeptalk", "toxic"] + }, + { + "role": "Staller", + "movepool": ["flamethrower", "protect", "substitute", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "flamethrower", "hiddenpowergrass", "hiddenpowerice", "substitute"] + } + ] + }, + "suicune": { + "level": 74, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["calmmind", "rest", "sleeptalk", "surf"] + }, + { + "role": "Staller", + "movepool": ["protect", "roar", "substitute", "surf", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["calmmind", "icebeam", "rest", "substitute", "surf", "toxic"] + } + ] + }, + "tyranitar": { + "level": 74, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "fireblast", "hiddenpowerflying", "rockslide"], + "preferredTypes": ["Ground"] + }, + { + "role": "Bulky Attacker", + "movepool": ["crunch", "earthquake", "fireblast", "icebeam", "pursuit", "rockslide", "thunderwave"] + }, + { + "role": "Wallbreaker", + "movepool": ["earthquake", "fireblast", "hiddenpowerflying", "rest", "rockslide", "sleeptalk"], + "preferredTypes": ["Ground"] + } + ] + }, + "lugia": { + "level": 70, + "sets": [ + { + "role": "Staller", + "movepool": ["earthquake", "psychic", "recover", "substitute", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "icebeam", "recover", "thunderbolt"] + } + ] + }, + "hooh": { + "level": 70, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "recover", "sacredfire", "substitute", "thunderbolt", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "recover", "sacredfire", "thunderbolt"] + } + ] + }, + "celebi": { + "level": 75, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["batonpass", "calmmind", "hiddenpowerfire", "hiddenpowergrass", "psychic", "recover"] + }, + { + "role": "Bulky Support", + "movepool": ["healbell", "hiddenpowerfire", "hiddenpowergrass", "leechseed", "psychic", "recover", "toxic"] + } + ] + }, + "sceptile": { + "level": 82, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerfire", "hiddenpowerice", "leafblade", "leechseed", "substitute"] + }, + { + "role": "Berry Sweeper", + "movepool": ["hiddenpowerice", "leafblade", "substitute", "thunderpunch"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "hiddenpowerice", "leafblade", "thunderpunch", "toxic"], + "preferredTypes": ["Ground"] + } + ] + }, + "blaziken": { + "level": 82, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["earthquake", "fireblast", "hiddenpowerice", "rockslide", "skyuppercut", "thunderpunch"] + }, + { + "role": "Berry Sweeper", + "movepool": ["endure", "fireblast", "reversal", "swordsdance"] + }, + { + "role": "Wallbreaker", + "movepool": ["earthquake", "fireblast", "rockslide", "skyuppercut", "swordsdance"] + } + ] + }, + "swampert": { + "level": 79, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "hydropump", "protect", "surf", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["earthquake", "hydropump", "rest", "sleeptalk", "surf"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "hydropump", "icebeam", "refresh", "surf", "toxic"] + } + ] + }, + "mightyena": { + "level": 91, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["crunch", "doubleedge", "healbell", "hiddenpowerfighting", "shadowball", "toxic"], + "preferredTypes": ["Fighting"] + } + ] + }, + "linoone": { + "level": 83, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["bellydrum", "extremespeed", "hiddenpowerfighting", "shadowball"] + }, + { + "role": "Bulky Setup", + "movepool": ["bellydrum", "hiddenpowerground", "return", "shadowball", "substitute"], + "preferredTypes": ["Ground"] + } + ] + }, + "beautifly": { + "level": 100, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerfire", "morningsun", "psychic", "toxic"] + } + ] + }, + "dustox": { + "level": 95, + "sets": [ + { + "role": "Staller", + "movepool": ["hiddenpowerground", "moonlight", "sludgebomb", "toxic", "whirlwind"] + } + ] + }, + "ludicolo": { + "level": 84, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "raindance", "surf"] + } + ] + }, + "shiftry": { + "level": 89, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["brickbreak", "explosion", "shadowball", "swordsdance"] + }, + { + "role": "Staller", + "movepool": ["hiddenpowerdark", "leechseed", "substitute", "toxic"] + } + ] + }, + "swellow": { + "level": 81, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["aerialace", "doubleedge", "hiddenpowerground", "quickattack", "return"] + }, + { + "role": "Fast Attacker", + "movepool": ["aerialace", "doubleedge", "facade", "hiddenpowerground", "return"] + } + ] + }, + "pelipper": { + "level": 88, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["icebeam", "rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Staller", + "movepool": ["icebeam", "protect", "surf", "toxic"] + } + ] + }, + "gardevoir": { + "level": 79, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "firepunch", "hypnosis", "icepunch", "psychic", "substitute", "thunderbolt"], + "preferredTypes": ["Fire"] + } + ] + }, + "masquerain": { + "level": 95, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["hydropump", "icebeam", "stunspore", "substitute", "toxic"] + } + ] + }, + "breloom": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["hiddenpowerghost", "hiddenpowerrock", "machpunch", "skyuppercut", "spore", "substitute", "swordsdance"] + }, + { + "role": "Generalist", + "movepool": ["focuspunch", "hiddenpowerghost", "hiddenpowerrock", "spore", "substitute"] + } + ] + }, + "vigoroth": { + "level": 85, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["bodyslam", "bulkup", "earthquake", "return", "shadowball", "slackoff"] + } + ] + }, + "slaking": { + "level": 79, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["doubleedge", "earthquake", "hyperbeam", "return", "shadowball"] + } + ] + }, + "ninjask": { + "level": 81, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "hiddenpowerflying", "substitute", "swordsdance"] + }, + { + "role": "Bulky Setup", + "movepool": ["batonpass", "hiddenpowerflying", "protect", "swordsdance"] + } + ] + }, + "shedinja": { + "level": 97, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["agility", "batonpass", "hiddenpowerfighting", "hiddenpowerground", "shadowball", "silverwind", "toxic"] + } + ] + }, + "exploud": { + "level": 85, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "overheat", "return", "shadowball"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "flamethrower", "icebeam", "return", "shadowball", "substitute"], + "preferredTypes": ["Ground"] + } + ] + }, + "hariyama": { + "level": 83, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["bulkup", "crosschop", "earthquake", "hiddenpowerghost", "knockoff", "rockslide"] + }, + { + "role": "Bulky Attacker", + "movepool": ["crosschop", "hiddenpowerghost", "rest", "rockslide", "sleeptalk"] + } + ] + }, + "nosepass": { + "level": 98, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "explosion", "rockslide", "thunderwave", "toxic"] + } + ] + }, + "delcatty": { + "level": 95, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["doubleedge", "protect", "thunderwave", "toxic", "wish"] + }, + { + "role": "Generalist", + "movepool": ["batonpass", "bodyslam", "healbell", "protect", "wish"] + } + ] + }, + "sableye": { + "level": 90, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["knockoff", "recover", "seismictoss", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["recover", "seismictoss", "shadowball", "toxic"] + } + ] + }, + "mawile": { + "level": 95, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "brickbreak", "hiddenpowersteel", "rockslide", "substitute", "swordsdance"], + "preferredTypes": ["Fighting"] + }, + { + "role": "Bulky Support", + "movepool": ["focuspunch", "hiddenpowersteel", "rockslide", "substitute", "toxic"] + } + ] + }, + "aggron": { + "level": 85, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "irontail", "rockslide", "thunderwave", "toxic"], + "preferredTypes": ["Ground"] + }, + { + "role": "Generalist", + "movepool": ["doubleedge", "earthquake", "focuspunch", "irontail", "rockslide", "substitute"] + } + ] + }, + "medicham": { + "level": 83, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["brickbreak", "bulkup", "recover", "rockslide", "shadowball", "substitute"], + "preferredTypes": ["Ghost"] + }, + { + "role": "Berry Sweeper", + "movepool": ["bulkup", "reversal", "shadowball", "substitute"] + } + ] + }, + "manectric": { + "level": 82, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["crunch", "hiddenpowerice", "substitute", "thunderbolt"] + } + ] + }, + "plusle": { + "level": 88, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["batonpass", "encore", "hiddenpowerice", "substitute", "thunderbolt", "toxic"] + }, + { + "role": "Staller", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic", "wish"] + } + ] + }, + "minun": { + "level": 89, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["batonpass", "encore", "hiddenpowerice", "substitute", "thunderbolt", "toxic"] + }, + { + "role": "Staller", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic", "wish"] + } + ] + }, + "volbeat": { + "level": 93, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "icepunch", "tailglow", "thunderbolt"] + } + ] + }, + "illumise": { + "level": 94, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["encore", "moonlight", "seismictoss", "thunderwave", "toxic"] + }, + { + "role": "Generalist", + "movepool": ["batonpass", "encore", "seismictoss", "substitute", "thunderwave", "toxic"] + } + ] + }, + "roselia": { + "level": 96, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["aromatherapy", "hiddenpowerfire", "magicalleaf", "spikes", "synthesis", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["aromatherapy", "hiddenpowergrass", "spikes", "synthesis", "toxic"] + } + ] + }, + "swalot": { + "level": 89, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["encore", "explosion", "hiddenpowerground", "icebeam", "painsplit", "shadowball", "sludgebomb", "toxic", "yawn"] + } + ] + }, + "sharpedo": { + "level": 85, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "hiddenpowerflying", "hydropump"] + }, + { + "role": "Berry Sweeper", + "movepool": ["crunch", "hiddenpowerelectric", "hiddenpowergrass", "hydropump", "icebeam", "substitute"] + } + ] + }, + "wailord": { + "level": 87, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["icebeam", "rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["hiddenpowergrass", "icebeam", "selfdestruct", "surf", "toxic"], + "preferredTypes": ["Ice"] + } + ] + }, + "camerupt": { + "level": 86, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "explosion", "fireblast", "rest", "rockslide", "sleeptalk", "toxic"] + } + ] + }, + "torkoal": { + "level": 90, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["explosion", "fireblast", "flamethrower", "hiddenpowergrass", "rest", "toxic"] + } + ] + }, + "grumpig": { + "level": 84, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "firepunch", "psychic", "substitute", "thunderpunch"], + "preferredTypes": ["Fire"] + } + ] + }, + "spinda": { + "level": 98, + "sets": [ + { + "role": "Staller", + "movepool": ["encore", "protect", "seismictoss", "shadowball", "substitute", "toxic"] + }, + { + "role": "Bulky Support", + "movepool": ["protect", "seismictoss", "toxic", "wish"] + } + ] + }, + "flygon": { + "level": 78, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["dragonclaw", "earthquake", "fireblast", "hiddenpowerbug", "rockslide"], + "preferredTypes": ["Bug", "Rock"] + }, + { + "role": "Staller", + "movepool": ["dragonclaw", "earthquake", "fireblast", "protect", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["dragonclaw", "earthquake", "fireblast", "rockslide", "substitute", "toxic"] + } + ] + }, + "cacturne": { + "level": 94, + "sets": [ + { + "role": "Staller", + "movepool": ["focuspunch", "hiddenpowerdark", "leechseed", "substitute"] + }, + { + "role": "Generalist", + "movepool": ["hiddenpowerdark", "needlearm", "spikes", "thunderpunch"] + } + ] + }, + "altaria": { + "level": 85, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["dragonclaw", "earthquake", "flamethrower", "haze", "healbell", "rest", "toxic"] + }, + { + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "fireblast", "healbell", "hiddenpowerflying", "rest"], + "preferredTypes": ["Ground"] + } + ] + }, + "zangoose": { + "level": 80, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["brickbreak", "quickattack", "return", "shadowball", "swordsdance"], + "preferredTypes": ["Ghost"] + } + ] + }, + "seviper": { + "level": 88, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["crunch", "earthquake", "flamethrower", "hiddenpowergrass", "sludgebomb"], + "preferredTypes": ["Ground"] + } + ] + }, + "lunatone": { + "level": 84, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "calmmind", "hiddenpowerfire", "hypnosis", "icebeam", "psychic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["explosion", "hiddenpowerfire", "hypnosis", "icebeam", "psychic", "toxic"] + } + ] + }, + "solrock": { + "level": 84, + "sets": [ + { + "role": "Staller", + "movepool": ["earthquake", "protect", "rockslide", "toxic"] + }, + { + "role": "Wallbreaker", + "movepool": ["earthquake", "explosion", "overheat", "rockslide", "shadowball"], + "preferredTypes": ["Ground"] + } + ] + }, + "whiscash": { + "level": 84, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "icebeam", "rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "icebeam", "protect", "toxic"] + } + ] + }, + "crawdaunt": { + "level": 90, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["brickbreak", "crunch", "doubleedge", "hiddenpowerelectric", "hiddenpowergrass", "icebeam", "surf"] + }, + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "doubleedge", "hiddenpowerflying", "surf", "swordsdance"], + "preferredTypes": ["Normal"] + } + ] + }, + "claydol": { + "level": 81, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["earthquake", "explosion", "icebeam", "psychic", "rapidspin", "toxic"] + } + ] + }, + "cradily": { + "level": 84, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["earthquake", "hiddenpowergrass", "recover", "rockslide", "toxic"], + "preferredTypes": ["Ground"] + } + ] + }, + "armaldo": { + "level": 82, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "earthquake", "hiddenpowerbug", "rapidspin", "rockslide", "swordsdance"], + "preferredTypes": ["Ground"] + } + ] + }, + "milotic": { + "level": 77, + "sets": [ + { + "role": "Staller", + "movepool": ["icebeam", "recover", "refresh", "surf", "toxic"] + } + ] + }, + "castform": { + "level": 90, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["fireblast", "icebeam", "return", "thunderbolt", "thunderwave"] + } + ] + }, + "kecleon": { + "level": 91, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "return", "shadowball", "thunderwave", "trick"] + } + ] + }, + "banette": { + "level": 88, + "sets": [ + { + "role": "Berry Sweeper", + "movepool": ["destinybond", "endure", "hiddenpowerfighting", "shadowball"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "hiddenpowerfighting", "knockoff", "shadowball", "willowisp"], + "preferredTypes": ["Fighting"] + } + ] + }, + "dusclops": { + "level": 86, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["rest", "seismictoss", "sleeptalk", "willowisp"] + }, + { + "role": "Bulky Attacker", + "movepool": ["rest", "seismictoss", "shadowball", "sleeptalk"] + }, + { + "role": "Generalist", + "movepool": ["focuspunch", "icebeam", "painsplit", "shadowball", "substitute", "willowisp"] + } + ] + }, + "tropius": { + "level": 95, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["earthquake", "hiddenpowerflying", "swordsdance", "synthesis"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "hiddenpowerflying", "leechseed", "synthesis", "toxic"] + } + ] + }, + "chimecho": { + "level": 89, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["calmmind", "healbell", "hiddenpowerfire", "psychic", "toxic"] + } + ] + }, + "absol": { + "level": 88, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["batonpass", "doubleedge", "hiddenpowerfighting", "quickattack", "shadowball", "swordsdance"], + "preferredTypes": ["Fighting", "Ghost"] + }, + { + "role": "Wallbreaker", + "movepool": ["doubleedge", "hiddenpowerfighting", "quickattack", "shadowball"] + } + ] + }, + "glalie": { + "level": 82, + "sets": [ + { + "role": "Generalist", + "movepool": ["earthquake", "explosion", "icebeam", "spikes", "toxic"] + } + ] + }, + "walrein": { + "level": 81, + "sets": [ + { + "role": "Staller", + "movepool": ["icebeam", "protect", "surf", "toxic"] + }, + { + "role": "Bulky Attacker", + "movepool": ["encore", "icebeam", "rest", "sleeptalk", "surf", "toxic"] + } + ] + }, + "huntail": { + "level": 88, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["doubleedge", "hiddenpowerelectric", "hiddenpowergrass", "hydropump", "icebeam", "raindance", "surf"], + "preferredTypes": ["Ice"] + } + ] + }, + "gorebyss": { + "level": 85, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["hiddenpowerelectric", "hiddenpowergrass", "hydropump", "icebeam", "raindance", "surf"] + } + ] + }, + "relicanth": { + "level": 88, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "earthquake", "hiddenpowerflying", "rest", "rockslide", "sleeptalk", "toxic"], + "preferredTypes": ["Ground"] + } + ] + }, + "luvdisc": { + "level": 100, + "sets": [ + { + "role": "Staller", + "movepool": ["icebeam", "protect", "substitute", "surf", "toxic"] + } + ] + }, + "salamence": { + "level": 73, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "fireblast", "hiddenpowerflying", "rockslide"], + "preferredTypes": ["Ground"] + }, + { + "role": "Wallbreaker", + "movepool": ["brickbreak", "doubleedge", "earthquake", "fireblast", "hiddenpowerflying", "rockslide"], + "preferredTypes": ["Ground"] + } + ] + }, + "metagross": { + "level": 73, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "explosion", "meteormash", "rockslide"] + }, + { + "role": "Setup Sweeper", + "movepool": ["agility", "earthquake", "explosion", "meteormash", "psychic", "rockslide"], + "preferredTypes": ["Ground"] + } + ] + }, + "regirock": { + "level": 81, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["curse", "earthquake", "explosion", "rest", "rockslide", "superpower"], + "preferredTypes": ["Ground"] + }, + { + "role": "Bulky Attacker", + "movepool": ["earthquake", "explosion", "rest", "rockslide", "sleeptalk", "thunderwave", "toxic"] + } + ] + }, + "regice": { + "level": 79, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["explosion", "icebeam", "rest", "sleeptalk", "thunderbolt", "thunderwave"] + }, + { + "role": "Staller", + "movepool": ["icebeam", "protect", "thunderbolt", "toxic"] + } + ] + }, + "registeel": { + "level": 78, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["rest", "seismictoss", "sleeptalk", "toxic"] + } + ] + }, + "latias": { + "level": 66, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["calmmind", "dragonclaw", "hiddenpowerfire", "psychic", "recover"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "dragonclaw", "recover", "refresh"] + } + ] + }, + "latios": { + "level": 66, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["calmmind", "dragonclaw", "hiddenpowerfire", "psychic", "recover"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "dragonclaw", "recover", "refresh"] + } + ] + }, + "kyogre": { + "level": 67, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder"] + } + ] + }, + "groudon": { + "level": 69, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["earthquake", "hiddenpowerbug", "overheat", "rockslide", "substitute", "swordsdance", "thunderwave"], + "preferredTypes": ["Rock"] + } + ] + }, + "rayquaza": { + "level": 72, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "hiddenpowerflying", "overheat", "rockslide"], + "preferredTypes": ["Ground"] + }, + { + "role": "Bulky Setup", + "movepool": ["earthquake", "extremespeed", "hiddenpowerflying", "rockslide", "swordsdance"], + "preferredTypes": ["Ground"] + }, + { + "role": "Wallbreaker", + "movepool": ["earthquake", "extremespeed", "hiddenpowerflying", "overheat", "rockslide"], + "preferredTypes": ["Ground"] + } + ] + }, + "jirachi": { + "level": 73, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["bodyslam", "firepunch", "protect", "psychic", "toxic", "wish"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "firepunch", "icepunch", "psychic", "substitute", "thunderbolt"], + "preferredTypes": ["Fire"] + } + ] + }, + "deoxys": { + "level": 73, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["extremespeed", "firepunch", "icebeam", "psychoboost", "shadowball", "spikes", "superpower"], + "preferredTypes": ["Fighting", "Ghost"] + } + ] + }, + "deoxysattack": { + "level": 72, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["extremespeed", "firepunch", "icebeam", "psychoboost", "shadowball", "superpower"], + "preferredTypes": ["Fighting", "Ghost"] + } + ] + }, + "deoxysdefense": { + "level": 75, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["recover", "seismictoss", "spikes", "toxic"] + } + ] + }, + "deoxysspeed": { + "level": 77, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "firepunch", "icebeam", "psychic", "recover", "substitute"], + "preferredTypes": ["Fire"] + }, + { + "role": "Bulky Support", + "movepool": ["psychoboost", "recover", "spikes", "superpower", "toxic"] + } + ] + } +} diff --git a/data/random-battles/gen3/teams.ts b/data/random-battles/gen3/teams.ts new file mode 100644 index 000000000000..203f26215cda --- /dev/null +++ b/data/random-battles/gen3/teams.ts @@ -0,0 +1,792 @@ +import RandomGen4Teams from '../gen4/teams'; +import {Utils} from '../../../lib'; +import {PRNG, PRNGSeed} from '../../../sim/prng'; +import type {MoveCounter} from '../gen8/teams'; + +// Moves that restore HP: +const RECOVERY_MOVES = [ + 'milkdrink', 'moonlight', 'morningsun', 'recover', 'slackoff', 'softboiled', 'synthesis', +]; +// Conglomerate for ease of access +const SETUP = [ + 'acidarmor', 'agility', 'bellydrum', 'bulkup', 'calmmind', 'curse', 'dragondance', 'growth', 'howl', 'irondefense', + 'meditate', 'raindance', 'sunnyday', 'swordsdance', 'tailglow', +]; +// Moves that shouldn't be the only STAB moves: +const NO_STAB = [ + 'eruption', 'explosion', 'fakeout', 'focuspunch', 'futuresight', 'icywind', 'knockoff', 'machpunch', 'pursuit', + 'quickattack', 'rapidspin', 'selfdestruct', 'skyattack', 'waterspout', +]; + +// Moves that should be paired together when possible +const MOVE_PAIRS = [ + ['sleeptalk', 'rest'], + ['protect', 'wish'], + ['leechseed', 'substitute'], + ['focuspunch', 'substitute'], + ['batonpass', 'spiderweb'], +]; + +export class RandomGen3Teams extends RandomGen4Teams { + battleHasDitto: boolean; + battleHasWobbuffet: boolean; + + randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./sets.json'); + + constructor(format: string | Format, prng: PRNG | PRNGSeed | null) { + super(format, prng); + this.noStab = NO_STAB; + this.battleHasDitto = false; + this.battleHasWobbuffet = false; + this.moveEnforcementCheckers = { + Bug: (movePool, moves, abilities, types, counter, species) => ( + !counter.get('Bug') && ['armaldo', 'heracross', 'parasect'].includes(species.id) + ), + Dark: (movePool, moves, abilities, types, counter) => !counter.get('Dark'), + Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric'), + Fighting: (movePool, moves, abilities, types, counter) => !counter.get('Fighting'), + Fire: (movePool, moves, abilities, types, counter) => !counter.get('Fire'), + Flying: (movePool, moves, abilities, types, counter, species) => (!counter.get('Flying') && species.id !== 'crobat'), + Ghost: (movePool, moves, abilities, types, counter) => !counter.get('Ghost'), + Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'), + Ice: (movePool, moves, abilities, types, counter) => !counter.get('Ice'), + Normal: (movePool, moves, abilities, types, counter, species) => !counter.get('Normal'), + Poison: (movePool, moves, abilities, types, counter) => !counter.get('Poison') && !counter.get('Bug'), + Psychic: (movePool, moves, abilities, types, counter, species) => ( + !counter.get('Psychic') && species.baseStats.spa >= 100 + ), + Rock: (movePool, moves, abilities, types, counter, species) => !counter.get('Rock'), + Steel: (movePool, moves, abilities, types, counter, species) => (!counter.get('Steel') && species.id !== 'forretress'), + Water: (movePool, moves, abilities, types, counter, species) => !counter.get('Water'), + }; + } + + cullMovePool( + types: string[], + moves: Set, + abilities: Set, + counter: MoveCounter, + movePool: string[], + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + preferredType: string, + role: RandomTeamsTypes.Role, + ): void { + // Pokemon cannot have multiple Hidden Powers in any circumstance + let hasHiddenPower = false; + for (const move of moves) { + if (move.startsWith('hiddenpower')) hasHiddenPower = true; + } + if (hasHiddenPower) { + let movePoolHasHiddenPower = true; + while (movePoolHasHiddenPower) { + movePoolHasHiddenPower = false; + for (const moveid of movePool) { + if (moveid.startsWith('hiddenpower')) { + this.fastPop(movePool, movePool.indexOf(moveid)); + movePoolHasHiddenPower = true; + break; + } + } + } + } + + if (moves.size + movePool.length <= this.maxMoveCount) return; + // If we have two unfilled moves and only one unpaired move, cull the unpaired move. + if (moves.size === this.maxMoveCount - 2) { + const unpairedMoves = [...movePool]; + for (const pair of MOVE_PAIRS) { + if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { + this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[0])); + this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[1])); + } + } + if (unpairedMoves.length === 1) { + this.fastPop(movePool, movePool.indexOf(unpairedMoves[0])); + } + } + + // These moves are paired, and shouldn't appear if there is not room for them both. + if (moves.size === this.maxMoveCount - 1) { + for (const pair of MOVE_PAIRS) { + if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { + this.fastPop(movePool, movePool.indexOf(pair[0])); + this.fastPop(movePool, movePool.indexOf(pair[1])); + } + } + } + + // Team-based move culls + if (teamDetails.rapidSpin) { + if (movePool.includes('rapidspin')) this.fastPop(movePool, movePool.indexOf('rapidspin')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + + // Develop additional move lists + const badWithSetup = ['knockoff', 'rapidspin', 'toxic']; + const statusMoves = this.dex.moves.all() + .filter(move => move.category === 'Status') + .map(move => move.id); + + // General incompatibilities + const incompatiblePairs = [ + // These moves don't mesh well with other aspects of the set + [statusMoves, 'trick'], + [SETUP, badWithSetup], + ['rest', ['protect', 'substitute']], + [['selfdestruct', 'explosion'], ['destinybond', 'painsplit', 'rest']], + + // These attacks are redundant with each other + ['surf', 'hydropump'], + [['bodyslam', 'return'], ['bodyslam', 'doubleedge']], + ['fireblast', 'flamethrower'], + + // Assorted hardcodes go here: + // Granbull + ['bulkup', 'overheat'], + // Heracross + ['endure', 'substitute'], + ]; + + for (const pair of incompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); + + const statusInflictingMoves = ['stunspore', 'thunderwave', 'toxic', 'willowisp', 'yawn']; + if (role !== 'Staller') { + this.incompatibleMoves(moves, movePool, statusInflictingMoves, statusInflictingMoves); + } + } + + // Generate random moveset for a given species, role, preferred type. + randomMoveset( + types: string[], + abilities: Set, + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + movePool: string[], + preferredType: string, + role: RandomTeamsTypes.Role, + ): Set { + const preferredTypes = preferredType ? preferredType.split(',') : []; + const moves = new Set(); + let counter = this.newQueryMoves(moves, species, preferredType, abilities); + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, + preferredType, role); + + // If there are only four moves, add all moves and return early + if (movePool.length <= this.maxMoveCount) { + // Still need to ensure that multiple Hidden Powers are not added (if maxMoveCount is increased) + while (movePool.length) { + const moveid = this.sample(movePool); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + return moves; + } + + const runEnforcementChecker = (checkerName: string) => { + if (!this.moveEnforcementCheckers[checkerName]) return false; + return this.moveEnforcementCheckers[checkerName]( + movePool, moves, abilities, new Set(types), counter, species, teamDetails + ); + }; + + // Add required move (e.g. Relic Song for Meloetta-P) + if (species.requiredMove) { + const move = this.dex.moves.get(species.requiredMove).id; + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + + // Add other moves you really want to have, e.g. STAB, recovery, setup. + + // Enforce Seismic Toss and Spore + for (const moveid of ['seismictoss', 'spore']) { + if (movePool.includes(moveid)) { + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce Substitute on non-Setup sets with Baton Pass + if (!role.includes('Setup')) { + if (movePool.includes('batonpass') && movePool.includes('substitute')) { + counter = this.addMove('substitute', moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce moves of all Preferred Types + for (const type of preferredTypes) { + if (!counter.get(type)) { + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && type === moveType) { + stabMoves.push(moveid); + } + } + if (stabMoves.length) { + const moveid = this.sample(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + + // Enforce STAB + for (const type of types) { + // Check if a STAB move of that type should be required + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && type === moveType) { + stabMoves.push(moveid); + } + } + while (runEnforcementChecker(type)) { + if (!stabMoves.length) break; + const moveid = this.sampleNoReplace(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // If no STAB move was added, add a STAB move + if (!counter.get('stab')) { + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && types.includes(moveType)) { + stabMoves.push(moveid); + } + } + if (stabMoves.length) { + const moveid = this.sample(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce recovery + if (['Bulky Support', 'Bulky Attacker', 'Bulky Setup', 'Staller'].includes(role)) { + const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); + if (recoveryMoves.length) { + const moveid = this.sample(recoveryMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce Staller moves + if (role === 'Staller') { + const enforcedMoves = ['protect', 'toxic', 'wish']; + for (const move of enforcedMoves) { + if (movePool.includes(move)) { + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + + // Enforce setup + if (role.includes('Setup') || role === 'Berry Sweeper') { + const setupMoves = movePool.filter(moveid => SETUP.includes(moveid)); + if (setupMoves.length) { + const moveid = this.sample(setupMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce Berry Sweeper moves + if (role === 'Berry Sweeper') { + // Enforce Flail/Reversal + for (const move of ['flail', 'reversal']) { + if (movePool.includes(move)) { + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + // Enforce one of Endure and Substitute, but not both + const hpControlMoves = []; + for (const moveid of movePool) { + if (['endure', 'substitute'].includes(moveid)) hpControlMoves.push(moveid); + } + if (hpControlMoves.length) { + const moveid = this.sample(hpControlMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce a move not on the noSTAB list + if (!counter.damagingMoves.size) { + // Choose an attacking move + const attackingMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + if (!this.noStab.includes(moveid) && (move.category !== 'Status')) attackingMoves.push(moveid); + } + if (attackingMoves.length) { + const moveid = this.sample(attackingMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + + // Enforce coverage move + if (['Fast Attacker', 'Setup Sweeper', 'Bulky Attacker', 'Wallbreaker', 'Berry Sweeper'].includes(role)) { + if (counter.damagingMoves.size === 1) { + // Find the type of the current attacking move + const currentAttackType = counter.damagingMoves.values().next().value.type; + // Choose an attacking move that is of different type to the current single attack + const coverageMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, preferredType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback)) { + if (currentAttackType !== moveType) coverageMoves.push(moveid); + } + } + if (coverageMoves.length) { + const moveid = this.sample(coverageMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + + // Choose remaining moves randomly from movepool and add them to moves list: + while (moves.size < this.maxMoveCount && movePool.length) { + const moveid = this.sample(movePool); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + for (const pair of MOVE_PAIRS) { + if (moveid === pair[0] && movePool.includes(pair[1])) { + counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + if (moveid === pair[1] && movePool.includes(pair[0])) { + counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, + movePool, preferredType, role); + } + } + } + return moves; + } + + shouldCullAbility( + ability: string, + types: Set, + moves: Set, + abilities: Set, + counter: MoveCounter, + movePool: string[], + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + preferredType: string, + role: RandomTeamsTypes.Role + ) { + switch (ability) { + case 'Rain Dish': case 'Sand Veil': case 'Soundproof': case 'Sticky Hold': + return true; + case 'Chlorophyll': + return !moves.has('sunnyday') && !teamDetails.sun; + case 'Hustle': + return !counter.get('Physical'); + case 'Rock Head': + return !counter.get('recoil'); + case 'Swarm': + return !counter.get('Bug'); + case 'Swift Swim': + return ( + // Relicanth always wants Swift Swim if it doesn't have Double-Edge + !moves.has('raindance') && !teamDetails.rain && !(species.id === 'relicanth' && !counter.get('recoil')) || + !moves.has('raindance') && abilities.has('Water Absorb') + ); + case 'Thick Fat': + return (species.id === 'snorlax' || (species.id === 'hariyama' && moves.has('sleeptalk'))); + case 'Water Absorb': + return (species.id === 'mantine' && moves.has('raindance')); + } + + return false; + } + + + getAbility( + types: Set, + moves: Set, + abilities: Set, + counter: MoveCounter, + movePool: string[], + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + preferredType: string, + role: RandomTeamsTypes.Role, + ): string { + const abilityData = Array.from(abilities).map(a => this.dex.abilities.get(a)); + Utils.sortBy(abilityData, abil => -abil.rating); + + if (abilityData.length <= 1) return abilityData[0].name; + + // Hard-code abilities here + if (species.id === 'yanma' && counter.get('inaccurate')) return 'Compound Eyes'; + if (moves.has('rest') && abilities.has('Early Bird')) return 'Early Bird'; + if (species.id === 'arcanine') return 'Intimidate'; + if (species.id === 'blissey') return 'Natural Cure'; + if (species.id === 'heracross' && role === 'Berry Sweeper') return 'Swarm'; + if (species.id === 'xatu') return 'Synchronize'; + + let abilityAllowed: Ability[] = []; + // Obtain a list of abilities that are allowed (not culled) + for (const ability of abilityData) { + if (ability.rating >= 1 && !this.shouldCullAbility( + ability.name, types, moves, abilities, counter, movePool, teamDetails, species, preferredType, role + )) { + abilityAllowed.push(ability); + } + } + + // If all abilities are rejected, re-allow all abilities + if (!abilityAllowed.length) { + for (const ability of abilityData) { + if (ability.rating > 0) abilityAllowed.push(ability); + } + if (!abilityAllowed.length) abilityAllowed = abilityData; + } + + if (abilityAllowed.length === 1) return abilityAllowed[0].name; + // Sort abilities by rating with an element of randomness + if (abilityAllowed[0].rating <= abilityAllowed[1].rating) { + if (this.randomChance(1, 2)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; + } else if (abilityAllowed[0].rating - 0.5 <= abilityAllowed[1].rating) { + if (this.randomChance(1, 3)) [abilityAllowed[0], abilityAllowed[1]] = [abilityAllowed[1], abilityAllowed[0]]; + } + + // After sorting, choose the first ability + return abilityAllowed[0].name; + } + + getItem( + ability: string, + types: string[], + moves: Set, + counter: MoveCounter, + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + preferredType: string, + role: RandomTeamsTypes.Role, + ): string { + // First, the high-priority items + if (species.id === 'farfetchd') return 'Stick'; + if (species.id === 'latias' || species.id === 'latios') return 'Soul Dew'; + if (species.id === 'linoone' && role === 'Setup Sweeper') return 'Silk Scarf'; + if (species.id === 'marowak') return 'Thick Club'; + if (species.id === 'pikachu') return 'Light Ball'; + if (species.id === 'shedinja') return 'Lum Berry'; + if (species.id === 'shuckle') return 'Leftovers'; + if (species.id === 'unown') return counter.get('Physical') ? 'Choice Band' : 'Twisted Spoon'; + + if (moves.has('trick')) return 'Choice Band'; + if ( + moves.has('rest') && !moves.has('sleeptalk') && + // Altaria wants Chesto Berry on Dragon Dance + Rest + (moves.has('dragondance') || !['Early Bird', 'Natural Cure', 'Shed Skin'].includes(ability)) + ) return 'Chesto Berry'; + + // Medium priority items + if (counter.get('Physical') >= 4) return 'Choice Band'; + if (counter.get('Physical') >= 3 && (moves.has('batonpass') || (role === 'Wallbreaker' && counter.get('Special')))) { + return 'Choice Band'; + } + + if ( + moves.has('dragondance') && ability !== 'Natural Cure' && + !moves.has('healbell') && !moves.has('substitute') + ) return 'Lum Berry'; + if (moves.has('bellydrum')) return moves.has('substitute') ? 'Salac Berry' : 'Lum Berry'; + + if (moves.has('raindance') && counter.get('Special') >= 3) return 'Petaya Berry'; + + if (role === 'Berry Sweeper') { + if (moves.has('endure')) return 'Salac Berry'; + if (moves.has('flail') || moves.has('reversal')) return (species.baseStats.spe >= 90) ? 'Liechi Berry' : 'Salac Berry'; + if (moves.has('substitute') && counter.get('Physical') >= 3) return 'Liechi Berry'; + if (moves.has('substitute') && counter.get('Special') >= 3) return 'Petaya Berry'; + } + + const salacReqs = species.baseStats.spe >= 60 && species.baseStats.spe <= 100 && !counter.get('priority'); + + if (moves.has('bulkup') && moves.has('substitute') && counter.get('Status') === 2 && salacReqs) return 'Salac Berry'; + + if (moves.has('swordsdance') && moves.has('substitute') && counter.get('Status') === 2) { + if (salacReqs) return 'Salac Berry'; + if (species.baseStats.spe > 100 && counter.get('Physical') >= 2) return 'Liechi Berry'; + } + + if (moves.has('swordsdance') && counter.get('Status') === 1) { + if (salacReqs) return 'Salac Berry'; + if (species.baseStats.spe > 100) { + return (counter.get('Physical') >= 3 && this.randomChance(1, 2)) ? 'Liechi Berry' : 'Lum Berry'; + } + } + + if (species.id === 'deoxys' || species.id === 'deoxysattack') return 'White Herb'; + + // Default to Leftovers + return 'Leftovers'; + } + + randomSet( + species: string | Species, + teamDetails: RandomTeamsTypes.TeamDetails = {}, + isLead = false + ): RandomTeamsTypes.RandomSet { + species = this.dex.species.get(species); + const forme = this.getForme(species); + const sets = this.randomSets[species.id]["sets"]; + + const set = this.sampleIfArray(sets); + const role = set.role; + const movePool: string[] = Array.from(set.movepool); + const preferredTypes = set.preferredTypes; + // In Gen 3, if a set has multiple preferred types, enforce all of them. + const preferredType = preferredTypes ? preferredTypes.join() : ''; + + let ability = ''; + let item = undefined; + + const evs = {hp: 85, atk: 85, def: 85, spa: 85, spd: 85, spe: 85}; + const ivs = {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31}; + + const types = species.types; + const abilities = new Set(Object.values(species.abilities)); + + // Get moves + const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, movePool, + preferredType, role); + const counter = this.newQueryMoves(moves, species, preferredType, abilities); + + // Get ability + ability = this.getAbility(new Set(types), moves, abilities, counter, movePool, teamDetails, species, + preferredType, role); + + // Get items + item = this.getItem(ability, types, moves, counter, teamDetails, species, isLead, preferredType, role); + + const level = this.getLevel(species); + + // We use a special variable to track Hidden Power + // so that we can check for all Hidden Powers at once + let hasHiddenPower = false; + for (const move of moves) { + if (move.startsWith('hiddenpower')) hasHiddenPower = true; + } + + if (hasHiddenPower) { + let hpType; + for (const move of moves) { + if (move.startsWith('hiddenpower')) hpType = move.substr(11); + } + if (!hpType) throw new Error(`hasHiddenPower is true, but no Hidden Power move was found.`); + const HPivs = this.dex.types.get(hpType).HPivs; + let iv: StatID; + for (iv in HPivs) { + ivs[iv] = HPivs[iv]!; + } + } + + // Prepare optimal HP + while (evs.hp > 1) { + const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); + if (moves.has('substitute') && ['flail', 'reversal'].some(m => moves.has(m))) { + // Flail/Reversal users should be able to use four Substitutes + if (hp % 4 > 0) break; + } else if (moves.has('substitute') && (item === 'Salac Berry' || item === 'Petaya Berry' || item === 'Liechi Berry')) { + // Other pinch berry holders should have berries activate after three Substitutes + if (hp % 4 === 0) break; + } else if (moves.has('bellydrum')) { + // Belly Drum users should be able to use Belly Drum twice + if (hp % 2 > 0) break; + } else { + break; + } + evs.hp -= 4; + } + + // Minimize confusion damage + if (!counter.get('Physical') && !moves.has('transform')) { + evs.atk = 0; + ivs.atk = hasHiddenPower ? (ivs.atk || 31) - 28 : 0; + } + + // Prepare optimal HP + let hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); + if (moves.has('substitute') && ['endeavor', 'flail', 'reversal'].some(m => moves.has(m))) { + // Endeavor/Flail/Reversal users should be able to use four Substitutes + if (hp % 4 === 0) evs.hp -= 4; + } else if (moves.has('substitute') && (item === 'Salac Berry' || item === 'Petaya Berry' || item === 'Liechi Berry')) { + // Other pinch berry holders should have berries activate after three Substitutes + while (hp % 4 > 0) { + evs.hp -= 4; + hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); + } + } + + // shuffle moves to add more randomness to camomons + const shuffledMoves = Array.from(moves); + this.prng.shuffle(shuffledMoves); + + return { + name: species.baseSpecies, + species: forme, + gender: species.gender, + shiny: this.randomChance(1, 1024), + level, + moves: shuffledMoves, + ability, + evs, + ivs, + item, + role, + }; + } + + randomTeam() { + this.enforceNoDirectCustomBanlistChanges(); + + const seed = this.prng.seed; + const ruleTable = this.dex.formats.getRuleTable(this.format); + const pokemon: RandomTeamsTypes.RandomSet[] = []; + + // For Monotype + const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause'); + const typePool = this.dex.types.names(); + const type = this.forceMonotype || this.sample(typePool); + + const baseFormes: {[k: string]: number} = {}; + const typeCount: {[k: string]: number} = {}; + const typeWeaknesses: {[k: string]: number} = {}; + const typeDoubleWeaknesses: {[k: string]: number} = {}; + const teamDetails: RandomTeamsTypes.TeamDetails = {}; + let numMaxLevelPokemon = 0; + + const pokemonList = Object.keys(this.randomSets); + const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); + while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { + const baseSpecies = this.sampleNoReplace(baseSpeciesPool); + const species = this.dex.species.get(this.sample(pokemonPool[baseSpecies])); + if (!species.exists) continue; + + // Limit to one of each species (Species Clause) + if (baseFormes[species.baseSpecies]) continue; + + // Limit to one Wobbuffet per battle (not just per team) + if (species.name === 'Wobbuffet' && this.battleHasWobbuffet) continue; + // Limit to one Ditto per battle in Gen 2 + if (this.dex.gen < 3 && species.name === 'Ditto' && this.battleHasDitto) continue; + + const types = species.types; + + if (!isMonotype && !this.forceMonotype) { + // Dynamically scale limits for different team sizes. The default and minimum value is 1. + const limitFactor = Math.round(this.maxTeamSize / 6) || 1; + + // Limit two of any type + let skip = false; + for (const typeName of types) { + if (typeCount[typeName] >= 2 * limitFactor) { + skip = true; + break; + } + } + if (skip) continue; + + // Limit three weak to any type, and one double weak to any type + for (const typeName of this.dex.types.names()) { + // it's weak to the type + if (this.dex.getEffectiveness(typeName, species) > 0) { + if (!typeWeaknesses[typeName]) typeWeaknesses[typeName] = 0; + if (typeWeaknesses[typeName] >= 3 * limitFactor) { + skip = true; + break; + } + } + if (this.dex.getEffectiveness(typeName, species) > 1) { + if (!typeDoubleWeaknesses[typeName]) typeDoubleWeaknesses[typeName] = 0; + if (typeDoubleWeaknesses[typeName] >= 1 * limitFactor) { + skip = true; + break; + } + } + } + if (skip) continue; + + // Limit one level 100 Pokemon + if (!this.adjustLevel && (this.getLevel(species) === 100) && numMaxLevelPokemon >= limitFactor) { + continue; + } + } + + // Okay, the set passes, add it to our team + const set = this.randomSet(species, teamDetails); + pokemon.push(set); + + // Don't bother tracking details for the last Pokemon + if (pokemon.length === this.maxTeamSize) break; + + // Now that our Pokemon has passed all checks, we can increment our counters + baseFormes[species.baseSpecies] = 1; + + // Increment type counters + for (const typeName of types) { + if (typeName in typeCount) { + typeCount[typeName]++; + } else { + typeCount[typeName] = 1; + } + } + + // Increment weakness counter + for (const typeName of this.dex.types.names()) { + // it's weak to the type + if (this.dex.getEffectiveness(typeName, species) > 0) { + typeWeaknesses[typeName]++; + } + if (this.dex.getEffectiveness(typeName, species) > 1) { + typeDoubleWeaknesses[typeName]++; + } + } + + // Increment level 100 counter + if (set.level === 100) numMaxLevelPokemon++; + + // Update team details + if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; + if (set.ability === 'Drought' || set.moves.includes('sunnyday')) teamDetails.sun = 1; + if (set.ability === 'Sand Stream') teamDetails.sand = 1; + if (set.moves.includes('spikes')) teamDetails.spikes = 1; + if (set.moves.includes('rapidspin')) teamDetails.rapidSpin = 1; + + // In Gen 3, Shadow Tag users can prevent each other from switching out, possibly causing and endless battle or at least causing a long stall war + // To prevent this, we prevent more than one Wobbuffet in a single battle. + if (species.id === 'wobbuffet') this.battleHasWobbuffet = true; + if (species.id === 'ditto') this.battleHasDitto = true; + } + + if (pokemon.length < this.maxTeamSize && !isMonotype && !this.forceMonotype && pokemon.length < 12) { + throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`); + } + + return pokemon; + } +} + +export default RandomGen3Teams; diff --git a/data/mods/gen4/random-sets.json b/data/random-battles/gen4/sets.json similarity index 91% rename from data/mods/gen4/random-sets.json rename to data/random-battles/gen4/sets.json index 08022a85827e..27ec45f3190d 100644 --- a/data/mods/gen4/random-sets.json +++ b/data/random-battles/gen4/sets.json @@ -1,6 +1,6 @@ { "venusaur": { - "level": 84, + "level": 83, "sets": [ { "role": "Staller", @@ -8,7 +8,7 @@ }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "hiddenpowerfire", "hiddenpowerice", "leafstorm", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["earthquake", "leafstorm", "sleeppowder", "sludgebomb", "synthesis"] } ] }, @@ -35,7 +35,7 @@ ] }, "butterfree": { - "level": 94, + "level": 95, "sets": [ { "role": "Bulky Support", @@ -79,7 +79,7 @@ ] }, "fearow": { - "level": 87, + "level": 86, "sets": [ { "role": "Wallbreaker", @@ -92,7 +92,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["aquatail", "crunch", "earthquake", "glare", "gunkshot", "poisonjab", "seedbomb", "switcheroo"], + "movepool": ["crunch", "earthquake", "glare", "gunkshot", "poisonjab", "seedbomb", "switcheroo"], "preferredTypes": ["Ground"] } ] @@ -108,7 +108,7 @@ ] }, "raichu": { - "level": 87, + "level": 86, "sets": [ { "role": "Wallbreaker", @@ -151,7 +151,7 @@ ] }, "clefable": { - "level": 83, + "level": 84, "sets": [ { "role": "Bulky Support", @@ -174,7 +174,7 @@ ] }, "wigglytuff": { - "level": 92, + "level": 97, "sets": [ { "role": "Bulky Support", @@ -191,16 +191,16 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["aromatherapy", "energyball", "hiddenpowerfire", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["aromatherapy", "energyball", "hiddenpowerground", "sleeppowder", "sludgebomb", "synthesis"] }, { "role": "Setup Sweeper", - "movepool": ["hiddenpowerfire", "sludgebomb", "solarbeam", "sunnyday", "synthesis"] + "movepool": ["hiddenpowerfire", "sludgebomb", "solarbeam", "sunnyday"] } ] }, "parasect": { - "level": 96, + "level": 97, "sets": [ { "role": "Bulky Support", @@ -213,7 +213,7 @@ ] }, "venomoth": { - "level": 87, + "level": 86, "sets": [ { "role": "Fast Support", @@ -222,7 +222,7 @@ ] }, "dugtrio": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Support", @@ -236,7 +236,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["aerialace", "bite", "doubleedge", "fakeout", "hypnosis", "return", "seedbomb", "switcheroo", "taunt", "uturn"], + "movepool": ["bite", "doubleedge", "fakeout", "hypnosis", "return", "seedbomb", "taunt", "uturn"], "preferredTypes": ["Dark"] } ] @@ -256,7 +256,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["closecombat", "earthquake", "encore", "icepunch", "stoneedge", "uturn"] + "movepool": ["closecombat", "earthquake", "encore", "stoneedge", "uturn"], + "preferredTypes": ["Rock"] } ] }, @@ -293,11 +294,11 @@ ] }, "alakazam": { - "level": 83, + "level": 81, "sets": [ { "role": "Fast Attacker", - "movepool": ["encore", "focusblast", "psychic", "shadowball", "substitute", "trick"], + "movepool": ["calmmind", "encore", "focusblast", "psychic", "shadowball", "substitute", "trick"], "preferredTypes": ["Fighting"] } ] @@ -307,16 +308,16 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["bulkup", "bulletpunch", "dynamicpunch", "icepunch", "payback", "stoneedge"] + "movepool": ["bulkup", "bulletpunch", "dynamicpunch", "payback", "stoneedge"] } ] }, "victreebel": { - "level": 88, + "level": 90, "sets": [ { "role": "Wallbreaker", - "movepool": ["hiddenpowerfire", "leafblade", "leafstorm", "sleeppowder", "sludgebomb", "suckerpunch"] + "movepool": ["hiddenpowerground", "leafblade", "leafstorm", "sleeppowder", "sludgebomb", "suckerpunch"] }, { "role": "Setup Sweeper", @@ -352,7 +353,7 @@ ] }, "slowbro": { - "level": 84, + "level": 85, "sets": [ { "role": "Bulky Attacker", @@ -379,7 +380,7 @@ ] }, "dodrio": { - "level": 87, + "level": 86, "sets": [ { "role": "Wallbreaker", @@ -391,12 +392,12 @@ "level": 91, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["icebeam", "protect", "rest", "sleeptalk", "surf", "toxic"] + "role": "Staller", + "movepool": ["icebeam", "protect", "surf", "toxic"] }, { "role": "Fast Attacker", - "movepool": ["encore", "raindance", "rest", "surf", "toxic"] + "movepool": ["raindance", "rest", "surf", "toxic"] }, { "role": "Bulky Support", @@ -409,12 +410,13 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["brickbreak", "curse", "explosion", "gunkshot", "icepunch", "payback", "poisonjab", "rest", "shadowsneak"] + "movepool": ["brickbreak", "curse", "explosion", "gunkshot", "icepunch", "payback", "poisonjab", "rest", "shadowsneak"], + "preferredTypes": ["Fighting"] } ] }, "cloyster": { - "level": 86, + "level": 88, "sets": [ { "role": "Bulky Support", @@ -433,7 +435,7 @@ ] }, "hypno": { - "level": 91, + "level": 92, "sets": [ { "role": "Bulky Support", @@ -459,11 +461,12 @@ ] }, "electrode": { - "level": 88, + "level": 87, "sets": [ { "role": "Wallbreaker", - "movepool": ["explosion", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt"] + "movepool": ["explosion", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt"], + "preferredTypes": ["Ice"] } ] }, @@ -516,15 +519,14 @@ ] }, "weezing": { - "level": 86, + "level": 89, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["fireblast", "haze", "painsplit", "sludgebomb", "thunderbolt", "willowisp"], - "preferredTypes": ["Fire"] + "role": "Bulky Support", + "movepool": ["fireblast", "haze", "painsplit", "sludgebomb", "willowisp"] }, { - "role": "Bulky Support", + "role": "Bulky Attacker", "movepool": ["fireblast", "rest", "sleeptalk", "sludgebomb"] } ] @@ -543,10 +545,10 @@ ] }, "seaking": { - "level": 91, + "level": 93, "sets": [ { - "role": "Fast Attacker", + "role": "Setup Sweeper", "movepool": ["icebeam", "megahorn", "raindance", "return", "waterfall"] } ] @@ -575,7 +577,7 @@ ] }, "scyther": { - "level": 83, + "level": 82, "sets": [ { "role": "Setup Sweeper", @@ -601,7 +603,7 @@ ] }, "pinsir": { - "level": 86, + "level": 84, "sets": [ { "role": "Fast Attacker", @@ -620,7 +622,7 @@ ] }, "gyarados": { - "level": 79, + "level": 78, "sets": [ { "role": "Setup Sweeper", @@ -668,7 +670,7 @@ ] }, "jolteon": { - "level": 81, + "level": 78, "sets": [ { "role": "Bulky Attacker", @@ -681,7 +683,7 @@ ] }, "flareon": { - "level": 92, + "level": 94, "sets": [ { "role": "Bulky Attacker", @@ -694,7 +696,7 @@ ] }, "omastar": { - "level": 85, + "level": 86, "sets": [ { "role": "Setup Sweeper", @@ -735,7 +737,7 @@ ] }, "snorlax": { - "level": 81, + "level": 79, "sets": [ { "role": "Bulky Attacker", @@ -744,7 +746,7 @@ }, { "role": "Bulky Support", - "movepool": ["bodyslam", "curse", "rest", "sleeptalk", "whirlwind"] + "movepool": ["bodyslam", "curse", "rest", "sleeptalk"] }, { "role": "Bulky Setup", @@ -753,7 +755,7 @@ ] }, "articuno": { - "level": 83, + "level": 82, "sets": [ { "role": "Staller", @@ -784,15 +786,16 @@ ] }, "dragonite": { - "level": 78, + "level": 77, "sets": [ { - "role": "Fast Attacker", - "movepool": ["dragondance", "earthquake", "extremespeed", "firepunch", "outrage"] + "role": "Wallbreaker", + "movepool": ["earthquake", "extremespeed", "outrage", "superpower"] }, { - "role": "Bulky Setup", - "movepool": ["dragonclaw", "dragondance", "earthquake", "firepunch", "roost"] + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "firepunch", "outrage", "roost"], + "preferredTypes": ["Ground"] } ] }, @@ -824,11 +827,11 @@ ] }, "meganium": { - "level": 90, + "level": 91, "sets": [ { - "role": "Bulky Support", - "movepool": ["aromatherapy", "energyball", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"] + "role": "Staller", + "movepool": ["aromatherapy", "earthquake", "energyball", "leechseed", "synthesis", "toxic"] } ] }, @@ -856,7 +859,7 @@ ] }, "furret": { - "level": 92, + "level": 93, "sets": [ { "role": "Wallbreaker", @@ -865,11 +868,11 @@ ] }, "noctowl": { - "level": 96, + "level": 97, "sets": [ { "role": "Staller", - "movepool": ["nightshade", "roost", "toxic", "whirlwind"] + "movepool": ["airslash", "nightshade", "roost", "toxic", "whirlwind"] } ] }, @@ -877,8 +880,8 @@ "level": 100, "sets": [ { - "role": "Bulky Support", - "movepool": ["encore", "knockoff", "lightscreen", "reflect", "roost", "toxic", "uturn"] + "role": "Staller", + "movepool": ["encore", "focusblast", "hiddenpowerflying", "knockoff", "roost", "toxic"] }, { "role": "Fast Support", @@ -887,7 +890,7 @@ ] }, "ariados": { - "level": 97, + "level": 98, "sets": [ { "role": "Bulky Support", @@ -932,7 +935,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["discharge", "focusblast", "healbell", "hiddenpowerice", "lightscreen", "reflect", "signalbeam", "thunderbolt", "toxic"] + "movepool": ["discharge", "focusblast", "healbell", "hiddenpowerice", "signalbeam", "thunderbolt", "toxic"] } ] }, @@ -941,7 +944,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["energyball", "hiddenpowerfire", "hiddenpowerrock", "leafstorm", "sleeppowder", "stunspore", "synthesis"] + "movepool": ["energyball", "hiddenpowerfire", "hiddenpowerrock", "leafstorm", "leechseed", "sleeppowder", "stunspore", "synthesis"] } ] }, @@ -989,13 +992,13 @@ "movepool": ["encore", "energyball", "sleeppowder", "stunspore", "toxic", "uturn"] }, { - "role": "Staller", - "movepool": ["bounce", "leechseed", "substitute", "toxic"] + "role": "Fast Support", + "movepool": ["hiddenpowerflying", "leechseed", "protect", "substitute", "toxic"] } ] }, "sunflora": { - "level": 96, + "level": 97, "sets": [ { "role": "Wallbreaker", @@ -1013,15 +1016,15 @@ ] }, "espeon": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Attacker", - "movepool": ["calmmind", "hiddenpowerfire", "morningsun", "psychic", "signalbeam", "trick"] + "movepool": ["calmmind", "hiddenpowerfighting", "morningsun", "psychic", "signalbeam", "trick"] }, { "role": "Setup Sweeper", - "movepool": ["batonpass", "calmmind", "hiddenpowerfire", "morningsun", "psychic", "substitute"] + "movepool": ["batonpass", "calmmind", "hiddenpowerfighting", "morningsun", "psychic", "substitute"] } ] }, @@ -1063,7 +1066,7 @@ ] }, "wobbuffet": { - "level": 81, + "level": 84, "sets": [ { "role": "Bulky Support", @@ -1072,20 +1075,20 @@ ] }, "girafarig": { - "level": 91, + "level": 92, "sets": [ { "role": "Setup Sweeper", - "movepool": ["batonpass", "calmmind", "hiddenpowerfire", "psychic", "substitute", "thunderbolt"] + "movepool": ["batonpass", "calmmind", "hiddenpowerfighting", "psychic", "substitute", "thunderbolt"] } ] }, "forretress": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Support", - "movepool": ["explosion", "gyroball", "rapidspin", "spikes", "stealthrock", "toxicspikes"] + "movepool": ["explosion", "payback", "rapidspin", "spikes", "stealthrock", "toxicspikes"] } ] }, @@ -1109,6 +1112,10 @@ { "role": "Bulky Support", "movepool": ["earthquake", "explosion", "ironhead", "roar", "stealthrock", "stoneedge", "toxic"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "ironhead", "protect", "toxic"] } ] }, @@ -1131,7 +1138,7 @@ ] }, "scizor": { - "level": 79, + "level": 77, "sets": [ { "role": "Setup Sweeper", @@ -1147,8 +1154,8 @@ "level": 93, "sets": [ { - "role": "Staller", - "movepool": ["encore", "knockoff", "rest", "stealthrock", "toxic"] + "role": "Bulky Support", + "movepool": ["encore", "knockoff", "protect", "stealthrock", "toxic"] } ] }, @@ -1175,7 +1182,7 @@ ] }, "magcargo": { - "level": 93, + "level": 95, "sets": [ { "role": "Staller", @@ -1184,7 +1191,7 @@ ] }, "corsola": { - "level": 93, + "level": 97, "sets": [ { "role": "Bulky Support", @@ -1193,7 +1200,7 @@ ] }, "octillery": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Attacker", @@ -1211,11 +1218,15 @@ ] }, "mantine": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Support", - "movepool": ["hiddenpowerflying", "rest", "sleeptalk", "surf", "toxic"] + "movepool": ["rest", "sleeptalk", "surf", "toxic"] + }, + { + "role": "Staller", + "movepool": ["hiddenpowerflying", "protect", "surf", "toxic"] } ] }, @@ -1225,11 +1236,15 @@ { "role": "Bulky Support", "movepool": ["bravebird", "roost", "spikes", "stealthrock", "whirlwind"] + }, + { + "role": "Staller", + "movepool": ["bravebird", "roost", "spikes", "stealthrock", "toxic"] } ] }, "houndoom": { - "level": 83, + "level": 82, "sets": [ { "role": "Wallbreaker", @@ -1270,7 +1285,7 @@ ] }, "porygon2": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Support", @@ -1320,11 +1335,11 @@ ] }, "blissey": { - "level": 80, + "level": 81, "sets": [ { "role": "Staller", - "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] + "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic"] }, { "role": "Bulky Support", @@ -1340,23 +1355,27 @@ "movepool": ["aurasphere", "hiddenpowerice", "shadowball", "thunderbolt"] }, { - "role": "Setup Sweeper", - "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"] + "role": "Bulky Setup", + "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] } ] }, "entei": { - "level": 82, + "level": 81, "sets": [ { "role": "Wallbreaker", - "movepool": ["extremespeed", "flareblitz", "hiddenpowergrass", "ironhead", "stoneedge"], - "preferredTypes": ["Normal"] + "movepool": ["extremespeed", "flareblitz", "ironhead", "stoneedge"] + }, + { + "role": "Fast Attacker", + "movepool": ["extremespeed", "flareblitz", "hiddenpowergrass", "stoneedge"] } ] }, "suicune": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Attacker", @@ -1369,7 +1388,7 @@ ] }, "tyranitar": { - "level": 79, + "level": 78, "sets": [ { "role": "Bulky Attacker", @@ -1404,7 +1423,7 @@ ] }, "celebi": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -1413,7 +1432,7 @@ }, { "role": "Bulky Support", - "movepool": ["healbell", "leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] + "movepool": ["leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] }, { "role": "Setup Sweeper", @@ -1422,7 +1441,7 @@ ] }, "sceptile": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", @@ -1468,9 +1487,8 @@ "level": 93, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["crunch", "doubleedge", "firefang", "suckerpunch", "superfang", "taunt", "toxic"], - "preferredTypes": ["Fire"] + "role": "Bulky Support", + "movepool": ["crunch", "doubleedge", "firefang", "suckerpunch", "superfang", "taunt", "toxic"] } ] }, @@ -1484,7 +1502,7 @@ ] }, "beautifly": { - "level": 95, + "level": 98, "sets": [ { "role": "Fast Attacker", @@ -1493,11 +1511,11 @@ ] }, "dustox": { - "level": 98, + "level": 100, "sets": [ { "role": "Staller", - "movepool": ["bugbuzz", "roost", "toxic", "uturn", "whirlwind"] + "movepool": ["bugbuzz", "hiddenpowerground", "roost", "toxic", "uturn", "whirlwind"] } ] }, @@ -1510,7 +1528,7 @@ }, { "role": "Wallbreaker", - "movepool": ["energyball", "focusblast", "hydropump", "icebeam", "surf"] + "movepool": ["energyball", "hydropump", "icebeam", "surf"] } ] }, @@ -1528,7 +1546,7 @@ ] }, "swellow": { - "level": 83, + "level": 82, "sets": [ { "role": "Wallbreaker", @@ -1561,16 +1579,20 @@ ] }, "masquerain": { - "level": 96, + "level": 97, "sets": [ { "role": "Setup Sweeper", "movepool": ["agility", "airslash", "batonpass", "bugbuzz", "hydropump", "roost"] + }, + { + "role": "Bulky Support", + "movepool": ["airslash", "bugbuzz", "hydropump", "roost", "stunspore", "toxic"] } ] }, "breloom": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", @@ -1583,11 +1605,11 @@ ] }, "vigoroth": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", - "movepool": ["bodyslam", "earthquake", "encore", "lowkick", "nightslash", "return", "slackoff", "suckerpunch"] + "movepool": ["bodyslam", "earthquake", "encore", "nightslash", "return", "slackoff", "suckerpunch"] }, { "role": "Bulky Setup", @@ -1595,7 +1617,7 @@ }, { "role": "Setup Sweeper", - "movepool": ["bodyslam", "bulkup", "earthquake", "lowkick", "nightslash", "return", "suckerpunch"] + "movepool": ["bodyslam", "bulkup", "earthquake", "nightslash", "return", "suckerpunch"] } ] }, @@ -1604,8 +1626,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["doubleedge", "earthquake", "firepunch", "gigaimpact", "nightslash", "return"], - "preferredTypes": ["Ground"] + "movepool": ["doubleedge", "earthquake", "gigaimpact", "nightslash", "return"] } ] }, @@ -1623,7 +1644,7 @@ ] }, "shedinja": { - "level": 92, + "level": 97, "sets": [ { "role": "Setup Sweeper", @@ -1632,7 +1653,7 @@ ] }, "exploud": { - "level": 89, + "level": 90, "sets": [ { "role": "Wallbreaker", @@ -1655,7 +1676,7 @@ ] }, "delcatty": { - "level": 99, + "level": 100, "sets": [ { "role": "Bulky Support", @@ -1671,8 +1692,8 @@ "level": 99, "sets": [ { - "role": "Bulky Support", - "movepool": ["recover", "seismictoss", "taunt", "toxic", "willowisp"] + "role": "Bulky Attacker", + "movepool": ["payback", "recover", "seismictoss", "toxic", "willowisp"] } ] }, @@ -1709,42 +1730,54 @@ ] }, "manectric": { - "level": 87, + "level": 83, "sets": [ { - "role": "Fast Attacker", - "movepool": ["flamethrower", "hiddenpowergrass", "hiddenpowerice", "overheat", "switcheroo", "thunderbolt"] + "role": "Wallbreaker", + "movepool": ["flamethrower", "hiddenpowerice", "overheat", "switcheroo", "thunderbolt"] } ] }, "plusle": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Setup", "movepool": ["batonpass", "encore", "hiddenpowerice", "nastyplot", "thunderbolt"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] } ] }, "minun": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Setup", "movepool": ["batonpass", "encore", "hiddenpowerice", "nastyplot", "thunderbolt"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] } ] }, "volbeat": { - "level": 96, + "level": 98, "sets": [ { "role": "Setup Sweeper", "movepool": ["batonpass", "bugbuzz", "substitute", "tailglow"] }, { - "role": "Bulky Setup", + "role": "Bulky Support", "movepool": ["batonpass", "bugbuzz", "encore", "tailglow"] + }, + { + "role": "Bulky Setup", + "movepool": ["batonpass", "bugbuzz", "roost", "tailglow"] } ] }, @@ -1753,25 +1786,33 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["bugbuzz", "encore", "roost", "thunderbolt", "thunderwave", "toxic", "uturn"] + "movepool": ["bugbuzz", "encore", "roost", "thunderwave", "toxic", "uturn"] } ] }, "swalot": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Support", "movepool": ["earthquake", "encore", "explosion", "icebeam", "painsplit", "sludgebomb", "toxic", "yawn"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "sludgebomb", "toxic"] } ] }, "sharpedo": { "level": 85, "sets": [ + { + "role": "Wallbreaker", + "movepool": ["aquajet", "crunch", "earthquake", "hydropump", "icebeam"] + }, { "role": "Fast Attacker", - "movepool": ["aquajet", "crunch", "earthquake", "hiddenpowergrass", "hydropump", "icebeam", "waterfall"] + "movepool": ["aquajet", "crunch", "earthquake", "icebeam", "waterfall"] } ] }, @@ -1786,7 +1827,7 @@ ] }, "camerupt": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -1812,7 +1853,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["focusblast", "healbell", "lightscreen", "psychic", "reflect", "thunderwave", "toxic"] + "movepool": ["focusblast", "healbell", "psychic", "thunderwave", "toxic"] }, { "role": "Bulky Attacker", @@ -1869,14 +1910,14 @@ ] }, "altaria": { - "level": 86, + "level": 87, "sets": [ { "role": "Bulky Setup", "movepool": ["dragondance", "earthquake", "outrage", "roost"] }, { - "role": "Bulky Support", + "role": "Bulky Attacker", "movepool": ["dracometeor", "earthquake", "fireblast", "haze", "healbell", "roost", "toxic"] } ] @@ -1892,7 +1933,7 @@ ] }, "seviper": { - "level": 91, + "level": 92, "sets": [ { "role": "Fast Attacker", @@ -1902,11 +1943,15 @@ ] }, "lunatone": { - "level": 94, + "level": 93, "sets": [ { "role": "Bulky Setup", "movepool": ["batonpass", "calmmind", "earthpower", "psychic", "shadowball", "substitute"] + }, + { + "role": "Bulky Support", + "movepool": ["earthpower", "explosion", "psychic", "stealthrock", "toxic"] } ] }, @@ -1921,7 +1966,7 @@ ] }, "whiscash": { - "level": 88, + "level": 87, "sets": [ { "role": "Setup Sweeper", @@ -1974,7 +2019,7 @@ ] }, "milotic": { - "level": 82, + "level": 81, "sets": [ { "role": "Staller", @@ -1987,7 +2032,7 @@ ] }, "castform": { - "level": 100, + "level": 98, "sets": [ { "role": "Bulky Attacker", @@ -2014,7 +2059,7 @@ ] }, "tropius": { - "level": 94, + "level": 95, "sets": [ { "role": "Staller", @@ -2028,7 +2073,7 @@ ] }, "chimecho": { - "level": 92, + "level": 93, "sets": [ { "role": "Bulky Support", @@ -2044,9 +2089,13 @@ "level": 85, "sets": [ { - "role": "Wallbreaker", - "movepool": ["nightslash", "psychocut", "pursuit", "suckerpunch", "superpower", "swordsdance"], + "role": "Bulky Attacker", + "movepool": ["nightslash", "psychocut", "pursuit", "suckerpunch", "superpower"], "preferredTypes": ["Fighting"] + }, + { + "role": "Setup Sweeper", + "movepool": ["nightslash", "suckerpunch", "superpower", "swordsdance"] } ] }, @@ -2073,7 +2122,7 @@ ] }, "huntail": { - "level": 89, + "level": 90, "sets": [ { "role": "Setup Sweeper", @@ -2097,7 +2146,7 @@ ] }, "relicanth": { - "level": 87, + "level": 86, "sets": [ { "role": "Bulky Attacker", @@ -2115,12 +2164,12 @@ "sets": [ { "role": "Staller", - "movepool": ["charm", "protect", "surf", "toxic"] + "movepool": ["icebeam", "protect", "substitute", "surf", "toxic"] } ] }, "salamence": { - "level": 75, + "level": 74, "sets": [ { "role": "Setup Sweeper", @@ -2130,7 +2179,7 @@ ] }, "metagross": { - "level": 78, + "level": 77, "sets": [ { "role": "Setup Sweeper", @@ -2149,7 +2198,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "explosion", "stealthrock", "stoneedge", "thunderwave", "toxic"] + "movepool": ["earthquake", "explosion", "rest", "stealthrock", "stoneedge", "thunderwave", "toxic"] }, { "role": "Bulky Support", @@ -2193,7 +2242,7 @@ }, { "role": "Staller", - "movepool": ["protect", "seismictoss", "stealthrock", "toxic"] + "movepool": ["protect", "seismictoss", "stealthrock", "thunderwave", "toxic"] } ] }, @@ -2216,20 +2265,20 @@ ] }, "kyogre": { - "level": 69, + "level": 68, "sets": [ { "role": "Fast Attacker", "movepool": ["icebeam", "surf", "thunder", "waterspout"] }, { - "role": "Bulky Setup", + "role": "Bulky Support", "movepool": ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder"] } ] }, "groudon": { - "level": 73, + "level": 72, "sets": [ { "role": "Bulky Support", @@ -2274,27 +2323,27 @@ ] }, "deoxys": { - "level": 75, + "level": 74, "sets": [ { "role": "Wallbreaker", - "movepool": ["extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "shadowball", "stealthrock", "superpower"], + "movepool": ["extremespeed", "icebeam", "psychoboost", "shadowball", "stealthrock", "superpower"], "preferredTypes": ["Fighting"] } ] }, "deoxysattack": { - "level": 74, + "level": 73, "sets": [ { "role": "Wallbreaker", - "movepool": ["extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "shadowball", "superpower"], + "movepool": ["extremespeed", "icebeam", "psychoboost", "shadowball", "superpower"], "preferredTypes": ["Fighting"] } ] }, "deoxysdefense": { - "level": 77, + "level": 79, "sets": [ { "role": "Bulky Support", @@ -2307,12 +2356,12 @@ "sets": [ { "role": "Fast Support", - "movepool": ["lightscreen", "psychoboost", "reflect", "spikes", "stealthrock", "superpower", "taunt"] + "movepool": ["psychoboost", "spikes", "stealthrock", "superpower", "taunt"] } ] }, "torterra": { - "level": 88, + "level": 86, "sets": [ { "role": "Bulky Attacker", @@ -2320,12 +2369,12 @@ }, { "role": "Bulky Setup", - "movepool": ["earthquake", "rockpolish", "stoneedge", "swordsdance", "woodhammer"] + "movepool": ["earthquake", "rockpolish", "stoneedge", "woodhammer"] } ] }, "infernape": { - "level": 79, + "level": 77, "sets": [ { "role": "Wallbreaker", @@ -2338,7 +2387,7 @@ ] }, "empoleon": { - "level": 80, + "level": 79, "sets": [ { "role": "Staller", @@ -2355,7 +2404,7 @@ ] }, "staraptor": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Attacker", @@ -2402,16 +2451,16 @@ ] }, "roserade": { - "level": 80, + "level": 81, "sets": [ { "role": "Fast Support", - "movepool": ["energyball", "hiddenpowerfire", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] + "movepool": ["energyball", "hiddenpowerground", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] } ] }, "rampardos": { - "level": 90, + "level": 89, "sets": [ { "role": "Setup Sweeper", @@ -2420,12 +2469,12 @@ }, { "role": "Fast Attacker", - "movepool": ["earthquake", "firepunch", "headsmash", "superpower", "zenheadbutt"] + "movepool": ["earthquake", "headsmash", "stoneedge", "superpower"] } ] }, "bastiodon": { - "level": 91, + "level": 92, "sets": [ { "role": "Bulky Support", @@ -2438,7 +2487,7 @@ ] }, "wormadam": { - "level": 98, + "level": 100, "sets": [ { "role": "Wallbreaker", @@ -2447,7 +2496,7 @@ ] }, "wormadamsandy": { - "level": 97, + "level": 99, "sets": [ { "role": "Staller", @@ -2456,16 +2505,16 @@ ] }, "wormadamtrash": { - "level": 87, + "level": 86, "sets": [ { "role": "Staller", - "movepool": ["flashcannon", "protect", "stealthrock", "toxic"] + "movepool": ["flashcannon", "protect", "stealthrock", "suckerpunch", "toxic"] } ] }, "mothim": { - "level": 93, + "level": 97, "sets": [ { "role": "Fast Attacker", @@ -2475,11 +2524,11 @@ ] }, "vespiquen": { - "level": 99, + "level": 100, "sets": [ { "role": "Staller", - "movepool": ["attackorder", "defendorder", "roost", "substitute", "toxic", "uturn"] + "movepool": ["hiddenpowerflying", "roost", "toxic", "uturn"] } ] }, @@ -2497,33 +2546,25 @@ ] }, "floatzel": { - "level": 86, + "level": 84, "sets": [ { "role": "Fast Attacker", - "movepool": ["aquajet", "crunch", "icepunch", "return", "waterfall"] + "movepool": ["aquajet", "crunch", "icepunch", "return", "waterfall"], + "preferredTypes": ["Ice"] }, { "role": "Setup Sweeper", - "movepool": ["aquajet", "batonpass", "bulkup", "icepunch", "return", "substitute", "waterfall"] + "movepool": ["aquajet", "bulkup", "icepunch", "return", "substitute", "waterfall"] } ] }, "cherrim": { - "level": 94, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["aromatherapy", "energyball", "hiddenpowerfire", "hiddenpowerground", "hiddenpowerrock", "synthesis", "toxic"] - } - ] - }, - "cherrimsunshine": { - "level": 94, + "level": 96, "sets": [ { - "role": "Setup Sweeper", - "movepool": ["hiddenpowerice", "solarbeam", "sunnyday", "weatherball"] + "role": "Staller", + "movepool": ["aromatherapy", "energyball", "hiddenpowerground", "leechseed", "synthesis", "toxic"] } ] }, @@ -2537,7 +2578,7 @@ ] }, "ambipom": { - "level": 84, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -2546,7 +2587,7 @@ ] }, "drifblim": { - "level": 85, + "level": 84, "sets": [ { "role": "Setup Sweeper", @@ -2555,7 +2596,7 @@ ] }, "lopunny": { - "level": 88, + "level": 87, "sets": [ { "role": "Fast Support", @@ -2594,12 +2635,12 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "return", "shadowclaw", "taunt", "uturn"] + "movepool": ["fakeout", "irontail", "return", "shadowclaw", "uturn"] } ] }, "skuntank": { - "level": 86, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -2612,7 +2653,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["earthquake", "explosion", "ironhead", "lightscreen", "payback", "reflect", "stealthrock", "toxic"] + "movepool": ["earthquake", "explosion", "ironhead", "payback", "stealthrock", "toxic"] }, { "role": "Staller", @@ -2664,11 +2705,11 @@ ] }, "lucario": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", - "movepool": ["closecombat", "crunch", "extremespeed", "icepunch", "swordsdance"], + "movepool": ["closecombat", "crunch", "extremespeed", "stoneedge", "swordsdance"], "preferredTypes": ["Normal"] } ] @@ -2683,7 +2724,7 @@ ] }, "drapion": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", @@ -2701,12 +2742,12 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["crosschop", "icepunch", "poisonjab", "substitute", "suckerpunch", "swordsdance"] + "movepool": ["crosschop", "earthquake", "icepunch", "poisonjab", "substitute", "suckerpunch", "swordsdance"] } ] }, "carnivine": { - "level": 95, + "level": 96, "sets": [ { "role": "Bulky Support", @@ -2732,13 +2773,12 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["blizzard", "earthquake", "focusblast", "hiddenpowerfire", "iceshard", "woodhammer"], - "preferredTypes": ["Grass"] + "movepool": ["blizzard", "earthquake", "iceshard", "woodhammer"] } ] }, "weavile": { - "level": 78, + "level": 77, "sets": [ { "role": "Fast Attacker", @@ -2754,13 +2794,13 @@ "movepool": ["explosion", "flashcannon", "hiddenpowerfire", "hiddenpowerice", "thunderbolt"] }, { - "role": "Bulky Support", - "movepool": ["hiddenpowerfighting", "hiddenpowerfire", "magnetrise", "substitute", "thunderbolt"] + "role": "Staller", + "movepool": ["hiddenpowerice", "protect", "thunderbolt", "toxic"] } ] }, "lickilicky": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -2774,7 +2814,7 @@ ] }, "rhyperior": { - "level": 82, + "level": 79, "sets": [ { "role": "Bulky Attacker", @@ -2783,7 +2823,7 @@ ] }, "tangrowth": { - "level": 86, + "level": 88, "sets": [ { "role": "Bulky Attacker", @@ -2873,7 +2913,7 @@ ] }, "gliscor": { - "level": 80, + "level": 81, "sets": [ { "role": "Bulky Support", @@ -2886,7 +2926,7 @@ ] }, "mamoswine": { - "level": 80, + "level": 79, "sets": [ { "role": "Wallbreaker", @@ -2904,7 +2944,7 @@ ] }, "gallade": { - "level": 82, + "level": 83, "sets": [ { "role": "Fast Attacker", @@ -2913,7 +2953,7 @@ ] }, "probopass": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -2922,11 +2962,16 @@ ] }, "dusknoir": { - "level": 84, + "level": 85, "sets": [ { "role": "Bulky Support", - "movepool": ["earthquake", "icepunch", "painsplit", "shadowsneak", "trick", "willowisp"] + "movepool": ["earthquake", "icepunch", "painsplit", "shadowsneak", "toxic", "trick", "willowisp"], + "preferredTypes": ["Ground"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "shadowsneak", "toxic"] }, { "role": "Bulky Attacker", @@ -2959,6 +3004,10 @@ "role": "Bulky Attacker", "movepool": ["overheat", "painsplit", "shadowball", "thunderbolt", "trick", "willowisp"], "preferredTypes": ["Fire"] + }, + { + "role": "Bulky Support", + "movepool": ["rest", "shadowball", "sleeptalk", "thunderbolt"] } ] }, @@ -2969,11 +3018,15 @@ "role": "Bulky Attacker", "movepool": ["hydropump", "painsplit", "shadowball", "thunderbolt", "trick", "willowisp"], "preferredTypes": ["Water"] + }, + { + "role": "Bulky Support", + "movepool": ["rest", "shadowball", "sleeptalk", "thunderbolt"] } ] }, "rotomfrost": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Attacker", @@ -3000,12 +3053,16 @@ ] }, "rotommow": { - "level": 79, + "level": 80, "sets": [ { "role": "Bulky Attacker", "movepool": ["leafstorm", "painsplit", "shadowball", "thunderbolt", "trick", "willowisp"], "preferredTypes": ["Grass"] + }, + { + "role": "Bulky Support", + "movepool": ["rest", "shadowball", "sleeptalk", "thunderbolt"] } ] }, @@ -3014,7 +3071,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["healbell", "lightscreen", "psychic", "reflect", "stealthrock", "thunderwave", "uturn", "yawn"] + "movepool": ["healbell", "psychic", "stealthrock", "thunderwave", "uturn", "yawn"] } ] }, @@ -3023,16 +3080,16 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["calmmind", "healingwish", "hiddenpowerfire", "icebeam", "psychic", "thunderbolt", "trick", "uturn"] + "movepool": ["calmmind", "healingwish", "hiddenpowerfighting", "icebeam", "psychic", "thunderbolt", "trick", "uturn"] }, { "role": "Bulky Support", - "movepool": ["hiddenpowerfire", "psychic", "stealthrock", "thunderwave", "toxic", "uturn"] + "movepool": ["hiddenpowerfighting", "psychic", "stealthrock", "thunderwave", "toxic", "uturn"] } ] }, "azelf": { - "level": 78, + "level": 77, "sets": [ { "role": "Fast Attacker", @@ -3046,7 +3103,7 @@ ] }, "dialga": { - "level": 70, + "level": 71, "sets": [ { "role": "Bulky Attacker", @@ -3075,7 +3132,7 @@ ] }, "heatran": { - "level": 77, + "level": 74, "sets": [ { "role": "Fast Attacker", @@ -3093,11 +3150,11 @@ ] }, "regigigas": { - "level": 84, + "level": 82, "sets": [ { "role": "Staller", - "movepool": ["confuseray", "earthquake", "return", "substitute", "thunderwave"] + "movepool": ["earthquake", "return", "substitute", "thunderwave"] } ] }, @@ -3107,15 +3164,11 @@ { "role": "Fast Attacker", "movepool": ["dracometeor", "earthquake", "hiddenpowerfire", "outrage", "shadowball", "shadowsneak", "willowisp"] - }, - { - "role": "Bulky Setup", - "movepool": ["aurasphere", "calmmind", "dragonpulse", "substitute"] } ] }, "giratina": { - "level": 70, + "level": 69, "sets": [ { "role": "Fast Support", @@ -3140,7 +3193,7 @@ }, { "role": "Bulky Support", - "movepool": ["hiddenpowerfighting", "lightscreen", "moonlight", "psychic", "reflect", "thunderwave", "toxic"] + "movepool": ["hiddenpowerfighting", "moonlight", "psychic", "thunderwave", "toxic"] } ] }, @@ -3167,7 +3220,7 @@ ] }, "darkrai": { - "level": 70, + "level": 69, "sets": [ { "role": "Setup Sweeper", @@ -3190,7 +3243,7 @@ ] }, "shayminsky": { - "level": 72, + "level": 71, "sets": [ { "role": "Fast Attacker", @@ -3203,7 +3256,8 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["earthquake", "extremespeed", "recover", "shadowclaw", "swordsdance"] + "movepool": ["earthquake", "extremespeed", "recover", "shadowclaw", "swordsdance"], + "preferredTypes": ["Ground"] } ] }, @@ -3329,11 +3383,13 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["calmmind", "earthpower", "fireblast", "recover", "sludgebomb"] + "movepool": ["calmmind", "earthpower", "fireblast", "recover", "sludgebomb"], + "preferredTypes": ["Ground"] }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "fireblast", "icebeam", "recover", "sludgebomb", "stealthrock", "willowisp"] + "movepool": ["earthquake", "fireblast", "icebeam", "recover", "sludgebomb", "stealthrock", "willowisp"], + "preferredTypes": ["Ground"] } ] }, diff --git a/data/mods/gen4/random-teams.ts b/data/random-battles/gen4/teams.ts similarity index 91% rename from data/mods/gen4/random-teams.ts rename to data/random-battles/gen4/teams.ts index eb952474ebea..af367fa8c43d 100644 --- a/data/mods/gen4/random-teams.ts +++ b/data/random-battles/gen4/teams.ts @@ -1,7 +1,7 @@ -import RandomGen5Teams from '../gen5/random-teams'; +import RandomGen5Teams from '../gen5/teams'; import {Utils} from '../../../lib'; import {PRNG} from '../../../sim'; -import type {MoveCounter} from '../gen8/random-teams'; +import type {MoveCounter} from '../gen8/teams'; // Moves that restore HP: const RECOVERY_MOVES = [ @@ -39,11 +39,11 @@ const MOVE_PAIRS = [ /** Pokemon who always want priority STAB, and are fine with it as its only STAB move of that type */ const PRIORITY_POKEMON = [ - 'cacturne', 'dusknoir', 'honchkrow', 'mamoswine', 'scizor', 'shedinja', + 'cacturne', 'dusknoir', 'honchkrow', 'mamoswine', 'scizor', 'shedinja', 'shiftry', ]; export class RandomGen4Teams extends RandomGen5Teams { - randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./random-sets.json'); + randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./sets.json'); constructor(format: string | Format, prng: PRNG | PRNGSeed | null) { super(format, prng); @@ -59,7 +59,7 @@ export class RandomGen4Teams extends RandomGen5Teams { Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric'), Fighting: (movePool, moves, abilities, types, counter) => !counter.get('Fighting'), Fire: (movePool, moves, abilities, types, counter) => !counter.get('Fire'), - Flying: (movePool, moves, abilities, types, counter, species) => (!counter.get('Flying') && species.id !== 'mantine'), + Flying: (movePool, moves, abilities, types, counter, species) => !counter.get('Flying'), Ghost: (movePool, moves, abilities, types, counter) => !counter.get('Ghost'), Grass: (movePool, moves, abilities, types, counter, species) => ( !counter.get('Grass') && @@ -88,7 +88,6 @@ export class RandomGen4Teams extends RandomGen5Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): void { @@ -161,8 +160,6 @@ export class RandomGen4Teams extends RandomGen5Teams { // Develop additional move lists const badWithSetup = ['healbell', 'pursuit', 'toxic']; - const statusInflictingMoves = ['stunspore', 'thunderwave', 'toxic', 'willowisp', 'yawn']; - // Nature Power is Earthquake this gen const statusMoves = this.dex.moves.all() .filter(move => move.category === 'Status') .map(move => move.id); @@ -189,9 +186,7 @@ export class RandomGen4Teams extends RandomGen5Teams { ['discharge', 'thunderbolt'], ['gunkshot', 'poisonjab'], ['payback', 'pursuit'], - - // Status move incompatibilities - [statusInflictingMoves, statusInflictingMoves], + ['protect', 'swordsdance'], // Assorted hardcodes go here: // Manectric @@ -206,9 +201,28 @@ export class RandomGen4Teams extends RandomGen5Teams { ['bodyslam', 'healingwish'], // Blaziken ['agility', 'vacuumwave'], + // Shuckle + ['knockoff', 'protect'], ]; for (const pair of incompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); + + const statusInflictingMoves = ['stunspore', 'thunderwave', 'toxic', 'willowisp', 'yawn']; + if (role !== 'Staller') { + this.incompatibleMoves(moves, movePool, statusInflictingMoves, statusInflictingMoves); + } + + // Cull filler moves for otherwise fixed set Stealth Rock users + if (!teamDetails.stealthRock) { + if (species.id === 'registeel' && role === 'Staller') { + if (movePool.includes('thunderwave')) this.fastPop(movePool, movePool.indexOf('thunderwave')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (species.id === 'wormadamtrash' && role === 'Staller') { + if (movePool.includes('suckerpunch')) this.fastPop(movePool, movePool.indexOf('suckerpunch')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + } } // Generate random moveset for a given species, role, preferred type. @@ -218,14 +232,13 @@ export class RandomGen4Teams extends RandomGen5Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, movePool: string[], preferredType: string, role: RandomTeamsTypes.Role, ): Set { const moves = new Set(); let counter = this.newQueryMoves(moves, species, preferredType, abilities); - this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, isDoubles, + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, preferredType, role); // If there are only four moves, add all moves and return early @@ -233,7 +246,7 @@ export class RandomGen4Teams extends RandomGen5Teams { // Still need to ensure that multiple Hidden Powers are not added (if maxMoveCount is increased) while (movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } return moves; @@ -249,7 +262,7 @@ export class RandomGen4Teams extends RandomGen5Teams { // Add required move (e.g. Relic Song for Meloetta-P) if (species.requiredMove) { const move = this.dex.moves.get(species.requiredMove).id; - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } @@ -257,14 +270,14 @@ export class RandomGen4Teams extends RandomGen5Teams { // Enforce Facade if Guts is a possible ability if (movePool.includes('facade') && abilities.has('Guts')) { - counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } // Enforce Seismic Toss, Spore, and Volt Tackle for (const moveid of ['seismictoss', 'spore', 'volttackle']) { if (movePool.includes(moveid)) { - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -272,7 +285,7 @@ export class RandomGen4Teams extends RandomGen5Teams { // Enforce Substitute on non-Setup sets with Baton Pass if (!role.includes('Setup')) { if (movePool.includes('batonpass') && movePool.includes('substitute')) { - counter = this.addMove('substitute', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('substitute', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -280,7 +293,7 @@ export class RandomGen4Teams extends RandomGen5Teams { // Enforce hazard removal on Bulky Support and Spinner if the team doesn't already have it if (['Bulky Support', 'Spinner'].includes(role) && !teamDetails.rapidSpin) { if (movePool.includes('rapidspin')) { - counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -297,7 +310,7 @@ export class RandomGen4Teams extends RandomGen5Teams { } if (priorityMoves.length) { const moveid = this.sample(priorityMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -316,7 +329,7 @@ export class RandomGen4Teams extends RandomGen5Teams { while (runEnforcementChecker(type)) { if (!stabMoves.length) break; const moveid = this.sampleNoReplace(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -333,7 +346,7 @@ export class RandomGen4Teams extends RandomGen5Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -350,12 +363,12 @@ export class RandomGen4Teams extends RandomGen5Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } else { // If they have no regular STAB move, enforce U-turn on Bug types. if (movePool.includes('uturn') && types.includes('Bug')) { - counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -366,7 +379,7 @@ export class RandomGen4Teams extends RandomGen5Teams { const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); if (recoveryMoves.length) { const moveid = this.sample(recoveryMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -376,7 +389,7 @@ export class RandomGen4Teams extends RandomGen5Teams { const enforcedMoves = ['protect', 'toxic', 'wish']; for (const move of enforcedMoves) { if (movePool.includes(move)) { - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -387,7 +400,7 @@ export class RandomGen4Teams extends RandomGen5Teams { const setupMoves = movePool.filter(moveid => SETUP.includes(moveid)); if (setupMoves.length) { const moveid = this.sample(setupMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -402,7 +415,7 @@ export class RandomGen4Teams extends RandomGen5Teams { } if (attackingMoves.length) { const moveid = this.sample(attackingMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -423,7 +436,7 @@ export class RandomGen4Teams extends RandomGen5Teams { } if (coverageMoves.length) { const moveid = this.sample(coverageMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -432,15 +445,15 @@ export class RandomGen4Teams extends RandomGen5Teams { // Choose remaining moves randomly from movepool and add them to moves list: while (moves.size < this.maxMoveCount && movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); for (const pair of MOVE_PAIRS) { if (moveid === pair[0] && movePool.includes(pair[1])) { - counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } if (moveid === pair[1] && movePool.includes(pair[0])) { - counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -457,13 +470,12 @@ export class RandomGen4Teams extends RandomGen5Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role ): boolean { switch (ability) { - case 'Hustle': case 'Ice Body': case 'Rain Dish': case 'Sand Veil': case 'Snow Cloak': case 'Solar Power': - case 'Steadfast': case 'Sticky Hold': case 'Unaware': + case 'Hustle': case 'Ice Body': case 'Rain Dish': case 'Sand Veil': case 'Sniper': case 'Snow Cloak': + case 'Solar Power': case 'Steadfast': case 'Sticky Hold': case 'Unaware': return true; case 'Chlorophyll': return !moves.has('sunnyday') && !teamDetails.sun; @@ -476,8 +488,12 @@ export class RandomGen4Teams extends RandomGen5Teams { ); case 'Reckless': case 'Rock Head': return !counter.get('recoil'); + case 'Shed Skin': + return !moves.has('rest'); case 'Skill Link': return !counter.get('skilllink'); + case 'Swarm': + return !counter.get('Bug') && !moves.has('uturn'); case 'Technician': return !counter.get('technician'); } @@ -494,7 +510,6 @@ export class RandomGen4Teams extends RandomGen5Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): string { @@ -507,19 +522,19 @@ export class RandomGen4Teams extends RandomGen5Teams { if (species.id === 'jynx') return 'Forewarn'; if (species.id === 'arcanine') return 'Intimidate'; if (species.id === 'blissey') return 'Natural Cure'; + if (species.id === 'octillery') return 'Sniper'; if (species.id === 'yanmega') return (role === 'Fast Attacker') ? 'Speed Boost' : 'Tinted Lens'; if (species.id === 'absol') return 'Super Luck'; if (species.id === 'lanturn') return 'Volt Absorb'; if (abilities.has('Guts') && !abilities.has('Quick Feet') && moves.has('facade')) return 'Guts'; if (abilities.has('Hydration') && moves.has('raindance') && moves.has('rest')) return 'Hydration'; - if (abilities.has('Trace')) return 'Trace'; let abilityAllowed: Ability[] = []; // Obtain a list of abilities that are allowed (not culled) for (const ability of abilityData) { if (ability.rating >= 1 && !this.shouldCullAbility( - ability.name, types, moves, abilities, counter, movePool, teamDetails, species, isDoubles, preferredType, role + ability.name, types, moves, abilities, counter, movePool, teamDetails, species, preferredType, role )) { abilityAllowed.push(ability); } @@ -563,7 +578,7 @@ export class RandomGen4Teams extends RandomGen5Teams { if (species.id === 'shedinja' || species.id === 'smeargle') return 'Focus Sash'; if (species.id === 'unown') return 'Choice Specs'; if (species.id === 'wobbuffet') return 'Custap Berry'; - if (species.id === 'ditto') return 'Choice Scarf'; + if (species.id === 'ditto' || (species.id === 'rampardos' && role === 'Fast Attacker')) return 'Choice Scarf'; if (ability === 'Poison Heal' || moves.has('facade')) return 'Toxic Orb'; if (ability === 'Speed Boost' && species.id === 'yanmega') return 'Life Orb'; if (['healingwish', 'switcheroo', 'trick'].some(m => moves.has(m))) { @@ -576,6 +591,7 @@ export class RandomGen4Teams extends RandomGen5Teams { } } if (moves.has('bellydrum')) return 'Sitrus Berry'; + if (moves.has('waterspout')) return 'Choice Scarf'; if (ability === 'Magic Guard') return 'Life Orb'; if (moves.has('lightscreen') && moves.has('reflect')) return 'Light Clay'; if (moves.has('rest') && !moves.has('sleeptalk') && !['Natural Cure', 'Shed Skin'].includes(ability)) { @@ -614,7 +630,7 @@ export class RandomGen4Teams extends RandomGen5Teams { ) ? 'Choice Scarf' : 'Choice Specs'; } if ( - counter.get('Special') === 3 && role === 'Fast Attacker' && moves.has('explosion') || moves.has('selfdestruct') + counter.get('Special') === 3 && role === 'Fast Attacker' && (moves.has('explosion') || moves.has('selfdestruct')) ) return 'Choice Scarf'; if (counter.get('Special') === 3 && moves.has('uturn')) return 'Choice Specs'; if (counter.get('Physical') === 4 && species.id !== 'jirachi' && @@ -633,7 +649,7 @@ export class RandomGen4Teams extends RandomGen5Teams { if (['batonpass', 'protect', 'substitute'].some(m => moves.has(m))) return 'Leftovers'; if ( role === 'Fast Support' && isLead && defensiveStatTotal < 255 && !counter.get('recovery') && - (!counter.get('recoil') || ability === 'Rock Head') + (counter.get('hazards') || counter.get('setup')) && (!counter.get('recoil') || ability === 'Rock Head') ) return 'Focus Sash'; // Default Items @@ -663,19 +679,10 @@ export class RandomGen4Teams extends RandomGen5Teams { randomSet( species: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}, - isLead = false, - isDoubles = false + isLead = false ): RandomTeamsTypes.RandomSet { species = this.dex.species.get(species); - let forme = species.name; - - if (typeof species.battleOnly === 'string') { - // Only change the forme. The species has custom moves, and may have different typing and requirements. - forme = species.battleOnly; - } - if (species.cosmeticFormes) { - forme = this.sample([species.name].concat(species.cosmeticFormes)); - } + const forme = this.getForme(species); const sets = this.randomSets[species.id]["sets"]; const possibleSets = []; // Check if the Pokemon has a Spinner set @@ -707,13 +714,13 @@ export class RandomGen4Teams extends RandomGen5Teams { if (species.unreleasedHidden) abilities.delete(species.abilities.H); // Get moves - const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, isDoubles, movePool, + const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, movePool, preferredType, role); const counter = this.newQueryMoves(moves, species, preferredType, abilities); // Get ability ability = this.getAbility(new Set(types), moves, abilities, counter, movePool, teamDetails, species, - false, preferredType, role); + preferredType, role); // Get items item = this.getPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, preferredType, role); @@ -726,7 +733,7 @@ export class RandomGen4Teams extends RandomGen5Teams { item = 'Black Sludge'; } - const level = this.adjustLevel || this.randomSets[species.id]["level"] || (species.nfe ? 90 : 80); + const level = this.getLevel(species); // We use a special variable to track Hidden Power // so that we can check for all Hidden Powers at once @@ -750,9 +757,7 @@ export class RandomGen4Teams extends RandomGen5Teams { // Prepare optimal HP const srImmunity = ability === 'Magic Guard'; - let srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); - // Crash damage move users want an odd HP to survive two misses - if (['highjumpkick', 'jumpkick'].some(m => moves.has(m))) srWeakness = 2; + const srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); while (evs.hp > 1) { const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); if (moves.has('substitute') && item === 'Sitrus Berry') { @@ -763,7 +768,8 @@ export class RandomGen4Teams extends RandomGen5Teams { if (hp % 2 === 0) break; } else { // Maximize number of Stealth Rock switch-ins - if (srWeakness <= 0 || ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; + if (srWeakness <= 0) break; + if (srWeakness === 1 && ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; if (item !== 'Sitrus Berry' && hp % (4 / srWeakness) > 0) break; // Minimise number of Stealth Rock switch-ins to activate Sitrus Berry if (item === 'Sitrus Berry' && hp % (4 / srWeakness) === 0) break; diff --git a/data/mods/gen5/random-sets.json b/data/random-battles/gen5/sets.json similarity index 90% rename from data/mods/gen5/random-sets.json rename to data/random-battles/gen5/sets.json index 001b0652bff3..4cc2045d254e 100644 --- a/data/mods/gen5/random-sets.json +++ b/data/random-battles/gen5/sets.json @@ -1,6 +1,6 @@ { "venusaur": { - "level": 85, + "level": 84, "sets": [ { "role": "Staller", @@ -8,7 +8,7 @@ }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "hiddenpowerfire", "hiddenpowerice", "leafstorm", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["earthquake", "leafstorm", "sleeppowder", "sludgebomb", "synthesis"] } ] }, @@ -45,14 +45,18 @@ "butterfree": { "level": 93, "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["bugbuzz", "quiverdance", "sleeppowder", "substitute"] + }, { "role": "Bulky Setup", - "movepool": ["bugbuzz", "hiddenpowerrock", "psychic", "quiverdance", "sleeppowder", "substitute"] + "movepool": ["bugbuzz", "quiverdance", "roost", "sleeppowder"] } ] }, "beedrill": { - "level": 95, + "level": 97, "sets": [ { "role": "Fast Support", @@ -78,12 +82,13 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["crunch", "facade", "flamewheel", "protect", "suckerpunch", "swordsdance", "uturn"] + "movepool": ["crunch", "facade", "flamewheel", "protect", "suckerpunch", "swordsdance", "uturn"], + "preferredTypes": ["Dark"] } ] }, "fearow": { - "level": 90, + "level": 89, "sets": [ { "role": "Wallbreaker", @@ -101,7 +106,11 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["aquatail", "coil", "earthquake", "glare", "gunkshot", "rest", "seedbomb", "suckerpunch"], + "movepool": ["coil", "earthquake", "glare", "gunkshot", "suckerpunch"] + }, + { + "role": "Bulky Setup", + "movepool": ["coil", "earthquake", "gunkshot", "rest", "suckerpunch"], "preferredTypes": ["Ground"] } ] @@ -116,7 +125,7 @@ ] }, "raichu": { - "level": 88, + "level": 87, "sets": [ { "role": "Wallbreaker", @@ -148,7 +157,7 @@ ] }, "nidoking": { - "level": 83, + "level": 82, "sets": [ { "role": "Wallbreaker", @@ -158,7 +167,7 @@ ] }, "clefable": { - "level": 84, + "level": 85, "sets": [ { "role": "Bulky Support", @@ -173,15 +182,20 @@ "ninetales": { "level": 80, "sets": [ + { + "role": "Bulky Setup", + "movepool": ["fireblast", "hypnosis", "nastyplot", "solarbeam", "willowisp"], + "preferredTypes": ["Grass"] + }, { "role": "Setup Sweeper", - "movepool": ["fireblast", "hiddenpowerice", "hypnosis", "nastyplot", "solarbeam", "substitute", "willowisp"], + "movepool": ["fireblast", "hiddenpowerrock", "nastyplot", "solarbeam", "substitute"], "preferredTypes": ["Grass"] } ] }, "wigglytuff": { - "level": 92, + "level": 95, "sets": [ { "role": "Bulky Support", @@ -198,12 +212,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["aromatherapy", "gigadrain", "hiddenpowerfire", "leechseed", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["aromatherapy", "gigadrain", "hiddenpowerground", "leechseed", "sleeppowder", "sludgebomb", "synthesis"] } ] }, "parasect": { - "level": 94, + "level": 97, "sets": [ { "role": "Bulky Support", @@ -213,11 +227,15 @@ { "role": "Bulky Attacker", "movepool": ["aromatherapy", "leechseed", "seedbomb", "spore", "stunspore", "xscissor"] + }, + { + "role": "Staller", + "movepool": ["leechseed", "protect", "spore", "xscissor"] } ] }, "venomoth": { - "level": 83, + "level": 82, "sets": [ { "role": "Bulky Setup", @@ -243,12 +261,13 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["aerialace", "bite", "doubleedge", "fakeout", "hypnosis", "return", "seedbomb", "switcheroo", "taunt", "uturn"] + "movepool": ["bite", "doubleedge", "fakeout", "hypnosis", "return", "seedbomb", "taunt", "uturn"], + "preferredTypes": ["Dark"] } ] }, "golduck": { - "level": 87, + "level": 88, "sets": [ { "role": "Fast Attacker", @@ -258,11 +277,11 @@ ] }, "primeape": { - "level": 86, + "level": 85, "sets": [ { "role": "Fast Attacker", - "movepool": ["closecombat", "earthquake", "honeclaws", "icepunch", "stoneedge", "uturn"] + "movepool": ["closecombat", "earthquake", "honeclaws", "stoneedge", "uturn"] } ] }, @@ -281,7 +300,7 @@ ] }, "poliwrath": { - "level": 85, + "level": 87, "sets": [ { "role": "Setup Sweeper", @@ -294,11 +313,11 @@ ] }, "alakazam": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Attacker", - "movepool": ["counter", "focusblast", "hiddenpowerfire", "psychic", "psyshock", "shadowball"] + "movepool": ["counter", "focusblast", "psychic", "psyshock", "shadowball"] }, { "role": "Setup Sweeper", @@ -312,7 +331,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["bulkup", "bulletpunch", "dynamicpunch", "icepunch", "payback", "stoneedge"], + "movepool": ["bulkup", "bulletpunch", "dynamicpunch", "payback", "stoneedge"], "preferredTypes": ["Rock"] } ] @@ -322,7 +341,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["hiddenpowerfire", "powerwhip", "sleeppowder", "sludgebomb", "suckerpunch"] + "movepool": ["hiddenpowerground", "powerwhip", "sleeppowder", "sludgebomb", "suckerpunch"] }, { "role": "Setup Sweeper", @@ -349,7 +368,7 @@ ] }, "rapidash": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Attacker", @@ -362,14 +381,14 @@ ] }, "slowbro": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Support", "movepool": ["fireblast", "icebeam", "psyshock", "scald", "slackoff", "thunderwave", "toxic"] }, { - "role": "Bulky Setup", + "role": "Staller", "movepool": ["calmmind", "psyshock", "scald", "slackoff"] }, { @@ -389,7 +408,7 @@ ] }, "dodrio": { - "level": 87, + "level": 86, "sets": [ { "role": "Wallbreaker", @@ -411,16 +430,17 @@ ] }, "muk": { - "level": 90, + "level": 89, "sets": [ { "role": "Bulky Attacker", - "movepool": ["brickbreak", "curse", "firepunch", "icepunch", "poisonjab", "rest", "shadowsneak"] + "movepool": ["brickbreak", "curse", "icepunch", "poisonjab", "rest", "shadowsneak"], + "preferredTypes": ["Fighting"] } ] }, "cloyster": { - "level": 80, + "level": 79, "sets": [ { "role": "Setup Sweeper", @@ -429,20 +449,21 @@ ] }, "gengar": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Attacker", - "movepool": ["focusblast", "painsplit", "shadowball", "sludgewave", "substitute", "trick", "willowisp"] + "movepool": ["focusblast", "painsplit", "shadowball", "sludgewave", "substitute", "trick", "willowisp"], + "preferredTypes": ["Fighting"] } ] }, "hypno": { - "level": 90, + "level": 94, "sets": [ { "role": "Bulky Support", - "movepool": ["focusblast", "foulplay", "lightscreen", "protect", "psychic", "reflect", "thunderwave", "toxic", "wish"] + "movepool": ["focusblast", "foulplay", "protect", "psychic", "thunderwave", "toxic", "wish"] }, { "role": "Staller", @@ -451,7 +472,7 @@ ] }, "kingler": { - "level": 90, + "level": 89, "sets": [ { "role": "Setup Sweeper", @@ -468,7 +489,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["foulplay", "hiddenpowergrass", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt", "voltswitch"] + "movepool": ["foulplay", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt", "voltswitch"], + "preferredTypes": ["Ice"] }, { "role": "Fast Support", @@ -477,7 +499,7 @@ ] }, "exeggutor": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Support", @@ -532,24 +554,20 @@ ] }, "rhydon": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] + "movepool": ["earthquake", "megahorn", "stealthrock", "stoneedge", "swordsdance", "toxic"] } ] }, "chansey": { - "level": 82, + "level": 83, "sets": [ { "role": "Staller", - "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] - }, - { - "role": "Bulky Support", - "movepool": ["protect", "seismictoss", "toxic", "wish"] + "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic", "wish"] } ] }, @@ -567,7 +585,7 @@ ] }, "seaking": { - "level": 91, + "level": 92, "sets": [ { "role": "Fast Attacker", @@ -576,7 +594,7 @@ ] }, "starmie": { - "level": 80, + "level": 79, "sets": [ { "role": "Wallbreaker", @@ -599,7 +617,7 @@ ] }, "scyther": { - "level": 83, + "level": 82, "sets": [ { "role": "Setup Sweeper", @@ -616,12 +634,12 @@ }, { "role": "Setup Sweeper", - "movepool": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock", "substitute"] + "movepool": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock"] } ] }, "pinsir": { - "level": 86, + "level": 87, "sets": [ { "role": "Bulky Attacker", @@ -636,7 +654,7 @@ ] }, "tauros": { - "level": 84, + "level": 82, "sets": [ { "role": "Wallbreaker", @@ -681,7 +699,7 @@ ] }, "vaporeon": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -712,15 +730,11 @@ { "role": "Wallbreaker", "movepool": ["facade", "flamecharge", "protect", "superpower"] - }, - { - "role": "Staller", - "movepool": ["lavaplume", "protect", "toxic", "wish"] } ] }, "omastar": { - "level": 81, + "level": 80, "sets": [ { "role": "Setup Sweeper", @@ -756,7 +770,7 @@ ] }, "snorlax": { - "level": 81, + "level": 80, "sets": [ { "role": "Bulky Support", @@ -773,7 +787,7 @@ ] }, "articuno": { - "level": 84, + "level": 83, "sets": [ { "role": "Staller", @@ -804,7 +818,7 @@ ] }, "dragonair": { - "level": 89, + "level": 88, "sets": [ { "role": "Setup Sweeper", @@ -820,12 +834,13 @@ "level": 75, "sets": [ { - "role": "Fast Attacker", - "movepool": ["dragondance", "earthquake", "extremespeed", "firepunch", "outrage"] + "role": "Wallbreaker", + "movepool": ["earthquake", "extremespeed", "outrage", "superpower"] }, { - "role": "Bulky Setup", - "movepool": ["dragonclaw", "dragondance", "earthquake", "firepunch", "roost"] + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "firepunch", "outrage", "roost"], + "preferredTypes": ["Ground"] } ] }, @@ -852,16 +867,16 @@ ] }, "meganium": { - "level": 90, + "level": 91, "sets": [ { - "role": "Bulky Support", - "movepool": ["aromatherapy", "dragontail", "gigadrain", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"] + "role": "Staller", + "movepool": ["aromatherapy", "dragontail", "earthquake", "gigadrain", "leechseed", "synthesis", "toxic"] } ] }, "typhlosion": { - "level": 82, + "level": 83, "sets": [ { "role": "Fast Attacker", @@ -884,7 +899,7 @@ ] }, "furret": { - "level": 91, + "level": 92, "sets": [ { "role": "Wallbreaker", @@ -893,29 +908,25 @@ ] }, "noctowl": { - "level": 94, + "level": 95, "sets": [ { "role": "Bulky Support", "movepool": ["airslash", "heatwave", "hypervoice", "roost", "toxic", "whirlwind"] - }, - { - "role": "Staller", - "movepool": ["nightshade", "roost", "toxic", "whirlwind"] } ] }, "ledian": { - "level": 99, + "level": 100, "sets": [ { - "role": "Bulky Support", - "movepool": ["encore", "lightscreen", "reflect", "roost", "toxic", "uturn"] + "role": "Staller", + "movepool": ["acrobatics", "encore", "focusblast", "knockoff", "roost", "toxic"] } ] }, "ariados": { - "level": 95, + "level": 97, "sets": [ { "role": "Bulky Support", @@ -924,11 +935,11 @@ ] }, "crobat": { - "level": 83, + "level": 82, "sets": [ { "role": "Bulky Support", - "movepool": ["bravebird", "heatwave", "roost", "superfang", "taunt", "toxic", "uturn"] + "movepool": ["bravebird", "heatwave", "hypnosis", "roost", "superfang", "taunt", "toxic", "uturn"] } ] }, @@ -968,7 +979,7 @@ ] }, "bellossom": { - "level": 92, + "level": 93, "sets": [ { "role": "Bulky Support", @@ -990,7 +1001,7 @@ ] }, "sudowoodo": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Attacker", @@ -1000,7 +1011,7 @@ ] }, "politoed": { - "level": 83, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -1014,7 +1025,7 @@ ] }, "jumpluff": { - "level": 88, + "level": 86, "sets": [ { "role": "Fast Support", @@ -1022,16 +1033,20 @@ }, { "role": "Staller", - "movepool": ["acrobatics", "leechseed", "protect", "substitute"] + "movepool": ["acrobatics", "leechseed", "sleeppowder", "substitute"] } ] }, "sunflora": { - "level": 96, + "level": 99, "sets": [ { "role": "Wallbreaker", "movepool": ["earthpower", "hiddenpowerfire", "hiddenpowerice", "hiddenpowerrock", "leafstorm", "sludgebomb"] + }, + { + "role": "Setup Sweeper", + "movepool": ["earthpower", "hiddenpowerfire", "solarbeam", "sunnyday"] } ] }, @@ -1049,7 +1064,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["calmmind", "hiddenpowerfire", "morningsun", "psychic", "psyshock", "signalbeam", "trick"] + "movepool": ["calmmind", "hiddenpowerfighting", "morningsun", "psychic", "psyshock", "signalbeam", "trick"] } ] }, @@ -1099,7 +1114,7 @@ ] }, "wobbuffet": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Support", @@ -1108,11 +1123,11 @@ ] }, "girafarig": { - "level": 90, + "level": 91, "sets": [ { "role": "Setup Sweeper", - "movepool": ["calmmind", "hiddenpowerfire", "hypervoice", "psychic", "psyshock", "substitute", "thunderbolt"] + "movepool": ["calmmind", "hiddenpowerfighting", "hypervoice", "psychic", "psyshock", "substitute", "thunderbolt"] } ] }, @@ -1121,7 +1136,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["gyroball", "rapidspin", "spikes", "stealthrock", "toxic", "voltswitch"] + "movepool": ["earthquake", "rapidspin", "spikes", "stealthrock", "toxic", "voltswitch"] } ] }, @@ -1166,7 +1181,7 @@ ] }, "granbull": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Attacker", @@ -1175,7 +1190,7 @@ ] }, "qwilfish": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Support", @@ -1201,16 +1216,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["encore", "knockoff", "stealthrock", "toxic"] - }, - { - "role": "Staller", "movepool": ["encore", "knockoff", "protect", "stealthrock", "toxic"] } ] }, "heracross": { - "level": 81, + "level": 80, "sets": [ { "role": "Wallbreaker", @@ -1218,7 +1229,8 @@ }, { "role": "Fast Attacker", - "movepool": ["closecombat", "earthquake", "megahorn", "nightslash", "stoneedge"] + "movepool": ["closecombat", "earthquake", "megahorn", "nightslash", "stoneedge"], + "preferredTypes": ["Rock"] } ] }, @@ -1232,7 +1244,7 @@ ] }, "magcargo": { - "level": 93, + "level": 95, "sets": [ { "role": "Staller", @@ -1241,7 +1253,7 @@ ] }, "corsola": { - "level": 93, + "level": 94, "sets": [ { "role": "Bulky Support", @@ -1250,7 +1262,7 @@ ] }, "octillery": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Attacker", @@ -1281,16 +1293,20 @@ ] }, "skarmory": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Support", "movepool": ["bravebird", "roost", "spikes", "stealthrock", "whirlwind"] + }, + { + "role": "Staller", + "movepool": ["bravebird", "roost", "spikes", "stealthrock", "toxic"] } ] }, "houndoom": { - "level": 82, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -1299,7 +1315,7 @@ ] }, "kingdra": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Setup", @@ -1340,7 +1356,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["doubleedge", "earthquake", "jumpkick", "megahorn", "suckerpunch"] + "movepool": ["doubleedge", "earthquake", "hypnosis", "jumpkick", "megahorn", "suckerpunch", "thunderwave"], + "preferredTypes": ["Ground"] } ] }, @@ -1376,11 +1393,11 @@ ] }, "blissey": { - "level": 82, + "level": 84, "sets": [ { "role": "Staller", - "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] + "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic"] }, { "role": "Bulky Support", @@ -1389,30 +1406,34 @@ ] }, "raikou": { - "level": 79, + "level": 77, "sets": [ { "role": "Fast Attacker", "movepool": ["aurasphere", "hiddenpowerice", "thunderbolt", "voltswitch"] }, { - "role": "Setup Sweeper", - "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"] + "role": "Bulky Setup", + "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] } ] }, "entei": { - "level": 82, + "level": 81, "sets": [ { "role": "Wallbreaker", - "movepool": ["bulldoze", "extremespeed", "flareblitz", "hiddenpowergrass", "stoneedge"], - "preferredTypes": ["Normal"] + "movepool": ["bulldoze", "extremespeed", "flareblitz", "stoneedge"] + }, + { + "role": "Fast Attacker", + "movepool": ["extremespeed", "flareblitz", "hiddenpowergrass", "stoneedge"] } ] }, "suicune": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Attacker", @@ -1442,7 +1463,7 @@ ] }, "lugia": { - "level": 72, + "level": 71, "sets": [ { "role": "Staller", @@ -1469,7 +1490,7 @@ }, { "role": "Bulky Support", - "movepool": ["healbell", "leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] + "movepool": ["leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] }, { "role": "Bulky Setup", @@ -1478,7 +1499,7 @@ ] }, "sceptile": { - "level": 84, + "level": 82, "sets": [ { "role": "Setup Sweeper", @@ -1521,7 +1542,7 @@ ] }, "mightyena": { - "level": 92, + "level": 93, "sets": [ { "role": "Fast Attacker", @@ -1540,7 +1561,7 @@ ] }, "beautifly": { - "level": 96, + "level": 97, "sets": [ { "role": "Setup Sweeper", @@ -1549,7 +1570,7 @@ ] }, "dustox": { - "level": 91, + "level": 93, "sets": [ { "role": "Bulky Setup", @@ -1566,12 +1587,12 @@ }, { "role": "Wallbreaker", - "movepool": ["focusblast", "gigadrain", "hydropump", "icebeam", "scald"] + "movepool": ["gigadrain", "hydropump", "icebeam", "scald"] } ] }, "shiftry": { - "level": 88, + "level": 89, "sets": [ { "role": "Fast Attacker", @@ -1584,7 +1605,7 @@ ] }, "swellow": { - "level": 85, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -1593,11 +1614,11 @@ ] }, "pelipper": { - "level": 90, + "level": 89, "sets": [ { "role": "Bulky Attacker", - "movepool": ["hurricane", "icebeam", "roost", "scald", "toxic", "uturn"] + "movepool": ["hurricane", "roost", "scald", "toxic", "uturn"] } ] }, @@ -1617,7 +1638,7 @@ ] }, "masquerain": { - "level": 91, + "level": 92, "sets": [ { "role": "Setup Sweeper", @@ -1626,7 +1647,7 @@ ] }, "breloom": { - "level": 80, + "level": 78, "sets": [ { "role": "Fast Attacker", @@ -1639,7 +1660,7 @@ ] }, "vigoroth": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Setup", @@ -1648,17 +1669,16 @@ ] }, "slaking": { - "level": 86, + "level": 83, "sets": [ { "role": "Fast Attacker", - "movepool": ["earthquake", "firepunch", "gigaimpact", "nightslash", "retaliate"], - "preferredTypes": ["Ground"] + "movepool": ["earthquake", "gigaimpact", "nightslash", "retaliate"] } ] }, "ninjask": { - "level": 89, + "level": 91, "sets": [ { "role": "Fast Attacker", @@ -1680,7 +1700,7 @@ ] }, "exploud": { - "level": 90, + "level": 91, "sets": [ { "role": "Wallbreaker", @@ -1711,7 +1731,7 @@ ] }, "delcatty": { - "level": 93, + "level": 96, "sets": [ { "role": "Fast Support", @@ -1720,7 +1740,7 @@ ] }, "sableye": { - "level": 87, + "level": 88, "sets": [ { "role": "Staller", @@ -1733,7 +1753,7 @@ ] }, "mawile": { - "level": 93, + "level": 95, "sets": [ { "role": "Bulky Attacker", @@ -1762,12 +1782,11 @@ ] }, "manectric": { - "level": 84, + "level": 83, "sets": [ { - "role": "Fast Attacker", - "movepool": ["flamethrower", "hiddenpowergrass", "hiddenpowerice", "overheat", "switcheroo", "thunderbolt", "voltswitch"], - "preferredTypes": ["Fire"] + "role": "Wallbreaker", + "movepool": ["flamethrower", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch"] } ] }, @@ -1776,16 +1795,26 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] + "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] } ] }, "minun": { - "level": 90, + "level": 92, "sets": [ { "role": "Bulky Setup", - "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] + "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] } ] }, @@ -1803,7 +1832,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["bugbuzz", "encore", "roost", "thunderwave", "wish"] + "movepool": ["bugbuzz", "encore", "roost", "thunderwave"] } ] }, @@ -1813,6 +1842,10 @@ { "role": "Bulky Support", "movepool": ["earthquake", "encore", "icebeam", "painsplit", "sludgebomb", "toxic", "yawn"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "sludgebomb", "toxic"] } ] }, @@ -1826,7 +1859,7 @@ ] }, "wailord": { - "level": 90, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -1839,12 +1872,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["earthquake", "hiddenpowergrass", "lavaplume", "roar", "stealthrock", "toxic"] + "movepool": ["earthquake", "lavaplume", "roar", "stealthrock", "toxic"] } ] }, "torkoal": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Support", @@ -1857,16 +1890,20 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["focusblast", "healbell", "lightscreen", "psychic", "reflect", "thunderwave", "toxic", "whirlwind"] + "movepool": ["focusblast", "healbell", "psychic", "thunderwave", "toxic", "whirlwind"] + }, + { + "role": "Wallbreaker", + "movepool": ["calmmind", "focusblast", "psychic", "psyshock", "shadowball", "trick"] } ] }, "spinda": { - "level": 99, + "level": 98, "sets": [ { "role": "Bulky Support", - "movepool": ["icepunch", "rapidspin", "return", "suckerpunch", "superpower"], + "movepool": ["feintattack", "rapidspin", "return", "suckerpunch", "superpower"], "preferredTypes": ["Fighting"] } ] @@ -1905,13 +1942,13 @@ "movepool": ["dragondance", "earthquake", "outrage", "roost"] }, { - "role": "Bulky Support", + "role": "Bulky Attacker", "movepool": ["dracometeor", "earthquake", "fireblast", "haze", "healbell", "roost", "toxic"] } ] }, "zangoose": { - "level": 86, + "level": 85, "sets": [ { "role": "Wallbreaker", @@ -1931,16 +1968,21 @@ ] }, "lunatone": { - "level": 90, + "level": 92, "sets": [ { "role": "Wallbreaker", - "movepool": ["earthpower", "hiddenpowerrock", "icebeam", "moonlight", "psychic", "rockpolish"], + "movepool": ["earthpower", "icebeam", "moonlight", "psychic", "rockpolish"], "preferredTypes": ["Ground"] }, { "role": "Bulky Support", - "movepool": ["earthpower", "hiddenpowerrock", "moonlight", "psychic", "stealthrock", "toxic"] + "movepool": ["earthpower", "hiddenpowerrock", "moonlight", "psychic", "stealthrock", "toxic"], + "preferredTypes": ["Psychic"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "earthpower", "moonlight", "psychic"] } ] }, @@ -1967,12 +2009,12 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["crunch", "dragondance", "substitute", "superpower", "waterfall"] + "movepool": ["crunch", "dragondance", "superpower", "waterfall"] } ] }, "claydol": { - "level": 83, + "level": 85, "sets": [ { "role": "Bulky Support", @@ -1981,7 +2023,7 @@ ] }, "cradily": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Setup", @@ -2016,7 +2058,7 @@ ] }, "castform": { - "level": 99, + "level": 98, "sets": [ { "role": "Bulky Attacker", @@ -2025,7 +2067,7 @@ ] }, "kecleon": { - "level": 92, + "level": 93, "sets": [ { "role": "Bulky Support", @@ -2034,7 +2076,7 @@ ] }, "banette": { - "level": 92, + "level": 94, "sets": [ { "role": "Wallbreaker", @@ -2047,12 +2089,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["nightshade", "rest", "sleeptalk", "willowisp"] + "movepool": ["rest", "seismictoss", "sleeptalk", "willowisp"] } ] }, "tropius": { - "level": 90, + "level": 94, "sets": [ { "role": "Staller", @@ -2061,30 +2103,29 @@ ] }, "chimecho": { - "level": 93, + "level": 94, "sets": [ { "role": "Bulky Support", - "movepool": ["healbell", "psychic", "recover", "signalbeam", "thunderwave", "toxic"] + "movepool": ["healbell", "hiddenpowerfighting", "psychic", "recover", "thunderwave", "toxic"] }, { "role": "Bulky Setup", - "movepool": ["calmmind", "psychic", "recover", "signalbeam"] + "movepool": ["calmmind", "hiddenpowerfighting", "psychic", "recover", "signalbeam"] } ] }, "absol": { - "level": 86, + "level": 87, "sets": [ { - "role": "Wallbreaker", - "movepool": ["fireblast", "nightslash", "psychocut", "pursuit", "suckerpunch", "superpower"], + "role": "Bulky Attacker", + "movepool": ["nightslash", "pursuit", "suckerpunch", "superpower", "zenheadbutt"], "preferredTypes": ["Fighting"] }, { "role": "Setup Sweeper", - "movepool": ["nightslash", "psychocut", "suckerpunch", "superpower", "swordsdance"], - "preferredTypes": ["Fighting"] + "movepool": ["nightslash", "suckerpunch", "superpower", "swordsdance"] } ] }, @@ -2093,12 +2134,13 @@ "sets": [ { "role": "Fast Support", - "movepool": ["earthquake", "explosion", "icebeam", "spikes", "taunt"] + "movepool": ["earthquake", "icebeam", "spikes", "superfang", "taunt"], + "preferredTypes": ["Ground"] } ] }, "walrein": { - "level": 90, + "level": 88, "sets": [ { "role": "Bulky Support", @@ -2115,7 +2157,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["icebeam", "return", "shellsmash", "substitute", "suckerpunch", "waterfall"], + "movepool": ["icebeam", "return", "shellsmash", "suckerpunch", "waterfall"], "preferredTypes": ["Ice"] } ] @@ -2125,8 +2167,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash", "substitute"], - "preferredTypes": ["Ice"] + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash"] } ] }, @@ -2149,12 +2190,12 @@ "sets": [ { "role": "Staller", - "movepool": ["charm", "protect", "scald", "toxic"] + "movepool": ["icebeam", "protect", "scald", "substitute", "toxic"] } ] }, "salamence": { - "level": 77, + "level": 76, "sets": [ { "role": "Setup Sweeper", @@ -2186,7 +2227,7 @@ "movepool": ["curse", "drainpunch", "rest", "stoneedge"] }, { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["drainpunch", "earthquake", "stealthrock", "stoneedge", "thunderwave", "toxic"] }, { @@ -2204,7 +2245,8 @@ }, { "role": "Bulky Attacker", - "movepool": ["icebeam", "rest", "sleeptalk", "thunderbolt"] + "movepool": ["focusblast", "icebeam", "rest", "sleeptalk", "thunderbolt", "thunderwave"], + "preferredTypes": ["Electric"] }, { "role": "Setup Sweeper", @@ -2225,7 +2267,7 @@ }, { "role": "Staller", - "movepool": ["protect", "seismictoss", "stealthrock", "toxic"] + "movepool": ["protect", "seismictoss", "stealthrock", "thunderwave", "toxic"] } ] }, @@ -2248,14 +2290,14 @@ ] }, "kyogre": { - "level": 71, + "level": 69, "sets": [ { "role": "Fast Attacker", "movepool": ["icebeam", "surf", "thunder", "waterspout"] }, { - "role": "Bulky Setup", + "role": "Bulky Support", "movepool": ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder"] } ] @@ -2274,7 +2316,7 @@ ] }, "rayquaza": { - "level": 75, + "level": 73, "sets": [ { "role": "Wallbreaker", @@ -2292,7 +2334,7 @@ ] }, "jirachi": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Support", @@ -2305,17 +2347,17 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["darkpulse", "extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "stealthrock", "superpower"], + "movepool": ["darkpulse", "extremespeed", "icebeam", "psychoboost", "stealthrock", "superpower"], "preferredTypes": ["Fighting"] } ] }, "deoxysattack": { - "level": 73, + "level": 72, "sets": [ { "role": "Wallbreaker", - "movepool": ["darkpulse", "extremespeed", "hiddenpowerfire", "icebeam", "psychoboost", "superpower"], + "movepool": ["darkpulse", "extremespeed", "icebeam", "psychoboost", "superpower"], "preferredTypes": ["Fighting"] } ] @@ -2334,7 +2376,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["lightscreen", "psychoboost", "reflect", "spikes", "stealthrock", "superpower", "taunt"] + "movepool": ["psychoboost", "spikes", "stealthrock", "superpower", "taunt"] } ] }, @@ -2347,12 +2389,12 @@ }, { "role": "Bulky Setup", - "movepool": ["earthquake", "rockpolish", "stoneedge", "swordsdance", "woodhammer"] + "movepool": ["earthquake", "rockpolish", "stoneedge", "woodhammer"] } ] }, "infernape": { - "level": 80, + "level": 79, "sets": [ { "role": "Wallbreaker", @@ -2365,7 +2407,7 @@ ] }, "empoleon": { - "level": 82, + "level": 81, "sets": [ { "role": "Staller", @@ -2382,7 +2424,7 @@ ] }, "staraptor": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", @@ -2401,7 +2443,7 @@ ] }, "kricketune": { - "level": 99, + "level": 100, "sets": [ { "role": "Setup Sweeper", @@ -2414,8 +2456,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["crunch", "facade", "icefang", "superpower", "wildcharge"], - "preferredTypes": ["Fighting"] + "movepool": ["crunch", "facade", "superpower", "wildcharge"] }, { "role": "Bulky Attacker", @@ -2425,29 +2466,29 @@ ] }, "roserade": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Support", - "movepool": ["gigadrain", "hiddenpowerfire", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] + "movepool": ["gigadrain", "hiddenpowerground", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] } ] }, "rampardos": { - "level": 90, + "level": 89, "sets": [ { - "role": "Wallbreaker", - "movepool": ["crunch", "earthquake", "firepunch", "rockpolish", "rockslide"] + "role": "Setup Sweeper", + "movepool": ["earthquake", "firepunch", "rockpolish", "rockslide", "zenheadbutt"] }, { - "role": "Bulky Attacker", - "movepool": ["crunch", "earthquake", "firepunch", "headsmash", "superpower"] + "role": "Fast Attacker", + "movepool": ["earthquake", "firepunch", "headsmash", "rockslide"] } ] }, "bastiodon": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -2460,7 +2501,7 @@ ] }, "wormadam": { - "level": 98, + "level": 100, "sets": [ { "role": "Bulky Attacker", @@ -2473,25 +2514,25 @@ ] }, "wormadamsandy": { - "level": 91, + "level": 92, "sets": [ { "role": "Staller", - "movepool": ["earthquake", "protect", "stealthrock", "toxic"] + "movepool": ["earthquake", "protect", "stealthrock", "suckerpunch", "toxic"] } ] }, "wormadamtrash": { - "level": 90, + "level": 89, "sets": [ { "role": "Staller", - "movepool": ["flashcannon", "protect", "stealthrock", "toxic"] + "movepool": ["flashcannon", "protect", "stealthrock", "suckerpunch", "toxic"] } ] }, "mothim": { - "level": 93, + "level": 94, "sets": [ { "role": "Setup Sweeper", @@ -2500,16 +2541,16 @@ ] }, "vespiquen": { - "level": 97, + "level": 98, "sets": [ { "role": "Staller", - "movepool": ["airslash", "roost", "toxic", "uturn"] + "movepool": ["acrobatics", "roost", "toxic", "uturn"] } ] }, "pachirisu": { - "level": 91, + "level": 92, "sets": [ { "role": "Bulky Support", @@ -2526,7 +2567,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["aquajet", "crunch", "icepunch", "lowkick", "switcheroo", "waterfall"] + "movepool": ["aquajet", "crunch", "icepunch", "lowkick", "switcheroo", "waterfall"], + "preferredTypes": ["Ice"] }, { "role": "Setup Sweeper", @@ -2536,16 +2578,20 @@ ] }, "cherrim": { - "level": 94, + "level": 95, "sets": [ { "role": "Fast Attacker", - "movepool": ["gigadrain", "healingwish", "hiddenpowerfire", "hiddenpowerrock", "naturepower", "synthesis"] + "movepool": ["gigadrain", "healingwish", "hiddenpowerfire", "hiddenpowerrock", "morningsun", "naturepower"] + }, + { + "role": "Staller", + "movepool": ["aromatherapy", "gigadrain", "leechseed", "morningsun", "naturepower", "toxic"] } ] }, "gastrodon": { - "level": 83, + "level": 84, "sets": [ { "role": "Bulky Support", @@ -2558,21 +2604,21 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "lowkick", "pursuit", "return", "seedbomb", "switcheroo", "uturn"] + "movepool": ["fakeout", "lowkick", "payback", "pursuit", "return", "uturn"] } ] }, "drifblim": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", - "movepool": ["acrobatics", "destinybond", "disable", "shadowball", "substitute", "thunderwave", "willowisp"] + "movepool": ["acrobatics", "destinybond", "disable", "shadowball", "substitute", "willowisp"] } ] }, "lopunny": { - "level": 90, + "level": 89, "sets": [ { "role": "Wallbreaker", @@ -2625,11 +2671,11 @@ ] }, "bronzong": { - "level": 79, + "level": 80, "sets": [ { "role": "Bulky Support", - "movepool": ["earthquake", "hypnosis", "lightscreen", "psychic", "reflect", "stealthrock", "toxic"] + "movepool": ["earthquake", "hypnosis", "psychic", "stealthrock", "toxic"] }, { "role": "Staller", @@ -2638,7 +2684,7 @@ ] }, "chatot": { - "level": 91, + "level": 92, "sets": [ { "role": "Wallbreaker", @@ -2659,12 +2705,12 @@ }, { "role": "Bulky Attacker", - "movepool": ["foulplay", "painsplit", "pursuit", "shadowsneak", "suckerpunch", "willowisp"] + "movepool": ["foulplay", "painsplit", "pursuit", "suckerpunch", "willowisp"] } ] }, "garchomp": { - "level": 76, + "level": 75, "sets": [ { "role": "Fast Support", @@ -2681,7 +2727,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["closecombat", "crunch", "extremespeed", "icepunch", "swordsdance"], + "movepool": ["closecombat", "crunch", "extremespeed", "stoneedge", "swordsdance"], "preferredTypes": ["Normal"] }, { @@ -2691,7 +2737,7 @@ ] }, "hippowdon": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -2714,16 +2760,16 @@ ] }, "toxicroak": { - "level": 82, + "level": 84, "sets": [ { "role": "Setup Sweeper", - "movepool": ["drainpunch", "icepunch", "poisonjab", "substitute", "suckerpunch", "swordsdance"] + "movepool": ["drainpunch", "earthquake", "icepunch", "poisonjab", "substitute", "suckerpunch", "swordsdance"] } ] }, "carnivine": { - "level": 94, + "level": 97, "sets": [ { "role": "Bulky Support", @@ -2749,13 +2795,12 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["blizzard", "earthquake", "focusblast", "hiddenpowerfire", "iceshard", "woodhammer"], - "preferredTypes": ["Grass"] + "movepool": ["blizzard", "earthquake", "iceshard", "woodhammer"] } ] }, "weavile": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", @@ -2787,7 +2832,7 @@ ] }, "rhyperior": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Attacker", @@ -2813,12 +2858,13 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"] + "movepool": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"], + "preferredTypes": ["Ice"] } ] }, "magmortar": { - "level": 84, + "level": 85, "sets": [ { "role": "Fast Attacker", @@ -2828,7 +2874,7 @@ ] }, "togekiss": { - "level": 81, + "level": 80, "sets": [ { "role": "Bulky Setup", @@ -2881,7 +2927,7 @@ ] }, "gliscor": { - "level": 79, + "level": 77, "sets": [ { "role": "Staller", @@ -2893,7 +2939,7 @@ }, { "role": "Setup Sweeper", - "movepool": ["earthquake", "facade", "roost", "stoneedge", "swordsdance"] + "movepool": ["earthquake", "facade", "roost", "swordsdance"] } ] }, @@ -2929,7 +2975,7 @@ ] }, "probopass": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Attacker", @@ -2941,8 +2987,13 @@ "level": 85, "sets": [ { - "role": "Bulky Support", - "movepool": ["earthquake", "icepunch", "painsplit", "shadowsneak", "trick", "willowisp"] + "role": "Bulky Attacker", + "movepool": ["earthquake", "icepunch", "painsplit", "shadowsneak", "toxic", "trick", "willowisp"], + "preferredTypes": ["Ground"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "shadowsneak", "toxic"] } ] }, @@ -2983,7 +3034,7 @@ ] }, "rotomfrost": { - "level": 86, + "level": 85, "sets": [ { "role": "Bulky Attacker", @@ -3005,34 +3056,34 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["hiddenpowerfire", "hiddenpowerice", "leafstorm", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] + "movepool": ["hiddenpowerice", "leafstorm", "painsplit", "thunderbolt", "thunderwave", "trick", "voltswitch", "willowisp"] } ] }, "uxie": { - "level": 83, + "level": 81, "sets": [ { "role": "Bulky Support", - "movepool": ["healbell", "lightscreen", "psychic", "reflect", "stealthrock", "thunderwave", "uturn", "yawn"] + "movepool": ["healbell", "psychic", "stealthrock", "thunderwave", "uturn", "yawn"] } ] }, "mesprit": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", - "movepool": ["calmmind", "healingwish", "hiddenpowerfire", "icebeam", "psychic", "psyshock", "signalbeam", "thunderbolt", "trick", "uturn"] + "movepool": ["calmmind", "healingwish", "hiddenpowerfighting", "icebeam", "psychic", "psyshock", "signalbeam", "thunderbolt", "trick", "uturn"] }, { "role": "Bulky Support", - "movepool": ["hiddenpowerfire", "psychic", "stealthrock", "thunderwave", "toxic", "uturn"] + "movepool": ["hiddenpowerfighting", "psychic", "stealthrock", "thunderwave", "toxic", "uturn"] } ] }, "azelf": { - "level": 81, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -3046,7 +3097,7 @@ ] }, "dialga": { - "level": 71, + "level": 70, "sets": [ { "role": "Bulky Attacker", @@ -3056,7 +3107,7 @@ ] }, "palkia": { - "level": 73, + "level": 72, "sets": [ { "role": "Bulky Attacker", @@ -3066,7 +3117,7 @@ ] }, "heatran": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Attacker", @@ -3084,11 +3135,11 @@ ] }, "regigigas": { - "level": 84, + "level": 83, "sets": [ { "role": "Staller", - "movepool": ["confuseray", "earthquake", "return", "substitute", "thunderwave"] + "movepool": ["earthquake", "return", "substitute", "thunderwave"] } ] }, @@ -3115,7 +3166,7 @@ ] }, "cresselia": { - "level": 81, + "level": 80, "sets": [ { "role": "Bulky Setup", @@ -3130,6 +3181,10 @@ "phione": { "level": 89, "sets": [ + { + "role": "Staller", + "movepool": ["raindance", "rest", "scald", "toxic"] + }, { "role": "Bulky Support", "movepool": ["healbell", "icebeam", "scald", "toxic", "uturn"] @@ -3182,7 +3237,8 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["earthquake", "extremespeed", "recover", "shadowclaw", "swordsdance"] + "movepool": ["earthquake", "extremespeed", "recover", "shadowclaw", "swordsdance"], + "preferredTypes": ["Ground"] } ] }, @@ -3306,9 +3362,15 @@ "arceuspoison": { "level": 71, "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "earthpower", "fireblast", "recover", "sludgebomb"], + "preferredTypes": ["Ground"] + }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "fireblast", "icebeam", "recover", "sludgebomb", "stealthrock", "willowisp"] + "movepool": ["earthquake", "fireblast", "icebeam", "recover", "sludgebomb", "stealthrock", "willowisp"], + "preferredTypes": ["Ground"] } ] }, @@ -3358,7 +3420,7 @@ ] }, "victini": { - "level": 80, + "level": 78, "sets": [ { "role": "Bulky Attacker", @@ -3379,11 +3441,11 @@ "movepool": ["aromatherapy", "dragonpulse", "gigadrain", "glare", "hiddenpowerfire", "leechseed", "substitute"] }, { - "role": "Bulky Setup", + "role": "Setup Sweeper", "movepool": ["calmmind", "dragonpulse", "gigadrain", "hiddenpowerfire", "substitute"] }, { - "role": "Setup Sweeper", + "role": "Wallbreaker", "movepool": ["aquatail", "leafblade", "return", "swordsdance"] } ] @@ -3415,7 +3477,7 @@ ] }, "watchog": { - "level": 91, + "level": 93, "sets": [ { "role": "Bulky Attacker", @@ -3429,11 +3491,12 @@ ] }, "stoutland": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Attacker", - "movepool": ["crunch", "return", "superpower", "thunderwave", "wildcharge"] + "movepool": ["crunch", "return", "superpower", "thunderwave", "wildcharge"], + "preferredTypes": ["Fighting"] } ] }, @@ -3469,7 +3532,7 @@ ] }, "simipour": { - "level": 86, + "level": 85, "sets": [ { "role": "Setup Sweeper", @@ -3483,11 +3546,11 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["healbell", "hiddenpowerground", "moonlight", "psychic", "signalbeam", "thunderwave", "toxic"] + "movepool": ["healbell", "hiddenpowerfighting", "moonlight", "psychic", "signalbeam", "thunderwave", "toxic"] }, { "role": "Bulky Setup", - "movepool": ["calmmind", "hiddenpowerground", "moonlight", "psyshock", "signalbeam"] + "movepool": ["calmmind", "hiddenpowerfighting", "moonlight", "psyshock", "signalbeam"] } ] }, @@ -3501,11 +3564,11 @@ ] }, "zebstrika": { - "level": 87, + "level": 85, "sets": [ { "role": "Fast Attacker", - "movepool": ["hiddenpowergrass", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch", "wildcharge"] + "movepool": ["hiddenpowerice", "overheat", "thunderbolt", "voltswitch", "wildcharge"] } ] }, @@ -3513,13 +3576,13 @@ "level": 86, "sets": [ { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["earthquake", "explosion", "stealthrock", "stoneedge", "superpower"] } ] }, "swoobat": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Setup", @@ -3532,7 +3595,7 @@ ] }, "excadrill": { - "level": 80, + "level": 81, "sets": [ { "role": "Spinner", @@ -3545,7 +3608,7 @@ ] }, "audino": { - "level": 91, + "level": 92, "sets": [ { "role": "Bulky Support", @@ -3554,16 +3617,16 @@ ] }, "conkeldurr": { - "level": 80, + "level": 79, "sets": [ { - "role": "Bulky Setup", + "role": "Bulky Attacker", "movepool": ["bulkup", "drainpunch", "icepunch", "machpunch", "thunderpunch"] } ] }, "seismitoad": { - "level": 86, + "level": 85, "sets": [ { "role": "Setup Sweeper", @@ -3572,11 +3635,15 @@ { "role": "Bulky Support", "movepool": ["earthquake", "scald", "sludgebomb", "stealthrock", "toxic"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "scald", "toxic"] } ] }, "throh": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -3594,7 +3661,7 @@ ] }, "leavanny": { - "level": 90, + "level": 91, "sets": [ { "role": "Setup Sweeper", @@ -3603,7 +3670,7 @@ ] }, "scolipede": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", @@ -3613,11 +3680,11 @@ ] }, "whimsicott": { - "level": 85, + "level": 88, "sets": [ { "role": "Fast Support", - "movepool": ["encore", "gigadrain", "leechseed", "stunspore", "taunt", "toxic", "uturn"] + "movepool": ["encore", "gigadrain", "stunspore", "taunt", "toxic", "uturn"] }, { "role": "Staller", @@ -3643,15 +3710,6 @@ } ] }, - "basculinbluestriped": { - "level": 86, - "sets": [ - { - "role": "Bulky Attacker", - "movepool": ["aquajet", "crunch", "superpower", "waterfall", "zenheadbutt"] - } - ] - }, "krookodile": { "level": 80, "sets": [ @@ -3662,7 +3720,7 @@ ] }, "darmanitan": { - "level": 82, + "level": 81, "sets": [ { "role": "Wallbreaker", @@ -3671,20 +3729,20 @@ ] }, "maractus": { - "level": 95, + "level": 97, "sets": [ { "role": "Fast Support", - "movepool": ["gigadrain", "hiddenpowerfire", "spikes", "suckerpunch", "toxic"] + "movepool": ["gigadrain", "hiddenpowerfire", "spikes", "suckerpunch", "synthesis", "toxic"] }, { "role": "Staller", - "movepool": ["gigadrain", "leechseed", "protect", "toxic"] + "movepool": ["gigadrain", "hiddenpowerfire", "hiddenpowerice", "leechseed", "protect"] } ] }, "crustle": { - "level": 84, + "level": 83, "sets": [ { "role": "Setup Sweeper", @@ -3701,12 +3759,12 @@ }, { "role": "Bulky Setup", - "movepool": ["bulkup", "crunch", "drainpunch", "highjumpkick", "rest"] + "movepool": ["bulkup", "crunch", "drainpunch", "rest"] } ] }, "sigilyph": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Attacker", @@ -3746,7 +3804,7 @@ ] }, "archeops": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -3756,19 +3814,19 @@ ] }, "garbodor": { - "level": 87, + "level": 88, "sets": [ { - "role": "Bulky Support", + "role": "Bulky Attacker", "movepool": ["drainpunch", "gunkshot", "haze", "painsplit", "spikes", "toxicspikes"] } ] }, "zoroark": { - "level": 84, + "level": 82, "sets": [ { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["darkpulse", "flamethrower", "focusblast", "nastyplot", "trick", "uturn"] } ] @@ -3792,7 +3850,7 @@ ] }, "reuniclus": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Attacker", @@ -3805,7 +3863,7 @@ ] }, "swanna": { - "level": 87, + "level": 86, "sets": [ { "role": "Bulky Attacker", @@ -3813,7 +3871,7 @@ }, { "role": "Setup Sweeper", - "movepool": ["hurricane", "icebeam", "raindance", "rest", "surf"] + "movepool": ["hurricane", "raindance", "rest", "surf"] } ] }, @@ -3822,7 +3880,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["autotomize", "explosion", "flashcannon", "hiddenpowerground", "icebeam"] + "movepool": ["autotomize", "explosion", "flashcannon", "hiddenpowerground", "icebeam"], + "preferredTypes": ["Ground"] } ] }, @@ -3855,11 +3914,11 @@ ] }, "amoonguss": { - "level": 85, + "level": 84, "sets": [ { "role": "Bulky Attacker", - "movepool": ["clearsmog", "foulplay", "gigadrain", "hiddenpowerfire", "sludgebomb", "spore", "stunspore", "toxic"] + "movepool": ["clearsmog", "foulplay", "gigadrain", "hiddenpowerground", "sludgebomb", "spore", "stunspore", "toxic"] }, { "role": "Bulky Support", @@ -3877,10 +3936,10 @@ ] }, "alomomola": { - "level": 86, + "level": 85, "sets": [ { - "role": "Staller", + "role": "Bulky Support", "movepool": ["protect", "scald", "toxic", "wish"] } ] @@ -3896,7 +3955,7 @@ ] }, "ferrothorn": { - "level": 77, + "level": 75, "sets": [ { "role": "Bulky Attacker", @@ -3955,17 +4014,16 @@ ] }, "haxorus": { - "level": 77, + "level": 75, "sets": [ { "role": "Setup Sweeper", - "movepool": ["dragondance", "earthquake", "outrage", "superpower", "swordsdance"], - "preferredTypes": ["Ground"] + "movepool": ["dragondance", "earthquake", "outrage", "superpower"] } ] }, "beartic": { - "level": 90, + "level": 91, "sets": [ { "role": "Wallbreaker", @@ -3988,12 +4046,12 @@ "sets": [ { "role": "Fast Support", - "movepool": ["bugbuzz", "encore", "focusblast", "gigadrain", "hiddenpowerrock", "spikes", "yawn"] + "movepool": ["bugbuzz", "encore", "focusblast", "hiddenpowerground", "hiddenpowerrock", "spikes", "uturn"] } ] }, "stunfisk": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Attacker", @@ -4002,7 +4060,7 @@ ] }, "mienshao": { - "level": 81, + "level": 79, "sets": [ { "role": "Setup Sweeper", @@ -4010,13 +4068,17 @@ "preferredTypes": ["Flying"] }, { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["fakeout", "highjumpkick", "stoneedge", "uturn"] + }, + { + "role": "Wallbreaker", + "movepool": ["drainpunch", "highjumpkick", "stoneedge", "uturn"] } ] }, "druddigon": { - "level": 85, + "level": 84, "sets": [ { "role": "Bulky Support", @@ -4025,7 +4087,7 @@ ] }, "golurk": { - "level": 84, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -4035,7 +4097,7 @@ ] }, "bisharp": { - "level": 83, + "level": 84, "sets": [ { "role": "Fast Attacker", @@ -4058,7 +4120,7 @@ ] }, "braviary": { - "level": 86, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -4093,16 +4155,17 @@ ] }, "durant": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", - "movepool": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"] + "movepool": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"], + "preferredTypes": ["Fighting"] } ] }, "hydreigon": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Attacker", @@ -4120,7 +4183,7 @@ ] }, "cobalion": { - "level": 79, + "level": 78, "sets": [ { "role": "Bulky Attacker", @@ -4134,7 +4197,7 @@ ] }, "terrakion": { - "level": 77, + "level": 76, "sets": [ { "role": "Fast Attacker", @@ -4175,7 +4238,7 @@ ] }, "thundurus": { - "level": 76, + "level": 77, "sets": [ { "role": "Setup Sweeper", @@ -4183,7 +4246,7 @@ }, { "role": "Fast Support", - "movepool": ["focusblast", "hiddenpowerflying", "hiddenpowerice", "taunt", "thunderbolt", "thunderwave"] + "movepool": ["hiddenpowerflying", "hiddenpowerice", "superpower", "taunt", "thunderbolt", "thunderwave"] } ] }, @@ -4197,7 +4260,7 @@ ] }, "reshiram": { - "level": 75, + "level": 72, "sets": [ { "role": "Bulky Attacker", @@ -4233,7 +4296,7 @@ ] }, "landorustherian": { - "level": 80, + "level": 77, "sets": [ { "role": "Bulky Support", @@ -4260,7 +4323,7 @@ ] }, "kyuremblack": { - "level": 76, + "level": 75, "sets": [ { "role": "Bulky Attacker", @@ -4278,7 +4341,7 @@ ] }, "keldeo": { - "level": 78, + "level": 77, "sets": [ { "role": "Fast Attacker", @@ -4291,25 +4354,20 @@ ] }, "meloetta": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", "movepool": ["calmmind", "focusblast", "hypervoice", "psyshock", "uturn"] - } - ] - }, - "meloettapirouette": { - "level": 81, - "sets": [ + }, { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["closecombat", "relicsong", "return", "shadowclaw"] } ] }, "genesect": { - "level": 75, + "level": 74, "sets": [ { "role": "Setup Sweeper", diff --git a/data/mods/gen5/random-teams.ts b/data/random-battles/gen5/teams.ts similarity index 87% rename from data/mods/gen5/random-teams.ts rename to data/random-battles/gen5/teams.ts index 60ae20d49538..fad01c79990c 100644 --- a/data/mods/gen5/random-teams.ts +++ b/data/random-battles/gen5/teams.ts @@ -1,8 +1,8 @@ -import RandomGen6Teams from '../gen6/random-teams'; +import RandomGen6Teams from '../gen6/teams'; import {Utils} from '../../../lib'; import {toID} from '../../../sim/dex'; import {PRNG} from '../../../sim'; -import {MoveCounter} from '../gen8/random-teams'; +import {MoveCounter} from '../gen8/teams'; // Moves that restore HP: const RECOVERY_MOVES = [ @@ -48,11 +48,11 @@ const MOVE_PAIRS = [ /** Pokemon who always want priority STAB, and are fine with it as its only STAB move of that type */ const PRIORITY_POKEMON = [ - 'bisharp', 'breloom', 'cacturne', 'dusknoir', 'honchkrow', 'scizor', 'shedinja', + 'bisharp', 'breloom', 'cacturne', 'dusknoir', 'honchkrow', 'scizor', 'shedinja', 'shiftry', ]; export class RandomGen5Teams extends RandomGen6Teams { - randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./random-sets.json'); + randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./sets.json'); constructor(format: string | Format, prng: PRNG | PRNGSeed | null) { super(format, prng); @@ -103,7 +103,6 @@ export class RandomGen5Teams extends RandomGen6Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): void { @@ -176,7 +175,6 @@ export class RandomGen5Teams extends RandomGen6Teams { // Develop additional move lists const badWithSetup = ['healbell', 'pursuit', 'toxic']; - const statusInflictingMoves = ['stunspore', 'thunderwave', 'toxic', 'willowisp', 'yawn']; // Nature Power is Earthquake this gen const statusMoves = this.dex.moves.all() .filter(move => move.category === 'Status' && move.id !== 'naturepower') @@ -200,9 +198,7 @@ export class RandomGen5Teams extends RandomGen6Teams { [['bodyslam', 'return'], ['bodyslam', 'doubleedge']], [['gigadrain', 'leafstorm'], ['leafstorm', 'petaldance', 'powerwhip']], [['drainpunch', 'focusblast'], ['closecombat', 'highjumpkick', 'superpower']], - - // Status move incompatibilities - [statusInflictingMoves, statusInflictingMoves], + ['payback', 'pursuit'], // Assorted hardcodes go here: // Zebstrika @@ -223,11 +219,32 @@ export class RandomGen5Teams extends RandomGen6Teams { ['switcheroo', 'suckerpunch'], // Jirachi ['bodyslam', 'healingwish'], + // Shuckle + ['knockoff', 'protect'], ]; for (const pair of incompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); if (species.id === 'dugtrio') this.incompatibleMoves(moves, movePool, statusMoves, 'memento'); + + const statusInflictingMoves = ['stunspore', 'thunderwave', 'toxic', 'willowisp', 'yawn']; + if (!abilities.has('Prankster') && role !== 'Staller') { + this.incompatibleMoves(moves, movePool, statusInflictingMoves, statusInflictingMoves); + } + + if (abilities.has('Guts')) this.incompatibleMoves(moves, movePool, 'protect', 'swordsdance'); + + // Cull filler moves for otherwise fixed set Stealth Rock users + if (!teamDetails.stealthRock) { + if (species.id === 'registeel' && role === 'Staller') { + if (movePool.includes('thunderwave')) this.fastPop(movePool, movePool.indexOf('thunderwave')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (species.baseSpecies === 'Wormadam' && role === 'Staller') { + if (movePool.includes('suckerpunch')) this.fastPop(movePool, movePool.indexOf('suckerpunch')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + } } // Generate random moveset for a given species, role, preferred type. @@ -237,14 +254,13 @@ export class RandomGen5Teams extends RandomGen6Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, movePool: string[], preferredType: string, role: RandomTeamsTypes.Role, ): Set { const moves = new Set(); let counter = this.newQueryMoves(moves, species, preferredType, abilities); - this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, isDoubles, + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, preferredType, role); // If there are only four moves, add all moves and return early @@ -252,7 +268,7 @@ export class RandomGen5Teams extends RandomGen6Teams { // Still need to ensure that multiple Hidden Powers are not added (if maxMoveCount is increased) while (movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } return moves; @@ -268,7 +284,7 @@ export class RandomGen5Teams extends RandomGen6Teams { // Add required move (e.g. Relic Song for Meloetta-P) if (species.requiredMove) { const move = this.dex.moves.get(species.requiredMove).id; - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } @@ -276,28 +292,28 @@ export class RandomGen5Teams extends RandomGen6Teams { // Enforce Facade if Guts is a possible ability if (movePool.includes('facade') && abilities.has('Guts')) { - counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } - // Enforce Seismic Toss, Spore + // Enforce Seismic Toss and Spore for (const moveid of ['seismictoss', 'spore']) { if (movePool.includes(moveid)) { - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce Thunder Wave on Prankster users if (movePool.includes('thunderwave') && abilities.has('Prankster')) { - counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } // Enforce hazard removal on Bulky Support and Spinner if the team doesn't already have it if (['Bulky Support', 'Spinner'].includes(role) && !teamDetails.rapidSpin) { if (movePool.includes('rapidspin')) { - counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -314,7 +330,7 @@ export class RandomGen5Teams extends RandomGen6Teams { } if (priorityMoves.length) { const moveid = this.sample(priorityMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -333,7 +349,7 @@ export class RandomGen5Teams extends RandomGen6Teams { while (runEnforcementChecker(type)) { if (!stabMoves.length) break; const moveid = this.sampleNoReplace(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -350,7 +366,7 @@ export class RandomGen5Teams extends RandomGen6Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -367,12 +383,12 @@ export class RandomGen5Teams extends RandomGen6Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } else { // If they have no regular STAB move, enforce U-turn on Bug types. if (movePool.includes('uturn') && types.includes('Bug')) { - counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -383,17 +399,17 @@ export class RandomGen5Teams extends RandomGen6Teams { const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); if (recoveryMoves.length) { const moveid = this.sample(recoveryMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce Staller moves if (role === 'Staller') { - const enforcedMoves = ['protect', 'toxic', 'wish']; + const enforcedMoves = ['protect', 'toxic']; for (const move of enforcedMoves) { if (movePool.includes(move)) { - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -405,14 +421,14 @@ export class RandomGen5Teams extends RandomGen6Teams { const nonSpeedSetupMoves = movePool.filter(moveid => SETUP.includes(moveid) && !SPEED_SETUP.includes(moveid)); if (nonSpeedSetupMoves.length) { const moveid = this.sample(nonSpeedSetupMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } else { // No non-Speed setup moves, so add any (Speed) setup move const setupMoves = movePool.filter(moveid => SETUP.includes(moveid)); if (setupMoves.length) { const moveid = this.sample(setupMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -428,7 +444,7 @@ export class RandomGen5Teams extends RandomGen6Teams { } if (attackingMoves.length) { const moveid = this.sample(attackingMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -449,7 +465,7 @@ export class RandomGen5Teams extends RandomGen6Teams { } if (coverageMoves.length) { const moveid = this.sample(coverageMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -458,15 +474,15 @@ export class RandomGen5Teams extends RandomGen6Teams { // Choose remaining moves randomly from movepool and add them to moves list: while (moves.size < this.maxMoveCount && movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); for (const pair of MOVE_PAIRS) { if (moveid === pair[0] && movePool.includes(pair[1])) { - counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } if (moveid === pair[1] && movePool.includes(pair[0])) { - counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -483,13 +499,12 @@ export class RandomGen5Teams extends RandomGen6Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role ): boolean { switch (ability) { - case 'Flare Boost': case 'Gluttony': case 'Hyper Cutter': case 'Ice Body': case 'Moody': case 'Pickpocket': - case 'Pressure': case 'Sand Veil': case 'Snow Cloak': case 'Steadfast': case 'Unburden': + case 'Flare Boost': case 'Gluttony': case 'Ice Body': case 'Infiltrator': case 'Moody': case 'Pickpocket': + case 'Pressure': case 'Sand Veil': case 'Sniper': case 'Snow Cloak': case 'Steadfast': case 'Unburden': return true; case 'Chlorophyll': // Petal Dance is for Lilligant @@ -501,9 +516,9 @@ export class RandomGen5Teams extends RandomGen6Teams { return !counter.get('inaccurate'); case 'Contrary': case 'Skill Link': return !counter.get(toID(ability)); - case 'Defiant': case 'Justified': case 'Moxie': + case 'Defiant': case 'Justified': return !counter.get('Physical'); - case 'Guts': + case 'Guts': case 'Quick Feet': return (!moves.has('facade') && !moves.has('sleeptalk')); case 'Hustle': return (counter.get('Physical') < 2 || species.id === 'delibird'); @@ -523,16 +538,20 @@ export class RandomGen5Teams extends RandomGen6Teams { return (abilities.has('Tinted Lens') && role === 'Wallbreaker'); case 'Mold Breaker': return (species.baseSpecies === 'Basculin' || species.id === 'rampardos'); + case 'Moxie': + return (!counter.get('Physical') || moves.has('stealthrock')); case 'Overgrow': return !counter.get('Grass'); case 'Prankster': - return !counter.get('Status'); + return (!counter.get('Status') || (species.id === 'tornadus' && moves.has('bulkup'))); case 'Poison Heal': return (species.id === 'breloom' && role === 'Fast Attacker'); + case 'Shed Skin': + return !moves.has('rest'); case 'Synchronize': return (counter.get('Status') < 2 || !!counter.get('recoil')); case 'Regenerator': - return ((species.id === 'mienshao' && role !== 'Wallbreaker') || species.id === 'reuniclus'); + return ((species.id === 'mienshao' && role !== 'Fast Attacker') || species.id === 'reuniclus'); case 'Reckless': case 'Rock Head': return !counter.get('recoil'); case 'Sand Force': case 'Sand Rush': @@ -550,7 +569,7 @@ export class RandomGen5Teams extends RandomGen6Teams { case 'Sturdy': return (!!counter.get('recoil') && !counter.get('recovery') || species.id === 'steelix' && !!counter.get('sheerforce')); case 'Swarm': - return !counter.get('Bug'); + return !counter.get('Bug') && !moves.has('uturn'); case 'Technician': return (!counter.get('technician') || moves.has('tailslap')); case 'Tinted Lens': @@ -579,7 +598,6 @@ export class RandomGen5Teams extends RandomGen6Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): string { @@ -595,18 +613,21 @@ export class RandomGen5Teams extends RandomGen6Teams { (moves.has('facade') || (moves.has('sleeptalk') && moves.has('rest'))) ) return 'Guts'; if (species.id === 'starmie') return role === 'Wallbreaker' ? 'Analytic' : 'Natural Cure'; + if (species.id === 'beheeyem') return 'Analytic'; if (species.id === 'ninetales') return 'Drought'; - if (species.id === 'arcanine') return 'Intimidate'; - if (species.id === 'rampardos' && role === 'Bulky Attacker') return 'Mold Breaker'; + if (species.id === 'gligar') return 'Immunity'; + if (species.id === 'arcanine' || species.id === 'stantler') return 'Intimidate'; if (species.id === 'altaria') return 'Natural Cure'; if (species.id === 'mandibuzz') return 'Overcoat'; // If Ambipom doesn't qualify for Technician, Skill Link is useless on it if (species.id === 'ambipom' && !counter.get('technician')) return 'Pickup'; - if (['spiritomb', 'vespiquen', 'wailord', 'weavile'].includes(species.id)) return 'Pressure'; + if (['spiritomb', 'vespiquen', 'weavile'].includes(species.id)) return 'Pressure'; if (species.id === 'druddigon') return 'Rough Skin'; + if (species.id === 'zebstrika') return moves.has('wildcharge') ? 'Sap Sipper' : 'Lightning Rod'; + if (species.id === 'stoutland') return 'Scrappy'; + if (species.id === 'octillery') return 'Sniper'; if (species.id === 'stunfisk') return 'Static'; if (species.id === 'zangoose') return 'Toxic Boost'; - if (species.id === 'porygon2') return 'Trace'; if (abilities.has('Harvest')) return 'Harvest'; if (abilities.has('Shed Skin') && moves.has('rest') && !moves.has('sleeptalk')) return 'Shed Skin'; @@ -616,7 +637,7 @@ export class RandomGen5Teams extends RandomGen6Teams { // Obtain a list of abilities that are allowed (not culled) for (const ability of abilityData) { if (ability.rating >= 1 && !this.shouldCullAbility( - ability.name, types, moves, abilities, counter, movePool, teamDetails, species, isDoubles, preferredType, role + ability.name, types, moves, abilities, counter, movePool, teamDetails, species, preferredType, role )) { abilityAllowed.push(ability); } @@ -692,17 +713,19 @@ export class RandomGen5Teams extends RandomGen6Teams { } } if (moves.has('bellydrum')) return 'Sitrus Berry'; + if (moves.has('waterspout')) return 'Choice Scarf'; if (moves.has('shellsmash')) return 'White Herb'; if (moves.has('psychoshift')) return 'Flame Orb'; if (ability === 'Magic Guard' && role !== 'Bulky Support') { return moves.has('counter') ? 'Focus Sash' : 'Life Orb'; } + if (species.id === 'rampardos' && role === 'Fast Attacker') return 'Choice Scarf'; if (ability === 'Sheer Force' && counter.get('sheerforce')) return 'Life Orb'; if (moves.has('acrobatics')) return 'Flying Gem'; if (species.id === 'hitmonlee' && ability === 'Unburden') return moves.has('fakeout') ? 'Normal Gem' : 'Fighting Gem'; if (moves.has('lightscreen') && moves.has('reflect')) return 'Light Clay'; - if (moves.has('rest') && !moves.has('sleeptalk') && !['Hydration', 'Natural Cure', 'Shed Skin'].includes(ability)) { - return 'Chesto Berry'; + if (moves.has('rest') && !moves.has('sleeptalk') && !['Natural Cure', 'Shed Skin'].includes(ability)) { + return (moves.has('raindance') && ability === 'Hydration') ? 'Damp Rock' : 'Chesto Berry'; } if (role === 'Staller') return 'Leftovers'; } @@ -762,7 +785,7 @@ export class RandomGen5Teams extends RandomGen6Teams { } if ( role === 'Fast Support' && isLead && defensiveStatTotal < 255 && !counter.get('recovery') && - (!counter.get('recoil') || ability === 'Rock Head') + (counter.get('hazards') || counter.get('setup')) && (!counter.get('recoil') || ability === 'Rock Head') ) return 'Focus Sash'; // Default Items @@ -774,8 +797,13 @@ export class RandomGen5Teams extends RandomGen6Teams { ) ? 'Life Orb' : 'Leftovers'; } // noStab moves that should reject Expert Belt - const noExpertBeltMoves = this.noStab.filter(moveid => ['Dragon', 'Normal'].includes(this.dex.moves.get(moveid).type)); - const expertBeltReqs = !counter.get('Dragon') && !counter.get('Normal') && noExpertBeltMoves.every(m => !moves.has(m)); + const noExpertBeltMoves = ( + this.noStab.filter(moveid => ['Dragon', 'Normal', 'Poison'].includes(this.dex.moves.get(moveid).type)) + ); + const expertBeltReqs = ( + !counter.get('Dragon') && !counter.get('Normal') && !counter.get('Poison') && + noExpertBeltMoves.every(m => !moves.has(m)) + ); if ( !counter.get('Status') && expertBeltReqs && (moves.has('uturn') || moves.has('voltswitch') || role === 'Fast Attacker') @@ -790,19 +818,10 @@ export class RandomGen5Teams extends RandomGen6Teams { randomSet( species: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}, - isLead = false, - isDoubles = false + isLead = false ): RandomTeamsTypes.RandomSet { species = this.dex.species.get(species); - let forme = species.name; - - if (typeof species.battleOnly === 'string') { - // Only change the forme. The species has custom moves, and may have different typing and requirements. - forme = species.battleOnly; - } - if (species.cosmeticFormes) { - forme = this.sample([species.name].concat(species.cosmeticFormes)); - } + const forme = this.getForme(species); const sets = this.randomSets[species.id]["sets"]; const possibleSets = []; // Check if the Pokemon has a Spinner set @@ -834,13 +853,13 @@ export class RandomGen5Teams extends RandomGen6Teams { if (species.unreleasedHidden) abilities.delete(species.abilities.H); // Get moves - const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, isDoubles, movePool, + const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, movePool, preferredType, role); const counter = this.newQueryMoves(moves, species, preferredType, abilities); // Get ability ability = this.getAbility(new Set(types), moves, abilities, counter, movePool, teamDetails, species, - false, preferredType, role); + preferredType, role); // Get items item = this.getPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, preferredType, role); @@ -853,7 +872,7 @@ export class RandomGen5Teams extends RandomGen6Teams { item = 'Black Sludge'; } - const level = this.adjustLevel || this.randomSets[species.id]["level"] || (species.nfe ? 90 : 80); + const level = this.getLevel(species); // We use a special variable to track Hidden Power // so that we can check for all Hidden Powers at once @@ -877,20 +896,27 @@ export class RandomGen5Teams extends RandomGen6Teams { // Prepare optimal HP const srImmunity = ability === 'Magic Guard'; - let srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); - // Crash damage move users want an odd HP to survive two misses - if (['highjumpkick', 'jumpkick'].some(m => moves.has(m))) srWeakness = 2; + const srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); while (evs.hp > 1) { const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); - if (moves.has('substitute') && item === 'Sitrus Berry') { - // Two Substitutes should activate Sitrus Berry - if (hp % 4 === 0) break; + if (moves.has('substitute') && !['Black Sludge', 'Leftovers'].includes(item)) { + if (item === 'Sitrus Berry') { + // Two Substitutes should activate Sitrus Berry + if (hp % 4 === 0) break; + } else { + // Should be able to use Substitute four times from full HP without fainting + if (hp % 4 > 0) break; + } } else if (moves.has('bellydrum') && item === 'Sitrus Berry') { // Belly Drum should activate Sitrus Berry if (hp % 2 === 0) break; + } else if (['highjumpkick', 'jumpkick'].some(m => moves.has(m))) { + // Crash damage move users want an odd HP to survive two misses + if (hp % 2 > 0) break; } else { // Maximize number of Stealth Rock switch-ins - if (srWeakness <= 0 || ability === 'Regenerator' || ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; + if (srWeakness <= 0 || ability === 'Regenerator') break; + if (srWeakness === 1 && ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; if (item !== 'Sitrus Berry' && hp % (4 / srWeakness) > 0) break; // Minimise number of Stealth Rock switch-ins to activate Sitrus Berry if (item === 'Sitrus Berry' && hp % (4 / srWeakness) === 0) break; @@ -898,8 +924,8 @@ export class RandomGen5Teams extends RandomGen6Teams { evs.hp -= 4; } - // Minimize confusion damage - if (!counter.get('Physical') && !moves.has('transform')) { + // Minimize confusion damage, including if Foul Play is its only physical attack + if ((!counter.get('Physical') || (counter.get('Physical') <= 1 && moves.has('foulplay'))) && !moves.has('transform')) { evs.atk = 0; ivs.atk = hasHiddenPower ? (ivs.atk || 31) - 28 : 0; } @@ -941,22 +967,17 @@ export class RandomGen5Teams extends RandomGen6Teams { const type = this.forceMonotype || this.sample(typePool); const baseFormes: {[k: string]: number} = {}; - const tierCount: {[k: string]: number} = {}; const typeCount: {[k: string]: number} = {}; - const typeComboCount: {[k: string]: number} = {}; const typeWeaknesses: {[k: string]: number} = {}; + const typeDoubleWeaknesses: {[k: string]: number} = {}; const teamDetails: RandomTeamsTypes.TeamDetails = {}; + let numMaxLevelPokemon = 0; const pokemonList = Object.keys(this.randomSets); const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { const baseSpecies = this.sampleNoReplace(baseSpeciesPool); - const currentSpeciesPool: Species[] = []; - for (const poke of pokemonPool) { - const species = this.dex.species.get(poke); - if (species.baseSpecies === baseSpecies) currentSpeciesPool.push(species); - } - const species = this.sample(currentSpeciesPool); + const species = this.dex.species.get(this.sample(pokemonPool[baseSpecies])); if (!species.exists) continue; // Limit to one of each species (Species Clause) @@ -967,13 +988,8 @@ export class RandomGen5Teams extends RandomGen6Teams { // Dynamically scale limits for different team sizes. The default and minimum value is 1. const limitFactor = Math.round(this.maxTeamSize / 6) || 1; - const tier = species.tier; - - // Limit two Pokemon per tier - if (this.gen === 5 && !isMonotype && !this.forceMonotype && tierCount[tier] >= 2 * limitFactor) continue; const types = species.types; - const typeCombo = types.slice().sort().join(); if (!isMonotype && !this.forceMonotype) { let skip = false; @@ -987,7 +1003,7 @@ export class RandomGen5Teams extends RandomGen6Teams { } if (skip) continue; - // Limit three weak to any type + // Limit three weak to any type, and one double weak to any type for (const typeName of this.dex.types.names()) { // it's weak to the type if (this.dex.getEffectiveness(typeName, species) > 0) { @@ -997,11 +1013,20 @@ export class RandomGen5Teams extends RandomGen6Teams { break; } } + if (this.dex.getEffectiveness(typeName, species) > 1) { + if (!typeDoubleWeaknesses[typeName]) typeDoubleWeaknesses[typeName] = 0; + if (typeDoubleWeaknesses[typeName] >= 1 * limitFactor) { + skip = true; + break; + } + } } if (skip) continue; - // Limit one of any type combination - if (typeComboCount[typeCombo] >= 1 * limitFactor) continue; + // Limit one level 100 Pokemon + if (!this.adjustLevel && (this.getLevel(species) === 100) && numMaxLevelPokemon >= limitFactor) { + continue; + } } const set = this.randomSet(species, teamDetails, pokemon.length === 0); @@ -1015,13 +1040,6 @@ export class RandomGen5Teams extends RandomGen6Teams { // Now that our Pokemon has passed all checks, we can increment our counters baseFormes[species.baseSpecies] = 1; - // Increment tier counter - if (tierCount[tier]) { - tierCount[tier]++; - } else { - tierCount[tier] = 1; - } - // Increment type counters for (const typeName of types) { if (typeName in typeCount) { @@ -1030,11 +1048,6 @@ export class RandomGen5Teams extends RandomGen6Teams { typeCount[typeName] = 1; } } - if (typeCombo in typeComboCount) { - typeComboCount[typeCombo]++; - } else { - typeComboCount[typeCombo] = 1; - } // Increment weakness counter for (const typeName of this.dex.types.names()) { @@ -1042,8 +1055,14 @@ export class RandomGen5Teams extends RandomGen6Teams { if (this.dex.getEffectiveness(typeName, species) > 0) { typeWeaknesses[typeName]++; } + if (this.dex.getEffectiveness(typeName, species) > 1) { + typeDoubleWeaknesses[typeName]++; + } } + // Increment level 100 counter + if (set.level === 100) numMaxLevelPokemon++; + // Team details if (set.ability === 'Snow Warning' || set.moves.includes('hail')) teamDetails.hail = 1; if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; diff --git a/data/mods/gen6/factory-sets.json b/data/random-battles/gen6/factory-sets.json similarity index 100% rename from data/mods/gen6/factory-sets.json rename to data/random-battles/gen6/factory-sets.json diff --git a/data/mods/gen6/random-sets.json b/data/random-battles/gen6/sets.json similarity index 89% rename from data/mods/gen6/random-sets.json rename to data/random-battles/gen6/sets.json index 0bb618b6cda9..8f982cc57503 100644 --- a/data/mods/gen6/random-sets.json +++ b/data/random-battles/gen6/sets.json @@ -8,16 +8,16 @@ }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "energyball", "hiddenpowerfire", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["earthquake", "energyball", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] } ] }, "venusaurmega": { - "level": 79, + "level": 78, "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "gigadrain", "hiddenpowerfire", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["earthquake", "gigadrain", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] } ] }, @@ -31,7 +31,7 @@ ] }, "charizardmegax": { - "level": 77, + "level": 75, "sets": [ { "role": "Setup Sweeper", @@ -40,11 +40,15 @@ ] }, "charizardmegay": { - "level": 77, + "level": 75, "sets": [ { "role": "Fast Attacker", - "movepool": ["airslash", "fireblast", "focusblast", "roost", "solarbeam"] + "movepool": ["airslash", "fireblast", "roost", "solarbeam"] + }, + { + "role": "Bulky Attacker", + "movepool": ["dragonpulse", "fireblast", "roost", "solarbeam"] } ] }, @@ -71,7 +75,7 @@ ] }, "butterfree": { - "level": 89, + "level": 92, "sets": [ { "role": "Setup Sweeper", @@ -80,7 +84,7 @@ ] }, "beedrill": { - "level": 89, + "level": 91, "sets": [ { "role": "Fast Support", @@ -89,7 +93,7 @@ ] }, "beedrillmega": { - "level": 81, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -107,7 +111,7 @@ ] }, "pidgeotmega": { - "level": 79, + "level": 78, "sets": [ { "role": "Bulky Attacker", @@ -116,11 +120,12 @@ ] }, "raticate": { - "level": 88, + "level": 89, "sets": [ { "role": "Wallbreaker", - "movepool": ["facade", "flamewheel", "protect", "suckerpunch", "swordsdance", "uturn"] + "movepool": ["crunch", "facade", "flamewheel", "protect", "suckerpunch", "swordsdance", "uturn"], + "preferredTypes": ["Dark"] } ] }, @@ -145,7 +150,7 @@ ] }, "pikachu": { - "level": 90, + "level": 91, "sets": [ { "role": "Fast Attacker", @@ -154,11 +159,12 @@ ] }, "raichu": { - "level": 88, + "level": 87, "sets": [ { "role": "Fast Support", - "movepool": ["encore", "hiddenpowerice", "knockoff", "nastyplot", "nuzzle", "thunderbolt", "voltswitch"] + "movepool": ["encore", "hiddenpowerice", "knockoff", "nastyplot", "nuzzle", "thunderbolt", "voltswitch"], + "preferredTypes": ["Ice"] }, { "role": "Fast Attacker", @@ -186,7 +192,7 @@ ] }, "nidoking": { - "level": 82, + "level": 81, "sets": [ { "role": "Wallbreaker", @@ -213,31 +219,35 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["fireblast", "hiddenpowerice", "nastyplot", "solarbeam", "substitute", "willowisp"], + "movepool": ["fireblast", "hiddenpowerrock", "nastyplot", "solarbeam"] + }, + { + "role": "Bulky Setup", + "movepool": ["fireblast", "nastyplot", "solarbeam", "substitute", "willowisp"], "preferredTypes": ["Grass"] } ] }, "wigglytuff": { - "level": 89, + "level": 93, "sets": [ { "role": "Bulky Support", - "movepool": ["dazzlinggleam", "fireblast", "healbell", "lightscreen", "protect", "reflect", "stealthrock", "thunderwave", "wish"] + "movepool": ["dazzlinggleam", "fireblast", "healbell", "knockoff", "protect", "stealthrock", "thunderwave", "wish"] } ] }, "vileplume": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Support", - "movepool": ["aromatherapy", "gigadrain", "hiddenpowerfire", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["aromatherapy", "gigadrain", "hiddenpowerground", "sleeppowder", "sludgebomb", "synthesis"] } ] }, "parasect": { - "level": 94, + "level": 99, "sets": [ { "role": "Bulky Attacker", @@ -265,11 +275,11 @@ ] }, "persian": { - "level": 89, + "level": 91, "sets": [ { "role": "Fast Attacker", - "movepool": ["aerialace", "doubleedge", "fakeout", "gunkshot", "knockoff", "return", "seedbomb", "taunt", "uturn"], + "movepool": ["doubleedge", "fakeout", "gunkshot", "knockoff", "return", "seedbomb", "taunt", "uturn"], "preferredTypes": ["Dark"] }, { @@ -279,7 +289,7 @@ ] }, "golduck": { - "level": 87, + "level": 89, "sets": [ { "role": "Fast Attacker", @@ -293,7 +303,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["closecombat", "earthquake", "gunkshot", "honeclaws", "icepunch", "stoneedge", "uturn"] + "movepool": ["closecombat", "earthquake", "gunkshot", "honeclaws", "stoneedge", "uturn"] } ] }, @@ -316,7 +326,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["focusblast", "hydropump", "icepunch", "raindance"] + "movepool": ["focusblast", "icepunch", "raindance", "waterfall"] }, { "role": "Bulky Attacker", @@ -329,12 +339,17 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["counter", "focusblast", "hiddenpowerfire", "psychic", "psyshock", "shadowball"] + "movepool": ["counter", "focusblast", "psychic", "psyshock", "shadowball"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "encore", "focusblast", "psychic", "psyshock", "shadowball", "substitute"], + "preferredTypes": ["Fighting"] } ] }, "alakazammega": { - "level": 80, + "level": 79, "sets": [ { "role": "Setup Sweeper", @@ -353,8 +368,7 @@ }, { "role": "AV Pivot", - "movepool": ["bulletpunch", "dynamicpunch", "icepunch", "knockoff", "stoneedge"], - "preferredTypes": ["Dark"] + "movepool": ["bulletpunch", "dynamicpunch", "knockoff", "stoneedge"] } ] }, @@ -363,12 +377,16 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["hiddenpowerfire", "knockoff", "powerwhip", "sleeppowder", "sludgebomb", "suckerpunch"] + "movepool": ["hiddenpowerground", "knockoff", "powerwhip", "sleeppowder", "sludgebomb", "suckerpunch"] + }, + { + "role": "Setup Sweeper", + "movepool": ["powerwhip", "sludgebomb", "sunnyday", "weatherball"] } ] }, "tentacruel": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -382,6 +400,10 @@ { "role": "Bulky Attacker", "movepool": ["earthquake", "explosion", "stealthrock", "stoneedge", "suckerpunch", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["earthquake", "explosion", "rockpolish", "stoneedge", "suckerpunch"] } ] }, @@ -412,7 +434,7 @@ ] }, "slowbromega": { - "level": 83, + "level": 82, "sets": [ { "role": "Bulky Attacker", @@ -421,7 +443,7 @@ ] }, "farfetchd": { - "level": 98, + "level": 100, "sets": [ { "role": "Setup Sweeper", @@ -430,7 +452,7 @@ ] }, "dodrio": { - "level": 88, + "level": 87, "sets": [ { "role": "Wallbreaker", @@ -443,7 +465,7 @@ ] }, "dewgong": { - "level": 89, + "level": 91, "sets": [ { "role": "Staller", @@ -460,13 +482,13 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["curse", "firepunch", "gunkshot", "haze", "icepunch", "poisonjab", "shadowsneak"], - "preferredTypes": ["Fire"] + "movepool": ["brickbreak", "curse", "gunkshot", "haze", "icepunch", "poisonjab", "shadowsneak"], + "preferredTypes": ["Fighting"] } ] }, "cloyster": { - "level": 80, + "level": 78, "sets": [ { "role": "Setup Sweeper", @@ -475,7 +497,7 @@ ] }, "gengar": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -497,11 +519,11 @@ ] }, "hypno": { - "level": 90, + "level": 93, "sets": [ { "role": "Bulky Support", - "movepool": ["focusblast", "foulplay", "lightscreen", "protect", "psychic", "reflect", "thunderwave", "toxic", "wish"] + "movepool": ["focusblast", "foulplay", "protect", "psychic", "thunderwave", "toxic", "wish"] }, { "role": "Staller", @@ -510,7 +532,7 @@ ] }, "kingler": { - "level": 88, + "level": 89, "sets": [ { "role": "Setup Sweeper", @@ -523,7 +545,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["foulplay", "hiddenpowergrass", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt", "voltswitch"] + "movepool": ["foulplay", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt", "voltswitch"], + "preferredTypes": ["Ice"] }, { "role": "Fast Support", @@ -532,7 +555,7 @@ ] }, "exeggutor": { - "level": 91, + "level": 92, "sets": [ { "role": "Bulky Support", @@ -552,12 +575,17 @@ ] }, "hitmonlee": { - "level": 85, + "level": 86, "sets": [ { "role": "Fast Attacker", "movepool": ["highjumpkick", "knockoff", "machpunch", "poisonjab", "rapidspin", "stoneedge"], "preferredTypes": ["Dark"] + }, + { + "role": "Setup Sweeper", + "movepool": ["bulkup", "closecombat", "knockoff", "poisonjab", "stoneedge"], + "preferredTypes": ["Dark"] } ] }, @@ -584,20 +612,16 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] + "movepool": ["earthquake", "megahorn", "stealthrock", "stoneedge", "swordsdance", "toxic"] } ] }, "chansey": { - "level": 84, + "level": 86, "sets": [ { "role": "Staller", - "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] - }, - { - "role": "Bulky Support", - "movepool": ["protect", "seismictoss", "toxic", "wish"] + "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic", "wish"] } ] }, @@ -629,7 +653,7 @@ ] }, "seaking": { - "level": 90, + "level": 91, "sets": [ { "role": "Fast Attacker", @@ -662,7 +686,7 @@ ] }, "scyther": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -683,7 +707,7 @@ }, { "role": "Setup Sweeper", - "movepool": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock", "substitute"] + "movepool": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock"] } ] }, @@ -698,7 +722,7 @@ ] }, "pinsirmega": { - "level": 75, + "level": 74, "sets": [ { "role": "Bulky Setup", @@ -721,7 +745,7 @@ ] }, "gyarados": { - "level": 78, + "level": 77, "sets": [ { "role": "Setup Sweeper", @@ -730,7 +754,7 @@ ] }, "gyaradosmega": { - "level": 76, + "level": 74, "sets": [ { "role": "Setup Sweeper", @@ -739,11 +763,11 @@ ] }, "lapras": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Support", - "movepool": ["freezedry", "healbell", "hydropump", "icebeam", "thunderbolt", "toxic"] + "movepool": ["freezedry", "healbell", "hydropump", "icebeam", "toxic"] }, { "role": "Staller", @@ -778,7 +802,11 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["hiddenpowerice", "shadowball", "signalbeam", "thunderbolt", "voltswitch"] + "movepool": ["hiddenpowerice", "shadowball", "thunderbolt", "voltswitch"] + }, + { + "role": "Wallbreaker", + "movepool": ["hiddenpowerice", "signalbeam", "thunderbolt", "voltswitch"] } ] }, @@ -796,7 +824,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["earthpower", "hydropump", "icebeam", "shellsmash"] + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash"] } ] }, @@ -828,7 +856,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["aerialace", "aquatail", "earthquake", "firefang", "honeclaws", "roost", "stoneedge"] + "movepool": ["aerialace", "aquatail", "earthquake", "honeclaws", "roost", "stoneedge"], + "preferredTypes": ["Ground"] } ] }, @@ -836,17 +865,17 @@ "level": 82, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["bodyslam", "crunch", "curse", "earthquake", "rest", "return", "sleeptalk"] + "role": "Bulky Support", + "movepool": ["bodyslam", "crunch", "curse", "earthquake", "rest", "sleeptalk"] }, { "role": "AV Pivot", - "movepool": ["bodyslam", "crunch", "earthquake", "firepunch", "pursuit", "return"] + "movepool": ["bodyslam", "crunch", "earthquake", "pursuit"] } ] }, "articuno": { - "level": 85, + "level": 84, "sets": [ { "role": "Staller", @@ -859,7 +888,7 @@ ] }, "zapdos": { - "level": 80, + "level": 78, "sets": [ { "role": "Bulky Support", @@ -868,7 +897,7 @@ ] }, "moltres": { - "level": 83, + "level": 81, "sets": [ { "role": "Bulky Attacker", @@ -877,16 +906,17 @@ ] }, "dragonite": { - "level": 76, + "level": 75, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["dragondance", "earthquake", "extremespeed", "firepunch", "outrage"] + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "ironhead", "outrage", "roost"], + "preferredTypes": ["Ground"] } ] }, "mewtwo": { - "level": 72, + "level": 70, "sets": [ { "role": "Fast Attacker", @@ -895,7 +925,7 @@ ] }, "mewtwomegax": { - "level": 71, + "level": 70, "sets": [ { "role": "Setup Sweeper", @@ -904,7 +934,7 @@ ] }, "mewtwomegay": { - "level": 71, + "level": 70, "sets": [ { "role": "Setup Sweeper", @@ -930,11 +960,11 @@ ] }, "meganium": { - "level": 88, + "level": 91, "sets": [ { - "role": "Bulky Support", - "movepool": ["aromatherapy", "dragontail", "gigadrain", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"] + "role": "Staller", + "movepool": ["aromatherapy", "dragontail", "earthquake", "energyball", "leechseed", "synthesis", "toxic"] } ] }, @@ -943,12 +973,12 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["eruption", "fireblast", "focusblast", "hiddenpowergrass"] + "movepool": ["eruption", "fireblast", "focusblast", "hiddenpowergrass", "hiddenpowerrock"] } ] }, "feraligatr": { - "level": 81, + "level": 80, "sets": [ { "role": "Setup Sweeper", @@ -962,7 +992,7 @@ ] }, "furret": { - "level": 91, + "level": 93, "sets": [ { "role": "Wallbreaker", @@ -972,29 +1002,26 @@ ] }, "noctowl": { - "level": 93, + "level": 94, "sets": [ { "role": "Bulky Support", - "movepool": ["airslash", "defog", "heatwave", "hypervoice", "roost", "whirlwind"] + "movepool": ["airslash", "defog", "hypervoice", "roost", "toxic", "whirlwind"] } ] }, "ledian": { "level": 100, "sets": [ - { - "role": "Bulky Support", - "movepool": ["knockoff", "lightscreen", "reflect", "roost", "toxic", "uturn"] - }, { "role": "Staller", - "movepool": ["encore", "knockoff", "roost", "toxic", "uturn"] + "movepool": ["encore", "focusblast", "knockoff", "roost", "toxic"], + "preferredTypes": ["Dark"] } ] }, "ariados": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -1003,7 +1030,7 @@ ] }, "crobat": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Attacker", @@ -1052,7 +1079,7 @@ ] }, "bellossom": { - "level": 90, + "level": 93, "sets": [ { "role": "Bulky Support", @@ -1070,7 +1097,7 @@ ] }, "sudowoodo": { - "level": 89, + "level": 93, "sets": [ { "role": "Bulky Attacker", @@ -1080,7 +1107,7 @@ ] }, "politoed": { - "level": 84, + "level": 85, "sets": [ { "role": "Staller", @@ -1106,11 +1133,15 @@ ] }, "sunflora": { - "level": 96, + "level": 100, "sets": [ { "role": "Wallbreaker", "movepool": ["earthpower", "hiddenpowerfire", "hiddenpowerice", "hiddenpowerrock", "leafstorm", "sludgebomb"] + }, + { + "role": "Setup Sweeper", + "movepool": ["earthpower", "hiddenpowerfire", "solarbeam", "sunnyday"] } ] }, @@ -1124,7 +1155,7 @@ ] }, "espeon": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -1133,7 +1164,7 @@ ] }, "umbreon": { - "level": 82, + "level": 83, "sets": [ { "role": "Staller", @@ -1177,7 +1208,7 @@ ] }, "wobbuffet": { - "level": 83, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -1186,7 +1217,7 @@ ] }, "girafarig": { - "level": 90, + "level": 91, "sets": [ { "role": "Setup Sweeper", @@ -1205,7 +1236,7 @@ ] }, "dunsparce": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Attacker", @@ -1227,7 +1258,7 @@ ] }, "steelix": { - "level": 86, + "level": 84, "sets": [ { "role": "Wallbreaker", @@ -1245,7 +1276,7 @@ ] }, "steelixmega": { - "level": 84, + "level": 82, "sets": [ { "role": "Bulky Support", @@ -1272,7 +1303,7 @@ ] }, "scizor": { - "level": 80, + "level": 79, "sets": [ { "role": "Setup Sweeper", @@ -1289,7 +1320,7 @@ ] }, "scizormega": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Setup", @@ -1311,7 +1342,7 @@ ] }, "heracross": { - "level": 81, + "level": 79, "sets": [ { "role": "Wallbreaker", @@ -1324,7 +1355,7 @@ ] }, "heracrossmega": { - "level": 79, + "level": 78, "sets": [ { "role": "Wallbreaker", @@ -1343,7 +1374,7 @@ ] }, "magcargo": { - "level": 91, + "level": 96, "sets": [ { "role": "Staller", @@ -1352,7 +1383,7 @@ ] }, "corsola": { - "level": 93, + "level": 97, "sets": [ { "role": "Bulky Support", @@ -1361,7 +1392,7 @@ ] }, "octillery": { - "level": 89, + "level": 91, "sets": [ { "role": "Wallbreaker", @@ -1383,7 +1414,7 @@ ] }, "mantine": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -1396,11 +1427,15 @@ ] }, "skarmory": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Support", "movepool": ["bravebird", "roost", "spikes", "stealthrock", "whirlwind"] + }, + { + "role": "Staller", + "movepool": ["bravebird", "roost", "spikes", "stealthrock", "toxic"] } ] }, @@ -1423,7 +1458,7 @@ ] }, "kingdra": { - "level": 84, + "level": 85, "sets": [ { "role": "Setup Sweeper", @@ -1432,7 +1467,7 @@ ] }, "donphan": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -1455,11 +1490,12 @@ ] }, "stantler": { - "level": 88, + "level": 89, "sets": [ { "role": "Wallbreaker", - "movepool": ["doubleedge", "earthquake", "jumpkick", "megahorn", "suckerpunch"] + "movepool": ["doubleedge", "earthquake", "jumpkick", "megahorn", "suckerpunch", "thunderwave"], + "preferredTypes": ["Ground"] } ] }, @@ -1482,7 +1518,7 @@ ] }, "miltank": { - "level": 84, + "level": 85, "sets": [ { "role": "Bulky Support", @@ -1499,7 +1535,7 @@ "sets": [ { "role": "Staller", - "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] + "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic"] }, { "role": "Bulky Support", @@ -1508,15 +1544,16 @@ ] }, "raikou": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", "movepool": ["aurasphere", "hiddenpowerice", "thunderbolt", "voltswitch"] }, { - "role": "Setup Sweeper", - "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"] + "role": "Bulky Setup", + "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] } ] }, @@ -1525,8 +1562,11 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["bulldoze", "extremespeed", "flareblitz", "sacredfire", "stoneedge"], - "preferredTypes": ["Normal"] + "movepool": ["bulldoze", "extremespeed", "flareblitz", "sacredfire"] + }, + { + "role": "Fast Attacker", + "movepool": ["extremespeed", "flareblitz", "sacredfire", "stoneedge"] } ] }, @@ -1539,7 +1579,7 @@ }, { "role": "Bulky Setup", - "movepool": ["calmmind", "hydropump", "icebeam", "rest", "scald", "substitute"] + "movepool": ["calmmind", "icebeam", "rest", "scald", "substitute"] }, { "role": "Staller", @@ -1579,7 +1619,7 @@ ] }, "hooh": { - "level": 72, + "level": 70, "sets": [ { "role": "Bulky Attacker", @@ -1597,7 +1637,7 @@ }, { "role": "Bulky Support", - "movepool": ["healbell", "leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] + "movepool": ["leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] }, { "role": "Bulky Setup", @@ -1606,7 +1646,7 @@ ] }, "sceptile": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", @@ -1637,14 +1677,18 @@ { "role": "Wallbreaker", "movepool": ["fireblast", "highjumpkick", "knockoff", "protect", "stoneedge"] + }, + { + "role": "Setup Sweeper", + "movepool": ["flareblitz", "highjumpkick", "knockoff", "stoneedge", "swordsdance"] } ] }, "blazikenmega": { - "level": 75, + "level": 74, "sets": [ { - "role": "Wallbreaker", + "role": "Setup Sweeper", "movepool": ["flareblitz", "highjumpkick", "knockoff", "protect", "stoneedge", "swordsdance"] } ] @@ -1663,7 +1707,7 @@ ] }, "swampertmega": { - "level": 82, + "level": 81, "sets": [ { "role": "Setup Sweeper", @@ -1672,17 +1716,17 @@ ] }, "mightyena": { - "level": 90, + "level": 91, "sets": [ { - "role": "Fast Attacker", - "movepool": ["crunch", "firefang", "irontail", "playrough", "suckerpunch"], + "role": "Wallbreaker", + "movepool": ["crunch", "irontail", "playrough", "suckerpunch", "toxic"], "preferredTypes": ["Fairy"] } ] }, "linoone": { - "level": 85, + "level": 84, "sets": [ { "role": "Setup Sweeper", @@ -1691,20 +1735,20 @@ ] }, "beautifly": { - "level": 94, + "level": 96, "sets": [ { "role": "Setup Sweeper", - "movepool": ["bugbuzz", "energyball", "hiddenpowerfighting", "psychic", "quiverdance"] + "movepool": ["aircutter", "bugbuzz", "hiddenpowerground", "quiverdance"] } ] }, "dustox": { - "level": 90, + "level": 93, "sets": [ { "role": "Bulky Setup", - "movepool": ["bugbuzz", "quiverdance", "roost", "sludgebomb"] + "movepool": ["bugbuzz", "hiddenpowerground", "quiverdance", "roost", "sludgebomb"] }, { "role": "Bulky Support", @@ -1713,7 +1757,7 @@ ] }, "ludicolo": { - "level": 87, + "level": 88, "sets": [ { "role": "Setup Sweeper", @@ -1721,7 +1765,7 @@ }, { "role": "Wallbreaker", - "movepool": ["energyball", "focusblast", "hydropump", "icebeam", "scald"] + "movepool": ["energyball", "hydropump", "icebeam", "scald"] } ] }, @@ -1739,10 +1783,10 @@ ] }, "swellow": { - "level": 84, + "level": 83, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["bravebird", "facade", "protect", "quickattack", "uturn"] } ] @@ -1761,7 +1805,7 @@ ] }, "gardevoir": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Attacker", @@ -1783,7 +1827,7 @@ ] }, "masquerain": { - "level": 88, + "level": 90, "sets": [ { "role": "Setup Sweeper", @@ -1796,7 +1840,7 @@ ] }, "breloom": { - "level": 80, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -1822,8 +1866,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["earthquake", "firepunch", "gigaimpact", "nightslash", "retaliate"], - "preferredTypes": ["Ground"] + "movepool": ["earthquake", "gigaimpact", "nightslash", "retaliate"] } ] }, @@ -1837,7 +1880,7 @@ ] }, "shedinja": { - "level": 89, + "level": 92, "sets": [ { "role": "Setup Sweeper", @@ -1846,7 +1889,7 @@ ] }, "exploud": { - "level": 84, + "level": 85, "sets": [ { "role": "Wallbreaker", @@ -1859,7 +1902,7 @@ "sets": [ { "role": "AV Pivot", - "movepool": ["bulletpunch", "closecombat", "heavyslam", "icepunch", "knockoff", "stoneedge"], + "movepool": ["bulletpunch", "closecombat", "heavyslam", "knockoff", "stoneedge"], "preferredTypes": ["Dark"] }, { @@ -1870,7 +1913,7 @@ ] }, "delcatty": { - "level": 94, + "level": 98, "sets": [ { "role": "Fast Support", @@ -1897,20 +1940,20 @@ ] }, "mawile": { - "level": 89, + "level": 90, "sets": [ { - "role": "Wallbreaker", + "role": "Bulky Attacker", "movepool": ["ironhead", "knockoff", "playrough", "stealthrock", "suckerpunch", "swordsdance"] } ] }, "mawilemega": { - "level": 79, + "level": 78, "sets": [ { "role": "Wallbreaker", - "movepool": ["firefang", "ironhead", "playrough", "suckerpunch", "swordsdance"] + "movepool": ["ironhead", "knockoff", "playrough", "suckerpunch", "swordsdance"] } ] }, @@ -1925,7 +1968,7 @@ ] }, "aggronmega": { - "level": 82, + "level": 80, "sets": [ { "role": "Bulky Support", @@ -1955,9 +1998,8 @@ "level": 85, "sets": [ { - "role": "Fast Attacker", - "movepool": ["flamethrower", "hiddenpowergrass", "hiddenpowerice", "overheat", "switcheroo", "thunderbolt", "voltswitch"], - "preferredTypes": ["Fire"] + "role": "Wallbreaker", + "movepool": ["flamethrower", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch"] } ] }, @@ -1966,16 +2008,21 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["hiddenpowergrass", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch"] + "movepool": ["hiddenpowerice", "overheat", "thunderbolt", "voltswitch"] } ] }, "plusle": { - "level": 90, + "level": 93, "sets": [ { "role": "Bulky Setup", - "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] + "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] }, { "role": "Bulky Attacker", @@ -1984,11 +2031,16 @@ ] }, "minun": { - "level": 90, + "level": 93, "sets": [ { "role": "Bulky Setup", - "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] + "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] }, { "role": "Bulky Attacker", @@ -1997,11 +2049,11 @@ ] }, "volbeat": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", - "movepool": ["encore", "roost", "thunderwave", "toxic", "uturn"] + "movepool": ["encore", "roost", "thunderwave", "uturn"] } ] }, @@ -2010,16 +2062,20 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["bugbuzz", "encore", "roost", "thunderwave", "wish"] + "movepool": ["bugbuzz", "encore", "roost", "thunderwave"] } ] }, "swalot": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", "movepool": ["earthquake", "encore", "icebeam", "painsplit", "sludgebomb", "toxic", "yawn"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "sludgebomb", "toxic"] } ] }, @@ -2033,7 +2089,7 @@ ] }, "sharpedomega": { - "level": 82, + "level": 81, "sets": [ { "role": "Wallbreaker", @@ -2042,7 +2098,7 @@ ] }, "wailord": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Attacker", @@ -2055,7 +2111,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "fireblast", "hiddenpowergrass", "rockpolish", "stoneedge"] + "movepool": ["earthquake", "fireblast", "rockpolish", "stoneedge"] }, { "role": "Bulky Support", @@ -2064,7 +2120,7 @@ ] }, "cameruptmega": { - "level": 87, + "level": 86, "sets": [ { "role": "Bulky Attacker", @@ -2082,11 +2138,11 @@ ] }, "grumpig": { - "level": 92, + "level": 93, "sets": [ { "role": "Bulky Support", - "movepool": ["focusblast", "healbell", "lightscreen", "psychic", "reflect", "thunderwave", "toxic", "whirlwind"] + "movepool": ["focusblast", "healbell", "psychic", "thunderwave", "toxic", "whirlwind"] } ] }, @@ -2095,7 +2151,7 @@ "sets": [ { "role": "Staller", - "movepool": ["icepunch", "rest", "return", "sleeptalk", "suckerpunch", "superpower"], + "movepool": ["feintattack", "rest", "return", "sleeptalk", "suckerpunch", "superpower"], "preferredTypes": ["Fighting"] } ] @@ -2135,7 +2191,7 @@ }, { "role": "Bulky Support", - "movepool": ["dracometeor", "earthquake", "fireblast", "roost", "toxic"] + "movepool": ["dracometeor", "earthquake", "fireblast", "healbell", "roost", "toxic"] } ] }, @@ -2153,17 +2209,17 @@ ] }, "zangoose": { - "level": 86, + "level": 84, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["closecombat", "facade", "knockoff", "quickattack", "swordsdance"], "preferredTypes": ["Dark"] } ] }, "seviper": { - "level": 89, + "level": 90, "sets": [ { "role": "Fast Attacker", @@ -2173,7 +2229,7 @@ ] }, "lunatone": { - "level": 91, + "level": 93, "sets": [ { "role": "Wallbreaker", @@ -2182,12 +2238,12 @@ }, { "role": "Bulky Support", - "movepool": ["moonblast", "moonlight", "psychic", "stealthrock", "toxic"] + "movepool": ["earthpower", "moonlight", "psychic", "stealthrock", "toxic"] } ] }, "solrock": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -2208,17 +2264,17 @@ "level": 83, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["aquajet", "crabhammer", "dragondance", "knockoff", "superpower"] }, { "role": "Setup Sweeper", - "movepool": ["aquajet", "crabhammer", "knockoff", "swordsdance"] + "movepool": ["aquajet", "crabhammer", "dragondance", "knockoff", "swordsdance"] } ] }, "claydol": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Support", @@ -2262,7 +2318,7 @@ ] }, "castform": { - "level": 99, + "level": 98, "sets": [ { "role": "Bulky Attacker", @@ -2271,12 +2327,16 @@ ] }, "kecleon": { - "level": 88, + "level": 89, "sets": [ { "role": "Fast Support", "movepool": ["drainpunch", "fakeout", "knockoff", "recover", "shadowsneak", "stealthrock", "suckerpunch"], "preferredTypes": ["Fighting"] + }, + { + "role": "Bulky Attacker", + "movepool": ["drainpunch", "knockoff", "recover", "stealthrock", "thunderwave", "toxic"] } ] }, @@ -2285,12 +2345,12 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["destinybond", "gunkshot", "knockoff", "shadowclaw", "shadowsneak", "taunt", "willowisp"] + "movepool": ["gunkshot", "knockoff", "shadowclaw", "shadowsneak", "taunt", "thunderwave", "willowisp"] } ] }, "banettemega": { - "level": 86, + "level": 87, "sets": [ { "role": "Fast Support", @@ -2299,7 +2359,7 @@ ] }, "tropius": { - "level": 90, + "level": 93, "sets": [ { "role": "Staller", @@ -2308,7 +2368,7 @@ ] }, "chimecho": { - "level": 94, + "level": 96, "sets": [ { "role": "Staller", @@ -2321,11 +2381,12 @@ ] }, "absol": { - "level": 84, + "level": 83, "sets": [ { "role": "Wallbreaker", - "movepool": ["knockoff", "playrough", "pursuit", "suckerpunch", "superpower", "swordsdance"] + "movepool": ["knockoff", "playrough", "pursuit", "suckerpunch", "superpower", "swordsdance"], + "preferredTypes": ["Fairy"] } ] }, @@ -2334,11 +2395,13 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["fireblast", "knockoff", "playrough", "protect", "pursuit", "suckerpunch", "superpower"] + "movepool": ["fireblast", "knockoff", "playrough", "protect", "pursuit", "suckerpunch", "superpower"], + "preferredTypes": ["Fairy"] }, { "role": "Setup Sweeper", - "movepool": ["knockoff", "playrough", "suckerpunch", "superpower", "swordsdance"] + "movepool": ["knockoff", "playrough", "suckerpunch", "superpower", "swordsdance"], + "preferredTypes": ["Fairy"] } ] }, @@ -2347,7 +2410,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["earthquake", "explosion", "freezedry", "spikes", "superfang", "taunt"] + "movepool": ["earthquake", "freezedry", "spikes", "superfang", "taunt"] } ] }, @@ -2355,8 +2418,9 @@ "level": 82, "sets": [ { - "role": "Wallbreaker", - "movepool": ["earthquake", "explosion", "freezedry", "iceshard", "return", "spikes"] + "role": "Fast Attacker", + "movepool": ["earthquake", "explosion", "freezedry", "iceshard", "return", "spikes"], + "preferredTypes": ["Ground"] } ] }, @@ -2378,18 +2442,17 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["icebeam", "return", "shellsmash", "substitute", "suckerpunch", "waterfall"], + "movepool": ["icebeam", "return", "shellsmash", "suckerpunch", "waterfall"], "preferredTypes": ["Ice"] } ] }, "gorebyss": { - "level": 84, + "level": 83, "sets": [ { "role": "Setup Sweeper", - "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash", "substitute"], - "preferredTypes": ["Ice"] + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash"] } ] }, @@ -2412,7 +2475,7 @@ "sets": [ { "role": "Staller", - "movepool": ["charm", "protect", "scald", "toxic"] + "movepool": ["icebeam", "protect", "scald", "substitute", "toxic"] } ] }, @@ -2426,7 +2489,7 @@ ] }, "salamencemega": { - "level": 72, + "level": 70, "sets": [ { "role": "Setup Sweeper", @@ -2435,7 +2498,7 @@ ] }, "metagross": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Setup", @@ -2454,7 +2517,8 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["agility", "earthquake", "hammerarm", "icepunch", "meteormash", "zenheadbutt"] + "movepool": ["agility", "earthquake", "hammerarm", "meteormash", "zenheadbutt"], + "preferredTypes": ["Psychic"] } ] }, @@ -2501,12 +2565,12 @@ }, { "role": "Staller", - "movepool": ["protect", "seismictoss", "stealthrock", "toxic"] + "movepool": ["protect", "seismictoss", "stealthrock", "thunderwave", "toxic"] } ] }, "latias": { - "level": 75, + "level": 74, "sets": [ { "role": "Bulky Attacker", @@ -2519,12 +2583,12 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["calmmind", "defog", "dracometeor", "hiddenpowerfire", "psyshock", "roost"] + "movepool": ["calmmind", "dracometeor", "psyshock", "roost"] } ] }, "latios": { - "level": 74, + "level": 73, "sets": [ { "role": "Bulky Attacker", @@ -2533,16 +2597,16 @@ ] }, "latiosmega": { - "level": 79, + "level": 78, "sets": [ { "role": "Bulky Attacker", - "movepool": ["calmmind", "dracometeor", "hiddenpowerfire", "psyshock", "roost"] + "movepool": ["calmmind", "dracometeor", "psyshock", "roost"] } ] }, "kyogre": { - "level": 69, + "level": 68, "sets": [ { "role": "Fast Attacker", @@ -2577,7 +2641,7 @@ ] }, "groudonprimal": { - "level": 67, + "level": 65, "sets": [ { "role": "Bulky Support", @@ -2590,11 +2654,20 @@ ] }, "rayquaza": { - "level": 74, + "level": 72, "sets": [ { "role": "Wallbreaker", - "movepool": ["dracometeor", "dragondance", "earthquake", "extremespeed", "outrage", "vcreate"] + "movepool": ["dracometeor", "earthquake", "extremespeed", "outrage", "vcreate"] + }, + { + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "extremespeed", "outrage", "vcreate"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "extremespeed", "outrage", "swordsdance", "vcreate"], + "preferredTypes": ["Normal"] } ] }, @@ -2608,7 +2681,7 @@ ] }, "jirachi": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Support", @@ -2617,7 +2690,7 @@ ] }, "deoxys": { - "level": 76, + "level": 75, "sets": [ { "role": "Wallbreaker", @@ -2627,7 +2700,7 @@ ] }, "deoxysattack": { - "level": 76, + "level": 73, "sets": [ { "role": "Wallbreaker", @@ -2646,7 +2719,7 @@ ] }, "deoxysspeed": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Support", @@ -2663,7 +2736,7 @@ }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "rockpolish", "stoneedge", "swordsdance", "woodhammer"] + "movepool": ["earthquake", "rockpolish", "stoneedge", "woodhammer"] } ] }, @@ -2671,11 +2744,11 @@ "level": 80, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["closecombat", "grassknot", "machpunch", "overheat", "stealthrock"] }, { - "role": "Fast Attacker", + "role": "Fast Support", "movepool": ["closecombat", "flareblitz", "machpunch", "stoneedge", "swordsdance", "uturn"] } ] @@ -2698,7 +2771,7 @@ ] }, "staraptor": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -2708,7 +2781,7 @@ ] }, "bibarel": { - "level": 90, + "level": 93, "sets": [ { "role": "Setup Sweeper", @@ -2717,7 +2790,7 @@ ] }, "kricketune": { - "level": 92, + "level": 94, "sets": [ { "role": "Fast Support", @@ -2730,8 +2803,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["crunch", "facade", "icefang", "superpower", "wildcharge"], - "preferredTypes": ["Fighting"] + "movepool": ["crunch", "facade", "superpower", "wildcharge"] }, { "role": "AV Pivot", @@ -2745,25 +2817,25 @@ "sets": [ { "role": "Fast Support", - "movepool": ["gigadrain", "hiddenpowerfire", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] + "movepool": ["gigadrain", "hiddenpowerground", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] } ] }, "rampardos": { - "level": 89, + "level": 88, "sets": [ { - "role": "Wallbreaker", - "movepool": ["crunch", "earthquake", "firepunch", "rockpolish", "rockslide"] + "role": "Setup Sweeper", + "movepool": ["earthquake", "firepunch", "rockpolish", "rockslide", "zenheadbutt"] }, { - "role": "Bulky Attacker", - "movepool": ["crunch", "earthquake", "firepunch", "headsmash", "superpower"] + "role": "Fast Attacker", + "movepool": ["earthquake", "firepunch", "headsmash", "rockslide"] } ] }, "bastiodon": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -2776,7 +2848,7 @@ ] }, "wormadam": { - "level": 98, + "level": 100, "sets": [ { "role": "Bulky Attacker", @@ -2789,11 +2861,11 @@ ] }, "wormadamsandy": { - "level": 88, + "level": 89, "sets": [ { "role": "Staller", - "movepool": ["earthquake", "protect", "stealthrock", "toxic"] + "movepool": ["earthquake", "protect", "stealthrock", "suckerpunch", "toxic"] } ] }, @@ -2802,12 +2874,12 @@ "sets": [ { "role": "Staller", - "movepool": ["flashcannon", "protect", "stealthrock", "toxic"] + "movepool": ["flashcannon", "protect", "stealthrock", "suckerpunch", "toxic"] } ] }, "mothim": { - "level": 91, + "level": 93, "sets": [ { "role": "Setup Sweeper", @@ -2816,7 +2888,7 @@ ] }, "vespiquen": { - "level": 96, + "level": 99, "sets": [ { "role": "Staller", @@ -2825,7 +2897,7 @@ ] }, "pachirisu": { - "level": 90, + "level": 94, "sets": [ { "role": "Bulky Support", @@ -2838,22 +2910,26 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["aquajet", "bulkup", "icepunch", "lowkick", "substitute", "taunt", "waterfall"], + "movepool": ["aquajet", "bulkup", "icepunch", "lowkick", "substitute", "waterfall"], "preferredTypes": ["Ice"] }, { "role": "Fast Attacker", "movepool": ["aquajet", "crunch", "icepunch", "lowkick", "waterfall"], - "preferredTypes": ["Fighting"] + "preferredTypes": ["Ice"] } ] }, "cherrim": { - "level": 93, + "level": 96, "sets": [ { - "role": "Fast Attacker", - "movepool": ["dazzlinggleam", "energyball", "healingwish", "hiddenpowerfire", "hiddenpowerground", "hiddenpowerrock", "synthesis"] + "role": "Wallbreaker", + "movepool": ["dazzlinggleam", "energyball", "healingwish", "hiddenpowerfire", "hiddenpowerground", "hiddenpowerrock", "morningsun"] + }, + { + "role": "Staller", + "movepool": ["aromatherapy", "energyball", "hiddenpowerground", "leechseed", "morningsun", "toxic"] } ] }, @@ -2867,17 +2943,17 @@ ] }, "ambipom": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "knockoff", "lowkick", "return", "seedbomb", "switcheroo", "uturn"], + "movepool": ["fakeout", "knockoff", "lowkick", "return", "uturn"], "preferredTypes": ["Dark"] } ] }, "drifblim": { - "level": 86, + "level": 84, "sets": [ { "role": "Fast Support", @@ -2890,7 +2966,7 @@ ] }, "lopunny": { - "level": 88, + "level": 87, "sets": [ { "role": "Wallbreaker", @@ -2899,12 +2975,11 @@ ] }, "lopunnymega": { - "level": 78, + "level": 77, "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "highjumpkick", "icepunch", "poweruppunch", "return", "substitute"], - "preferredTypes": ["Normal"] + "movepool": ["encore", "fakeout", "highjumpkick", "poweruppunch", "return", "substitute"] } ] }, @@ -2922,7 +2997,7 @@ ] }, "honchkrow": { - "level": 84, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -2931,11 +3006,11 @@ ] }, "purugly": { - "level": 87, + "level": 88, "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "knockoff", "quickattack", "return", "suckerpunch", "uturn"], + "movepool": ["fakeout", "knockoff", "return", "uturn", "wakeupslap"], "preferredTypes": ["Dark"] } ] @@ -2954,16 +3029,18 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["earthquake", "ironhead", "lightscreen", "psychic", "reflect", "stealthrock", "toxic"] + "movepool": ["earthquake", "ironhead", "psychic", "stealthrock", "toxic"], + "preferredTypes": ["Ground"] }, { "role": "Staller", - "movepool": ["earthquake", "ironhead", "protect", "psychic", "toxic"] + "movepool": ["earthquake", "ironhead", "protect", "psychic", "toxic"], + "preferredTypes": ["Ground"] } ] }, "chatot": { - "level": 88, + "level": 87, "sets": [ { "role": "Wallbreaker", @@ -2984,12 +3061,12 @@ }, { "role": "Bulky Attacker", - "movepool": ["foulplay", "painsplit", "pursuit", "shadowsneak", "suckerpunch", "willowisp"] + "movepool": ["foulplay", "painsplit", "pursuit", "suckerpunch", "willowisp"] } ] }, "garchomp": { - "level": 77, + "level": 75, "sets": [ { "role": "Fast Support", @@ -3029,11 +3106,11 @@ ] }, "lucariomega": { - "level": 77, + "level": 76, "sets": [ { "role": "Bulky Setup", - "movepool": ["bulletpunch", "closecombat", "icepunch", "swordsdance"] + "movepool": ["bulletpunch", "closecombat", "irontail", "swordsdance"] }, { "role": "Setup Sweeper", @@ -3051,7 +3128,7 @@ ] }, "drapion": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", @@ -3065,16 +3142,16 @@ ] }, "toxicroak": { - "level": 82, + "level": 83, "sets": [ { "role": "Setup Sweeper", - "movepool": ["drainpunch", "gunkshot", "icepunch", "substitute", "suckerpunch", "swordsdance"] + "movepool": ["drainpunch", "earthquake", "gunkshot", "knockoff", "substitute", "suckerpunch", "swordsdance"] } ] }, "carnivine": { - "level": 94, + "level": 96, "sets": [ { "role": "Bulky Support", @@ -3096,8 +3173,8 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["blizzard", "earthquake", "focusblast", "gigadrain", "iceshard", "woodhammer"], - "preferredTypes": ["Grass"] + "movepool": ["blizzard", "earthquake", "gigadrain", "iceshard", "woodhammer"], + "preferredTypes": ["Ground"] } ] }, @@ -3106,12 +3183,13 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["blizzard", "earthquake", "focusblast", "gigadrain", "iceshard", "woodhammer"] + "movepool": ["blizzard", "earthquake", "gigadrain", "iceshard", "woodhammer"], + "preferredTypes": ["Ground"] } ] }, "weavile": { - "level": 78, + "level": 77, "sets": [ { "role": "Fast Attacker", @@ -3165,7 +3243,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "hiddenpowerfire", "knockoff", "leafstorm", "leechseed", "powerwhip", "rockslide", "sleeppowder", "synthesis"] + "movepool": ["earthquake", "knockoff", "leafstorm", "leechseed", "powerwhip", "rockslide", "sleeppowder", "sludgebomb", "synthesis"] }, { "role": "AV Pivot", @@ -3174,11 +3252,12 @@ ] }, "electivire": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", - "movepool": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"] + "movepool": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"], + "preferredTypes": ["Ice"] } ] }, @@ -3193,7 +3272,7 @@ ] }, "togekiss": { - "level": 81, + "level": 79, "sets": [ { "role": "Bulky Setup", @@ -3214,7 +3293,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["airslash", "bugbuzz", "gigadrain", "protect"] + "movepool": ["airslash", "bugbuzz", "hiddenpowerground", "protect"] }, { "role": "Wallbreaker", @@ -3262,7 +3341,7 @@ }, { "role": "Setup Sweeper", - "movepool": ["earthquake", "facade", "knockoff", "roost", "swordsdance"] + "movepool": ["earthquake", "facade", "roost", "swordsdance"] } ] }, @@ -3271,11 +3350,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["earthquake", "iceshard", "iciclecrash", "stealthrock"] - }, - { - "role": "Fast Attacker", - "movepool": ["earthquake", "iceshard", "iciclecrash", "knockoff", "superpower"] + "movepool": ["earthquake", "iceshard", "iciclecrash", "knockoff", "stealthrock"] } ] }, @@ -3299,7 +3374,7 @@ ] }, "gallademega": { - "level": 79, + "level": 78, "sets": [ { "role": "Setup Sweeper", @@ -3320,8 +3395,13 @@ "level": 89, "sets": [ { - "role": "Bulky Support", - "movepool": ["earthquake", "haze", "icepunch", "painsplit", "shadowsneak", "willowisp"] + "role": "Bulky Attacker", + "movepool": ["earthquake", "haze", "icepunch", "painsplit", "shadowsneak", "toxic", "willowisp"], + "preferredTypes": ["Ground"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "shadowsneak", "toxic"] } ] }, @@ -3371,7 +3451,7 @@ ] }, "rotomfan": { - "level": 85, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -3380,11 +3460,11 @@ ] }, "rotommow": { - "level": 84, + "level": 85, "sets": [ { "role": "Fast Support", - "movepool": ["hiddenpowerfire", "hiddenpowerice", "leafstorm", "thunderbolt", "trick", "voltswitch", "willowisp"] + "movepool": ["hiddenpowerice", "leafstorm", "thunderbolt", "trick", "voltswitch", "willowisp"] } ] }, @@ -3424,16 +3504,17 @@ ] }, "dialga": { - "level": 74, + "level": 73, "sets": [ { "role": "Bulky Attacker", - "movepool": ["dracometeor", "dragontail", "fireblast", "flashcannon", "stealthrock", "thunderbolt", "toxic"] + "movepool": ["dracometeor", "dragontail", "fireblast", "flashcannon", "stealthrock", "thunderbolt", "toxic"], + "preferredTypes": ["Fire"] } ] }, "palkia": { - "level": 75, + "level": 74, "sets": [ { "role": "Bulky Attacker", @@ -3459,13 +3540,14 @@ "level": 82, "sets": [ { - "role": "Bulky Support", - "movepool": ["confuseray", "drainpunch", "knockoff", "return", "substitute", "thunderwave"] + "role": "Bulky Attacker", + "movepool": ["drainpunch", "knockoff", "return", "substitute", "thunderwave"], + "preferredTypes": ["Dark"] } ] }, "giratinaorigin": { - "level": 74, + "level": 72, "sets": [ { "role": "Bulky Attacker", @@ -3478,7 +3560,7 @@ ] }, "giratina": { - "level": 76, + "level": 74, "sets": [ { "role": "Fast Support", @@ -3495,7 +3577,7 @@ ] }, "cresselia": { - "level": 81, + "level": 80, "sets": [ { "role": "Bulky Setup", @@ -3508,7 +3590,7 @@ ] }, "phione": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -3517,7 +3599,7 @@ ] }, "manaphy": { - "level": 77, + "level": 76, "sets": [ { "role": "Bulky Setup", @@ -3526,7 +3608,7 @@ ] }, "darkrai": { - "level": 74, + "level": 75, "sets": [ { "role": "Setup Sweeper", @@ -3546,7 +3628,7 @@ ] }, "shayminsky": { - "level": 75, + "level": 74, "sets": [ { "role": "Fast Attacker", @@ -3555,7 +3637,7 @@ ] }, "arceus": { - "level": 72, + "level": 71, "sets": [ { "role": "Setup Sweeper", @@ -3564,7 +3646,7 @@ ] }, "arceusbug": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Setup", @@ -3577,7 +3659,7 @@ ] }, "arceusdark": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", @@ -3586,7 +3668,7 @@ ] }, "arceusdragon": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Support", @@ -3600,7 +3682,7 @@ ] }, "arceuselectric": { - "level": 72, + "level": 71, "sets": [ { "role": "Setup Sweeper", @@ -3609,7 +3691,7 @@ ] }, "arceusfairy": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", @@ -3622,7 +3704,7 @@ ] }, "arceusfighting": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Setup", @@ -3631,16 +3713,16 @@ ] }, "arceusfire": { - "level": 72, + "level": 71, "sets": [ { - "role": "Setup Sweeper", - "movepool": ["calmmind", "earthpower", "icebeam", "judgment", "recover", "thunderbolt"] + "role": "Bulky Setup", + "movepool": ["calmmind", "earthpower", "energyball", "judgment", "recover"] } ] }, "arceusflying": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Setup", @@ -3653,7 +3735,7 @@ ] }, "arceusghost": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", @@ -3666,7 +3748,7 @@ ] }, "arceusgrass": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Setup", @@ -3679,7 +3761,7 @@ ] }, "arceusground": { - "level": 72, + "level": 71, "sets": [ { "role": "Setup Sweeper", @@ -3693,7 +3775,7 @@ ] }, "arceusice": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Setup", @@ -3702,20 +3784,22 @@ ] }, "arceuspoison": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", - "movepool": ["defog", "earthquake", "fireblast", "icebeam", "recover", "sludgebomb"] + "movepool": ["defog", "earthquake", "icebeam", "recover", "sludgebomb"], + "preferredTypes": ["Ground"] }, { "role": "Setup Sweeper", - "movepool": ["calmmind", "earthpower", "fireblast", "icebeam", "recover", "sludgebomb"] + "movepool": ["calmmind", "earthpower", "icebeam", "recover", "sludgebomb"], + "preferredTypes": ["Ground"] } ] }, "arceuspsychic": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", @@ -3728,7 +3812,7 @@ ] }, "arceusrock": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", @@ -3742,7 +3826,7 @@ ] }, "arceussteel": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", @@ -3751,11 +3835,11 @@ ] }, "arceuswater": { - "level": 72, + "level": 71, "sets": [ { "role": "Bulky Attacker", - "movepool": ["calmmind", "defog", "icebeam", "judgment", "recover", "toxic", "willowisp"] + "movepool": ["calmmind", "icebeam", "judgment", "recover", "toxic", "willowisp"] } ] }, @@ -3768,7 +3852,8 @@ }, { "role": "AV Pivot", - "movepool": ["boltstrike", "energyball", "focusblast", "psychic", "uturn", "vcreate"] + "movepool": ["boltstrike", "energyball", "focusblast", "glaciate", "psychic", "uturn", "vcreate"], + "preferredTypes": ["Electric"] } ] }, @@ -3790,7 +3875,7 @@ }, { "role": "AV Pivot", - "movepool": ["fireblast", "grassknot", "suckerpunch", "superpower", "wildcharge"] + "movepool": ["flareblitz", "grassknot", "suckerpunch", "superpower", "wildcharge"] } ] }, @@ -3799,7 +3884,7 @@ "sets": [ { "role": "AV Pivot", - "movepool": ["aquajet", "grassknot", "hydropump", "icebeam", "knockoff", "megahorn", "superpower"] + "movepool": ["aquajet", "grassknot", "hydropump", "icebeam", "knockoff", "megahorn", "scald", "superpower"] }, { "role": "Fast Attacker", @@ -3808,7 +3893,7 @@ ] }, "watchog": { - "level": 90, + "level": 93, "sets": [ { "role": "Bulky Attacker", @@ -3821,7 +3906,7 @@ ] }, "stoutland": { - "level": 87, + "level": 86, "sets": [ { "role": "Fast Attacker", @@ -3899,15 +3984,15 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["hiddenpowergrass", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch", "wildcharge"] + "movepool": ["hiddenpowerice", "overheat", "thunderbolt", "voltswitch", "wildcharge"] } ] }, "gigalith": { - "level": 84, + "level": 83, "sets": [ { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["earthquake", "explosion", "stealthrock", "stoneedge", "superpower"] } ] @@ -3947,21 +4032,17 @@ "level": 90, "sets": [ { - "role": "Bulky Support", - "movepool": ["dazzlinggleam", "healbell", "protect", "toxic", "wish"] - }, - { - "role": "Bulky Attacker", - "movepool": ["dazzlinggleam", "fireblast", "knockoff", "protect", "wish"] + "role": "Staller", + "movepool": ["dazzlinggleam", "protect", "toxic", "wish"] }, { - "role": "Bulky Setup", - "movepool": ["calmmind", "dazzlinggleam", "protect", "wish"] + "role": "Bulky Support", + "movepool": ["calmmind", "dazzlinggleam", "fireblast", "protect", "wish"] } ] }, "conkeldurr": { - "level": 83, + "level": 82, "sets": [ { "role": "Wallbreaker", @@ -3983,6 +4064,10 @@ { "role": "Bulky Support", "movepool": ["earthquake", "knockoff", "scald", "stealthrock", "toxic"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "scald", "toxic"] } ] }, @@ -4000,7 +4085,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["bulkup", "closecombat", "earthquake", "icepunch", "knockoff", "poisonjab", "stoneedge"], + "movepool": ["bulkup", "closecombat", "earthquake", "knockoff", "poisonjab", "stoneedge"], "preferredTypes": ["Dark"] } ] @@ -4014,16 +4099,16 @@ }, { "role": "Fast Support", - "movepool": ["healbell", "knockoff", "leafblade", "stickyweb", "xscissor"] + "movepool": ["knockoff", "leafblade", "stickyweb", "toxic", "xscissor"] } ] }, "scolipede": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Support", - "movepool": ["earthquake", "megahorn", "poisonjab", "protect", "spikes", "toxicspikes"] + "movepool": ["earthquake", "megahorn", "poisonjab", "spikes", "toxicspikes"] }, { "role": "Setup Sweeper", @@ -4062,17 +4147,8 @@ } ] }, - "basculinbluestriped": { - "level": 87, - "sets": [ - { - "role": "Bulky Attacker", - "movepool": ["aquajet", "crunch", "superpower", "waterfall", "zenheadbutt"] - } - ] - }, "krookodile": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -4090,20 +4166,20 @@ ] }, "maractus": { - "level": 92, + "level": 95, "sets": [ { "role": "Fast Support", - "movepool": ["gigadrain", "hiddenpowerfire", "knockoff", "spikes", "suckerpunch", "toxic"] + "movepool": ["gigadrain", "hiddenpowerfire", "knockoff", "spikes", "suckerpunch", "synthesis", "toxic"] }, { "role": "Staller", - "movepool": ["gigadrain", "leechseed", "spikyshield", "toxic"] + "movepool": ["gigadrain", "hiddenpowerfire", "hiddenpowerice", "leechseed", "spikyshield"] } ] }, "crustle": { - "level": 85, + "level": 84, "sets": [ { "role": "Setup Sweeper", @@ -4117,11 +4193,11 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["dragondance", "highjumpkick", "icepunch", "knockoff", "poisonjab"] + "movepool": ["dragondance", "highjumpkick", "ironhead", "knockoff"] }, { "role": "Bulky Setup", - "movepool": ["bulkup", "drainpunch", "highjumpkick", "knockoff", "rest"] + "movepool": ["bulkup", "drainpunch", "knockoff", "rest"] } ] }, @@ -4180,7 +4256,7 @@ ] }, "garbodor": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Support", @@ -4192,14 +4268,14 @@ "level": 84, "sets": [ { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["darkpulse", "flamethrower", "focusblast", "nastyplot", "sludgebomb", "trick", "uturn"], "preferredTypes": ["Poison"] } ] }, "cinccino": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -4208,7 +4284,7 @@ ] }, "gothitelle": { - "level": 84, + "level": 86, "sets": [ { "role": "Bulky Attacker", @@ -4217,7 +4293,7 @@ ] }, "reuniclus": { - "level": 83, + "level": 85, "sets": [ { "role": "Bulky Attacker", @@ -4226,19 +4302,15 @@ { "role": "Wallbreaker", "movepool": ["focusblast", "psychic", "psyshock", "shadowball", "trickroom"] - }, - { - "role": "AV Pivot", - "movepool": ["focusblast", "futuresight", "knockoff", "psychic", "shadowball"] } ] }, "swanna": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Attacker", - "movepool": ["bravebird", "defog", "icebeam", "roost", "scald"] + "movepool": ["bravebird", "defog", "roost", "scald", "toxic"] } ] }, @@ -4247,16 +4319,18 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["autotomize", "explosion", "flashcannon", "freezedry", "hiddenpowerground", "icebeam", "toxic"] + "movepool": ["autotomize", "explosion", "flashcannon", "freezedry", "hiddenpowerground", "icebeam", "toxic"], + "preferredTypes": ["Ground"] }, { "role": "AV Pivot", - "movepool": ["explosion", "flashcannon", "freezedry", "hiddenpowerground", "icebeam"] + "movepool": ["explosion", "flashcannon", "freezedry", "hiddenpowerground", "icebeam"], + "preferredTypes": ["Ground"] } ] }, "sawsbuck": { - "level": 87, + "level": 86, "sets": [ { "role": "Setup Sweeper", @@ -4266,7 +4340,7 @@ ] }, "emolga": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -4288,7 +4362,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["clearsmog", "foulplay", "gigadrain", "hiddenpowerfire", "sludgebomb", "spore"] + "movepool": ["clearsmog", "foulplay", "gigadrain", "hiddenpowerground", "sludgebomb", "spore"] }, { "role": "Bulky Support", @@ -4319,17 +4393,17 @@ ] }, "galvantula": { - "level": 81, + "level": 80, "sets": [ { - "role": "Fast Attacker", - "movepool": ["bugbuzz", "gigadrain", "hiddenpowerice", "stickyweb", "thunder", "voltswitch"], + "role": "Wallbreaker", + "movepool": ["bugbuzz", "gigadrain", "stickyweb", "thunder", "voltswitch"], "preferredTypes": ["Bug"] } ] }, "ferrothorn": { - "level": 78, + "level": 74, "sets": [ { "role": "Bulky Attacker", @@ -4342,7 +4416,7 @@ ] }, "klinklang": { - "level": 86, + "level": 87, "sets": [ { "role": "Setup Sweeper", @@ -4355,7 +4429,7 @@ "sets": [ { "role": "AV Pivot", - "movepool": ["acidspray", "flamethrower", "gigadrain", "hiddenpowerice", "knockoff", "superpower", "thunderbolt", "uturn"] + "movepool": ["flamethrower", "gigadrain", "hiddenpowerice", "knockoff", "superpower", "thunderbolt", "uturn"] } ] }, @@ -4382,17 +4456,17 @@ ] }, "haxorus": { - "level": 77, + "level": 78, "sets": [ { "role": "Setup Sweeper", - "movepool": ["dragondance", "earthquake", "outrage", "poisonjab", "swordsdance", "taunt"], + "movepool": ["dragondance", "earthquake", "outrage", "poisonjab", "taunt"], "preferredTypes": ["Ground"] } ] }, "beartic": { - "level": 90, + "level": 92, "sets": [ { "role": "Wallbreaker", @@ -4411,11 +4485,11 @@ ] }, "accelgor": { - "level": 86, + "level": 88, "sets": [ { "role": "Fast Support", - "movepool": ["bugbuzz", "encore", "energyball", "focusblast", "hiddenpowerrock", "spikes", "yawn"] + "movepool": ["bugbuzz", "encore", "focusblast", "hiddenpowerground", "hiddenpowerrock", "spikes", "uturn"] } ] }, @@ -4436,7 +4510,7 @@ "level": 82, "sets": [ { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["highjumpkick", "knockoff", "poisonjab", "stoneedge", "swordsdance", "uturn"], "preferredTypes": ["Dark"] }, @@ -4461,7 +4535,7 @@ ] }, "golurk": { - "level": 85, + "level": 84, "sets": [ { "role": "Wallbreaker", @@ -4489,7 +4563,7 @@ ] }, "braviary": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Attacker", @@ -4515,7 +4589,7 @@ ] }, "heatmor": { - "level": 88, + "level": 90, "sets": [ { "role": "Wallbreaker", @@ -4524,11 +4598,12 @@ ] }, "durant": { - "level": 81, + "level": 79, "sets": [ { "role": "Fast Attacker", - "movepool": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"] + "movepool": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"], + "preferredTypes": ["Fighting"] } ] }, @@ -4551,7 +4626,7 @@ ] }, "volcarona": { - "level": 78, + "level": 77, "sets": [ { "role": "Setup Sweeper", @@ -4560,17 +4635,16 @@ ] }, "cobalion": { - "level": 80, + "level": 78, "sets": [ { "role": "Bulky Attacker", - "movepool": ["closecombat", "ironhead", "stealthrock", "stoneedge", "swordsdance", "voltswitch"], - "preferredTypes": ["Steel"] + "movepool": ["closecombat", "ironhead", "stealthrock", "stoneedge", "swordsdance"] } ] }, "terrakion": { - "level": 79, + "level": 77, "sets": [ { "role": "Fast Attacker", @@ -4612,7 +4686,7 @@ ] }, "thundurus": { - "level": 80, + "level": 79, "sets": [ { "role": "Setup Sweeper", @@ -4620,12 +4694,12 @@ }, { "role": "Fast Attacker", - "movepool": ["focusblast", "hiddenpowerflying", "hiddenpowerice", "knockoff", "taunt", "thunderbolt", "thunderwave"] + "movepool": ["hiddenpowerflying", "hiddenpowerice", "knockoff", "superpower", "taunt", "thunderbolt", "thunderwave"] } ] }, "thundurustherian": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -4634,7 +4708,7 @@ ] }, "reshiram": { - "level": 75, + "level": 73, "sets": [ { "role": "Bulky Attacker", @@ -4643,7 +4717,7 @@ ] }, "zekrom": { - "level": 75, + "level": 74, "sets": [ { "role": "Setup Sweeper", @@ -4670,7 +4744,7 @@ ] }, "landorustherian": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Support", @@ -4701,7 +4775,7 @@ ] }, "kyuremblack": { - "level": 77, + "level": 75, "sets": [ { "role": "Bulky Attacker", @@ -4710,7 +4784,7 @@ ] }, "kyuremwhite": { - "level": 75, + "level": 74, "sets": [ { "role": "Fast Attacker", @@ -4737,24 +4811,23 @@ { "role": "Fast Attacker", "movepool": ["calmmind", "focusblast", "hypervoice", "psyshock", "uturn"] - } - ] - }, - "meloettapirouette": { - "level": 82, - "sets": [ + }, { - "role": "AV Pivot", + "role": "Wallbreaker", "movepool": ["closecombat", "knockoff", "relicsong", "return"] } ] }, "genesect": { - "level": 75, + "level": 74, "sets": [ { "role": "Setup Sweeper", - "movepool": ["blazekick", "extremespeed", "ironhead", "shiftgear", "thunderbolt", "xscissor"] + "movepool": ["blazekick", "ironhead", "shiftgear", "thunderbolt", "xscissor"] + }, + { + "role": "Wallbreaker", + "movepool": ["blazekick", "extremespeed", "ironhead", "uturn"] }, { "role": "Fast Attacker", @@ -4763,22 +4836,12 @@ } ] }, - "genesectdouse": { - "level": 75, - "sets": [ - { - "role": "Wallbreaker", - "movepool": ["bugbuzz", "extremespeed", "flamethrower", "icebeam", "ironhead", "technoblast", "thunderbolt", "uturn"], - "preferredTypes": ["Water"] - } - ] - }, "chesnaught": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Support", - "movepool": ["drainpunch", "leechseed", "spikes", "synthesis", "woodhammer"] + "movepool": ["bulkup", "drainpunch", "spikes", "synthesis", "toxic", "woodhammer"] }, { "role": "Staller", @@ -4820,7 +4883,7 @@ ] }, "talonflame": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Attacker", @@ -4833,11 +4896,15 @@ ] }, "vivillon": { - "level": 86, + "level": 84, "sets": [ { "role": "Bulky Setup", - "movepool": ["energyball", "hurricane", "quiverdance", "sleeppowder", "substitute"] + "movepool": ["energyball", "hurricane", "quiverdance", "sleeppowder"] + }, + { + "role": "Bulky Attacker", + "movepool": ["bugbuzz", "hurricane", "quiverdance", "sleeppowder"] } ] }, @@ -4852,7 +4919,7 @@ ] }, "floetteeternal": { - "level": 80, + "level": 81, "sets": [ { "role": "Fast Attacker", @@ -4861,7 +4928,7 @@ ] }, "florges": { - "level": 83, + "level": 84, "sets": [ { "role": "Bulky Support", @@ -4870,20 +4937,24 @@ { "role": "Staller", "movepool": ["moonblast", "protect", "toxic", "wish"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "hiddenpowerground", "moonblast", "synthesis"] } ] }, "gogoat": { - "level": 88, + "level": 90, "sets": [ { - "role": "Bulky Setup", - "movepool": ["bulkup", "earthquake", "hornleech", "milkdrink"] + "role": "Bulky Attacker", + "movepool": ["bulkup", "earthquake", "hornleech", "milkdrink", "toxic"] } ] }, "pangoro": { - "level": 85, + "level": 86, "sets": [ { "role": "Wallbreaker", @@ -4897,7 +4968,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["rest", "return", "suckerpunch", "thunderwave", "toxic", "uturn"] + "movepool": ["darkpulse", "rest", "return", "thunderwave", "toxic", "uturn"] }, { "role": "Staller", @@ -4906,20 +4977,20 @@ ] }, "meowstic": { - "level": 88, + "level": 86, "sets": [ { "role": "Bulky Support", - "movepool": ["healbell", "lightscreen", "psychic", "reflect", "thunderwave", "toxic", "yawn"] + "movepool": ["healbell", "lightscreen", "psychic", "reflect", "signalbeam", "thunderwave", "toxic", "yawn"] } ] }, "meowsticf": { - "level": 88, + "level": 89, "sets": [ { "role": "Fast Attacker", - "movepool": ["calmmind", "energyball", "psychic", "psyshock", "shadowball", "signalbeam", "thunderbolt"] + "movepool": ["calmmind", "darkpulse", "psychic", "psyshock", "signalbeam", "thunderbolt"] } ] }, @@ -4929,10 +5000,6 @@ { "role": "Bulky Setup", "movepool": ["ironhead", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"] - }, - { - "role": "Staller", - "movepool": ["ironhead", "sacredsword", "shadowclaw", "shadowsneak", "toxic"] } ] }, @@ -4942,20 +5009,16 @@ { "role": "Staller", "movepool": ["ironhead", "kingsshield", "shadowball", "substitute", "toxic"] - } - ] - }, - "aegislashblade": { - "level": 79, - "sets": [ + }, { "role": "Setup Sweeper", - "movepool": ["ironhead", "kingsshield", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"] + "movepool": ["ironhead", "kingsshield", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"], + "preferredTypes": ["Steel"] } ] }, "aromatisse": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -4986,7 +5049,7 @@ ] }, "barbaracle": { - "level": 84, + "level": 82, "sets": [ { "role": "Setup Sweeper", @@ -4995,11 +5058,15 @@ ] }, "dragalge": { - "level": 86, + "level": 87, "sets": [ { "role": "Bulky Attacker", - "movepool": ["dracometeor", "focusblast", "hiddenpowerfire", "scald", "sludgewave", "toxicspikes"] + "movepool": ["dracometeor", "focusblast", "sludgewave", "toxicspikes"] + }, + { + "role": "Wallbreaker", + "movepool": ["dracometeor", "dragonpulse", "focusblast", "sludgewave"] } ] }, @@ -5013,11 +5080,11 @@ ] }, "heliolisk": { - "level": 82, + "level": 83, "sets": [ { "role": "Fast Attacker", - "movepool": ["darkpulse", "glare", "hiddenpowerice", "hypervoice", "surf", "thunderbolt", "voltswitch"], + "movepool": ["darkpulse", "glare", "hypervoice", "surf", "thunderbolt", "voltswitch"], "preferredTypes": ["Normal"] }, { @@ -5063,7 +5130,7 @@ ] }, "hawlucha": { - "level": 79, + "level": 77, "sets": [ { "role": "Setup Sweeper", @@ -5072,16 +5139,20 @@ ] }, "dedenne": { - "level": 88, + "level": 89, "sets": [ { - "role": "Staller", + "role": "Bulky Support", "movepool": ["protect", "recycle", "thunderbolt", "toxic"] + }, + { + "role": "Staller", + "movepool": ["recycle", "substitute", "superfang", "thunderbolt", "toxic", "uturn"] } ] }, "carbink": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -5090,7 +5161,7 @@ ] }, "goodra": { - "level": 83, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -5099,11 +5170,11 @@ ] }, "klefki": { - "level": 83, + "level": 81, "sets": [ { "role": "Bulky Support", - "movepool": ["dazzlinggleam", "foulplay", "spikes", "thunderwave", "toxic"] + "movepool": ["dazzlinggleam", "foulplay", "spikes", "thunderwave"] }, { "role": "Bulky Attacker", @@ -5112,7 +5183,7 @@ ] }, "trevenant": { - "level": 91, + "level": 92, "sets": [ { "role": "Wallbreaker", @@ -5120,12 +5191,12 @@ }, { "role": "Staller", - "movepool": ["leechseed", "protect", "shadowclaw", "substitute"] + "movepool": ["earthquake", "hornleech", "protect", "toxic"] } ] }, "gourgeistsmall": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -5143,7 +5214,7 @@ ] }, "gourgeist": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -5170,7 +5241,7 @@ ] }, "noivern": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -5179,7 +5250,7 @@ ] }, "xerneas": { - "level": 65, + "level": 64, "sets": [ { "role": "Setup Sweeper", @@ -5192,11 +5263,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["foulplay", "knockoff", "oblivionwing", "roost", "suckerpunch", "taunt", "toxic", "uturn"] - }, - { - "role": "Bulky Attacker", - "movepool": ["darkpulse", "focusblast", "knockoff", "oblivionwing", "suckerpunch", "uturn"] + "movepool": ["knockoff", "oblivionwing", "roost", "suckerpunch", "taunt", "toxic", "uturn"] } ] }, @@ -5210,24 +5277,21 @@ ] }, "diancie": { - "level": 84, + "level": 82, "sets": [ { "role": "Bulky Support", - "movepool": ["diamondstorm", "earthpower", "healbell", "lightscreen", "moonblast", "reflect", "stealthrock", "toxic"] + "movepool": ["diamondstorm", "earthpower", "healbell", "moonblast", "stealthrock", "toxic"] } ] }, "dianciemega": { - "level": 77, + "level": 76, "sets": [ { "role": "Fast Attacker", - "movepool": ["diamondstorm", "earthpower", "hiddenpowerfire", "moonblast", "protect"] - }, - { - "role": "Setup Sweeper", - "movepool": ["calmmind", "diamondstorm", "earthpower", "hiddenpowerfire", "moonblast"] + "movepool": ["calmmind", "diamondstorm", "earthpower", "moonblast", "protect"], + "preferredTypes": ["Ground"] } ] }, @@ -5245,7 +5309,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["drainpunch", "gunkshot", "hyperspacefury", "icepunch", "trick", "zenheadbutt"], + "movepool": ["drainpunch", "gunkshot", "hyperspacefury", "trick", "zenheadbutt"], "preferredTypes": ["Psychic"] }, { @@ -5256,11 +5320,11 @@ ] }, "volcanion": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthpower", "fireblast", "sludgebomb", "steameruption", "substitute", "superpower"] + "movepool": ["earthpower", "fireblast", "sludgebomb", "steameruption", "superpower", "toxic"] } ] } diff --git a/data/mods/gen6/random-teams.ts b/data/random-battles/gen6/teams.ts similarity index 89% rename from data/mods/gen6/random-teams.ts rename to data/random-battles/gen6/teams.ts index 21906010a59c..756a671cf25e 100644 --- a/data/mods/gen6/random-teams.ts +++ b/data/random-battles/gen6/teams.ts @@ -1,12 +1,12 @@ -import {MoveCounter, TeamData} from '../gen8/random-teams'; -import RandomGen7Teams, {BattleFactorySpecies, ZeroAttackHPIVs} from '../gen7/random-teams'; +import {MoveCounter, TeamData} from '../gen8/teams'; +import RandomGen7Teams, {BattleFactorySpecies, ZeroAttackHPIVs} from '../gen7/teams'; import {PRNG, PRNGSeed} from '../../../sim/prng'; import {Utils} from '../../../lib'; import {toID} from '../../../sim/dex'; // Moves that restore HP: const RECOVERY_MOVES = [ - 'healorder', 'milkdrink', 'moonlight', 'morningsun', 'recover', 'roost', 'slackoff', 'softboiled', 'synthesis', + 'healorder', 'milkdrink', 'moonlight', 'morningsun', 'recover', 'recycle', 'roost', 'slackoff', 'softboiled', 'synthesis', ]; // Moves that boost Attack: const PHYSICAL_SETUP = [ @@ -59,11 +59,11 @@ const MOVE_PAIRS = [ /** Pokemon who always want priority STAB, and are fine with it as its only STAB move of that type */ const PRIORITY_POKEMON = [ - 'aegislashblade', 'banette', 'breloom', 'cacturne', 'doublade', 'dusknoir', 'honchkrow', 'scizor', 'scizormega', 'shedinja', + 'aegislash', 'banette', 'breloom', 'cacturne', 'doublade', 'dusknoir', 'honchkrow', 'scizor', 'scizormega', 'shedinja', ]; export class RandomGen6Teams extends RandomGen7Teams { - randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./random-sets.json'); + randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./sets.json'); constructor(format: Format | string, prng: PRNG | PRNGSeed | null) { super(format, prng); @@ -92,7 +92,7 @@ export class RandomGen6Teams extends RandomGen7Teams { ), Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'), Ice: (movePool, moves, abilities, types, counter) => ( - !counter.get('Ice') || movePool.includes('blizzard') || + !counter.get('Ice') || (!moves.has('blizzard') && movePool.includes('freezedry')) || abilities.has('Refrigerate') && (movePool.includes('return') || movePool.includes('hypervoice')) ), Normal: movePool => movePool.includes('boomburst'), @@ -119,7 +119,6 @@ export class RandomGen6Teams extends RandomGen7Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): void { @@ -209,7 +208,7 @@ export class RandomGen6Teams extends RandomGen7Teams { [SETUP, HAZARDS], [SETUP, badWithSetup], [PHYSICAL_SETUP, PHYSICAL_SETUP], - [SPEED_SETUP, ['quickattack', 'suckerpunch']], + [SPEED_SETUP, 'quickattack'], ['defog', HAZARDS], [['fakeout', 'uturn'], ['switcheroo', 'trick']], ['substitute', PIVOT_MOVES], @@ -259,14 +258,28 @@ export class RandomGen6Teams extends RandomGen7Teams { } const statusInflictingMoves = ['thunderwave', 'toxic', 'willowisp', 'yawn']; - if (!abilities.has('Prankster')) { + if (!abilities.has('Prankster') && role !== 'Staller') { this.incompatibleMoves(moves, movePool, statusInflictingMoves, statusInflictingMoves); } + if (abilities.has('Guts')) this.incompatibleMoves(moves, movePool, 'protect', 'swordsdance'); + // Force Protect and U-turn on Beedrill-Mega if (species.id === 'beedrillmega') { this.incompatibleMoves(moves, movePool, 'drillrun', 'knockoff'); } + + // Cull filler moves for otherwise fixed set Stealth Rock users + if (!teamDetails.stealthRock) { + if (species.id === 'registeel' && role === 'Staller') { + if (movePool.includes('thunderwave')) this.fastPop(movePool, movePool.indexOf('thunderwave')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (species.baseSpecies === 'Wormadam' && role === 'Staller') { + if (movePool.includes('suckerpunch')) this.fastPop(movePool, movePool.indexOf('suckerpunch')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + } } // Generate random moveset for a given species, role, preferred type. @@ -276,14 +289,13 @@ export class RandomGen6Teams extends RandomGen7Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, movePool: string[], preferredType: string, role: RandomTeamsTypes.Role, ): Set { const moves = new Set(); let counter = this.newQueryMoves(moves, species, preferredType, abilities); - this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, isDoubles, + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, preferredType, role); // If there are only four moves, add all moves and return early @@ -291,7 +303,7 @@ export class RandomGen6Teams extends RandomGen7Teams { // Still need to ensure that multiple Hidden Powers are not added (if maxMoveCount is increased) while (movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } return moves; @@ -307,7 +319,7 @@ export class RandomGen6Teams extends RandomGen7Teams { // Add required move (e.g. Relic Song for Meloetta-P) if (species.requiredMove) { const move = this.dex.moves.get(species.requiredMove).id; - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } @@ -315,44 +327,44 @@ export class RandomGen6Teams extends RandomGen7Teams { // Enforce Facade if Guts is a possible ability if (movePool.includes('facade') && abilities.has('Guts')) { - counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } - // Enforce Seismic Toss, Spore, and Sticky Web - for (const moveid of ['seismictoss', 'spore', 'stickyweb']) { + // Enforce Blizzard, Seismic Toss, Spore, and Sticky Web + for (const moveid of ['blizzard', 'seismictoss', 'spore', 'stickyweb']) { if (movePool.includes(moveid)) { - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce Thunder Wave on Prankster users if (movePool.includes('thunderwave') && abilities.has('Prankster')) { - counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } // Enforce Shadow Sneak on Kecleon if (movePool.includes('shadowsneak') && species.id === 'kecleon') { - counter = this.addMove('shadowsneak', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('shadowsneak', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } // Enforce hazard removal on Bulky Support if the team doesn't already have it if (role === 'Bulky Support' && !teamDetails.defog && !teamDetails.rapidSpin) { if (movePool.includes('rapidspin')) { - counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } if (movePool.includes('defog')) { - counter = this.addMove('defog', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('defog', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce STAB priority - if (['Bulky Attacker', 'Bulky Setup'].includes(role) || this.priorityPokemon.includes(species.id)) { + if (['Bulky Attacker', 'Bulky Setup', 'Wallbreaker'].includes(role) || this.priorityPokemon.includes(species.id)) { const priorityMoves = []; for (const moveid of movePool) { const move = this.dex.moves.get(moveid); @@ -363,7 +375,7 @@ export class RandomGen6Teams extends RandomGen7Teams { } if (priorityMoves.length) { const moveid = this.sample(priorityMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -382,7 +394,7 @@ export class RandomGen6Teams extends RandomGen7Teams { while (runEnforcementChecker(type)) { if (!stabMoves.length) break; const moveid = this.sampleNoReplace(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -399,7 +411,7 @@ export class RandomGen6Teams extends RandomGen7Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -416,12 +428,12 @@ export class RandomGen6Teams extends RandomGen7Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } else { // If they have no regular STAB move, enforce U-turn on Bug types. if (movePool.includes('uturn') && types.includes('Bug')) { - counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -432,17 +444,17 @@ export class RandomGen6Teams extends RandomGen7Teams { const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); if (recoveryMoves.length) { const moveid = this.sample(recoveryMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce Staller moves if (role === 'Staller') { - const enforcedMoves = [...PROTECT_MOVES, 'toxic', 'wish']; + const enforcedMoves = [...PROTECT_MOVES, 'toxic']; for (const move of enforcedMoves) { if (movePool.includes(move)) { - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -453,7 +465,7 @@ export class RandomGen6Teams extends RandomGen7Teams { const setupMoves = movePool.filter(moveid => SETUP.includes(moveid)); if (setupMoves.length) { const moveid = this.sample(setupMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -468,7 +480,7 @@ export class RandomGen6Teams extends RandomGen7Teams { } if (attackingMoves.length) { const moveid = this.sample(attackingMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -489,7 +501,7 @@ export class RandomGen6Teams extends RandomGen7Teams { } if (coverageMoves.length) { const moveid = this.sample(coverageMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -498,15 +510,15 @@ export class RandomGen6Teams extends RandomGen7Teams { // Choose remaining moves randomly from movepool and add them to moves list: while (moves.size < this.maxMoveCount && movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); for (const pair of MOVE_PAIRS) { if (moveid === pair[0] && movePool.includes(pair[1])) { - counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } if (moveid === pair[1] && movePool.includes(pair[0])) { - counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -523,13 +535,12 @@ export class RandomGen6Teams extends RandomGen7Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role ): boolean { switch (ability) { - case 'Flare Boost': case 'Gluttony': case 'Harvest': case 'Hyper Cutter': case 'Ice Body': case 'Magician': - case 'Moody': case 'Pressure': case 'Sand Veil': case 'Snow Cloak': case 'Steadfast': + case 'Flare Boost': case 'Gluttony': case 'Harvest': case 'Ice Body': case 'Magician': + case 'Moody': case 'Pressure': case 'Sand Veil': case 'Sniper': case 'Snow Cloak': case 'Steadfast': return true; case 'Aerilate': case 'Pixilate': case 'Refrigerate': return ['doubleedge', 'hypervoice', 'return'].every(m => !moves.has(m)); @@ -545,7 +556,7 @@ export class RandomGen6Teams extends RandomGen7Teams { return !counter.get('inaccurate'); case 'Contrary': case 'Skill Link': case 'Strong Jaw': return !counter.get(toID(ability)); - case 'Defiant': case 'Justified': case 'Moxie': + case 'Defiant': case 'Justified': return !counter.get('Physical'); case 'Guts': return (!moves.has('facade') && !moves.has('sleeptalk')); @@ -567,10 +578,16 @@ export class RandomGen6Teams extends RandomGen7Teams { return (abilities.has('Tinted Lens') && role === 'Wallbreaker'); case 'Mold Breaker': return (species.baseSpecies === 'Basculin' || species.id === 'pangoro' || abilities.has('Sheer Force')); + case 'Moxie': + return (!counter.get('Physical') || moves.has('stealthrock') || (!!species.isMega && abilities.has('Intimidate'))); case 'Oblivious': case 'Prankster': - return !counter.get('Status'); + return (!counter.get('Status') || (species.id === 'tornadus' && moves.has('bulkup'))); + case 'Overcoat': + return types.has('Grass'); case 'Overgrow': return !counter.get('Grass'); + case 'Shed Skin': + return !moves.has('rest'); case 'Synchronize': return (counter.get('Status') < 2 || !!counter.get('recoil') || !!species.isMega); case 'Regenerator': @@ -595,7 +612,7 @@ export class RandomGen6Teams extends RandomGen7Teams { case 'Sturdy': return (!!counter.get('recoil') && !counter.get('recovery') || species.id === 'steelix' && !!counter.get('sheerforce')); case 'Swarm': - return (!counter.get('Bug') || !!species.isMega); + return ((!counter.get('Bug') && !moves.has('uturn')) || !!species.isMega); case 'Technician': return (!counter.get('technician') || moves.has('tailslap') || !!species.isMega); case 'Tinted Lens': @@ -622,7 +639,6 @@ export class RandomGen6Teams extends RandomGen7Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): string { @@ -642,22 +658,29 @@ export class RandomGen6Teams extends RandomGen7Teams { ) return 'Guts'; if (species.id === 'starmie') return role === 'Wallbreaker' ? 'Analytic' : 'Natural Cure'; + if (species.id === 'beheeyem') return 'Analytic'; if (species.id === 'ninetales') return 'Drought'; + if (species.baseSpecies === 'Gourgeist') return 'Frisk'; + if (species.id === 'pinsirmega') return 'Hyper Cutter'; if (species.id === 'ninjask' || species.id === 'seviper') return 'Infiltrator'; - if (species.id === 'arcanine') return 'Intimidate'; - if (species.id === 'rampardos' && role === 'Bulky Attacker') return 'Mold Breaker'; + if (species.id === 'gligar') return 'Immunity'; + if (species.id === 'arcanine' || species.id === 'stantler') return 'Intimidate'; + if (species.id === 'lucariomega') return 'Justified'; + if (species.id === 'persian' && !counter.get('technician')) return 'Limber'; if (species.baseSpecies === 'Altaria') return 'Natural Cure'; // If Ambipom doesn't qualify for Technician, Skill Link is useless on it if (species.id === 'ambipom' && !counter.get('technician')) return 'Pickup'; - if (['dusknoir', 'vespiquen', 'wailord'].includes(species.id)) return 'Pressure'; + if (species.id === 'muk') return 'Poison Touch'; + if (['dusknoir', 'vespiquen'].includes(species.id)) return 'Pressure'; if (species.id === 'druddigon' && role === 'Bulky Support') return 'Rough Skin'; + if (species.id === 'zebstrika') return moves.has('wildcharge') ? 'Sap Sipper' : 'Lightning Rod'; + if (species.id === 'stoutland' || species.id === 'pangoro' && !counter.get('ironfist')) return 'Scrappy'; + if (species.id === 'octillery') return 'Sniper'; if (species.id === 'stunfisk') return 'Static'; if (species.id === 'breloom') return 'Technician'; if (species.id === 'zangoose') return 'Toxic Boost'; - if (species.id === 'porygon2') return 'Trace'; if (abilities.has('Harvest') && (role === 'Bulky Support' || role === 'Staller')) return 'Harvest'; - if (abilities.has('Moxie') && (counter.get('Physical') > 3)) return 'Moxie'; if (abilities.has('Regenerator') && role === 'AV Pivot') return 'Regenerator'; if (abilities.has('Shed Skin') && moves.has('rest') && !moves.has('sleeptalk')) return 'Shed Skin'; if (abilities.has('Sniper') && moves.has('focusenergy')) return 'Sniper'; @@ -667,7 +690,7 @@ export class RandomGen6Teams extends RandomGen7Teams { // Obtain a list of abilities that are allowed (not culled) for (const ability of abilityData) { if (ability.rating >= 1 && !this.shouldCullAbility( - ability.name, types, moves, abilities, counter, movePool, teamDetails, species, isDoubles, preferredType, role + ability.name, types, moves, abilities, counter, movePool, teamDetails, species, preferredType, role )) { abilityAllowed.push(ability); } @@ -744,6 +767,7 @@ export class RandomGen6Teams extends RandomGen7Teams { } } if (moves.has('bellydrum')) return 'Sitrus Berry'; + if (moves.has('waterspout')) return 'Choice Scarf'; if (moves.has('geomancy') || moves.has('skyattack')) return 'Power Herb'; if (moves.has('shellsmash')) { return (ability === 'Solid Rock' && !!counter.get('priority')) ? 'Weakness Policy' : 'White Herb'; @@ -755,8 +779,9 @@ export class RandomGen6Teams extends RandomGen7Teams { if (ability === 'Magic Guard' && role !== 'Bulky Support') { return moves.has('counter') ? 'Focus Sash' : 'Life Orb'; } + if (species.id === 'rampardos' && role === 'Fast Attacker') return 'Choice Scarf'; if (ability === 'Sheer Force' && counter.get('sheerforce')) return 'Life Orb'; - if (ability === 'Unburden') return 'Sitrus Berry'; + if (ability === 'Unburden') return (species.id === 'hitmonlee') ? 'White Herb' : 'Sitrus Berry'; if (moves.has('acrobatics')) return ''; if (moves.has('lightscreen') && moves.has('reflect')) return 'Light Clay'; if (moves.has('rest') && !moves.has('sleeptalk') && !['Hydration', 'Natural Cure', 'Shed Skin'].includes(ability)) { @@ -828,8 +853,8 @@ export class RandomGen6Teams extends RandomGen7Teams { } if ( (role === 'Fast Support' || moves.has('stickyweb')) && isLead && defensiveStatTotal < 255 && - !counter.get('recovery') && !moves.has('defog') && (!counter.get('recoil') || ability === 'Rock Head') && - ability !== 'Regenerator' + !counter.get('recovery') && (counter.get('hazards') || counter.get('setup')) && + (!counter.get('recoil') || ability === 'Rock Head') ) return 'Focus Sash'; // Default Items @@ -855,19 +880,10 @@ export class RandomGen6Teams extends RandomGen7Teams { randomSet( species: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}, - isLead = false, - isDoubles = false + isLead = false ): RandomTeamsTypes.RandomSet { species = this.dex.species.get(species); - let forme = species.name; - - if (typeof species.battleOnly === 'string') { - // Only change the forme. The species has custom moves, and may have different typing and requirements. - forme = species.battleOnly; - } - if (species.cosmeticFormes) { - forme = this.sample([species.name].concat(species.cosmeticFormes)); - } + const forme = this.getForme(species); const sets = this.randomSets[species.id]["sets"]; const possibleSets = []; for (const set of sets) possibleSets.push(set); @@ -888,13 +904,13 @@ export class RandomGen6Teams extends RandomGen7Teams { if (species.unreleasedHidden) abilities.delete(species.abilities.H); // Get moves - const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, isDoubles, movePool, + const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, movePool, preferredType, role); const counter = this.newQueryMoves(moves, species, preferredType, abilities); // Get ability ability = this.getAbility(new Set(types), moves, abilities, counter, movePool, teamDetails, species, - false, preferredType, role); + preferredType, role); // Get items item = this.getPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, preferredType, role); @@ -907,10 +923,13 @@ export class RandomGen6Teams extends RandomGen7Teams { item = 'Black Sludge'; } - const level = this.adjustLevel || this.randomSets[species.id]["level"] || (species.nfe ? 90 : 80); + const level = this.getLevel(species); - // Minimize confusion damage - if (!counter.get('Physical') && !moves.has('copycat') && !moves.has('transform')) { + // Minimize confusion damage, including if Foul Play is its only physical attack + if ( + (!counter.get('Physical') || (counter.get('Physical') <= 1 && moves.has('foulplay'))) && + !moves.has('copycat') && !moves.has('transform') + ) { evs.atk = 0; ivs.atk = 0; } @@ -937,20 +956,27 @@ export class RandomGen6Teams extends RandomGen7Teams { // Prepare optimal HP const srImmunity = ability === 'Magic Guard'; - let srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); - // Crash damage move users want an odd HP to survive two misses - if (['highjumpkick', 'jumpkick'].some(m => moves.has(m))) srWeakness = 2; + const srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); while (evs.hp > 1) { const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); - if (moves.has('substitute') && item === 'Sitrus Berry') { - // Two Substitutes should activate Sitrus Berry - if (hp % 4 === 0) break; + if (moves.has('substitute') && !['Black Sludge', 'Leftovers'].includes(item)) { + if (item === 'Sitrus Berry') { + // Two Substitutes should activate Sitrus Berry + if (hp % 4 === 0) break; + } else { + // Should be able to use Substitute four times from full HP without fainting + if (hp % 4 > 0) break; + } } else if (moves.has('bellydrum') && item === 'Sitrus Berry') { // Belly Drum should activate Sitrus Berry if (hp % 2 === 0) break; + } else if (['highjumpkick', 'jumpkick'].some(m => moves.has(m))) { + // Crash damage move users want an odd HP to survive two misses + if (hp % 2 > 0) break; } else { // Maximize number of Stealth Rock switch-ins - if (srWeakness <= 0 || ability === 'Regenerator' || ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; + if (srWeakness <= 0 || ability === 'Regenerator') break; + if (srWeakness === 1 && ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; if (item !== 'Sitrus Berry' && hp % (4 / srWeakness) > 0) break; // Minimise number of Stealth Rock switch-ins to activate Sitrus Berry if (item === 'Sitrus Berry' && hp % (4 / srWeakness) === 0) break; diff --git a/data/mods/gen7/bss-factory-sets.json b/data/random-battles/gen7/bss-factory-sets.json similarity index 100% rename from data/mods/gen7/bss-factory-sets.json rename to data/random-battles/gen7/bss-factory-sets.json diff --git a/data/mods/gen7/factory-sets.json b/data/random-battles/gen7/factory-sets.json similarity index 100% rename from data/mods/gen7/factory-sets.json rename to data/random-battles/gen7/factory-sets.json diff --git a/data/mods/gen7/random-sets.json b/data/random-battles/gen7/sets.json similarity index 88% rename from data/mods/gen7/random-sets.json rename to data/random-battles/gen7/sets.json index 84107d5a1206..ad0a7b1c49df 100644 --- a/data/mods/gen7/random-sets.json +++ b/data/random-battles/gen7/sets.json @@ -1,6 +1,6 @@ { "venusaur": { - "level": 84, + "level": 83, "sets": [ { "role": "Staller", @@ -8,31 +8,35 @@ }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "energyball", "hiddenpowerfire", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["earthquake", "energyball", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] } ] }, "venusaurmega": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "gigadrain", "hiddenpowerfire", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] + "movepool": ["earthquake", "gigadrain", "knockoff", "sleeppowder", "sludgebomb", "synthesis"] } ] }, "charizard": { - "level": 84, + "level": 83, "sets": [ { "role": "Z-Move user", "movepool": ["airslash", "earthquake", "fireblast", "holdhands", "roost"], "preferredTypes": ["Normal"] + }, + { + "role": "Bulky Attacker", + "movepool": ["airslash", "earthquake", "fireblast", "roost", "willowisp"] } ] }, "charizardmegax": { - "level": 77, + "level": 76, "sets": [ { "role": "Setup Sweeper", @@ -41,11 +45,15 @@ ] }, "charizardmegay": { - "level": 77, + "level": 76, "sets": [ { "role": "Fast Attacker", - "movepool": ["airslash", "fireblast", "focusblast", "roost", "solarbeam"] + "movepool": ["airslash", "fireblast", "roost", "solarbeam"] + }, + { + "role": "Bulky Attacker", + "movepool": ["dragonpulse", "fireblast", "roost", "solarbeam"] } ] }, @@ -72,16 +80,21 @@ ] }, "butterfree": { - "level": 88, + "level": 90, "sets": [ { "role": "Setup Sweeper", "movepool": ["airslash", "bugbuzz", "energyball", "quiverdance", "sleeppowder"] + }, + { + "role": "Z-Move user", + "movepool": ["airslash", "bugbuzz", "quiverdance", "sleeppowder"], + "preferredTypes": ["Bug"] } ] }, "beedrill": { - "level": 90, + "level": 92, "sets": [ { "role": "Fast Support", @@ -90,7 +103,7 @@ ] }, "beedrillmega": { - "level": 79, + "level": 78, "sets": [ { "role": "Setup Sweeper", @@ -125,16 +138,22 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["facade", "protect", "stompingtantrum", "suckerpunch", "swordsdance", "uturn"] + "movepool": ["crunch", "facade", "protect", "stompingtantrum", "suckerpunch", "swordsdance", "uturn"], + "preferredTypes": ["Dark"] } ] }, "raticatealola": { - "level": 88, + "level": 89, "sets": [ { "role": "Wallbreaker", "movepool": ["doubleedge", "knockoff", "pursuit", "return", "suckerpunch", "swordsdance"] + }, + { + "role": "Z-Move user", + "movepool": ["doubleedge", "knockoff", "suckerpunch", "swordsdance"], + "preferredTypes": ["Normal"] } ] }, @@ -176,7 +195,8 @@ "sets": [ { "role": "Fast Support", - "movepool": ["encore", "hiddenpowerice", "knockoff", "nastyplot", "nuzzle", "thunderbolt", "voltswitch"] + "movepool": ["encore", "hiddenpowerice", "knockoff", "nastyplot", "nuzzle", "thunderbolt", "voltswitch"], + "preferredTypes": ["Ice"] }, { "role": "Fast Attacker", @@ -205,7 +225,7 @@ ] }, "sandslash": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Attacker", @@ -223,7 +243,7 @@ ] }, "nidoqueen": { - "level": 84, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -233,7 +253,7 @@ ] }, "nidoking": { - "level": 82, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -243,7 +263,7 @@ ] }, "clefable": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -256,17 +276,21 @@ ] }, "ninetales": { - "level": 85, + "level": 84, "sets": [ { "role": "Setup Sweeper", - "movepool": ["fireblast", "hiddenpowerice", "nastyplot", "solarbeam", "substitute", "willowisp"], + "movepool": ["fireblast", "hiddenpowerrock", "nastyplot", "solarbeam"] + }, + { + "role": "Bulky Setup", + "movepool": ["fireblast", "nastyplot", "solarbeam", "substitute", "willowisp"], "preferredTypes": ["Grass"] } ] }, "ninetalesalola": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Support", @@ -275,11 +299,11 @@ ] }, "wigglytuff": { - "level": 91, + "level": 93, "sets": [ { "role": "Bulky Support", - "movepool": ["dazzlinggleam", "fireblast", "healbell", "lightscreen", "protect", "reflect", "stealthrock", "thunderwave", "wish"] + "movepool": ["dazzlinggleam", "fireblast", "healbell", "knockoff", "protect", "stealthrock", "thunderwave", "wish"] } ] }, @@ -288,12 +312,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["aromatherapy", "gigadrain", "hiddenpowerfire", "sleeppowder", "sludgebomb", "strengthsap"] + "movepool": ["aromatherapy", "gigadrain", "hiddenpowerground", "sleeppowder", "sludgebomb", "strengthsap"] } ] }, "parasect": { - "level": 94, + "level": 97, "sets": [ { "role": "Bulky Attacker", @@ -303,7 +327,7 @@ ] }, "venomoth": { - "level": 83, + "level": 82, "sets": [ { "role": "Bulky Setup", @@ -317,7 +341,7 @@ ] }, "dugtrio": { - "level": 82, + "level": 83, "sets": [ { "role": "Fast Support", @@ -326,7 +350,7 @@ ] }, "dugtrioalola": { - "level": 87, + "level": 85, "sets": [ { "role": "Fast Attacker", @@ -335,11 +359,11 @@ ] }, "persian": { - "level": 91, + "level": 92, "sets": [ { "role": "Fast Attacker", - "movepool": ["aerialace", "doubleedge", "fakeout", "gunkshot", "knockoff", "return", "seedbomb", "taunt", "uturn"], + "movepool": ["doubleedge", "fakeout", "gunkshot", "knockoff", "return", "seedbomb", "taunt", "uturn"], "preferredTypes": ["Dark"] }, { @@ -349,16 +373,21 @@ ] }, "persianalola": { - "level": 86, + "level": 85, "sets": [ { "role": "Bulky Setup", "movepool": ["darkpulse", "hiddenpowerfighting", "hypnosis", "nastyplot", "powergem", "thunderbolt"] + }, + { + "role": "Z-Move user", + "movepool": ["darkpulse", "hiddenpowerfighting", "hypnosis", "nastyplot", "powergem", "thunderbolt"], + "preferredTypes": ["Dark"] } ] }, "golduck": { - "level": 88, + "level": 90, "sets": [ { "role": "Fast Attacker", @@ -372,7 +401,12 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["closecombat", "earthquake", "gunkshot", "honeclaws", "icepunch", "stoneedge", "throatchop", "uturn"] + "movepool": ["closecombat", "earthquake", "gunkshot", "stoneedge", "throatchop", "uturn"] + }, + { + "role": "Setup Sweeper", + "movepool": ["closecombat", "earthquake", "gunkshot", "honeclaws", "stoneedge", "throatchop"], + "preferredTypes": ["Rock"] } ] }, @@ -391,11 +425,11 @@ ] }, "poliwrath": { - "level": 89, + "level": 90, "sets": [ { "role": "Setup Sweeper", - "movepool": ["focusblast", "hydropump", "icepunch", "raindance"] + "movepool": ["focusblast", "icepunch", "raindance", "waterfall"] }, { "role": "Bulky Attacker", @@ -408,12 +442,17 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["counter", "focusblast", "hiddenpowerfire", "psychic", "psyshock", "shadowball"] + "movepool": ["counter", "focusblast", "psychic", "psyshock", "shadowball"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "encore", "focusblast", "psychic", "psyshock", "shadowball", "substitute"], + "preferredTypes": ["Fighting"] } ] }, "alakazammega": { - "level": 80, + "level": 79, "sets": [ { "role": "Setup Sweeper", @@ -432,8 +471,7 @@ }, { "role": "AV Pivot", - "movepool": ["bulletpunch", "dynamicpunch", "icepunch", "knockoff", "stoneedge"], - "preferredTypes": ["Dark"] + "movepool": ["bulletpunch", "dynamicpunch", "knockoff", "stoneedge"] }, { "role": "Wallbreaker", @@ -451,12 +489,16 @@ }, { "role": "Wallbreaker", - "movepool": ["hiddenpowerfire", "knockoff", "powerwhip", "sleeppowder", "sludgebomb", "strengthsap", "suckerpunch"] + "movepool": ["hiddenpowerground", "knockoff", "powerwhip", "sleeppowder", "sludgebomb", "strengthsap", "suckerpunch"] + }, + { + "role": "Fast Attacker", + "movepool": ["powerwhip", "sludgebomb", "sunnyday", "weatherball"] } ] }, "tentacruel": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -470,11 +512,15 @@ { "role": "Bulky Attacker", "movepool": ["earthquake", "explosion", "stealthrock", "stoneedge", "suckerpunch", "toxic"] + }, + { + "role": "Bulky Setup", + "movepool": ["earthquake", "explosion", "rockpolish", "stoneedge", "suckerpunch"] } ] }, "golemalola": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -514,7 +560,7 @@ ] }, "slowbromega": { - "level": 85, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -523,7 +569,7 @@ ] }, "farfetchd": { - "level": 97, + "level": 98, "sets": [ { "role": "Setup Sweeper", @@ -547,7 +593,7 @@ ] }, "dewgong": { - "level": 90, + "level": 92, "sets": [ { "role": "Staller", @@ -564,13 +610,13 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["curse", "firepunch", "gunkshot", "haze", "icepunch", "poisonjab", "shadowsneak"], - "preferredTypes": ["Fire"] + "movepool": ["brickbreak", "curse", "gunkshot", "haze", "icepunch", "poisonjab", "shadowsneak"], + "preferredTypes": ["Fighting"] } ] }, "mukalola": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Setup", @@ -583,7 +629,7 @@ ] }, "cloyster": { - "level": 81, + "level": 80, "sets": [ { "role": "Setup Sweeper", @@ -614,11 +660,11 @@ ] }, "hypno": { - "level": 91, + "level": 94, "sets": [ { "role": "Bulky Support", - "movepool": ["focusblast", "foulplay", "lightscreen", "protect", "psychic", "reflect", "thunderwave", "toxic", "wish"] + "movepool": ["focusblast", "foulplay", "protect", "psychic", "thunderwave", "toxic", "wish"] }, { "role": "Staller", @@ -640,7 +686,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["foulplay", "hiddenpowergrass", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt", "voltswitch"] + "movepool": ["foulplay", "hiddenpowerice", "signalbeam", "taunt", "thunderbolt", "voltswitch"], + "preferredTypes": ["Ice"] }, { "role": "Fast Support", @@ -649,7 +696,7 @@ ] }, "exeggutor": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -668,6 +715,10 @@ { "role": "Bulky Attacker", "movepool": ["dracometeor", "flamethrower", "gigadrain", "leafstorm"] + }, + { + "role": "AV Pivot", + "movepool": ["dracometeor", "flamethrower", "gigadrain", "knockoff"] } ] }, @@ -728,7 +779,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] + "movepool": ["earthquake", "megahorn", "stealthrock", "stoneedge", "swordsdance", "toxic"] } ] }, @@ -737,11 +788,7 @@ "sets": [ { "role": "Staller", - "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] - }, - { - "role": "Bulky Support", - "movepool": ["protect", "seismictoss", "toxic", "wish"] + "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic", "wish"] } ] }, @@ -764,11 +811,16 @@ { "role": "Fast Support", "movepool": ["bodyslam", "crunch", "fakeout", "seismictoss", "suckerpunch"] + }, + { + "role": "Setup Sweeper", + "movepool": ["bodyslam", "crunch", "earthquake", "poweruppunch", "return", "suckerpunch"], + "preferredTypes": ["Ground"] } ] }, "seaking": { - "level": 91, + "level": 93, "sets": [ { "role": "Fast Attacker", @@ -791,7 +843,7 @@ ] }, "mrmime": { - "level": 88, + "level": 90, "sets": [ { "role": "Fast Attacker", @@ -801,7 +853,7 @@ ] }, "scyther": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", @@ -814,7 +866,7 @@ ] }, "jynx": { - "level": 87, + "level": 88, "sets": [ { "role": "Fast Attacker", @@ -822,7 +874,7 @@ }, { "role": "Setup Sweeper", - "movepool": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock", "substitute"] + "movepool": ["focusblast", "icebeam", "lovelykiss", "nastyplot", "psyshock"] } ] }, @@ -837,7 +889,7 @@ ] }, "pinsirmega": { - "level": 76, + "level": 74, "sets": [ { "role": "Bulky Setup", @@ -874,7 +926,7 @@ ] }, "gyaradosmega": { - "level": 76, + "level": 75, "sets": [ { "role": "Setup Sweeper", @@ -887,7 +939,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["freezedry", "healbell", "hydropump", "icebeam", "thunderbolt", "toxic"] + "movepool": ["freezedry", "healbell", "hydropump", "icebeam", "toxic"] }, { "role": "Staller", @@ -896,7 +948,7 @@ ] }, "ditto": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Support", @@ -918,16 +970,20 @@ ] }, "jolteon": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", - "movepool": ["hiddenpowerice", "shadowball", "signalbeam", "thunderbolt", "voltswitch"] + "movepool": ["hiddenpowerice", "shadowball", "thunderbolt", "voltswitch"] + }, + { + "role": "Wallbreaker", + "movepool": ["hiddenpowerice", "signalbeam", "thunderbolt", "voltswitch"] } ] }, "flareon": { - "level": 87, + "level": 88, "sets": [ { "role": "Wallbreaker", @@ -936,16 +992,16 @@ ] }, "omastar": { - "level": 85, + "level": 84, "sets": [ { "role": "Setup Sweeper", - "movepool": ["earthpower", "hydropump", "icebeam", "shellsmash"] + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash"] } ] }, "kabutops": { - "level": 88, + "level": 87, "sets": [ { "role": "Fast Support", @@ -959,7 +1015,7 @@ ] }, "aerodactyl": { - "level": 85, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -969,15 +1025,21 @@ "role": "Fast Support", "movepool": ["defog", "doubleedge", "earthquake", "pursuit", "roost", "stealthrock", "stoneedge"], "preferredTypes": ["Ground"] + }, + { + "role": "Z-Move user", + "movepool": ["earthquake", "honeclaws", "skyattack", "stoneedge"], + "preferredTypes": ["Flying"] } ] }, "aerodactylmega": { - "level": 80, + "level": 78, "sets": [ { "role": "Fast Attacker", - "movepool": ["aerialace", "aquatail", "earthquake", "firefang", "honeclaws", "roost", "stoneedge"] + "movepool": ["aerialace", "aquatail", "earthquake", "honeclaws", "roost", "stoneedge"], + "preferredTypes": ["Ground"] } ] }, @@ -985,12 +1047,12 @@ "level": 84, "sets": [ { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["bodyslam", "crunch", "curse", "earthquake", "rest", "return", "sleeptalk"] }, { "role": "AV Pivot", - "movepool": ["bodyslam", "crunch", "earthquake", "firepunch", "pursuit", "return"] + "movepool": ["bodyslam", "crunch", "earthquake", "pursuit", "return"] }, { "role": "Bulky Setup", @@ -1012,7 +1074,7 @@ ] }, "zapdos": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Support", @@ -1030,7 +1092,7 @@ ] }, "dragonite": { - "level": 74, + "level": 73, "sets": [ { "role": "Z-Move user", @@ -1038,13 +1100,14 @@ "preferredTypes": ["Flying"] }, { - "role": "Bulky Attacker", - "movepool": ["dragondance", "earthquake", "extremespeed", "firepunch", "outrage"] + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "ironhead", "outrage", "roost"], + "preferredTypes": ["Ground"] } ] }, "mewtwo": { - "level": 73, + "level": 72, "sets": [ { "role": "Fast Attacker", @@ -1071,7 +1134,7 @@ ] }, "mew": { - "level": 82, + "level": 81, "sets": [ { "role": "Staller", @@ -1084,11 +1147,11 @@ ] }, "meganium": { - "level": 89, + "level": 91, "sets": [ { - "role": "Bulky Support", - "movepool": ["aromatherapy", "dragontail", "gigadrain", "leechseed", "lightscreen", "reflect", "synthesis", "toxic"] + "role": "Staller", + "movepool": ["aromatherapy", "dragontail", "earthquake", "energyball", "leechseed", "synthesis", "toxic"] } ] }, @@ -1097,7 +1160,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["eruption", "fireblast", "focusblast", "hiddenpowergrass"] + "movepool": ["eruption", "fireblast", "focusblast", "hiddenpowergrass", "hiddenpowerrock"] } ] }, @@ -1116,7 +1179,7 @@ ] }, "furret": { - "level": 93, + "level": 94, "sets": [ { "role": "Wallbreaker", @@ -1130,29 +1193,25 @@ ] }, "noctowl": { - "level": 92, + "level": 93, "sets": [ { "role": "Bulky Support", - "movepool": ["defog", "heatwave", "hurricane", "hypervoice", "roost", "whirlwind"] + "movepool": ["defog", "hurricane", "hypervoice", "roost", "toxic", "whirlwind"] } ] }, "ledian": { - "level": 99, + "level": 100, "sets": [ - { - "role": "Bulky Support", - "movepool": ["knockoff", "lightscreen", "reflect", "roost", "toxic", "uturn"] - }, { "role": "Staller", - "movepool": ["defog", "encore", "knockoff", "roost", "toxic", "uturn"] + "movepool": ["airslash", "defog", "encore", "focusblast", "knockoff", "roost", "toxic"] } ] }, "ariados": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -1213,8 +1272,12 @@ "level": 87, "sets": [ { - "role": "Bulky Setup", - "movepool": ["gigadrain", "hiddenpowerfire", "moonblast", "quiverdance", "sleeppowder", "strengthsap"] + "role": "Bulky Attacker", + "movepool": ["gigadrain", "moonblast", "quiverdance", "strengthsap"] + }, + { + "role": "Bulky Support", + "movepool": ["gigadrain", "hiddenpowerfire", "hiddenpowerrock", "quiverdance", "strengthsap"] }, { "role": "Z-Move user", @@ -1224,7 +1287,7 @@ ] }, "azumarill": { - "level": 80, + "level": 81, "sets": [ { "role": "Bulky Attacker", @@ -1233,7 +1296,7 @@ ] }, "sudowoodo": { - "level": 89, + "level": 91, "sets": [ { "role": "Bulky Attacker", @@ -1243,7 +1306,7 @@ ] }, "politoed": { - "level": 85, + "level": 86, "sets": [ { "role": "Staller", @@ -1269,11 +1332,15 @@ ] }, "sunflora": { - "level": 96, + "level": 100, "sets": [ { "role": "Wallbreaker", "movepool": ["earthpower", "hiddenpowerfire", "hiddenpowerice", "hiddenpowerrock", "leafstorm", "sludgebomb"] + }, + { + "role": "Setup Sweeper", + "movepool": ["earthpower", "hiddenpowerfire", "solarbeam", "sunnyday"] } ] }, @@ -1308,20 +1375,6 @@ } ] }, - "murkrow": { - "level": 91, - "sets": [ - { - "role": "Bulky Attacker", - "movepool": ["bravebird", "defog", "haze", "pursuit", "roost", "thunderwave"] - }, - { - "role": "Z-Move user", - "movepool": ["bravebird", "mirrormove", "protect", "suckerpunch"], - "preferredTypes": ["Flying"] - } - ] - }, "slowking": { "level": 88, "sets": [ @@ -1345,7 +1398,7 @@ ] }, "wobbuffet": { - "level": 84, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -1354,7 +1407,7 @@ ] }, "girafarig": { - "level": 92, + "level": 94, "sets": [ { "role": "Setup Sweeper", @@ -1373,7 +1426,7 @@ ] }, "dunsparce": { - "level": 92, + "level": 93, "sets": [ { "role": "Bulky Attacker", @@ -1395,7 +1448,7 @@ ] }, "steelix": { - "level": 84, + "level": 82, "sets": [ { "role": "Wallbreaker", @@ -1422,7 +1475,7 @@ ] }, "granbull": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -1440,7 +1493,7 @@ ] }, "scizor": { - "level": 81, + "level": 80, "sets": [ { "role": "Setup Sweeper", @@ -1457,7 +1510,7 @@ ] }, "scizormega": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Setup", @@ -1470,7 +1523,7 @@ ] }, "shuckle": { - "level": 87, + "level": 86, "sets": [ { "role": "Bulky Support", @@ -1479,7 +1532,7 @@ ] }, "heracross": { - "level": 84, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -1511,20 +1564,21 @@ ] }, "magcargo": { - "level": 91, + "level": 94, "sets": [ { "role": "Staller", "movepool": ["ancientpower", "lavaplume", "recover", "stealthrock", "toxic"] }, { - "role": "Setup Sweeper", - "movepool": ["ancientpower", "earthpower", "fireblast", "hiddenpowergrass", "shellsmash"] + "role": "Z-Move user", + "movepool": ["ancientpower", "earthpower", "fireblast", "shellsmash"], + "preferredTypes": ["Fire", "Rock"] } ] }, "corsola": { - "level": 92, + "level": 93, "sets": [ { "role": "Bulky Support", @@ -1533,7 +1587,7 @@ ] }, "octillery": { - "level": 90, + "level": 93, "sets": [ { "role": "Wallbreaker", @@ -1551,7 +1605,7 @@ ] }, "mantine": { - "level": 86, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -1560,11 +1614,15 @@ ] }, "skarmory": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Support", "movepool": ["bravebird", "roost", "spikes", "stealthrock", "whirlwind"] + }, + { + "role": "Staller", + "movepool": ["bravebird", "roost", "spikes", "stealthrock", "toxic"] } ] }, @@ -1596,7 +1654,7 @@ ] }, "donphan": { - "level": 84, + "level": 85, "sets": [ { "role": "Bulky Support", @@ -1619,11 +1677,12 @@ ] }, "stantler": { - "level": 88, + "level": 90, "sets": [ { "role": "Wallbreaker", - "movepool": ["doubleedge", "earthquake", "jumpkick", "megahorn", "suckerpunch"] + "movepool": ["doubleedge", "earthquake", "jumpkick", "megahorn", "suckerpunch", "throatchop", "thunderwave"], + "preferredTypes": ["Ground"] } ] }, @@ -1637,7 +1696,7 @@ ] }, "hitmontop": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -1663,7 +1722,7 @@ "sets": [ { "role": "Staller", - "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "toxic"] + "movepool": ["aromatherapy", "seismictoss", "softboiled", "stealthrock", "thunderwave", "toxic"] }, { "role": "Bulky Support", @@ -1679,18 +1738,22 @@ "movepool": ["aurasphere", "hiddenpowerice", "thunderbolt", "voltswitch"] }, { - "role": "Setup Sweeper", - "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"] + "role": "Bulky Setup", + "movepool": ["aurasphere", "calmmind", "hiddenpowerice", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] } ] }, "entei": { - "level": 80, + "level": 79, "sets": [ { "role": "Wallbreaker", - "movepool": ["extremespeed", "flareblitz", "sacredfire", "stompingtantrum", "stoneedge"], - "preferredTypes": ["Normal"] + "movepool": ["extremespeed", "flareblitz", "sacredfire", "stompingtantrum"] + }, + { + "role": "Fast Attacker", + "movepool": ["extremespeed", "flareblitz", "sacredfire", "stoneedge"] } ] }, @@ -1703,7 +1766,7 @@ }, { "role": "Bulky Setup", - "movepool": ["calmmind", "hydropump", "icebeam", "rest", "scald", "substitute"] + "movepool": ["calmmind", "icebeam", "rest", "scald", "substitute"] }, { "role": "Staller", @@ -1734,7 +1797,7 @@ ] }, "lugia": { - "level": 74, + "level": 72, "sets": [ { "role": "Staller", @@ -1743,7 +1806,7 @@ ] }, "hooh": { - "level": 73, + "level": 72, "sets": [ { "role": "Bulky Attacker", @@ -1752,7 +1815,7 @@ ] }, "celebi": { - "level": 82, + "level": 83, "sets": [ { "role": "Fast Attacker", @@ -1761,7 +1824,7 @@ }, { "role": "Bulky Support", - "movepool": ["healbell", "leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] + "movepool": ["leafstorm", "psychic", "recover", "stealthrock", "thunderwave", "uturn"] }, { "role": "Z-Move user", @@ -1784,7 +1847,7 @@ ] }, "sceptilemega": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -1802,14 +1865,18 @@ { "role": "Wallbreaker", "movepool": ["fireblast", "highjumpkick", "knockoff", "protect", "stoneedge"] + }, + { + "role": "Setup Sweeper", + "movepool": ["flareblitz", "highjumpkick", "knockoff", "stoneedge", "swordsdance"] } ] }, "blazikenmega": { - "level": 75, + "level": 74, "sets": [ { - "role": "Wallbreaker", + "role": "Setup Sweeper", "movepool": ["flareblitz", "highjumpkick", "knockoff", "protect", "stoneedge", "swordsdance"] } ] @@ -1837,11 +1904,11 @@ ] }, "mightyena": { - "level": 91, + "level": 94, "sets": [ { - "role": "Fast Attacker", - "movepool": ["crunch", "firefang", "irontail", "playrough", "suckerpunch"], + "role": "Wallbreaker", + "movepool": ["crunch", "irontail", "playrough", "suckerpunch", "toxic"], "preferredTypes": ["Fairy"] } ] @@ -1856,20 +1923,20 @@ ] }, "beautifly": { - "level": 97, + "level": 99, "sets": [ { "role": "Setup Sweeper", - "movepool": ["bugbuzz", "energyball", "hiddenpowerfighting", "psychic", "quiverdance"] + "movepool": ["aircutter", "bugbuzz", "hiddenpowerground", "quiverdance"] } ] }, "dustox": { - "level": 92, + "level": 94, "sets": [ { "role": "Bulky Setup", - "movepool": ["bugbuzz", "quiverdance", "roost", "sludgebomb"] + "movepool": ["bugbuzz", "hiddenpowerground", "quiverdance", "roost", "sludgebomb"] }, { "role": "Bulky Support", @@ -1886,12 +1953,12 @@ }, { "role": "Wallbreaker", - "movepool": ["energyball", "focusblast", "hydropump", "icebeam", "scald"] + "movepool": ["energyball", "hydropump", "icebeam", "scald"] } ] }, "shiftry": { - "level": 89, + "level": 90, "sets": [ { "role": "Fast Attacker", @@ -1904,20 +1971,20 @@ ] }, "swellow": { - "level": 84, + "level": 83, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["bravebird", "facade", "protect", "quickattack", "uturn"] }, { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["boomburst", "heatwave", "hurricane", "uturn"] } ] }, "pelipper": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Attacker", @@ -1943,7 +2010,7 @@ ] }, "gardevoirmega": { - "level": 81, + "level": 80, "sets": [ { "role": "Setup Sweeper", @@ -1991,8 +2058,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["earthquake", "firepunch", "gigaimpact", "nightslash", "retaliate"], - "preferredTypes": ["Ground"] + "movepool": ["earthquake", "gigaimpact", "nightslash", "retaliate"] } ] }, @@ -2011,7 +2077,7 @@ ] }, "shedinja": { - "level": 88, + "level": 92, "sets": [ { "role": "Setup Sweeper", @@ -2033,7 +2099,7 @@ "sets": [ { "role": "AV Pivot", - "movepool": ["bulletpunch", "closecombat", "heavyslam", "icepunch", "knockoff", "stoneedge"], + "movepool": ["bulletpunch", "closecombat", "heavyslam", "knockoff", "stoneedge"], "preferredTypes": ["Dark"] }, { @@ -2044,11 +2110,11 @@ ] }, "delcatty": { - "level": 95, + "level": 97, "sets": [ { "role": "Fast Support", - "movepool": ["doubleedge", "fakeout", "healbell", "stompingtantrum", "suckerpunch", "thunderwave", "toxic"] + "movepool": ["doubleedge", "fakeout", "healbell", "shadowball", "stompingtantrum", "thunderwave", "toxic"] } ] }, @@ -2071,10 +2137,10 @@ ] }, "mawile": { - "level": 88, + "level": 89, "sets": [ { - "role": "Wallbreaker", + "role": "Bulky Attacker", "movepool": ["ironhead", "knockoff", "playrough", "stealthrock", "suckerpunch", "swordsdance"] } ] @@ -2084,7 +2150,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["firefang", "ironhead", "knockoff", "playrough", "suckerpunch", "swordsdance"] + "movepool": ["ironhead", "knockoff", "playrough", "suckerpunch", "swordsdance"] } ] }, @@ -2099,7 +2165,7 @@ ] }, "aggronmega": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Support", @@ -2108,7 +2174,7 @@ ] }, "medicham": { - "level": 86, + "level": 85, "sets": [ { "role": "Fast Attacker", @@ -2117,7 +2183,7 @@ ] }, "medichammega": { - "level": 80, + "level": 78, "sets": [ { "role": "Fast Attacker", @@ -2126,71 +2192,88 @@ ] }, "manectric": { - "level": 88, + "level": 86, "sets": [ { - "role": "Fast Attacker", - "movepool": ["flamethrower", "hiddenpowergrass", "hiddenpowerice", "overheat", "switcheroo", "thunderbolt", "voltswitch"], - "preferredTypes": ["Fire"] + "role": "Wallbreaker", + "movepool": ["flamethrower", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch"] } ] }, "manectricmega": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", - "movepool": ["hiddenpowergrass", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch"] + "movepool": ["hiddenpowerice", "overheat", "thunderbolt", "voltswitch"] } ] }, "plusle": { - "level": 93, + "level": 94, "sets": [ { "role": "Bulky Setup", - "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] + "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] } ] }, "minun": { - "level": 93, + "level": 94, "sets": [ { "role": "Bulky Setup", - "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"] + "movepool": ["encore", "hiddenpowerice", "nastyplot", "substitute", "thunderbolt"], + "preferredTypes": ["Ice"] + }, + { + "role": "Setup Sweeper", + "movepool": ["grassknot", "hiddenpowerice", "nastyplot", "thunderbolt"] } ] }, "volbeat": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Attacker", - "movepool": ["defog", "encore", "roost", "thunderwave", "toxic", "uturn"] + "movepool": ["defog", "encore", "roost", "thunderwave", "uturn"] + }, + { + "role": "Staller", + "movepool": ["defog", "encore", "lunge", "roost", "thunderwave"] } ] }, "illumise": { - "level": 93, + "level": 92, "sets": [ { "role": "Bulky Attacker", - "movepool": ["bugbuzz", "defog", "encore", "roost", "thunderwave", "wish"] + "movepool": ["bugbuzz", "defog", "encore", "roost", "thunderwave"] } ] }, "swalot": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Support", "movepool": ["earthquake", "encore", "icebeam", "painsplit", "sludgebomb", "toxic", "yawn"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "sludgebomb", "toxic"] } ] }, "sharpedo": { - "level": 84, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -2208,7 +2291,7 @@ ] }, "wailord": { - "level": 89, + "level": 91, "sets": [ { "role": "Bulky Attacker", @@ -2221,7 +2304,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "fireblast", "hiddenpowergrass", "rockpolish", "stoneedge"] + "movepool": ["earthquake", "fireblast", "rockpolish", "stoneedge"] }, { "role": "Bulky Support", @@ -2248,24 +2331,25 @@ ] }, "grumpig": { - "level": 91, + "level": 92, "sets": [ { "role": "Bulky Support", - "movepool": ["focusblast", "healbell", "lightscreen", "psychic", "reflect", "thunderwave", "toxic", "whirlwind"] + "movepool": ["focusblast", "healbell", "psychic", "thunderwave", "toxic", "whirlwind"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "focusblast", "psychic", "psyshock", "recycle"] } ] }, "spinda": { - "level": 100, + "level": 99, "sets": [ { "role": "Staller", - "movepool": ["icepunch", "return", "suckerpunch", "superpower"] - }, - { - "role": "Bulky Attacker", - "movepool": ["protect", "rest", "return", "sleeptalk", "superpower", "wish"] + "movepool": ["feintattack", "rest", "return", "sleeptalk", "suckerpunch", "superpower"], + "preferredTypes": ["Fighting"] } ] }, @@ -2288,7 +2372,7 @@ ] }, "cacturne": { - "level": 90, + "level": 91, "sets": [ { "role": "Wallbreaker", @@ -2305,12 +2389,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["defog", "dracometeor", "earthquake", "fireblast", "roost", "toxic"] + "movepool": ["defog", "dracometeor", "earthquake", "fireblast", "healbell", "roost", "toxic"] } ] }, "altariamega": { - "level": 81, + "level": 80, "sets": [ { "role": "Setup Sweeper", @@ -2326,14 +2410,14 @@ "level": 87, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["closecombat", "facade", "knockoff", "quickattack", "swordsdance"], "preferredTypes": ["Dark"] } ] }, "seviper": { - "level": 90, + "level": 91, "sets": [ { "role": "Fast Attacker", @@ -2347,7 +2431,7 @@ ] }, "lunatone": { - "level": 90, + "level": 92, "sets": [ { "role": "Wallbreaker", @@ -2356,12 +2440,12 @@ }, { "role": "Bulky Support", - "movepool": ["moonblast", "moonlight", "powergem", "psychic", "stealthrock", "toxic"] + "movepool": ["earthpower", "moonlight", "powergem", "psychic", "stealthrock", "toxic"] } ] }, "solrock": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -2370,7 +2454,7 @@ ] }, "whiscash": { - "level": 88, + "level": 89, "sets": [ { "role": "Setup Sweeper", @@ -2382,12 +2466,12 @@ "level": 85, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["aquajet", "crabhammer", "dragondance", "knockoff", "superpower"] }, { "role": "Setup Sweeper", - "movepool": ["aquajet", "crabhammer", "knockoff", "swordsdance"] + "movepool": ["aquajet", "crabhammer", "dragondance", "knockoff", "swordsdance"] } ] }, @@ -2436,7 +2520,7 @@ ] }, "castform": { - "level": 100, + "level": 99, "sets": [ { "role": "Bulky Attacker", @@ -2445,12 +2529,16 @@ ] }, "kecleon": { - "level": 88, + "level": 90, "sets": [ { "role": "Fast Support", "movepool": ["drainpunch", "fakeout", "knockoff", "recover", "shadowsneak", "stealthrock", "suckerpunch"], "preferredTypes": ["Fighting"] + }, + { + "role": "Bulky Attacker", + "movepool": ["drainpunch", "knockoff", "recover", "stealthrock", "thunderwave", "toxic"] } ] }, @@ -2459,7 +2547,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["destinybond", "gunkshot", "knockoff", "shadowclaw", "shadowsneak", "taunt", "willowisp"] + "movepool": ["gunkshot", "knockoff", "shadowclaw", "shadowsneak", "taunt", "thunderwave", "willowisp"] } ] }, @@ -2473,7 +2561,7 @@ ] }, "tropius": { - "level": 90, + "level": 92, "sets": [ { "role": "Staller", @@ -2482,7 +2570,7 @@ ] }, "chimecho": { - "level": 93, + "level": 94, "sets": [ { "role": "Staller", @@ -2499,7 +2587,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["knockoff", "playrough", "pursuit", "suckerpunch", "superpower", "swordsdance"] + "movepool": ["knockoff", "playrough", "pursuit", "suckerpunch", "superpower", "swordsdance"], + "preferredTypes": ["Fairy"] } ] }, @@ -2508,20 +2597,22 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["fireblast", "knockoff", "playrough", "pursuit", "suckerpunch", "superpower"] + "movepool": ["fireblast", "knockoff", "playrough", "pursuit", "suckerpunch", "superpower"], + "preferredTypes": ["Fairy"] }, { "role": "Setup Sweeper", - "movepool": ["knockoff", "playrough", "suckerpunch", "superpower", "swordsdance"] + "movepool": ["knockoff", "playrough", "suckerpunch", "superpower", "swordsdance"], + "preferredTypes": ["Fairy"] } ] }, "glalie": { - "level": 88, + "level": 90, "sets": [ { "role": "Fast Support", - "movepool": ["earthquake", "explosion", "freezedry", "spikes", "superfang", "taunt"] + "movepool": ["earthquake", "freezedry", "spikes", "superfang", "taunt"] } ] }, @@ -2529,8 +2620,9 @@ "level": 84, "sets": [ { - "role": "Wallbreaker", - "movepool": ["earthquake", "explosion", "freezedry", "iceshard", "return", "spikes"] + "role": "Fast Attacker", + "movepool": ["earthquake", "explosion", "freezedry", "iceshard", "return", "spikes"], + "preferredTypes": ["Ground"] } ] }, @@ -2552,7 +2644,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["icebeam", "return", "shellsmash", "substitute", "suckerpunch", "waterfall"], + "movepool": ["icebeam", "return", "shellsmash", "suckerpunch", "waterfall"], "preferredTypes": ["Ice"] } ] @@ -2562,8 +2654,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash", "substitute"], - "preferredTypes": ["Ice"] + "movepool": ["hiddenpowergrass", "hydropump", "icebeam", "shellsmash"] } ] }, @@ -2586,12 +2677,12 @@ "sets": [ { "role": "Staller", - "movepool": ["charm", "protect", "scald", "toxic"] + "movepool": ["icebeam", "protect", "scald", "substitute", "toxic"] } ] }, "salamence": { - "level": 75, + "level": 74, "sets": [ { "role": "Setup Sweeper", @@ -2605,7 +2696,7 @@ ] }, "salamencemega": { - "level": 73, + "level": 72, "sets": [ { "role": "Setup Sweeper", @@ -2618,7 +2709,7 @@ ] }, "metagross": { - "level": 81, + "level": 80, "sets": [ { "role": "Bulky Setup", @@ -2633,11 +2724,12 @@ ] }, "metagrossmega": { - "level": 76, + "level": 75, "sets": [ { "role": "Bulky Attacker", - "movepool": ["agility", "earthquake", "hammerarm", "icepunch", "meteormash", "zenheadbutt"] + "movepool": ["agility", "earthquake", "hammerarm", "meteormash", "zenheadbutt"], + "preferredTypes": ["Psychic"] } ] }, @@ -2684,7 +2776,7 @@ }, { "role": "Staller", - "movepool": ["protect", "seismictoss", "stealthrock", "toxic"] + "movepool": ["protect", "seismictoss", "stealthrock", "thunderwave", "toxic"] } ] }, @@ -2703,16 +2795,16 @@ ] }, "latiasmega": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Attacker", - "movepool": ["calmmind", "defog", "dracometeor", "hiddenpowerfire", "psyshock", "roost"] + "movepool": ["calmmind", "dracometeor", "psyshock", "roost"] } ] }, "latios": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Support", @@ -2726,16 +2818,16 @@ ] }, "latiosmega": { - "level": 80, + "level": 79, "sets": [ { "role": "Bulky Attacker", - "movepool": ["calmmind", "dracometeor", "hiddenpowerfire", "psyshock", "roost"] + "movepool": ["calmmind", "dracometeor", "psyshock", "roost"] } ] }, "kyogre": { - "level": 71, + "level": 70, "sets": [ { "role": "Fast Attacker", @@ -2744,7 +2836,7 @@ ] }, "kyogreprimal": { - "level": 73, + "level": 72, "sets": [ { "role": "Bulky Setup", @@ -2757,7 +2849,7 @@ ] }, "groudon": { - "level": 76, + "level": 75, "sets": [ { "role": "Bulky Support", @@ -2770,7 +2862,7 @@ ] }, "groudonprimal": { - "level": 67, + "level": 66, "sets": [ { "role": "Bulky Support", @@ -2783,16 +2875,21 @@ ] }, "rayquaza": { - "level": 74, + "level": 72, "sets": [ - { - "role": "Wallbreaker", - "movepool": ["dracometeor", "dragondance", "earthquake", "extremespeed", "outrage", "vcreate"] - }, { "role": "Z-Move user", "movepool": ["dragonascent", "dragondance", "earthquake", "extremespeed", "vcreate"], "preferredTypes": ["Flying"] + }, + { + "role": "Setup Sweeper", + "movepool": ["dragondance", "earthquake", "extremespeed", "outrage", "vcreate"] + }, + { + "role": "Bulky Setup", + "movepool": ["earthquake", "extremespeed", "outrage", "swordsdance", "vcreate"], + "preferredTypes": ["Normal"] } ] }, @@ -2806,7 +2903,7 @@ ] }, "jirachi": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Support", @@ -2824,17 +2921,17 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["extremespeed", "firepunch", "icebeam", "knockoff", "psychoboost", "stealthrock", "superpower"], + "movepool": ["extremespeed", "icebeam", "knockoff", "psychoboost", "stealthrock", "superpower"], "preferredTypes": ["Fighting"] } ] }, "deoxysattack": { - "level": 76, + "level": 75, "sets": [ { "role": "Wallbreaker", - "movepool": ["extremespeed", "firepunch", "icebeam", "knockoff", "psychoboost", "superpower"], + "movepool": ["extremespeed", "icebeam", "knockoff", "psychoboost", "superpower"], "preferredTypes": ["Fighting"] } ] @@ -2866,15 +2963,15 @@ }, { "role": "Bulky Attacker", - "movepool": ["earthquake", "rockpolish", "stoneedge", "swordsdance", "woodhammer"] + "movepool": ["earthquake", "rockpolish", "stoneedge", "woodhammer"] } ] }, "infernape": { - "level": 82, + "level": 81, "sets": [ { - "role": "Wallbreaker", + "role": "Fast Attacker", "movepool": ["closecombat", "grassknot", "machpunch", "overheat", "stealthrock"] }, { @@ -2883,7 +2980,7 @@ "preferredTypes": ["Fighting"] }, { - "role": "Fast Attacker", + "role": "Fast Support", "movepool": ["closecombat", "flareblitz", "machpunch", "stoneedge", "swordsdance", "uturn"] } ] @@ -2906,7 +3003,7 @@ ] }, "staraptor": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", @@ -2916,7 +3013,7 @@ ] }, "bibarel": { - "level": 88, + "level": 89, "sets": [ { "role": "Setup Sweeper", @@ -2925,7 +3022,7 @@ ] }, "kricketune": { - "level": 90, + "level": 94, "sets": [ { "role": "Fast Support", @@ -2938,8 +3035,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["crunch", "facade", "icefang", "superpower", "wildcharge"], - "preferredTypes": ["Fighting"] + "movepool": ["crunch", "facade", "superpower", "wildcharge"] }, { "role": "AV Pivot", @@ -2953,25 +3049,25 @@ "sets": [ { "role": "Fast Support", - "movepool": ["gigadrain", "hiddenpowerfire", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] + "movepool": ["gigadrain", "hiddenpowerground", "leafstorm", "sleeppowder", "sludgebomb", "spikes", "synthesis", "toxicspikes"] } ] }, "rampardos": { - "level": 88, + "level": 89, "sets": [ { - "role": "Wallbreaker", - "movepool": ["crunch", "earthquake", "firepunch", "rockpolish", "rockslide"] + "role": "Setup Sweeper", + "movepool": ["earthquake", "firepunch", "rockpolish", "rockslide", "zenheadbutt"] }, { - "role": "Bulky Attacker", - "movepool": ["crunch", "earthquake", "firepunch", "headsmash", "superpower"] + "role": "Fast Attacker", + "movepool": ["earthquake", "firepunch", "headsmash", "rockslide"] } ] }, "bastiodon": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -2984,7 +3080,7 @@ ] }, "wormadam": { - "level": 97, + "level": 99, "sets": [ { "role": "Setup Sweeper", @@ -2993,34 +3089,39 @@ ] }, "wormadamsandy": { - "level": 88, + "level": 89, "sets": [ { "role": "Staller", - "movepool": ["earthquake", "protect", "stealthrock", "toxic"] + "movepool": ["earthquake", "protect", "stealthrock", "suckerpunch", "toxic"] } ] }, "wormadamtrash": { - "level": 87, + "level": 86, "sets": [ { "role": "Staller", - "movepool": ["flashcannon", "protect", "stealthrock", "toxic"] + "movepool": ["flashcannon", "protect", "stealthrock", "suckerpunch", "toxic"] } ] }, "mothim": { - "level": 93, + "level": 95, "sets": [ { "role": "Setup Sweeper", "movepool": ["airslash", "bugbuzz", "energyball", "quiverdance"] + }, + { + "role": "Z-Move user", + "movepool": ["airslash", "bugbuzz", "energyball", "quiverdance"], + "preferredTypes": ["Bug"] } ] }, "vespiquen": { - "level": 95, + "level": 98, "sets": [ { "role": "Staller", @@ -3029,7 +3130,7 @@ ] }, "pachirisu": { - "level": 92, + "level": 94, "sets": [ { "role": "Bulky Support", @@ -3038,26 +3139,35 @@ ] }, "floatzel": { - "level": 87, + "level": 86, "sets": [ { "role": "Setup Sweeper", - "movepool": ["aquajet", "bulkup", "icepunch", "liquidation", "lowkick", "substitute", "taunt"], + "movepool": ["aquajet", "bulkup", "icepunch", "liquidation", "lowkick", "substitute"], "preferredTypes": ["Ice"] }, { "role": "Fast Attacker", "movepool": ["aquajet", "crunch", "icepunch", "liquidation", "lowkick"], + "preferredTypes": ["Ice"] + }, + { + "role": "Z-Move user", + "movepool": ["bulkup", "icepunch", "liquidation", "lowkick"], "preferredTypes": ["Fighting"] } ] }, "cherrim": { - "level": 95, + "level": 99, "sets": [ { - "role": "Fast Attacker", - "movepool": ["dazzlinggleam", "energyball", "healingwish", "hiddenpowerfire", "hiddenpowerground", "hiddenpowerrock", "synthesis"] + "role": "Wallbreaker", + "movepool": ["dazzlinggleam", "energyball", "healingwish", "hiddenpowerfire", "hiddenpowerground", "hiddenpowerrock", "morningsun"] + }, + { + "role": "Staller", + "movepool": ["aromatherapy", "energyball", "hiddenpowerground", "leechseed", "morningsun", "toxic"] } ] }, @@ -3071,17 +3181,17 @@ ] }, "ambipom": { - "level": 86, + "level": 85, "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "knockoff", "lowkick", "return", "seedbomb", "switcheroo", "uturn"], + "movepool": ["fakeout", "knockoff", "lowkick", "return", "uturn"], "preferredTypes": ["Dark"] } ] }, "drifblim": { - "level": 86, + "level": 85, "sets": [ { "role": "Fast Support", @@ -3094,11 +3204,16 @@ ] }, "lopunny": { - "level": 88, + "level": 87, "sets": [ { "role": "Wallbreaker", - "movepool": ["healingwish", "highjumpkick", "icepunch", "return", "switcheroo"] + "movepool": ["brutalswing", "healingwish", "highjumpkick", "return", "switcheroo"] + }, + { + "role": "Z-Move user", + "movepool": ["brutalswing", "highjumpkick", "return", "splash"], + "preferredTypes": ["Normal"] } ] }, @@ -3107,8 +3222,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "highjumpkick", "icepunch", "poweruppunch", "return", "substitute"], - "preferredTypes": ["Normal"] + "movepool": ["encore", "fakeout", "highjumpkick", "poweruppunch", "return", "substitute"] } ] }, @@ -3135,17 +3249,17 @@ ] }, "purugly": { - "level": 87, + "level": 89, "sets": [ { "role": "Fast Attacker", - "movepool": ["fakeout", "knockoff", "quickattack", "return", "stompingtantrum", "suckerpunch", "uturn"], + "movepool": ["fakeout", "knockoff", "return", "stompingtantrum", "uturn"], "preferredTypes": ["Dark"] } ] }, "skuntank": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Attacker", @@ -3158,16 +3272,18 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["earthquake", "ironhead", "lightscreen", "psychic", "reflect", "stealthrock", "toxic"] + "movepool": ["earthquake", "ironhead", "psychic", "stealthrock", "toxic"], + "preferredTypes": ["Ground"] }, { "role": "Staller", - "movepool": ["earthquake", "ironhead", "protect", "psychic", "toxic"] + "movepool": ["earthquake", "ironhead", "protect", "psychic", "toxic"], + "preferredTypes": ["Ground"] } ] }, "chatot": { - "level": 88, + "level": 89, "sets": [ { "role": "Wallbreaker", @@ -3188,12 +3304,12 @@ }, { "role": "Bulky Attacker", - "movepool": ["foulplay", "painsplit", "pursuit", "shadowsneak", "suckerpunch", "willowisp"] + "movepool": ["foulplay", "painsplit", "pursuit", "suckerpunch", "willowisp"] } ] }, "garchomp": { - "level": 77, + "level": 75, "sets": [ { "role": "Fast Support", @@ -3211,7 +3327,7 @@ ] }, "garchompmega": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Support", @@ -3242,7 +3358,7 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["closecombat", "extremespeed", "icepunch", "meteormash", "swordsdance"] + "movepool": ["closecombat", "extremespeed", "meteormash", "swordsdance"] }, { "role": "Setup Sweeper", @@ -3278,12 +3394,12 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["drainpunch", "gunkshot", "icepunch", "substitute", "suckerpunch", "swordsdance"] + "movepool": ["drainpunch", "earthquake", "gunkshot", "knockoff", "substitute", "suckerpunch", "swordsdance"] } ] }, "carnivine": { - "level": 96, + "level": 98, "sets": [ { "role": "Bulky Support", @@ -3292,7 +3408,7 @@ ] }, "lumineon": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -3305,17 +3421,18 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["blizzard", "earthquake", "focusblast", "gigadrain", "iceshard", "woodhammer"], - "preferredTypes": ["Grass"] + "movepool": ["blizzard", "earthquake", "gigadrain", "iceshard", "woodhammer"], + "preferredTypes": ["Ground"] } ] }, "abomasnowmega": { - "level": 86, + "level": 85, "sets": [ { "role": "Bulky Attacker", - "movepool": ["blizzard", "earthquake", "focusblast", "gigadrain", "iceshard", "woodhammer"] + "movepool": ["blizzard", "earthquake", "gigadrain", "iceshard", "woodhammer"], + "preferredTypes": ["Ground"] } ] }, @@ -3338,7 +3455,7 @@ ] }, "lickilicky": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -3374,7 +3491,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["earthquake", "hiddenpowerfire", "knockoff", "leafstorm", "leechseed", "powerwhip", "rockslide", "sleeppowder", "synthesis"] + "movepool": ["earthquake", "knockoff", "leafstorm", "leechseed", "powerwhip", "rockslide", "sleeppowder", "sludgebomb", "synthesis"] }, { "role": "AV Pivot", @@ -3387,7 +3504,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"] + "movepool": ["crosschop", "earthquake", "flamethrower", "icepunch", "voltswitch", "wildcharge"], + "preferredTypes": ["Ice"] } ] }, @@ -3402,7 +3520,7 @@ ] }, "togekiss": { - "level": 83, + "level": 82, "sets": [ { "role": "Bulky Setup", @@ -3419,11 +3537,11 @@ ] }, "yanmega": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", - "movepool": ["airslash", "bugbuzz", "gigadrain", "protect"] + "movepool": ["airslash", "bugbuzz", "hiddenpowerground", "protect"] }, { "role": "Wallbreaker", @@ -3446,7 +3564,7 @@ ] }, "glaceon": { - "level": 89, + "level": 92, "sets": [ { "role": "Bulky Support", @@ -3455,11 +3573,16 @@ { "role": "Staller", "movepool": ["icebeam", "protect", "toxic", "wish"] + }, + { + "role": "Z-Move user", + "movepool": ["celebrate", "hiddenpowerground", "icebeam", "storedpower"], + "preferredTypes": ["Normal"] } ] }, "gliscor": { - "level": 80, + "level": 79, "sets": [ { "role": "Staller", @@ -3471,25 +3594,21 @@ }, { "role": "Setup Sweeper", - "movepool": ["earthquake", "facade", "knockoff", "roost", "swordsdance"] + "movepool": ["earthquake", "facade", "roost", "swordsdance"] } ] }, "mamoswine": { - "level": 81, + "level": 80, "sets": [ { "role": "Wallbreaker", - "movepool": ["earthquake", "iceshard", "iciclecrash", "stealthrock"] - }, - { - "role": "Fast Attacker", - "movepool": ["earthquake", "iceshard", "iciclecrash", "knockoff", "superpower"] + "movepool": ["earthquake", "iceshard", "iciclecrash", "knockoff", "stealthrock"] } ] }, "porygonz": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Attacker", @@ -3522,7 +3641,7 @@ ] }, "probopass": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -3531,16 +3650,21 @@ ] }, "dusknoir": { - "level": 88, + "level": 89, "sets": [ { - "role": "Bulky Support", - "movepool": ["earthquake", "haze", "icepunch", "painsplit", "shadowsneak", "willowisp"] + "role": "Bulky Attacker", + "movepool": ["earthquake", "haze", "icepunch", "painsplit", "shadowsneak", "toxic", "willowisp"], + "preferredTypes": ["Ground"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "shadowsneak", "toxic"] } ] }, "froslass": { - "level": 85, + "level": 86, "sets": [ { "role": "Fast Support", @@ -3576,7 +3700,7 @@ ] }, "rotomfrost": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Attacker", @@ -3603,12 +3727,12 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "hiddenpowerfire", "hiddenpowerice", "leafstorm", "thunderbolt", "trick", "voltswitch", "willowisp"] + "movepool": ["defog", "hiddenpowerice", "leafstorm", "thunderbolt", "trick", "voltswitch", "willowisp"] } ] }, "uxie": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -3643,16 +3767,17 @@ ] }, "dialga": { - "level": 75, + "level": 74, "sets": [ { "role": "Bulky Attacker", - "movepool": ["dracometeor", "dragontail", "fireblast", "flashcannon", "stealthrock", "thunderbolt", "toxic"] + "movepool": ["dracometeor", "dragontail", "fireblast", "flashcannon", "stealthrock", "thunderbolt", "toxic"], + "preferredTypes": ["Fire"] } ] }, "palkia": { - "level": 76, + "level": 75, "sets": [ { "role": "Bulky Attacker", @@ -3678,13 +3803,14 @@ "level": 86, "sets": [ { - "role": "Bulky Support", - "movepool": ["confuseray", "drainpunch", "knockoff", "return", "substitute", "thunderwave"] + "role": "Bulky Attacker", + "movepool": ["drainpunch", "knockoff", "return", "substitute", "thunderwave"], + "preferredTypes": ["Dark"] } ] }, "giratinaorigin": { - "level": 76, + "level": 74, "sets": [ { "role": "Bulky Attacker", @@ -3727,7 +3853,7 @@ ] }, "phione": { - "level": 89, + "level": 91, "sets": [ { "role": "Bulky Support", @@ -3736,7 +3862,7 @@ ] }, "manaphy": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Setup", @@ -3775,7 +3901,7 @@ ] }, "shayminsky": { - "level": 75, + "level": 74, "sets": [ { "role": "Fast Attacker", @@ -3863,12 +3989,12 @@ "level": 72, "sets": [ { - "role": "Setup Sweeper", - "movepool": ["calmmind", "earthpower", "icebeam", "judgment", "recover", "thunderbolt"] + "role": "Bulky Setup", + "movepool": ["calmmind", "earthpower", "energyball", "judgment", "recover"] }, { "role": "Z-Move user", - "movepool": ["calmmind", "earthpower", "fireblast", "icebeam", "recover", "thunderbolt"] + "movepool": ["calmmind", "earthpower", "energyball", "fireblast", "recover"] } ] }, @@ -3939,15 +4065,18 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["defog", "earthquake", "fireblast", "icebeam", "recover", "sludgebomb"] + "movepool": ["defog", "earthquake", "icebeam", "recover", "sludgebomb"], + "preferredTypes": ["Ground"] }, { "role": "Setup Sweeper", - "movepool": ["calmmind", "earthpower", "fireblast", "icebeam", "recover", "sludgebomb"] + "movepool": ["calmmind", "earthpower", "icebeam", "recover", "sludgebomb"], + "preferredTypes": ["Ground"] }, { "role": "Z-Move user", - "movepool": ["calmmind", "earthpower", "fireblast", "icebeam", "recover", "sludgebomb"] + "movepool": ["calmmind", "earthpower", "icebeam", "recover", "sludgebomb"], + "preferredTypes": ["Ground"] } ] }, @@ -3997,12 +4126,12 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["calmmind", "defog", "icebeam", "judgment", "recover", "toxic", "willowisp"] + "movepool": ["calmmind", "icebeam", "judgment", "recover", "toxic"] } ] }, "victini": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Attacker", @@ -4010,7 +4139,8 @@ }, { "role": "AV Pivot", - "movepool": ["boltstrike", "energyball", "focusblast", "psychic", "uturn", "vcreate"] + "movepool": ["boltstrike", "energyball", "focusblast", "glaciate", "psychic", "uturn", "vcreate"], + "preferredTypes": ["Electric"] }, { "role": "Z-Move user", @@ -4025,11 +4155,6 @@ { "role": "Fast Support", "movepool": ["defog", "dragonpulse", "glare", "hiddenpowerfire", "leafstorm", "leechseed", "substitute"] - }, - { - "role": "Z-Move user", - "movepool": ["glare", "hiddenpowerfire", "hyperbeam", "leafstorm"], - "preferredTypes": ["Normal"] } ] }, @@ -4042,16 +4167,16 @@ }, { "role": "AV Pivot", - "movepool": ["fireblast", "grassknot", "suckerpunch", "superpower", "wildcharge"] + "movepool": ["flareblitz", "grassknot", "suckerpunch", "superpower", "wildcharge"] } ] }, "samurott": { - "level": 86, + "level": 87, "sets": [ { "role": "AV Pivot", - "movepool": ["aquajet", "grassknot", "hydropump", "icebeam", "knockoff", "megahorn", "sacredsword"] + "movepool": ["aquajet", "grassknot", "hydropump", "icebeam", "knockoff", "megahorn", "sacredsword", "scald"] }, { "role": "Fast Attacker", @@ -4060,7 +4185,7 @@ ] }, "watchog": { - "level": 93, + "level": 94, "sets": [ { "role": "Bulky Attacker", @@ -4074,7 +4199,7 @@ ] }, "stoutland": { - "level": 88, + "level": 87, "sets": [ { "role": "Fast Attacker", @@ -4107,7 +4232,7 @@ ] }, "simisear": { - "level": 88, + "level": 89, "sets": [ { "role": "Setup Sweeper", @@ -4116,7 +4241,7 @@ ] }, "simipour": { - "level": 87, + "level": 88, "sets": [ { "role": "Setup Sweeper", @@ -4139,7 +4264,7 @@ ] }, "unfezant": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Attacker", @@ -4152,7 +4277,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["hiddenpowergrass", "hiddenpowerice", "overheat", "thunderbolt", "voltswitch", "wildcharge"] + "movepool": ["hiddenpowerice", "overheat", "thunderbolt", "voltswitch", "wildcharge"] } ] }, @@ -4160,7 +4285,7 @@ "level": 83, "sets": [ { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["earthquake", "explosion", "stealthrock", "stoneedge", "superpower"] } ] @@ -4200,21 +4325,17 @@ "level": 92, "sets": [ { - "role": "Bulky Support", - "movepool": ["dazzlinggleam", "healbell", "protect", "toxic", "wish"] - }, - { - "role": "Bulky Attacker", - "movepool": ["dazzlinggleam", "fireblast", "knockoff", "protect", "wish"] + "role": "Staller", + "movepool": ["dazzlinggleam", "protect", "toxic", "wish"] }, { - "role": "Bulky Setup", - "movepool": ["calmmind", "dazzlinggleam", "protect", "wish"] + "role": "Bulky Support", + "movepool": ["calmmind", "dazzlinggleam", "fireblast", "protect", "wish"] } ] }, "gurdurr": { - "level": 88, + "level": 87, "sets": [ { "role": "Bulky Setup", @@ -4232,7 +4353,7 @@ ] }, "seismitoad": { - "level": 86, + "level": 85, "sets": [ { "role": "Setup Sweeper", @@ -4241,11 +4362,15 @@ { "role": "Bulky Support", "movepool": ["earthquake", "knockoff", "scald", "stealthrock", "toxic"] + }, + { + "role": "Staller", + "movepool": ["earthquake", "protect", "scald", "toxic"] } ] }, "throh": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Setup", @@ -4258,11 +4383,11 @@ ] }, "sawk": { - "level": 87, + "level": 86, "sets": [ { "role": "Fast Attacker", - "movepool": ["bulkup", "closecombat", "earthquake", "icepunch", "knockoff", "poisonjab", "stoneedge"], + "movepool": ["bulkup", "closecombat", "earthquake", "knockoff", "poisonjab", "stoneedge"], "preferredTypes": ["Dark"] } ] @@ -4276,16 +4401,16 @@ }, { "role": "Fast Support", - "movepool": ["healbell", "knockoff", "leafblade", "stickyweb", "xscissor"] + "movepool": ["knockoff", "leafblade", "stickyweb", "toxic", "xscissor"] } ] }, "scolipede": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Support", - "movepool": ["earthquake", "megahorn", "poisonjab", "protect", "spikes", "toxicspikes"] + "movepool": ["earthquake", "megahorn", "poisonjab", "spikes", "toxicspikes"] }, { "role": "Setup Sweeper", @@ -4324,17 +4449,8 @@ } ] }, - "basculinbluestriped": { - "level": 86, - "sets": [ - { - "role": "Bulky Attacker", - "movepool": ["aquajet", "crunch", "headsmash", "liquidation", "superpower"] - } - ] - }, "krookodile": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", @@ -4352,15 +4468,15 @@ ] }, "maractus": { - "level": 94, + "level": 97, "sets": [ { "role": "Fast Support", - "movepool": ["gigadrain", "hiddenpowerfire", "knockoff", "spikes", "suckerpunch", "toxic"] + "movepool": ["gigadrain", "hiddenpowerfire", "knockoff", "spikes", "suckerpunch", "synthesis", "toxic"] }, { "role": "Staller", - "movepool": ["gigadrain", "leechseed", "spikyshield", "toxic"] + "movepool": ["gigadrain", "hiddenpowerfire", "hiddenpowerice", "leechseed", "spikyshield"] } ] }, @@ -4379,16 +4495,16 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["dragondance", "highjumpkick", "icepunch", "knockoff", "poisonjab"] + "movepool": ["dragondance", "highjumpkick", "ironhead", "knockoff"] }, { "role": "Bulky Setup", - "movepool": ["bulkup", "drainpunch", "highjumpkick", "knockoff", "rest"] + "movepool": ["bulkup", "drainpunch", "knockoff", "rest"] } ] }, "sigilyph": { - "level": 86, + "level": 85, "sets": [ { "role": "Bulky Attacker", @@ -4424,7 +4540,7 @@ ] }, "archeops": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Support", @@ -4450,14 +4566,14 @@ "level": 84, "sets": [ { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["darkpulse", "flamethrower", "focusblast", "nastyplot", "sludgebomb", "trick", "uturn"], "preferredTypes": ["Poison"] } ] }, "cinccino": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", @@ -4466,7 +4582,7 @@ ] }, "gothitelle": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Attacker", @@ -4484,10 +4600,6 @@ { "role": "Wallbreaker", "movepool": ["focusblast", "psychic", "psyshock", "shadowball", "trickroom"] - }, - { - "role": "AV Pivot", - "movepool": ["focusblast", "futuresight", "knockoff", "psychic", "shadowball"] } ] }, @@ -4496,11 +4608,11 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["bravebird", "defog", "icebeam", "roost", "scald"] + "movepool": ["bravebird", "defog", "roost", "scald", "toxic"] }, { "role": "Z-Move user", - "movepool": ["hurricane", "icebeam", "raindance", "rest", "scald"], + "movepool": ["hurricane", "raindance", "rest", "scald"], "preferredTypes": ["Water"] } ] @@ -4510,11 +4622,13 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["autotomize", "blizzard", "explosion", "flashcannon", "freezedry", "hiddenpowerground"] + "movepool": ["autotomize", "blizzard", "explosion", "flashcannon", "freezedry", "hiddenpowerground"], + "preferredTypes": ["Ground"] }, { "role": "AV Pivot", - "movepool": ["blizzard", "explosion", "flashcannon", "freezedry", "hiddenpowerground"] + "movepool": ["blizzard", "explosion", "flashcannon", "freezedry", "hiddenpowerground"], + "preferredTypes": ["Ground"] } ] }, @@ -4523,13 +4637,13 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["hornleech", "jumpkick", "return", "substitute", "swordsdance"], + "movepool": ["headbutt", "hornleech", "jumpkick", "return", "substitute", "swordsdance"], "preferredTypes": ["Normal"] } ] }, "emolga": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -4551,7 +4665,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["clearsmog", "foulplay", "gigadrain", "hiddenpowerfire", "sludgebomb", "spore"] + "movepool": ["clearsmog", "foulplay", "gigadrain", "sludgebomb", "spore", "stompingtantrum"] }, { "role": "Bulky Support", @@ -4573,7 +4687,7 @@ ] }, "alomomola": { - "level": 86, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -4585,14 +4699,14 @@ "level": 82, "sets": [ { - "role": "Fast Attacker", - "movepool": ["bugbuzz", "gigadrain", "hiddenpowerice", "stickyweb", "thunder", "voltswitch"], + "role": "Wallbreaker", + "movepool": ["bugbuzz", "gigadrain", "stickyweb", "thunder", "voltswitch"], "preferredTypes": ["Bug"] } ] }, "ferrothorn": { - "level": 76, + "level": 74, "sets": [ { "role": "Bulky Attacker", @@ -4623,12 +4737,12 @@ "sets": [ { "role": "AV Pivot", - "movepool": ["acidspray", "flamethrower", "gigadrain", "hiddenpowerice", "knockoff", "superpower", "thunderbolt", "uturn"] + "movepool": ["flamethrower", "gigadrain", "hiddenpowerice", "knockoff", "superpower", "thunderbolt", "uturn"] } ] }, "beheeyem": { - "level": 89, + "level": 92, "sets": [ { "role": "Wallbreaker", @@ -4650,22 +4764,22 @@ ] }, "haxorus": { - "level": 79, + "level": 76, "sets": [ { "role": "Setup Sweeper", - "movepool": ["dragondance", "earthquake", "outrage", "poisonjab", "swordsdance", "taunt"], + "movepool": ["dragondance", "earthquake", "outrage", "poisonjab", "taunt"], "preferredTypes": ["Ground"] }, { "role": "Z-Move user", - "movepool": ["dragondance", "earthquake", "outrage", "poisonjab", "swordsdance"], + "movepool": ["dragondance", "earthquake", "outrage", "poisonjab"], "preferredTypes": ["Dragon"] } ] }, "beartic": { - "level": 89, + "level": 91, "sets": [ { "role": "Wallbreaker", @@ -4684,16 +4798,16 @@ ] }, "accelgor": { - "level": 89, + "level": 90, "sets": [ { "role": "Fast Support", - "movepool": ["bugbuzz", "encore", "energyball", "focusblast", "hiddenpowerrock", "spikes", "toxicspikes", "yawn"] + "movepool": ["bugbuzz", "encore", "focusblast", "hiddenpowerground", "hiddenpowerrock", "spikes", "toxicspikes", "uturn"] } ] }, "stunfisk": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -4709,7 +4823,7 @@ "level": 84, "sets": [ { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["highjumpkick", "knockoff", "poisonjab", "stoneedge", "swordsdance", "uturn"], "preferredTypes": ["Dark"] }, @@ -4766,7 +4880,7 @@ ] }, "braviary": { - "level": 86, + "level": 84, "sets": [ { "role": "Bulky Attacker", @@ -4792,7 +4906,7 @@ ] }, "heatmor": { - "level": 89, + "level": 91, "sets": [ { "role": "Wallbreaker", @@ -4801,11 +4915,12 @@ ] }, "durant": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Attacker", - "movepool": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"] + "movepool": ["honeclaws", "ironhead", "rockslide", "superpower", "xscissor"], + "preferredTypes": ["Fighting"] } ] }, @@ -4828,7 +4943,7 @@ ] }, "volcarona": { - "level": 77, + "level": 76, "sets": [ { "role": "Setup Sweeper", @@ -4836,8 +4951,8 @@ }, { "role": "Z-Move user", - "movepool": ["bugbuzz", "fireblast", "gigadrain", "hurricane", "quiverdance", "roost"], - "preferredTypes": ["Bug", "Fire", "Flying"] + "movepool": ["bugbuzz", "fireblast", "gigadrain", "quiverdance", "roost"], + "preferredTypes": ["Bug", "Fire"] } ] }, @@ -4846,8 +4961,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["closecombat", "ironhead", "stealthrock", "stoneedge", "swordsdance", "voltswitch"], - "preferredTypes": ["Steel"] + "movepool": ["closecombat", "ironhead", "stealthrock", "stoneedge", "swordsdance"] }, { "role": "Z-Move user", @@ -4857,7 +4971,7 @@ ] }, "terrakion": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Attacker", @@ -4921,12 +5035,12 @@ }, { "role": "Fast Attacker", - "movepool": ["focusblast", "hiddenpowerflying", "hiddenpowerice", "knockoff", "taunt", "thunderbolt", "thunderwave"] + "movepool": ["hiddenpowerflying", "hiddenpowerice", "knockoff", "superpower", "taunt", "thunderbolt", "thunderwave"] } ] }, "thundurustherian": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", @@ -4935,7 +5049,7 @@ ] }, "reshiram": { - "level": 76, + "level": 75, "sets": [ { "role": "Bulky Attacker", @@ -4944,7 +5058,7 @@ ] }, "zekrom": { - "level": 75, + "level": 74, "sets": [ { "role": "Setup Sweeper", @@ -4976,7 +5090,7 @@ ] }, "landorustherian": { - "level": 78, + "level": 76, "sets": [ { "role": "Bulky Attacker", @@ -5026,7 +5140,7 @@ ] }, "kyuremwhite": { - "level": 77, + "level": 76, "sets": [ { "role": "Fast Attacker", @@ -5048,29 +5162,28 @@ ] }, "meloetta": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", "movepool": ["calmmind", "focusblast", "hypervoice", "psyshock", "uturn"] - } - ] - }, - "meloettapirouette": { - "level": 83, - "sets": [ + }, { - "role": "AV Pivot", + "role": "Wallbreaker", "movepool": ["closecombat", "knockoff", "relicsong", "return"] } ] }, "genesect": { - "level": 76, + "level": 75, "sets": [ { "role": "Setup Sweeper", - "movepool": ["blazekick", "extremespeed", "ironhead", "shiftgear", "thunderbolt", "xscissor"] + "movepool": ["blazekick", "ironhead", "shiftgear", "thunderbolt", "xscissor"] + }, + { + "role": "Wallbreaker", + "movepool": ["blazekick", "extremespeed", "ironhead", "uturn"] }, { "role": "Fast Attacker", @@ -5079,22 +5192,12 @@ } ] }, - "genesectdouse": { - "level": 76, - "sets": [ - { - "role": "Wallbreaker", - "movepool": ["bugbuzz", "extremespeed", "flamethrower", "icebeam", "ironhead", "technoblast", "thunderbolt", "uturn"], - "preferredTypes": ["Water"] - } - ] - }, "chesnaught": { - "level": 86, + "level": 88, "sets": [ { "role": "Bulky Support", - "movepool": ["drainpunch", "leechseed", "spikes", "synthesis", "woodhammer"] + "movepool": ["bulkup", "drainpunch", "spikes", "synthesis", "toxic", "woodhammer"] }, { "role": "Staller", @@ -5130,7 +5233,7 @@ ] }, "diggersby": { - "level": 84, + "level": 83, "sets": [ { "role": "Setup Sweeper", @@ -5163,7 +5266,11 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["energyball", "hurricane", "quiverdance", "sleeppowder", "substitute"] + "movepool": ["energyball", "hurricane", "quiverdance", "sleeppowder"] + }, + { + "role": "Bulky Attacker", + "movepool": ["bugbuzz", "hurricane", "quiverdance", "sleeppowder"] } ] }, @@ -5201,6 +5308,10 @@ { "role": "Staller", "movepool": ["moonblast", "protect", "toxic", "wish"] + }, + { + "role": "Bulky Setup", + "movepool": ["calmmind", "hiddenpowerground", "moonblast", "synthesis"] } ] }, @@ -5208,13 +5319,13 @@ "level": 89, "sets": [ { - "role": "Bulky Setup", - "movepool": ["bulkup", "earthquake", "hornleech", "milkdrink"] + "role": "Bulky Attacker", + "movepool": ["bulkup", "earthquake", "hornleech", "milkdrink", "toxic"] } ] }, "pangoro": { - "level": 86, + "level": 87, "sets": [ { "role": "Wallbreaker", @@ -5228,7 +5339,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["rest", "return", "suckerpunch", "thunderwave", "toxic", "uturn"] + "movepool": ["darkpulse", "rest", "return", "thunderwave", "toxic", "uturn"] }, { "role": "Staller", @@ -5241,16 +5352,16 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["healbell", "lightscreen", "psychic", "reflect", "thunderwave", "toxic", "yawn"] + "movepool": ["healbell", "lightscreen", "psychic", "reflect", "signalbeam", "thunderwave", "toxic", "yawn"] } ] }, "meowsticf": { - "level": 88, + "level": 89, "sets": [ { "role": "Fast Attacker", - "movepool": ["calmmind", "energyball", "psychic", "psyshock", "shadowball", "signalbeam", "thunderbolt"] + "movepool": ["calmmind", "darkpulse", "psychic", "psyshock", "signalbeam", "thunderbolt"] } ] }, @@ -5260,10 +5371,6 @@ { "role": "Bulky Setup", "movepool": ["ironhead", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"] - }, - { - "role": "Staller", - "movepool": ["ironhead", "sacredsword", "shadowclaw", "shadowsneak", "toxic"] } ] }, @@ -5273,15 +5380,11 @@ { "role": "Staller", "movepool": ["ironhead", "kingsshield", "shadowball", "substitute", "toxic"] - } - ] - }, - "aegislashblade": { - "level": 78, - "sets": [ + }, { "role": "Setup Sweeper", - "movepool": ["ironhead", "kingsshield", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"] + "movepool": ["ironhead", "kingsshield", "sacredsword", "shadowclaw", "shadowsneak", "swordsdance"], + "preferredTypes": ["Steel"] } ] }, @@ -5304,7 +5407,7 @@ ] }, "malamar": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Attacker", @@ -5327,11 +5430,15 @@ ] }, "dragalge": { - "level": 86, + "level": 87, "sets": [ { "role": "Bulky Attacker", - "movepool": ["dracometeor", "focusblast", "hiddenpowerfire", "scald", "sludgewave", "toxicspikes"] + "movepool": ["dracometeor", "focusblast", "sludgewave", "toxicspikes"] + }, + { + "role": "Wallbreaker", + "movepool": ["dracometeor", "dragonpulse", "focusblast", "sludgewave"] } ] }, @@ -5349,7 +5456,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["darkpulse", "glare", "hiddenpowerice", "hypervoice", "surf", "thunderbolt", "voltswitch"], + "movepool": ["darkpulse", "glare", "hypervoice", "surf", "thunderbolt", "voltswitch"], "preferredTypes": ["Normal"] }, { @@ -5359,7 +5466,7 @@ ] }, "tyrantrum": { - "level": 84, + "level": 82, "sets": [ { "role": "Fast Attacker", @@ -5409,16 +5516,20 @@ ] }, "dedenne": { - "level": 88, + "level": 90, "sets": [ { - "role": "Staller", + "role": "Bulky Support", "movepool": ["protect", "recycle", "thunderbolt", "toxic"] + }, + { + "role": "Staller", + "movepool": ["recycle", "substitute", "superfang", "thunderbolt", "toxic", "uturn"] } ] }, "carbink": { - "level": 88, + "level": 90, "sets": [ { "role": "Bulky Support", @@ -5440,7 +5551,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["dazzlinggleam", "foulplay", "spikes", "thunderwave", "toxic"] + "movepool": ["dazzlinggleam", "foulplay", "spikes", "thunderwave"] }, { "role": "Bulky Attacker", @@ -5449,7 +5560,7 @@ ] }, "trevenant": { - "level": 89, + "level": 90, "sets": [ { "role": "Wallbreaker", @@ -5457,12 +5568,12 @@ }, { "role": "Staller", - "movepool": ["leechseed", "protect", "shadowclaw", "substitute"] + "movepool": ["earthquake", "hornleech", "protect", "toxic"] } ] }, "gourgeistsmall": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -5471,7 +5582,7 @@ ] }, "gourgeistlarge": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -5498,7 +5609,7 @@ ] }, "avalugg": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -5529,15 +5640,11 @@ ] }, "yveltal": { - "level": 71, + "level": 70, "sets": [ { "role": "Bulky Support", - "movepool": ["foulplay", "knockoff", "oblivionwing", "roost", "suckerpunch", "taunt", "toxic", "uturn"] - }, - { - "role": "Bulky Attacker", - "movepool": ["darkpulse", "focusblast", "knockoff", "oblivionwing", "suckerpunch", "uturn"] + "movepool": ["knockoff", "oblivionwing", "roost", "suckerpunch", "taunt", "toxic", "uturn"] } ] }, @@ -5559,34 +5666,34 @@ "sets": [ { "role": "Bulky Attacker", + "movepool": ["extremespeed", "irontail", "outrage", "thousandarrows"] + }, + { + "role": "Setup Sweeper", "movepool": ["coil", "extremespeed", "irontail", "outrage", "thousandarrows"] }, { "role": "Z-Move user", - "movepool": ["coil", "extremespeed", "outrage", "thousandarrows"], + "movepool": ["coil", "extremespeed", "irontail", "outrage", "thousandarrows"], "preferredTypes": ["Dragon"] } ] }, "diancie": { - "level": 84, + "level": 82, "sets": [ { "role": "Bulky Support", - "movepool": ["diamondstorm", "earthpower", "healbell", "lightscreen", "moonblast", "reflect", "stealthrock", "toxic"] + "movepool": ["diamondstorm", "earthpower", "healbell", "moonblast", "stealthrock", "toxic"] } ] }, "dianciemega": { - "level": 77, + "level": 76, "sets": [ { "role": "Fast Attacker", - "movepool": ["diamondstorm", "earthpower", "hiddenpowerfire", "moonblast", "stealthrock"] - }, - { - "role": "Setup Sweeper", - "movepool": ["calmmind", "earthpower", "hiddenpowerfire", "moonblast", "powergem"] + "movepool": ["calmmind", "diamondstorm", "earthpower", "moonblast", "stealthrock"] } ] }, @@ -5600,11 +5707,11 @@ ] }, "hoopaunbound": { - "level": 82, + "level": 81, "sets": [ { "role": "Wallbreaker", - "movepool": ["drainpunch", "gunkshot", "hyperspacefury", "icepunch", "trick", "zenheadbutt"], + "movepool": ["drainpunch", "gunkshot", "hyperspacefury", "trick", "zenheadbutt"], "preferredTypes": ["Psychic"] }, { @@ -5615,11 +5722,11 @@ ] }, "volcanion": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Attacker", - "movepool": ["defog", "earthpower", "fireblast", "sludgebomb", "steameruption", "substitute", "superpower"] + "movepool": ["defog", "earthpower", "fireblast", "sludgebomb", "steameruption", "superpower", "toxic"] } ] }, @@ -5637,7 +5744,7 @@ ] }, "incineroar": { - "level": 84, + "level": 83, "sets": [ { "role": "AV Pivot", @@ -5668,11 +5775,11 @@ ] }, "gumshoos": { - "level": 90, + "level": 93, "sets": [ { "role": "Wallbreaker", - "movepool": ["crunch", "earthquake", "firepunch", "return", "uturn"] + "movepool": ["crunch", "earthquake", "return", "uturn"] } ] }, @@ -5681,8 +5788,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["agility", "bugbuzz", "energyball", "hiddenpowerice", "thunderbolt", "voltswitch"], - "preferredTypes": ["Bug"] + "movepool": ["agility", "bugbuzz", "energyball", "thunderbolt", "voltswitch"] }, { "role": "Bulky Attacker", @@ -5692,7 +5798,7 @@ ] }, "crabominable": { - "level": 88, + "level": 89, "sets": [ { "role": "Wallbreaker", @@ -5701,7 +5807,7 @@ ] }, "oricorio": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -5728,7 +5834,7 @@ ] }, "oricoriosensu": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Attacker", @@ -5769,11 +5875,11 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["firepunch", "stealthrock", "stoneedge", "suckerpunch", "swordsdance"] + "movepool": ["stealthrock", "stompingtantrum", "stoneedge", "suckerpunch", "swordsdance"] }, { "role": "Z-Move user", - "movepool": ["firepunch", "stoneedge", "suckerpunch", "swordsdance"] + "movepool": ["stompingtantrum", "stoneedge", "suckerpunch", "swordsdance"] } ] }, @@ -5792,8 +5898,8 @@ } ] }, - "wishiwashischool": { - "level": 87, + "wishiwashi": { + "level": 89, "sets": [ { "role": "AV Pivot", @@ -5807,7 +5913,7 @@ ] }, "toxapex": { - "level": 81, + "level": 80, "sets": [ { "role": "Bulky Support", @@ -5823,13 +5929,13 @@ "level": 84, "sets": [ { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["closecombat", "earthquake", "heavyslam", "rockslide", "stealthrock"] } ] }, "araquanid": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Support", @@ -5852,11 +5958,11 @@ ] }, "shiinotic": { - "level": 89, + "level": 91, "sets": [ { "role": "Bulky Support", - "movepool": ["gigadrain", "leechseed", "moonblast", "spore", "strengthsap"] + "movepool": ["gigadrain", "hiddenpowerground", "leechseed", "moonblast", "spore", "strengthsap"] } ] }, @@ -5877,10 +5983,17 @@ "bewear": { "level": 85, "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["doubleedge", "return", "shadowclaw", "superpower", "swordsdance"] + }, { "role": "Fast Attacker", - "movepool": ["doubleedge", "icepunch", "return", "shadowclaw", "superpower", "swordsdance"], - "preferredTypes": ["Normal"] + "movepool": ["doubleedge", "drainpunch", "shadowclaw", "superpower"] + }, + { + "role": "Bulky Setup", + "movepool": ["bulkup", "doubleedge", "drainpunch", "return", "shadowclaw"] } ] }, @@ -5902,27 +6015,36 @@ "movepool": ["aromatherapy", "defog", "drainingkiss", "synthesis", "toxic", "uturn"] }, { - "role": "Setup Sweeper", + "role": "Bulky Setup", "movepool": ["calmmind", "drainingkiss", "gigadrain", "hiddenpowerground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "drainingkiss", "gigadrain", "hiddenpowerground", "synthesis"], + "preferredTypes": ["Ground"] } ] }, "oranguru": { - "level": 90, + "level": 93, "sets": [ { "role": "Wallbreaker", - "movepool": ["focusblast", "nastyplot", "psyshock", "thunderbolt", "trickroom"] + "movepool": ["focusblast", "nastyplot", "naturepower", "psychic", "psyshock", "thunderbolt", "trick"] } ] }, "passimian": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", "movepool": ["closecombat", "earthquake", "gunkshot", "knockoff", "rockslide", "uturn"], "preferredTypes": ["Dark"] + }, + { + "role": "Bulky Setup", + "movepool": ["bulkup", "drainpunch", "gunkshot", "knockoff"] } ] }, @@ -5945,7 +6067,7 @@ ] }, "pyukumuku": { - "level": 88, + "level": 91, "sets": [ { "role": "Bulky Support", @@ -5969,10 +6091,6 @@ "silvally": { "level": 87, "sets": [ - { - "role": "Bulky Attacker", - "movepool": ["crunch", "explosion", "flamethrower", "icebeam", "return", "surf", "uturn"] - }, { "role": "Setup Sweeper", "movepool": ["crunch", "doubleedge", "explosion", "flamecharge", "ironhead", "return", "swordsdance"], @@ -5985,7 +6103,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "icebeam", "thunderbolt", "uturn"] + "movepool": ["defog", "flamethrower", "icebeam", "thunderbolt", "toxic", "uturn"] } ] }, @@ -6003,11 +6121,11 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "dracometeor", "flamethrower", "ironhead", "partingshot"] + "movepool": ["defog", "dracometeor", "flamethrower", "ironhead", "partingshot", "toxic", "uturn"] }, { "role": "Setup Sweeper", - "movepool": ["flamecharge", "ironhead", "multiattack", "swordsdance"] + "movepool": ["flamecharge", "ironhead", "outrage", "swordsdance"] } ] }, @@ -6016,7 +6134,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic"], + "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic", "uturn"], "preferredTypes": ["Ice"] } ] @@ -6026,7 +6144,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "multiattack", "partingshot", "rockslide", "thunderwave"] + "movepool": ["defog", "flamethrower", "multiattack", "partingshot", "surf", "toxic", "uturn"] } ] }, @@ -6035,12 +6153,12 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "shadowball", "toxic"] + "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "shadowball", "toxic", "uturn"] }, { "role": "Setup Sweeper", - "movepool": ["flamecharge", "ironhead", "multiattack", "shadowclaw", "swordsdance"], - "preferredTypes": ["Ghost"] + "movepool": ["crunch", "flamecharge", "ironhead", "multiattack", "rockslide", "swordsdance"], + "preferredTypes": ["Dark"] } ] }, @@ -6049,7 +6167,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "icebeam", "multiattack", "surf", "thunderbolt", "toxic", "uturn"] + "movepool": ["defog", "icebeam", "multiattack", "partingshot", "surf", "thunderbolt", "toxic", "uturn"] } ] }, @@ -6058,7 +6176,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "ironhead", "multiattack", "partingshot", "thunderwave"] + "movepool": ["defog", "flamethrower", "ironhead", "multiattack", "partingshot", "toxic", "uturn"] } ] }, @@ -6067,7 +6185,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic"] + "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic", "uturn"] }, { "role": "Setup Sweeper", @@ -6080,7 +6198,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic"] + "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic", "uturn"] } ] }, @@ -6089,7 +6207,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic"] + "movepool": ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic", "uturn"] }, { "role": "Setup Sweeper", @@ -6102,7 +6220,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "multiattack", "thunderbolt", "toxic", "uturn"], + "movepool": ["defog", "flamethrower", "multiattack", "partingshot", "thunderbolt", "toxic", "uturn"], "preferredTypes": ["Electric"] } ] @@ -6112,7 +6230,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "grasspledge", "multiattack", "partingshot", "surf", "toxic"] + "movepool": ["defog", "flamethrower", "multiattack", "partingshot", "surf", "toxic", "uturn"] } ] }, @@ -6121,7 +6239,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "multiattack", "toxic", "uturn"] + "movepool": ["defog", "flamethrower", "multiattack", "partingshot", "toxic", "uturn"] } ] }, @@ -6130,7 +6248,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "grasspledge", "multiattack", "partingshot", "toxic"] + "movepool": ["defog", "flamethrower", "grasspledge", "multiattack", "partingshot", "toxic", "uturn"] } ] }, @@ -6139,7 +6257,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "flamethrower", "multiattack", "partingshot", "thunderbolt", "toxic"] + "movepool": ["defog", "flamethrower", "multiattack", "partingshot", "thunderbolt", "toxic", "uturn"] } ] }, @@ -6148,12 +6266,12 @@ "sets": [ { "role": "Fast Support", - "movepool": ["defog", "icebeam", "multiattack", "partingshot", "thunderbolt"] + "movepool": ["defog", "icebeam", "multiattack", "partingshot", "thunderbolt", "toxic", "uturn"] } ] }, "minior": { - "level": 81, + "level": 80, "sets": [ { "role": "Setup Sweeper", @@ -6172,7 +6290,7 @@ ] }, "turtonator": { - "level": 87, + "level": 88, "sets": [ { "role": "AV Pivot", @@ -6203,15 +6321,15 @@ ] }, "mimikyu": { - "level": 75, + "level": 74, "sets": [ { "role": "Setup Sweeper", - "movepool": ["drainpunch", "playrough", "shadowclaw", "shadowsneak", "swordsdance", "taunt"] + "movepool": ["drainpunch", "playrough", "shadowclaw", "shadowsneak", "swordsdance"] }, { "role": "Z-Move user", - "movepool": ["drainpunch", "playrough", "shadowclaw", "shadowsneak", "swordsdance", "taunt"] + "movepool": ["drainpunch", "playrough", "shadowclaw", "shadowsneak", "swordsdance"] } ] }, @@ -6225,7 +6343,7 @@ ] }, "drampa": { - "level": 91, + "level": 92, "sets": [ { "role": "Wallbreaker", @@ -6239,7 +6357,7 @@ ] }, "dhelmise": { - "level": 88, + "level": 90, "sets": [ { "role": "Fast Support", @@ -6249,16 +6367,16 @@ ] }, "kommoo": { - "level": 76, + "level": 75, "sets": [ { "role": "Z-Move user", - "movepool": ["clangingscales", "closecombat", "dragondance", "poisonjab"], + "movepool": ["clangingscales", "closecombat", "dragondance", "ironhead"], "preferredTypes": ["Dragon"] }, { "role": "Setup Sweeper", - "movepool": ["closecombat", "dragondance", "outrage", "poisonjab"] + "movepool": ["closecombat", "dragondance", "ironhead", "outrage"] } ] }, @@ -6277,11 +6395,15 @@ ] }, "tapulele": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Attacker", - "movepool": ["calmmind", "focusblast", "hiddenpowerfire", "moonblast", "psychic", "psyshock"] + "movepool": ["focusblast", "moonblast", "psychic", "psyshock"] + }, + { + "role": "Setup Sweeper", + "movepool": ["calmmind", "focusblast", "moonblast", "psychic", "psyshock"] } ] }, @@ -6299,12 +6421,12 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["calmmind", "hydropump", "icebeam", "moonblast", "scald", "taunt"] + "movepool": ["calmmind", "hydropump", "icebeam", "moonblast", "surf", "taunt"] } ] }, "solgaleo": { - "level": 75, + "level": 74, "sets": [ { "role": "Bulky Attacker", @@ -6321,7 +6443,7 @@ ] }, "lunala": { - "level": 73, + "level": 72, "sets": [ { "role": "Bulky Attacker", @@ -6338,7 +6460,8 @@ "sets": [ { "role": "Fast Support", - "movepool": ["grassknot", "hiddenpowerfire", "hiddenpowerground", "powergem", "sludgewave", "stealthrock", "thunderbolt", "toxicspikes"] + "movepool": ["grassknot", "hiddenpowerfire", "hiddenpowerground", "powergem", "sludgewave", "stealthrock", "thunderbolt", "toxicspikes"], + "preferredTypes": ["Rock"] } ] }, @@ -6347,7 +6470,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["drainpunch", "earthquake", "leechlife", "poisonjab", "stoneedge", "superpower"] + "movepool": ["drainpunch", "earthquake", "ironhead", "leechlife", "stoneedge", "superpower"] }, { "role": "Bulky Attacker", @@ -6391,12 +6514,12 @@ }, { "role": "Bulky Setup", - "movepool": ["airslash", "autotomize", "earthquake", "fireblast", "flashcannon"] + "movepool": ["airslash", "autotomize", "earthquake", "fireblast", "heavyslam"] } ] }, "kartana": { - "level": 76, + "level": 74, "sets": [ { "role": "Fast Attacker", @@ -6419,7 +6542,7 @@ ] }, "necrozma": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Attacker", @@ -6429,11 +6552,15 @@ "role": "Z-Move user", "movepool": ["calmmind", "heatwave", "moonlight", "photongeyser"], "preferredTypes": ["Psychic"] + }, + { + "role": "Fast Attacker", + "movepool": ["earthquake", "knockoff", "photongeyser", "swordsdance"] } ] }, "necrozmaduskmane": { - "level": 69, + "level": 68, "sets": [ { "role": "Bulky Setup", @@ -6452,16 +6579,16 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["autotomize", "calmmind", "heatwave", "moongeistbeam", "photongeyser", "powergem"] + "movepool": ["autotomize", "calmmind", "heatwave", "moongeistbeam", "photongeyser", "signalbeam"] }, { "role": "Z-Move user", - "movepool": ["autotomize", "calmmind", "heatwave", "moongeistbeam", "photongeyser", "powergem"] + "movepool": ["autotomize", "calmmind", "heatwave", "moongeistbeam", "photongeyser", "signalbeam"] } ] }, "magearna": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Attacker", @@ -6473,26 +6600,26 @@ }, { "role": "Z-Move user", - "movepool": ["aurasphere", "fleurcannon", "ironhead", "shiftgear", "thunderbolt"], + "movepool": ["aurasphere", "fleurcannon", "ironhead", "shiftgear"], "preferredTypes": ["Fairy", "Steel"] } ] }, "marshadow": { - "level": 71, + "level": 70, "sets": [ { "role": "Fast Attacker", - "movepool": ["bulkup", "closecombat", "icepunch", "rocktomb", "shadowsneak", "spectralthief"] + "movepool": ["bulkup", "closecombat", "rocktomb", "shadowsneak", "spectralthief"] }, { "role": "Z-Move user", - "movepool": ["bulkup", "closecombat", "icepunch", "rocktomb", "shadowsneak", "spectralthief"] + "movepool": ["bulkup", "closecombat", "rocktomb", "shadowsneak", "spectralthief"] } ] }, "naganadel": { - "level": 76, + "level": 75, "sets": [ { "role": "Fast Attacker", @@ -6533,7 +6660,7 @@ ] }, "zeraora": { - "level": 79, + "level": 78, "sets": [ { "role": "Setup Sweeper", diff --git a/data/mods/gen7/random-teams.ts b/data/random-battles/gen7/teams.ts similarity index 87% rename from data/mods/gen7/random-teams.ts rename to data/random-battles/gen7/teams.ts index 4582350c6d80..b222f50c02bd 100644 --- a/data/mods/gen7/random-teams.ts +++ b/data/random-battles/gen7/teams.ts @@ -1,4 +1,4 @@ -import {MoveCounter, TeamData, RandomGen8Teams} from '../gen8/random-teams'; +import {MoveCounter, TeamData, RandomGen8Teams} from '../gen8/teams'; import {PRNG, PRNGSeed} from '../../../sim/prng'; import {Utils} from '../../../lib'; import {toID} from '../../../sim/dex'; @@ -92,14 +92,14 @@ const MOVE_PAIRS = [ /** Pokemon who always want priority STAB, and are fine with it as its only STAB move of that type */ const PRIORITY_POKEMON = [ - 'aegislashblade', 'banette', 'breloom', 'cacturne', 'doublade', 'dusknoir', 'golisopod', 'honchkrow', 'mimikyu', 'scizor', 'scizormega', 'shedinja', + 'aegislash', 'banette', 'breloom', 'cacturne', 'doublade', 'dusknoir', 'golisopod', 'honchkrow', 'mimikyu', 'scizor', 'scizormega', 'shedinja', ]; function sereneGraceBenefits(move: Move) { return move.secondary?.chance && move.secondary.chance >= 20 && move.secondary.chance < 100; } export class RandomGen7Teams extends RandomGen8Teams { - randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./random-sets.json'); + randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./sets.json'); constructor(format: Format | string, prng: PRNG | PRNGSeed | null) { super(format, prng); @@ -128,7 +128,7 @@ export class RandomGen7Teams extends RandomGen8Teams { ), Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'), Ice: (movePool, moves, abilities, types, counter) => ( - !counter.get('Ice') || movePool.includes('blizzard') || + !counter.get('Ice') || (!moves.has('blizzard') && movePool.includes('freezedry')) || abilities.has('Refrigerate') && (movePool.includes('return') || movePool.includes('hypervoice')) ), Normal: movePool => movePool.includes('boomburst'), @@ -166,6 +166,7 @@ export class RandomGen7Teams extends RandomGen8Teams { let move = this.dex.moves.get(moveid); // Nature Power calls Earthquake in Gen 5 if (this.gen === 5 && moveid === 'naturepower') move = this.dex.moves.get('earthquake'); + if (this.gen > 5 && moveid === 'naturepower') move = this.dex.moves.get('triattack'); const moveType = this.getMoveType(move, species, abilities, preferredType); if (move.damage || move.damageCallback) { @@ -235,7 +236,6 @@ export class RandomGen7Teams extends RandomGen8Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): void { @@ -313,19 +313,21 @@ export class RandomGen7Teams extends RandomGen8Teams { // Develop additional move lists const badWithSetup = ['defog', 'dragontail', 'haze', 'healbell', 'nuzzle', 'pursuit', 'rapidspin', 'toxic']; + // Nature Power is Tri Attack this gen const statusMoves = this.dex.moves.all() - .filter(move => move.category === 'Status') + .filter(move => move.category === 'Status' && move.id !== 'naturepower') .map(move => move.id); // General incompatibilities const incompatiblePairs = [ // These moves don't mesh well with other aspects of the set [statusMoves, ['healingwish', 'memento', 'switcheroo', 'trick']], + [PIVOT_MOVES, PIVOT_MOVES], [SETUP, PIVOT_MOVES], [SETUP, HAZARDS], [SETUP, badWithSetup], [PHYSICAL_SETUP, PHYSICAL_SETUP], - [SPEED_SETUP, ['quickattack', 'suckerpunch']], + [SPEED_SETUP, 'quickattack'], ['defog', HAZARDS], [['fakeout', 'uturn'], ['switcheroo', 'trick']], ['substitute', PIVOT_MOVES], @@ -336,8 +338,8 @@ export class RandomGen7Teams extends RandomGen8Teams { // These attacks are redundant with each other ['psychic', 'psyshock'], - ['scald', ['hydropump', 'originpulse', 'waterpulse']], - ['return', ['bodyslam', 'doubleedge']], + [['scald', 'surf'], ['hydropump', 'originpulse', 'waterpulse']], + ['return', ['bodyslam', 'doubleedge', 'headbutt']], [['fierydance', 'firelash', 'lavaplume'], ['fireblast', 'magmastorm']], [['flamethrower', 'flareblitz'], ['fireblast', 'overheat']], ['hornleech', 'woodhammer'], @@ -375,13 +377,28 @@ export class RandomGen7Teams extends RandomGen8Teams { } const statusInflictingMoves = ['thunderwave', 'toxic', 'willowisp', 'yawn']; - if (!abilities.has('Prankster')) { + if (!abilities.has('Prankster') && role !== 'Staller') { this.incompatibleMoves(moves, movePool, statusInflictingMoves, statusInflictingMoves); } + + if (abilities.has('Guts')) this.incompatibleMoves(moves, movePool, 'protect', 'swordsdance'); + // Z-Conversion Porygon-Z if (species.id === 'porygonz') { this.incompatibleMoves(moves, movePool, 'shadowball', 'recover'); } + + // Cull filler moves for otherwise fixed set Stealth Rock users + if (!teamDetails.stealthRock) { + if (species.id === 'registeel' && role === 'Staller') { + if (movePool.includes('thunderwave')) this.fastPop(movePool, movePool.indexOf('thunderwave')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (species.baseSpecies === 'Wormadam' && role === 'Staller') { + if (movePool.includes('suckerpunch')) this.fastPop(movePool, movePool.indexOf('suckerpunch')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + } } // Checks for and removes incompatible moves, starting with the first move in movesA. @@ -423,7 +440,6 @@ export class RandomGen7Teams extends RandomGen8Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, movePool: string[], preferredType: string, role: RandomTeamsTypes.Role, @@ -431,7 +447,7 @@ export class RandomGen7Teams extends RandomGen8Teams { moves.add(move); this.fastPop(movePool, movePool.indexOf(move)); const counter = this.newQueryMoves(moves, species, preferredType, abilities); - this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, isDoubles, + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, preferredType, role); return counter; } @@ -458,14 +474,13 @@ export class RandomGen7Teams extends RandomGen8Teams { teamDetails: RandomTeamsTypes.TeamDetails, species: Species, isLead: boolean, - isDoubles: boolean, movePool: string[], preferredType: string, role: RandomTeamsTypes.Role, ): Set { const moves = new Set(); let counter = this.newQueryMoves(moves, species, preferredType, abilities); - this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, isDoubles, + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, preferredType, role); // If there are only four moves, add all moves and return early @@ -473,7 +488,7 @@ export class RandomGen7Teams extends RandomGen8Teams { // Still need to ensure that multiple Hidden Powers are not added (if maxMoveCount is increased) while (movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } return moves; @@ -489,7 +504,7 @@ export class RandomGen7Teams extends RandomGen8Teams { // Add required move (e.g. Relic Song for Meloetta-P) if (species.requiredMove) { const move = this.dex.moves.get(species.requiredMove).id; - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } @@ -497,44 +512,44 @@ export class RandomGen7Teams extends RandomGen8Teams { // Enforce Facade if Guts is a possible ability if (movePool.includes('facade') && abilities.has('Guts')) { - counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } - // Enforce Seismic Toss, Spore, and Sticky Web - for (const moveid of ['seismictoss', 'spore', 'stickyweb']) { + // Enforce Blizzard, Seismic Toss, Spore, and Sticky Web + for (const moveid of ['blizzard', 'seismictoss', 'spore', 'stickyweb']) { if (movePool.includes(moveid)) { - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce Thunder Wave on Prankster users if (movePool.includes('thunderwave') && abilities.has('Prankster')) { - counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } // Enforce Shadow Sneak on Kecleon if (movePool.includes('shadowsneak') && species.id === 'kecleon') { - counter = this.addMove('shadowsneak', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('shadowsneak', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } // Enforce hazard removal on Bulky Support if the team doesn't already have it if (role === 'Bulky Support' && !teamDetails.defog && !teamDetails.rapidSpin) { if (movePool.includes('rapidspin')) { - counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } if (movePool.includes('defog')) { - counter = this.addMove('defog', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('defog', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce STAB priority - if (['Bulky Attacker', 'Bulky Setup'].includes(role) || this.priorityPokemon.includes(species.id)) { + if (['Bulky Attacker', 'Bulky Setup', 'Wallbreaker'].includes(role) || this.priorityPokemon.includes(species.id)) { const priorityMoves = []; for (const moveid of movePool) { const move = this.dex.moves.get(moveid); @@ -545,7 +560,7 @@ export class RandomGen7Teams extends RandomGen8Teams { } if (priorityMoves.length) { const moveid = this.sample(priorityMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -564,7 +579,7 @@ export class RandomGen7Teams extends RandomGen8Teams { while (runEnforcementChecker(type)) { if (!stabMoves.length) break; const moveid = this.sampleNoReplace(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -581,7 +596,7 @@ export class RandomGen7Teams extends RandomGen8Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -598,12 +613,12 @@ export class RandomGen7Teams extends RandomGen8Teams { } if (stabMoves.length) { const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } else { // If they have no regular STAB move, enforce U-turn on Bug types. if (movePool.includes('uturn') && types.includes('Bug')) { - counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('uturn', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -614,17 +629,17 @@ export class RandomGen7Teams extends RandomGen8Teams { const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); if (recoveryMoves.length) { const moveid = this.sample(recoveryMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } // Enforce Staller moves if (role === 'Staller') { - const enforcedMoves = [...PROTECT_MOVES, 'toxic', 'wish']; + const enforcedMoves = [...PROTECT_MOVES, 'toxic']; for (const move of enforcedMoves) { if (movePool.includes(move)) { - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -636,11 +651,11 @@ export class RandomGen7Teams extends RandomGen8Teams { const setupMoves = movePool.filter(moveid => SETUP.includes(moveid) && moveid !== 'flamecharge'); if (setupMoves.length) { const moveid = this.sample(setupMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } else { if (movePool.includes('flamecharge')) { - counter = this.addMove('flamecharge', moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove('flamecharge', moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -656,7 +671,7 @@ export class RandomGen7Teams extends RandomGen8Teams { } if (attackingMoves.length) { const moveid = this.sample(attackingMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -677,7 +692,7 @@ export class RandomGen7Teams extends RandomGen8Teams { } if (coverageMoves.length) { const moveid = this.sample(coverageMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -686,15 +701,15 @@ export class RandomGen7Teams extends RandomGen8Teams { // Choose remaining moves randomly from movepool and add them to moves list: while (moves.size < this.maxMoveCount && movePool.length) { const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); for (const pair of MOVE_PAIRS) { if (moveid === pair[0] && movePool.includes(pair[1])) { - counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } if (moveid === pair[1] && movePool.includes(pair[0])) { - counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, isDoubles, + counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, movePool, preferredType, role); } } @@ -711,14 +726,13 @@ export class RandomGen7Teams extends RandomGen8Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role ): boolean { switch (ability) { case 'Battle Bond': case 'Dazzling': case 'Flare Boost': case 'Gluttony': case 'Harvest': case 'Hyper Cutter': case 'Ice Body': case 'Innards Out': case 'Liquid Voice': case 'Magician': case 'Moody': case 'Pressure': - case 'Sand Veil': case 'Snow Cloak': case 'Steadfast': case 'Weak Armor': + case 'Sand Veil': case 'Sniper': case 'Snow Cloak': case 'Steadfast': case 'Weak Armor': return true; case 'Aerilate': case 'Galvanize': case 'Pixilate': case 'Refrigerate': return ['doubleedge', 'hypervoice', 'return'].every(m => !moves.has(m)); @@ -735,7 +749,7 @@ export class RandomGen7Teams extends RandomGen8Teams { return (!counter.get('inaccurate') || moves.has('shadowpunch')); case 'Contrary': case 'Skill Link': case 'Strong Jaw': return !counter.get(toID(ability)); - case 'Defiant': case 'Justified': case 'Moxie': + case 'Defiant': case 'Justified': return !counter.get('Physical'); case 'Guts': return (!moves.has('facade') && !moves.has('sleeptalk')); @@ -761,14 +775,21 @@ export class RandomGen7Teams extends RandomGen8Teams { return (abilities.has('Tinted Lens') && role === 'Wallbreaker'); case 'Mold Breaker': return ( - species.baseSpecies === 'Basculin' || species.id === 'pangoro' || abilities.has('Sheer Force') + species.baseSpecies === 'Basculin' || species.id === 'pangoro' || species.id === 'pinsirmega' || + abilities.has('Sheer Force') ); + case 'Moxie': + return (!counter.get('Physical') || moves.has('stealthrock') || (!!species.isMega && abilities.has('Intimidate'))); case 'Oblivious': case 'Prankster': - return !counter.get('Status'); + return (!counter.get('Status') || (species.id === 'tornadus' && moves.has('bulkup'))); + case 'Overcoat': + return types.has('Grass'); case 'Overgrow': return !counter.get('Grass'); case 'Power Construct': return species.forme === '10%'; + case 'Shed Skin': + return !moves.has('rest'); case 'Synchronize': return (counter.get('Status') < 2 || !!counter.get('recoil') || !!species.isMega); case 'Regenerator': @@ -785,7 +806,7 @@ export class RandomGen7Teams extends RandomGen8Teams { return ( !counter.get('sheerforce') || moves.has('doubleedge') || abilities.has('Guts') || - !!species.isMega || species.id === 'toucannon' + !!species.isMega ); case 'Simple': return !counter.get('setup'); @@ -800,7 +821,7 @@ export class RandomGen7Teams extends RandomGen8Teams { return (!!counter.get('recoil') && !counter.get('recovery') || (species.id === 'steelix' && role === 'Wallbreaker')); case 'Swarm': - return (!counter.get('Bug') || !!species.isMega); + return ((!counter.get('Bug') && !moves.has('uturn')) || !!species.isMega); case 'Technician': return (!counter.get('technician') || moves.has('tailslap') || !!species.isMega || species.id === 'persianalola'); case 'Tinted Lens': @@ -827,7 +848,6 @@ export class RandomGen7Teams extends RandomGen8Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, ): string { @@ -847,41 +867,48 @@ export class RandomGen7Teams extends RandomGen8Teams { )) return 'Guts'; if (species.id === 'starmie') return role === 'Wallbreaker' ? 'Analytic' : 'Natural Cure'; + if (species.id === 'beheeyem') return 'Analytic'; + if (species.id === 'drampa' && moves.has('roost')) return 'Berserk'; if (species.id === 'ninetales') return 'Drought'; + if (species.baseSpecies === 'Gourgeist') return 'Frisk'; if (species.id === 'talonflame' && role === 'Z-Move user') return 'Gale Wings'; if (species.id === 'golemalola' && moves.has('return')) return 'Galvanize'; if (species.id === 'raticatealola') return 'Hustle'; if (species.id === 'ninjask' || species.id === 'seviper') return 'Infiltrator'; - if (species.id === 'arcanine') return 'Intimidate'; - if (species.id === 'rampardos' && role === 'Bulky Attacker') return 'Mold Breaker'; + if (species.id === 'arcanine' || species.id === 'stantler') return 'Intimidate'; + if (species.id === 'lucariomega') return 'Justified'; + if (species.id === 'toucannon' && !counter.get('sheerforce') && !counter.get('skilllink')) return 'Keen Eye'; + if (species.id === 'persian' && !counter.get('technician')) return 'Limber'; if (species.baseSpecies === 'Altaria') return 'Natural Cure'; // If Ambipom doesn't qualify for Technician, Skill Link is useless on it if (species.id === 'ambipom' && !counter.get('technician')) return 'Pickup'; - if ( - ['dusknoir', 'raikou', 'suicune', 'vespiquen', 'wailord'].includes(species.id) - ) return 'Pressure'; + if (species.id === 'muk') return 'Poison Touch'; + if (['dusknoir', 'raikou', 'suicune', 'vespiquen'].includes(species.id)) return 'Pressure'; if (species.id === 'tsareena') return 'Queenly Majesty'; if (species.id === 'druddigon' && role === 'Bulky Support') return 'Rough Skin'; + if (species.id === 'zebstrika') return moves.has('wildcharge') ? 'Sap Sipper' : 'Lightning Rod'; + if (species.id === 'stoutland' || species.id === 'pangoro' && !counter.get('ironfist')) return 'Scrappy'; + if (species.baseSpecies === 'Sawsbuck' && moves.has('headbutt')) return 'Serene Grace'; + if (species.id === 'octillery') return 'Sniper'; if (species.id === 'kommoo' && role === 'Z-Move user') return 'Soundproof'; if (species.id === 'stunfisk') return 'Static'; if (species.id === 'breloom') return 'Technician'; if (species.id === 'zangoose') return 'Toxic Boost'; - if (species.id === 'porygon2') return 'Trace'; + if (counter.get('setup') && (species.id === 'magcargo' || species.id === 'kabutops')) return 'Weak Armor'; if (abilities.has('Gluttony') && (moves.has('recycle') || moves.has('bellydrum'))) return 'Gluttony'; if (abilities.has('Harvest') && (role === 'Bulky Support' || role === 'Staller')) return 'Harvest'; - if (abilities.has('Moxie') && (counter.get('Physical') > 3 || moves.has('bounce'))) return 'Moxie'; + if (abilities.has('Moxie') && (moves.has('bounce') || moves.has('fly'))) return 'Moxie'; if (abilities.has('Regenerator') && role === 'AV Pivot') return 'Regenerator'; if (abilities.has('Shed Skin') && moves.has('rest') && !moves.has('sleeptalk')) return 'Shed Skin'; if (abilities.has('Sniper') && moves.has('focusenergy')) return 'Sniper'; if (abilities.has('Unburden') && ['acrobatics', 'bellydrum', 'closecombat'].some(m => moves.has(m))) return 'Unburden'; - if (abilities.has('Weak Armor') && types.has('Water') && counter.get('setup')) return 'Weak Armor'; let abilityAllowed: Ability[] = []; // Obtain a list of abilities that are allowed (not culled) for (const ability of abilityData) { if (ability.rating >= 1 && !this.shouldCullAbility( - ability.name, types, moves, abilities, counter, movePool, teamDetails, species, isDoubles, preferredType, role + ability.name, types, moves, abilities, counter, movePool, teamDetails, species, preferredType, role )) { abilityAllowed.push(ability); } @@ -988,6 +1015,7 @@ export class RandomGen7Teams extends RandomGen8Teams { return 'Sitrus Berry'; } } + if (moves.has('waterspout')) return 'Choice Scarf'; if (moves.has('geomancy') || moves.has('skyattack')) return 'Power Herb'; if (moves.has('shellsmash')) { return (ability === 'Solid Rock' && !!counter.get('priority')) ? 'Weakness Policy' : 'White Herb'; @@ -998,6 +1026,7 @@ export class RandomGen7Teams extends RandomGen8Teams { if (ability === 'Magic Guard' && role !== 'Bulky Support') { return moves.has('counter') ? 'Focus Sash' : 'Life Orb'; } + if (species.id === 'rampardos' && role === 'Fast Attacker') return 'Choice Scarf'; if (ability === 'Sheer Force' && counter.get('sheerforce')) return 'Life Orb'; if (ability === 'Unburden') return moves.has('closecombat') ? 'White Herb' : 'Sitrus Berry'; if (moves.has('acrobatics')) return ''; @@ -1047,6 +1076,7 @@ export class RandomGen7Teams extends RandomGen8Teams { if (ability === 'Sturdy' && moves.has('explosion') && !counter.get('speedsetup')) return 'Custap Berry'; if (types.includes('Normal') && moves.has('fakeout') && !!counter.get('Normal')) return 'Silk Scarf'; + if (species.id === 'latias' || species.id === 'latios') return 'Soul Dew'; if (role === 'Bulky Setup' && !!counter.get('speedsetup') && !moves.has('swordsdance')) { return 'Weakness Policy'; } @@ -1071,8 +1101,8 @@ export class RandomGen7Teams extends RandomGen8Teams { } if ( (role === 'Fast Support' || moves.has('stickyweb')) && isLead && defensiveStatTotal < 255 && - !counter.get('recovery') && !moves.has('defog') && (!counter.get('recoil') || ability === 'Rock Head') && - ability !== 'Regenerator' + !counter.get('recovery') && (counter.get('hazards') || counter.get('setup')) && + (!counter.get('recoil') || ability === 'Rock Head') ) return 'Focus Sash'; // Default Items @@ -1096,22 +1126,45 @@ export class RandomGen7Teams extends RandomGen8Teams { return 'Leftovers'; } + getLevel(species: Species): number { + // level set by rules + if (this.adjustLevel) return this.adjustLevel; + if (this.gen >= 2) { + // Revamped generations use random-sets.json + const sets = this.randomSets[species.id]; + if (sets.level) return sets.level; + } else { + // Other generations use random-data.json + const data = this.randomData[species.id]; + if (data.level) return data.level; + } + // Gen 2 still uses tier-based levelling + if (this.gen === 2) { + const levelScale: {[k: string]: number} = { + ZU: 81, + ZUBL: 79, + PU: 77, + PUBL: 75, + NU: 73, + NUBL: 71, + UU: 69, + UUBL: 67, + OU: 65, + Uber: 61, + }; + if (levelScale[species.tier]) return levelScale[species.tier]; + } + // Default to 80 + return 80; + } + randomSet( species: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}, - isLead = false, - isDoubles = false + isLead = false ): RandomTeamsTypes.RandomSet { species = this.dex.species.get(species); - let forme = species.name; - - if (typeof species.battleOnly === 'string') { - // Only change the forme. The species has custom moves, and may have different typing and requirements. - forme = species.battleOnly; - } - if (species.cosmeticFormes) { - forme = this.sample([species.name].concat(species.cosmeticFormes)); - } + const forme = this.getForme(species); const sets = this.randomSets[species.id]["sets"]; const possibleSets = []; // Check if the Pokemon has a Z-Move user set @@ -1143,13 +1196,13 @@ export class RandomGen7Teams extends RandomGen8Teams { if (species.unreleasedHidden) abilities.delete(species.abilities.H); // Get moves - const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, isDoubles, movePool, + const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, movePool, preferredType, role); const counter = this.newQueryMoves(moves, species, preferredType, abilities); // Get ability ability = this.getAbility(new Set(types), moves, abilities, counter, movePool, teamDetails, species, - false, preferredType, role); + preferredType, role); // Get items item = this.getPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, preferredType, role); @@ -1162,10 +1215,13 @@ export class RandomGen7Teams extends RandomGen8Teams { item = 'Black Sludge'; } - const level = this.adjustLevel || this.randomSets[species.id]["level"] || (species.nfe ? 90 : 80); + const level = this.getLevel(species); - // Minimize confusion damage - if (!counter.get('Physical') && !moves.has('copycat') && !moves.has('transform')) { + // Minimize confusion damage, including if Foul Play is its only physical attack + if ( + (!counter.get('Physical') || (counter.get('Physical') <= 1 && moves.has('foulplay'))) && + !moves.has('copycat') && !moves.has('transform') + ) { evs.atk = 0; ivs.atk = 0; } @@ -1198,20 +1254,27 @@ export class RandomGen7Teams extends RandomGen8Teams { // Prepare optimal HP const srImmunity = ability === 'Magic Guard'; - let srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); - // Crash damage move users want an odd HP to survive two misses - if (['highjumpkick', 'jumpkick'].some(m => moves.has(m))) srWeakness = 2; + const srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); while (evs.hp > 1) { const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); - if (moves.has('substitute') && (item === 'Sitrus Berry' || (ability === 'Power Construct' && item !== 'Leftovers'))) { - // Two Substitutes should activate Sitrus Berry or Power Construct - if (hp % 4 === 0) break; + if (moves.has('substitute') && !['Black Sludge', 'Leftovers'].includes(item)) { + if (item === 'Sitrus Berry' || ability === 'Power Construct') { + // Two Substitutes should activate Sitrus Berry or Power Construct + if (hp % 4 === 0) break; + } else { + // Should be able to use Substitute four times from full HP without fainting + if (hp % 4 > 0) break; + } } else if (moves.has('bellydrum') && (item === 'Sitrus Berry' || ability === 'Gluttony')) { // Belly Drum should activate Sitrus Berry if (hp % 2 === 0) break; + } else if (['highjumpkick', 'jumpkick'].some(m => moves.has(m))) { + // Crash damage move users want an odd HP to survive two misses + if (hp % 2 > 0) break; } else { // Maximize number of Stealth Rock switch-ins - if (srWeakness <= 0 || ability === 'Regenerator' || ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; + if (srWeakness <= 0 || ability === 'Regenerator') break; + if (srWeakness === 1 && ['Black Sludge', 'Leftovers', 'Life Orb'].includes(item)) break; if (item !== 'Sitrus Berry' && hp % (4 / srWeakness) > 0) break; // Minimise number of Stealth Rock switch-ins to activate Sitrus Berry if (item === 'Sitrus Berry' && hp % (4 / srWeakness) === 0) break; @@ -1274,11 +1337,12 @@ export class RandomGen7Teams extends RandomGen8Teams { const baseFormes: {[k: string]: number} = {}; let hasMega = false; - const tierCount: {[k: string]: number} = {}; const typeCount: {[k: string]: number} = {}; const typeComboCount: {[k: string]: number} = {}; const typeWeaknesses: {[k: string]: number} = {}; + const typeDoubleWeaknesses: {[k: string]: number} = {}; const teamDetails: RandomTeamsTypes.TeamDetails = {}; + let numMaxLevelPokemon = 0; // We make at most two passes through the potential Pokemon pool when creating a team - if the first pass doesn't // result in a team of six Pokemon we perform a second iteration relaxing as many restrictions as possible. @@ -1292,30 +1356,20 @@ export class RandomGen7Teams extends RandomGen8Teams { const currentSpeciesPool: Species[] = []; // Check if the base species has a mega forme available let canMega = false; - for (const poke of pokemonPool) { + for (const poke of pokemonPool[baseSpecies]) { const species = this.dex.species.get(poke); - if (!hasMega && species.baseSpecies === baseSpecies && species.isMega) canMega = true; + if (!hasMega && species.isMega) canMega = true; } - for (const poke of pokemonPool) { + for (const poke of pokemonPool[baseSpecies]) { const species = this.dex.species.get(poke); - if (species.baseSpecies === baseSpecies) { - // Prevent multiple megas - if (hasMega && species.isMega) continue; - // Prevent base forme, if a mega is available - if (canMega && !species.isMega) continue; - currentSpeciesPool.push(species); - } + // Prevent multiple megas + if (hasMega && species.isMega) continue; + // Prevent base forme, if a mega is available + if (canMega && !species.isMega) continue; + currentSpeciesPool.push(species); } const species = this.sample(currentSpeciesPool); - if (this.gen === 7) { - // If the team has a Z-Move user, reject Pokemon that only have the Z-Move user role - if ( - this.randomSets[species.id]["sets"].length === 1 && - this.randomSets[species.id]["sets"][0]["role"] === 'Z-Move user' && - teamDetails.zMove - ) continue; - } if (!species.exists) continue; // Limit to one of each species (Species Clause) @@ -1324,21 +1378,16 @@ export class RandomGen7Teams extends RandomGen8Teams { // Limit one Mega per team if (hasMega && species.isMega) continue; - const tier = species.tier; const types = species.types; const typeCombo = types.slice().sort().join(); + const weakToFreezeDry = ( + this.dex.getEffectiveness('Ice', species) > 0 || + (this.dex.getEffectiveness('Ice', species) > -2 && types.includes('Water')) + ); // Dynamically scale limits for different team sizes. The default and minimum value is 1. const limitFactor = Math.round(this.maxTeamSize / 6) || 1; if (restrict) { - // Limit one Pokemon per tier, two for Monotype - if ( - (tierCount[tier] >= (isMonotype || this.forceMonotype ? 2 : 1) * limitFactor) && - !this.randomChance(1, Math.pow(5, tierCount[tier])) - ) { - continue; - } - if (!isMonotype && !this.forceMonotype) { // Limit two of any type let skip = false; @@ -1350,7 +1399,7 @@ export class RandomGen7Teams extends RandomGen8Teams { } if (skip) continue; - // Limit three weak to any type + // Limit three weak to any type, and one double weak to any type for (const typeName of this.dex.types.names()) { // it's weak to the type if (this.dex.getEffectiveness(typeName, species) > 0) { @@ -1360,19 +1409,36 @@ export class RandomGen7Teams extends RandomGen8Teams { break; } } + if (this.dex.getEffectiveness(typeName, species) > 0) { + if (!typeDoubleWeaknesses[typeName]) typeDoubleWeaknesses[typeName] = 0; + if (typeDoubleWeaknesses[typeName] >= 1 * limitFactor) { + skip = true; + break; + } + } } if (skip) continue; + + // Limit four weak to Freeze-Dry + if (weakToFreezeDry) { + if (!typeWeaknesses['Freeze-Dry']) typeWeaknesses['Freeze-Dry'] = 0; + if (typeWeaknesses['Freeze-Dry'] >= 4 * limitFactor) continue; + } + + // Limit one level 100 Pokemon + if (!this.adjustLevel && (this.getLevel(species) === 100) && numMaxLevelPokemon >= limitFactor) { + continue; + } } - // Limit one of any type combination, three in Monotype - if (!this.forceMonotype && typeComboCount[typeCombo] >= (isMonotype ? 3 : 1) * limitFactor) continue; + // Limit three of any type combination in Monotype + if (!this.forceMonotype && isMonotype && (typeComboCount[typeCombo] >= 3 * limitFactor)) continue; } const set = this.randomSet( species, teamDetails, - pokemon.length === this.maxTeamSize - 1, - false + pokemon.length === this.maxTeamSize - 1 ); const item = this.dex.items.get(set.item); @@ -1392,13 +1458,6 @@ export class RandomGen7Teams extends RandomGen8Teams { // Now that our Pokemon has passed all checks, we can increment our counters baseFormes[species.baseSpecies] = 1; - // Increment tier counter - if (tierCount[tier]) { - tierCount[tier]++; - } else { - tierCount[tier] = 1; - } - // Increment type counters for (const typeName of types) { if (typeName in typeCount) { @@ -1419,7 +1478,14 @@ export class RandomGen7Teams extends RandomGen8Teams { if (this.dex.getEffectiveness(typeName, species) > 0) { typeWeaknesses[typeName]++; } + if (this.dex.getEffectiveness(typeName, species) > 1) { + typeDoubleWeaknesses[typeName]++; + } } + if (weakToFreezeDry) typeWeaknesses['Freeze-Dry']++; + + // Increment level 100 counter + if (set.level === 100) numMaxLevelPokemon++; // Track what the team has if (item.megaStone || species.name === 'Rayquaza-Mega') hasMega = true; @@ -1482,19 +1548,33 @@ export class RandomGen7Teams extends RandomGen8Teams { // Build a pool of eligible sets, given the team partners // Also keep track of sets with moves the team requires - let effectivePool: {set: AnyObject, moveVariants?: number[]}[] = []; + let effectivePool: {set: AnyObject, moveVariants?: number[], item?: string, ability?: string}[] = []; const priorityPool = []; for (const curSet of setList) { if (this.forceMonotype && !species.types.includes(this.forceMonotype)) continue; - const item = this.dex.items.get(curSet.item); - if (teamData.megaCount && teamData.megaCount > 0 && item.megaStone) continue; // reject 2+ mega stones - if (teamData.zCount && teamData.zCount > 0 && item.zMove) continue; // reject 2+ Z stones - if (itemsMax[item.id] && teamData.has[item.id] >= itemsMax[item.id]) continue; - - const ability = this.dex.abilities.get(curSet.ability); - if (weatherAbilitiesRequire[ability.id] && teamData.weather !== weatherAbilitiesRequire[ability.id]) continue; - if (teamData.weather && weatherAbilities.includes(ability.id)) continue; // reject 2+ weather setters + // reject disallowed items + const allowedItems: string[] = []; + for (const itemString of curSet.item) { + const item = this.dex.items.get(itemString); + if (teamData.megaCount && teamData.megaCount > 0 && item.megaStone) continue; // reject 2+ mega stones + if (teamData.zCount && teamData.zCount > 0 && item.zMove) continue; // reject 2+ Z stones + if (itemsMax[item.id] && teamData.has[item.id] >= itemsMax[item.id]) continue; // reject 2+ same choice item + allowedItems.push(itemString); + } + if (allowedItems.length === 0) continue; + const curSetItem = this.sample(allowedItems); + + // reject bad weather abilities + const allowedAbilities: string[] = []; + for (const abilityString of curSet.ability) { + const ability = this.dex.abilities.get(abilityString); + if (weatherAbilitiesRequire[ability.id] && teamData.weather !== weatherAbilitiesRequire[ability.id]) continue; + if (teamData.weather && weatherAbilities.includes(ability.id)) continue; // reject 2+ weather setters + allowedAbilities.push(abilityString); + } + if (allowedAbilities.length === 0) continue; + const curSetAbility = this.sample(allowedAbilities); let reject = false; let hasRequiredMove = false; @@ -1512,8 +1592,10 @@ export class RandomGen7Teams extends RandomGen8Teams { curSetVariants.push(variantIndex); } if (reject) continue; - effectivePool.push({set: curSet, moveVariants: curSetVariants}); - if (hasRequiredMove) priorityPool.push({set: curSet, moveVariants: curSetVariants}); + + const fullSetSpec = {set: curSet, moveVariants: curSetVariants, item: curSetItem, ability: curSetAbility}; + effectivePool.push(fullSetSpec); + if (hasRequiredMove) priorityPool.push(fullSetSpec); } if (priorityPool.length) effectivePool = priorityPool; @@ -1531,8 +1613,8 @@ export class RandomGen7Teams extends RandomGen8Teams { } - const item = this.sampleIfArray(setData.set.item); - const ability = this.sampleIfArray(setData.set.ability); + const item = setData.item || this.sampleIfArray(setData.set.item); + const ability = setData.ability || this.sampleIfArray(setData.set.ability); const nature = this.sampleIfArray(setData.set.nature); const level = this.adjustLevel || setData.set.level || (tier === "LC" ? 5 : 100); diff --git a/data/mods/gen7letsgo/random-data.json b/data/random-battles/gen7letsgo/data.json similarity index 100% rename from data/mods/gen7letsgo/random-data.json rename to data/random-battles/gen7letsgo/data.json diff --git a/data/mods/gen7letsgo/random-teams.ts b/data/random-battles/gen7letsgo/teams.ts similarity index 98% rename from data/mods/gen7letsgo/random-teams.ts rename to data/random-battles/gen7letsgo/teams.ts index 3b1ca50bf800..66f37bdfdf2b 100644 --- a/data/mods/gen7letsgo/random-teams.ts +++ b/data/random-battles/gen7letsgo/teams.ts @@ -1,8 +1,8 @@ import type {PRNG} from '../../../sim'; -import {MoveCounter, RandomGen8Teams, OldRandomBattleSpecies} from '../gen8/random-teams'; +import {MoveCounter, RandomGen8Teams, OldRandomBattleSpecies} from '../gen8/teams'; export class RandomLetsGoTeams extends RandomGen8Teams { - randomData: {[species: string]: OldRandomBattleSpecies} = require('./random-data.json'); + randomData: {[species: string]: OldRandomBattleSpecies} = require('./data.json'); constructor(format: Format | string, prng: PRNG | PRNGSeed | null) { super(format, prng); @@ -127,7 +127,7 @@ export class RandomLetsGoTeams extends RandomGen8Teams { const data = this.randomData[species.id]; - const movePool = (data.moves || Object.keys(this.dex.species.getLearnset(species.id)!)).slice(); + const movePool: string[] = [...(data.moves || this.dex.species.getMovePool(species.id))]; const types = new Set(species.types); const moves = new Set(); diff --git a/data/mods/gen8/bss-factory-sets.json b/data/random-battles/gen8/bss-factory-sets.json similarity index 100% rename from data/mods/gen8/bss-factory-sets.json rename to data/random-battles/gen8/bss-factory-sets.json diff --git a/data/mods/gen8/cap-1v1-sets.json b/data/random-battles/gen8/cap-1v1-sets.json similarity index 100% rename from data/mods/gen8/cap-1v1-sets.json rename to data/random-battles/gen8/cap-1v1-sets.json diff --git a/data/mods/gen8/random-data.json b/data/random-battles/gen8/data.json similarity index 97% rename from data/mods/gen8/random-data.json rename to data/random-battles/gen8/data.json index ddd95c0d37c2..3d7c51d0aca3 100644 --- a/data/mods/gen8/random-data.json +++ b/data/random-battles/gen8/data.json @@ -53,14 +53,14 @@ "doublesMoves": ["extremespeed", "fakeout", "knockoff", "surf", "volttackle"] }, "raichu": { - "level": 86, + "level": 87, "moves": ["focusblast", "grassknot", "nastyplot", "surf", "thunderbolt", "voltswitch"], "doublesLevel": 88, "doublesMoves": ["encore", "fakeout", "helpinghand", "nuzzle", "thunderbolt", "voltswitch"], "noDynamaxMoves": ["encore", "focusblast", "grassknot", "nastyplot", "surf", "thunderbolt", "voltswitch"] }, "raichualola": { - "level": 84, + "level": 83, "moves": ["focusblast", "grassknot", "nastyplot", "psyshock", "thunderbolt", "voltswitch"], "doublesLevel": 86, "doublesMoves": ["focusblast", "nastyplot", "psyshock", "thunderbolt", "voltswitch"] @@ -72,7 +72,7 @@ "doublesMoves": ["drillrun", "knockoff", "protect", "stealthrock", "stoneedge", "swordsdance"] }, "sandslashalola": { - "level": 86, + "level": 87, "moves": ["earthquake", "ironhead", "knockoff", "rapidspin", "swordsdance", "tripleaxel"], "doublesLevel": 90, "doublesMoves": ["drillrun", "ironhead", "protect", "swordsdance", "tripleaxel"] @@ -112,7 +112,7 @@ "doublesMoves": ["auroraveil", "blizzard", "encore", "freezedry", "moonblast"] }, "wigglytuff": { - "level": 92, + "level": 93, "moves": ["dazzlinggleam", "fireblast", "healbell", "lightscreen", "reflect", "stealthrock"], "doublesLevel": 90, "doublesMoves": ["dazzlinggleam", "healpulse", "helpinghand", "hypervoice", "thunderwave"] @@ -124,7 +124,7 @@ "doublesMoves": ["aromatherapy", "energyball", "pollenpuff", "sleeppowder", "sludgebomb", "strengthsap"] }, "dugtrio": { - "level": 82, + "level": 81, "moves": ["earthquake", "memento", "stoneedge", "suckerpunch"], "doublesLevel": 88, "doublesMoves": ["highhorsepower", "memento", "protect", "rockslide", "suckerpunch"] @@ -148,7 +148,7 @@ "doublesMoves": ["fakeout", "foulplay", "icywind", "partingshot", "snarl", "taunt"] }, "golduck": { - "level": 86, + "level": 85, "moves": ["calmmind", "focusblast", "icebeam", "psyshock", "scald", "substitute"], "doublesLevel": 88, "doublesMoves": ["calmmind", "encore", "icebeam", "muddywater", "protect"] @@ -160,7 +160,7 @@ "doublesMoves": ["closecombat", "extremespeed", "flareblitz", "morningsun", "protect", "snarl", "willowisp"] }, "poliwrath": { - "level": 85, + "level": 86, "moves": ["closecombat", "darkestlariat", "liquidation", "raindance"], "doublesLevel": 88, "doublesMoves": ["closecombat", "coaching", "helpinghand", "liquidation", "protect"] @@ -190,7 +190,7 @@ "doublesMoves": ["flareblitz", "highhorsepower", "morningsun", "protect", "swordsdance", "wildcharge"] }, "rapidashgalar": { - "level": 84, + "level": 83, "moves": ["highhorsepower", "morningsun", "playrough", "swordsdance", "zenheadbutt"], "doublesLevel": 88, "doublesMoves": ["highhorsepower", "playrough", "protect", "swordsdance", "zenheadbutt"] @@ -208,7 +208,7 @@ "doublesMoves": ["fireblast", "healpulse", "protect", "psychic", "shellsidearm", "trickroom"] }, "farfetchd": { - "level": 90, + "level": 91, "moves": ["bravebird", "closecombat", "knockoff", "leafblade", "swordsdance"], "doublesLevel": 95, "doublesMoves": ["bravebird", "closecombat", "leafblade", "protect", "quickattack", "swordsdance"] @@ -239,31 +239,31 @@ "doublesMoves": ["knockoff", "liquidation", "protect", "superpower", "xscissor"] }, "exeggutor": { - "level": 87, + "level": 86, "moves": ["gigadrain", "leechseed", "psychic", "sleeppowder", "substitute"], "doublesLevel": 88, "doublesMoves": ["energyball", "protect", "psychic", "sleeppowder", "trickroom"] }, "exeggutoralola": { - "level": 87, + "level": 86, "moves": ["dracometeor", "flamethrower", "gigadrain", "leafstorm", "trickroom"], "doublesLevel": 88, "doublesMoves": ["dragonpulse", "energyball", "flamethrower", "protect", "trickroom"] }, "marowak": { - "level": 86, + "level": 87, "moves": ["doubleedge", "earthquake", "knockoff", "stealthrock", "stoneedge", "swordsdance"], "doublesLevel": 88, "doublesMoves": ["bonemerang", "knockoff", "protect", "stealthrock", "stoneedge"] }, "marowakalola": { - "level": 84, + "level": 83, "moves": ["earthquake", "flamecharge", "flareblitz", "poltergeist", "stealthrock", "stoneedge"], "doublesLevel": 83, "doublesMoves": ["bonemerang", "flamecharge", "flareblitz", "protect", "shadowbone"] }, "hitmonlee": { - "level": 84, + "level": 83, "moves": ["closecombat", "curse", "highjumpkick", "knockoff", "poisonjab", "stoneedge"], "doublesLevel": 86, "doublesMoves": ["closecombat", "fakeout", "knockoff", "poisonjab", "protect", "rockslide"] @@ -281,13 +281,13 @@ "doublesMoves": ["fireblast", "painsplit", "sludgebomb", "toxicspikes", "willowisp"] }, "weezinggalar": { - "level": 86, + "level": 87, "moves": ["defog", "fireblast", "painsplit", "sludgebomb", "strangesteam", "toxicspikes", "willowisp"], "doublesLevel": 89, "doublesMoves": ["clearsmog", "defog", "fireblast", "painsplit", "strangesteam", "toxicspikes", "willowisp"] }, "rhydon": { - "level": 87, + "level": 85, "moves": ["earthquake", "megahorn", "stealthrock", "stoneedge", "toxic"] }, "chansey": { @@ -319,7 +319,7 @@ "doublesMoves": ["dazzlinggleam", "fakeout", "icywind", "lightscreen", "psychic", "reflect"] }, "mrmimegalar": { - "level": 86, + "level": 85, "moves": ["focusblast", "freezedry", "nastyplot", "psychic", "rapidspin"] }, "scyther": { @@ -347,7 +347,7 @@ "doublesMoves": ["bodyslam", "closecombat", "lashout", "protect", "rockslide"] }, "gyarados": { - "level": 76, + "level": 75, "moves": ["bounce", "dragondance", "earthquake", "powerwhip", "waterfall"], "doublesLevel": 81, "doublesMoves": ["bounce", "dragondance", "icefang", "powerwhip", "protect", "waterfall"] @@ -365,7 +365,7 @@ "doublesMoves": ["transform"] }, "vaporeon": { - "level": 84, + "level": 85, "moves": ["healbell", "icebeam", "protect", "scald", "toxic", "wish"], "doublesLevel": 88, "doublesMoves": ["helpinghand", "icywind", "protect", "scald", "toxic", "wish"] @@ -395,29 +395,29 @@ "doublesMoves": ["aquajet", "protect", "stoneedge", "superpower", "swordsdance", "waterfall"] }, "aerodactyl": { - "level": 82, + "level": 83, "moves": ["aquatail", "dualwingbeat", "earthquake", "honeclaws", "stoneedge"], "doublesLevel": 82, "doublesMoves": ["aquatail", "dragondance", "dualwingbeat", "earthquake", "rockslide"] }, "snorlax": { - "level": 82, + "level": 83, "moves": ["darkestlariat", "doubleedge", "earthquake", "facade", "heatcrash"] }, "snorlaxgmax": { - "level": 82, + "level": 83, "moves": ["bodyslam", "curse", "darkestlariat", "earthquake", "rest"], "doublesLevel": 84, "doublesMoves": ["bodyslam", "curse", "darkestlariat", "highhorsepower", "recycle"] }, "articuno": { - "level": 84, + "level": 85, "moves": ["defog", "freezedry", "healbell", "roost", "toxic"], "doublesLevel": 86, "doublesMoves": ["freezedry", "healbell", "hurricane", "icebeam", "roost"] }, "articunogalar": { - "level": 80, + "level": 81, "moves": ["airslash", "calmmind", "freezingglare", "recover"], "doublesLevel": 81, "doublesMoves": ["calmmind", "freezingglare", "hurricane", "recover", "tailwind"], @@ -443,7 +443,7 @@ "noDynamaxMoves": ["defog", "fireblast", "hurricane", "roost", "uturn"] }, "moltresgalar": { - "level": 75, + "level": 74, "moves": ["fierywrath", "hurricane", "nastyplot", "rest"], "doublesLevel": 75, "doublesMoves": ["fierywrath", "hurricane", "nastyplot", "protect"], @@ -463,7 +463,7 @@ "doublesMoves": ["aurasphere", "icebeam", "nastyplot", "psystrike", "recover"] }, "mew": { - "level": 79, + "level": 78, "moves": ["bravebird", "closecombat", "dragondance", "flareblitz", "psychicfangs", "swordsdance"], "doublesLevel": 80, "doublesMoves": ["fakeout", "pollenpuff", "psychic", "stealthrock", "tailwind", "toxicspikes", "transform"], @@ -495,19 +495,19 @@ "doublesMoves": ["airslash", "heatwave", "lightscreen", "psychic", "reflect", "roost", "tailwind"] }, "bellossom": { - "level": 82, + "level": 81, "moves": ["gigadrain", "moonblast", "quiverdance", "sleeppowder", "strengthsap"], "doublesLevel": 86, "doublesMoves": ["energyball", "moonblast", "quiverdance", "sleeppowder", "strengthsap"] }, "azumarill": { - "level": 84, + "level": 83, "moves": ["aquajet", "knockoff", "liquidation", "playrough", "superpower"], "doublesLevel": 87, "doublesMoves": ["aquajet", "knockoff", "liquidation", "playrough", "protect"] }, "sudowoodo": { - "level": 88, + "level": 89, "moves": ["earthquake", "headsmash", "stealthrock", "suckerpunch", "woodhammer"], "doublesLevel": 90, "doublesMoves": ["bodypress", "firepunch", "headsmash", "protect", "suckerpunch", "woodhammer"] @@ -549,14 +549,14 @@ "doublesMoves": ["fireblast", "protect", "psychic", "sludgebomb", "trick", "trickroom"] }, "wobbuffet": { - "level": 96, + "level": 97, "moves": ["charm", "counter", "encore", "mirrorcoat"], "doublesLevel": 100, "doublesMoves": ["charm", "counter", "encore", "mirrorcoat"], "noDynamaxMoves": ["counter", "destinybond", "encore", "mirrorcoat"] }, "dunsparce": { - "level": 90, + "level": 91, "moves": ["bodyslam", "coil", "earthquake", "roost"], "doublesLevel": 90, "doublesMoves": ["glare", "headbutt", "protect", "rockslide"] @@ -569,13 +569,13 @@ "noDynamaxMoves": ["curse", "earthquake", "headsmash", "heavyslam", "stealthrock", "toxic"] }, "qwilfish": { - "level": 84, + "level": 85, "moves": ["destinybond", "spikes", "taunt", "thunderwave", "toxicspikes", "waterfall"], "doublesLevel": 88, "doublesMoves": ["liquidation", "poisonjab", "protect", "taunt", "thunderwave", "toxicspikes"] }, "scizor": { - "level": 80, + "level": 79, "moves": ["bulletpunch", "dualwingbeat", "knockoff", "roost", "superpower", "swordsdance", "uturn"], "doublesLevel": 80, "doublesMoves": ["bugbite", "bulletpunch", "dualwingbeat", "feint", "protect", "superpower", "swordsdance", "uturn"], @@ -588,13 +588,13 @@ "doublesMoves": ["acupressure", "guardsplit", "helpinghand", "infestation", "knockoff", "stealthrock", "stickyweb", "toxic"] }, "heracross": { - "level": 81, + "level": 80, "moves": ["closecombat", "facade", "knockoff", "megahorn"], "doublesLevel": 84, "doublesMoves": ["closecombat", "facade", "knockoff", "megahorn", "protect", "swordsdance"] }, "corsola": { - "level": 94, + "level": 96, "moves": ["powergem", "recover", "scald", "stealthrock", "toxic"], "doublesLevel": 95, "doublesMoves": ["icywind", "lifedew", "recover", "scald", "toxic"] @@ -604,10 +604,10 @@ "moves": ["haze", "nightshade", "stealthrock", "strengthsap", "willowisp"] }, "octillery": { - "level": 86, - "moves": ["energyball", "fireblast", "gunkshot", "hydropump", "icebeam", "protect"], - "doublesLevel": 84, - "doublesMoves": ["fireblast", "gunkshot", "hydropump", "icebeam", "protect", "substitute"] + "level": 90, + "moves": ["energyball", "fireblast", "gunkshot", "hydropump", "icebeam", "scald", "thunderwave"], + "doublesLevel": 90, + "doublesMoves": ["fireblast", "gunkshot", "hydropump", "icebeam", "protect", "thunderwave"] }, "delibird": { "level": 100, @@ -622,7 +622,7 @@ "doublesMoves": ["haze", "helpinghand", "hurricane", "roost", "scald", "tailwind"] }, "skarmory": { - "level": 81, + "level": 82, "moves": ["bodypress", "bravebird", "roost", "spikes", "stealthrock", "whirlwind"], "doublesLevel": 84, "doublesMoves": ["bodypress", "bravebird", "irondefense", "roost"] @@ -641,7 +641,7 @@ "doublesMoves": ["icebeam", "recover", "thunderbolt", "toxic", "triattack", "trickroom"] }, "hitmontop": { - "level": 85, + "level": 86, "moves": ["closecombat", "earthquake", "rapidspin", "suckerpunch", "toxic", "tripleaxel"], "doublesLevel": 88, "doublesMoves": ["closecombat", "coaching", "fakeout", "helpinghand", "rapidspin", "suckerpunch", "tripleaxel"] @@ -671,7 +671,7 @@ "doublesMoves": ["extremespeed", "protect", "sacredfire", "snarl", "stompingtantrum", "stoneedge"] }, "suicune": { - "level": 80, + "level": 79, "moves": ["airslash", "calmmind", "icebeam", "rest", "scald", "sleeptalk"], "doublesLevel": 82, "doublesMoves": ["calmmind", "icebeam", "scald", "snarl", "tailwind"], @@ -684,19 +684,19 @@ "doublesMoves": ["dragondance", "firepunch", "highhorsepower", "lashout", "protect", "rockslide", "stoneedge"] }, "lugia": { - "level": 73, + "level": 72, "moves": ["airslash", "earthquake", "roost", "substitute", "toxic"], "doublesLevel": 72, "doublesMoves": ["aeroblast", "calmmind", "psyshock", "roost", "toxic"] }, "hooh": { - "level": 72, + "level": 71, "moves": ["bravebird", "defog", "earthquake", "roost", "sacredfire", "toxic"], "doublesLevel": 72, "doublesMoves": ["bravebird", "earthpower", "protect", "roost", "sacredfire", "tailwind"] }, "celebi": { - "level": 83, + "level": 82, "moves": ["earthpower", "gigadrain", "leafstorm", "nastyplot", "psychic", "recover", "stealthrock", "uturn"], "doublesLevel": 84, "doublesMoves": ["earthpower", "energyball", "nastyplot", "protect", "psychic", "recover"] @@ -708,7 +708,7 @@ "doublesMoves": ["breakingswipe", "energyball", "focusblast", "leafstorm"] }, "blaziken": { - "level": 76, + "level": 75, "moves": ["closecombat", "flareblitz", "knockoff", "stoneedge", "swordsdance"], "doublesLevel": 78, "doublesMoves": ["closecombat", "flareblitz", "knockoff", "protect", "swordsdance"] @@ -763,20 +763,20 @@ "doublesMoves": ["poltergeist", "protect", "shadowsneak", "swordsdance", "willowisp", "xscissor"] }, "exploud": { - "level": 85, + "level": 84, "moves": ["boomburst", "fireblast", "focusblast", "surf"], "doublesLevel": 88, "doublesMoves": ["boomburst", "fireblast", "focusblast", "hypervoice", "icywind", "protect"] }, "sableye": { - "level": 88, + "level": 89, "moves": ["knockoff", "recover", "taunt", "toxic", "willowisp"], "doublesLevel": 88, "doublesMoves": ["disable", "encore", "fakeout", "foulplay", "knockoff", "quash", "recover", "willowisp"], "noDynamaxMoves": ["encore", "knockoff", "recover", "taunt", "toxic", "willowisp"] }, "mawile": { - "level": 87, + "level": 88, "moves": ["ironhead", "playrough", "stealthrock", "suckerpunch", "swordsdance"], "doublesLevel": 88, "doublesMoves": ["firefang", "ironhead", "playrough", "protect", "suckerpunch", "swordsdance"] @@ -800,13 +800,13 @@ "doublesMoves": ["closecombat", "crunch", "flipturn", "icebeam", "protect", "waterfall"] }, "wailord": { - "level": 90, + "level": 91, "moves": ["hydropump", "hypervoice", "icebeam", "waterspout"], "doublesLevel": 88, "doublesMoves": ["hydropump", "heavyslam", "icebeam", "waterspout"] }, "torkoal": { - "level": 86, + "level": 87, "moves": ["earthquake", "lavaplume", "rapidspin", "solarbeam", "stealthrock"], "doublesLevel": 84, "doublesMoves": ["bodypress", "earthpower", "fireblast", "heatwave", "protect", "solarbeam", "willowisp"] @@ -830,13 +830,13 @@ "doublesMoves": ["earthpower", "icebeam", "meteorbeam", "protect", "psychic", "trickroom"] }, "solrock": { - "level": 88, + "level": 89, "moves": ["earthquake", "explosion", "morningsun", "rockslide", "stealthrock", "willowisp"], "doublesLevel": 88, "doublesMoves": ["flareblitz", "helpinghand", "rockslide", "stoneedge", "willowisp"] }, "whiscash": { - "level": 87, + "level": 88, "moves": ["dragondance", "earthquake", "liquidation", "stoneedge", "zenheadbutt"], "doublesLevel": 90, "doublesMoves": ["dragondance", "earthquake", "liquidation", "protect", "stoneedge"] @@ -848,7 +848,7 @@ "doublesMoves": ["aquajet", "closecombat", "crabhammer", "knockoff", "protect", "swordsdance"] }, "claydol": { - "level": 86, + "level": 87, "moves": ["earthquake", "icebeam", "psychic", "rapidspin", "stealthrock", "toxic"], "doublesLevel": 88, "doublesMoves": ["allyswitch", "earthpower", "icebeam", "psychic", "rapidspin"] @@ -860,7 +860,7 @@ "doublesMoves": ["powerwhip", "protect", "recover", "stealthrock", "stoneedge", "stringshot"] }, "armaldo": { - "level": 87, + "level": 88, "moves": ["earthquake", "knockoff", "liquidation", "rapidspin", "stealthrock", "stoneedge", "swordsdance"], "doublesLevel": 88, "doublesMoves": ["knockoff", "liquidation", "stoneedge", "superpower", "xscissor"], @@ -879,10 +879,10 @@ "doublesMoves": ["closecombat", "knockoff", "protect", "suckerpunch", "swordsdance"] }, "glalie": { - "level": 80, - "moves": ["disable", "earthquake", "freezedry", "protect", "substitute"], - "doublesLevel": 84, - "doublesMoves": ["disable", "earthquake", "freezedry", "protect", "substitute"] + "level": 94, + "moves": ["earthquake", "explosion", "freezedry", "spikes", "superfang", "taunt"], + "doublesLevel": 94, + "doublesMoves": ["disable", "foulplay", "freezedry", "helpinghand", "icywind", "protect"] }, "walrein": { "level": 86, @@ -891,7 +891,7 @@ "doublesMoves": ["brine", "icebeam", "icywind", "superfang"] }, "relicanth": { - "level": 87, + "level": 88, "moves": ["bodypress", "earthquake", "headsmash", "liquidation", "stealthrock", "yawn"], "doublesLevel": 88, "doublesMoves": ["bodypress", "headsmash", "liquidation", "stealthrock", "yawn"] @@ -909,7 +909,7 @@ "doublesMoves": ["agility", "bulletpunch", "icepunch", "meteormash", "stompingtantrum", "trick", "zenheadbutt"] }, "regirock": { - "level": 85, + "level": 86, "moves": ["bodypress", "curse", "earthquake", "explosion", "rest", "rockslide", "stoneedge"], "doublesLevel": 86, "doublesMoves": ["bodypress", "curse", "rest", "rockslide"] @@ -933,13 +933,13 @@ "doublesMoves": ["calmmind", "dracometeor", "healpulse", "mysticalfire", "psyshock", "roost", "tailwind"] }, "latios": { - "level": 78, + "level": 77, "moves": ["calmmind", "dracometeor", "mysticalfire", "psyshock", "roost", "trick"], "doublesLevel": 80, "doublesMoves": ["dracometeor", "mysticalfire", "psychic", "psyshock", "roost", "tailwind", "trick"] }, "kyogre": { - "level": 72, + "level": 70, "moves": ["calmmind", "icebeam", "originpulse", "thunder", "waterspout"], "doublesLevel": 69, "doublesMoves": ["icebeam", "originpulse", "thunder", "waterspout"] @@ -952,7 +952,7 @@ "noDynamaxMoves": ["heatcrash", "precipiceblades", "stealthrock", "stoneedge", "swordsdance", "thunderwave"] }, "rayquaza": { - "level": 74, + "level": 73, "moves": ["dracometeor", "dragonascent", "dragondance", "earthquake", "extremespeed", "swordsdance", "vcreate"], "doublesLevel": 74, "doublesMoves": ["dracometeor", "dragonascent", "dragonclaw", "dragondance", "earthpower", "extremespeed", "vcreate"], @@ -965,7 +965,7 @@ "doublesMoves": ["firepunch", "followme", "ironhead", "lifedew", "protect", "thunderwave"] }, "luxray": { - "level": 84, + "level": 86, "moves": ["agility", "crunch", "facade", "superpower", "voltswitch", "wildcharge"], "doublesLevel": 84, "doublesMoves": ["playrough", "protect", "superpower", "voltswitch", "wildcharge"] @@ -993,7 +993,7 @@ "doublesMoves": ["playrough", "solarblade", "sunnyday", "weatherball"] }, "gastrodon": { - "level": 84, + "level": 85, "moves": ["clearsmog", "earthquake", "icebeam", "recover", "scald", "toxic"], "doublesLevel": 80, "doublesMoves": ["clearsmog", "earthpower", "icywind", "recover", "scald", "yawn"] @@ -1005,19 +1005,19 @@ "doublesMoves": ["calmmind", "icywind", "shadowball", "strengthsap"] }, "lopunny": { - "level": 92, + "level": 93, "moves": ["closecombat", "facade", "healingwish", "switcheroo"], "doublesLevel": 92, "doublesMoves": ["closecombat", "fakeout", "switcheroo", "uturn"] }, "skuntank": { - "level": 85, + "level": 84, "moves": ["crunch", "defog", "fireblast", "poisonjab", "suckerpunch", "taunt", "toxic"], "doublesLevel": 88, "doublesMoves": ["crunch", "defog", "fireblast", "poisonjab", "suckerpunch", "taunt"] }, "bronzong": { - "level": 83, + "level": 84, "moves": ["earthquake", "ironhead", "protect", "stealthrock", "toxic"], "doublesLevel": 88, "doublesMoves": ["allyswitch", "bodypress", "ironhead", "trickroom"] @@ -1035,13 +1035,13 @@ "doublesMoves": ["dragonclaw", "earthquake", "fireblast", "protect", "rockslide", "swordsdance"] }, "lucario": { - "level": 82, + "level": 81, "moves": ["closecombat", "extremespeed", "meteormash", "stoneedge", "swordsdance"], "doublesLevel": 84, "doublesMoves": ["closecombat", "extremespeed", "icepunch", "meteormash", "protect", "swordsdance"] }, "hippowdon": { - "level": 80, + "level": 81, "moves": ["earthquake", "slackoff", "stealthrock", "stoneedge", "toxic", "whirlwind"], "doublesLevel": 88, "doublesMoves": ["highhorsepower", "slackoff", "stealthrock", "whirlwind", "yawn"] @@ -1071,7 +1071,7 @@ "doublesMoves": ["fakeout", "iceshard", "knockoff", "lowkick", "tripleaxel"] }, "magnezone": { - "level": 84, + "level": 83, "moves": ["bodypress", "flashcannon", "mirrorcoat", "thunderbolt", "voltswitch"], "doublesLevel": 88, "doublesMoves": ["bodypress", "electroweb", "flashcannon", "protect", "thunderbolt", "voltswitch"] @@ -1101,7 +1101,7 @@ "doublesMoves": ["crosschop", "flamethrower", "icepunch", "stompingtantrum", "wildcharge"] }, "magmortar": { - "level": 86, + "level": 87, "moves": ["earthquake", "fireblast", "focusblast", "psychic", "taunt", "thunderbolt"], "doublesLevel": 88, "doublesMoves": ["fireblast", "focusblast", "heatwave", "protect", "thunderbolt"] @@ -1113,13 +1113,13 @@ "doublesMoves": ["airslash", "dazzlinggleam", "followme", "helpinghand", "protect", "tailwind"] }, "leafeon": { - "level": 86, + "level": 87, "moves": ["doubleedge", "knockoff", "leafblade", "swordsdance", "synthesis", "xscissor"], "doublesLevel": 86, "doublesMoves": ["doubleedge", "knockoff", "leafblade", "protect", "swordsdance"] }, "glaceon": { - "level": 88, + "level": 89, "moves": ["freezedry", "protect", "toxic", "wish"], "doublesLevel": 88, "doublesMoves": ["blizzard", "freezedry", "helpinghand", "protect", "shadowball", "wish"] @@ -1156,7 +1156,7 @@ "doublesMoves": ["destinybond", "icebeam", "icywind", "protect", "shadowball", "willowisp"] }, "rotom": { - "level": 84, + "level": 85, "moves": ["nastyplot", "shadowball", "thunderbolt", "voltswitch", "willowisp"], "doublesLevel": 88, "doublesMoves": ["electroweb", "protect", "shadowball", "thunderbolt", "voltswitch", "willowisp"] @@ -1174,7 +1174,7 @@ "doublesMoves": ["hydropump", "protect", "thunderbolt", "thunderwave", "voltswitch", "willowisp"] }, "rotomfrost": { - "level": 83, + "level": 81, "moves": ["blizzard", "nastyplot", "thunderbolt", "voltswitch", "willowisp"], "doublesLevel": 86, "doublesMoves": ["blizzard", "nastyplot", "protect", "thunderbolt", "willowisp"] @@ -1186,7 +1186,7 @@ "doublesMoves": ["airslash", "nastyplot", "protect", "thunderbolt"] }, "rotommow": { - "level": 85, + "level": 84, "moves": ["leafstorm", "nastyplot", "thunderbolt", "trick", "voltswitch", "willowisp"], "doublesLevel": 88, "doublesMoves": ["electroweb", "leafstorm", "protect", "thunderbolt", "voltswitch", "willowisp"] @@ -1195,7 +1195,7 @@ "level": 82, "moves": ["healbell", "knockoff", "psychic", "stealthrock", "uturn", "yawn"], "doublesLevel": 86, - "doublesMoves": ["helpinghand", "knockoff", "psychic", "stealthrock", "thunderwave", "u-turn", "yawn"] + "doublesMoves": ["helpinghand", "knockoff", "psychic", "stealthrock", "thunderwave", "uturn", "yawn"] }, "mesprit": { "level": 84, @@ -1259,13 +1259,13 @@ "doublesMoves": ["boltstrike", "glaciate", "protect", "uturn", "vcreate", "zenheadbutt"] }, "stoutland": { - "level": 86, + "level": 87, "moves": ["crunch", "facade", "playrough", "superpower", "wildcharge"], "doublesLevel": 90, "doublesMoves": ["facade", "helpinghand", "superpower", "thunderwave"] }, "liepard": { - "level": 87, + "level": 88, "moves": ["copycat", "encore", "knockoff", "playrough", "thunderwave", "uturn"], "doublesLevel": 88, "doublesMoves": ["copycat", "encore", "fakeout", "foulplay", "snarl", "taunt", "thunderwave"] @@ -1289,19 +1289,19 @@ "doublesMoves": ["bodypress", "explosion", "protect", "rockslide", "stealthrock", "stompingtantrum", "stoneedge", "wideguard"] }, "swoobat": { - "level": 86, + "level": 87, "moves": ["airslash", "calmmind", "heatwave", "roost", "storedpower"], "doublesLevel": 86, "doublesMoves": ["airslash", "calmmind", "heatwave", "psychic"] }, "excadrill": { - "level": 78, + "level": 77, "moves": ["earthquake", "ironhead", "rapidspin", "rockslide", "swordsdance"], "doublesLevel": 80, "doublesMoves": ["highhorsepower", "ironhead", "protect", "rapidspin", "rockslide", "swordsdance"] }, "audino": { - "level": 91, + "level": 92, "moves": ["healbell", "knockoff", "protect", "toxic", "wish"], "doublesLevel": 90, "doublesMoves": ["bodyslam", "healpulse", "helpinghand", "knockoff", "protect", "thunderwave"] @@ -1329,13 +1329,13 @@ "doublesMoves": ["facade", "knockoff", "protect", "stormthrow", "wideguard"] }, "sawk": { - "level": 86, + "level": 85, "moves": ["bulkup", "closecombat", "knockoff", "poisonjab", "stoneedge"], "doublesLevel": 86, "doublesMoves": ["closecombat", "helpinghand", "knockoff", "poisonjab", "protect", "rockslide"] }, "scolipede": { - "level": 80, + "level": 79, "moves": ["earthquake", "megahorn", "poisonjab", "protect", "spikes", "swordsdance", "toxicspikes"], "doublesLevel": 84, "doublesMoves": ["megahorn", "poisonjab", "protect", "rockslide", "superpower", "swordsdance"] @@ -1354,13 +1354,7 @@ "doublesMoves": ["energyball", "pollenpuff", "quiverdance", "sleeppowder"] }, "basculin": { - "level": 86, - "moves": ["aquajet", "crunch", "flipturn", "liquidation", "psychicfangs", "superpower"], - "doublesLevel": 86, - "doublesMoves": ["flipturn", "liquidation", "muddywater", "protect", "superpower"] - }, - "basculinbluestriped": { - "level": 86, + "level": 85, "moves": ["aquajet", "crunch", "flipturn", "liquidation", "psychicfangs", "superpower"], "doublesLevel": 86, "doublesMoves": ["flipturn", "liquidation", "muddywater", "protect", "superpower"] @@ -1372,7 +1366,7 @@ "doublesMoves": ["closecombat", "highhorsepower", "knockoff", "protect", "rockslide", "taunt"] }, "darmanitan": { - "level": 80, + "level": 79, "moves": ["earthquake", "flareblitz", "rockslide", "superpower", "uturn"], "doublesLevel": 82, "doublesMoves": ["earthquake", "flareblitz", "protect", "rockslide", "superpower", "uturn"] @@ -1406,13 +1400,13 @@ "doublesMoves": ["closecombat", "coaching", "drainpunch", "fakeout", "icepunch", "knockoff"] }, "sigilyph": { - "level": 82, + "level": 83, "moves": ["airslash", "defog", "energyball", "heatwave", "psychic"], "doublesLevel": 86, "doublesMoves": ["airslash", "heatwave", "protect", "psychic", "tailwind"] }, "cofagrigus": { - "level": 86, + "level": 87, "moves": ["bodypress", "memento", "shadowball", "toxicspikes", "willowisp"], "doublesLevel": 88, "doublesMoves": ["bodypress", "irondefense", "painsplit", "shadowball", "trickroom", "willowisp"] @@ -1449,7 +1443,7 @@ }, "gothitelle": { "level": 87, - "moves": ["nastyplot", "psychic", "shadowball", "thunderbolt", "trick"], + "moves": ["darkpulse", "nastyplot", "psychic", "thunderbolt", "trick"], "doublesLevel": 83, "doublesMoves": ["fakeout", "healpulse", "helpinghand", "hypnosis", "protect", "psychic", "trickroom"] }, @@ -1466,7 +1460,7 @@ "doublesMoves": ["auroraveil", "blizzard", "explosion", "freezedry", "protect"] }, "emolga": { - "level": 89, + "level": 90, "moves": ["airslash", "defog", "energyball", "roost", "thunderbolt", "toxic", "uturn"], "doublesLevel": 88, "doublesMoves": ["acrobatics", "helpinghand", "nuzzle", "tailwind", "taunt", "voltswitch"] @@ -1478,7 +1472,7 @@ "doublesMoves": ["closecombat", "drillrun", "ironhead", "knockoff", "megahorn", "protect", "swordsdance"] }, "amoonguss": { - "level": 84, + "level": 83, "moves": ["gigadrain", "sludgebomb", "spore", "synthesis", "toxic"], "doublesLevel": 81, "doublesMoves": ["clearsmog", "pollenpuff", "protect", "ragepowder", "spore"] @@ -1509,7 +1503,7 @@ }, "beheeyem": { "level": 87, - "moves": ["psychic", "shadowball", "thunderbolt", "trick", "trickroom"], + "moves": ["darkpulse", "psychic", "thunderbolt", "trick", "trickroom"], "doublesLevel": 88, "doublesMoves": ["protect", "psychic", "shadowball", "thunderbolt", "trickroom"] }, @@ -1526,7 +1520,7 @@ "doublesMoves": ["closecombat", "dragonclaw", "dragondance", "poisonjab", "protect"] }, "beartic": { - "level": 85, + "level": 86, "moves": ["aquajet", "iciclecrash", "stoneedge", "superpower", "swordsdance"], "doublesLevel": 86, "doublesMoves": ["aquajet", "iciclecrash", "protect", "superpower", "swordsdance"] @@ -1538,14 +1532,14 @@ "doublesMoves": ["freezedry", "haze", "icebeam", "icywind", "rapidspin", "recover", "toxic"] }, "accelgor": { - "level": 87, + "level": 89, "moves": ["bugbuzz", "energyball", "focusblast", "sludgebomb", "spikes", "toxic", "yawn"], "doublesLevel": 88, "doublesMoves": ["acidspray", "bugbuzz", "encore", "energyball", "focusblast"], "noDynamaxMoves": ["bugbuzz", "encore", "energyball", "focusblast", "spikes", "toxic"] }, "stunfisk": { - "level": 84, + "level": 83, "moves": ["discharge", "earthpower", "foulplay", "sludgebomb", "stealthrock"], "doublesLevel": 88, "doublesMoves": ["earthpower", "electroweb", "foulplay", "stealthrock", "thunderbolt"] @@ -1587,7 +1581,7 @@ "doublesMoves": ["closecombat", "headcharge", "lashout", "protect", "wildcharge"] }, "braviary": { - "level": 82, + "level": 80, "moves": ["bravebird", "bulkup", "closecombat", "roost"], "doublesLevel": 82, "doublesMoves": ["bravebird", "bulkup", "closecombat", "roost", "tailwind"] @@ -1617,7 +1611,7 @@ "doublesMoves": ["darkpulse", "dracometeor", "dragonpulse", "earthpower", "fireblast", "nastyplot", "protect", "tailwind"] }, "volcarona": { - "level": 75, + "level": 74, "moves": ["bugbuzz", "fireblast", "gigadrain", "quiverdance", "roost"], "doublesLevel": 80, "doublesMoves": ["bugbuzz", "gigadrain", "heatwave", "protect", "quiverdance"] @@ -1629,7 +1623,7 @@ "doublesMoves": ["closecombat", "ironhead", "protect", "stoneedge", "swordsdance", "thunderwave"] }, "terrakion": { - "level": 78, + "level": 77, "moves": ["closecombat", "earthquake", "quickattack", "stoneedge", "swordsdance"], "doublesLevel": 80, "doublesMoves": ["closecombat", "protect", "rockslide", "swordsdance"] @@ -1654,13 +1648,13 @@ "doublesMoves": ["heatwave", "hurricane", "knockoff", "nastyplot", "protect", "uturn"] }, "thundurus": { - "level": 80, + "level": 81, "moves": ["grassknot", "knockoff", "nastyplot", "sludgewave", "superpower", "thunderbolt", "thunderwave"], "doublesLevel": 82, "doublesMoves": ["grassknot", "knockoff", "nastyplot", "protect", "sludgebomb", "thunderbolt", "thunderwave"] }, "thundurustherian": { - "level": 79, + "level": 78, "moves": ["focusblast", "grassknot", "nastyplot", "psychic", "thunderbolt", "voltswitch"], "doublesLevel": 82, "doublesMoves": ["agility", "focusblast", "grassknot", "nastyplot", "sludgebomb", "thunderbolt", "voltswitch"] @@ -1678,7 +1672,7 @@ "doublesMoves": ["boltstrike", "dragonclaw", "dragondance", "roost"] }, "landorus": { - "level": 76, + "level": 75, "moves": ["earthpower", "focusblast", "knockoff", "rockpolish", "rockslide", "sludgewave", "stealthrock"], "doublesLevel": 80, "doublesMoves": ["calmmind", "earthpower", "focusblast", "protect", "psychic", "sludgebomb"] @@ -1691,7 +1685,7 @@ "noDynamaxMoves": ["earthquake", "knockoff", "stealthrock", "stoneedge", "swordsdance", "uturn"] }, "kyurem": { - "level": 80, + "level": 79, "moves": ["dracometeor", "earthpower", "freezedry", "icebeam", "roost", "substitute"], "doublesLevel": 78, "doublesMoves": ["dracometeor", "earthpower", "freezedry", "glaciate", "protect", "roost"] @@ -1709,19 +1703,19 @@ "doublesMoves": ["dracometeor", "dragonpulse", "earthpower", "freezedry", "fusionflare", "icebeam", "protect", "roost"] }, "keldeoresolute": { - "level": 78, + "level": 77, "moves": ["airslash", "calmmind", "hydropump", "icywind", "scald", "secretsword", "substitute"], "doublesLevel": 82, "doublesMoves": ["airslash", "calmmind", "icywind", "muddywater", "protect", "secretsword"] }, "genesect": { - "level": 74, + "level": 72, "moves": ["blazekick", "extremespeed", "ironhead", "leechlife", "shiftgear", "thunderbolt", "uturn"], "doublesLevel": 78, "doublesMoves": ["blazekick", "ironhead", "leechlife", "protect", "shiftgear", "thunderbolt", "uturn"] }, "genesectdouse": { - "level": 74, + "level": 72, "moves": ["bugbuzz", "extremespeed", "flamethrower", "icebeam", "ironhead", "technoblast", "thunderbolt", "uturn"] }, "diggersby": { @@ -1734,10 +1728,10 @@ "level": 81, "moves": ["bravebird", "defog", "flareblitz", "roost", "swordsdance", "uturn"], "doublesLevel": 86, - "doublesMoves": ["bravebird", "defog", "incinerate", "overheat", "tailwind", "u-turn", "willowisp"] + "doublesMoves": ["bravebird", "defog", "incinerate", "overheat", "tailwind", "uturn", "willowisp"] }, "pangoro": { - "level": 84, + "level": 85, "moves": ["closecombat", "gunkshot", "icepunch", "knockoff", "partingshot"], "doublesLevel": 88, "doublesMoves": ["closecombat", "drainpunch", "gunkshot", "icepunch", "knockoff", "protect"] @@ -1750,12 +1744,12 @@ }, "meowsticf": { "level": 86, - "moves": ["energyball", "nastyplot", "psychic", "shadowball", "thunderbolt"], + "moves": ["darkpulse", "energyball", "nastyplot", "psychic", "thunderbolt"], "doublesLevel": 88, "doublesMoves": ["fakeout", "nastyplot", "psychic", "shadowball", "thunderbolt"] }, "doublade": { - "level": 82, + "level": 81, "moves": ["closecombat", "ironhead", "shadowclaw", "shadowsneak", "swordsdance"] }, "aegislash": { @@ -1771,7 +1765,7 @@ "doublesMoves": ["closecombat", "ironhead", "kingsshield", "shadowclaw", "shadowsneak", "swordsdance"] }, "aromatisse": { - "level": 88, + "level": 89, "moves": ["calmmind", "moonblast", "protect", "toxic", "wish"], "doublesLevel": 86, "doublesMoves": ["healpulse", "moonblast", "protect", "trickroom", "wish"] @@ -1807,7 +1801,7 @@ "doublesMoves": ["aurasphere", "darkpulse", "icebeam", "muddywater", "uturn"] }, "heliolisk": { - "level": 82, + "level": 81, "moves": ["glare", "grassknot", "hypervoice", "surf", "thunderbolt", "voltswitch"], "doublesLevel": 88, "doublesMoves": ["glare", "grassknot", "hypervoice", "protect", "thunderbolt", "voltswitch"] @@ -1837,7 +1831,7 @@ "doublesMoves": ["bravebird", "closecombat", "protect", "swordsdance"] }, "dedenne": { - "level": 87, + "level": 90, "moves": ["protect", "recycle", "thunderbolt", "toxic"], "doublesLevel": 88, "doublesMoves": ["eerieimpulse", "helpinghand", "nuzzle", "recycle", "superfang", "thunderbolt"] @@ -1933,7 +1927,7 @@ "doublesMoves": ["bodypress", "diamondstorm", "earthpower", "moonblast"] }, "volcanion": { - "level": 79, + "level": 78, "moves": ["defog", "earthpower", "flamethrower", "sludgebomb", "steameruption"], "doublesLevel": 80, "doublesMoves": ["earthpower", "heatwave", "protect", "sludgebomb", "steameruption"] @@ -1982,25 +1976,25 @@ "doublesMoves": ["closecombat", "irontail", "protect", "stoneedge", "suckerpunch", "swordsdance"] }, "lycanrocdusk": { - "level": 80, + "level": 79, "moves": ["accelerock", "closecombat", "psychicfangs", "stoneedge", "swordsdance"], "doublesLevel": 81, "doublesMoves": ["accelerock", "closecombat", "drillrun", "protect", "rockslide", "swordsdance"] }, - "wishiwashischool": { + "wishiwashi": { "level": 85, "moves": ["earthquake", "hydropump", "icebeam", "scald", "uturn"], "doublesLevel": 88, "doublesMoves": ["earthquake", "helpinghand", "hydropump", "icebeam", "muddywater", "protect"] }, "toxapex": { - "level": 82, + "level": 80, "moves": ["banefulbunker", "haze", "recover", "scald", "toxic", "toxicspikes"], "doublesLevel": 90, "doublesMoves": ["banefulbunker", "haze", "recover", "scald", "toxic", "toxicspikes"] }, "mudsdale": { - "level": 82, + "level": 83, "moves": ["bodypress", "earthquake", "heavyslam", "rockslide", "stealthrock"], "doublesLevel": 86, "doublesMoves": ["bodypress", "heavyslam", "highhorsepower", "protect", "rest", "rocktomb"] @@ -2012,13 +2006,13 @@ "doublesMoves": ["leechlife", "liquidation", "lunge", "protect", "stickyweb", "wideguard"] }, "lurantis": { - "level": 86, + "level": 87, "moves": ["defog", "knockoff", "leafstorm", "superpower", "synthesis"], "doublesLevel": 88, "doublesMoves": ["defog", "knockoff", "leafstorm", "protect", "superpower"] }, "shiinotic": { - "level": 87, + "level": 89, "moves": ["energyball", "leechseed", "moonblast", "spore", "strengthsap"], "doublesLevel": 88, "doublesMoves": ["energyball", "moonblast", "protect", "spore", "strengthsap"] @@ -2066,13 +2060,13 @@ "doublesMoves": ["aquajet", "firstimpression", "knockoff", "leechlife", "liquidation", "protect", "wideguard"] }, "palossand": { - "level": 86, + "level": 87, "moves": ["earthpower", "scorchingsands", "shadowball", "shoreup", "stealthrock", "toxic"], "doublesLevel": 88, "doublesMoves": ["hypnosis", "protect", "scorchingsands", "shadowball", "shoreup", "stealthrock"] }, "pyukumuku": { - "level": 84, + "level": 85, "moves": ["counter", "mirrorcoat", "recover", "toxic"], "doublesLevel": 100, "doublesMoves": ["helpinghand", "lightscreen", "memento", "reflect"] @@ -2196,7 +2190,7 @@ "doublesMoves": ["dragonpulse", "fireblast", "protect", "scorchingsands", "shellsmash"] }, "togedemaru": { - "level": 85, + "level": 86, "moves": ["ironhead", "nuzzle", "spikyshield", "uturn", "wish", "zingzap"], "doublesLevel": 88, "doublesMoves": ["encore", "fakeout", "ironhead", "nuzzle", "spikyshield", "zingzap"] @@ -2214,7 +2208,7 @@ "doublesMoves": ["dracometeor", "dragonpulse", "heatwave", "hypervoice"] }, "dhelmise": { - "level": 86, + "level": 87, "moves": ["anchorshot", "earthquake", "poltergeist", "powerwhip", "rapidspin", "swordsdance"], "doublesLevel": 88, "doublesMoves": ["anchorshot", "knockoff", "powerwhip", "protect"] @@ -2226,7 +2220,7 @@ "doublesMoves": ["bodypress", "dracometeor", "irondefense", "protect"] }, "tapukoko": { - "level": 77, + "level": 76, "moves": ["calmmind", "dazzlinggleam", "grassknot", "substitute", "thunderbolt", "voltswitch"], "doublesLevel": 80, "doublesMoves": ["bravebird", "dazzlinggleam", "grassknot", "taunt", "thunderbolt", "uturn"] @@ -2238,13 +2232,13 @@ "doublesMoves": ["calmmind", "dazzlinggleam", "focusblast", "moonblast", "protect", "psyshock"] }, "tapubulu": { - "level": 81, + "level": 82, "moves": ["closecombat", "hornleech", "megahorn", "stoneedge", "swordsdance", "woodhammer"], "doublesLevel": 83, "doublesMoves": ["closecombat", "hornleech", "protect", "stoneedge", "swordsdance", "woodhammer"] }, "tapufini": { - "level": 78, + "level": 77, "moves": ["calmmind", "defog", "moonblast", "surf", "taunt"], "doublesLevel": 80, "doublesMoves": ["haze", "healpulse", "moonblast", "muddywater", "naturesmadness", "protect", "taunt"] @@ -2262,13 +2256,13 @@ "doublesMoves": ["calmmind", "moonblast", "moongeistbeam", "protect", "psyshock", "roost"] }, "nihilego": { - "level": 79, + "level": 78, "moves": ["grassknot", "powergem", "sludgewave", "stealthrock", "thunderbolt", "toxicspikes"], "doublesLevel": 81, "doublesMoves": ["grassknot", "meteorbeam", "protect", "sludgebomb", "thunderbolt"] }, "buzzwole": { - "level": 76, + "level": 75, "moves": ["closecombat", "darkestlariat", "dualwingbeat", "ironhead", "leechlife", "stoneedge"], "doublesLevel": 80, "doublesMoves": ["closecombat", "darkestlariat", "dualwingbeat", "ironhead", "leechlife", "stoneedge"], @@ -2294,7 +2288,7 @@ "noDynamaxMoves": ["airslash", "earthquake", "fireblast", "heavyslam", "leechseed", "protect"] }, "kartana": { - "level": 74, + "level": 72, "moves": ["knockoff", "leafblade", "sacredsword", "smartstrike", "swordsdance"], "doublesLevel": 78, "doublesMoves": ["knockoff", "leafblade", "sacredsword", "smartstrike", "swordsdance"] @@ -2312,25 +2306,19 @@ "doublesMoves": ["calmmind", "earthpower", "heatwave", "moonlight", "photongeyser", "protect"] }, "necrozmaduskmane": { - "level": 67, + "level": 66, "moves": ["dragondance", "earthquake", "morningsun", "photongeyser", "sunsteelstrike"], "doublesLevel": 72, "doublesMoves": ["dragondance", "photongeyser", "protect", "sunsteelstrike"] }, "necrozmadawnwings": { - "level": 76, + "level": 75, "moves": ["calmmind", "heatwave", "moongeistbeam", "photongeyser", "stealthrock"], "doublesLevel": 72, "doublesMoves": ["heatwave", "moongeistbeam", "photongeyser", "protect", "thunderwave"] }, "magearna": { - "level": 75, - "moves": ["agility", "calmmind", "flashcannon", "fleurcannon"], - "doublesLevel": 72, - "doublesMoves": ["agility", "aurasphere", "dazzlinggleam", "flashcannon", "fleurcannon", "protect", "trick"] - }, - "magearnaoriginal": { - "level": 75, + "level": 74, "moves": ["agility", "calmmind", "flashcannon", "fleurcannon"], "doublesLevel": 72, "doublesMoves": ["agility", "aurasphere", "dazzlinggleam", "flashcannon", "fleurcannon", "protect", "trick"] @@ -2342,7 +2330,7 @@ "doublesMoves": ["closecombat", "protect", "rocktomb", "shadowsneak", "spectralthief"] }, "naganadel": { - "level": 74, + "level": 72, "moves": ["airslash", "dracometeor", "fireblast", "nastyplot", "sludgewave"], "doublesLevel": 76, "doublesMoves": ["dracometeor", "flamethrower", "nastyplot", "sludgebomb", "uturn"], @@ -2425,7 +2413,7 @@ "doublesMoves": ["helpinghand", "hypnosis", "lightscreen", "psychic", "reflect", "stickyweb", "strugglebug"] }, "thievul": { - "level": 87, + "level": 89, "moves": ["darkpulse", "foulplay", "grassknot", "nastyplot", "partingshot", "psychic"], "doublesLevel": 89, "doublesMoves": ["faketears", "foulplay", "partingshot", "snarl", "taunt"] @@ -2443,26 +2431,26 @@ "doublesMoves": ["doubleedge", "swordsdance", "thunderwave", "wildcharge", "zenheadbutt"] }, "drednaw": { - "level": 84, + "level": 83, "moves": ["liquidation", "stealthrock", "stoneedge", "superpower", "swordsdance"], "doublesLevel": 84, "doublesMoves": ["highhorsepower", "liquidation", "protect", "rockslide", "superpower", "swordsdance"], "noDynamaxMoves": ["liquidation", "raindance", "stealthrock", "stoneedge", "superpower"] }, "boltund": { - "level": 84, + "level": 85, "moves": ["bulkup", "crunch", "firefang", "playrough", "psychicfangs", "thunderfang", "voltswitch"], "doublesLevel": 86, "doublesMoves": ["crunch", "firefang", "nuzzle", "playrough", "protect", "psychicfangs", "snarl", "thunderfang"] }, "coalossalgmax": { - "level": 87, + "level": 88, "moves": ["overheat", "rapidspin", "spikes", "stealthrock", "stoneedge", "willowisp"], "doublesLevel": 85, "doublesMoves": ["fireblast", "incinerate", "protect", "stealthrock", "stoneedge", "willowisp"] }, "flapple": { - "level": 84, + "level": 83, "moves": ["dragondance", "gravapple", "outrage", "suckerpunch", "uturn"], "doublesLevel": 89, "doublesMoves": ["acrobatics", "dragondance", "dragonrush", "gravapple", "protect"] @@ -2524,7 +2512,7 @@ "doublesMoves": ["coil", "firelash", "knockoff", "leechlife", "powerwhip", "protect"] }, "grapploct": { - "level": 86, + "level": 87, "moves": ["brutalswing", "bulkup", "drainpunch", "icepunch", "suckerpunch"], "doublesLevel": 88, "doublesMoves": ["closecombat", "coaching", "drainpunch", "icepunch", "octolock", "protect"] @@ -2542,11 +2530,11 @@ "doublesMoves": ["dazzlinggleam", "mysticalfire", "protect", "psychic", "trickroom"] }, "grimmsnarl": { - "level": 82, + "level": 84, "moves": ["lightscreen", "reflect", "spiritbreak", "taunt", "thunderwave"] }, "grimmsnarlgmax": { - "level": 82, + "level": 84, "moves": ["bulkup", "darkestlariat", "playrough", "rest", "suckerpunch", "trick"], "doublesLevel": 84, "doublesMoves": ["darkestlariat", "fakeout", "lightscreen", "reflect", "spiritbreak", "taunt", "thunderwave"] @@ -2558,7 +2546,7 @@ "doublesMoves": ["closecombat", "facade", "knockoff", "obstruct", "partingshot", "taunt"] }, "perrserker": { - "level": 86, + "level": 87, "moves": ["closecombat", "crunch", "fakeout", "ironhead", "uturn"], "doublesLevel": 88, "doublesMoves": ["closecombat", "fakeout", "ironhead", "lashout", "protect", "uturn"] @@ -2596,7 +2584,7 @@ }, "falinks": { "level": 84, - "moves": ["closecombat", "noretreat", "poisonjab", "rockslide", "throatchop"], + "moves": ["closecombat", "ironhead", "noretreat", "rockslide", "throatchop"], "doublesLevel": 86, "doublesMoves": ["closecombat", "noretreat", "poisonjab", "rockslide", "throatchop"] }, @@ -2625,13 +2613,13 @@ "doublesMoves": ["bellydrum", "iciclecrash", "liquidation", "protect"] }, "indeedee": { - "level": 83, + "level": 84, "moves": ["calmmind", "expandingforce", "hypervoice", "mysticalfire", "trick"], "doublesLevel": 80, "doublesMoves": ["encore", "expandingforce", "hypervoice", "mysticalfire", "protect", "trick"] }, "indeedeef": { - "level": 84, + "level": 85, "moves": ["calmmind", "expandingforce", "healingwish", "hypervoice", "mysticalfire"], "doublesLevel": 80, "doublesMoves": ["expandingforce", "followme", "healpulse", "helpinghand", "protect"] @@ -2666,25 +2654,25 @@ "doublesMoves": ["blizzard", "boltbeak", "iciclecrash", "lowkick", "protect"] }, "dracovish": { - "level": 80, + "level": 79, "moves": ["crunch", "fishiousrend", "icefang", "lowkick", "psychicfangs"], "doublesLevel": 78, "doublesMoves": ["crunch", "dragonrush", "fishiousrend", "icefang", "psychicfangs"] }, "arctovish": { - "level": 86, + "level": 87, "moves": ["bodyslam", "fishiousrend", "freezedry", "iciclecrash", "psychicfangs"], "doublesLevel": 88, "doublesMoves": ["blizzard", "fishiousrend", "iciclecrash", "protect", "superfang"] }, "duraludon": { - "level": 84, + "level": 83, "moves": ["bodypress", "dracometeor", "flashcannon", "stealthrock", "thunderbolt"], "doublesLevel": 87, "doublesMoves": ["bodypress", "dracometeor", "dragonpulse", "flashcannon", "protect", "snarl", "thunderbolt"] }, "dragapult": { - "level": 78, + "level": 77, "moves": ["dracometeor", "fireblast", "shadowball", "thunderbolt", "uturn"], "doublesLevel": 80, "doublesMoves": ["dragondarts", "fireblast", "protect", "shadowball", "thunderbolt", "thunderwave"] @@ -2696,13 +2684,13 @@ "doublesMoves": ["closecombat", "crunch", "playrough", "protect", "psychicfangs", "swordsdance"] }, "zaciancrowned": { - "level": 62, + "level": 61, "moves": ["behemothblade", "closecombat", "crunch", "playrough", "psychicfangs", "swordsdance"], "doublesLevel": 65, "doublesMoves": ["behemothblade", "closecombat", "playrough", "protect", "psychicfangs", "swordsdance"] }, "zamazenta": { - "level": 73, + "level": 72, "moves": ["closecombat", "crunch", "psychicfangs", "wildcharge"], "doublesLevel": 74, "doublesMoves": ["closecombat", "crunch", "playrough", "protect", "psychicfangs"] @@ -2726,7 +2714,7 @@ "doublesMoves": ["closecombat", "ironhead", "protect", "suckerpunch", "wickedblow"] }, "urshifurapidstrike": { - "level": 77, + "level": 76, "moves": ["bulkup", "drainpunch", "substitute", "surgingstrikes"], "doublesLevel": 80, "doublesMoves": ["aquajet", "closecombat", "icepunch", "protect", "surgingstrikes", "uturn"] @@ -2736,7 +2724,7 @@ "moves": ["bulkup", "drainpunch", "substitute", "wickedblow"] }, "urshifurapidstrikegmax": { - "level": 77, + "level": 76, "moves": ["bulkup", "closecombat", "icepunch", "surgingstrikes", "uturn"] }, "zarude": { @@ -2745,12 +2733,6 @@ "doublesLevel": 80, "doublesMoves": ["closecombat", "darkestlariat", "junglehealing", "powerwhip", "protect"] }, - "zarudedada": { - "level": 78, - "moves": ["bulkup", "closecombat", "darkestlariat", "junglehealing", "powerwhip", "uturn"], - "doublesLevel": 80, - "doublesMoves": ["closecombat", "darkestlariat", "junglehealing", "powerwhip", "protect"] - }, "regieleki": { "level": 77, "moves": ["explosion", "substitute", "thunderbolt", "voltswitch"], @@ -2783,7 +2765,7 @@ "doublesMoves": ["helpinghand", "leafstorm", "pollenpuff", "protect"] }, "calyrexice": { - "level": 72, + "level": 71, "moves": ["agility", "closecombat", "glaciallance", "highhorsepower", "trickroom"], "doublesLevel": 72, "doublesMoves": ["closecombat", "glaciallance", "highhorsepower", "swordsdance", "trickroom"] diff --git a/data/mods/gen8/factory-sets.json b/data/random-battles/gen8/factory-sets.json similarity index 100% rename from data/mods/gen8/factory-sets.json rename to data/random-battles/gen8/factory-sets.json diff --git a/data/mods/gen8/random-teams.ts b/data/random-battles/gen8/teams.ts similarity index 95% rename from data/mods/gen8/random-teams.ts rename to data/random-battles/gen8/teams.ts index c6f089d7d4c7..1cec6b38ed3e 100644 --- a/data/mods/gen8/random-teams.ts +++ b/data/random-battles/gen8/teams.ts @@ -111,7 +111,7 @@ export class RandomGen8Teams { readonly maxMoveCount: number; readonly forceMonotype: string | undefined; - randomData: {[species: string]: OldRandomBattleSpecies} = require('./random-data.json'); + randomData: {[species: string]: OldRandomBattleSpecies} = require('./data.json'); /** * Checkers for move enforcement based on a Pokémon's types or other factors @@ -431,28 +431,11 @@ export class RandomGen8Teams { // Four random unique moves from the movepool let pool = ['struggle']; if (forme === 'Smeargle') { - pool = this.dex.moves - .all() + pool = this.dex.moves.all() .filter(move => !(move.isNonstandard || move.isZ || move.isMax || move.realMove)) .map(m => m.id); } else { - const formes = ['gastrodoneast', 'pumpkaboosuper', 'zygarde10']; - let learnset = this.dex.species.getLearnset(species.id); - if (formes.includes(species.id) || !learnset) { - learnset = this.dex.species.getLearnset(this.dex.species.get(species.baseSpecies).id); - } - if (learnset) { - pool = Object.keys(learnset).filter( - moveid => learnset![moveid].find(learned => learned.startsWith(String(this.gen))) - ); - } - if (species.changesFrom) { - learnset = this.dex.species.getLearnset(toID(species.changesFrom)); - const basePool = Object.keys(learnset!).filter( - moveid => learnset![moveid].find(learned => learned.startsWith(String(this.gen))) - ); - pool = [...new Set(pool.concat(basePool))]; - } + pool = [...this.dex.species.getMovePool(species.id)]; } const moves = this.multipleSamplesNoReplace(pool, this.maxMoveCount); @@ -550,9 +533,6 @@ export class RandomGen8Teams { // Picks `n` random pokemon--no repeats, even among formes // Also need to either normalize for formes or select formes at random // Unreleased are okay but no CAP - const last = [0, 151, 251, 386, 493, 649, 721, 807, 898, 1010][this.gen]; - - if (n <= 0 || n > last) throw new Error(`n must be a number between 1 and ${last} (got ${n})`); if (requiredType && !this.dex.types.get(requiredType).exists) { throw new Error(`"${requiredType}" is not a valid type.`); } @@ -566,15 +546,13 @@ export class RandomGen8Teams { for (const species of speciesPool) { if (species.isNonstandard && species.isNonstandard !== 'Unobtainable') continue; if (requireMoves) { - const hasMovesInCurrentGen = Object.values(this.dex.species.getLearnset(species.id) || {}) - .some(sources => sources.some(source => source.startsWith('9'))); + const hasMovesInCurrentGen = this.dex.species.getMovePool(species.id).size; if (!hasMovesInCurrentGen) continue; } if (requiredType && !species.types.includes(requiredType)) continue; if (minSourceGen && species.gen < minSourceGen) continue; const num = species.num; if (num <= 0 || pool.includes(num)) continue; - if (num > last) break; pool.push(num); } } else { @@ -634,6 +612,7 @@ export class RandomGen8Teams { if (!(species.num in hasDexNumber)) continue; if (isNotCustom && (species.gen > this.gen || (species.isNonstandard && species.isNonstandard !== 'Unobtainable'))) continue; + if (requiredType && !species.types.includes(requiredType)) continue; if (!formes[hasDexNumber[species.num]]) formes[hasDexNumber[species.num]] = []; formes[hasDexNumber[species.num]].push(species.name); } @@ -1188,7 +1167,7 @@ export class RandomGen8Teams { if ( !isDoubles && counter.get('Status') < 2 && - ['Hunger Switch', 'Speed Boost', 'Moody'].every(m => !abilities.has(m)) + ['Hunger Switch', 'Speed Boost'].every(m => !abilities.has(m)) ) return {cull: true}; if (movePool.includes('leechseed') || (movePool.includes('toxic') && !moves.has('wish'))) return {cull: true}; if (isDoubles && ( @@ -1498,13 +1477,13 @@ export class RandomGen8Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, + isDoubles: boolean, isNoDynamax: boolean ): boolean { if ([ - 'Flare Boost', 'Hydration', 'Ice Body', 'Immunity', 'Innards Out', 'Insomnia', 'Misty Surge', + 'Flare Boost', 'Hydration', 'Ice Body', 'Immunity', 'Innards Out', 'Insomnia', 'Misty Surge', 'Moody', 'Perish Body', 'Quick Feet', 'Rain Dish', 'Snow Cloak', 'Steadfast', 'Steam Engine', ].includes(ability)) return true; @@ -1543,7 +1522,7 @@ export class RandomGen8Teams { case 'Harvest': return (abilities.has('Frisk') && !isDoubles); case 'Hustle': case 'Inner Focus': - return (counter.get('Physical') < 2 || abilities.has('Iron Fist')); + return ((species.id !== 'glalie' && counter.get('Physical') < 2) || abilities.has('Iron Fist')); case 'Infiltrator': return (moves.has('rest') && moves.has('sleeptalk')) || (isDoubles && abilities.has('Clear Body')); case 'Intimidate': @@ -1694,9 +1673,9 @@ export class RandomGen8Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, - isDoubles: boolean, preferredType: string, role: RandomTeamsTypes.Role, + isDoubles: boolean, isNoDynamax: boolean ): string { const abilityData = Array.from(abilities).map(a => this.dex.abilities.get(a)); @@ -1741,7 +1720,7 @@ export class RandomGen8Teams { // Obtain a list of abilities that are allowed (not culled) for (const ability of abilityData) { if (ability.rating >= 1 && !this.shouldCullAbility( - ability.name, types, moves, abilities, counter, movePool, teamDetails, species, isDoubles, '', '', isNoDynamax + ability.name, types, moves, abilities, counter, movePool, teamDetails, species, '', '', isDoubles, isNoDynamax )) { abilityAllowed.push(ability); } @@ -2004,7 +1983,7 @@ export class RandomGen8Teams { if (counter.damagingMoves.size >= 4 && defensiveStatTotal >= 235) return 'Assault Vest'; if ( ['clearsmog', 'curse', 'haze', 'healbell', 'protect', 'sleeptalk', 'strangesteam'].some(m => moves.has(m)) && - (ability === 'Moody' || !isDoubles) + !isDoubles ) return 'Leftovers'; } @@ -2041,8 +2020,7 @@ export class RandomGen8Teams { (!teamDetails.defog || ability === 'Intimidate' || moves.has('uturn') || moves.has('voltswitch')) ); const spinnerCase = (moves.has('rapidspin') && (ability === 'Regenerator' || !!counter.get('recovery'))); - // Glalie prefers Leftovers - if (!isDoubles && (rockWeaknessCase || spinnerCase) && species.id !== 'glalie') return 'Heavy-Duty Boots'; + if (!isDoubles && (rockWeaknessCase || spinnerCase)) return 'Heavy-Duty Boots'; if ( !isDoubles && this.dex.getEffectiveness('Ground', species) >= 2 && !types.has('Poison') && @@ -2109,8 +2087,8 @@ export class RandomGen8Teams { const customScale: {[k: string]: number} = { // These Pokemon are too strong and need a lower level zaciancrowned: 65, calyrexshadow: 68, xerneas: 70, necrozmaduskmane: 72, zacian: 72, kyogre: 73, eternatus: 73, - zekrom: 74, marshadow: 75, glalie: 78, urshifurapidstrike: 79, haxorus: 80, inteleon: 80, - cresselia: 83, octillery: 84, jolteon: 84, swoobat: 84, dugtrio: 84, slurpuff: 84, polteageist: 84, + zekrom: 74, marshadow: 75, urshifurapidstrike: 79, haxorus: 80, inteleon: 80, + cresselia: 83, jolteon: 84, swoobat: 84, dugtrio: 84, slurpuff: 84, polteageist: 84, wobbuffet: 86, scrafty: 86, // These Pokemon are too weak and need a higher level delibird: 100, vespiquen: 96, pikachu: 92, shedinja: 92, solrock: 90, arctozolt: 88, reuniclus: 87, @@ -2144,6 +2122,28 @@ export class RandomGen8Teams { return 80; } + getForme(species: Species): string { + if (typeof species.battleOnly === 'string') { + // Only change the forme. The species has custom moves, and may have different typing and requirements. + return species.battleOnly; + } + if (species.cosmeticFormes) return this.sample([species.name].concat(species.cosmeticFormes)); + if (species.name.endsWith('-Gmax')) return species.name.slice(0, -5); + + // Consolidate mostly-cosmetic formes, at least for the purposes of Random Battles + if (['Magearna', 'Polteageist', 'Zarude'].includes(species.baseSpecies)) { + return this.sample([species.name].concat(species.otherFormes!)); + } + if (species.baseSpecies === 'Basculin') return 'Basculin' + this.sample(['', '-Blue-Striped']); + if (species.baseSpecies === 'Keldeo' && this.gen <= 7) return 'Keldeo' + this.sample(['', '-Resolute']); + if (species.baseSpecies === 'Pikachu' && this.dex.currentMod === 'gen8') { + return 'Pikachu' + this.sample( + ['', '-Original', '-Hoenn', '-Sinnoh', '-Unova', '-Kalos', '-Alola', '-Partner', '-World'] + ); + } + return species.name; + } + randomSet( species: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}, @@ -2152,20 +2152,8 @@ export class RandomGen8Teams { isNoDynamax = false ): RandomTeamsTypes.RandomSet { species = this.dex.species.get(species); - let forme = species.name; - let gmax = false; - - if (typeof species.battleOnly === 'string') { - // Only change the forme. The species has custom moves, and may have different typing and requirements. - forme = species.battleOnly; - } - if (species.cosmeticFormes) { - forme = this.sample([species.name].concat(species.cosmeticFormes)); - } - if (species.name.endsWith('-Gmax')) { - forme = species.name.slice(0, -5); - gmax = true; - } + const forme = this.getForme(species); + const gmax = species.name.endsWith('-Gmax'); const data = this.randomData[species.id]; @@ -2173,8 +2161,8 @@ export class RandomGen8Teams { (isDoubles && data.doublesMoves) || (isNoDynamax && data.noDynamaxMoves) || data.moves; - const movePool = (randMoves || Object.keys(this.dex.species.getLearnset(species.id)!)).slice(); - if (this.format.gameType === 'multi' || this.format.gameType === 'freeforall') { + const movePool: string[] = [...(randMoves || this.dex.species.getMovePool(species.id))]; + if (this.format.playerCount > 2) { // Random Multi Battle uses doubles move pools, but Ally Switch fails in multi battles // Random Free-For-All also uses doubles move pools, for now const allySwitch = movePool.indexOf('allyswitch'); @@ -2335,7 +2323,7 @@ export class RandomGen8Teams { } ability = this.getAbility(types, moves, abilities, counter, movePool, teamDetails, species, - isDoubles, '', '', isNoDynamax); + '', '', isDoubles, isNoDynamax); if (species.requiredItems) { item = this.sample(species.requiredItems); @@ -2362,9 +2350,6 @@ export class RandomGen8Teams { if (item === 'Leftovers' && types.has('Poison')) { item = 'Black Sludge'; } - if (species.baseSpecies === 'Pikachu' && !gmax && this.dex.currentMod !== 'gen8bdsp') { - forme = 'Pikachu' + this.sample(['', '-Original', '-Hoenn', '-Sinnoh', '-Unova', '-Kalos', '-Alola', '-Partner', '-World']); - } const level: number = this.getLevel(species, isDoubles, isNoDynamax); @@ -2435,11 +2420,10 @@ export class RandomGen8Teams { pokemonToExclude: RandomTeamsTypes.RandomSet[] = [], isMonotype = false, pokemonList: string[] - ) { + ): [{[k: string]: string[]}, string[]] { const exclude = pokemonToExclude.map(p => toID(p.species)); - const pokemonPool = []; + const pokemonPool: {[k: string]: string[]} = {}; const baseSpeciesPool = []; - const baseSpeciesCount: {[k: string]: number} = {}; for (const pokemon of pokemonList) { let species = this.dex.species.get(pokemon); if (exclude.includes(species.id)) continue; @@ -2450,14 +2434,18 @@ export class RandomGen8Teams { if (!species.types.includes(type)) continue; } } - pokemonPool.push(pokemon); - baseSpeciesCount[species.baseSpecies] = (baseSpeciesCount[species.baseSpecies] || 0) + 1; + + if (species.baseSpecies in pokemonPool) { + pokemonPool[species.baseSpecies].push(pokemon); + } else { + pokemonPool[species.baseSpecies] = [pokemon]; + } } // Include base species 1x if 1-3 formes, 2x if 4-6 formes, 3x if 7+ formes - for (const baseSpecies of Object.keys(baseSpeciesCount)) { - for (let i = 0; i < Math.min(Math.ceil(baseSpeciesCount[baseSpecies] / 3), 3); i++) { - baseSpeciesPool.push(baseSpecies); - } + for (const baseSpecies of Object.keys(pokemonPool)) { + // Squawkabilly has 4 formes, but only 2 functionally different formes, so only include it 1x + const weight = (baseSpecies === 'Squawkabilly') ? 1 : Math.min(Math.ceil(pokemonPool[baseSpecies].length / 3), 3); + for (let i = 0; i < weight; i++) baseSpeciesPool.push(baseSpecies); } return [pokemonPool, baseSpeciesPool]; } @@ -2484,7 +2472,9 @@ export class RandomGen8Teams { const typeCount: {[k: string]: number} = {}; const typeComboCount: {[k: string]: number} = {}; const typeWeaknesses: {[k: string]: number} = {}; + const typeDoubleWeaknesses: {[k: string]: number} = {}; const teamDetails: RandomTeamsTypes.TeamDetails = {}; + let numMaxLevelPokemon = 0; const pokemonList = []; for (const poke of Object.keys(this.randomData)) { @@ -2495,12 +2485,7 @@ export class RandomGen8Teams { const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { const baseSpecies = this.sampleNoReplace(baseSpeciesPool); - const currentSpeciesPool: Species[] = []; - for (const poke of pokemonPool) { - const species = this.dex.species.get(poke); - if (species.baseSpecies === baseSpecies) currentSpeciesPool.push(species); - } - let species = this.sample(currentSpeciesPool); + let species = this.dex.species.get(this.sample(pokemonPool[baseSpecies])); if (!species.exists) continue; // Limit to one of each species (Species Clause) @@ -2520,6 +2505,10 @@ export class RandomGen8Teams { const types = species.types; const typeCombo = types.slice().sort().join(); + const weakToFreezeDry = ( + this.dex.getEffectiveness('Ice', species) > 0 || + (this.dex.getEffectiveness('Ice', species) > -2 && types.includes('Water')) + ); // Dynamically scale limits for different team sizes. The default and minimum value is 1. const limitFactor = Math.round(this.maxTeamSize / 6) || 1; @@ -2535,7 +2524,7 @@ export class RandomGen8Teams { } if (skip) continue; - // Limit three weak to any type + // Limit three weak to any type, and one double weak to any type for (const typeName of this.dex.types.names()) { // it's weak to the type if (this.dex.getEffectiveness(typeName, species) > 0) { @@ -2545,12 +2534,31 @@ export class RandomGen8Teams { break; } } + if (this.dex.getEffectiveness(typeName, species) > 1) { + if (!typeDoubleWeaknesses[typeName]) typeDoubleWeaknesses[typeName] = 0; + if (typeDoubleWeaknesses[typeName] >= 1 * limitFactor) { + skip = true; + break; + } + } } if (skip) continue; + + // Limit four weak to Freeze-Dry + if (weakToFreezeDry) { + if (!typeWeaknesses['Freeze-Dry']) typeWeaknesses['Freeze-Dry'] = 0; + if (typeWeaknesses['Freeze-Dry'] >= 4 * limitFactor) continue; + } + + // Limit one level 100 Pokemon + if ( + !this.adjustLevel && numMaxLevelPokemon >= limitFactor && + (this.getLevel(species, isDoubles, this.dex.formats.getRuleTable(this.format).has('dynamaxclause')) === 100) + ) continue; } - // Limit one of any type combination, three in Monotype - if (!this.forceMonotype && typeComboCount[typeCombo] >= (isMonotype ? 3 : 1) * limitFactor) continue; + // Limit three of any type combination in Monotype + if (!this.forceMonotype && isMonotype && (typeComboCount[typeCombo] >= 3 * limitFactor)) continue; // The Pokemon of the Day if (potd?.exists && (pokemon.length === 1 || this.maxTeamSize === 1)) species = potd; @@ -2586,7 +2594,14 @@ export class RandomGen8Teams { if (this.dex.getEffectiveness(typeName, species) > 0) { typeWeaknesses[typeName]++; } + if (this.dex.getEffectiveness(typeName, species) > 1) { + typeDoubleWeaknesses[typeName]++; + } } + if (weakToFreezeDry) typeWeaknesses['Freeze-Dry']++; + + // Increment level 100 counter + if (set.level === 100) numMaxLevelPokemon++; // Track what the team has if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; @@ -2673,16 +2688,30 @@ export class RandomGen8Teams { // Build a pool of eligible sets, given the team partners // Also keep track of sets with moves the team requires - let effectivePool: {set: AnyObject, moveVariants?: number[]}[] = []; + let effectivePool: {set: AnyObject, moveVariants?: number[], item?: string, ability?: string}[] = []; const priorityPool = []; for (const curSet of setList) { // if (this.forceMonotype && !species.types.includes(this.forceMonotype)) continue; - const item = this.dex.items.get(curSet.item); - if (itemsMax[item.id] && teamData.has[item.id] >= itemsMax[item.id]) continue; + // reject disallowed items, specifically a second of any given choice item + const allowedItems: string[] = []; + for (const itemString of curSet.item) { + const item = this.dex.items.get(itemString); + if (itemsMax[item.id] && teamData.has[item.id] >= itemsMax[item.id]) continue; + allowedItems.push(itemString); + } + if (allowedItems.length === 0) continue; + const curSetItem = this.sample(allowedItems); - const ability = this.dex.abilities.get(curSet.ability); - if (teamData.weather && weatherAbilities.includes(ability.id)) continue; // reject 2+ weather setters + // reject 2+ weather setters + const allowedAbilities: string[] = []; + for (const abilityString of curSet.ability) { + const ability = this.dex.abilities.get(abilityString); + if (teamData.weather && weatherAbilities.includes(ability.id)) continue; + allowedAbilities.push(abilityString); + } + if (allowedAbilities.length === 0) continue; + const curSetAbility = this.sample(allowedAbilities); let reject = false; let hasRequiredMove = false; @@ -2700,8 +2729,10 @@ export class RandomGen8Teams { curSetVariants.push(variantIndex); } if (reject) continue; - effectivePool.push({set: curSet, moveVariants: curSetVariants}); - if (hasRequiredMove) priorityPool.push({set: curSet, moveVariants: curSetVariants}); + + const fullSetSpec = {set: curSet, moveVariants: curSetVariants, item: curSetItem, ability: curSetAbility}; + effectivePool.push(fullSetSpec); + if (hasRequiredMove) priorityPool.push(fullSetSpec); } if (priorityPool.length) effectivePool = priorityPool; @@ -2719,8 +2750,8 @@ export class RandomGen8Teams { } - const item = this.sampleIfArray(setData.set.item); - const ability = this.sampleIfArray(setData.set.ability); + const item = setData.item || this.sampleIfArray(setData.set.item); + const ability = setData.ability || this.sampleIfArray(setData.set.ability); const nature = this.sampleIfArray(setData.set.nature); const level = this.adjustLevel || setData.set.level || (tier === "LC" ? 5 : 100); diff --git a/data/mods/gen8bdsp/random-data.json b/data/random-battles/gen8bdsp/data.json similarity index 100% rename from data/mods/gen8bdsp/random-data.json rename to data/random-battles/gen8bdsp/data.json diff --git a/data/mods/gen8bdsp/random-teams.ts b/data/random-battles/gen8bdsp/teams.ts similarity index 99% rename from data/mods/gen8bdsp/random-teams.ts rename to data/random-battles/gen8bdsp/teams.ts index 2cbcaf52cbb1..af6d75f74721 100644 --- a/data/mods/gen8bdsp/random-teams.ts +++ b/data/random-battles/gen8bdsp/teams.ts @@ -1,10 +1,10 @@ // BDSP team generation logic is currently largely shared with Swsh import {PRNG, PRNGSeed} from '../../../sim/prng'; -import {MoveCounter, RandomGen8Teams, OldRandomBattleSpecies} from '../gen8/random-teams'; +import {MoveCounter, RandomGen8Teams, OldRandomBattleSpecies} from '../gen8/teams'; export class RandomBDSPTeams extends RandomGen8Teams { - randomData: {[species: string]: OldRandomBattleSpecies} = require('./random-data.json'); + randomData: {[species: string]: OldRandomBattleSpecies} = require('./data.json'); constructor(format: Format | string, prng: PRNG | PRNGSeed | null) { super(format, prng); @@ -533,6 +533,8 @@ export class RandomBDSPTeams extends RandomGen8Teams { movePool: string[], teamDetails: RandomTeamsTypes.TeamDetails, species: Species, + preferredType: string, + role: RandomTeamsTypes.Role, isDoubles: boolean, ): boolean { if ([ diff --git a/data/random-doubles-sets.json b/data/random-battles/gen9/doubles-sets.json similarity index 72% rename from data/random-doubles-sets.json rename to data/random-battles/gen9/doubles-sets.json index 7191e456e7b0..9b005a3e2659 100644 --- a/data/random-doubles-sets.json +++ b/data/random-battles/gen9/doubles-sets.json @@ -1,11 +1,36 @@ { + "venusaur": { + "level": 86, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Earth Power", "Giga Drain", "Knock Off", "Leaf Storm", "Protect", "Sludge Bomb"], + "teraTypes": ["Dark", "Water"] + } + ] + }, "charizard": { "level": 83, "sets": [ { - "role": "Doubles Support", - "movepool": ["Heat Wave", "Hurricane", "Protect", "Will-O-Wisp"], - "teraTypes": ["Fire", "Ground"] + "role": "Offensive Protect", + "movepool": ["Heat Wave", "Hurricane", "Protect", "Scorching Sands", "Will-O-Wisp"], + "teraTypes": ["Dragon", "Fire", "Ground"] + } + ] + }, + "blastoise": { + "level": 83, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Fake Out", "Flip Turn", "Icy Wind", "Life Dew", "Wave Crash", "Yawn"], + "teraTypes": ["Dragon", "Grass"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Dragon Pulse", "Muddy Water", "Protect", "Shell Smash"], + "teraTypes": ["Dragon", "Water"] } ] }, @@ -25,7 +50,7 @@ ] }, "pikachu": { - "level": 92, + "level": 94, "sets": [ { "role": "Doubles Support", @@ -50,12 +75,12 @@ ] }, "raichualola": { - "level": 87, + "level": 88, "sets": [ { "role": "Choice Item user", - "movepool": ["Focus Blast", "Grass Knot", "Psychic", "Psyshock", "Thunderbolt", "Volt Switch"], - "teraTypes": ["Electric", "Fighting", "Grass"] + "movepool": ["Alluring Voice", "Focus Blast", "Grass Knot", "Psychic", "Psyshock", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Electric", "Fairy", "Fighting", "Grass"] }, { "role": "Doubles Setup Sweeper", @@ -65,7 +90,7 @@ ] }, "sandslash": { - "level": 90, + "level": 92, "sets": [ { "role": "Doubles Setup Sweeper", @@ -80,17 +105,17 @@ ] }, "sandslashalola": { - "level": 89, + "level": 90, "sets": [ { "role": "Doubles Wallbreaker", - "movepool": ["Drill Run", "Ice Shard", "Ice Spinner", "Iron Head", "Knock Off"], + "movepool": ["Drill Run", "Ice Shard", "Iron Head", "Knock Off", "Triple Axel"], "teraTypes": ["Flying", "Water"] }, { - "role": "Doubles Setup Sweeper", - "movepool": ["Ice Shard", "Iron Head", "Protect", "Swords Dance"], - "teraTypes": ["Ice"] + "role": "Doubles Bulky Attacker", + "movepool": ["Drill Run", "Ice Shard", "Iron Head", "Triple Axel"], + "teraTypes": ["Flying", "Water"] } ] }, @@ -105,7 +130,7 @@ ] }, "clefable": { - "level": 85, + "level": 86, "sets": [ { "role": "Doubles Bulky Attacker", @@ -120,17 +145,17 @@ ] }, "ninetales": { - "level": 83, + "level": 81, "sets": [ { "role": "Doubles Wallbreaker", - "movepool": ["Flamethrower", "Heat Wave", "Overheat", "Protect", "Solar Beam"], + "movepool": ["Flamethrower", "Heat Wave", "Overheat", "Protect", "Scorching Sands", "Solar Beam"], "teraTypes": ["Fire", "Grass"] } ] }, "ninetalesalola": { - "level": 78, + "level": 76, "sets": [ { "role": "Doubles Support", @@ -149,8 +174,18 @@ } ] }, - "venomoth": { + "vileplume": { "level": 88, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Pollen Puff", "Sludge Bomb", "Strength Sap", "Stun Spore"], + "teraTypes": ["Steel", "Water"] + } + ] + }, + "venomoth": { + "level": 89, "sets": [ { "role": "Doubles Setup Sweeper", @@ -160,7 +195,7 @@ ] }, "dugtrio": { - "level": 87, + "level": 89, "sets": [ { "role": "Offensive Protect", @@ -180,12 +215,12 @@ ] }, "persian": { - "level": 90, + "level": 92, "sets": [ { "role": "Doubles Support", - "movepool": ["Covet", "Fake Out", "Feint", "Foul Play", "Helping Hand", "Hypnosis", "Icy Wind", "Snarl", "Taunt", "U-turn"], - "teraTypes": ["Dark"] + "movepool": ["Double-Edge", "Fake Out", "Helping Hand", "Icy Wind", "Knock Off", "Taunt", "U-turn"], + "teraTypes": ["Ghost", "Normal"] } ] }, @@ -194,13 +229,13 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Fake Out", "Foul Play", "Helping Hand", "Hypnosis", "Knock Off", "Parting Shot", "Quash", "Snarl", "Taunt", "Thunder Wave"], + "movepool": ["Fake Out", "Foul Play", "Helping Hand", "Icy Wind", "Knock Off", "Parting Shot", "Snarl", "Taunt", "Thunder Wave"], "teraTypes": ["Poison"] } ] }, "golduck": { - "level": 89, + "level": 91, "sets": [ { "role": "Doubles Fast Attacker", @@ -215,7 +250,7 @@ ] }, "annihilape": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Protect", @@ -230,7 +265,7 @@ ] }, "arcanine": { - "level": 82, + "level": 81, "sets": [ { "role": "Doubles Bulky Attacker", @@ -240,21 +275,26 @@ ] }, "arcaninehisui": { - "level": 82, + "level": 79, "sets": [ { "role": "Choice Item user", - "movepool": ["Close Combat", "Extreme Speed", "Flare Blitz", "Head Smash", "Wild Charge"], - "teraTypes": ["Fire", "Normal", "Rock"] + "movepool": ["Extreme Speed", "Flare Blitz", "Rock Slide", "Stone Edge"], + "teraTypes": ["Normal", "Rock"] + }, + { + "role": "Bulky Protect", + "movepool": ["Flare Blitz", "Morning Sun", "Protect", "Rock Slide", "Will-O-Wisp"], + "teraTypes": ["Fairy", "Grass"] } ] }, "poliwrath": { - "level": 88, + "level": 90, "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Circle Throw", "Close Combat", "Icy Wind", "Knock Off", "Liquidation"], + "movepool": ["Circle Throw", "Close Combat", "Coaching", "Icy Wind", "Knock Off", "Liquidation"], "teraTypes": ["Dragon", "Fire", "Ground", "Steel"] } ] @@ -269,8 +309,18 @@ } ] }, + "tentacruel": { + "level": 85, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Acid Spray", "Hydro Pump", "Icy Wind", "Knock Off", "Muddy Water", "Sludge Bomb", "Toxic Spikes"], + "teraTypes": ["Grass"] + } + ] + }, "golem": { - "level": 88, + "level": 87, "sets": [ { "role": "Doubles Wallbreaker", @@ -299,7 +349,7 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Fire Blast", "Heal Pulse", "Helping Hand", "Psyshock", "Scald", "Slack Off", "Trick Room"], + "movepool": ["Fire Blast", "Heal Pulse", "Helping Hand", "Psyshock", "Scald", "Trick Room"], "teraTypes": ["Dark", "Grass"] }, { @@ -310,7 +360,7 @@ ] }, "slowbrogalar": { - "level": 85, + "level": 86, "sets": [ { "role": "Doubles Wallbreaker", @@ -319,28 +369,53 @@ } ] }, + "dodrio": { + "level": 85, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Brave Bird", "Double-Edge", "Drill Run", "Knock Off", "Quick Attack"], + "teraTypes": ["Ground", "Normal"] + }, + { + "role": "Offensive Protect", + "movepool": ["Brave Bird", "Drill Run", "Protect", "Quick Attack", "Swords Dance"], + "teraTypes": ["Ground"] + } + ] + }, + "dewgong": { + "level": 91, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Encore", "Fake Out", "Hydro Pump", "Icy Wind"], + "teraTypes": ["Grass"] + } + ] + }, "muk": { "level": 88, "sets": [ { - "role": "Doubles Support", + "role": "Doubles Bulky Attacker", "movepool": ["Drain Punch", "Gunk Shot", "Haze", "Helping Hand", "Ice Punch", "Knock Off", "Poison Gas", "Poison Jab", "Shadow Sneak"], "teraTypes": ["Dark"] } ] }, "mukalola": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Support", - "movepool": ["Drain Punch", "Gunk Shot", "Helping Hand", "Ice Punch", "Knock Off", "Poison Jab", "Protect", "Rock Tomb", "Snarl"], + "movepool": ["Drain Punch", "Gunk Shot", "Helping Hand", "Ice Punch", "Knock Off", "Poison Jab", "Protect", "Snarl"], "teraTypes": ["Flying"] } ] }, "cloyster": { - "level": 85, + "level": 87, "sets": [ { "role": "Doubles Setup Sweeper", @@ -379,8 +454,8 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Foul Play", "Helping Hand", "Light Screen", "Taunt", "Thunder Wave", "Thunderbolt", "Volt Switch"], - "teraTypes": ["Dark", "Flying"] + "movepool": ["Electroweb", "Foul Play", "Helping Hand", "Taunt", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Flying"] }, { "role": "Tera Blast user", @@ -394,7 +469,7 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Energy Ball", "Leaf Storm", "Reflect", "Taunt", "Thunder Wave", "Thunderbolt", "Volt Switch"], + "movepool": ["Electroweb", "Energy Ball", "Leaf Storm", "Taunt", "Thunderbolt", "Volt Switch"], "teraTypes": ["Steel"] }, { @@ -404,8 +479,48 @@ } ] }, + "exeggutor": { + "level": 88, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Energy Ball", "Leaf Storm", "Protect", "Psychic", "Trick Room"], + "teraTypes": ["Fire", "Poison", "Steel"] + } + ] + }, + "exeggutoralola": { + "level": 88, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Draco Meteor", "Flamethrower", "Protect", "Trick Room", "Wood Hammer"], + "teraTypes": ["Fire"] + } + ] + }, + "hitmonlee": { + "level": 86, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Close Combat", "Fake Out", "Knock Off", "Poison Jab", "Protect"], + "teraTypes": ["Dark", "Poison"] + } + ] + }, + "hitmonchan": { + "level": 89, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Close Combat", "Coaching", "Fake Out", "Knock Off", "Poison Jab"], + "teraTypes": ["Dark", "Poison"] + } + ] + }, "weezing": { - "level": 87, + "level": 90, "sets": [ { "role": "Doubles Support", @@ -415,7 +530,7 @@ ] }, "weezinggalar": { - "level": 86, + "level": 87, "sets": [ { "role": "Doubles Bulky Attacker", @@ -424,8 +539,18 @@ } ] }, + "rhydon": { + "level": 86, + "sets": [ + { + "role": "Bulky Protect", + "movepool": ["Helping Hand", "High Horsepower", "Protect", "Rock Slide", "Stealth Rock", "Stone Edge"], + "teraTypes": ["Flying", "Grass", "Water"] + } + ] + }, "scyther": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Protect", @@ -434,12 +559,32 @@ } ] }, + "electabuzz": { + "level": 85, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Electroweb", "Follow Me", "Knock Off", "Protect", "Thunderbolt"], + "teraTypes": ["Flying", "Grass"] + } + ] + }, + "magmar": { + "level": 84, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Follow Me", "Heat Wave", "Knock Off", "Protect", "Will-O-Wisp"], + "teraTypes": ["Grass"] + } + ] + }, "tauros": { - "level": 83, + "level": 82, "sets": [ { "role": "Choice Item user", - "movepool": ["Close Combat", "Double-Edge", "High Horsepower", "Lash Out", "Stone Edge"], + "movepool": ["Close Combat", "Double-Edge", "High Horsepower", "Lash Out", "Stone Edge", "Throat Chop"], "teraTypes": ["Fighting", "Normal"] } ] @@ -451,11 +596,16 @@ "role": "Bulky Protect", "movepool": ["Bulk Up", "Protect", "Raging Bull", "Stone Edge"], "teraTypes": ["Steel"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Close Combat", "High Horsepower", "Iron Head", "Rock Slide", "Stone Edge", "Throat Chop"], + "teraTypes": ["Dark", "Fighting", "Steel"] } ] }, "taurospaldeablaze": { - "level": 81, + "level": 79, "sets": [ { "role": "Bulky Protect", @@ -470,7 +620,7 @@ ] }, "taurospaldeaaqua": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Protect", @@ -485,11 +635,11 @@ ] }, "gyarados": { - "level": 82, + "level": 81, "sets": [ { "role": "Doubles Setup Sweeper", - "movepool": ["Dragon Dance", "Earthquake", "Protect", "Taunt", "Waterfall"], + "movepool": ["Dragon Dance", "Earthquake", "Protect", "Temper Flare", "Waterfall"], "teraTypes": ["Ground"] }, { @@ -499,13 +649,23 @@ }, { "role": "Doubles Support", - "movepool": ["Dragon Tail", "Helping Hand", "Icy Wind", "Taunt", "Thunder Wave", "Waterfall"], + "movepool": ["Helping Hand", "Icy Wind", "Taunt", "Thunder Wave", "Waterfall"], "teraTypes": ["Ground", "Water"] } ] }, + "lapras": { + "level": 84, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Freeze-Dry", "Icy Wind", "Life Dew", "Muddy Water", "Protect"], + "teraTypes": ["Ground"] + } + ] + }, "ditto": { - "level": 91, + "level": 96, "sets": [ { "role": "Choice Item user", @@ -528,9 +688,9 @@ "level": 84, "sets": [ { - "role": "Doubles Support", - "movepool": ["Fake Tears", "Helping Hand", "Protect", "Shadow Ball", "Thunder Wave", "Thunderbolt"], - "teraTypes": ["Flying", "Ghost"] + "role": "Offensive Protect", + "movepool": ["Alluring Voice", "Helping Hand", "Protect", "Thunder Wave", "Thunderbolt"], + "teraTypes": ["Fairy"] }, { "role": "Tera Blast user", @@ -550,7 +710,7 @@ ] }, "snorlax": { - "level": 83, + "level": 84, "sets": [ { "role": "Doubles Wallbreaker", @@ -570,17 +730,17 @@ ] }, "articuno": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Support", - "movepool": ["Brave Bird", "Freeze-Dry", "Ice Beam", "Protect", "Roost", "Tailwind"], + "movepool": ["Brave Bird", "Freeze-Dry", "Ice Beam", "Icy Wind", "Protect", "Roost", "Tailwind"], "teraTypes": ["Ground", "Steel"] } ] }, "articunogalar": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Fast Attacker", @@ -590,7 +750,7 @@ ] }, "zapdos": { - "level": 79, + "level": 77, "sets": [ { "role": "Doubles Support", @@ -605,7 +765,7 @@ ] }, "zapdosgalar": { - "level": 79, + "level": 78, "sets": [ { "role": "Doubles Fast Attacker", @@ -619,13 +779,13 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Brave Bird", "Fire Blast", "Heat Wave", "Protect", "Roost", "Tailwind"], + "movepool": ["Brave Bird", "Fire Blast", "Heat Wave", "Protect", "Scorching Sands", "Tailwind"], "teraTypes": ["Fire", "Ground"] } ] }, "moltresgalar": { - "level": 76, + "level": 75, "sets": [ { "role": "Doubles Bulky Setup", @@ -639,12 +799,12 @@ "sets": [ { "role": "Choice Item user", - "movepool": ["Dragon Claw", "Extreme Speed", "Fire Punch", "Iron Head", "Low Kick", "Scale Shot", "Stomping Tantrum"], + "movepool": ["Dragon Claw", "Extreme Speed", "Fire Punch", "Iron Head", "Low Kick", "Stomping Tantrum"], "teraTypes": ["Normal"] }, { "role": "Tera Blast user", - "movepool": ["Draco Meteor", "Fire Punch", "Low Kick", "Roost", "Tailwind", "Tera Blast"], + "movepool": ["Draco Meteor", "Fire Punch", "Low Kick", "Tailwind", "Tera Blast"], "teraTypes": ["Flying"] } ] @@ -654,32 +814,52 @@ "sets": [ { "role": "Doubles Fast Attacker", - "movepool": ["Aura Sphere", "Dark Pulse", "Fire Blast", "Nasty Plot", "Protect", "Psystrike", "Recover"], + "movepool": ["Aura Sphere", "Dark Pulse", "Fire Blast", "Protect", "Psystrike"], "teraTypes": ["Dark", "Fighting", "Fire", "Psychic"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Aura Sphere", "Nasty Plot", "Psystrike", "Recover"], + "teraTypes": ["Fighting"] } ] }, "mew": { - "level": 83, + "level": 84, "sets": [ { "role": "Doubles Support", - "movepool": ["Encore", "Helping Hand", "Pollen Puff", "Tailwind", "Thunder Wave", "Toxic Spikes", "Will-O-Wisp"], + "movepool": ["Coaching", "Encore", "Pollen Puff", "Tailwind", "Thunder Wave", "Will-O-Wisp"], "teraTypes": ["Fairy", "Steel"] }, { "role": "Doubles Setup Sweeper", "movepool": ["Baton Pass", "Fire Blast", "Nasty Plot", "Pollen Puff", "Psychic"], "teraTypes": ["Fairy", "Steel"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Coaching", "Imprison", "Pollen Puff", "Transform"], + "teraTypes": ["Fairy", "Steel"] + } + ] + }, + "meganium": { + "level": 91, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Encore", "Energy Ball", "Heal Pulse", "Knock Off", "Leech Seed"], + "teraTypes": ["Poison", "Steel", "Water"] } ] }, "typhlosion": { - "level": 81, + "level": 79, "sets": [ { "role": "Choice Item user", - "movepool": ["Eruption", "Fire Blast", "Focus Blast", "Heat Wave"], + "movepool": ["Eruption", "Fire Blast", "Heat Wave", "Scorching Sands"], "teraTypes": ["Fire"] } ] @@ -694,8 +874,23 @@ } ] }, + "feraligatr": { + "level": 82, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Dragon Dance", "Ice Punch", "Liquidation", "Protect"], + "teraTypes": ["Fire", "Water"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Aqua Jet", "Ice Punch", "Liquidation", "Swords Dance"], + "teraTypes": ["Dragon", "Water"] + } + ] + }, "furret": { - "level": 94, + "level": 98, "sets": [ { "role": "Doubles Setup Sweeper", @@ -720,7 +915,7 @@ ] }, "ariados": { - "level": 93, + "level": 100, "sets": [ { "role": "Doubles Support", @@ -729,42 +924,67 @@ } ] }, - "ampharos": { + "lanturn": { "level": 87, "sets": [ { "role": "Doubles Support", - "movepool": ["Dragon Tail", "Electroweb", "Focus Blast", "Helping Hand", "Thunder Wave", "Thunderbolt"], + "movepool": ["Electroweb", "Protect", "Scald", "Thunderbolt"], + "teraTypes": ["Flying"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Electroweb", "Ice Beam", "Scald", "Volt Switch"], "teraTypes": ["Flying"] } ] }, - "azumarill": { - "level": 82, + "ampharos": { + "level": 87, "sets": [ { - "role": "Doubles Wallbreaker", - "movepool": ["Aqua Jet", "Ice Spinner", "Knock Off", "Liquidation", "Play Rough", "Superpower"], - "teraTypes": ["Water"] + "role": "Doubles Support", + "movepool": ["Dragon Tail", "Electroweb", "Focus Blast", "Helping Hand", "Thunder Wave", "Thunderbolt"], + "teraTypes": ["Flying"] + } + ] + }, + "bellossom": { + "level": 86, + "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["Baton Pass", "Giga Drain", "Protect", "Quiver Dance", "Strength Sap"], + "teraTypes": ["Poison", "Water"] + } + ] + }, + "azumarill": { + "level": 82, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Aqua Jet", "Ice Spinner", "Knock Off", "Liquidation", "Play Rough", "Superpower"], + "teraTypes": ["Water"] } ] }, "sudowoodo": { - "level": 92, + "level": 94, "sets": [ { "role": "Doubles Wallbreaker", "movepool": ["Head Smash", "High Horsepower", "Protect", "Sucker Punch", "Wood Hammer"], - "teraTypes": ["Grass", "Steel"] + "teraTypes": ["Grass"] } ] }, "politoed": { - "level": 85, + "level": 83, "sets": [ { "role": "Choice Item user", - "movepool": ["Earth Power", "Hydro Pump", "Ice Beam", "Muddy Water"], + "movepool": ["Hydro Pump", "Ice Beam", "Muddy Water", "Weather Ball"], "teraTypes": ["Water"] }, { @@ -775,16 +995,11 @@ ] }, "jumpluff": { - "level": 89, + "level": 92, "sets": [ { "role": "Doubles Support", - "movepool": ["Encore", "Helping Hand", "Pollen Puff", "Rage Powder", "Sleep Powder", "Strength Sap", "Tailwind"], - "teraTypes": ["Steel"] - }, - { - "role": "Bulky Protect", - "movepool": ["Acrobatics", "Protect", "Sleep Powder", "Tailwind"], + "movepool": ["Acrobatics", "Encore", "Helping Hand", "Pollen Puff", "Rage Powder", "Sleep Powder", "Strength Sap", "Tailwind"], "teraTypes": ["Steel"] } ] @@ -800,11 +1015,11 @@ ] }, "quagsire": { - "level": 88, + "level": 90, "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Helping Hand", "High Horsepower", "Liquidation", "Stealth Rock", "Yawn"], + "movepool": ["Helping Hand", "High Horsepower", "Icy Wind", "Liquidation", "Stealth Rock", "Yawn"], "teraTypes": ["Fire", "Poison", "Steel"] } ] @@ -813,18 +1028,18 @@ "level": 87, "sets": [ { - "role": "Doubles Support", + "role": "Doubles Bulky Attacker", "movepool": ["Gunk Shot", "Helping Hand", "High Horsepower", "Recover", "Toxic Spikes"], "teraTypes": ["Flying", "Ground", "Steel"] } ] }, "espeon": { - "level": 85, + "level": 84, "sets": [ { "role": "Offensive Protect", - "movepool": ["Dazzling Gleam", "Protect", "Psychic", "Shadow Ball"], + "movepool": ["Alluring Voice", "Dazzling Gleam", "Protect", "Psychic", "Shadow Ball"], "teraTypes": ["Fairy"] } ] @@ -840,7 +1055,7 @@ ] }, "murkrow": { - "level": 87, + "level": 89, "sets": [ { "role": "Doubles Support", @@ -850,11 +1065,11 @@ ] }, "slowking": { - "level": 87, + "level": 89, "sets": [ { "role": "Doubles Support", - "movepool": ["Chilly Reception", "Fire Blast", "Heal Pulse", "Helping Hand", "Psyshock", "Scald", "Slack Off", "Trick Room"], + "movepool": ["Fire Blast", "Heal Pulse", "Helping Hand", "Psyshock", "Scald", "Trick Room"], "teraTypes": ["Dark", "Grass", "Steel"] }, { @@ -875,7 +1090,7 @@ ] }, "forretress": { - "level": 89, + "level": 90, "sets": [ { "role": "Choice Item user", @@ -884,6 +1099,16 @@ } ] }, + "granbull": { + "level": 87, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Close Combat", "Play Rough", "Stomping Tantrum", "Super Fang"], + "teraTypes": ["Steel"] + } + ] + }, "qwilfish": { "level": 87, "sets": [ @@ -895,11 +1120,11 @@ ] }, "qwilfishhisui": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Crunch", "Gunk Shot", "Icy Wind", "Toxic Spikes"], + "movepool": ["Crunch", "Gunk Shot", "Icy Wind", "Throat Chop", "Toxic Spikes"], "teraTypes": ["Flying"] } ] @@ -909,13 +1134,13 @@ "sets": [ { "role": "Doubles Fast Attacker", - "movepool": ["Crunch", "Gunk Shot", "Liquidation", "Protect", "Swords Dance"], + "movepool": ["Crunch", "Gunk Shot", "Liquidation", "Protect", "Swords Dance", "Throat Chop"], "teraTypes": ["Dark", "Flying", "Poison", "Water"] } ] }, "scizor": { - "level": 82, + "level": 80, "sets": [ { "role": "Doubles Support", @@ -950,7 +1175,7 @@ ] }, "magcargo": { - "level": 91, + "level": 92, "sets": [ { "role": "Doubles Setup Sweeper", @@ -964,8 +1189,8 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Brave Bird", "Fake Out", "Helping Hand", "Icy Wind", "Memento", "Tailwind"], - "teraTypes": ["Steel"] + "movepool": ["Brave Bird", "Fake Out", "Helping Hand", "Icy Wind", "Tailwind"], + "teraTypes": ["Ground", "Steel"] }, { "role": "Doubles Wallbreaker", @@ -974,13 +1199,38 @@ } ] }, + "skarmory": { + "level": 85, + "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["Body Press", "Brave Bird", "Iron Defense", "Protect", "Roost", "Tailwind"], + "teraTypes": ["Fighting"] + } + ] + }, "houndoom": { "level": 87, "sets": [ { "role": "Doubles Fast Attacker", "movepool": ["Dark Pulse", "Heat Wave", "Nasty Plot", "Protect", "Sucker Punch"], - "teraTypes": ["Dark", "Fire", "Ghost", "Water"] + "teraTypes": ["Dark", "Fire", "Ghost", "Grass"] + } + ] + }, + "kingdra": { + "level": 85, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Draco Meteor", "Muddy Water", "Protect", "Rain Dance"], + "teraTypes": ["Water"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Draco Meteor", "Protect", "Rain Dance", "Wave Crash"], + "teraTypes": ["Water"] } ] }, @@ -994,8 +1244,53 @@ } ] }, + "porygon2": { + "level": 82, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Ice Beam", "Recover", "Thunderbolt", "Trick Room"], + "teraTypes": ["Electric", "Ghost"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Icy Wind", "Recover", "Thunderbolt", "Tri Attack"], + "teraTypes": ["Electric", "Ghost"] + }, + { + "role": "Tera Blast user", + "movepool": ["Recover", "Shadow Ball", "Tera Blast", "Trick Room"], + "teraTypes": ["Fairy", "Fighting"] + } + ] + }, + "smeargle": { + "level": 100, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Decorate", "Fake Out", "Follow Me", "Pollen Puff", "Tailwind"], + "teraTypes": ["Ghost"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Decorate", "Fake Out", "Follow Me", "Tailwind"], + "teraTypes": ["Ghost"] + } + ] + }, + "hitmontop": { + "level": 88, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Close Combat", "Coaching", "Fake Out", "Helping Hand", "Sucker Punch", "Triple Axel", "Wide Guard"], + "teraTypes": ["Steel"] + } + ] + }, "blissey": { - "level": 90, + "level": 95, "sets": [ { "role": "Doubles Support", @@ -1004,6 +1299,46 @@ } ] }, + "raikou": { + "level": 82, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Calm Mind", "Protect", "Scald", "Shadow Ball", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Water"] + }, + { + "role": "Bulky Protect", + "movepool": ["Electroweb", "Protect", "Scald", "Snarl", "Thunder Wave", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Grass"] + } + ] + }, + "entei": { + "level": 77, + "sets": [ + { + "role": "Choice Item user", + "movepool": ["Extreme Speed", "Flare Blitz", "Sacred Fire", "Stomping Tantrum"], + "teraTypes": ["Normal"] + } + ] + }, + "suicune": { + "level": 80, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Ice Beam", "Protect", "Scald", "Snarl", "Tailwind"], + "teraTypes": ["Dragon", "Grass"] + }, + { + "role": "Doubles Support", + "movepool": ["Calm Mind", "Ice Beam", "Protect", "Scald"], + "teraTypes": ["Dragon", "Grass"] + } + ] + }, "tyranitar": { "level": 81, "sets": [ @@ -1014,17 +1349,77 @@ }, { "role": "Doubles Support", - "movepool": ["Fire Blast", "High Horsepower", "Icy Wind", "Knock Off", "Protect", "Rock Slide", "Stone Edge"], + "movepool": ["Fire Blast", "High Horsepower", "Icy Wind", "Knock Off", "Protect", "Rock Slide", "Stone Edge", "Thunder Wave"], "teraTypes": ["Flying", "Steel"] } ] }, + "lugia": { + "level": 72, + "sets": [ + { + "role": "Bulky Protect", + "movepool": ["Aeroblast", "Calm Mind", "Earth Power", "Recover"], + "teraTypes": ["Ground"] + } + ] + }, + "hooh": { + "level": 72, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Brave Bird", "Earth Power", "Protect", "Recover", "Sacred Fire", "Tailwind"], + "teraTypes": ["Ground"] + } + ] + }, + "sceptile": { + "level": 88, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Focus Blast", "Leaf Storm", "Protect", "Shed Tail"], + "teraTypes": ["Steel", "Water"] + }, + { + "role": "Offensive Protect", + "movepool": ["Breaking Swipe", "Focus Blast", "Leaf Storm", "Protect"], + "teraTypes": ["Steel", "Water"] + } + ] + }, + "blaziken": { + "level": 79, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Close Combat", "Knock Off", "Overheat", "Protect", "Stone Edge"], + "teraTypes": ["Stellar"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Close Combat", "Heat Wave", "Protect", "Vacuum Wave"], + "teraTypes": ["Fighting"] + } + ] + }, + "swampert": { + "level": 83, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Flip Turn", "High Horsepower", "Ice Beam", "Icy Wind", "Knock Off", "Muddy Water"], + "teraTypes": ["Fire", "Steel"] + } + ] + }, "mightyena": { "level": 93, "sets": [ { "role": "Doubles Setup Sweeper", - "movepool": ["Crunch", "Howl", "Play Rough", "Sucker Punch"], + "movepool": ["Crunch", "Howl", "Play Rough", "Sucker Punch", "Throat Chop"], "teraTypes": ["Dark", "Fairy"] } ] @@ -1034,7 +1429,7 @@ "sets": [ { "role": "Offensive Protect", - "movepool": ["Energy Ball", "Hydro Pump", "Protect", "Rain Dance"], + "movepool": ["Energy Ball", "Muddy Water", "Protect", "Rain Dance"], "teraTypes": ["Water"] }, { @@ -1064,8 +1459,8 @@ "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Hurricane", "Hydro Pump", "Roost", "Tailwind", "Wide Guard"], - "teraTypes": ["Ground"] + "movepool": ["Hurricane", "Hydro Pump", "Muddy Water", "Tailwind", "Wide Guard"], + "teraTypes": ["Ground", "Steel"] } ] }, @@ -1089,13 +1484,13 @@ }, { "role": "Doubles Support", - "movepool": ["Bug Buzz", "Hurricane", "Sticky Web", "Tailwind"], + "movepool": ["Bug Buzz", "Hurricane", "Protect", "Tailwind"], "teraTypes": ["Ground"] } ] }, "breloom": { - "level": 82, + "level": 84, "sets": [ { "role": "Doubles Fast Attacker", @@ -1104,12 +1499,22 @@ } ] }, + "vigoroth": { + "level": 90, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["After You", "Double-Edge", "Encore", "Icy Wind", "Knock Off", "Slack Off", "Thunder Wave"], + "teraTypes": ["Ghost"] + } + ] + }, "slaking": { "level": 87, "sets": [ { "role": "Doubles Wallbreaker", - "movepool": ["Body Slam", "Giga Impact", "High Horsepower", "Knock Off"], + "movepool": ["Double-Edge", "Giga Impact", "High Horsepower", "Knock Off"], "teraTypes": ["Ghost", "Normal"] } ] @@ -1130,7 +1535,7 @@ ] }, "sableye": { - "level": 92, + "level": 93, "sets": [ { "role": "Doubles Support", @@ -1154,18 +1559,43 @@ } ] }, - "volbeat": { + "plusle": { + "level": 92, + "sets": [ + { + "role": "Doubles Fast Attacker", + "movepool": ["Alluring Voice", "Nasty Plot", "Protect", "Thunderbolt"], + "teraTypes": ["Flying"] + }, + { + "role": "Doubles Support", + "movepool": ["Encore", "Nuzzle", "Super Fang", "Thunderbolt"], + "teraTypes": ["Flying"] + } + ] + }, + "minun": { "level": 91, "sets": [ { - "role": "Doubles Bulky Setup", - "movepool": ["Baton Pass", "Bug Buzz", "Tail Glow", "Tailwind"], - "teraTypes": ["Ghost"] + "role": "Doubles Support", + "movepool": ["Encore", "Nuzzle", "Super Fang", "Thunderbolt"], + "teraTypes": ["Flying"] + } + ] + }, + "volbeat": { + "level": 85, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Encore", "Lunge", "Tailwind", "Thunder Wave"], + "teraTypes": ["Steel", "Water"] } ] }, "illumise": { - "level": 89, + "level": 85, "sets": [ { "role": "Doubles Support", @@ -1195,7 +1625,7 @@ ] }, "torkoal": { - "level": 85, + "level": 86, "sets": [ { "role": "Doubles Bulky Attacker", @@ -1205,7 +1635,7 @@ ] }, "grumpig": { - "level": 90, + "level": 91, "sets": [ { "role": "Doubles Setup Sweeper", @@ -1214,6 +1644,16 @@ } ] }, + "flygon": { + "level": 84, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Breaking Swipe", "Earth Power", "Protect", "Tailwind"], + "teraTypes": ["Steel"] + } + ] + }, "cacturne": { "level": 91, "sets": [ @@ -1225,7 +1665,7 @@ ] }, "altaria": { - "level": 89, + "level": 90, "sets": [ { "role": "Doubles Support", @@ -1250,7 +1690,7 @@ ] }, "seviper": { - "level": 93, + "level": 95, "sets": [ { "role": "Offensive Protect", @@ -1288,19 +1728,14 @@ "level": 82, "sets": [ { - "role": "Bulky Protect", - "movepool": ["Coil", "Hypnosis", "Recover", "Scald"], - "teraTypes": ["Dragon", "Grass", "Steel"] - }, - { - "role": "Doubles Support", - "movepool": ["Dragon Tail", "Icy Wind", "Protect", "Recover", "Scald"], + "role": "Doubles Support", + "movepool": ["Dragon Tail", "Icy Wind", "Protect", "Recover", "Scald"], "teraTypes": ["Dragon", "Grass", "Steel"] } ] }, "banette": { - "level": 91, + "level": 93, "sets": [ { "role": "Doubles Wallbreaker", @@ -1310,21 +1745,21 @@ ] }, "tropius": { - "level": 91, + "level": 93, "sets": [ { "role": "Doubles Support", - "movepool": ["Helping Hand", "Hurricane", "Leaf Storm", "Tailwind", "Wide Guard"], + "movepool": ["Helping Hand", "Hurricane", "Leaf Storm", "Protect", "Tailwind", "Wide Guard"], "teraTypes": ["Steel"] } ] }, "chimecho": { - "level": 94, + "level": 95, "sets": [ { "role": "Doubles Support", - "movepool": ["Disable", "Encore", "Helping Hand", "Icy Wind", "Knock Off", "Protect", "Psychic", "Snarl", "Taunt"], + "movepool": ["Encore", "Heal Pulse", "Helping Hand", "Icy Wind", "Protect", "Psychic", "Snarl", "Thunder Wave"], "teraTypes": ["Dark", "Steel"] } ] @@ -1344,7 +1779,7 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Charm", "Flip Turn", "Hydro Pump", "Icy Wind"], + "movepool": ["Charm", "Endeavor", "Hydro Pump", "Icy Wind"], "teraTypes": ["Dragon"] } ] @@ -1359,6 +1794,86 @@ } ] }, + "metagross": { + "level": 81, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Bullet Punch", "Hammer Arm", "Heavy Slam", "Knock Off", "Psychic Fangs", "Stomping Tantrum"], + "teraTypes": ["Dark", "Steel", "Water"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Agility", "Brick Break", "Heavy Slam", "Knock Off", "Protect", "Psychic Fangs"], + "teraTypes": ["Dragon"] + } + ] + }, + "regirock": { + "level": 85, + "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["Body Press", "Curse", "Iron Defense", "Rest", "Rock Slide", "Stone Edge"], + "teraTypes": ["Fighting"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Body Press", "Iron Defense", "Rock Slide", "Stone Edge", "Thunder Wave"], + "teraTypes": ["Fighting"] + } + ] + }, + "regice": { + "level": 84, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Blizzard", "Icy Wind", "Protect", "Thunderbolt"], + "teraTypes": ["Electric", "Water"] + } + ] + }, + "registeel": { + "level": 79, + "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["Body Press", "Iron Defense", "Iron Head", "Thunder Wave"], + "teraTypes": ["Fighting"] + } + ] + }, + "latias": { + "level": 81, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Draco Meteor", "Mist Ball", "Protect", "Recover", "Tailwind"], + "teraTypes": ["Steel"] + }, + { + "role": "Offensive Protect", + "movepool": ["Aura Sphere", "Calm Mind", "Dragon Pulse", "Mist Ball", "Protect"], + "teraTypes": ["Steel"] + } + ] + }, + "latios": { + "level": 79, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Draco Meteor", "Luster Purge", "Protect", "Tailwind"], + "teraTypes": ["Steel"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Aura Sphere", "Draco Meteor", "Luster Purge", "Protect", "Trick"], + "teraTypes": ["Dragon", "Steel"] + } + ] + }, "kyogre": { "level": 65, "sets": [ @@ -1370,7 +1885,7 @@ ] }, "groudon": { - "level": 71, + "level": 69, "sets": [ { "role": "Doubles Bulky Attacker", @@ -1379,7 +1894,7 @@ }, { "role": "Doubles Bulky Setup", - "movepool": ["Heat Crash", "Precipice Blades", "Stone Edge", "Swords Dance"], + "movepool": ["Heat Crash", "Precipice Blades", "Protect", "Stone Edge", "Swords Dance"], "teraTypes": ["Fire"] } ] @@ -1400,7 +1915,7 @@ ] }, "jirachi": { - "level": 79, + "level": 80, "sets": [ { "role": "Doubles Support", @@ -1414,6 +1929,51 @@ } ] }, + "deoxys": { + "level": 78, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Extreme Speed", "Knock Off", "Protect", "Psycho Boost", "Superpower"], + "teraTypes": ["Ghost", "Stellar"] + } + ] + }, + "deoxysattack": { + "level": 77, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Extreme Speed", "Knock Off", "Protect", "Psycho Boost", "Superpower"], + "teraTypes": ["Ghost", "Stellar"] + } + ] + }, + "deoxysdefense": { + "level": 87, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Icy Wind", "Knock Off", "Night Shade", "Teleport", "Thunder Wave"], + "teraTypes": ["Fairy", "Steel"] + } + ] + }, + "deoxysspeed": { + "level": 83, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Icy Wind", "Psycho Boost", "Superpower", "Taunt"], + "teraTypes": ["Fighting", "Ghost", "Psychic"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Psycho Boost", "Superpower", "Taunt", "Thunder Wave"], + "teraTypes": ["Fighting", "Psychic"] + } + ] + }, "torterra": { "level": 81, "sets": [ @@ -1435,16 +1995,16 @@ ] }, "empoleon": { - "level": 81, + "level": 82, "sets": [ { - "role": "Offensive Protect", - "movepool": ["Flash Cannon", "Hydro Pump", "Ice Beam", "Protect"], + "role": "Doubles Support", + "movepool": ["Flash Cannon", "Hydro Pump", "Ice Beam", "Icy Wind", "Protect", "Yawn"], "teraTypes": ["Flying", "Grass"] }, { "role": "Doubles Bulky Attacker", - "movepool": ["Flash Cannon", "Flip Turn", "Hydro Pump", "Ice Beam", "Icy Wind", "Knock Off"], + "movepool": ["Flash Cannon", "Hydro Pump", "Ice Beam", "Icy Wind", "Knock Off"], "teraTypes": ["Flying", "Grass"] } ] @@ -1468,7 +2028,7 @@ "level": 100, "sets": [ { - "role": "Doubles Support", + "role": "Doubles Bulky Attacker", "movepool": ["Bug Bite", "Helping Hand", "Knock Off", "Sticky Web", "Taunt"], "teraTypes": ["Bug", "Steel"] } @@ -1479,16 +2039,36 @@ "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Crunch", "Play Rough", "Snarl", "Volt Switch", "Wild Charge"], + "movepool": ["Crunch", "Play Rough", "Snarl", "Throat Chop", "Volt Switch", "Wild Charge"], "teraTypes": ["Dark", "Fairy", "Flying"] } ] }, + "rampardos": { + "level": 87, + "sets": [ + { + "role": "Choice Item user", + "movepool": ["Fire Punch", "Head Smash", "Rock Slide", "Stomping Tantrum"], + "teraTypes": ["Rock"] + } + ] + }, + "bastiodon": { + "level": 89, + "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["Body Press", "Foul Play", "Iron Defense", "Rest", "Wide Guard"], + "teraTypes": ["Fighting", "Flying"] + } + ] + }, "vespiquen": { - "level": 99, + "level": 100, "sets": [ { - "role": "Doubles Support", + "role": "Doubles Bulky Attacker", "movepool": ["Helping Hand", "Hurricane", "Pollen Puff", "Roost", "Toxic Spikes"], "teraTypes": ["Steel"] } @@ -1515,7 +2095,7 @@ ] }, "gastrodon": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Bulky Attacker", @@ -1529,13 +2109,13 @@ "sets": [ { "role": "Doubles Fast Attacker", - "movepool": ["Double Hit", "Fake Out", "Knock Off", "Protect"], + "movepool": ["Double-Edge", "Fake Out", "Knock Off", "Protect"], "teraTypes": ["Normal"] } ] }, "drifblim": { - "level": 86, + "level": 85, "sets": [ { "role": "Doubles Support", @@ -1545,7 +2125,7 @@ ] }, "mismagius": { - "level": 86, + "level": 87, "sets": [ { "role": "Doubles Wallbreaker", @@ -1565,7 +2145,7 @@ ] }, "skuntank": { - "level": 87, + "level": 85, "sets": [ { "role": "Doubles Fast Attacker", @@ -1578,9 +2158,14 @@ "level": 87, "sets": [ { - "role": "Doubles Support", + "role": "Doubles Bulky Attacker", "movepool": ["Body Press", "Iron Defense", "Iron Head", "Trick Room"], "teraTypes": ["Fighting"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Body Press", "Iron Defense", "Psychic Noise", "Trick Room"], + "teraTypes": ["Fighting"] } ] }, @@ -1600,17 +2185,17 @@ ] }, "garchomp": { - "level": 79, + "level": 77, "sets": [ { "role": "Doubles Setup Sweeper", - "movepool": ["Earthquake", "Protect", "Rock Slide", "Scale Shot", "Swords Dance"], + "movepool": ["Earthquake", "Protect", "Scale Shot", "Swords Dance"], "teraTypes": ["Dragon", "Fire"] } ] }, "lucario": { - "level": 85, + "level": 87, "sets": [ { "role": "Offensive Protect", @@ -1630,7 +2215,7 @@ { "role": "Doubles Support", "movepool": ["Helping Hand", "High Horsepower", "Slack Off", "Stealth Rock", "Stone Edge", "Whirlwind"], - "teraTypes": ["Rock", "Steel"] + "teraTypes": ["Dragon", "Rock", "Steel", "Water"] } ] }, @@ -1645,7 +2230,7 @@ ] }, "lumineon": { - "level": 90, + "level": 92, "sets": [ { "role": "Doubles Support", @@ -1655,7 +2240,7 @@ ] }, "abomasnow": { - "level": 84, + "level": 81, "sets": [ { "role": "Doubles Bulky Attacker", @@ -1665,17 +2250,17 @@ ] }, "weavile": { - "level": 84, + "level": 82, "sets": [ { "role": "Doubles Wallbreaker", - "movepool": ["Fake Out", "Ice Shard", "Ice Spinner", "Knock Off", "Low Kick", "Protect"], + "movepool": ["Fake Out", "Ice Shard", "Knock Off", "Low Kick", "Protect", "Triple Axel"], "teraTypes": ["Dark", "Fighting", "Ghost", "Ice"] } ] }, "sneasler": { - "level": 79, + "level": 77, "sets": [ { "role": "Doubles Wallbreaker", @@ -1694,6 +2279,46 @@ } ] }, + "rhyperior": { + "level": 82, + "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["High Horsepower", "Protect", "Rock Polish", "Rock Slide"], + "teraTypes": ["Dragon", "Flying", "Ghost", "Ground"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Dragon Tail", "Heat Crash", "High Horsepower", "Ice Punch", "Megahorn", "Protect", "Rock Slide"], + "teraTypes": ["Dragon", "Flying", "Water"] + } + ] + }, + "electivire": { + "level": 85, + "sets": [ + { + "role": "Doubles Fast Attacker", + "movepool": ["Cross Chop", "Flamethrower", "Ice Punch", "Protect", "Volt Switch", "Wild Charge"], + "teraTypes": ["Flying"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Cross Chop", "Flamethrower", "Ice Punch", "Knock Off", "Volt Switch", "Wild Charge"], + "teraTypes": ["Flying"] + } + ] + }, + "magmortar": { + "level": 84, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Fire Blast", "Heat Wave", "Knock Off", "Protect", "Thunderbolt"], + "teraTypes": ["Fire", "Grass"] + } + ] + }, "yanmega": { "level": 84, "sets": [ @@ -1735,11 +2360,11 @@ ] }, "gliscor": { - "level": 82, + "level": 81, "sets": [ { "role": "Bulky Protect", - "movepool": ["Dual Wingbeat", "High Horsepower", "Knock Off", "Protect", "Stealth Rock", "Toxic"], + "movepool": ["Dual Wingbeat", "High Horsepower", "Knock Off", "Protect", "Tailwind", "Toxic", "Toxic Spikes"], "teraTypes": ["Water"] }, { @@ -1750,7 +2375,7 @@ ] }, "mamoswine": { - "level": 84, + "level": 82, "sets": [ { "role": "Offensive Protect", @@ -1759,13 +2384,33 @@ } ] }, + "porygonz": { + "level": 84, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Shadow Ball", "Swift", "Tri Attack", "Trick"], + "teraTypes": ["Ghost"] + }, + { + "role": "Tera Blast user", + "movepool": ["Nasty Plot", "Protect", "Shadow Ball", "Tera Blast"], + "teraTypes": ["Fighting"] + } + ] + }, "gallade": { - "level": 83, + "level": 80, "sets": [ { "role": "Doubles Wallbreaker", "movepool": ["Leaf Blade", "Night Slash", "Protect", "Psycho Cut", "Sacred Sword", "Swords Dance"], "teraTypes": ["Dark", "Fighting", "Grass"] + }, + { + "role": "Choice Item user", + "movepool": ["Night Slash", "Psycho Cut", "Sacred Sword", "Trick"], + "teraTypes": ["Dark", "Fighting"] } ] }, @@ -1776,6 +2421,11 @@ "role": "Doubles Bulky Setup", "movepool": ["Body Press", "Flash Cannon", "Iron Defense", "Rest", "Thunder Wave"], "teraTypes": ["Fighting"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Body Press", "Iron Defense", "Power Gem", "Rest", "Thunder Wave"], + "teraTypes": ["Fighting"] } ] }, @@ -1783,8 +2433,13 @@ "level": 88, "sets": [ { - "role": "Doubles Support", - "movepool": ["Leech Life", "Poltergeist", "Trick Room", "Will-O-Wisp"], + "role": "Doubles Wallbreaker", + "movepool": ["Leech Life", "Poltergeist", "Shadow Sneak", "Will-O-Wisp"], + "teraTypes": ["Dark"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Leech Life", "Poltergeist", "Protect", "Trick Room"], "teraTypes": ["Dark"] } ] @@ -1794,13 +2449,13 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Destiny Bond", "Ice Beam", "Icy Wind", "Poltergeist", "Spikes", "Taunt", "Will-O-Wisp"], + "movepool": ["Icy Wind", "Poltergeist", "Protect", "Spikes", "Taunt", "Triple Axel", "Will-O-Wisp"], "teraTypes": ["Ghost", "Water"] } ] }, "rotom": { - "level": 88, + "level": 89, "sets": [ { "role": "Offensive Protect", @@ -1810,21 +2465,21 @@ ] }, "rotomwash": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Protect", - "movepool": ["Hydro Pump", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], + "movepool": ["Electroweb", "Hydro Pump", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], "teraTypes": ["Electric"] } ] }, "rotomheat": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Protect", - "movepool": ["Overheat", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], + "movepool": ["Electroweb", "Overheat", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], "teraTypes": ["Electric", "Steel"] } ] @@ -1844,7 +2499,7 @@ "sets": [ { "role": "Bulky Protect", - "movepool": ["Air Slash", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], + "movepool": ["Air Slash", "Electroweb", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], "teraTypes": ["Electric", "Steel"] } ] @@ -1854,7 +2509,7 @@ "sets": [ { "role": "Bulky Protect", - "movepool": ["Leaf Storm", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], + "movepool": ["Electroweb", "Leaf Storm", "Protect", "Thunderbolt", "Volt Switch", "Will-O-Wisp"], "teraTypes": ["Electric", "Poison", "Steel"] } ] @@ -1864,7 +2519,7 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Encore", "Helping Hand", "Knock Off", "Mystical Power", "Stealth Rock", "Thunder Wave", "U-turn"], + "movepool": ["Encore", "Helping Hand", "Knock Off", "Mystical Power", "Stealth Rock", "Thunder Wave"], "teraTypes": ["Dark", "Poison", "Steel"] } ] @@ -1879,13 +2534,13 @@ }, { "role": "Choice Item user", - "movepool": ["Ice Beam", "Mystical Power", "Psychic", "Thunderbolt", "U-turn"], + "movepool": ["Ice Beam", "Psychic", "Thunderbolt", "U-turn"], "teraTypes": ["Electric", "Psychic"] } ] }, "azelf": { - "level": 82, + "level": 83, "sets": [ { "role": "Doubles Fast Attacker", @@ -1949,13 +2604,33 @@ "sets": [ { "role": "Bulky Protect", - "movepool": ["Earth Power", "Flash Cannon", "Heat Wave", "Protect"], - "teraTypes": ["Fire", "Grass", "Steel"] + "movepool": ["Earth Power", "Magma Storm", "Protect", "Will-O-Wisp"], + "teraTypes": ["Fairy", "Grass"] }, { "role": "Tera Blast user", "movepool": ["Earth Power", "Flash Cannon", "Heat Wave", "Protect", "Tera Blast"], "teraTypes": ["Grass"] + }, + { + "role": "Offensive Protect", + "movepool": ["Earth Power", "Flash Cannon", "Heat Wave", "Protect"], + "teraTypes": ["Fairy", "Grass"] + } + ] + }, + "regigigas": { + "level": 86, + "sets": [ + { + "role": "Bulky Protect", + "movepool": ["Body Slam", "Knock Off", "Protect", "Substitute"], + "teraTypes": ["Fairy", "Ghost"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Double-Edge", "Knock Off", "Protect", "Thunder Wave"], + "teraTypes": ["Fairy"] } ] }, @@ -1969,7 +2644,7 @@ }, { "role": "Doubles Support", - "movepool": ["Dragon Tail", "Icy Wind", "Rest", "Shadow Ball", "Will-O-Wisp"], + "movepool": ["Breaking Swipe", "Icy Wind", "Rest", "Shadow Ball", "Thunder Wave", "Will-O-Wisp"], "teraTypes": ["Fairy"] } ] @@ -1979,7 +2654,7 @@ "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Aura Sphere", "Destiny Bond", "Draco Meteor", "Shadow Force", "Will-O-Wisp"], + "movepool": ["Aura Sphere", "Draco Meteor", "Poltergeist", "Shadow Force", "Will-O-Wisp"], "teraTypes": ["Dragon", "Fairy", "Ghost", "Poison"] } ] @@ -2020,7 +2695,7 @@ ] }, "darkrai": { - "level": 78, + "level": 80, "sets": [ { "role": "Offensive Protect", @@ -2030,7 +2705,7 @@ ] }, "shaymin": { - "level": 83, + "level": 81, "sets": [ { "role": "Doubles Bulky Attacker", @@ -2060,7 +2735,7 @@ ] }, "arceusbug": { - "level": 72, + "level": 73, "sets": [ { "role": "Doubles Setup Sweeper", @@ -2070,7 +2745,7 @@ ] }, "arceusdark": { - "level": 71, + "level": 72, "sets": [ { "role": "Doubles Bulky Attacker", @@ -2084,8 +2759,8 @@ "sets": [ { "role": "Doubles Setup Sweeper", - "movepool": ["Aura Sphere", "Calm Mind", "Earth Power", "Fire Blast", "Judgment", "Recover", "Sludge Bomb"], - "teraTypes": ["Poison"] + "movepool": ["Calm Mind", "Fire Blast", "Judgment", "Recover", "Sludge Bomb"], + "teraTypes": ["Fire", "Poison"] } ] }, @@ -2135,7 +2810,7 @@ ] }, "arceusflying": { - "level": 72, + "level": 71, "sets": [ { "role": "Doubles Setup Sweeper", @@ -2151,6 +2826,11 @@ "role": "Doubles Setup Sweeper", "movepool": ["Brick Break", "Extreme Speed", "Phantom Force", "Swords Dance"], "teraTypes": ["Ghost", "Normal"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Calm Mind", "Dazzling Gleam", "Focus Blast", "Judgment", "Recover"], + "teraTypes": ["Fairy", "Fighting"] } ] }, @@ -2200,7 +2880,7 @@ ] }, "arceuspsychic": { - "level": 74, + "level": 73, "sets": [ { "role": "Doubles Support", @@ -2244,6 +2924,31 @@ } ] }, + "serperior": { + "level": 82, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Dragon Pulse", "Glare", "Knock Off", "Leaf Storm", "Protect"], + "teraTypes": ["Dragon", "Grass"] + }, + { + "role": "Tera Blast user", + "movepool": ["Glare", "Leaf Storm", "Protect", "Tera Blast"], + "teraTypes": ["Stellar"] + } + ] + }, + "emboar": { + "level": 86, + "sets": [ + { + "role": "Choice Item user", + "movepool": ["Close Combat", "Flare Blitz", "Head Smash", "Knock Off", "Wild Charge"], + "teraTypes": ["Dark", "Electric", "Rock"] + } + ] + }, "samurott": { "level": 88, "sets": [ @@ -2260,7 +2965,7 @@ ] }, "samurotthisui": { - "level": 84, + "level": 83, "sets": [ { "role": "Offensive Protect", @@ -2274,6 +2979,36 @@ } ] }, + "zebstrika": { + "level": 87, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["High Horsepower", "Overheat", "Protect", "Wild Charge"], + "teraTypes": ["Ground"] + }, + { + "role": "Doubles Fast Attacker", + "movepool": ["High Horsepower", "Overheat", "Protect", "Thunderbolt"], + "teraTypes": ["Flying", "Water"] + } + ] + }, + "excadrill": { + "level": 82, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["High Horsepower", "Iron Head", "Rapid Spin", "Rock Slide"], + "teraTypes": ["Flying", "Water"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["High Horsepower", "Iron Head", "Protect", "Swords Dance"], + "teraTypes": ["Flying", "Ground", "Water"] + } + ] + }, "conkeldurr": { "level": 81, "sets": [ @@ -2284,13 +3019,13 @@ }, { "role": "Doubles Bulky Attacker", - "movepool": ["Drain Punch", "Knock Off", "Mach Punch", "Poison Jab"], - "teraTypes": ["Dark", "Poison"] + "movepool": ["Drain Punch", "Ice Punch", "Knock Off", "Mach Punch"], + "teraTypes": ["Dark", "Fighting", "Steel"] } ] }, "leavanny": { - "level": 88, + "level": 90, "sets": [ { "role": "Doubles Support", @@ -2304,27 +3039,47 @@ } ] }, + "whimsicott": { + "level": 80, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Encore", "Moonblast", "Stun Spore", "Tailwind"], + "teraTypes": ["Fire", "Ghost", "Steel"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Encore", "Moonblast", "Tailwind", "Taunt"], + "teraTypes": ["Fire", "Ghost", "Steel"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Encore", "Helping Hand", "Moonblast", "Tailwind"], + "teraTypes": ["Fire", "Ghost", "Steel"] + } + ] + }, "lilligant": { - "level": 86, + "level": 87, "sets": [ { "role": "Tera Blast user", - "movepool": ["Giga Drain", "Quiver Dance", "Sleep Powder", "Tera Blast"], + "movepool": ["Giga Drain", "Protect", "Quiver Dance", "Tera Blast"], "teraTypes": ["Fire", "Rock"] }, { "role": "Doubles Setup Sweeper", - "movepool": ["Energy Ball", "Pollen Puff", "Quiver Dance", "Sleep Powder"], + "movepool": ["Alluring Voice", "Energy Ball", "Pollen Puff", "Quiver Dance", "Sleep Powder"], "teraTypes": ["Steel"] } ] }, "lilliganthisui": { - "level": 83, + "level": 84, "sets": [ { "role": "Doubles Setup Sweeper", - "movepool": ["Close Combat", "Leaf Blade", "Sleep Powder", "Victory Dance"], + "movepool": ["Close Combat", "Leaf Blade", "Protect", "Sleep Powder", "Victory Dance"], "teraTypes": ["Fighting", "Steel"] } ] @@ -2334,17 +3089,12 @@ "sets": [ { "role": "Doubles Wallbreaker", - "movepool": ["Aqua Jet", "Crunch", "Protect", "Psychic Fangs", "Wave Crash"], + "movepool": ["Aqua Jet", "Flip Turn", "Psychic Fangs", "Wave Crash"], "teraTypes": ["Water"] - } - ] - }, - "basculinbluestriped": { - "level": 87, - "sets": [ + }, { - "role": "Doubles Wallbreaker", - "movepool": ["Aqua Jet", "Crunch", "Protect", "Psychic Fangs", "Wave Crash"], + "role": "Offensive Protect", + "movepool": ["Aqua Jet", "Flip Turn", "Protect", "Wave Crash"], "teraTypes": ["Water"] } ] @@ -2364,13 +3114,13 @@ "sets": [ { "role": "Choice Item user", - "movepool": ["Flip Turn", "Hydro Pump", "Last Respects", "Wave Crash"], + "movepool": ["Flip Turn", "Last Respects", "Muddy Water", "Wave Crash"], "teraTypes": ["Ghost"] } ] }, "krookodile": { - "level": 81, + "level": 80, "sets": [ { "role": "Offensive Protect", @@ -2384,6 +3134,16 @@ } ] }, + "scrafty": { + "level": 83, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Close Combat", "Coaching", "Fake Out", "Knock Off", "Poison Jab", "Snarl"], + "teraTypes": ["Poison"] + } + ] + }, "zoroark": { "level": 84, "sets": [ @@ -2400,7 +3160,7 @@ ] }, "zoroarkhisui": { - "level": 79, + "level": 80, "sets": [ { "role": "Doubles Wallbreaker", @@ -2414,8 +3174,18 @@ } ] }, + "cinccino": { + "level": 85, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Bullet Seed", "Knock Off", "Protect", "Tail Slap", "Triple Axel"], + "teraTypes": ["Grass", "Ice", "Normal"] + } + ] + }, "gothitelle": { - "level": 87, + "level": 90, "sets": [ { "role": "Doubles Support", @@ -2424,8 +3194,18 @@ } ] }, + "reuniclus": { + "level": 84, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Focus Blast", "Protect", "Psychic", "Shadow Ball", "Trick Room"], + "teraTypes": ["Fighting"] + } + ] + }, "swanna": { - "level": 88, + "level": 87, "sets": [ { "role": "Doubles Support", @@ -2440,7 +3220,7 @@ ] }, "sawsbuck": { - "level": 90, + "level": 91, "sets": [ { "role": "Doubles Setup Sweeper", @@ -2450,17 +3230,22 @@ ] }, "amoonguss": { - "level": 83, + "level": 86, "sets": [ { "role": "Doubles Support", "movepool": ["Clear Smog", "Pollen Puff", "Protect", "Rage Powder", "Spore"], "teraTypes": ["Steel", "Water"] + }, + { + "role": "Doubles Support", + "movepool": ["Pollen Puff", "Rage Powder", "Sludge Bomb", "Spore"], + "teraTypes": ["Steel", "Water"] } ] }, "alomomola": { - "level": 92, + "level": 95, "sets": [ { "role": "Doubles Support", @@ -2469,18 +3254,28 @@ } ] }, + "galvantula": { + "level": 85, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Bug Buzz", "Protect", "Sticky Web", "Thunder", "Volt Switch"], + "teraTypes": ["Electric"] + } + ] + }, "eelektross": { "level": 86, "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Acid Spray", "Close Combat", "Flamethrower", "Giga Drain", "Knock Off", "Thunderbolt", "U-turn"], - "teraTypes": ["Poison"] + "movepool": ["Close Combat", "Electroweb", "Flamethrower", "Giga Drain", "Knock Off", "Thunderbolt", "U-turn"], + "teraTypes": ["Electric", "Poison"] } ] }, "chandelure": { - "level": 82, + "level": 81, "sets": [ { "role": "Doubles Fast Attacker", @@ -2529,7 +3324,7 @@ "sets": [ { "role": "Doubles Fast Attacker", - "movepool": ["Close Combat", "Fake Out", "Knock Off", "U-turn"], + "movepool": ["Close Combat", "Fake Out", "Knock Off", "Triple Axel", "U-turn"], "teraTypes": ["Dark"] }, { @@ -2539,8 +3334,23 @@ } ] }, + "golurk": { + "level": 86, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Dynamic Punch", "High Horsepower", "Poltergeist", "Protect"], + "teraTypes": ["Fighting"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Dynamic Punch", "High Horsepower", "Poltergeist", "Stone Edge"], + "teraTypes": ["Dragon", "Fairy", "Fighting"] + } + ] + }, "braviary": { - "level": 83, + "level": 82, "sets": [ { "role": "Offensive Protect", @@ -2550,7 +3360,7 @@ ] }, "braviaryhisui": { - "level": 83, + "level": 84, "sets": [ { "role": "Doubles Wallbreaker", @@ -2565,17 +3375,12 @@ ] }, "mandibuzz": { - "level": 87, + "level": 88, "sets": [ { "role": "Doubles Support", "movepool": ["Foul Play", "Knock Off", "Roost", "Snarl", "Tailwind", "Taunt", "Toxic", "U-turn"], "teraTypes": ["Steel"] - }, - { - "role": "Doubles Bulky Attacker", - "movepool": ["Defog", "Foul Play", "Knock Off", "Taunt", "Toxic"], - "teraTypes": ["Steel"] } ] }, @@ -2609,6 +3414,46 @@ } ] }, + "cobalion": { + "level": 80, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Body Press", "Coaching", "Iron Head", "Thunder Wave", "Volt Switch"], + "teraTypes": ["Flying", "Water"] + }, + { + "role": "Bulky Protect", + "movepool": ["Body Press", "Iron Defense", "Iron Head", "Protect"], + "teraTypes": ["Flying", "Water"] + } + ] + }, + "terrakion": { + "level": 79, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Close Combat", "High Horsepower", "Rock Slide", "Stone Edge"], + "teraTypes": ["Fighting", "Ghost", "Rock"] + }, + { + "role": "Offensive Protect", + "movepool": ["Close Combat", "High Horsepower", "Protect", "Rock Slide"], + "teraTypes": ["Fighting", "Ghost", "Rock"] + } + ] + }, + "virizion": { + "level": 86, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Close Combat", "Coaching", "Leaf Storm", "Protect", "Stone Edge"], + "teraTypes": ["Fire", "Rock", "Steel"] + } + ] + }, "tornadus": { "level": 77, "sets": [ @@ -2646,6 +3491,11 @@ "role": "Bulky Protect", "movepool": ["Grass Knot", "Knock Off", "Protect", "Snarl", "Taunt", "Thunder Wave", "Thunderbolt"], "teraTypes": ["Steel"] + }, + { + "role": "Offensive Protect", + "movepool": ["Acrobatics", "Grass Knot", "Knock Off", "Protect", "Snarl", "Wildbolt Storm"], + "teraTypes": ["Electric", "Flying", "Steel"] } ] }, @@ -2664,6 +3514,26 @@ } ] }, + "reshiram": { + "level": 73, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Blue Flare", "Draco Meteor", "Heat Wave", "Protect", "Tailwind"], + "teraTypes": ["Fire"] + } + ] + }, + "zekrom": { + "level": 73, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Bolt Strike", "Dragon Claw", "Dragon Dance", "Protect"], + "teraTypes": ["Dragon", "Electric", "Fire", "Grass"] + } + ] + }, "landorus": { "level": 76, "sets": [ @@ -2671,16 +3541,11 @@ "role": "Doubles Wallbreaker", "movepool": ["Earth Power", "Nasty Plot", "Protect", "Psychic", "Sandsear Storm", "Sludge Bomb"], "teraTypes": ["Ground", "Poison", "Psychic"] - }, - { - "role": "Tera Blast user", - "movepool": ["Nasty Plot", "Protect", "Sandsear Storm", "Tera Blast"], - "teraTypes": ["Flying", "Ice"] } ] }, "landorustherian": { - "level": 78, + "level": 77, "sets": [ { "role": "Doubles Support", @@ -2689,13 +3554,68 @@ }, { "role": "Tera Blast user", - "movepool": ["Earthquake", "Protect", "Swords Dance", "Tera Blast"], + "movepool": ["Earthquake", "Protect", "Stone Edge", "Tera Blast"], "teraTypes": ["Flying"] } ] }, + "kyurem": { + "level": 77, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Earth Power", "Icicle Spear", "Protect", "Scale Shot"], + "teraTypes": ["Fairy", "Steel"] + }, + { + "role": "Doubles Fast Attacker", + "movepool": ["Draco Meteor", "Earth Power", "Glaciate", "Protect"], + "teraTypes": ["Fairy", "Steel"] + } + ] + }, + "kyuremwhite": { + "level": 72, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Draco Meteor", "Earth Power", "Fusion Flare", "Ice Beam", "Protect"], + "teraTypes": ["Fire"] + }, + { + "role": "Doubles Fast Attacker", + "movepool": ["Blizzard", "Earth Power", "Freeze-Dry", "Fusion Flare", "Protect"], + "teraTypes": ["Fire", "Ground"] + } + ] + }, + "kyuremblack": { + "level": 75, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Dragon Dance", "Fusion Bolt", "Icicle Spear", "Protect"], + "teraTypes": ["Electric"] + } + ] + }, + "keldeoresolute": { + "level": 79, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Hydro Pump", "Muddy Water", "Secret Sword", "Vacuum Wave"], + "teraTypes": ["Fighting", "Steel", "Water"] + }, + { + "role": "Offensive Protect", + "movepool": ["Hydro Pump", "Muddy Water", "Protect", "Secret Sword", "Vacuum Wave"], + "teraTypes": ["Fighting", "Steel", "Water"] + } + ] + }, "meloetta": { - "level": 81, + "level": 80, "sets": [ { "role": "Doubles Wallbreaker", @@ -2710,22 +3630,22 @@ ] }, "chesnaught": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Protect", - "movepool": ["Body Press", "Knock Off", "Leech Seed", "Spiky Shield", "Wood Hammer"], + "movepool": ["Body Press", "Coaching", "Knock Off", "Leech Seed", "Spiky Shield", "Wood Hammer"], "teraTypes": ["Fire", "Rock", "Steel", "Water"] }, { "role": "Doubles Bulky Setup", - "movepool": ["Body Press", "Iron Defense", "Synthesis", "Wood Hammer"], + "movepool": ["Body Press", "Iron Defense", "Leech Seed", "Spiky Shield"], "teraTypes": ["Fire", "Rock", "Steel", "Water"] } ] }, "delphox": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Setup Sweeper", @@ -2745,7 +3665,7 @@ ] }, "talonflame": { - "level": 83, + "level": 82, "sets": [ { "role": "Doubles Bulky Attacker", @@ -2755,7 +3675,7 @@ ] }, "vivillon": { - "level": 87, + "level": 88, "sets": [ { "role": "Doubles Support", @@ -2765,7 +3685,7 @@ ] }, "pyroar": { - "level": 84, + "level": 83, "sets": [ { "role": "Offensive Protect", @@ -2780,7 +3700,7 @@ ] }, "florges": { - "level": 85, + "level": 84, "sets": [ { "role": "Bulky Protect", @@ -2799,8 +3719,43 @@ } ] }, + "meowstic": { + "level": 86, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Fake Out", "Fake Tears", "Helping Hand", "Light Screen", "Psychic", "Reflect"], + "teraTypes": ["Dark", "Steel"] + }, + { + "role": "Doubles Support", + "movepool": ["Fake Out", "Helping Hand", "Psychic", "Thunder Wave"], + "teraTypes": ["Dark", "Steel"] + } + ] + }, + "meowsticf": { + "level": 88, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Alluring Voice", "Dark Pulse", "Protect", "Psychic", "Thunderbolt"], + "teraTypes": ["Dark", "Electric", "Fairy"] + } + ] + }, + "malamar": { + "level": 80, + "sets": [ + { + "role": "Bulky Protect", + "movepool": ["Knock Off", "Protect", "Psycho Cut", "Superpower", "Trick Room"], + "teraTypes": ["Fighting"] + } + ] + }, "dragalge": { - "level": 87, + "level": 88, "sets": [ { "role": "Doubles Wallbreaker", @@ -2860,11 +3815,11 @@ ] }, "carbink": { - "level": 90, + "level": 89, "sets": [ { "role": "Doubles Bulky Setup", - "movepool": ["Body Press", "Iron Defense", "Moonblast", "Stealth Rock"], + "movepool": ["Body Press", "Iron Defense", "Moonblast", "Trick Room"], "teraTypes": ["Fighting"] } ] @@ -2874,13 +3829,13 @@ "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Draco Meteor", "Fire Blast", "Power Whip", "Protect", "Scald", "Sludge Bomb", "Thunderbolt"], + "movepool": ["Breaking Swipe", "Draco Meteor", "Fire Blast", "Power Whip", "Protect", "Scald", "Sludge Bomb", "Thunderbolt"], "teraTypes": ["Electric", "Fire", "Grass", "Poison", "Water"] } ] }, "goodrahisui": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Bulky Attacker", @@ -2890,7 +3845,7 @@ ] }, "klefki": { - "level": 83, + "level": 82, "sets": [ { "role": "Doubles Support", @@ -2900,7 +3855,7 @@ ] }, "trevenant": { - "level": 87, + "level": 88, "sets": [ { "role": "Doubles Bulky Attacker", @@ -2910,7 +3865,7 @@ ] }, "avalugg": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Protect", @@ -2934,8 +3889,8 @@ "sets": [ { "role": "Doubles Fast Attacker", - "movepool": ["Boomburst", "Draco Meteor", "Flamethrower", "Hurricane", "Protect", "Tailwind"], - "teraTypes": ["Normal"] + "movepool": ["Draco Meteor", "Flamethrower", "Hurricane", "Protect", "Tailwind"], + "teraTypes": ["Dragon", "Fire", "Steel"] }, { "role": "Doubles Bulky Attacker", @@ -2960,7 +3915,7 @@ ] }, "hoopa": { - "level": 84, + "level": 85, "sets": [ { "role": "Doubles Fast Attacker", @@ -2985,7 +3940,7 @@ ] }, "volcanion": { - "level": 76, + "level": 74, "sets": [ { "role": "Doubles Bulky Attacker", @@ -3014,13 +3969,48 @@ } ] }, + "incineroar": { + "level": 78, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Fake Out", "Flare Blitz", "Knock Off", "Parting Shot"], + "teraTypes": ["Water"] + } + ] + }, + "primarina": { + "level": 79, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Flip Turn", "Hydro Pump", "Hyper Voice", "Moonblast"], + "teraTypes": ["Water"] + } + ] + }, + "toucannon": { + "level": 88, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Brave Bird", "Bullet Seed", "Protect", "Tailwind"], + "teraTypes": ["Grass", "Steel"] + }, + { + "role": "Bulky Protect", + "movepool": ["Beak Blast", "Bullet Seed", "Knock Off", "Protect"], + "teraTypes": ["Grass", "Steel"] + } + ] + }, "gumshoos": { - "level": 92, + "level": 93, "sets": [ { "role": "Choice Item user", - "movepool": ["Body Slam", "Crunch", "Fire Fang", "Psychic Fangs", "U-turn"], - "teraTypes": ["Psychic"] + "movepool": ["Double-Edge", "Knock Off", "Stomping Tantrum", "U-turn"], + "teraTypes": ["Normal"] } ] }, @@ -3028,14 +4018,14 @@ "level": 83, "sets": [ { - "role": "Doubles Bulky Attacker", - "movepool": ["Bug Buzz", "Protect", "Sticky Web", "Thunderbolt"], + "role": "Bulky Protect", + "movepool": ["Bug Buzz", "Electroweb", "Protect", "Sticky Web", "Thunderbolt"], "teraTypes": ["Electric"] } ] }, "crabominable": { - "level": 88, + "level": 89, "sets": [ { "role": "Doubles Wallbreaker", @@ -3065,7 +4055,7 @@ ] }, "oricoriopau": { - "level": 86, + "level": 88, "sets": [ { "role": "Bulky Protect", @@ -3075,7 +4065,7 @@ ] }, "oricoriosensu": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Protect", @@ -3085,12 +4075,12 @@ ] }, "ribombee": { - "level": 85, + "level": 86, "sets": [ { "role": "Doubles Support", - "movepool": ["Pollen Puff", "Protect", "Sticky Web", "Tailwind", "U-turn"], - "teraTypes": ["Dark"] + "movepool": ["Moonblast", "Pollen Puff", "Protect", "Tailwind"], + "teraTypes": ["Steel"] }, { "role": "Tera Blast user", @@ -3100,7 +4090,7 @@ ] }, "lycanroc": { - "level": 86, + "level": 85, "sets": [ { "role": "Offensive Protect", @@ -3110,7 +4100,7 @@ ] }, "lycanrocmidnight": { - "level": 86, + "level": 85, "sets": [ { "role": "Choice Item user", @@ -3120,7 +4110,7 @@ ] }, "lycanrocdusk": { - "level": 84, + "level": 83, "sets": [ { "role": "Offensive Protect", @@ -3134,7 +4124,7 @@ "sets": [ { "role": "Bulky Protect", - "movepool": ["Acid Spray", "Baneful Bunker", "Recover", "Toxic", "Toxic Spikes"], + "movepool": ["Baneful Bunker", "Infestation", "Recover", "Toxic"], "teraTypes": ["Grass", "Steel"] } ] @@ -3149,13 +4139,33 @@ } ] }, + "araquanid": { + "level": 85, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Liquidation", "Lunge", "Protect", "Sticky Web", "Wide Guard"], + "teraTypes": ["Water"] + } + ] + }, "lurantis": { - "level": 87, + "level": 86, "sets": [ { "role": "Doubles Bulky Attacker", "movepool": ["Leaf Blade", "Leaf Storm", "Pollen Puff", "Superpower"], "teraTypes": ["Fighting"] + }, + { + "role": "Bulky Protect", + "movepool": ["Knock Off", "Leaf Blade", "Pollen Puff", "Protect", "Superpower"], + "teraTypes": ["Fighting"] + }, + { + "role": "Tera Blast user", + "movepool": ["Knock Off", "Leaf Storm", "Superpower", "Tera Blast"], + "teraTypes": ["Stellar"] } ] }, @@ -3174,8 +4184,18 @@ "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["High Jump Kick", "Knock Off", "Play Rough", "Power Whip", "Rapid Spin", "U-turn"], - "teraTypes": ["Fairy", "Fighting"] + "movepool": ["High Jump Kick", "Knock Off", "Power Whip", "Rapid Spin", "Triple Axel"], + "teraTypes": ["Fighting", "Fire"] + } + ] + }, + "comfey": { + "level": 89, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Draining Kiss", "Floral Healing", "Helping Hand", "Tailwind"], + "teraTypes": ["Fairy", "Steel"] } ] }, @@ -3190,7 +4210,7 @@ ] }, "passimian": { - "level": 84, + "level": 82, "sets": [ { "role": "Choice Item user", @@ -3204,28 +4224,38 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Earth Power", "Hypnosis", "Protect", "Shadow Ball", "Shore Up", "Stealth Rock"], + "movepool": ["Earth Power", "Protect", "Shadow Ball", "Shore Up", "Stealth Rock"], "teraTypes": ["Grass", "Water"] } ] }, + "minior": { + "level": 82, + "sets": [ + { + "role": "Doubles Setup Sweeper", + "movepool": ["Acrobatics", "Protect", "Rock Slide", "Shell Smash"], + "teraTypes": ["Flying", "Rock", "Steel"] + } + ] + }, "komala": { - "level": 89, + "level": 92, "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Body Slam", "Knock Off", "Play Rough", "Rapid Spin", "Sucker Punch", "Superpower", "U-turn", "Wood Hammer"], - "teraTypes": ["Fairy", "Fighting", "Grass"] + "movepool": ["Double-Edge", "Knock Off", "Rapid Spin", "Sucker Punch", "Superpower", "U-turn", "Wood Hammer"], + "teraTypes": ["Fighting", "Grass"] } ] }, "mimikyu": { - "level": 83, + "level": 82, "sets": [ { "role": "Doubles Setup Sweeper", - "movepool": ["Drain Punch", "Play Rough", "Protect", "Shadow Claw", "Shadow Sneak", "Swords Dance"], - "teraTypes": ["Fighting", "Ghost"] + "movepool": ["Play Rough", "Protect", "Shadow Claw", "Shadow Sneak", "Swords Dance"], + "teraTypes": ["Ghost"] } ] }, @@ -3244,6 +4274,91 @@ } ] }, + "solgaleo": { + "level": 75, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Close Combat", "Flare Blitz", "Knock Off", "Psychic Fangs", "Sunsteel Strike"], + "teraTypes": ["Dark", "Fighting", "Fire"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Close Combat", "Flame Charge", "Protect", "Sunsteel Strike"], + "teraTypes": ["Fighting", "Fire"] + } + ] + }, + "lunala": { + "level": 72, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Icy Wind", "Moongeist Beam", "Moonlight", "Tailwind", "Wide Guard", "Will-O-Wisp"], + "teraTypes": ["Dark"] + }, + { + "role": "Offensive Protect", + "movepool": ["Meteor Beam", "Moonblast", "Moongeist Beam", "Protect"], + "teraTypes": ["Fairy"] + }, + { + "role": "Bulky Protect", + "movepool": ["Calm Mind", "Moonblast", "Moongeist Beam", "Protect"], + "teraTypes": ["Fairy"] + } + ] + }, + "necrozma": { + "level": 81, + "sets": [ + { + "role": "Doubles Setup Sweeper", + "movepool": ["Brick Break", "Dragon Dance", "Knock Off", "Photon Geyser"], + "teraTypes": ["Dark", "Fighting"] + }, + { + "role": "Offensive Protect", + "movepool": ["Earth Power", "Meteor Beam", "Photon Geyser", "Protect"], + "teraTypes": ["Dark", "Steel"] + }, + { + "role": "Bulky Protect", + "movepool": ["Calm Mind", "Earth Power", "Photon Geyser", "Protect"], + "teraTypes": ["Dark", "Steel"] + } + ] + }, + "necrozmaduskmane": { + "level": 72, + "sets": [ + { + "role": "Doubles Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Photon Geyser", "Protect", "Sunsteel Strike"], + "teraTypes": ["Dark", "Steel", "Water"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Earthquake", "Photon Geyser", "Protect", "Sunsteel Strike", "Trick Room"], + "teraTypes": ["Dark", "Steel", "Water"] + } + ] + }, + "necrozmadawnwings": { + "level": 73, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Moongeist Beam", "Photon Geyser", "Protect", "Trick Room"], + "teraTypes": ["Dark"] + }, + { + "role": "Tera Blast user", + "movepool": ["Moongeist Beam", "Photon Geyser", "Tera Blast", "Trick Room"], + "teraTypes": ["Fairy", "Fighting"] + } + ] + }, "kommoo": { "level": 79, "sets": [ @@ -3278,9 +4393,9 @@ "level": 82, "sets": [ { - "role": "Doubles Wallbreaker", - "movepool": ["Grassy Glide", "High Horsepower", "Knock Off", "U-turn", "Wood Hammer"], - "teraTypes": ["Fire", "Grass"] + "role": "Doubles Bulky Attacker", + "movepool": ["Fake Out", "Grassy Glide", "High Horsepower", "Wood Hammer"], + "teraTypes": ["Fire", "Grass", "Steel"] }, { "role": "Doubles Support", @@ -3300,11 +4415,11 @@ ] }, "inteleon": { - "level": 83, + "level": 82, "sets": [ { "role": "Choice Item user", - "movepool": ["Hydro Pump", "Ice Beam", "Scald", "U-turn"], + "movepool": ["Hydro Pump", "Ice Beam", "Muddy Water", "Scald"], "teraTypes": ["Water"] } ] @@ -3314,7 +4429,7 @@ "sets": [ { "role": "Doubles Bulky Setup", - "movepool": ["Body Slam", "High Horsepower", "Knock Off", "Protect", "Swords Dance"], + "movepool": ["Double-Edge", "High Horsepower", "Knock Off", "Protect", "Swords Dance"], "teraTypes": ["Fairy", "Ghost", "Ground"] } ] @@ -3324,7 +4439,7 @@ "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Brave Bird", "Defog", "Iron Head", "Roost", "Tailwind", "U-turn"], + "movepool": ["Brave Bird", "Iron Head", "Roost", "Tailwind", "U-turn"], "teraTypes": ["Dragon"] } ] @@ -3340,7 +4455,7 @@ ] }, "coalossal": { - "level": 89, + "level": 90, "sets": [ { "role": "Doubles Bulky Attacker", @@ -3350,7 +4465,7 @@ ] }, "flapple": { - "level": 92, + "level": 93, "sets": [ { "role": "Doubles Bulky Attacker", @@ -3365,7 +4480,7 @@ ] }, "appletun": { - "level": 90, + "level": 91, "sets": [ { "role": "Doubles Bulky Attacker", @@ -3390,7 +4505,7 @@ ] }, "cramorant": { - "level": 87, + "level": 86, "sets": [ { "role": "Bulky Protect", @@ -3416,6 +4531,11 @@ "role": "Choice Item user", "movepool": ["Overdrive", "Sludge Bomb", "Snarl", "Volt Switch"], "teraTypes": ["Dark", "Electric", "Flying"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Overdrive", "Psychic Noise", "Sludge Bomb", "Volt Switch"], + "teraTypes": ["Electric", "Flying", "Psychic"] } ] }, @@ -3426,6 +4546,11 @@ "role": "Choice Item user", "movepool": ["Overdrive", "Sludge Bomb", "Snarl", "Volt Switch"], "teraTypes": ["Dark", "Electric", "Flying"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Overdrive", "Psychic Noise", "Sludge Bomb", "Volt Switch"], + "teraTypes": ["Electric", "Flying", "Psychic"] } ] }, @@ -3484,6 +4609,16 @@ } ] }, + "alcremie": { + "level": 89, + "sets": [ + { + "role": "Doubles Support", + "movepool": ["Alluring Voice", "Dazzling Gleam", "Decorate", "Encore", "Protect"], + "teraTypes": ["Steel"] + } + ] + }, "falinks": { "level": 86, "sets": [ @@ -3495,11 +4630,11 @@ ] }, "pincurchin": { - "level": 99, + "level": 97, "sets": [ { "role": "Doubles Support", - "movepool": ["Acupressure", "Recover", "Thunderbolt", "Toxic Spikes"], + "movepool": ["Electroweb", "Recover", "Thunderbolt", "Toxic Spikes"], "teraTypes": ["Grass"] } ] @@ -3521,11 +4656,16 @@ "role": "Doubles Fast Attacker", "movepool": ["Heat Crash", "High Horsepower", "Protect", "Rock Polish", "Stone Edge"], "teraTypes": ["Fire", "Rock"] + }, + { + "role": "Choice Item user", + "movepool": ["Heat Crash", "High Horsepower", "Rock Slide", "Stone Edge"], + "teraTypes": ["Fire", "Rock"] } ] }, "eiscue": { - "level": 88, + "level": 89, "sets": [ { "role": "Doubles Bulky Setup", @@ -3535,17 +4675,27 @@ ] }, "indeedee": { - "level": 88, + "level": 80, "sets": [ { - "role": "Doubles Fast Attacker", - "movepool": ["Encore", "Hyper Voice", "Protect", "Psychic", "Psyshock", "Shadow Ball", "Trick"], + "role": "Offensive Protect", + "movepool": ["Encore", "Expanding Force", "Hyper Voice", "Protect", "Shadow Ball"], "teraTypes": ["Fairy", "Psychic"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Expanding Force", "Hyper Voice", "Psyshock", "Trick"], + "teraTypes": ["Psychic"] + }, + { + "role": "Tera Blast user", + "movepool": ["Encore", "Expanding Force", "Protect", "Shadow Ball", "Tera Blast", "Trick"], + "teraTypes": ["Fairy", "Fighting"] } ] }, "indeedeef": { - "level": 89, + "level": 90, "sets": [ { "role": "Doubles Support", @@ -3555,11 +4705,11 @@ ] }, "morpeko": { - "level": 87, + "level": 88, "sets": [ { - "role": "Doubles Support", - "movepool": ["Aura Wheel", "Fake Out", "Knock Off", "Protect"], + "role": "Bulky Protect", + "movepool": ["Aura Wheel", "Electroweb", "Fake Out", "Knock Off", "Protect"], "teraTypes": ["Electric"] }, { @@ -3584,6 +4734,21 @@ } ] }, + "duraludon": { + "level": 84, + "sets": [ + { + "role": "Doubles Bulky Attacker", + "movepool": ["Body Press", "Draco Meteor", "Flash Cannon", "Iron Defense"], + "teraTypes": ["Fighting"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Body Press", "Flash Cannon", "Iron Defense", "Protect", "Snarl", "Thunder Wave"], + "teraTypes": ["Fighting"] + } + ] + }, "dragapult": { "level": 79, "sets": [ @@ -3624,7 +4789,7 @@ "sets": [ { "role": "Doubles Wallbreaker", - "movepool": ["Close Combat", "Crunch", "Howl", "Iron Head", "Psychic Fangs", "Stone Edge"], + "movepool": ["Close Combat", "Coaching", "Crunch", "Howl", "Iron Head", "Psychic Fangs", "Stone Edge"], "teraTypes": ["Dark", "Fighting", "Steel"] }, { @@ -3635,27 +4800,17 @@ ] }, "zamazentacrowned": { - "level": 70, + "level": 68, "sets": [ - { - "role": "Doubles Bulky Setup", - "movepool": ["Behemoth Bash", "Body Press", "Crunch", "Iron Defense", "Protect", "Stone Edge"], - "teraTypes": ["Fighting", "Fire"] - }, { "role": "Doubles Setup Sweeper", - "movepool": ["Behemoth Bash", "Close Combat", "Howl", "Protect"], + "movepool": ["Body Press", "Coaching", "Heavy Slam", "Iron Defense", "Protect", "Snarl", "Wide Guard"], "teraTypes": ["Fighting", "Fire", "Steel"] - }, - { - "role": "Doubles Bulky Attacker", - "movepool": ["Body Press", "Iron Defense", "Protect", "Snarl", "Wide Guard"], - "teraTypes": ["Fighting", "Fire"] } ] }, "eternatus": { - "level": 71, + "level": 70, "sets": [ { "role": "Doubles Bulky Setup", @@ -3666,31 +4821,36 @@ "role": "Doubles Bulky Attacker", "movepool": ["Dynamax Cannon", "Fire Blast", "Recover", "Sludge Bomb", "Toxic Spikes"], "teraTypes": ["Dragon", "Water"] + }, + { + "role": "Offensive Protect", + "movepool": ["Dynamax Cannon", "Fire Blast", "Meteor Beam", "Protect"], + "teraTypes": ["Dragon", "Water"] } ] }, "urshifu": { - "level": 77, + "level": 76, "sets": [ { - "role": "Doubles Fast Attacker", - "movepool": ["Close Combat", "Protect", "Sucker Punch", "Swords Dance", "Wicked Blow"], + "role": "Doubles Wallbreaker", + "movepool": ["Close Combat", "Poison Jab", "Protect", "Sucker Punch", "Wicked Blow"], "teraTypes": ["Dark", "Poison"] } ] }, "urshifurapidstrike": { - "level": 79, + "level": 78, "sets": [ { - "role": "Doubles Fast Attacker", - "movepool": ["Aqua Jet", "Close Combat", "Protect", "Surging Strikes", "Swords Dance"], - "teraTypes": ["Fire", "Steel", "Water"] + "role": "Doubles Wallbreaker", + "movepool": ["Aqua Jet", "Close Combat", "Ice Spinner", "Protect", "Surging Strikes", "U-turn"], + "teraTypes": ["Water"] } ] }, "zarude": { - "level": 81, + "level": 80, "sets": [ { "role": "Offensive Protect", @@ -3700,7 +4860,7 @@ ] }, "regieleki": { - "level": 80, + "level": 79, "sets": [ { "role": "Doubles Fast Attacker", @@ -3725,7 +4885,7 @@ ] }, "glastrier": { - "level": 82, + "level": 81, "sets": [ { "role": "Doubles Bulky Attacker", @@ -3739,7 +4899,12 @@ "sets": [ { "role": "Offensive Protect", - "movepool": ["Dark Pulse", "Nasty Plot", "Protect", "Shadow Ball", "Will-O-Wisp"], + "movepool": ["Draining Kiss", "Nasty Plot", "Protect", "Shadow Ball"], + "teraTypes": ["Fairy"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Dark Pulse", "Nasty Plot", "Protect", "Shadow Ball"], "teraTypes": ["Dark"] }, { @@ -3750,17 +4915,17 @@ ] }, "calyrex": { - "level": 94, + "level": 97, "sets": [ { "role": "Doubles Support", - "movepool": ["Encore", "Helping Hand", "Leaf Storm", "Pollen Puff"], + "movepool": ["Encore", "Giga Drain", "Helping Hand", "Leaf Storm", "Leech Seed", "Pollen Puff", "Psychic"], "teraTypes": ["Steel"] } ] }, "calyrexice": { - "level": 67, + "level": 65, "sets": [ { "role": "Doubles Wallbreaker", @@ -3774,7 +4939,7 @@ "sets": [ { "role": "Offensive Protect", - "movepool": ["Astral Barrage", "Nasty Plot", "Pollen Puff", "Protect", "Psyshock"], + "movepool": ["Astral Barrage", "Encore", "Nasty Plot", "Pollen Puff", "Protect", "Psyshock"], "teraTypes": ["Dark", "Ghost"] } ] @@ -3786,6 +4951,11 @@ "role": "Doubles Bulky Attacker", "movepool": ["Body Slam", "Double-Edge", "Earth Power", "Protect", "Psychic", "Thunder Wave", "Thunderbolt"], "teraTypes": ["Fairy"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Double-Edge", "Earth Power", "Psychic", "Trick Room"], + "teraTypes": ["Fairy", "Ground"] } ] }, @@ -3794,7 +4964,7 @@ "sets": [ { "role": "Offensive Protect", - "movepool": ["Close Combat", "Protect", "Stone Axe", "U-turn", "X-Scissor"], + "movepool": ["Close Combat", "Protect", "Stone Axe", "Tailwind", "U-turn", "X-Scissor"], "teraTypes": ["Bug", "Fighting", "Rock", "Steel"] } ] @@ -3820,7 +4990,7 @@ ] }, "enamorus": { - "level": 80, + "level": 79, "sets": [ { "role": "Doubles Setup Sweeper", @@ -3831,6 +5001,11 @@ "role": "Offensive Protect", "movepool": ["Earth Power", "Protect", "Springtide Storm", "Tailwind"], "teraTypes": ["Ground"] + }, + { + "role": "Tera Blast user", + "movepool": ["Protect", "Springtide Storm", "Superpower", "Tera Blast"], + "teraTypes": ["Stellar"] } ] }, @@ -3845,12 +5020,12 @@ ] }, "meowscarada": { - "level": 81, + "level": 80, "sets": [ { "role": "Choice Item user", - "movepool": ["Flower Trick", "Knock Off", "Play Rough", "Sucker Punch", "U-turn"], - "teraTypes": ["Dark", "Fairy", "Grass"] + "movepool": ["Flower Trick", "Knock Off", "Sucker Punch", "Triple Axel", "U-turn"], + "teraTypes": ["Dark", "Grass"] }, { "role": "Offensive Protect", @@ -3874,7 +5049,7 @@ "sets": [ { "role": "Offensive Protect", - "movepool": ["Aqua Jet", "Aqua Step", "Close Combat", "Ice Spinner", "Knock Off", "Protect"], + "movepool": ["Aqua Jet", "Aqua Step", "Close Combat", "Knock Off", "Protect", "Triple Axel"], "teraTypes": ["Fire", "Steel", "Water"] } ] @@ -3890,7 +5065,7 @@ { "role": "Doubles Wallbreaker", "movepool": ["Double-Edge", "High Horsepower", "Lash Out", "Play Rough"], - "teraTypes": ["Ghost", "Normal"] + "teraTypes": ["Fairy", "Ground", "Normal"] } ] }, @@ -3900,7 +5075,7 @@ { "role": "Doubles Support", "movepool": ["Double-Edge", "Helping Hand", "Lash Out", "Protect", "Yawn"], - "teraTypes": ["Fairy", "Ground", "Normal"] + "teraTypes": ["Ghost", "Normal"] }, { "role": "Doubles Wallbreaker", @@ -3914,13 +5089,13 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Bug Bite", "Circle Throw", "Knock Off", "Sticky Web", "String Shot", "U-turn"], + "movepool": ["Circle Throw", "Knock Off", "Lunge", "Sticky Web", "String Shot", "U-turn"], "teraTypes": ["Water"] } ] }, "lokix": { - "level": 85, + "level": 87, "sets": [ { "role": "Offensive Protect", @@ -3935,17 +5110,12 @@ ] }, "pawmot": { - "level": 82, + "level": 81, "sets": [ { "role": "Doubles Wallbreaker", "movepool": ["Close Combat", "Double Shock", "Fake Out", "Protect", "Revival Blessing"], "teraTypes": ["Electric"] - }, - { - "role": "Doubles Support", - "movepool": ["Close Combat", "Encore", "Fake Out", "Knock Off", "Nuzzle", "Revival Blessing"], - "teraTypes": ["Fighting"] } ] }, @@ -3959,23 +5129,8 @@ }, { "role": "Doubles Support", - "movepool": ["Encore", "Follow Me", "Helping Hand", "Population Bomb", "Protect", "Taunt", "Thunder Wave", "U-turn"], - "teraTypes": ["Ghost"] - } - ] - }, - "mausholdfour": { - "level": 80, - "sets": [ - { - "role": "Doubles Setup Sweeper", - "movepool": ["Encore", "Population Bomb", "Protect", "Tidy Up"], - "teraTypes": ["Normal"] - }, - { - "role": "Doubles Support", - "movepool": ["Encore", "Follow Me", "Helping Hand", "Population Bomb", "Protect", "Taunt", "Thunder Wave", "U-turn"], - "teraTypes": ["Ghost"] + "movepool": ["Encore", "Follow Me", "Population Bomb", "Protect", "Taunt", "Thunder Wave", "U-turn"], + "teraTypes": ["Ghost", "Normal"] } ] }, @@ -4040,17 +5195,17 @@ ] }, "garganacl": { - "level": 80, + "level": 81, "sets": [ { - "role": "Doubles Bulky Setup", - "movepool": ["Protect", "Recover", "Salt Cure", "Wide Guard"], + "role": "Bulky Protect", + "movepool": ["Protect", "Recover", "Salt Cure", "Stealth Rock", "Wide Guard"], "teraTypes": ["Ghost"] } ] }, "armarouge": { - "level": 82, + "level": 81, "sets": [ { "role": "Doubles Wallbreaker", @@ -4060,7 +5215,12 @@ { "role": "Offensive Protect", "movepool": ["Heat Wave", "Protect", "Psychic", "Trick Room"], - "teraTypes": ["Grass"] + "teraTypes": ["Dark", "Grass"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Heat Wave", "Meteor Beam", "Protect", "Psychic", "Psyshock"], + "teraTypes": ["Dark", "Grass"] } ] }, @@ -4069,23 +5229,23 @@ "sets": [ { "role": "Doubles Setup Sweeper", - "movepool": ["Bitter Blade", "Close Combat", "Poltergeist", "Protect", "Shadow Sneak", "Swords Dance"], - "teraTypes": ["Fighting", "Fire", "Ghost", "Grass"] + "movepool": ["Bitter Blade", "Poltergeist", "Protect", "Shadow Sneak", "Swords Dance"], + "teraTypes": ["Fire", "Ghost", "Grass"] } ] }, "bellibolt": { - "level": 83, + "level": 81, "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["Acid Spray", "Muddy Water", "Slack Off", "Thunder Wave", "Thunderbolt", "Volt Switch"], + "movepool": ["Electroweb", "Muddy Water", "Slack Off", "Thunder Wave", "Thunderbolt", "Volt Switch"], "teraTypes": ["Water"] } ] }, "kilowattrel": { - "level": 82, + "level": 81, "sets": [ { "role": "Doubles Fast Attacker", @@ -4095,7 +5255,7 @@ ] }, "mabosstiff": { - "level": 85, + "level": 84, "sets": [ { "role": "Doubles Wallbreaker", @@ -4164,7 +5324,12 @@ "sets": [ { "role": "Choice Item user", - "movepool": ["Energy Ball", "Fire Blast", "Flamethrower", "Leaf Storm"], + "movepool": ["Burning Jealousy", "Energy Ball", "Fire Blast", "Leaf Storm"], + "teraTypes": ["Fire", "Grass", "Steel"] + }, + { + "role": "Doubles Support", + "movepool": ["Energy Ball", "Fire Blast", "Protect", "Rage Powder", "Will-O-Wisp"], "teraTypes": ["Fire", "Grass", "Steel"] } ] @@ -4200,7 +5365,7 @@ ] }, "wugtrio": { - "level": 89, + "level": 91, "sets": [ { "role": "Choice Item user", @@ -4225,12 +5390,17 @@ ] }, "palafin": { - "level": 80, + "level": 79, "sets": [ { "role": "Choice Item user", "movepool": ["Close Combat", "Flip Turn", "Jet Punch", "Wave Crash"], "teraTypes": ["Fighting", "Water"] + }, + { + "role": "Offensive Protect", + "movepool": ["Flip Turn", "Jet Punch", "Protect", "Wave Crash"], + "teraTypes": ["Water"] } ] }, @@ -4238,8 +5408,8 @@ "level": 84, "sets": [ { - "role": "Doubles Bulky Attacker", - "movepool": ["Gunk Shot", "Haze", "Iron Head", "Parting Shot", "Poison Gas", "Taunt"], + "role": "Offensive Protect", + "movepool": ["Gunk Shot", "Iron Head", "Parting Shot", "Protect"], "teraTypes": ["Flying", "Water"] }, { @@ -4250,7 +5420,7 @@ ] }, "cyclizar": { - "level": 85, + "level": 86, "sets": [ { "role": "Doubles Support", @@ -4280,12 +5450,17 @@ ] }, "glimmora": { - "level": 80, + "level": 77, "sets": [ { "role": "Bulky Protect", "movepool": ["Earth Power", "Mortal Spin", "Power Gem", "Sludge Bomb", "Spiky Shield", "Stealth Rock"], "teraTypes": ["Grass", "Water"] + }, + { + "role": "Offensive Protect", + "movepool": ["Earth Power", "Meteor Beam", "Sludge Bomb", "Spiky Shield"], + "teraTypes": ["Ground"] } ] }, @@ -4300,7 +5475,7 @@ ] }, "flamigo": { - "level": 85, + "level": 84, "sets": [ { "role": "Choice Item user", @@ -4310,7 +5485,7 @@ ] }, "cetitan": { - "level": 84, + "level": 83, "sets": [ { "role": "Doubles Wallbreaker", @@ -4366,11 +5541,6 @@ "role": "Doubles Wallbreaker", "movepool": ["Hyper Voice", "Nasty Plot", "Protect", "Psychic", "Psyshock", "Trick Room"], "teraTypes": ["Fairy"] - }, - { - "role": "Tera Blast user", - "movepool": ["Nasty Plot", "Psychic", "Psyshock", "Tera Blast", "Trick Room"], - "teraTypes": ["Fairy"] } ] }, @@ -4379,24 +5549,24 @@ "sets": [ { "role": "Bulky Protect", - "movepool": ["Boomburst", "Earth Power", "Glare", "Hyper Drill", "Protect", "Tailwind"], + "movepool": ["Earth Power", "Glare", "Hyper Drill", "Protect", "Tailwind"], "teraTypes": ["Ghost", "Ground", "Normal"] - } - ] - }, - "dudunsparcethreesegment": { - "level": 86, - "sets": [ + }, { - "role": "Bulky Protect", - "movepool": ["Boomburst", "Earth Power", "Glare", "Hyper Drill", "Protect", "Tailwind"], + "role": "Doubles Bulky Attacker", + "movepool": ["Boomburst", "Earth Power", "Helping Hand", "Protect", "Tailwind"], "teraTypes": ["Ghost", "Ground", "Normal"] } ] }, "kingambit": { - "level": 78, + "level": 77, "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["Iron Head", "Protect", "Sucker Punch", "Swords Dance"], + "teraTypes": ["Dark", "Fire", "Flying"] + }, { "role": "Bulky Protect", "movepool": ["Iron Head", "Kowtow Cleave", "Protect", "Sucker Punch"], @@ -4430,11 +5600,11 @@ ] }, "sandyshocks": { - "level": 81, + "level": 80, "sets": [ { "role": "Doubles Fast Attacker", - "movepool": ["Earth Power", "Protect", "Stealth Rock", "Thunderbolt", "Volt Switch"], + "movepool": ["Earth Power", "Electroweb", "Protect", "Stealth Rock", "Thunderbolt", "Volt Switch"], "teraTypes": ["Electric", "Grass", "Ground"] }, { @@ -4455,7 +5625,7 @@ ] }, "fluttermane": { - "level": 74, + "level": 73, "sets": [ { "role": "Offensive Protect", @@ -4480,7 +5650,7 @@ ] }, "roaringmoon": { - "level": 77, + "level": 76, "sets": [ { "role": "Doubles Fast Attacker", @@ -4514,7 +5684,7 @@ }, { "role": "Doubles Bulky Attacker", - "movepool": ["Acid Spray", "Energy Ball", "Fire Blast", "Heat Wave", "Protect"], + "movepool": ["Acid Spray", "Energy Ball", "Heat Wave", "Protect"], "teraTypes": ["Poison"] } ] @@ -4525,7 +5695,7 @@ { "role": "Doubles Bulky Attacker", "movepool": ["Close Combat", "Drain Punch", "Fake Out", "Ice Punch", "Volt Switch", "Wild Charge"], - "teraTypes": ["Electric", "Fighting", "Fire"] + "teraTypes": ["Electric", "Fire"] }, { "role": "Bulky Protect", @@ -4535,7 +5705,7 @@ ] }, "ironjugulis": { - "level": 80, + "level": 79, "sets": [ { "role": "Doubles Fast Attacker", @@ -4549,7 +5719,7 @@ "sets": [ { "role": "Doubles Bulky Attacker", - "movepool": ["High Horsepower", "Protect", "Rock Slide", "Stealth Rock", "Thunder Punch", "Thunder Wave", "Volt Switch"], + "movepool": ["Electroweb", "High Horsepower", "Protect", "Rock Slide", "Stealth Rock", "Thunder Punch", "Thunder Wave", "Volt Switch"], "teraTypes": ["Flying", "Grass"] }, { @@ -4574,13 +5744,13 @@ "sets": [ { "role": "Offensive Protect", - "movepool": ["Close Combat", "Dazzling Gleam", "Knock Off", "Moonblast", "Protect", "Taunt"], + "movepool": ["Close Combat", "Dazzling Gleam", "Encore", "Knock Off", "Moonblast", "Protect"], "teraTypes": ["Dark", "Fairy", "Fighting"] } ] }, "baxcalibur": { - "level": 79, + "level": 78, "sets": [ { "role": "Choice Item user", @@ -4610,7 +5780,7 @@ ] }, "tinglu": { - "level": 80, + "level": 81, "sets": [ { "role": "Doubles Bulky Attacker", @@ -4624,8 +5794,13 @@ "sets": [ { "role": "Offensive Protect", - "movepool": ["Ice Spinner", "Protect", "Sacred Sword", "Sucker Punch", "Throat Chop"], - "teraTypes": ["Dark", "Fighting", "Ghost"] + "movepool": ["Icicle Crash", "Lash Out", "Protect", "Sucker Punch", "Throat Chop"], + "teraTypes": ["Dark", "Ghost"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Icicle Crash", "Protect", "Sacred Sword", "Sucker Punch"], + "teraTypes": ["Fighting", "Ghost"] } ] }, @@ -4640,7 +5815,7 @@ ] }, "chiyu": { - "level": 76, + "level": 75, "sets": [ { "role": "Doubles Setup Sweeper", @@ -4665,7 +5840,7 @@ ] }, "miraidon": { - "level": 66, + "level": 65, "sets": [ { "role": "Offensive Protect", @@ -4680,7 +5855,7 @@ ] }, "walkingwake": { - "level": 78, + "level": 77, "sets": [ { "role": "Doubles Wallbreaker", @@ -4693,19 +5868,19 @@ "level": 81, "sets": [ { - "role": "Offensive Protect", - "movepool": ["Close Combat", "Leaf Blade", "Protect", "Psyblade", "Swords Dance"], - "teraTypes": ["Fighting", "Fire", "Psychic"] + "role": "Doubles Setup Sweeper", + "movepool": ["Close Combat", "Leaf Blade", "Protect", "Swords Dance"], + "teraTypes": ["Fighting", "Fire", "Poison"] }, { "role": "Doubles Wallbreaker", "movepool": ["Close Combat", "Leaf Blade", "Psyblade", "Wild Charge"], - "teraTypes": ["Fighting", "Fire", "Poison"] + "teraTypes": ["Fighting", "Fire", "Psychic"] } ] }, "dipplin": { - "level": 87, + "level": 90, "sets": [ { "role": "Doubles Bulky Attacker", @@ -4730,7 +5905,7 @@ ] }, "okidogi": { - "level": 79, + "level": 78, "sets": [ { "role": "Doubles Bulky Attacker", @@ -4759,7 +5934,7 @@ "sets": [ { "role": "Doubles Support", - "movepool": ["Gunk Shot", "Icy Wind", "Roost", "Taunt"], + "movepool": ["Gunk Shot", "Icy Wind", "Play Rough", "Roost"], "teraTypes": ["Dark", "Steel", "Water"] }, { @@ -4800,7 +5975,7 @@ ] }, "ogerponhearthflame": { - "level": 75, + "level": 74, "sets": [ { "role": "Doubles Support", @@ -4815,7 +5990,7 @@ ] }, "ogerponcornerstone": { - "level": 76, + "level": 75, "sets": [ { "role": "Doubles Support", @@ -4828,5 +6003,130 @@ "teraTypes": ["Rock"] } ] + }, + "archaludon": { + "level": 77, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Dragon Pulse", "Electro Shot", "Flash Cannon", "Protect"], + "teraTypes": ["Fairy", "Flying"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Body Press", "Draco Meteor", "Dragon Pulse", "Flash Cannon", "Snarl"], + "teraTypes": ["Fairy", "Fighting", "Flying"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Aura Sphere", "Draco Meteor", "Flash Cannon", "Thunderbolt"], + "teraTypes": ["Dragon", "Electric", "Fairy", "Fighting", "Flying"] + } + ] + }, + "hydrapple": { + "level": 84, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Earth Power", "Fickle Beam", "Leaf Storm", "Pollen Puff", "Protect"], + "teraTypes": ["Steel"] + } + ] + }, + "gougingfire": { + "level": 75, + "sets": [ + { + "role": "Doubles Setup Sweeper", + "movepool": ["Burning Bulwark", "Dragon Claw", "Dragon Dance", "Heat Crash"], + "teraTypes": ["Fire"] + } + ] + }, + "ragingbolt": { + "level": 78, + "sets": [ + { + "role": "Doubles Wallbreaker", + "movepool": ["Draco Meteor", "Protect", "Thunderbolt", "Thunderclap"], + "teraTypes": ["Electric", "Fairy", "Grass"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Draco Meteor", "Electroweb", "Snarl", "Thunderbolt", "Thunderclap"], + "teraTypes": ["Electric", "Fairy", "Grass"] + }, + { + "role": "Bulky Protect", + "movepool": ["Calm Mind", "Dragon Pulse", "Protect", "Thunderclap"], + "teraTypes": ["Electric", "Fairy", "Grass"] + } + ] + }, + "ironboulder": { + "level": 78, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Close Combat", "Mighty Cleave", "Protect", "Swords Dance", "Zen Headbutt"], + "teraTypes": ["Fighting"] + } + ] + }, + "ironcrown": { + "level": 78, + "sets": [ + { + "role": "Offensive Protect", + "movepool": ["Focus Blast", "Protect", "Psychic", "Psyshock", "Tachyon Cutter"], + "teraTypes": ["Fighting", "Water"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Focus Blast", "Psychic", "Psyshock", "Tachyon Cutter", "Volt Switch"], + "teraTypes": ["Fighting", "Water"] + }, + { + "role": "Doubles Bulky Setup", + "movepool": ["Agility", "Focus Blast", "Protect", "Psychic", "Psyshock", "Tachyon Cutter"], + "teraTypes": ["Fighting", "Psychic", "Steel"] + } + ] + }, + "terapagos": { + "level": 73, + "sets": [ + { + "role": "Doubles Bulky Setup", + "movepool": ["Calm Mind", "Earth Power", "Protect", "Tera Starstorm"], + "teraTypes": ["Stellar"] + }, + { + "role": "Doubles Wallbreaker", + "movepool": ["Dark Pulse", "Earth Power", "Tera Starstorm", "Tri Attack"], + "teraTypes": ["Stellar"] + }, + { + "role": "Doubles Setup Sweeper", + "movepool": ["Dark Pulse", "Meteor Beam", "Protect", "Tera Starstorm"], + "teraTypes": ["Stellar"] + } + ] + }, + "pecharunt": { + "level": 76, + "sets": [ + { + "role": "Doubles Setup Sweeper", + "movepool": ["Malignant Chain", "Nasty Plot", "Protect", "Recover", "Shadow Ball"], + "teraTypes": ["Dark"] + }, + { + "role": "Doubles Bulky Attacker", + "movepool": ["Malignant Chain", "Parting Shot", "Poison Gas", "Protect", "Shadow Ball"], + "teraTypes": ["Dark"] + } + ] } } diff --git a/data/random-sets.json b/data/random-battles/gen9/sets.json similarity index 68% rename from data/random-sets.json rename to data/random-battles/gen9/sets.json index 3e589b23de2f..8ccff40f4b4a 100644 --- a/data/random-sets.json +++ b/data/random-battles/gen9/sets.json @@ -1,26 +1,66 @@ { - "charizard": { + "venusaur": { "level": 84, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Giga Drain", "Leech Seed", "Sleep Powder", "Sludge Bomb", "Substitute"], + "teraTypes": ["Steel", "Water"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Earth Power", "Energy Ball", "Knock Off", "Sleep Powder", "Sludge Bomb", "Synthesis", "Toxic"], + "teraTypes": ["Dark", "Steel", "Water"] + } + ] + }, + "charizard": { + "level": 85, "sets": [ { "role": "Fast Attacker", "movepool": ["Earthquake", "Flamethrower", "Focus Blast", "Hurricane", "Will-O-Wisp"], - "teraTypes": ["Fire", "Ground", "Water"] + "teraTypes": ["Dragon", "Fire", "Ground"] }, { "role": "Setup Sweeper", "movepool": ["Dragon Dance", "Earthquake", "Flare Blitz", "Outrage", "Swords Dance"], "teraTypes": ["Dragon", "Ground"] + }, + { + "role": "Fast Attacker", + "movepool": ["Air Slash", "Fire Blast", "Solar Beam", "Sunny Day"], + "teraTypes": ["Fire", "Grass"] + } + ] + }, + "blastoise": { + "level": 80, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Earthquake", "Hydro Pump", "Ice Beam", "Shell Smash"], + "teraTypes": ["Ground", "Steel", "Water"] + }, + { + "role": "Tera Blast user", + "movepool": ["Hydro Pump", "Ice Beam", "Shell Smash", "Tera Blast"], + "teraTypes": ["Electric", "Grass"] } ] }, "arbok": { - "level": 89, + "level": 87, "sets": [ { "role": "Fast Support", - "movepool": ["Earthquake", "Glare", "Gunk Shot", "Knock Off", "Toxic Spikes"], + "movepool": ["Earthquake", "Glare", "Gunk Shot", "Knock Off", "Sucker Punch", "Toxic Spikes"], "teraTypes": ["Dark", "Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Coil", "Earthquake", "Gunk Shot", "Sucker Punch", "Trailblaze"], + "teraTypes": ["Ground"] } ] }, @@ -39,8 +79,13 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Encore", "Focus Blast", "Grass Knot", "Nasty Plot", "Nuzzle", "Surf", "Thunderbolt", "Volt Switch"], + "movepool": ["Alluring Voice", "Encore", "Focus Blast", "Grass Knot", "Nasty Plot", "Nuzzle", "Surf", "Thunderbolt", "Volt Switch"], "teraTypes": ["Grass", "Water"] + }, + { + "role": "Tera Blast user", + "movepool": ["Encore", "Focus Blast", "Nasty Plot", "Surf", "Tera Blast", "Thunderbolt"], + "teraTypes": ["Ice"] } ] }, @@ -49,8 +94,13 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Focus Blast", "Grass Knot", "Nasty Plot", "Psychic", "Psyshock", "Surf", "Thunderbolt", "Volt Switch"], - "teraTypes": ["Fighting", "Grass", "Water"] + "movepool": ["Alluring Voice", "Focus Blast", "Grass Knot", "Psychic", "Psyshock", "Surf", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Fairy", "Fighting", "Grass", "Water"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Alluring Voice", "Focus Blast", "Grass Knot", "Nasty Plot", "Psyshock", "Surf", "Thunderbolt"], + "teraTypes": ["Fairy", "Fighting", "Grass", "Water"] } ] }, @@ -69,18 +119,18 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Earthquake", "Ice Spinner", "Iron Head", "Knock Off", "Rapid Spin", "Spikes"], + "movepool": ["Earthquake", "Iron Head", "Knock Off", "Rapid Spin", "Spikes", "Triple Axel"], "teraTypes": ["Flying", "Water"] }, { "role": "Setup Sweeper", - "movepool": ["Earthquake", "Ice Shard", "Ice Spinner", "Knock Off", "Rapid Spin", "Swords Dance"], + "movepool": ["Earthquake", "Ice Shard", "Knock Off", "Rapid Spin", "Swords Dance", "Triple Axel"], "teraTypes": ["Ground"] } ] }, "clefable": { - "level": 82, + "level": 83, "sets": [ { "role": "Bulky Support", @@ -95,17 +145,17 @@ ] }, "ninetales": { - "level": 84, + "level": 85, "sets": [ { "role": "Setup Sweeper", - "movepool": ["Fire Blast", "Nasty Plot", "Psyshock", "Solar Beam"], + "movepool": ["Fire Blast", "Nasty Plot", "Scorching Sands", "Solar Beam"], "teraTypes": ["Fire", "Grass"] } ] }, "ninetalesalola": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Support", @@ -129,17 +179,27 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Dazzling Gleam", "Fire Blast", "Light Screen", "Protect", "Reflect", "Stealth Rock", "Thunder Wave", "Wish"], + "movepool": ["Alluring Voice", "Dazzling Gleam", "Fire Blast", "Knock Off", "Protect", "Stealth Rock", "Thunder Wave", "Wish"], "teraTypes": ["Poison", "Steel"] } ] }, + "vileplume": { + "level": 86, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Giga Drain", "Leech Seed", "Sleep Powder", "Sludge Bomb", "Strength Sap"], + "teraTypes": ["Steel", "Water"] + } + ] + }, "venomoth": { "level": 85, "sets": [ { "role": "Setup Sweeper", - "movepool": ["Bug Buzz", "Quiver Dance", "Sleep Powder", "Sludge Bomb", "Substitute"], + "movepool": ["Bug Buzz", "Quiver Dance", "Sleep Powder", "Sludge Wave", "Substitute"], "teraTypes": ["Bug", "Poison", "Steel", "Water"] } ] @@ -149,13 +209,18 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Earthquake", "Memento", "Stealth Rock", "Stone Edge", "Sucker Punch", "Swords Dance"], + "movepool": ["Earthquake", "Stealth Rock", "Stone Edge", "Sucker Punch", "Swords Dance"], + "teraTypes": ["Dark", "Fairy", "Flying", "Ghost", "Ground"] + }, + { + "role": "Wallbreaker", + "movepool": ["Earthquake", "Stone Edge", "Sucker Punch", "Throat Chop"], "teraTypes": ["Dark", "Fairy", "Flying", "Ghost", "Ground"] } ] }, "dugtrioalola": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", @@ -167,10 +232,15 @@ "persian": { "level": 93, "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Double-Edge", "Gunk Shot", "Knock Off", "Switcheroo", "U-turn"], + "teraTypes": ["Normal", "Poison"] + }, { "role": "Fast Attacker", - "movepool": ["Aerial Ace", "Body Slam", "Fake Out", "Gunk Shot", "Knock Off", "Switcheroo", "U-turn"], - "teraTypes": ["Flying", "Normal", "Poison"] + "movepool": ["Double-Edge", "Fake Out", "Knock Off", "U-turn"], + "teraTypes": ["Normal"] } ] }, @@ -188,9 +258,14 @@ "level": 90, "sets": [ { - "role": "Fast Attacker", + "role": "Fast Bulky Setup", "movepool": ["Encore", "Grass Knot", "Hydro Pump", "Ice Beam", "Nasty Plot", "Psyshock"], "teraTypes": ["Water"] + }, + { + "role": "Fast Attacker", + "movepool": ["Flip Turn", "Grass Knot", "Hydro Pump", "Ice Beam", "Nasty Plot"], + "teraTypes": ["Grass", "Water"] } ] }, @@ -264,43 +339,48 @@ }, { "role": "Wallbreaker", - "movepool": ["Knock Off", "Power Whip", "Sleep Powder", "Sludge Bomb", "Strength Sap", "Sucker Punch"], + "movepool": ["Knock Off", "Power Whip", "Sleep Powder", "Sludge Wave", "Strength Sap", "Sucker Punch"], "teraTypes": ["Grass", "Steel"] }, { "role": "Fast Attacker", - "movepool": ["Power Whip", "Sludge Bomb", "Sunny Day", "Weather Ball"], + "movepool": ["Power Whip", "Sludge Wave", "Sunny Day", "Weather Ball"], "teraTypes": ["Fire"] } ] }, + "tentacruel": { + "level": 84, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Flip Turn", "Haze", "Knock Off", "Rapid Spin", "Sludge Bomb", "Surf", "Toxic", "Toxic Spikes"], + "teraTypes": ["Flying", "Grass"] + } + ] + }, "golem": { "level": 87, "sets": [ - { - "role": "Bulky Setup", - "movepool": ["Earthquake", "Explosion", "Rock Polish", "Stone Edge"], - "teraTypes": ["Grass", "Ground", "Steel"] - }, { "role": "Bulky Attacker", - "movepool": ["Earthquake", "Explosion", "Stealth Rock", "Stone Edge"], - "teraTypes": ["Grass"] + "movepool": ["Earthquake", "Explosion", "Rock Polish", "Stealth Rock", "Stone Edge"], + "teraTypes": ["Grass", "Ground", "Steel"] } ] }, "golemalola": { - "level": 90, + "level": 93, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Earthquake", "Stealth Rock", "Stone Edge", "Volt Switch", "Wild Charge"], - "teraTypes": ["Ground"] + "role": "Setup Sweeper", + "movepool": ["Double-Edge", "Earthquake", "Rock Polish", "Stone Edge"], + "teraTypes": ["Flying", "Grass"] }, { "role": "Wallbreaker", - "movepool": ["Double-Edge", "Earthquake", "Explosion", "Rock Polish", "Stone Edge"], - "teraTypes": ["Ground"] + "movepool": ["Double-Edge", "Earthquake", "Explosion", "Stone Edge"], + "teraTypes": ["Electric", "Grass", "Ground"] } ] }, @@ -309,12 +389,12 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Calm Mind", "Psyshock", "Scald", "Slack Off", "Thunder Wave"], + "movepool": ["Calm Mind", "Psychic Noise", "Psyshock", "Scald", "Slack Off", "Thunder Wave"], "teraTypes": ["Fairy", "Water"] }, { "role": "AV Pivot", - "movepool": ["Body Press", "Fire Blast", "Future Sight", "Ice Beam", "Psychic", "Scald"], + "movepool": ["Body Press", "Fire Blast", "Future Sight", "Ice Beam", "Psychic Noise", "Scald"], "teraTypes": ["Fairy", "Fighting"] } ] @@ -329,7 +409,7 @@ }, { "role": "Wallbreaker", - "movepool": ["Fire Blast", "Psyshock", "Sludge Bomb", "Trick", "Trick Room"], + "movepool": ["Fire Blast", "Psychic", "Shell Side Arm", "Trick Room"], "teraTypes": ["Poison", "Psychic"] }, { @@ -339,17 +419,42 @@ } ] }, + "dodrio": { + "level": 86, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Brave Bird", "Double-Edge", "Drill Run", "Knock Off", "Swords Dance"], + "teraTypes": ["Flying", "Ground", "Normal"] + } + ] + }, + "dewgong": { + "level": 93, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Encore", "Flip Turn", "Knock Off", "Surf", "Triple Axel"], + "teraTypes": ["Dragon", "Grass", "Ground", "Poison", "Steel"] + }, + { + "role": "Bulky Support", + "movepool": ["Encore", "Flip Turn", "Hydro Pump", "Ice Beam", "Knock Off", "Surf"], + "teraTypes": ["Dragon", "Grass", "Ground", "Poison", "Steel"] + } + ] + }, "muk": { - "level": 87, + "level": 86, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Drain Punch", "Gunk Shot", "Haze", "Ice Punch", "Knock Off", "Shadow Sneak", "Toxic", "Toxic Spikes"], + "movepool": ["Drain Punch", "Gunk Shot", "Haze", "Ice Punch", "Knock Off", "Poison Jab", "Shadow Sneak", "Toxic", "Toxic Spikes"], "teraTypes": ["Dark"] }, { "role": "AV Pivot", - "movepool": ["Drain Punch", "Gunk Shot", "Ice Punch", "Knock Off", "Shadow Sneak"], + "movepool": ["Drain Punch", "Gunk Shot", "Ice Punch", "Knock Off", "Poison Jab", "Shadow Sneak"], "teraTypes": ["Dark"] } ] @@ -384,12 +489,12 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["Focus Blast", "Nasty Plot", "Shadow Ball", "Sludge Bomb", "Trick"], + "movepool": ["Focus Blast", "Nasty Plot", "Shadow Ball", "Sludge Wave", "Trick"], "teraTypes": ["Fighting", "Ghost"] }, { "role": "Fast Attacker", - "movepool": ["Encore", "Focus Blast", "Shadow Ball", "Sludge Bomb", "Toxic Spikes", "Will-O-Wisp"], + "movepool": ["Encore", "Focus Blast", "Shadow Ball", "Sludge Wave", "Toxic Spikes", "Will-O-Wisp"], "teraTypes": ["Ghost"] } ] @@ -399,12 +504,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Encore", "Knock Off", "Light Screen", "Psychic", "Reflect", "Thunder Wave", "Toxic"], + "movepool": ["Encore", "Knock Off", "Psychic Noise", "Thunder Wave", "Toxic"], "teraTypes": ["Dark", "Steel"] }, { "role": "Bulky Attacker", - "movepool": ["Focus Blast", "Protect", "Psychic", "Toxic"], + "movepool": ["Focus Blast", "Protect", "Psychic Noise", "Toxic"], "teraTypes": ["Dark", "Fighting", "Steel"] } ] @@ -415,7 +520,7 @@ { "role": "Fast Support", "movepool": ["Explosion", "Foul Play", "Taunt", "Thunder Wave", "Thunderbolt", "Volt Switch"], - "teraTypes": ["Electric"] + "teraTypes": ["Dark", "Electric"] }, { "role": "Tera Blast user", @@ -430,7 +535,7 @@ { "role": "Fast Attacker", "movepool": ["Energy Ball", "Leaf Storm", "Taunt", "Thunder Wave", "Thunderbolt", "Volt Switch"], - "teraTypes": ["Grass"] + "teraTypes": ["Electric", "Grass"] }, { "role": "Fast Support", @@ -439,8 +544,73 @@ } ] }, - "weezing": { + "exeggutor": { + "level": 89, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Leech Seed", "Psychic", "Psychic Noise", "Sleep Powder", "Sludge Bomb", "Substitute"], + "teraTypes": ["Steel"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Leech Seed", "Protect", "Psychic Noise", "Substitute"], + "teraTypes": ["Steel"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Giga Drain", "Psychic", "Psyshock", "Substitute"], + "teraTypes": ["Steel"] + } + ] + }, + "exeggutoralola": { + "level": 89, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Draco Meteor", "Flamethrower", "Giga Drain", "Leaf Storm"], + "teraTypes": ["Fire"] + }, + { + "role": "AV Pivot", + "movepool": ["Draco Meteor", "Flamethrower", "Giga Drain", "Knock Off"], + "teraTypes": ["Fire", "Steel"] + } + ] + }, + "hitmonlee": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["High Jump Kick", "Knock Off", "Mach Punch", "Poison Jab", "Stone Edge"], + "teraTypes": ["Fighting"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Close Combat", "Knock Off", "Poison Jab", "Stone Edge", "Swords Dance"], + "teraTypes": ["Dark", "Fighting", "Poison"] + } + ] + }, + "hitmonchan": { "level": 87, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Close Combat", "Drain Punch", "Ice Punch", "Knock Off", "Mach Punch", "Rapid Spin", "Swords Dance"], + "teraTypes": ["Dark", "Fighting"] + }, + { + "role": "Bulky Setup", + "movepool": ["Bulk Up", "Drain Punch", "Knock Off", "Poison Jab", "Rapid Spin"], + "teraTypes": ["Dark", "Poison", "Steel"] + } + ] + }, + "weezing": { + "level": 88, "sets": [ { "role": "Bulky Attacker", @@ -459,6 +629,16 @@ } ] }, + "rhydon": { + "level": 85, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Earthquake", "Megahorn", "Stealth Rock", "Stone Edge", "Swords Dance"], + "teraTypes": ["Dragon", "Fairy", "Flying", "Grass", "Water"] + } + ] + }, "scyther": { "level": 82, "sets": [ @@ -475,27 +655,22 @@ ] }, "tauros": { - "level": 84, + "level": 82, "sets": [ { "role": "Fast Attacker", - "movepool": ["Body Slam", "Close Combat", "Earthquake", "Rock Slide", "Zen Headbutt"], + "movepool": ["Body Slam", "Close Combat", "Earthquake", "Throat Chop"], "teraTypes": ["Fighting", "Ground", "Normal"] } ] }, "taurospaldeacombat": { - "level": 84, + "level": 83, "sets": [ - { - "role": "Fast Bulky Setup", - "movepool": ["Bulk Up", "Raging Bull", "Stone Edge", "Substitute"], - "teraTypes": ["Fighting", "Steel"] - }, { "role": "Wallbreaker", - "movepool": ["Bulk Up", "Close Combat", "Earthquake", "Iron Head", "Lash Out", "Stone Edge"], - "teraTypes": ["Fighting"] + "movepool": ["Bulk Up", "Close Combat", "Earthquake", "Iron Head", "Stone Edge", "Throat Chop"], + "teraTypes": ["Dark", "Fighting", "Steel"] } ] }, @@ -515,7 +690,7 @@ ] }, "taurospaldeaaqua": { - "level": 82, + "level": 81, "sets": [ { "role": "Fast Bulky Setup", @@ -524,7 +699,12 @@ }, { "role": "Wallbreaker", - "movepool": ["Aqua Jet", "Bulk Up", "Close Combat", "Liquidation", "Stone Edge", "Wave Crash"], + "movepool": ["Aqua Jet", "Close Combat", "Stone Edge", "Wave Crash"], + "teraTypes": ["Water"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Aqua Jet", "Bulk Up", "Close Combat", "Liquidation"], "teraTypes": ["Water"] } ] @@ -534,7 +714,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["Dragon Dance", "Earthquake", "Stone Edge", "Waterfall"], + "movepool": ["Dragon Dance", "Earthquake", "Stone Edge", "Temper Flare", "Waterfall"], "teraTypes": ["Ground"] }, { @@ -544,6 +724,26 @@ } ] }, + "lapras": { + "level": 88, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Freeze-Dry", "Hydro Pump", "Ice Beam", "Sparkling Aria"], + "teraTypes": ["Ice", "Water"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Freeze-Dry", "Rest", "Sleep Talk", "Sparkling Aria"], + "teraTypes": ["Dragon", "Ghost", "Ground", "Poison", "Steel"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Freeze-Dry", "Waterfall"], + "teraTypes": ["Ground"] + } + ] + }, "ditto": { "level": 87, "sets": [ @@ -555,17 +755,17 @@ ] }, "vaporeon": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Support", "movepool": ["Flip Turn", "Ice Beam", "Protect", "Scald", "Wish"], - "teraTypes": ["Ghost", "Ground"] + "teraTypes": ["Ghost", "Ground", "Poison"] }, { "role": "Bulky Setup", "movepool": ["Calm Mind", "Protect", "Scald", "Wish"], - "teraTypes": ["Ghost", "Ground"] + "teraTypes": ["Ghost", "Ground", "Poison"] } ] }, @@ -574,8 +774,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Calm Mind", "Hyper Voice", "Shadow Ball", "Thunderbolt", "Volt Switch"], - "teraTypes": ["Electric", "Ghost"] + "movepool": ["Alluring Voice", "Calm Mind", "Shadow Ball", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Electric", "Fairy"] }, { "role": "Tera Blast user", @@ -630,7 +830,7 @@ ] }, "zapdos": { - "level": 79, + "level": 78, "sets": [ { "role": "Bulky Attacker", @@ -645,7 +845,7 @@ { "role": "Fast Attacker", "movepool": ["Brave Bird", "Bulk Up", "Close Combat", "Knock Off", "U-turn"], - "teraTypes": ["Fighting"] + "teraTypes": ["Dark", "Fighting"] } ] }, @@ -654,8 +854,8 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Brave Bird", "Fire Blast", "Roost", "U-turn", "Will-O-Wisp"], - "teraTypes": ["Dragon", "Ground"] + "movepool": ["Brave Bird", "Fire Blast", "Roost", "Scorching Sands", "U-turn", "Will-O-Wisp"], + "teraTypes": ["Dragon", "Ground", "Steel"] } ] }, @@ -665,7 +865,7 @@ { "role": "Bulky Setup", "movepool": ["Agility", "Fiery Wrath", "Hurricane", "Nasty Plot", "Rest"], - "teraTypes": ["Dark"] + "teraTypes": ["Dark", "Steel"] } ] }, @@ -673,9 +873,14 @@ "level": 74, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Dragon Dance", "Earthquake", "Extreme Speed", "Fire Punch", "Outrage"], - "teraTypes": ["Normal"] + "role": "Bulky Setup", + "movepool": ["Dragon Dance", "Earthquake", "Outrage", "Roost"], + "teraTypes": ["Ground", "Steel"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Iron Head", "Outrage"], + "teraTypes": ["Steel"] }, { "role": "Tera Blast user", @@ -700,27 +905,42 @@ { "role": "Bulky Support", "movepool": ["Encore", "Knock Off", "Psychic", "Stealth Rock", "Taunt", "Toxic Spikes", "U-turn", "Will-O-Wisp"], - "teraTypes": ["Fairy", "Steel"] + "teraTypes": ["Dark", "Fairy", "Steel"] }, { "role": "Setup Sweeper", - "movepool": ["Brave Bird", "Close Combat", "Flare Blitz", "Knock Off", "Leech Life", "Psychic Fangs", "Swords Dance"], + "movepool": ["Close Combat", "Knock Off", "Leech Life", "Psychic Fangs", "Swords Dance"], "teraTypes": ["Fighting"] }, { "role": "Fast Bulky Setup", - "movepool": ["Aura Sphere", "Dark Pulse", "Dazzling Gleam", "Earth Power", "Fire Blast", "Hydro Pump", "Nasty Plot", "Psyshock"], + "movepool": ["Alluring Voice", "Aura Sphere", "Dark Pulse", "Earth Power", "Fire Blast", "Hydro Pump", "Nasty Plot", "Psychic", "Psyshock"], "teraTypes": ["Dark", "Fairy", "Fighting", "Fire", "Ground", "Psychic", "Water"] } ] }, + "meganium": { + "level": 90, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Dragon Tail", "Encore", "Energy Ball", "Knock Off", "Leech Seed", "Synthesis"], + "teraTypes": ["Poison", "Steel", "Water"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Earthquake", "Knock Off", "Petal Blizzard", "Swords Dance"], + "teraTypes": ["Ground", "Steel", "Water"] + } + ] + }, "typhlosion": { "level": 84, "sets": [ { "role": "Fast Attacker", - "movepool": ["Eruption", "Fire Blast", "Focus Blast", "Shadow Ball"], - "teraTypes": ["Fighting", "Fire"] + "movepool": ["Eruption", "Fire Blast", "Focus Blast", "Scorching Sands"], + "teraTypes": ["Fire"] } ] }, @@ -729,38 +949,58 @@ "sets": [ { "role": "Fast Bulky Setup", - "movepool": ["Calm Mind", "Fire Blast", "Shadow Ball", "Substitute", "Will-O-Wisp"], - "teraTypes": ["Ghost"] + "movepool": ["Calm Mind", "Fire Blast", "Focus Blast", "Shadow Ball", "Substitute", "Will-O-Wisp"], + "teraTypes": ["Fighting", "Fire", "Ghost"] }, { "role": "Fast Attacker", "movepool": ["Eruption", "Fire Blast", "Focus Blast", "Shadow Ball"], - "teraTypes": ["Fire", "Ghost"] + "teraTypes": ["Fire"] } ] }, - "furret": { - "level": 93, + "feraligatr": { + "level": 80, "sets": [ { - "role": "Wallbreaker", - "movepool": ["Brick Break", "Double-Edge", "Knock Off", "Tidy Up", "U-turn"], + "role": "Bulky Setup", + "movepool": ["Aqua Jet", "Crunch", "Ice Punch", "Liquidation", "Swords Dance"], + "teraTypes": ["Dark", "Dragon", "Steel", "Water"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Ice Punch", "Liquidation", "Trailblaze"], + "teraTypes": ["Grass", "Water"] + } + ] + }, + "furret": { + "level": 93, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Double-Edge", "Knock Off", "Trick", "U-turn"], + "teraTypes": ["Ghost", "Normal"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Brick Break", "Double-Edge", "Knock Off", "Tidy Up"], "teraTypes": ["Ghost", "Normal"] } ] }, "noctowl": { - "level": 94, + "level": 95, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Calm Mind", "Defog", "Hurricane", "Hyper Voice", "Roost"], + "movepool": ["Calm Mind", "Defog", "Hurricane", "Hyper Voice", "Nasty Plot", "Roost"], "teraTypes": ["Ground", "Normal", "Steel"] } ] }, "ariados": { - "level": 91, + "level": 94, "sets": [ { "role": "Fast Support", @@ -769,6 +1009,21 @@ } ] }, + "lanturn": { + "level": 89, + "sets": [ + { + "role": "Fast Support", + "movepool": ["Scald", "Thunder Wave", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Flying"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Ice Beam", "Scald", "Thunder Wave", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Flying", "Water"] + } + ] + }, "ampharos": { "level": 88, "sets": [ @@ -779,6 +1034,26 @@ } ] }, + "bellossom": { + "level": 84, + "sets": [ + { + "role": "Fast Bulky Setup", + "movepool": ["Giga Drain", "Quiver Dance", "Sleep Powder", "Strength Sap"], + "teraTypes": ["Poison", "Steel", "Water"] + }, + { + "role": "Bulky Setup", + "movepool": ["Giga Drain", "Moonblast", "Quiver Dance", "Sludge Bomb", "Strength Sap"], + "teraTypes": ["Fairy", "Poison"] + }, + { + "role": "Tera Blast user", + "movepool": ["Giga Drain", "Quiver Dance", "Strength Sap", "Tera Blast"], + "teraTypes": ["Fire", "Rock"] + } + ] + }, "azumarill": { "level": 82, "sets": [ @@ -810,7 +1085,7 @@ { "role": "Bulky Attacker", "movepool": ["Encore", "Haze", "Hydro Pump", "Hypnosis", "Ice Beam", "Rest", "Surf"], - "teraTypes": ["Steel"] + "teraTypes": ["Steel", "Water"] } ] }, @@ -836,6 +1111,11 @@ "role": "Wallbreaker", "movepool": ["Dazzling Gleam", "Earth Power", "Leaf Storm", "Sludge Bomb"], "teraTypes": ["Fairy", "Grass", "Ground", "Poison"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Earth Power", "Solar Beam", "Sunny Day", "Weather Ball"], + "teraTypes": ["Fire"] } ] }, @@ -846,11 +1126,6 @@ "role": "Bulky Support", "movepool": ["Earthquake", "Ice Beam", "Recover", "Spikes", "Toxic"], "teraTypes": ["Fairy", "Poison", "Steel"] - }, - { - "role": "Bulky Attacker", - "movepool": ["Earthquake", "Liquidation", "Recover", "Spikes", "Toxic"], - "teraTypes": ["Fairy", "Poison", "Steel"] } ] }, @@ -860,12 +1135,12 @@ { "role": "Bulky Setup", "movepool": ["Curse", "Earthquake", "Gunk Shot", "Recover"], - "teraTypes": ["Flying", "Ground"] + "teraTypes": ["Flying", "Steel"] }, { "role": "Bulky Support", - "movepool": ["Earthquake", "Poison Jab", "Recover", "Stealth Rock", "Toxic", "Toxic Spikes"], - "teraTypes": ["Flying", "Ground", "Steel"] + "movepool": ["Earthquake", "Gunk Shot", "Poison Jab", "Recover", "Stealth Rock", "Toxic", "Toxic Spikes"], + "teraTypes": ["Flying", "Steel"] } ] }, @@ -874,7 +1149,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Calm Mind", "Dazzling Gleam", "Morning Sun", "Psychic", "Shadow Ball", "Trick"], + "movepool": ["Alluring Voice", "Calm Mind", "Morning Sun", "Psychic", "Psyshock", "Shadow Ball", "Trick"], "teraTypes": ["Fairy", "Psychic"] } ] @@ -890,17 +1165,22 @@ ] }, "slowking": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Support", - "movepool": ["Chilly Reception", "Psyshock", "Scald", "Slack Off", "Thunder Wave"], + "movepool": ["Chilly Reception", "Psychic Noise", "Psyshock", "Scald", "Slack Off", "Thunder Wave"], "teraTypes": ["Dragon", "Fairy", "Water"] }, { "role": "Wallbreaker", - "movepool": ["Fire Blast", "Hydro Pump", "Ice Beam", "Psyshock", "Slack Off", "Trick Room"], - "teraTypes": ["Psychic"] + "movepool": ["Fire Blast", "Hydro Pump", "Ice Beam", "Psychic", "Psyshock", "Trick Room"], + "teraTypes": ["Psychic", "Water"] + }, + { + "role": "Fast Support", + "movepool": ["Chilly Reception", "Future Sight", "Scald", "Slack Off"], + "teraTypes": ["Dragon", "Fairy", "Water"] } ] }, @@ -909,16 +1189,26 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Chilly Reception", "Fire Blast", "Psyshock", "Slack Off", "Sludge Bomb", "Thunder Wave"], + "movepool": ["Chilly Reception", "Fire Blast", "Psychic Noise", "Psyshock", "Slack Off", "Sludge Bomb", "Thunder Wave"], "teraTypes": ["Dark", "Poison"] }, { "role": "AV Pivot", - "movepool": ["Fire Blast", "Future Sight", "Ice Beam", "Psyshock", "Sludge Bomb"], + "movepool": ["Fire Blast", "Future Sight", "Ice Beam", "Psychic Noise", "Sludge Bomb"], "teraTypes": ["Poison", "Psychic"] } ] }, + "misdreavus": { + "level": 90, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Draining Kiss", "Shadow Ball", "Will-O-Wisp"], + "teraTypes": ["Fairy"] + } + ] + }, "girafarig": { "level": 89, "sets": [ @@ -926,6 +1216,11 @@ "role": "Bulky Setup", "movepool": ["Dazzling Gleam", "Nasty Plot", "Psychic", "Psyshock", "Shadow Ball", "Thunderbolt"], "teraTypes": ["Electric", "Fairy", "Psychic"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Hyper Voice", "Nasty Plot", "Psyshock", "Thunderbolt"], + "teraTypes": ["Electric", "Normal"] } ] }, @@ -950,6 +1245,21 @@ { "role": "Bulky Setup", "movepool": ["Body Slam", "Coil", "Earthquake", "Roost"], + "teraTypes": ["Ghost", "Ground"] + } + ] + }, + "granbull": { + "level": 88, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Earthquake", "Encore", "Play Rough", "Thunder Wave"], + "teraTypes": ["Ground"] + }, + { + "role": "Bulky Support", + "movepool": ["Earthquake", "Play Rough", "Roar", "Thunder Wave"], "teraTypes": ["Ground"] } ] @@ -960,7 +1270,7 @@ { "role": "Fast Support", "movepool": ["Destiny Bond", "Gunk Shot", "Spikes", "Taunt", "Thunder Wave", "Toxic Spikes", "Waterfall"], - "teraTypes": ["Dark", "Water"] + "teraTypes": ["Dark", "Grass"] } ] }, @@ -1024,13 +1334,13 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Body Slam", "Crunch", "Earthquake", "Rest", "Sleep Talk"], + "movepool": ["Body Slam", "Earthquake", "Rest", "Sleep Talk", "Throat Chop"], "teraTypes": ["Ghost", "Ground"] } ] }, "magcargo": { - "level": 93, + "level": 94, "sets": [ { "role": "Setup Sweeper", @@ -1049,7 +1359,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Brave Bird", "Drill Run", "Ice Shard", "Ice Spinner"], + "movepool": ["Brave Bird", "Drill Run", "Ice Shard", "Ice Spinner", "Spikes"], "teraTypes": ["Flying", "Ground", "Ice"] }, { @@ -1059,6 +1369,26 @@ } ] }, + "skarmory": { + "level": 80, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Body Press", "Brave Bird", "Iron Defense", "Roost"], + "teraTypes": ["Fighting"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Body Press", "Brave Bird", "Roost", "Spikes", "Stealth Rock"], + "teraTypes": ["Dragon", "Fighting"] + }, + { + "role": "Bulky Support", + "movepool": ["Brave Bird", "Roost", "Spikes", "Stealth Rock", "Whirlwind"], + "teraTypes": ["Dragon"] + } + ] + }, "houndoom": { "level": 86, "sets": [ @@ -1069,18 +1399,73 @@ } ] }, + "kingdra": { + "level": 84, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Draco Meteor", "Hurricane", "Rain Dance", "Wave Crash"], + "teraTypes": ["Water"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Outrage", "Waterfall", "Wave Crash"], + "teraTypes": ["Dragon", "Water"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Dragon Dance", "Iron Head", "Outrage", "Wave Crash"], + "teraTypes": ["Dragon", "Steel", "Water"] + } + ] + }, "donphan": { "level": 84, "sets": [ { "role": "Bulky Support", - "movepool": ["Earthquake", "Ice Spinner", "Knock Off", "Rapid Spin", "Stealth Rock"], + "movepool": ["Earthquake", "Ice Shard", "Ice Spinner", "Knock Off", "Rapid Spin", "Stealth Rock"], "teraTypes": ["Ghost", "Grass"] + } + ] + }, + "porygon2": { + "level": 82, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Discharge", "Ice Beam", "Recover", "Tri Attack"], + "teraTypes": ["Electric", "Ghost", "Poison"] }, { - "role": "Bulky Attacker", - "movepool": ["Earthquake", "Ice Shard", "Ice Spinner", "Knock Off", "Rapid Spin", "Stone Edge"], - "teraTypes": ["Dark", "Ice"] + "role": "Tera Blast user", + "movepool": ["Recover", "Shadow Ball", "Tera Blast", "Thunder Wave"], + "teraTypes": ["Fairy", "Fighting"] + } + ] + }, + "smeargle": { + "level": 93, + "sets": [ + { + "role": "Fast Support", + "movepool": ["Ceaseless Edge", "Spore", "Stealth Rock", "Sticky Web", "Whirlwind"], + "teraTypes": ["Ghost"] + } + ] + }, + "hitmontop": { + "level": 88, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Close Combat", "Earthquake", "Rapid Spin", "Stone Edge", "Sucker Punch"], + "teraTypes": ["Steel"] + }, + { + "role": "Bulky Setup", + "movepool": ["Bulk Up", "Close Combat", "Rapid Spin", "Triple Axel"], + "teraTypes": ["Ice"] } ] }, @@ -1104,18 +1489,133 @@ } ] }, + "raikou": { + "level": 81, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Scald", "Substitute", "Thunderbolt"], + "teraTypes": ["Water"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Calm Mind", "Scald", "Shadow Ball", "Thunderbolt", "Volt Switch"], + "teraTypes": ["Electric", "Water"] + } + ] + }, + "entei": { + "level": 78, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Extreme Speed", "Flare Blitz", "Sacred Fire", "Stomping Tantrum"], + "teraTypes": ["Fire", "Normal"] + }, + { + "role": "Fast Attacker", + "movepool": ["Extreme Speed", "Flare Blitz", "Sacred Fire", "Stone Edge"], + "teraTypes": ["Fire", "Normal"] + } + ] + }, + "suicune": { + "level": 82, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Calm Mind", "Rest", "Scald", "Sleep Talk"], + "teraTypes": ["Dragon", "Steel"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Ice Beam", "Rest", "Scald", "Substitute"], + "teraTypes": ["Dragon", "Steel"] + }, + { + "role": "Fast Support", + "movepool": ["Calm Mind", "Protect", "Scald", "Substitute"], + "teraTypes": ["Steel"] + } + ] + }, "tyranitar": { "level": 79, "sets": [ { "role": "Bulky Setup", - "movepool": ["Dragon Dance", "Earthquake", "Fire Punch", "Knock Off", "Stone Edge"], + "movepool": ["Dragon Dance", "Earthquake", "Ice Punch", "Knock Off", "Stone Edge"], "teraTypes": ["Ghost", "Rock"] }, { "role": "Bulky Support", "movepool": ["Earthquake", "Fire Blast", "Ice Beam", "Knock Off", "Stealth Rock", "Stone Edge", "Thunder Wave"], - "teraTypes": ["Poison", "Rock"] + "teraTypes": ["Ghost", "Rock"] + } + ] + }, + "lugia": { + "level": 72, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Aeroblast", "Calm Mind", "Earth Power", "Recover"], + "teraTypes": ["Ground", "Steel"] + } + ] + }, + "hooh": { + "level": 71, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Brave Bird", "Earthquake", "Recover", "Sacred Fire"], + "teraTypes": ["Ground", "Steel"] + } + ] + }, + "sceptile": { + "level": 87, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Earthquake", "Focus Blast", "Giga Drain", "Leaf Storm", "Rock Slide", "Shed Tail"], + "teraTypes": ["Grass", "Ground", "Steel"] + }, + { + "role": "Fast Support", + "movepool": ["Focus Blast", "Giga Drain", "Leech Seed", "Substitute"], + "teraTypes": ["Steel"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Earthquake", "Leaf Blade", "Rock Slide", "Swords Dance"], + "teraTypes": ["Rock"] + } + ] + }, + "blaziken": { + "level": 76, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Close Combat", "Flare Blitz", "Knock Off", "Protect", "Stone Edge", "Swords Dance"], + "teraTypes": ["Dark", "Fighting"] + }, + { + "role": "Fast Attacker", + "movepool": ["Close Combat", "Fire Blast", "Knock Off", "Protect"], + "teraTypes": ["Dark", "Fighting", "Fire"] + } + ] + }, + "swampert": { + "level": 83, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Earthquake", "Flip Turn", "Ice Beam", "Knock Off", "Roar", "Stealth Rock"], + "teraTypes": ["Poison", "Steel"] } ] }, @@ -1124,7 +1624,7 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["Crunch", "Play Rough", "Poison Fang", "Sucker Punch", "Taunt"], + "movepool": ["Crunch", "Play Rough", "Poison Fang", "Sucker Punch", "Taunt", "Throat Chop"], "teraTypes": ["Fairy", "Poison"] } ] @@ -1145,7 +1645,7 @@ ] }, "shiftry": { - "level": 88, + "level": 89, "sets": [ { "role": "Fast Support", @@ -1153,9 +1653,9 @@ "teraTypes": ["Dark", "Poison"] }, { - "role": "Wallbreaker", - "movepool": ["Dark Pulse", "Heat Wave", "Leaf Storm", "Nasty Plot", "Vacuum Wave"], - "teraTypes": ["Fire", "Grass"] + "role": "Fast Bulky Setup", + "movepool": ["Knock Off", "Leaf Blade", "Sucker Punch", "Swords Dance"], + "teraTypes": ["Dark", "Poison"] }, { "role": "Setup Sweeper", @@ -1165,16 +1665,16 @@ ] }, "pelipper": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Hurricane", "Hydro Pump", "Ice Beam", "Knock Off", "Roost", "Surf", "U-turn"], + "movepool": ["Hurricane", "Hydro Pump", "Knock Off", "Roost", "Surf", "U-turn"], "teraTypes": ["Ground", "Water"] }, { "role": "Wallbreaker", - "movepool": ["Hurricane", "Hydro Pump", "Ice Beam", "Surf", "U-turn"], + "movepool": ["Hurricane", "Hydro Pump", "Surf", "U-turn"], "teraTypes": ["Flying", "Water"] } ] @@ -1199,8 +1699,8 @@ }, { "role": "Fast Support", - "movepool": ["Bug Buzz", "Hurricane", "Hydro Pump", "Ice Beam", "Sticky Web", "Stun Spore", "U-turn"], - "teraTypes": ["Ground", "Steel"] + "movepool": ["Bug Buzz", "Hurricane", "Hydro Pump", "Sticky Web", "Stun Spore", "U-turn"], + "teraTypes": ["Ground", "Steel", "Water"] } ] }, @@ -1219,17 +1719,22 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["Body Slam", "Bulk Up", "Earthquake", "Knock Off", "Slack Off"], - "teraTypes": ["Ghost", "Ground", "Poison"] + "movepool": ["Body Slam", "Bulk Up", "Knock Off", "Slack Off"], + "teraTypes": ["Ghost"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Body Slam", "Bulk Up", "Earthquake", "Slack Off"], + "teraTypes": ["Ground"] } ] }, "slaking": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", - "movepool": ["Body Slam", "Earthquake", "Giga Impact", "Knock Off"], + "movepool": ["Double-Edge", "Earthquake", "Giga Impact", "Knock Off"], "teraTypes": ["Ghost", "Ground", "Normal"] } ] @@ -1239,12 +1744,12 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["Bulk Up", "Bullet Punch", "Close Combat", "Facade", "Headlong Rush", "Knock Off"], + "movepool": ["Bullet Punch", "Close Combat", "Facade", "Headlong Rush", "Knock Off"], "teraTypes": ["Normal"] }, { "role": "AV Pivot", - "movepool": ["Bullet Punch", "Close Combat", "Headlong Rush", "Heavy Slam", "Knock Off"], + "movepool": ["Bullet Punch", "Close Combat", "Headlong Rush", "Heavy Slam", "Knock Off", "Stone Edge"], "teraTypes": ["Steel"] } ] @@ -1254,7 +1759,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Encore", "Foul Play", "Knock Off", "Recover", "Taunt", "Thunder Wave", "Will-O-Wisp"], + "movepool": ["Encore", "Knock Off", "Recover", "Taunt", "Thunder Wave", "Will-O-Wisp"], "teraTypes": ["Steel"] } ] @@ -1269,6 +1774,26 @@ } ] }, + "plusle": { + "level": 95, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Alluring Voice", "Encore", "Grass Knot", "Nasty Plot", "Thunderbolt"], + "teraTypes": ["Electric", "Fairy", "Grass"] + } + ] + }, + "minun": { + "level": 95, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Alluring Voice", "Encore", "Grass Knot", "Nasty Plot", "Thunderbolt"], + "teraTypes": ["Electric", "Fairy", "Grass"] + } + ] + }, "volbeat": { "level": 90, "sets": [ @@ -1285,15 +1810,10 @@ ] }, "illumise": { - "level": 92, + "level": 91, "sets": [ { "role": "Bulky Support", - "movepool": ["Encore", "Roost", "Thunder Wave", "U-turn"], - "teraTypes": ["Steel", "Water"] - }, - { - "role": "Bulky Attacker", "movepool": ["Bug Buzz", "Encore", "Roost", "Thunder Wave"], "teraTypes": ["Steel", "Water"] } @@ -1303,10 +1823,15 @@ "level": 90, "sets": [ { - "role": "Bulky Support", - "movepool": ["Clear Smog", "Earthquake", "Encore", "Ice Beam", "Knock Off", "Pain Split", "Protect", "Sludge Bomb", "Toxic", "Toxic Spikes"], + "role": "Bulky Attacker", + "movepool": ["Clear Smog", "Earthquake", "Encore", "Ice Beam", "Knock Off", "Pain Split", "Sludge Bomb", "Toxic Spikes"], "teraTypes": ["Dark"] }, + { + "role": "Bulky Support", + "movepool": ["Earthquake", "Protect", "Sludge Bomb", "Toxic"], + "teraTypes": ["Ground"] + }, { "role": "Bulky Setup", "movepool": ["Earthquake", "Gunk Shot", "Knock Off", "Swords Dance"], @@ -1315,11 +1840,11 @@ ] }, "camerupt": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Support", - "movepool": ["Earthquake", "Lava Plume", "Stealth Rock", "Yawn"], + "movepool": ["Earthquake", "Overheat", "Roar", "Stealth Rock", "Will-O-Wisp"], "teraTypes": ["Grass", "Water"] } ] @@ -1328,8 +1853,13 @@ "level": 88, "sets": [ { - "role": "Fast Support", + "role": "Wallbreaker", "movepool": ["Earthquake", "Lava Plume", "Rapid Spin", "Solar Beam", "Stealth Rock", "Yawn"], + "teraTypes": ["Grass"] + }, + { + "role": "Bulky Support", + "movepool": ["Lava Plume", "Rapid Spin", "Solar Beam", "Stealth Rock", "Yawn"], "teraTypes": ["Dragon", "Grass"] } ] @@ -1349,6 +1879,16 @@ } ] }, + "flygon": { + "level": 82, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Dragon Dance", "Earthquake", "Outrage", "Stone Edge", "U-turn"], + "teraTypes": ["Ground", "Rock", "Steel"] + } + ] + }, "cacturne": { "level": 92, "sets": [ @@ -1359,8 +1899,8 @@ }, { "role": "Setup Sweeper", - "movepool": ["Drain Punch", "Seed Bomb", "Sucker Punch", "Swords Dance"], - "teraTypes": ["Dark", "Fighting"] + "movepool": ["Drain Punch", "Knock Off", "Seed Bomb", "Sucker Punch", "Swords Dance"], + "teraTypes": ["Dark", "Fighting", "Poison"] } ] }, @@ -1396,6 +1936,11 @@ "role": "Fast Attacker", "movepool": ["Earthquake", "Flamethrower", "Giga Drain", "Glare", "Gunk Shot", "Knock Off", "Switcheroo"], "teraTypes": ["Dark", "Fire", "Grass", "Ground", "Poison"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Earthquake", "Gunk Shot", "Swords Dance", "Trailblaze"], + "teraTypes": ["Grass", "Ground"] } ] }, @@ -1424,7 +1969,7 @@ }, { "role": "Setup Sweeper", - "movepool": ["Aqua Jet", "Crabhammer", "Knock Off", "Swords Dance"], + "movepool": ["Aqua Jet", "Crabhammer", "Dragon Dance", "Knock Off", "Swords Dance"], "teraTypes": ["Water"] } ] @@ -1444,13 +1989,13 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["Gunk Shot", "Poltergeist", "Shadow Sneak", "Swords Dance", "Thunder Wave", "Will-O-Wisp"], + "movepool": ["Gunk Shot", "Poltergeist", "Shadow Sneak", "Swords Dance", "Thunder Wave"], "teraTypes": ["Ghost", "Poison"] } ] }, "tropius": { - "level": 89, + "level": 91, "sets": [ { "role": "Bulky Support", @@ -1464,23 +2009,23 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Encore", "Heal Bell", "Knock Off", "Psychic", "Recover", "Taunt", "Thunder Wave"], + "movepool": ["Encore", "Heal Bell", "Knock Off", "Psychic Noise", "Recover", "Thunder Wave"], "teraTypes": ["Dark", "Electric", "Poison", "Steel"] }, { "role": "Bulky Setup", - "movepool": ["Calm Mind", "Dazzling Gleam", "Psychic", "Psyshock", "Recover"], - "teraTypes": ["Electric", "Fairy"] + "movepool": ["Calm Mind", "Dazzling Gleam", "Psychic", "Psychic Noise", "Psyshock", "Recover"], + "teraTypes": ["Electric", "Fairy", "Poison", "Steel"] } ] }, "glalie": { - "level": 95, + "level": 96, "sets": [ { "role": "Fast Support", "movepool": ["Disable", "Earthquake", "Freeze-Dry", "Spikes", "Taunt"], - "teraTypes": ["Ground", "Poison", "Steel", "Water"] + "teraTypes": ["Ghost", "Ground", "Water"] } ] }, @@ -1488,9 +2033,9 @@ "level": 100, "sets": [ { - "role": "Bulky Support", - "movepool": ["Charm", "Flip Turn", "Ice Beam", "Protect", "Surf", "Wish"], - "teraTypes": ["Dragon", "Ghost"] + "role": "Fast Support", + "movepool": ["Endeavor", "Substitute", "Surf", "Whirlpool"], + "teraTypes": ["Ghost"] } ] }, @@ -1504,13 +2049,98 @@ } ] }, + "metagross": { + "level": 79, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Agility", "Earthquake", "Heavy Slam", "Knock Off", "Psychic Fangs"], + "teraTypes": ["Ground"] + }, + { + "role": "Bulky Support", + "movepool": ["Bullet Punch", "Earthquake", "Heavy Slam", "Knock Off", "Psychic Fangs", "Stealth Rock"], + "teraTypes": ["Water"] + } + ] + }, + "regirock": { + "level": 85, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Body Press", "Iron Defense", "Stealth Rock", "Stone Edge", "Thunder Wave"], + "teraTypes": ["Fighting"] + }, + { + "role": "Bulky Setup", + "movepool": ["Body Press", "Curse", "Iron Defense", "Rest", "Stone Edge"], + "teraTypes": ["Fighting"] + } + ] + }, + "regice": { + "level": 88, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Body Press", "Ice Beam", "Rest", "Sleep Talk", "Thunder Wave", "Thunderbolt"], + "teraTypes": ["Electric"] + } + ] + }, + "registeel": { + "level": 82, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Body Press", "Curse", "Iron Defense", "Iron Head", "Rest"], + "teraTypes": ["Fighting"] + }, + { + "role": "Bulky Support", + "movepool": ["Body Press", "Iron Defense", "Iron Head", "Stealth Rock", "Thunder Wave"], + "teraTypes": ["Fighting"] + } + ] + }, + "latias": { + "level": 79, + "sets": [ + { + "role": "Fast Bulky Setup", + "movepool": ["Aura Sphere", "Calm Mind", "Draco Meteor", "Psyshock", "Recover"], + "teraTypes": ["Steel"] + } + ] + }, + "latios": { + "level": 78, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Draco Meteor", "Psyshock", "Recover"], + "teraTypes": ["Steel"] + }, + { + "role": "Fast Attacker", + "movepool": ["Aura Sphere", "Calm Mind", "Draco Meteor", "Flip Turn", "Luster Purge"], + "teraTypes": ["Dragon", "Psychic", "Steel"] + } + ] + }, "kyogre": { "level": 71, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Calm Mind", "Ice Beam", "Origin Pulse", "Thunder", "Water Spout"], + "role": "Fast Attacker", + "movepool": ["Ice Beam", "Origin Pulse", "Thunder", "Water Spout"], "teraTypes": ["Water"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Ice Beam", "Origin Pulse", "Thunder"], + "teraTypes": ["Dragon", "Electric", "Steel"] } ] }, @@ -1550,16 +2180,16 @@ ] }, "jirachi": { - "level": 79, + "level": 80, "sets": [ { "role": "Fast Support", - "movepool": ["Body Slam", "Future Sight", "Iron Head", "Protect", "Wish"], + "movepool": ["Body Slam", "Iron Head", "Protect", "Wish"], "teraTypes": ["Water"] }, { "role": "Bulky Attacker", - "movepool": ["Body Slam", "Drain Punch", "Energy Ball", "Fire Punch", "Iron Head", "Psychic", "Stealth Rock", "U-turn"], + "movepool": ["Body Slam", "Drain Punch", "Iron Head", "Stealth Rock", "U-turn"], "teraTypes": ["Fighting", "Water"] }, { @@ -1569,13 +2199,78 @@ } ] }, + "deoxys": { + "level": 74, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Extreme Speed", "Knock Off", "Psycho Boost", "Superpower"], + "teraTypes": ["Fighting", "Normal", "Psychic"] + }, + { + "role": "Wallbreaker", + "movepool": ["Ice Beam", "Knock Off", "Psycho Boost", "Superpower"], + "teraTypes": ["Fighting", "Psychic"] + } + ] + }, + "deoxysattack": { + "level": 72, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Extreme Speed", "Knock Off", "Psycho Boost", "Superpower"], + "teraTypes": ["Fighting", "Normal", "Psychic"] + }, + { + "role": "Wallbreaker", + "movepool": ["Ice Beam", "Knock Off", "Psycho Boost", "Superpower"], + "teraTypes": ["Fighting", "Psychic"] + } + ] + }, + "deoxysdefense": { + "level": 86, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Cosmic Power", "Night Shade", "Recover", "Spikes", "Stealth Rock", "Taunt"], + "teraTypes": ["Steel"] + }, + { + "role": "Bulky Support", + "movepool": ["Knock Off", "Psychic Noise", "Recover", "Spikes", "Stealth Rock", "Teleport"], + "teraTypes": ["Steel"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Dark Pulse", "Focus Blast", "Psychic", "Psychic Noise", "Psyshock", "Recover"], + "teraTypes": ["Dark", "Fighting", "Steel"] + } + ] + }, + "deoxysspeed": { + "level": 82, + "sets": [ + { + "role": "Fast Support", + "movepool": ["Knock Off", "Psycho Boost", "Spikes", "Stealth Rock", "Superpower", "Taunt"], + "teraTypes": ["Dark", "Fighting", "Ghost", "Steel"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dark Pulse", "Focus Blast", "Nasty Plot", "Psycho Boost"], + "teraTypes": ["Dark", "Fighting", "Psychic"] + } + ] + }, "torterra": { - "level": 79, + "level": 78, "sets": [ { "role": "Setup Sweeper", - "movepool": ["Headlong Rush", "Shell Smash", "Stone Edge", "Wood Hammer"], - "teraTypes": ["Ground", "Rock", "Water"] + "movepool": ["Bullet Seed", "Headlong Rush", "Rock Blast", "Shell Smash"], + "teraTypes": ["Grass", "Ground", "Rock", "Water"] } ] }, @@ -1591,16 +2286,11 @@ "role": "Fast Support", "movepool": ["Close Combat", "Flare Blitz", "Gunk Shot", "Knock Off", "Mach Punch", "Stone Edge", "Swords Dance", "U-turn"], "teraTypes": ["Dark", "Fighting", "Fire"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Aura Sphere", "Fire Blast", "Grass Knot", "Nasty Plot", "Vacuum Wave"], - "teraTypes": ["Fighting", "Fire", "Grass"] } ] }, "empoleon": { - "level": 83, + "level": 84, "sets": [ { "role": "Bulky Support", @@ -1624,7 +2314,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Knock Off", "Pounce", "Sticky Web", "Taunt"], + "movepool": ["Knock Off", "Pounce", "Sticky Web", "Swords Dance", "Taunt"], "teraTypes": ["Ghost"] } ] @@ -1633,17 +2323,42 @@ "level": 88, "sets": [ { - "role": "Wallbreaker", - "movepool": ["Crunch", "Facade", "Play Rough", "Trailblaze", "Wild Charge"], + "role": "Setup Sweeper", + "movepool": ["Facade", "Play Rough", "Supercell Slam", "Throat Chop", "Trailblaze"], "teraTypes": ["Normal"] }, { "role": "AV Pivot", - "movepool": ["Crunch", "Ice Fang", "Play Rough", "Volt Switch", "Wild Charge"], + "movepool": ["Ice Fang", "Play Rough", "Throat Chop", "Volt Switch", "Wild Charge"], "teraTypes": ["Electric", "Fairy"] } ] }, + "rampardos": { + "level": 90, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Earthquake", "Fire Punch", "Head Smash", "Rock Slide"], + "teraTypes": ["Ground", "Rock"] + }, + { + "role": "Wallbreaker", + "movepool": ["Earthquake", "Fire Punch", "Rock Slide", "Zen Headbutt"], + "teraTypes": ["Psychic", "Rock"] + } + ] + }, + "bastiodon": { + "level": 89, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Body Press", "Foul Play", "Iron Defense", "Rest"], + "teraTypes": ["Fighting"] + } + ] + }, "vespiquen": { "level": 98, "sets": [ @@ -1655,7 +2370,7 @@ ] }, "pachirisu": { - "level": 95, + "level": 96, "sets": [ { "role": "AV Pivot", @@ -1673,7 +2388,7 @@ "level": 85, "sets": [ { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["Crunch", "Flip Turn", "Ice Spinner", "Low Kick", "Wave Crash"], "teraTypes": ["Water"] }, @@ -1685,21 +2400,31 @@ ] }, "gastrodon": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Attacker", "movepool": ["Clear Smog", "Earthquake", "Ice Beam", "Recover", "Stealth Rock", "Surf"], "teraTypes": ["Poison", "Steel"] + }, + { + "role": "Bulky Support", + "movepool": ["Earthquake", "Recover", "Sludge Bomb", "Stealth Rock", "Surf"], + "teraTypes": ["Poison"] } ] }, "ambipom": { - "level": 86, + "level": 84, "sets": [ { "role": "Fast Attacker", - "movepool": ["Double Hit", "Fake Out", "Knock Off", "Low Kick", "Switcheroo", "U-turn"], + "movepool": ["Double-Edge", "Knock Off", "Low Kick", "Triple Axel", "U-turn"], + "teraTypes": ["Ice", "Normal"] + }, + { + "role": "Wallbreaker", + "movepool": ["Double-Edge", "Fake Out", "Knock Off", "Low Kick", "U-turn"], "teraTypes": ["Normal"] } ] @@ -1708,13 +2433,8 @@ "level": 86, "sets": [ { - "role": "Bulky Support", - "movepool": ["Air Slash", "Defog", "Shadow Ball", "Strength Sap", "Will-O-Wisp"], - "teraTypes": ["Fairy", "Ghost"] - }, - { - "role": "Fast Bulky Setup", - "movepool": ["Air Slash", "Calm Mind", "Shadow Ball", "Strength Sap"], + "role": "Bulky Attacker", + "movepool": ["Air Slash", "Calm Mind", "Defog", "Shadow Ball", "Strength Sap"], "teraTypes": ["Fairy", "Ghost"] } ] @@ -1724,8 +2444,18 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["Dazzling Gleam", "Energy Ball", "Mystical Fire", "Nasty Plot", "Shadow Ball", "Thunderbolt", "Trick"], + "movepool": ["Dazzling Gleam", "Energy Ball", "Mystical Fire", "Shadow Ball", "Thunderbolt", "Trick"], "teraTypes": ["Electric", "Fairy", "Fire", "Ghost"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dazzling Gleam", "Mystical Fire", "Nasty Plot", "Shadow Ball", "Substitute", "Thunderbolt"], + "teraTypes": ["Electric", "Fairy"] + }, + { + "role": "Tera Blast user", + "movepool": ["Nasty Plot", "Shadow Ball", "Substitute", "Tera Blast"], + "teraTypes": ["Fighting"] } ] }, @@ -1740,7 +2470,7 @@ ] }, "skuntank": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Support", @@ -1754,8 +2484,13 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Earthquake", "Hypnosis", "Iron Head", "Light Screen", "Psychic", "Reflect", "Stealth Rock"], + "movepool": ["Earthquake", "Hypnosis", "Iron Head", "Psychic", "Psychic Noise", "Stealth Rock"], "teraTypes": ["Electric", "Water"] + }, + { + "role": "Bulky Setup", + "movepool": ["Body Press", "Iron Defense", "Iron Head", "Psychic Noise", "Rest"], + "teraTypes": ["Fighting"] } ] }, @@ -1763,14 +2498,9 @@ "level": 90, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Foul Play", "Pain Split", "Poltergeist", "Shadow Sneak", "Sucker Punch", "Will-O-Wisp"], + "role": "Bulky Support", + "movepool": ["Foul Play", "Pain Split", "Poltergeist", "Shadow Sneak", "Sucker Punch", "Toxic", "Will-O-Wisp"], "teraTypes": ["Dark", "Ghost"] - }, - { - "role": "Bulky Setup", - "movepool": ["Calm Mind", "Dark Pulse", "Rest", "Sleep Talk"], - "teraTypes": ["Steel"] } ] }, @@ -1779,13 +2509,13 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Earthquake", "Fire Blast", "Outrage", "Spikes", "Stealth Rock", "Stone Edge"], + "movepool": ["Earthquake", "Outrage", "Spikes", "Stealth Rock", "Stone Edge"], "teraTypes": ["Ground", "Steel"] }, { "role": "Setup Sweeper", "movepool": ["Earthquake", "Fire Fang", "Scale Shot", "Stone Edge", "Swords Dance"], - "teraTypes": ["Dragon", "Ground"] + "teraTypes": ["Dragon", "Fire", "Ground"] } ] }, @@ -1809,38 +2539,38 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Earthquake", "Roar", "Slack Off", "Stealth Rock", "Stone Edge"], + "movepool": ["Earthquake", "Slack Off", "Stealth Rock", "Stone Edge", "Whirlwind"], "teraTypes": ["Dragon", "Rock", "Steel"] } ] }, "toxicroak": { - "level": 85, + "level": 84, "sets": [ { "role": "Fast Attacker", - "movepool": ["Close Combat", "Gunk Shot", "Ice Punch", "Knock Off", "Sucker Punch", "Swords Dance"], + "movepool": ["Close Combat", "Earthquake", "Gunk Shot", "Knock Off", "Sucker Punch", "Swords Dance"], "teraTypes": ["Dark"] }, { "role": "Setup Sweeper", - "movepool": ["Close Combat", "Gunk Shot", "Ice Punch", "Sucker Punch", "Swords Dance"], - "teraTypes": ["Dark", "Fighting"] + "movepool": ["Close Combat", "Earthquake", "Gunk Shot", "Sucker Punch", "Swords Dance"], + "teraTypes": ["Dark", "Fighting", "Ground"] } ] }, "lumineon": { - "level": 92, + "level": 93, "sets": [ { "role": "Fast Support", - "movepool": ["Dazzling Gleam", "Encore", "Hydro Pump", "Ice Beam", "U-turn"], + "movepool": ["Alluring Voice", "Encore", "Hydro Pump", "Ice Beam", "U-turn"], "teraTypes": ["Fairy", "Water"] } ] }, "abomasnow": { - "level": 86, + "level": 85, "sets": [ { "role": "Bulky Support", @@ -1850,21 +2580,21 @@ ] }, "weavile": { - "level": 80, + "level": 79, "sets": [ { "role": "Fast Attacker", - "movepool": ["Ice Shard", "Ice Spinner", "Knock Off", "Low Kick", "Swords Dance"], + "movepool": ["Ice Shard", "Knock Off", "Low Kick", "Swords Dance", "Triple Axel"], "teraTypes": ["Dark", "Fighting", "Ice"] } ] }, "sneasler": { - "level": 75, + "level": 74, "sets": [ { "role": "Fast Attacker", - "movepool": ["Close Combat", "Dire Claw", "Gunk Shot", "Lash Out", "U-turn"], + "movepool": ["Close Combat", "Dire Claw", "Gunk Shot", "Throat Chop", "U-turn"], "teraTypes": ["Dark", "Fighting"] }, { @@ -1884,8 +2614,53 @@ } ] }, - "yanmega": { + "rhyperior": { "level": 83, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Earthquake", "Ice Punch", "Megahorn", "Rock Polish", "Stone Edge"], + "teraTypes": ["Bug", "Ground", "Rock"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Dragon Tail", "Earthquake", "Ice Punch", "Megahorn", "Stone Edge"], + "teraTypes": ["Bug", "Dragon", "Grass", "Steel"] + } + ] + }, + "electivire": { + "level": 85, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Earthquake", "Flamethrower", "Ice Punch", "Knock Off", "Supercell Slam", "Volt Switch"], + "teraTypes": ["Dark", "Electric", "Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Bulk Up", "Earthquake", "Ice Punch", "Supercell Slam"], + "teraTypes": ["Ground"] + } + ] + }, + "magmortar": { + "level": 88, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Fire Blast", "Focus Blast", "Knock Off", "Scorching Sands", "Taunt", "Thunderbolt"], + "teraTypes": ["Electric", "Fighting", "Water"] + }, + { + "role": "Fast Attacker", + "movepool": ["Earthquake", "Fire Blast", "Focus Blast", "Knock Off", "Thunderbolt", "Will-O-Wisp"], + "teraTypes": ["Electric", "Fighting", "Water"] + } + ] + }, + "yanmega": { + "level": 82, "sets": [ { "role": "Wallbreaker", @@ -1910,7 +2685,7 @@ ] }, "glaceon": { - "level": 93, + "level": 94, "sets": [ { "role": "Bulky Support", @@ -1920,21 +2695,16 @@ ] }, "gliscor": { - "level": 77, + "level": 76, "sets": [ { "role": "Fast Support", "movepool": ["Earthquake", "Protect", "Substitute", "Toxic"], "teraTypes": ["Water"] }, - { - "role": "Fast Bulky Setup", - "movepool": ["Dual Wingbeat", "Earthquake", "Facade", "Swords Dance"], - "teraTypes": ["Normal"] - }, { "role": "Bulky Support", - "movepool": ["Earthquake", "Knock Off", "Protect", "Stealth Rock", "Toxic Spikes", "U-turn"], + "movepool": ["Earthquake", "Knock Off", "Protect", "Stealth Rock", "Toxic", "Toxic Spikes", "U-turn"], "teraTypes": ["Water"] } ] @@ -1949,6 +2719,21 @@ } ] }, + "porygonz": { + "level": 83, + "sets": [ + { + "role": "Tera Blast user", + "movepool": ["Agility", "Nasty Plot", "Shadow Ball", "Tera Blast"], + "teraTypes": ["Fighting"] + }, + { + "role": "Fast Attacker", + "movepool": ["Ice Beam", "Nasty Plot", "Shadow Ball", "Thunderbolt", "Tri Attack"], + "teraTypes": ["Electric", "Ghost"] + } + ] + }, "gallade": { "level": 82, "sets": [ @@ -1965,11 +2750,11 @@ ] }, "probopass": { - "level": 90, + "level": 92, "sets": [ { "role": "Bulky Setup", - "movepool": ["Body Press", "Flash Cannon", "Iron Defense", "Power Gem", "Rest"], + "movepool": ["Body Press", "Flash Cannon", "Iron Defense", "Power Gem", "Rest", "Thunder Wave"], "teraTypes": ["Fighting"] }, { @@ -1984,8 +2769,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["Earthquake", "Ice Punch", "Leech Life", "Pain Split", "Poltergeist", "Shadow Sneak", "Trick"], - "teraTypes": ["Dark", "Ghost", "Ground"] + "movepool": ["Earthquake", "Leech Life", "Pain Split", "Poltergeist", "Shadow Sneak", "Trick"], + "teraTypes": ["Ghost", "Ground"] }, { "role": "Bulky Support", @@ -1999,13 +2784,13 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Destiny Bond", "Ice Beam", "Poltergeist", "Spikes", "Taunt", "Will-O-Wisp"], - "teraTypes": ["Ghost"] + "movepool": ["Destiny Bond", "Poltergeist", "Spikes", "Taunt", "Triple Axel", "Will-O-Wisp"], + "teraTypes": ["Ghost", "Ice"] } ] }, "rotom": { - "level": 86, + "level": 87, "sets": [ { "role": "Fast Attacker", @@ -2019,7 +2804,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Hydro Pump", "Nasty Plot", "Thunderbolt", "Trick", "Volt Switch", "Will-O-Wisp"], + "movepool": ["Hydro Pump", "Nasty Plot", "Pain Split", "Thunderbolt", "Trick", "Volt Switch", "Will-O-Wisp"], "teraTypes": ["Electric", "Water"] } ] @@ -2029,7 +2814,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Nasty Plot", "Overheat", "Thunderbolt", "Trick", "Volt Switch", "Will-O-Wisp"], + "movepool": ["Nasty Plot", "Overheat", "Pain Split", "Thunderbolt", "Trick", "Volt Switch", "Will-O-Wisp"], "teraTypes": ["Electric", "Fire"] } ] @@ -2069,7 +2854,7 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Encore", "Knock Off", "Light Screen", "Psychic", "Reflect", "Stealth Rock", "Thunder Wave", "U-turn", "Yawn"], + "movepool": ["Encore", "Knock Off", "Psychic Noise", "Stealth Rock", "Thunder Wave", "U-turn", "Yawn"], "teraTypes": ["Dark", "Electric", "Steel"] } ] @@ -2084,12 +2869,12 @@ }, { "role": "Bulky Support", - "movepool": ["Encore", "Knock Off", "Psychic", "Stealth Rock", "Thunder Wave", "U-turn"], + "movepool": ["Encore", "Knock Off", "Psychic Noise", "Stealth Rock", "Thunder Wave", "U-turn"], "teraTypes": ["Dark", "Electric", "Steel"] }, { "role": "Bulky Attacker", - "movepool": ["Drain Punch", "Ice Beam", "Knock Off", "Psychic", "Thunder Wave", "Thunderbolt", "U-turn"], + "movepool": ["Drain Punch", "Ice Beam", "Knock Off", "Psychic Noise", "Thunder Wave", "Thunderbolt", "U-turn"], "teraTypes": ["Dark", "Fighting"] } ] @@ -2099,8 +2884,8 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Explosion", "Fire Blast", "Knock Off", "Psychic", "Stealth Rock", "Taunt", "U-turn"], - "teraTypes": ["Dark", "Fire", "Psychic"] + "movepool": ["Encore", "Explosion", "Fire Blast", "Knock Off", "Psychic", "Stealth Rock", "Taunt", "U-turn"], + "teraTypes": ["Dark", "Fire"] }, { "role": "Fast Attacker", @@ -2115,7 +2900,7 @@ { "role": "Bulky Attacker", "movepool": ["Draco Meteor", "Fire Blast", "Heavy Slam", "Stealth Rock", "Thunder Wave", "Thunderbolt"], - "teraTypes": ["Dragon", "Fire", "Steel"] + "teraTypes": ["Dragon", "Fire", "Flying", "Steel"] } ] }, @@ -2123,9 +2908,14 @@ "level": 73, "sets": [ { - "role": "Bulky Attacker", + "role": "Fast Attacker", "movepool": ["Draco Meteor", "Fire Blast", "Flash Cannon", "Stealth Rock", "Thunder Wave"], "teraTypes": ["Dragon", "Fire", "Steel"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Draco Meteor", "Fire Blast", "Heavy Slam", "Stealth Rock", "Thunder Wave"], + "teraTypes": ["Dragon", "Fire", "Steel"] } ] }, @@ -2164,8 +2954,23 @@ } ] }, + "regigigas": { + "level": 84, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Body Slam", "Double-Edge", "Knock Off", "Rest", "Sleep Talk"], + "teraTypes": ["Ghost"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Body Slam", "Knock Off", "Protect", "Substitute"], + "teraTypes": ["Ghost", "Poison"] + } + ] + }, "giratina": { - "level": 74, + "level": 75, "sets": [ { "role": "Fast Support", @@ -2185,12 +2990,12 @@ ] }, "giratinaorigin": { - "level": 73, + "level": 72, "sets": [ { "role": "Fast Attacker", "movepool": ["Defog", "Draco Meteor", "Dragon Tail", "Earthquake", "Poltergeist", "Shadow Sneak", "Will-O-Wisp"], - "teraTypes": ["Dragon", "Ghost"] + "teraTypes": ["Dragon", "Fairy", "Ghost", "Steel"] } ] }, @@ -2255,7 +3060,7 @@ ] }, "shayminsky": { - "level": 74, + "level": 73, "sets": [ { "role": "Bulky Attacker", @@ -2275,12 +3080,12 @@ { "role": "Setup Sweeper", "movepool": ["Earthquake", "Extreme Speed", "Recover", "Shadow Claw", "Swords Dance"], - "teraTypes": ["Normal"] + "teraTypes": ["Ghost", "Normal"] } ] }, "arceusbug": { - "level": 72, + "level": 73, "sets": [ { "role": "Setup Sweeper", @@ -2295,12 +3100,12 @@ ] }, "arceusdark": { - "level": 70, + "level": 71, "sets": [ { "role": "Bulky Setup", - "movepool": ["Calm Mind", "Fire Blast", "Judgment", "Recover", "Sludge Bomb"], - "teraTypes": ["Fire", "Ghost", "Poison"] + "movepool": ["Calm Mind", "Dazzling Gleam", "Judgment", "Recover", "Sludge Bomb"], + "teraTypes": ["Fairy", "Poison"] } ] }, @@ -2314,13 +3119,18 @@ }, { "role": "Bulky Setup", - "movepool": ["Calm Mind", "Fire Blast", "Judgment", "Sludge Bomb"], + "movepool": ["Dragon Dance", "Earthquake", "Gunk Shot", "Outrage"], + "teraTypes": ["Ground", "Poison"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Calm Mind", "Fire Blast", "Judgment", "Recover", "Sludge Bomb"], "teraTypes": ["Fire"] } ] }, "arceuselectric": { - "level": 69, + "level": 70, "sets": [ { "role": "Bulky Setup", @@ -2334,8 +3144,8 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["Calm Mind", "Earth Power", "Fire Blast", "Judgment", "Recover"], - "teraTypes": ["Fire", "Ground", "Steel"] + "movepool": ["Calm Mind", "Earth Power", "Judgment", "Recover"], + "teraTypes": ["Ground", "Steel"] } ] }, @@ -2345,7 +3155,7 @@ { "role": "Bulky Setup", "movepool": ["Body Press", "Cosmic Power", "Recover", "Stored Power"], - "teraTypes": ["Psychic", "Steel"] + "teraTypes": ["Steel"] } ] }, @@ -2354,13 +3164,18 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["Earthquake", "Extreme Speed", "Flare Blitz", "Liquidation", "Recover", "Swords Dance"], - "teraTypes": ["Fire", "Ground", "Water"] + "movepool": ["Earthquake", "Extreme Speed", "Flare Blitz", "Recover", "Swords Dance"], + "teraTypes": ["Fire", "Ground"] }, { "role": "Fast Bulky Setup", - "movepool": ["Calm Mind", "Earth Power", "Ice Beam", "Judgment", "Recover", "Thunderbolt"], - "teraTypes": ["Electric", "Ground"] + "movepool": ["Dragon Dance", "Earthquake", "Flare Blitz", "Recover"], + "teraTypes": ["Fire", "Ground"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Earth Power", "Energy Ball", "Judgment", "Recover"], + "teraTypes": ["Grass", "Ground"] } ] }, @@ -2416,6 +3231,11 @@ "role": "Setup Sweeper", "movepool": ["Earthquake", "Extreme Speed", "Stone Edge", "Swords Dance"], "teraTypes": ["Normal"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Dragon Dance", "Earthquake", "Recover", "Stone Edge"], + "teraTypes": ["Ground", "Steel"] } ] }, @@ -2434,8 +3254,13 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["Earthquake", "Flare Blitz", "Gunk Shot", "Liquidation", "Recover", "Swords Dance"], - "teraTypes": ["Fire", "Ground", "Water"] + "movepool": ["Dragon Dance", "Earthquake", "Flare Blitz", "Gunk Shot", "Liquidation", "Recover", "Swords Dance"], + "teraTypes": ["Ground"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Earthquake", "Extreme Speed", "Gunk Shot", "Swords Dance"], + "teraTypes": ["Ground", "Normal"] } ] }, @@ -2456,15 +3281,25 @@ "role": "Bulky Setup", "movepool": ["Calm Mind", "Earth Power", "Fire Blast", "Judgment", "Recover"], "teraTypes": ["Dragon", "Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Recover", "Stone Edge", "Swords Dance"], + "teraTypes": ["Ground"] } ] }, "arceussteel": { - "level": 69, + "level": 70, "sets": [ { "role": "Bulky Support", - "movepool": ["Calm Mind", "Earth Power", "Judgment", "Recover", "Will-O-Wisp"], + "movepool": ["Earthquake", "Judgment", "Recover", "Will-O-Wisp"], + "teraTypes": ["Ghost"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Earth Power", "Judgment", "Recover"], "teraTypes": ["Ghost"] } ] @@ -2474,18 +3309,53 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Ice Beam", "Judgment", "Recover", "Taunt", "Will-O-Wisp"], + "movepool": ["Calm Mind", "Ice Beam", "Judgment", "Recover", "Will-O-Wisp"], "teraTypes": ["Steel"] } ] }, + "serperior": { + "level": 80, + "sets": [ + { + "role": "Tera Blast user", + "movepool": ["Glare", "Knock Off", "Leaf Storm", "Leech Seed", "Substitute", "Synthesis", "Tera Blast"], + "teraTypes": ["Stellar"] + }, + { + "role": "Fast Attacker", + "movepool": ["Dragon Pulse", "Glare", "Leaf Storm", "Leech Seed", "Substitute", "Synthesis"], + "teraTypes": ["Dragon", "Grass", "Water"] + } + ] + }, + "emboar": { + "level": 84, + "sets": [ + { + "role": "AV Pivot", + "movepool": ["Close Combat", "Flare Blitz", "Knock Off", "Scald", "Wild Charge"], + "teraTypes": ["Dark", "Electric", "Fire", "Water"] + }, + { + "role": "Fast Attacker", + "movepool": ["Close Combat", "Flare Blitz", "Head Smash", "Knock Off", "Wild Charge"], + "teraTypes": ["Fire"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Bulk Up", "Drain Punch", "Flare Blitz", "Trailblaze"], + "teraTypes": ["Fighting", "Grass"] + } + ] + }, "samurott": { "level": 88, "sets": [ { "role": "AV Pivot", "movepool": ["Aqua Jet", "Flip Turn", "Grass Knot", "Hydro Pump", "Ice Beam", "Knock Off", "Megahorn", "Sacred Sword"], - "teraTypes": ["Dark", "Water"] + "teraTypes": ["Dark", "Grass", "Water"] }, { "role": "Setup Sweeper", @@ -2504,6 +3374,26 @@ } ] }, + "zebstrika": { + "level": 88, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["High Horsepower", "Overheat", "Supercell Slam", "Volt Switch"], + "teraTypes": ["Ground"] + } + ] + }, + "excadrill": { + "level": 80, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Earthquake", "Iron Head", "Rapid Spin", "Rock Slide", "Swords Dance"], + "teraTypes": ["Grass", "Ground", "Water"] + } + ] + }, "gurdurr": { "level": 85, "sets": [ @@ -2533,9 +3423,24 @@ "teraTypes": ["Ghost", "Rock"] }, { - "role": "Setup Sweeper", - "movepool": ["Knock Off", "Leaf Blade", "Lunge", "Swords Dance"], - "teraTypes": ["Dark", "Rock"] + "role": "Setup Sweeper", + "movepool": ["Knock Off", "Leaf Blade", "Lunge", "Swords Dance", "Triple Axel"], + "teraTypes": ["Dark", "Rock"] + } + ] + }, + "whimsicott": { + "level": 85, + "sets": [ + { + "role": "Fast Support", + "movepool": ["Encore", "Giga Drain", "Moonblast", "Stun Spore", "Taunt", "U-turn"], + "teraTypes": ["Poison", "Steel"] + }, + { + "role": "Bulky Support", + "movepool": ["Encore", "Hurricane", "Leech Seed", "Moonblast", "Substitute"], + "teraTypes": ["Steel"] } ] }, @@ -2549,8 +3454,8 @@ }, { "role": "Setup Sweeper", - "movepool": ["Petal Dance", "Pollen Puff", "Quiver Dance", "Sleep Powder"], - "teraTypes": ["Grass"] + "movepool": ["Alluring Voice", "Petal Dance", "Quiver Dance", "Sleep Powder"], + "teraTypes": ["Fairy", "Grass"] } ] }, @@ -2561,26 +3466,11 @@ "role": "Setup Sweeper", "movepool": ["Close Combat", "Ice Spinner", "Leaf Blade", "Sleep Powder", "Victory Dance"], "teraTypes": ["Fighting"] - }, - { - "role": "Fast Support", - "movepool": ["Close Combat", "Defog", "Ice Spinner", "Leaf Blade", "Sleep Powder"], - "teraTypes": ["Fighting"] } ] }, "basculin": { - "level": 87, - "sets": [ - { - "role": "Wallbreaker", - "movepool": ["Aqua Jet", "Double-Edge", "Flip Turn", "Wave Crash"], - "teraTypes": ["Water"] - } - ] - }, - "basculinbluestriped": { - "level": 87, + "level": 86, "sets": [ { "role": "Wallbreaker", @@ -2590,7 +3480,7 @@ ] }, "basculegion": { - "level": 84, + "level": 81, "sets": [ { "role": "AV Pivot", @@ -2600,7 +3490,7 @@ ] }, "basculegionf": { - "level": 84, + "level": 83, "sets": [ { "role": "Wallbreaker", @@ -2615,7 +3505,7 @@ ] }, "krookodile": { - "level": 81, + "level": 80, "sets": [ { "role": "Fast Attacker", @@ -2624,32 +3514,62 @@ } ] }, + "scrafty": { + "level": 84, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Bulk Up", "Drain Punch", "Knock Off", "Rest"], + "teraTypes": ["Poison"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Close Combat", "Dragon Dance", "Knock Off", "Poison Jab"], + "teraTypes": ["Poison"] + } + ] + }, "zoroark": { "level": 84, "sets": [ { - "role": "Fast Attacker", + "role": "Wallbreaker", "movepool": ["Dark Pulse", "Flamethrower", "Focus Blast", "Nasty Plot", "Psychic", "Sludge Bomb", "Trick", "U-turn"], "teraTypes": ["Poison"] } ] }, "zoroarkhisui": { - "level": 79, + "level": 80, "sets": [ { "role": "Wallbreaker", - "movepool": ["Bitter Malice", "Flamethrower", "Focus Blast", "Hyper Voice", "Nasty Plot", "Shadow Ball", "Trick", "U-turn"], + "movepool": ["Bitter Malice", "Flamethrower", "Focus Blast", "Hyper Voice", "Nasty Plot", "Trick", "U-turn"], + "teraTypes": ["Fighting", "Normal"] + }, + { + "role": "Fast Attacker", + "movepool": ["Focus Blast", "Hyper Voice", "Poltergeist", "Will-O-Wisp"], "teraTypes": ["Fighting", "Normal"] } ] }, + "cinccino": { + "level": 83, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Bullet Seed", "Tail Slap", "Tidy Up", "Triple Axel", "U-turn"], + "teraTypes": ["Grass", "Ice", "Normal"] + } + ] + }, "gothitelle": { - "level": 89, + "level": 90, "sets": [ { "role": "Bulky Setup", - "movepool": ["Calm Mind", "Dark Pulse", "Focus Blast", "Psychic", "Thunderbolt"], + "movepool": ["Calm Mind", "Dark Pulse", "Focus Blast", "Psychic Noise", "Thunderbolt"], "teraTypes": ["Dark", "Electric", "Fairy", "Fighting", "Flying", "Ghost", "Ground", "Psychic", "Steel"] }, { @@ -2659,6 +3579,16 @@ } ] }, + "reuniclus": { + "level": 88, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Focus Blast", "Psychic", "Psyshock", "Recover", "Shadow Ball"], + "teraTypes": ["Fighting", "Steel"] + } + ] + }, "swanna": { "level": 88, "sets": [ @@ -2701,6 +3631,21 @@ "role": "Bulky Support", "movepool": ["Flip Turn", "Protect", "Scald", "Wish"], "teraTypes": ["Steel"] + }, + { + "role": "Fast Support", + "movepool": ["Flip Turn", "Protect", "Scald", "Wish"], + "teraTypes": ["Steel"] + } + ] + }, + "galvantula": { + "level": 82, + "sets": [ + { + "role": "Fast Support", + "movepool": ["Bug Buzz", "Giga Drain", "Sticky Web", "Thunder", "Volt Switch"], + "teraTypes": ["Electric"] } ] }, @@ -2709,22 +3654,22 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["Coil", "Drain Punch", "Fire Punch", "Knock Off", "Liquidation", "Wild Charge"], + "movepool": ["Coil", "Drain Punch", "Fire Punch", "Knock Off", "Supercell Slam"], "teraTypes": ["Fighting"] }, { "role": "AV Pivot", - "movepool": ["Acid Spray", "Close Combat", "Flamethrower", "Giga Drain", "Knock Off", "Thunderbolt", "U-turn"], - "teraTypes": ["Poison"] + "movepool": ["Close Combat", "Discharge", "Flamethrower", "Giga Drain", "Knock Off", "U-turn"], + "teraTypes": ["Poison", "Steel"] } ] }, "chandelure": { - "level": 82, + "level": 83, "sets": [ { "role": "Fast Bulky Setup", - "movepool": ["Calm Mind", "Energy Ball", "Fire Blast", "Shadow Ball", "Substitute"], + "movepool": ["Calm Mind", "Energy Ball", "Fire Blast", "Pain Split", "Shadow Ball", "Substitute", "Will-O-Wisp"], "teraTypes": ["Fire", "Ghost", "Grass"] }, { @@ -2740,12 +3685,12 @@ { "role": "Setup Sweeper", "movepool": ["Close Combat", "Dragon Dance", "Earthquake", "Iron Head", "Outrage"], - "teraTypes": ["Fighting", "Ground", "Steel"] + "teraTypes": ["Steel"] }, { "role": "Fast Bulky Setup", "movepool": ["Close Combat", "Earthquake", "Iron Head", "Scale Shot", "Swords Dance"], - "teraTypes": ["Fighting", "Ground", "Steel"] + "teraTypes": ["Steel"] } ] }, @@ -2760,7 +3705,7 @@ ] }, "cryogonal": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", @@ -2779,8 +3724,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["High Jump Kick", "Knock Off", "Poison Jab", "Stone Edge", "U-turn"], - "teraTypes": ["Dark"] + "movepool": ["High Jump Kick", "Knock Off", "Poison Jab", "Triple Axel", "U-turn"], + "teraTypes": ["Fighting"] }, { "role": "AV Pivot", @@ -2789,13 +3734,23 @@ }, { "role": "Setup Sweeper", - "movepool": ["Close Combat", "Knock Off", "Poison Jab", "Stone Edge", "Swords Dance"], - "teraTypes": ["Dark"] + "movepool": ["Close Combat", "Knock Off", "Poison Jab", "Swords Dance", "Triple Axel"], + "teraTypes": ["Dark", "Fighting", "Poison"] + } + ] + }, + "golurk": { + "level": 87, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Dynamic Punch", "Earthquake", "Poltergeist", "Stealth Rock", "Stone Edge"], + "teraTypes": ["Fighting", "Ghost", "Ground"] } ] }, "braviary": { - "level": 86, + "level": 85, "sets": [ { "role": "Fast Bulky Setup", @@ -2805,7 +3760,7 @@ ] }, "braviaryhisui": { - "level": 84, + "level": 85, "sets": [ { "role": "Setup Sweeper", @@ -2824,12 +3779,12 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Defog", "Foul Play", "Roost", "Toxic", "U-turn"], + "movepool": ["Defog", "Foul Play", "Knock Off", "Roost", "Toxic", "U-turn"], "teraTypes": ["Steel"] }, { "role": "Bulky Attacker", - "movepool": ["Brave Bird", "Defog", "Foul Play", "Knock Off", "Roost", "Toxic"], + "movepool": ["Brave Bird", "Defog", "Knock Off", "Roost", "Toxic"], "teraTypes": ["Steel"] } ] @@ -2859,13 +3814,58 @@ } ] }, + "cobalion": { + "level": 80, + "sets": [ + { + "role": "Fast Bulky Setup", + "movepool": ["Close Combat", "Iron Head", "Stone Edge", "Swords Dance", "Taunt"], + "teraTypes": ["Fighting"] + }, + { + "role": "Bulky Setup", + "movepool": ["Aura Sphere", "Calm Mind", "Flash Cannon", "Vacuum Wave"], + "teraTypes": ["Fighting", "Ghost", "Water"] + }, + { + "role": "Bulky Support", + "movepool": ["Body Press", "Iron Defense", "Iron Head", "Stealth Rock", "Stone Edge", "Thunder Wave", "Volt Switch"], + "teraTypes": ["Ghost", "Water"] + } + ] + }, + "terrakion": { + "level": 79, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Close Combat", "Earthquake", "Stone Edge", "Swords Dance"], + "teraTypes": ["Fighting", "Ground"] + }, + { + "role": "Wallbreaker", + "movepool": ["Close Combat", "Earthquake", "Quick Attack", "Stone Edge"], + "teraTypes": ["Fighting", "Ground"] + } + ] + }, + "virizion": { + "level": 82, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Close Combat", "Leaf Blade", "Stone Edge", "Swords Dance"], + "teraTypes": ["Rock"] + } + ] + }, "tornadus": { "level": 82, "sets": [ { "role": "Fast Attacker", "movepool": ["Bleakwind Storm", "Focus Blast", "Grass Knot", "Heat Wave", "Nasty Plot", "U-turn"], - "teraTypes": ["Fire", "Flying"] + "teraTypes": ["Fighting", "Fire", "Flying"] } ] }, @@ -2875,7 +3875,7 @@ { "role": "Fast Attacker", "movepool": ["Bleakwind Storm", "Focus Blast", "Grass Knot", "Heat Wave", "Nasty Plot", "U-turn"], - "teraTypes": ["Fire", "Flying"] + "teraTypes": ["Fighting", "Fire", "Flying"] }, { "role": "AV Pivot", @@ -2889,13 +3889,18 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Focus Blast", "Grass Knot", "Knock Off", "Nasty Plot", "Sludge Bomb", "Taunt", "Thunder Wave", "Thunderbolt", "U-turn"], + "movepool": ["Focus Blast", "Grass Knot", "Knock Off", "Nasty Plot", "Sludge Wave", "Taunt", "Thunder Wave", "Thunderbolt", "U-turn"], "teraTypes": ["Electric", "Grass"] }, { "role": "Tera Blast user", "movepool": ["Focus Blast", "Nasty Plot", "Tera Blast", "Thunderbolt"], "teraTypes": ["Flying"] + }, + { + "role": "Wallbreaker", + "movepool": ["Acrobatics", "Focus Blast", "Grass Knot", "Knock Off", "Taunt", "Thunder Wave", "Thunderbolt", "U-turn"], + "teraTypes": ["Electric", "Flying", "Grass", "Steel"] } ] }, @@ -2904,7 +3909,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Focus Blast", "Grass Knot", "Nasty Plot", "Psychic", "Sludge Bomb", "Thunderbolt", "Volt Switch"], + "movepool": ["Focus Blast", "Grass Knot", "Nasty Plot", "Psychic", "Sludge Wave", "Thunderbolt", "Volt Switch"], "teraTypes": ["Electric", "Poison", "Psychic"] }, { @@ -2914,28 +3919,108 @@ } ] }, - "landorus": { + "reshiram": { "level": 76, "sets": [ { "role": "Fast Attacker", - "movepool": ["Earth Power", "Focus Blast", "Nasty Plot", "Psychic", "Rock Slide", "Sludge Bomb", "Stealth Rock"], + "movepool": ["Blue Flare", "Draco Meteor", "Earth Power", "Roar", "Will-O-Wisp"], + "teraTypes": ["Fire", "Ground"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Flare Blitz", "Outrage", "Stone Edge"], + "teraTypes": ["Dragon", "Fire"] + } + ] + }, + "zekrom": { + "level": 71, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Bolt Strike", "Dragon Dance", "Outrage", "Substitute"], + "teraTypes": ["Electric"] + } + ] + }, + "landorus": { + "level": 75, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Earth Power", "Focus Blast", "Nasty Plot", "Psychic", "Rock Slide", "Sludge Wave", "Stealth Rock"], "teraTypes": ["Ground", "Poison", "Psychic"] } ] }, "landorustherian": { - "level": 77, + "level": 76, "sets": [ { "role": "Bulky Support", "movepool": ["Earthquake", "Stealth Rock", "Stone Edge", "Taunt", "U-turn"], + "teraTypes": ["Ground", "Water"] + } + ] + }, + "kyurem": { + "level": 77, + "sets": [ + { + "role": "Tera Blast user", + "movepool": ["Dragon Dance", "Icicle Spear", "Scale Shot", "Tera Blast"], + "teraTypes": ["Ground"] + }, + { + "role": "Wallbreaker", + "movepool": ["Draco Meteor", "Earth Power", "Freeze-Dry", "Ice Beam", "Outrage"], "teraTypes": ["Ground"] + } + ] + }, + "kyuremwhite": { + "level": 74, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Draco Meteor", "Earth Power", "Freeze-Dry", "Fusion Flare"], + "teraTypes": ["Dragon", "Fire"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Draco Meteor", "Freeze-Dry", "Fusion Flare", "Ice Beam"], + "teraTypes": ["Dragon", "Fire"] + } + ] + }, + "kyuremblack": { + "level": 71, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Fusion Bolt", "Icicle Spear", "Scale Shot"], + "teraTypes": ["Electric"] }, { "role": "Tera Blast user", - "movepool": ["Earthquake", "Stone Edge", "Swords Dance", "Tera Blast"], - "teraTypes": ["Flying"] + "movepool": ["Dragon Dance", "Icicle Spear", "Scale Shot", "Tera Blast"], + "teraTypes": ["Ground"] + } + ] + }, + "keldeoresolute": { + "level": 79, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Air Slash", "Calm Mind", "Flip Turn", "Hydro Pump", "Secret Sword", "Vacuum Wave"], + "teraTypes": ["Fighting", "Water"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Hydro Pump", "Secret Sword", "Substitute", "Surf"], + "teraTypes": ["Steel"] } ] }, @@ -2946,6 +4031,11 @@ "role": "Fast Attacker", "movepool": ["Calm Mind", "Focus Blast", "Hyper Voice", "Psyshock", "U-turn"], "teraTypes": ["Fighting", "Normal", "Psychic"] + }, + { + "role": "Wallbreaker", + "movepool": ["Close Combat", "Knock Off", "Relic Song", "Triple Axel"], + "teraTypes": ["Dark", "Fighting"] } ] }, @@ -2954,11 +4044,11 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Body Press", "Knock Off", "Leech Seed", "Spikes", "Synthesis", "Wood Hammer"], + "movepool": ["Body Press", "Knock Off", "Spikes", "Synthesis", "Wood Hammer"], "teraTypes": ["Steel", "Water"] }, { - "role": "Bulky Setup", + "role": "Fast Bulky Setup", "movepool": ["Body Press", "Iron Defense", "Synthesis", "Trailblaze"], "teraTypes": ["Steel"] } @@ -3000,7 +4090,7 @@ { "role": "Bulky Attacker", "movepool": ["Brave Bird", "Defog", "Overheat", "Roost", "Taunt", "U-turn", "Will-O-Wisp"], - "teraTypes": ["Ground", "Water"] + "teraTypes": ["Dragon", "Ground"] }, { "role": "Tera Blast user", @@ -3010,16 +4100,16 @@ ] }, "vivillon": { - "level": 86, + "level": 85, "sets": [ { "role": "Fast Bulky Setup", - "movepool": ["Bug Buzz", "Energy Ball", "Hurricane", "Quiver Dance", "Sleep Powder", "Substitute"], + "movepool": ["Bug Buzz", "Energy Ball", "Hurricane", "Quiver Dance", "Sleep Powder"], "teraTypes": ["Flying"] }, { "role": "Tera Blast user", - "movepool": ["Hurricane", "Quiver Dance", "Sleep Powder", "Substitute", "Tera Blast"], + "movepool": ["Hurricane", "Quiver Dance", "Sleep Powder", "Tera Blast"], "teraTypes": ["Ground"] } ] @@ -3054,17 +4144,52 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["Bulk Up", "Earthquake", "Horn Leech", "Milk Drink"], - "teraTypes": ["Ground"] + "movepool": ["Bulk Up", "Earthquake", "Horn Leech", "Milk Drink", "Rock Slide"], + "teraTypes": ["Ground", "Water"] + } + ] + }, + "meowstic": { + "level": 89, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Alluring Voice", "Light Screen", "Psychic Noise", "Reflect", "Thunder Wave", "Yawn"], + "teraTypes": ["Fairy"] + } + ] + }, + "meowsticf": { + "level": 89, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Alluring Voice", "Dark Pulse", "Nasty Plot", "Psychic", "Psyshock", "Thunderbolt"], + "teraTypes": ["Dark", "Electric", "Fairy"] + } + ] + }, + "malamar": { + "level": 82, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Knock Off", "Rest", "Sleep Talk", "Superpower"], + "teraTypes": ["Fighting", "Poison", "Steel"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Knock Off", "Psycho Cut", "Rest", "Superpower"], + "teraTypes": ["Fighting", "Poison", "Steel"] } ] }, "dragalge": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Draco Meteor", "Flip Turn", "Focus Blast", "Hydro Pump", "Sludge Bomb", "Toxic", "Toxic Spikes"], + "movepool": ["Draco Meteor", "Flip Turn", "Focus Blast", "Hydro Pump", "Sludge Wave", "Toxic", "Toxic Spikes"], "teraTypes": ["Water"] } ] @@ -3080,7 +4205,7 @@ ] }, "sylveon": { - "level": 84, + "level": 85, "sets": [ { "role": "Bulky Setup", @@ -3094,7 +4219,7 @@ "sets": [ { "role": "Setup Sweeper", - "movepool": ["Acrobatics", "Brave Bird", "Close Combat", "Encore", "Stone Edge", "Swords Dance"], + "movepool": ["Acrobatics", "Brave Bird", "Close Combat", "Encore", "Stone Edge", "Swords Dance", "Throat Chop"], "teraTypes": ["Fighting", "Flying"] } ] @@ -3117,10 +4242,10 @@ "movepool": ["Body Press", "Moonblast", "Power Gem", "Spikes", "Stealth Rock"], "teraTypes": ["Fighting"] }, - { - "role": "Bulky Support", - "movepool": ["Body Press", "Light Screen", "Moonblast", "Reflect", "Stealth Rock"], - "teraTypes": ["Steel", "Water"] + { + "role": "Fast Bulky Setup", + "movepool": ["Body Press", "Iron Defense", "Moonblast", "Rest", "Rock Polish"], + "teraTypes": ["Fighting"] } ] }, @@ -3135,17 +4260,12 @@ ] }, "goodrahisui": { - "level": 84, + "level": 82, "sets": [ { "role": "AV Pivot", "movepool": ["Draco Meteor", "Dragon Tail", "Earthquake", "Fire Blast", "Heavy Slam", "Hydro Pump", "Knock Off", "Thunderbolt"], "teraTypes": ["Electric", "Fire", "Ground", "Water"] - }, - { - "role": "Bulky Setup", - "movepool": ["Body Press", "Curse", "Heavy Slam", "Rest"], - "teraTypes": ["Fighting"] } ] }, @@ -3180,7 +4300,7 @@ ] }, "avalugg": { - "level": 86, + "level": 87, "sets": [ { "role": "Bulky Support", @@ -3219,8 +4339,13 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Body Press", "Diamond Storm", "Earth Power", "Moonblast", "Stealth Rock"], + "movepool": ["Body Press", "Diamond Storm", "Earth Power", "Moonblast", "Rock Polish", "Stealth Rock"], "teraTypes": ["Fighting"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Diamond Storm", "Draining Kiss", "Earth Power"], + "teraTypes": ["Fairy", "Water"] } ] }, @@ -3229,7 +4354,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Focus Blast", "Nasty Plot", "Psyshock", "Shadow Ball", "Trick"], + "movepool": ["Focus Blast", "Nasty Plot", "Psychic", "Psyshock", "Shadow Ball", "Trick"], "teraTypes": ["Fighting", "Ghost", "Psychic"] } ] @@ -3284,27 +4409,72 @@ } ] }, + "incineroar": { + "level": 84, + "sets": [ + { + "role": "AV Pivot", + "movepool": ["Close Combat", "Fake Out", "Knock Off", "Overheat", "U-turn"], + "teraTypes": ["Fighting", "Water"] + }, + { + "role": "Fast Attacker", + "movepool": ["Close Combat", "Earthquake", "Flare Blitz", "Knock Off", "Parting Shot", "Will-O-Wisp"], + "teraTypes": ["Fighting", "Water"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Flare Blitz", "Knock Off", "Swords Dance", "Trailblaze"], + "teraTypes": ["Grass"] + } + ] + }, + "primarina": { + "level": 83, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Flip Turn", "Hydro Pump", "Moonblast", "Psychic"], + "teraTypes": ["Water"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Draining Kiss", "Moonblast", "Sparkling Aria"], + "teraTypes": ["Fairy", "Poison", "Steel"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Calm Mind", "Draining Kiss", "Psychic", "Sparkling Aria"], + "teraTypes": ["Fairy", "Poison", "Steel"] + } + ] + }, + "toucannon": { + "level": 88, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Beak Blast", "Boomburst", "Bullet Seed", "Knock Off", "Roost", "U-turn"], + "teraTypes": ["Steel"] + } + ] + }, "gumshoos": { "level": 95, "sets": [ { "role": "Wallbreaker", - "movepool": ["Body Slam", "Earthquake", "Knock Off", "U-turn"], - "teraTypes": ["Ground"] + "movepool": ["Double-Edge", "Earthquake", "Knock Off", "U-turn"], + "teraTypes": ["Ground", "Normal"] } ] }, "vikavolt": { "level": 84, "sets": [ - { - "role": "Wallbreaker", - "movepool": ["Agility", "Bug Buzz", "Energy Ball", "Thunderbolt", "Volt Switch"], - "teraTypes": ["Electric"] - }, { "role": "Bulky Support", - "movepool": ["Bug Buzz", "Sticky Web", "Thunderbolt", "Volt Switch"], + "movepool": ["Bug Buzz", "Energy Ball", "Sticky Web", "Thunderbolt", "Volt Switch"], "teraTypes": ["Electric"] } ] @@ -3323,18 +4493,18 @@ "level": 84, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Defog", "Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], + "role": "Setup Sweeper", + "movepool": ["Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], "teraTypes": ["Ground"] } ] }, "oricoriopompom": { - "level": 83, + "level": 82, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Defog", "Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], + "role": "Setup Sweeper", + "movepool": ["Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], "teraTypes": ["Ground"] } ] @@ -3343,8 +4513,8 @@ "level": 87, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Defog", "Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], + "role": "Setup Sweeper", + "movepool": ["Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], "teraTypes": ["Fighting", "Ground"] } ] @@ -3353,8 +4523,8 @@ "level": 85, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Defog", "Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], + "role": "Setup Sweeper", + "movepool": ["Hurricane", "Quiver Dance", "Revelation Dance", "Roost"], "teraTypes": ["Fighting", "Ghost"] } ] @@ -3364,7 +4534,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Moonblast", "Psychic", "Sticky Web", "Stun Spore", "U-turn"], + "movepool": ["Bug Buzz", "Moonblast", "Sticky Web", "Stun Spore", "U-turn"], "teraTypes": ["Ghost"] }, { @@ -3379,7 +4549,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Accelerock", "Close Combat", "Crunch", "Drill Run", "Psychic Fangs", "Stealth Rock", "Stone Edge", "Swords Dance", "Taunt"], + "movepool": ["Accelerock", "Close Combat", "Crunch", "Psychic Fangs", "Stealth Rock", "Stone Edge", "Swords Dance", "Taunt"], "teraTypes": ["Fighting"] } ] @@ -3398,8 +4568,8 @@ "level": 80, "sets": [ { - "role": "Wallbreaker", - "movepool": ["Accelerock", "Close Combat", "Crunch", "Psychic Fangs", "Stone Edge", "Swords Dance"], + "role": "Fast Attacker", + "movepool": ["Accelerock", "Close Combat", "Psychic Fangs", "Stone Edge", "Swords Dance", "Throat Chop"], "teraTypes": ["Fighting"] } ] @@ -3424,8 +4594,18 @@ } ] }, + "araquanid": { + "level": 82, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Hydro Pump", "Leech Life", "Liquidation", "Mirror Coat", "Sticky Web"], + "teraTypes": ["Ground", "Steel", "Water"] + } + ] + }, "lurantis": { - "level": 89, + "level": 87, "sets": [ { "role": "Bulky Attacker", @@ -3435,7 +4615,7 @@ { "role": "AV Pivot", "movepool": ["Knock Off", "Leaf Storm", "Leech Life", "Superpower"], - "teraTypes": ["Fighting"] + "teraTypes": ["Fighting", "Steel", "Water"] } ] }, @@ -3445,7 +4625,7 @@ { "role": "Fast Support", "movepool": ["Flamethrower", "Protect", "Substitute", "Toxic"], - "teraTypes": ["Flying", "Water"] + "teraTypes": ["Flying", "Grass"] } ] }, @@ -3454,11 +4634,26 @@ "sets": [ { "role": "Fast Support", - "movepool": ["High Jump Kick", "Knock Off", "Power Whip", "Rapid Spin", "Synthesis", "U-turn"], + "movepool": ["High Jump Kick", "Knock Off", "Power Whip", "Rapid Spin", "Synthesis", "Triple Axel", "U-turn"], "teraTypes": ["Fighting", "Steel"] } ] }, + "comfey": { + "level": 85, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Draining Kiss", "Giga Drain", "Stored Power"], + "teraTypes": ["Fairy", "Poison", "Steel"] + }, + { + "role": "Tera Blast user", + "movepool": ["Calm Mind", "Draining Kiss", "Giga Drain", "Synthesis", "Tera Blast"], + "teraTypes": ["Ground"] + } + ] + }, "oranguru": { "level": 92, "sets": [ @@ -3470,17 +4665,17 @@ { "role": "Wallbreaker", "movepool": ["Focus Blast", "Hyper Voice", "Nasty Plot", "Psyshock", "Thunderbolt", "Trick"], - "teraTypes": ["Electric", "Fighting", "Psychic"] + "teraTypes": ["Electric", "Fighting", "Normal", "Psychic"] } ] }, "passimian": { - "level": 84, + "level": 83, "sets": [ { "role": "Fast Attacker", "movepool": ["Close Combat", "Earthquake", "Gunk Shot", "Knock Off", "Rock Slide", "U-turn"], - "teraTypes": ["Dark"] + "teraTypes": ["Dark", "Fighting", "Poison"] }, { "role": "Bulky Setup", @@ -3490,12 +4685,22 @@ ] }, "palossand": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", - "movepool": ["Earth Power", "Hypnosis", "Shadow Ball", "Shore Up", "Stealth Rock"], - "teraTypes": ["Water"] + "movepool": ["Earth Power", "Shadow Ball", "Shore Up", "Sludge Bomb", "Stealth Rock"], + "teraTypes": ["Poison", "Water"] + } + ] + }, + "minior": { + "level": 79, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Acrobatics", "Earthquake", "Power Gem", "Shell Smash"], + "teraTypes": ["Flying", "Ground", "Steel", "Water"] } ] }, @@ -3503,9 +4708,14 @@ "level": 89, "sets": [ { - "role": "Wallbreaker", - "movepool": ["Body Slam", "Earthquake", "Knock Off", "Play Rough", "Rapid Spin", "Sucker Punch", "Superpower", "U-turn", "Wood Hammer"], - "teraTypes": ["Dark", "Fairy", "Fighting", "Grass", "Ground"] + "role": "Fast Attacker", + "movepool": ["Double-Edge", "Earthquake", "Knock Off", "Sucker Punch", "Superpower", "U-turn", "Wood Hammer"], + "teraTypes": ["Dark", "Fighting", "Grass", "Ground"] + }, + { + "role": "Bulky Support", + "movepool": ["Body Slam", "Earthquake", "Knock Off", "Rapid Spin", "Sucker Punch", "U-turn"], + "teraTypes": ["Dark", "Ghost"] } ] }, @@ -3530,7 +4740,7 @@ ] }, "kommoo": { - "level": 79, + "level": 78, "sets": [ { "role": "Fast Bulky Setup", @@ -3544,12 +4754,87 @@ } ] }, + "solgaleo": { + "level": 74, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Close Combat", "Flame Charge", "Knock Off", "Psychic", "Sunsteel Strike"], + "teraTypes": ["Dark", "Fighting"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Close Combat", "Flare Blitz", "Knock Off", "Morning Sun", "Psychic Fangs", "Sunsteel Strike"], + "teraTypes": ["Water"] + } + ] + }, + "lunala": { + "level": 70, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Moonblast", "Moongeist Beam", "Moonlight"], + "teraTypes": ["Fairy"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Calm Mind", "Moongeist Beam", "Moonlight", "Psyshock"], + "teraTypes": ["Dark", "Fairy"] + } + ] + }, + "necrozma": { + "level": 81, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Knock Off", "Photon Geyser", "Swords Dance"], + "teraTypes": ["Dark", "Ground", "Steel"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Earth Power", "Heat Wave", "Moonlight", "Photon Geyser"], + "teraTypes": ["Fairy", "Ground", "Steel"] + } + ] + }, + "necrozmaduskmane": { + "level": 68, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Dragon Dance", "Earthquake", "Morning Sun", "Sunsteel Strike"], + "teraTypes": ["Ground", "Steel", "Water"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Photon Geyser", "Sunsteel Strike"], + "teraTypes": ["Ground", "Steel", "Water"] + } + ] + }, + "necrozmadawnwings": { + "level": 76, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Moongeist Beam", "Moonlight", "Photon Geyser"], + "teraTypes": ["Dark", "Fairy"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Brick Break", "Dragon Dance", "Moongeist Beam", "Photon Geyser"], + "teraTypes": ["Fighting"] + } + ] + }, "magearna": { - "level": 78, + "level": 77, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Aura Sphere", "Flash Cannon", "Fleur Cannon", "Pain Split", "Spikes", "Volt Switch"], + "movepool": ["Aura Sphere", "Flash Cannon", "Fleur Cannon", "Pain Split", "Spikes", "Thunder Wave", "Volt Switch"], "teraTypes": ["Fairy", "Fighting", "Water"] }, { @@ -3559,22 +4844,17 @@ }, { "role": "Tera Blast user", - "movepool": ["Fleur Cannon", "Iron Head", "Shift Gear", "Tera Blast", "Thunderbolt"], + "movepool": ["Fleur Cannon", "Iron Head", "Shift Gear", "Tera Blast"], "teraTypes": ["Ground"] } ] }, "rillaboom": { - "level": 81, + "level": 79, "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Acrobatics", "Grassy Glide", "High Horsepower", "Knock Off", "Swords Dance", "Wood Hammer"], - "teraTypes": ["Grass"] - }, { "role": "Wallbreaker", - "movepool": ["Grassy Glide", "High Horsepower", "Knock Off", "U-turn", "Wood Hammer"], + "movepool": ["Grassy Glide", "High Horsepower", "Knock Off", "Swords Dance", "U-turn", "Wood Hammer"], "teraTypes": ["Grass"] } ] @@ -3605,12 +4885,12 @@ ] }, "greedent": { - "level": 87, + "level": 86, "sets": [ { "role": "Bulky Setup", - "movepool": ["Body Slam", "Earthquake", "Knock Off", "Psychic Fangs", "Swords Dance"], - "teraTypes": ["Ground", "Psychic"] + "movepool": ["Body Slam", "Double-Edge", "Earthquake", "Knock Off", "Swords Dance"], + "teraTypes": ["Ghost", "Ground"] } ] }, @@ -3635,11 +4915,11 @@ ] }, "coalossal": { - "level": 88, + "level": 89, "sets": [ { "role": "Bulky Support", - "movepool": ["Overheat", "Rapid Spin", "Spikes", "Stealth Rock", "Stone Edge", "Will-O-Wisp"], + "movepool": ["Flamethrower", "Overheat", "Rapid Spin", "Spikes", "Stealth Rock", "Stone Edge", "Will-O-Wisp"], "teraTypes": ["Ghost", "Grass", "Water"] } ] @@ -3665,7 +4945,7 @@ { "role": "Bulky Support", "movepool": ["Apple Acid", "Draco Meteor", "Dragon Pulse", "Leech Seed", "Recover"], - "teraTypes": ["Grass", "Steel"] + "teraTypes": ["Steel"] } ] }, @@ -3678,7 +4958,7 @@ "teraTypes": ["Dragon", "Steel"] }, { - "role": "Bulky Support", + "role": "Bulky Attacker", "movepool": ["Earthquake", "Glare", "Rest", "Stealth Rock", "Stone Edge"], "teraTypes": ["Dragon", "Water"] }, @@ -3700,11 +4980,11 @@ ] }, "barraskewda": { - "level": 82, + "level": 81, "sets": [ { - "role": "Fast Attacker", - "movepool": ["Close Combat", "Crunch", "Flip Turn", "Poison Jab", "Psychic Fangs", "Waterfall"], + "role": "Wallbreaker", + "movepool": ["Close Combat", "Flip Turn", "Poison Jab", "Psychic Fangs", "Throat Chop", "Waterfall"], "teraTypes": ["Fighting"] } ] @@ -3714,7 +4994,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Boomburst", "Overdrive", "Sludge Bomb", "Toxic Spikes", "Volt Switch"], + "movepool": ["Boomburst", "Overdrive", "Sludge Wave", "Volt Switch"], "teraTypes": ["Normal"] }, { @@ -3740,7 +5020,7 @@ ] }, "hatterene": { - "level": 87, + "level": 85, "sets": [ { "role": "Bulky Setup", @@ -3749,7 +5029,7 @@ }, { "role": "AV Pivot", - "movepool": ["Draining Kiss", "Mystical Fire", "Nuzzle", "Psychic"], + "movepool": ["Draining Kiss", "Mystical Fire", "Nuzzle", "Psychic", "Psychic Noise"], "teraTypes": ["Fairy", "Steel"] } ] @@ -3760,22 +5040,17 @@ { "role": "Bulky Support", "movepool": ["Light Screen", "Parting Shot", "Reflect", "Spirit Break", "Thunder Wave"], - "teraTypes": ["Fairy"] - }, - { - "role": "Fast Bulky Setup", - "movepool": ["Bulk Up", "Crunch", "Rest", "Spirit Break", "Sucker Punch", "Thunder Wave"], - "teraTypes": ["Dark"] + "teraTypes": ["Poison", "Steel"] }, { "role": "Bulky Attacker", "movepool": ["Parting Shot", "Spirit Break", "Sucker Punch", "Taunt", "Thunder Wave"], - "teraTypes": ["Fairy"] + "teraTypes": ["Poison", "Steel"] } ] }, "perrserker": { - "level": 88, + "level": 89, "sets": [ { "role": "Wallbreaker", @@ -3784,6 +5059,21 @@ } ] }, + "alcremie": { + "level": 90, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Alluring Voice", "Calm Mind", "Psychic", "Psyshock", "Recover"], + "teraTypes": ["Poison", "Steel"] + }, + { + "role": "Tera Blast user", + "movepool": ["Alluring Voice", "Calm Mind", "Recover", "Tera Blast"], + "teraTypes": ["Ground"] + } + ] + }, "falinks": { "level": 85, "sets": [ @@ -3795,17 +5085,22 @@ ] }, "pincurchin": { - "level": 97, + "level": 99, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Discharge", "Scald", "Spikes", "Sucker Punch", "Toxic Spikes"], - "teraTypes": ["Ghost", "Water"] + "movepool": ["Discharge", "Recover", "Scald", "Spikes", "Toxic Spikes"], + "teraTypes": ["Water"] + }, + { + "role": "Bulky Setup", + "movepool": ["Curse", "Liquidation", "Recover", "Zing Zap"], + "teraTypes": ["Grass", "Water"] } ] }, "frosmoth": { - "level": 83, + "level": 82, "sets": [ { "role": "Tera Blast user", @@ -3830,7 +5125,7 @@ ] }, "eiscue": { - "level": 86, + "level": 87, "sets": [ { "role": "Setup Sweeper", @@ -3840,17 +5135,17 @@ { "role": "Tera Blast user", "movepool": ["Belly Drum", "Ice Spinner", "Liquidation", "Substitute", "Tera Blast"], - "teraTypes": ["Ground"] + "teraTypes": ["Electric", "Ground"] } ] }, "indeedee": { - "level": 88, + "level": 84, "sets": [ { "role": "Fast Attacker", - "movepool": ["Calm Mind", "Dazzling Gleam", "Healing Wish", "Hyper Voice", "Psychic", "Psyshock", "Shadow Ball"], - "teraTypes": ["Fairy", "Psychic"] + "movepool": ["Calm Mind", "Dazzling Gleam", "Expanding Force", "Healing Wish", "Hyper Voice", "Shadow Ball"], + "teraTypes": ["Psychic"] } ] }, @@ -3865,7 +5160,7 @@ ] }, "morpeko": { - "level": 86, + "level": 88, "sets": [ { "role": "Fast Support", @@ -3885,15 +5180,25 @@ { "role": "Wallbreaker", "movepool": ["Earthquake", "Iron Head", "Play Rough", "Rock Slide", "Stealth Rock", "Superpower"], - "teraTypes": ["Fairy", "Steel"] + "teraTypes": ["Fairy"] }, { "role": "Bulky Attacker", - "movepool": ["Earthquake", "Heat Crash", "Heavy Slam", "Knock Off", "Stone Edge", "Superpower"], + "movepool": ["Earthquake", "Heat Crash", "Heavy Slam", "Knock Off", "Stone Edge", "Supercell Slam", "Superpower"], "teraTypes": ["Fire", "Steel"] } ] }, + "duraludon": { + "level": 82, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Body Press", "Draco Meteor", "Flash Cannon", "Iron Defense", "Stealth Rock", "Thunder Wave"], + "teraTypes": ["Fighting"] + } + ] + }, "dragapult": { "level": 77, "sets": [ @@ -3934,22 +5239,22 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Close Combat", "Crunch", "Iron Head", "Psychic Fangs", "Stone Edge", "Wild Charge"], - "teraTypes": ["Dark", "Fighting"] + "movepool": ["Close Combat", "Crunch", "Iron Head", "Psychic Fangs", "Stone Edge"], + "teraTypes": ["Dark", "Fighting", "Steel"] }, { "role": "Bulky Setup", "movepool": ["Body Press", "Crunch", "Iron Defense", "Iron Head", "Rest", "Stone Edge"], - "teraTypes": ["Fighting"] + "teraTypes": ["Fighting", "Steel"] } ] }, "zamazentacrowned": { - "level": 69, + "level": 68, "sets": [ { "role": "Bulky Setup", - "movepool": ["Behemoth Bash", "Body Press", "Crunch", "Iron Defense", "Psychic Fangs", "Stone Edge"], + "movepool": ["Body Press", "Crunch", "Heavy Slam", "Iron Defense", "Stone Edge"], "teraTypes": ["Fighting"] } ] @@ -3975,7 +5280,7 @@ { "role": "Fast Attacker", "movepool": ["Close Combat", "Poison Jab", "Sucker Punch", "Swords Dance", "U-turn", "Wicked Blow"], - "teraTypes": ["Dark", "Fighting"] + "teraTypes": ["Dark", "Fighting", "Poison"] } ] }, @@ -4020,11 +5325,11 @@ ] }, "regidrago": { - "level": 78, + "level": 77, "sets": [ { - "role": "Bulky Attacker", - "movepool": ["Draco Meteor", "Dragon Dance", "Earthquake", "Fire Fang", "Outrage"], + "role": "Setup Sweeper", + "movepool": ["Draco Meteor", "Dragon Dance", "Earthquake", "Outrage"], "teraTypes": ["Dragon"] }, { @@ -4104,7 +5409,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Body Slam", "Earthquake", "Megahorn", "Psychic", "Thunder Wave", "Thunderbolt"], + "movepool": ["Body Slam", "Earthquake", "Megahorn", "Psychic Noise", "Thunder Wave", "Thunderbolt"], "teraTypes": ["Ground"] } ] @@ -4124,7 +5429,7 @@ "sets": [ { "role": "Bulky Attacker", - "movepool": ["Crunch", "Facade", "Headlong Rush", "Swords Dance", "Trailblaze"], + "movepool": ["Crunch", "Facade", "Headlong Rush", "Swords Dance", "Throat Chop", "Trailblaze"], "teraTypes": ["Normal"] } ] @@ -4136,6 +5441,11 @@ "role": "Bulky Attacker", "movepool": ["Blood Moon", "Calm Mind", "Earth Power", "Moonlight"], "teraTypes": ["Ghost", "Normal", "Poison"] + }, + { + "role": "Bulky Setup", + "movepool": ["Blood Moon", "Calm Mind", "Moonlight", "Vacuum Wave"], + "teraTypes": ["Fighting", "Ghost", "Normal", "Poison"] } ] }, @@ -4144,18 +5454,18 @@ "sets": [ { "role": "Tera Blast user", - "movepool": ["Play Rough", "Superpower", "Taunt", "Tera Blast"], - "teraTypes": ["Flying"] + "movepool": ["Moonblast", "Play Rough", "Superpower", "Tera Blast"], + "teraTypes": ["Stellar"] }, { "role": "Fast Bulky Setup", - "movepool": ["Calm Mind", "Earth Power", "Moonblast", "Substitute"], + "movepool": ["Calm Mind", "Earth Power", "Moonblast", "Mystical Fire", "Substitute"], "teraTypes": ["Ground"] } ] }, "enamorustherian": { - "level": 84, + "level": 83, "sets": [ { "role": "Bulky Attacker", @@ -4174,7 +5484,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Flower Trick", "Knock Off", "Play Rough", "Toxic Spikes", "U-turn"], + "movepool": ["Flower Trick", "Knock Off", "Toxic Spikes", "Triple Axel", "U-turn"], "teraTypes": ["Dark", "Grass"] } ] @@ -4185,12 +5495,12 @@ { "role": "Bulky Attacker", "movepool": ["Flame Charge", "Shadow Ball", "Slack Off", "Torch Song"], - "teraTypes": ["Fire", "Water"] + "teraTypes": ["Fairy", "Water"] }, { "role": "Bulky Support", "movepool": ["Hex", "Slack Off", "Torch Song", "Will-O-Wisp"], - "teraTypes": ["Ghost", "Water"] + "teraTypes": ["Fairy", "Ghost", "Water"] } ] }, @@ -4199,12 +5509,12 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Aqua Step", "Close Combat", "Knock Off", "Rapid Spin", "Roost", "U-turn"], + "movepool": ["Aqua Step", "Close Combat", "Knock Off", "Rapid Spin", "Roost", "Triple Axel", "U-turn"], "teraTypes": ["Fighting", "Water"] }, { "role": "Setup Sweeper", - "movepool": ["Aqua Step", "Close Combat", "Ice Spinner", "Knock Off", "Roost", "Swords Dance"], + "movepool": ["Aqua Step", "Close Combat", "Knock Off", "Roost", "Swords Dance", "Triple Axel"], "teraTypes": ["Fighting", "Water"] } ] @@ -4214,8 +5524,8 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["Body Press", "Body Slam", "Stuff Cheeks", "Thief"], - "teraTypes": ["Fighting"] + "movepool": ["Body Slam", "Curse", "Double-Edge", "High Horsepower", "Lash Out"], + "teraTypes": ["Ground"] } ] }, @@ -4224,8 +5534,8 @@ "sets": [ { "role": "Bulky Setup", - "movepool": ["Body Press", "Body Slam", "Stuff Cheeks", "Thief"], - "teraTypes": ["Fighting"] + "movepool": ["Body Slam", "Curse", "Double-Edge", "High Horsepower", "Lash Out"], + "teraTypes": ["Ground"] } ] }, @@ -4244,8 +5554,8 @@ "sets": [ { "role": "Wallbreaker", - "movepool": ["Axe Kick", "First Impression", "Leech Life", "Sucker Punch"], - "teraTypes": ["Bug", "Fighting"] + "movepool": ["First Impression", "Knock Off", "Leech Life", "Sucker Punch"], + "teraTypes": ["Bug"] }, { "role": "Fast Attacker", @@ -4264,13 +5574,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Close Combat", "Double Shock", "Ice Punch", "Revival Blessing", "Volt Switch"], + "movepool": ["Close Combat", "Double Shock", "Ice Punch", "Knock Off", "Nuzzle", "Revival Blessing"], "teraTypes": ["Electric"] - }, - { - "role": "Fast Support", - "movepool": ["Close Combat", "Ice Punch", "Knock Off", "Nuzzle", "Revival Blessing", "Thunder Punch"], - "teraTypes": ["Fighting"] } ] }, @@ -4280,22 +5585,12 @@ { "role": "Setup Sweeper", "movepool": ["Bite", "Encore", "Population Bomb", "Tidy Up"], - "teraTypes": ["Normal"] - } - ] - }, - "mausholdfour": { - "level": 76, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Bite", "Encore", "Population Bomb", "Tidy Up"], - "teraTypes": ["Normal"] + "teraTypes": ["Ghost", "Normal"] } ] }, "dachsbun": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Support", @@ -4305,7 +5600,7 @@ ] }, "arboliva": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Attacker", @@ -4315,12 +5610,12 @@ { "role": "Bulky Support", "movepool": ["Hyper Voice", "Leech Seed", "Protect", "Substitute"], - "teraTypes": ["Water"] + "teraTypes": ["Poison", "Water"] } ] }, "squawkabilly": { - "level": 86, + "level": 85, "sets": [ { "role": "Wallbreaker", @@ -4330,7 +5625,7 @@ ] }, "squawkabillywhite": { - "level": 90, + "level": 89, "sets": [ { "role": "Wallbreaker", @@ -4340,7 +5635,7 @@ ] }, "squawkabillyblue": { - "level": 86, + "level": 85, "sets": [ { "role": "Wallbreaker", @@ -4350,7 +5645,7 @@ ] }, "squawkabillyyellow": { - "level": 90, + "level": 89, "sets": [ { "role": "Wallbreaker", @@ -4360,21 +5655,21 @@ ] }, "garganacl": { - "level": 81, + "level": 80, "sets": [ - { - "role": "Bulky Setup", - "movepool": ["Body Press", "Curse", "Earthquake", "Recover", "Stone Edge"], - "teraTypes": ["Dragon", "Fairy"] - }, { "role": "Bulky Attacker", - "movepool": ["Earthquake", "Protect", "Recover", "Salt Cure"], + "movepool": ["Earthquake", "Protect", "Recover", "Salt Cure", "Stealth Rock"], "teraTypes": ["Dragon", "Ghost"] }, { "role": "Bulky Support", - "movepool": ["Body Press", "Iron Defense", "Recover", "Salt Cure", "Stealth Rock"], + "movepool": ["Body Press", "Protect", "Recover", "Salt Cure", "Stealth Rock"], + "teraTypes": ["Dragon", "Ghost"] + }, + { + "role": "Bulky Setup", + "movepool": ["Body Press", "Iron Defense", "Recover", "Salt Cure"], "teraTypes": ["Dragon", "Ghost"] } ] @@ -4388,9 +5683,9 @@ "teraTypes": ["Fighting", "Fire", "Grass", "Psychic"] }, { - "role": "Bulky Setup", - "movepool": ["Armor Cannon", "Aura Sphere", "Calm Mind", "Energy Ball", "Psyshock"], - "teraTypes": ["Fighting", "Fire", "Grass"] + "role": "Setup Sweeper", + "movepool": ["Armor Cannon", "Energy Ball", "Meteor Beam", "Psyshock"], + "teraTypes": ["Fire", "Grass"] } ] }, @@ -4425,11 +5720,11 @@ ] }, "mabosstiff": { - "level": 85, + "level": 86, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Crunch", "Fire Fang", "Play Rough", "Psychic Fangs", "Wild Charge"], + "movepool": ["Crunch", "Play Rough", "Psychic Fangs", "Retaliate", "Wild Charge"], "teraTypes": ["Dark", "Fairy"] } ] @@ -4446,6 +5741,11 @@ "role": "Fast Support", "movepool": ["Encore", "Gunk Shot", "Knock Off", "Parting Shot"], "teraTypes": ["Dark"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Gunk Shot", "Knock Off", "Low Kick", "Swords Dance"], + "teraTypes": ["Dark"] } ] }, @@ -4454,12 +5754,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Poltergeist", "Power Whip", "Rapid Spin", "Spikes", "Strength Sap"], - "teraTypes": ["Fairy", "Steel", "Water"] - }, - { - "role": "Bulky Support", - "movepool": ["Leech Seed", "Poltergeist", "Power Whip", "Substitute"], + "movepool": ["Leech Seed", "Poltergeist", "Power Whip", "Rapid Spin", "Spikes", "Strength Sap", "Substitute"], "teraTypes": ["Fairy", "Steel", "Water"] } ] @@ -4468,7 +5763,7 @@ "level": 87, "sets": [ { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["Earth Power", "Giga Drain", "Knock Off", "Leaf Storm", "Rapid Spin", "Spore", "Toxic"], "teraTypes": ["Water"] } @@ -4495,7 +5790,7 @@ { "role": "Bulky Attacker", "movepool": ["Flamethrower", "Leech Seed", "Protect", "Substitute"], - "teraTypes": ["Steel", "Water"] + "teraTypes": ["Steel"] }, { "role": "Fast Attacker", @@ -4510,7 +5805,7 @@ ] }, "rabsca": { - "level": 90, + "level": 91, "sets": [ { "role": "Bulky Support", @@ -4531,11 +5826,6 @@ "role": "Fast Bulky Setup", "movepool": ["Calm Mind", "Dazzling Gleam", "Protect", "Roost", "Stored Power", "Substitute"], "teraTypes": ["Fairy"] - }, - { - "role": "Tera Blast user", - "movepool": ["Dazzling Gleam", "Lumina Crash", "Roost", "Tera Blast"], - "teraTypes": ["Fighting", "Fire"] } ] }, @@ -4559,8 +5849,8 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Aqua Jet", "Liquidation", "Memento", "Stomping Tantrum", "Sucker Punch", "Throat Chop"], - "teraTypes": ["Dark", "Water"] + "movepool": ["Aqua Jet", "Liquidation", "Stomping Tantrum", "Throat Chop"], + "teraTypes": ["Dark", "Ground", "Water"] } ] }, @@ -4569,8 +5859,13 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Brave Bird", "Hone Claws", "Knock Off", "Stone Edge", "Sucker Punch", "U-turn"], + "movepool": ["Brave Bird", "Knock Off", "Roost", "Stone Edge", "Sucker Punch", "U-turn"], "teraTypes": ["Rock"] + }, + { + "role": "Bulky Support", + "movepool": ["Brave Bird", "Knock Off", "Roost", "Stealth Rock", "Sucker Punch", "U-turn"], + "teraTypes": ["Dark", "Steel"] } ] }, @@ -4585,7 +5880,7 @@ ] }, "revavroom": { - "level": 81, + "level": 79, "sets": [ { "role": "Fast Attacker", @@ -4600,7 +5895,7 @@ { "role": "Fast Support", "movepool": ["Draco Meteor", "Knock Off", "Rapid Spin", "Shed Tail", "Taunt"], - "teraTypes": ["Dragon", "Ghost", "Steel"] + "teraTypes": ["Dragon", "Fairy", "Ghost", "Steel"] } ] }, @@ -4615,7 +5910,7 @@ { "role": "Bulky Support", "movepool": ["Body Press", "Iron Head", "Rest", "Shed Tail", "Spikes", "Stealth Rock"], - "teraTypes": ["Electric", "Poison"] + "teraTypes": ["Electric", "Ghost", "Poison"] } ] }, @@ -4624,7 +5919,7 @@ "sets": [ { "role": "Fast Support", - "movepool": ["Earth Power", "Energy Ball", "Mortal Spin", "Power Gem", "Sludge Wave", "Spikes", "Stealth Rock", "Toxic"], + "movepool": ["Earth Power", "Mortal Spin", "Power Gem", "Sludge Wave", "Spikes", "Stealth Rock"], "teraTypes": ["Ground"] } ] @@ -4650,11 +5945,16 @@ ] }, "flamigo": { - "level": 83, + "level": 82, "sets": [ { "role": "Fast Attacker", - "movepool": ["Brave Bird", "Close Combat", "Swords Dance", "Throat Chop", "U-turn"], + "movepool": ["Brave Bird", "Close Combat", "Throat Chop", "U-turn"], + "teraTypes": ["Fighting"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Brave Bird", "Close Combat", "Roost", "Swords Dance", "Throat Chop"], "teraTypes": ["Fighting"] } ] @@ -4669,7 +5969,7 @@ }, { "role": "Bulky Setup", - "movepool": ["Belly Drum", "Earthquake", "Ice Shard", "Icicle Crash"], + "movepool": ["Belly Drum", "Earthquake", "Ice Shard", "Ice Spinner"], "teraTypes": ["Ice"] } ] @@ -4714,8 +6014,8 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Foul Play", "Hyper Voice", "Protect", "Wish"], - "teraTypes": ["Dark"] + "movepool": ["Body Slam", "Protect", "Psychic Noise", "Wish"], + "teraTypes": ["Fairy", "Ground", "Water"] }, { "role": "Bulky Attacker", @@ -4728,28 +6028,18 @@ "level": 82, "sets": [ { - "role": "Bulky Attacker", + "role": "Bulky Support", "movepool": ["Earthquake", "Glare", "Headbutt", "Roost"], "teraTypes": ["Ghost", "Ground"] }, - { - "role": "Bulky Support", - "movepool": ["Boomburst", "Calm Mind", "Earth Power", "Roost", "Shadow Ball"], - "teraTypes": ["Ghost"] - } - ] - }, - "dudunsparcethreesegment": { - "level": 82, - "sets": [ { "role": "Bulky Attacker", - "movepool": ["Earthquake", "Glare", "Headbutt", "Roost"], - "teraTypes": ["Ghost", "Ground"] + "movepool": ["Boomburst", "Calm Mind", "Earth Power", "Roost"], + "teraTypes": ["Ghost"] }, { - "role": "Bulky Support", - "movepool": ["Boomburst", "Calm Mind", "Earth Power", "Roost", "Shadow Ball"], + "role": "Bulky Setup", + "movepool": ["Boomburst", "Calm Mind", "Roost", "Shadow Ball"], "teraTypes": ["Ghost"] } ] @@ -4767,14 +6057,19 @@ "greattusk": { "level": 77, "sets": [ + { + "role": "Fast Bulky Setup", + "movepool": ["Bulk Up", "Close Combat", "Earthquake", "Rapid Spin", "Stone Edge"], + "teraTypes": ["Ground", "Steel"] + }, { "role": "Bulky Setup", - "movepool": ["Bulk Up", "Close Combat", "Earthquake", "Ice Spinner", "Rapid Spin"], + "movepool": ["Bulk Up", "Close Combat", "Earthquake", "Rapid Spin", "Stone Edge"], "teraTypes": ["Ground", "Steel"] }, { "role": "Bulky Support", - "movepool": ["Close Combat", "Headlong Rush", "Ice Spinner", "Knock Off", "Rapid Spin", "Stealth Rock"], + "movepool": ["Close Combat", "Headlong Rush", "Ice Spinner", "Knock Off", "Rapid Spin", "Stealth Rock", "Stone Edge"], "teraTypes": ["Ground", "Steel"] } ] @@ -4806,6 +6101,11 @@ "role": "Bulky Support", "movepool": ["Encore", "Play Rough", "Protect", "Thunder Wave", "Wish"], "teraTypes": ["Poison", "Steel"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Dazzling Gleam", "Encore", "Protect", "Thunder Wave", "Wish"], + "teraTypes": ["Poison", "Steel"] } ] }, @@ -4820,17 +6120,17 @@ ] }, "slitherwing": { - "level": 82, + "level": 81, "sets": [ { - "role": "Bulky Setup", + "role": "Fast Bulky Setup", "movepool": ["Bulk Up", "Close Combat", "Earthquake", "Flame Charge", "Leech Life", "Wild Charge"], "teraTypes": ["Electric", "Fighting"] }, { "role": "Fast Attacker", "movepool": ["Close Combat", "Earthquake", "First Impression", "Flare Blitz", "U-turn", "Wild Charge"], - "teraTypes": ["Bug", "Electric", "Fighting"] + "teraTypes": ["Bug", "Electric", "Fighting", "Fire"] } ] }, @@ -4840,7 +6140,12 @@ { "role": "Setup Sweeper", "movepool": ["Dragon Dance", "Earthquake", "Iron Head", "Knock Off", "Outrage", "Roost"], - "teraTypes": ["Dark", "Dragon", "Ground", "Steel"] + "teraTypes": ["Dark", "Dragon", "Ground", "Poison", "Steel"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Acrobatics", "Dragon Dance", "Iron Head", "Knock Off", "Outrage"], + "teraTypes": ["Flying", "Steel"] }, { "role": "Bulky Attacker", @@ -4879,7 +6184,7 @@ "sets": [ { "role": "Fast Attacker", - "movepool": ["Discharge", "Energy Ball", "Fiery Dance", "Fire Blast", "Sludge Wave", "U-turn"], + "movepool": ["Energy Ball", "Fiery Dance", "Fire Blast", "Sludge Wave", "U-turn"], "teraTypes": ["Fire", "Grass"] }, { @@ -4899,7 +6204,7 @@ }, { "role": "Bulky Attacker", - "movepool": ["Close Combat", "Drain Punch", "Ice Punch", "Swords Dance", "Thunder Punch", "Wild Charge"], + "movepool": ["Drain Punch", "Ice Punch", "Swords Dance", "Thunder Punch", "Wild Charge"], "teraTypes": ["Fighting", "Flying", "Steel"] } ] @@ -4923,14 +6228,14 @@ "teraTypes": ["Grass", "Water"] }, { - "role": "Bulky Setup", + "role": "Fast Bulky Setup", "movepool": ["Dragon Dance", "Earthquake", "Ice Punch", "Stone Edge", "Wild Charge"], "teraTypes": ["Grass", "Ground", "Rock"] } ] }, "ironbundle": { - "level": 76, + "level": 77, "sets": [ { "role": "Fast Attacker", @@ -4950,21 +6255,16 @@ { "role": "Fast Attacker", "movepool": ["Calm Mind", "Close Combat", "Moonblast", "Psychic"], - "teraTypes": ["Fairy", "Fighting"] + "teraTypes": ["Fairy", "Fighting", "Steel"] } ] }, "ironleaves": { "level": 80, "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Close Combat", "Leaf Blade", "Psyblade", "Swords Dance"], - "teraTypes": ["Fighting"] - }, { "role": "Wallbreaker", - "movepool": ["Close Combat", "Leaf Blade", "Megahorn", "Psyblade"], + "movepool": ["Close Combat", "Leaf Blade", "Megahorn", "Psyblade", "Swords Dance"], "teraTypes": ["Fighting"] } ] @@ -5009,13 +6309,13 @@ "sets": [ { "role": "Bulky Support", - "movepool": ["Earthquake", "Ruination", "Spikes", "Stealth Rock", "Throat Chop", "Whirlwind"], + "movepool": ["Earthquake", "Spikes", "Stealth Rock", "Throat Chop", "Whirlwind"], "teraTypes": ["Ghost", "Ground", "Poison"] }, { - "role": "AV Pivot", - "movepool": ["Body Press", "Earthquake", "Heavy Slam", "Ruination", "Stone Edge", "Throat Chop"], - "teraTypes": ["Fighting", "Ground", "Poison", "Steel"] + "role": "Bulky Attacker", + "movepool": ["Earthquake", "Heavy Slam", "Ruination", "Spikes", "Stealth Rock", "Throat Chop"], + "teraTypes": ["Ghost", "Poison", "Steel"] } ] }, @@ -5023,8 +6323,13 @@ "level": 72, "sets": [ { - "role": "Fast Attacker", - "movepool": ["Crunch", "Ice Shard", "Ice Spinner", "Sacred Sword", "Sucker Punch", "Swords Dance"], + "role": "Wallbreaker", + "movepool": ["Crunch", "Ice Shard", "Icicle Crash", "Sacred Sword", "Throat Chop"], + "teraTypes": ["Dark", "Fighting", "Ice"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Ice Shard", "Icicle Crash", "Sacred Sword", "Sucker Punch", "Swords Dance", "Throat Chop"], "teraTypes": ["Dark", "Fighting", "Ice"] } ] @@ -5055,7 +6360,7 @@ ] }, "koraidon": { - "level": 65, + "level": 64, "sets": [ { "role": "Fast Attacker", @@ -5085,16 +6390,11 @@ ] }, "dipplin": { - "level": 87, + "level": 88, "sets": [ { "role": "Bulky Attacker", - "movepool": ["Draco Meteor", "Dragon Tail", "Giga Drain", "Recover", "Sucker Punch"], - "teraTypes": ["Steel"] - }, - { - "role": "Bulky Setup", - "movepool": ["Dragon Pulse", "Giga Drain", "Growth", "Recover"], + "movepool": ["Dragon Pulse", "Dragon Tail", "Giga Drain", "Recover", "Sucker Punch"], "teraTypes": ["Steel"] } ] @@ -5129,13 +6429,13 @@ }, { "role": "AV Pivot", - "movepool": ["Fake Out", "Psychic", "Psyshock", "Sludge Wave", "U-turn"], + "movepool": ["Fake Out", "Psychic Noise", "Sludge Wave", "U-turn"], "teraTypes": ["Dark"] } ] }, "fezandipiti": { - "level": 81, + "level": 82, "sets": [ { "role": "AV Pivot", @@ -5144,7 +6444,7 @@ }, { "role": "Bulky Attacker", - "movepool": ["Beat Up", "Double Kick", "Gunk Shot", "Play Rough", "Roost", "U-turn"], + "movepool": ["Beat Up", "Gunk Shot", "Play Rough", "Roost", "U-turn"], "teraTypes": ["Dark", "Steel", "Water"] }, { @@ -5170,7 +6470,7 @@ ] }, "ogerponwellspring": { - "level": 77, + "level": 76, "sets": [ { "role": "Bulky Attacker", @@ -5185,7 +6485,7 @@ ] }, "ogerponhearthflame": { - "level": 76, + "level": 74, "sets": [ { "role": "Setup Sweeper", @@ -5208,5 +6508,130 @@ "teraTypes": ["Rock"] } ] + }, + "archaludon": { + "level": 78, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Earthquake", "Iron Head", "Outrage", "Swords Dance"], + "teraTypes": ["Ground"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Body Press", "Draco Meteor", "Dragon Tail", "Flash Cannon", "Stealth Rock", "Thunder Wave", "Thunderbolt"], + "teraTypes": ["Fighting"] + }, + { + "role": "Fast Attacker", + "movepool": ["Aura Sphere", "Draco Meteor", "Flash Cannon", "Thunderbolt"], + "teraTypes": ["Dragon", "Electric", "Fighting"] + } + ] + }, + "hydrapple": { + "level": 83, + "sets": [ + { + "role": "AV Pivot", + "movepool": ["Dragon Tail", "Earth Power", "Fickle Beam", "Leaf Storm"], + "teraTypes": ["Steel"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Earth Power", "Fickle Beam", "Giga Drain", "Nasty Plot", "Recover"], + "teraTypes": ["Steel"] + }, + { + "role": "Wallbreaker", + "movepool": ["Draco Meteor", "Earth Power", "Fickle Beam", "Leaf Storm"], + "teraTypes": ["Dragon"] + } + ] + }, + "gougingfire": { + "level": 74, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Heat Crash", "Outrage"], + "teraTypes": ["Ground"] + }, + { + "role": "Bulky Setup", + "movepool": ["Dragon Dance", "Heat Crash", "Morning Sun", "Outrage"], + "teraTypes": ["Fairy"] + } + ] + }, + "ragingbolt": { + "level": 78, + "sets": [ + { + "role": "AV Pivot", + "movepool": ["Draco Meteor", "Thunderbolt", "Thunderclap", "Volt Switch"], + "teraTypes": ["Electric"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Dragon Pulse", "Thunderbolt", "Thunderclap"], + "teraTypes": ["Electric", "Fairy"] + } + ] + }, + "ironboulder": { + "level": 77, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Close Combat", "Mighty Cleave", "Swords Dance", "Zen Headbutt"], + "teraTypes": ["Fighting"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Close Combat", "Mighty Cleave", "Swords Dance", "Zen Headbutt"], + "teraTypes": ["Fighting"] + } + ] + }, + "ironcrown": { + "level": 79, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Calm Mind", "Focus Blast", "Psyshock", "Tachyon Cutter", "Volt Switch"], + "teraTypes": ["Fighting", "Steel"] + }, + { + "role": "AV Pivot", + "movepool": ["Focus Blast", "Future Sight", "Psychic Noise", "Psyshock", "Tachyon Cutter", "Volt Switch"], + "teraTypes": ["Steel"] + } + ] + }, + "terapagos": { + "level": 76, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Calm Mind", "Dark Pulse", "Rapid Spin", "Rest", "Tera Starstorm"], + "teraTypes": ["Stellar"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Calm Mind", "Earth Power", "Rapid Spin", "Rest", "Tera Starstorm"], + "teraTypes": ["Stellar"] + } + ] + }, + "pecharunt": { + "level": 77, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Malignant Chain", "Nasty Plot", "Parting Shot", "Recover", "Shadow Ball"], + "teraTypes": ["Dark"] + } + ] } } diff --git a/data/random-teams.ts b/data/random-battles/gen9/teams.ts similarity index 82% rename from data/random-teams.ts rename to data/random-battles/gen9/teams.ts index d02af127d9eb..460f5d360031 100644 --- a/data/random-teams.ts +++ b/data/random-battles/gen9/teams.ts @@ -1,8 +1,8 @@ -import {Dex, toID} from '../sim/dex'; -import {Utils} from '../lib'; -import {PRNG, PRNGSeed} from '../sim/prng'; -import {RuleTable} from '../sim/dex-formats'; -import {Tags} from './tags'; +import {Dex, toID} from '../../../sim/dex'; +import {Utils} from '../../../lib'; +import {PRNG, PRNGSeed} from '../../../sim/prng'; +import {RuleTable} from '../../../sim/dex-formats'; +import {Tags} from './../../tags'; export interface TeamData { typeCount: {[k: string]: number}; @@ -74,23 +74,24 @@ const MIXED_SETUP = [ ]; // Some moves that only boost Speed: const SPEED_SETUP = [ - 'agility', 'autotomize', 'rockpolish', + 'agility', 'autotomize', 'flamecharge', 'rockpolish', 'trailblaze', ]; // Conglomerate for ease of access const SETUP = [ - 'acidarmor', 'agility', 'autotomize', 'bellydrum', 'bulkup', 'calmmind', 'clangoroussoul', 'coil', 'curse', 'dragondance', - 'flamecharge', 'growth', 'honeclaws', 'howl', 'irondefense', 'meditate', 'nastyplot', 'noretreat', 'poweruppunch', 'quiverdance', - 'rockpolish', 'shellsmash', 'shiftgear', 'swordsdance', 'tailglow', 'tidyup', 'trailblaze', 'workup', 'victorydance', + 'acidarmor', 'agility', 'autotomize', 'bellydrum', 'bulkup', 'calmmind', 'clangoroussoul', 'coil', 'cosmicpower', 'curse', + 'dragondance', 'flamecharge', 'growth', 'honeclaws', 'howl', 'irondefense', 'meditate', 'nastyplot', 'noretreat', 'poweruppunch', + 'quiverdance', 'rockpolish', 'shellsmash', 'shiftgear', 'swordsdance', 'tailglow', 'tidyup', 'trailblaze', 'workup', 'victorydance', ]; const SPEED_CONTROL = [ - 'electroweb', 'glare', 'icywind', 'lowsweep', 'quash', 'rocktomb', 'stringshot', 'tailwind', 'thunderwave', 'trickroom', + 'electroweb', 'glare', 'icywind', 'lowsweep', 'quash', 'stringshot', 'tailwind', 'thunderwave', 'trickroom', ]; // Moves that shouldn't be the only STAB moves: const NO_STAB = [ - 'accelerock', 'aquajet', 'beakblast', 'bounce', 'breakingswipe', 'bulletpunch', 'chatter', 'chloroblast', 'clearsmog', 'covet', - 'dragontail', 'electroweb', 'eruption', 'explosion', 'fakeout', 'feint', 'flamecharge', 'flipturn', 'grassyglide', 'iceshard', 'icywind', - 'incinerate', 'machpunch', 'meteorbeam', 'mortalspin', 'nuzzle', 'pluck', 'pursuit', 'quickattack', 'rapidspin', 'reversal', 'selfdestruct', - 'shadowsneak', 'skydrop', 'snarl', 'strugglebug', 'suckerpunch', 'uturn', 'watershuriken', 'vacuumwave', 'voltswitch', 'waterspout', + 'accelerock', 'aquajet', 'bounce', 'breakingswipe', 'bulletpunch', 'chatter', 'chloroblast', 'clearsmog', 'covet', + 'dragontail', 'doomdesire', 'electroweb', 'eruption', 'explosion', 'fakeout', 'feint', 'flamecharge', 'flipturn', 'futuresight', + 'grassyglide', 'iceshard', 'icywind', 'incinerate', 'infestation', 'machpunch', 'meteorbeam', 'mortalspin', 'nuzzle', 'pluck', 'pursuit', + 'quickattack', 'rapidspin', 'reversal', 'selfdestruct', 'shadowsneak', 'skydrop', 'snarl', 'strugglebug', 'suckerpunch', 'uturn', + 'vacuumwave', 'voltswitch', 'watershuriken', 'waterspout', ]; // Hazard-setting moves const HAZARDS = [ @@ -98,7 +99,7 @@ const HAZARDS = [ ]; // Protect and its variants const PROTECT_MOVES = [ - 'banefulbunker', 'protect', 'spikyshield', + 'banefulbunker', 'burningbulwark', 'protect', 'silktrap', 'spikyshield', ]; // Moves that switch the user out const PIVOT_MOVES = [ @@ -111,21 +112,26 @@ const MOVE_PAIRS = [ ['sleeptalk', 'rest'], ['protect', 'wish'], ['leechseed', 'protect'], + ['leechseed', 'substitute'], ]; /** Pokemon who always want priority STAB, and are fine with it as its only STAB move of that type */ const PRIORITY_POKEMON = [ - 'breloom', 'brutebonnet', 'honchkrow', 'mimikyu', 'scizor', + 'breloom', 'brutebonnet', 'honchkrow', 'mimikyu', 'ragingbolt', 'scizor', ]; /** Pokemon who should never be in the lead slot */ const NO_LEAD_POKEMON = [ - 'Rillaboom', 'Zacian', 'Zamazenta', + 'Zacian', 'Zamazenta', ]; const DOUBLES_NO_LEAD_POKEMON = [ 'Basculegion', 'Houndstone', 'Roaring Moon', 'Zacian', 'Zamazenta', ]; +const DEFENSIVE_TERA_BLAST_USERS = [ + 'alcremie', 'bellossom', 'comfey', 'florges', +]; + function sereneGraceBenefits(move: Move) { return move.secondary?.chance && move.secondary.chance > 20 && move.secondary.chance < 100; } @@ -141,6 +147,7 @@ export class RandomTeams { readonly adjustLevel: number | null; readonly maxMoveCount: number; readonly forceMonotype: string | undefined; + readonly forceTeraType: string | undefined; /** * Checkers for move enforcement based on types or other factors @@ -162,13 +169,19 @@ export class RandomTeams { const forceMonotype = ruleTable.valueRules.get('forcemonotype'); this.forceMonotype = forceMonotype && this.dex.types.get(forceMonotype).exists ? this.dex.types.get(forceMonotype).name : undefined; + const forceTeraType = ruleTable.valueRules.get('forceteratype'); + this.forceTeraType = forceTeraType && this.dex.types.get(forceTeraType).exists ? + this.dex.types.get(forceTeraType).name : undefined; this.factoryTier = ''; this.format = format; this.prng = prng && !Array.isArray(prng) ? prng : new PRNG(prng); this.moveEnforcementCheckers = { - Bug: (movePool) => (movePool.includes('megahorn') || movePool.includes('xscissor')), + Bug: (movePool, moves, abilities, types, counter) => ( + movePool.includes('megahorn') || movePool.includes('xscissor') || + (!counter.get('Bug') && types.includes('Electric')) + ), Dark: (movePool, moves, abilities, types, counter) => !counter.get('Dark'), Dragon: (movePool, moves, abilities, types, counter) => !counter.get('Dragon'), Electric: (movePool, moves, abilities, types, counter) => !counter.get('Electric'), @@ -184,21 +197,24 @@ export class RandomTeams { ) ), Ground: (movePool, moves, abilities, types, counter) => !counter.get('Ground'), - Ice: (movePool, moves, abilities, types, counter) => (movePool.includes('freezedry') || !counter.get('Ice')), + Ice: (movePool, moves, abilities, types, counter) => ( + movePool.includes('freezedry') || movePool.includes('blizzard') || !counter.get('Ice') + ), Normal: (movePool, moves, types, counter) => (movePool.includes('boomburst') || movePool.includes('hypervoice')), Poison: (movePool, moves, abilities, types, counter) => { if (types.includes('Ground')) return false; return !counter.get('Poison'); }, - Psychic: (movePool, moves, abilities, types, counter) => { + Psychic: (movePool, moves, abilities, types, counter, species, teamDetails, isLead, isDoubles) => { if (counter.get('Psychic')) return false; - if (movePool.includes('calmmind') || movePool.includes('psychicfangs')) return true; - return abilities.has('Psychic Surge') || ['Electric', 'Fighting', 'Fire', 'Poison'].some(m => types.includes(m)); + if (movePool.includes('calmmind') || abilities.has('Strong Jaw')) return true; + if (isDoubles && movePool.includes('psychicfangs')) return true; + return abilities.has('Psychic Surge') || ['Electric', 'Fighting', 'Fire', 'Grass', 'Poison'].some(m => types.includes(m)); }, Rock: (movePool, moves, abilities, types, counter, species) => !counter.get('Rock') && species.baseStats.atk >= 80, Steel: (movePool, moves, abilities, types, counter, species, teamDetails, isLead, isDoubles) => ( !counter.get('Steel') && - (isDoubles || species.baseStats.atk > 95 || movePool.includes('gigatonhammer') || movePool.includes('makeitrain')) + (isDoubles || species.baseStats.atk >= 90 || movePool.includes('gigatonhammer') || movePool.includes('makeitrain')) ), Water: (movePool, moves, abilities, types, counter) => (!counter.get('Water') && !types.includes('Ground')), }; @@ -467,7 +483,7 @@ export class RandomTeams { if (movePool.includes('rapidspin')) this.fastPop(movePool, movePool.indexOf('rapidspin')); if (moves.size + movePool.length <= this.maxMoveCount) return; } - if (teamDetails.toxicSpikes && teamDetails.toxicSpikes >= 2) { + if (teamDetails.toxicSpikes) { if (movePool.includes('toxicspikes')) this.fastPop(movePool, movePool.indexOf('toxicspikes')); if (moves.size + movePool.length <= this.maxMoveCount) return; } @@ -490,13 +506,13 @@ export class RandomTeams { [RECOVERY_MOVES, 'healpulse'], ['lifedew', 'healpulse'], ['haze', 'icywind'], - [['muddywater', 'hydropump'], 'scald'], + [['hydropump', 'muddywater'], ['muddywater', 'scald']], ['disable', 'encore'], ['freezedry', 'icebeam'], - ['bodyslam', 'doubleedge'], ['energyball', 'leafstorm'], + ['wildcharge', 'thunderbolt'], ['earthpower', 'sandsearstorm'], - ['boomburst', 'hyperdrill'], + ['coaching', ['helpinghand', 'howl']], ]; for (const pair of doublesIncompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); @@ -510,16 +526,16 @@ export class RandomTeams { [statusMoves, ['healingwish', 'switcheroo', 'trick']], [SETUP, PIVOT_MOVES], [SETUP, HAZARDS], - [SETUP, ['defog', 'nuzzle', 'toxic', 'waterspout', 'yawn', 'haze']], + [SETUP, ['defog', 'nuzzle', 'toxic', 'yawn', 'haze']], [PHYSICAL_SETUP, PHYSICAL_SETUP], [SPECIAL_SETUP, 'thunderwave'], ['substitute', PIVOT_MOVES], [SPEED_SETUP, ['aquajet', 'rest', 'trickroom']], - ['curse', 'rapidspin'], + ['curse', ['irondefense', 'rapidspin']], ['dragondance', 'dracometeor'], // These attacks are redundant with each other - ['psychic', 'psyshock'], + [['psychic', 'psychicnoise'], ['psyshock', 'psychicnoise']], ['surf', 'hydropump'], ['liquidation', 'wavecrash'], ['aquajet', 'flipturn'], @@ -527,7 +543,8 @@ export class RandomTeams { ['powerwhip', 'hornleech'], [['airslash', 'bravebird', 'hurricane'], ['airslash', 'bravebird', 'hurricane']], ['knockoff', 'foulplay'], - ['doubleedge', 'headbutt'], + ['throatchop', ['crunch', 'lashout']], + ['doubleedge', ['bodyslam', 'headbutt']], ['fireblast', ['fierydance', 'flamethrower']], ['lavaplume', 'magmastorm'], ['thunderpunch', 'wildcharge'], @@ -535,14 +552,13 @@ export class RandomTeams { ['aurasphere', 'focusblast'], ['closecombat', 'drainpunch'], ['bugbite', 'pounce'], - ['bittermalice', 'shadowball'], [['dragonpulse', 'spacialrend'], 'dracometeor'], + ['alluringvoice', 'dazzlinggleam'], // These status moves are redundant with each other ['taunt', 'disable'], - ['toxic', ['willowisp', 'thunderwave']], + [['thunderwave', 'toxic'], ['thunderwave', 'willowisp']], [['thunderwave', 'toxic', 'willowisp'], 'toxicspikes'], - ['thunderwave', 'yawn'], // This space reserved for assorted hardcodes that otherwise make little sense out of context // Landorus and Thundurus @@ -559,6 +575,10 @@ export class RandomTeams { ['healbell', 'stealthrock'], // Azelf and Zoroarks ['trick', 'uturn'], + // Araquanid + ['mirrorcoat', 'hydropump'], + // Brute Bonnet + ['bulletseed', 'seedbomb'], ]; for (const pair of incompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); @@ -569,14 +589,13 @@ export class RandomTeams { if (!types.includes('Dark') && teraType !== 'Dark') this.incompatibleMoves(moves, movePool, 'knockoff', 'suckerpunch'); + if (!abilities.has('Prankster')) this.incompatibleMoves(moves, movePool, 'thunderwave', 'yawn'); + // This space reserved for assorted hardcodes that otherwise make little sense out of context - if (species.id === 'luvdisc') { - this.incompatibleMoves(moves, movePool, ['charm', 'flipturn', 'icebeam'], ['charm', 'flipturn']); - } - if (species.id === "dugtrio") this.incompatibleMoves(moves, movePool, statusMoves, 'memento'); - if (species.id === "cyclizar") this.incompatibleMoves(moves, movePool, 'taunt', 'knockoff'); - if (species.baseSpecies === 'Dudunsparce') this.incompatibleMoves(moves, movePool, 'earthpower', 'shadowball'); + if (species.id === 'cyclizar') this.incompatibleMoves(moves, movePool, 'taunt', 'knockoff'); if (species.id === 'mesprit') this.incompatibleMoves(moves, movePool, 'healingwish', 'uturn'); + if (species.id === 'camerupt') this.incompatibleMoves(moves, movePool, 'roar', 'willowisp'); + if (species.id === 'coalossal') this.incompatibleMoves(moves, movePool, 'flamethrower', 'overheat'); } // Checks for and removes incompatible moves, starting with the first move in movesA. @@ -707,28 +726,12 @@ export class RandomTeams { movePool, teraType, role); } - // Enforce Sticky Web - if (movePool.includes('stickyweb')) { - counter = this.addMove('stickyweb', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - - // Enforce Revelation Dance - if (movePool.includes('revelationdance')) { - counter = this.addMove('revelationdance', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - - // Enforce Revival Blessing - if (movePool.includes('revivalblessing')) { - counter = this.addMove('revivalblessing', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - - // Enforce Salt Cure - if (movePool.includes('saltcure')) { - counter = this.addMove('saltcure', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); + // Enforce Night Shade, Revelation Dance, Revival Blessing, and Sticky Web + for (const moveid of ['nightshade', 'revelationdance', 'revivalblessing', 'stickyweb']) { + if (movePool.includes(moveid)) { + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } } // Enforce Trick Room on Doubles Wallbreaker @@ -749,6 +752,30 @@ export class RandomTeams { } } + // Enforce Knock Off on pure Normal- and Fighting-types in singles + if (!isDoubles && types.length === 1 && (types.includes('Normal') || types.includes('Fighting'))) { + if (movePool.includes('knockoff')) { + counter = this.addMove('knockoff', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce Flip Turn on pure Water-type Wallbreakers + if (types.length === 1 && types.includes('Water') && role === 'Wallbreaker') { + if (movePool.includes('flipturn')) { + counter = this.addMove('flipturn', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce Spore on Smeargle + if (species.id === 'smeargle') { + if (movePool.includes('spore')) { + counter = this.addMove('spore', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + // Enforce moves in doubles if (isDoubles) { const doublesEnforcedMoves = ['auroraveil', 'mortalspin', 'spore']; @@ -880,16 +907,11 @@ export class RandomTeams { } } - // Enforce redirecting moves, or Fake Out if no redirecting move + // Enforce redirecting moves and Fake Out on Doubles Support if (role === 'Doubles Support') { - const redirectMoves = movePool.filter(moveid => ['followme', 'ragepowder'].includes(moveid)); - if (redirectMoves.length) { - const moveid = this.sample(redirectMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } else { - if (movePool.includes('fakeout')) { - counter = this.addMove('fakeout', moves, types, abilities, teamDetails, species, isLead, isDoubles, + for (const moveid of ['fakeout', 'followme', 'ragepowder']) { + if (movePool.includes(moveid)) { + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, movePool, teraType, role); } } @@ -985,8 +1007,8 @@ export class RandomTeams { ): boolean { if ([ 'Armor Tail', 'Battle Bond', 'Early Bird', 'Flare Boost', 'Galvanize', 'Gluttony', 'Harvest', 'Hydration', 'Ice Body', 'Immunity', - 'Misty Surge', 'Moody', 'Own Tempo', 'Pressure', 'Quick Feet', 'Rain Dish', 'Sand Veil', 'Sniper', 'Snow Cloak', 'Steadfast', - 'Steam Engine', + 'Liquid Voice', 'Marvel Scale', 'Misty Surge', 'Moody', 'Pressure', 'Quick Feet', 'Rain Dish', 'Sand Veil', 'Shed Skin', + 'Sniper', 'Snow Cloak', 'Steadfast', 'Steam Engine', 'Sweet Veil', ].includes(ability)) return true; switch (ability) { @@ -998,7 +1020,7 @@ export class RandomTeams { case 'Cloud Nine': return (species.id !== 'golduck'); case 'Competitive': - return (species.id === 'kilowattrel' && !isDoubles); + return species.id === 'kilowattrel'; case 'Compound Eyes': case 'No Guard': return !counter.get('inaccurate'); case 'Cursed Body': @@ -1016,37 +1038,38 @@ export class RandomTeams { return (!moves.has('facade') && !moves.has('sleeptalk')); case 'Hustle': // some of this is just for Delibird in singles/doubles - return (counter.get('Physical') < 2 || moves.has('fakeout') || moves.has('rapidspin')); - case 'Infiltrator': - return (isDoubles && abilities.has('Clear Body')); + return (!counter.get('Physical') || moves.has('fakeout') || moves.has('rapidspin')); case 'Insomnia': return (role === 'Wallbreaker'); case 'Intimidate': if (abilities.has('Hustle')) return true; if (abilities.has('Sheer Force') && !!counter.get('sheerforce')) return true; + if (species.id === 'hitmontop' && moves.has('tripleaxel')) return true; return (abilities.has('Stakeout')); case 'Iron Fist': - return !counter.ironFist; + return !counter.ironFist || moves.has('dynamicpunch'); case 'Justified': return !counter.get('Physical'); case 'Libero': case 'Protean': return role === 'Offensive Protect' || (species.id === 'meowscarada' && role === 'Fast Attacker'); - case 'Marvel Scale': - return isDoubles; + case 'Lightning Rod': + return species.id === 'rhyperior'; case 'Mold Breaker': - return (abilities.has('Sharpness') || abilities.has('Unburden')); + return (['Sharpness', 'Sheer Force', 'Unburden'].some(m => abilities.has(m))); case 'Moxie': return (!counter.get('Physical') || moves.has('stealthrock')); case 'Natural Cure': return species.id === 'pawmot'; case 'Neutralizing Gas': - return (!isDoubles && species.id === 'weezing'); - case 'Overcoat': case 'Sweet Veil': + return !isDoubles; + case 'Overcoat': return types.includes('Grass'); case 'Overgrow': return !counter.get('Grass'); + case 'Own Tempo': + return (!isDoubles || (counter.get('Special')) > 1); case 'Prankster': - return !counter.get('Status'); + return (!counter.get('Status') || (species.id === 'grafaiai' && role === 'Setup Sweeper')); case 'Reckless': return !counter.get('recoil'); case 'Regenerator': @@ -1059,12 +1082,11 @@ export class RandomTeams { return species.id === 'wyrdeer'; case 'Seed Sower': return role === 'Bulky Support'; - case 'Shed Skin': - return species.id === 'seviper' || species.id === 'arbok'; case 'Sheer Force': const braviaryCase = (species.id === 'braviaryhisui' && (role === 'Wallbreaker' || role === 'Bulky Protect')); const abilitiesCase = (abilities.has('Guts') || abilities.has('Sharpness')); - return (!counter.get('sheerforce') || moves.has('bellydrum') || braviaryCase || abilitiesCase); + const movesCase = (moves.has('bellydrum') || moves.has('flamecharge')); + return (!counter.get('sheerforce') || braviaryCase || abilitiesCase || movesCase); case 'Slush Rush': return !teamDetails.snow; case 'Solar Power': @@ -1074,11 +1096,14 @@ export class RandomTeams { case 'Sticky Hold': return (species.id === 'muk'); case 'Sturdy': - return !!counter.get('recoil'); + return (!!counter.get('recoil') && species.id !== 'skarmory'); case 'Swarm': return (!counter.get('Bug') || !!counter.get('recovery')); case 'Swift Swim': - return (!moves.has('raindance') && !teamDetails.rain); + return ( + abilities.has('Intimidate') || (!moves.has('raindance') && !teamDetails.rain) || + (species.id === 'drednaw' && moves.has('crunch')) + ); case 'Synchronize': return (species.id !== 'umbreon' && species.id !== 'rabsca'); case 'Technician': @@ -1090,12 +1115,15 @@ export class RandomTeams { case 'Unaware': return (species.id === 'clefable' && role !== 'Bulky Support'); case 'Unburden': - return (abilities.has('Prankster') || !counter.get('setup')); + return (abilities.has('Prankster') || !counter.get('setup') || species.id === 'sceptile'); + case 'Vital Spirit': + // Magmar and Electabuzz want their contact status abilities in Doubles + return (species.nfe && isDoubles); case 'Volt Absorb': if (abilities.has('Iron Fist') && counter.ironFist >= 2) return true; return (this.dex.getEffectiveness('Electric', species) < -1); case 'Water Absorb': - return (species.id === 'politoed' || species.id === 'quagsire' || moves.has('raindance')); + return (['lanturn', 'politoed', 'quagsire'].includes(species.id) || moves.has('raindance')); case 'Weak Armor': return (moves.has('shellsmash') && species.id !== 'magcargo'); } @@ -1122,24 +1150,35 @@ export class RandomTeams { if (abilityData.length <= 1) return abilityData[0].name; // Hard-code abilities here - if (species.id === 'arcaninehisui') return 'Rock Head'; + if (species.id === 'florges') return 'Flower Veil'; + if (species.id === 'bombirdier' && !counter.get('Rock')) return 'Big Pecks'; if (species.id === 'scovillain') return 'Chlorophyll'; if (species.id === 'empoleon') return 'Competitive'; + if (species.id === 'swampert' && !counter.get('Water') && !moves.has('flipturn')) return 'Damp'; + if (species.id === 'thundurus' && (role === 'Offensive Protect' || moves.has('terablast'))) return 'Defiant'; + if (species.id === 'dodrio') return 'Early Bird'; if (species.id === 'chandelure') return 'Flash Fire'; if (species.id === 'golemalola' && moves.has('doubleedge')) return 'Galvanize'; if (abilities.has('Guts') && (moves.has('facade') || moves.has('sleeptalk') || species.id === 'gurdurr')) return 'Guts'; if (species.id === 'copperajah' && moves.has('heavyslam')) return 'Heavy Metal'; - if (species.id === 'ariados') return 'Insomnia'; + if (species.id === 'jumpluff') return 'Infiltrator'; + if (species.id === 'toucannon' && !counter.get('skilllink')) return 'Keen Eye'; + if (species.id === 'reuniclus') return 'Magic Guard'; + if (species.id === 'smeargle' && !counter.get('technician')) return 'Own Tempo'; + if (species.id === 'zebstrika') return moves.has('thunderbolt') ? 'Lightning Rod' : 'Sap Sipper'; + if (species.id === 'sandaconda' || (species.id === 'scrafty' && moves.has('rest'))) return 'Shed Skin'; if (species.id === 'cetitan' && (role === 'Wallbreaker' || isDoubles)) return 'Sheer Force'; + if (species.id === 'charizard' && moves.has('sunnyday')) return 'Solar Power'; if (species.id === 'dipplin') return 'Sticky Hold'; - if (species.id === 'breloom') return 'Technician'; + if (species.id === 'breloom' || species.id === 'cinccino') return 'Technician'; if (species.id === 'shiftry' && moves.has('tailwind')) return 'Wind Rider'; // singles if (!isDoubles) { if (species.id === 'hypno') return 'Insomnia'; if (species.id === 'staraptor') return 'Reckless'; - if (species.id === 'vespiquen') return 'Pressure'; + if (species.id === 'arcaninehisui') return 'Rock Head'; + if (['raikou', 'suicune', 'vespiquen'].includes(species.id)) return 'Pressure'; if (species.id === 'enamorus' && moves.has('calmmind')) return 'Cute Charm'; if (species.id === 'klawf' && role === 'Setup Sweeper') return 'Anger Shell'; if (abilities.has('Cud Chew') && moves.has('substitute')) return 'Cud Chew'; @@ -1147,43 +1186,44 @@ export class RandomTeams { if (abilities.has('Serene Grace') && moves.has('headbutt')) return 'Serene Grace'; if (abilities.has('Own Tempo') && moves.has('petaldance')) return 'Own Tempo'; if (abilities.has('Slush Rush') && moves.has('snowscape')) return 'Slush Rush'; - if (abilities.has('Soundproof') && (moves.has('substitute') || moves.has('clangoroussoul'))) return 'Soundproof'; + if (abilities.has('Soundproof') && (moves.has('substitute') || counter.get('setup'))) return 'Soundproof'; } // doubles, multi, and ffa if (isDoubles) { + if (species.id === 'gumshoos' || species.id === 'porygonz') return 'Adaptability'; if (species.id === 'farigiraf') return 'Armor Tail'; - if (species.id === 'dragapult') return 'Clear Body'; + if (['carbink', 'dragapult', 'regirock', 'tentacruel'].includes(species.id)) return 'Clear Body'; if (species.id === 'altaria') return 'Cloud Nine'; - if (species.id === 'armarouge') return 'Flash Fire'; + if (species.id === 'kilowattrel' || species.id === 'meowsticf') return 'Competitive'; + if (species.id === 'armarouge' && !moves.has('meteorbeam')) return 'Flash Fire'; if (species.id === 'talonflame') return 'Gale Wings'; if ( ['oinkologne', 'oinkolognef', 'snorlax', 'swalot'].includes(species.id) && role !== 'Doubles Wallbreaker' ) return 'Gluttony'; if (species.id === 'conkeldurr' && role === 'Doubles Wallbreaker') return 'Guts'; - if (species.id === 'tropius' || species.id === 'trevenant') return 'Harvest'; + if (species.id !== 'arboliva' && abilities.has('Harvest')) return 'Harvest'; if (species.id === 'dragonite' || species.id === 'lucario') return 'Inner Focus'; - if (species.id === 'kommoo') return this.sample(['Overcoat', 'Soundproof']); - if (species.id === 'barraskewda') return 'Propeller Tail'; - if (species.id === 'flapple' || (species.id === 'appletun' && this.randomChance(1, 2))) return 'Ripen'; - if (species.id === 'ribombee') return 'Shield Dust'; - if (species.id === 'gumshoos') return 'Strong Jaw'; + if (species.id === 'primarina') return 'Liquid Voice'; + if (species.id === 'kommoo') return 'Soundproof'; + if ( + (species.id === 'flapple' && role === 'Doubles Bulky Attacker') || + (species.id === 'appletun' && this.randomChance(1, 2)) + ) return 'Ripen'; if (species.id === 'magnezone') return 'Sturdy'; if (species.id === 'clefable' && role === 'Doubles Support') return 'Unaware'; - if (species.id === 'drifblim') return 'Unburden'; + if (['drifblim', 'hitmonlee', 'sceptile'].includes(species.id) && !moves.has('shedtail')) return 'Unburden'; if (abilities.has('Intimidate')) return 'Intimidate'; if (this.randomChance(1, 2) && species.id === 'kingambit') return 'Defiant'; // just doubles and multi if (this.format.gameType !== 'freeforall') { - if (species.id === 'florges') return 'Flower Veil'; - if ( - species.id === 'clefairy' || - (species.baseSpecies === 'Maushold' && role === 'Doubles Support') - ) return 'Friend Guard'; + if (species.id === 'clefairy') return 'Friend Guard'; if (species.id === 'blissey') return 'Healer'; if (species.id === 'sinistcha') return 'Hospitality'; + if (species.id === 'duraludon') return 'Stalwart'; + if (species.id === 'barraskewda') return 'Propeller Tail'; if (species.id === 'oranguru' || abilities.has('Pressure') && abilities.has('Telepathy')) return 'Telepathy'; if (this.randomChance(1, 2) && species.id === 'mukalola') return 'Power of Alchemy'; @@ -1248,13 +1288,9 @@ export class RandomTeams { role: RandomTeamsTypes.Role, ) { if (!isDoubles) { - if ( - !isLead && role === 'Bulky Setup' && - (ability === 'Quark Drive' || ability === 'Protosynthesis') - ) { + if (role === 'Fast Bulky Setup' && (ability === 'Quark Drive' || ability === 'Protosynthesis')) { return 'Booster Energy'; } - if (species.id === 'pincurchin') return 'Shuca Berry'; if (species.id === 'lokix') { return (role === 'Fast Attacker') ? 'Silver Powder' : 'Life Orb'; } @@ -1269,16 +1305,30 @@ export class RandomTeams { if (role === 'AV Pivot') return 'Assault Vest'; if (species.id === 'pikachu') return 'Light Ball'; if (species.id === 'regieleki') return 'Magnet'; + if (species.id === 'smeargle') return 'Focus Sash'; + if ( + species.id === 'froslass' || moves.has('populationbomb') || + (ability === 'Hustle' && counter.get('setup') && !isDoubles && this.randomChance(1, 2)) + ) return 'Wide Lens'; if (moves.has('clangoroussoul') || (species.id === 'toxtricity' && moves.has('shiftgear'))) return 'Throat Spray'; - if (species.baseSpecies === 'Magearna' && role === 'Tera Blast user') return 'Weakness Policy'; - if (moves.has('lastrespects') || moves.has('dragonenergy')) return 'Choice Scarf'; + if ( + (species.baseSpecies === 'Magearna' && role === 'Tera Blast user') || + species.id === 'necrozmaduskmane' || (species.id === 'calyrexice' && isDoubles) + ) return 'Weakness Policy'; + if (['dragonenergy', 'lastrespects', 'waterspout'].some(m => moves.has(m))) return 'Choice Scarf'; if ( ability === 'Imposter' || (species.id === 'magnezone' && moves.has('bodypress') && !isDoubles) ) return 'Choice Scarf'; + if (species.id === 'rampardos' && (role === 'Fast Attacker' || isDoubles)) return 'Choice Scarf'; + if (species.id === 'palkia' && counter.get('Special') < 4) return 'Lustrous Orb'; + if ( + moves.has('courtchange') || + !isDoubles && (species.id === 'luvdisc' || (species.id === 'terapagos' && !moves.has('rest'))) + ) return 'Heavy-Duty Boots'; if (moves.has('bellydrum') && moves.has('substitute')) return 'Salac Berry'; if ( - ['Cheek Pouch', 'Cud Chew', 'Harvest'].some(m => ability === m) || + ['Cheek Pouch', 'Cud Chew', 'Harvest', 'Ripen'].some(m => ability === m) || moves.has('bellydrum') || moves.has('filletaway') ) { return 'Sitrus Berry'; @@ -1293,21 +1343,23 @@ export class RandomTeams { return (counter.get('Physical') > counter.get('Special')) ? 'Choice Band' : 'Choice Specs'; } } + if (counter.get('Status') && (species.name === 'Latias' || species.name === 'Latios')) return 'Soul Dew'; if (species.id === 'scyther' && !isDoubles) return (isLead && !moves.has('uturn')) ? 'Eviolite' : 'Heavy-Duty Boots'; - if (species.nfe || species.id === 'dipplin') return 'Eviolite'; + if (species.nfe) return 'Eviolite'; if (ability === 'Poison Heal') return 'Toxic Orb'; if ((ability === 'Guts' || moves.has('facade')) && !moves.has('sleeptalk')) { return (types.includes('Fire') || ability === 'Toxic Boost') ? 'Toxic Orb' : 'Flame Orb'; } - if (ability === 'Sheer Force' && counter.get('sheerforce')) return 'Life Orb'; + if (species.id === 'reuniclus' || (ability === 'Sheer Force' && counter.get('sheerforce'))) return 'Life Orb'; if (ability === 'Anger Shell') return this.sample(['Rindo Berry', 'Passho Berry', 'Scope Lens', 'Sitrus Berry']); - if (moves.has('courtchange')) return 'Heavy-Duty Boots'; - if (moves.has('populationbomb')) return 'Wide Lens'; - if (moves.has('scaleshot') && role !== 'Choice Item user') return 'Loaded Dice'; - if (moves.has('stuffcheeks')) return this.randomChance(1, 2) ? 'Liechi Berry' : 'Salac Berry'; - if (ability === 'Unburden') return moves.has('closecombat') ? 'White Herb' : 'Sitrus Berry'; + if (moves.has('dragondance') && isDoubles) return 'Clear Amulet'; + if (counter.get('skilllink') && ability !== 'Skill Link' && species.id !== 'breloom') return 'Loaded Dice'; + if (ability === 'Unburden') { + return (moves.has('closecombat') || moves.has('leafstorm')) ? 'White Herb' : 'Sitrus Berry'; + } if (moves.has('shellsmash') && ability !== 'Weak Armor') return 'White Herb'; - if (moves.has('acrobatics') && ability !== 'Protosynthesis') return ability === 'Grassy Surge' ? 'Grassy Seed' : ''; + if (moves.has('meteorbeam') || (moves.has('electroshot') && !teamDetails.rain)) return 'Power Herb'; + if (moves.has('acrobatics') && ability !== 'Protosynthesis') return ''; if (moves.has('auroraveil') || moves.has('lightscreen') && moves.has('reflect')) return 'Light Clay'; if (ability === 'Gluttony') return `${this.sample(['Aguav', 'Figy', 'Iapapa', 'Mago', 'Wiki'])} Berry`; if ( @@ -1343,17 +1395,20 @@ export class RandomTeams { ['Doubles Fast Attacker', 'Doubles Wallbreaker', 'Doubles Setup Sweeper', 'Offensive Protect'].some(m => role === m) ); - if (species.id === 'ursalunabloodmoon') return 'Silk Scarf'; - if (moves.has('covet')) return 'Normal Gem'; - if (species.id === 'calyrexice') return 'Weakness Policy'; - if (moves.has('waterspout')) return 'Choice Scarf'; + if (species.id === 'ursalunabloodmoon' || (moves.has('doubleedge') && moves.has('fakeout'))) return 'Silk Scarf'; + if ( + moves.has('flipturn') && moves.has('protect') && (moves.has('aquajet') || (moves.has('jetpunch'))) + ) return 'Mystic Water'; + if (counter.get('speedsetup') && role === 'Doubles Bulky Setup') return 'Weakness Policy'; + if (species.id === 'toxapex') return 'Binding Band'; + if (moves.has('blizzard') && ability !== 'Snow Warning' && !teamDetails.snow) return 'Blunder Policy'; + if (role === 'Choice Item user') { if (scarfReqs || (counter.get('Physical') < 4 && counter.get('Special') < 3 && !moves.has('memento'))) { return 'Choice Scarf'; } return (counter.get('Physical') >= 3) ? 'Choice Band' : 'Choice Specs'; } - if (moves.has('blizzard') && ability !== 'Snow Warning' && !teamDetails.snow) return 'Blunder Policy'; if (counter.get('Physical') >= 4 && ['fakeout', 'feint', 'firstimpression', 'rapidspin', 'suckerpunch'].every(m => !moves.has(m)) && (moves.has('flipturn') || moves.has('uturn') || role === 'Doubles Wallbreaker') @@ -1363,20 +1418,20 @@ export class RandomTeams { if ( ((counter.get('Special') >= 4 && (moves.has('voltswitch') || role === 'Doubles Wallbreaker')) || ( counter.get('Special') >= 3 && (moves.has('uturn') || moves.has('flipturn')) - )) && !moves.has('acidspray') && !moves.has('electroweb') + )) && !moves.has('electroweb') ) { return (scarfReqs) ? 'Choice Scarf' : 'Choice Specs'; } if ( - (role === 'Bulky Protect' && counter.get('setup')) || moves.has('substitute') || - species.id === 'eternatus' || species.id === 'toxapex' + (role === 'Bulky Protect' && counter.get('setup')) || moves.has('substitute') || moves.has('irondefense') || + species.id === 'eternatus' || species.id === 'regigigas' ) return 'Leftovers'; if (species.id === 'sylveon') return 'Pixie Plate'; if ( - (offensiveRole || (role === 'Tera Blast user' && species.baseStats.spe >= 80 && !moves.has('trickroom'))) && + (offensiveRole || (role === 'Tera Blast user' && (species.baseStats.spe >= 80 || moves.has('trickroom')))) && (!moves.has('fakeout') || species.id === 'ambipom') && !moves.has('incinerate') && (!moves.has('uturn') || types.includes('Bug') || species.baseStats.atk >= 120 || ability === 'Libero') && - (!moves.has('icywind') || species.id === 'ironbundle') + ((!moves.has('icywind') && !moves.has('electroweb')) || species.id === 'ironbundle') ) { return ( (ability === 'Quark Drive' || ability === 'Protosynthesis') && @@ -1394,7 +1449,6 @@ export class RandomTeams { return (this.dex.getEffectiveness('Rock', species) >= 1) ? 'Heavy-Duty Boots' : 'Clear Amulet'; } if (!counter.get('Status')) return 'Assault Vest'; - if (species.id === 'pawmot') return 'Leppa Berry'; return 'Sitrus Berry'; } @@ -1411,9 +1465,8 @@ export class RandomTeams { ): string { if (types.includes('Normal') && moves.has('fakeout')) return 'Silk Scarf'; if ( - species.id !== 'jirachi' && (counter.get('Physical') >= 4 || - (counter.get('Physical') >= 3 && moves.has('memento'))) && - ['fakeout', 'firstimpression', 'flamecharge', 'rapidspin', 'ruination', 'superfang'].every(m => !moves.has(m)) + species.id !== 'jirachi' && (counter.get('Physical') >= 4) && + ['dragontail', 'fakeout', 'firstimpression', 'flamecharge', 'rapidspin'].every(m => !moves.has(m)) ) { const scarfReqs = ( role !== 'Wallbreaker' && @@ -1425,32 +1478,27 @@ export class RandomTeams { } if ( (counter.get('Special') >= 4) || - (counter.get('Special') >= 3 && ['flipturn', 'partingshot', 'uturn'].some(m => moves.has(m))) + (counter.get('Special') >= 3 && ['flipturn', 'uturn'].some(m => moves.has(m))) ) { const scarfReqs = ( role !== 'Wallbreaker' && species.baseStats.spa >= 100 && species.baseStats.spe >= 60 && species.baseStats.spe <= 108 && - ability !== 'Speed Boost' && ability !== 'Tinted Lens' && !counter.get('Physical') + ability !== 'Speed Boost' && ability !== 'Tinted Lens' && !moves.has('uturn') && !counter.get('priority') ); return (scarfReqs && this.randomChance(1, 2)) ? 'Choice Scarf' : 'Choice Specs'; } + if (counter.get('speedsetup') && role === 'Bulky Setup') return 'Weakness Policy'; if ( !counter.get('Status') && - (moves.has('rapidspin') || !['Fast Attacker', 'Wallbreaker', 'Tera Blast user'].includes(role)) + !['Fast Attacker', 'Wallbreaker', 'Tera Blast user'].includes(role) ) { return 'Assault Vest'; } - if (counter.get('speedsetup') && role === 'Bulky Setup') return 'Weakness Policy'; - if (species.id === 'golem') return 'Custap Berry'; - if (species.id === 'urshifurapidstrike') return 'Punching Glove'; - if (species.id === 'palkia') return 'Lustrous Orb'; - if (moves.has('substitute') || ability === 'Moody') return 'Leftovers'; - if (moves.has('stickyweb') && isLead) return 'Focus Sash'; - if ( - ((!teamDetails.defog && !teamDetails.rapidSpin) || (!counter.get('setup') && role !== 'Wallbreaker')) && - this.dex.getEffectiveness('Rock', species) >= 1 - ) return 'Heavy-Duty Boots'; + if (species.id === 'golem') return (counter.get('speedsetup')) ? 'Weakness Policy' : 'Custap Berry'; + if (moves.has('substitute')) return 'Leftovers'; + if (moves.has('stickyweb') && species.id !== 'araquanid' && isLead) return 'Focus Sash'; + if (this.dex.getEffectiveness('Rock', species) >= 1) return 'Heavy-Duty Boots'; if ( (moves.has('chillyreception') || ( role === 'Fast Support' && @@ -1464,33 +1512,30 @@ export class RandomTeams { (species.id === 'garchomp' && role === 'Fast Support') || ( ability === 'Regenerator' && (role === 'Bulky Support' || role === 'Bulky Attacker') && (species.baseStats.hp + species.baseStats.def) >= 180 && this.randomChance(1, 2) + ) || ( + ability !== 'Regenerator' && !counter.get('setup') && counter.get('recovery') && + this.dex.getEffectiveness('Fighting', species) < 1 && + (species.baseStats.hp + species.baseStats.def) > 200 && this.randomChance(1, 2) ) ) return 'Rocky Helmet'; - if (moves.has('outrage')) return 'Lum Berry'; + if (moves.has('outrage') && this.randomChance(1, 2)) return 'Lum Berry'; + if (moves.has('protect') && ability !== 'Speed Boost') return 'Leftovers'; if ( role === 'Fast Support' && isLead && - !counter.get('recovery') && !counter.get('recoil') && !moves.has('protect') && + !counter.get('recovery') && !counter.get('recoil') && (species.baseStats.hp + species.baseStats.def + species.baseStats.spd) < 258 ) return 'Focus Sash'; if ( - !['Fast Attacker', 'Wallbreaker', 'Tera Blast user'].includes(role) && ability !== 'Levitate' && - this.dex.getEffectiveness('Ground', species) >= 2 + !counter.get('setup') && ability !== 'Levitate' && this.dex.getEffectiveness('Ground', species) >= 2 ) return 'Air Balloon'; if (['Bulky Attacker', 'Bulky Support', 'Bulky Setup'].some(m => role === (m))) return 'Leftovers'; if (species.id === 'pawmot' && moves.has('nuzzle')) return 'Leppa Berry'; - if ( - ['Fast Bulky Setup', 'Fast Attacker', 'Setup Sweeper', 'Wallbreaker'].some(m => role === m) && - types.includes('Dark') && moves.has('suckerpunch') && !PRIORITY_POKEMON.includes(species.id) && - counter.get('physicalsetup') && counter.get('Dark') - ) return 'Black Glasses'; if (role === 'Fast Support' || role === 'Fast Bulky Setup') { return (counter.get('Physical') + counter.get('Special') >= 3 && !moves.has('nuzzle')) ? 'Life Orb' : 'Leftovers'; } + if (role === 'Tera Blast user' && DEFENSIVE_TERA_BLAST_USERS.includes(species.id)) return 'Leftovers'; if ( - role === 'Tera Blast user' && species.baseSpecies === 'Florges' - ) return 'Leftovers'; - if ( - ['flamecharge', 'rapidspin'].every(m => !moves.has(m)) && + ['flamecharge', 'rapidspin', 'trailblaze'].every(m => !moves.has(m)) && ['Fast Attacker', 'Setup Sweeper', 'Tera Blast user', 'Wallbreaker'].some(m => role === (m)) ) return 'Life Orb'; return 'Leftovers'; @@ -1521,6 +1566,26 @@ export class RandomTeams { return tierScale[tier] || 80; } + getForme(species: Species): string { + if (typeof species.battleOnly === 'string') { + // Only change the forme. The species has custom moves, and may have different typing and requirements. + return species.battleOnly; + } + if (species.cosmeticFormes) return this.sample([species.name].concat(species.cosmeticFormes)); + + // Consolidate mostly-cosmetic formes, at least for the purposes of Random Battles + if (['Dudunsparce', 'Magearna', 'Maushold', 'Polteageist', 'Sinistcha', 'Zarude'].includes(species.baseSpecies)) { + return this.sample([species.name].concat(species.otherFormes!)); + } + if (species.baseSpecies === 'Basculin') return 'Basculin' + this.sample(['', '-Blue-Striped']); + if (species.baseSpecies === 'Pikachu') { + return 'Pikachu' + this.sample( + ['', '-Original', '-Hoenn', '-Sinnoh', '-Unova', '-Kalos', '-Alola', '-Partner', '-World'] + ); + } + return species.name; + } + randomSet( s: string | Species, teamDetails: RandomTeamsTypes.TeamDetails = {}, @@ -1528,21 +1593,18 @@ export class RandomTeams { isDoubles = false ): RandomTeamsTypes.RandomSet { const species = this.dex.species.get(s); - let forme = species.name; - - if (typeof species.battleOnly === 'string') { - // Only change the forme. The species has custom moves, and may have different typing and requirements. - forme = species.battleOnly; - } - if (species.cosmeticFormes) { - forme = this.sample([species.name].concat(species.cosmeticFormes)); - } + const forme = this.getForme(species); const sets = (this as any)[`random${isDoubles ? 'Doubles' : ''}Sets`][species.id]["sets"]; const possibleSets = []; const ruleTable = this.dex.formats.getRuleTable(this.format); for (const set of sets) { + // Prevent Fast Bulky Setup on lead Paradox Pokemon, since it generates Booster Energy. + const abilities = new Set(Object.values(species.abilities)); + if (isLead && (abilities.has('Protosynthesis') || abilities.has('Quark Drive')) && set.role === 'Fast Bulky Setup') { + continue; + } // Prevent Tera Blast user if the team already has one, or if Terastallizion is prevented. if ((teamDetails.teraBlast || ruleTable.has('terastalclause')) && set.role === 'Tera Blast user') { continue; @@ -1556,7 +1618,7 @@ export class RandomTeams { movePool.push(this.dex.moves.get(movename).id); } const teraTypes = set.teraTypes; - const teraType = this.sampleIfArray(teraTypes); + let teraType = this.sampleIfArray(teraTypes); let ability = ''; let item = undefined; @@ -1586,10 +1648,6 @@ export class RandomTeams { } } - if (species.baseSpecies === 'Pikachu') { - forme = 'Pikachu' + this.sample(['', '-Original', '-Hoenn', '-Sinnoh', '-Unova', '-Kalos', '-Alola', '-Partner', '-World']); - } - // Get level const level = this.getLevel(species, isDoubles); @@ -1606,6 +1664,9 @@ export class RandomTeams { } else if ((moves.has('bellydrum') || moves.has('filletaway')) && (item === 'Sitrus Berry' || ability === 'Gluttony')) { // Belly Drum should activate Sitrus Berry if (hp % 2 === 0) break; + } else if (moves.has('substitute') && moves.has('endeavor')) { + // Luvdisc should be able to Substitute down to very low HP + if (hp % 4 > 0) break; } else { // Maximize number of Stealth Rock switch-ins if (srWeakness <= 0 || ability === 'Regenerator' || ['Leftovers', 'Life Orb'].includes(item)) break; @@ -1622,8 +1683,8 @@ export class RandomTeams { if (move.damageCallback || move.damage) return true; if (move.id === 'shellsidearm') return false; // Magearna and doubles Dragonite, though these can work well as a general rule - if ( - move.id === 'terablast' && (moves.has('shiftgear') || species.baseStats.atk > species.baseStats.spa) + if (move.id === 'terablast' && ( + species.id === 'porygon2' || moves.has('shiftgear') || species.baseStats.atk > species.baseStats.spa) ) return false; return move.category !== 'Physical' || move.id === 'bodypress' || move.id === 'foulplay'; }); @@ -1637,13 +1698,16 @@ export class RandomTeams { ivs.spe = 0; } + // Enforce Tera Type after all set generation is done to prevent infinite generation + if (this.forceTeraType) teraType = this.forceTeraType; + // shuffle moves to add more randomness to camomons const shuffledMoves = Array.from(moves); this.prng.shuffle(shuffledMoves); return { name: species.baseSpecies, species: forme, - gender: species.gender, + gender: species.baseSpecies === 'Greninja' ? 'M' : species.gender, shiny: this.randomChance(1, 1024), level, moves: shuffledMoves, @@ -1661,11 +1725,10 @@ export class RandomTeams { pokemonToExclude: RandomTeamsTypes.RandomSet[] = [], isMonotype = false, pokemonList: string[] - ) { + ): [{[k: string]: string[]}, string[]] { const exclude = pokemonToExclude.map(p => toID(p.species)); - const pokemonPool = []; + const pokemonPool: {[k: string]: string[]} = {}; const baseSpeciesPool = []; - const baseSpeciesCount: {[k: string]: number} = {}; for (const pokemon of pokemonList) { let species = this.dex.species.get(pokemon); if (exclude.includes(species.id)) continue; @@ -1676,22 +1739,24 @@ export class RandomTeams { if (!species.types.includes(type)) continue; } } - pokemonPool.push(pokemon); - baseSpeciesCount[species.baseSpecies] = (baseSpeciesCount[species.baseSpecies] || 0) + 1; + + if (species.baseSpecies in pokemonPool) { + pokemonPool[species.baseSpecies].push(pokemon); + } else { + pokemonPool[species.baseSpecies] = [pokemon]; + } } // Include base species 1x if 1-3 formes, 2x if 4-6 formes, 3x if 7+ formes - for (const baseSpecies of Object.keys(baseSpeciesCount)) { - for (let i = 0; i < Math.min(Math.ceil(baseSpeciesCount[baseSpecies] / 3), 3); i++) { - baseSpeciesPool.push(baseSpecies); - // Squawkabilly has 4 formes, but only 2 functionally different formes, so only include it 1x - if (baseSpecies === 'Squawkabilly') break; - } + for (const baseSpecies of Object.keys(pokemonPool)) { + // Squawkabilly has 4 formes, but only 2 functionally different formes, so only include it 1x + const weight = (baseSpecies === 'Squawkabilly') ? 1 : Math.min(Math.ceil(pokemonPool[baseSpecies].length / 3), 3); + for (let i = 0; i < weight; i++) baseSpeciesPool.push(baseSpecies); } return [pokemonPool, baseSpeciesPool]; } - randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./random-sets.json'); - randomDoublesSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./random-doubles-sets.json'); + randomSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./sets.json'); + randomDoublesSets: {[species: string]: RandomTeamsTypes.RandomSpeciesData} = require('./doubles-sets.json'); randomTeam() { this.enforceNoDirectCustomBanlistChanges(); @@ -1703,7 +1768,7 @@ export class RandomTeams { // For Monotype const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause'); const isDoubles = this.format.gameType !== 'singles'; - const typePool = this.dex.types.names(); + const typePool = this.dex.types.names().filter(name => name !== "Stellar"); const type = this.forceMonotype || this.sample(typePool); // PotD stuff @@ -1715,7 +1780,9 @@ export class RandomTeams { const typeCount: {[k: string]: number} = {}; const typeComboCount: {[k: string]: number} = {}; const typeWeaknesses: {[k: string]: number} = {}; + const typeDoubleWeaknesses: {[k: string]: number} = {}; const teamDetails: RandomTeamsTypes.TeamDetails = {}; + let numMaxLevelPokemon = 0; const pokemonList = isDoubles ? Object.keys(this.randomDoublesSets) : Object.keys(this.randomSets); const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); @@ -1723,25 +1790,24 @@ export class RandomTeams { let leadsRemaining = this.format.gameType === 'doubles' ? 2 : 1; while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { const baseSpecies = this.sampleNoReplace(baseSpeciesPool); - const currentSpeciesPool: Species[] = []; - for (const poke of pokemonPool) { - const species = this.dex.species.get(poke); - if (species.baseSpecies === baseSpecies) currentSpeciesPool.push(species); - } - let species = this.sample(currentSpeciesPool); + let species = this.dex.species.get(this.sample(pokemonPool[baseSpecies])); if (!species.exists) continue; // Limit to one of each species (Species Clause) if (baseFormes[species.baseSpecies]) continue; - // Treat Ogerpon formes like the Tera Blast user role; reject if team has one already - if (species.baseSpecies === 'Ogerpon' && teamDetails.teraBlast) continue; + // Treat Ogerpon formes and Terapagos like the Tera Blast user role; reject if team has one already + if ((species.baseSpecies === 'Ogerpon' || species.baseSpecies === 'Terapagos') && teamDetails.teraBlast) continue; // Illusion shouldn't be on the last slot if (species.baseSpecies === 'Zoroark' && pokemon.length >= (this.maxTeamSize - 1)) continue; const types = species.types; const typeCombo = types.slice().sort().join(); + const weakToFreezeDry = ( + this.dex.getEffectiveness('Ice', species) > 0 || + (this.dex.getEffectiveness('Ice', species) > -2 && types.includes('Water')) + ); // Dynamically scale limits for different team sizes. The default and minimum value is 1. const limitFactor = Math.round(this.maxTeamSize / 6) || 1; @@ -1757,7 +1823,7 @@ export class RandomTeams { } if (skip) continue; - // Limit three weak to any type + // Limit three weak to any type, and one double weak to any type for (const typeName of this.dex.types.names()) { // it's weak to the type if (this.dex.getEffectiveness(typeName, species) > 0) { @@ -1767,12 +1833,30 @@ export class RandomTeams { break; } } + if (this.dex.getEffectiveness(typeName, species) > 1) { + if (!typeDoubleWeaknesses[typeName]) typeDoubleWeaknesses[typeName] = 0; + if (typeDoubleWeaknesses[typeName] >= 1 * limitFactor) { + skip = true; + break; + } + } } if (skip) continue; + + // Limit four weak to Freeze-Dry + if (weakToFreezeDry) { + if (!typeWeaknesses['Freeze-Dry']) typeWeaknesses['Freeze-Dry'] = 0; + if (typeWeaknesses['Freeze-Dry'] >= 4 * limitFactor) continue; + } + + // Limit one level 100 Pokemon + if (!this.adjustLevel && (this.getLevel(species, isDoubles) === 100) && numMaxLevelPokemon >= limitFactor) { + continue; + } } - // Limit one of any type combination, three in Monotype - if (!this.forceMonotype && typeComboCount[typeCombo] >= (isMonotype ? 3 : 1) * limitFactor) continue; + // Limit three of any type combination in Monotype + if (!this.forceMonotype && isMonotype && (typeComboCount[typeCombo] >= 3 * limitFactor)) continue; // The Pokemon of the Day if (potd?.exists && (pokemon.length === 1 || this.maxTeamSize === 1)) species = potd; @@ -1823,7 +1907,14 @@ export class RandomTeams { if (this.dex.getEffectiveness(typeName, species) > 0) { typeWeaknesses[typeName]++; } + if (this.dex.getEffectiveness(typeName, species) > 1) { + typeDoubleWeaknesses[typeName]++; + } } + if (weakToFreezeDry) typeWeaknesses['Freeze-Dry']++; + + // Increment level 100 counter + if (set.level === 100) numMaxLevelPokemon++; // Track what the team has if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; @@ -1837,9 +1928,7 @@ export class RandomTeams { if (set.moves.includes('spikes') || set.moves.includes('ceaselessedge')) { teamDetails.spikes = (teamDetails.spikes || 0) + 1; } - if (set.moves.includes('toxicspikes') || set.ability === 'Toxic Debris') { - teamDetails.toxicSpikes = (teamDetails.toxicSpikes || 0) + 1; - } + if (set.moves.includes('toxicspikes') || set.ability === 'Toxic Debris') teamDetails.toxicSpikes = 1; if (set.moves.includes('stealthrock') || set.moves.includes('stoneaxe')) teamDetails.stealthRock = 1; if (set.moves.includes('stickyweb')) teamDetails.stickyWeb = 1; if (set.moves.includes('defog')) teamDetails.defog = 1; @@ -1847,7 +1936,9 @@ export class RandomTeams { if (set.moves.includes('auroraveil') || (set.moves.includes('reflect') && set.moves.includes('lightscreen'))) { teamDetails.screens = 1; } - if (set.role === 'Tera Blast user' || species.baseSpecies === "Ogerpon") teamDetails.teraBlast = 1; + if (set.role === 'Tera Blast user' || species.baseSpecies === "Ogerpon" || species.baseSpecies === "Terapagos") { + teamDetails.teraBlast = 1; + } } if (pokemon.length < this.maxTeamSize && pokemon.length < 12) { // large teams sometimes cannot be built throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`); @@ -1917,41 +2008,11 @@ export class RandomTeams { // Four random unique moves from the movepool let pool = ['struggle']; if (forme === 'Smeargle') { - pool = this.dex.moves - .all() + pool = this.dex.moves.all() .filter(move => !(move.isNonstandard || move.isZ || move.isMax || move.realMove)) .map(m => m.id); } else { - const formes = ['gastrodoneast', 'pumpkaboosuper', 'zygarde10']; - let learnset = this.dex.species.getLearnset(species.id); - let learnsetSpecies = species; - if (formes.includes(species.id) || !learnset) { - learnsetSpecies = this.dex.species.get(species.baseSpecies); - learnset = this.dex.species.getLearnset(learnsetSpecies.id); - } - if (learnset) { - pool = Object.keys(learnset).filter( - moveid => learnset![moveid].find(learned => learned.startsWith(String(this.gen))) - ); - } - if (learnset && learnsetSpecies === species && species.changesFrom) { - learnset = this.dex.species.getLearnset(toID(species.changesFrom)); - for (const moveid in learnset) { - if (!pool.includes(moveid) && learnset[moveid].some(source => source.startsWith(String(this.gen)))) { - pool.push(moveid); - } - } - } - const evoRegion = learnsetSpecies.evoRegion && learnsetSpecies.gen !== this.gen; - while (learnsetSpecies.prevo) { - learnsetSpecies = this.dex.species.get(learnsetSpecies.prevo); - for (const moveid in learnset) { - if (!pool.includes(moveid) && - learnset[moveid].some(source => source.startsWith(String(this.gen)) && !evoRegion)) { - pool.push(moveid); - } - } - } + pool = [...this.dex.species.getMovePool(species.id)]; } const moves = this.multipleSamplesNoReplace(pool, this.maxMoveCount); @@ -1986,6 +2047,8 @@ export class RandomTeams { let stats = species.baseStats; // If Wishiwashi, use the school-forme's much higher stats if (species.baseSpecies === 'Wishiwashi') stats = Dex.species.get('wishiwashischool').baseStats; + // If Terapagos, use Terastal-forme's stats + if (species.baseSpecies === 'Terapagos') stats = Dex.species.get('terapagosterastal').baseStats; // Modified base stat total assumes 31 IVs, 85 EVs in every stat let mbst = (stats["hp"] * 2 + 31 + 21 + 100) + 10; @@ -2037,7 +2100,11 @@ export class RandomTeams { }; if (this.gen === 9) { // Tera type - set.teraType = this.sample(this.dex.types.all()).name; + if (this.forceTeraType) { + set.teraType = this.forceTeraType; + } else { + set.teraType = this.sample(this.dex.types.all()).name; + } } team.push(set); } @@ -2049,9 +2116,6 @@ export class RandomTeams { // Picks `n` random pokemon--no repeats, even among formes // Also need to either normalize for formes or select formes at random // Unreleased are okay but no CAP - const last = [0, 151, 251, 386, 493, 649, 721, 807, 898, 1010][this.gen]; - - if (n <= 0 || n > last) throw new Error(`n must be a number between 1 and ${last} (got ${n})`); if (requiredType && !this.dex.types.get(requiredType).exists) { throw new Error(`"${requiredType}" is not a valid type.`); } @@ -2065,15 +2129,13 @@ export class RandomTeams { for (const species of speciesPool) { if (species.isNonstandard && species.isNonstandard !== 'Unobtainable') continue; if (requireMoves) { - const hasMovesInCurrentGen = Object.values(this.dex.species.getLearnset(species.id) || {}) - .some(sources => sources.some(source => source.startsWith('9'))); + const hasMovesInCurrentGen = this.dex.species.getMovePool(species.id).size; if (!hasMovesInCurrentGen) continue; } if (requiredType && !species.types.includes(requiredType)) continue; if (minSourceGen && species.gen < minSourceGen) continue; const num = species.num; if (num <= 0 || pool.includes(num)) continue; - if (num > last) break; pool.push(num); } } else { @@ -2133,6 +2195,7 @@ export class RandomTeams { if (!(species.num in hasDexNumber)) continue; if (isNotCustom && (species.gen > this.gen || (species.isNonstandard && species.isNonstandard !== 'Unobtainable'))) continue; + if (requiredType && !species.types.includes(requiredType)) continue; if (!formes[hasDexNumber[species.num]]) formes[hasDexNumber[species.num]] = []; formes[hasDexNumber[species.num]].push(species.name); } @@ -2393,7 +2456,11 @@ export class RandomTeams { }; if (this.gen === 9) { // Random Tera type - set.teraType = this.sample(this.dex.types.all()).name; + if (this.forceTeraType) { + set.teraType = this.forceTeraType; + } else { + set.teraType = this.sample(this.dex.types.all()).name; + } } team.push(set); } diff --git a/data/mods/randomroulette/random-teams.ts b/data/random-battles/randomroulette/teams.ts similarity index 69% rename from data/mods/randomroulette/random-teams.ts rename to data/random-battles/randomroulette/teams.ts index b3934e245d9d..47379682cddb 100644 --- a/data/mods/randomroulette/random-teams.ts +++ b/data/random-battles/randomroulette/teams.ts @@ -1,4 +1,4 @@ -import RandomTeams from '../../random-teams'; +import RandomTeams from '../gen9/teams'; export class RandomRandomRouletteTeams extends RandomTeams {} diff --git a/data/mods/sharedpower/random-teams.ts b/data/random-battles/sharedpower/teams.ts similarity index 68% rename from data/mods/sharedpower/random-teams.ts rename to data/random-battles/sharedpower/teams.ts index db19a3c76ce9..0163a1bef994 100644 --- a/data/mods/sharedpower/random-teams.ts +++ b/data/random-battles/sharedpower/teams.ts @@ -1,4 +1,4 @@ -import RandomTeams from '../../random-teams'; +import RandomTeams from '../gen9/teams'; export class RandomSharedPowerTeams extends RandomTeams {} diff --git a/data/rulesets.ts b/data/rulesets.ts index 00aa9f0f72a8..89f1a9f08f97 100644 --- a/data/rulesets.ts +++ b/data/rulesets.ts @@ -1,6 +1,7 @@ // Note: These are the rules that formats use import {Utils} from "../lib"; +import type {Learnset} from "../sim/dex-species"; import {Pokemon} from "../sim/pokemon"; // The list of formats is stored in config/formats.js @@ -79,7 +80,7 @@ export const Rulesets: {[k: string]: FormatData} = { desc: "The standard ruleset for all Smogon OMs (Almost Any Ability, STABmons, etc.)", ruleset: [ 'Obtainable', 'Team Preview', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Overflow Stat Mod', - // 'Min Source Gen = 9', - crashes for some reason + 'Min Source Gen = 9', ], }, standardnatdex: { @@ -138,9 +139,9 @@ export const Rulesets: {[k: string]: FormatData} = { } }, }, - draft: { + standarddraft: { effectType: 'ValidatorRule', - name: 'Draft', + name: 'Standard Draft', desc: "The custom Draft League ruleset", ruleset: [ 'Obtainable', '+Unreleased', '+CAP', 'Sketch Post-Gen 7 Moves', 'Team Preview', 'Sleep Clause Mod', 'OHKO Clause', 'Evasion Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', @@ -455,6 +456,26 @@ export const Rulesets: {[k: string]: FormatData} = { } }, }, + blueberrypokedex: { + effectType: 'ValidatorRule', + name: 'Blueberry Pokedex', + desc: "Only allows Pokémon native to the Blueberry Academy (SV DLC2)", + banlist: [ + 'Diglett-Base', 'Dugtrio-Base', 'Grimer-Base', 'Muk-Base', 'Slowpoke-Base', 'Slowbro-Base', 'Slowking-Base', + 'Geodude-Base', 'Graveler-Base', 'Golem-Base', 'Qwilfish-Base', 'Sandshrew-Base', 'Sandslash-Base', + 'Vulpix-Base', 'Ninetales-Base', 'Typhlosion-Hisui', 'Samurott-Hisui', 'Greninja-Bond', 'Decidueye-Hisui', + ], + onValidateSet(set, format) { + const blueberryDex = [ + "Doduo", "Dodrio", "Exeggcute", "Exeggutor", "Rhyhorn", "Rhydon", "Rhyperior", "Venonat", "Venomoth", "Elekid", "Electabuzz", "Electivire", "Magby", "Magmar", "Magmortar", "Happiny", "Chansey", "Blissey", "Scyther", "Scizor", "Kleavor", "Tauros", "Blitzle", "Zebstrika", "Girafarig", "Farigiraf", "Sandile", "Krokorok", "Krookodile", "Rellor", "Rabsca", "Rufflet", "Braviary", "Vullaby", "Mandibuzz", "Litleo", "Pyroar", "Deerling", "Sawsbuck", "Smeargle", "Rotom", "Milcery", "Alcremie", "Trapinch", "Vibrava", "Flygon", "Pikipek", "Trumbeak", "Toucannon", "Tentacool", "Tentacruel", "Horsea", "Seadra", "Kingdra", "Bruxish", "Cottonee", "Whimsicott", "Comfey", "Slakoth", "Vigoroth", "Slaking", "Oddish", "Gloom", "Vileplume", "Bellossom", "Diglett", "Dugtrio", "Grimer", "Muk", "Zangoose", "Seviper", "Crabrawler", "Crabominable", "Oricorio", "Slowpoke", "Slowbro", "Slowking", "Chinchou", "Lanturn", "Inkay", "Malamar", "Luvdisc", "Finneon", "Lumineon", "Alomomola", "Torkoal", "Fletchling", "Fletchinder", "Talonflame", "Dewpider", "Araquanid", "Tyrogue", "Hitmonlee", "Hitmonchan", "Hitmontop", "Geodude", "Graveler", "Golem", "Drilbur", "Excadrill", "Gothita", "Gothorita", "Gothitelle", "Espurr", "Meowstic", "Minior", "Cranidos", "Rampardos", "Shieldon", "Bastiodon", "Minccino", "Cinccino", "Skarmory", "Swablu", "Altaria", "Magnemite", "Magneton", "Magnezone", "Plusle", "Minun", "Scraggy", "Scrafty", "Golett", "Golurk", "Numel", "Camerupt", "Sinistea", "Polteageist", "Porygon", "Porygon2", "Porygon-Z", "Joltik", "Galvantula", "Tynamo", "Eelektrik", "Eelektross", "Beldum", "Metang", "Metagross", "Axew", "Fraxure", "Haxorus", "Seel", "Dewgong", "Lapras", "Qwilfish", "Overqwil", "Solosis", "Duosion", "Reuniclus", "Snubbull", "Granbull", "Cubchoo", "Beartic", "Sandshrew", "Sandslash", "Vulpix", "Ninetales", "Snover", "Abomasnow", "Duraludon", "Archaludon", "Hydrapple", "Bulbasaur", "Ivysaur", "Venusaur", "Charmander", "Charmeleon", "Charizard", "Squirtle", "Wartortle", "Blastoise", "Chikorita", "Bayleef", "Meganium", "Cyndaquil", "Quilava", "Typhlosion", "Totodile", "Croconaw", "Feraligatr", "Treecko", "Grovyle", "Sceptile", "Torchic", "Combusken", "Blaziken", "Mudkip", "Marshtomp", "Swampert", "Turtwig", "Grotle", "Torterra", "Chimchar", "Monferno", "Infernape", "Piplup", "Prinplup", "Empoleon", "Snivy", "Servine", "Serperior", "Tepig", "Pignite", "Emboar", "Oshawott", "Dewott", "Samurott", "Chespin", "Quilladin", "Chesnaught", "Fennekin", "Braixen", "Delphox", "Froakie", "Frogadier", "Greninja", "Rowlet", "Dartrix", "Decidueye", "Litten", "Torracat", "Incineroar", "Popplio", "Brionne", "Primarina", "Grookey", "Thwackey", "Rillaboom", "Scorbunny", "Raboot", "Cinderace", "Sobble", "Drizzile", "Inteleon", "Gouging Fire", "Raging Bolt", "Iron Crown", "Iron Boulder", "Terapagos", "Walking Wake", "Iron Leaves", + ]; + const species = this.dex.species.get(set.species || set.name); + if (!blueberryDex.includes(species.baseSpecies) && !blueberryDex.includes(species.name) && + !this.ruleTable.has('+' + species.id)) { + return [`${species.baseSpecies} is not in the Blueberry Pokédex.`]; + } + }, + }, potd: { effectType: 'Rule', name: 'PotD', @@ -480,6 +501,9 @@ export const Rulesets: {[k: string]: FormatData} = { ) { throw new Error(`Invalid type "${type.name}" in Generation ${this.dex.gen}`); } + if (type.name === 'Stellar') { + throw new Error(`There are no Stellar-type Pok\u00e9mon.`); + } }, onValidateSet(set) { const species = this.dex.species.get(set.species); @@ -489,6 +513,51 @@ export const Rulesets: {[k: string]: FormatData} = { } }, }, + forcemonocolor: { + effectType: 'ValidatorRule', + name: 'Force Monocolor', + desc: `Forces all teams to have Pokémon of the same color. Usage: Force Monocolor = [Color], e.g. "Force Monocolor = Blue"`, + hasValue: true, + onValidateRule(value) { + const validColors = ["Black", "Blue", "Brown", "Gray", "Green", "Pink", "Purple", "Red", "White", "Yellow"]; + if (!validColors.map(this.dex.toID).includes(this.dex.toID(value))) { + throw new Error(`Invalid color "${value}"`); + } + }, + onValidateSet(set) { + const color = this.toID(this.ruleTable.valueRules.get('forcemonocolor')); + let dex = this.dex; + if (dex.gen < 5) { + dex = dex.forGen(5); + } + const species = dex.species.get(set.species); + if (this.toID(species.color) !== color) { + return [`${set.species} must be the color ${color}.`]; + } + }, + }, + forceteratype: { + effectType: 'ValidatorRule', + name: 'Force Tera Type', + desc: `Forces all Pokémon to have the same Tera Type. Usage: Force Tera Type = [Type], e.g. "Force Tera Type = Dragon"`, + hasValue: true, + onValidateRule(value) { + if (this.dex.gen !== 9) { + throw new Error(`Terastallization doesn't exist outside of Generation 9.`); + } + const type = this.dex.types.get(value); + if (!type.exists) throw new Error(`Misspelled type "${value}"`); + if (type.isNonstandard) { + throw new Error(`Invalid type "${type.name}" in Generation ${this.dex.gen}.`); + } + }, + onValidateSet(set) { + const type = this.dex.types.get(this.ruleTable.valueRules.get('forceteratype')!); + if (this.toID(set.teraType) !== type.id) { + return [`${set.species} must have its Tera Type set to ${type.name}.`]; + } + }, + }, forceselect: { effectType: 'ValidatorRule', name: 'Force Select', @@ -563,12 +632,11 @@ export const Rulesets: {[k: string]: FormatData} = { onTeamPreview() { this.add('clearpoke'); for (const pokemon of this.getAllPokemon()) { - let details = pokemon.details.replace(', shiny', ''); + let details = pokemon.details.replace(', shiny', '') + .replace(/(Zacian|Zamazenta)(?!-Crowned)/g, '$1-*'); // Hacked-in Crowned formes will be revealed if (!this.ruleTable.has('speciesrevealclause')) { details = details - .replace(/(Greninja|Gourgeist|Pumpkaboo|Xerneas|Silvally|Urshifu|Dudunsparce)(-[a-zA-Z?-]+)?/g, '$1-*') - // Still here for National Dex BH - .replace(/(Zacian|Zamazenta)(?!-Crowned)/g, '$1-*'); // Hacked-in Crowned formes will be revealed + .replace(/(Greninja|Gourgeist|Pumpkaboo|Xerneas|Silvally|Urshifu|Dudunsparce)(-[a-zA-Z?-]+)?/g, '$1-*'); } this.add('poke', pokemon.side.id, details, ''); } @@ -819,7 +887,7 @@ export const Rulesets: {[k: string]: FormatData} = { evasionitemsclause: { effectType: 'ValidatorRule', name: 'Evasion Items Clause', - desc: "Bans moves that lower the accuracy of moves used against the user", + desc: "Bans items that lower the accuracy of moves used against the user", banlist: ['Bright Powder', 'Lax Incense'], onBegin() { this.add('rule', 'Evasion Items Clause: Evasion items are banned'); @@ -858,7 +926,7 @@ export const Rulesets: {[k: string]: FormatData} = { if (set.moves) { for (const id of set.moves) { const move = this.dex.moves.get(id); - if (move.status && move.status === 'slp') problems.push(move.name + ' is banned by Sleep Moves Clause.'); + if (move.status === 'slp') problems.push(move.name + ' is banned by Sleep Moves Clause.'); } } return problems; @@ -885,7 +953,7 @@ export const Rulesets: {[k: string]: FormatData} = { // but false if the move's accuracy is 100% (yet can be lowered). const hasMissChanceOrNeverMisses = move.accuracy === true || move.accuracy < 100; - if (move.status && move.status === 'slp' && hasMissChanceOrNeverMisses) { + if (move.status === 'slp' && hasMissChanceOrNeverMisses) { hasSleepMove = true; } } @@ -1054,22 +1122,25 @@ export const Rulesets: {[k: string]: FormatData} = { const boostingEffects = [ 'absorbbulb', 'acidarmor', 'acupressure', 'agility', 'amnesia', 'ancientpower', 'angerpoint', 'apicotberry', 'autotomize', 'barrier', 'bellydrum', 'bulkup', 'calmmind', 'cellbattery', 'chargebeam', 'coil', 'cosmicpower', 'cottonguard', 'curse', - 'defendorder', 'defiant', 'download', 'dragondance', 'fierydance', 'flamecharge', 'ganlonberry', 'growth', 'harden', - 'honeclaws', 'howl', 'irondefense', 'justified', 'liechiberry', 'lightningrod', 'meditate', 'metalclaw', 'meteormash', - 'motordrive', 'moxie', 'nastyplot', 'ominouswind', 'petayaberry', 'quiverdance', 'rage', 'rattled', 'rockpolish', - 'salacberry', 'sapsipper', 'sharpen', 'shellsmash', 'shiftgear', 'silverwind', 'skullbash', 'speedboost', 'starfberry', - 'steadfast', 'steelwing', 'stockpile', 'stormdrain', 'swordsdance', 'tailglow', 'weakarmor', 'withdraw', 'workup', + 'defendorder', 'defiant', 'download', 'dragondance', 'fierydance', 'flamecharge', 'focusenergy', 'ganlonberry', 'growth', + 'harden', 'honeclaws', 'howl', 'irondefense', 'justified', 'liechiberry', 'lightningrod', 'meditate', 'metalclaw', + 'meteormash', 'motordrive', 'moxie', 'nastyplot', 'ominouswind', 'petayaberry', 'quiverdance', 'rage', 'rattled', + 'rockpolish', 'salacberry', 'sapsipper', 'sharpen', 'shellsmash', 'shiftgear', 'silverwind', 'skullbash', 'speedboost', + 'starfberry', 'steadfast', 'steelwing', 'stockpile', 'stormdrain', 'swordsdance', 'tailglow', 'weakarmor', 'withdraw', + 'workup', ]; for (const set of team) { - if (!set.moves.includes('Baton Pass')) continue; + const moves = set.moves.map(this.toID); + if (!moves.includes('batonpass' as ID)) continue; let passableBoosts = false; const item = this.toID(set.item); const ability = this.toID(set.ability); - for (const move of set.moves) { - if (boostingEffects.includes(this.toID(move))) passableBoosts = true; + if ( + moves.some(m => boostingEffects.includes(m)) || boostingEffects.includes(item) || + boostingEffects.includes(ability) + ) { + passableBoosts = true; } - if (boostingEffects.includes(item)) passableBoosts = true; - if (boostingEffects.includes(ability)) passableBoosts = true; if (passableBoosts) { return [ `${set.name || set.species} has Baton Pass and a way to boost its stats, which is banned by Baton Pass Stat Clause.`, @@ -1078,6 +1149,39 @@ export const Rulesets: {[k: string]: FormatData} = { } }, }, + batonpassstattrapclause: { + effectType: 'ValidatorRule', + name: 'Baton Pass Stat Trap Clause', + desc: "Stops teams from having a Pokémon with Baton Pass that has any way to boost its stats or trap Pokémon.", + onBegin() { + this.add('rule', 'Baton Pass Stat Trap Clause: No Baton Passer may have a way to boost stats or trap Pok\u00e9mon'); + }, + onValidateTeam(team) { + const statBoostOrTrapping = [ + 'Acid Armor', 'Acupressure', 'Agility', 'Amnesia', 'Ancient Power', 'Assist', 'Barrier', 'Belly Drum', 'Block', 'Bulk Up', 'Calm Mind', 'Charge', + 'Charge Beam', 'Cosmic Power', 'Curse', 'Defend Order', 'Defense Curl', 'Dragon Dance', 'Growth', 'Guard Swap', 'Harden', 'Heart Swap', 'Howl', + 'Iron Defense', 'Ingrain', 'Mean Look', 'Meteor Mash', 'Meditate', 'Metal Claw', 'Nasty Plot', 'Ominous Wind', 'Power Trick', 'Psych Up', 'Rage', + 'Rock Polish', 'Sharpen', 'Silver Wind', 'Skull Bash', 'Spider Web', 'Steel Wing', 'Stockpile', 'Swords Dance', 'Tail Glow', 'Withdraw', 'Speed Boost', + 'Apicot Berry', 'Ganlon Berry', 'Liechi Berry', 'Petaya Berry', 'Salac Berry', 'Starf Berry', + ].map(this.toID); + for (const set of team) { + if (!set.moves.map(this.toID).includes('batonpass' as ID)) continue; + let passableBoosts = false; + const item = this.toID(set.item); + const ability = this.toID(set.ability); + for (const move of set.moves) { + if (statBoostOrTrapping.includes(this.toID(move))) passableBoosts = true; + } + if (statBoostOrTrapping.includes(item)) passableBoosts = true; + if (statBoostOrTrapping.includes(ability)) passableBoosts = true; + if (passableBoosts) { + return [ + `${set.name || set.species} has Baton Pass and a way to boost its stats or pass trapping, which is banned by Baton Pass Stat Trap Clause.`, + ]; + } + } + }, + }, cfzclause: { effectType: 'ValidatorRule', name: 'CFZ Clause', @@ -1184,7 +1288,7 @@ export const Rulesets: {[k: string]: FormatData} = { if (status.id === 'slp') { for (const pokemon of target.side.pokemon) { if (pokemon.hp && pokemon.status === 'slp') { - this.add('-message', "Sleep Clause activated. (In Nintendo formats, Sleep Clause activates if any of the opponent's Pokemon are asleep, even if self-inflicted from Rest)"); + this.add('-message', "Sleep Clause activated. (In official formats, Sleep Clause activates if any of the opponent's Pokemon are asleep, even if self-inflicted from Rest)"); return false; } } @@ -1408,7 +1512,8 @@ export const Rulesets: {[k: string]: FormatData} = { const speciesTypes: string[] = []; const moveTypes: string[] = []; // BDSP can't import Pokemon from Home, so it shouldn't grant moves from archaic species types - const minObtainableSpeciesGen = this.dex.currentMod === 'gen8bdsp' || this.dex.gen === 9 ? + const minObtainableSpeciesGen = this.dex.currentMod === 'gen8bdsp' || + (this.dex.gen === 9 && !this.ruleTable.has('standardnatdex')) ? this.dex.gen : species.gen; for (let i = this.dex.gen; i >= minObtainableSpeciesGen && i >= move.gen; i--) { const dex = this.dex.forGen(i); @@ -1749,27 +1854,22 @@ export const Rulesets: {[k: string]: FormatData} = { this.add('rule', 'Event Moves Clause: Event-only moves are banned'); }, onValidateSet(set) { + if (!set.moves) return; + const moveSources: NonNullable = Object.fromEntries( + set.moves.map(move => [this.toID(move), []]) + ); + const species = this.dex.species.get(set.species); - const learnsetData = {...(this.dex.data.Learnsets[species.id]?.learnset || {})}; - let prevo = species.prevo; - while (prevo) { - const prevoSpecies = this.dex.species.get(prevo); - const prevoLsetData = this.dex.data.Learnsets[prevoSpecies.id]?.learnset || {}; - for (const moveid in prevoLsetData) { - if (!(moveid in learnsetData)) { - learnsetData[moveid] = prevoLsetData[moveid]; - } else { - learnsetData[moveid].push(...prevoLsetData[moveid]); - } + for (const {learnset} of this.dex.species.getFullLearnset(species.id)) { + for (const moveid in moveSources) { + moveSources[moveid].push(...(learnset[moveid] || [])); } - prevo = prevoSpecies.prevo; } const problems = []; - if (set.moves?.length) { - for (const move of set.moves) { - if (learnsetData[this.toID(move)] && !learnsetData[this.toID(move)].filter(v => !v.includes('S')).length) { - problems.push(`${species.name}'s move ${move} is obtainable only through events.`); - } + for (const move of set.moves) { + const sources = moveSources[this.toID(move)]; + if (sources?.length && sources.every(learned => learned.includes('S'))) { + problems.push(`${species.name}'s move ${move} is obtainable only through events.`); } } if (problems.length) problems.push(`(Event-only moves are banned.)`); @@ -1916,9 +2016,9 @@ export const Rulesets: {[k: string]: FormatData} = { desc: "Bans items that are not usable in Pokemon Stadium 2.", banlist: ['Fast Ball', 'Friend Ball', 'Great Ball', 'Heavy Ball', 'Level Ball', 'Love Ball', 'Lure Ball', 'Master Ball', 'Moon Ball', 'Park Ball', 'Poke Ball', 'Safari Ball', 'Ultra Ball', 'Fire Stone', 'Leaf Stone', 'Moon Stone', 'Sun Stone', 'Thunder Stone', 'Upgrade', 'Water Stone', 'Mail'], }, - nintendocup2000movelegality: { + nc2000movelegality: { effectType: 'ValidatorRule', - name: "Nintendo Cup 2000 Move Legality", + name: "NC 2000 Move Legality", desc: "Prevents Pok\u00e9mon from having moves that would only be obtainable in Pok\u00e9mon Crystal.", // Implemented in mods/gen2/rulesets.ts }, @@ -1928,10 +2028,10 @@ export const Rulesets: {[k: string]: FormatData} = { desc: "Bans the combination of Agility and partial trapping moves like Wrap.", banlist: ['Agility + Wrap', 'Agility + Fire Spin', 'Agility + Bind', 'Agility + Clamp'], }, - nintendocup1997movelegality: { + nc1997movelegality: { effectType: 'ValidatorRule', - name: "Nintendo Cup 1997 Move Legality", - desc: "Bans move combinations on Pok\u00e9mon that weren't legal in Nintendo Cup 1997.", + name: "NC 1997 Move Legality", + desc: "Bans move combinations on Pok\u00e9mon that weren't legal in NC 1997.", // Implemented in mods/gen1jpn/rulesets.ts }, noswitching: { @@ -1955,8 +2055,7 @@ export const Rulesets: {[k: string]: FormatData} = { } const ruleTable = this.ruleTable; const maxTeamSize = ruleTable.pickedTeamSize || ruleTable.maxTeamSize; - const numPlayers = (this.format.gameType === 'freeforall' || this.format.gameType === 'multi') ? 4 : 2; - const potentialMaxTeamSize = maxTeamSize * numPlayers; + const potentialMaxTeamSize = maxTeamSize * this.format.playerCount; if (potentialMaxTeamSize > 24) { throw new Error(`Crazyhouse Rule cannot be added because a team can potentially have ${potentialMaxTeamSize} Pokemon on one team, which is more than the server limit of 24.`); } @@ -2017,7 +2116,7 @@ export const Rulesets: {[k: string]: FormatData} = { chimera1v1rule: { effectType: 'Rule', name: 'Chimera 1v1 Rule', - desc: "Validation and battle effects for Chimera 1v1.", + desc: "Merges a team of six into a single Pok\u00e9mon depending on the order chosen at team preview: It gains the typing of the first, item of the second, ability of the third, stats of the fourth, the first two moves of the fifth, and the last two moves of the sixth.", ruleset: ['Team Preview', 'Picked Team Size = 6'], onValidateSet(set) { if (!set.item) return; @@ -2113,6 +2212,8 @@ export const Rulesets: {[k: string]: FormatData} = { nu: 25, publ: 25, pu: 30, + zubl: 30, + zu: 30, nfe: 30, lc: 30, }; @@ -2122,6 +2223,8 @@ export const Rulesets: {[k: string]: FormatData} = { // Non-Pokemon bans in lower tiers if (target) { if (this.toID(target.set.item) === 'lightclay') tier = 'rubl'; + if (this.toID(target.set.item) === 'damprock') tier = 'publ'; + if (this.toID(target.set.item) === 'heatrock') tier = 'publ'; } const pokemon = this.dex.deepClone(species); pokemon.bst = pokemon.baseStats['hp']; @@ -2176,7 +2279,9 @@ export const Rulesets: {[k: string]: FormatData} = { }, onModifySpecies(species, target) { const newSpecies = this.dex.deepClone(species); - const baseSpecies = this.dex.species.get(species.baseSpecies); + const baseSpecies = this.dex.species.get( + (Array.isArray(species.battleOnly) ? species.battleOnly[0] : species.battleOnly) || species.changesFrom || species.name + ); if (!newSpecies.prevo) { if (!baseSpecies.prevo) return; const prevoSpecies = this.dex.species.get(baseSpecies.prevo); @@ -2640,14 +2745,16 @@ export const Rulesets: {[k: string]: FormatData} = { proteanpalacemod: { effectType: 'Rule', name: "Protean Palace Mod", - desc: `Each Pokémon innately has Protean.`, + desc: `Pokémon become the type of the move they use.`, onBegin() { - this.add('rule', 'Protean Palace Mod: Every Pok\u00e9mon innately has Protean.'); + this.add('rule', 'Protean Palace Mod: Pok\u00e9mon become the type of the move they use.'); }, - onSwitchIn(pokemon) { - if (!pokemon.hasAbility(['libero', 'protean'])) { - const effect = 'ability:protean'; - pokemon.addVolatile(effect); + onPrepareHit(source, target, move) { + if (move.hasBounced || move.flags['futuremove'] || move.sourceEffect === 'snatch') return; + const type = move.type; + if (type && type !== '???' && source.getTypes().join() !== type) { + if (!source.setType(type)) return; + this.add('-start', source, 'typechange', type, '[from] ability: Protean'); } }, }, @@ -2676,4 +2783,77 @@ export const Rulesets: {[k: string]: FormatData} = { }, // Implemented in Pokemon#getDetails }, + uselessmovesclause: { + effectType: 'ValidatorRule', + name: 'Useless Moves Clause', + // implemented in /mods/moderngen2/rulesets.ts + }, + uselessitemsclause: { + effectType: 'ValidatorRule', + name: 'Useless Items Clause', + // implemented in /mods/moderngen2/rulesets.ts + }, + ferventimpersonationmod: { + effectType: 'Rule', + name: "Fervent Impersonation Mod", + onValidateTeam(team, format, teamHas) { + const exhaustedSpecies = new Set(); + for (const set of team) { + const species = this.dex.species.get(set.species); + const impersonation = this.dex.species.get(set.name); + if (exhaustedSpecies.has(species.baseSpecies) || + (exhaustedSpecies.has(impersonation.baseSpecies) && impersonation.baseSpecies !== species.baseSpecies)) { + return [`You have more than one Pok\u00e9mon nicknamed after ${impersonation.baseSpecies}.`]; + } + exhaustedSpecies.add(species.baseSpecies); + if (impersonation.exists && impersonation.baseSpecies !== species.baseSpecies) { + exhaustedSpecies.add(impersonation.baseSpecies); + } + } + }, + onValidateSet(set) { + const species = this.dex.species.get(set.species); + const impersonation = this.dex.species.get(set.name); + if (this.ruleTable.isRestrictedSpecies(species)) { + return [ + `${species.name} can't be used as a base species.`, + `(Restricted Pok\u00e9mon can only be used as impersonations.)`, + ]; + } + const rt = this.ruleTable; + if ((this.toID(set.name) !== species.id && this.toID(set.name) !== impersonation.id) || + (impersonation.isNonstandard && !(rt.has(`+pokemontag:${this.toID(impersonation.isNonstandard)}`) || + rt.has(`+pokemon:${impersonation.id}`) || rt.has(`+basepokemon:${this.toID(impersonation.baseSpecies)}`)))) { + return [`All Pok\u00e9mon must either have no nickname or must be nicknamed after a Pok\u00e9mon.`]; + } + }, + checkCanLearn(move, species, setSources, set) { + const impersonation = this.dex.species.get(set.name); + const baseCheckCanLearn = this.checkCanLearn(move, species, setSources, set); + if (baseCheckCanLearn) return baseCheckCanLearn; + return this.checkCanLearn(move, impersonation, setSources, set); + }, + onResidualOrder: 29, + onResidual(pokemon) { + if (pokemon.transformed || !pokemon.hp) return; + const oldAbilityName = pokemon.getAbility().name; + const oldPokemon = pokemon.species; + const impersonation = this.dex.species.get(pokemon.set.name); + if (pokemon.species.id === impersonation.id || pokemon.hp > pokemon.maxhp / 2) return; + this.add('-activate', pokemon, 'ability: Power Construct'); + pokemon.formeChange(impersonation.name, this.effect, true); + pokemon.baseMaxhp = Math.floor(Math.floor( + 2 * pokemon.species.baseStats['hp'] + pokemon.set.ivs['hp'] + Math.floor(pokemon.set.evs['hp'] / 4) + 100 + ) * pokemon.level / 100 + 10); + const newMaxHP = pokemon.volatiles['dynamax'] ? (2 * pokemon.baseMaxhp) : pokemon.baseMaxhp; + pokemon.hp = this.clampIntRange(newMaxHP - (pokemon.maxhp - pokemon.hp), 1, newMaxHP); + pokemon.maxhp = newMaxHP; + this.add('-heal', pokemon, pokemon.getHealth, '[silent]'); + const oldAbilityKey: string = Object.keys(oldPokemon.abilities).find(x => ( + (oldPokemon.abilities as any)[x] === oldAbilityName + )) || "0"; + const newAbility: string = (impersonation.abilities as any)[oldAbilityKey] || impersonation.abilities["0"]; + pokemon.setAbility(newAbility, null, true); + }, + }, }; diff --git a/data/tags.ts b/data/tags.ts index 9e9f7dbd60b8..5db562b90a6d 100644 --- a/data/tags.ts +++ b/data/tags.ts @@ -46,6 +46,10 @@ export const Tags: {[id: string]: TagData} = { name: "Restricted Legendary", speciesFilter: species => species.tags.includes("Restricted Legendary"), }, + ultrabeast: { + name: "Ultra Beast", + speciesFilter: species => species.tags.includes("Ultra Beast"), + }, paradox: { name: "Paradox", speciesFilter: species => species.tags.includes("Paradox"), diff --git a/data/text/abilities.ts b/data/text/abilities.ts index 1b6936897358..4f1bcf4628d6 100644 --- a/data/text/abilities.ts +++ b/data/text/abilities.ts @@ -898,8 +898,11 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, lingeringaroma: { name: "Lingering Aroma", - desc: "Pokemon making contact with this Pokemon have their Ability changed to Lingering Aroma. Does not affect Pokemon with the As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Lingering Aroma, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Zen Mode, or Zero to Hero Abilities.", + desc: "Pokemon making contact with this Pokemon have their Ability changed to Lingering Aroma. Does not affect Pokemon with the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Lingering Aroma, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Zen Mode, or Zero to Hero Abilities.", shortDesc: "Making contact with this Pokemon has the attacker's Ability become Lingering Aroma.", + gen8: { + desc: "Pokemon making contact with this Pokemon have their Ability changed to Lingering Aroma. Does not affect Pokemon with the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Lingering Aroma, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, or Zen Mode Abilities.", + }, changeAbility: " A lingering aroma clings to [TARGET]!", }, @@ -1019,8 +1022,11 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, moldbreaker: { name: "Mold Breaker", - desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Armor Tail, Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Earth Eater, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Good as Gold, Grass Pelt, Guard Dog, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Illuminate, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mind's Eye, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Purifying Salt, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Tera Shell, Thermal Exchange, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, Well-Baked Body, White Smoke, Wind Rider, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", shortDesc: "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.", + gen8: { + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", + }, gen7: { desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dark Aura, Dazzling, Disguise, Dry Skin, Fairy Aura, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", }, @@ -1074,7 +1080,7 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, mummy: { name: "Mummy", - desc: "Pokemon making contact with this Pokemon have their Ability changed to Mummy. Does not affect Pokemon with the As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Multitype, Mummy, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Zen Mode, or Zero to Hero Abilities.", + desc: "Pokemon making contact with this Pokemon have their Ability changed to Mummy. Does not affect Pokemon with the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Mummy, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Zen Mode, or Zero to Hero Abilities.", shortDesc: "Pokemon making contact with this Pokemon have their Ability changed to Mummy.", gen8: { desc: "Pokemon making contact with this Pokemon have their Ability changed to Mummy. Does not affect Pokemon with the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Mummy, Power Construct, RKS System, Schooling, Shields Down, Stance Change, or Zen Mode Abilities.", @@ -1109,8 +1115,11 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, neutralizinggas: { name: "Neutralizing Gas", - desc: "While this Pokemon is active, Abilities have no effect. This Ability activates before hazards and other Abilities take effect. Does not affect the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, or Zen Mode Abilities.", + desc: "While this Pokemon is active, Abilities have no effect. This Ability activates before hazards and other Abilities take effect. Does not affect the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Neutralizing Gas, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Zen Mode, or Zero to Hero Abilities.", shortDesc: "While this Pokemon is active, Abilities have no effect.", + gen8: { + desc: "While this Pokemon is active, Abilities have no effect. This Ability activates before hazards and other Abilities take effect. Does not affect the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Neutralizing Gas, Power Construct, RKS System, Schooling, Shields Down, Stance Change, or Zen Mode Abilities.", + }, start: " Neutralizing gas filled the area!", end: " The effects of the neutralizing gas wore off!", @@ -1266,6 +1275,11 @@ export const AbilitiesText: {[k: string]: AbilityText} = { shortDesc: "1/3 chance a Pokemon making contact with this Pokemon will be poisoned.", }, }, + poisonpuppeteer: { + name: "Poison Puppeteer", + desc: "If this Pokemon is a Pecharunt and poisons or badly poisons a target, the target also becomes confused.", + shortDesc: "Pecharunt: If this Pokemon poisons a target, the target also becomes confused.", + }, poisontouch: { name: "Poison Touch", desc: "This Pokemon's contact moves have a 30% chance of poisoning. This effect comes after a move's inherent secondary effect chance.", @@ -1281,7 +1295,7 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, powerofalchemy: { name: "Power of Alchemy", - desc: "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are As One, Battle Bond, Comatose, Commander, Disguise, Flower Gift, Forecast, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Wonder Guard, Zen Mode, and Zero to Hero.", + desc: "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Flower Gift, Forecast, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Tera Shell, Tera Shift, Teraform Zero, Trace, Wonder Guard, Zen Mode, and Zero to Hero.", shortDesc: "This Pokemon copies the Ability of an ally that faints.", gen8: { desc: "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are As One, Battle Bond, Comatose, Disguise, Flower Gift, Forecast, Gulp Missile, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Power Construct, Power of Alchemy, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Wonder Guard, and Zen Mode.", @@ -1423,7 +1437,7 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, receiver: { name: "Receiver", - desc: "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are As One, Battle Bond, Comatose, Commander, Disguise, Flower Gift, Forecast, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Wonder Guard, Zen Mode, and Zero to Hero.", + desc: "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Flower Gift, Forecast, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Tera Shell, Tera Shift, Teraform Zero, Trace, Wonder Guard, Zen Mode, and Zero to Hero.", shortDesc: "This Pokemon copies the Ability of an ally that faints.", gen8: { desc: "This Pokemon copies the Ability of an ally that faints. Abilities that cannot be copied are As One, Battle Bond, Comatose, Disguise, Flower Gift, Forecast, Gulp Missile, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Power Construct, Power of Alchemy, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Wonder Guard, and Zen Mode.", @@ -1932,10 +1946,30 @@ export const AbilitiesText: {[k: string]: AbilityText} = { block: " [POKEMON] can't be hit by attacks from its ally Pok\u00E9mon!", }, + teraformzero: { + name: "Teraform Zero", + shortDesc: "Terapagos: Terastallizing ends the effects of weather and terrain. Once per battle.", + }, + terashell: { + name: "Tera Shell", + desc: "If this Pokemon is a Terapagos at full HP, the effectiveness of attacks against it is changed to 0.5 unless this Pokemon is immune to the move. Multi-hit moves retain the same effectiveness throughout the attack.", + shortDesc: "Terapagos: If full HP, attacks taken have 0.5x effectiveness unless naturally immune.", + + activate: " [POKEMON] made its shell gleam! It's distorting type matchups!", + }, + terashift: { + name: "Tera Shift", + shortDesc: "If this Pokemon is a Terapagos, it transforms into its Terastal Form on entry.", + + transform: "[POKEMON] transformed!", + }, teravolt: { name: "Teravolt", - desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Armor Tail, Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Earth Eater, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Good as Gold, Grass Pelt, Guard Dog, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Illuminate, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mind's Eye, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Purifying Salt, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Tera Shell, Thermal Exchange, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, Well-Baked Body, White Smoke, Wind Rider, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", shortDesc: "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.", + gen8: { + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", + }, gen7: { desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dark Aura, Dazzling, Disguise, Dry Skin, Fairy Aura, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", }, @@ -1945,6 +1979,9 @@ export const AbilitiesText: {[k: string]: AbilityText} = { gen5: { desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Battle Armor, Big Pecks, Clear Body, Contrary, Damp, Dry Skin, Filter, Flash Fire, Flower Gift, Friend Guard, Heatproof, Heavy Metal, Hyper Cutter, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Motor Drive, Multiscale, Oblivious, Own Tempo, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", }, + gen4: { + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Battle Armor, Clear Body, Damp, Dry Skin, Filter, Flash Fire, Flower Gift, Heatproof, Hyper Cutter, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Lightning Rod, Limber, Magma Armor, Marvel Scale, Motor Drive, Oblivious, Own Tempo, Sand Veil, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Tangled Feet, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Veil, White Smoke, and Wonder Guard. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move. The Attack modifier from an ally's Flower Gift Ability is not negated.", + }, start: " [POKEMON] is radiating a bursting aura!", }, @@ -1999,7 +2036,7 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, trace: { name: "Trace", - desc: "On switch-in, this Pokemon copies a random opposing Pokemon's Ability. Abilities that cannot be copied are As One, Battle Bond, Comatose, Commander, Disguise, Flower Gift, Forecast, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Zen Mode, and Zero to Hero. If no opposing Pokemon has an Ability that can be copied, this Ability will activate as soon as one does.", + desc: "On switch-in, this Pokemon copies a random opposing Pokemon's Ability. Abilities that cannot be copied are As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Flower Gift, Forecast, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Teraform Zero, Tera Shell, Tera Shift, Trace, Zen Mode, and Zero to Hero. If no opposing Pokemon has an Ability that can be copied, this Ability will activate as soon as one does.", shortDesc: "On switch-in, or when it can, this Pokemon copies a random adjacent foe's Ability.", gen8: { desc: "On switch-in, this Pokemon copies a random opposing Pokemon's Ability. Abilities that cannot be copied are As One, Battle Bond, Comatose, Disguise, Flower Gift, Forecast, Gulp Missile, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Power Construct, Power of Alchemy, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, and Zen Mode. If no opposing Pokemon has an Ability that can be copied, this Ability will activate as soon as one does.", @@ -2044,8 +2081,11 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, turboblaze: { name: "Turboblaze", - desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Armor Tail, Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Earth Eater, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Good as Gold, Grass Pelt, Guard Dog, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Illuminate, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mind's Eye, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Purifying Salt, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Tera Shell, Thermal Exchange, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, Well-Baked Body, White Smoke, Wind Rider, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", shortDesc: "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.", + gen8: { + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dazzling, Disguise, Dry Skin, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Ice Face, Ice Scales, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Mirror Armor, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Pastel Veil, Punk Rock, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", + }, gen7: { desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Aroma Veil, Aura Break, Battle Armor, Big Pecks, Bulletproof, Clear Body, Contrary, Damp, Dark Aura, Dazzling, Disguise, Dry Skin, Fairy Aura, Filter, Flash Fire, Flower Gift, Flower Veil, Fluffy, Friend Guard, Fur Coat, Grass Pelt, Heatproof, Heavy Metal, Hyper Cutter, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Motor Drive, Multiscale, Oblivious, Overcoat, Own Tempo, Queenly Majesty, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Sweet Veil, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Bubble, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", }, @@ -2055,6 +2095,9 @@ export const AbilitiesText: {[k: string]: AbilityText} = { gen5: { desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Battle Armor, Big Pecks, Clear Body, Contrary, Damp, Dry Skin, Filter, Flash Fire, Flower Gift, Friend Guard, Heatproof, Heavy Metal, Hyper Cutter, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Light Metal, Lightning Rod, Limber, Magic Bounce, Magma Armor, Marvel Scale, Motor Drive, Multiscale, Oblivious, Own Tempo, Sand Veil, Sap Sipper, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Tangled Feet, Telepathy, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Veil, White Smoke, Wonder Guard, and Wonder Skin. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move, and whether or not their Ability is beneficial to this Pokemon.", }, + gen4: { + desc: "This Pokemon's moves and their effects ignore certain Abilities of other Pokemon. The Abilities that can be negated are Battle Armor, Clear Body, Damp, Dry Skin, Filter, Flash Fire, Flower Gift, Heatproof, Hyper Cutter, Immunity, Inner Focus, Insomnia, Keen Eye, Leaf Guard, Levitate, Lightning Rod, Limber, Magma Armor, Marvel Scale, Motor Drive, Oblivious, Own Tempo, Sand Veil, Shell Armor, Shield Dust, Simple, Snow Cloak, Solid Rock, Soundproof, Sticky Hold, Storm Drain, Sturdy, Suction Cups, Tangled Feet, Thick Fat, Unaware, Vital Spirit, Volt Absorb, Water Absorb, Water Veil, White Smoke, and Wonder Guard. This affects every other Pokemon on the field, whether or not it is a target of this Pokemon's move. The Attack modifier from an ally's Flower Gift Ability is not negated.", + }, start: " [POKEMON] is radiating a blazing aura!", }, @@ -2104,10 +2147,10 @@ export const AbilitiesText: {[k: string]: AbilityText} = { }, wanderingspirit: { name: "Wandering Spirit", - desc: "Pokemon making contact with this Pokemon have their Ability swapped with this one. Does not affect Pokemon with the As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Wonder Guard, Zen Mode, or Zero to Hero Abilities.", + desc: "Pokemon making contact with this Pokemon have their Ability swapped with this one. Does not affect Pokemon with the Abilities As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Hunger Switch, Ice Face, Illusion, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Tera Shell, Tera Shift, Teraform Zero, Wonder Guard, Zen Mode, or Zero to Hero.", shortDesc: "Pokemon making contact with this Pokemon have their Ability swapped with this one.", gen8: { - desc: "Pokemon making contact with this Pokemon have their Ability swapped with this one. Does not affect Pokemon with the As One, Battle Bond, Comatose, Disguise, Gulp Missile, Hunger Switch, Ice Face, Illusion, Multitype, Neutralizing Gas, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Wonder Guard, or Zen Mode Abilities.", + desc: "Pokemon making contact with this Pokemon have their Ability swapped with this one. Does not affect Pokemon with the Abilities As One, Battle Bond, Comatose, Disguise, Gulp Missile, Hunger Switch, Ice Face, Illusion, Multitype, Neutralizing Gas, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Wonder Guard, or Zen Mode.", }, activate: "#skillswap", diff --git a/data/text/items.ts b/data/text/items.ts index bb65ee0c06e5..643acf47ec12 100644 --- a/data/text/items.ts +++ b/data/text/items.ts @@ -1121,6 +1121,10 @@ export const ItemsText: {[k: string]: ItemText} = { name: "Metagrossite", desc: "If held by a Metagross, this item allows it to Mega Evolve in battle.", }, + metalalloy: { + name: "Metal Alloy", + desc: "Evolves Duraludon into Archaludon when used.", + }, metalcoat: { name: "Metal Coat", desc: "Holder's Steel-type attacks have 1.2x power. Evolves Onix into Steelix and Scyther into Scizor when traded.", diff --git a/data/text/moves.ts b/data/text/moves.ts index 23e43b7a2b41..83ae831134f0 100644 --- a/data/text/moves.ts +++ b/data/text/moves.ts @@ -103,6 +103,11 @@ export const MovesText: {[k: string]: MoveText} = { name: "All-Out Pummeling", shortDesc: "Power is equal to the base move's Z-Power.", }, + alluringvoice: { + name: "Alluring Voice", + desc: "Has a 100% chance to confuse the target if it had a stat stage raised this turn.", + shortDesc: "100% confuse target that had a stat rise this turn.", + }, allyswitch: { name: "Ally Switch", desc: "The user swaps positions with its ally. Fails if the user is the only Pokemon on its side. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails or if the user's last move used is not Ally Switch.", @@ -203,7 +208,7 @@ export const MovesText: {[k: string]: MoveText} = { }, assist: { name: "Assist", - desc: "A random move among those known by the user's party members is selected for use. Does not select Assist, Baneful Bunker, Beak Blast, Belch, Bestow, Blazing Torque, Bounce, Celebrate, Chatter, Circle Throw, Combat Torque, Copycat, Counter, Covet, Destiny Bond, Detect, Dig, Dive, Dragon Tail, Endure, Feint, Fly, Focus Punch, Follow Me, Helping Hand, Hold Hands, King's Shield, Magical Torque, Mat Block, Me First, Metronome, Mimic, Mirror Coat, Mirror Move, Nature Power, Noxious Torque, Phantom Force, Protect, Rage Powder, Roar, Shadow Force, Shell Trap, Sketch, Sky Drop, Sleep Talk, Snatch, Spiky Shield, Spotlight, Struggle, Switcheroo, Thief, Transform, Trick, Whirlwind, or Wicked Torque.", + desc: "A random move among those known by the user's party members is selected for use. Does not select Assist, Baneful Bunker, Beak Blast, Belch, Bestow, Blazing Torque, Bounce, Celebrate, Chatter, Circle Throw, Combat Torque, Copycat, Counter, Covet, Destiny Bond, Detect, Dig, Dive, Dragon Tail, Endure, Feint, Fly, Focus Punch, Follow Me, Helping Hand, Hold Hands, King's Shield, Magical Torque, Mat Block, Me First, Metronome, Mimic, Mirror Coat, Mirror Move, Nature Power, Noxious Torque, Phantom Force, Protect, Rage Powder, Roar, Shadow Force, Shell Trap, Sketch, Sky Drop, Sleep Talk, Snatch, Spiky Shield, Spotlight, Struggle, Switcheroo, Tera Starstorm, Thief, Transform, Trick, Whirlwind, or Wicked Torque.", shortDesc: "Uses a random move known by a team member.", gen8: { desc: "A random move among those known by the user's party members is selected for use. Does not select Assist, Baneful Bunker, Beak Blast, Belch, Bestow, Bounce, Celebrate, Chatter, Circle Throw, Copycat, Counter, Covet, Destiny Bond, Detect, Dig, Dive, Dragon Tail, Endure, Feint, Fly, Focus Punch, Follow Me, Helping Hand, Hold Hands, King's Shield, Mat Block, Me First, Metronome, Mimic, Mirror Coat, Mirror Move, Nature Power, Phantom Force, Protect, Rage Powder, Roar, Shadow Force, Shell Trap, Sketch, Sky Drop, Sleep Talk, Snatch, Spiky Shield, Spotlight, Struggle, Switcheroo, Thief, Transform, Trick, or Whirlwind.", @@ -332,7 +337,7 @@ export const MovesText: {[k: string]: MoveText} = { }, banefulbunker: { name: "Baneful Bunker", - desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user become poisoned. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user become poisoned. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "Protects from moves. Contact: poison.", gen8: { desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user become poisoned. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", @@ -560,7 +565,7 @@ export const MovesText: {[k: string]: MoveText} = { }, bloodmoon: { name: "Blood Moon", - shortDesc: "Cannot be used twice in a row.", + shortDesc: "Cannot be selected the turn after it's used.", }, bloomdoom: { name: "Bloom Doom", @@ -762,6 +767,11 @@ export const MovesText: {[k: string]: MoveText} = { desc: "Hits two to five times. Has a 3/8 chance to hit two or three times, and a 1/8 chance to hit four or five times. If one of the hits breaks the target's substitute, it will take damage for the remaining hits.", }, }, + burningbulwark: { + name: "Burning Bulwark", + desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user become burned. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + shortDesc: "Protects from damaging attacks. Contact: burn.", + }, burningjealousy: { name: "Burning Jealousy", desc: "Has a 100% chance to burn the target if it had a stat stage raised this turn.", @@ -1050,7 +1060,7 @@ export const MovesText: {[k: string]: MoveText} = { }, copycat: { name: "Copycat", - desc: "The user uses the last move used by any Pokemon, including itself. Fails if no move has been used, or if the last move used was Assist, Baneful Bunker, Beak Blast, Behemoth Bash, Behemoth Blade, Belch, Bestow, Blazing Torque, Celebrate, Chatter, Circle Throw, Combat Torque, Copycat, Counter, Covet, Destiny Bond, Detect, Dragon Tail, Dynamax Cannon, Endure, Feint, Focus Punch, Follow Me, Helping Hand, Hold Hands, King's Shield, Magical Torque, Mat Block, Me First, Metronome, Mimic, Mirror Move, Nature Power, Noxious Torque, Protect, Rage Powder, Roar, Shell Trap, Sketch, Sleep Talk, Snatch, Spiky Shield, Spotlight, Struggle, Switcheroo, Thief, Transform, Trick, Whirlwind, or Wicked Torque.", + desc: "The user uses the last move used by any Pokemon, including itself. Fails if no move has been used, or if the last move used was Assist, Baneful Bunker, Beak Blast, Behemoth Bash, Behemoth Blade, Belch, Bestow, Blazing Torque, Celebrate, Chatter, Circle Throw, Combat Torque, Copycat, Counter, Covet, Destiny Bond, Detect, Dragon Tail, Dynamax Cannon, Endure, Feint, Focus Punch, Follow Me, Helping Hand, Hold Hands, King's Shield, Magical Torque, Mat Block, Me First, Metronome, Mimic, Mirror Move, Nature Power, Noxious Torque, Protect, Rage Powder, Roar, Shell Trap, Sketch, Sleep Talk, Snatch, Spiky Shield, Spotlight, Struggle, Switcheroo, Tera Starstorm, Thief, Transform, Trick, Whirlwind, or Wicked Torque.", shortDesc: "Uses the last move used in the battle.", gen8: { desc: "The user uses the last move used by any Pokemon, including itself. The base move of Max and G-Max Moves is considered for this purpose. Fails if no move has been used, or if the last move used was Assist, Baneful Bunker, Beak Blast, Behemoth Bash, Behemoth Blade, Belch, Bestow, Celebrate, Chatter, Circle Throw, Copycat, Counter, Covet, Destiny Bond, Detect, Dragon Tail, Dynamax Cannon, Endure, Feint, Focus Punch, Follow Me, Helping Hand, Hold Hands, King's Shield, Mat Block, Me First, Metronome, Mimic, Mirror Coat, Mirror Move, Nature Power, Protect, Rage Powder, Roar, Shell Trap, Sketch, Sleep Talk, Snatch, Spiky Shield, Spotlight, Struggle, Switcheroo, Thief, Transform, Trick, or Whirlwind.", @@ -1070,7 +1080,7 @@ export const MovesText: {[k: string]: MoveText} = { }, coreenforcer: { name: "Core Enforcer", - desc: "If the user moves after the target, the target's Ability is rendered ineffective as long as it remains active. If the target uses Baton Pass, the replacement will remain under this effect. If the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Zen Mode, or Zero to Hero, this effect does not happen, and receiving the effect through Baton Pass ends the effect immediately.", + desc: "If the user moves after the target, the target's Ability is rendered ineffective as long as it remains active. If the target uses Baton Pass, the replacement will remain under this effect. If the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Zen Mode, or Zero to Hero, this effect does not happen, and receiving the effect through Baton Pass ends the effect immediately.", shortDesc: "Nullifies the foe(s) Ability if the foe(s) move first.", gen8: { desc: "If the user moves after the target, the target's Ability is rendered ineffective as long as it remains active. If the target uses Baton Pass, the replacement will remain under this effect. If the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, or Zen Mode, this effect does not happen, and receiving the effect through Baton Pass ends the effect immediately.", @@ -1294,7 +1304,7 @@ export const MovesText: {[k: string]: MoveText} = { }, detect: { name: "Detect", - desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "Prevents moves from affecting the user this turn.", gen8: { desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", @@ -1420,7 +1430,7 @@ export const MovesText: {[k: string]: MoveText} = { }, doodle: { name: "Doodle", - desc: "The user and its ally's Abilities change to match the target's Ability. Does not change Ability if the user's or its ally's is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Zen Mode, Zero to Hero, or already matches the target. Fails if both the user and its ally's Ability already matches the target, or if the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Flower Gift, Forecast, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Wonder Guard, Zen Mode, or Zero to Hero.", + desc: "The user and its ally's Abilities change to match the target's Ability. Does not change Ability if the user's or its ally's is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Zen Mode, Zero to Hero, or already matches the target. Fails if both the user and its ally's Ability already matches the target, or if the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Flower Gift, Forecast, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Tera Shell, Tera Shift, Teraform Zero, Trace, Wonder Guard, Zen Mode, or Zero to Hero.", shortDesc: "User and ally's Abilities become target's Ability.", }, doomdesire: { @@ -1520,6 +1530,13 @@ export const MovesText: {[k: string]: MoveText} = { desc: "Has a 30% chance to paralyze the target.", shortDesc: "30% chance to paralyze the target.", }, + dragoncheer: { + name: "Dragon Cheer", + desc: "Raises the target's chance for a critical hit by 1 stage, or by 2 stages if the target is Dragon type. Fails if there is no ally adjacent to the user, or if the target already has this effect or the Focus Energy effect. Baton Pass can be used to transfer this effect to an ally.", + shortDesc: "Ally: Crit ratio +1, or +2 if ally is Dragon type.", + + start: "#focusenergy", + }, dragonclaw: { name: "Dragon Claw", shortDesc: "No additional effect.", @@ -1697,6 +1714,13 @@ export const MovesText: {[k: string]: MoveText} = { desc: "Damage is multiplied by 1.3333 if this move is super effective against the target.", shortDesc: "Deals 1.3333x damage with supereffective hits.", }, + electroshot: { + name: "Electro Shot", + desc: "This attack charges on the first turn and executes on the second. Raises the user's Special Attack by 1 stage on the first turn. If the user is holding a Power Herb or the weather is Primordial Sea or Rain Dance, the move completes in one turn. If the user is holding Utility Umbrella and the weather is Primordial Sea or Rain Dance, the move still requires a turn to charge.", + shortDesc: "Raises Sp. Atk by 1, hits turn 2. Rain: no charge.", + + prepare: "[POKEMON] absorbed electricity!", + }, electroweb: { name: "Electroweb", desc: "Has a 100% chance to lower the target's Speed by 1 stage.", @@ -1750,7 +1774,7 @@ export const MovesText: {[k: string]: MoveText} = { }, endure: { name: "Endure", - desc: "The user will survive attacks made by other Pokemon during this turn with at least 1 HP. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user will survive attacks made by other Pokemon during this turn with at least 1 HP. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "User survives attacks this turn with at least 1 HP.", gen8: { desc: "The user will survive attacks made by other Pokemon during this turn with at least 1 HP. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", @@ -1784,7 +1808,7 @@ export const MovesText: {[k: string]: MoveText} = { }, entrainment: { name: "Entrainment", - desc: "Causes the target's Ability to become the same as the user's. Fails if the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Truant, Zen Mode, Zero to Hero, or the same Ability as the user, or if the user's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Flower Gift, Forecast, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Zen Mode, or Zero to Hero.", + desc: "Causes the target's Ability to become the same as the user's. Fails if the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Truant, Zen Mode, or Zero to Hero, or the same Ability as the user, or if the user's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Flower Gift, Forecast, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Tera Shell, Tera Shift, Teraform Zero, Trace, Wonder Guard, Zen Mode, or Zero to Hero.", shortDesc: "The target's Ability changes to match the user's.", gen8: { desc: "Causes the target's Ability to become the same as the user's. Fails if the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Truant, Zen Mode, or the same Ability as the user, or if the user's Ability is As One, Battle Bond, Comatose, Disguise, Flower Gift, Forecast, Gulp Missile, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Power Construct, Power of Alchemy, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, or Zen Mode.", @@ -1934,6 +1958,12 @@ export const MovesText: {[k: string]: MoveText} = { shortDesc: "Raises user's Attack by 2 if this KOes the target.", }, }, + ficklebeam: { + name: "Fickle Beam", + shortDesc: "Has a 30% chance this move's power is doubled.", + + activate: " [POKEMON] is going all out for this attack!", + }, fierydance: { name: "Fiery Dance", desc: "Has a 50% chance to raise the user's Special Attack by 1 stage.", @@ -2350,7 +2380,7 @@ export const MovesText: {[k: string]: MoveText} = { }, gastroacid: { name: "Gastro Acid", - desc: "Causes the target's Ability to be rendered ineffective as long as it remains active. If the target uses Baton Pass, the replacement will remain under this effect. If the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Zen Mode, or Zero to Hero, this move fails, and receiving the effect through Baton Pass ends the effect immediately.", + desc: "Causes the target's Ability to be rendered ineffective as long as it remains active. If the target uses Baton Pass, the replacement will remain under this effect. If the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Zen Mode, or Zero to Hero, this move fails, and receiving the effect through Baton Pass ends the effect immediately.", shortDesc: "Nullifies the target's Ability.", gen8: { desc: "Causes the target's Ability to be rendered ineffective as long as it remains active. If the target uses Baton Pass, the replacement will remain under this effect. If the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, or Zen Mode, this move fails, and receiving the effect through Baton Pass ends the effect immediately.", @@ -2404,7 +2434,7 @@ export const MovesText: {[k: string]: MoveText} = { }, gigatonhammer: { name: "Gigaton Hammer", - shortDesc: "Cannot be used twice in a row.", + shortDesc: "Cannot be selected the turn after it's used.", }, gigavolthavoc: { name: "Gigavolt Havoc", @@ -2800,6 +2830,11 @@ export const MovesText: {[k: string]: MoveText} = { desc: "Raises the user's Defense by 1 stage.", shortDesc: "Raises the user's Defense by 1.", }, + hardpress: { + name: "Hard Press", + desc: "Power is equal to 100 * (target's current HP / target's maximum HP), rounded half down, but not less than 1.", + shortDesc: "More power the more HP the target has left.", + }, haze: { name: "Haze", desc: "Resets the stat stages of all active Pokemon to 0.", @@ -3396,7 +3431,7 @@ export const MovesText: {[k: string]: MoveText} = { }, kingsshield: { name: "King's Shield", - desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Attack lowered by 1 stage. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Attack lowered by 1 stage. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "Protects from damaging attacks. Contact: -1 Atk.", gen8: { desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Attack lowered by 1 stage. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", @@ -3763,6 +3798,11 @@ export const MovesText: {[k: string]: MoveText} = { desc: "Damage doubles and no accuracy check is done if the target has used Minimize while active.", shortDesc: "Damage doubles if the target used Minimize.", }, + malignantchain: { + name: "Malignant Chain", + desc: "Has a 50% chance to badly poison the target.", + shortDesc: "50% chance to badly poison the target.", + }, matblock: { name: "Mat Block", desc: "The user and its party members are protected from damaging attacks made by other Pokemon, including allies, during this turn. Fails unless it is the user's first turn on the field, if the user moves last this turn, or if this move is already in effect for the user's side.", @@ -3996,7 +4036,7 @@ export const MovesText: {[k: string]: MoveText} = { }, metronome: { name: "Metronome", - desc: "A random move is selected for use, other than After You, Apple Acid, Armor Cannon, Assist, Astral Barrage, Aura Wheel, Baneful Bunker, Beak Blast, Behemoth Bash, Behemoth Blade, Belch, Bestow, Blazing Torque, Body Press, Branch Poke, Breaking Swipe, Celebrate, Chatter, Chilling Water, Chilly Reception, Clangorous Soul, Collision Course, Combat Torque, Comeuppance, Copycat, Counter, Covet, Crafty Shield, Decorate, Destiny Bond, Detect, Diamond Storm, Doodle, Double Iron Bash, Double Shock, Dragon Ascent, Dragon Energy, Drum Beating, Dynamax Cannon, Electro Drift, Endure, Eternabeam, False Surrender, Feint, Fiery Wrath, Fillet Away, Fleur Cannon, Focus Punch, Follow Me, Freeze Shock, Freezing Glare, Glacial Lance, Grav Apple, Helping Hand, Hold Hands, Hyper Drill, Hyperspace Fury, Hyperspace Hole, Ice Burn, Instruct, Jet Punch, Jungle Healing, King's Shield, Life Dew, Light of Ruin, Magical Torque, Make It Rain, Mat Block, Me First, Meteor Assault, Metronome, Mimic, Mind Blown, Mirror Coat, Mirror Move, Moongeist Beam, Nature Power, Nature's Madness, Noxious Torque, Obstruct, Order Up, Origin Pulse, Overdrive, Photon Geyser, Plasma Fists, Population Bomb, Pounce, Power Shift, Precipice Blades, Protect, Pyro Ball, Quash, Quick Guard, Rage Fist, Rage Powder, Raging Bull, Raging Fury, Relic Song, Revival Blessing, Ruination, Salt Cure, Secret Sword, Shed Tail, Shell Trap, Silk Trap, Sketch, Sleep Talk, Snap Trap, Snarl, Snatch, Snore, Snowscape, Spectral Thief, Spicy Extract, Spiky Shield, Spirit Break, Spotlight, Springtide Storm, Steam Eruption, Steel Beam, Strange Steam, Struggle, Sunsteel Strike, Surging Strikes, Switcheroo, Techno Blast, Thief, Thousand Arrows, Thousand Waves, Thunder Cage, Thunderous Kick, Tidy Up, Trailblaze, Transform, Trick, Twin Beam, V-create, Wicked Blow, Wicked Torque, or Wide Guard.", + desc: "A random move is selected for use, other than After You, Apple Acid, Armor Cannon, Assist, Astral Barrage, Aura Wheel, Baneful Bunker, Beak Blast, Behemoth Bash, Behemoth Blade, Belch, Bestow, Blazing Torque, Body Press, Branch Poke, Breaking Swipe, Celebrate, Chatter, Chilling Water, Chilly Reception, Clangorous Soul, Collision Course, Combat Torque, Comeuppance, Copycat, Counter, Covet, Crafty Shield, Decorate, Destiny Bond, Detect, Diamond Storm, Doodle, Double Iron Bash, Double Shock, Dragon Ascent, Dragon Energy, Drum Beating, Dynamax Cannon, Electro Drift, Endure, Eternabeam, False Surrender, Feint, Fiery Wrath, Fillet Away, Fleur Cannon, Focus Punch, Follow Me, Freeze Shock, Freezing Glare, Glacial Lance, Grav Apple, Helping Hand, Hold Hands, Hyper Drill, Hyperspace Fury, Hyperspace Hole, Ice Burn, Instruct, Jet Punch, Jungle Healing, King's Shield, Life Dew, Light of Ruin, Magical Torque, Make It Rain, Mat Block, Me First, Meteor Assault, Metronome, Mimic, Mind Blown, Mirror Coat, Mirror Move, Moongeist Beam, Nature Power, Nature's Madness, Noxious Torque, Obstruct, Order Up, Origin Pulse, Overdrive, Photon Geyser, Plasma Fists, Population Bomb, Pounce, Power Shift, Precipice Blades, Protect, Pyro Ball, Quash, Quick Guard, Rage Fist, Rage Powder, Raging Bull, Raging Fury, Relic Song, Revival Blessing, Ruination, Salt Cure, Secret Sword, Shed Tail, Shell Trap, Silk Trap, Sketch, Sleep Talk, Snap Trap, Snarl, Snatch, Snore, Snowscape, Spectral Thief, Spicy Extract, Spiky Shield, Spirit Break, Spotlight, Springtide Storm, Steam Eruption, Steel Beam, Strange Steam, Struggle, Sunsteel Strike, Surging Strikes, Switcheroo, Techno Blast, Tera Starstorm, Thief, Thousand Arrows, Thousand Waves, Thunder Cage, Thunderous Kick, Tidy Up, Trailblaze, Transform, Trick, Twin Beam, V-create, Wicked Blow, Wicked Torque, or Wide Guard.", shortDesc: "Picks a random move.", gen8: { desc: "A random move is selected for use, other than After You, Apple Acid, Assist, Astral Barrage, Aura Wheel, Baneful Bunker, Beak Blast, Behemoth Bash, Behemoth Blade, Belch, Bestow, Body Press, Branch Poke, Breaking Swipe, Celebrate, Chatter, Clangorous Soul, Copycat, Counter, Covet, Crafty Shield, Decorate, Destiny Bond, Detect, Diamond Storm, Double Iron Bash, Dragon Ascent, Dragon Energy, Dragon Hammer, Drum Beating, Dynamax Cannon, Endure, Eternabeam, False Surrender, Feint, Fiery Wrath, Fleur Cannon, Focus Punch, Follow Me, Freeze Shock, Freezing Glare, Glacial Lance, Grav Apple, Helping Hand, Hold Hands, Hyperspace Fury, Hyperspace Hole, Ice Burn, Instruct, Jungle Healing, King's Shield, Life Dew, Light of Ruin, Mat Block, Me First, Meteor Assault, Metronome, Mimic, Mind Blown, Mirror Coat, Mirror Move, Moongeist Beam, Nature Power, Nature's Madness, Obstruct, Origin Pulse, Overdrive, Photon Geyser, Plasma Fists, Precipice Blades, Protect, Pyro Ball, Quash, Quick Guard, Rage Powder, Relic Song, Secret Sword, Shell Trap, Sketch, Sleep Talk, Snap Trap, Snarl, Snatch, Snore, Spectral Thief, Spiky Shield, Spirit Break, Spotlight, Steam Eruption, Steel Beam, Strange Steam, Struggle, Sunsteel Strike, Surging Strikes, Switcheroo, Techno Blast, Thief, Thousand Arrows, Thousand Waves, Thunder Cage, Thunderous Kick, Transform, Trick, V-create, Wicked Blow, or Wide Guard.", @@ -4025,6 +4065,10 @@ export const MovesText: {[k: string]: MoveText} = { move: "Waggling a finger let it use [MOVE]!", }, + mightycleave: { + name: "Mighty Cleave", + shortDesc: "Bypasses protection without breaking it.", + }, milkdrink: { name: "Milk Drink", desc: "The user restores 1/2 of its maximum HP, rounded half up.", @@ -4035,7 +4079,7 @@ export const MovesText: {[k: string]: MoveText} = { }, mimic: { name: "Mimic", - desc: "While the user remains active, this move is replaced by the last move used by the target. The copied move has the maximum PP for that move. Fails if the target has not made a move, if the user has Transformed, if the user already knows the move, or if the move is Assist, Behemoth Bash, Behemoth Blade, Belch, Blazing Torque, Celebrate, Chatter, Combat Torque, Copycat, Dynamax Cannon, Hold Hands, Magical Torque, Me First, Metronome, Mimic, Mirror Move, Nature Power, Noxious Torque, Sketch, Sleep Talk, Struggle, Transform, or Wicked Torque.", + desc: "While the user remains active, this move is replaced by the last move used by the target. The copied move has the maximum PP for that move. Fails if the target has not made a move, if the user has Transformed, if the user already knows the move, or if the move is Assist, Behemoth Bash, Behemoth Blade, Belch, Blazing Torque, Celebrate, Chatter, Combat Torque, Copycat, Dynamax Cannon, Hold Hands, Magical Torque, Me First, Metronome, Mimic, Mirror Move, Nature Power, Noxious Torque, Sketch, Sleep Talk, Struggle, Tera Starstorm, Transform, or Wicked Torque.", shortDesc: "The last move the target used replaces this one.", gen8: { desc: "While the user remains active, this move is replaced by the last move used by the target. The copied move has the maximum PP for that move. Fails if the target has not made a move, if the user has Transformed, if the user already knows the move, or if the move is Behemoth Bash, Behemoth Blade, Chatter, Dynamax Cannon, Mimic, Sketch, Struggle, Transform, or any Max or G-Max Move.", @@ -4410,7 +4454,7 @@ export const MovesText: {[k: string]: MoveText} = { }, obstruct: { name: "Obstruct", - desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Defense lowered by 2 stages. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Defense lowered by 2 stages. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "Protects from damaging attacks. Contact: -2 Def.", gen8: { desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Defense lowered by 2 stages. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", @@ -4780,7 +4824,7 @@ export const MovesText: {[k: string]: MoveText} = { }, protect: { name: "Protect", - desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "Prevents moves from affecting the user this turn.", gen8: { desc: "The user is protected from most attacks made by other Pokemon during this turn. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", @@ -4839,6 +4883,11 @@ export const MovesText: {[k: string]: MoveText} = { desc: "If this attack does not miss, the effects of Reflect, Light Screen, and Aurora Veil end for the target's side of the field before damage is calculated.", shortDesc: "Destroys screens, unless the target is immune.", }, + psychicnoise: { + name: "Psychic Noise", + desc: "For 2 turns, the target is prevented from restoring any HP as long as it remains active. During the effect, healing and draining moves are unusable, and Abilities and items that grant healing will not heal the user. If an affected Pokemon uses Baton Pass, the replacement will remain unable to restore its HP. Pain Split and the Regenerator Ability are unaffected.", + shortDesc: "For 2 turns, the target is prevented from healing.", + }, psychicterrain: { name: "Psychic Terrain", desc: "For 5 turns, the terrain becomes Psychic Terrain. During the effect, the power of Psychic-type attacks made by grounded Pokemon is multiplied by 1.3 and grounded Pokemon cannot be hit by moves with priority greater than 0, unless the target is an ally. Camouflage transforms the user into a Psychic type, Nature Power becomes Psychic, and Secret Power has a 30% chance to lower the target's Speed by 1 stage. Fails if the current terrain is Psychic Terrain.", @@ -4946,7 +4995,7 @@ export const MovesText: {[k: string]: MoveText} = { }, quickguard: { name: "Quick Guard", - desc: "The user and its party members are protected from attacks with original or altered priority greater than 0 made by other Pokemon, including allies, during this turn. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.", + desc: "The user and its party members are protected from attacks with original or altered priority greater than 0 made by other Pokemon, including allies, during this turn. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.", shortDesc: "Protects allies from priority attacks this turn.", gen8: { desc: "The user and its party members are protected from attacks with original or altered priority greater than 0 made by other Pokemon, including allies, during this turn. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.", @@ -5285,7 +5334,7 @@ export const MovesText: {[k: string]: MoveText} = { }, roleplay: { name: "Role Play", - desc: "The user's Ability changes to match the target's Ability. Fails if the user's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Zen Mode, Zero to Hero, or already matches the target, or if the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Flower Gift, Forecast, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Wonder Guard, Zen Mode, or Zero to Hero.", + desc: "The user's Ability changes to match the target's Ability. Fails if the user's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Zen Mode, Zero to Hero, or already matches the target, or if the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Flower Gift, Forecast, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Power of Alchemy, Protosynthesis, Quark Drive, Receiver, RKS System, Schooling, Shields Down, Stance Change, Tera Shell, Tera Shift, Teraform Zero, Trace, Wonder Guard, Zen Mode, or Zero to Hero.", shortDesc: "User replaces its Ability with the target's.", gen8: { desc: "The user's Ability changes to match the target's Ability. Fails if the user's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Zen Mode, or already matches the target, or if the target's Ability is As One, Battle Bond, Comatose, Disguise, Flower Gift, Forecast, Gulp Missile, Hunger Switch, Ice Face, Illusion, Imposter, Multitype, Neutralizing Gas, Power Construct, Power of Alchemy, Receiver, RKS System, Schooling, Shields Down, Stance Change, Trace, Wonder Guard, or Zen Mode.", @@ -5657,7 +5706,7 @@ export const MovesText: {[k: string]: MoveText} = { }, silktrap: { name: "Silk Trap", - desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Speed lowered by 1 stage. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon trying to make contact with the user have their Speed lowered by 1 stage. Non-damaging moves go through this protection. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "Protects from damaging attacks. Contact: -1 Spe.", }, silverwind: { @@ -5667,7 +5716,7 @@ export const MovesText: {[k: string]: MoveText} = { }, simplebeam: { name: "Simple Beam", - desc: "Causes the target's Ability to become Simple. Fails if the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Simple, Stance Change, Truant, Zen Mode, or Zero to Hero.", + desc: "Causes the target's Ability to become Simple. Fails if the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Simple, Stance Change, Tera Shift, Truant, Zen Mode, or Zero to Hero.", shortDesc: "The target's Ability becomes Simple.", gen8: { desc: "Causes the target's Ability to become Simple. Fails if the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Multitype, Power Construct, RKS System, Schooling, Shields Down, Simple, Stance Change, Truant, or Zen Mode.", @@ -5711,7 +5760,7 @@ export const MovesText: {[k: string]: MoveText} = { }, skillswap: { name: "Skill Swap", - desc: "The user swaps its Ability with the target's Ability. Fails if either the user or the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Hunger Switch, Ice Face, Illusion, Multitype, Neutralizing Gas, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Wonder Guard, Zen Mode, or Zero to Hero.", + desc: "The user swaps its Ability with the target's Ability. Fails if either the user or the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Embody Aspect, Hunger Switch, Ice Face, Illusion, Multitype, Neutralizing Gas, Poison Puppeteer, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Tera Shell, Tera Shift, Teraform Zero, Wonder Guard, Zen Mode, or Zero to Hero.", shortDesc: "The user and the target trade Abilities.", gen8: { desc: "The user swaps its Ability with the target's Ability. Fails if either the user or the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Hunger Switch, Ice Face, Illusion, Multitype, Neutralizing Gas, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Wonder Guard, or Zen Mode.", @@ -6102,7 +6151,7 @@ export const MovesText: {[k: string]: MoveText} = { }, spikyshield: { name: "Spiky Shield", - desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user lose 1/8 of their maximum HP, rounded down. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", + desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user lose 1/8 of their maximum HP, rounded down. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", shortDesc: "Protects from moves. Contact: loses 1/8 max HP.", gen8: { desc: "The user is protected from most attacks made by other Pokemon during this turn, and Pokemon making contact with the user lose 1/8 of their maximum HP, rounded down. This move has a 1/X chance of being successful, where X starts at 1 and triples each time this move is successfully used. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn.", @@ -6440,6 +6489,13 @@ export const MovesText: {[k: string]: MoveText} = { desc: "This move and its effects ignore the Abilities of other Pokemon.", shortDesc: "Ignores the Abilities of other Pokemon.", }, + supercellslam: { + name: "Supercell Slam", + desc: "If this attack is not successful, the user loses half of its maximum HP, rounded down, as crash damage. Pokemon with the Magic Guard Ability are unaffected by crash damage.", + shortDesc: "User is hurt by 50% of its max HP if it misses.", + + damage: "#crash", + }, superfang: { name: "Super Fang", desc: "Deals damage to the target equal to half of its current HP, rounded down, but not less than 1 HP.", @@ -6587,6 +6643,11 @@ export const MovesText: {[k: string]: MoveText} = { name: "Tackle", shortDesc: "No additional effect.", }, + tachyoncutter: { + name: "Tachyon Cutter", + desc: "Hits twice. If the first hit breaks the target's substitute, it will take damage for the second hit. This move does not check accuracy.", + shortDesc: "Hits twice. This move does not check accuracy.", + }, tailglow: { name: "Tail Glow", desc: "Raises the user's Special Attack by 3 stages.", @@ -6723,11 +6784,21 @@ export const MovesText: {[k: string]: MoveText} = { shortDesc: "Fails when used.", }, }, + temperflare: { + name: "Temper Flare", + desc: "Power doubles if the user's last move on the previous turn, including moves called by other moves or those used through Instruct, Magic Coat, Snatch, or the Dancer or Magic Bounce Abilities, failed to do any of its normal effects, not including damage from an unsuccessful High Jump Kick, Jump Kick, or Mind Blown, or if the user was prevented from moving by any effect other than recharging or Sky Drop. A move that was blocked by Baneful Bunker, Detect, King's Shield, Protect, Spiky Shield, Crafty Shield, Mat Block, Quick Guard, or Wide Guard will not double this move's power, nor will Bounce or Fly ending early due to the effect of Gravity, Smack Down, or Thousand Arrows.", + shortDesc: "Power doubles if the user's last move failed.", + }, terablast: { name: "Tera Blast", - desc: "If the user is Terastallized, this move becomes a physical attack if the user's Attack is greater than its Special Attack, including stat stage changes, and this move's type becomes the same as the user's Tera Type.", + desc: "If the user is Terastallized, this move becomes a physical attack if the user's Attack is greater than its Special Attack, including stat stage changes, and this move's type becomes the same as the user's Tera Type. In addition, if the user's Tera Type is Stellar, this move has 100 power, is super effective against Terastallized targets and neutral against other targets, and lowers the user's Attack and Special Attack by 1 stage.", shortDesc: "If Terastallized: Phys. if Atk > SpA, type = Tera.", }, + terastarstorm: { + name: "Tera Starstorm", + desc: "If the user is a Terapagos in Stellar Form, this move's type becomes Stellar and hits all opposing Pokemon.", + shortDesc: "Terapagos-Stellar: Stellar type, hits both foes.", + }, terrainpulse: { name: "Terrain Pulse", desc: "Power doubles if the user is grounded and a terrain is active, and this move's type changes to match. Electric type during Electric Terrain, Grass type during Grassy Terrain, Fairy type during Misty Terrain, and Psychic type during Psychic Terrain.", @@ -6833,6 +6904,11 @@ export const MovesText: {[k: string]: MoveText} = { start: " [SOURCE] trapped [POKEMON]!", }, + thunderclap: { + name: "Thunderclap", + desc: "Fails if the target did not select a physical attack, special attack, or Me First for use this turn, or if the target moves before the user.", + shortDesc: "Usually goes first. Fails if target is not attacking.", + }, thunderfang: { name: "Thunder Fang", desc: "Has a 10% chance to paralyze the target and a 10% chance to make it flinch.", @@ -7077,6 +7153,11 @@ export const MovesText: {[k: string]: MoveText} = { switchOut: "[POKEMON] went back to [TRAINER]!", }, + upperhand: { + name: "Upper Hand", + desc: "Has a 100% chance to make the target flinch. Fails if the target did not select a priority move for use this turn, or if the target moves before the user.", + shortDesc: "100% flinch. Fails unless target using priority.", + }, uproar: { name: "Uproar", desc: "The user spends three turns locked into this move. This move targets an opponent at random on each turn. On the first of the three turns, all sleeping active Pokemon wake up. During the three turns, no active Pokemon can fall asleep by any means, and Pokemon switched in during the effect do not wake up. If the user is prevented from moving or the attack is not successful against the target during one of the turns, the effect ends.", @@ -7298,7 +7379,7 @@ export const MovesText: {[k: string]: MoveText} = { }, wideguard: { name: "Wide Guard", - desc: "The user and its party members are protected from moves made by other Pokemon, including allies, during this turn that target all adjacent foes or all adjacent Pokemon. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.", + desc: "The user and its party members are protected from moves made by other Pokemon, including allies, during this turn that target all adjacent foes or all adjacent Pokemon. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Burning Bulwark, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Silk Trap, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.", shortDesc: "Protects allies from multi-target moves this turn.", gen8: { desc: "The user and its party members are protected from moves made by other Pokemon, including allies, during this turn that target all adjacent foes or all adjacent Pokemon. This move modifies the same 1/X chance of being successful used by other protection moves, where X starts at 1 and triples each time this move is successfully used, but does not use the chance to check for failure. X resets to 1 if this move fails, if the user's last move used is not Baneful Bunker, Detect, Endure, King's Shield, Max Guard, Obstruct, Protect, Quick Guard, Spiky Shield, or Wide Guard, or if it was one of those moves and the user's protection was broken. Fails if the user moves last this turn or if this move is already in effect for the user's side.", @@ -7373,7 +7454,7 @@ export const MovesText: {[k: string]: MoveText} = { }, worryseed: { name: "Worry Seed", - desc: "Causes the target's Ability to become Insomnia. Fails if the target's Ability is As One, Battle Bond, Comatose, Commander, Disguise, Gulp Missile, Hadron Engine, Ice Face, Insomnia, Multitype, Orichalcum Pulse, Power Construct, Protosynthesis, Quark Drive, RKS System, Schooling, Shields Down, Stance Change, Truant, Zen Mode, or Zero to Hero.", + desc: "Causes the target's Ability to become Insomnia. Fails if the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Insomnia, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Tera Shift, Truant, Zen Mode, or Zero to Hero.", shortDesc: "The target's Ability becomes Insomnia.", gen8: { desc: "Causes the target's Ability to become Insomnia. Fails if the target's Ability is As One, Battle Bond, Comatose, Disguise, Gulp Missile, Ice Face, Insomnia, Multitype, Power Construct, RKS System, Schooling, Shields Down, Stance Change, Truant, or Zen Mode.", diff --git a/data/typechart.ts b/data/typechart.ts index 43f0d19c3a52..fb4ebc08a63f 100644 --- a/data/typechart.ts +++ b/data/typechart.ts @@ -18,6 +18,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 1, Steel: 0, + Stellar: 0, Water: 0, }, HPivs: {atk: 30, def: 30, spd: 30}, @@ -43,6 +44,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 3, Rock: 0, Steel: 0, + Stellar: 0, Water: 0, }, HPivs: {}, @@ -66,6 +68,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 0, + Stellar: 0, Water: 2, }, HPivs: {atk: 30}, @@ -91,6 +94,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 2, + Stellar: 0, Water: 0, }, HPivs: {spa: 30}, @@ -115,6 +119,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 1, + Stellar: 0, Water: 0, }, }, @@ -137,6 +142,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 1, Rock: 2, Steel: 0, + Stellar: 0, Water: 0, }, HPivs: {def: 30, spa: 30, spd: 30, spe: 30}, @@ -162,6 +168,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 1, Steel: 2, + Stellar: 0, Water: 1, }, HPivs: {atk: 30, spa: 30, spe: 30}, @@ -186,6 +193,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 1, Steel: 0, + Stellar: 0, Water: 0, }, HPivs: {hp: 30, atk: 30, def: 30, spa: 30, spd: 30}, @@ -211,6 +219,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 0, + Stellar: 0, Water: 0, }, HPivs: {def: 30, spd: 30}, @@ -236,6 +245,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 0, + Stellar: 0, Water: 2, }, HPivs: {atk: 30, spa: 30}, @@ -261,6 +271,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 2, Steel: 0, + Stellar: 0, Water: 1, }, HPivs: {spa: 30, spd: 30}, @@ -287,6 +298,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 1, Steel: 1, + Stellar: 0, Water: 0, }, HPivs: {atk: 30, def: 30}, @@ -311,6 +323,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 0, + Stellar: 0, Water: 0, }, }, @@ -335,6 +348,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 1, Rock: 0, Steel: 0, + Stellar: 0, Water: 0, }, HPivs: {def: 30, spa: 30, spd: 30}, @@ -359,6 +373,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 2, Rock: 0, Steel: 0, + Stellar: 0, Water: 0, }, HPivs: {atk: 30, spe: 30}, @@ -384,6 +399,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 1, + Stellar: 0, Water: 1, }, HPivs: {def: 30, spd: 30, spe: 30}, @@ -411,11 +427,35 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 2, Rock: 2, Steel: 2, + Stellar: 0, Water: 0, }, HPivs: {spd: 30}, HPdvs: {atk: 13}, }, + stellar: { + damageTaken: { + Bug: 0, + Dark: 0, + Dragon: 0, + Electric: 0, + Fairy: 0, + Fighting: 0, + Fire: 0, + Flying: 0, + Ghost: 0, + Grass: 0, + Ground: 0, + Ice: 0, + Normal: 0, + Poison: 0, + Psychic: 0, + Rock: 0, + Steel: 0, + Stellar: 0, + Water: 0, + }, + }, water: { damageTaken: { Bug: 0, @@ -435,6 +475,7 @@ export const TypeChart: {[k: string]: TypeData} = { Psychic: 0, Rock: 0, Steel: 2, + Stellar: 0, Water: 2, }, HPivs: {atk: 30, def: 30, spa: 30}, diff --git a/databases/schemas/roomlogs.sql b/databases/schemas/roomlogs.sql new file mode 100644 index 000000000000..6554f654a024 --- /dev/null +++ b/databases/schemas/roomlogs.sql @@ -0,0 +1,22 @@ +CREATE TABLE public.roomlogs ( + type STRING NOT NULL, + roomid STRING NOT NULL, + userid STRING NULL, + time TIMESTAMP(6) NOT NULL, + log STRING NOT NULL, + INDEX linecount (userid, roomid, time), + INDEX month (roomid, time), + INDEX type (roomid, type, time), + INDEX rename_idx (roomid) +); +-- computed columns have to be added after apparently +ALTER TABLE roomlogs ADD COLUMN content TSVECTOR AS (to_tsvector('english', log)) STORED; + +CREATE TABLE public.roomlog_dates ( + roomid STRING NOT NULL, + -- YYYY-MM + month STRING NOT NULL, + -- YYYY-MM-DD + date STRING NOT NULL, + PRIMARY KEY (roomid, date) +); \ No newline at end of file diff --git a/lib/STREAMS.md b/lib/STREAMS.md index 078bded666f5..aa95dcc2526f 100644 --- a/lib/STREAMS.md +++ b/lib/STREAMS.md @@ -3,7 +3,7 @@ Streams Streams are variables used to interact with large amounts of data without needing to keep it all loaded in RAM. -A stream is used where you would normally use a string, Buffer, or Array, but only part of it is kept in memory at once. +You can think of a `ReadStream` as like a function that returns a string/Buffer, but only a little at a time, and a `WriteStream` as like a function that takes a string/Buffer as input, but only a little at a time. An `ObjectReadStream` is like a function that takes an array as input, but only a little at a time, and an `ObjectWriteStream` is like a function that returns an array, but only a little at a time. Node.js comes with built-in support for streams, and there is also a WHATWG Streams spec (which are incompatible, of course). Both APIs are hard to use and have unnecessary amounts of boilerplate; the Node version more so. This API can wrap Node's API, or it can be used independently, and is a lot easier to use. @@ -13,11 +13,15 @@ An overview: - `ReadStream` is a string/Buffer read stream. Read inputs by line with `readStream.readLine()` or by chunk with `readStream.read()`, or pipe inputs to a `WriteStream` with `readStream.pipe(writeStream)`. - `ReadWriteStream` is a string/Buffer read/write stream. +- `ObjectWriteStream` is a write stream for arbitrary objects. Write to it with `writeStream.write(data)`. +- `ObjectReadStream` is a read stream for arbitrary objects. Read inputs by line with `readStream.readLine()` or by chunk with `readStream.read()`, or pipe inputs to a `WriteStream` with `readStream.pipe(writeStream)`. +- `ObjectReadWriteStream` is a read/write stream for arbitrary objects. + These streams are not API-compatible with Node streams, but can wrap them. -Consuming streams ------------------ +Using streams +------------- ### "override encoding" @@ -28,20 +32,36 @@ However, if for some reason you need to change which encoding you use on a per-r ## Interface: WriteStream -A `WriteStream` can be written to. +A `WriteStream` can be written to. You can think of it like a function taking a string/Buffer as an argument, except you can give it the string/Buffer one chunk at a time, instead of all at once. + +So you can think of these as being the same thing: + +```js +// option 1: do it normally +await FS('file.txt').write("Here are some words.\n"); + +// option 2: do it as a stream +const stream = FS('file.txt').createWriteStream(); +await stream.write("Here a"); +await stream.write("re some "); +await stream.write("words.\n"); // OR: await stream.writeLine("words."); +await stream.writeEnd(); +``` + +The stream version lets you do it a bit at a time instead of all at once, so you use less memory. ### writeStream.write(chunk, [encoding]) * `chunk` {string|Buffer|null} data to write -* `encoding` [override encoding][] +* `encoding` [override encoding](#override-encoding) * Returns: {Promise} for the next time it's safe to write to the `writeStream`. -Writes to the stream. `writeStream.write(null)` is equivalent to `writeStream.end()`. +Writes to the stream. `writeStream.write(null)` is equivalent to `writeStream.writeEnd()`. ### writeStream.writeLine(chunk, [encoding]) * `chunk` {string} data -* `encoding` [override encoding][] +* `encoding` [override encoding](#override-encoding) * Returns: {Promise} for the next time it's safe to write to the `writeStream`. Writes a line to the stream. Equivalent to `writeStream.write(chunk + '\n')`. @@ -57,11 +77,38 @@ This tells the write stream that you're done writing to it. In the Buffer/string ## Interface: ReadStream -A `ReadStream` can be read from. +A `ReadStream` can be read from. You can think of it like a function that returns a string/Buffer, except you can read it out one chunk at a time, instead of all at once. + +So you can think of these as being the same thing: + +```js +// option 1: do it normally +const contents1 = await FS('file.txt').read(); +console.log(contents1); + +// option 3: do it as a stream +const stream = FS('file.txt').createReadStream(); +let contents2 = ''; +let chunk; +while ((chunk = await stream.read()) !== null) { + contents2 += chunk; +} +console.log(contents2); + +// option 2: do it as a stream, by line (this can add an ending \n where there wasn't one before) +const stream = FS('file.txt').createReadStream(); +let contents3 = ''; +for await (const line of stream.byLine()) { + contents3 += line + '\n'; +} +console.log(contents3); +``` + +The stream version lets you do it a bit at a time instead of all at once, so you use less memory (this example doesn't use less memory, since we're just building the full string ourselves, but you can imagine doing something else that doesn't just build the string back). ### readStream.read([encoding]) -* `encoding` [override encoding][] +* `encoding` [override encoding](#override-encoding) * Returns: {Promise} the data read. Reads data from the read stream as fast as possible. @@ -75,7 +122,7 @@ There's rarely a need to use this function directly; you either know how many by ### readStream.read(byteCount, [encoding]) * `byteCount` number of bytes to read -* `encoding` [override encoding][] +* `encoding` [override encoding](#override-encoding) * Returns: {Promise} the data read. Reads `byteCount` bytes from the read stream. @@ -88,7 +135,7 @@ You may also set `byteCount` to `null` to make this behave like `readStream.read ### readStream.readLine([encoding]) -* `encoding` [override encoding][] +* `encoding` [override encoding](#override-encoding) * Returns: {Promise} the data read. Reads a line (a string delimited by `\n` or `\r\n`) from the stream. @@ -97,7 +144,7 @@ The equivalent of `readDelimitedBy('\n')`, but chopping off any trailing `\r` fr ### readStream.readDelimitedBy(delimiter, [encoding]) -* `encoding` [override encoding][] +* `encoding` [override encoding](#override-encoding) * Returns: {Promise} the data read. Reads a line delimited by `delimiter` from the stream. diff --git a/lib/crashlogger.ts b/lib/crashlogger.ts index 0dc1a53ca207..ba01b148a925 100644 --- a/lib/crashlogger.ts +++ b/lib/crashlogger.ts @@ -15,7 +15,8 @@ const CRASH_EMAIL_THROTTLE = 5 * 60 * 1000; // 5 minutes const logPath = path.resolve( // not sure why this is necessary, but in Windows testing it was - __dirname, '../', __dirname.includes(`${path.sep}dist${path.sep}`) ? '..' : '', 'logs/errors.txt' + __dirname, '../', __dirname.includes(`${path.sep}dist${path.sep}`) ? '..' : '', + path.join(global.Config?.logsdir || 'logs', 'errors.txt') ); let lastCrashLog = 0; let transport: any; diff --git a/lib/database.ts b/lib/database.ts new file mode 100644 index 000000000000..f14bb5b91b2a --- /dev/null +++ b/lib/database.ts @@ -0,0 +1,395 @@ +/** + * Database abstraction layer that's vaguely ORM-like. + * Modern (Promises, strict types, tagged template literals), but ORMs + * are a bit _too_ magical for me, so none of that magic here. + * + * @author Zarel + */ + +import * as mysql from 'mysql2'; +import * as pg from 'pg'; + +export type BasicSQLValue = string | number | null; +// eslint-disable-next-line +export type SQLRow = {[k: string]: BasicSQLValue}; +export type SQLValue = BasicSQLValue | SQLStatement | PartialOrSQL | BasicSQLValue[] | undefined; + +export function isSQL(value: any): value is SQLStatement { + /** + * This addresses a scenario where objects get out of sync due to hotpatching. + * Table A is instantiated, and retains SQLStatement at that specific point in time. Consumer A is also instantiated at + * the same time, and both can interact freely, since consumer A and table A share the same reference to SQLStatement. + * However, when consumer A is hotpatched, consumer A imports a new instance of SQLStatement. Thus, when consumer A + * provides that new SQLStatement, it does not pass the `instanceof SQLStatement` check in Table A, + * since table A is still referencing he old SQLStatement (checking that the new is an instance of the old). + * This does not work. Thus, we're forced to check constructor name instead. + */ + return value instanceof SQLStatement || ( + // assorted safety checks to be sure it'll actually work (theoretically preventing certain attacks) + value?.constructor.name === 'SQLStatement' && (Array.isArray(value.sql) && Array.isArray(value.values)) + ); +} + +export class SQLStatement { + sql: string[]; + values: BasicSQLValue[]; + constructor(strings: TemplateStringsArray, values: SQLValue[]) { + this.sql = [strings[0]]; + this.values = []; + for (let i = 0; i < strings.length; i++) { + this.append(values[i], strings[i + 1]); + } + } + append(value: SQLValue, nextString = ''): this { + if (isSQL(value)) { + if (!value.sql.length) return this; + const oldLength = this.sql.length; + this.sql = this.sql.concat(value.sql.slice(1)); + this.sql[oldLength - 1] += value.sql[0]; + this.values = this.values.concat(value.values); + if (nextString) this.sql[this.sql.length - 1] += nextString; + } else if (typeof value === 'string' || typeof value === 'number' || value === null) { + this.values.push(value); + this.sql.push(nextString); + } else if (value === undefined) { + this.sql[this.sql.length - 1] += nextString; + } else if (Array.isArray(value)) { + if ('"`'.includes(this.sql[this.sql.length - 1].slice(-1))) { + // "`a`, `b`" syntax + const quoteChar = this.sql[this.sql.length - 1].slice(-1); + for (const col of value) { + this.append(col, `${quoteChar}, ${quoteChar}`); + } + this.sql[this.sql.length - 1] = this.sql[this.sql.length - 1].slice(0, -4) + nextString; + } else { + // "1, 2" syntax + for (const val of value) { + this.append(val, `, `); + } + this.sql[this.sql.length - 1] = this.sql[this.sql.length - 1].slice(0, -2) + nextString; + } + } else if (this.sql[this.sql.length - 1].endsWith('(')) { + // "(`a`, `b`) VALUES (1, 2)" syntax + this.sql[this.sql.length - 1] += `"`; + for (const col in value) { + this.append(col, `", "`); + } + this.sql[this.sql.length - 1] = this.sql[this.sql.length - 1].slice(0, -4) + `") VALUES (`; + for (const col in value) { + this.append(value[col], `, `); + } + this.sql[this.sql.length - 1] = this.sql[this.sql.length - 1].slice(0, -2) + nextString; + } else if (this.sql[this.sql.length - 1].toUpperCase().endsWith(' SET ')) { + // "`a` = 1, `b` = 2" syntax + this.sql[this.sql.length - 1] += `"`; + for (const col in value) { + this.append(col, `" = `); + this.append(value[col], `, "`); + } + this.sql[this.sql.length - 1] = this.sql[this.sql.length - 1].slice(0, -3) + nextString; + } else { + throw new Error( + `Objects can only appear in (obj) or after SET; ` + + `unrecognized: ${this.sql[this.sql.length - 1]}[obj]${nextString}` + ); + } + return this; + } +} + +/** + * Tag function for SQL, with some magic. + * + * * `` SQL`UPDATE table SET a = ${'hello"'}` `` + * * `` `UPDATE table SET a = 'hello'` `` + * + * Values surrounded by `"` or `` ` `` become identifiers: + * + * * ``` SQL`SELECT * FROM "${'table'}"` ``` + * * `` `SELECT * FROM "table"` `` + * + * (Make sure to use `"` for Postgres and `` ` `` for MySQL.) + * + * Objects preceded by SET become setters: + * + * * `` SQL`UPDATE table SET ${{a: 1, b: 2}}` `` + * * `` `UPDATE table SET "a" = 1, "b" = 2` `` + * + * Objects surrounded by `()` become keys and values: + * + * * `` SQL`INSERT INTO table (${{a: 1, b: 2}})` `` + * * `` `INSERT INTO table ("a", "b") VALUES (1, 2)` `` + * + * Arrays become lists; surrounding by `"` or `` ` `` turns them into lists of names: + * + * * `` SQL`INSERT INTO table ("${['a', 'b']}") VALUES (${[1, 2]})` `` + * * `` `INSERT INTO table ("a", "b") VALUES (1, 2)` `` + */ +export function SQL(strings: TemplateStringsArray, ...values: SQLValue[]) { + return new SQLStatement(strings, values); +} + +export interface ResultRow {[k: string]: BasicSQLValue} + +export const connectedDatabases: Database[] = []; + +export abstract class Database { + connection: Pool; + prefix: string; + type = ''; + constructor(connection: Pool, prefix = '') { + this.prefix = prefix; + this.connection = connection; + connectedDatabases.push(this); + } + abstract _resolveSQL(query: SQLStatement): [query: string, values: BasicSQLValue[]]; + abstract _query(sql: string, values: BasicSQLValue[]): Promise; + abstract _queryExec(sql: string, values: BasicSQLValue[]): Promise; + abstract escapeId(param: string): string; + query(sql: SQLStatement): Promise; + query(): (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise; + query(sql?: SQLStatement) { + if (!sql) return (strings: any, ...rest: any) => this.query(new SQLStatement(strings, rest)); + + const [query, values] = this._resolveSQL(sql); + return this._query(query, values); + } + queryOne(sql: SQLStatement): Promise; + queryOne(): (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise; + queryOne(sql?: SQLStatement) { + if (!sql) return (strings: any, ...rest: any) => this.queryOne(new SQLStatement(strings, rest)); + + return this.query(sql).then(res => Array.isArray(res) ? res[0] : res); + } + queryExec(sql: SQLStatement): Promise; + queryExec(): (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise; + queryExec(sql?: SQLStatement) { + if (!sql) return (strings: any, ...rest: any) => this.queryExec(new SQLStatement(strings, rest)); + + const [query, values] = this._resolveSQL(sql); + return this._queryExec(query, values); + } + getTable(name: string, primaryKeyName: keyof Row & string | null = null): DatabaseTable { + return new DatabaseTable(this, name, primaryKeyName); + } + close() { + void this.connection.end(); + } +} + +type PartialOrSQL = { + [P in keyof T]?: T[P] | SQLStatement; +}; + +type OkPacketOf = DB extends Database ? T : never; + +// Row extends SQLRow but TS doesn't support closed types so we can't express this +export class DatabaseTable { + db: DB; + name: string; + primaryKeyName: keyof Row & string | null; + constructor( + db: DB, + name: string, + primaryKeyName: keyof Row & string | null = null + ) { + this.db = db; + this.name = db.prefix + name; + this.primaryKeyName = primaryKeyName; + } + escapeId(param: string) { + return this.db.escapeId(param); + } + + // raw + + query(sql: SQLStatement): Promise; + query(): (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise; + query(sql?: SQLStatement) { + return this.db.query(sql as any) as any; + } + queryOne(sql: SQLStatement): Promise; + queryOne(): (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise; + queryOne(sql?: SQLStatement) { + return this.db.queryOne(sql as any) as any; + } + queryExec(sql: SQLStatement): Promise>; + queryExec(): (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise>; + queryExec(sql?: SQLStatement) { + return this.db.queryExec(sql as any) as any; + } + + // low-level + + selectAll(entries?: (keyof Row & string)[] | SQLStatement): + (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise { + if (!entries) entries = SQL`*`; + if (Array.isArray(entries)) entries = SQL`"${entries}"`; + return (strings, ...rest) => + this.query()`SELECT ${entries} FROM "${this.name}" ${new SQLStatement(strings, rest)}`; + } + selectOne(entries?: (keyof Row & string)[] | SQLStatement): + (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise { + if (!entries) entries = SQL`*`; + if (Array.isArray(entries)) entries = SQL`"${entries}"`; + return (strings, ...rest) => + this.queryOne()`SELECT ${entries} FROM "${this.name}" ${new SQLStatement(strings, rest)} LIMIT 1`; + } + updateAll(partialRow: PartialOrSQL): + (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise> { + return (strings, ...rest) => + this.queryExec()`UPDATE "${this.name}" SET ${partialRow as any} ${new SQLStatement(strings, rest)}`; + } + updateOne(partialRow: PartialOrSQL): + (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise> { + return (s, ...r) => + this.queryExec()`UPDATE "${this.name}" SET ${partialRow as any} ${new SQLStatement(s, r)} LIMIT 1`; + } + deleteAll(): + (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise> { + return (strings, ...rest) => + this.queryExec()`DELETE FROM "${this.name}" ${new SQLStatement(strings, rest)}`; + } + deleteOne(): + (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise> { + return (strings, ...rest) => + this.queryExec()`DELETE FROM "${this.name}" ${new SQLStatement(strings, rest)} LIMIT 1`; + } + eval(): + (strings: TemplateStringsArray, ...rest: SQLValue[]) => Promise { + return (strings, ...rest) => + this.queryOne<{result: T}>( + )`SELECT ${new SQLStatement(strings, rest)} AS result FROM "${this.name}" LIMIT 1` + .then(row => row?.result); + } + + // high-level + + insert(partialRow: PartialOrSQL, where?: SQLStatement) { + return this.queryExec()`INSERT INTO "${this.name}" (${partialRow as SQLValue}) ${where}`; + } + insertIgnore(partialRow: PartialOrSQL, where?: SQLStatement) { + return this.queryExec()`INSERT IGNORE INTO "${this.name}" (${partialRow as SQLValue}) ${where}`; + } + async tryInsert(partialRow: PartialOrSQL, where?: SQLStatement) { + try { + return await this.insert(partialRow, where); + } catch (err: any) { + if (err.code === 'ER_DUP_ENTRY') { + return undefined; + } + throw err; + } + } + upsert(partialRow: PartialOrSQL, partialUpdate = partialRow, where?: SQLStatement) { + if (this.db.type === 'pg') { + return this.queryExec( + )`INSERT INTO "${this.name}" (${partialRow as any}) ON CONFLICT (${this.primaryKeyName + }) DO UPDATE ${partialUpdate as any} ${where}`; + } + return this.queryExec( + )`INSERT INTO "${this.name}" (${partialRow as any}) ON DUPLICATE KEY UPDATE ${partialUpdate as any} ${where}`; + } + set(primaryKey: BasicSQLValue, partialRow: PartialOrSQL, where?: SQLStatement) { + if (!this.primaryKeyName) throw new Error(`Cannot set() without a single-column primary key`); + partialRow[this.primaryKeyName] = primaryKey as any; + return this.replace(partialRow, where); + } + replace(partialRow: PartialOrSQL, where?: SQLStatement) { + return this.queryExec()`REPLACE INTO "${this.name}" (${partialRow as SQLValue}) ${where}`; + } + get(primaryKey: BasicSQLValue, entries?: (keyof Row & string)[] | SQLStatement) { + if (!this.primaryKeyName) throw new Error(`Cannot get() without a single-column primary key`); + return this.selectOne(entries)`WHERE "${this.primaryKeyName}" = ${primaryKey}`; + } + delete(primaryKey: BasicSQLValue) { + if (!this.primaryKeyName) throw new Error(`Cannot delete() without a single-column primary key`); + return this.deleteAll()`WHERE "${this.primaryKeyName}" = ${primaryKey} LIMIT 1`; + } + update(primaryKey: BasicSQLValue, data: PartialOrSQL) { + if (!this.primaryKeyName) throw new Error(`Cannot update() without a single-column primary key`); + return this.updateAll(data)`WHERE "${this.primaryKeyName}" = ${primaryKey} LIMIT 1`; + } +} + +export class MySQLDatabase extends Database { + override type = 'mysql' as const; + constructor(config: mysql.PoolOptions & {prefix?: string}) { + const prefix = config.prefix || ""; + if (config.prefix) { + config = {...config}; + delete config.prefix; + } + super(mysql.createPool(config), prefix); + } + override _resolveSQL(query: SQLStatement): [query: string, values: BasicSQLValue[]] { + let sql = query.sql[0]; + const values = []; + for (let i = 0; i < query.values.length; i++) { + const value = query.values[i]; + if (query.sql[i + 1].startsWith('`') || query.sql[i + 1].startsWith('"')) { + sql = sql.slice(0, -1) + this.escapeId('' + value) + query.sql[i + 1].slice(1); + } else { + sql += '?' + query.sql[i + 1]; + values.push(value); + } + } + return [sql, values]; + } + override _query(query: string, values: BasicSQLValue[]): Promise { + return new Promise((resolve, reject) => { + this.connection.query(query, values, (e, results: any) => { + if (e) { + return reject(new Error(`${e.message} (${query}) (${values}) [${e.code}]`)); + } + if (Array.isArray(results)) { + for (const row of results) { + for (const col in row) { + if (Buffer.isBuffer(row[col])) row[col] = row[col].toString(); + } + } + } + return resolve(results); + }); + }); + } + override _queryExec(sql: string, values: BasicSQLValue[]): Promise { + return this._query(sql, values); + } + override escapeId(id: string) { + return mysql.escapeId(id); + } +} + +export class PGDatabase extends Database { + override type = 'pg' as const; + constructor(config: pg.PoolConfig) { + super(new pg.Pool(config)); + } + override _resolveSQL(query: SQLStatement): [query: string, values: BasicSQLValue[]] { + let sql = query.sql[0]; + const values = []; + let paramCount = 0; + for (let i = 0; i < query.values.length; i++) { + const value = query.values[i]; + if (query.sql[i + 1].startsWith('`') || query.sql[i + 1].startsWith('"')) { + sql = sql.slice(0, -1) + this.escapeId('' + value) + query.sql[i + 1].slice(1); + } else { + paramCount++; + sql += `$${paramCount}` + query.sql[i + 1]; + values.push(value); + } + } + return [sql, values]; + } + override _query(query: string, values: BasicSQLValue[]) { + return this.connection.query(query, values).then(res => res.rows); + } + override _queryExec(query: string, values: BasicSQLValue[]) { + return this.connection.query(query, values).then(res => ({affectedRows: res.rowCount})); + } + override escapeId(id: string) { + // @ts-expect-error @types/pg really needs to be updated + return pg.escapeIdentifier(id); + } +} diff --git a/lib/net.ts b/lib/net.ts index f9f7dc5a63de..7d663e617b3b 100644 --- a/lib/net.ts +++ b/lib/net.ts @@ -172,6 +172,8 @@ export class NetStream extends Streams.ReadWriteStream { } export class NetRequest { uri: string; + /** Response from last request, made so response stuff is available without being hacky */ + response?: http.IncomingMessage; constructor(uri: string) { this.uri = uri; } @@ -202,6 +204,7 @@ export class NetRequest { async get(opts: NetRequestOptions = {}): Promise { const stream = this.getStream(opts); const response = await stream.response; + if (response) this.response = response; if (response && response.statusCode !== 200) { throw new HttpError(response.statusMessage || "Connection error", response.statusCode, await stream.readAll()); } diff --git a/lib/process-manager.ts b/lib/process-manager.ts index 576f86b0b662..4e196c4f1440 100644 --- a/lib/process-manager.ts +++ b/lib/process-manager.ts @@ -418,7 +418,6 @@ export abstract class ProcessManager processes: T[] = []; releasingProcesses: T[] = []; crashedProcesses: T[] = []; - readonly module: NodeJS.Module; readonly filename: string; readonly basename: string; readonly isParentProcess: boolean; @@ -426,7 +425,6 @@ export abstract class ProcessManager crashRespawnCount = 0; constructor(module: NodeJS.Module) { - this.module = module; this.filename = module.filename; this.basename = path.basename(module.filename); this.isParentProcess = (process.mainModule !== module || !process.send); diff --git a/lib/repl.ts b/lib/repl.ts index 27b23d5c2e92..d76e7b3f8e3d 100644 --- a/lib/repl.ts +++ b/lib/repl.ts @@ -20,7 +20,7 @@ export const Repl = new class { /** * Contains the pathnames of all active REPL sockets. */ - socketPathnames: Set = new Set(); + socketPathnames = new Set(); listenersSetup = false; @@ -57,6 +57,41 @@ export const Repl = new class { }; } + /** + * Delete old sockets in the REPL directory (presumably from a crashed + * previous launch of PS). + * + * Does everything synchronously, so that the directory is guaranteed + * clean and ready for new REPL sockets by the time this function returns. + */ + cleanup() { + const config = typeof Config !== 'undefined' ? Config : {}; + if (!config.repl) return; + + // Clean up old REPL sockets. + const directory = path.dirname( + path.resolve(FS.ROOT_PATH, config.replsocketprefix || 'logs/repl', 'app') + ); + let files; + try { + files = fs.readdirSync(directory); + } catch {} + if (files) { + for (const file of files) { + const pathname = path.resolve(directory, file); + const stat = fs.statSync(pathname); + if (!stat.isSocket()) continue; + + const socket = net.connect(pathname, () => { + socket.end(); + socket.destroy(); + }).on('error', () => { + fs.unlinkSync(pathname); + }); + } + } + } + /** * Starts a REPL server, using a UNIX socket for IPC. The eval function * parametre is passed in because there is no other way to access a file's @@ -64,38 +99,13 @@ export const Repl = new class { */ start(filename: string, evalFunction: (input: string) => any) { const config = typeof Config !== 'undefined' ? Config : {}; - if (config.repl !== undefined && !config.repl) return; + if (!config.repl) return; // TODO: Windows does support the REPL when using named pipes. For now, // this only supports UNIX sockets. Repl.setupListeners(filename); - if (filename === 'app') { - // Clean up old REPL sockets. - const directory = path.dirname( - path.resolve(FS.ROOT_PATH, config.replsocketprefix || 'logs/repl', 'app') - ); - let files; - try { - files = fs.readdirSync(directory); - } catch {} - if (files) { - for (const file of files) { - const pathname = path.resolve(directory, file); - const stat = fs.statSync(pathname); - if (!stat.isSocket()) continue; - - const socket = net.connect(pathname, () => { - socket.end(); - socket.destroy(); - }).on('error', () => { - fs.unlink(pathname, () => {}); - }); - } - } - } - const server = net.createServer(socket => { repl.start({ input: socket, diff --git a/lib/utils.ts b/lib/utils.ts index b117ede0c2a7..beeb3f6be3bb 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -306,16 +306,22 @@ export function clearRequireCache(options: {exclude?: string[]} = {}) { excludes.push('/node_modules/'); for (const path in require.cache) { - let skip = false; - for (const exclude of excludes) { - if (path.includes(exclude)) { - skip = true; - break; - } - } + if (excludes.some(p => path.includes(p))) continue; + const mod = require.cache[path]; // have to ref to appease ts + if (!mod) continue; + uncacheModuleTree(mod, excludes); + delete require.cache[path]; + } +} - if (!skip) delete require.cache[path]; +export function uncacheModuleTree(mod: NodeJS.Module, excludes: string[]) { + if (!mod.children?.length || excludes.some(p => mod.filename.includes(p))) return; + for (const [i, child] of mod.children.entries()) { + if (excludes.some(p => child.filename.includes(p))) continue; + mod.children?.splice(i, 1); + uncacheModuleTree(child, excludes); } + delete (mod as any).children; } export function deepClone(obj: any): any { @@ -328,6 +334,20 @@ export function deepClone(obj: any): any { return clone; } +export function deepFreeze(obj: T): T { + if (obj === null || typeof obj !== 'object') return obj; + // support objects with reference loops + if (Object.isFrozen(obj)) return obj; + + Object.freeze(obj); + if (Array.isArray(obj)) { + for (const elem of obj) deepFreeze(elem); + } else { + for (const elem of Object.values(obj)) deepFreeze(elem); + } + return obj; +} + export function levenshtein(s: string, t: string, l: number): number { // Original levenshtein distance function by James Westgate, turned out to be the fastest const d: number[][] = []; diff --git a/package-lock.json b/package-lock.json index 1bc199ffba37..059c0f423b8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "pokemon-showdown", "version": "0.11.9", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { @@ -11,10 +11,12 @@ "license": "MIT", "dependencies": { "esbuild": "^0.16.10", + "mysql2": "^3.9.7", "preact": "^10.5.15", "preact-render-to-string": "^5.1.19", "probe-image-size": "^7.2.3", - "sockjs": "^0.3.21" + "sockjs": "^0.3.21", + "source-map-support": "^0.5.21" }, "bin": { "pokemon-showdown": "pokemon-showdown" @@ -29,9 +31,9 @@ "@types/sockjs": "^0.3.33", "@typescript-eslint/eslint-plugin": "^5.8.0", "@typescript-eslint/parser": "^5.8.0", - "eslint": "^8.5.0", + "eslint": "8.5.0", "mocha": "^8.2.0", - "smogon": "^2.2.1", + "smogon": "^3.0.0", "typescript": "^5.0.4" }, "engines": { @@ -44,7 +46,7 @@ "node-static": "^0.7.11", "nodemailer": "^6.4.6", "permessage-deflate": "^0.1.7", - "pg": "^8.8.0", + "pg": "^8.11.3", "sql-template-strings": "^2.2.2", "sqlite": "^3.0.6", "sucrase": "^3.15.0" @@ -89,32 +91,19 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.5" + "minimatch": "^3.0.4" }, "engines": { "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -685,6 +674,11 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, "node_modules/buffer-writer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", @@ -952,6 +946,14 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "optional": true }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -1018,6 +1020,19 @@ "once": "^1.4.0" } }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/esbuild": { "version": "0.16.15", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.15.tgz", @@ -1076,50 +1091,49 @@ } }, "node_modules/eslint": { - "version": "8.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", - "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.5.0.tgz", + "integrity": "sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.4.1", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", + "@eslint/eslintrc": "^1.0.5", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", + "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", + "eslint-scope": "^7.1.0", "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.2.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", + "progress": "^2.0.0", "regexpp": "^3.2.0", + "semver": "^7.2.1", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "bin": { "eslint": "bin/eslint.js" @@ -1202,6 +1216,15 @@ "node": ">=4.0" } }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/espree": { "version": "9.4.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", @@ -1449,6 +1472,12 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "devOptional": true }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, "node_modules/gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -1486,6 +1515,14 @@ "node": ">=0.10.0" } }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dependencies": { + "is-property": "^1.0.2" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1590,12 +1627,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -1784,15 +1815,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -1802,6 +1824,11 @@ "node": ">=8" } }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -1814,16 +1841,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/js-sdsl": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1899,6 +1916,11 @@ "node": ">=10" } }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -2156,6 +2178,43 @@ "node": ">=0.10.0" } }, + "node_modules/mysql2": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.9.7.tgz", + "integrity": "sha512-KnJT8vYRcNAZv73uf9zpXqNbvBG7DJrs+1nACsjZP1HMJ1TgXEy8wnNilXAn/5i57JizXKtrUtwDB7HxT9DDpw==", + "dependencies": { + "denque": "^2.1.0", + "generate-function": "^2.3.1", + "iconv-lite": "^0.6.3", + "long": "^5.2.1", + "lru-cache": "^8.0.0", + "named-placeholders": "^1.1.3", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.2" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/mysql2/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mysql2/node_modules/lru-cache": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", + "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==", + "engines": { + "node": ">=16.14" + } + }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -2167,6 +2226,25 @@ "thenify-all": "^1.0.0" } }, + "node_modules/named-placeholders": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", + "integrity": "sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==", + "dependencies": { + "lru-cache": "^7.14.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/named-placeholders/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, "node_modules/nan": { "version": "2.17.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", @@ -2559,22 +2637,25 @@ } }, "node_modules/pg": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", - "integrity": "sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", + "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", "optional": true, "dependencies": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", - "pg-connection-string": "^2.5.0", - "pg-pool": "^3.5.2", - "pg-protocol": "^1.5.0", + "pg-connection-string": "^2.6.2", + "pg-pool": "^3.6.1", + "pg-protocol": "^1.6.0", "pg-types": "^2.1.0", "pgpass": "1.x" }, "engines": { "node": ">= 8.0.0" }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, "peerDependencies": { "pg-native": ">=3.0.1" }, @@ -2584,10 +2665,16 @@ } } }, + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "optional": true + }, "node_modules/pg-connection-string": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", - "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", "optional": true }, "node_modules/pg-int8": { @@ -2600,18 +2687,18 @@ } }, "node_modules/pg-pool": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.2.tgz", - "integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", + "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", "optional": true, "peerDependencies": { "pg": ">=8.0" } }, "node_modules/pg-protocol": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", - "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", + "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==", "devOptional": true }, "node_modules/pg-types": { @@ -2784,6 +2871,15 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "optional": true }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -3020,6 +3116,11 @@ "node": ">=10" } }, + "node_modules/seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" + }, "node_modules/serialize-javascript": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", @@ -3117,9 +3218,9 @@ } }, "node_modules/smogon": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/smogon/-/smogon-2.2.2.tgz", - "integrity": "sha512-o/xTJTEej7gbb93bCNWSjppo++Sg96fPCNIu1xt9IcWoKOViCfEcMvbofG+0KX08P0iOBzOY9MWGbSFPjTSzXw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/smogon/-/smogon-3.0.0.tgz", + "integrity": "sha512-F+Yo6yXqidabdvMqyI6rrXKejBMl0OOmgGyk5dctqeJx9fFmFUnK3bzkdUG/eaXX0S8m4hUb+WqieiHlAiQgUQ==", "dev": true }, "node_modules/sockjs": { @@ -3140,6 +3241,23 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/split2": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", @@ -3181,6 +3299,14 @@ "node-pre-gyp": "^0.11.0" } }, + "node_modules/sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/stream-parser": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", @@ -3520,6 +3646,12 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "optional": true }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -3736,5 +3868,2886 @@ "url": "https://github.com/sponsors/sindresorhus" } } + }, + "dependencies": { + "@esbuild/linux-x64": { + "version": "0.16.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.15.tgz", + "integrity": "sha512-t7/fOXBUKfigvhJLGKZ9TPHHgqNgpIpYaAbcXQk1X+fPeUG7x0tpAbXJ2wST9F/gJ02+CLETPMnhG7Tra2wqsQ==", + "optional": true + }, + "@eslint/eslintrc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/better-sqlite3": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.3.tgz", + "integrity": "sha512-YS64N9SNDT/NAvou3QNdzAu3E2om/W/0dhORimtPGLef+zSK5l1vDzfsWb4xgXOgfhtOI5ZDTRxnvRPb22AIVQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cloud-env": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@types/cloud-env/-/cloud-env-0.2.2.tgz", + "integrity": "sha512-cydYRiL/esxoLgtciH/YURNXsF/JUxEBoO5JakfH8r6F/jsXIM7FyD+Hmfbb2gnT7F/XKAL9NUlO9RPGw0ivvw==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "@types/node-static": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@types/node-static/-/node-static-0.7.7.tgz", + "integrity": "sha512-Cq3c9lfC9zRrGxe7ox073219Mpy/kmWNsISG0yEG7aUEk33xv/g+uqz/+4b7hM4WN9LsGageBzGuvy09inaGhg==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/nodemailer": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.7.tgz", + "integrity": "sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/pg": { + "version": "8.6.6", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.6.tgz", + "integrity": "sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==", + "dev": true, + "requires": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz", + "integrity": "sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/type-utils": "5.48.0", + "@typescript-eslint/utils": "5.48.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz", + "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz", + "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz", + "integrity": "sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/utils": "5.48.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz", + "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz", + "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz", + "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz", + "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.48.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "optional": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "devOptional": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "optional": true + }, + "better-sqlite3": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.6.2.tgz", + "integrity": "sha512-S5zIU1Hink2AH4xPsN0W43T1/AJ5jrPh7Oy07ocuW/AKYYY02GWzz9NH0nbSMn/gw6fDZ5jZ1QsHt1BXAwJ6Lg==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "prebuild-install": "^7.1.0" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "optional": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "optional": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", + "optional": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "optional": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "cloud-env": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/cloud-env/-/cloud-env-0.2.3.tgz", + "integrity": "sha512-JdU/Wp4z0y8BfWR3w1dtKCo3H0zZje6s5kOTwH1lBYhUShS6SOQYYMnhNMWgWUbRC68BzAqZSFGi1hWaA383+g==", + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "devOptional": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "optional": true + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "devOptional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "optional": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "optional": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "optional": true, + "requires": { + "mimic-response": "^3.1.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "optional": true + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" + }, + "detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "optional": true + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "docopt": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/docopt/-/docopt-0.6.2.tgz", + "integrity": "sha512-NqTbaYeE4gA/wU1hdKFdU+AFahpDOpgGLzHP42k6H6DKExJd0A55KEVWYhL9FEmHmgeLvEU2vuKXDuU+4yToOw==", + "optional": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "optional": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + } + }, + "esbuild": { + "version": "0.16.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.15.tgz", + "integrity": "sha512-v+3ozjy9wyj8cOElzx3//Lsb4TCxPfZxRmdsfm0YaEkvZu7y6rKH7Zi1UpDx4JI7dSQui+U1Qxhfij9KBbHfrA==", + "requires": { + "@esbuild/android-arm": "0.16.15", + "@esbuild/android-arm64": "0.16.15", + "@esbuild/android-x64": "0.16.15", + "@esbuild/darwin-arm64": "0.16.15", + "@esbuild/darwin-x64": "0.16.15", + "@esbuild/freebsd-arm64": "0.16.15", + "@esbuild/freebsd-x64": "0.16.15", + "@esbuild/linux-arm": "0.16.15", + "@esbuild/linux-arm64": "0.16.15", + "@esbuild/linux-ia32": "0.16.15", + "@esbuild/linux-loong64": "0.16.15", + "@esbuild/linux-mips64el": "0.16.15", + "@esbuild/linux-ppc64": "0.16.15", + "@esbuild/linux-riscv64": "0.16.15", + "@esbuild/linux-s390x": "0.16.15", + "@esbuild/linux-x64": "0.16.15", + "@esbuild/netbsd-x64": "0.16.15", + "@esbuild/openbsd-x64": "0.16.15", + "@esbuild/sunos-x64": "0.16.15", + "@esbuild/win32-arm64": "0.16.15", + "@esbuild/win32-ia32": "0.16.15", + "@esbuild/win32-x64": "0.16.15" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.5.0.tgz", + "integrity": "sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.0.5", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.2.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.2.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "optional": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "devOptional": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "requires": { + "is-property": "^1.0.2" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "optional": true + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "optional": true + }, + "githubhook": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/githubhook/-/githubhook-1.9.3.tgz", + "integrity": "sha512-HLbXqgalcVixWyTqR0mokWGKZiBl1ydMRmb1lCaEYIXDG2axefMqvjh7ENxk5zug3+diu7STFkrICQ80Rg3V9A==", + "optional": true, + "requires": { + "docopt": "^0.6.2", + "multiline": "^1.0.2" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "devOptional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "optional": true + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "optional": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", + "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "devOptional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "devOptional": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "optional": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "devOptional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "optional": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "optional": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "devOptional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "optional": true + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "optional": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==", + "optional": true + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + } + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "optional": true, + "requires": { + "minimist": "^1.2.6" + }, + "dependencies": { + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "optional": true + } + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "optional": true + }, + "mocha": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", + "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", + "minimatch": "3.0.4", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "wide-align": "1.1.3", + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multiline": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/multiline/-/multiline-1.0.2.tgz", + "integrity": "sha512-DGpmDIZKKQ+EVx0sh0757V6qlb+ouuByoC5CWH7J0bOd6KRM6ka6l9LGHWfe17OKxm+4AsLs1tgiK4vZIx66RQ==", + "optional": true, + "requires": { + "strip-indent": "^1.0.0" + } + }, + "mysql2": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.9.7.tgz", + "integrity": "sha512-KnJT8vYRcNAZv73uf9zpXqNbvBG7DJrs+1nACsjZP1HMJ1TgXEy8wnNilXAn/5i57JizXKtrUtwDB7HxT9DDpw==", + "requires": { + "denque": "^2.1.0", + "generate-function": "^2.3.1", + "iconv-lite": "^0.6.3", + "long": "^5.2.1", + "lru-cache": "^8.0.0", + "named-placeholders": "^1.1.3", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "lru-cache": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", + "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==" + } + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "optional": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "named-placeholders": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", + "integrity": "sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==", + "requires": { + "lru-cache": "^7.14.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" + } + } + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "optional": true + }, + "nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "dev": true + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "node-abi": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz", + "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==", + "optional": true, + "requires": { + "semver": "^7.3.5" + } + }, + "node-pre-gyp": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", + "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + }, + "dependencies": { + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "optional": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true + } + } + }, + "node-static": { + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/node-static/-/node-static-0.7.11.tgz", + "integrity": "sha512-zfWC/gICcqb74D9ndyvxZWaI1jzcoHmf4UTHWQchBNuNMxdBLJMDiUgZ1tjGLEIe/BMhj2DxKD8HOuc2062pDQ==", + "optional": true, + "requires": { + "colors": ">=0.6.0", + "mime": "^1.2.9", + "optimist": ">=0.3.4" + } + }, + "nodemailer": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.8.0.tgz", + "integrity": "sha512-EjYvSmHzekz6VNkNd12aUqAco+bOkRe3Of5jVhltqKhEsjw/y0PYPJfp83+s9Wzh1dspYAkUW/YNQ350NATbSQ==", + "optional": true + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "optional": true + }, + "npm-packlist": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", + "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "devOptional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "devOptional": true, + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", + "optional": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "optional": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==", + "optional": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "devOptional": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "permessage-deflate": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/permessage-deflate/-/permessage-deflate-0.1.7.tgz", + "integrity": "sha512-EUNi/RIsyJ1P1u9QHFwMOUWMYetqlE22ZgGbad7YP856WF4BFF0B7DuNy6vEGsgNNud6c/SkdWzkne71hH8MjA==", + "optional": true, + "requires": { + "safe-buffer": "*" + } + }, + "pg": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", + "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", + "optional": true, + "requires": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-cloudflare": "^1.1.1", + "pg-connection-string": "^2.6.2", + "pg-pool": "^3.6.1", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + } + }, + "pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "optional": true + }, + "pg-connection-string": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", + "optional": true + }, + "pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "devOptional": true + }, + "pg-pool": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", + "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", + "optional": true, + "requires": {} + }, + "pg-protocol": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", + "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==", + "devOptional": true + }, + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "devOptional": true, + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "optional": true, + "requires": { + "split2": "^4.1.0" + } + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "optional": true + }, + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "devOptional": true + }, + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "devOptional": true + }, + "postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "devOptional": true + }, + "postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "devOptional": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "preact": { + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==" + }, + "preact-render-to-string": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz", + "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==", + "requires": { + "pretty-format": "^3.8.0" + } + }, + "prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "optional": true, + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "optional": true + } + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==" + }, + "probe-image-size": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", + "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", + "requires": { + "lodash.merge": "^4.6.2", + "needle": "^2.5.2", + "stream-parser": "~0.3.1" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "optional": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "optional": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + } + } + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "devOptional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "optional": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "optional": true + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "optional": true + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "optional": true, + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "smogon": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/smogon/-/smogon-3.0.0.tgz", + "integrity": "sha512-F+Yo6yXqidabdvMqyI6rrXKejBMl0OOmgGyk5dctqeJx9fFmFUnK3bzkdUG/eaXX0S8m4hUb+WqieiHlAiQgUQ==", + "dev": true + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", + "optional": true + }, + "sql-template-strings": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/sql-template-strings/-/sql-template-strings-2.2.2.tgz", + "integrity": "sha512-UXhXR2869FQaD+GMly8jAMCRZ94nU5KcrFetZfWEMd+LVVG6y0ExgHAhatEcKZ/wk8YcKPdi+hiD2wm75lq3/Q==", + "optional": true + }, + "sqlite": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/sqlite/-/sqlite-3.0.6.tgz", + "integrity": "sha512-5SW7HcN+s3TyqpsxOujXhQDCRSCgsxdiU0peT/Y9CT5T0rAsGLwtpXcMyQ7OzOPQ4YUZ5XiGlrwuuQbszr2xtw==", + "optional": true, + "requires": { + "sql-template-strings": "^2.2.2", + "sqlite3": "^4.0.0" + } + }, + "sqlite3": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz", + "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==", + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.11.0" + } + }, + "sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" + }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", + "requires": { + "debug": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "devOptional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "devOptional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "devOptional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", + "optional": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "sucrase": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.29.0.tgz", + "integrity": "sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==", + "optional": true, + "requires": { + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "optional": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + } + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "optional": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "optional": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "optional": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "optional": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "optional": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "optional": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "optional": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "optional": true + }, + "v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "devOptional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "optional": true + }, + "workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "devOptional": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "devOptional": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } } } diff --git a/package.json b/package.json index 6e3de10bc6d9..7c30ade6fbad 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,12 @@ "main": "dist/sim/index.js", "dependencies": { "esbuild": "^0.16.10", + "mysql2": "^3.9.7", "preact": "^10.5.15", "preact-render-to-string": "^5.1.19", "probe-image-size": "^7.2.3", - "sockjs": "^0.3.21" + "sockjs": "^0.3.21", + "source-map-support": "^0.5.21" }, "optionalDependencies": { "better-sqlite3": "^7.6.2", @@ -17,7 +19,7 @@ "node-static": "^0.7.11", "nodemailer": "^6.4.6", "permessage-deflate": "^0.1.7", - "pg": "^8.8.0", + "pg": "^8.11.3", "sql-template-strings": "^2.2.2", "sqlite": "^3.0.6", "sucrase": "^3.15.0" @@ -40,7 +42,7 @@ "test": "mocha", "posttest": "npm run tsc", "full-test": "npm run lint && npm run tsc && mocha --timeout 8000 --forbid-only -g \".*\"", - "full-test-ci": "eslint ${FILES} --max-warnings 0 && npm run tsc && (([ \"$SKIPSIMTESTS\" = true ] && mocha --timeout 8000 --forbid-only -g \".*\" --exclude \"test/{sim,random-battles}/**\") || mocha --timeout 8000 --forbid-only -g \".*\")", + "full-test-ci": "eslint --no-error-on-unmatched-pattern ${FILES} --max-warnings 0 && npm run tsc && (([ \"$SKIPSIMTESTS\" = true ] && mocha --timeout 8000 --forbid-only -g \".*\" --exclude \"test/{sim,random-battles}/**\") || mocha --timeout 8000 --forbid-only -g \".*\")", "postinstall": "npm run build postinstall" }, "bin": "./pokemon-showdown", @@ -55,11 +57,6 @@ "url": "http://guangcongluo.com" }, "contributors": [ - { - "name": "Cathy J. Fitzpatrick", - "email": "cathy@cathyjf.com", - "url": "https://cathyjf.com" - }, { "name": "Bill Meltsner", "email": "bill@meltsner.com", @@ -77,9 +74,9 @@ "@types/sockjs": "^0.3.33", "@typescript-eslint/eslint-plugin": "^5.8.0", "@typescript-eslint/parser": "^5.8.0", - "eslint": "^8.5.0", + "eslint": "8.5.0", "mocha": "^8.2.0", - "smogon": "^2.2.1", + "smogon": "^3.0.0", "typescript": "^5.0.4" } } diff --git a/pokemon-showdown b/pokemon-showdown index f5bea9b7369f..6a96085a4090 100755 --- a/pokemon-showdown +++ b/pokemon-showdown @@ -112,6 +112,7 @@ if (!process.argv[2] || /^[0-9]+$/.test(process.argv[2])) { case 'validate-team': { ensureBuilt(); + require('source-map-support/register'); var Teams = require('./dist/sim/teams.js').Teams; var TeamValidator = require('./dist/sim/team-validator.js').TeamValidator; var validator = TeamValidator.get(process.argv[3]); diff --git a/server/chat-commands/admin.ts b/server/chat-commands/admin.ts index 420d57a15d8c..2c9f703c55fe 100644 --- a/server/chat-commands/admin.ts +++ b/server/chat-commands/admin.ts @@ -129,7 +129,7 @@ export const commands: Chat.ChatCommands = { return this.errorReply(`The PotD is already set to ${species.name}`); } if (!species.exists) return this.errorReply(`Pokemon "${target}" not found.`); - if (!Dex.species.getLearnset(species.id)) { + if (!Dex.species.getFullLearnset(species.id).length) { return this.errorReply(`That Pokemon has no learnset and cannot be used as the PotD.`); } Config.potd = species.id; @@ -986,7 +986,7 @@ export const commands: Chat.ChatCommands = { Object.entries(Dex.data.Learnsets).map(([id, entry]) => ( `\t${id}: {learnset: {\n` + Utils.sortBy( - Object.entries(Dex.species.getLearnsetData(id as ID)), + Object.entries(Dex.species.getLearnsetData(id as ID).learnset!), ([moveid]) => moveid ).map(([moveid, sources]) => ( `\t\t${moveid}: ["` + sources.join(`", "`) + `"],\n` @@ -1215,6 +1215,28 @@ export const commands: Chat.ChatCommands = { `/endemergency - Turns off emergency mode. Requires: &`, ], + remainingbattles() { + this.checkCan('lockdown'); + + if (!Rooms.global.lockdown) { + return this.errorReply("The server is not under lockdown right now."); + } + + const battleRooms = [...Rooms.rooms.values()].filter(x => x.battle?.rated && !x.battle?.ended); + let buf = `Total remaining rated battles: ${battleRooms.length}`; + if (battleRooms.length > 10) buf += `
View all battles`; + for (const battle of battleRooms) { + buf += `
`; + buf += `${battle.title}`; + if (battle.settings.isPrivate) buf += ' (Private)'; + } + if (battleRooms.length > 10) buf += `
`; + this.sendReplyBox(buf); + }, + remainingbattleshelp: [ + `/remainingbattles - View a list of the remaining battles during lockdown. Requires: &`, + ], + async savebattles(target, room, user) { this.checkCan('rangeban'); // admins can restart, so they should be able to do this if needed this.sendReply(`Saving battles...`); @@ -1287,6 +1309,11 @@ export const commands: Chat.ChatCommands = { refreshpage(target, room, user) { this.checkCan('lockdown'); + if (user.lastCommand !== 'refreshpage') { + user.lastCommand = 'refreshpage'; + this.errorReply(`Are you sure you wish to refresh the page for every user online?`); + return this.errorReply(`If you are sure, please type /refreshpage again to confirm.`); + } Rooms.global.sendAll('|refresh|'); this.stafflog(`${user.name} used /refreshpage`); }, @@ -1337,7 +1364,7 @@ export const commands: Chat.ChatCommands = { if (err) { Rooms.global.notifyRooms( ['staff', 'development'], - `|c|&|/log ${user.name} used /updateloginserver - but something failed while updating.` + `|c|${user.getIdentity()}|/log ${user.name} used /updateloginserver - but something failed while updating.` ); return this.errorReply(err.message + '\n' + err.stack); } @@ -1354,7 +1381,7 @@ export const commands: Chat.ChatCommands = { this.errorReply(`FAILED. Conflicts were found while updating - the restart was aborted.`); } Rooms.global.notifyRooms( - ['staff', 'development'], `|c|&|/log ${message}` + ['staff', 'development'], `|c|${user.getIdentity()}|/log ${message}` ); }, updateloginserverhelp: [ @@ -1370,7 +1397,7 @@ export const commands: Chat.ChatCommands = { if (err) { Rooms.global.notifyRooms( ['staff', 'development'], - `|c|&|/log ${user.name} used /updateclient - but something failed while updating.` + `|c|${user.getIdentity()}|/log ${user.name} used /updateclient - but something failed while updating.` ); return this.errorReply(err.message + '\n' + err.stack); } @@ -1387,7 +1414,7 @@ export const commands: Chat.ChatCommands = { this.errorReply(`FAILED. Conflicts were found while updating.`); } Rooms.global.notifyRooms( - ['staff', 'development'], `|c|&|/log ${message}` + ['staff', 'development'], `|c|${user.getIdentity()}|/log ${message}` ); }, updateclienthelp: [ diff --git a/server/chat-commands/avatars.tsx b/server/chat-commands/avatars.tsx index 2c6efec8e60b..8771c1ce12ba 100644 --- a/server/chat-commands/avatars.tsx +++ b/server/chat-commands/avatars.tsx @@ -529,7 +529,7 @@ const OFFICIAL_AVATARS = new Set([ ]); const OFFICIAL_AVATARS_BELIOT419 = new Set([ - 'acerola', 'aetheremployee', 'aetheremployeef', 'aetherfoundation', 'aetherfoundationf', 'anabel', + 'acerola', 'aetheremployee', 'aetheremployeef', 'aetherfoundation', 'aetherfoundationf', 'anabel-gen7', 'beauty-gen7', 'blue-gen7', 'burnet', 'colress-gen7', 'dexio', 'elio', 'faba', 'gladion-stance', 'gladion', 'grimsley-gen7', 'hapu', 'hau-stance', 'hau', 'hiker-gen7', 'ilima', 'kahili', 'kiawe', 'kukui-stand', 'kukui', 'lana', 'lass-gen7', 'lillie-z', 'lillie', 'lusamine-nihilego', 'lusamine', @@ -553,7 +553,7 @@ const OFFICIAL_AVATARS_BRUMIRAGE = new Set([ 'mai', 'marnie', 'may-contest', 'melony', 'milo', 'mina-lgpe', 'mustard', 'mustard-master', 'nessa', 'oleana', 'opal', 'peony', 'pesselle', 'phoebe-gen6', 'piers', 'raihan', 'rei', 'rose', 'sabi', 'sada-ai', 'sanqua', 'shielbert', 'sonia', 'sonia-professor', 'sordward', 'sordward-shielbert', 'tateandliza-gen6', - 'turo-ai', 'victor', 'victor-dojo', 'volo', 'yellgrunt', 'yellgruntf', 'zisu', + 'turo-ai', 'victor', 'victor-dojo', 'volo', 'yellgrunt', 'yellgruntf', 'zisu', 'miku-flying', 'miku-ground', ]); const OFFICIAL_AVATARS_ZACWEAVILE = new Set([ @@ -625,14 +625,29 @@ const OFFICIAL_AVATARS_KYLEDOVE = new Set([ 'laventon2', 'liza-masters', 'mallow-masters', 'musician-gen9', 'nemona-s', 'officeworker-gen9', 'officeworkerf-gen9', 'pearlclanmember', 'raifort', 'saguaro', 'salvatore', 'scientist-gen9', 'shauna-masters', 'silver-masters', 'steven-masters4', 'tate-masters', 'waiter-gen9', 'waitress-gen9', + 'acerola-masters2', 'aetherfoundation2', 'amarys', 'artist-gen9', 'backpacker-gen9', 'blackbelt-gen9', 'blue-masters2', + 'brendan-rs', 'briar', 'cabbie-gen9', 'caretaker', 'clair-masters', 'clive-v', 'cook-gen9', 'courier', 'crispin', 'cyrano', + 'delinquent-gen9', 'delinquentf-gen9', 'delinquentf2-gen9', 'drayton', 'flaregrunt', 'flaregruntf', 'florian-festival', + 'gloria-league', 'gloria-tundra', 'hau-masters', 'hiker-gen9', 'hyde', 'janitor-gen9', 'juliana-festival', + 'kieran-champion', 'lacey', 'lana-masters', 'leaf-masters2', 'liza-gen6', 'lysandre-masters', 'may-e', 'may-rs', 'miku-fire', + 'miku-grass', 'miku-psychic', 'miku-water', 'mina-masters', 'mustard-champion', 'nate-masters', 'nate-pokestar', 'ogreclan', + 'perrin', 'piers-masters', 'red-masters3', 'rosa-pokestar2', 'roxanne-masters', 'roxie-masters', 'ruffian', 'sycamore-masters', + 'tate-gen6', 'tucker', 'victor-league', 'victor-tundra', 'viola-masters', 'wallace-masters', 'worker-gen9', 'yukito-hideko', + 'aarune', 'adaman-masters', 'allister-unmasked', 'anabel', 'aquagrunt-rse', 'aquagruntf-rse', 'aquasuit', 'archie-usum', + 'arlo', 'barry-masters', 'blanche-casual', 'blanche', 'brandon', 'candela-casual', 'candela', 'candice-masters', 'christoph', + 'cliff', 'curtis', 'dana', 'gladion-masters', 'greta', 'gurkinn', 'heath', 'irida-masters', 'jamie', 'magmagrunt-rse', + 'magmagruntf-rse', 'magmasuit', 'magnus', 'mateo', 'mirror', 'mohn-anime', 'mohn', 'mom-paldea', 'mom-unova', 'mrbriney', + 'mrstone', 'nancy', 'nate-pokestar3', 'neroli', 'peony-league', 'phil', 'player-go', 'playerf-go', 'rhi', 'rita', 'river', + 'rosa-pokestar3', 'sabrina-frlg', 'selene-masters', 'sierra', 'spark-casual', 'spark', 'spenser', 'toddsnap', 'toddsnap2', + 'victor-masters', 'vince', 'wally-rse', 'willow-casual', 'willow', 'yancy', 'zinnia-masters', ]); const OFFICIAL_AVATARS_HYOOPPA = new Set([ - 'brendan', 'maxie-gen6', 'may', + 'brendan', 'brendan-e', 'maxie-gen6', 'may', ]); const OFFICIAL_AVATARS_GRAPO = new Set([ - 'glacia', 'peonia', 'skyla-masters2', 'volo-ginkgo', + 'glacia', 'peonia', 'phoebe-masters', 'rosa-masters3', 'scottie-masters', 'skyla-masters2', 'volo-ginkgo', ]); const OFFICIAL_AVATARS_FIFTY = new Set([ @@ -643,6 +658,10 @@ const OFFICIAL_AVATARS_HORO = new Set([ 'florian-bb', 'juliana-bb', ]); +const OFFICIAL_AVATARS_SELENA = new Set([ + 'kris', +]); + for (const avatar of OFFICIAL_AVATARS_BELIOT419) OFFICIAL_AVATARS.add(avatar); for (const avatar of OFFICIAL_AVATARS_GNOMOWLADNY) OFFICIAL_AVATARS.add(avatar); for (const avatar of OFFICIAL_AVATARS_BRUMIRAGE) OFFICIAL_AVATARS.add(avatar); @@ -652,6 +671,7 @@ for (const avatar of OFFICIAL_AVATARS_HYOOPPA) OFFICIAL_AVATARS.add(avatar); for (const avatar of OFFICIAL_AVATARS_GRAPO) OFFICIAL_AVATARS.add(avatar); for (const avatar of OFFICIAL_AVATARS_FIFTY) OFFICIAL_AVATARS.add(avatar); for (const avatar of OFFICIAL_AVATARS_HORO) OFFICIAL_AVATARS.add(avatar); +for (const avatar of OFFICIAL_AVATARS_SELENA) OFFICIAL_AVATARS.add(avatar); export const commands: Chat.ChatCommands = { avatar(target, room, user) { @@ -701,6 +721,9 @@ export const commands: Chat.ChatCommands = { if (OFFICIAL_AVATARS_HORO.has(avatar)) { this.sendReply(`|raw|(${this.tr`Artist: `}Horo)`); } + if (OFFICIAL_AVATARS_SELENA.has(avatar)) { + this.sendReply(`|raw|(${this.tr`Artist: `}Selena)`); + } } }, avatarhelp: [`/avatar [avatar name or number] - Change your trainer sprite.`], diff --git a/server/chat-commands/core.ts b/server/chat-commands/core.ts index 5d30a7a78b26..ee6a9b46cbe0 100644 --- a/server/chat-commands/core.ts +++ b/server/chat-commands/core.ts @@ -17,7 +17,6 @@ import {Utils} from '../../lib'; import type {UserSettings} from '../users'; import type {GlobalPermission} from '../user-groups'; -import {BestOfGame} from '../room-battle'; export const crqHandlers: {[k: string]: Chat.CRQHandler} = { userdetails(target, user, trustable) { @@ -132,6 +131,19 @@ export const crqHandlers: {[k: string]: Chat.CRQHandler} = { } return roominfo; }, + fullformat(target, user, trustable) { + if (!trustable) return false; + + if (target.length > 225) { + return null; + } + const targetRoom = Rooms.get(target); + if (!targetRoom?.battle?.playerTable[user.id]) { + return null; + } + + return targetRoom.battle.format; + }, }; export const commands: Chat.ChatCommands = { @@ -300,7 +312,7 @@ export const commands: Chat.ChatCommands = { } user.lastCommand = 'pm'; return this.errorReply( - this.tr`User ${targetUsername} is offline. If you still want to PM them, send the message again, or use /offlinemsg.` + this.tr`User ${targetUsername} is offline. If you still want to PM them, send the message again to confirm.` ); } return this.errorReply(`${targetUsername} is offline.`); @@ -400,34 +412,39 @@ export const commands: Chat.ChatCommands = { blockpm: 'blockpms', ignorepms: 'blockpms', ignorepm: 'blockpms', - async blockpms(target, room, user) { + blockofflinepms: 'blockpms', + async blockpms(target, room, user, connection, cmd) { target = target.toLowerCase().trim(); if (target === 'ac') target = 'autoconfirmed'; - if (user.settings.blockPMs === (target || true)) { - return this.errorReply(this.tr`You are already blocking private messages! To unblock, use /unblockpms`); + const isOffline = cmd.includes('offline'); + const msg = isOffline ? `offline ` : ``; + if (!isOffline && user.settings.blockPMs === (target || true)) { + return this.errorReply(this.tr`You are already blocking ${msg}private messages! To unblock, use /unblockpms`); } if (Users.Auth.isAuthLevel(target)) { - user.settings.blockPMs = target; - this.sendReply(this.tr`You are now blocking private messages, except from staff and ${target}.`); + if (!isOffline) user.settings.blockPMs = target; + this.sendReply(this.tr`You are now blocking ${msg}private messages, except from staff and ${target}.`); } else if (target === 'autoconfirmed' || target === 'trusted' || target === 'unlocked') { - user.settings.blockPMs = target; + if (!isOffline) user.settings.blockPMs = target; target = this.tr(target); - this.sendReply(this.tr `You are now blocking private messages, except from staff and ${target} users.`); + this.sendReply(this.tr `You are now blocking ${msg}private messages, except from staff and ${target} users.`); } else if (target === 'friends') { - user.settings.blockPMs = target; - this.sendReply(this.tr`You are now blocking private messages, except from staff and friends.`); + if (!isOffline) user.settings.blockPMs = target; + this.sendReply(this.tr`You are now blocking ${msg}private messages, except from staff and friends.`); } else { - user.settings.blockPMs = true; - this.sendReply(this.tr`You are now blocking private messages, except from staff.`); - } - let saveValue: string | boolean | null = user.settings.blockPMs; - if (!saveValue || saveValue === true) saveValue = 'none'; - // todo: can we do this? atm. no. - if (['unlocked', 'autoconfirmed'].includes(saveValue)) { - saveValue = null; + if (!isOffline) user.settings.blockPMs = true; + this.sendReply(this.tr`You are now blocking ${msg}private messages, except from staff.`); + } + if (isOffline) { + let saveValue: string | null = target; + if (!saveValue) saveValue = 'none'; + // todo: can we do this? atm. no. + if (['unlocked', 'autoconfirmed'].includes(saveValue)) { + saveValue = null; + } + await Chat.PrivateMessages.setViewOnly(user, saveValue); } - await Chat.PrivateMessages.setViewOnly(user, saveValue); user.update(); return true; }, @@ -439,15 +456,25 @@ export const commands: Chat.ChatCommands = { unblockpm: 'unblockpms', unignorepms: 'unblockpms', unignorepm: 'unblockpms', - unblockpms(target, room, user) { - if (!user.settings.blockPMs) { - return this.errorReply(this.tr`You are not blocking private messages! To block, use /blockpms`); + unblockofflinepms: 'unblockpms', + async unblockpms(target, room, user, connection, cmd) { + const isOffline = cmd.includes('offline'); + const msg = isOffline ? 'offline ' : ''; + if (isOffline ? !(await Chat.PrivateMessages.getSettings(user.id)) : !user.settings.blockPMs) { + return this.errorReply(this.tr`You are not blocking ${msg}private messages! To block, use /blockpms`); + } + if (isOffline) { + await Chat.PrivateMessages.deleteSettings(user.id); + } else { + user.settings.blockPMs = false; } - user.settings.blockPMs = false; user.update(); - return this.sendReply(this.tr`You are no longer blocking private messages.`); + return this.sendReply(this.tr`You are no longer blocking ${msg}private messages.`); }, - unblockpmshelp: [`/unblockpms - Unblocks private messages. Block them with /blockpms.`], + unblockpmshelp: [ + `/unblockpms - Unblocks private messages. Block them with /blockpms.`, + `/unblockofflinepms - Unblocks offline private messages. Block them with /blockofflinepms.`, + ], unblockinvites: 'blockinvites', blockinvites(target, room, user, connection, cmd) { @@ -783,22 +810,10 @@ export const commands: Chat.ChatCommands = { } const formatid = target.slice(formatIndex + 12, nextQuoteIndex); - const battleRoom = Rooms.createBattle({format: formatid, inputLog: target}); + const battleRoom = Rooms.createBattle({format: formatid, players: [], inputLog: target}); if (!battleRoom) return; // createBattle will inform the user if creating the battle failed - const nameIndex1 = target.indexOf(`"name":"`); - const nameNextQuoteIndex1 = target.indexOf(`"`, nameIndex1 + 8); - const nameIndex2 = target.indexOf(`"name":"`, nameNextQuoteIndex1 + 1); - const nameNextQuoteIndex2 = target.indexOf(`"`, nameIndex2 + 8); - if (nameIndex1 >= 0 && nameNextQuoteIndex1 >= 0 && nameIndex2 >= 0 && nameNextQuoteIndex2 >= 0) { - const battle = battleRoom.battle!; - battle.p1.name = target.slice(nameIndex1 + 8, nameNextQuoteIndex1); - battle.p2.name = target.slice(nameIndex2 + 8, nameNextQuoteIndex2); - } battleRoom.auth.set(user.id, Users.HOST_SYMBOL); - for (const player of battleRoom.battle!.players) { - player.hasTeam = true; - } this.parse(`/join ${battleRoom.roomid}`); setTimeout(() => { // timer to make sure this goes under the battle @@ -854,8 +869,8 @@ export const commands: Chat.ChatCommands = { ], confirmready(target, room, user) { - const game = this.requireGame(BestOfGame); - game.confirmReady(user.id); + const game = this.requireGame(Rooms.BestOfGame); + game.confirmReady(user); }, acceptopenteamsheets(target, room, user, connection, cmd) { diff --git a/server/chat-commands/info.ts b/server/chat-commands/info.ts index 7bb780faec47..5b312305a767 100644 --- a/server/chat-commands/info.ts +++ b/server/chat-commands/info.ts @@ -16,6 +16,11 @@ import {RoomSections} from './room-settings'; const ONLINE_SYMBOL = ` \u25C9 `; const OFFLINE_SYMBOL = ` \u25CC `; +interface DexResources { + url: string; + resources: {resource_name: string, url: string}[]; +} + export function getCommonBattles( userID1: ID, user1: User | null, userID2: ID, user2: User | null, connection: Connection ) { @@ -67,6 +72,30 @@ export function findFormats(targetId: string, isOMSearch = false) { return {totalMatches, sections}; } +export const formatsDataCache = new Map(); +export async function getFormatResources(format: string) { + const cached = formatsDataCache.get(format); + if (cached !== undefined) return cached; + try { + const raw = await Net(`https://www.smogon.com/dex/api/formats/by-ps-name/${format}`).get(); + const data = JSON.parse(raw); + formatsDataCache.set(format, data); + return data; + } catch { + // some sort of json error or request can't be made + // so something on smogon's end. freeze the request, punt + formatsDataCache.set(format, null); + return null; + } +} + +// clear every 15 minutes to ensure it's only minimally stale +const resourceRefreshInterval = setInterval(() => formatsDataCache.clear(), 15 * 60 * 1000); + +export function destroy() { + clearInterval(resourceRefreshInterval); +} + export const commands: Chat.ChatCommands = { ip: 'whois', rooms: 'whois', @@ -552,6 +581,7 @@ export const commands: Chat.ChatCommands = { pokedex: 'data', data(target, room, user, connection, cmd) { if (!this.runBroadcast()) return; + target = target.trim(); const gen = parseInt(cmd.substr(-1)); if (gen) target += `, gen${gen}`; @@ -820,8 +850,8 @@ export const commands: Chat.ChatCommands = { details = { Gen: String(ability.gen) || 'CAP', }; - if (ability.isPermanent) details["✓ Not affected by Gastro Acid"] = ""; - if (ability.isBreakable) details["✓ Ignored by Mold Breaker"] = ""; + if (ability.flags['cantsuppress']) details["✓ Not affected by Gastro Acid"] = ""; + if (ability.flags['breakable']) details["✓ Ignored by Mold Breaker"] = ""; } break; default: @@ -1677,12 +1707,12 @@ export const commands: Chat.ChatCommands = { bugs(target, room, user) { if (!this.runBroadcast()) return; if (room?.battle) { - this.sendReplyBox(`
QuestionsBug Reports
`); + this.sendReplyBox(`
QuestionsBug Reports
`); } else { this.sendReplyBox( `Have a replay showcasing a bug on Pokémon Showdown?
` + `- Questions
` + - `- Bug Reports (ask in Help before posting in the thread if you're unsure)` + `- Bug Reports (ask in Help before posting in the thread if you're unsure)` ); } }, @@ -1755,11 +1785,13 @@ export const commands: Chat.ChatCommands = { const isRandomBattle = room?.battle?.format.endsWith('randombattle'); const isBattleSpotBattle = (room?.battle && (SUPPORTED_BATTLESPOT_FORMATS.includes(room.battle.format) || room.battle.format.includes("battlespotspecial"))); + const {dex} = this.extractFormat(room?.battle?.format); + if (RANDOMS_CALC_COMMANDS.includes(cmd) || (isRandomBattle && !DEFAULT_CALC_COMMANDS.includes(cmd) && !BATTLESPOT_CALC_COMMANDS.includes(cmd))) { return this.sendReplyBox( `Random Battles damage calculator. (Courtesy of Austin)
` + - `- Random Battles Damage Calculator` + `- Random Battles Damage Calculator` ); } if (BATTLESPOT_CALC_COMMANDS.includes(cmd) || (isBattleSpotBattle && !DEFAULT_CALC_COMMANDS.includes(cmd))) { @@ -1770,7 +1802,7 @@ export const commands: Chat.ChatCommands = { } this.sendReplyBox( `Pokémon Showdown! damage calculator. (Courtesy of Honko, Austin, & Kris)
` + - `- Damage Calculator` + `- Damage Calculator` ); }, calchelp: [ @@ -1823,7 +1855,7 @@ export const commands: Chat.ChatCommands = { tiershelp: 'formathelp', formatshelp: 'formathelp', viewbanlist: 'formathelp', - formathelp(target, room, user, connection, cmd) { + async formathelp(target, room, user, connection, cmd) { if (!target && this.runBroadcast()) { return this.sendReplyBox( `- Smogon Tiers
` + @@ -1877,8 +1909,22 @@ export const commands: Chat.ChatCommands = { return this.sendReplyBox(`No description found for this rule.
${rulesetHtml}`); } } - const descHtml = [...(format.desc ? [format.desc] : []), ...(format.threads || [])]; - return this.sendReplyBox(`${descHtml.join("
")}
${rulesetHtml}`); + const formatDesc = format.desc || ''; + let descHtml = []; + const data = await getFormatResources(format.id); + if (data) { + for (const {resource_name, url} of data.resources) { + let rn = resource_name; + rn = rn.replace(/ thread$/gi, ''); + rn = rn.replace(/Pokemon Showdown/gi, 'PS'); + rn = rn.split(' ').map((x: string) => x[0].toUpperCase() + x.substr(1)).join(' '); + descHtml.push(`• ${rn}`); + } + } + if (!descHtml.length && format.threads) { + descHtml = format.threads; + } + return this.sendReplyBox(`

${format.name}


${formatDesc ? formatDesc + '
' : ''}${descHtml.join("
")}${rulesetHtml ? `
${rulesetHtml}` : ''}`); } let tableStyle = `border:1px solid gray; border-collapse:collapse`; @@ -1894,7 +1940,13 @@ export const commands: Chat.ChatCommands = { for (const section of sections[sectionId].formats) { const subformat = Dex.formats.get(section); const nameHTML = Utils.escapeHTML(subformat.name); - const desc = [...(subformat.desc ? [subformat.desc] : []), ...(subformat.threads || [])]; + const desc = subformat.desc ? [subformat.desc] : []; + const data = await getFormatResources(subformat.id); + if (data) { + for (const {resource_name, url} of data.resources) { + desc.push(`• ${resource_name}`); + } + } const descHTML = desc.length ? desc.join("
") : "—"; buf.push(`${nameHTML}${descHTML}`); } @@ -2077,7 +2129,7 @@ export const commands: Chat.ChatCommands = { buffer.push(`${this.tr`Proxy lock help`}`); } if (showAll || ['ca', 'customavatar', 'customavatars'].includes(target)) { - buffer.push(this.tr`Custom avatars are given to Global Staff members, contributors (coders and spriters) to Pokemon Showdown, and Smogon badgeholders at the discretion of Zarel. They are also sometimes given out as prizes for major room events or Smogon tournaments.`); + buffer.push(this.tr`Custom avatars are given to Global Staff members, contributors (coders and spriters) to Pokemon Showdown, and Smogon badgeholders at the discretion of the PS! Administrators. They are also sometimes given out as rewards for major events such as PSPL (Pokemon Showdown Premier League). If you're curious, you can view the entire list of custom avatars.`); } if (showAll || ['privacy', 'private'].includes(target)) { buffer.push(`${this.tr`Pokémon Showdown privacy policy`}`); @@ -2143,7 +2195,7 @@ export const commands: Chat.ChatCommands = { generation = 'rb'; genNumber = 1; } else { - generation = 'ss'; + generation = 'sv'; } // Pokemon @@ -2623,7 +2675,7 @@ export const commands: Chat.ChatCommands = { room = this.requireRoom(); return this.parse(`/sl approved showing media from, ${room.roomid}`); }, - approvalloghelp: [`/approvallog - View a log of past media approvals in the current room. Requires: % @ # &`], + approvalloghelp: [`/approvallog - View a log of past media approvals in the current room. Requires: &`], viewapprovals(target, room, user) { room = this.requireRoom(); @@ -2661,20 +2713,28 @@ export const commands: Chat.ChatCommands = { } else if (Twitch.linkRegex.test(link)) { const channelId = Twitch.linkRegex.exec(link)?.[2]?.trim(); if (!channelId) return this.errorReply(`Specify a Twitch channel.`); - const info = await Twitch.getChannel(channelId); - if (!info) return this.errorReply(`Channel ${channelId} not found.`); - buf = `Watching ${info.display_name}...
`; + buf = Utils.html`Watching ${channelId}...
`; buf += ``; } else { + if (Chat.linkRegex.test(link)) { + if (/^https?:\/\/(.*)\.(mp4|mov)\b(\?|$)/i.test(link)) { // video + // can't fitImage video, so we're just gonna have to guess to keep it small + buf = Utils.html``; + } else if (/^https?:\/\/(.*)\.(mp3|wav)\b(\?|$)/i.test(link)) { // audio + buf = Utils.html``; + } + } if (link.includes('data:image/png;base64')) { throw new Chat.ErrorMessage('Please provide an actual link (you probably copied it wrong?).'); } - try { - const [width, height, resized] = await Chat.fitImage(link); - buf = Utils.html``; - if (resized) buf += Utils.html`
full-size image`; - } catch { - return this.errorReply('Invalid image'); + if (!buf) { // fall back on image + try { + const [width, height, resized] = await Chat.fitImage(link); + buf = Utils.html``; + if (resized) buf += Utils.html`
full-size image`; + } catch { + return this.errorReply('Invalid image, audio, or video URL.'); + } } } if (comment) { @@ -2687,8 +2747,8 @@ export const commands: Chat.ChatCommands = { this.sendReplyBox(buf); }, showhelp: [ - `/show [url] - Shows you an image or YouTube video.`, - `!show [url] - Shows an image or YouTube to everyone in a chatroom. Requires: whitelist % @ # &`, + `/show [url] - Shows you an image, audio clip, video file, or YouTube video.`, + `!show [url] - Shows an image, audio clip, video file, or YouTube video to everyone in a chatroom. Requires: whitelist % @ # &`, ], rebroadcast(target, room, user, connection) { @@ -2929,6 +2989,63 @@ export const commands: Chat.ChatCommands = { altsloghelp: [ `/altslog [userid] - View the alternate account history for the given [userid]. Requires: % @ &`, ], + + randtopic(target, room, user) { + room = this.requireRoom(); + if (!room.settings.topics?.length) { + return this.errorReply(`This room has no random topics to select from.`); + } + this.runBroadcast(); + this.sendReply(Utils.html`|html|
${Utils.randomElement(room.settings.topics)}
`); + }, + randtopichelp: [ + `/randtopic - Randomly selects a topic from the room's discussion topic pool and displays it.`, + `/addtopic [target] - Adds the [target] to the pool of random discussion topics. Requires: % @ # &`, + `/removetopic [index] - Removes the topic from the room's topic pool. Requires: % @ # &`, + `/randomtopics - View the discussion topic pool for the current room.`, + ], + + addtopic(target, room, user) { + room = this.requireRoom(); + this.checkCan('mute', null, room); + target = target.trim(); + if (!toID(target).length) { + return this.parse(`/help randtopic`); + } + if (!room.settings.topics) room.settings.topics = []; + room.settings.topics.push(target); + this.privateModAction(`${user.name} added the topic "${target}" to the random topic pool.`); + this.modlog('ADDTOPIC', null, target); + room.saveSettings(); + }, + addtopichelp: [`/addtopic [target] - Adds the [target] to the pool of random discussion topics. Requires: % @ # &`], + + removetopic(target, room, user) { + room = this.requireRoom(); + this.checkCan('mute', null, room); + if (!toID(target)) { + return this.parse(`/help randtopic`); + } + const index = Number(toID(target)) - 1; + if (isNaN(index)) { + return this.errorReply(`Invalid topic index: ${target}. Must be a number.`); + } + if (!room.settings.topics?.[index]) { + return this.errorReply(`Topic ${index + 1} not found.`); + } + const topic = room.settings.topics.splice(index, 1)[0]; + room.saveSettings(); + this.privateModAction(`${user.name} removed topic ${index + 1} from the random topic pool.`); + this.modlog('REMOVETOPIC', null, topic); + }, + removetopichelp: [`/removetopic [index] - Removes the topic from the room's topic pool. Requires: % @ # &`], + + listtopics: 'randomtopics', + randtopics: 'randomtopics', + randomtopics(target, room, user) { + room = this.requireRoom(); + return this.parse(`/join view-topics-${room}`); + }, }; export const handlers: Chat.Handlers = { @@ -3004,6 +3121,22 @@ export const pages: Chat.PageTable = { } return buf; }, + topics(query, user) { + const room = this.requireRoom(); + this.title = `[Topics] ${room.title}`; + const topics = room.settings.topics || []; + let buf; + if (!topics.length) { + buf = `

This room has no discussion topics saved.

`; + return buf; + } + buf = `

Random topics for ${room.title} (${topics.length}):

    `; + for (const [i, topic] of topics.entries()) { + buf += Utils.html`
  • ${i + 1}: "${topic}"
  • `; + } + buf += `
`; + return buf; + }, battlerules(query, user) { const rules = Object.values(Dex.data.Rulesets).filter(rule => rule.effectType !== "Format"); const tourHelp = `https://www.smogon.com/forums/threads/pok%C3%A9mon-showdown-forum-rules-resources-read-here-first.3570628/#post-6777489`; @@ -3103,7 +3236,8 @@ export const pages: Chat.PageTable = { buf += `

Using a + instead of a - unbans that category.

`; buf += `
  • + Blaziken: Unban/unrestrict a Pokémon.

`; cmd.push(`bans={bans}`); - buf += `Bans/Unbans: (separated by commas)

`; + buf += `Bans/Unbans: (separated by commas)

`; + buf += `
`; buf += `
Clauses`; buf += `

The following rules can be added to challenges/tournaments to modify the style of play. `; buf += `Alternatively, already present rules can be removed from formats by preceding the rule name with !.

`; @@ -3190,6 +3324,12 @@ export const pages: Chat.PageTable = { buf += `Requester ID: ${userid}
`; buf += `Link: ${entry.link}
`; buf += `Comment: ${entry.comment}`; + buf += `
`; + buf += ``; + buf += `
`; + buf += `
`; + buf += ``; + buf += `
`; buf += `
`; } return buf; diff --git a/server/chat-commands/moderation.ts b/server/chat-commands/moderation.ts index e7da3fcb783f..af17a8e87572 100644 --- a/server/chat-commands/moderation.ts +++ b/server/chat-commands/moderation.ts @@ -467,7 +467,7 @@ export const commands: Chat.ChatCommands = { ], async autojoin(target, room, user, connection) { - const targets = target.split(','); + const targets = target.split(',').filter(Boolean); if (targets.length > 16 || connection.inRooms.size > 1) { return connection.popup("To prevent DoS attacks, you can only use /autojoin for 16 or fewer rooms, when you haven't joined any rooms yet. Please use /join for each room separately."); } @@ -564,7 +564,7 @@ export const commands: Chat.ChatCommands = { `${targetID} was warned by ${user.name} while offline.${publicReason ? ` (${publicReason})` : ``}` ); this.globalModlog('WARN OFFLINE', targetUser || targetID, privateReason); - Punishments.offlineWarns.set(targetID, reason); + Punishments.offlineWarns.set(targetID, publicReason); if (saveReplay) this.parse('/savereplay forpunishment'); return; } @@ -694,14 +694,20 @@ export const commands: Chat.ChatCommands = { } this.addModAction(`${targetUser.name} was muted by ${user.name} for ${Chat.toDurationString(muteDuration)}.${(publicReason ? ` (${publicReason})` : ``)}`); this.modlog(`${cmd.includes('h') ? 'HOUR' : ''}MUTE`, targetUser, privateReason); + this.update(); // force an update so the (hide lines from x user) message is on the mod action above + + const ids = [targetUser.getLastId()]; + if (ids[0] !== toID(inputUsername)) { + ids.push(toID(inputUsername)); + } + room.hideText(ids); + if (targetUser.autoconfirmed && targetUser.autoconfirmed !== targetUser.id) { const displayMessage = `${targetUser.name}'s ac account: ${targetUser.autoconfirmed}`; this.privateModAction(displayMessage); } - const userid = targetUser.getLastId(); - this.add(`|hidelines|unlink|${userid}`); - if (userid !== toID(inputUsername)) this.add(`|hidelines|unlink|${toID(inputUsername)}`); + Chat.runHandlers('onPunishUser', 'MUTE', user, room); room.mute(targetUser, muteDuration); }, mutehelp: [`/mute OR /m [username], [reason] - Mutes a user with reason for 7 minutes. Requires: % @ # &`], @@ -798,6 +804,7 @@ export const commands: Chat.ChatCommands = { const time = week ? Date.now() + 7 * 24 * 60 * 60 * 1000 : null; const affected = Punishments.roomBan(room, targetUser, time, null, privateReason); + for (const u of affected) Chat.runHandlers('onPunishUser', 'ROOMBAN', u, room); if (!room.settings.isPrivate && room.persist) { const acAccount = (targetUser.autoconfirmed !== userid && targetUser.autoconfirmed); let displayMessage = ''; @@ -918,6 +925,7 @@ export const commands: Chat.ChatCommands = { affected = await Punishments.lock(userid, duration, null, false, publicReason); } + for (const u of affected) Chat.runHandlers('onPunishUser', 'LOCK', u, room); this.globalModlog( (force ? `FORCE` : ``) + (week ? "WEEKLOCK" : (month ? "MONTHLOCK" : "LOCK")), targetUser || userid, privateReason ); @@ -1122,6 +1130,7 @@ export const commands: Chat.ChatCommands = { this.addGlobalModAction(`${name} was globally banned by ${user.name}.${(publicReason ? ` (${publicReason})` : ``)}`); const affected = await Punishments.ban(userid, null, null, false, publicReason); + for (const u of affected) Chat.runHandlers('onPunishUser', 'BAN', u, room); const acAccount = (targetUser && targetUser.autoconfirmed !== userid && targetUser.autoconfirmed); let displayMessage = ''; if (affected.length > 1) { @@ -1964,6 +1973,7 @@ export const commands: Chat.ChatCommands = { } const duration = week ? 7 * 24 * 60 * 60 * 1000 : 48 * 60 * 60 * 1000; await Punishments.namelock(userid, Date.now() + duration, null, false, publicReason); + if (targetUser) Chat.runHandlers('onPunishUser', 'NAMELOCK', targetUser, room); // Automatically upload replays as evidence/reference to the punishment if (room?.battle) this.parse('/savereplay forpunishment'); Monitor.forceRenames.set(userid, false); @@ -2153,6 +2163,7 @@ export const commands: Chat.ChatCommands = { const affected = Punishments.roomBlacklist(room, targetUser, expireTime, null, reason); + for (const u of affected) Chat.runHandlers('onPunishUser', 'BLACKLIST', u, room); if (!room.settings.isPrivate && room.persist) { const acAccount = (targetUser.autoconfirmed !== userid && targetUser.autoconfirmed); let displayMessage = ''; diff --git a/server/chat-commands/room-settings.ts b/server/chat-commands/room-settings.ts index 983e396683f4..e87c46135f4a 100644 --- a/server/chat-commands/room-settings.ts +++ b/server/chat-commands/room-settings.ts @@ -185,7 +185,7 @@ export const commands: Chat.ChatCommands = { return this.parse(`/help automodchat`); } } - const validGroups = [...Config.groupsranking as string[], 'trusted']; + const validGroups = [...Config.groupsranking as string[], 'trusted', 'autoconfirmed']; if (!validGroups.includes(rank)) { return this.errorReply(`Invalid rank.`); } @@ -1088,10 +1088,11 @@ export const commands: Chat.ChatCommands = { unlistroom: 'privateroom', privateroom(target, room, user, connection, cmd) { room = this.requireRoom(); - if (room.battle) { + const battle = room.battle || room.bestOf; + if (battle) { this.checkCan('editprivacy', null, room); - if (room.battle.forcedSettings.privacy) { - return this.errorReply(`This battle is required to be public because a player has a name prefixed by '${room.battle.forcedSettings.privacy}'.`); + if (battle.forcedSettings.privacy) { + return this.errorReply(`This battle is required to be public because a player has a name prefixed by '${battle.forcedSettings.privacy}'.`); } if (room.tour?.forcePublic) { return this.errorReply(`This battle can't be hidden, because the tournament is set to be forced public.`); @@ -1136,7 +1137,7 @@ export const commands: Chat.ChatCommands = { if (room.parent && room.parent.settings.isPrivate) { return this.errorReply(`This room's parent ${room.parent.title} must be public for this room to be public.`); } - if (room.settings.isPersonal && !room.battle) { + if (room.settings.isPersonal && !battle) { return this.errorReply(`This room can't be made public.`); } if (room.privacySetter && user.can('nooverride', null, room) && !user.can('makeroom')) { @@ -1156,7 +1157,7 @@ export const commands: Chat.ChatCommands = { room.setPrivate(false); } else { const settingName = (setting === true ? 'secret' : setting); - if (room.subRooms) { + if (room.subRooms && !room.bestOf) { if (settingName === 'secret') return this.errorReply("Secret rooms cannot have subrooms."); for (const subRoom of room.subRooms.values()) { if (!subRoom.settings.isPrivate) { @@ -1173,7 +1174,7 @@ export const commands: Chat.ChatCommands = { } this.addModAction(`${user.name} made this room ${settingName}.`); this.modlog(`${settingName.toUpperCase()}ROOM`); - if (!room.settings.isPersonal && !room.battle) room.setSection(); + if (!room.settings.isPersonal && !battle) room.setSection(); room.setPrivate(setting); room.privacySetter = new Set([user.id]); } diff --git a/server/chat-plugins/abuse-monitor.ts b/server/chat-plugins/abuse-monitor.ts index a67541832def..2b43e0b9782a 100644 --- a/server/chat-plugins/abuse-monitor.ts +++ b/server/chat-plugins/abuse-monitor.ts @@ -670,11 +670,11 @@ function getFlaggedRooms() { } export function writeStats(type: string, entry: AnyObject) { - const path = `logs/artemis/${type}/${Chat.toTimestamp(new Date()).split(' ')[0].slice(0, -3)}.jsonl`; + const path = `artemis/${type}/${Chat.toTimestamp(new Date()).split(' ')[0].slice(0, -3)}.jsonl`; try { - FS(path).parentDir().mkdirpSync(); + Monitor.logPath(path).parentDir().mkdirpSync(); } catch {} - void FS(path).append(JSON.stringify(entry) + "\n"); + void Monitor.logPath(path).append(JSON.stringify(entry) + "\n"); } function saveSettings(path?: string) { @@ -2092,7 +2092,7 @@ export const pages: Chat.PageTable = { types: {} as Record, }; const inaccurate = new Set(); - const logPath = FS(`logs/artemis/punishments/${dateString}.jsonl`); + const logPath = Monitor.logPath(`artemis/punishments/${dateString}.jsonl`); if (await logPath.exists()) { const stream = logPath.createReadStream(); for await (const line of stream.byLine()) { @@ -2107,7 +2107,7 @@ export const pages: Chat.PageTable = { } } - const reviewLogPath = FS(`logs/artemis/reviews/${dateString}.jsonl`); + const reviewLogPath = Monitor.logPath(`artemis/reviews/${dateString}.jsonl`); if (await reviewLogPath.exists()) { const stream = reviewLogPath.createReadStream(); for await (const line of stream.byLine()) { diff --git a/server/chat-plugins/announcements.ts b/server/chat-plugins/announcements.ts index 555e00aad293..e36cae9ae7e4 100644 --- a/server/chat-plugins/announcements.ts +++ b/server/chat-plugins/announcements.ts @@ -100,6 +100,33 @@ export const commands: Chat.ChatCommands = { }, newhelp: [`/announcement create [announcement] - Creates an announcement. Requires: % @ # &`], + htmledit: 'edit', + edit(target, room, user, connection, cmd, message) { + room = this.requireRoom(); + const announcement = this.requireMinorActivity(Announcement); + + if (!target) return this.parse('/help announcement edit'); + target = target.trim(); + const text = this.filter(target); + if (target !== text) return this.errorReply(this.tr`You are not allowed to use filtered words in announcements.`); + + const supportHTML = cmd === 'htmledit'; + + this.checkCan('minigame', null, room); + if (supportHTML) this.checkCan('declare', null, room); + this.checkChat(); + + const source = supportHTML ? this.checkHTML(Chat.collapseLineBreaksHTML(target)) : Chat.formatText(target, true); + announcement.source = source; + announcement.save(); + + this.roomlog(`${user.name} used ${message}`); + this.modlog('ANNOUNCEMENT EDIT'); + this.privateModAction(room.tr`The announcement was edited by ${user.name}.`); + this.parse('/announcement display'); + }, + edithelp: [`/announcement edit [announcement] - Edits the announcement. Requires: % @ # &`], + timer(target, room, user) { room = this.requireRoom(); const announcement = this.requireMinorActivity(Announcement); @@ -166,6 +193,8 @@ export const commands: Chat.ChatCommands = { `Accepts the following commands:`, `/announcement create [announcement] - Creates a announcement. Requires: % @ # &`, `/announcement htmlcreate [announcement] - Creates a announcement, with HTML allowed. Requires: # &`, + `/announcement edit [announcement] - Edits the announcement. Requires: % @ # &`, + `/announcement htmledit [announcement] - Edits the announcement, with HTML allowed. Requires: # &`, `/announcement timer [minutes] - Sets the announcement to automatically end after [minutes]. Requires: % @ # &`, `/announcement display - Displays the announcement`, `/announcement end - Ends a announcement. Requires: % @ # &`, @@ -173,7 +202,7 @@ export const commands: Chat.ChatCommands = { }; process.nextTick(() => { - Chat.multiLinePattern.register('/announcement (new|create|htmlcreate) '); + Chat.multiLinePattern.register('/announcement (new|create|htmlcreate|edit|htmledit) '); }); // should handle restarts and also hotpatches diff --git a/server/chat-plugins/battlesearch.ts b/server/chat-plugins/battlesearch.ts index a22216fbd036..9f587205763a 100644 --- a/server/chat-plugins/battlesearch.ts +++ b/server/chat-plugins/battlesearch.ts @@ -29,11 +29,11 @@ interface BattleSearchResults { const MAX_BATTLESEARCH_PROCESSES = 1; export async function runBattleSearch(userids: ID[], month: string, tierid: ID, turnLimit?: number) { const useRipgrep = await checkRipgrepAvailability(); - const pathString = `logs/${month}/${tierid}/`; + const pathString = `${month}/${tierid}/`; const results: {[k: string]: BattleSearchResults} = {}; let files = []; try { - files = await FS(pathString).readdir(); + files = await Monitor.logPath(pathString).readdir(); } catch (err: any) { if (err.code === 'ENOENT') { return results; @@ -41,7 +41,7 @@ export async function runBattleSearch(userids: ID[], month: string, tierid: ID, throw err; } const [userid] = userids; - files = files.filter(item => item.startsWith(month)).map(item => `logs/${month}/${tierid}/${item}`); + files = files.filter(item => item.startsWith(month)).map(item => Monitor.logPath(`${month}/${tierid}/${item}`).path); if (useRipgrep) { // Matches non-word (including _ which counts as a word) characters between letters/numbers @@ -276,7 +276,7 @@ async function rustBattleSearch( const day = date.getDate().toString().padStart(2, '0'); directories.push( - FS(path.join('logs', `${year}-${month}`, format, `${year}-${month}-${day}`)).path + Monitor.logPath(path.join(`${year}-${month}`, format, `${year}-${month}-${day}`)).path ); } @@ -340,7 +340,7 @@ export const pages: Chat.PageTable = { buf += `

`; const months = Utils.sortBy( - (await FS('logs/').readdir()).filter(f => f.length === 7 && f.includes('-')), + (await Monitor.logPath('/').readdir()).filter(f => f.length === 7 && f.includes('-')), name => ({reverse: name}) ); if (!month) { @@ -357,7 +357,7 @@ export const pages: Chat.PageTable = { } const tierid = toID(formatid); - const tiers = Utils.sortBy(await FS(`logs/${month}/`).readdir(), tier => [ + const tiers = Utils.sortBy(await Monitor.logPath(`${month}/`).readdir(), tier => [ // First sort by gen with the latest being first tier.startsWith('gen') ? -parseInt(tier.charAt(3)) : -6, // Then sort alphabetically diff --git a/server/chat-plugins/calculator.ts b/server/chat-plugins/calculator.ts index 727fc970c48b..0dff3198b78a 100644 --- a/server/chat-plugins/calculator.ts +++ b/server/chat-plugins/calculator.ts @@ -185,10 +185,15 @@ export const commands: Chat.ChatCommands = { if (baseResult === expression) baseResult = ''; } let resultStr = ''; + const resultTruncated = parseFloat(result.toPrecision(15)); + let resultDisplay = resultTruncated.toString(); + if (resultTruncated > 10 ** 15) { + resultDisplay = resultTruncated.toExponential(); + } if (baseResult) { - resultStr = `${baseResult} = ${result}`; + resultStr = `${baseResult} = ${resultDisplay}`; } else { - resultStr = `${result}`; + resultStr = `${resultDisplay}`; } this.sendReplyBox(`${expression}
= ${resultStr}`); } catch (e: any) { diff --git a/server/chat-plugins/cg-teams-leveling.ts b/server/chat-plugins/cg-teams-leveling.ts index 8071ae7fe37c..4abd55b6b282 100644 --- a/server/chat-plugins/cg-teams-leveling.ts +++ b/server/chat-plugins/cg-teams-leveling.ts @@ -35,30 +35,15 @@ async function updateStats(battle: RoomBattle, winner: ID) { if (!incrementWins || !incrementLosses) await dbSetupPromise; if (battle.rated < 1000 || toID(battle.format) !== 'gen9computergeneratedteams') return; - const p1 = Users.get(battle.p1.name); - const p2 = Users.get(battle.p2.name); - if (!p1 || !p2) return; - - const p1team = await battle.getTeam(p1); - const p2team = await battle.getTeam(p2); - if (!p1team || !p2team) return; - - let loserTeam, winnerTeam; - if (winner === p1.id) { - loserTeam = p2team; - winnerTeam = p1team; - } else { - loserTeam = p1team; - winnerTeam = p2team; - } - - for (const species of winnerTeam) { - await addPokemon?.run([toID(species.species), species.level]); - await incrementWins?.run([toID(species.species)]); - } - for (const species of loserTeam) { - await addPokemon?.run([toID(species.species), species.level]); - await incrementLosses?.run([toID(species.species)]); + for (const player of battle.players) { + const team = await battle.getPlayerTeam(player); + if (!team) return; + const increment = (player.id === winner ? incrementWins : incrementLosses); + + for (const species of team) { + await addPokemon?.run([toID(species.species), species.level]); + await increment?.run([toID(species.species)]); + } } } diff --git a/server/chat-plugins/chat-monitor.ts b/server/chat-plugins/chat-monitor.ts index 1f7a7f9ad419..e22135150c82 100644 --- a/server/chat-plugins/chat-monitor.ts +++ b/server/chat-plugins/chat-monitor.ts @@ -13,8 +13,8 @@ const EVASION_DETECTION_SUBSTITUTIONS: {[k: string]: string[]} = { c: ["c", "ç", "ᑕ", "C", "ⓒ", "Ⓒ", "¢", "͏", "₵", "ċ", "Ċ", "ፈ", "ς", "ḉ", "Ḉ", "Ꮯ", "ƈ", "̾", "c", "C", "ᴄ", "ɔ", "🅒", "𝐜", "𝐂", "𝘤", "𝘊", "𝙘", "𝘾", "𝒸", "𝓬", "𝓒", "𝕔", "ℂ", "𝔠", "ℭ", "𝖈", "𝕮", "🄲", "🅲", "𝒞", "𝚌", "𝙲", "☾", "с"], d: ["d", "ᗪ", "D", "ⓓ", "Ⓓ", "∂", "Đ", "ď", "Ď", "Ꮄ", "Ḋ", "Ꭰ", "ɖ", "d", "D", "ᴅ", "🅓", "𝐝", "𝐃", "𝘥", "𝘋", "𝙙", "𝘿", "𝒹", "𝓭", "𝓓", "𝕕", "​", "𝔡", "𝖉", "𝕯", "🄳", "🅳", "𝒟", "ԃ", "𝚍", "𝙳", "◗", "ⅾ"], e: ["e", "3", "é", "ê", "E", "ⓔ", "Ⓔ", "є", "͏", "Ɇ", "ệ", "Ệ", "Ꮛ", "ε", "Σ", "ḕ", "Ḕ", "Ꭼ", "ɛ", "̾", "e", "E", "ᴇ", "ǝ", "🅔", "𝐞", "𝐄", "𝘦", "𝘌", "𝙚", "𝙀", "ℯ", "𝓮", "𝓔", "𝕖", "𝔻", "𝔢", "𝔇", "𝖊", "𝕰", "🄴", "🅴", "𝑒", "𝐸", "ҽ", "𝚎", "𝙴", "€", "е", "ё", "𝓮"], - f: ["f", "ᖴ", "F", "ⓕ", "Ⓕ", "₣", "ḟ", "Ḟ", "Ꭶ", "ғ", "ʄ", "f", "F", "ɟ", "🅕", "𝐟", "𝐅", "𝘧", "𝘍", "𝙛", "𝙁", "𝒻", "𝓯", "𝓕", "𝕗", "𝔼", "𝔣", "𝔈", "𝖋", "𝕱", "🄵", "🅵", "𝐹", "ϝ", "𝚏", "𝙵", "Ϝ", "f"], - g: ["g", "q", "6", "9", "G", "ⓖ", "Ⓖ", "͏", "₲", "ġ", "Ġ", "Ꮆ", "ϑ", "Ḡ", "ɢ", "̾", "g", "G", "ƃ", "🅖", "𝐠", "𝐆", "𝘨", "𝘎", "𝙜", "𝙂", "ℊ", "𝓰", "𝓖", "𝕘", "𝔽", "𝔤", "𝔉", "𝖌", "𝕲", "🄶", "🅶", "𝑔", "𝒢", "ɠ", "𝚐", "𝙶", "❡", "ց", "𝙶", "𝓰"], + f: ["f", "ᖴ", "F", "ⓕ", "Ⓕ", "₣", "ḟ", "Ḟ", "Ꭶ", "ғ", "ʄ", "f", "F", "ɟ", "🅕", "𝐟", "𝐅", "𝘧", "𝘍", "𝙛", "𝙁", "𝒻", "𝓯", "𝓕", "𝕗", "𝔼", "𝔣", "𝔈", "𝖋", "𝕱", "🄵", "🅵", "𝐹", "ϝ", "𝚏", "𝙵", "Ϝ", "f", "Ƒ"], + g: ["g", "q", "6", "9", "G", "ⓖ", "Ⓖ", "͏", "₲", "ġ", "Ġ", "Ꮆ", "ϑ", "Ḡ", "ɢ", "̾", "g", "G", "ƃ", "🅖", "𝐠", "𝐆", "𝘨", "𝘎", "𝙜", "𝙂", "ℊ", "𝓰", "𝓖", "𝕘", "𝔽", "𝔤", "𝔉", "𝖌", "𝕲", "🄶", "🅶", "𝑔", "𝒢", "ɠ", "𝚐", "𝙶", "❡", "ց", "𝙶", "𝓰", "Ԍ"], h: [ "h", "ᕼ", "H", "ⓗ", "Ⓗ", "н", "Ⱨ", "ḧ", "Ḧ", "Ꮒ", "ɦ", "h", "H", "ʜ", "ɥ", "🅗", "𝐡", "𝐇", "𝘩", "𝘏", "𝙝", "𝙃", "𝒽", "𝓱", "𝓗", "𝕙", "𝔾", "𝔥", "𝔊", "𝖍", "𝕳", "🄷", "🅷", "𝐻", "ԋ", "𝚑", "𝙷", "♄", "h", ], @@ -25,7 +25,7 @@ const EVASION_DETECTION_SUBSTITUTIONS: {[k: string]: string[]} = { m: [ "m", "ᗰ", "M", "ⓜ", "Ⓜ", "м", "͏", "₥", "ṃ", "Ṃ", "Ꮇ", "ϻ", "Μ", "ṁ", "Ṁ", "ʍ", "̾", "m", "M", "ᴍ", "ɯ", "🅜", "𝐦", "𝐌", "𝘮", "𝘔", "𝙢", "𝙈", "𝓂", "𝓶", "𝓜", "𝕞", "𝕂", "𝔪", "𝔍", "𝖒", "𝕸", "🄼", "🅼", "𝑀", "ɱ", "𝚖", "𝙼", "♔", "ⅿ", ], - n: ["n", "ñ", "ᑎ", "N", "ⓝ", "Ⓝ", "и", "₦", "ń", "Ń", "Ꮑ", "π", "∏", "Ṇ", "ռ", "n", "N", "ɴ", "🅝", "𝐧", "𝐍", "𝘯", "𝘕", "𝙣", "𝙉", "𝓃", "𝓷", "𝓝", "𝕟", "𝕃", "𝔫", "𝔎", "𝖓", "𝕹", "🄽", "🅽", "𝒩", "ɳ", "𝚗", "𝙽", "♫", "ո", "η", "𝙽", "ƞ", "𝓷"], + n: ["n", "ñ", "ᑎ", "N", "ⓝ", "Ⓝ", "и", "₦", "ń", "Ń", "Ꮑ", "π", "∏", "Ṇ", "ռ", "n", "N", "ɴ", "🅝", "𝐧", "𝐍", "𝘯", "𝘕", "𝙣", "𝙉", "𝓃", "𝓷", "𝓝", "𝕟", "𝕃", "𝔫", "𝔎", "𝖓", "𝕹", "🄽", "🅽", "𝒩", "ɳ", "𝚗", "𝙽", "♫", "ո", "η", "𝙽", "ƞ", "𝓷", "Ν"], o: ["o", "0", "ó", "ô", "õ", "ú", "O", "ⓞ", "Ⓞ", "σ", "͏", "Ø", "ö", "Ö", "Ꭷ", "Θ", "ṏ", "Ṏ", "Ꮎ", "օ", "̾", "o", "O", "ᴏ", "🅞", "𝐨", "𝐎", "𝘰", "𝘖", "𝙤", "𝙊", "ℴ", "𝓸", "𝓞", "𝕠", "𝕄", "𝔬", "𝔏", "𝖔", "𝕺", "🄾", "🅾", "𝑜", "𝒪", "𝚘", "𝙾", "⊙", "ο"], p: ["p", "ᑭ", "P", "ⓟ", "Ⓟ", "ρ", "₱", "ṗ", "Ṗ", "Ꭾ", "Ƥ", "Ꮲ", "ք", "p", "P", "ᴘ", "🅟", "𝐩", "𝐏", "𝘱", "𝘗", "𝙥", "𝙋", "𝓅", "𝓹", "𝓟", "𝕡", "ℕ", "𝔭", "𝔐", "𝖕", "𝕻", "🄿", "🅿", "𝒫", "𝚙", "𝙿", "р"], q: [ @@ -47,6 +47,7 @@ const EVASION_DETECTION_SUBSTITUTIONS: {[k: string]: string[]} = { const filterWords: {[k: string]: Chat.FilterWord[]} = Chat.filterWords; export const Filters = new class { + readonly EVASION_DETECTION_SUBSTITUTIONS = EVASION_DETECTION_SUBSTITUTIONS; readonly EVASION_DETECTION_SUB_STRINGS: {[k: string]: string} = {}; constructor() { for (const letter in EVASION_DETECTION_SUBSTITUTIONS) { @@ -501,7 +502,7 @@ export const nicknamefilter: Chat.NicknameFilter = (name, user) => { lcName = lcName.replace('herapist', '').replace('grape', '').replace('scrape', ''); for (const list in filterWords) { - if (!Chat.monitors[list]) continue; + if (!Chat.monitors[list]) continue; if (Chat.monitors[list].location === 'BATTLES') continue; for (const line of filterWords[list]) { let {regex, word} = line; diff --git a/server/chat-plugins/chatlog.ts b/server/chat-plugins/chatlog.ts index 9a15ee32d47a..413925f7c238 100644 --- a/server/chat-plugins/chatlog.ts +++ b/server/chat-plugins/chatlog.ts @@ -5,13 +5,14 @@ * @license MIT */ -import {Utils, FS, Dashycode, ProcessManager, Repl, Net} from '../../lib'; +import {Utils, FS, Dashycode, ProcessManager, Repl, Net, Streams} from '../../lib'; +import {SQL} from '../../lib/database'; import {Config} from '../config-loader'; import {Dex} from '../../sim/dex'; import {Chat} from '../chat'; +import {roomlogTable} from '../roomlogs'; const DAY = 24 * 60 * 60 * 1000; -const MAX_RESULTS = 3000; const MAX_MEMORY = 67108864; // 64MB const MAX_PROCESSES = 1; const MAX_TOPUSERS = 100; @@ -63,8 +64,12 @@ export class LogReaderRoom { } async listMonths() { + if (roomlogTable) { + const dates = await roomlogTable.query()`SELECT DISTINCT month FROM roomlog_dates WHERE roomid = ${this.roomid}`; + return dates.map(x => x.month); + } try { - const listing = await FS(`logs/chat/${this.roomid}`).readdir(); + const listing = await Monitor.logPath(`chat/${this.roomid}`).readdir(); return listing.filter(file => /^[0-9][0-9][0-9][0-9]-[0-9][0-9]$/.test(file)); } catch { return []; @@ -72,8 +77,14 @@ export class LogReaderRoom { } async listDays(month: string) { + if (roomlogTable) { + const dates = await ( + roomlogTable.query()`SELECT DISTINCT date FROM roomlog_dates WHERE roomid = ${this.roomid} AND month = ${month}` + ); + return dates.map(x => x.date); + } try { - const listing = await FS(`logs/chat/${this.roomid}/${month}`).readdir(); + const listing = await Monitor.logPath(`chat/${this.roomid}/${month}`).readdir(); return listing.filter(file => file.endsWith(".txt")).map(file => file.slice(0, -4)); } catch { return []; @@ -81,21 +92,42 @@ export class LogReaderRoom { } async getLog(day: string) { + if (roomlogTable) { + const logs = await roomlogTable.selectAll( + ['log', 'time'] + )`WHERE roomid = ${this.roomid} AND time::DATE = ${day}`; + return new Streams.ObjectReadStream({ + read(this: Streams.ObjectReadStream) { + for (const {log, time} of logs) { + this.buf.push(`${Chat.toTimestamp(time).split(' ')[1]} ${log}`); + } + this.pushEnd(); + }, + }); + } const month = LogReader.getMonth(day); - const log = FS(`logs/chat/${this.roomid}/${month}/${day}.txt`); + const log = Monitor.logPath(`chat/${this.roomid}/${month}/${day}.txt`); if (!await log.exists()) return null; - return log.createReadStream(); + return log.createReadStream().byLine(); } } export const LogReader = new class { async get(roomid: RoomID) { - if (!await FS(`logs/chat/${roomid}`).exists()) return null; + if (roomlogTable) { + if (!(await roomlogTable.selectOne()`WHERE roomid = ${roomid}`)) return null; + } else { + if (!await Monitor.logPath(`chat/${roomid}`).exists()) return null; + } return new LogReaderRoom(roomid); } async list() { - const listing = await FS(`logs/chat`).readdir(); + if (roomlogTable) { + const roomids = await roomlogTable.query()`SELECT DISTINCT roomid FROM roomlogs`; + return roomids.map(x => x.roomid) as RoomID[]; + } + const listing = await Monitor.logPath(`chat`).readdir(); return listing.filter(file => /^[a-z0-9-]+$/.test(file)) as RoomID[]; } @@ -151,25 +183,6 @@ export const LogReader = new class { return {official, normal, hidden, secret, deleted, personal, deletedPersonal}; } - async read(roomid: RoomID, day: string, limit: number) { - const roomLog = await LogReader.get(roomid); - const stream = await roomLog!.getLog(day); - let buf = ''; - let i = (LogSearcher as FSLogSearcher).results || 0; - if (!stream) { - buf += `

Room "${roomid}" doesn't have logs for ${day}

`; - } else { - for await (const line of stream.byLine()) { - const rendered = LogViewer.renderLine(line); - if (rendered) { - buf += `${line}\n`; - i++; - if (i > limit) break; - } - } - } - return buf; - } getMonth(day?: string) { if (!day) day = Chat.toTimestamp(new Date()).split(' ')[0]; return day.slice(0, 7); @@ -204,119 +217,6 @@ export const LogReader = new class { // won't crash on the input text. return /^[0-9]{4}-(?:0[0-9]|1[0-2])-(?:[0-2][0-9]|3[0-1])$/.test(text); } - async findBattleLog(tier: ID, number: number): Promise { - // binary search! - const months = (await FS('logs').readdir()).filter(this.isMonth).sort(); - if (!months.length) return null; - - // find first day - let firstDay!: string; - while (months.length) { - const month = months[0]; - try { - const days = (await FS(`logs/${month}/${tier}/`).readdir()).filter(this.isDay).sort(); - firstDay = days[0]; - break; - } catch {} - months.shift(); - } - if (!firstDay) return null; - - // find last day - let lastDay!: string; - while (months.length) { - const month = months[months.length - 1]; - try { - const days = (await FS(`logs/${month}/${tier}/`).readdir()).filter(this.isDay).sort(); - lastDay = days[days.length - 1]; - break; - } catch {} - months.pop(); - } - if (!lastDay) throw new Error(`getBattleLog month range search for ${tier}`); - - const getBattleNum = (battleName: string) => Number(battleName.split('-')[1].slice(0, -9)); - - const getDayRange = async (day: string) => { - const month = day.slice(0, 7); - - try { - const battles = (await FS(`logs/${month}/${tier}/${day}`).readdir()).filter( - b => b.endsWith('.log.json') - ); - Utils.sortBy(battles, getBattleNum); - - return [getBattleNum(battles[0]), getBattleNum(battles[battles.length - 1])]; - } catch { - return null; - } - }; - - const dayExists = (day: string) => FS(`logs/${day.slice(0, 7)}/${tier}/${day}`).exists(); - - const nextExistingDay = async (day: string) => { - for (let i = 0; i < 3650; i++) { - day = this.nextDay(day); - if (await dayExists(day)) return day; - if (day === lastDay) return null; - } - return null; - }; - - const prevExistingDay = async (day: string) => { - for (let i = 0; i < 3650; i++) { - day = this.prevDay(day); - if (await dayExists(day)) return day; - if (day === firstDay) return null; - } - return null; - }; - - for (let i = 0; i < 100; i++) { - const middleDay = new Date( - (new Date(firstDay).getTime() + new Date(lastDay).getTime()) / 2 - ).toISOString().slice(0, 10); - - let currentDay: string | null = middleDay; - let dayRange = await getDayRange(middleDay); - - if (!dayRange) { - currentDay = await nextExistingDay(middleDay); - if (!currentDay) { - const lastExistingDay = await prevExistingDay(middleDay); - if (!lastExistingDay) throw new Error(`couldn't find existing day`); - lastDay = lastExistingDay; - continue; - } - dayRange = await getDayRange(currentDay); - if (!dayRange) throw new Error(`existing day was a lie`); - } - - const [lowest, highest] = dayRange; - - if (number < lowest) { - // before currentDay - if (firstDay === currentDay) return null; - lastDay = this.prevDay(currentDay); - } else if (number > highest) { - // after currentDay - if (lastDay === currentDay) return null; - firstDay = this.nextDay(currentDay); - } else { - // during currentDay - const month = currentDay.slice(0, 7); - const path = FS(`logs/${month}/${tier}/${currentDay}/${tier}-${number}.log.json`); - if (await path.exists()) { - return JSON.parse(path.readSync()).log; - } - return null; - } - } - - // 100 iterations is enough to search 2**100 days, which is around 1e30 days - // for comparison, a millennium is 365000 days - throw new Error(`Infinite loop looking for ${tier}-${number}`); - } }; export const LogViewer = new class { @@ -343,8 +243,11 @@ export const LogViewer = new class { if (!stream) { buf += `

Room "${roomid}" doesn't have logs for ${day}

`; } else { - for await (const line of stream.byLine()) { - buf += this.renderLine(line, opts, {roomid, date: day}); + for await (const line of stream) { + // sometimes there can be newlines in there. parse accordingly + for (const part of line.split('\n')) { + buf += this.renderLine(part, opts, {roomid, date: day}); + } } } buf += ``; @@ -358,24 +261,6 @@ export const LogViewer = new class { return this.linkify(buf); } - async battle(tier: string, number: number, context: Chat.PageContext) { - if (number > Rooms.global.lastBattle) { - throw new Chat.ErrorMessage(`That battle cannot exist, as the number has not been used.`); - } - const roomid = `battle-${tier}-${number}` as RoomID; - context.setHTML(`

Locating battle logs for the battle ${tier}-${number}...

`); - const log = await PM.query({ - queryType: 'battlesearch', roomid: toID(tier), search: number, - }); - if (!log) return context.setHTML(this.error("Logs not found.")); - const {connection} = context; - context.close(); - connection.sendTo( - roomid, `|init|battle\n|title|[Battle Log] ${tier}-${number}\n${log.join('\n')}` - ); - connection.sendTo(roomid, `|expire|This is a battle log.`); - } - parseChatLine(line: string, day: string) { const [timestamp, type, ...rest] = line.split('|'); if (type === 'c:') { @@ -567,9 +452,6 @@ export const LogViewer = new class { } }; -/** Match with two lines of context in either direction */ -type SearchMatch = readonly [string, string, string, string, string]; - export abstract class Searcher { static checkEnabled() { if (global.Config.disableripgrep) { @@ -581,19 +463,7 @@ export abstract class Searcher { const id = toID(user); return `.${[...id].join('[^a-zA-Z0-9]*')}[^a-zA-Z0-9]*`; } - constructSearchRegex(str: string) { - // modified regex replace - str = str.replace(/[\\^$.*?()[\]{}|]/g, '\\$&'); - const searches = str.split('+'); - if (searches.length <= 1) { - if (str.length <= 3) return `\b${str}`; - return str; - } - return `^` + searches.filter(Boolean).map(term => `(?=.*${term})`).join(''); - } - abstract searchLogs(roomid: RoomID, search: string, limit?: number | null, date?: string | null): Promise; abstract searchLinecounts(roomid: RoomID, month: string, user?: ID): Promise; - abstract getSharedBattles(userids: string[]): Promise; renderLinecountResults( results: {[date: string]: {[userid: string]: number}} | null, roomid: RoomID, month: string, user?: ID @@ -604,10 +474,10 @@ export abstract class Searcher { buf += `Month: ${month}:
`; const nextMonth = LogReader.nextMonth(month); const prevMonth = LogReader.prevMonth(month); - if (FS(`logs/chat/${roomid}/${prevMonth}`).existsSync()) { + if (Monitor.logPath(`chat/${roomid}/${prevMonth}`).existsSync()) { buf += `Previous month`; } - if (FS(`logs/chat/${roomid}/${nextMonth}`).existsSync()) { + if (Monitor.logPath(`chat/${roomid}/${nextMonth}`).existsSync()) { buf += ` Next month`; } if (!results) { @@ -616,7 +486,7 @@ export abstract class Searcher { return buf; } else if (user) { buf += '
    '; - const sortedDays = Utils.sortBy(Object.keys(results), day => ({reverse: day})); + const sortedDays = Utils.sortBy(Object.keys(results)); let total = 0; for (const day of sortedDays) { const dayResults = results[day][user]; @@ -630,7 +500,7 @@ export abstract class Searcher { buf += '
      '; // squish the results together const totalResults: {[k: string]: number} = {}; - for (const date in results) { + for (const date of Utils.sortBy(Object.keys(results))) { for (const userid in results[date]) { if (!totalResults[userid]) totalResults[userid] = 0; totalResults[userid] += results[date][userid]; @@ -651,48 +521,22 @@ export abstract class Searcher { buf += ``; return LogViewer.linkify(buf); } - async runSearch( - context: Chat.PageContext, search: string, roomid: RoomID, date: string | null, limit: number | null - ) { - context.title = `[Search] [${roomid}] ${search}`; - if (!['ripgrep', 'fs'].includes(Config.chatlogreader)) { - throw new Error(`Config.chatlogreader must be 'fs' or 'ripgrep'.`); - } - context.setHTML( - `

      Running a chatlog search for "${search}" on room ${roomid}` + - (date ? date !== 'all' ? `, on the date "${date}"` : ', on all dates' : '') + - `.

      ` - ); - const response = await PM.query({search, roomid, date, limit, queryType: 'search'}); - return context.setHTML(response); - } async runLinecountSearch(context: Chat.PageContext, roomid: RoomID, month: string, user?: ID) { context.setHTML( `

      Searching linecounts on room ${roomid}${user ? ` for the user ${user}` : ''}.

      ` ); - const results = await PM.query({roomid, date: month, search: user, queryType: 'linecount'}); - context.setHTML(results); + context.setHTML(await LogSearcher.searchLinecounts(roomid, month, user)); } - async sharedBattles(userids: string[]) { - let buf = `Logged shared battles between the users ${userids.join(', ')}`; - const results: string[] = await PM.query({ - queryType: 'sharedsearch', search: userids, - }); - if (!results.length) { - buf += `:
      None found.`; - return buf; - } - buf += ` (${results.length}):
      `; - buf += results.map(id => `${id}`).join(', '); - return buf; + runSearch() { + throw new Chat.ErrorMessage(`This functionality is currently disabled.`); } // this would normally be abstract, but it's very difficult with ripgrep // so it's easier to just do it the same way for both. async roomStats(room: RoomID, month: string) { - if (!FS(`logs/chat/${room}`).existsSync()) { + if (!Monitor.logPath(`chat/${room}`).existsSync()) { return LogViewer.error(Utils.html`Room ${room} not found.`); } - if (!FS(`logs/chat/${room}/${month}`).existsSync()) { + if (!Monitor.logPath(`chat/${room}/${month}`).existsSync()) { return LogViewer.error(Utils.html`Room ${room} does not have logs for the month ${month}.`); } const stats = await PM.query({ @@ -702,8 +546,8 @@ export abstract class Searcher { buf += `Total days with logs: ${stats.average.days}
      `; const next = LogReader.nextMonth(month); const prev = LogReader.prevMonth(month); - const prevExists = FS(`logs/chat/${room}/${prev}`).existsSync(); - const nextExists = FS(`logs/chat/${room}/${next}`).existsSync(); + const prevExists = Monitor.logPath(`chat/${room}/${prev}`).existsSync(); + const nextExists = Monitor.logPath(`chat/${room}/${next}`).existsSync(); if (prevExists) { buf += `
      Previous month`; buf += nextExists ? ` | ` : `
      `; @@ -750,9 +594,13 @@ export abstract class Searcher { return buf; } async activityStats(room: RoomID, month: string) { - const days = (await FS(`logs/chat/${room}/${month}`).readdir()).map(f => f.slice(0, -4)); + const days = (await Monitor.logPath(`chat/${room}/${month}`).readdir()).map(f => f.slice(0, -4)); const stats: RoomStats[] = []; + const today = Chat.toTimestamp(new Date()).split(' ')[0]; for (const day of days) { + if (day === today) { // if the day is not over: do not count it, it'll skew the numbers + continue; + } const curStats = await this.dayStats(room, day); if (!curStats) continue; stats.push(curStats); @@ -790,7 +638,7 @@ export abstract class Searcher { return {average: collected, days: stats}; } async dayStats(room: RoomID, day: string) { - const cached = this.roomstatsCache.get(day); + const cached = this.roomstatsCache.get(room + '-' + day); if (cached) return cached; const results: RoomStats & {day: string} = { deadTime: 0, @@ -803,7 +651,7 @@ export abstract class Searcher { averagePresent: 0, day, }; - const path = FS(`logs/chat/${room}/${LogReader.getMonth(day)}/${day}.txt`); + const path = Monitor.logPath(`chat/${room}/${LogReader.getMonth(day)}/${day}.txt`); if (!path.existsSync()) return false; const stream = path.createReadStream(); let lastTime = new Date(day).getTime(); // start at beginning of day to be sure @@ -851,7 +699,7 @@ export abstract class Searcher { // we don't cache the current day's stats because that could be inaccurate, whereas old days will always be the same if (day !== LogReader.today()) { - this.roomstatsCache.set(day, results); + this.roomstatsCache.set(room + '-' + day, results); } return results; } @@ -871,7 +719,7 @@ export class FSLogSearcher extends Searcher { this.results = 0; } async searchLinecounts(roomid: RoomID, month: string, user?: ID) { - const directory = FS(`logs/chat/${roomid}/${month}`); + const directory = Monitor.logPath(`chat/${roomid}/${month}`); if (!directory.existsSync()) { return this.renderLinecountResults(null, roomid, month, user); } @@ -879,7 +727,7 @@ export class FSLogSearcher extends Searcher { const results: {[date: string]: {[userid: string]: number}} = {}; for (const file of files) { const day = file.slice(0, -4); - const stream = FS(`logs/chat/${roomid}/${month}/${file}`).createReadStream(); + const stream = Monitor.logPath(`chat/${roomid}/${month}/${file}`).createReadStream(); for await (const line of stream.byLine()) { const parts = line.split('|').map(toID); const id = parts[2]; @@ -894,212 +742,21 @@ export class FSLogSearcher extends Searcher { } return this.renderLinecountResults(results, roomid, month, user); } - searchLogs(roomid: RoomID, search: string, limit?: number | null, date?: string | null) { - if (!date) date = Chat.toTimestamp(new Date()).split(' ')[0].slice(0, -3); - const isAll = (date === 'all'); - const isYear = (date.length === 4); - const isMonth = (date.length === 7); - if (!limit || limit > MAX_RESULTS) limit = MAX_RESULTS; - if (isAll) { - return this.runYearSearch(roomid, null, search, limit); - } else if (isYear) { - date = date.substr(0, 4); - return this.runYearSearch(roomid, date, search, limit); - } else if (isMonth) { - date = date.substr(0, 7); - return this.runMonthSearch(roomid, date, search, limit); - } else { - return Promise.resolve(LogViewer.error("Invalid date.")); - } - } - - async fsSearchDay(roomid: RoomID, day: string, search: string, limit?: number | null) { - if (!limit || limit > MAX_RESULTS) limit = MAX_RESULTS; - const text = await LogReader.read(roomid, day, limit); - if (!text) return []; - const lines = text.split('\n'); - const matches: SearchMatch[] = []; - - const searchTerms = search.split('+').filter(Boolean); - const searchTermRegexes: RegExp[] = []; - for (const searchTerm of searchTerms) { - if (searchTerm.startsWith('user-')) { - const id = toID(searchTerm.slice(5)); - searchTermRegexes.push(new RegExp(`\\|c\\|${this.constructUserRegex(id)}\\|`, 'i')); - continue; - } - searchTermRegexes.push(new RegExp(searchTerm, 'i')); - } - function matchLine(line: string) { - return searchTermRegexes.every(term => term.test(line)); - } - - for (const [i, line] of lines.entries()) { - if (matchLine(line)) { - matches.push([ - lines[i - 2], - lines[i - 1], - line, - lines[i + 1], - lines[i + 2], - ]); - if (matches.length > limit) break; - } - } - return matches; - } - - renderDayResults(results: {[day: string]: SearchMatch[]}, roomid: RoomID) { - const renderResult = (match: SearchMatch) => { - this.results++; - return ( - LogViewer.renderLine(match[0]) + - LogViewer.renderLine(match[1]) + - `
      ${LogViewer.renderLine(match[2])}
      ` + - LogViewer.renderLine(match[3]) + - LogViewer.renderLine(match[4]) - ); - }; - - let buf = ``; - for (const day in results) { - const dayResults = results[day]; - const plural = dayResults.length !== 1 ? "es" : ""; - buf += `
      ${dayResults.length} match${plural} on `; - buf += `${day}

      `; - buf += `

      ${dayResults.filter(Boolean).map(result => renderResult(result)).join(`


      `)}

      `; - buf += `

      `; - } - return buf; - } - - async fsSearchMonth(opts: ChatlogSearch) { - let {limit, room: roomid, date: month, search} = opts; - if (!limit || limit > MAX_RESULTS) limit = MAX_RESULTS; - const log = await LogReader.get(roomid); - if (!log) return {results: {}, total: 0}; - const days = await log.listDays(month); - const results: {[k: string]: SearchMatch[]} = {}; - let total = 0; - - for (const day of days) { - const dayResults = await this.fsSearchDay(roomid, day, search, limit ? limit - total : null); - if (!dayResults.length) continue; - total += dayResults.length; - results[day] = dayResults; - if (total > limit) break; - } - return {results, total}; - } - - /** pass a null `year` to search all-time */ - async fsSearchYear(roomid: RoomID, year: string | null, search: string, limit?: number | null) { - if (!limit || limit > MAX_RESULTS) limit = MAX_RESULTS; - const log = await LogReader.get(roomid); - if (!log) return {results: {}, total: 0}; - let months = await log.listMonths(); - months = months.reverse(); - const results: {[k: string]: SearchMatch[]} = {}; - let total = 0; - - for (const month of months) { - if (year && !month.includes(year)) continue; - const monthSearch = await this.fsSearchMonth({room: roomid, date: month, search, limit}); - const {results: monthResults, total: monthTotal} = monthSearch; - if (!monthTotal) continue; - total += monthTotal; - Object.assign(results, monthResults); - if (total > limit) break; - } - return {results, total}; - } - async runYearSearch(roomid: RoomID, year: string | null, search: string, limit: number) { - const {results, total} = await this.fsSearchYear(roomid, year, search, limit); - if (!total) { - return LogViewer.error(`No matches found for ${search} on ${roomid}.`); - } - let buf = ''; - if (year) { - buf += `

      Searching year: ${year}:

      `; - } else { - buf += `

      Searching all logs:

      `; - } - buf += this.renderDayResults(results, roomid); - if (total > limit) { - // cap is met - buf += `
      Max results reached, capped at ${limit}`; - buf += `
      `; - if (total < MAX_RESULTS) { - buf += ``; - buf += `
      `; - } - } - this.results = 0; - return buf; - } - async runMonthSearch(roomid: RoomID, month: string, search: string, limit: number, year = false) { - const {results, total} = await this.fsSearchMonth({room: roomid, date: month, search, limit}); - if (!total) { - return LogViewer.error(`No matches found for ${search} on ${roomid}.`); - } - - let buf = ( - `
      Searching for "${search}" in ${roomid} (${month}):
      ` - ); - buf += this.renderDayResults(results, roomid); - if (total > limit) { - // cap is met & is not being used in a year read - buf += `
      Max results reached, capped at ${limit}`; - buf += `
      `; - if (total < MAX_RESULTS) { - buf += ``; - buf += `
      `; - } - } - buf += `
      `; - this.results = 0; - return buf; - } - async getSharedBattles(userids: string[]) { - const months = FS("logs/").readdirSync().filter(f => !isNaN(new Date(f).getTime())); - const results: string[] = []; - for (const month of months) { - const tiers = await FS(`logs/${month}`).readdir(); - for (const tier of tiers) { - const days = await FS(`logs/${month}/${tier}/`).readdir(); - for (const day of days) { - const battles = await FS(`logs/${month}/${tier}/${day}`).readdir(); - for (const battle of battles) { - const content = JSON.parse(FS(`logs/${month}/${tier}/${day}/${battle}`).readSync()); - const players = [content.p1, content.p2].map(toID); - if (players.every(p => userids.includes(p))) { - const battleName = battle.slice(0, -9); - results.push(battleName); - } - } - } - } - } - return results; - } } export class RipgrepLogSearcher extends Searcher { async ripgrepSearchMonth(opts: ChatlogSearch) { - let {raw, search, room: roomid, date: month, args} = opts; + const {search, room: roomid, date: month, args} = opts; let results: string[]; let lineCount = 0; if (Config.disableripgrep) { return {lineCount: 0, results: []}; } - if (!raw) { - search = this.constructSearchRegex(search); - } const resultSep = args?.includes('-m') ? '--' : '\n'; try { const options = [ '-e', search, - `logs/chat/${roomid}/${month}`, + Monitor.logPath(`chat/${roomid}/${month}`).path, '-i', ]; if (args) { @@ -1123,99 +780,6 @@ export class RipgrepLogSearcher extends Searcher { lineCount += results.length; return {results, lineCount}; } - async searchLogs( - roomid: RoomID, - search: string, - limit?: number | null, - date?: string | null - ) { - if (date) { - // if it's more than 7 chars, assume it's a month - if (date.length > 7) date = date.substr(0, 7); - // if it's less, assume they were trying a year - else if (date.length < 7) date = date.substr(0, 4); - } - const months = (date && toID(date) !== 'all' ? [date] : await new LogReaderRoom(roomid).listMonths()).reverse(); - let linecount = 0; - let results: string[] = []; - if (!limit || limit > MAX_RESULTS) limit = MAX_RESULTS; - if (!date) date = 'all'; - const originalSearch = search; - const userRegex = /user-(.[a-zA-Z0-9]*)/gi; - const user = userRegex.exec(search)?.[0]?.slice(5); - const userSearch = user ? `the user '${user}'` : null; - if (userSearch) { - const id = toID(user); - const rest = search.replace(userRegex, '') - .split('-') - .filter(Boolean) - .map(str => `.*${Utils.escapeRegex(str)}`) - .join(''); - search = `\\|c\\|${this.constructUserRegex(id)}\\|${rest}`; - } - while (linecount < MAX_RESULTS) { - const month = months.shift(); - if (!month) break; - const output = await this.ripgrepSearchMonth({ - room: roomid, search, date: month, - limit, args: [`-m`, `${limit}`, '-C', '3', '--engine=auto'], raw: !!userSearch, - }); - results = results.concat(output.results); - linecount += output.lineCount; - } - if (linecount > MAX_RESULTS) { - const diff = linecount - MAX_RESULTS; - results = results.slice(0, -diff); - } - return this.renderSearchResults(results, roomid, search, limit, date, originalSearch); - } - - renderSearchResults( - results: string[], roomid: RoomID, search: string, limit: number, - month?: string | null, originalSearch?: string | null - ) { - results = results.filter(Boolean); - if (results.length < 1) return LogViewer.error('No results found.'); - let exactMatches = 0; - let curDate = ''; - if (limit > MAX_RESULTS) limit = MAX_RESULTS; - const useOriginal = originalSearch && originalSearch !== search; - const searchRegex = new RegExp(useOriginal ? search : this.constructSearchRegex(search), "i"); - const sorted = Utils.sortBy(results, line => ( - {reverse: line.split('.txt')[0].split('/').pop()!} - )).map(chunk => chunk.split('\n').map(rawLine => { - if (exactMatches > limit || !toID(rawLine)) return null; // return early so we don't keep sorting - const sep = rawLine.includes('.txt-') ? '.txt-' : '.txt:'; - const [name, text] = rawLine.split(sep); - let line = LogViewer.renderLine(text, 'all'); - if (!line || name.includes('today')) return null; - // gets rid of some edge cases / duplicates - let date = name.replace(`logs/chat/${roomid}${toID(month) === 'all' ? '' : `/${month}`}`, '').slice(9); - if (searchRegex.test(rawLine)) { - if (++exactMatches > limit) return null; - line = `
      ${line}
      `; - } - if (curDate !== date) { - curDate = date; - date = `
[${date}]`; - } else { - date = ''; - } - return `${date} ${line}`; - }).filter(Boolean).join(' ')).filter(Boolean); - let buf = Utils.html`
Results on ${roomid} for ${originalSearch ? originalSearch : search}:`; - buf += limit ? ` ${exactMatches} (capped at ${limit})` : ''; - buf += `
`; - buf += sorted.join('
'); - if (limit) { - buf += `

Capped at ${limit}.
`; - buf += ``; - buf += `
`; - } - return buf; - } async searchLinecounts(room: RoomID, month: string, user?: ID) { // don't need to check if logs exist since ripgrepSearchMonth does that const regexString = ( @@ -1247,43 +811,45 @@ export class RipgrepLogSearcher extends Searcher { } return this.renderLinecountResults(results, room, month, user); } - async getSharedBattles(userids: string[]) { - const regexString = userids.map(id => `(?=.*?("p(1|2)":"${[...id].join('[^a-zA-Z0-9]*')}[^a-zA-Z0-9]*"))`).join(''); - const results: string[] = []; - try { - const {stdout} = await ProcessManager.exec(['rg', '-e', regexString, '-i', '-tjson', 'logs/', '-P']); - for (const line of stdout.split('\n')) { - const [name] = line.split(':'); - const battleName = name.split('/').pop()!; - results.push(battleName.slice(0, -9)); - } - } catch (e: any) { - if (e.code !== 1) throw e; - } - return results.filter(Boolean); +} + +export class DatabaseLogSearcher extends Searcher { + async searchLinecounts(roomid: RoomID, monthString: string, user?: ID) { + user = toID(user); + if (!Rooms.Roomlogs.table) throw new Error(`Database search made while database is disabled.`); + const results: {[date: string]: {[user: string]: number}} = {}; + const [year, month] = monthString.split('-').map(Number); + const rows = await Rooms.Roomlogs.table.selectAll()` + WHERE EXTRACT("year" FROM time::DATE) = ${year} AND EXTRACT("month" FROM time::DATE) = ${month} AND + roomid = ${roomid} AND type = ${'c'}${user ? SQL` AND userid = ${user}` : SQL``} + `; + + for (const row of rows) { + // 'c' rows should always have userids, so this should never be an issue. + // this is just to appease TS. + if (!row.userid) continue; + const day = Chat.toTimestamp(row.time).split(' ')[0]; + if (!results[day]) results[day] = {}; + if (!results[day][row.userid]) results[day][row.userid] = 0; + results[day][row.userid]++; + } + + return this.renderLinecountResults(results, roomid, monthString, user); } } -export const LogSearcher: Searcher = new (Config.chatlogreader === 'ripgrep' ? RipgrepLogSearcher : FSLogSearcher)(); +export const LogSearcher: Searcher = new ( + Rooms.Roomlogs.table ? DatabaseLogSearcher : + // no db, determine fs reader type. + Config.chatlogreader === 'ripgrep' ? RipgrepLogSearcher : FSLogSearcher +)(); export const PM = new ProcessManager.QueryProcessManager(module, async data => { const start = Date.now(); try { let result: any; - const {date, search, roomid, limit, queryType} = data; + const {search, roomid, queryType} = data; switch (queryType) { - case 'linecount': - result = await LogSearcher.searchLinecounts(roomid, date, search); - break; - case 'search': - result = await LogSearcher.searchLogs(roomid, search, limit, date); - break; - case 'sharedsearch': - result = await LogSearcher.getSharedBattles(search); - break; - case 'battlesearch': - result = await LogReader.findBattleLog(roomid, search); - break; case 'roomstats': result = await LogSearcher.activityStats(roomid, search); break; @@ -1333,7 +899,7 @@ if (!PM.isParentProcess) { PM.spawn(MAX_PROCESSES); } -const accessLog = FS(`logs/chatlog-access.txt`).createAppendStream(); +const accessLog = Monitor.logPath(`chatlog-access.txt`).createAppendStream(); export const pages: Chat.PageTable = { async chatlog(args, user, connection) { @@ -1379,22 +945,7 @@ export const pages: Chat.PageTable = { void accessLog.writeLine(`${user.id}: <${roomid}> ${date}`); this.title = '[Logs] ' + roomid; - /** null = no limit */ - let limit: number | null = null; let search; - if (opts?.startsWith('search-')) { - let [input, limitString] = opts.split('--limit-'); - input = input.slice(7); - search = Dashycode.decode(input); - if (search.length < 3) return this.errorReply(`That's too short of a search query.`); - if (limitString) { - limit = parseInt(limitString) || null; - } else { - limit = 500; - } - opts = ''; - } - const isAll = (toID(date) === 'all' || toID(date) === 'alltime'); const parsedDate = new Date(date as string); const validDateStrings = ['all', 'alltime']; @@ -1410,7 +961,7 @@ export const pages: Chat.PageTable = { if (date && search) { Searcher.checkEnabled(); this.checkCan('bypassall'); - return LogSearcher.runSearch(this, search, roomid, isAll ? null : date, limit); + return LogSearcher.runSearch(); } else if (date) { if (date === 'today') { this.setHTML(await LogViewer.day(roomid, LogReader.today(), opts)); @@ -1445,14 +996,6 @@ export const pages: Chat.PageTable = { this.title = `[Log Stats] ${date}`; return LogSearcher.runLinecountSearch(this, room ? room.roomid : args[2] as RoomID, date, toID(target)); }, - battlelog(args, user) { - const [tierName, battleNum] = args; - const tier = toID(tierName); - const num = parseInt(battleNum); - if (isNaN(num)) return this.errorReply(`Invalid battle number.`); - void accessLog.writeLine(`${user.id}: battle-${tier}-${num}`); - return LogViewer.battle(tier, num, this); - }, async logsaccess(query) { this.checkCan('rangeban'); const type = toID(query.shift()); @@ -1475,7 +1018,7 @@ export const pages: Chat.PageTable = { let buf = `

${title}`; if (userid) buf += ` for ${userid}`; buf += `


    `; - const accessStream = FS(`logs/chatlog-access.txt`).createReadStream(); + const accessStream = Monitor.logPath(`chatlog-access.txt`).createReadStream(); for await (const line of accessStream.byLine()) { const [id, rest] = Utils.splitFirst(line, ': '); if (userid && id !== userid) continue; @@ -1506,11 +1049,14 @@ export const pages: Chat.PageTable = { export const commands: Chat.ChatCommands = { chatlogs: 'chatlog', cl: 'chatlog', + roomlog: 'chatlog', + rl: 'chatlog', + roomlogs: 'chatlog', chatlog(target, room, user) { const [tarRoom, ...opts] = target.split(','); const targetRoom = tarRoom ? Rooms.search(tarRoom) : room; const roomid = targetRoom ? targetRoom.roomid : target; - return this.parse(`/join view-chatlog-${roomid}--today${opts ? `--${opts.join('--')}` : ''}`); + return this.parse(`/join view-chatlog-${roomid}--today${opts ? `--${opts.map(toID).join('--')}` : ''}`); }, chatloghelp() { @@ -1644,23 +1190,6 @@ export const commands: Chat.ChatCommands = { `/linecount [room], [month], [user].. This does not use any defaults.
    ` ); }, - slb: 'sharedloggedbattles', - async sharedloggedbattles(target, room, user) { - this.checkCan('lock'); - if (Config.nobattlesearch) return this.errorReply(`/${this.cmd} has been temporarily disabled due to load issues.`); - const targets = target.split(',').map(toID).filter(Boolean); - if (targets.length < 2 || targets.length > 2) { - return this.errorReply(`Specify two users.`); - } - const results = await LogSearcher.sharedBattles(targets); - if (room?.settings.staffRoom || this.pmTarget?.isStaff) { - this.runBroadcast(); - } - return this.sendReplyBox(results); - }, - sharedloggedbattleshelp: [ - `/sharedloggedbattles OR /slb [user1, user2] - View shared battle logs between user1 and user2`, - ], battlelog(target, room, user) { this.checkCan('lock'); target = target.trim(); @@ -1765,7 +1294,7 @@ export const commands: Chat.ChatCommands = { if (target.length < 3) { return this.errorReply(`Too short of a search term.`); } - const files = await FS(`logs/chat`).readdir(); + const files = await Monitor.logPath(`chat`).readdir(); const buffer = []; for (const roomid of files) { if (roomid.startsWith('groupchat-') && roomid.includes(target)) { @@ -1791,7 +1320,7 @@ export const commands: Chat.ChatCommands = { return this.parse(`/join view-roominfo-${room}${date ? `--${date}` : ''}`); }, roomactivityhelp: [ - `/roomactibity [room][, date] - View room activity logs for the given room.`, + `/roomactivity [room][, date] - View room activity logs for the given room.`, `If a date is provided, it searches for logs from that date. Otherwise, it searches the current month.`, `Requires: &`, ], diff --git a/server/chat-plugins/datasearch.ts b/server/chat-plugins/datasearch.ts index 42dc03862f59..925b268ba93c 100644 --- a/server/chat-plugins/datasearch.ts +++ b/server/chat-plugins/datasearch.ts @@ -137,7 +137,7 @@ export const commands: Chat.ChatCommands = { `|html|
    /dexsearch [parameter], [parameter], [parameter], ...: searches for Pok\u00e9mon that fulfill the selected criteria
    ` + `Search categories are: type, tier, color, moves, ability, gen, resists, weak, recovery, zrecovery, priority, stat, weight, height, egg group, pivot.
    ` + `Valid colors are: green, red, blue, white, brown, yellow, purple, pink, gray and black.
    ` + - `Valid tiers are: Uber/OU/UUBL/UU/RUBL/RU/NUBL/NU/PUBL/PU/ZU/NFE/LC/CAP/CAP NFE/CAP LC.
    ` + + `Valid tiers are: Uber/OU/UUBL/UU/RUBL/RU/NUBL/NU/PUBL/PU/ZUBL/ZU/NFE/LC/CAP/CAP NFE/CAP LC.
    ` + `Valid doubles tiers are: DUber/DOU/DBL/DUU/DNU.
    ` + `Types can be searched for by either having the type precede type or just using the type itself as a parameter; e.g., both fire type and fire show all Fire types; however, using psychic as a parameter will show all Pok\u00e9mon that learn the move Psychic and not Psychic types.
    ` + `resists followed by a type or move will show Pok\u00e9mon that resist that typing or move (e.g. resists normal).
    ` + @@ -180,7 +180,11 @@ export const commands: Chat.ChatCommands = { } } if (!qty) targetsBuffer.push("random1"); - + const defaultFormat = this.extractFormat(room?.settings.defaultFormat || room?.battle?.format); + if (!target.includes('mod=')) { + const dex = defaultFormat.dex; + if (dex) targetsBuffer.push(`mod=${dex.currentMod}`); + } const response = await runSearch({ target: targetsBuffer.join(","), cmd: 'randmove', @@ -227,7 +231,11 @@ export const commands: Chat.ChatCommands = { } } if (!qty) targetsBuffer.push("random1"); - + const defaultFormat = this.extractFormat(room?.settings.defaultFormat || room?.battle?.format); + if (!target.includes('mod=')) { + const dex = defaultFormat.dex; + if (dex) targetsBuffer.push(`mod=${dex.currentMod}`); + } const response = await runSearch({ target: targetsBuffer.join(","), cmd: 'randpoke', @@ -355,7 +363,7 @@ export const commands: Chat.ChatCommands = { `- zmove, max, or gmax as parameters will search for Z-Moves, Max Moves, and G-Max Moves respectively.
    ` + `- Move targets must be preceded with targets ; e.g. targets user searches for moves that target the user.
    ` + `- Valid move targets are: one ally, user or ally, one adjacent opponent, all Pokemon, all adjacent Pokemon, all adjacent opponents, user and allies, user's side, user's team, any Pokemon, opponent's side, one adjacent Pokemon, random adjacent Pokemon, scripted, and user.
    ` + - `- Valid flags are: allyanim, bypasssub (bypasses Substitute), bite, bullet, cantusetwice, charge, contact, dance, defrost, distance (can target any Pokemon in Triples), failcopycat, failencore, failinstruct, failmefirst, failmimic, futuremove, gravity, heal, highcrit, instruct, mefirst, mimic, mirror (reflected by Mirror Move), mustpressure, multihit, noassist, nonsky, noparentalbond, nosleeptalk, ohko, pivot, pledgecombo, powder, priority, protect, pulse, punch, recharge, recovery, reflectable, secondary, slicing, snatch, sound, and wind.
    ` + + `- Valid flags are: allyanim, bypasssub (bypasses Substitute), bite, bullet, cantusetwice, charge, contact, dance, defrost, distance (can target any Pokemon in Triples), failcopycat, failencore, failinstruct, failmefirst, failmimic, futuremove, gravity, heal, highcrit, instruct, metronome, mimic, mirror (reflected by Mirror Move), mustpressure, multihit, noassist, nonsky, noparentalbond, nosleeptalk, ohko, pivot, pledgecombo, powder, priority, protect, pulse, punch, recharge, recovery, reflectable, secondary, slicing, snatch, sound, and wind.
    ` + `- protection as a parameter will search protection moves like Protect, Detect, etc.
    ` + `- A search that includes !protect will show all moves that bypass protection.
    ` + `

    ` + @@ -387,7 +395,7 @@ export const commands: Chat.ChatCommands = { if (!target) return this.parse('/help itemsearch'); target = target.slice(0, 300); const targetGen = parseInt(cmd[cmd.length - 1]); - if (targetGen) target += ` maxgen${targetGen}`; + if (targetGen) target = `maxgen${targetGen} ${target}`; const response = await runSearch({ target, @@ -630,10 +638,6 @@ function runDexsearch(target: string, cmd: string, canAll: boolean, message: str lc: 'LC', cap: 'CAP', caplc: 'CAP LC', capnfe: 'CAP NFE', }); - if (mod.gen === 3) { - allTiers.zu = 'ZU'; - allTiers.zubl = 'ZUBL'; - } const allDoublesTiers: {[k: string]: TierTypes.Singles | TierTypes.Other} = Object.assign(Object.create(null), { doublesubers: 'DUber', doublesuber: 'DUber', duber: 'DUber', dubers: 'DUber', doublesou: 'DOU', dou: 'DOU', @@ -1128,7 +1132,6 @@ function runDexsearch(target: string, cmd: string, canAll: boolean, message: str if (alts.tiers && Object.keys(alts.tiers).length) { let tier = dex[mon].tier; if (nationalSearch) tier = dex[mon].natDexTier; - if (tier === '(PU)') tier = 'ZU'; if (tier.startsWith('(')) tier = tier.slice(1, -1) as TierTypes.Singles; // if (tier === 'New') tier = 'OU'; if (alts.tiers[tier]) continue; @@ -1385,8 +1388,9 @@ function runMovesearch(target: string, cmd: string, canAll: boolean, message: st const allProperties = ['basePower', 'accuracy', 'priority', 'pp']; const allFlags = [ 'allyanim', 'bypasssub', 'bite', 'bullet', 'cantusetwice', 'charge', 'contact', 'dance', 'defrost', 'distance', 'failcopycat', 'failencore', - 'failinstruct', 'failmefirst', 'failmimic', 'futuremove', 'gravity', 'heal', 'mirror', 'mustpressure', 'noassist', 'nonsky', 'noparentalbond', - 'nosleeptalk', 'pledgecombo', 'powder', 'protect', 'pulse', 'punch', 'recharge', 'reflectable', 'slicing', 'snatch', 'sound', 'wind', + 'failinstruct', 'failmefirst', 'failmimic', 'futuremove', 'gravity', 'heal', 'metronome', 'mirror', 'mustpressure', 'noassist', 'nonsky', + 'noparentalbond', 'nosleeptalk', 'pledgecombo', 'powder', 'protect', 'pulse', 'punch', 'recharge', 'reflectable', 'slicing', 'snatch', 'sound', + 'wind', // Not flags directly from move data, but still useful to sort by 'highcrit', 'multihit', 'ohko', 'protection', 'secondary', @@ -1785,47 +1789,12 @@ function runMovesearch(target: string, cmd: string, canAll: boolean, message: st }; } - const getFullLearnsetOfPokemon = (species: Species, natDex: boolean) => { - let usedSpecies: Species = Utils.deepClone(species); - let usedSpeciesLearnset: LearnsetData = Utils.deepClone(mod.species.getLearnset(usedSpecies.id)); - if (!usedSpeciesLearnset) { - usedSpecies = Utils.deepClone(mod.species.get(usedSpecies.baseSpecies)); - usedSpeciesLearnset = Utils.deepClone(mod.species.getLearnset(usedSpecies.id) || {}); - } - const lsetData = new Set(); - for (const move in usedSpeciesLearnset) { - const learnset = mod.species.getLearnset(usedSpecies.id); - if (!learnset) break; - const sources = learnset[move]; - for (const learned of sources) { - const sourceGen = parseInt(learned.charAt(0)); - if (sourceGen <= mod.gen && (mod.gen < 9 || sourceGen >= 9 || natDex)) lsetData.add(move); - } - } - - while (usedSpecies.prevo) { - usedSpecies = Utils.deepClone(mod.species.get(usedSpecies.prevo)); - usedSpeciesLearnset = Utils.deepClone(mod.species.getLearnset(usedSpecies.id)); - for (const move in usedSpeciesLearnset) { - const learnset = mod.species.getLearnset(usedSpecies.id); - if (!learnset) break; - const sources = learnset[move]; - for (const learned of sources) { - const sourceGen = parseInt(learned.charAt(0)); - if (sourceGen <= mod.gen && (mod.gen < 9 || sourceGen === 9 || natDex)) lsetData.add(move); - } - } - } - - return lsetData; - }; - // Since we assume we have no target mons at first // then the valid moveset we can search is the set of all moves. - const validMoves = new Set(Object.keys(mod.data.Moves)); + const validMoves = new Set(Object.keys(mod.data.Moves)) as Set; for (const mon of targetMons) { const species = mod.species.get(mon.name); - const lsetData = getFullLearnsetOfPokemon(species, !!nationalSearch); + const lsetData = mod.species.getMovePool(species.id, !!nationalSearch); // This pokemon's learnset needs to be excluded, so we perform a difference operation // on the valid moveset and this pokemon's moveset. if (mon.shouldBeExcluded) { @@ -1851,7 +1820,7 @@ function runMovesearch(target: string, cmd: string, canAll: boolean, message: st if (move.gen <= mod.gen) { if ( (!nationalSearch && move.isNonstandard && move.isNonstandard !== "Gigantamax") || - (nationalSearch && move.isNonstandard && !["Gigantamax", "Past"].includes(move.isNonstandard)) + (nationalSearch && move.isNonstandard && !["Gigantamax", "Past", "Unobtainable"].includes(move.isNonstandard)) ) { continue; } else { diff --git a/server/chat-plugins/friends.ts b/server/chat-plugins/friends.ts index 9c101e72b216..53cfe28aacb5 100644 --- a/server/chat-plugins/friends.ts +++ b/server/chat-plugins/friends.ts @@ -88,15 +88,17 @@ export const Friends = new class { .filter(item => categorized[item].length > 0) .map(item => `${STATUS_TITLES[item]} (${categorized[item].length})`); - let buf = `

    Your friends: `; + let buf = `

    Your friends: `; if (sorted.length > 0) { - buf += `Total (${friends.length}) | ${sorted.join(' | ')}`; + buf += ` Total (${friends.length}) | ${sorted.join(' | ')}

    `; } else { buf += `

    you have no friends added on Showdown lol


    `; buf += `To add a friend, use /friend add [username].

    `; return buf; } - buf += ` `; + + buf += `
    Add friend:
    `; + buf += `
    `; for (const key in categorized) { const friendArray = categorized[key].sort(); diff --git a/server/chat-plugins/hangman.ts b/server/chat-plugins/hangman.ts index f7d17561bf17..56e6b43c906f 100644 --- a/server/chat-plugins/hangman.ts +++ b/server/chat-plugins/hangman.ts @@ -45,6 +45,7 @@ try { const maxMistakes = 6; export class Hangman extends Rooms.SimpleRoomGame { + override readonly gameid = 'hangman' as ID; gameNumber: number; creator: ID; word: string; @@ -69,7 +70,6 @@ export class Hangman extends Rooms.SimpleRoomGame { this.gameNumber = room.nextGameNumber(); - this.gameid = 'hangman' as ID; this.title = 'Hangman'; this.creator = user.id; this.word = word; diff --git a/server/chat-plugins/helptickets.ts b/server/chat-plugins/helptickets.ts index 62200ac7bbb4..af036a72a3fe 100644 --- a/server/chat-plugins/helptickets.ts +++ b/server/chat-plugins/helptickets.ts @@ -169,48 +169,41 @@ export function writeStats(line: string) { const date = new Date(); const month = Chat.toTimestamp(date).split(' ')[0].split('-', 2).join('-'); try { - FS(`logs/tickets/${month}.tsv`).appendSync(line + '\n'); + Monitor.logPath(`tickets/${month}.tsv`).appendSync(line + '\n'); } catch (e: any) { if (e.code !== 'ENOENT') throw e; } } export class HelpTicket extends Rooms.SimpleRoomGame { - room: ChatRoom; + override readonly gameid = "helpticket" as ID; + override readonly allowRenames = true; + override room: ChatRoom; ticket: TicketState; claimQueue: string[]; - involvedStaff: Set; + involvedStaff = new Set(); createTime: number; activationTime: number; - emptyRoom: boolean; - firstClaimTime: number; - unclaimedTime: number; + emptyRoom = false; + firstClaimTime = 0; + unclaimedTime = 0; lastUnclaimedStart: number; - closeTime: number; - resolution: 'unknown' | 'dead' | 'unresolved' | 'resolved'; - result: TicketResult | null; + closeTime = 0; + resolution: 'unknown' | 'dead' | 'unresolved' | 'resolved' = 'unknown'; + result: TicketResult | null = null; constructor(room: ChatRoom, ticket: TicketState) { super(room); this.room = room; this.room.settings.language = Users.get(ticket.creator)?.language || 'english' as ID; this.title = `Help Ticket - ${ticket.type}`; - this.gameid = "helpticket" as ID; - this.allowRenames = true; this.ticket = ticket; this.claimQueue = []; /* Stats */ - this.involvedStaff = new Set(); this.createTime = Date.now(); this.activationTime = (ticket.active ? this.createTime : 0); - this.emptyRoom = false; - this.firstClaimTime = 0; - this.unclaimedTime = 0; this.lastUnclaimedStart = (ticket.active ? this.createTime : 0); - this.closeTime = 0; - this.resolution = 'unknown'; - this.result = null; } onJoin(user: User, connection: Connection) { @@ -318,7 +311,7 @@ export class HelpTicket extends Rooms.SimpleRoomGame { forfeit(user: User) { if (!(user.id in this.playerTable)) return; - this.removePlayer(user); + this.removePlayer(this.playerTable[user.id]); if (!this.ticket.open) return; this.room.modlog({action: 'TICKETABANDON', isGlobal: false, loggedBy: user.id}); this.addText(`${user.name} is no longer interested in this ticket.`, user); @@ -477,15 +470,11 @@ export class HelpTicket extends Rooms.SimpleRoomGame { } this.room.game = null; - // @ts-ignore - this.room = null; - for (const player of this.players) { - player.destroy(); - } - // @ts-ignore - this.players = null; - // @ts-ignore - this.playerTable = null; + (this.room as any) = null; + this.setEnded(); + for (const player of this.players) player.destroy(); + (this.players as any) = null; + (this.playerTable as any) = null; } onChatMessage(message: string, user: User) { HelpTicket.uploadReplaysFrom(message, user, user.connections[0]); @@ -517,7 +506,7 @@ export class HelpTicket extends Rooms.SimpleRoomGame { recommended: ticket.recommended, }; const date = Chat.toTimestamp(new Date()).split(' ')[0]; - void FS(`logs/tickets/${date.slice(0, -3)}.jsonl`).append(JSON.stringify(entry) + '\n'); + void Monitor.logPath(`tickets/${date.slice(0, -3)}.jsonl`).append(JSON.stringify(entry) + '\n'); } /** @@ -543,7 +532,7 @@ export class HelpTicket extends Rooms.SimpleRoomGame { let lines; try { lines = await ProcessManager.exec([ - `rg`, FS(`logs/tickets/${date ? `${date}.jsonl` : ''}`).path, ...args, + `rg`, Monitor.logPath(`tickets/${date ? `${date}.jsonl` : ''}`).path, ...args, ]); } catch (e: any) { if (e.message.includes('No such file or directory')) { @@ -563,7 +552,7 @@ export class HelpTicket extends Rooms.SimpleRoomGame { } } else { if (!date) throw new Chat.ErrorMessage(`Specify a month.`); - const path = FS(`logs/tickets/${date}.jsonl`); + const path = Monitor.logPath(`tickets/${date}.jsonl`); if (!path.existsSync()) { throw new Chat.ErrorMessage(`There are no logs for the month "${date}".`); } @@ -991,12 +980,10 @@ export async function getBattleLog(battle: string, noReplay = false): Promise p2 // safe to not check here bc this should always exist in the players table. // if it doesn't, there's a problem - const id = players[slot as SideID]; + const id = players[slot as SideID] as string; if (!mons[id]) mons[id] = []; name = name?.trim() || ""; const setId = `${name || ""}-${species}`; @@ -1023,7 +1010,7 @@ export async function getBattleLog(battle: string, noReplay = false): Promise

    `; break; case 'password': - buf += `

    Password resets are currently closed to regular users due to policy revamp and administrative backlog.

    `; - buf += `

    Users with a public room auth (Voice or higher) and Smogon badgeholders can still get their passwords reset `; - buf += `(see this post for more informations).

    `; - buf += `

    To those who do not belong to those groups, we apologize for the temporary inconvenience.

    `; - buf += `

    Thanks for your understanding!

    `; + buf += `

    If you need your Pokémon Showdown password reset, you can fill out a Password Reset Form.

    `; + buf += `

    You will need to make a Smogon account to be able to fill out a form.`; break; case 'roomhelp': buf += `

    ${this.tr`If you are a room driver or up in a public room, and you need help watching the chat, one or more global staff members would be happy to assist you!`}

    `; @@ -1883,10 +1867,7 @@ export const pages: Chat.PageTable = { logUrl = `/view-chatlog-help-${ticket.userid}--${Chat.toTimestamp(created).split(' ')[0]}`; } const room = Rooms.get(roomid); - if (room) { - const ticketGame = room.getGame(HelpTicket)!; - buf += ` `; - } else if (ticket.text) { + if (ticket.text) { let title = Object.entries(ticket.notes || {}) .map(([userid, note]) => Utils.html`${note} (by ${userid})`) .join(' '); @@ -1894,6 +1875,9 @@ export const pages: Chat.PageTable = { title = `title="Staff notes: ${title}"`; } buf += `${ticket.claimed ? `Claim` : `View`}`; + } else if (room) { + const ticketGame = room.getGame(HelpTicket)!; + buf += ` `; } if (logUrl) { buf += ``; @@ -1971,7 +1955,15 @@ export const pages: Chat.PageTable = { for (const staff in ticket.notes) { buf += Utils.html`

    ${ticket.notes[staff]} (by ${staff})

    `; } + buf += `
    `; + buf += `Add note: `; + buf += `
    `; buf += `
`; + } else { + buf += `
`; + buf += `
`; + buf += `Add note: `; + buf += `
`; } if (!ticket.resolved) { @@ -2092,7 +2084,7 @@ export const pages: Chat.PageTable = { } const dateUrl = Chat.toTimestamp(date).split(' ')[0].split('-', 2).join('-'); - const rawTicketStats = FS(`logs/tickets/${dateUrl}.tsv`).readIfExistsSync(); + const rawTicketStats = Monitor.logPath(`tickets/${dateUrl}.tsv`).readIfExistsSync(); if (!rawTicketStats) return `

${this.tr`No ticket stats found.`}
`; // Calculate next/previous month for stats and validate stats exist for the month @@ -2118,13 +2110,13 @@ export const pages: Chat.PageTable = { const nextString = Chat.toTimestamp(nextDate).split(' ')[0].split('-', 2).join('-'); let buttonBar = ''; - if (FS(`logs/tickets/${prevString}.tsv`).readIfExistsSync()) { + if (Monitor.logPath(`tickets/${prevString}.tsv`).readIfExistsSync()) { buttonBar += `< ${this.tr`Previous Month`}`; } else { buttonBar += `< ${this.tr`Previous Month`}`; } buttonBar += `${this.tr`Ticket Stats`} ${this.tr`Staff Stats`}`; - if (FS(`logs/tickets/${nextString}.tsv`).readIfExistsSync()) { + if (Monitor.logPath(`tickets/${nextString}.tsv`).readIfExistsSync()) { buttonBar += `${this.tr`Next Month`} >`; } else { buttonBar += `${this.tr`Next Month`} >`; @@ -2953,14 +2945,14 @@ export const commands: Chat.ChatCommands = { if (!/[0-9]{4}-[0-9]{2}-[0-9]{2}/.test(date)) { return this.errorReply(`Invalid date (must be YYYY-MM-DD format).`); } - const logPath = FS(`logs/chat/help-${userid}/${date.slice(0, -3)}/${date}.txt`); + const logPath = Monitor.logPath(`chat/help-${userid}/${date.slice(0, -3)}/${date}.txt`); if (!(await logPath.exists())) { return this.errorReply(`There are no logs for tickets from '${userid}' on the date '${date}'.`); } - if (!(await FS(`logs/private/${userid}`).exists())) { - await FS(`logs/private/${userid}`).mkdirp(); + if (!(await Monitor.logPath(`private/${userid}`).exists())) { + await Monitor.logPath(`private/${userid}`).mkdirp(); } - await logPath.copyFile(`logs/private/${userid}/${date}.txt`); + await logPath.copyFile(Monitor.logPath(`private/${userid}/${date}.txt`).path); await logPath.write(''); // empty out the logfile this.globalModlog(`HELPTICKET PRIVATELOGS`, null, `${userid} (${date})`); this.privateGlobalModAction(`${user.name} set the ticket logs for '${userid}' on '${date}' to be private.`); @@ -2977,15 +2969,15 @@ export const commands: Chat.ChatCommands = { if (!/[0-9]{4}-[0-9]{2}-[0-9]{2}/.test(date)) { return this.errorReply(`Invalid date (must be YYYY-MM-DD format).`); } - const logPath = FS(`logs/private/${userid}/${date}.txt`); + const logPath = Monitor.logPath(`private/${userid}/${date}.txt`); if (!(await logPath.exists())) { return this.errorReply(`There are no logs for tickets from '${userid}' on the date '${date}'.`); } - const monthPath = FS(`logs/chat/help-${userid}/${date.slice(0, -3)}`); + const monthPath = Monitor.logPath(`chat/help-${userid}/${date.slice(0, -3)}`); if (!(await monthPath.exists())) { await monthPath.mkdirp(); } - await logPath.copyFile(`logs/chat/help-${userid}/${date.slice(0, -3)}/${date}.txt`); + await logPath.copyFile(Monitor.logPath(`chat/help-${userid}/${date.slice(0, -3)}/${date}.txt`).path); await logPath.unlinkIfExists(); this.globalModlog(`HELPTICKET PUBLICLOGS`, null, `${userid} (${date})`); this.privateGlobalModAction(`${user.name} set the ticket logs for '${userid}' on '${date}' to be public.`); diff --git a/server/chat-plugins/mafia.ts b/server/chat-plugins/mafia.ts index 8d5bfb0556f3..188c3d9f16d8 100644 --- a/server/chat-plugins/mafia.ts +++ b/server/chat-plugins/mafia.ts @@ -231,6 +231,7 @@ class MafiaPlayer extends Rooms.RoomGamePlayer { } class Mafia extends Rooms.RoomGame { + override readonly gameid = 'mafia' as ID; started: boolean; theme: MafiaDataTheme | null; hostid: ID; @@ -275,12 +276,10 @@ class Mafia extends Rooms.RoomGame { constructor(room: ChatRoom, host: User) { super(room); - this.gameid = 'mafia' as ID; this.title = 'Mafia'; this.playerCap = 20; this.allowRenames = false; this.started = false; - this.ended = false; this.theme = null; @@ -1016,6 +1015,12 @@ class Mafia extends Rooms.RoomGame { return this.hasPlurality; } + override removePlayer(player: MafiaPlayer) { + delete this.playerTable[player.id]; + player.updateHtmlRoom(); + return super.removePlayer(player); + } + eliminate(toEliminate: string, ability: string) { if (!(toEliminate in this.playerTable || toEliminate in this.dead)) return; if (!this.started) { @@ -1028,10 +1033,7 @@ class Mafia extends Rooms.RoomGame { if (this.requestedSub.includes(player.id)) { this.requestedSub.splice(this.requestedSub.indexOf(player.id), 1); } - delete this.playerTable[player.id]; - this.playerCount--; - player.updateHtmlRoom(); - player.destroy(); + this.removePlayer(player); return; } if (toEliminate in this.playerTable) { @@ -1081,16 +1083,14 @@ class Mafia extends Rooms.RoomGame { } } this.clearVotes(player.id); - delete this.playerTable[player.id]; let subIndex = this.requestedSub.indexOf(player.id); if (subIndex !== -1) this.requestedSub.splice(subIndex, 1); subIndex = this.hostRequestedSub.indexOf(player.id); if (subIndex !== -1) this.hostRequestedSub.splice(subIndex, 1); - this.playerCount--; this.updateRoleString(); this.updatePlayers(); - player.updateHtmlRoom(); + this.removePlayer(player); } revealRole(user: User, toReveal: MafiaPlayer, revealAs: string) { @@ -1758,7 +1758,7 @@ class Mafia extends Rooms.RoomGame { } end() { - this.ended = true; + this.setEnded(); this.sendHTML(this.roomWindow()); this.updatePlayers(); if (this.room.roomid === 'mafia' && this.started) { diff --git a/server/chat-plugins/othermetas.ts b/server/chat-plugins/othermetas.ts index 49f8c49a31bb..7a4905469ace 100644 --- a/server/chat-plugins/othermetas.ts +++ b/server/chat-plugins/othermetas.ts @@ -14,7 +14,7 @@ interface StoneDeltas { type?: string; } -type TierShiftTiers = 'UU' | 'RUBL' | 'RU' | 'NUBL' | 'NU' | 'PUBL' | 'PU' | 'NFE' | 'LC'; +type TierShiftTiers = 'UU' | 'RUBL' | 'RU' | 'NUBL' | 'NU' | 'PUBL' | 'PU' | 'ZUBL' | 'ZU' | 'NFE' | 'LC'; function getMegaStone(stone: string, mod = 'gen9'): Item | null { let dex = Dex; @@ -70,7 +70,7 @@ export const commands: Chat.ChatCommands = { } if (target === 'month') this.target = 'omofthemonth'; - this.run('formathelp'); + return this.run('formathelp'); }, othermetashelp: [ `/om - Provides links to information on the Other Metagames.`, @@ -91,7 +91,7 @@ export const commands: Chat.ChatCommands = { } else { throw new Chat.ErrorMessage(`A mod by the name of '${mod.trim()}' does not exist.`); } - if (dex === Dex.dexes['ssb']) { + if (dex === Dex.dexes['gen9ssb']) { throw new Chat.ErrorMessage(`The SSB mod supports custom elements for Mega Stones that have the capability of crashing the server.`); } } @@ -208,7 +208,7 @@ export const commands: Chat.ChatCommands = { } else { throw new Chat.ErrorMessage(`A mod by the name of '${sep[1].trim()}' does not exist.`); } - if (dex === Dex.dexes['ssb']) { + if (dex === Dex.dexes['gen9ssb']) { throw new Chat.ErrorMessage(`The SSB mod supports custom elements for Mega Stones that have the capability of crashing the server.`); } } @@ -407,6 +407,8 @@ export const commands: Chat.ChatCommands = { NU: 25, PUBL: 25, PU: 30, + ZUBL: 30, + ZU: 30, NFE: 30, LC: 30, }; @@ -823,34 +825,36 @@ export const commands: Chat.ChatCommands = { throw new Chat.ErrorMessage(`Error: Pok\u00e9mon ${target} not found.`); } if (!evo.prevo) { - const evoBaseSpecies = Dex.species.get(evo.baseSpecies); + const evoBaseSpecies = Dex.species.get( + (Array.isArray(evo.battleOnly) ? evo.battleOnly[0] : evo.battleOnly) || evo.changesFrom || evo.name + ); if (!evoBaseSpecies.prevo) throw new Chat.ErrorMessage(`Error: ${evoBaseSpecies.name} is not an evolution.`); const prevoSpecies = Dex.species.get(evoBaseSpecies.prevo); const deltas = Utils.deepClone(evo); - if (!isReEvo) { - deltas.tier = 'CE'; - deltas.weightkg = evo.weightkg - prevoSpecies.weightkg; - deltas.types = []; - if (evo.types[0] !== prevoSpecies.types[0]) deltas.types[0] = evo.types[0]; - if (evo.types[1] !== prevoSpecies.types[1]) { - deltas.types[1] = evo.types[1] || evo.types[0]; - } - if (deltas.types.length) { + if (!isReEvo) { + deltas.tier = 'CE'; + deltas.weightkg = evo.weightkg - prevoSpecies.weightkg; + deltas.types = []; + if (evo.types[0] !== prevoSpecies.types[0]) deltas.types[0] = evo.types[0]; + if (evo.types[1] !== prevoSpecies.types[1]) { + deltas.types[1] = evo.types[1] || evo.types[0]; + } + if (deltas.types.length) { // Undefined type remover - deltas.types = deltas.types.filter((type: string | undefined) => type !== undefined); + deltas.types = deltas.types.filter((type: string | undefined) => type !== undefined); if (deltas.types[0] === deltas.types[1]) deltas.types = [deltas.types[0]]; - } else { + } else { deltas.types = null; - } - } - deltas.bst = 0; - let i: StatID; - for (i in evo.baseStats) { + } + } + deltas.bst = 0; + let i: StatID; + for (i in evo.baseStats) { const statChange = evoBaseSpecies.baseStats[i] - prevoSpecies.baseStats[i]; const formeChange = evo.baseStats[i] - evoBaseSpecies.baseStats[i]; if (!isReEvo) { - if (!evo.prevo) { + if (!evo.prevo) { deltas.baseStats[i] = formeChange; } else { deltas.baseStats[i] = statChange; diff --git a/server/chat-plugins/quotes.ts b/server/chat-plugins/quotes.ts index 7f5d7e83efad..bfb55f4186d2 100644 --- a/server/chat-plugins/quotes.ts +++ b/server/chat-plugins/quotes.ts @@ -45,8 +45,7 @@ export const commands: Chat.ChatCommands = { }, randquotehelp: [`/randquote [showauthor] - Show a random quote from the room. Add 'showauthor' to see who added it and when.`], - addquote: 'quote', - quote(target, room, user) { + addquote(target, room, user) { room = this.requireRoom(); if (!room.persist) { return this.errorReply("This command is unavailable in temporary rooms."); @@ -54,7 +53,7 @@ export const commands: Chat.ChatCommands = { target = target.trim(); this.checkCan('mute', null, room); if (!target) { - return this.parse(`/help quote`); + return this.parse(`/help addquote`); } if (!quotes[room.roomid]) quotes[room.roomid] = []; @@ -78,7 +77,7 @@ export const commands: Chat.ChatCommands = { this.privateModAction(`${user.name} added a new quote: "${collapsedQuote}".`); return this.modlog(`ADDQUOTE`, null, collapsedQuote); }, - quotehelp: [`/quote [quote] - Adds [quote] to the room's quotes. Requires: % @ # &`], + addquotehelp: [`/addquote [quote] - Adds [quote] to the room's quotes. Requires: % @ # &`], removequote(target, room, user) { room = this.requireRoom(); @@ -106,7 +105,7 @@ export const commands: Chat.ChatCommands = { const roomQuotes = quotes[room.roomid]; if (!roomQuotes?.length) return this.errorReply(`This room has no quotes.`); const [num, showAuthor] = Utils.splitFirst(target, ','); - const index = parseInt(num) - 1; + const index = num === 'last' ? roomQuotes.length - 1 : parseInt(num) - 1; if (isNaN(index)) { return this.errorReply(`Invalid index.`); } @@ -132,6 +131,18 @@ export const commands: Chat.ChatCommands = { this.parse(`/join view-quotes-${targetRoom.roomid}`); }, quoteshelp: [`/quotes [room] - Shows all quotes for [room]. Defaults the room the command is used in.`], + + quote() { + this.sendReply(`/quote as a method of adding quotes has been deprecated. Use /addquote instead.`); + return this.parse(`/help quote`); + }, + quotehelp: [ + "/randquote [showauthor] - Show a random quote from the room. Add 'showauthor' to see who added it and when.", + "/removequote [index] - Removes the quote from the room's quotes. Requires: % @ # &", + "/viewquote [index][, params] - View the quote from the room's quotes.", + "If 'showauthor' is used for the [params] argument, it shows who added the quote and when.", + "Requires: % @ # &", "/quotes [room] - Shows all quotes for [room]. Defaults the room the command is used in.", + ], }; export const pages: Chat.PageTable = { diff --git a/server/chat-plugins/randombattles/index.ts b/server/chat-plugins/randombattles/index.ts index c732d01871f4..5d86f13f24e2 100644 --- a/server/chat-plugins/randombattles/index.ts +++ b/server/chat-plugins/randombattles/index.ts @@ -6,7 +6,6 @@ */ import {FS, Utils} from '../../../lib'; -import {SSBSet, ssbSets} from '../../../data/mods/ssb/random-teams'; interface SetCriteria { @@ -107,9 +106,10 @@ function setProbability( const GEN_NAMES: {[k: string]: string} = { gen1: '[Gen 1]', gen2: '[Gen 2]', gen3: '[Gen 3]', gen4: '[Gen 4]', gen5: '[Gen 5]', gen6: '[Gen 6]', gen7: '[Gen 7]', + gen8: '[Gen 8]', gen9: '[Gen 9]', }; -const STAT_NAMES: {[k: string]: string} = { +export const STAT_NAMES: {[k: string]: string} = { hp: "HP", atk: "Atk", def: "Def", spa: "SpA", spd: "SpD", spe: "Spe", }; @@ -123,7 +123,8 @@ function formatAbility(ability: Ability | string) { ability = Dex.abilities.get(ability); return `${ability.name}`; } -function formatNature(n: string) { + +export function formatNature(n: string) { const nature = Dex.natures.get(n); return nature.name; } @@ -146,42 +147,71 @@ function formatItem(item: Item | string) { * Gets the sets for a Pokemon for a format that uses the new schema. * Old formats will use getData() */ -function getSets(species: string | Species, format: string | Format = 'gen9randombattle'): any[] | null { +function getSets(species: string | Species, format: string | Format = 'gen9randombattle'): { + level: number, + sets: any[], +} | null { const dex = Dex.forFormat(format); format = Dex.formats.get(format); species = dex.species.get(species); const isDoubles = format.gameType === 'doubles'; const setsFile = JSON.parse( - FS(`data/${dex.isBase ? '' : `mods/${dex.currentMod}/`}random-${isDoubles ? `doubles-` : ``}sets.json`) + FS(`data/random-battles/${format.mod}/${isDoubles ? `doubles-` : ``}sets.json`) .readIfExistsSync() || '{}' ); - const sets = setsFile[species.id]?.sets; - if (!sets?.length) return null; - return sets; + const data = setsFile[species.id]; + if (!data?.sets?.length) return null; + return data; } /** - * Gets the random battles data for a Pokemon for formats other than gen9 and gen7singles. + * Gets the random battles data for a Pokemon for formats with the old schema. */ function getData(species: string | Species, format: string | Format): any | null { const dex = Dex.forFormat(format); format = Dex.formats.get(format); species = dex.species.get(species); - // Gen 7 Random Doubles has a separate file to Gen 7 singles but still uses the old system. - const isGen7Doubles = format.gameType === 'doubles' && dex.gen === 7; const dataFile = JSON.parse( - FS(`data/mods/${dex.currentMod}/random-${isGen7Doubles ? 'doubles-' : ''}data.json`).readIfExistsSync() || '{}' + FS(`data/random-battles/${format.mod}/data.json`).readIfExistsSync() || '{}' ); const data = dataFile[species.id]; if (!data) return null; return data; } +/** + * Gets the default level for a Pokemon in the given format. + * Returns 0 if the format doesn't use default levels or it can't be determined. + */ +function getLevel(species: string | Species, format: string | Format): number { + const dex = Dex.forFormat(format); + format = Dex.formats.get(format); + species = dex.species.get(species); + switch (format.id) { + // Only formats where levels are not all manually assigned should be copied here + case 'gen2randombattle': + const levelScale: {[k: string]: number} = { + ZU: 81, + ZUBL: 79, + PU: 77, + PUBL: 75, + NU: 73, + NUBL: 71, + UU: 69, + UUBL: 67, + OU: 65, + Uber: 61, + }; + return levelScale[species.tier] || 80; + } + return 0; +} + function getRBYMoves(species: string | Species) { species = Dex.mod(`gen1`).species.get(species); const data = getData(species, 'gen1randombattle'); if (!data) return false; - let buf = ``; + let buf = `
Level: ${data.level}`; if (data.comboMoves) { buf += `
Combo moves: `; buf += data.comboMoves.map(formatMove).sort().join(", "); @@ -229,7 +259,7 @@ function battleFactorySets(species: string | Species, tier: string | null, gen = const genNum = parseInt(gen[3]); if (isNaN(genNum) || genNum < 6 || (isBSS && genNum < 7)) return null; const statsFile = JSON.parse( - FS(`data${gen === 'gen9' ? '/' : `/mods/${gen}`}/${isBSS ? `bss-` : ``}factory-sets.json`).readIfExistsSync() || + FS(`data/random-battles/gen${genNum}/${isBSS ? `bss-` : ``}factory-sets.json`).readIfExistsSync() || "{}" ); if (!Object.keys(statsFile).length) return null; @@ -329,7 +359,7 @@ function battleFactorySets(species: string | Species, tier: string | null, gen = function CAP1v1Sets(species: string | Species) { species = Dex.species.get(species); const statsFile = JSON.parse( - FS(`data/mods/gen8/cap-1v1-sets.json`).readIfExistsSync() || + FS(`data/random-battles/gen8/cap-1v1-sets.json`).readIfExistsSync() || "{}" ); if (!Object.keys(statsFile).length) return null; @@ -380,366 +410,6 @@ function CAP1v1Sets(species: string | Species) { return buf; } -function generateSSBSet(set: SSBSet, dex: ModdedDex, baseDex: ModdedDex) { - if (set.skip) { - const baseSet = toID(Object.values(ssbSets[set.skip]).join()); - const skipSet = toID(Object.values(set).join()).slice(0, -toID(set.skip).length); - if (baseSet === skipSet) return ``; - } - let buf = ``; - buf += `
Set`; - buf += `
  • ${set.species}${set.gender !== '' ? ` (${set.gender})` : ``} @ ${Array.isArray(set.item) ? set.item.map(x => dex.items.get(x).name).join(' / ') : dex.items.get(set.item).name}
  • `; - buf += `
  • Ability: ${Array.isArray(set.ability) ? set.ability.map(x => dex.abilities.get(x).name).join(' / ') : dex.abilities.get(set.ability).name}
  • `; - if (set.shiny) buf += `
  • Shiny: ${typeof set.shiny === 'number' ? `Sometimes` : `Yes`}
  • `; - if (set.evs) { - const evs: string[] = []; - let ev: StatID; - for (ev in set.evs) { - if (set.evs[ev] === 0) continue; - evs.push(`${set.evs[ev]} ${STAT_NAMES[ev]}`); - } - buf += `
  • EVs: ${evs.join(" / ")}
  • `; - } - if (set.nature) { - buf += `
  • ${Array.isArray(set.nature) ? set.nature.join(" / ") : formatNature(set.nature)} Nature
  • `; - } - if (set.ivs) { - const ivs: string[] = []; - let iv: StatID; - for (iv in set.ivs) { - if (set.ivs[iv] === 31) continue; - ivs.push(`${set.ivs[iv]} ${STAT_NAMES[iv]}`); - } - buf += `
  • IVs: ${ivs.join(" / ")}
  • `; - } - for (const moveid of set.moves) { - buf += `
  • - ${Array.isArray(moveid) ? moveid.map(x => dex.moves.get(x).name).join(" / ") : dex.moves.get(moveid).name}
  • `; - } - const italicize = !baseDex.moves.get(set.signatureMove).exists; - buf += `
  • - ${italicize ? `` : ``}${dex.moves.get(set.signatureMove).name}${italicize ? `` : ``}
  • `; - buf += `
`; - buf += `
`; - return buf; -} - -function generateSSBMoveInfo(sigMove: Move, dex: ModdedDex) { - let buf = ``; - if (sigMove.shortDesc || sigMove.desc) { - buf += `
`; - buf += Chat.getDataMoveHTML(sigMove); - const details: {[k: string]: string} = { - Priority: String(sigMove.priority), - Gen: String(sigMove.gen) || 'CAP', - }; - - if (sigMove.isNonstandard === "Past" && dex.gen >= 8) details["✗ Past Gens Only"] = ""; - if (sigMove.secondary || sigMove.secondaries) details["✓ Secondary effect"] = ""; - if (sigMove.flags['contact']) details["✓ Contact"] = ""; - if (sigMove.flags['sound']) details["✓ Sound"] = ""; - if (sigMove.flags['bullet']) details["✓ Bullet"] = ""; - if (sigMove.flags['pulse']) details["✓ Pulse"] = ""; - if (!sigMove.flags['protect'] && !/(ally|self)/i.test(sigMove.target)) details["✓ Bypasses Protect"] = ""; - if (sigMove.flags['bypasssub']) details["✓ Bypasses Substitutes"] = ""; - if (sigMove.flags['defrost']) details["✓ Thaws user"] = ""; - if (sigMove.flags['bite']) details["✓ Bite"] = ""; - if (sigMove.flags['punch']) details["✓ Punch"] = ""; - if (sigMove.flags['powder']) details["✓ Powder"] = ""; - if (sigMove.flags['reflectable']) details["✓ Bounceable"] = ""; - if (sigMove.flags['charge']) details["✓ Two-turn move"] = ""; - if (sigMove.flags['recharge']) details["✓ Has recharge turn"] = ""; - if (sigMove.flags['gravity']) details["✗ Suppressed by Gravity"] = ""; - if (sigMove.flags['dance']) details["✓ Dance move"] = ""; - - if (sigMove.zMove?.basePower) { - details["Z-Power"] = String(sigMove.zMove.basePower); - } else if (sigMove.zMove?.effect) { - const zEffects: {[k: string]: string} = { - clearnegativeboost: "Restores negative stat stages to 0", - crit2: "Crit ratio +2", - heal: "Restores HP 100%", - curse: "Restores HP 100% if user is Ghost type, otherwise Attack +1", - redirect: "Redirects opposing attacks to user", - healreplacement: "Restores replacement's HP 100%", - }; - details["Z-Effect"] = zEffects[sigMove.zMove.effect]; - } else if (sigMove.zMove?.boost) { - details["Z-Effect"] = ""; - const boost = sigMove.zMove.boost; - for (const h in boost) { - details["Z-Effect"] += ` ${Dex.stats.mediumNames[h as 'atk']} +${boost[h as 'atk']}`; - } - } else if (sigMove.isZ && typeof sigMove.isZ === 'string') { - details["✓ Z-Move"] = ""; - const zCrystal = dex.items.get(sigMove.isZ); - details["Z-Crystal"] = zCrystal.name; - if (zCrystal.itemUser) { - details["User"] = zCrystal.itemUser.join(", "); - details["Required Move"] = dex.items.get(sigMove.isZ).zMoveFrom!; - } - } else { - details["Z-Effect"] = "None"; - } - - const targetTypes: {[k: string]: string} = { - normal: "One Adjacent Pok\u00e9mon", - self: "User", - adjacentAlly: "One Ally", - adjacentAllyOrSelf: "User or Ally", - adjacentFoe: "One Adjacent Opposing Pok\u00e9mon", - allAdjacentFoes: "All Adjacent Opponents", - foeSide: "Opposing Side", - allySide: "User's Side", - allyTeam: "User's Side", - allAdjacent: "All Adjacent Pok\u00e9mon", - any: "Any Pok\u00e9mon", - all: "All Pok\u00e9mon", - scripted: "Chosen Automatically", - randomNormal: "Random Adjacent Opposing Pok\u00e9mon", - allies: "User and Allies", - }; - details["Target"] = targetTypes[sigMove.target] || "Unknown"; - if (sigMove.isNonstandard === 'Unobtainable') { - details[`Unobtainable in Gen ${dex.gen}`] = ""; - } - buf += `${Object.entries(details).map(([detail, value]) => ( - value === '' ? detail : `${detail}: ${value}` - )).join(" |  ")}`; - if (sigMove.desc && sigMove.desc !== sigMove.shortDesc) { - buf += `
In-Depth Description${sigMove.desc}
`; - } - } - return buf; -} - -function generateSSBItemInfo(set: SSBSet, dex: ModdedDex, baseDex: ModdedDex) { - let buf = ``; - if (!Array.isArray(set.item)) { - const baseItem = baseDex.items.get(set.item); - const sigItem = dex.items.get(set.item); - if (!baseItem.exists || (baseItem.desc || baseItem.shortDesc) !== (sigItem.desc || sigItem.shortDesc)) { - buf += `
`; - buf += Chat.getDataItemHTML(sigItem); - const details: {[k: string]: string} = { - Gen: String(sigItem.gen), - }; - - if (dex.gen >= 4) { - if (sigItem.fling) { - details["Fling Base Power"] = String(sigItem.fling.basePower); - if (sigItem.fling.status) details["Fling Effect"] = sigItem.fling.status; - if (sigItem.fling.volatileStatus) details["Fling Effect"] = sigItem.fling.volatileStatus; - if (sigItem.isBerry) details["Fling Effect"] = "Activates the Berry's effect on the target."; - if (sigItem.id === 'whiteherb') details["Fling Effect"] = "Restores the target's negative stat stages to 0."; - if (sigItem.id === 'mentalherb') { - const flingEffect = "Removes the effects of Attract, Disable, Encore, Heal Block, Taunt, and Torment from the target."; - details["Fling Effect"] = flingEffect; - } - } else { - details["Fling"] = "This item cannot be used with Fling."; - } - } - if (sigItem.naturalGift && dex.gen >= 3) { - details["Natural Gift Type"] = sigItem.naturalGift.type; - details["Natural Gift Base Power"] = String(sigItem.naturalGift.basePower); - } - if (sigItem.isNonstandard && sigItem.isNonstandard !== "Custom") { - details[`Unobtainable in Gen ${dex.gen}`] = ""; - } - buf += `${Object.entries(details).map(([detail, value]) => ( - value === '' ? detail : `${detail}: ${value}` - )).join(" |  ")}`; - } - } - return buf; -} - -function generateSSBAbilityInfo(set: SSBSet, dex: ModdedDex, baseDex: ModdedDex) { - let buf = ``; - if (!Array.isArray(set.ability) && !baseDex.abilities.get(set.ability).exists) { - const sigAbil = Dex.deepClone(dex.abilities.get(set.ability)); - if (!sigAbil.desc && !sigAbil.shortDesc) { - sigAbil.desc = `This ability doesn't have a description. Try contacting the SSB dev team.`; - } - buf += `
`; - buf += Chat.getDataAbilityHTML(sigAbil); - const details: {[k: string]: string} = { - Gen: String(sigAbil.gen) || 'CAP', - }; - buf += `${Object.entries(details).map(([detail, value]) => ( - value === '' ? detail : `${detail}: ${value}` - )).join(" |  ")}`; - if (sigAbil.desc && sigAbil.shortDesc && sigAbil.desc !== sigAbil.shortDesc) { - buf += `
In-Depth Description${sigAbil.desc}
`; - } - } - return buf; -} - -function generateSSBPokemonInfo(species: string, dex: ModdedDex, baseDex: ModdedDex) { - let buf = ``; - const origSpecies = baseDex.species.get(species); - const newSpecies = dex.species.get(species); - if ( - newSpecies.types.join('/') !== origSpecies.types.join('/') || - Object.values(newSpecies.abilities).join('/') !== Object.values(origSpecies.abilities).join('/') || - Object.values(newSpecies.baseStats).join('/') !== Object.values(origSpecies.baseStats).join('/') - ) { - buf += `
`; - buf += Chat.getDataPokemonHTML(newSpecies, dex.gen, 'SSB'); - let weighthit = 20; - if (newSpecies.weighthg >= 2000) { - weighthit = 120; - } else if (newSpecies.weighthg >= 1000) { - weighthit = 100; - } else if (newSpecies.weighthg >= 500) { - weighthit = 80; - } else if (newSpecies.weighthg >= 250) { - weighthit = 60; - } else if (newSpecies.weighthg >= 100) { - weighthit = 40; - } - const details: {[k: string]: string} = { - "Dex#": String(newSpecies.num), - Gen: String(newSpecies.gen) || 'CAP', - Height: `${newSpecies.heightm} m`, - }; - details["Weight"] = `${newSpecies.weighthg / 10} kg (${weighthit} BP)`; - if (newSpecies.color && dex.gen >= 5) details["Dex Colour"] = newSpecies.color; - if (newSpecies.eggGroups && dex.gen >= 2) details["Egg Group(s)"] = newSpecies.eggGroups.join(", "); - const evos: string[] = []; - for (const evoName of newSpecies.evos) { - const evo = dex.species.get(evoName); - if (evo.gen <= dex.gen) { - const condition = evo.evoCondition ? ` ${evo.evoCondition}` : ``; - switch (evo.evoType) { - case 'levelExtra': - evos.push(`${evo.name} (level-up${condition})`); - break; - case 'levelFriendship': - evos.push(`${evo.name} (level-up with high Friendship${condition})`); - break; - case 'levelHold': - evos.push(`${evo.name} (level-up holding ${evo.evoItem}${condition})`); - break; - case 'useItem': - evos.push(`${evo.name} (${evo.evoItem})`); - break; - case 'levelMove': - evos.push(`${evo.name} (level-up with ${evo.evoMove}${condition})`); - break; - case 'other': - evos.push(`${evo.name} (${evo.evoCondition})`); - break; - case 'trade': - evos.push(`${evo.name} (trade${evo.evoItem ? ` holding ${evo.evoItem}` : condition})`); - break; - default: - evos.push(`${evo.name} (${evo.evoLevel}${condition})`); - } - } - } - if (!evos.length) { - details[`Does Not Evolve`] = ""; - } else { - details["Evolution"] = evos.join(", "); - } - buf += `${Object.entries(details).map(([detail, value]) => ( - value === '' ? detail : `${detail}: ${value}` - )).join(" |  ")}`; - } - return buf; -} - -function generateSSBInnateInfo(name: string, dex: ModdedDex, baseDex: ModdedDex) { - let buf = ``; - // Special casing for users whose usernames are already existing, i.e. Perish Song - let effect = dex.conditions.get(name + 'user'); - let longDesc = ``; - const baseAbility = Dex.deepClone(baseDex.abilities.get('noability')); - // @ts-ignore hack to record the name of the innate abilities without using name - if (effect.exists && effect.innateName && (effect.desc || effect.shortDesc)) { - // @ts-ignore hack - baseAbility.name = effect.innateName; - if (effect.desc) baseAbility.desc = effect.desc; - if (effect.shortDesc) baseAbility.shortDesc = effect.shortDesc; - buf += `
Innate Ability:
${Chat.getDataAbilityHTML(baseAbility)}`; - if (effect.desc && effect.shortDesc && effect.desc !== effect.shortDesc) { - longDesc = effect.desc; - } - } else { - effect = dex.conditions.get(name); - // @ts-ignore hack - if (effect.exists && effect.innateName && (effect.desc || effect.shortDesc)) { - // @ts-ignore hack - baseAbility.name = effect.innateName; - if (effect.desc) baseAbility.desc = effect.desc; - if (effect.shortDesc) baseAbility.shortDesc = effect.shortDesc; - buf += `
Innate Ability:
${Chat.getDataAbilityHTML(baseAbility)}`; - if (effect.desc && effect.shortDesc && effect.desc !== effect.shortDesc) { - longDesc = effect.desc; - } - } - } - if (buf) { - const details: {[k: string]: string} = {Gen: '8'}; - buf += `${Object.entries(details).map(([detail, value]) => ( - value === '' ? detail : `${detail}: ${value}` - )).join(" |  ")}`; - } - if (longDesc) { - buf += `
In-Depth Description${longDesc}
`; - } - return buf; -} - -function SSBSets(target: string) { - const baseDex = Dex; - const dex = Dex.forFormat('gen8superstaffbros4'); - if (!Object.keys(ssbSets).map(toID).includes(toID(target))) { - return {e: `Error: ${target.trim()} doesn't have a [Gen 8] Super Staff Bros 4 set.`}; - } - let displayName = ''; - const names = []; - for (const member in ssbSets) { - if (toID(member).startsWith(toID(target))) names.push(member); - if (toID(member) === toID(target)) displayName = member; - } - let buf = ''; - for (const name of names) { - if (buf) buf += `
`; - const set = ssbSets[name]; - const mutatedSpecies = dex.species.get(set.species); - if (!set.skip) { - buf += Utils.html`

${displayName === 'yuki' ? name : displayName}

`; - } else { - buf += `
${name.split('-').slice(1).join('-') + ' forme'}`; - } - buf += generateSSBSet(set, dex, baseDex); - const item = dex.items.get(set.item as string); - if (!set.skip || set.signatureMove !== ssbSets[set.skip].signatureMove) { - const sigMove = baseDex.moves.get(set.signatureMove).exists && !Array.isArray(set.item) && - typeof item.zMove === 'string' ? - dex.moves.get(item.zMove) : dex.moves.get(set.signatureMove); - buf += generateSSBMoveInfo(sigMove, dex); - if (sigMove.id === 'blackbird') buf += generateSSBMoveInfo(dex.moves.get('gaelstrom'), dex); - } - buf += generateSSBItemInfo(set, dex, baseDex); - buf += generateSSBAbilityInfo(set, dex, baseDex); - buf += generateSSBInnateInfo(name, dex, baseDex); - buf += generateSSBPokemonInfo(set.species, dex, baseDex); - if (!Array.isArray(set.item) && item.megaStone) { - buf += generateSSBPokemonInfo(item.megaStone, dex, baseDex); - // Psynergy, Struchni, and Raj.shoot have itemless Mega Evolutions - } else if (['Aggron', 'Rayquaza'].includes(set.species)) { - buf += generateSSBPokemonInfo(`${set.species}-Mega`, dex, baseDex); - } else if (set.species === 'Charizard') { - buf += generateSSBPokemonInfo('Charizard-Mega-X', dex, baseDex); - } - if (set.skip) buf += `
`; - } - return buf; -} - export const commands: Chat.ChatCommands = { randbats: 'randombattles', randomdoublesbattle: 'randombattles', @@ -762,10 +432,18 @@ export const commands: Chat.ChatCommands = { const {dex} = this.splitFormat(target, true); const isLetsGo = (dex.currentMod === 'gen7letsgo'); - const species = dex.species.get(args[0]); - if (!species.exists) { - return this.errorReply(`Error: Pok\u00e9mon '${args[0].trim()}' does not exist.`); + const searchResults = dex.dataSearch(args[0], ['Pokedex']); + + if (!searchResults || !searchResults.length) { + this.errorReply(`No Pok\u00e9mon named '${args[0]}' was found${Dex.gen > dex.gen ? ` in Gen ${dex.gen}` : ""}. (Check your spelling?)`); + return; } + + let inexactMsg = ''; + if (searchResults[0].isInexact) { + inexactMsg = `No Pok\u00e9mon named '${args[0]}' was found${Dex.gen > dex.gen ? ` in Gen ${dex.gen}` : ""}. Searching for '${searchResults[0].name}' instead.`; + } + const species = dex.species.get(searchResults[0].name); const extraFormatModifier = isLetsGo ? 'letsgo' : (dex.currentMod === 'gen8bdsp' ? 'bdsp' : ''); const doublesModifier = isDoubles ? 'doubles' : ''; const noDMaxModifier = isNoDMax ? 'nodmax' : ''; @@ -776,6 +454,7 @@ export const commands: Chat.ChatCommands = { if (dex.gen === 1) { const rbyMoves = getRBYMoves(species); if (!rbyMoves) { + this.sendReply(inexactMsg); return this.errorReply(`Error: ${species.name} has no Random Battle data in ${GEN_NAMES[toID(args[1])]}`); } movesets.push(`Moves for ${species.name} in ${format.name}:${rbyMoves}`); @@ -783,6 +462,7 @@ export const commands: Chat.ChatCommands = { } else if (isLetsGo) { const lgpeMoves = getLetsGoMoves(species); if (!lgpeMoves) { + this.sendReply(inexactMsg); return this.errorReply(`Error: ${species.name} has no Random Battle data in [Gen 7 Let's Go]`); } movesets.push(`Moves for ${species.name} in ${format.name}:
${lgpeMoves}`); @@ -791,16 +471,19 @@ export const commands: Chat.ChatCommands = { const setsToCheck = [species]; if (dex.gen >= 8 && !isNoDMax) setsToCheck.push(dex.species.get(`${args[0]}gmax`)); if (species.otherFormes) setsToCheck.push(...species.otherFormes.map(pkmn => dex.species.get(pkmn))); - if ([4, 5, 6, 9].includes(dex.gen) || (dex.gen === 7 && !isDoubles)) { + if ([2, 3, 4, 5, 6, 7, 9].includes(dex.gen)) { for (const pokemon of setsToCheck) { - const sets = getSets(pokemon, format.id); - if (!sets) continue; + const data = getSets(pokemon, format.id); + if (!data) continue; + const sets = data.sets; + const level = data.level || getLevel(pokemon, format); let buf = `Moves for ${pokemon.name} in ${format.name}:
`; + buf += `Level: ${level}`; for (const set of sets) { buf += `
${set.role}`; if (dex.gen === 9) { buf += `Tera Type${Chat.plural(set.teraTypes)}: ${set.teraTypes.join(', ')}
`; - } else if (([4, 5, 6, 7].includes(dex.gen)) && set.preferredTypes) { + } else if (([2, 3, 4, 5, 6, 7].includes(dex.gen)) && set.preferredTypes) { buf += `Preferred Type${Chat.plural(set.preferredTypes)}: ${set.preferredTypes.join(', ')}
`; } buf += `Moves: ${set.movepool.sort().map(formatMove).join(', ')}
`; @@ -808,20 +491,6 @@ export const commands: Chat.ChatCommands = { } movesets.push(buf); } - } else if (dex.gen === 7 && isDoubles) { - for (const pokemon of setsToCheck) { - const data = getData(pokemon, format.name); - if (!data) continue; - if (!data.moves) continue; - const randomMoves = data.moves; - const m = randomMoves.slice().sort().map(formatMove); - movesets.push( - `
` + - `Moves for ${pokemon.name} in ${format.name}:` + - `${m.join(`, `)}
` - ); - setCount++; - } } else { for (let pokemon of setsToCheck) { let data = getData(pokemon, format.name); @@ -832,12 +501,14 @@ export const commands: Chat.ChatCommands = { if (!data) continue; if (!data.moves || pokemon.isNonstandard === 'Future') continue; let randomMoves = data.moves; + const level = data.level || getLevel(pokemon, format); if (isDoubles && data.doublesMoves) randomMoves = data.doublesMoves; if (isNoDMax && data.noDynamaxMoves) randomMoves = data.noDynamaxMoves; const m = randomMoves.slice().sort().map(formatMove); movesets.push( `
` + `Moves for ${pokemon.name} in ${format.name}:` + + (level ? `Level: ${level}
` : '') + `${m.join(`, `)}
` ); setCount++; @@ -846,18 +517,19 @@ export const commands: Chat.ChatCommands = { } if (!movesets.length) { + this.sendReply(inexactMsg); return this.errorReply(`Error: ${species.name} has no Random Battle data in ${format.name}`); } let buf = movesets.join('
'); if (setCount <= 2) { buf = buf.replace(/
/g, '
'); } + this.sendReply(inexactMsg); this.sendReplyBox(buf); }, randombattleshelp: [ `/randombattles OR /randbats [pokemon], [gen] - Displays a Pok\u00e9mon's Random Battle Moves. Defaults to Gen 9. If used in a battle, defaults to the gen of that battle.`, `/randomdoublesbattle OR /randdubs [pokemon], [gen] - Same as above, but instead displays Random Doubles Battle moves.`, - `/randombattlenodmax OR /randsnodmax [pokemon] - Same as above, but instead displays moves for [Gen 8] Random Battle (No Dmax)`, ], bssfactory: 'battlefactory', @@ -915,9 +587,9 @@ export const commands: Chat.ChatCommands = { } }, battlefactoryhelp: [ - `/battlefactory [pokemon], [tier], [gen] - Displays a Pok\u00e9mon's Battle Factory sets. Supports Gens 6-7. Defaults to Gen 7. If no tier is provided, defaults to OU.`, + `/battlefactory [pokemon], [tier], [gen] - Displays a Pok\u00e9mon's Battle Factory sets. Supports Gens 6-8. Defaults to Gen 8. If no tier is provided, defaults to OU.`, `- Supported tiers: OU, Ubers, UU, RU, NU, PU, Monotype (Gen 7 only), LC (Gen 7 only)`, - `/bssfactory [pokemon], [gen] - Displays a Pok\u00e9mon's BSS Factory sets. Supports Gen 7. Defaults to Gen 7.`, + `/bssfactory [pokemon], [gen] - Displays a Pok\u00e9mon's BSS Factory sets. Supports Gen 7-8. Defaults to Gen 8.`, ], cap1v1(target, room, user) { @@ -938,19 +610,6 @@ export const commands: Chat.ChatCommands = { `/cap1v1 [pokemon] - Displays a Pok\u00e9mon's CAP 1v1 sets.`, ], - ssb(target, room, user) { - if (!this.runBroadcast()) return; - if (!target) return this.parse(`/help ssb`); - const set = SSBSets(target); - if (typeof set !== 'string') { - throw new Chat.ErrorMessage(set.e); - } - return this.sendReplyBox(set); - }, - ssbhelp: [ - `/ssb [staff member] - Displays a staff member's Super Staff Bros. set and custom features.`, - ], - setodds: 'randombattlesetprobabilities', randbatsodds: 'randombattlesetprobabilities', randbatsprobabilities: 'randombattlesetprobabilities', @@ -987,15 +646,13 @@ export const commands: Chat.ChatCommands = { } let setExists: boolean; - if ([4, 5, 6, 9].includes(dex.gen) || dex.gen === 7 && format.gameType !== 'doubles') { + if ([2, 3, 4, 5, 6, 7, 9].includes(dex.gen)) { setExists = !!getSets(species, format); - } else if (dex.gen === 7 && format.gameType === 'doubles') { - setExists = !!getData(species, format); } else { const data = getData(species, format); if (!data) { setExists = false; - } else if ((format.gameType === 'doubles' && dex.gen !== 7) || format.gameType === 'freeforall') { + } else if (format.gameType === 'doubles' || format.gameType === 'freeforall') { setExists = !!data.doublesMoves; } else { setExists = !!data.moves; diff --git a/server/chat-plugins/randombattles/ssb.ts b/server/chat-plugins/randombattles/ssb.ts new file mode 100644 index 000000000000..65a6c218c41c --- /dev/null +++ b/server/chat-plugins/randombattles/ssb.ts @@ -0,0 +1,424 @@ +import {SSBSet, ssbSets} from "../../../data/mods/gen9ssb/random-teams"; +import {Utils} from "../../../lib"; +import {formatNature, STAT_NAMES} from "."; + +function generateSSBSet(set: SSBSet, dex: ModdedDex, baseDex: ModdedDex) { + if (set.skip) { + const baseSet = toID(Object.values(ssbSets[set.skip]).join()); + const skipSet = toID(Object.values(set).join()).slice(0, -toID(set.skip).length); + if (baseSet === skipSet) return ``; + } + let buf = ``; + buf += `
Set`; + buf += `
  • ${set.species}${set.gender !== '' ? ` (${set.gender})` : ``}`; + buf += `${set.item ? ' @ ' : ''}${Array.isArray(set.item) ? set.item.map(x => dex.items.get(x).name).join(' / ') : dex.items.get(set.item).name}
  • `; + buf += `
  • Ability: ${Array.isArray(set.ability) ? set.ability.map(x => dex.abilities.get(x).name).join(' / ') : dex.abilities.get(set.ability).name}
  • `; + if (set.teraType) { + buf += `
  • Tera Type: ${Array.isArray(set.teraType) ? set.teraType.map(x => dex.types.get(x).name).join(' / ') : set.teraType === 'Any' ? 'Any' : dex.types.get(set.teraType).name}
  • `; + } + if (set.shiny) buf += `
  • Shiny: ${typeof set.shiny === 'number' ? `1 in ${set.shiny} chance` : `Yes`}
  • `; + if (set.evs) { + const evs: string[] = []; + let ev: StatID; + for (ev in set.evs) { + if (set.evs[ev] === 0) continue; + evs.push(`${set.evs[ev]} ${STAT_NAMES[ev]}`); + } + buf += `
  • EVs: ${evs.join(" / ")}
  • `; + } + if (set.nature) { + buf += `
  • ${Array.isArray(set.nature) ? set.nature.map(x => formatNature(x)).join(" / ") : formatNature(set.nature)} Nature
  • `; + } + if (set.ivs) { + const ivs: string[] = []; + let iv: StatID; + for (iv in set.ivs) { + if (set.ivs[iv] === 31) continue; + ivs.push(`${set.ivs[iv]} ${STAT_NAMES[iv]}`); + } + buf += `
  • IVs: ${ivs.join(" / ")}
  • `; + } + for (const moveid of set.moves) { + buf += `
  • - ${Array.isArray(moveid) ? moveid.map(x => dex.moves.get(x).name).join(" / ") : dex.moves.get(moveid).name}
  • `; + } + const italicize = !baseDex.moves.get(set.signatureMove).exists; + buf += `
  • - ${italicize ? `` : ``}${dex.moves.get(set.signatureMove).name}${italicize ? `` : ``}
  • `; + buf += `
`; + buf += `
`; + return buf; +} + +function generateSSBMoveInfo(sigMove: Move, dex: ModdedDex) { + let buf = ``; + if (sigMove.shortDesc || sigMove.desc) { + buf += `
`; + buf += Chat.getDataMoveHTML(sigMove); + const details: {[k: string]: string} = { + Priority: String(sigMove.priority), + Gen: String(sigMove.gen || 9), + }; + + if (sigMove.isNonstandard === "Past" && dex.gen >= 8) details["✗ Past Gens Only"] = ""; + if (sigMove.secondary || sigMove.secondaries || sigMove.hasSheerForce) details["✓ Boosted by Sheer Force"] = ""; + if (sigMove.flags['contact'] && dex.gen >= 3) details["✓ Contact"] = ""; + if (sigMove.flags['sound'] && dex.gen >= 3) details["✓ Sound"] = ""; + if (sigMove.flags['bullet'] && dex.gen >= 6) details["✓ Bullet"] = ""; + if (sigMove.flags['pulse'] && dex.gen >= 6) details["✓ Pulse"] = ""; + if (!sigMove.flags['protect'] && sigMove.target !== 'self') details["✓ Bypasses Protect"] = ""; + if (sigMove.flags['bypasssub']) details["✓ Bypasses Substitutes"] = ""; + if (sigMove.flags['defrost']) details["✓ Thaws user"] = ""; + if (sigMove.flags['bite'] && dex.gen >= 6) details["✓ Bite"] = ""; + if (sigMove.flags['punch'] && dex.gen >= 4) details["✓ Punch"] = ""; + if (sigMove.flags['powder'] && dex.gen >= 6) details["✓ Powder"] = ""; + if (sigMove.flags['reflectable'] && dex.gen >= 3) details["✓ Bounceable"] = ""; + if (sigMove.flags['charge']) details["✓ Two-turn move"] = ""; + if (sigMove.flags['recharge']) details["✓ Has recharge turn"] = ""; + if (sigMove.flags['gravity'] && dex.gen >= 4) details["✗ Suppressed by Gravity"] = ""; + if (sigMove.flags['dance'] && dex.gen >= 7) details["✓ Dance move"] = ""; + if (sigMove.flags['slicing'] && dex.gen >= 9) details["✓ Slicing move"] = ""; + if (sigMove.flags['wind'] && dex.gen >= 9) details["✓ Wind move"] = ""; + + if (sigMove.zMove?.basePower) { + details["Z-Power"] = String(sigMove.zMove.basePower); + } else if (sigMove.zMove?.effect) { + const zEffects: {[k: string]: string} = { + clearnegativeboost: "Restores negative stat stages to 0", + crit2: "Crit ratio +2", + heal: "Restores HP 100%", + curse: "Restores HP 100% if user is Ghost type, otherwise Attack +1", + redirect: "Redirects opposing attacks to user", + healreplacement: "Restores replacement's HP 100%", + }; + details["Z-Effect"] = zEffects[sigMove.zMove.effect]; + } else if (sigMove.zMove?.boost) { + details["Z-Effect"] = ""; + const boost = sigMove.zMove.boost; + for (const h in boost) { + details["Z-Effect"] += ` ${Dex.stats.mediumNames[h as 'atk']} +${boost[h as 'atk']}`; + } + } else if (sigMove.isZ && typeof sigMove.isZ === 'string') { + details["✓ Z-Move"] = ""; + const zCrystal = dex.items.get(sigMove.isZ); + details["Z-Crystal"] = zCrystal.name; + if (zCrystal.itemUser) { + details["User"] = zCrystal.itemUser.join(", "); + details["Required Move"] = dex.items.get(sigMove.isZ).zMoveFrom!; + } + } else { + details["Z-Effect"] = "None"; + } + + const targetTypes: {[k: string]: string} = { + normal: "One Adjacent Pok\u00e9mon", + self: "User", + adjacentAlly: "One Ally", + adjacentAllyOrSelf: "User or Ally", + adjacentFoe: "One Adjacent Opposing Pok\u00e9mon", + allAdjacentFoes: "All Adjacent Opponents", + foeSide: "Opposing Side", + allySide: "User's Side", + allyTeam: "User's Side", + allAdjacent: "All Adjacent Pok\u00e9mon", + any: "Any Pok\u00e9mon", + all: "All Pok\u00e9mon", + scripted: "Chosen Automatically", + randomNormal: "Random Adjacent Opposing Pok\u00e9mon", + allies: "User and Allies", + }; + details["Target"] = targetTypes[sigMove.target] || "Unknown"; + if (sigMove.isNonstandard === 'Unobtainable') { + details[`Unobtainable in Gen ${dex.gen}`] = ""; + } + buf += `${Object.entries(details).map(([detail, value]) => ( + value === '' ? detail : `${detail}: ${value}` + )).join(" |  ")}`; + if (sigMove.desc && sigMove.desc !== sigMove.shortDesc) { + buf += `
In-Depth Description${sigMove.desc}
`; + } + } + return buf; +} + +function generateSSBItemInfo(set: SSBSet, dex: ModdedDex, baseDex: ModdedDex) { + let buf = ``; + if (!Array.isArray(set.item)) { + const baseItem = baseDex.items.get(set.item); + const sigItem = dex.items.get(set.item); + if (!baseItem.exists || (baseItem.desc || baseItem.shortDesc) !== (sigItem.desc || sigItem.shortDesc)) { + buf += `
`; + buf += Chat.getDataItemHTML(sigItem); + const details: {[k: string]: string} = { + Gen: String(sigItem.gen), + }; + + if (dex.gen >= 4) { + if (sigItem.fling) { + details["Fling Base Power"] = String(sigItem.fling.basePower); + if (sigItem.fling.status) details["Fling Effect"] = sigItem.fling.status; + if (sigItem.fling.volatileStatus) details["Fling Effect"] = sigItem.fling.volatileStatus; + if (sigItem.isBerry) details["Fling Effect"] = "Activates the Berry's effect on the target."; + if (sigItem.id === 'whiteherb') details["Fling Effect"] = "Restores the target's negative stat stages to 0."; + if (sigItem.id === 'mentalherb') { + const flingEffect = "Removes the effects of Attract, Disable, Encore, Heal Block, Taunt, and Torment from the target."; + details["Fling Effect"] = flingEffect; + } + } else { + details["Fling"] = "This item cannot be used with Fling."; + } + } + if (sigItem.naturalGift && dex.gen >= 3) { + details["Natural Gift Type"] = sigItem.naturalGift.type; + details["Natural Gift Base Power"] = String(sigItem.naturalGift.basePower); + } + if (sigItem.isNonstandard && sigItem.isNonstandard !== "Custom") { + details[`Unobtainable in Gen ${dex.gen}`] = ""; + } + buf += `${Object.entries(details).map(([detail, value]) => ( + value === '' ? detail : `${detail}: ${value}` + )).join(" |  ")}`; + } + } + return buf; +} + +function generateSSBAbilityInfo(set: SSBSet, dex: ModdedDex, baseDex: ModdedDex) { + let buf = ``; + if (!Array.isArray(set.ability) && !baseDex.abilities.get(set.ability).exists) { + const sigAbil = Dex.deepClone(dex.abilities.get(set.ability)); + if (!sigAbil.desc && !sigAbil.shortDesc) { + sigAbil.desc = `This ability doesn't have a description. Try contacting the SSB dev team.`; + } + buf += `
`; + buf += Chat.getDataAbilityHTML(sigAbil); + const details: {[k: string]: string} = { + Gen: String(sigAbil.gen || 9) || 'CAP', + }; + if (sigAbil.flags['cantsuppress']) details["✓ Not affected by Gastro Acid"] = ""; + if (sigAbil.flags['breakable']) details["✓ Ignored by Mold Breaker"] = ""; + buf += `${Object.entries(details).map(([detail, value]) => ( + value === '' ? detail : `${detail}: ${value}` + )).join(" |  ")}`; + if (sigAbil.desc && sigAbil.shortDesc && sigAbil.desc !== sigAbil.shortDesc) { + buf += `
In-Depth Description${sigAbil.desc}
`; + } + } + return buf; +} + +function generateSSBPokemonInfo(species: string, dex: ModdedDex, baseDex: ModdedDex) { + let buf = ``; + const origSpecies = baseDex.species.get(species); + const newSpecies = dex.species.get(species); + if ( + newSpecies.types.join('/') !== origSpecies.types.join('/') || + Object.values(newSpecies.abilities).join('/') !== Object.values(origSpecies.abilities).join('/') || + Object.values(newSpecies.baseStats).join('/') !== Object.values(origSpecies.baseStats).join('/') + ) { + buf += `
`; + buf += Chat.getDataPokemonHTML(newSpecies, dex.gen, 'SSB'); + let weighthit = 20; + if (newSpecies.weighthg >= 2000) { + weighthit = 120; + } else if (newSpecies.weighthg >= 1000) { + weighthit = 100; + } else if (newSpecies.weighthg >= 500) { + weighthit = 80; + } else if (newSpecies.weighthg >= 250) { + weighthit = 60; + } else if (newSpecies.weighthg >= 100) { + weighthit = 40; + } + const details: {[k: string]: string} = { + "Dex#": String(newSpecies.num), + Gen: String(newSpecies.gen) || 'CAP', + Height: `${newSpecies.heightm} m`, + }; + details["Weight"] = `${newSpecies.weighthg / 10} kg (${weighthit} BP)`; + if (newSpecies.color && dex.gen >= 5) details["Dex Colour"] = newSpecies.color; + if (newSpecies.eggGroups && dex.gen >= 2) details["Egg Group(s)"] = newSpecies.eggGroups.join(", "); + const evos: string[] = []; + for (const evoName of newSpecies.evos) { + const evo = dex.species.get(evoName); + if (evo.gen <= dex.gen) { + const condition = evo.evoCondition ? ` ${evo.evoCondition}` : ``; + switch (evo.evoType) { + case 'levelExtra': + evos.push(`${evo.name} (level-up${condition})`); + break; + case 'levelFriendship': + evos.push(`${evo.name} (level-up with high Friendship${condition})`); + break; + case 'levelHold': + evos.push(`${evo.name} (level-up holding ${evo.evoItem}${condition})`); + break; + case 'useItem': + evos.push(`${evo.name} (${evo.evoItem})`); + break; + case 'levelMove': + evos.push(`${evo.name} (level-up with ${evo.evoMove}${condition})`); + break; + case 'other': + evos.push(`${evo.name} (${evo.evoCondition})`); + break; + case 'trade': + evos.push(`${evo.name} (trade${evo.evoItem ? ` holding ${evo.evoItem}` : condition})`); + break; + default: + evos.push(`${evo.name} (${evo.evoLevel}${condition})`); + } + } + } + if (!evos.length) { + details[`Does Not Evolve`] = ""; + } else { + details["Evolution"] = evos.join(", "); + } + buf += `${Object.entries(details).map(([detail, value]) => ( + value === '' ? detail : `${detail}: ${value}` + )).join(" |  ")}`; + } + return buf; +} + +function generateSSBInnateInfo(name: string, dex: ModdedDex, baseDex: ModdedDex) { + let buf = ``; + // Special casing for users whose usernames are already existing, i.e. dhelmise + let effect = dex.conditions.get(name + 'user'); + let longDesc = ``; + const baseAbility = baseDex.deepClone(baseDex.abilities.get('noability')); + if (effect.exists && (effect as any).innateName && (effect.desc || effect.shortDesc)) { + baseAbility.name = (effect as any).innateName; + if (!effect.desc && !effect.shortDesc) { + baseAbility.desc = baseAbility.shortDesc = "This innate does not have a description."; + } + if (effect.desc) baseAbility.desc = effect.desc; + if (effect.shortDesc) baseAbility.shortDesc = effect.shortDesc; + buf += `
Innate Ability:
${Chat.getDataAbilityHTML(baseAbility)}`; + if (effect.desc && effect.shortDesc && effect.desc !== effect.shortDesc) { + longDesc = effect.desc; + } + } else { + effect = dex.deepClone(dex.conditions.get(name)); + if (!effect.desc && !effect.shortDesc) { + effect.desc = effect.shortDesc = "This innate does not have a description."; + } + if (effect.exists && (effect as any).innateName) { + baseAbility.name = (effect as any).innateName; + if (effect.desc) baseAbility.desc = effect.desc; + if (effect.shortDesc) baseAbility.shortDesc = effect.shortDesc; + buf += `
Innate Ability:
${Chat.getDataAbilityHTML(baseAbility)}`; + if (effect.desc && effect.shortDesc && effect.desc !== effect.shortDesc) { + longDesc = effect.desc; + } + } + } + if (buf) { + const details: {[k: string]: string} = {Gen: '9'}; + buf += `${Object.entries(details).map(([detail, value]) => ( + value === '' ? detail : `${detail}: ${value}` + )).join(" |  ")}`; + } + if (longDesc) { + buf += `
In-Depth Description${longDesc}
`; + } + return buf; +} + +function SSBSets(target: string) { + const baseDex = Dex; + const dex = Dex.forFormat('gen9superstaffbrosultimate'); + if (!Object.keys(ssbSets).map(toID).includes(toID(target))) { + return {e: `Error: ${target.trim()} doesn't have a [Gen 9] Super Staff Bros Ultimate set.`}; + } + let name = ''; + for (const member in ssbSets) { + if (toID(member) === toID(target)) name = member; + } + let buf = ''; + const sets: string[] = []; + for (const set in ssbSets) { + if (!set.startsWith(name)) continue; + if (!ssbSets[set].skip && set !== name) continue; + sets.push(set); + } + for (const setName of sets) { + const set = ssbSets[setName]; + const mutatedSpecies = dex.species.get(set.species); + if (!set.skip) { + buf += Utils.html`

${setName}

`; + } else { + buf += `
${setName.split('-').slice(1).join('-') + ' forme'}`; + } + buf += generateSSBSet(set, dex, baseDex); + const item = dex.items.get(set.item as string); + if (!set.skip || set.signatureMove !== ssbSets[set.skip].signatureMove) { + const sigMove = baseDex.moves.get(set.signatureMove).exists && !Array.isArray(set.item) && + typeof item.zMove === 'string' ? + dex.moves.get(item.zMove) : dex.moves.get(set.signatureMove); + buf += generateSSBMoveInfo(sigMove, dex); + } + buf += generateSSBItemInfo(set, dex, baseDex); + buf += generateSSBAbilityInfo(set, dex, baseDex); + buf += generateSSBInnateInfo(setName, dex, baseDex); + buf += generateSSBPokemonInfo(set.species, dex, baseDex); + if (!Array.isArray(set.item) && item.megaStone) { + buf += generateSSBPokemonInfo(item.megaStone, dex, baseDex); + // keys and Kennedy have an itemless forme change + } else if (['Rayquaza'].includes(set.species)) { + buf += generateSSBPokemonInfo(`${set.species}-Mega`, dex, baseDex); + } else if (['Cinderace'].includes(set.species)) { + buf += generateSSBPokemonInfo(`${set.species}-Gmax`, dex, baseDex); + } + if (set.skip) buf += `
`; + } + return buf; +} + + +export const disabledSets = Chat.oldPlugins.ssb?.disabledSets || []; + +function enforceDisabledSets() { + for (const process of Rooms.PM.processes) { + process.getProcess().send(`EVAL\n\nConfig.disabledssbsets = ${JSON.stringify(disabledSets)}`); + } +} + +enforceDisabledSets(); + +export const commands: Chat.ChatCommands = { + ssb(target, room, user) { + if (!this.runBroadcast()) return; + if (!target) return this.parse(`/help ssb`); + const set = SSBSets(target); + if (typeof set !== 'string') { + throw new Chat.ErrorMessage(set.e); + } + return this.sendReplyBox(set); + }, + ssbhelp: [ + `/ssb [staff member] - Displays a staff member's Super Staff Bros. set and custom features.`, + ], + enablessbset: 'disablessbset', + disablessbset(target, room, user, connection, cmd) { + this.checkCan('rangeban'); + target = toID(target); + if (!Object.keys(ssbSets).map(toID).includes(target as ID)) { + throw new Chat.ErrorMessage(`${target} has no SSB set.`); + } + const disableIdx = disabledSets.indexOf(target); + if (cmd.startsWith('enable')) { + if (disableIdx < 0) { + throw new Chat.ErrorMessage(`${target}'s set is not disabled.`); + } + disabledSets.splice(disableIdx, 1); + this.privateGlobalModAction(`${user.name} enabled ${target}'s SSB set.`); + } else { + if (disableIdx > -1) { + throw new Chat.ErrorMessage(`That set is already disabled.`); + } + disabledSets.push(target); + this.privateGlobalModAction(`${user.name} disabled the SSB set for ${target}`); + } + enforceDisabledSets(); + }, +}; diff --git a/server/chat-plugins/randombattles/winrates.ts b/server/chat-plugins/randombattles/winrates.ts index 776043b58e19..4e3ba6cf1466 100644 --- a/server/chat-plugins/randombattles/winrates.ts +++ b/server/chat-plugins/randombattles/winrates.ts @@ -21,13 +21,13 @@ interface FormatData { period?: number; // how often it resets - defaults to 1mo } -const STATS_PATH = 'logs/randbats/{{MONTH}}-winrates.json'; +const STATS_PATH = Monitor.logPath('randbats/{{MONTH}}-winrates.json').path; export const stats: Stats = getDefaultStats(); try { const path = STATS_PATH.replace('{{MONTH}}', getMonth()); - if (!FS('logs/randbats/').existsSync()) { - FS('logs/randbats/').mkdirSync(); + if (!Monitor.logPath('randbats/').existsSync()) { + Monitor.logPath('randbats/').mkdirSync(); } const savedStats = JSON.parse(FS(path).readSync()); stats.elo = savedStats.elo; @@ -46,6 +46,7 @@ function getDefaultStats() { // so i'm not spending the time to add commands to toggle this gen9randombattle: {mons: {}}, gen9randomdoublesbattle: {mons: {}}, + gen9superstaffbrosultimate: {mons: {}}, gen8randombattle: {mons: {}}, gen7randombattle: {mons: {}}, gen6randombattle: {mons: {}}, @@ -96,6 +97,10 @@ function getSpeciesName(set: PokemonSet, format: Format) { return 'Keldeo'; } else if (species === "Zarude-Dada") { return 'Zarude'; + } else if (species === 'Polteageist-Antique') { + return 'Polteageist'; + } else if (species === 'Sinistcha-Masterpiece') { + return 'Sinistcha'; } else if (species === "Squawkabilly-Blue") { return "Squawkabilly"; } else if (species === "Squawkabilly-White") { @@ -116,6 +121,8 @@ function getSpeciesName(set: PokemonSet, format: Format) { return 'Toxtricity'; } else if (species.startsWith("Tatsugiri-")) { return 'Tatsugiri'; + } else if (species.startsWith("Alcremie-")) { + return 'Alcremie'; } else if (species === "Zacian" && item.name === "Rusted Sword") { return 'Zacian-Crowned'; } else if (species === "Zamazenta" && item.name === "Rusted Shield") { @@ -165,16 +172,16 @@ async function collectStats(battle: RoomBattle, winner: ID, players: ID[]) { // may need to be raised again if doubles ladder takes off eloFloor = 1300; } - if (!formatData || battle.rated < eloFloor) return; + if (!formatData || (format.mod !== 'gen9ssb' && battle.rated < eloFloor) || !winner) return; checkRollover(); - for (const p of players) { - const team = await battle.getTeam(p); + for (const p of battle.players) { + const team = await battle.getPlayerTeam(p); if (!team) return; // ??? const mons = team.map(f => getSpeciesName(f, format)); for (const mon of mons) { if (!formatData.mons[mon]) formatData.mons[mon] = {timesGenerated: 0, numWins: 0}; formatData.mons[mon].timesGenerated++; - if (toID(winner) === toID(p)) { + if (toID(winner) === toID(p.name)) { formatData.mons[mon].numWins++; } } diff --git a/server/chat-plugins/responder.ts b/server/chat-plugins/responder.ts index 062b67e0f4bc..2e92740bc043 100644 --- a/server/chat-plugins/responder.ts +++ b/server/chat-plugins/responder.ts @@ -12,7 +12,7 @@ import {LogViewer} from './chatlog'; import {roomFaqs, visualizeFaq} from './room-faqs'; const DATA_PATH = 'config/chat-plugins/responder.json'; -const LOG_PATH = 'logs/responder.jsonl'; +const LOG_PATH = Monitor.logPath('responder.jsonl').path; export let answererData: {[roomid: string]: PluginData} = {}; diff --git a/server/chat-plugins/sample-teams.ts b/server/chat-plugins/sample-teams.ts index 34b99313d506..5b295e159c1c 100644 --- a/server/chat-plugins/sample-teams.ts +++ b/server/chat-plugins/sample-teams.ts @@ -304,7 +304,11 @@ export const handlers: Chat.Handlers = { }; export const commands: Chat.ChatCommands = { - sampleteams: { + sampleteams(target, room, user) { + this.sendReply(`Sample Teams are being deprecated. Please do \`\`/tier [formatid]\`\` to view their resources.`); + this.sendReply(`If you are room staff for a room and would like to access old samples for your room's formats, please contact an admin.`); + }, + /* sampleteams: { ''(target, room, user) { this.runBroadcast(); let [formatid, category] = target.split(','); @@ -432,158 +436,5 @@ export const commands: Chat.ChatCommands = { `/sampleteams remove [format], [category], [team name] - Removes a sample team for [format] in [category].`, `/sampleteams whitelist add [formatid], [formatid] | [roomid], [roomid], ... - Whitelists room staff for the provided roomids to add sample teams. Requires: &`, `/sampleteams whitelist remove [formatid], [roomid] - Unwhitelists room staff for the provided room to add sample teams. Requires: &`, - ], + ], */ }; - -function formatFakeButton(url: string, text: string) { - return `${text}`; -} - -export const pages: Chat.PageTable = { - sampleteams: { - whitelist(query, user, connection) { - this.title = `Sample Teams Whitelist`; - if (!(SampleTeams.isDevMod(user) || user.can('bypassall'))) { - return `

Access denied.

`; - } - const staffRoomAccess = Rooms.get('staff')?.checkModjoin(user); - let buf = `

Sample Teams Rooms Whitelist

`; - if ((!teamData.whitelist || !Object.keys(teamData.whitelist).length) && !query.length) { - buf += `

No rooms are whitelisted for any formats.

`; - } - if (query[0] === 'add') { - buf += `
`; - buf += `

`; - buf += `
`; - buf += `
`; - buf += `
${formatFakeButton("view-sampleteams-whitelist", "Return to list")}`; - } else { - buf += `
`; - for (const formatid of Object.keys(teamData.whitelist).sort().reverse()) { - if (!teamData.whitelist[formatid]?.length) continue; - buf += `
${SampleTeams.getFormatName(formatid)}
`; - for (const roomid of teamData.whitelist[formatid]) { - buf += `
${Rooms.get(roomid)?.title || roomid}`; - buf += `
`; - } - } - buf += `
`; - } - buf += `${query.length ? '' : formatFakeButton("view-sampleteams-whitelist-add", "Whitelist room")}
`; - return buf; - }, - view(query, user, connection) { - this.title = `Sample Teams`; - let buf = `
`; - if (query.slice(0, query.length - 1).join('-')) { - buf += `${formatFakeButton(`view-sampleteams-view-${query.slice(0, query.length - 1).join('-')}`, "« Back")}`; - } else { - buf += ``; - } - buf += ``; - buf += `

Sample Teams


`; - const q0Teams = teamData.teams[query[0]]; - const q0TeamKeys = q0Teams ? Object.keys(q0Teams) : []; - if (!query[0]) { - const formats = Object.keys(teamData.teams); - if (!formats.length) return `${buf}

No teams found.

`; - buf += `

Pick a format

    `; - for (const formatid of formats) { - if (!formatid) continue; - buf += `
  • ${formatFakeButton(`view-sampleteams-view-${formatid}`, `${SampleTeams.getFormatName(formatid)}`)}
  • `; - } - buf += `
`; - } else if (!q0Teams || !q0TeamKeys.length || - (!Object.keys(q0Teams.uncategorized).length && !q0TeamKeys.filter(x => x !== 'uncategorized').length)) { - const name = Dex.formats.get(query[0]).exists ? Dex.formats.get(query[0]).name : query[0]; - return `${buf}

No teams for ${name} were found.

`; - } else if (!query[1] || (!SampleTeams.findCategory(query[0], query[1]) && query[1] !== 'allteams')) { - buf += `

Pick a category

`; - } else if (query[1] === 'allteams') { - buf += `

All teams for ${SampleTeams.getFormatName(query[0])}

`; - for (const categoryName in teamData.teams[query[0]]) { - const category = teamData.teams[query[0]][categoryName]; - if (!Object.keys(category).length) continue; - buf += `

${categoryName}

`; - for (const teamName in category) { - const team = category[teamName]; - if (SampleTeams.checkPermissions(user, teamData.whitelist[query[0]] || [])) { - buf += ``; - } - buf += SampleTeams.formatTeam(teamName, team); - } - buf += `
`; - const index = Object.keys(teamData.teams[query[0]]).indexOf(categoryName); - if (index !== Object.keys(teamData.teams[query[0]]).length - 1) buf += `
`; - } - } else if (SampleTeams.findCategory(query[0], query[1])) { - const categoryName = SampleTeams.findCategory(query[0], query[1])!; - buf += `

Sample teams for ${SampleTeams.getFormatName(query[0])} in the ${categoryName} category

`; - for (const teamName in teamData.teams[query[0]][categoryName]) { - const team = teamData.teams[query[0]][categoryName][teamName]; - buf += SampleTeams.formatTeam(teamName, team); - } - } - buf += ``; - return buf; - }, - add(query, user, connection) { - this.title = `Sample Teams`; - const trimFormatName = (name: string) => (name.includes('(') ? name.slice(0, name.indexOf('(')) : name).trim(); - const formatsSet = new Set(Dex.formats.all().map(format => trimFormatName(format.name))); - const formatsArr = Array.from(formatsSet); - const formats = formatsArr.map(formatName => Dex.formats.get(formatName)) - .filter(format => ( - !format.name.includes('Custom') && format.effectType === 'Format' && - !format.team && SampleTeams.checkPermissions(user, SampleTeams.whitelistedRooms(format.id) || []) - )); - if (!formats.length) return `

Access denied.

`; - let buf = `
`; - if (query.slice(0, query.length - 1).join('-')) { - buf += `${formatFakeButton(`view-sampleteams-add-${query.slice(0, query.length - 1).join('-')}`, "« Back")}`; - } else { - buf += ``; - } - let buttonTitle = 'Refresh'; - if (query[2] === 'submit') buttonTitle = 'Add another team'; - buf += ``; - buf += `

Add a sample team

`; - if (!query[0] || !Dex.formats.get(query[0]).exists) { - buf += `

Pick a format

    `; - for (const format of formats) { - buf += `
  • ${formatFakeButton(`view-sampleteams-add-${format.id}`, format.name)}
  • `; - } - buf += `
`; - } else if (!query[1] || !SampleTeams.findCategory(query[0], query[1]) || query[1] === 'addnewcategory') { - const name = SampleTeams.getFormatName(query[0]); - if (query[1] === 'addnewcategory') { - buf += `

Add a category for ${name}

`; - buf += `
`; - buf += ``; - buf += `
`; - } else { - buf += `

Pick a category for ${name}

    `; - for (const category of Object.keys(teamData.teams[query[0]] || {}) || []) { - buf += `
  • ${formatFakeButton(`view-sampleteams-add-${query[0]}-${toID(category)}-submit`, category)}
  • `; - } - buf += `
  • ${formatFakeButton(`view-sampleteams-add-${query[0]}-addnewcategory`, `Add new category`)}
`; - } - } - const categoryName = SampleTeams.findCategory(query[0], query[1]); - if (categoryName) { - buf += `
`; - buf += `

Enter a team name

`; - buf += `

Enter team importable


`; - buf += `
`; - } - buf += `
`; - return buf; - }, - }, -}; - -Chat.multiLinePattern.register(`/sampleteams add `); diff --git a/server/chat-plugins/scavenger-games.ts b/server/chat-plugins/scavenger-games.ts index 08ebad8b32a8..2cd9cc628586 100644 --- a/server/chat-plugins/scavenger-games.ts +++ b/server/chat-plugins/scavenger-games.ts @@ -341,9 +341,9 @@ const TWISTS: {[k: string]: Twist} = { return true; }, - onLeave(user) { - for (const ip of user.ips) { - this.altIps[ip] = {id: user.id, name: user.name}; + onLeave(player) { + for (const ip of player.joinIps) { + this.altIps[ip] = {id: player.id, name: player.name}; } }, diff --git a/server/chat-plugins/scavengers.ts b/server/chat-plugins/scavengers.ts index bb2114768094..ece8db2d7861 100644 --- a/server/chat-plugins/scavengers.ts +++ b/server/chat-plugins/scavengers.ts @@ -319,6 +319,7 @@ class ScavengerHuntDatabase { } } export class ScavengerHunt extends Rooms.RoomGame { + override readonly gameid = 'scavengerhunt' as ID; gameType: GameTypes; joinedIps: string[]; startTime: number; @@ -330,7 +331,6 @@ export class ScavengerHunt extends Rooms.RoomGame { mods: {[k: string]: ModEvent[]}; staffHostId: string; staffHostName: string; - gameid: ID; scavGame: true; timerEnd: number | null; timer: NodeJS.Timer | null; @@ -372,7 +372,6 @@ export class ScavengerHunt extends Rooms.RoomGame { this.staffHostName = staffHost.name; this.cacheUserIps(staffHost); // store it in case of host subbing - this.gameid = 'scavengerhunt' as ID; this.title = 'Scavenger Hunt'; this.scavGame = true; @@ -487,7 +486,7 @@ export class ScavengerHunt extends Rooms.RoomGame { if (player.completed) return user.sendTo(this.room, "You have already completed this scavenger hunt."); this.runEvent('Leave', player); this.joinedIps = this.joinedIps.filter(ip => !player.joinIps.includes(ip)); - this.removePlayer(user); + this.removePlayer(player); this.leftHunt[user.id] = 1; user.sendTo(this.room, "You have left the scavenger hunt."); } @@ -904,8 +903,7 @@ export class ScavengerHunt extends Rooms.RoomGame { // do not remove players that have completed - they should still get to see the answers if (player.completed) return true; - player.destroy(); - delete this.playerTable[userid]; + this.removePlayer(player); return true; } diff --git a/server/chat-plugins/seasons.ts b/server/chat-plugins/seasons.ts new file mode 100644 index 000000000000..08f59c7abffc --- /dev/null +++ b/server/chat-plugins/seasons.ts @@ -0,0 +1,356 @@ +/** + * @author mia-pi-git + */ + +import {FS, Net, Utils} from '../../lib'; + +export const SEASONS_PER_YEAR = 4; +export const FORMATS_PER_SEASON = 4; +export const BADGE_THRESHOLDS: Record = { + gold: 3, + silver: 30, + bronze: 100, +}; +export const FIXED_FORMATS = ['randombattle', 'ou']; +export const FORMAT_POOL = ['ubers', 'uu', 'ru', 'nu', 'pu', 'lc', 'doublesou', 'monotype']; +export const PUBLIC_PHASE_LENGTH = 3; + +interface SeasonData { + current: {period: number, year: number, formatsGeneratedAt: number, season: number}; + badgeholders: {[period: string]: {[format: string]: {[badgeType: string]: string[]}}}; + formatSchedule: Record; +} + +export let data: SeasonData; + +try { + data = JSON.parse(FS('config/chat-plugins/seasons.json').readSync()); +} catch { + data = { + // force a reroll + current: {season: null!, year: null!, formatsGeneratedAt: null!, period: null!}, + formatSchedule: {}, + badgeholders: {}, + }; +} + +export function getBadges(user: User, curFormat: string) { + let userBadges: {type: string, format: string}[] = []; + const season = data.current.season; // don't factor in old badges + for (const format in data.badgeholders[season]) { + const badges = data.badgeholders[season][format]; + for (const type in badges) { + if (badges[type].includes(user.id)) { + // ex badge-bronze-gen9ou-250-1-2024 + userBadges.push({type, format}); + } + } + } + // find which ones we should prioritize showing - badge of current tier/season, then top badges of other formats for this season + let curFormatBadge; + for (const [i, badge] of userBadges.entries()) { + if (badge.format === curFormat) { + userBadges.splice(i); + curFormatBadge = badge; + } + } + // now - sort by highest levels + userBadges = Utils.sortBy(userBadges, x => Object.keys(BADGE_THRESHOLDS).indexOf(x.type)) + .slice(0, 2); + if (curFormatBadge) userBadges.unshift(curFormatBadge); + // format and return + return userBadges; +} + +export function setFormatSchedule() { + // guard heavily against this being overwritten + if (data.current.formatsGeneratedAt === getYear()) return; + data.current.formatsGeneratedAt = getYear(); + const formats = generateFormatSchedule(); + for (const [i, formatList] of formats.entries()) { + data.formatSchedule[i + 1] = FIXED_FORMATS.concat(formatList.slice()); + } + saveData(); +} + +class ScheduleGenerator { + formats: string[][]; + items = new Map(); + constructor() { + this.formats = new Array(SEASONS_PER_YEAR).fill(null).map(() => [] as string[]); + for (const format of FORMAT_POOL) this.items.set(format, 0); + } + generate() { + for (let i = 0; i < this.formats.length; i++) { + this.step([i, 0]); + } + for (let i = 1; i < SEASONS_PER_YEAR; i++) { + this.step([0, i]); + } + return this.formats; + } + swap(x: number, y: number) { + const item = this.formats[x][y]; + for (let i = 0; i < SEASONS_PER_YEAR; i++) { + if (this.formats[i].includes(item)) continue; + for (const [j, cur] of this.formats[i].entries()) { + if (cur === item) continue; + if (this.formats[x].includes(cur)) continue; + this.formats[i][j] = item; + return cur; + } + } + throw new Error("Couldn't find swap target for " + item + ": " + JSON.stringify(this.formats)); + } + select(x: number, y: number): string { + const items = Array.from(this.items).filter(entry => entry[1] < 2); + const item = Utils.randomElement(items); + if (item[1] >= 2) { + this.items.delete(item[0]); + return this.select(x, y); + } + this.items.set(item[0], item[1] + 1); + if (item[0] && this.formats[x].includes(item[0])) { + this.formats[x][y] = item[0]; + return this.swap(x, y); + } + return item[0]; + } + step(start: [number, number]) { + let [x, y] = start; + while (x < this.formats.length && y < FORMATS_PER_SEASON) { + const item = this.select(x, y); + this.formats[x][y] = item; + x++; + y++; + } + } +} + +export function generateFormatSchedule() { + return new ScheduleGenerator().generate(); +} + +export async function getLadderTop(format: string) { + try { + const results = await Net(`https://${Config.routes.root}/ladder/?format=${toID(format)}&json`).get(); + const reply = JSON.parse(results); + return reply.toplist; + } catch (e) { + Monitor.crashlog(e, "A season ladder request"); + return null; + } +} + +export async function updateBadgeholders() { + rollSeason(); + const period = `${data.current.season}`; + if (!data.badgeholders[period]) { + data.badgeholders[period] = {}; + } + for (const formatName of data.formatSchedule[findPeriod()]) { + const formatid = `gen${Dex.gen}${formatName}`; + const response = await getLadderTop(formatid); + if (!response) continue; // ?? + const newHolders: Record = {}; + for (const [i, row] of response.entries()) { + let badgeType = null; + for (const type in BADGE_THRESHOLDS) { + if ((i + 1) <= BADGE_THRESHOLDS[type]) { + badgeType = type; + break; + } + } + if (!badgeType) break; + if (!newHolders[badgeType]) newHolders[badgeType] = []; + newHolders[badgeType].push(row.userid); + } + data.badgeholders[period][formatid] = newHolders; + } + saveData(); +} + +function getYear() { + return new Date().getFullYear(); +} + +function findPeriod() { + return Math.floor(new Date().getMonth() / (SEASONS_PER_YEAR - 1)) + 1; +} + +/** Are we in the last three days of the month (the public phase, where badged battles are public and the room is active?) */ +function checkPublicPhase() { + const daysInCurrentMonth = new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).getDate(); + // last 3 days of the month + return new Date().getDate() >= (daysInCurrentMonth - PUBLIC_PHASE_LENGTH); +} + +export function saveData() { + FS('config/chat-plugins/seasons.json').writeUpdate(() => JSON.stringify(data)); +} + +export function rollSeason() { + const year = getYear(); + if (data.current.year !== year) { + data.current.year = year; + setFormatSchedule(); + } + if (findPeriod() !== data.current.period) { + data.current.season++; + data.badgeholders[data.current.season] = {}; + for (const k of data.formatSchedule[findPeriod()]) { + data.badgeholders[data.current.season][`gen${Dex.gen}${k}`] = {}; + } + data.current.period = findPeriod(); + saveData(); + } +} + +export let updateTimeout: NodeJS.Timer | true | null = null; + +export function rollTimer() { + if (updateTimeout === true) return; + if (updateTimeout) { + clearTimeout(updateTimeout); + } + updateTimeout = true; + void updateBadgeholders(); + const time = Date.now(); + const next = new Date(); + next.setHours(next.getHours() + 1); + next.setMinutes(0, 0, 0); + updateTimeout = setTimeout(() => rollTimer(), next.getTime() - time); + + const discussionRoom = Rooms.search('seasondiscussion'); + if (discussionRoom) { + if (checkPublicPhase() && discussionRoom.settings.isPrivate) { + discussionRoom.setPrivate(false); + discussionRoom.settings.modchat = 'autoconfirmed'; + discussionRoom.add( + `|html|
The public phase of the month has now started!` + + `
Badged battles are now forced public, and this room is open for use.
` + ).update(); + } else if (!checkPublicPhase() && !discussionRoom.settings.isPrivate) { + discussionRoom.setPrivate(true); + discussionRoom.settings.modchat = '#'; + discussionRoom.add( + `|html|
The public phase of the month has ended.
` + ).update(); + } + } +} + +export function destroy() { + if (updateTimeout && typeof updateTimeout !== 'boolean') { + clearTimeout(updateTimeout); + } +} + +rollTimer(); + +export const commands: Chat.ChatCommands = { + seasonschedule: 'seasons', + seasons() { + return this.parse(`/join view-seasonschedule`); + }, +}; + +export const pages: Chat.PageTable = { + seasonschedule() { + this.checkCan('globalban'); + let buf = `

Season schedule for ${getYear()}


`; + buf += `
`; + for (const period in data.formatSchedule) { + const match = findPeriod() === Number(period); + const formatString = data.formatSchedule[period] + .sort() + .map(x => Dex.formats.get(x).name.replace(`[Gen ${Dex.gen}]`, '')) + .join(', '); + buf += ``; + buf += ``; + } + buf += `
Season #Formats
${match ? `${period}` : period}${match ? `${formatString}` : formatString}
`; + return buf; + }, + seasonladder(query, user) { + const format = toID(query.shift()); + const season = toID(query.shift()) || `${data.current.season}`; + if (!data.badgeholders[season]) { + return this.errorReply(`Season ${season} not found.`); + } + this.title = `[Seasons]`; + let buf = '
'; + if (!Object.keys(data.badgeholders[season]).includes(format)) { + // fall back to the master list so that people can still access this easily from the ladder page of other formats + this.title += ` All`; + buf += `

Season Records

`; + const seasonsDesc = Utils.sortBy( + Object.keys(data.badgeholders), + s => s.split('-').map(x => -Number(x)) + ); + for (const s of seasonsDesc) { + buf += `

Season ${s}


`; + for (const f in data.badgeholders[season]) { + buf += `
${Dex.formats.get(f).name}`; + } + buf += `
`; + } + return buf; + } + this.title += ` ${format} [Season ${season}]`; + const uppercase = (str: string) => str.charAt(0).toUpperCase() + str.slice(1); + let formatName = Dex.formats.get(format).name; + // futureproofing for gen10/etc + const room = Rooms.search(format.split(/\d+/)[1] + ""); + if (room) { + formatName = `${formatName}`; + } + buf += `

Season results for ${formatName} [${season}]

`; + buf += `View past seasons`; + let i = 0; + for (const badgeType in data.badgeholders[season][format]) { + buf += `
`; + let formatType = format.split(/gen\d+/)[1]; + if (!['ou', 'randombattle'].includes(formatType)) formatType = 'rotating'; + buf += `

${uppercase(badgeType)}

`; + for (const userid of data.badgeholders[season][format][badgeType]) { + i++; + buf += ``; + } + buf += `
${i}${userid}
`; + } + return buf; + }, +}; + +export const handlers: Chat.Handlers = { + onBattleStart(user, room) { + if (!room.battle) return; // should never happen, just sating TS + // now first verify they have a badge + const badges = getBadges(user, room.battle.format); + if (!badges.length) return; + const slot = room.battle.playerTable[user.id]?.slot; + if (!slot) return; // not in battle fsr? wack + for (const badge of badges) { + room.add(`|badge|${slot}|${badge.type}|${badge.format}|${BADGE_THRESHOLDS[badge.type]}-${data.current.season}`); + } + + if ( + checkPublicPhase() && !room.battle.forcedSettings.privacy && + badges.filter(x => x.format === room.battle!.format).length && room.battle.rated + ) { + room.battle.forcedSettings.privacy = 'medal'; + room.add( + `|html|
This battle is required to be public due to one or more player having a season medal.
` + + `During the public phase, you can discuss the state of the ladder in a special chatroom.
` + ); + room.setPrivate(false); + } + + room.add( + `|uhtml|medal-msg|
Curious what those medals under the avatar are? PS now has Ladder Seasons!` + + ` For more information, check out the thread on Smogon.
` + ); + room.update(); + }, +}; diff --git a/server/chat-plugins/teams.ts b/server/chat-plugins/teams.ts index c2715c0f2ac8..cd60f605c0f1 100644 --- a/server/chat-plugins/teams.ts +++ b/server/chat-plugins/teams.ts @@ -281,7 +281,11 @@ export const TeamsHandler = new class { buf += `Uploaded on: ${Chat.toTimestamp(teamData.date, {human: true})}
`; buf += `Format: ${Dex.formats.get(teamData.format).name}
`; buf += `Views: ${teamData.views === -1 ? 0 : teamData.views}`; - const team = Teams.unpack(teamData.team)!; + const team = Teams.import(teamData.team); + if (!team) { + Monitor.crashlog(new Error(`Malformed team drawn from database`), 'A teams chat page', teamData); + throw new Chat.ErrorMessage("Oops! Something went wrong. Try again later."); + } let link = `view-team-${teamData.teamid}`; if (teamData.private) { link += `-${teamData.private}`; @@ -293,7 +297,7 @@ export const TeamsHandler = new class { if (user && (teamData.ownerid === user.id || user.can('rangeban'))) { buf += `
`; - buf += `
Manage`; + buf += `
Manage (edit/delete/etc)`; buf += `
`; @@ -306,7 +310,11 @@ export const TeamsHandler = new class { renderTeam(teamData: StoredTeam, user?: User) { let buf = this.preview(teamData, user, true); buf += `
`; - const team = Teams.unpack(teamData.team)!; + const team = Teams.unpack(teamData.team); + if (!team) { + Monitor.crashlog(new Error("Invalid team retrieved from database"), "A teams database request", teamData); + throw new Chat.ErrorMessage("An error occurred with retrieving the team. Please try again later."); + } buf += team.map(set => { let teamBuf = Teams.exportSet(set).replace(/\n/g, '
'); if (set.name && set.name !== set.species) { @@ -315,7 +323,8 @@ export const TeamsHandler = new class { teamBuf = teamBuf.replace(set.species, `
${set.species}`); } if (set.item) { - teamBuf = teamBuf.replace(set.item, `${set.item} `); + const tester = new RegExp(`${Utils.escapeRegex(set.item)}\\b`); + teamBuf = teamBuf.replace(tester, `${set.item} `); } return teamBuf; }).join('
'); @@ -323,6 +332,8 @@ export const TeamsHandler = new class { } validateAccess(conn: Connection, popup = false) { const user = conn.user; + // if there's no user, they've disconnected, so it's safe to just interrupt here + if (!user) throw new Chat.Interruption(); const err = (message: string): never => { if (popup) { conn.popup(message); diff --git a/server/chat-plugins/thing-of-the-day.ts b/server/chat-plugins/thing-of-the-day.ts index bc49eccfb96d..c2d4f744f77f 100644 --- a/server/chat-plugins/thing-of-the-day.ts +++ b/server/chat-plugins/thing-of-the-day.ts @@ -907,7 +907,7 @@ const otdHelp = [ `- /-otd delay - Turns off the automatic 20 minute timer for Thing of the Day voting rounds. Requires: % @ # &`, `- /-otd set property: value[, property: value] - Set the winner, quote, song, link or image for the current Thing of the Day. Requires: % @ # &`, `- /-otd winners - Displays a list of previous things of the day.`, - `- /-otd toggleupdate [on|off] - Changes the Thing of the Day to display on nomination ([on] to update, [off] to turn off updates). Requires: % @ # &`, + `- /-otd toggleupdate [on|off] - Changes the Thing of the Day to display on nomination ([on] to update, [off] to turn off updates). Requires: # &`, ]; for (const otd in otdData) { diff --git a/server/chat-plugins/trivia/trivia.ts b/server/chat-plugins/trivia/trivia.ts index 08feae6fcc4a..cd6d2939bc66 100644 --- a/server/chat-plugins/trivia/trivia.ts +++ b/server/chat-plugins/trivia/trivia.ts @@ -364,7 +364,7 @@ class TriviaPlayer extends Rooms.RoomGamePlayer { } export class Trivia extends Rooms.RoomGame { - gameid: ID; + override readonly gameid = 'trivia' as ID; kickedUsers: Set; canLateJoin: boolean; game: TriviaGame; @@ -383,7 +383,6 @@ export class Trivia extends Rooms.RoomGame { isRandomMode = false, isSubGame = false, isRandomCategory = false, ) { super(room, isSubGame); - this.gameid = 'trivia' as ID; this.title = 'Trivia'; this.allowRenames = true; this.playerCap = Number.MAX_SAFE_INTEGER; @@ -578,14 +577,14 @@ export class Trivia extends Rooms.RoomGame { this.kickedUsers.add(id); } - super.removePlayer(user); + this.removePlayer(this.playerTable[user.id]); } leave(user: User) { if (!this.playerTable[user.id]) { throw new Chat.ErrorMessage(this.room.tr`You are not a player in the current game.`); } - super.removePlayer(user); + this.removePlayer(this.playerTable[user.id]); } /** @@ -1200,6 +1199,7 @@ export class TriumvirateModeTrivia extends Trivia { * which is a game of First mode trivia that ends after a specified interval. */ export class Mastermind extends Rooms.SimpleRoomGame { + override readonly gameid = 'mastermind' as ID; /** userid:score Map */ leaderboard: Map; phase: string; @@ -1210,7 +1210,6 @@ export class Mastermind extends Rooms.SimpleRoomGame { super(room); this.leaderboard = new Map(); - this.gameid = 'mastermind' as ID; this.title = 'Mastermind'; this.allowRenames = true; this.playerCap = Number.MAX_SAFE_INTEGER; @@ -1388,7 +1387,7 @@ export class Mastermind extends Rooms.SimpleRoomGame { if (lbEntry) { this.leaderboard.set(user.id, {...lbEntry, hasLeft: true}); } - super.removePlayer(user); + this.removePlayer(this.playerTable[user.id]); } kick(toKick: User, kicker: User) { @@ -1412,7 +1411,7 @@ export class Mastermind extends Rooms.SimpleRoomGame { } } - super.removePlayer(toKick); + this.removePlayer(this.playerTable[toKick.id]); } } @@ -1842,8 +1841,10 @@ const triviaCommands: Chat.ChatCommands = { if (toID(target) === 'all') { if (isAccepting) await database.addQuestions(submissions); await database.clearSubmissions(); - this.modlog(`TRIVIAQUESTION`, null, `${(isAccepting ? "added" : "removed")} all questions from the submission database.`); - return this.privateModAction(`${user.name} ${(isAccepting ? " added " : " removed ")} all questions from the submission database.`); + const questionText = submissions.map(q => `"${q.question}"`).join(', '); + const message = `${(isAccepting ? "added" : "removed")} all questions (${questionText}) from the submission database.`; + this.modlog(`TRIVIAQUESTION`, null, message); + return this.privateModAction(`${user.name} ${message}`); } if (/\d+(?:-\d+)?(?:, ?\d+(?:-\d+)?)*$/.test(target)) { @@ -1893,8 +1894,10 @@ const triviaCommands: Chat.ChatCommands = { await database.deleteSubmissions(questions); } - this.modlog('TRIVIAQUESTION', null, `${(isAccepting ? "added " : "removed ")}submission number${(indicesLen > 1 ? "s " : " ")}${target}`); - return this.privateModAction(`${user.name} ${(isAccepting ? "added " : "removed ")}submission number${(indicesLen > 1 ? "s " : " ")}${target} from the submission database.`); + const questionText = questions.map(q => `"${q}"`).join(', '); + const message = `${(isAccepting ? "added " : "removed ")}submission number${(indicesLen > 1 ? "s " : " ")}${target} (${questionText})`; + this.modlog('TRIVIAQUESTION', null, message); + return this.privateModAction(`${user.name} ${message} from the submission database.`); } this.errorReply(this.tr`'${target}' is an invalid argument. View /trivia help questions for more information.`); @@ -2145,12 +2148,20 @@ const triviaCommands: Chat.ChatCommands = { cssearch: 'search', casesensitivesearch: 'search', + doublespacesearch: 'search', async search(target, room, user, connection, cmd) { room = this.requireRoom('questionworkshop' as RoomID); this.checkCan('show', null, room); - if (!target.includes(',')) return this.errorReply(this.tr`No valid search arguments entered.`); - let [type, ...query] = target.split(','); + let type, query; + if (cmd === 'doublespacesearch') { + query = [' ']; + type = target; + } else { + [type, ...query] = target.split(','); + if (!target.includes(',')) return this.errorReply(this.tr`No valid search arguments entered.`); + } + type = toID(type); let options; @@ -2164,7 +2175,8 @@ const triviaCommands: Chat.ChatCommands = { ); } - const queryString = query.join(',').trim(); + let queryString = query.join(','); + if (cmd !== 'doublespacesearch') queryString = queryString.trim(); if (!queryString) return this.errorReply(this.tr`No valid search query was entered.`); const results = await database.searchQuestions(queryString, options); @@ -2182,6 +2194,7 @@ const triviaCommands: Chat.ChatCommands = { searchhelp: [ `/trivia search [type], [query] - Searches for questions based on their type and their query. This command is case-insensitive. Valid types: submissions, subs, questions, qs. Requires: + % @ * &`, `/trivia casesensitivesearch [type], [query] - Like /trivia search, but is case sensitive (capital letters matter). Requires: + % @ * &`, + `/trivia doublespacesearch [type] — Searches for questions with back-to-back space characters. Requires: + % @ * &`, ], async moveusedevent(target, room, user) { @@ -2698,5 +2711,5 @@ export const commands: Chat.ChatCommands = { }; process.nextTick(() => { - Chat.multiLinePattern.register('/trivia add ', '/trivia submit '); + Chat.multiLinePattern.register('/trivia add ', '/trivia submit ', '/trivia move '); }); diff --git a/server/chat-plugins/uno.ts b/server/chat-plugins/uno.ts index 23107d720bfb..ada543293a42 100644 --- a/server/chat-plugins/uno.ts +++ b/server/chat-plugins/uno.ts @@ -16,7 +16,7 @@ interface Card { name: string; } -const maxTime = 60; // seconds +const MAX_TIME = 60; // seconds const rgbGradients: {[k in Color]: string} = { Green: "rgba(0, 122, 0, 1), rgba(0, 185, 0, 0.9)", @@ -80,58 +80,38 @@ function createDeck() { } export class UNO extends Rooms.RoomGame { - playerCap: number; - allowRenames: boolean; - maxTime: number; - timer: NodeJS.Timer | null; - autostartTimer: NodeJS.Timer | null; - state: string; - currentPlayerid: ID; - deck: Card[]; - discards: Card[]; - topCard: Card | null; - awaitUno: string | null; - unoId: ID | null; - direction: number; + override readonly gameid = 'uno' as ID; + override title = 'UNO'; + override readonly allowRenames = true; + override timer: NodeJS.Timer | null = null; + maxTime = MAX_TIME; + autostartTimer: NodeJS.Timer | null = null; + state: 'signups' | 'color' | 'play' | 'uno' = 'signups'; + currentPlayer: UNOPlayer | null = null; + deck: Card[] = Utils.shuffle(createDeck()); + discards: Card[] = []; + topCard: Card | null = null; + awaitUnoPlayer: UNOPlayer | null = null; + unoId: ID | null = null; + direction: 1 | -1 = 1; suppressMessages: boolean; - spectators: {[k: string]: number}; - isPlusFour: boolean; + spectators: {[k: string]: number} = Object.create(null); + isPlusFour = false; gameNumber: number; constructor(room: Room, cap: number, suppressMessages: boolean) { super(room); this.gameNumber = room.nextGameNumber(); - this.playerCap = cap; - this.allowRenames = true; - this.maxTime = maxTime; - this.timer = null; - this.autostartTimer = null; - - this.gameid = 'uno' as ID; - this.title = 'UNO'; - - this.state = 'signups'; - this.currentPlayerid = ''; - this.deck = Utils.shuffle(createDeck()); - this.discards = []; - this.topCard = null; - this.awaitUno = null; - this.unoId = null; - this.isPlusFour = false; - - this.direction = 1; - this.suppressMessages = suppressMessages || false; - this.spectators = Object.create(null); this.sendToRoom(`|uhtml|uno-${this.gameNumber}|

A new game of UNO is starting!

${this.suppressMessages ? `

Game messages won't show up unless you're playing or watching.

` : ''}
`, true); } - onUpdateConnection() {} + override onUpdateConnection() {} - onConnect(user: User, connection: Connection) { + override onConnect(user: User, connection: Connection) { if (this.state === 'signups') { connection.sendTo( this.room, @@ -168,8 +148,8 @@ export class UNO extends Rooms.RoomGame { this.onNextPlayer(); // determines the first player // give cards to the players - for (const i in this.playerTable) { - this.playerTable[i].hand.push(...this.drawCard(7)); + for (const player of this.players) { + player.hand.push(...this.drawCard(7)); } // top card of the deck. @@ -184,7 +164,7 @@ export class UNO extends Rooms.RoomGame { this.nextTurn(true); } - joinGame(user: User) { + override joinGame(user: User) { if (user.id in this.playerTable) { throw new Chat.ErrorMessage("You have already joined the game of UNO."); } @@ -195,9 +175,10 @@ export class UNO extends Rooms.RoomGame { return false; } - leaveGame(user: User) { + override leaveGame(user: User) { if (!(user.id in this.playerTable)) return false; - if ((this.state === 'signups' && this.removePlayer(user)) || this.eliminate(user.id)) { + const player = this.playerTable[user.id]; + if ((this.state === 'signups' && this.removePlayer(player)) || this.eliminate(user.id)) { this.sendToRoom(`${user.name} has left the game of UNO.`); return true; } @@ -211,38 +192,31 @@ export class UNO extends Rooms.RoomGame { return new UNOPlayer(user, this); } - onRename(user: User, oldUserid: ID, isJoining: boolean, isForceRenamed: boolean) { + override onRename(user: User, oldUserid: ID, isJoining: boolean, isForceRenamed: boolean) { if (!(oldUserid in this.playerTable) || user.id === oldUserid) return false; if (!user.named && !isForceRenamed) { user.games.delete(this.roomid); user.updateSearch(); return; // dont set users to their guest accounts. } - this.playerTable[user.id] = this.playerTable[oldUserid]; - // only run if it's a rename that involves a change of userid - if (user.id !== oldUserid) delete this.playerTable[oldUserid]; - - // update the user's name information - this.playerTable[user.id].name = user.name; - this.playerTable[user.id].id = user.id; - if (this.awaitUno && this.awaitUno === oldUserid) this.awaitUno = user.id; - - if (this.currentPlayerid === oldUserid) this.currentPlayerid = user.id; + this.renamePlayer(user, oldUserid); } - eliminate(userid: ID) { - if (!(userid in this.playerTable)) return false; + eliminate(userid: ID | undefined) { + if (!userid) return null; + const player = this.playerTable[userid]; + if (!player) return false; - const name = this.playerTable[userid].name; + const name = player.name; if (this.playerCount === 2) { - this.removePlayer(this.playerTable[userid]); - this.onWin(this.playerTable[Object.keys(this.playerTable)[0]]); + this.removePlayer(player); + this.onWin(this.players[0]); return name; } // handle current player... - const removingCurrentPlayer = userid === this.currentPlayerid; + const removingCurrentPlayer = player === this.currentPlayer; if (removingCurrentPlayer) { if (this.state === 'color') { if (!this.topCard) { @@ -254,18 +228,18 @@ export class UNO extends Rooms.RoomGame { } } - if (this.awaitUno === userid) this.awaitUno = null; + if (this.awaitUnoPlayer === player) this.awaitUnoPlayer = null; if (!this.topCard) { throw new Chat.ErrorMessage(`Unable to disqualify ${name}.`); } // put that player's cards into the discard pile to prevent cards from being permanently lost - this.discards.push(...this.playerTable[userid].hand); + this.discards.push(...player.hand); if (removingCurrentPlayer) { this.onNextPlayer(); } - this.removePlayer(this.playerTable[userid]); + this.removePlayer(player); if (removingCurrentPlayer) { this.nextTurn(true); } @@ -277,8 +251,8 @@ export class UNO extends Rooms.RoomGame { this.room.add(msg).update(); } else { // send to the players first - for (const i in this.playerTable) { - this.playerTable[i].sendRoom(msg); + for (const player of this.players) { + player.sendRoom(msg); } // send to spectators @@ -291,15 +265,16 @@ export class UNO extends Rooms.RoomGame { } getPlayers(showCards?: boolean): string { - let playerList = Object.keys(this.playerTable); + let playerList = this.players; + if (this.direction === -1) playerList = [...playerList].reverse(); + if (!showCards) { - return playerList.sort().map(id => Utils.escapeHTML(this.playerTable[id].name)).join(', '); + return playerList.map(p => Utils.escapeHTML(p.name)).join(', '); } - if (this.direction === -1) playerList = playerList.reverse(); let buf = `
    `; - for (const playerid of playerList) { - buf += ``; - buf += `${Utils.escapeHTML(this.playerTable[playerid].name)} (${this.playerTable[playerid].hand.length})`; + for (const player of playerList) { + buf += ``; + buf += `${Utils.escapeHTML(player.name)} (${player.hand.length})`; buf += ``; } buf += `
`; @@ -308,7 +283,7 @@ export class UNO extends Rooms.RoomGame { onAwaitUno() { return new Promise(resolve => { - if (!this.awaitUno) return resolve(); + if (!this.awaitUnoPlayer) return resolve(); this.state = "uno"; // the throttle for sending messages is at 600ms for non-authed users, @@ -326,7 +301,7 @@ export class UNO extends Rooms.RoomGame { if (!starting) this.onNextPlayer(); if (this.timer) clearTimeout(this.timer); - const player = this.playerTable[this.currentPlayerid]; + const player = this.currentPlayer!; this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${player.name}'s turn.`); this.state = 'play'; @@ -335,34 +310,28 @@ export class UNO extends Rooms.RoomGame { this.timer = setTimeout(() => { this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${player.name} has been automatically disqualified.`); - this.eliminate(this.currentPlayerid); + this.eliminate(player.id); }, this.maxTime * 1000); }); } onNextPlayer() { - // if none is set - if (!this.currentPlayerid) { - const userList = Object.keys(this.playerTable); - this.currentPlayerid = userList[Math.floor(this.playerCount * Math.random())] as ID; - } - - this.currentPlayerid = this.getNextPlayer(); + this.currentPlayer = this.getNextPlayer(); } getNextPlayer() { - const userList = Object.keys(this.playerTable); + // if none is set + this.currentPlayer ||= this.players[Math.floor(this.playerCount * Math.random())]; - let player: ID = userList[(userList.indexOf(this.currentPlayerid) + this.direction)] as ID; + let player = this.players[this.players.indexOf(this.currentPlayer) + this.direction]; + // wraparound + player ||= (this.direction === 1 ? this.players[0] : this.players[this.playerCount - 1]); - if (!player) { - player = toID(this.direction === 1 ? userList[0] : userList[this.playerCount - 1]); - } return player; } onDraw(player: UNOPlayer) { - if (this.currentPlayerid !== player.id || this.state !== 'play') return false; + if (this.currentPlayer !== player || this.state !== 'play') return false; if (player.cardLock) return true; this.onCheckUno(); @@ -375,7 +344,7 @@ export class UNO extends Rooms.RoomGame { } onPlay(player: UNOPlayer, cardName: string) { - if (this.currentPlayerid !== player.id || this.state !== 'play') return false; + if (this.currentPlayer !== player || this.state !== 'play') return false; const card = player.hasCard(cardName); if (!card) return "You do not have that card."; @@ -408,7 +377,7 @@ export class UNO extends Rooms.RoomGame { // update the unoId here, so when the display is sent to the player when the play is made if (player.hand.length === 1) { - this.awaitUno = player.id; + this.awaitUnoPlayer = player; this.unoId = Math.floor(Math.random() * 100).toString() as ID; } @@ -439,32 +408,32 @@ export class UNO extends Rooms.RoomGame { break; case 'Skip': this.onNextPlayer(); - this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.playerTable[this.currentPlayerid].name}'s turn has been skipped.`); + this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.currentPlayer!.name}'s turn has been skipped.`); break; case '+2': this.onNextPlayer(); - this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.playerTable[this.currentPlayerid].name} has been forced to draw 2 cards.`); - this.onDrawCard(this.playerTable[this.currentPlayerid], 2); + this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.currentPlayer!.name} has been forced to draw 2 cards.`); + this.onDrawCard(this.currentPlayer!, 2); break; case '+4': - this.playerTable[this.currentPlayerid].sendRoom(colorDisplay); + this.currentPlayer!.sendRoom(colorDisplay); this.state = 'color'; // apply to the next in line, since the current player still has to choose the color const next = this.getNextPlayer(); - this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.playerTable[next].name} has been forced to draw 4 cards.`); - this.onDrawCard(this.playerTable[next], 4); + this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${next.name} has been forced to draw 4 cards.`); + this.onDrawCard(next, 4); this.isPlusFour = true; this.timer = setTimeout(() => { - this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.playerTable[this.currentPlayerid].name} has been automatically disqualified.`); - this.eliminate(this.currentPlayerid); + this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.currentPlayer!.name} has been automatically disqualified.`); + this.eliminate(this.currentPlayer!.id); }, this.maxTime * 1000); break; case 'Wild': - this.playerTable[this.currentPlayerid].sendRoom(colorDisplay); + this.currentPlayer!.sendRoom(colorDisplay); this.state = 'color'; this.timer = setTimeout(() => { - this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.playerTable[this.currentPlayerid].name} has been automatically disqualified.`); - this.eliminate(this.currentPlayerid); + this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.currentPlayer!.name} has been automatically disqualified.`); + this.eliminate(this.currentPlayer!.id); }, this.maxTime * 1000); break; } @@ -474,7 +443,7 @@ export class UNO extends Rooms.RoomGame { onSelectColor(player: UNOPlayer, color: Color) { if ( !['Red', 'Blue', 'Green', 'Yellow'].includes(color) || - player.id !== this.currentPlayerid || + player !== this.currentPlayer || this.state !== 'color' ) { return false; @@ -531,28 +500,27 @@ export class UNO extends Rooms.RoomGame { onUno(player: UNOPlayer, unoId: ID) { // uno id makes spamming /uno uno impossible - if (this.unoId !== unoId || player.id !== this.awaitUno) return false; + if (this.unoId !== unoId || player !== this.awaitUnoPlayer) return false; this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|**UNO!** ${player.name} is down to their last card!`); - this.awaitUno = null; + this.awaitUnoPlayer = null; this.unoId = null; } onCheckUno() { - if (this.awaitUno) { - // if the previous player hasn't hit UNO before the next player plays something, they are forced to draw 2 cards; - if (this.awaitUno !== this.currentPlayerid) { - this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.playerTable[this.awaitUno].name} forgot to say UNO! and is forced to draw 2 cards.`); - this.onDrawCard(this.playerTable[this.awaitUno], 2); - } - this.awaitUno = null; - this.unoId = null; + if (!this.awaitUnoPlayer) return; + // if the previous player hasn't hit UNO before the next player plays something, they are forced to draw 2 cards; + if (this.awaitUnoPlayer !== this.currentPlayer) { + this.sendToRoom(`|c:|${Math.floor(Date.now() / 1000)}|&|${this.awaitUnoPlayer.name} forgot to say UNO! and is forced to draw 2 cards.`); + this.onDrawCard(this.awaitUnoPlayer, 2); } + this.awaitUnoPlayer = null; + this.unoId = null; } onSendHand(user: User) { - if (!(user.id in this.playerTable) || this.state === 'signups') return false; + if (this.state === 'signups') return false; - this.playerTable[user.id].sendDisplay(); + this.playerTable[user.id]?.sendDisplay(); } onWin(player: UNOPlayer) { @@ -563,15 +531,13 @@ export class UNO extends Rooms.RoomGame { this.destroy(); } - destroy() { + override destroy() { if (this.timer) clearTimeout(this.timer); if (this.autostartTimer) clearTimeout(this.autostartTimer); this.sendToRoom(`|uhtmlchange|uno-${this.gameNumber}|
The game of UNO has ended.
`, true); - // deallocate games for each player. - for (const i in this.playerTable) { - this.playerTable[i].destroy(); - } + this.setEnded(); + for (const player of this.players) player.destroy(); this.room.game = null; } } @@ -631,9 +597,9 @@ class UNOPlayer extends Rooms.RoomGamePlayer { // clear previous display and show new display this.sendRoom("|uhtmlchange|uno-hand|"); this.sendRoom( - `|uhtml|uno-hand|
${this.game.currentPlayerid === this.id ? `` : ""}` + + `|uhtml|uno-hand|
${hand}
${top}
${this.game.currentPlayer === this ? `` : ""}` + `
${hand}
${top}
${players}
` + - `${this.game.currentPlayerid === this.id ? `
${draw}${pass}
${uno}
` : ""}
` + `${this.game.currentPlayer === this ? `
${draw}${pass}
${uno}
` : ""}
` ); } } @@ -743,7 +709,7 @@ export const commands: Chat.ChatCommands = { game.maxTime = amount; if (game.timer) clearTimeout(game.timer); game.timer = setTimeout(() => { - game.eliminate(game.currentPlayerid); + game.eliminate(game.currentPlayer?.id); }, amount * 1000); this.addModAction(`${user.name} has set the UNO automatic disqualification timer to ${amount} seconds.`); this.modlog('UNO TIMER', null, `${amount} seconds`); @@ -823,9 +789,9 @@ export const commands: Chat.ChatCommands = { pass(target, room, user) { const game = this.requireGame(UNO); if (!game) throw new Chat.ErrorMessage("There is no UNO game going on in this room right now."); - if (game.currentPlayerid !== user.id) throw new Chat.ErrorMessage("It is currently not your turn."); const player: UNOPlayer | undefined = game.playerTable[user.id]; if (!player) throw new Chat.ErrorMessage(`You are not in the game of UNO.`); + if (game.currentPlayer !== player) throw new Chat.ErrorMessage("It is currently not your turn."); if (!player.cardLock) throw new Chat.ErrorMessage("You cannot pass until you draw a card."); if (game.state === 'color') throw new Chat.ErrorMessage("You cannot pass until you choose a color."); diff --git a/server/chat-plugins/wifi.tsx b/server/chat-plugins/wifi.tsx index 682a57d1b888..cba8b948c9e4 100644 --- a/server/chat-plugins/wifi.tsx +++ b/server/chat-plugins/wifi.tsx @@ -11,7 +11,7 @@ Punishments.addRoomPunishmentType({ desc: 'banned from giveaways', }); -const BAN_DURATION = 7 * 24 * 60 * 60 * 1000; +const DAY = 24 * 60 * 60 * 1000; const RECENT_THRESHOLD = 30 * 24 * 60 * 60 * 1000; const DATA_FILE = 'config/chat-plugins/wifi.json'; @@ -96,7 +96,9 @@ const gameidToGame: {[k: string]: Game} = { sv: 'SV', }; -class Giveaway extends Rooms.SimpleRoomGame { +abstract class Giveaway extends Rooms.SimpleRoomGame { + override readonly gameid = 'giveaway' as ID; + abstract type: string; gaNumber: number; host: User; giver: User; @@ -231,11 +233,11 @@ class Giveaway extends Rooms.SimpleRoomGame { return Punishments.hasRoomPunishType(room, toID(user), 'GIVEAWAYBAN'); } - static ban(room: Room, user: User, reason: string) { + static ban(room: Room, user: User, reason: string, duration: number) { Punishments.roomPunish(room, user, { type: 'GIVEAWAYBAN', id: toID(user), - expireTime: Date.now() + BAN_DURATION, + expireTime: Date.now() + duration, reason, }); } @@ -346,7 +348,7 @@ class Giveaway extends Rooms.SimpleRoomGame {

Note: You must have a Switch, Pokémon {gameName[this.game]}, {} - and Nintendo Switch Online to receive the prize. {} + and NSO to receive the prize. {} Do not join if you are currently unable to trade. Do not enter if you have already won this exact Pokémon, {} unless it is explicitly allowed.

@@ -716,6 +718,7 @@ export class LotteryGiveaway extends Giveaway {

{Chat.count(this.joined.size, 'users')} joined the giveaway.
Our lucky winner{Chat.plural(this.winners)}: {winnerNames}!
Congratulations!

)); + this.room.sendMods(`|c|&|Participants: ${[...this.joined.values()].join(', ')}`); for (const winner of this.winners) { winner.sendTo( this.room, @@ -733,6 +736,7 @@ export class LotteryGiveaway extends Giveaway { } export class GTS extends Rooms.SimpleRoomGame { + override readonly gameid = 'gts' as ID; gtsNumber: number; room: Room; giver: User; @@ -916,6 +920,12 @@ export const handlers: Chat.Handlers = { saveData(); } }, + onPunishUser(type, user, room) { + const game = room?.getGame(LotteryGiveaway) || room?.getGame(QuestionGiveaway); + if (game) { + game.kickUser(user); + } + }, }; export const commands: Chat.ChatCommands = { @@ -1075,7 +1085,9 @@ export const commands: Chat.ChatCommands = { giveaway.removeUser(user); } }, - ban(target, room, user) { + monthban: 'ban', + permaban: 'ban', + ban(target, room, user, connection, cmd) { if (!target) return false; room = this.requireRoom('wifi' as RoomID); this.checkCan('warn', null, room); @@ -1088,11 +1100,16 @@ export const commands: Chat.ChatCommands = { return this.errorReply(`User '${targetUser.name}' is already giveawaybanned.`); } - Giveaway.ban(room, targetUser, reason); + const duration = cmd === 'monthban' ? 30 * DAY : cmd === 'permaban' ? 3650 * DAY : 7 * DAY; + Giveaway.ban(room, targetUser, reason, duration); + (room.getGame(LotteryGiveaway) || room.getGame(QuestionGiveaway))?.kickUser(targetUser); - this.modlog('GIVEAWAYBAN', targetUser, reason); + + const action = cmd === 'monthban' ? 'MONTHGIVEAWAYBAN' : cmd === 'permaban' ? 'PERMAGIVEAWAYBAN' : 'GIVEAWAYBAN'; + this.modlog(action, targetUser, reason); const reasonMessage = reason ? ` (${reason})` : ``; - this.privateModAction(`${targetUser.name} was banned from entering giveaways by ${user.name}.${reasonMessage}`); + const durationMsg = cmd === 'monthban' ? ' for a month' : cmd === 'permaban' ? ' permanently' : ''; + this.privateModAction(`${targetUser.name} was banned from entering giveaways${durationMsg} by ${user.name}.${reasonMessage}`); }, unban(target, room, user) { if (!target) return false; diff --git a/server/chat-plugins/youtube.ts b/server/chat-plugins/youtube.ts index 74206c65be68..78cf21258ede 100644 --- a/server/chat-plugins/youtube.ts +++ b/server/chat-plugins/youtube.ts @@ -308,30 +308,47 @@ export class YoutubeInterface { return this.interval; } async createGroupWatch(url: string, baseRoom: Room, title: string) { - const id = this.getId(url); - const videoInfo = await this.getVideoData(id); - if (!videoInfo) throw new Chat.ErrorMessage(`Video not found.`); + const videoInfo = await this.getGroupwatchData(url); const num = baseRoom.nextGameNumber(); baseRoom.saveSettings(); - const gameRoom = Rooms.createGameRoom(`video-watch-${num}` as RoomID, Utils.html`[Group Watch] ${title}`, { - isPrivate: 'hidden', - }); - const game = new GroupWatch(gameRoom, url, videoInfo); - gameRoom.game = game; - gameRoom.setParent(baseRoom); - return gameRoom; + return new GroupWatch(baseRoom, num, url, title, videoInfo); + } + async getGroupwatchData(url: string) { + if (!Chat.isLink(url)) { + throw new Chat.ErrorMessage("Invalid URL: " + url); + } + const urlData = new URL(url); + const host = urlData.hostname; + let videoInfo: GroupwatchData; + if (['youtu.be', 'www.youtube.com'].includes(host)) { + const id = this.getId(url); + const data = await this.getVideoData(id); + if (!data) throw new Chat.ErrorMessage(`Video not found.`); + videoInfo = Object.assign(data, {groupwatchType: 'youtube'}) as GroupwatchData; + } else if (host === 'www.twitch.tv') { + const data = await Twitch.getChannel(urlData.pathname.slice(1)); + if (!data) throw new Chat.ErrorMessage(`Channel not found`); + videoInfo = Object.assign(data, {groupwatchType: 'twitch'}) as GroupwatchData; + } else { + throw new Chat.ErrorMessage(`Invalid URL: must be either a Youtube or Twitch link.`); + } + return videoInfo; } } export const Twitch = new class { linkRegex = /(https?:\/\/)?twitch.tv\/([A-Za-z0-9]+)/i; async getChannel(channel: string): Promise { + if (!Config.twitchKey || typeof Config.twitchKey !== 'object') { + throw new Chat.ErrorMessage(`Twitch is not enabled.`); + } channel = toID(channel); let res; try { - res = await Net(`https://api.twitch.tv/kraken/search/channels`).get({ + res = await Net(`https://api.twitch.tv/helix/search/channels`).get({ headers: { - 'Client-Id': Config.twitchKey, + 'Authorization': `Bearer ${Config.twitchKey.key}`, + 'Client-Id': Config.twitchKey.id, 'Content-Type': 'application/json', 'Accept': "application/vnd.twitchtv.v5+json", }, @@ -363,15 +380,21 @@ export const Twitch = new class { } }; +type GroupwatchData = VideoData & {groupwatchType: 'youtube'} | TwitchChannel & {groupwatchType: 'twitch'}; export class GroupWatch extends Rooms.SimpleRoomGame { + override readonly gameid = 'groupwatch' as ID; url: string; - info: VideoData; + info: GroupwatchData; started: number | null = null; - constructor(room: Room, url: string, videoInfo: VideoData) { + id: string; + static groupwatches = new Map(); + constructor(room: Room, num: number, url: string, title: string, videoInfo: GroupwatchData) { super(room); + this.title = title; + this.id = `${room.roomid}-${num}`; + GroupWatch.groupwatches.set(this.id, this); this.url = url; this.info = videoInfo; - this.controls(`

Waiting to start the video...

`); } onJoin(user: User) { const hints = this.hints(); @@ -381,131 +404,87 @@ export class GroupWatch extends Rooms.SimpleRoomGame { } start() { if (this.started) throw new Chat.ErrorMessage(`We've already started.`); - this.controls(this.getStatsDisplay()); - this.field(this.getVideoDisplay()); this.started = Date.now(); - this.add(`|html|

Group Watch!

`); + this.update(); } hints() { + const title = this.info.groupwatchType === 'youtube' ? this.info.title : this.info.display_name; const hints = [ `To watch, all you need to do is click play on the video once staff have started it!`, - `We are currently watching: ${this.info.title}`, + `We are currently watching: ${title}`, ]; - if (this.started) { + if (this.started && this.info.groupwatchType === 'youtube') { const diff = Date.now() - this.started; - hints.push(`Video is currently at ${Chat.toDurationString(diff)} (${diff / 1000} seconds)`); + hints.push(`Video is currently at ${Chat.toDurationString(diff)} (${Math.floor(diff / 1000)} seconds)`); } return hints; } getStatsDisplay() { + if (this.info.groupwatchType === 'twitch') { + let buf = `

`; + buf += `Watching ${this.info.display_name}
`; + buf += `${Chat.count(Object.keys(this.room.users).length, 'users')} watching
`; + buf += `Playing: ${this.info.game}`; + return buf; + } let controlsHTML = `

${this.info.title}

`; controlsHTML += `
Channel: `; controlsHTML += `${this.info.channelTitle}
`; controlsHTML += `Likes: ${this.info.likes} | Dislikes: ${this.info.dislikes}
`; - controlsHTML += `Uploaded: ${Chat.toTimestamp(new Date(this.info.date))}
`; + controlsHTML += `Uploaded:
`; controlsHTML += `
Description${this.info.description.replace(/\n/ig, '
')}
`; controlsHTML += `
`; return controlsHTML; } getVideoDisplay() { + if (this.info.groupwatchType === 'twitch') { + let buf = `

`; + buf += ``; + return buf; + } let buf = `

`; buf += `

${this.info.title}
`; const id = YouTube.getId(this.url); const url = `https://youtube.com/watch?v=${id}`; - buf += ``; + let addendum = ''; + if (this.started) { + const diff = Date.now() - this.started; + addendum = `&start=${Math.floor(diff / 1000)}`; + } + buf += ``; buf += `
`.repeat(4); buf += `

`; return buf; } - controls(html: string) { - this.add(`|controlshtml|
${html}
`); - } - field(html: string) { - this.add(`|fieldhtml|${html}`); - } - add(buf: string) { - this.room.add(buf).update(); - } - destroy() { - this.controls(`The group watch has ended.`); - let endBuf = `
`; - endBuf += this.getStatsDisplay(); - endBuf += `
Thanks for watching!
`; - this.field(endBuf); - this.room = null!; - } -} - -export class TwitchStream extends Rooms.SimpleRoomGame { - started = false; - data: TwitchChannel; - constructor(room: Room, data: TwitchChannel) { - super(room); - this.data = data; - } - static async createStreamWatch(room: Room, channel: string) { - if ([...Rooms.rooms.values()].some( - r => r.roomid.startsWith(`twitch-`) && r.parent?.roomid === room?.roomid - )) { - throw new Chat.ErrorMessage(`Twitch watch already in progress for this room.`); - } - const data = await Twitch.getChannel(channel); - if (!data) throw new Chat.ErrorMessage(`Channel not found`); - const watchRoom = Rooms.createGameRoom( - `twitch-stream-watch-${room.nextGameNumber()}` as RoomID, - Utils.html`[Twitch Watch] ${data.display_name}`, - {isPrivate: 'hidden'} + display() { + return ( + Utils.html`
${this.room.title} Groupwatch - ${this.title}

` + + `

${this.started ? this.getVideoDisplay() : ""}


` + + `

${this.started ? this.getStatsDisplay() : "Waiting to start the video..."}

` + + `

${this.hints().join('
')}

` ); - room.saveSettings(); - watchRoom.setParent(room); - const stream = new TwitchStream(watchRoom, data); - watchRoom.game = stream; - return watchRoom; - } - field(buf: string) { - this.add(`|fieldhtml|${buf}`); - } - controls(buf: string) { - this.add(`|controlshtml|${buf}`); - } - add(data: string) { - return this.room.add(data).update(); - } - onJoin(user: User) { - if (!user.named) return; - this.controls(this.getControlsDisplay()); - } - onLeave(user: User) { - if (!user.named) return; - this.controls(this.getControlsDisplay()); } - start() { - if (this.started) { - throw new Chat.ErrorMessage(`Stream already started`); + update() { + for (const user of Object.values(this.room.users)) { + for (const conn of user.connections) { + if (conn.openPages?.has(`groupwatch-${this.id}`)) { + void Chat.parse(`/j view-groupwatch-${this.id}`, this.room, user, conn); + } + } } - this.controls(this.getControlsDisplay()); - this.field(this.getStreamDisplay()); - this.add(`|html|

The stream watch has started!

`); - this.started = true; } - end() { - this.field(''); - this.controls(`

Stream watch ended

`); - this.room.parent?.add(`|uhtmlchange|ts-${this.room.roomid}|`); - this.add(`|expire|Stream ended`); - this.room.destroy(); - } - getControlsDisplay() { - let buf = `

`; - buf += `Watching ${this.data.display_name}
`; - buf += `${Chat.count(Object.keys(this.room.users).length, 'users')} watching
`; - buf += `Playing: ${this.data.game}`; - return buf; + async changeVideo(url: string) { + const info = await YouTube.getGroupwatchData(url); + if (!info) throw new Chat.ErrorMessage(`Could not retrieve data for URL ${url}`); + this.url = url; + this.started = Date.now(); + this.info = info; + this.update(); } - getStreamDisplay() { - let buf = `

`; - buf += ``; - return buf; + destroy() { + GroupWatch.groupwatches.delete(this.id); + this.room.game = null; + this.room = null!; } } @@ -684,7 +663,25 @@ export const commands: Chat.ChatCommands = { this.modlog(`YOUTUBE DECATEGORIZE`, null, target); this.privateModAction(`${user.name} removed the channel ${channel.name} from the category ${category}.`); }, - async groupwatch(target, room, user) { + }, + youtubehelp: [ + `YouTube commands:`, + `/randchannel [optional category]- View data of a random channel from the YouTube database.` + + ` If a category is given, the random channel will be in the given category.`, + `/youtube addchannel [channel] - Add channel data to the YouTube database. Requires: % @ #`, + `/youtube removechannel [channel]- Delete channel data from the YouTube database. Requires: % @ #`, + `/youtube channel [channel] - View the data of a specified channel. Can be either channel ID or channel name.`, + `/youtube video [video] - View data of a specified video. Can be either channel ID or channel name.`, + `/youtube update [channel], [name] - sets a channel's PS username to [name]. Requires: % @ #`, + `/youtube repeat [time] - Sets an interval for [time] minutes, showing a random channel each time. Requires: # &`, + `/youtube addcategory [name] - Adds the [category] to the channel category list. Requires: @ # &`, + `/youtube removecategory [name] - Removes the [category] from the channel category list. Requires: @ # &`, + `/youtube setcategory [category], [channel name] - Sets the category for [channel] to [category]. Requires: @ # &`, + `/youtube decategorize [channel name] - Removes the category for the [channel], if there is one. Requires: @ # &`, + `/youtube categores - View all channels sorted by category.`, + ], + groupwatch: { + async create(target, room, user) { room = this.requireRoom(); if (!GROUPWATCH_ROOMS.includes(room.roomid)) { return this.errorReply(`This room is not allowed to use the groupwatch function.`); @@ -692,32 +689,37 @@ export const commands: Chat.ChatCommands = { this.checkCan('mute', null, room); const [url, title] = Utils.splitFirst(target, ',').map(p => p.trim()); if (!url || !title) return this.errorReply(`You must specify a video to watch and a title for the group watch.`); - const gameRoom = await YouTube.createGroupWatch(url, room, title); + const game = await YouTube.createGroupWatch(url, room, title); this.modlog(`YOUTUBE GROUPWATCH`, null, `${url} (${title})`); room.add( - `|uhtml|${gameRoom.roomid}|` + - `` + `|uhtml|${game.id}|` + + `` ); room.send(`|tempnotify|youtube|New groupwatch - ${title}!`); this.update(); - user.joinRoom(gameRoom); }, - endwatch(target, room, user) { + end(target, room, user) { room = this.requireRoom(); this.checkCan('mute', null, room); - this.requireGame(GroupWatch); - room.parent!.modlog({action: `GROUPWATCH END`, loggedBy: user.id}); - room.parent!.add(`|uhtmlchange|${room.roomid}|`).update(); - room.destroy(); + const game = this.requireGame(GroupWatch); + this.modlog(`GROUPWATCH END`); + this.add(`|uhtmlchange|${game.id}|`); + game.destroy(); }, - startwatch: 'beginwatch', - beginwatch(target, room, user) { + start(target, room, user) { room = this.requireRoom(); this.checkCan('mute', null, room); const game = this.requireGame(GroupWatch); game.start(); + game.update(); + }, + async edit(target, room, user) { + room = this.requireRoom(); + this.checkCan('mute', null, room); + const game = this.requireGame(GroupWatch); + await game.changeVideo(target); }, - groupwatches() { + list() { let buf = `Ongoing groupwatches:
`; for (const curRoom of Rooms.rooms.values()) { if (!curRoom.getGame(GroupWatch)) continue; @@ -727,24 +729,11 @@ export const commands: Chat.ChatCommands = { this.sendReplyBox(buf); }, }, - youtubehelp: [ - `YouTube commands:`, - `/randchannel [optional category]- View data of a random channel from the YouTube database.` + - ` If a category is given, the random channel will be in the given category.`, - `/youtube addchannel [channel] - Add channel data to the YouTube database. Requires: % @ #`, - `/youtube removechannel [channel]- Delete channel data from the YouTube database. Requires: % @ #`, - `/youtube channel [channel] - View the data of a specified channel. Can be either channel ID or channel name.`, - `/youtube video [video] - View data of a specified video. Can be either channel ID or channel name.`, - `/youtube update [channel], [name] - sets a channel's PS username to [name]. Requires: % @ #`, - `/youtube repeat [time] - Sets an interval for [time] minutes, showing a random channel each time. Requires: # &`, - `/youtube addcategory [name] - Adds the [category] to the channel category list. Requires: @ # &`, - `/youtube removecategory [name] - Removes the [category] from the channel category list. Requires: @ # &`, - `/youtube setcategory [category], [channel name] - Sets the category for [channel] to [category]. Requires: @ # &`, - `/youtube decategorize [channel name] - Removes the category for the [channel], if there is one. Requires: @ # &`, - `/youtube categores - View all channels sorted by category.`, - `/youtube groupwatch [link], [title] - Creates a group watch of the [url] with the given [title]. Requires % @ & #`, - `/youtube startwatch - Starts the group watch in the current room, if there is one. Requires % @ & #`, - `/youtube stopwatch - Ends the current group watch, if there is one in the current room. Requires % @ & #`, + groupwatchhelp: [ + `/groupwatch create [link],[title] - create a groupwatch for the given Youtube or Twitch [link] with the [title]. Requires: % @ & #`, + `/groupwatch end - End the current room's groupwatch, if one exists. Requires: % @ & #`, + `/groupwatch start - Begin playback for the current groupwatch. Requires: % @ & #`, + `/groupwatch edit [link] - Change the current groupwatch, if one exists, to be viewing the given [link]. Requires: % @ & #`, ], twitch: { async channel(target, room, user) { @@ -756,33 +745,6 @@ export const commands: Chat.ChatCommands = { this.runBroadcast(); return this.sendReplyBox(html); }, - async watch(target, room, user) { - room = this.requireRoom(); - if (!GROUPWATCH_ROOMS.includes(room.roomid)) { - throw new Chat.ErrorMessage(`You cannot use this command in this room.`); - } - this.checkCan('mute', null, room); - if (!toID(target)) { - return this.errorReply(`Invalid channel`); - } - const gameRoom = await TwitchStream.createStreamWatch(room, target); - user.joinRoom(gameRoom); - room.add( - `|uhtml|ts-${gameRoom.roomid}|` + - `` - ).update(); - }, - start(target, room) { - room = this.requireRoom(); - const stream = this.requireGame(TwitchStream); - stream.start(); - }, - stop(target, room, user) { - room = this.requireRoom(); - const stream = this.requireGame(TwitchStream); - this.checkCan('mute', null, room); - stream.end(); - }, }, }; @@ -839,4 +801,12 @@ export const pages: Chat.PageTable = { buffer += `

`; return buffer; }, + groupwatch(query, user, connection) { + if (!user.named) return Rooms.RETRY_AFTER_LOGIN; + const [roomid, num] = query; + const watch = GroupWatch.groupwatches.get(`${roomid}-${num}`); + if (!watch) return this.errorReply(`Groupwatch ${roomid}-${num} not found.`); + this.title = `[Groupwatch] ${watch.title}`; + return watch.display(); + }, }; diff --git a/server/chat.ts b/server/chat.ts index e847512688e4..cdbcf5be5993 100644 --- a/server/chat.ts +++ b/server/chat.ts @@ -87,6 +87,8 @@ interface Handlers { onTicketCreate: (ticket: import('./chat-plugins/helptickets').TicketState, user: User) => void; onChallenge: (user: User, targetUser: User, format: string | ID) => void; onMessageOffline: (context: Chat.CommandContext, message: string, targetUserID: ID) => void; + onBattleJoin: (slot: string, user: User, battle: RoomBattle) => void; + onPunishUser: (type: string, user: User, room?: Room | null) => void; } export interface ChatPlugin { @@ -694,9 +696,7 @@ export class CommandContext extends MessageContext { Chat.PrivateMessages.send(message, this.user, this.pmTarget); } else if (this.room) { this.room.add(`|c|${this.user.getIdentity(this.room)}|${message}`); - if (this.room.game && this.room.game.onLogMessage) { - this.room.game.onLogMessage(message, this.user); - } + this.room.game?.onLogMessage?.(message, this.user); } else { this.connection.popup(`Your message could not be sent:\n\n${message}\n\nIt needs to be sent to a user or room.`); } @@ -784,8 +784,7 @@ export class CommandContext extends MessageContext { return this.checkBanwords(room.parent as ChatRoom, message); } checkGameFilter() { - if (!this.room?.game || !this.room.game.onChatMessage) return; - return this.room.game.onChatMessage(this.message, this.user); + return this.room?.game?.onChatMessage?.(this.message, this.user); } pmTransform(originalMessage: string, sender?: User, receiver?: User | null | string) { if (!sender) { @@ -1148,9 +1147,13 @@ export class CommandContext extends MessageContext { } if (room.settings.modchat && !room.auth.atLeast(user, room.settings.modchat)) { if (room.settings.modchat === 'autoconfirmed') { - throw new Chat.ErrorMessage( - this.tr`Because moderated chat is set, your account must be at least one week old and you must have won at least one ladder game to speak in this room.` + this.errorReply( + this.tr`Moderated chat is set. To speak in this room, your account must be autoconfirmed, which means being registered for at least one week and winning at least one rated game (any game started through the 'Battle!' button).` ); + if (!user.registered) { + this.sendReply(this.tr`|html|You may register in the menu.`); + } + throw new Chat.Interruption(); } if (room.settings.modchat === 'trusted') { throw new Chat.ErrorMessage( @@ -2595,6 +2598,7 @@ export const Chat = new class { } } } + readonly formatText = formatText; readonly linkRegex = linkRegex; readonly stripFormatting = stripFormatting; diff --git a/server/friends.ts b/server/friends.ts index 059acb353064..960138e290ce 100644 --- a/server/friends.ts +++ b/server/friends.ts @@ -144,11 +144,7 @@ export class FriendsDatabase { sent.add(request.receiver); } const receivedResults = await this.all('getReceived', [user.id]) || []; - if (!Array.isArray(receivedResults)) { - Monitor.crashlog(new Error("Malformed results received"), 'A friends process', { - user: user.id, - result: JSON.stringify(receivedResults), - }); + if (!receivedResults) { return {received, sent}; } for (const request of receivedResults) { @@ -156,22 +152,22 @@ export class FriendsDatabase { } return {sent, received}; } - all(statement: string, data: any[] | AnyObject) { + all(statement: string, data: any[] | AnyObject): Promise { return this.query({type: 'all', data, statement}); } - transaction(statement: string, data: any[] | AnyObject) { + transaction(statement: string, data: any[] | AnyObject): Promise<{result: any} | null> { return this.query({data, statement, type: 'transaction'}); } - run(statement: string, data: any[] | AnyObject) { + run(statement: string, data: any[] | AnyObject): Promise<{changes: number, lastInsertRowid: number}> { return this.query({statement, data, type: 'run'}); } - get(statement: string, data: any[] | AnyObject) { + get(statement: string, data: any[] | AnyObject): Promise { return this.query({statement, data, type: 'get'}); } private async query(input: DatabaseRequest) { const process = PM.acquire(); if (!process || !Config.usesqlite) { - return {result: null}; + return null; } const result = await process.query(input); if (result.error) { diff --git a/server/global-types.ts b/server/global-types.ts index 68ac0315c88b..2ab3c4cb2594 100644 --- a/server/global-types.ts +++ b/server/global-types.ts @@ -1,7 +1,5 @@ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-shadow */ -type Config = typeof import('../config/config-example') & AnyObject; - type GroupSymbol = import('./user-groups').GroupSymbol; type AuthLevel = import('./user-groups').AuthLevel; @@ -38,7 +36,6 @@ type BasicRoom = Rooms.BasicRoom; type RoomGame = Rooms.RoomGame; type MinorActivity = Rooms.MinorActivity; type RoomBattle = Rooms.RoomBattle; -type Roomlog = Rooms.Roomlog; type Room = Rooms.Room; type RoomID = "" | "lobby" | "staff" | "upperstaff" | "development" | string & {__isRoomID: true}; namespace Rooms { @@ -52,22 +49,11 @@ namespace Rooms { export type MinorActivity = import('./room-minor-activity').MinorActivity; export type MinorActivityData = import('./room-minor-activity').MinorActivityData; export type RoomBattle = import('./room-battle').RoomBattle; - export type BestOfGame = import('./room-battle').BestOfGame; + export type BestOfGame = import('./room-battle-bestof').BestOfGame; export type Roomlog = import('./roomlogs').Roomlog; export type Room = import('./rooms').Room; } -// Streams -// (I don't understand why eslint only has a problem with this - it's used in room-battle) -namespace Streams { - export type WriteStream = import('../lib/streams').WriteStream; - export type ReadStream = import('../lib/streams').ReadStream; - export type ReadWriteStream = import('../lib/streams').ReadWriteStream; - export type ObjectWriteStream = import('../lib/streams').ObjectWriteStream; - export type ObjectReadStream = import('../lib/streams').ObjectReadStream; - export type ObjectReadWriteStream = import('../lib/streams').ObjectReadWriteStream; -} - namespace JSX { export type IntrinsicElements = import('./chat-jsx').PSElements; } diff --git a/server/index.ts b/server/index.ts index ea4d88a95b60..a0f29c9ef489 100644 --- a/server/index.ts +++ b/server/index.ts @@ -43,7 +43,7 @@ * * @license MIT */ - +require('source-map-support').install(); // NOTE: This file intentionally doesn't use too many modern JavaScript // features, so that it doesn't crash old versions of Node.js, so we // can successfully print the "We require Node.js 16+" message. @@ -71,6 +71,7 @@ function setupGlobals() { void Monitor.version().then((hash: any) => { global.__version.tree = hash; }); + Repl.cleanup(); if (Config.watchconfig) { FS('config/config.js').onModify(() => { diff --git a/server/ladders-remote.ts b/server/ladders-remote.ts index 6b1bc907fe56..8b618ab592ad 100644 --- a/server/ladders-remote.ts +++ b/server/ladders-remote.ts @@ -147,7 +147,6 @@ export class LadderStore { } /** * Calculates Elo based on a match result - * */ calculateElo(oldElo: number, score: number, foeElo: number): number { // see lib/ntbb-ladder.lib.php in the pokemon-showdown-client repo for the login server implementation diff --git a/server/ladders.ts b/server/ladders.ts index 000d8a4702a3..2c7cb33207d5 100644 --- a/server/ladders.ts +++ b/server/ladders.ts @@ -22,7 +22,7 @@ import {BattleReady, BattleChallenge, GameChallenge, BattleInvite, challenges} f * Keys are formatids */ const searches = new Map, }>(); @@ -361,8 +361,7 @@ class Ladder extends LadderStore { let searchRange = 100; const times = matches.map(([search]) => search.time); const elapsed = Date.now() - Math.min(...times); - if (formatid === 'gen8ou' || formatid === 'gen8oucurrent' || - formatid === 'gen8oususpecttest' || formatid === 'gen8randombattle') { + if (formatid === `gen${Dex.gen}ou` || formatid === `gen${Dex.gen}randombattle`) { searchRange = 50; } @@ -385,7 +384,7 @@ class Ladder extends LadderStore { let formatTable = Ladders.searches.get(formatid); if (!formatTable) { formatTable = { - numPlayers: ['multi', 'freeforall'].includes(Dex.formats.get(formatid).gameType) ? 4 : 2, + playerCount: Dex.formats.get(formatid).playerCount, searches: new Map(), }; Ladders.searches.set(formatid, formatTable); @@ -404,7 +403,7 @@ class Ladder extends LadderStore { if (matched) { matches.push(search); } - if (matches.length >= formatTable.numPlayers) { + if (matches.length >= formatTable.playerCount) { for (const matchedSearch of matches) formatTable.searches.delete(matchedSearch.userid); Ladder.match(matches); return; @@ -423,7 +422,7 @@ class Ladder extends LadderStore { static periodicMatch() { // In order from longest waiting to shortest waiting for (const [formatid, formatTable] of Ladders.searches) { - if (formatTable.numPlayers > 2) continue; // TODO: implement + if (formatTable.playerCount > 2) continue; // TODO: implement const matchmaker = Ladders(formatid); let longest: [BattleReady, User] | null = null; for (const search of formatTable.searches.values()) { @@ -476,14 +475,10 @@ class Ladder extends LadderStore { return undefined; } const format = Dex.formats.get(formatid); - const delayedStart = (['multi', 'freeforall'].includes(format.gameType) && players.length === 2) ? - 'multi' : false; + const delayedStart = format.playerCount > players.length ? 'multi' : false; return Rooms.createBattle({ format: formatid, - p1: players[0], - p2: players[1], - p3: players[2], - p4: players[3], + players, rated: minRating, challengeType: readies[0].challengeType, delayedStart, diff --git a/server/monitor.ts b/server/monitor.ts index 242dff5affe3..0da9431d4443 100644 --- a/server/monitor.ts +++ b/server/monitor.ts @@ -9,6 +9,7 @@ import {exec, ExecException, ExecOptions} from 'child_process'; import {crashlogger, FS} from "../lib"; +import * as pathModule from 'path'; const MONITOR_CLEAN_TIMEOUT = 2 * 60 * 60 * 1000; @@ -93,6 +94,13 @@ export const Monitor = new class { } } + logPath(path: string) { + if (Config.logsdir) { + return FS(pathModule.join(Config.logsdir, path)); + } + return FS(pathModule.join('logs', path)); + } + log(text: string) { this.notice(text); const staffRoom = Rooms.get('staff'); @@ -278,7 +286,7 @@ export const Monitor = new class { for (const i in this.networkUse) { buf += `${this.networkUse[i]}\t${this.networkCount[i]}\t${i}\n`; } - void FS('logs/networkuse.tsv').write(buf); + void Monitor.logPath('networkuse.tsv').write(buf); } clearNetworkUse() { @@ -333,8 +341,8 @@ export const Monitor = new class { async version() { let hash; try { - await FS('.git/index').copyFile('logs/.gitindex'); - const index = FS('logs/.gitindex'); + await FS('.git/index').copyFile(Monitor.logPath('.gitindex').path); + const index = Monitor.logPath('.gitindex'); const options = { cwd: __dirname, env: {GIT_INDEX_FILE: index.path}, diff --git a/server/private-messages/database.ts b/server/private-messages/database.ts index e34ca44223d0..4926d1cf3c9d 100644 --- a/server/private-messages/database.ts +++ b/server/private-messages/database.ts @@ -4,35 +4,17 @@ * @author mia-pi-git */ import {SQL, FS} from '../../lib'; -import {EXPIRY_TIME, SEEN_EXPIRY_TIME, MAX_PENDING} from '.'; - -export const functions: {[k: string]: (...args: any) => any} = { - should_expire: (time) => { - const diff = Date.now() - time; - if (diff > EXPIRY_TIME) { - return 1; - } - return 0; - }, - seen_duration: (seen) => { - if (!seen) return 0; - const diff = Date.now() - seen; - if (diff >= SEEN_EXPIRY_TIME) { - return 1; - } - return 0; - }, -}; +import {MAX_PENDING} from '.'; export const statements: {[k: string]: string} = { send: 'INSERT INTO offline_pms (sender, receiver, message, time) VALUES (?, ?, ?, ?)', clear: 'DELETE FROM offline_pms WHERE receiver = ?', fetch: 'SELECT * FROM offline_pms WHERE receiver = ?', fetchNew: 'SELECT * FROM offline_pms WHERE receiver = ? AND seen IS NULL', - clearDated: 'DELETE FROM offline_pms WHERE EXISTS (SELECT * FROM offline_pms WHERE should_expire(time) = 1)', + clearDated: 'DELETE FROM offline_pms WHERE ? - time >= ?', checkSentCount: 'SELECT count(*) as count FROM offline_pms WHERE sender = ? AND receiver = ?', - setSeen: 'UPDATE offline_pms SET seen = ? WHERE receiver = ?', - clearSeen: 'DELETE FROM offline_pms WHERE seen_duration(seen) = 1', + setSeen: 'UPDATE offline_pms SET seen = ? WHERE receiver = ? AND seen IS NULL', + clearSeen: 'DELETE FROM offline_pms WHERE ? - seen >= ?', getSettings: 'SELECT * FROM pm_settings WHERE userid = ?', setBlock: 'REPLACE INTO pm_settings (userid, view_only) VALUES (?, ?)', deleteSettings: 'DELETE FROM pm_settings WHERE userid = ?', diff --git a/server/private-messages/index.ts b/server/private-messages/index.ts index f69ab7470157..e87c55efd888 100644 --- a/server/private-messages/index.ts +++ b/server/private-messages/index.ts @@ -50,6 +50,9 @@ export const PrivateMessages = new class { getSettings(userid: string) { return PM.get(statements.getSettings, [toID(userid)]); } + deleteSettings(userid: string) { + return PM.run(statements.deleteSettings, [toID(userid)]); + } async checkCanSend(to: string, from: User | string) { from = toID(from); to = toID(to); @@ -119,12 +122,10 @@ export const PrivateMessages = new class { const userid = toID(user); // we only want to send the unseen pms to them when they login - they can replay the rest at will otherwise const messages = await this.fetchUnseen(userid); - const serverTimezone = -new Date().getTimezoneOffset() / 60; - const gmtStr = serverTimezone >= 0 ? `+${serverTimezone}` : serverTimezone; for (const {message, time, sender} of messages) { user.send( - `|pm|${this.getIdentity(sender)}|${this.getIdentity(user)}|` + - `${message} __[sent offline, ${Chat.toTimestamp(new Date(time))} GMT ${gmtStr}]__` + `|pm|${this.getIdentity(sender)}|${this.getIdentity(user)}|/html ` + + `${Utils.escapeHTML(message)} [sent offline, ]` ); } } @@ -150,7 +151,7 @@ export const PrivateMessages = new class { return this.clearInterval; } clearSeen() { - return PM.run(statements.clearSeen); + return PM.run(statements.clearSeen, [Date.now(), SEEN_EXPIRY_TIME]); } send(message: string, user: User, pmTarget: User, onlyRecipient: User | null = null) { const buf = `|pm|${user.getIdentity()}|${pmTarget.getIdentity()}|${message}`; @@ -190,7 +191,7 @@ export const PrivateMessages = new class { buf += `
`; for (const {message, time} of messages) { buf += `
  `; - buf += `[${Chat.toTimestamp(new Date(time))}] `; + buf += `[] `; buf += Utils.html`${group}`; buf += Utils.html`${name}: `; buf += `${message}
`; @@ -202,7 +203,7 @@ export const PrivateMessages = new class { return buf; } clearOffline() { - return PM.run(statements.clearDated); + return PM.run(statements.clearDated, [Date.now(), EXPIRY_TIME]); } destroy() { void PM.destroy(); @@ -213,7 +214,7 @@ if (Config.usesqlite) { if (!process.send) { PM.spawn(Config.pmprocesses || 1); // clear super old pms on startup - void PM.run(statements.clearDated); + void PM.run(statements.clearDated, [Date.now(), EXPIRY_TIME]); } else if (process.send && process.mainModule === module) { global.Monitor = { crashlog(error: Error, source = 'A private message child process', details: AnyObject | null = null) { diff --git a/server/punishments.ts b/server/punishments.ts index d0e480714feb..3a78d6ac5720 100644 --- a/server/punishments.ts +++ b/server/punishments.ts @@ -1339,9 +1339,7 @@ export const Punishments = new class { if (room.subRooms) { for (const subRoom of room.subRooms.values()) { for (const curUser of affected) { - if (subRoom.game && subRoom.game.removeBannedUser) { - subRoom.game.removeBannedUser(curUser); - } + subRoom.game?.removeBannedUser?.(curUser); curUser.leaveRoom(subRoom.roomid); } } @@ -1359,9 +1357,7 @@ export const Punishments = new class { for (const curUser of affected) { // ensure there aren't roombans so nothing gets mixed up Punishments.roomUnban(room, (curUser as any).id || curUser); - if (room.game && room.game.removeBannedUser) { - room.game.removeBannedUser(curUser); - } + room.game?.removeBannedUser?.(curUser); curUser.leaveRoom(room.roomid); } @@ -1841,9 +1837,7 @@ export const Punishments = new class { } if (punishment.type !== 'ROOMBAN' && punishment.type !== 'BLACKLIST') return null; const room = Rooms.get(roomid)!; - if (room.game && room.game.removeBannedUser) { - room.game.removeBannedUser(user); - } + room.game?.removeBannedUser?.(user); user.leaveRoom(room.roomid); } return punishments; diff --git a/server/replays.ts b/server/replays.ts new file mode 100644 index 000000000000..31c4c1b47a9b --- /dev/null +++ b/server/replays.ts @@ -0,0 +1,239 @@ +/** + * Code for uploading and managing replays. + * + * Ported to TypeScript by Annika and Mia. + */ +import {SQL, PGDatabase} from '../lib/database'; + +export const replaysDB = Config.replaysdb ? new PGDatabase(Config.replaysdb) : null!; + +export const replays = replaysDB?.getTable< +ReplayRow +>('replays', 'id'); + +export const replayPlayers = replaysDB?.getTable<{ + playerid: string, + formatid: string, + id: string, + rating: number | null, + uploadtime: number, + private: ReplayRow['private'], + password: string | null, + format: string, + /** comma-delimited player names */ + players: string, +}>('replayplayers'); + +// must be a type and not an interface to qualify as an SQLRow +// eslint-disable-next-line +export type ReplayRow = { + id: string, + format: string, + /** player names delimited by `,`; starting with `!` denotes that player wants the replay private */ + players: string, + log: string, + inputlog: string | null, + uploadtime: number, + views: number, + formatid: string, + rating: number | null, + /** + * 0 = public + * 1 = private (with or without password) + * 2 = NOT USED; ONLY USED IN PREPREPLAY + * 3 = deleted + * 10 = autosaved + */ + private: 0 | 1 | 2 | 3 | 10, + password: string | null, +}; +type Replay = Omit & { + players: string[], + views?: number, + password?: string | null, +}; + +export const Replays = new class { + db = replaysDB as unknown; + replaysTable = replays as unknown; + replayPlayersTable = replayPlayers as unknown; + readonly passwordCharacters = '0123456789abcdefghijklmnopqrstuvwxyz'; + + toReplay(this: void, row: ReplayRow) { + const replay: Replay = { + ...row, + players: row.players.split(',').map(player => player.startsWith('!') ? player.slice(1) : player), + }; + if (!replay.password && replay.private === 1) replay.private = 2; + return replay; + } + toReplays(this: void, rows: ReplayRow[]) { + return rows.map(row => Replays.toReplay(row)); + } + + toReplayRow(this: void, replay: Replay) { + const formatid = toID(replay.format); + const replayData: ReplayRow = { + password: null, + views: 0, + ...replay, + players: replay.players.join(','), + formatid, + }; + if (replayData.private === 1 && !replayData.password) { + replayData.password = Replays.generatePassword(); + } else { + if (replayData.private === 2) replayData.private = 1; + replayData.password = null; + } + return replayData; + } + + async add(replay: Replay) { + const fullid = replay.id + (replay.password ? `-${replay.password}pw` : ''); + + // obviously upsert exists but this is the easiest way when multiple things need to be changed + const replayData = this.toReplayRow(replay); + try { + await replays.insert(replayData); + for (const playerName of replay.players) { + await replayPlayers.insert({ + playerid: toID(playerName), + formatid: replayData.formatid, + id: replayData.id, + rating: replayData.rating, + uploadtime: replayData.uploadtime, + private: replayData.private, + password: replayData.password, + format: replayData.format, + players: replayData.players, + }); + } + } catch (e: any) { + if (e?.routine !== 'NewUniquenessConstraintViolationError') throw e; + await replays.update(replay.id, { + log: replayData.log, + inputlog: replayData.inputlog, + rating: replayData.rating, + private: replayData.private, + password: replayData.password, + }); + await replayPlayers.updateAll({ + rating: replayData.rating, + private: replayData.private, + password: replayData.password, + })`WHERE id = ${replay.id}`; + } + return fullid; + } + + async get(id: string): Promise { + const replayData = await replays.get(id); + if (!replayData) return null; + + await replays.update(replayData.id, {views: SQL`views + 1`}); + + return this.toReplay(replayData); + } + + async edit(replay: Replay) { + const replayData = this.toReplayRow(replay); + await replays.update(replay.id, {private: replayData.private, password: replayData.password}); + } + + generatePassword(length = 31) { + let password = ''; + for (let i = 0; i < length; i++) { + password += this.passwordCharacters[Math.floor(Math.random() * this.passwordCharacters.length)]; + } + + return password; + } + + search(args: { + page?: number, isPrivate?: boolean, byRating?: boolean, + format?: string, username?: string, username2?: string, + }): Promise { + const page = args.page || 0; + if (page > 100) return Promise.resolve([]); + + let limit1 = 50 * (page - 1); + if (limit1 < 0) limit1 = 0; + + const isPrivate = args.isPrivate ? 1 : 0; + + const format = args.format ? toID(args.format) : null; + + if (args.username) { + const order = args.byRating ? SQL`ORDER BY rating DESC` : SQL`ORDER BY uploadtime DESC`; + const userid = toID(args.username); + if (args.username2) { + const userid2 = toID(args.username2); + if (format) { + return replays.query()`SELECT + p1.uploadtime AS uploadtime, p1.id AS id, p1.format AS format, p1.players AS players, + p1.rating AS rating, p1.password AS password, p1.private AS private + FROM replayplayers p1 INNER JOIN replayplayers p2 ON p2.id = p1.id + WHERE p1.playerid = ${userid} AND p1.formatid = ${format} AND p1.private = ${isPrivate} + AND p2.playerid = ${userid2} + ${order} LIMIT ${limit1}, 51;`.then(this.toReplays); + } else { + return replays.query()`SELECT + p1.uploadtime AS uploadtime, p1.id AS id, p1.format AS format, p1.players AS players, + p1.rating AS rating, p1.password AS password, p1.private AS private + FROM replayplayers p1 INNER JOIN replayplayers p2 ON p2.id = p1.id + WHERE p1.playerid = ${userid} AND p1.private = ${isPrivate} + AND p2.playerid = ${userid2} + ${order} LIMIT ${limit1}, 51;`.then(this.toReplays); + } + } else { + if (format) { + return replays.query()`SELECT uploadtime, id, format, players, rating, password FROM replayplayers + WHERE playerid = ${userid} AND formatid = ${format} AND private = ${isPrivate} + ${order} LIMIT ${limit1}, 51;`.then(this.toReplays); + } else { + return replays.query()`SELECT uploadtime, id, format, players, rating, password FROM replayplayers + WHERE playerid = ${userid} private = ${isPrivate} + ${order} LIMIT ${limit1}, 51;`.then(this.toReplays); + } + } + } + + if (args.byRating) { + return replays.query()`SELECT uploadtime, id, format, players, rating, password + FROM replays + WHERE private = ${isPrivate} AND formatid = ${format} ORDER BY rating DESC LIMIT ${limit1}, 51` + .then(this.toReplays); + } else { + return replays.query()`SELECT uploadtime, id, format, players, rating, password + FROM replays + WHERE private = ${isPrivate} AND formatid = ${format} ORDER BY uploadtime DESC LIMIT ${limit1}, 51` + .then(this.toReplays); + } + } + + fullSearch(term: string, page = 0): Promise { + if (page > 0) return Promise.resolve([]); + + const patterns = term.split(',').map(subterm => { + const escaped = subterm.replace(/%/g, '\\%').replace(/_/g, '\\_'); + return `%${escaped}%`; + }); + if (patterns.length !== 1 && patterns.length !== 2) return Promise.resolve([]); + + const secondPattern = patterns.length >= 2 ? SQL`AND log LIKE ${patterns[1]} ` : undefined; + + return replays.query()`SELECT /*+ MAX_EXECUTION_TIME(10000) */ + uploadtime, id, format, players, rating FROM ps_replays + WHERE private = 0 AND log LIKE ${patterns[0]} ${secondPattern} + ORDER BY uploadtime DESC LIMIT 10;`.then(this.toReplays); + } + + recent() { + return replays.selectAll( + SQL`uploadtime, id, format, players, rating` + )`WHERE private = 0 ORDER BY uploadtime DESC LIMIT 50`.then(this.toReplays); + } +}; + +export default Replays; diff --git a/server/room-battle-bestof.ts b/server/room-battle-bestof.ts new file mode 100644 index 000000000000..ad9e8343f616 --- /dev/null +++ b/server/room-battle-bestof.ts @@ -0,0 +1,496 @@ +import {Utils} from '../lib'; +import {RoomGamePlayer, RoomGame} from "./room-game"; +import type {RoomBattlePlayerOptions, RoomBattleOptions} from './room-battle'; +import type {PrivacySetting, RoomSettings} from './rooms'; + +const BEST_OF_IN_BETWEEN_TIME = 40; + +export class BestOfPlayer extends RoomGamePlayer { + wins = 0; + ready: boolean | null = null; + options: Omit & {user: null}; + dcAutoloseTime: number | null = null; + constructor(user: User | null, game: BestOfGame, num: number, options: RoomBattlePlayerOptions) { + super(user, game, num); + this.options = {...options, user: null}; + } + avatar() { + let avatar = Users.get(this.id)?.avatar; + if (!avatar || typeof avatar === 'number') avatar = 'unknownf'; + const url = Chat.plugins.avatars?.Avatars.src(avatar) || + `https://${Config.routes.client}/sprites/trainers/${avatar}.png`; + return url; + } + updateReadyButton() { + const user = this.getUser(); + if (!user?.connected) return; + + this.dcAutoloseTime = null; + const room = this.game.room; + const battleRoom = this.game.games[this.game.games.length - 1]?.room as Room | undefined; + const gameNum = this.game.games.length + 1; + + if (this.ready === false) { + const notification = `|tempnotify|choice|Next game|It's time for game ${gameNum} in your best-of-${this.game.bestOf}!`; + if (battleRoom && user.inRooms.has(battleRoom.roomid)) { + battleRoom.send(notification); + } else { + this.sendRoom(notification); + } + } else { + const notification = `|tempnotifyoff|choice`; + battleRoom?.sendUser(user, notification); + this.sendRoom(notification); + } + + if (this.ready === null) { + const button = `|c|&|/uhtml controls,`; + this.sendRoom(button); + battleRoom?.sendUser(user, button); + return; + } + + const cmd = `/msgroom ${room.roomid},/confirmready`; + const button = `|c|&|/uhtml controls,

Are you ready for game ${gameNum}, ${this.name}?

` + + (this.ready ? + ` – waiting for opponent...` : + ``) + + `

`; + this.sendRoom(button); + battleRoom?.sendUser(user, button); + } +} + +export class BestOfGame extends RoomGame { + override readonly gameid = 'bestof' as ID; + override allowRenames = false; + override room!: GameRoom; + bestOf: number; + format: Format; + winThreshold: number; + options: Omit & {parent: Room, players: null}; + forcedSettings: {modchat?: string | null, privacy?: string | null} = {}; + ties = 0; + games: {room: GameRoom, winner: BestOfPlayer | null | undefined, rated: number}[] = []; + playerNum = 0; + /** null = tie, undefined = not ended */ + winner: BestOfPlayer | null | undefined = undefined; + /** when waiting between battles, this is the just-ended battle room, the one with the |tempnotify| */ + waitingBattle: GameRoom | null = null; + nextBattleTimerEnd: number | null = null; + nextBattleTimer: NodeJS.Timer | null = null; + /** Does NOT control bestof's own timer, which is always-on. Controls timers in sub-battles. */ + needsTimer = false; + score: number[] | null = null; + constructor(room: GameRoom, options: RoomBattleOptions) { + super(room); + this.format = Dex.formats.get(options.format); + this.bestOf = Number(Dex.formats.getRuleTable(this.format).valueRules.get('bestof'))!; + this.winThreshold = Math.floor(this.bestOf / 2) + 1; + this.title = this.format.name; + if (!toID(this.title).includes('bestof')) { + this.title += ` (Best-of-${this.bestOf})`; + } + this.room.bestOf = this; + this.options = { + ...options, + isBestOfSubBattle: true, + parent: this.room, + allowRenames: false, + players: null, + }; + for (const playerOpts of options.players) { + this.addPlayer(playerOpts.user, playerOpts); + } + process.nextTick(() => this.nextGame()); + } + override onConnect(user: User) { + const player = this.playerTable[user.id]; + player?.sendRoom('|cantleave|'); + player?.updateReadyButton(); + } + override makePlayer(user: User | null, options: RoomBattlePlayerOptions): BestOfPlayer { + return new BestOfPlayer(user, this, ++this.playerNum, options); + } + override addPlayer(user: User, options: RoomBattlePlayerOptions) { + const player = super.addPlayer(user, options); + if (!player) throw new Error(`Failed to make player ${user} in ${this.roomid}`); + this.room.auth.set(user.id, Users.PLAYER_SYMBOL); + return player; + } + checkPrivacySettings(options: RoomBattleOptions & Partial) { + let inviteOnly = false; + const privacySetter = new Set([]); + for (const p of options.players) { + if (p.user) { + if (p.inviteOnly) { + inviteOnly = true; + privacySetter.add(p.user.id); + } else if (p.hidden) { + privacySetter.add(p.user.id); + } + this.checkForcedUserSettings(p.user); + } + } + + if (privacySetter.size) { + const room = this.room; + if (this.forcedSettings.privacy) { + room.setPrivate(false); + room.settings.modjoin = null; + room.add(`|raw|
This best-of set is required to be public due to a player having a name starting with '${this.forcedSettings.privacy}'.
`); + } else if (!options.tour || (room.tour?.allowModjoin)) { + room.setPrivate('hidden'); + if (inviteOnly) room.settings.modjoin = '%'; + room.privacySetter = privacySetter; + if (inviteOnly) { + room.settings.modjoin = '%'; + room.add(`|raw|
This best-of set is invite-only!
Users must be invited with /invite (or be staff) to join
`); + } + } + } + } + checkForcedUserSettings(user: User) { + this.forcedSettings = { + modchat: this.forcedSettings.modchat || Rooms.RoomBattle.battleForcedSetting(user, 'modchat'), + privacy: this.forcedSettings.privacy || Rooms.RoomBattle.battleForcedSetting(user, 'privacy'), + }; + if ( + this.players.some(p => p.getUser()?.battleSettings.special) || + (this.options.rated && this.forcedSettings.modchat) + ) { + this.room.settings.modchat = '\u2606'; + } + } + setPrivacyOfGames(privacy: PrivacySetting) { + for (let i = 0; i < this.games.length; i++) { + const room = this.games[i].room; + const prevRoom = this.games[i - 1]?.room; + const gameNum = i + 1; + + room.setPrivate(privacy); + this.room.add(`|uhtmlchange|game${gameNum}|
${room.title}`); + room.add(`|uhtmlchange|bestof|

Game ${gameNum} of a best-of-${this.bestOf}

`).update(); + if (prevRoom) { + prevRoom.add(`|uhtmlchange|next|Next: Game ${gameNum} of ${this.bestOf}`).update(); + } + } + this.updateDisplay(); + } + clearWaiting() { + this.waitingBattle = null; + for (const player of this.players) { + player.ready = null; + player.updateReadyButton(); + } + if (this.nextBattleTimer) { + clearInterval(this.nextBattleTimer); + this.nextBattleTimerEnd = null; + } + this.nextBattleTimerEnd = null; + this.nextBattleTimer = null; + } + getOptions(): RoomBattleOptions | null { + const players = this.players.map(player => ({ + ...player.options, + user: player.getUser()!, + })); + if (players.some(p => !p.user)) { + return null; + } + return { + ...this.options, + players, + }; + } + nextGame() { + const prevBattleRoom = this.waitingBattle; + if (!prevBattleRoom && this.games.length) return; // should never happen + this.clearWaiting(); + + const options = this.getOptions(); + if (!options) { + for (const p of this.players) { + if (!p.getUser()) { + // tbc this isn't just being offline, it's changing name or being offline for 15 minutes + this.forfeitPlayer(p, ` lost by being unavailable at the start of a game.`); + return; + } + } + throw new Error(`Failed to get options for ${this.roomid}`); + } + const battleRoom = Rooms.createBattle(options); + // shouldn't happen even in lockdown + if (!battleRoom) throw new Error("Failed to create battle for " + this.title); + this.games.push({ + room: battleRoom, + winner: undefined, + rated: battleRoom.rated, + }); + // the absolute result is what counts for rating + battleRoom.rated = 0; + if (this.needsTimer) { + battleRoom.battle?.timer.start(); + } + const gameNum = this.games.length; + const p1 = this.players[0]; + const p2 = this.players[1]; + battleRoom.add( + Utils.html`|html|` + + `
${p1.name}${p2.name}
${this.renderWins(p1)}${this.renderWins(p2)}
` + ); + battleRoom.add( + `|uhtml|bestof|

Game ${gameNum} of a best-of-${this.bestOf}

` + ).update(); + + this.room.add(`|html|

Game ${gameNum}

`); + this.room.add(Utils.html`|uhtml|game${gameNum}|${battleRoom.title}`); + this.updateDisplay(); + + prevBattleRoom?.add( + `|uhtml|next|Next: Game ${gameNum} of ${this.bestOf}` + ).update(); + } + renderWins(player: BestOfPlayer) { + const wins = this.games.filter(game => game.winner === player).length; + const winBuf = ` `.repeat(wins); + const restBuf = ` `.repeat(this.winThreshold - wins); + return player.num === 1 ? winBuf + restBuf : restBuf + winBuf; + } + updateDisplay() { + const p1name = this.players[0].name; + const p2name = this.players[1].name; + let buf = Utils.html`
${p1name} and ${p2name}'s Best-of-${this.bestOf} progress:
`; + buf += ''; + for (const p of this.players) { + buf += Utils.html``; + } + buf += `
${p.name}: `; + for (let i = 0; i < this.bestOf; i++) { + if (this.games[i]?.winner === p) { + buf += ``; + } else { + buf += ``; + } + if (i !== this.bestOf - 1) { + buf += ` `; + } + } + buf += `


`; + buf += ``; + + for (const i of [0, null, 1]) { + if (i === null) { + buf += ``; + continue; + } + buf += Utils.html``; + } + + buf += ``; + + for (const i of [0, null, 1]) { + if (i === null) { + buf += ``; + continue; + } + const p = this.players[i]; + const mirrorLeftPlayer = !i ? ' style="transform: scaleX(-1)"' : ""; + buf += ``; + } + + buf += ``; + + for (const i of [0, null, 1]) { + if (i === null) { + buf += ``; + continue; + } + const team = Teams.unpack(this.players[i].options.team || ""); + if (!team || !Dex.formats.getRuleTable(this.format).has('teampreview')) { + buf += ``; + continue; + } + const mirrorLeftPlayer = !i ? ' style="transform: scaleX(-1)"' : ""; + buf += ``; + } + buf += `
${this.players[i].name}
`; + buf += ``; + buf += `
vs `; + buf += ` `.repeat(3); + buf += `
`; + buf += ` `.repeat(3); + buf += `
`; + for (const [j, set] of team.entries()) { + if (j % 3 === 0 && j > 1) buf += `
`; + buf += ``; + } + buf += `
`; + this.room.add(`|fieldhtml|
${buf}
`); + + buf = this.games.map(({room, winner}, index) => { + let progress = `being played`; + if (winner) progress = Utils.html`won by ${winner.name}`; + if (winner === null) progress = `tied`; + return Utils.html`

Game ${index + 1}: ${progress}

`; + }).join(''); + if (this.winner) { + buf += Utils.html`

${this.winner.name} won!

`; + } else if (this.winner === null) { + buf += `

The battle was tied.

`; + } + this.room.add(`|controlshtml|
${buf}
`); + this.room.update(); + } + + override startTimer() { + this.needsTimer = true; + for (const {room} of this.games) { + room.battle?.timer.start(); + } + } + + onBattleWin(room: Room, winnerid: ID) { + if (this.ended) return; // can happen if the bo3 is destroyed fsr + + const winner = winnerid ? this.playerTable[winnerid] : null; + this.games[this.games.length - 1].winner = winner; + if (winner) { + winner.wins++; + const loserPlayer = room.battle!.players.filter(p => p.num !== winner.num)[0]; + if (loserPlayer && loserPlayer.dcSecondsLeft <= 0) { // disconnection means opp wins the set + return this.forfeit(loserPlayer.name, ` lost the series due to inactivity.`); + } + this.room.add(Utils.html`|html|${winner.name} won game ${this.games.length}!`).update(); + if (winner.wins >= this.winThreshold) { + return this.end(winner.id); + } + } else { + this.ties++; + this.winThreshold = Math.floor((this.bestOf - this.ties) / 2) + 1; + this.room.add(`|html|Game ${this.games.length} was a tie.`).update(); + } + if (this.games.length >= this.bestOf) { + return this.end(''); // overall tie + } + + // no one has won, skip onwards + this.promptNextGame(room); + } + promptNextGame(room: Room) { + if (!room.battle || this.winner) return; // ??? + this.updateDisplay(); + this.waitingBattle = room; + const now = Date.now(); + this.nextBattleTimerEnd = now + BEST_OF_IN_BETWEEN_TIME * 1000; + for (const player of this.players) { + player.ready = false; + const dcAutoloseTime = now + room.battle.players[player.num - 1].dcSecondsLeft * 1000; + if (dcAutoloseTime < this.nextBattleTimerEnd) { + player.dcAutoloseTime = dcAutoloseTime; + } + player.updateReadyButton(); + } + this.nextBattleTimer = setInterval(() => this.pokeNextBattleTimer(), 10000); + } + pokeNextBattleTimer() { + if (!this.nextBattleTimerEnd || !this.nextBattleTimer) return; // ?? + if (Date.now() >= this.nextBattleTimerEnd) { + return this.nextGame(); + } + for (const p of this.players) { + if (!p.ready) { + const now = Date.now() - 100; // fudge to make rounding work better + if (p.dcAutoloseTime && now > p.dcAutoloseTime) { + return this.forfeit(p.name, ` lost the series due to inactivity.`); + } + const message = (p.dcAutoloseTime ? + `|inactive|${p.name} has ${Chat.toDurationString(p.dcAutoloseTime - now)} to reconnect!` : + `|inactive|${p.name} has ${Chat.toDurationString(this.nextBattleTimerEnd - now)} to confirm battle start!` + ); + this.waitingBattle?.add(message); + this.room.add(message); + } + } + this.waitingBattle?.update(); + this.room.update(); + } + confirmReady(user: User) { + const player = this.playerTable[user.id]; + if (!player) { + throw new Chat.ErrorMessage("You aren't a player in this best-of set."); + } + if (!this.waitingBattle) { + throw new Chat.ErrorMessage("The battle is not currently waiting for ready confirmation."); + } + + player.ready = true; + player.updateReadyButton(); + const readyMsg = `||${player.name} is ready for game ${this.games.length + 1}.`; + this.waitingBattle.add(readyMsg).update(); + this.room.add(readyMsg).update(); + if (this.players.every(p => p.ready)) { + this.nextGame(); + } + } + override setEnded() { + this.clearWaiting(); + super.setEnded(); + } + end(winnerid: ID) { + if (this.ended) return; + this.setEnded(); + this.room.add(`|allowleave|`).update(); + const winner = winnerid ? this.playerTable[winnerid] : null; + this.winner = winner; + if (winner) { + this.room.add(`|win|${winner.name}`); + } else { + this.room.add(`|tie`); + } + this.updateDisplay(); + this.room.update(); + const p1 = this.players[0]; + const p2 = this.players[1]; + this.score = this.players.map(p => p.wins); + this.room.parent?.game?.onBattleWin?.(this.room, winnerid); + // run elo stuff here + let p1score = 0.5; + if (winner === p1) { + p1score = 1; + } else if (winner === p2) { + p1score = 0; + } + + const {rated, room} = this.games[this.games.length - 1]; + if (rated) { + void room.battle?.updateLadder(p1score, winnerid); + } + } + override forfeit(user: User | string, message = '') { + const userid = (typeof user !== 'string') ? user.id : toID(user); + + const loser = this.playerTable[userid]; + if (loser) this.forfeitPlayer(loser, message); + } + forfeitPlayer(loser: BestOfPlayer, message = '') { + if (this.ended || this.winner) return false; + + this.winner = this.players.filter(p => p !== loser)[0]; + this.room.add(`||${loser.name}${message || ' forfeited.'}`); + this.end(this.winner.id); + + const lastBattle = this.games[this.games.length - 1].room.battle; + if (lastBattle && !lastBattle.ended) lastBattle.forfeit(loser.id, message); + return true; + } + override destroy() { + this.setEnded(); + for (const {room} of this.games) room.expire(); + this.games = []; + for (const p of this.players) p.destroy(); + this.players = []; + this.playerTable = {}; + this.winner = null; + } +} diff --git a/server/room-battle.ts b/server/room-battle.ts index f8d3614a095f..d151b5c3c3ba 100644 --- a/server/room-battle.ts +++ b/server/room-battle.ts @@ -11,12 +11,13 @@ * @license MIT */ -import {FS, Repl, ProcessManager, Utils} from '../lib'; import {execSync} from "child_process"; +import {Repl, ProcessManager, type Streams} from '../lib'; import {BattleStream} from "../sim/battle-stream"; -import * as RoomGames from "./room-game"; +import {RoomGamePlayer, RoomGame} from "./room-game"; import type {Tournament} from './tournaments/index'; -import {RoomSettings} from './rooms'; +import type {RoomSettings} from './rooms'; +import type {BestOfGame} from './room-battle-bestof'; type ChannelIndex = 0 | 1 | 2 | 3 | 4; export type PlayerIndex = 1 | 2 | 3 | 4; @@ -52,14 +53,12 @@ const DISCONNECTION_BANK_TIME = 300; const TIMER_COOLDOWN = 20 * SECONDS; const LOCKDOWN_PERIOD = 30 * 60 * 1000; // 30 minutes -export class RoomBattlePlayer extends RoomGames.RoomGamePlayer { +export class RoomBattlePlayer extends RoomGamePlayer { readonly slot: SideID; readonly channelIndex: ChannelIndex; request: BattleRequestTracker; - hitDisconnectLimit = false; wantsTie: boolean; wantsOpenTeamSheets: boolean | null; - active: boolean; eliminated: boolean; /** * Total timer. @@ -74,16 +73,18 @@ export class RoomBattlePlayer extends RoomGames.RoomGamePlayer { */ secondsLeft: number; /** - * Turn timer. + * Current turn timer. * * Set equal to the player's overall timer, but capped at 150 * seconds in a ladder battle. Goes down by 5 every tick. * Tracked separately from the overall timer, and the player also - * loses if this reaches 0. + * loses if this reaches 0 (except in VGC where the default choice + * is chosen if it reaches 0). */ turnSecondsLeft: number; /** * Disconnect timer. + * * Starts at 60 seconds. While the player is disconnected, this * will go down by 5 every tick. Tracked separately from the * overall timer, and the player also loses if this reaches 0. @@ -92,11 +93,18 @@ export class RoomBattlePlayer extends RoomGames.RoomGamePlayer { * 150 seconds against a disconnected opponent. */ dcSecondsLeft: number; + /** + * Is the user actually in the room? + */ + active: boolean; /** * Used to track a user's last known connection status, and display * the proper message when it changes. + * + * `.active` is set right when the user joins/leaves, but `.knownActive` + * is only set after the timer knows about it. */ - connected: boolean; + knownActive: boolean; invite: ID; /** * Has the simulator received this player's team yet? @@ -114,14 +122,14 @@ export class RoomBattlePlayer extends RoomGames.RoomGamePlayer { this.request = {rqid: 0, request: '', isWait: 'cantUndo', choice: ''}; this.wantsTie = false; this.wantsOpenTeamSheets = null; - this.active = true; + this.active = !!user?.connected; this.eliminated = false; this.secondsLeft = 1; this.turnSecondsLeft = 1; this.dcSecondsLeft = 1; - this.connected = true; + this.knownActive = true; this.invite = ''; this.hasTeam = false; @@ -135,44 +143,19 @@ export class RoomBattlePlayer extends RoomGames.RoomGamePlayer { } } } - getUser() { - return (this.id && Users.get(this.id)) || null; - } - unlinkUser() { + override destroy() { const user = this.getUser(); if (user) { - for (const connection of user.connections) { - Sockets.channelMove(connection.worker, this.game.roomid, 0, connection.socketid); - } - user.games.delete(this.game.roomid); - user.updateSearch(); + this.updateChannel(user, 0); } - this.id = ''; - this.connected = false; + this.knownActive = false; this.active = false; } - updateChannel(user: User | Connection) { - if (user instanceof Users.Connection) { - // "user" is actually a connection - Sockets.channelMove(user.worker, this.game.roomid, this.channelIndex, user.socketid); - return; - } - for (const connection of user.connections) { - Sockets.channelMove(connection.worker, this.game.roomid, this.channelIndex, connection.socketid); + updateChannel(user: User | Connection, channel = this.channelIndex) { + for (const connection of (user.connections || [user])) { + Sockets.channelMove(connection.worker, this.game.roomid, channel, connection.socketid); } } - - toString() { - return this.id; - } - send(data: string) { - const user = this.getUser(); - if (user) user.send(data); - } - sendRoom(data: string) { - const user = this.getUser(); - if (user) user.sendTo(this.game.roomid, data); - } } export class RoomBattleTimer { @@ -260,6 +243,7 @@ export class RoomBattleTimer { const requestedBy = requester ? ` (requested by ${requester.name})` : ``; this.battle.room.add(`|inactive|Battle timer is ON: inactive players will automatically lose when time's up.${requestedBy}`).update(); + this.checkActivity(); this.nextRequest(); return true; } @@ -340,9 +324,7 @@ export class RoomBattleTimer { const secondsLeft = player.turnSecondsLeft; let grace = player.secondsLeft - this.settings.starting; if (grace < 0) grace = 0; - if (player) { - player.sendRoom(`|inactive|Time left: ${secondsLeft} sec this turn | ${player.secondsLeft - grace} sec total` + (grace ? ` | ${grace} sec grace` : ``)); - } + player.sendRoom(`|inactive|Time left: ${secondsLeft} sec this turn | ${player.secondsLeft - grace} sec total` + (grace ? ` | ${grace} sec grace` : ``)); if (secondsLeft <= 30 && secondsLeft < this.settings.starting) { room.add(`|inactive|${player.name} has ${secondsLeft} seconds left this turn.`); } @@ -360,7 +342,7 @@ export class RoomBattleTimer { const room = this.battle.room; for (const player of this.battle.players) { if (player.request.isWait) continue; - if (player.connected) { + if (player.knownActive) { player.secondsLeft -= TICK_TIME; player.turnSecondsLeft -= TICK_TIME; } else { @@ -373,13 +355,12 @@ export class RoomBattleTimer { const dcSecondsLeft = player.dcSecondsLeft; if (dcSecondsLeft <= 0) { - player.hitDisconnectLimit = true; player.turnSecondsLeft = 0; } const secondsLeft = player.turnSecondsLeft; if (!secondsLeft) continue; - if (!player.connected && (dcSecondsLeft <= secondsLeft || this.settings.dcTimerBank)) { + if (!player.knownActive && (dcSecondsLeft <= secondsLeft || this.settings.dcTimerBank)) { // dc timer is shown only if it's lower than turn timer or you're in timer bank mode if (dcSecondsLeft % 30 === 0 || dcSecondsLeft <= 20) { room.add(`|inactive|${player.name} has ${dcSecondsLeft} seconds to reconnect!`); @@ -402,13 +383,13 @@ export class RoomBattleTimer { checkActivity() { if (this.battle.ended) return; for (const player of this.battle.players) { - const isConnected = !!player?.active; + const isActive = !!player.active; - if (isConnected === player.connected) continue; + if (isActive === player.knownActive) continue; - if (!isConnected) { + if (!isActive) { // player has disconnected - player.connected = false; + player.knownActive = false; if (!this.settings.dcTimerBank) { // don't wait longer than 6 ticks (1 minute) if (this.settings.dcTimer) { @@ -436,7 +417,7 @@ export class RoomBattleTimer { } } else { // player has reconnected - player.connected = true; + player.knownActive = true; if (this.timerRequesters.size) { let timeLeft = ``; if (!player.request.isWait) { @@ -458,16 +439,12 @@ export class RoomBattleTimer { } let didSomething = false; for (const player of players) { + if (!player.id) continue; // already eliminated, relevant for FFA gamesif it if (player.turnSecondsLeft > 0) continue; - if (this.settings.timeoutAutoChoose && player.secondsLeft > 0 && player.connected) { + if (this.settings.timeoutAutoChoose && player.secondsLeft > 0 && player.knownActive) { void this.battle.stream.write(`>${player.slot} default`); didSomething = true; } else { - // in bo3, if player dcs then they lose the set. - // assume if not connected then they got hit by dc timer - if (!player.connected) { - player.hitDisconnectLimit = true; - } this.battle.forfeitPlayer(player, ' lost due to inactivity.'); return true; } @@ -476,7 +453,7 @@ export class RoomBattleTimer { } } -interface RoomBattlePlayerOptions { +export interface RoomBattlePlayerOptions { user: User; /** should be '' for random teams */ team?: string; @@ -487,11 +464,15 @@ interface RoomBattlePlayerOptions { export interface RoomBattleOptions { format: string; - p1?: RoomBattlePlayerOptions; - p2?: RoomBattlePlayerOptions; - p3?: RoomBattlePlayerOptions; - p4?: RoomBattlePlayerOptions; - + /** + * length should be equal to the format's playerCount, except in two + * special cases: + * - `/importinputlog`, where it's empty (players have to be invited/restored) + * - challenge ffa/multi, where it's 2 (the rest have to be invited) + * - restoring saved battles after a restart (players should be manually restored) + * In all special cases, either `delayedStart` or `inputLog` must be set + */ + players: RoomBattlePlayerOptions[]; delayedStart?: boolean | 'multi'; challengeType?: ChallengeType; allowRenames?: boolean; @@ -501,19 +482,20 @@ export interface RoomBattleOptions { ratedMessage?: string; seed?: PRNGSeed; roomid?: RoomID; - players?: ID[]; /** For battles restored after a restart */ delayedTimer?: boolean; - restored?: boolean; - /** Best-of stuff */ - isSubBattle?: boolean; + /** + * If false and the format is a best-of format, creates a best-of game + * rather than a battle. + */ + isBestOfSubBattle?: boolean; } -export class RoomBattle extends RoomGames.RoomGame { - readonly gameid: ID; - readonly room: GameRoom; - readonly title: string; - readonly allowRenames: boolean; +export class RoomBattle extends RoomGame { + override readonly gameid = 'battle' as ID; + override readonly room!: GameRoom; + override readonly title: string; + override readonly allowRenames: boolean; readonly format: string; /** Will exist even if the game is unrated, in case it's later forced to be rated */ readonly ladder: string; @@ -527,39 +509,34 @@ export class RoomBattle extends RoomGames.RoomGame { /** * userid that requested extraction -> playerids that accepted the extraction */ - readonly allowExtraction: {[k: string]: Set}; + readonly allowExtraction: {[k: string]: Set} = {}; readonly stream: Streams.ObjectReadWriteStream; - readonly timer: RoomBattleTimer; - missingBattleStartMessage: boolean | 'multi'; - started: boolean; - ended: boolean; - active: boolean; - needsRejoin: Set | null; - replaySaved: boolean; + override readonly timer: RoomBattleTimer; + started = false; + active = false; + replaySaved: boolean | 'auto' = false; forcedSettings: {modchat?: string | null, privacy?: string | null} = {}; - p1: RoomBattlePlayer; - p2: RoomBattlePlayer; - p3: RoomBattlePlayer; - p4: RoomBattlePlayer; - inviteOnlySetter: ID | null; - logData: AnyObject | null; - endType: string; + p1: RoomBattlePlayer = null!; + p2: RoomBattlePlayer = null!; + p3: RoomBattlePlayer = null!; + p4: RoomBattlePlayer = null!; + inviteOnlySetter: ID | null = null; + logData: AnyObject | null = null; + endType: 'forfeit' | 'forced' | 'normal' = 'normal'; /** * If the battle is ended: an array of the number of Pokemon left for each side. */ - score: number[] | null; - inputLog: string[] | null; - turn: number; - rqid: number; - requestCount: number; + score: number[] | null = null; + inputLog: string[] | null = null; + turn = 0; + rqid = 1; + requestCount = 0; options: RoomBattleOptions; frozen?: boolean; dataResolvers?: [((args: string[]) => void), ((error: Error) => void)][]; constructor(room: GameRoom, options: RoomBattleOptions) { super(room); const format = Dex.formats.get(options.format, true); - this.gameid = 'battle' as ID; - this.room = room; this.title = format.name; this.options = options; if (!this.title.endsWith(" Battle")) this.title += " Battle"; @@ -570,40 +547,11 @@ export class RoomBattle extends RoomGames.RoomGame { this.challengeType = options.challengeType || 'challenge'; this.rated = options.rated === true ? 1 : options.rated || 0; this.ladder = typeof format.rated === 'string' ? toID(format.rated) : options.format; - // true when onCreateBattleRoom has been called - this.missingBattleStartMessage = !!options.inputLog || options.delayedStart || false; - this.started = false; - this.ended = false; - this.active = false; - this.replaySaved = false; - - this.playerCap = this.gameType === 'multi' || this.gameType === 'freeforall' ? 4 : 2; - this.p1 = null!; - this.p2 = null!; - this.p3 = null!; - this.p4 = null!; - this.inviteOnlySetter = null; - - this.needsRejoin = options.restored ? new Set(options.players) : null; - - // data to be logged - this.allowExtraction = {}; - - this.logData = null; - this.endType = 'normal'; - this.score = null; - this.inputLog = null; - this.turn = 0; - - this.rqid = 1; - this.requestCount = 0; + this.playerCap = format.playerCount; this.stream = PM.createStream(); - let ratedMessage = ''; - if (options.ratedMessage) { - ratedMessage = options.ratedMessage; - } + let ratedMessage = options.ratedMessage || ''; if (this.rated) { ratedMessage = 'Rated battle'; } else if (this.room.tour) { @@ -626,11 +574,25 @@ export class RoomBattle extends RoomGames.RoomGame { void this.listen(); - this.addPlayer(options.p1?.user || null, options.p1); - this.addPlayer(options.p2?.user || null, options.p2); - if (this.playerCap > 2) { - this.addPlayer(options.p3?.user || null, options.p3); - this.addPlayer(options.p4?.user || null, options.p4); + if (options.players.length > this.playerCap) { + throw new Error(`${options.players.length} players passed to battle ${room.roomid} but ${this.playerCap} players expected`); + } + for (let i = 0; i < this.playerCap; i++) { + const p = options.players[i]; + const player = this.addPlayer(p?.user || null, p || null); + if (!player) throw new Error(`failed to create player ${i + 1} in ${room.roomid}`); + } + if (options.inputLog) { + let scanIndex = 0; + for (const player of this.players) { + const nameIndex1 = options.inputLog.indexOf(`"name":"`, scanIndex); + const nameIndex2 = options.inputLog.indexOf(`"`, nameIndex1 + 8); + if (nameIndex1 < 0 || nameIndex2 < 0) break; // shouldn't happen. incomplete inputlog? + scanIndex = nameIndex2 + 1; + const name = options.inputLog.slice(nameIndex1 + 8, nameIndex2); + player.name = name; + player.hasTeam = true; + } } this.timer = new RoomBattleTimer(this); if (Config.forcetimer || this.format.includes('blitz')) this.timer.start(); @@ -638,26 +600,13 @@ export class RoomBattle extends RoomGames.RoomGame { } checkActive() { - let active = true; - if (this.ended || !this.started) { - active = false; - } else if (!this.p1?.active) { - active = false; - } else if (!this.p2?.active) { - active = false; - } else if (this.playerCap > 2) { - if (!this.p3?.active) { - active = false; - } else if (!this.p4?.active) { - active = false; - } - } + const active = (this.started && !this.ended && this.players.every(p => p.active)); Rooms.global.battleCount += (active ? 1 : 0) - (this.active ? 1 : 0); this.room.active = active; this.active = active; if (Rooms.global.battleCount === 0) Rooms.global.automaticKillRequest(); } - choose(user: User, data: string) { + override choose(user: User, data: string) { if (this.frozen) { user.popup(`Your battle is currently paused, so you cannot move right now.`); return; @@ -681,7 +630,7 @@ export class RoomBattle extends RoomGames.RoomGame { void this.stream.write(`>${player.slot} ${choice}`); } - undo(user: User, data: string) { + override undo(user: User, data: string) { const player = this.playerTable[user.id]; const [, rqid] = data.split('|', 2); if (!player) return; @@ -700,20 +649,13 @@ export class RoomBattle extends RoomGames.RoomGame { void this.stream.write(`>${player.slot} undo`); } - joinGame(user: User, slot?: SideID, playerOpts?: {team?: string}) { - if (this.needsRejoin?.size && !this.needsRejoin.has(user.id)) { - user.popup(`All the original players in this battle must join first.`); - return false; - } + override joinGame(user: User, slot?: SideID, playerOpts?: {team?: string}) { if (user.id in this.playerTable) { user.popup(`You have already joined this battle.`); return false; } - const validSlots: SideID[] = []; - for (const player of this.players) { - if (!player.id) validSlots.push(player.slot); - } + const validSlots = this.players.filter(player => !player.id).map(player => player.slot); if (slot && !validSlots.includes(slot)) { user.popup(`This battle already has a user in slot ${slot}.`); @@ -721,16 +663,16 @@ export class RoomBattle extends RoomGames.RoomGame { } if (!validSlots.length) { - user.popup(`This battle already has two players.`); + user.popup(`This battle already has ${this.playerCap} players.`); return false; } + slot ??= this.players.find(player => player.invite === user.id)?.slot; if (!slot && validSlots.length > 1) { user.popup(`Which slot would you like to join into? Use something like \`/joingame ${validSlots[0]}\``); return false; } - - if (!slot) slot = validSlots[0]; + slot ??= validSlots[0]; if (this[slot].invite === user.id) { this.room.auth.set(user.id, Users.PLAYER_SYMBOL); @@ -739,16 +681,13 @@ export class RoomBattle extends RoomGames.RoomGame { return false; } - this.updatePlayer(this[slot], user, playerOpts); - this.needsRejoin?.delete(user.id); - if (validSlots.length - 1 < 1 && this.missingBattleStartMessage) { - const users = this.players.map(player => { - const u = player.getUser(); - if (!u) throw new Error(`User ${player.name} not found on ${this.roomid} battle creation`); - return u; - }); + this.setPlayerUser(this[slot], user, playerOpts); + if (validSlots.length - 1 <= 0) { + // all players have joined, start the battle + // onCreateBattleRoom crashes if some users are unavailable at start of battle + // what do we do??? no clue but I guess just exclude them from the array for now + const users = this.players.map(player => player.getUser()).filter(Boolean) as User[]; Rooms.global.onCreateBattleRoom(users, this.room, {rated: this.rated}); - this.missingBattleStartMessage = false; this.started = true; this.room.add(`|uhtmlchange|invites|`); } else if (!this.started && this.invitesFull()) { @@ -758,7 +697,7 @@ export class RoomBattle extends RoomGames.RoomGame { this.room.update(); return true; } - leaveGame(user: User) { + override leaveGame(user: User) { if (!user) return false; // ... if (this.room.rated || this.room.tour) { user.popup(`Players can't be swapped out in a ${this.room.tour ? "tournament" : "rated"} battle.`); @@ -772,12 +711,11 @@ export class RoomBattle extends RoomGames.RoomGame { Chat.runHandlers('onBattleLeave', user, this.room); this.updatePlayer(player, null); - this.room.auth.set(user.id, '+'); this.room.update(); return true; } - startTimer() { + override startTimer() { this.timer.start(); } @@ -801,7 +739,7 @@ export class RoomBattle extends RoomGames.RoomGame { this.room.add(`|bigerror|The simulator process crashed. We've been notified and will fix this ASAP.`); if (!disconnected) Monitor.crashlog(new Error(`Sim stream interrupted`), `A sim stream`); this.started = true; - this.ended = true; + this.setEnded(); this.checkActive(); } } @@ -852,10 +790,10 @@ export class RoomBattle extends RoomGames.RoomGame { choice: '', }; this.requestCount++; - if (player) player.sendRoom(`|request|${requestJSON}`); + player?.sendRoom(`|request|${requestJSON}`); break; } - if (player) player.sendRoom(lines[2]); + player?.sendRoom(lines[2]); break; } @@ -874,67 +812,65 @@ export class RoomBattle extends RoomGames.RoomGame { this.score = this.logData!.score; this.inputLog = this.logData!.inputLog; this.started = true; - if (!this.ended) { - this.ended = true; - void this.onEnd(this.logData!.winner); - this.clearPlayers(); - } - this.checkActive(); + void this.end(this.logData!.winner); break; } } - async onEnd(winner: any) { + end(winnerName: unknown) { + if (this.ended) return; + this.setEnded(); + this.checkActive(); this.timer.end(); // Declare variables here in case we need them for non-rated battles logging. let p1score = 0.5; - const winnerid = toID(winner); + const winnerid = toID(winnerName); // Check if the battle was rated to update the ladder, return its response, and log the battle. - const p1name = this.p1.name; - const p2name = this.p2.name; - const p1id = toID(p1name); - const p2id = toID(p2name); - if (winnerid === p1id) { + if (winnerid === this.p1.id) { p1score = 1; - } else if (winnerid === p2id) { + } else if (winnerid === this.p2.id) { p1score = 0; } - Chat.runHandlers('onBattleEnd', this, winnerid, [p1id, p2id, this.p3?.id, this.p4?.id].filter(Boolean)); - if (this.room.rated && !this.options.isSubBattle) { - this.room.rated = 0; - winner = Users.get(winnerid); - if (winner && !winner.registered) { - this.room.sendUser(winner, '|askreg|' + winner.id); - } - const [score, p1rating, p2rating] = await Ladders(this.ladder).updateRating(p1name, p2name, p1score, this.room); - void this.logBattle(score, p1rating, p2rating); - Chat.runHandlers('onBattleRanked', this, winnerid, [p1rating, p2rating], [p1id, p2id]); + Chat.runHandlers('onBattleEnd', this, winnerid, this.players.map(p => p.id)); + if (this.room.rated && !this.options.isBestOfSubBattle) { + void this.updateLadder(p1score, winnerid); } else if (Config.logchallenges) { void this.logBattle(p1score); - } else if (!this.options.isSubBattle) { + } else if (!this.options.isBestOfSubBattle) { this.logData = null; } + this.room.parent?.game?.onBattleWin?.(this.room, winnerid); + // If the room's replay was hidden, don't let users join after the game is over + if (this.room.hideReplay) { + this.room.settings.modjoin = '%'; + this.room.setPrivate('hidden'); + } + this.room.update(); + + // so it stops showing up in the users' games list + for (const player of this.players) { + player.getUser()?.games.delete(this.roomid); + } + // If a replay was saved at any point or we were configured to autosavereplays, // reupload when the battle is over to overwrite the partial data (and potentially // reflect any changes that may have been made to the replay's hidden status). if (this.replaySaved || Config.autosavereplays) { - const uploader = Users.get(winnerid || p1id); - if (uploader?.connections[0]) { - Chat.parse('/savereplay silent', this.room, uploader, uploader.connections[0]); - } - } - const parentGame = this.room.parent && this.room.parent.game; - // @ts-ignore - Tournaments aren't TS'd yet - if (parentGame?.onBattleWin) { - // @ts-ignore - parentGame.onBattleWin(this.room, winnerid); + const options = Config.autosavereplays === 'private' ? undefined : 'silent'; + return this.room.uploadReplay(undefined, undefined, options); } - // If the room's replay was hidden, disable users from joining after the game is over - if (this.room.hideReplay) { - this.room.settings.modjoin = '%'; - this.room.setPrivate('hidden'); + } + async updateLadder(p1score: number, winnerid: ID) { + this.room.rated = 0; + const winner = Users.get(winnerid); + if (winner && !winner.registered) { + this.room.sendUser(winner, '|askreg|' + winner.id); } - this.room.update(); + const [score, p1rating, p2rating] = await Ladders(this.ladder).updateRating( + this.p1.name, this.p2.name, p1score, this.room + ); + void this.logBattle(score, p1rating, p2rating); + Chat.runHandlers('onBattleRanked', this, winnerid, [p1rating, p2rating], [this.p1.id, this.p2.id]); } async logBattle( p1score: number, p1rating: AnyObject | null = null, p2rating: AnyObject | null = null, @@ -957,6 +893,7 @@ export class RoomBattle extends RoomGames.RoomGame { } logData.p1rating = p1rating; + if (this.replaySaved) logData.replaySaved = this.replaySaved; logData.p2rating = p2rating; if (this.playerCap > 2) { logData.p3rating = p3rating; @@ -972,13 +909,17 @@ export class RoomBattle extends RoomGames.RoomGame { const logsubfolder = Chat.toTimestamp(date).split(' ')[0]; const logfolder = logsubfolder.split('-', 2).join('-'); const tier = Dex.formats.get(this.room.format).id; - const logpath = `logs/${logfolder}/${tier}/${logsubfolder}/`; + const logpath = `${logfolder}/${tier}/${logsubfolder}/`; - await FS(logpath).mkdirp(); - await FS(`${logpath}${this.room.getReplayData().id}.log.json`).write(JSON.stringify(logData)); + await Monitor.logPath(logpath).mkdirp(); + await Monitor.logPath(`${logpath}${this.room.getReplayData().id}.log.json`).write(JSON.stringify(logData)); // console.log(JSON.stringify(logData)); } - onConnect(user: User, connection: Connection | null = null) { + override onConnect(user: User, connection: Connection | null = null) { + if (this.ended && this.room.parent?.game?.constructor.name === 'BestOfGame') { + const parentGame = this.room.parent.game as BestOfGame; + parentGame.playerTable[user.id]?.updateReadyButton(); + } // this handles joining a battle in which a user is a participant, // where the user has already identified before attempting to join // the battle @@ -996,10 +937,7 @@ export class RoomBattle extends RoomGames.RoomGame { } if (!player.active) this.onJoin(user); } - onUpdateConnection(user: User, connection: Connection | null = null) { - this.onConnect(user, connection); - } - onRename(user: User, oldUserid: ID, isJoining: boolean, isForceRenamed: boolean) { + override onRename(user: User, oldUserid: ID, isJoining: boolean, isForceRenamed: boolean) { if (user.id === oldUserid) return; if (!this.playerTable) { // !! should never happen but somehow still does @@ -1040,15 +978,16 @@ export class RoomBattle extends RoomGames.RoomGame { }; void this.stream.write(`>player ${player.slot} ` + JSON.stringify(options)); } - onJoin(user: User) { + override onJoin(user: User) { const player = this.playerTable[user.id]; if (player && !player.active) { player.active = true; this.timer.checkActivity(); - this.room.add(`|player|${player.slot}|${user.name}|${user.avatar}`); + this.room.add(`|player|${player.slot}|${user.name}|${user.avatar}|`); + Chat.runHandlers('onBattleJoin', player.slot, user, this); } } - onLeave(user: User, oldUserid?: ID) { + override onLeave(user: User, oldUserid?: ID) { const player = this.playerTable[oldUserid || user.id]; if (player?.active) { player.sendRoom(`|request|null`); @@ -1073,7 +1012,7 @@ export class RoomBattle extends RoomGames.RoomGame { tiebreak() { void this.stream.write(`>tiebreak`); } - forfeit(user: User | string, message = '') { + override forfeit(user: User | string, message = '') { if (typeof user !== 'string') user = user.id; else user = toID(user); @@ -1082,15 +1021,14 @@ export class RoomBattle extends RoomGames.RoomGame { } forfeitPlayer(player: RoomBattlePlayer, message = '') { - if (this.ended || !this.started) return false; + if (this.ended || !this.started || player.eliminated) return false; - if (!message) message = ' forfeited.'; - this.room.add(`|-message|${player.name}${message}`); + player.eliminated = true; + this.room.add(`|-message|${player.name}${message || ' forfeited.'}`); this.endType = 'forfeit'; - // multi battles, they need to be removed, else they can do things like spam forfeit if (this.playerCap > 2) { player.sendRoom(`|request|null`); - this.removePlayer(player); + this.setPlayerUser(player, null); } void this.stream.write(`>forcelose ${player.slot}`); return true; @@ -1100,8 +1038,9 @@ export class RoomBattle extends RoomGames.RoomGame { * playerOpts should be empty only if importing an inputlog * (so the player isn't recreated) */ - addPlayer(user: User | null, playerOpts?: RoomBattlePlayerOptions) { + override addPlayer(user: User | string | null, playerOpts?: RoomBattlePlayerOptions | null) { const player = super.addPlayer(user); + if (typeof user === 'string') user = null; if (!player) return null; const slot = player.slot; this[slot] = player; @@ -1127,16 +1066,15 @@ export class RoomBattle extends RoomGames.RoomGame { checkPrivacySettings(options: RoomBattleOptions & Partial) { let inviteOnly = false; const privacySetter = new Set([]); - for (const p of ['p1', 'p2', 'p3', 'p4'] as const) { - const playerOptions = options[p]; - if (playerOptions) { - if (playerOptions.inviteOnly) { + for (const p of options.players) { + if (p.user) { + if (p.inviteOnly) { inviteOnly = true; - privacySetter.add(playerOptions.user.id); - } else if (playerOptions.hidden) { - privacySetter.add(playerOptions.user.id); + privacySetter.add(p.user.id); + } else if (p.hidden) { + privacySetter.add(p.user.id); } - if (playerOptions.user) this.checkForcedUserSettings(playerOptions.user); + this.checkForcedUserSettings(p.user); } } @@ -1190,12 +1128,17 @@ export class RoomBattle extends RoomGames.RoomGame { return new RoomBattlePlayer(user, this, num); } - updatePlayer(player: RoomBattlePlayer, user: User | null, playerOpts?: {team?: string}) { - super.updatePlayer(player, user); + override setPlayerUser(player: RoomBattlePlayer, user: User | null, playerOpts?: {team?: string}) { + if (user === null && this.room.auth.get(player.id) === Users.PLAYER_SYMBOL) { + this.room.auth.set(player.id, '+'); + } + super.setPlayerUser(player, user); player.invite = ''; const slot = player.slot; if (user) { + player.active = user.inRooms.has(this.roomid); + player.knownActive = true; const options = { name: player.name, avatar: user.avatar, @@ -1204,8 +1147,11 @@ export class RoomBattle extends RoomGames.RoomGame { void this.stream.write(`>player ${slot} ` + JSON.stringify(options)); if (playerOpts) player.hasTeam = true; - this.room.add(`|player|${slot}|${player.name}|${user.avatar}`); + this.room.add(`|player|${slot}|${player.name}|${user.avatar}|`); + Chat.runHandlers('onBattleJoin', slot as string, user, this); } else { + player.active = false; + player.knownActive = false; const options = { name: '', }; @@ -1216,20 +1162,6 @@ export class RoomBattle extends RoomGames.RoomGame { } start() { - // on start - const users = this.players.map(player => { - const user = player.getUser(); - if (!user && !this.missingBattleStartMessage) { - throw new Error(`User ${player.name} not found on ${this.roomid} battle creation`); - } - return user; - }); - if (!this.missingBattleStartMessage) { - // @ts-ignore The above error should throw if null is found, or this should be skipped - Rooms.global.onCreateBattleRoom(users, this.room, {rated: this.rated}); - this.started = true; - } - if (this.gameType === 'multi') { this.room.title = `Team ${this.p1.name} vs. Team ${this.p2.name}`; } else if (this.gameType === 'freeforall') { @@ -1247,7 +1179,25 @@ export class RoomBattle extends RoomGames.RoomGame { `For information on how to participate check out the suspect thread.
` ).update(); } - if (this.missingBattleStartMessage === 'multi') { + + // run onCreateBattleRoom handlers + + if (this.options.inputLog && this.players.every(player => player.hasTeam)) { + // already started + this.started = true; + } + const delayStart = this.options.delayedStart || !!this.options.inputLog; + const users = this.players.map(player => { + const user = player.getUser(); + if (!user && !delayStart) { + throw new Error(`User ${player.id} not found on ${this.roomid} battle creation`); + } + return user; + }); + if (!delayStart) { + Rooms.global.onCreateBattleRoom(users as User[], this.room, {rated: this.rated}); + this.started = true; + } else if (delayStart === 'multi') { this.room.add(`|uhtml|invites|
This is a 4-player challenge battle
The players will need to add more players before the battle can start.
`); } } @@ -1262,6 +1212,7 @@ export class RoomBattle extends RoomGames.RoomGame { return; } if (!connection) return; + const playerForms = this.players.map(player => ( player.id ? ( `
` @@ -1281,13 +1232,11 @@ export class RoomBattle extends RoomGames.RoomGame { ); } - clearPlayers() { - for (const player of this.players) { - player.unlinkUser(); + override destroy() { + if (!this.ended) { + this.setEnded(); + this.room.parent?.game?.onBattleWin?.(this.room, ''); } - } - - destroy() { for (const player of this.players) { player.destroy(); } @@ -1298,7 +1247,6 @@ export class RoomBattle extends RoomGames.RoomGame { this.p3 = null!; this.p4 = null!; - this.ended = true; void this.stream.destroy(); if (this.active) { Rooms.global.battleCount += -1; @@ -1318,6 +1266,9 @@ export class RoomBattle extends RoomGames.RoomGame { const id = toID(user); const player = this.playerTable[id]; if (!player) return; + return this.getPlayerTeam(player); + } + async getPlayerTeam(player: RoomBattlePlayer) { void this.stream.write(`>requestteam ${player.slot}`); const teamDataPromise = new Promise((resolve, reject) => { if (!this.dataResolvers) this.dataResolvers = []; @@ -1328,7 +1279,7 @@ export class RoomBattle extends RoomGames.RoomGame { const result = Teams.unpack(resultStrings[0]); return result; } - onChatMessage(message: string, user: User) { + override onChatMessage(message: string, user: User) { const parts = message.split('\n'); for (const line of parts) { void this.stream.write(`>chat-inputlogonly ${user.getIdentity(this.room)}|${line}`); @@ -1346,374 +1297,14 @@ export class RoomBattle extends RoomGames.RoomGame { } } -export class BestOfGame extends RoomGames.RoomGame { - bestOf: number; - format: Format; - score: number[] | null = null; - winThreshold: number; - options: RoomBattleOptions; - p1!: ID; - p2!: ID; - wins = {p1: 0, p2: 0}; - ready: {p1: boolean, p2: boolean} | null = null; - ties = 0; - games: {battle: Room, winner: string | null, rated: number}[] = []; - allowRenames = false; - playerNum = 0; - winner: ID | null = null; - waitingBattle: RoomBattle | null = null; - nextBattleTimerStart: number | null = null; - nextBattleTimer: NodeJS.Timer | null = null; - ended = false; - needsTimer = false; - teams: Record = {}; - constructor(room: Room, options: RoomBattleOptions) { - super(room, false); - this.format = Dex.formats.get(options.format); - this.bestOf = Number(Dex.formats.getRuleTable(this.format).valueRules.get('bestof'))!; - this.winThreshold = Math.floor(this.bestOf / 2) + 1; - this.title = this.format.name; - if (!toID(this.title).includes('bestof')) { - this.title += ` (Best-of-${this.bestOf})`; - } - this.options = options; - options.isSubBattle = true; - if (!options.players && (options.p1 || options.p2)) { - options.players = [options.p1?.user, options.p2?.user].map(toID); - } - for (const userid of options.players || []) { - const player = this.makePlayer(userid); - this.playerTable[userid] = player; - this.room.auth.set(userid, Users.PLAYER_SYMBOL); - this[`p${player.num}` as 'p1' | 'p2'] = userid; - } - process.nextTick(() => this.nextGame()); - } - onConnect(user: User) { - const player = this.playerTable[user.id]; - if (player) { - player.sendRoom('|cantleave|'); - } - } - makePlayer(userid: string | User): RoomGames.RoomGamePlayer { - return new RoomGames.RoomGamePlayer(Users.get(userid) || userid, this, ++this.playerNum); - } - cleanup() { - this.waitingBattle = null; - if (this.ready) this.ready = null; - if (this.nextBattleTimer) { - clearInterval(this.nextBattleTimer); - this.nextBattleTimerStart = null; - } - this.nextBattleTimerStart = null; - this.nextBattleTimer = null; - } - nextGame() { - if (this.waitingBattle) { - this.waitingBattle.room.add(`Both players are ready! Starting next match!`).update(); - } - this.cleanup(); - - const battle = Rooms.createBattle(this.options); - if (!battle) throw new Error("Failed to create battle for " + this.title); - battle.setParent(this.room); - this.games.push({ - battle, - winner: null, - rated: battle.rated, - }); - // the absolute result is what counts for rating - battle.rated = 0; - if (this.needsTimer) { - battle.battle?.timer.start(); - } - battle.add( - `|html|View the match progress at ${this.roomid}` - ).update(); - this.updateDisplay(); - this.room.add(`|html|

Game ${this.games.length}

`); - this.room.add(`|html|${battle.title}`); - this.room.update(); - } - updateDisplay() { - const p1name = this.name(this.p1); - const p2name = this.name(this.p2); - let buf = Utils.html`
${p1name} and ${p2name}'s Best-of-${this.bestOf} progress:
`; - buf += ''; - for (const k of ['p1', 'p2'] as const) { - const userid = this[k]; - buf += ``; - } - buf += `
${this.name(userid)}: `; - for (let i = 0; i < this.bestOf; i++) { - if (this.games[i]?.winner === userid) { - buf += ``; - } else { - buf += ``; - } - if (i !== this.bestOf - 1) { - buf += ` `; - } - } - buf += `


`; - buf += ``; - - for (const userid of [this.p1, null, this.p2]) { - if (userid === null) { - buf += ``; - continue; - } - buf += ``; - } - - buf += ``; - - for (const [i, userid] of [this.p1, null, this.p2].entries()) { - if (userid === null) { - buf += ``; - continue; - } - let name = Users.get(userid)?.avatar; - if (!name || typeof name === 'number') name = 'unknownf'; - const url = Chat.plugins.avatars?.Avatars.src(name) || `https://${Config.routes.client}/sprites/trainers/${name}.png`; - buf += ``; - } - - buf += ``; - - for (const [i, slot] of ['p1', null, 'p2'].entries()) { - if (slot === null) { - buf += ``; - continue; - } - const team = Teams.unpack(this.options[slot as 'p1' | 'p2']?.team || ""); - if (!team || !Dex.formats.getRuleTable(this.format).has('teampreview')) { - buf += ``; - continue; - } - const style = !i ? ' style="transform: scaleX(-1)"' : ""; - buf += ``; - } - buf += `
${this.name(userid)}
`; - buf += ``; - buf += `
vs `; - buf += ` `.repeat(3); - buf += `
`; - buf += ` `.repeat(3); - buf += `
`; - for (const [j, set] of team.entries()) { - if (j % 3 === 0 && j > 1) buf += `
`; - buf += ``; - } - buf += `
`; - - this.room.add(`|fieldhtml|
${buf}
`); - buf = this.games.map(({battle, winner}, index) => { - let progress = `in progress`; - if (winner) progress = `winner: ${this.name(winner)}`; - if (winner === '') progress = `tied`; - return Utils.html`

Game ${index + 1}: ${battle.title} - ${progress}

`; - }).join(''); - if (this.winner) { - buf += Utils.html`

${this.name(this.winner)} won!

`; - } else if (this.winner === '') { - buf += `

The battle was tied.

`; - } - this.room.add(`|controlshtml|
${buf}
`); - this.room.update(); - } - - startTimer() { - this.needsTimer = true; - for (const {battle} of this.games) { - battle.battle?.timer.start(); - } - } - - onBattleWin(room: Room, winnerid: string) { - const loser = this.p1 === winnerid ? this.p2 : this.p1; - const loserPlayer = room.battle!.playerTable[loser]; - if (loserPlayer?.hitDisconnectLimit) { // disconnection means opp wins the set - this.room.add(`${this.name(loser)} lost the series due to inactivity.`); - return this.onEnd(winnerid as ID); - } - if (this.ended) return; - - let isTie = false; - if (this.p1 === winnerid) { - this.wins.p1++; - } else if (this.p2 === winnerid) { - this.wins.p2++; - } else { - this.ties++; - isTie = true; - this.winThreshold = Math.floor((this.bestOf - this.ties) / 2) + 1; - } - this.games[this.games.length - 1].winner = isTie ? '' : winnerid; - - this.room.add( - `|html|${winnerid ? `${this.name(winnerid)} won game ${this.games.length}!` : `Game ${this.games.length} was a tie`}` - ).update(); - for (const k in this.wins) { - if (this.wins[k as 'p1' | 'p2'] >= this.winThreshold) { - return this.onEnd(this[k as 'p1' | 'p2']); - } - } - if (this.games.length >= this.bestOf) return this.onEnd(''); // tie - // no one has won, skip onwards - setImmediate(() => this.promptNextGame(room)); - } - promptNextGame(room: Room) { - if (!room.battle || this.winner) return; // ??? - const cmd = `/msgroom ${this.room.roomid},/confirmready`; - for (const userid in room.battle.playerTable) { - const player = room.battle.playerTable[userid]; - player.id = userid as ID; // re-link users so that we can use timer properly - const name = Utils.escapeHTML(this.name(userid)); - const button = `|c|&|/uhtml prompt-${userid},`; - const prompt = `|c|&|/log Are you ready for game ${this.games.length + 1}, ${name}?`; - player.sendRoom(prompt); - player.sendRoom(button); - // send it to the main room as well, in case they x out of the old one - this.playerTable[userid].sendRoom(prompt); - this.playerTable[userid].sendRoom(button); - } - this.waitingBattle = room.battle; - this.ready = {p1: false, p2: false}; - this.nextBattleTimerStart = Date.now(); - this.nextBattleTimer = setInterval(() => this.pokeNextBattleTimer(), 10_000); - } - pokeNextBattleTimer() { - if (!this.nextBattleTimerStart || !this.nextBattleTimer) return; // ?? - if ((Date.now() - this.nextBattleTimerStart) >= (60_000)) { - return this.nextGame(); - } - for (const k of ['p1', 'p2'] as const) { - if (!this.ready![k]) { - const diff = (this.nextBattleTimerStart + 60000) - Date.now(); - this.waitingBattle?.room.add( - `|inactive|${this.name(this[k])} has ${Chat.toDurationString(diff + 100)}` + - ` to confirm battle start!` - ); - } - } - this.waitingBattle?.room.update(); - this.room.update(); - } - confirmReady(user: ID) { - if (![this.p1, this.p2].includes(user)) { - throw new Chat.ErrorMessage("You aren't a player in this best-of set."); - } - const battle = this.waitingBattle; - if (!this.ready || !battle) { - throw new Chat.ErrorMessage("The battle is not currently waiting for ready confirmation."); - } - - this.ready[user === this.p1 ? 'p1' : 'p2'] = true; - const readyMsg = Utils.html`|c|&|/uhtml prompt-${user},${this.name(user)} is ready for game ${this.games.length + 1}!`; - battle.room.add(readyMsg).update(); - if (Object.values(this.ready).filter(Boolean).length === 2) { - this.nextGame(); - } - } - getLatestBattle() { - // Strictly, this should never be null unless battle creation lags big time. but let's be typesafe anyway. - return this.games[this.games.length - 1].battle.battle; - } - private name(str: string) { - return Users.get(str)?.name || str; - } - win(targetUser: User | ID) { - targetUser = toID(targetUser); - if (!this.playerTable[targetUser]) return false; - return this.onEnd(targetUser); - } - tie() { - return this.onEnd(''); - } - async onEnd(winner: ID) { - this.cleanup(); - this.room.add(`|allowleave|`).update(); - if (winner) { - this.winner = winner; - this.room.add(`|win|${this.name(winner)}`); - } else { - this.winner = ''; - this.room.add(`|tie`); - } - this.updateDisplay(); - this.room.update(); - this.score = [this.wins.p1, this.wins.p2]; - const parentGame = this.room.parent && this.room.parent.game; - // @ts-ignore - Tournaments aren't TS'd yet - if (parentGame?.onBattleWin) { - // @ts-ignore - parentGame.onBattleWin(this.room, winner); - } - // run elo stuff here - let p1score = 0.5; - if (winner === this.p1) { - p1score = 1; - } else if (winner === this.p2) { - p1score = 0; - } - for (const k in this.playerTable) { - this.playerTable[k].unlinkUser(); - Users.get(k)?.updateSearch(); - } - - const {rated, battle: room} = this.games[this.games.length - 1]; - const battle = room.battle!; - if (rated) { - (room as GameRoom).rated = rated; // just in case - const winnerUser = Users.get(winner); - if (winnerUser && !winnerUser.registered) { - this.room.sendUser(winnerUser, '|askreg|' + winner); - } - const [score, p1rating, p2rating] = await Ladders(battle.ladder).updateRating( - this.name(this.p1), this.name(this.p2), p1score, battle.room - ); - void battle.logBattle(score, p1rating, p2rating); - Chat.runHandlers('onBattleRanked', battle, winner, [p1rating, p2rating], [this.p1, this.p2]); - } - } - forfeit(user: User | string, message = '') { - if (typeof user !== 'string') user = user.id; - else user = toID(user); - - if (!(user in this.playerTable)) return false; - this.winner = user === this.p1 ? this.p2 : this.p1; - this.room.add(Utils.html`${this.name(user)} forfeited.`); - this.ended = true; - void this.onEnd(this.winner); - for (const {battle} of this.games) { - if (!battle.battle || battle.battle.ended) continue; - battle.battle.forfeit(user, message); - } - return true; - } - destroy() { - this.cleanup(); - for (const k in this.playerTable) { - this.playerTable[k].unlinkUser(); - delete this.playerTable[k]; - } - for (const [i, entry] of this.games.entries()) { - entry.battle.setParent(null); - entry.battle.destroy(); - this.games.splice(i, 1); - } - } -} - export class RoomBattleStream extends BattleStream { - readonly battle: Battle; + override readonly battle: Battle; constructor() { super({keepAlive: true}); this.battle = null!; } - _write(chunk: string) { + override _write(chunk: string) { const startTime = Date.now(); if (this.battle && Config.debugsimprocesses && process.send) { process.send('DEBUG\n' + this.battle.inputLog.join('\n') + '\n' + chunk); @@ -1759,6 +1350,7 @@ export const PM = new ProcessManager.StreamProcessManager(module, () => new Room if (!PM.isParentProcess) { // This is a child process! + require('source-map-support').install(); global.Config = require('./config-loader').Config; global.Dex = require('../sim/dex').Dex; global.Monitor = { diff --git a/server/room-game.ts b/server/room-game.ts index 2eafc5f48cce..e93e5620a6fe 100644 --- a/server/room-game.ts +++ b/server/room-game.ts @@ -15,7 +15,23 @@ * @license MIT */ -// globally Rooms.RoomGamePlayer +/** + * Available globally as `Rooms.RoomGamePlayer`. + * + * Players are an abstraction for the people playing a `RoomGame`. They + * may or may not be associated with a user. If they are, the game will + * appear on the user's games list. + * + * Either way, they give a level of abstraction to players, allowing you + * to easily sub out users or otherwise associate/dissociate users. + * + * You should mostly only be adding/removing players with functions like + * `addPlayer`, `removePlayer`, etc, and changing the associated user + * with `setPlayerUser` or `setEnded`. + * + * Do not modify `playerTable` or `player.id` yourself, it will make + * users' games lists get out of sync. + */ export class RoomGamePlayer { readonly num: number; readonly game: GameClass; @@ -31,9 +47,21 @@ export class RoomGamePlayer { /** * This will be '' if there's no user associated with the player. * - * we explicitly don't hold a direct reference to the user + * After the game ends, this will still be the user's ID, but it + * won't be in the user's game list anymore. + * + * We intentionally don't hold a direct reference to the user. + * + * Do not modify directly. You usually want `game.updatePlayer` + * (respects allowRenames) or `game.setPlayerUser` (overrides + * allowRenames) or `game.renamePlayer` (overrides allowRenames + * and also skips gamelist updates if the change was a simple + * user rename). + * + * If force-modifying: remember to sync `this.game.playerTable` and + * `this.getUser().games`. */ - id: ID; + readonly id: ID; constructor(user: User | string | null, game: GameClass, num = 0) { this.num = num; if (!user) user = num ? `Player ${num}` : `Player`; @@ -46,29 +74,21 @@ export class RoomGamePlayer { user.updateSearch(); } } - unlinkUser() { - if (!this.id) return; - const user = Users.getExact(this.id); - if (user && !this.game.isSubGame) { - user.games.delete(this.game.roomid); - user.updateSearch(); - } - this.id = ''; - } destroy() { - this.unlinkUser(); + (this.game as any) = null; } toString() { return this.id; } + getUser() { + return this.id ? Users.getExact(this.id) : null; + } send(data: string) { - const user = Users.getExact(this.id); - if (user) user.send(data); + this.getUser()?.send(data); } sendRoom(data: string) { - const user = Users.getExact(this.id); - if (user) user.sendTo(this.game.roomid, data); + this.getUser()?.sendTo(this.game.roomid, data); } } @@ -78,26 +98,35 @@ export class RoomGamePlayer { * If you don't want to define your own player class, you should extend SimpleRoomGame. */ export abstract class RoomGame { + abstract gameid: ID; roomid: RoomID; /** * The room this roomgame is in. Rooms can have two RoomGames at a time, * which are available as `this.room.game === this` and `this.room.subGame === this`. */ room: Room; - gameid: ID; - title: string; - allowRenames: boolean; + title = 'Game'; + allowRenames = false; isSubGame: boolean; /** * userid:player table. * - * Does not contain userless players: use playerList for the full list. + * Does not contain userless players: use this.players for the full list. + * + * Do not iterate. You usually want to iterate `game.players` instead. + * + * Do not modify directly. You usually want `game.addPlayer` or + * `game.removePlayer` instead. + * + * Not a source of truth. Should be kept in sync with + * `Object.fromEntries(this.players.filter(p => p.id).map(p => [p.id, p]))` */ - playerTable: {[userid: string]: PlayerClass}; - players: PlayerClass[]; - playerCount: number; - playerCap: number; - ended: boolean; + playerTable: {[userid: string]: PlayerClass} = Object.create(null); + players: PlayerClass[] = []; + playerCount = 0; + playerCap = 0; + /** should only be set by setEnded */ + readonly ended: boolean = false; /** Does `/guess` or `/choose` require the user to be able to talk? */ checkChat = false; /** @@ -108,15 +137,7 @@ export abstract class RoomGame { +export abstract class SimpleRoomGame extends RoomGame { makePlayer(user: User | string | null, ...rest: any[]): RoomGamePlayer { const num = this.players.length ? this.players[this.players.length - 1].num : 1; return new RoomGamePlayer(user, this, num); diff --git a/server/roomlogs.ts b/server/roomlogs.ts index e8b7be41deeb..8aea6334e1f1 100644 --- a/server/roomlogs.ts +++ b/server/roomlogs.ts @@ -7,7 +7,8 @@ * @license MIT */ -import {FS, Utils} from '../lib'; +import {FS, Utils, type Streams} from '../lib'; +import {PGDatabase, SQL, SQLStatement} from '../lib/database'; import type {PartialModlogEntry} from './modlog'; interface RoomlogOptions { @@ -16,6 +17,20 @@ interface RoomlogOptions { noLogTimes?: boolean; } + +interface RoomlogRow { + type: string; + roomid: string; + userid: string | null; + time: Date; + log: string; + // tsvector, really don't use + content: string | null; +} + +export const roomlogDB = global.Config?.replaysdb ? new PGDatabase(Config.replaysdb) : null; +export const roomlogTable = roomlogDB?.getTable('roomlogs'); + /** * Most rooms have three logs: * - scrollback @@ -81,7 +96,9 @@ export class Roomlog { this.numTruncatedLines = 0; - void this.setupRoomlogStream(true); + if (!Config.replaysdb) { + void this.setupRoomlogStream(true); + } } getScrollback(channel = 0) { let log = this.log; @@ -105,7 +122,7 @@ export class Roomlog { return log.join('\n') + '\n'; } async setupRoomlogStream(sync = false) { - if (this.roomlogStream === null) return; + if (this.roomlogStream === null || roomlogTable) return; if (!Config.logchat) { this.roomlogStream = null; return; @@ -117,28 +134,28 @@ export class Roomlog { const date = new Date(); const dateString = Chat.toTimestamp(date).split(' ')[0]; const monthString = dateString.split('-', 2).join('-'); - const basepath = `logs/chat/${this.roomid}/`; + const basepath = `chat/${this.roomid}/`; const relpath = `${monthString}/${dateString}.txt`; if (relpath === this.roomlogFilename) return; if (sync) { - FS(basepath + monthString).mkdirpSync(); + Monitor.logPath(basepath + monthString).mkdirpSync(); } else { - await FS(basepath + monthString).mkdirp(); + await Monitor.logPath(basepath + monthString).mkdirp(); if (this.roomlogStream === null) return; } this.roomlogFilename = relpath; if (this.roomlogStream) void this.roomlogStream.writeEnd(); - this.roomlogStream = FS(basepath + relpath).createAppendStream(); + this.roomlogStream = Monitor.logPath(basepath + relpath).createAppendStream(); // Create a symlink to today's lobby log. // These operations need to be synchronous, but it's okay // because this code is only executed once every 24 hours. const link0 = basepath + 'today.txt.0'; - FS(link0).unlinkIfExistsSync(); + Monitor.logPath(link0).unlinkIfExistsSync(); try { - FS(link0).symlinkToSync(relpath); // intentionally a relative link - FS(link0).renameSync(basepath + 'today.txt'); + Monitor.logPath(link0).symlinkToSync(relpath); // intentionally a relative link + Monitor.logPath(link0).renameSync(basepath + 'today.txt'); } catch {} // OS might not support symlinks or atomic rename if (!Roomlogs.rollLogTimer) void Roomlogs.rollLogs(); } @@ -210,51 +227,95 @@ export class Roomlog { attributedUhtmlchange(user: User, name: string, message: string) { const start = `/uhtmlchange ${name},`; const fullMessage = this.withTimestamp(`|c|${user.getIdentity()}|${start}${message}`); + let matched = false; for (const [i, line] of this.log.entries()) { if (this.parseChatLine(line)?.message.startsWith(start)) { this.log[i] = fullMessage; + matched = true; break; } } + if (!matched) this.log.push(fullMessage); this.broadcastBuffer.push(fullMessage); } parseChatLine(line: string) { - const messageStart = !this.noLogTimes ? '|c:|' : '|c|'; - const section = !this.noLogTimes ? 4 : 3; // ['', 'c' timestamp?, author, message] - if (line.startsWith(messageStart)) { - const parts = Utils.splitFirst(line, '|', section); - return {user: parts[section - 1], message: parts[section]}; + const prefixes: [string, number][] = [['|c:|', 4], ['|c|', 3]]; + for (const [messageStart, section] of prefixes) { + // const messageStart = !this.noLogTimes ? '|c:|' : '|c|'; + // const section = !this.noLogTimes ? 4 : 3; // ['', 'c' timestamp?, author, message] + if (line.startsWith(messageStart)) { + const parts = Utils.splitFirst(line, '|', section); + return {user: parts[section - 1], message: parts[section]}; + } } } roomlog(message: string, date = new Date()) { - if (!this.roomlogStream) return; - const timestamp = Chat.toTimestamp(date).split(' ')[1] + ' '; message = message.replace(/]* src="data:image\/png;base64,[^">]+"[^>]*>/g, ''); - void this.roomlogStream.write(timestamp + message + '\n'); + if (roomlogTable && !(!Config.logchat || this.roomid.startsWith('battle-'))) { + const chatData = this.parseChatLine(message); + const type = message.split('|')[1] || ""; + void this.insertLog(SQL`INSERT INTO roomlogs (${{ + type: type, + roomid: this.roomid, + userid: toID(chatData?.user) || null, + time: SQL`now()`, + log: message, + }})`); + + const dateStr = Chat.toTimestamp(date).split(' ')[0]; + void this.insertLog(SQL`INSERT INTO roomlog_dates (${{ + roomid: this.roomid, + month: dateStr.slice(0, -3), + date: dateStr, + }}) ON CONFLICT (roomid, date) DO NOTHING;`); + } else if (this.roomlogStream) { + const timestamp = Chat.toTimestamp(date).split(' ')[1] + ' '; + void this.roomlogStream.write(timestamp + message + '\n'); + } + } + private async insertLog(query: SQLStatement, ignoreFailure = false): Promise { + if (!roomlogTable) return; + try { + await roomlogTable.query(query); + } catch (e: any) { + if (e?.code === '42P01') { // table not found + await roomlogDB!._query(FS('databases/schemas/roomlogs.sql').readSync(), []); + return this.insertLog(query, ignoreFailure); + } + const [q, vals] = roomlogDB!._resolveSQL(query); + Monitor.crashlog(e, 'a roomlog database query', { + query: q, values: vals, + }); + } } modlog(entry: PartialModlogEntry, overrideID?: string) { void Rooms.Modlog.write(this.roomid, entry, overrideID); } async rename(newID: RoomID): Promise { - const roomlogPath = `logs/chat`; - const roomlogStreamExisted = this.roomlogStream !== null; - await this.destroy(); - const [roomlogExists, newRoomlogExists] = await Promise.all([ - FS(roomlogPath + `/${this.roomid}`).exists(), - FS(roomlogPath + `/${newID}`).exists(), - ]); - if (roomlogExists && !newRoomlogExists) { - await FS(roomlogPath + `/${this.roomid}`).rename(roomlogPath + `/${newID}`); - } - await Rooms.Modlog.rename(this.roomid, newID); - this.roomid = newID; - Roomlogs.roomlogs.set(newID, this); - if (roomlogStreamExisted) { - this.roomlogStream = undefined; - this.roomlogFilename = ""; - await this.setupRoomlogStream(true); + if (roomlogTable) { + await roomlogTable.updateAll({roomid: this.roomid})`WHERE roomid = ${this.roomid}`; + return true; + } else { + const roomlogPath = `chat`; + const roomlogStreamExisted = this.roomlogStream !== null; + await this.destroy(); + const [roomlogExists, newRoomlogExists] = await Promise.all([ + Monitor.logPath(roomlogPath + `/${this.roomid}`).exists(), + Monitor.logPath(roomlogPath + `/${newID}`).exists(), + ]); + if (roomlogExists && !newRoomlogExists) { + await Monitor.logPath(roomlogPath + `/${this.roomid}`).rename(Monitor.logPath(roomlogPath + `/${newID}`).path); + } + await Rooms.Modlog.rename(this.roomid, newID); + this.roomid = newID; + Roomlogs.roomlogs.set(newID, this); + if (roomlogStreamExisted) { + this.roomlogStream = undefined; + this.roomlogFilename = ""; + await this.setupRoomlogStream(true); + } + return true; } - return true; } static async rollLogs() { if (Roomlogs.rollLogTimer === true) return; @@ -311,6 +372,8 @@ export const Roomlogs = { create: createRoomlog, Roomlog, roomlogs, + db: roomlogDB, + table: roomlogTable, rollLogs: Roomlog.rollLogs, diff --git a/server/rooms.ts b/server/rooms.ts index b8f2b1f4aea2..273b983ed018 100644 --- a/server/rooms.ts +++ b/server/rooms.ts @@ -28,20 +28,21 @@ const LAST_BATTLE_WRITE_THROTTLE = 10; const RETRY_AFTER_LOGIN = null; -import {FS, Utils, Streams, PostgresDatabase} from '../lib'; +import {FS, Utils, Streams} from '../lib'; import {RoomSection, RoomSections} from './chat-commands/room-settings'; import {QueuedHunt} from './chat-plugins/scavengers'; import {ScavengerGameTemplate} from './chat-plugins/scavenger-games'; import {RepeatedPhrase} from './chat-plugins/repeats'; import { - PM as RoomBattlePM, RoomBattle, RoomBattlePlayer, RoomBattleTimer, RoomBattleOptions, PlayerIndex, BestOfGame, + PM as RoomBattlePM, RoomBattle, RoomBattlePlayer, RoomBattleTimer, type RoomBattleOptions, } from "./room-battle"; +import {BestOfGame} from './room-battle-bestof'; import {RoomGame, SimpleRoomGame, RoomGamePlayer} from './room-game'; import {MinorActivity, MinorActivityData} from './room-minor-activity'; -import {Roomlogs} from './roomlogs'; -import * as crypto from 'crypto'; +import {Roomlogs, type Roomlog} from './roomlogs'; import {RoomAuth} from './user-groups'; import {PartialModlogEntry, mainModlog} from './modlog'; +import {Replays} from './replays'; /********************************************************* * the Room object. @@ -120,6 +121,7 @@ export interface RoomSettings { minorActivity?: PollData | AnnouncementData; minorActivityQueue?: MinorActivityData[]; repeats?: RepeatedPhrase[]; + topics?: string[]; autoModchat?: { rank: GroupSymbol, time: number, @@ -177,6 +179,12 @@ export abstract class BasicRoom { * In all other rooms, `this.battle` is `null`. */ battle: RoomBattle | null; + /** + * The room's current best-of set. Best-of sets are a type of RoomGame, so in best-of set + * rooms (which can only be `GameRoom`s), `this.bestof === this.game`. + * In all other rooms, `this.bestof` is `null`. + */ + bestOf: BestOfGame | null; /** * The game room's current tournament. If the room is a battle room whose * battle is part of a tournament, `this.tour === this.parent.game`. @@ -233,6 +241,7 @@ export abstract class BasicRoom { this.muteQueue = []; this.battle = null; + this.bestOf = null; this.game = null; this.subGame = null; this.tour = null; @@ -353,7 +362,7 @@ export abstract class BasicRoom { /** * Send a room message to a single user. */ - sendUser(user: User | Connection, message: string) { + sendUser(user: Connection | User, message: string) { user.sendTo(this, message); } /** @@ -778,9 +787,9 @@ export abstract class BasicRoom { if (this.parent === room) return; if (this.parent) { - (this as any).parent.subRooms.delete(this.roomid); + (this.parent.subRooms as any).delete(this.roomid); if (!this.parent.subRooms!.size) { - (this as any).parent.subRooms = null; + (this.parent.subRooms as any) = null; } } (this as any).parent = room; @@ -823,7 +832,7 @@ export abstract class BasicRoom { } } - if (this.battle) { + if (this.battle || this.bestOf) { if (privacy) { if (this.roomid.endsWith('pw')) return true; @@ -842,6 +851,7 @@ export abstract class BasicRoom { this.rename(this.title, this.roomid.slice(0, lastDashIndex) as RoomID); } } + this.bestOf?.setPrivacyOfGames(privacy); } validateSection(section: string) { const target = toID(section); @@ -1048,7 +1058,7 @@ export abstract class BasicRoom { if (user.named) { this.reportJoin('l', user.getIdentity(this), user); } - if (this.game && this.game.onLeave) this.game.onLeave(user); + this.game?.onLeave?.(user); this.runAutoModchat(); return true; @@ -1106,9 +1116,10 @@ export abstract class BasicRoom { destroy(): void { // deallocate ourself - if (this.battle && this.tour) { - // resolve state of the tournament; - if (!this.battle.ended) this.tour.onBattleWin(this as any as GameRoom, ''); + if (this.game) { + this.game.destroy(); + this.game = null; + this.battle = null; this.tour = null; } @@ -1132,11 +1143,6 @@ export abstract class BasicRoom { } } - if (this.game) { - this.game.destroy(); - this.game = null; - this.battle = null; - } this.active = false; // Ensure there aren't any pending messages that could restart the expire timer @@ -1259,7 +1265,7 @@ export class GlobalRoomState { // init battle room logging if (Config.logladderip) { - this.ladderIpLog = FS('logs/ladderip/ladderip.txt').createAppendStream(); + this.ladderIpLog = Monitor.logPath('ladderip/ladderip.txt').createAppendStream(); } else { // Prevent there from being two possible hidden classes an instance // of GlobalRoom can have. @@ -1283,55 +1289,80 @@ export class GlobalRoomState { let lastBattle; try { - lastBattle = FS('logs/lastbattle.txt').readSync('utf8'); + lastBattle = Monitor.logPath('lastbattle.txt').readSync('utf8'); } catch {} this.lastBattle = Number(lastBattle) || 0; this.lastWrittenBattle = this.lastBattle; void this.loadBattles(); } + async serializeBattleRoom(room: Room) { + if (!room.battle || room.battle.ended) return null; + room.battle.frozen = true; + const log = await room.battle.getLog(); + const players = room.battle.players.map(p => p.id).filter(Boolean); + if (!players.length || !log?.length) return null; // shouldn't happen??? + // players can be empty right after `/importinputlog` + return { + roomid: room.roomid, + inputLog: log.join('\n'), + players, + title: room.title, + rated: room.battle.rated, + timer: { + ...room.battle.timer.settings, + active: !!room.battle.timer.timer || false, + }, + }; + } + deserializeBattleRoom(battle: NonNullable>>) { + const {inputLog, players, roomid, title, rated, timer} = battle; + const [, formatid] = roomid.split('-'); + const room = Rooms.createBattle({ + format: formatid, + inputLog, + roomid, + title, + rated: Number(rated), + players: [], + delayedTimer: timer.active, + }); + if (!room || !room.battle) return false; // shouldn't happen??? + if (timer) { // json blob of settings + Object.assign(room.battle.timer.settings, timer); + } + for (const [i, playerid] of players.entries()) { + room.auth.set(playerid, Users.PLAYER_SYMBOL); + const player = room.battle.players[i]; + (player.id as string) = playerid; + room.battle.playerTable[playerid] = player; + player.hasTeam = true; + const user = Users.getExact(playerid); + player.name = user?.name || playerid; // in case user hasn't reconnected yet + user?.joinRoom(room); + } + return true; + } + async saveBattles() { let count = 0; - if (!Config.usepostgres) return 0; - const logDatabase = new PostgresDatabase(); - await logDatabase.ensureMigrated({ - table: 'stored_battles', - migrationsFolder: 'databases/migrations/storedbattles', - baseSchemaFile: 'databases/schemas/stored-battles.sql', - }); + const out = Monitor.logPath('battles.jsonl.progress').createAppendStream(); for (const room of Rooms.rooms.values()) { if (!room.battle || room.battle.ended) continue; room.battle.frozen = true; - const log = await room.battle.getLog(); - const players: ID[] = room.battle.options.players || []; - if (!players.length) { - for (const num of ['p1', 'p2', 'p3', 'p4'] as const) { - if (room.battle[num]?.id) { - players.push(room.battle[num].id); - } - } - } - if (!players.length || !log?.length) continue; // shouldn't happen??? - const timerData = { - ...room.battle.timer.settings, - active: !!room.battle.timer.timer || false, - }; - await logDatabase.query( - `INSERT INTO stored_battles (roomid, input_log, players, title, rated, timer) VALUES ($1, $2, $3, $4, $5, $6)` + - ` ON CONFLICT (roomid) DO UPDATE ` + - `SET input_log = EXCLUDED.input_log, players = EXCLUDED.players, title = EXCLUDED.title, rated = EXCLUDED.rated`, - // for some reason Battle#rated is sometimes a float which Postgres can't handle - [room.roomid, log.join('\n'), players, room.title, Math.floor(room.battle.rated), timerData] - ); room.battle.timer.stop(); + const b = await this.serializeBattleRoom(room); + if (!b) continue; + await out.writeLine(JSON.stringify(b)); count++; } + await out.writeEnd(); + await Monitor.logPath('battles.jsonl.progress').rename(Monitor.logPath('battles.jsonl').path); return count; } - battlesLoading?: boolean; + battlesLoading = false; async loadBattles() { - if (!Config.usepostgres) return; this.battlesLoading = true; for (const u of Users.users.values()) { u.send( @@ -1339,85 +1370,36 @@ export class GlobalRoomState { `
Your battles are currently being restored.
Please be patient as they load.
` ); } - const logDatabase = new PostgresDatabase(); - const query = `DELETE FROM stored_battles WHERE roomid IN (SELECT roomid FROM stored_battles LIMIT 1) RETURNING *`; - for await (const battle of logDatabase.stream(query)) { - const {input_log, players, roomid, title, rated, timer} = battle; - const [, formatid] = roomid.split('-'); - const room = Rooms.createBattle({ - format: formatid, - inputLog: input_log, - roomid, - title, - rated: Number(rated), - players, - delayedStart: true, - delayedTimer: timer.active, - restored: true, - }); - if (!room || !room.battle) continue; // shouldn't happen??? - room.battle.started = true; // so that timer works - room.battle.start(); - if (timer) { // json blob of settings - Object.assign(room.battle.timer.settings, timer); - } - for (const [i, p] of players.entries()) { - room.auth.set(p, Users.PLAYER_SYMBOL); - const player = room.battle.players[i]; - player.id = p; - player.name = p; // temp for if they get timed out before they connect - const u = Users.getExact(p); - if (u) { - this.rejoinBattle(room, u, i); - } - } + const startTime = Date.now(); + let count = 0; + let input; + try { + const stream = Monitor.logPath('battles.jsonl').createReadStream(); + await stream.fd; + input = stream.byLine(); + } catch (e) { + return; + } + for await (const line of input) { + if (!line) continue; + if (this.deserializeBattleRoom(JSON.parse(line))) count++; } for (const u of Users.users.values()) { u.send(`|pm|&|${u.getIdentity()}|/uhtmlchange restartmsg,`); } - delete this.battlesLoading; + await Monitor.logPath('battles.jsonl').unlinkIfExists(); + Monitor.notice(`Loaded ${count} battles in ${Date.now() - startTime}ms`); + this.battlesLoading = false; } - rejoinBattle(room: GameRoom, user: User, idx: number) { - if (!room.battle) return; - // we reuse these player objects explicitly so if - // someone has already started the timer, their settings carry over (should reduce bugs) - // and it's safe to do this first because we know these users were already in the battle - let player = room.battle.players[idx]; - if (!player) { - // this can happen sometimes - player = room.battle.players[idx] = new Rooms.RoomBattlePlayer( - user, room.battle, (idx + 1) as PlayerIndex - ); - } - player.id = user.id; - player.name = user.name; - room.battle.playerTable[user.id] = player; - user.joinRoom(room.roomid); - // force update panel - room.battle.onConnect(user); - if (room.battle.options.delayedTimer && !room.battle.timer.timer) { - room.battle.timer.start(); - } - user.send(`|pm|&|${user.getIdentity()}|/uhtmlchange restartmsg,`); - } - - joinOldBattles(user: User) { + rejoinGames(user: User) { for (const room of Rooms.rooms.values()) { - const battle = room.battle; - if (!battle) continue; - const idx = battle.options.players?.indexOf(user.id); - if (battle.ended) { - // TODO: Do we want to rejoin the battle room here? - // We might need to cache the join so it only happens once - - // just running joinRoom would mean they join the room every refresh until the battle expires - - // user.joinRoom(room); - continue; - } - if (typeof idx === 'number' && idx > -1) { - this.rejoinBattle(room, user, idx); - } + const player = room.game && !room.game.ended && room.game.playerTable[user.id]; + if (!player) continue; + + user.games.add(room.roomid); + player.name = user.name; + user.joinRoom(room.roomid); } } @@ -1444,7 +1426,7 @@ export class GlobalRoomState { if (this.lastBattle < this.lastWrittenBattle) return; this.lastWrittenBattle = this.lastBattle + LAST_BATTLE_WRITE_THROTTLE; } - FS('logs/lastbattle.txt').writeUpdate( + Monitor.logPath('lastbattle.txt').writeUpdate( () => `${this.lastWrittenBattle}` ); } @@ -1532,7 +1514,10 @@ export class GlobalRoomState { return Config.rankList; } - getBattles(/** formatfilter, elofilter, usernamefilter */ filter: string) { + /** + * @param filter formatfilter, elofilter, usernamefilter + */ + getBattles(filter: string) { const rooms: GameRoom[] = []; const [formatFilter, eloFilterString, usernameFilter] = filter.split(','); const eloFilter = +eloFilterString; @@ -1744,12 +1729,6 @@ export class GlobalRoomState { this.maxUsers = Users.users.size; this.maxUsersDate = Date.now(); } - if (this.battlesLoading) { - connection.send( - `|pm|&|${user.getIdentity()}|/uhtml restartmsg,` + - `
Your battles are currently being restored.
Please be patient as they load.
` - ); - } } startLockdown(err: Error | null = null, slow = false) { if (this.lockdown && err) return; @@ -1901,9 +1880,9 @@ export class GlobalRoomState { export class ChatRoom extends BasicRoom { // This is not actually used, this is just a fake class to keep // TypeScript happy - battle = null; - active: false = false as const; - type: 'chat' = 'chat' as const; + override battle = null; + override active = false as const; + override type = 'chat' as const; } export class GameRoom extends BasicRoom { @@ -1919,6 +1898,7 @@ export class GameRoom extends BasicRoom { */ rated: number; declare battle: RoomBattle | null; + declare bestOf: BestOfGame | null; declare game: RoomGame; modchatUser: string; constructor(roomid: RoomID, title: string, options: Partial) { @@ -1937,14 +1917,15 @@ export class GameRoom extends BasicRoom { this.tour = options.tour || null; this.setParent((options as any).parent || (this.tour && this.tour.room) || null); - this.p1 = options.p1?.user || null; - this.p2 = options.p2?.user || null; - this.p3 = options.p3?.user || null; - this.p4 = options.p4?.user || null; + this.p1 = options.players?.[0]?.user || null; + this.p2 = options.players?.[1]?.user || null; + this.p3 = options.players?.[2]?.user || null; + this.p4 = options.players?.[3]?.user || null; this.rated = options.rated === true ? 1 : options.rated || 0; this.battle = null; + this.bestOf = null; this.game = null!; this.modchatUser = ''; @@ -1961,8 +1942,7 @@ export class GameRoom extends BasicRoom { } getLogForUser(user: User) { if (!(user.id in this.game.playerTable)) return this.getLog(); - // @ts-ignore - return this.getLog(this.game.playerTable[user.id].num); + return this.getLog(this.game.playerTable[user.id].num as 0); } update(excludeUser: User | null = null) { if (!this.log.broadcastBuffer.length) return; @@ -1984,15 +1964,6 @@ export class GameRoom extends BasicRoom { this.expireTimer = setTimeout(() => this.expire(), TIMEOUT_INACTIVE_DEALLOCATE); } } - sendPlayer(num: 0 | 1, message: string) { - const player = this.getPlayer(num); - if (!player) return false; - player.sendRoom(message); - } - getPlayer(num: 0 | 1) { - // @ts-ignore - return this.game['p' + (num + 1)]; - } requestModchat(user: User | null) { if (!user) { this.modchatUser = ''; @@ -2006,7 +1977,7 @@ export class GameRoom extends BasicRoom { } onConnect(user: User, connection: Connection) { this.sendUser(connection, '|init|battle\n|title|' + this.title + '\n' + this.getLogForUser(user)); - if (this.game && this.game.onConnect) this.game.onConnect(user, connection); + this.game?.onConnect?.(user, connection); } onJoin(user: User, connection: Connection) { if (!user) return false; // ??? @@ -2037,7 +2008,7 @@ export class GameRoom extends BasicRoom { * That's why this function requires a connection. For details, see the top * comment inside this function. */ - async uploadReplay(user: User, connection: Connection, options?: 'forpunishment' | 'silent') { + async uploadReplay(user?: User, connection?: Connection, options?: 'forpunishment' | 'silent' | 'auto') { // The reason we don't upload directly to the loginserver, unlike every // other interaction with the loginserver, is because it takes so much // bandwidth that it can get identified as a DoS attack by PHP, Apache, or @@ -2065,41 +2036,81 @@ export class GameRoom extends BasicRoom { let hideDetails = !format.id.includes('customgame'); if (format.team && battle.ended) hideDetails = false; - const data = this.getLog(hideDetails ? 0 : -1); - const datahash = crypto.createHash('md5').update(data.replace(/[^(\x20-\x7F)]+/g, '')).digest('hex'); - let rating = 0; + const log = this.getLog(hideDetails ? 0 : -1); + let rating: number | undefined; if (battle.ended && this.rated) rating = this.rated; - const {id, password} = this.getReplayData(); - - // STEP 1: Directly tell the login server that a replay is coming - // (also include all the data, including a hash of the replay itself, - // so it can't be spoofed.) - - battle.replaySaved = true; - const [success] = await LoginServer.request('prepreplay', { - id: id, - loghash: datahash, - p1: battle.p1.name, - p2: battle.p2.name, - format: format.id, - rating, - hidden: options === 'forpunishment' || (this as any).unlistReplay ? - '2' : this.settings.isPrivate || this.hideReplay ? '1' : '', - inputlog: battle.inputLog?.join('\n') || null, - }); - if (success?.errorip) { - connection.popup(`This server's request IP ${success.errorip} is not a registered server.`); + let {id, password} = this.getReplayData(); + const silent = options === 'forpunishment' || options === 'silent' || options === 'auto'; + if (silent) connection = undefined; + const isPrivate = this.settings.isPrivate || this.hideReplay; + const hidden = options === 'forpunishment' || options === 'auto' ? 10 : + (this as any).unlistReplay ? 2 : + isPrivate ? 1 : + 0; + + if (isPrivate && hidden === 10) { + password = Replays.generatePassword(); + } + if (battle.replaySaved !== true && hidden === 10) { + battle.replaySaved = 'auto'; + } else { + battle.replaySaved = true; + } + + // If we have a direct connetion to a Replays database, just upload the replay + // directly. + + if (Replays.db) { + const idWithServer = Config.serverid === 'showdown' ? id : `${Config.serverid}-${id}`; + try { + const fullid = await Replays.add({ + id: idWithServer, + log, + players: battle.players.map(p => p.name), + format: format.name, + rating: rating || null, + private: hidden, + password, + inputlog: battle.inputLog?.join('\n') || null, + uploadtime: Math.trunc(Date.now() / 1000), + }); + const url = `https://${Config.routes.replays}/${fullid}`; + connection?.popup( + `|html|

Your replay has been uploaded! It's available at:

` + + `${url} ` + + `Copy` + ); + } catch (e) { + connection?.popup(`Your replay could not be saved: ${e}`); + throw e; + } return; } - // STEP 2: Tell the user to upload the replay to the login server + // Otherwise, (we're probably a side server), upload the replay through LoginServer + + const [result] = await LoginServer.request('addreplay', { + id, + log, + players: battle.players.map(p => p.name).join(','), + format: format.name, + rating, // will probably do nothing + hidden: hidden === 0 ? '' : hidden, + inputlog: battle.inputLog?.join('\n') || undefined, + password, + }); + if (result?.errorip) { + connection?.popup(`This server's request IP ${result.errorip} is not a registered server.`); + return; + } - connection.send('|queryresponse|savereplay|' + JSON.stringify({ - log: data, - id: id, - password: password, - silent: options === 'forpunishment' || options === 'silent', - })); + const fullid = result?.replayid; + const url = `https://${Config.routes.replays}/${fullid}`; + connection?.popup( + `|html|

Your replay has been uploaded! It's available at:

` + + `${url} ` + + `Copy` + ); } getReplayData() { @@ -2111,7 +2122,14 @@ export class GameRoom extends BasicRoom { } function getRoom(roomid?: string | BasicRoom) { - if (typeof roomid === 'string') return Rooms.rooms.get(roomid as RoomID); + if (typeof roomid === 'string') { + // Accounts for private battles that were made public + if ((roomid.startsWith('battle-') || roomid.startsWith('game-bestof')) && roomid.endsWith('pw')) { + const room = Rooms.rooms.get(roomid.slice(0, roomid.lastIndexOf('-')) as RoomID); + if (room) return room; + } + return Rooms.rooms.get(roomid as RoomID); + } return roomid as Room; } @@ -2143,14 +2161,15 @@ export const Rooms = { Rooms.rooms.set(roomid, room); return room; }, + /** + * Can return null during lockdown, so make sure to handle that case. + * No need for UI; this function sends popups to users. + */ createBattle(options: RoomBattleOptions & Partial) { - const players: User[] = [options.p1, options.p2, options.p3, options.p4] - .filter(Boolean).map(player => player!.user); - const gameType = Dex.formats.get(options.format).gameType; - if (gameType !== 'multi' && gameType !== 'freeforall') { - if (players.length > 2) { - throw new Error(`Four players were provided, but the format is a two-player format.`); - } + const players = options.players.map(player => player.user); + const format = Dex.formats.get(options.format); + if (players.length > format.playerCount) { + throw new Error(`${players.length} players were provided, but the format is a ${format.playerCount}-player format.`); } if (new Set(players).size < players.length) { throw new Error(`Players can't battle themselves`); @@ -2160,22 +2179,21 @@ export const Rooms = { Ladders.cancelSearches(user); } - const format = Dex.formats.get(options.format); const isBestOf = Dex.formats.getRuleTable(format).valueRules.get('bestof'); - if (Rooms.global.lockdown === 'pre' && isBestOf && !options.isSubBattle) { + if (Rooms.global.lockdown === 'pre' && isBestOf && !options.isBestOfSubBattle) { for (const user of players) { user.popup(`The server will be restarting soon. Best-of-${isBestOf} battles cannot be started at this time.`); } - return; + return null; } // gotta allow new bo3 child battles to start - if (Rooms.global.lockdown === true && !options.isSubBattle) { + if (Rooms.global.lockdown === true && !options.isBestOfSubBattle) { for (const user of players) { user.popup("The server is restarting. Battles will be available again in a few minutes."); } - return; + return null; } const p1Special = players.length ? players[0].battleSettings.special : undefined; @@ -2191,7 +2209,7 @@ export const Rooms = { for (const user of players) { user.popup(`Your special battle settings don't match: ${mismatch}`); } - return; + return null; } else if (p1Special) { options.ratedMessage = p1Special; } @@ -2206,28 +2224,33 @@ export const Rooms = { const p2name = p2 ? p2.name : "Player 2"; let roomTitle; let roomid = options.roomid; - if (gameType === 'multi') { + if (format.gameType === 'multi') { roomTitle = `Team ${p1name} vs. Team ${p2name}`; - } else if (gameType === 'freeforall') { + } else if (format.gameType === 'freeforall') { // p1 vs. p2 vs. p3 vs. p4 is too long of a title roomTitle = `${p1name} and friends`; - } else if (isBestOf && !options.isSubBattle) { + } else if (isBestOf && !options.isBestOfSubBattle) { roomTitle = `${p1name} vs. ${p2name}`; - roomid = `game-bestof${isBestOf}-${format.id}-${++Rooms.global.lastBattle}` as RoomID; + roomid ||= `game-bestof${isBestOf}-${format.id}-${++Rooms.global.lastBattle}` as RoomID; } else if (options.title) { roomTitle = options.title; } else { roomTitle = `${p1name} vs. ${p2name}`; } - if (!roomid) roomid = Rooms.global.prepBattleRoom(options.format); + roomid ||= Rooms.global.prepBattleRoom(options.format); options.isPersonal = true; const room = Rooms.createGameRoom(roomid, roomTitle, options); - if (options.isSubBattle || !isBestOf) { - const battle = new Rooms.RoomBattle(room, options); - room.game = battle; - battle.checkPrivacySettings(options); + let game: RoomBattle | BestOfGame; + if (options.isBestOfSubBattle || !isBestOf) { + game = new RoomBattle(room, options); + } else { + game = new BestOfGame(room, options); + } + room.game = game; + if (options.isBestOfSubBattle && room.parent) { + room.setPrivate(room.parent.settings.isPrivate || false); } else { - room.game = new BestOfGame(room, options); + game.checkPrivacySettings(options); } for (const p of players) { @@ -2263,4 +2286,6 @@ export const Rooms = { RoomBattlePlayer, RoomBattleTimer, PM: RoomBattlePM, + + Replays, }; diff --git a/server/tournaments/generator-elimination.ts b/server/tournaments/generator-elimination.ts index 3fa32389356b..fa7983ba310e 100644 --- a/server/tournaments/generator-elimination.ts +++ b/server/tournaments/generator-elimination.ts @@ -341,7 +341,7 @@ export class Elimination { } } - user.unlinkUser(); + user.game.setPlayerUser(user, null); } getAvailableMatches() { @@ -388,7 +388,7 @@ export class Elimination { if (loser.losses === this.maxSubtrees) { loser.isEliminated = true; loser.sendRoom(`|tournament|update|{"isJoined":false}`); - loser.unlinkUser(); + loser.game.setPlayerUser(loser, null); } if (targetNode.parent) { diff --git a/server/tournaments/generator-round-robin.ts b/server/tournaments/generator-round-robin.ts index 0a75e214452e..a908eb7796fc 100644 --- a/server/tournaments/generator-round-robin.ts +++ b/server/tournaments/generator-round-robin.ts @@ -129,7 +129,7 @@ export class RoundRobin { this.totalPendingMatches--; } - user.unlinkUser(); + user.game.updatePlayer(user, null); } getAvailableMatches() { @@ -167,11 +167,11 @@ export class RoundRobin { if (this.matchesPerPlayer) { if (p1.games === this.matchesPerPlayer) { p1.sendRoom(`|tournament|update|{"isJoined":false}`); - p1.unlinkUser(); + p1.game.updatePlayer(p1, null); } if (p2.games === this.matchesPerPlayer) { p2.sendRoom(`|tournament|update|{"isJoined":false}`); - p2.unlinkUser(); + p2.game.updatePlayer(p2, null); } } } diff --git a/server/tournaments/index.ts b/server/tournaments/index.ts index 4776aca9eb84..120e221aa949 100644 --- a/server/tournaments/index.ts +++ b/server/tournaments/index.ts @@ -2,8 +2,8 @@ import {Elimination} from './generator-elimination'; import {RoundRobin} from './generator-round-robin'; import {Utils} from '../../lib'; -import {SampleTeams, teamData} from '../chat-plugins/sample-teams'; import {PRNG} from '../../sim/prng'; +import type {BestOfGame} from '../room-battle-bestof'; export interface TournamentRoomSettings { allowModjoin?: boolean; @@ -15,7 +15,6 @@ export interface TournamentRoomSettings { forcePublic?: boolean; forceTimer?: boolean; playerCap?: number; - showSampleTeams?: boolean; recentToursLength?: number; recentTours?: {name: string, baseFormat: string, time: number}[]; blockRecents?: boolean; @@ -84,6 +83,7 @@ export class TournamentPlayer extends Rooms.RoomGamePlayer { } export class Tournament extends Rooms.RoomGame { + override readonly gameid = 'tournament' as ID; readonly isTournament: true; readonly completedMatches: Set; /** Format ID not including custom rules */ @@ -116,13 +116,11 @@ export class Tournament extends Rooms.RoomGame { autoStartTimeout: number; autoStartTimer: NodeJS.Timeout | null; - isEnded: boolean; constructor( room: ChatRoom, format: Format, generator: Generator, playerCap: string | undefined, isRated: boolean, name: string | undefined ) { super(room); - this.gameid = 'tournament' as ID; const formatId = toID(format); this.title = format.name + ' tournament'; @@ -163,8 +161,6 @@ export class Tournament extends Rooms.RoomGame { this.autoStartTimeout = Infinity; this.autoStartTimer = null; - this.isEnded = false; - room.add(`|tournament|create|${this.baseFormat}|${generator.name}|${this.playerCap}${this.name === this.baseFormat ? `` : `|${this.name}`}`); const update: { format: string, teambuilderFormat?: string, generator: string, @@ -190,10 +186,7 @@ export class Tournament extends Rooms.RoomGame { const room = Rooms.get(roomid) as GameRoom; if (room) room.tour = null; } - for (const player of this.players) { - player.unlinkUser(); - } - this.isEnded = true; + this.setEnded(); this.room.game = null; } getRemainingPlayers() { @@ -291,7 +284,7 @@ export class Tournament extends Rooms.RoomGame { updateFor(targetUser: User, connection?: Connection | User) { if (!connection) connection = targetUser; - if (this.isEnded) return; + if (this.ended) return; if ((!this.bracketUpdateTimer && this.isBracketInvalidated) || (this.isTournamentStarted && this.isAvailableMatchesInvalidated)) { @@ -352,7 +345,7 @@ export class Tournament extends Rooms.RoomGame { } update() { - if (this.isEnded) return; + if (this.ended) return; if (this.isBracketInvalidated) { if (Date.now() < this.lastBracketUpdate + BRACKET_MINIMUM_UPDATE_INTERVAL) { if (this.bracketUpdateTimer) clearTimeout(this.bracketUpdateTimer); @@ -473,20 +466,13 @@ export class Tournament extends Rooms.RoomGame { } removeUser(userid: ID, output?: Chat.CommandContext) { - if (!(userid in this.playerTable)) { + const player = this.playerTable[userid]; + if (!player) { if (output) output.sendReply('|tournament|error|UserNotAdded'); return; } - for (const player of this.players) { - if (player.id === userid) { - this.players.splice(this.players.indexOf(player), 1); - break; - } - } - this.playerTable[userid].destroy(); - delete this.playerTable[userid]; - this.playerCount--; + this.removePlayer(player); const user = Users.get(userid); this.room.add(`|tournament|leave|${user ? user.name : userid}`); if (user) user.sendTo(this.room, '|tournament|update|{"isJoined":false}'); @@ -511,7 +497,7 @@ export class Tournament extends Rooms.RoomGame { return; } if (Tournament.checkBanned(this.room, replacementUser) || Punishments.isBattleBanned(replacementUser) || - replacementUser.namelocked) { + replacementUser.namelocked) { output.errorReply(`${replacementUser.name} is banned from joining tournaments.`); return; } @@ -536,22 +522,22 @@ export class Tournament extends Rooms.RoomGame { output.errorReply(`${replacementUser.name} is not in this room (${this.room.title}).`); return; } - if (this.playerTable[user.id].pendingChallenge) { + const player = this.playerTable[user.id]; + if (player.pendingChallenge) { this.cancelChallenge(user, output); } // Replace the player - this.renamePlayer(replacementUser, user.id); - const newPlayer = this.playerTable[replacementUser.id]; + this.setPlayerUser(player, replacementUser); // Reset and invalidate any in progress battles let matchPlayer = null; - if (newPlayer.inProgressMatch) { - matchPlayer = newPlayer; + if (player.inProgressMatch) { + matchPlayer = player; } else { - for (const player of this.players) { - if (player.inProgressMatch && player.inProgressMatch.to === newPlayer) { - matchPlayer = player; + for (const p of this.players) { + if (p.inProgressMatch && p.inProgressMatch.to === player) { + matchPlayer = p; break; } } @@ -575,8 +561,8 @@ export class Tournament extends Rooms.RoomGame { this.update(); this.updateFor(user); this.updateFor(replacementUser); - const challengePlayer = newPlayer.pendingChallenge && - (newPlayer.pendingChallenge.from || newPlayer.pendingChallenge.to); + const challengePlayer = player.pendingChallenge && + (player.pendingChallenge.from || player.pendingChallenge.to); if (challengePlayer) { const challengeUser = Users.getExact(challengePlayer.id); if (challengeUser) this.updateFor(challengeUser); @@ -910,7 +896,7 @@ export class Tournament extends Rooms.RoomGame { player.autoDisqualifyWarned = false; } } - if (!this.isEnded) this.autoDisqualifyTimer = setTimeout(() => this.runAutoDisqualify(), this.autoDisqualifyTimeout); + if (!this.ended) this.autoDisqualifyTimer = setTimeout(() => this.runAutoDisqualify(), this.autoDisqualifyTimeout); if (output) output.sendReply("All available matches were checked for automatic disqualification."); } @@ -940,23 +926,6 @@ export class Tournament extends Rooms.RoomGame { this.autostartcap = true; this.room.add(`The tournament will start once ${this.playerCap} players have joined.`); } - showSampleTeams() { - if (teamData.teams[this.baseFormat]) { - let buf = ``; - for (const categoryName in teamData.teams[this.baseFormat]) { - if (!Object.keys(teamData.teams[this.baseFormat][categoryName]).length) continue; - if (buf) buf += `


`; - buf += `${categoryName.toUpperCase()}`; - for (const [i, teamName] of Object.keys(teamData.teams[this.baseFormat][categoryName]).entries()) { - if (i) buf += `
`; - buf += SampleTeams.formatTeam(teamName, teamData.teams[this.baseFormat][categoryName][teamName], true); - } - buf += `
`; - } - if (!buf) return; - this.room.add(`|html|

Sample Teams for ${SampleTeams.getFormatName(this.baseFormat)}


${buf}
`).update(); - } - } async challenge(user: User, targetUserid: ID, output: Chat.CommandContext) { if (!this.isTournamentStarted) { @@ -1071,30 +1040,31 @@ export class Tournament extends Rooms.RoomGame { const room = Rooms.createBattle({ format: this.fullFormat, isPrivate: this.room.settings.isPrivate, - p1: { + players: [{ user: from, team: challenge.team, hidden: challenge.hidden, inviteOnly: challenge.inviteOnly, - }, - p2: { + }, { user, team: ready.settings.team, hidden: ready.settings.hidden, inviteOnly: ready.settings.inviteOnly, - }, + }], rated: !Ladders.disabled && this.isRated, challengeType: ready.challengeType, tour: this, parentid: this.roomid, }); - if (!room?.game) throw new Error(`Failed to create battle in ${room}`); challenge.from.pendingChallenge = null; player.pendingChallenge = null; from.sendTo(this.room, '|tournament|update|{"challenging":null}'); user.sendTo(this.room, '|tournament|update|{"challenged":null}'); + // server lockdown + if (!room) return; + challenge.from.inProgressMatch = {to: player, room}; this.room.add(`|tournament|battlestart|${from.name}|${user.name}|${room.roomid}`).update(); @@ -1118,21 +1088,14 @@ export class Tournament extends Rooms.RoomGame { } onRename(user: User, oldUserid: ID) { if (oldUserid in this.playerTable) { - if (user.id === oldUserid) { - this.playerTable[user.id].name = user.name; - } else { - this.playerTable[user.id] = this.playerTable[oldUserid]; - this.playerTable[user.id].id = user.id; - this.playerTable[user.id].name = user.name; - delete this.playerTable[oldUserid]; - } + this.renamePlayer(user, oldUserid); } this.updateFor(user); } onBattleJoin(room: GameRoom, user: User) { if (!room.p1 || !room.p2) return; - if (this.allowScouting || this.isEnded || user.latestIp === room.p1.latestIp || user.latestIp === room.p2.latestIp) { + if (this.allowScouting || this.ended || user.latestIp === room.p1.latestIp || user.latestIp === room.p2.latestIp) { return; } if (user.can('makeroom')) return; @@ -1152,7 +1115,7 @@ export class Tournament extends Rooms.RoomGame { const p1 = this.playerTable[room.p1.id]; const p2 = this.playerTable[room.p2.id]; const winner = this.playerTable[winnerid]; - const score = (room.game as any).score || [0, 0]; + const score = (room.game as RoomBattle | BestOfGame).score || [0, 0]; let result: 'win' | 'loss' | 'draw' = 'draw'; if (p1 === winner) { @@ -1321,7 +1284,6 @@ function createTournament( if (settings.forceTimer) tour.setForceTimer(true); if (settings.allowModjoin === false) tour.setModjoin(false); if (settings.allowScouting === false) tour.setScouting(false); - if (settings.showSampleTeams) tour.showSampleTeams(); } return tour; } @@ -1479,8 +1441,7 @@ const commands: Chat.ChatCommands = { } else { Punishments.roomPunishName(room, targetUserid, punishment); } - const tour = room.getGame(Tournament); - if (tour) tour.removeBannedUser(targetUserid); + room.getGame(Tournament)?.removeBannedUser(targetUserid); this.modlog('TOURBAN', targetUser, reason); this.privateModAction( @@ -1686,7 +1647,10 @@ const commands: Chat.ChatCommands = { this.sendReply("Usage: /tour rules "); this.sendReply("Rules can be: -bannedthing, +un[banned|restricted]thing, *restrictedthing, !removedrule, addedrule"); this.parse('/tour viewrules'); - return this.sendReplyBox(`
Source/tour rules ${tournament.customRules}
`); + if (tournament.customRules.length) { + return this.sendReplyBox(`
Source/tour rules ${tournament.customRules}
`); + } + return; } this.checkCan('tournaments', null, room); if (tournament.isTournamentStarted) { @@ -1994,13 +1958,7 @@ const commands: Chat.ChatCommands = { if (this.meansYes(option)) { tournament.setForceTimer(true); for (const player of tournament.players) { - const curMatch = player.inProgressMatch; - if (curMatch) { - const battle = curMatch.room.game; - if (battle) { - battle.startTimer(); - } - } + player.inProgressMatch?.room.game?.startTimer(); } this.privateModAction(`The timer was turned on for the tournament by ${user.name}`); this.modlog('TOUR FORCETIMER', null, 'ON'); @@ -2020,27 +1978,25 @@ const commands: Chat.ChatCommands = { return this.parse(`/help tour settings`); } const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansYes(target)) { - if (!room.settings.tournaments.allowModjoin) { - if (tour && !tour.allowModjoin) this.parse(`/tour modjoin allow`); - room.settings.tournaments.allowModjoin = true; - room.saveSettings(); - this.privateModAction(`Modjoin was enabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'modjoin: ALLOW'); - } else { + if (room.settings.tournaments.allowModjoin) { throw new Chat.ErrorMessage(`Modjoin is already enabled for every tournament.`); } + if (tour && !tour.allowModjoin) this.parse(`/tour modjoin allow`); + room.settings.tournaments.allowModjoin = true; + room.saveSettings(); + this.privateModAction(`Modjoin was enabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'modjoin: ALLOW'); } else { - if (room.settings.tournaments.allowModjoin) { - if (tour?.allowModjoin) this.parse(`/tour modjoin disallow`); - room.settings.tournaments.allowModjoin = false; - room.saveSettings(); - this.privateModAction(`Modjoin was disabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'modjoin: DISALLOW'); - } else { + if (!room.settings.tournaments.allowModjoin) { throw new Chat.ErrorMessage(`Modjoin is already disabled for every tournament.`); } + if (tour?.allowModjoin) this.parse(`/tour modjoin disallow`); + room.settings.tournaments.allowModjoin = false; + room.saveSettings(); + this.privateModAction(`Modjoin was disabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'modjoin: DISALLOW'); } }, scouting(target, room, user) { @@ -2048,27 +2004,25 @@ const commands: Chat.ChatCommands = { this.checkCan('declare', null, room); if (!target || (!this.meansYes(target) && !this.meansNo(target))) return this.parse(`/help tour settings`); const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansYes(target)) { - if (!room.settings.tournaments.allowScouting) { - if (tour && !tour.allowScouting) this.parse(`/tour scouting allow`); - room.settings.tournaments.allowScouting = true; - room.saveSettings(); - this.privateModAction(`Scouting was enabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'scouting: ALLOW'); - } else { + if (room.settings.tournaments.allowScouting) { throw new Chat.ErrorMessage(`Scouting is already enabled for every tournament.`); } + if (tour && !tour.allowScouting) this.parse(`/tour scouting allow`); + room.settings.tournaments.allowScouting = true; + room.saveSettings(); + this.privateModAction(`Scouting was enabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'scouting: ALLOW'); } else { - if (room.settings.tournaments) { - if (tour?.allowScouting) this.parse(`/tour scouting disallow`); - room.settings.tournaments.allowScouting = false; - room.saveSettings(); - this.privateModAction(`Scouting was disabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'scouting: DISALLOW'); - } else { + if (!room.settings.tournaments.allowScouting) { throw new Chat.ErrorMessage(`Scouting is already disabled for every tournament.`); } + if (tour?.allowScouting) this.parse(`/tour scouting disallow`); + room.settings.tournaments.allowScouting = false; + room.saveSettings(); + this.privateModAction(`Scouting was disabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'scouting: DISALLOW'); } }, aconly: 'autoconfirmedonly', @@ -2078,7 +2032,7 @@ const commands: Chat.ChatCommands = { room = this.requireRoom(); this.checkCan('declare', null, room); const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; const value = this.meansYes(target) ? true : this.meansNo(target) ? false : null; if (!target || value === null) return this.parse(`/help tour settings`); if (room.settings.tournaments.autoconfirmedOnly === value) { @@ -2096,27 +2050,25 @@ const commands: Chat.ChatCommands = { this.checkCan('declare', null, room); if (!target || (!this.meansNo(target) && !this.meansYes(target))) return this.parse(`/help tour settings`); const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansNo(target)) { - if (room.settings.tournaments.forcePublic) { - if (tour?.forcePublic) this.parse(`/tour forcepublic off`); - room.settings.tournaments.forcePublic = false; - room.saveSettings(); - this.privateModAction(`Forced public battles were disabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'forcepublic: DISABLE'); - } else { + if (!room.settings.tournaments.forcePublic) { throw new Chat.ErrorMessage(`Forced public battles are already disabled for every tournament.`); } + if (tour?.forcePublic) this.parse(`/tour forcepublic off`); + room.settings.tournaments.forcePublic = false; + room.saveSettings(); + this.privateModAction(`Forced public battles were disabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'forcepublic: DISABLE'); } else { - if (!room.settings.tournaments.forcePublic) { - if (tour && !tour.forcePublic) this.parse(`/tour forcepublic on`); - room.settings.tournaments.forcePublic = true; - room.saveSettings(); - this.privateModAction(`Forced public battles were enabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'forcepublic: ENABLE'); - } else { + if (room.settings.tournaments.forcePublic) { throw new Chat.ErrorMessage(`Forced public battles are already enabled for every tournament.`); } + if (tour && !tour.forcePublic) this.parse(`/tour forcepublic on`); + room.settings.tournaments.forcePublic = true; + room.saveSettings(); + this.privateModAction(`Forced public battles were enabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'forcepublic: ENABLE'); } }, forcetimer(target, room, user) { @@ -2124,27 +2076,25 @@ const commands: Chat.ChatCommands = { this.checkCan('declare', null, room); if (!target || (!this.meansNo(target) && !this.meansYes(target))) return this.parse(`/help tour settings`); const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansNo(target)) { - if (room.settings.tournaments.forceTimer) { - if (tour?.forceTimer) this.parse(`/tour forcetimer off`); - room.settings.tournaments.forceTimer = false; - room.saveSettings(); - this.privateModAction(`Forced timer was disabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'forcetimer: DISABLE'); - } else { + if (!room.settings.tournaments.forceTimer) { throw new Chat.ErrorMessage(`Forced timer is already disabled for every tournament.`); } + if (tour?.forceTimer) this.parse(`/tour forcetimer off`); + room.settings.tournaments.forceTimer = false; + room.saveSettings(); + this.privateModAction(`Forced timer was disabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'forcetimer: DISABLE'); } else { - if (!room.settings.tournaments.forceTimer) { - if (tour && !tour.forceTimer) this.parse(`/tour forcetimer on`); - room.settings.tournaments.forceTimer = true; - room.saveSettings(); - this.privateModAction(`Forced timer was enabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'forcetimer: ENABLE'); - } else { + if (room.settings.tournaments.forceTimer) { throw new Chat.ErrorMessage(`Forced timer is already enabled for every tournament.`); } + if (tour && !tour.forceTimer) this.parse(`/tour forcetimer on`); + room.settings.tournaments.forceTimer = true; + room.saveSettings(); + this.privateModAction(`Forced timer was enabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'forcetimer: ENABLE'); } }, autostart(target, room, user) { @@ -2155,19 +2105,18 @@ const commands: Chat.ChatCommands = { return this.parse(`/help tour settings`); } const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansNo(target)) { - if (room.settings.tournaments.autostart) { - if (tour && !tour.isTournamentStarted && tour.autoDisqualifyTimeout !== Infinity) { - this.parse(`/tour setautojoin off`); - } - room.settings.tournaments.autostart = false; - room.saveSettings(); - this.privateModAction(`Autostart was disabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'autostart: DISABLE'); - } else { + if (!room.settings.tournaments.autostart) { throw new Chat.ErrorMessage(`Autostart is already disabled for every tournament.`); } + if (tour && !tour.isTournamentStarted && tour.autoDisqualifyTimeout !== Infinity) { + this.parse(`/tour setautojoin off`); + } + room.settings.tournaments.autostart = false; + room.saveSettings(); + this.privateModAction(`Autostart was disabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'autostart: DISABLE'); } else if (this.meansYes(target) && target !== '1') { if (room.settings.tournaments.autostart === true) { throw new Chat.ErrorMessage(`Autostart for every tournament is already set to true.`); @@ -2200,19 +2149,18 @@ const commands: Chat.ChatCommands = { const num = Number(target); if (!target || (!this.meansNo(target) && isNaN(num))) return this.parse(`/help tour settings`); const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansNo(target)) { - if (room.settings.tournaments.autodq) { - if (tour && !tour.isTournamentStarted && tour.autoDisqualifyTimeout !== Infinity) { - this.parse(`/tour autodq off`); - } - delete room.settings.tournaments.autodq; - room.saveSettings(); - this.privateModAction(`Automatic disqualification was disabled for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'autodq: DISABLE'); - } else { + if (!room.settings.tournaments.autodq) { throw new Chat.ErrorMessage(`Automatic disqualification is already disabled for every tournament.`); } + if (tour && !tour.isTournamentStarted && tour.autoDisqualifyTimeout !== Infinity) { + this.parse(`/tour autodq off`); + } + delete room.settings.tournaments.autodq; + room.saveSettings(); + this.privateModAction(`Automatic disqualification was disabled for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'autodq: DISABLE'); } else if (!isNaN(num)) { const timeout = num * 60 * 1000; if (timeout < 0.5 * 60 * 1000 || timeout > Chat.MAX_TIMEOUT_DURATION) { @@ -2236,19 +2184,18 @@ const commands: Chat.ChatCommands = { const num = parseInt(target); if (!target || (!this.meansNo(target) && isNaN(num))) return this.parse(`/help tour settings`); const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansNo(target)) { - if (room.settings.tournaments.playerCap) { - if (tour && !tour.isTournamentStarted && tour.playerCap) { - this.parse(`/tour setplayercap off`); - } - delete room.settings.tournaments.playerCap; - room.saveSettings(); - this.privateModAction(`Player Cap was removed for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, 'playercap: REMOVE'); - } else { + if (!room.settings.tournaments.playerCap) { throw new Chat.ErrorMessage(`Player Cap is already removed for every tournament.`); } + if (tour && !tour.isTournamentStarted && tour.playerCap) { + this.parse(`/tour setplayercap off`); + } + delete room.settings.tournaments.playerCap; + room.saveSettings(); + this.privateModAction(`Player Cap was removed for every tournament by ${user.name}`); + this.modlog('TOUR SETTINGS', null, 'playercap: REMOVE'); } else if (!isNaN(num)) { if (num < 2) { throw new Chat.ErrorMessage(`The Player Cap must be at least 2.`); @@ -2271,47 +2218,17 @@ const commands: Chat.ChatCommands = { return this.sendReply(`Usage: ${this.cmdToken}${this.fullCmd} `); } }, - sampleteams(target, room, user) { - room = this.requireRoom(); - this.checkCan('declare', null, room); - if (!target) return this.parse(`/help tour settings`); - const tour = room.getGame(Tournament); - if (!room.settings.tournaments) room.settings.tournaments = {}; - if (this.meansYes(target)) { - if (!room.settings.tournaments.showSampleTeams) { - if (tour && !tour.isTournamentStarted) tour.showSampleTeams(); - room.settings.tournaments.showSampleTeams = true; - room.saveSettings(); - this.privateModAction(`Show Sample Teams was set to ON for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, `show sample teams: ON`); - } else { - throw new Chat.ErrorMessage(`Sample teams are already shown for every tournament.`); - } - } else if (this.meansNo(target)) { - if (room.settings.tournaments.showSampleTeams) { - delete room.settings.tournaments.showSampleTeams; - room.saveSettings(); - this.privateModAction(`Show Sample Teams was set to OFF for every tournament by ${user.name}`); - this.modlog('TOUR SETTINGS', null, `show sample teams: OFF`); - } else { - throw new Chat.ErrorMessage(`Sample teams are already not shown for every tournament.`); - } - } else { - return this.sendReply(`Usage: ${this.cmdToken}${this.fullCmd} `); - } - }, recenttours(target, room, user) { room = this.requireRoom(); this.checkCan('declare', null, room); - const num = parseInt(target); - const force = toID(target) === 'forcedelete'; - if (!target || - (!this.meansNo(target) && !force && - (isNaN(num) || num > 15 || num < 0))) { + let num = parseInt(target); + const forcedelete = toID(target) === 'forcedelete'; + if (this.meansNo(target) || forcedelete) num = 0; + if (isNaN(num) || num > 15 || num < 0) { return this.parse(`/help tour settings`); } - if (!room.settings.tournaments) room.settings.tournaments = {}; - if (!isNaN(num) && num <= 15 && num >= 1) { + room.settings.tournaments ||= {}; + if (num >= 1) { if (room.settings.tournaments.recentToursLength === num) { throw new Chat.ErrorMessage(`Number of recent tournaments to record is already set to ${num}.`); } @@ -2324,24 +2241,19 @@ const commands: Chat.ChatCommands = { room.saveSettings(); this.privateModAction(`Number of recent tournaments to record was set to ${num} by ${user.name}.`); this.modlog('TOUR SETTINGS', null, `recent tours: ${num} most recent`); - } else if (this.meansNo(target) || force) { - if (room.settings.tournaments.recentToursLength) { - delete room.settings.tournaments.recentToursLength; - if (force) { - delete room.settings.tournaments.recentTours; - this.privateModAction(`Recent tournaments list was deleted by ${user.name}.`); - this.modlog('TOUR SETTINGS', null, `recent tours: delete`); - } - room.saveSettings(); - this.privateModAction(`Number of recent tournaments to record was turned off by ${user.name}.`); - this.modlog('TOUR SETTINGS', null, `recent tours: off`); - } else { - if (!force) { - throw new Chat.ErrorMessage(`Number of recent tournaments to record is already disabled.`); - } - } } else { - this.sendReply(`Usage: ${this.cmdToken}${this.fullCmd} `); + if (forcedelete && room.settings.tournaments.recentTours) { + delete room.settings.tournaments.recentTours; + this.privateModAction(`Recent tournaments list was deleted by ${user.name}.`); + this.modlog('TOUR SETTINGS', null, `recent tours: delete`); + } + if (!room.settings.tournaments.recentToursLength) { + throw new Chat.ErrorMessage(`Number of recent tournaments to record is already disabled.`); + } + delete room.settings.tournaments.recentToursLength; + room.saveSettings(); + this.privateModAction(`Number of recent tournaments to record was turned off by ${user.name}.`); + this.modlog('TOUR SETTINGS', null, `recent tours: off`); } }, blockrecents(target, room, user) { @@ -2354,7 +2266,7 @@ const commands: Chat.ChatCommands = { } return this.parse(`/help tour settings`); } - if (!room.settings.tournaments) room.settings.tournaments = {}; + room.settings.tournaments ||= {}; if (this.meansYes(target)) { if (room.settings.tournaments.blockRecents) { throw new Chat.ErrorMessage(`Recent tournaments are already blocked from being made.`); @@ -2387,7 +2299,6 @@ const commands: Chat.ChatCommands = { `/tour settings autoconfirmedonly: - Set requirement for signups for this tournament. If this is on, only autoconfirmed users can join a tournament.`, `/tour settings playercap - Sets the playercap for every tournament.`, `/tour settings scouting - Specifies whether users can spectate other participants for every tournament.`, - `/tour settings sampleteams - Specifies whether sample teams are shown for every tournament.`, `/tour settings recenttours - Specifies the amount of recent tournaments to list in /recenttours.`, `/tour settings blockrecents - Toggles blocking tours in /recenttours from being made.`, `Requires: # &`, diff --git a/server/users.ts b/server/users.ts index fb1c1553f0a0..5f1447e98290 100644 --- a/server/users.ts +++ b/server/users.ts @@ -45,7 +45,7 @@ const PERMALOCK_CACHE_TIME = 30 * 24 * 60 * 60 * 1000; // 30 days const DEFAULT_TRAINER_SPRITES = [1, 2, 101, 102, 169, 170, 265, 266]; -import {FS, Utils, ProcessManager} from '../lib'; +import {Utils, ProcessManager} from '../lib'; import { Auth, GlobalAuth, SECTIONLEADER_SYMBOL, PLAYER_SYMBOL, HOST_SYMBOL, RoomPermission, GlobalPermission, } from './user-groups'; @@ -240,6 +240,13 @@ export class Connection { lastRequestedPage: string | null; lastActiveTime: number; openPages: null | Set; + /** + * Used to distinguish Connection from User. + * + * Makes it easy to do something like + * `for (const conn of (userOrConn.connections || [userOrConn]))` + */ + readonly connections = null; constructor( id: string, worker: ProcessManager.StreamWorker, @@ -332,9 +339,16 @@ export interface UserSettings { export class User extends Chat.MessageContext { /** In addition to needing it to implement MessageContext, this is also nice for compatibility with Connection. */ readonly user: User; + /** + * Not a source of truth - should always be in sync with + * `[...Rooms.rooms.values()].filter(room => this.id in room.users)` + */ readonly inRooms: Set; /** - * Set of room IDs + * Not a source of truth - should always in sync with + * `[...Rooms.rooms.values()].filter(` + * ` room => room.game && this.id in room.game.playerTable && !room.game.ended` + * `)` */ readonly games: Set; mmrCache: {[format: string]: number}; @@ -858,7 +872,7 @@ export class User extends Chat.MessageContext { Punishments.checkName(user, userid, registered); Rooms.global.checkAutojoin(user); - Rooms.global.joinOldBattles(this); + Rooms.global.rejoinGames(user); Chat.loginfilter(user, this, userType); return true; } @@ -874,7 +888,7 @@ export class User extends Chat.MessageContext { return false; } Rooms.global.checkAutojoin(this); - Rooms.global.joinOldBattles(this); + Rooms.global.rejoinGames(this); Chat.loginfilter(this, null, userType); return true; } @@ -930,7 +944,14 @@ export class User extends Chat.MessageContext { room.game.onRename(this, oldid, joining, isForceRenamed); } for (const roomid of this.inRooms) { - Rooms.get(roomid)!.onRename(this, oldid, joining); + const room = Rooms.get(roomid)!; + room.onRename(this, oldid, joining); + if (room.game && !this.games.has(roomid)) { + if (room.game.playerTable[this.id]) { + this.games.add(roomid); + room.game.onRename(this, oldid, joining, isForceRenamed); + } + } } if (isForceRenamed) this.trackRename = oldname; return true; @@ -1060,12 +1081,10 @@ export class User extends Chat.MessageContext { room.onJoin(this, connection); this.inRooms.add(roomid); } - if (room.game && room.game.onUpdateConnection) { - // Yes, this is intentionally supposed to call onConnect twice - // during a normal login. Override onUpdateConnection if you - // don't want this behavior. - room.game.onUpdateConnection(this, connection); - } + // Yes, this is intentionally supposed to call onConnect twice + // during a normal login. Override onUpdateConnection if you + // don't want this behavior. + room.game?.onUpdateConnection?.(this, connection); } this.updateReady(connection); } @@ -1276,20 +1295,17 @@ export class User extends Chat.MessageContext { async tryJoinRoom(roomid: RoomID | Room, connection: Connection) { roomid = roomid && (roomid as Room).roomid ? (roomid as Room).roomid : roomid as RoomID; const room = Rooms.search(roomid); - if (!room && roomid.startsWith('view-')) { - return Chat.resolvePage(roomid, this, connection); - } - if (!room?.checkModjoin(this)) { - if (!this.named) { - return Rooms.RETRY_AFTER_LOGIN; - } else { - if (room) { - connection.sendTo(roomid, `|noinit|joinfailed|The room "${roomid}" is invite-only, and you haven't been invited.`); - } else { - connection.sendTo(roomid, `|noinit|nonexistent|The room "${roomid}" does not exist.`); - } - return false; + if (!room) { + if (roomid.startsWith('view-')) { + return Chat.resolvePage(roomid, this, connection); } + connection.sendTo(roomid, `|noinit|nonexistent|The room "${roomid}" does not exist.`); + return false; + } + if (!room.checkModjoin(this)) { + if (!this.named) return Rooms.RETRY_AFTER_LOGIN; + connection.sendTo(roomid, `|noinit|joinfailed|The room "${roomid}" is invite-only, and you haven't been invited.`); + return false; } if ((room as GameRoom).tour) { const errorMessage = (room as GameRoom).tour!.onBattleJoin(room as GameRoom, this); @@ -1337,8 +1353,8 @@ export class User extends Chat.MessageContext { } if (!connection.inRooms.has(room.roomid)) { if (!this.inRooms.has(room.roomid)) { - this.inRooms.add(room.roomid); room.onJoin(this, connection); + this.inRooms.add(room.roomid); } connection.joinRoom(room); room.onConnect(this, connection); @@ -1525,20 +1541,13 @@ export class User extends Chat.MessageContext { destroy() { // deallocate user for (const roomid of this.games) { - const room = Rooms.get(roomid); - if (!room) { - Monitor.warn(`while deallocating, room ${roomid} did not exist for ${this.id} in rooms ${[...this.inRooms]} and games ${[...this.games]}`); - this.games.delete(roomid); - continue; - } - const game = room.game; + const game = Rooms.get(roomid)?.game; if (!game) { Monitor.warn(`while deallocating, room ${roomid} did not have a game for ${this.id} in rooms ${[...this.inRooms]} and games ${[...this.games]}`); this.games.delete(roomid); continue; } - if (game.ended) continue; - if (game.forfeit) game.forfeit(this); + if (!game.ended) game.forfeit?.(this, " lost by being offline too long."); } this.clearChatQueue(); this.destroyPunishmentTimer(); @@ -1577,8 +1586,16 @@ function pruneInactive(threshold: number) { user.destroy(); } if (!user.can('addhtml')) { + const suspicious = global.Config?.isSuspicious?.(user) || false; for (const connection of user.connections) { - if (now - connection.lastActiveTime > CONNECTION_EXPIRY_TIME) { + if ( + // conn's been inactive for 24h, just kill it + (now - connection.lastActiveTime > CONNECTION_EXPIRY_TIME) || + // they're connected and not named, but not namelocked. this is unusual behavior, ultimately just wasting resources. + // people have been spamming us with conns as of writing this, so it appears to be largely bots doing this. + // so we're just gonna go ahead and dc them. if they're a real user, they can rejoin and go back to... whatever. + suspicious && (now - connection.connectedAt) > threshold + ) { connection.destroy(); } } @@ -1600,7 +1617,7 @@ function logGhostConnections(threshold: number): Promise { } } return buffer.length ? - FS(`logs/ghosts-${process.pid}.log`).append(buffer.join('\r\n') + '\r\n') : + Monitor.logPath(`ghosts-${process.pid}.log`).append(buffer.join('\r\n') + '\r\n') : Promise.resolve(); } @@ -1625,7 +1642,7 @@ function socketConnect( } // Emergency mode connections logging if (Config.emergency) { - void FS('logs/cons.emergency.log').append('[' + ip + ']\n'); + void Monitor.logPath('cons.emergency.log').append('[' + ip + ']\n'); } const user = new User(connection); @@ -1715,7 +1732,7 @@ function socketReceive(worker: ProcessManager.StreamWorker, workerid: number, so } // Emergency logging if (Config.emergency) { - void FS('logs/emergency.log').append(`[${user} (${connection.ip})] ${roomId}|${message}\n`); + void Monitor.logPath('emergency.log').append(`[${user} (${connection.ip})] ${roomId}|${message}\n`); } for (const line of lines) { diff --git a/sim/SIM-PROTOCOL.md b/sim/SIM-PROTOCOL.md index 25476b09478d..964c5962feb9 100644 --- a/sim/SIM-PROTOCOL.md +++ b/sim/SIM-PROTOCOL.md @@ -63,7 +63,7 @@ The beginning of a battle will look something like this: `|gen|GENNUM` -> Generation number, from 1 to 7. Stadium counts as its respective gens; +> Generation number, from 1 to 9. Stadium counts as its respective gens; > Let's Go counts as 7, and modded formats count as whatever gen they were > based on. @@ -603,7 +603,7 @@ stat boosts are minor actions. `|-nothing` > **DEPRECATED**: A move did absolutely nothing. (For example: Splash). In the -> future this will be of the form `|-activate||move:Splash`. +> future this will be of the form `|-activate|POKEMON|move: Splash`. `|-hitcount|POKEMON|NUM` diff --git a/sim/SIMULATOR.md b/sim/SIMULATOR.md index be82d7984610..6de38dc6ea13 100644 --- a/sim/SIMULATOR.md +++ b/sim/SIMULATOR.md @@ -1,7 +1,7 @@ Battle simulator ================ -Pokémon Showdown's simulator API is implemented as a `ReadWriteStream`. You write player choices to it, and you read protocol messages from it. +Pokémon Showdown's simulator API is implemented as an `ObjectReadWriteStream` (as in [STREAMS.md](../lib/STREAMS.md)). You write player choices (strings) to it, and you read protocol messages (also strings) from it. `npm install pokemon-showdown` @@ -22,7 +22,7 @@ stream.write(`>player p2 {"name":"Bob"}`); The stream can also be accessed from other programming languages using standard IO. -In this case, you would clone the repository, and then run: +In this case, you would clone the repository, and then run, for instance: ```bash echo '>start {"formatid":"gen7randombattle"} @@ -31,6 +31,10 @@ echo '>start {"formatid":"gen7randombattle"} ' | ./pokemon-showdown simulate-battle ``` +For the equivalent in your language, read your language's documentation on how to interact with a subprocess's standard IO. + +Doing this with standard IO requires a separate subprocess for each battle. Remember to add `\n` after each message you write to standard IO. + Writing to the simulator ------------------------ @@ -49,7 +53,7 @@ In a standard battle, what you write to the simulator looks something like this: >p2 move 2 ``` -(In a data stream, messages should be delimited by `\n`; in an object stream, `\n` will be implicitly added after every message.) +(In a text [standard IO] stream, messages should end with `\n`; in an object stream, `\n` will be implicitly added after every message.) Notice that every line starts with `>`. Lines not starting with `>` are comments, so that input logs can be mixed with output logs and/or normal text easily. @@ -115,7 +119,7 @@ Makes a choice for a player. [Possible choices are documented in `SIM-PROTOCOL.m Reading from the simulator -------------------------- -The simulator will send back messages. In a data stream, they're delimited by `\n\n`. In an object stream, they will just be sent as separate strings. +The simulator will send back messages. In a text (standard IO) stream, they're delimited by `\n\n`. In an object stream, they will just be sent as separate strings. Messages start with a message type followed by `\n`. A message will never have two `\n` in a row, so that `\n\n` unambiguously separates messages. diff --git a/sim/battle-actions.ts b/sim/battle-actions.ts index a177bbd0b4d8..9da6173cc418 100644 --- a/sim/battle-actions.ts +++ b/sim/battle-actions.ts @@ -595,6 +595,7 @@ export class BattleActions { if (!hitResults) continue; targets = targets.filter((val, i) => hitResults[i] || hitResults[i] === 0); atLeastOneFailure = atLeastOneFailure || hitResults.some(val => val === false); + if (move.smartTarget && atLeastOneFailure) move.smartTarget = false; if (!targets.length) { // console.log(step.name); break; @@ -608,11 +609,16 @@ export class BattleActions { return moveResult; } hitStepInvulnerabilityEvent(targets: Pokemon[], pokemon: Pokemon, move: ActiveMove) { - if (move.id === 'helpinghand' || (this.battle.gen >= 8 && move.id === 'toxic' && pokemon.hasType('Poison'))) { - return new Array(targets.length).fill(true); - } - const hitResults = this.battle.runEvent('Invulnerability', targets, pokemon, move); + if (move.id === 'helpinghand') return new Array(targets.length).fill(true); + const hitResults: boolean[] = []; for (const [i, target] of targets.entries()) { + if (target.volatiles['commanding']) { + hitResults[i] = false; + } else if (this.battle.gen >= 8 && move.id === 'toxic' && pokemon.hasType('Poison')) { + hitResults[i] = true; + } else { + hitResults[i] = this.battle.runEvent('Invulnerability', target, pokemon, move); + } if (hitResults[i] === false) { if (move.smartTarget) { move.smartTarget = false; @@ -644,7 +650,6 @@ export class BattleActions { for (const i of targets.keys()) { hitResults[i] = (move.ignoreImmunity && (move.ignoreImmunity === true || move.ignoreImmunity[move.type])) || targets[i].runImmunity(move.type, !move.smartTarget); - if (move.smartTarget && !hitResults[i]) move.smartTarget = false; } return hitResults; @@ -662,7 +667,9 @@ export class BattleActions { } else if (this.battle.gen >= 7 && move.pranksterBoosted && pokemon.hasAbility('prankster') && !targets[i].isAlly(pokemon) && !this.dex.getImmunity('prankster', target)) { this.battle.debug('natural prankster immunity'); - if (!target.illusion) this.battle.hint("Since gen 7, Dark is immune to Prankster moves."); + if (target.illusion || !(move.status && !this.dex.getImmunity(move.status, target))) { + this.battle.hint("Since gen 7, Dark is immune to Prankster moves."); + } this.battle.add('-immune', target); hitResults[i] = false; } else { @@ -738,7 +745,9 @@ export class BattleActions { if (move.breaksProtect) { for (const target of targets) { let broke = false; - for (const effectid of ['banefulbunker', 'kingsshield', 'obstruct', 'protect', 'silktrap', 'spikyshield']) { + for (const effectid of [ + 'banefulbunker', 'burningbulwark', 'kingsshield', 'obstruct', 'protect', 'silktrap', 'spikyshield', + ]) { if (target.removeVolatile(effectid)) broke = true; } if (this.battle.gen >= 6 || !target.isAlly(pokemon)) { @@ -781,7 +790,9 @@ export class BattleActions { boosts[statName2] = 0; } target.setBoost(boosts); - this.battle.addMove('-anim', pokemon, "Spectral Thief", target); + if (move.id === "Spectral Thief") { + this.battle.addMove('-anim', pokemon, "Spectral Thief", target); + } } } return undefined; @@ -919,13 +930,22 @@ export class BattleActions { const moveData = move; if (!moveData.flags) moveData.flags = {}; + let moveDamageThisHit; // Modifies targetsCopy (which is why it's a copy) - [moveDamage, targetsCopy] = this.spreadMoveHit(targetsCopy, pokemon, move, moveData); + [moveDamageThisHit, targetsCopy] = this.spreadMoveHit(targetsCopy, pokemon, move, moveData); + // When Dragon Darts targets two different pokemon, targetsCopy is a length 1 array each hit + // so spreadMoveHit returns a length 1 damage array + if (move.smartTarget) { + moveDamage.push(...moveDamageThisHit); + } else { + moveDamage = moveDamageThisHit; + } if (!moveDamage.some(val => val !== false)) break; nullDamage = false; for (const [i, md] of moveDamage.entries()) { + if (move.smartTarget && i !== hit - 1) continue; // Damage from each hit is individually counted for the // purposes of Counter, Metal Burst, and Mirror Coat. damage[i] = md === true || !md ? 0 : md; @@ -978,18 +998,14 @@ export class BattleActions { // smartTarget messes up targetsCopy, but smartTarget should in theory ensure that targets will never fail, anyway if (move.smartTarget) { - if (move.smartTarget && targets.length > 1) { - targetsCopy = [targets[hit - 1]]; - } else { - targetsCopy = targets.slice(0); - } + targetsCopy = targets.slice(0); } for (const [i, target] of targetsCopy.entries()) { if (target && pokemon !== target) { target.gotAttacked(move, moveDamage[i] as number | false | undefined, pokemon); if (typeof moveDamage[i] === 'number') { - target.timesAttacked += hit - 1; + target.timesAttacked += move.smartTarget ? 1 : hit - 1; } } } @@ -1730,20 +1746,40 @@ export class BattleActions { baseDamage = this.battle.randomizer(baseDamage); // STAB - if (move.forceSTAB || (type !== '???' && - (pokemon.hasType(type) || (pokemon.terastallized && pokemon.getTypes(false, true).includes(type))))) { - // The "???" type never gets STAB - // Not even if you Roost in Gen 4 and somehow manage to use - // Struggle in the same turn. - // (On second thought, it might be easier to get a MissingNo.) - - let stab = move.stab || 1.5; - if (type === pokemon.terastallized && pokemon.getTypes(false, true).includes(type)) { - // In my defense, the game hardcodes the Adaptability check like this, too. - stab = stab === 2 ? 2.25 : 2; - } else if (pokemon.terastallized && type !== pokemon.terastallized) { + // The "???" type never gets STAB + // Not even if you Roost in Gen 4 and somehow manage to use + // Struggle in the same turn. + // (On second thought, it might be easier to get a MissingNo.) + if (type !== '???') { + let stab: number | [number, number] = 1; + + const isSTAB = move.forceSTAB || pokemon.hasType(type) || pokemon.getTypes(false, true).includes(type); + if (isSTAB) { stab = 1.5; } + + // The Stellar tera type makes this incredibly confusing + // If the move's type does not match one of the user's base types, + // the Stellar tera type applies a one-time 1.2x damage boost for that type. + // + // If the move's type does match one of the user's base types, + // then the Stellar tera type applies a one-time 2x STAB boost for that type, + // and then goes back to using the regular 1.5x STAB boost for those types. + if (pokemon.terastallized === 'Stellar') { + if (!pokemon.stellarBoostedTypes.includes(type) || move.stellarBoosted) { + stab = isSTAB ? 2 : [4915, 4096]; + move.stellarBoosted = true; + if (pokemon.species.name !== 'Terapagos-Stellar') { + pokemon.stellarBoostedTypes.push(type); + } + } + } else { + if (pokemon.terastallized === type && pokemon.getTypes(false, true).includes(type)) { + stab = 2; + } + stab = this.battle.runEvent('ModifySTAB', pokemon, target, move, stab); + } + baseDamage = this.battle.modify(baseDamage, stab); } @@ -1862,6 +1898,12 @@ export class BattleActions { return true; } + // Let's Go + canMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => string | null; + canMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => string | null; + runMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => boolean; + runMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => boolean; + canTerastallize(pokemon: Pokemon) { if (pokemon.getItem().zMove || pokemon.canMegaEvo || this.dex.gen !== 9) { return null; @@ -1870,7 +1912,7 @@ export class BattleActions { } terastallize(pokemon: Pokemon) { - if (pokemon.illusion?.species.baseSpecies === 'Ogerpon') { + if (pokemon.illusion && ['Ogerpon', 'Terapagos'].includes(pokemon.illusion.species.baseSpecies)) { this.battle.singleEvent('End', this.dex.abilities.get('Illusion'), pokemon.abilityState, pokemon); } @@ -1885,7 +1927,17 @@ export class BattleActions { pokemon.apparentType = type; if (pokemon.species.baseSpecies === 'Ogerpon') { const tera = pokemon.species.id === 'ogerpon' ? 'tealtera' : 'tera'; - pokemon.formeChange(pokemon.species.id + tera, pokemon.getItem(), true); + pokemon.formeChange(pokemon.species.id + tera, null, true); + } + if (pokemon.species.name === 'Terapagos-Terastal' && type === 'Stellar') { + pokemon.formeChange('Terapagos-Stellar', null, true); + pokemon.baseMaxhp = Math.floor(Math.floor( + 2 * pokemon.species.baseStats['hp'] + pokemon.set.ivs['hp'] + Math.floor(pokemon.set.evs['hp'] / 4) + 100 + ) * pokemon.level / 100 + 10); + const newMaxHP = pokemon.baseMaxhp; + pokemon.hp = newMaxHP - (pokemon.maxhp - pokemon.hp); + pokemon.maxhp = newMaxHP; + this.battle.add('-heal', pokemon, pokemon.getHealth, '[silent]'); } this.battle.runEvent('AfterTerastallization', pokemon); } diff --git a/sim/battle-queue.ts b/sim/battle-queue.ts index 9f503ae10686..9b2db39209dc 100644 --- a/sim/battle-queue.ts +++ b/sim/battle-queue.ts @@ -92,7 +92,7 @@ export interface FieldAction { /** A generic action done by a single pokemon */ export interface PokemonAction { /** action type */ - choice: 'megaEvo' | 'shift' | 'runPrimal' | 'runSwitch' | 'event' | 'runUnnerve' | 'runDynamax' | 'terastallize'; + choice: 'megaEvo' | 'megaEvoX' | 'megaEvoY' | 'shift' | 'runPrimal' | 'runSwitch' | 'event' | 'runUnnerve' | 'runDynamax' | 'terastallize'; /** priority of the action (lower first) */ priority: number; /** speed of pokemon doing action (higher first if priority tie) */ @@ -179,6 +179,8 @@ export class BattleQueue { runPrimal: 102, switch: 103, megaEvo: 104, + megaEvoX: 104, + megaEvoY: 104, runDynamax: 105, terastallize: 106, priorityChargeMove: 107, @@ -210,6 +212,18 @@ export class BattleQueue { pokemon: action.pokemon, })); } + if (action.megax && !action.pokemon.isSkyDropped()) { + actions.unshift(...this.resolveAction({ + choice: 'megaEvoX', + pokemon: action.pokemon, + })); + } + if (action.megay && !action.pokemon.isSkyDropped()) { + actions.unshift(...this.resolveAction({ + choice: 'megaEvoY', + pokemon: action.pokemon, + })); + } if (action.terastallize && !action.pokemon.terastallized) { actions.unshift(...this.resolveAction({ choice: 'terastallize', diff --git a/sim/battle.ts b/sim/battle.ts index ea5203fc2e4b..99c1286addbf 100644 --- a/sim/battle.ts +++ b/sim/battle.ts @@ -217,10 +217,9 @@ export class Battle { this.formatData = {id: format.id}; this.gameType = (format.gameType || 'singles'); this.field = new Field(this); - const isFourPlayer = this.gameType === 'multi' || this.gameType === 'freeforall'; - this.sides = Array(isFourPlayer ? 4 : 2).fill(null) as any; + this.sides = Array(format.playerCount).fill(null) as any; this.activePerHalf = this.gameType === 'triples' ? 3 : - (isFourPlayer || this.gameType === 'doubles') ? 2 : + (format.playerCount > 2 || this.gameType === 'doubles') ? 2 : 1; this.prng = options.prng || new PRNG(options.seed || undefined); this.prngSeed = this.prng.startingSeed.slice() as PRNGSeed; @@ -779,9 +778,9 @@ export class Battle { // it's changed; call it off continue; } - if (effect.effectType === 'Ability' && effect.isBreakable !== false && + if (effect.effectType === 'Ability' && effect.flags['breakable'] && this.suppressingAbility(effectHolder as Pokemon)) { - if (effect.isBreakable) { + if (effect.flags['breakable']) { this.debug(eventid + ' handler suppressed by Mold Breaker'); continue; } @@ -1162,7 +1161,7 @@ export class Battle { } return false; } - return move.flags['contact']; + return !!move.flags['contact']; } getPokemon(fullname: string | Pokemon) { @@ -2557,6 +2556,12 @@ export class Battle { case 'megaEvo': this.actions.runMegaEvo(action.pokemon); break; + case 'megaEvoX': + this.actions.runMegaEvoX?.(action.pokemon); + break; + case 'megaEvoY': + this.actions.runMegaEvoY?.(action.pokemon); + break; case 'runDynamax': action.pokemon.addVolatile('dynamax'); action.pokemon.side.dynamaxUsed = true; @@ -2687,7 +2692,7 @@ export class Battle { // in gen 3 or earlier, switching in fainted pokemon is done after // every move, rather than only at the end of the turn. this.checkFainted(); - } else if (action.choice === 'megaEvo' && this.gen === 7) { + } else if (['megaEvo', 'megaEvoX', 'megaEvoY'].includes(action.choice) && this.gen === 7) { this.eachEvent('Update'); // In Gen 7, the action order is recalculated for a Pokémon that mega evolves. for (const [i, queuedAction] of this.queue.list.entries()) { diff --git a/sim/dex-abilities.ts b/sim/dex-abilities.ts index 8310c469f968..ed49ffd0d90a 100644 --- a/sim/dex-abilities.ts +++ b/sim/dex-abilities.ts @@ -8,6 +8,18 @@ interface AbilityEventMethods { onStart?: (this: Battle, target: Pokemon) => void; } +/* Possible Ability flags */ +interface AbilityFlags { + breakable?: 1; // Can be suppressed by Mold Breaker and related effects + cantsuppress?: 1; // Ability can't be suppressed by e.g. Gastro Acid or Neutralizing Gas + failroleplay?: 1; // Role Play fails if target has this Ability + failskillswap?: 1; // Skill Swap fails if either the user or target has this Ability + noentrain?: 1; // Entrainment fails if user has this Ability + noreceiver?: 1; // Receiver and Power of Alchemy will not activate if an ally faints with this Ability + notrace?: 1; // Trace cannot copy this Ability + notransform?: 1; // Disables the Ability if the user is Transformed +} + export interface AbilityData extends Partial, AbilityEventMethods, PokemonEventMethods { name: string; } @@ -20,9 +32,8 @@ export class Ability extends BasicEffect implements Readonly { /** Rating from -1 Detrimental to +5 Essential; see `data/abilities.ts` for details. */ readonly rating: number; readonly suppressWeather: boolean; + readonly flags: AbilityFlags; declare readonly condition?: ConditionData; - declare readonly isPermanent?: boolean; - declare readonly isBreakable?: boolean; constructor(data: AnyObject) { super(data); @@ -30,6 +41,7 @@ export class Ability extends BasicEffect implements Readonly { this.fullname = `ability: ${this.name}`; this.effectType = 'Ability'; this.suppressWeather = !!data.suppressWeather; + this.flags = data.flags || {}; this.rating = data.rating || 0; if (!this.gen) { @@ -97,7 +109,7 @@ export class DexAbilities { }); } - if (ability.exists) this.abilityCache.set(id, ability); + if (ability.exists) this.abilityCache.set(id, this.dex.deepFreeze(ability)); return ability; } diff --git a/sim/dex-conditions.ts b/sim/dex-conditions.ts index 10607568305b..6cf73e5b6858 100644 --- a/sim/dex-conditions.ts +++ b/sim/dex-conditions.ts @@ -65,6 +65,7 @@ export interface EventMethods { onModifySpA?: CommonHandlers['ModifierSourceMove']; onModifySpD?: CommonHandlers['ModifierMove']; onModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void; + onModifySTAB?: CommonHandlers['ModifierSourceMove']; onModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void; onMoveAborted?: CommonHandlers['VoidMove']; onNegateImmunity?: ((this: Battle, pokemon: Pokemon, type: string) => boolean | void) | boolean; @@ -164,6 +165,7 @@ export interface EventMethods { onFoeModifySpA?: CommonHandlers['ModifierSourceMove']; onFoeModifySpD?: CommonHandlers['ModifierMove']; onFoeModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void; + onFoeModifySTAB?: CommonHandlers['ModifierSourceMove']; onFoeModifyType?: MoveEventMethods['onModifyType']; onFoeModifyTarget?: MoveEventMethods['onModifyTarget']; onFoeModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void; @@ -262,6 +264,7 @@ export interface EventMethods { onSourceModifySpA?: CommonHandlers['ModifierSourceMove']; onSourceModifySpD?: CommonHandlers['ModifierMove']; onSourceModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void; + onSourceModifySTAB?: CommonHandlers['ModifierSourceMove']; onSourceModifyType?: MoveEventMethods['onModifyType']; onSourceModifyTarget?: MoveEventMethods['onModifyTarget']; onSourceModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void; @@ -362,6 +365,7 @@ export interface EventMethods { onAnyModifySpA?: CommonHandlers['ModifierSourceMove']; onAnyModifySpD?: CommonHandlers['ModifierMove']; onAnyModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void; + onAnyModifySTAB?: CommonHandlers['ModifierSourceMove']; onAnyModifyType?: MoveEventMethods['onModifyType']; onAnyModifyTarget?: MoveEventMethods['onModifyTarget']; onAnyModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void; @@ -451,6 +455,7 @@ export interface EventMethods { onModifySpAPriority?: number; onModifySpDPriority?: number; onModifySpePriority?: number; + onModifySTABPriority?: number; onModifyTypePriority?: number; onModifyWeightPriority?: number; onRedirectTargetPriority?: number; @@ -527,6 +532,7 @@ export interface PokemonEventMethods extends EventMethods { onAllyModifySpA?: CommonHandlers['ModifierSourceMove']; onAllyModifySpD?: CommonHandlers['ModifierMove']; onAllyModifySpe?: (this: Battle, spe: number, pokemon: Pokemon) => number | void; + onAllyModifySTAB?: CommonHandlers['ModifierSourceMove']; onAllyModifyType?: MoveEventMethods['onModifyType']; onAllyModifyTarget?: MoveEventMethods['onModifyTarget']; onAllyModifyWeight?: (this: Battle, weighthg: number, pokemon: Pokemon) => number | void; @@ -657,6 +663,9 @@ export class DexConditions { condition = {...ability, id: 'ability:' + ability.id as ID} as any as Condition; } else if (this.dex.data.Rulesets.hasOwnProperty(id)) { condition = this.dex.formats.get(id) as any as Condition; + // formats can't be frozen if they don't have a ruleTable + this.conditionCache.set(id, condition); + return condition; } else if (this.dex.data.Conditions.hasOwnProperty(id)) { condition = new Condition({name: id, ...this.dex.data.Conditions[id]}); } else if ( @@ -673,7 +682,7 @@ export class DexConditions { condition = new Condition({name: id, exists: false}); } - this.conditionCache.set(id, condition); + this.conditionCache.set(id, this.dex.deepFreeze(condition)); return condition; } } diff --git a/sim/dex-data.ts b/sim/dex-data.ts index d0cd8bf29132..fc9cd8c2160b 100644 --- a/sim/dex-data.ts +++ b/sim/dex-data.ts @@ -178,7 +178,7 @@ export class DexNatures { nature = new Nature({name: id, exists: false}); } - if (nature.exists) this.natureCache.set(id, nature); + if (nature.exists) this.natureCache.set(id, this.dex.deepFreeze(nature)); return nature; } @@ -188,7 +188,7 @@ export class DexNatures { for (const id in this.dex.data.Natures) { natures.push(this.getByID(id as ID)); } - this.allCache = natures; + this.allCache = Object.freeze(natures); return this.allCache; } } @@ -278,7 +278,7 @@ export class DexTypes { type = new TypeInfo({name: typeName, id, exists: false, effectType: 'EffectType'}); } - if (type.exists) this.typeCache.set(id, type); + if (type.exists) this.typeCache.set(id, this.dex.deepFreeze(type)); return type; } @@ -302,7 +302,7 @@ export class DexTypes { for (const id in this.dex.data.TypeChart) { types.push(this.getByID(id as ID)); } - this.allCache = types; + this.allCache = Object.freeze(types); return this.allCache; } } diff --git a/sim/dex-formats.ts b/sim/dex-formats.ts index 730ec3640bdb..df7baaf03a65 100644 --- a/sim/dex-formats.ts +++ b/sim/dex-formats.ts @@ -212,7 +212,8 @@ export class RuleTable extends Map { this.defaultLevel = Number(this.valueRules.get('defaultlevel')) || 0; this.adjustLevel = Number(this.valueRules.get('adjustlevel')) || null; this.adjustLevelDown = Number(this.valueRules.get('adjustleveldown')) || null; - this.evLimit = Number(this.valueRules.get('evlimit')) || null; + this.evLimit = Number(this.valueRules.get('evlimit')); + if (isNaN(this.evLimit)) this.evLimit = null; if (this.valueRules.get('pickedteamsize') === 'Auto') { this.pickedTeamSize = ( @@ -341,6 +342,8 @@ export class Format extends BasicEffect implements Readonly { readonly rated: boolean | string; /** Game type. */ readonly gameType: GameType; + /** Number of players, based on game type, for convenience */ + readonly playerCount: 2 | 4; /** List of rule names. */ readonly ruleset: string[]; /** @@ -431,6 +434,7 @@ export class Format extends BasicEffect implements Readonly { this.ruleTable = null; this.onBegin = data.onBegin || undefined; this.noLog = !!data.noLog; + this.playerCount = (this.gameType === 'multi' || this.gameType === 'freeforall' ? 4 : 2); } } @@ -630,6 +634,9 @@ export class DexFormats { getRuleTable(format: Format, depth = 1, repeals?: Map): RuleTable { if (format.ruleTable && !repeals) return format.ruleTable; + if (format.name.length > 50) { + throw new Error(`Format "${format.name}" has a name longer than 50 characters`); + } if (depth === 1) { const dex = this.dex.mod(format.mod); if (dex !== this.dex) { diff --git a/sim/dex-items.ts b/sim/dex-items.ts index fe44d43aa8b6..6e67352ebd98 100644 --- a/sim/dex-items.ts +++ b/sim/dex-items.ts @@ -194,15 +194,11 @@ export class DexItems { if (item.gen > this.dex.gen) { (item as any).isNonstandard = 'Future'; } - // hack for allowing mega evolution in LGPE - if (this.dex.currentMod === 'gen7letsgo' && !item.isNonstandard && !item.megaStone) { - (item as any).isNonstandard = 'Past'; - } } else { item = new Item({name: id, exists: false}); } - if (item.exists) this.itemCache.set(id, item); + if (item.exists) this.itemCache.set(id, this.dex.deepFreeze(item)); return item; } @@ -212,7 +208,7 @@ export class DexItems { for (const id in this.dex.data.Items) { items.push(this.getByID(id as ID)); } - this.allCache = items; + this.allCache = Object.freeze(items); return this.allCache; } } diff --git a/sim/dex-moves.ts b/sim/dex-moves.ts index 4719fe998040..0bbc84bc81f0 100644 --- a/sim/dex-moves.ts +++ b/sim/dex-moves.ts @@ -43,6 +43,7 @@ interface MoveFlags { futuremove?: 1; // Targets a slot, and in 2 turns damages that slot. gravity?: 1; // Prevented from being executed or selected during Gravity's effect. heal?: 1; // Prevented from being executed or selected during Heal Block's effect. + metronome?: 1; // Can be selected by Metronome. mirror?: 1; // Can be copied by Mirror Move. mustpressure?: 1; // Additional PP is deducted due to Pressure when it ordinarily would not. noassist?: 1; // Cannot be selected by Assist. @@ -270,7 +271,6 @@ export interface MoveData extends EffectData, MoveEventMethods, HitEffect { // --------------- hasCrashDamage?: boolean; isConfusionSelfHit?: boolean; - noMetronome?: string[]; noSketch?: boolean; stallingMove?: boolean; baseMove?: string; @@ -331,8 +331,9 @@ export interface ActiveMove extends MutableMove, RuinableMove { selfDropped?: boolean; selfSwitch?: 'copyvolatile' | 'shedtail' | boolean; spreadHit?: boolean; - stab?: number; statusRoll?: string; + /** Hardcode to make Tera Stellar STAB work with multihit moves */ + stellarBoosted?: boolean; totalDamage?: number | false; typeChangerBoosted?: Effect; willChangeForme?: boolean; @@ -466,8 +467,6 @@ export class DataMove extends BasicEffect implements Readonly { name: string; @@ -330,14 +330,16 @@ export class Learnset { readonly eventData?: EventInfo[]; readonly encounters?: EventInfo[]; readonly exists: boolean; + readonly species: Species; - constructor(data: AnyObject) { + constructor(data: AnyObject, species: Species) { this.exists = true; this.effectType = 'Learnset'; this.learnset = data.learnset || undefined; this.eventOnly = !!data.eventOnly; this.eventData = data.eventData || undefined; this.encounters = data.encounters || undefined; + this.species = species; } } @@ -397,7 +399,7 @@ export class DexSpecies { } } } - this.speciesCache.set(id, species); + this.speciesCache.set(id, this.dex.deepFreeze(species)); return species; } @@ -508,7 +510,10 @@ export class DexSpecies { species.canHatch = species.canHatch || (!['Ditto', 'Undiscovered'].includes(species.eggGroups[0]) && !species.prevo && species.name !== 'Manaphy'); if (this.dex.gen === 1) species.bst -= species.baseStats.spd; - if (this.dex.gen < 5) delete species.abilities['H']; + if (this.dex.gen < 5) { + species.abilities = this.dex.deepClone(species.abilities); + delete species.abilities['H']; + } if (this.dex.gen === 3 && this.dex.abilities.get(species.abilities['1']).gen === 4) delete species.abilities['1']; } else { species = new Species({ @@ -516,22 +521,147 @@ export class DexSpecies { exists: false, tier: 'Illegal', doublesTier: 'Illegal', natDexTier: 'Illegal', isNonstandard: 'Custom', }); } - if (species.exists) this.speciesCache.set(id, species); + if (species.exists) this.speciesCache.set(id, this.dex.deepFreeze(species)); return species; } - getLearnset(id: ID): Learnset['learnset'] { - return this.getLearnsetData(id).learnset; + /** + * @param id the ID of the species the move pool belongs to + * @param isNatDex + * @returns a Set of IDs of the full valid movepool of the given species for the current generation/mod. + * Note that inter-move incompatibilities, such as those from exclusive events, are not considered and all moves are + * lumped together. However, Necturna and Necturine's Sketchable moves are omitted from this pool, as their fundamental + * incompatibility with each other is essential to the nature of those species. + */ + getMovePool(id: ID, isNatDex = false): Set { + let eggMovesOnly = false; + let maxGen = this.dex.gen; + const movePool = new Set(); + for (const {species, learnset} of this.getFullLearnset(id)) { + for (const moveid in learnset) { + if (eggMovesOnly) { + if (learnset[moveid].some(source => source.startsWith('9E'))) { + movePool.add(moveid as ID); + } + } else if (maxGen >= 9) { + // Pokemon Home now strips learnsets on withdrawal + if (isNatDex || learnset[moveid].some(source => source.startsWith('9'))) { + movePool.add(moveid as ID); + } + } else { + if (learnset[moveid].some(source => parseInt(source.charAt(0)) <= maxGen)) { + movePool.add(moveid as ID); + } + } + if (moveid === 'sketch' && movePool.has('sketch' as ID)) { + if (species.isNonstandard === 'CAP') { + // Given what this function is generally used for, adding all sketchable moves to Necturna and Necturine's + // movepools would be undesirable as it would be impossible to tell sketched moves apart from normal ones + // so any code calling this one will need to get and handle those moves separately themselves + continue; + } + // Smeargle time + // A few moves like Dark Void were made unSketchable in a generation later than when they were introduced + // However, this has only happened in a gen where transfer moves are unavailable + const sketchables = this.dex.moves.all().filter(m => !m.noSketch && !m.isNonstandard); + for (const move of sketchables) { + movePool.add(move.id); + } + // Smeargle has some event moves; they're all sketchable, so let's just skip them + break; + } + } + if (species.evoRegion) { + // species can only evolve in this gen, so prevo can't have any moves + // from after that gen + if (this.dex.gen >= 9) eggMovesOnly = true; + if (this.dex.gen === 8 && species.evoRegion === 'Alola') maxGen = 7; + } + } + return movePool; } + getFullLearnset(id: ID): (Learnset & {learnset: NonNullable})[] { + const originalSpecies = this.get(id); + let species: Species | null = originalSpecies; + const out: (Learnset & {learnset: NonNullable})[] = []; + const alreadyChecked: {[k: string]: boolean} = {}; + + while (species?.name && !alreadyChecked[species.id]) { + alreadyChecked[species.id] = true; + const learnset = this.getLearnsetData(species.id); + if (learnset.learnset) { + out.push(learnset as any); + species = this.learnsetParent(species); + continue; + } + + // no learnset + if ((species.changesFrom || species.baseSpecies) !== species.name) { + // forme without its own learnset + species = this.get(species.changesFrom || species.baseSpecies); + // warning: formes with their own learnset, like Wormadam, should NOT + // inherit from their base forme unless they're freely switchable + continue; + } + if (species.isNonstandard) { + // It's normal for a nonstandard species not to have learnset data + + // Formats should replace the `Obtainable Moves` rule if they want to + // allow pokemon without learnsets. + return out; + } + if (species.prevo && this.getLearnsetData(toID(species.prevo)).learnset) { + species = this.get(toID(species.prevo)); + continue; + } + + // should never happen + throw new Error(`Species with no learnset data: ${species.id}`); + } + + return out; + } + + learnsetParent(species: Species) { + // Own Tempo Rockruff and Battle Bond Greninja are special event formes + // that are visually indistinguishable from their base forme but have + // different learnsets. To prevent a leak, we make them show up as their + // base forme, but hardcode their learnsets into Rockruff-Dusk and + // Greninja-Ash + if (['Gastrodon', 'Pumpkaboo', 'Sinistea', 'Tatsugiri'].includes(species.baseSpecies) && species.forme) { + return this.get(species.baseSpecies); + } else if (species.name === 'Lycanroc-Dusk') { + return this.get('Rockruff-Dusk'); + } else if (species.name === 'Greninja-Bond') { + return null; + } else if (species.prevo) { + // there used to be a check for Hidden Ability here, but apparently it's unnecessary + // Shed Skin Pupitar can definitely evolve into Unnerve Tyranitar + species = this.get(species.prevo); + if (species.gen > Math.max(2, this.dex.gen)) return null; + return species; + } else if (species.changesFrom && species.baseSpecies !== 'Kyurem') { + // For Pokemon like Rotom and Necrozma whose movesets are extensions are their base formes + return this.get(species.changesFrom); + } + return null; + } + + /** + * Gets the raw learnset data for the species. + * + * In practice, if you're trying to figure out what moves a pokemon learns, + * you probably want to `getFullLearnset` or `getMovePool` instead. + */ getLearnsetData(id: ID): Learnset { let learnsetData = this.learnsetCache.get(id); if (learnsetData) return learnsetData; if (!this.dex.data.Learnsets.hasOwnProperty(id)) { - return new Learnset({exists: false}); + return new Learnset({exists: false}, this.get(id)); } - learnsetData = new Learnset(this.dex.data.Learnsets[id]); - this.learnsetCache.set(id, learnsetData); + learnsetData = new Learnset(this.dex.data.Learnsets[id], this.get(id)); + this.learnsetCache.set(id, this.dex.deepFreeze(learnsetData)); return learnsetData; } @@ -545,7 +675,7 @@ export class DexSpecies { for (const id in this.dex.data.Pokedex) { species.push(this.getByID(id as ID)); } - this.allCache = species; + this.allCache = Object.freeze(species); return this.allCache; } } diff --git a/sim/dex.ts b/sim/dex.ts index 61b1d0cd3fc6..9f2dd4255717 100644 --- a/sim/dex.ts +++ b/sim/dex.ts @@ -122,6 +122,7 @@ export class ModdedDex { textCache: TextTableData | null; deepClone = Utils.deepClone; + deepFreeze = Utils.deepFreeze; readonly formats: DexFormats; readonly abilities: DexAbilities; diff --git a/sim/field.ts b/sim/field.ts index 2e0e975b373c..067c92d1b02e 100644 --- a/sim/field.ts +++ b/sim/field.ts @@ -106,7 +106,8 @@ export class Field { suppressingWeather() { for (const side of this.battle.sides) { for (const pokemon of side.active) { - if (pokemon && !pokemon.fainted && !pokemon.ignoringAbility() && pokemon.getAbility().suppressWeather) { + if (pokemon && !pokemon.fainted && !pokemon.ignoringAbility() && + pokemon.getAbility().suppressWeather && !pokemon.abilityState.ending) { return true; } } diff --git a/sim/global-types.ts b/sim/global-types.ts index 2847faaa4db9..39da583bf3ab 100644 --- a/sim/global-types.ts +++ b/sim/global-types.ts @@ -219,6 +219,9 @@ interface ModdedBattleActions { afterMoveSecondaryEvent?: (this: BattleActions, targets: Pokemon[], pokemon: Pokemon, move: ActiveMove) => undefined; calcRecoilDamage?: (this: BattleActions, damageDealt: number, move: Move, pokemon: Pokemon) => number; canMegaEvo?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null; + canMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null; + canMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => string | undefined | null; + canTerastallize?: (this: BattleActions, pokemon: Pokemon) => string | null; canUltraBurst?: (this: BattleActions, pokemon: Pokemon) => string | null; canZMove?: (this: BattleActions, pokemon: Pokemon) => ZMoveOptions | void; canDynamax?: (this: BattleActions, pokemon: Pokemon, skipChecks?: boolean) => DynamaxOptions | void; @@ -250,6 +253,8 @@ interface ModdedBattleActions { ) => number | undefined | false; runAction?: (this: BattleActions, action: Action) => void; runMegaEvo?: (this: BattleActions, pokemon: Pokemon) => boolean; + runMegaEvoX?: (this: BattleActions, pokemon: Pokemon) => boolean; + runMegaEvoY?: (this: BattleActions, pokemon: Pokemon) => boolean; runMove?: ( this: BattleActions, moveOrMoveName: Move | string, pokemon: Pokemon, targetLoc: number, sourceEffect?: Effect | null, zMove?: string, externalMove?: boolean, maxMove?: string, originalTarget?: Pokemon @@ -272,6 +277,9 @@ interface ModdedBattleActions { this: BattleActions, targets: SpreadMoveTargets, pokemon: Pokemon, move: ActiveMove, moveData?: ActiveMove, isSecondary?: boolean, isSelf?: boolean ) => [SpreadMoveDamage, SpreadMoveTargets]; + switchIn?: ( + this: BattleActions, pokemon: Pokemon, pos: number, sourceEffect: Effect | null, isDrag?: boolean + ) => boolean | "pursuitfaint"; targetTypeChoices?: (this: BattleActions, targetType: string) => boolean; terastallize?: (this: BattleActions, pokemon: Pokemon) => void; tryMoveHit?: ( @@ -307,6 +315,8 @@ interface ModdedBattleActions { interface ModdedBattleSide { canDynamaxNow?: (this: Side) => boolean; + chooseSwitch?: (this: Side, slotText?: string) => any; + getChoice?: (this: Side) => string; getRequestData?: (this: Side, forAlly?: boolean) => {name: string, id: ID, pokemon: AnyObject[]}; } @@ -321,6 +331,7 @@ interface ModdedBattlePokemon { this: Pokemon, move: string | Move, amount?: number | null, target?: Pokemon | null | false ) => number; eatItem?: (this: Pokemon, force?: boolean, source?: Pokemon, sourceEffect?: Effect) => boolean; + effectiveWeather?: (this: Pokemon) => ID; formeChange?: ( this: Pokemon, speciesId: string | Species, source: Effect, isPermanent?: boolean, message?: string ) => boolean; @@ -337,6 +348,7 @@ interface ModdedBattlePokemon { move: string, id: string, disabled?: string | boolean, disabledSource?: string, target?: string, pp?: number, maxpp?: number, }[]; + getMoveTargets?: (this: Pokemon, move: ActiveMove, target: Pokemon) => {targets: Pokemon[], pressureTargets: Pokemon[]}; getStat?: ( this: Pokemon, statName: StatIDExceptHP, unboosted?: boolean, unmodified?: boolean, fastReturn?: boolean ) => number; @@ -348,6 +360,7 @@ interface ModdedBattlePokemon { modifyStat?: (this: Pokemon, statName: StatIDExceptHP, modifier: number) => void; moveUsed?: (this: Pokemon, move: ActiveMove, targetLoc?: number) => void; recalculateStats?: (this: Pokemon) => void; + runEffectiveness?: (this: Pokemon, move: ActiveMove) => number; runImmunity?: (this: Pokemon, type: string, message?: string | boolean) => boolean; setAbility?: ( this: Pokemon, ability: string | Ability, source: Pokemon | null, isFromFormeChange: boolean @@ -385,7 +398,7 @@ interface ModdedBattleScriptsData extends Partial { side?: ModdedBattleSide; boost?: ( this: Battle, boost: SparseBoostsTable, target: Pokemon, source?: Pokemon | null, - effect?: Effect | string | null, isSecondary?: boolean, isSelf?: boolean + effect?: Effect | null, isSecondary?: boolean, isSelf?: boolean ) => boolean | null | 0; debug?: (this: Battle, activity: string) => void; getActionSpeed?: (this: Battle, action: AnyObject) => void; @@ -403,6 +416,9 @@ interface ModdedBattleScriptsData extends Partial { win?: (this: Battle, side?: SideID | '' | Side | null) => boolean; faintMessages?: (this: Battle, lastFirst?: boolean, forceCheck?: boolean, checkWin?: boolean) => boolean | undefined; tiebreak?: (this: Battle) => boolean; + checkMoveMakesContact?: ( + this: Battle, move: ActiveMove, attacker: Pokemon, defender: Pokemon, announcePads?: boolean + ) => boolean; checkWin?: (this: Battle, faintQueue?: Battle['faintQueue'][0]) => true | undefined; } @@ -566,7 +582,7 @@ namespace RandomTeamsTypes { role: Role; movepool: string[]; teraTypes?: string[]; - preferredTypes?: string; + preferredTypes?: string[]; } export interface RandomSpeciesData { level?: number; @@ -576,5 +592,5 @@ namespace RandomTeamsTypes { 'Bulky Attacker' | 'Bulky Setup' | 'Fast Bulky Setup' | 'Bulky Support' | 'Fast Support' | 'AV Pivot' | 'Doubles Fast Attacker' | 'Doubles Setup Sweeper' | 'Doubles Wallbreaker' | 'Doubles Bulky Attacker' | 'Doubles Bulky Setup' | 'Offensive Protect' | 'Bulky Protect' | 'Doubles Support' | 'Choice Item user' | - 'Z-Move user' | 'Staller' | 'Spinner'; + 'Z-Move user' | 'Staller' | 'Spinner' | 'Generalist' | 'Berry Sweeper' | 'Thief user'; } diff --git a/sim/pokemon.ts b/sim/pokemon.ts index a1c1e8860522..b85d19b630a5 100644 --- a/sim/pokemon.ts +++ b/sim/pokemon.ts @@ -242,6 +242,7 @@ export class Pokemon { swordBoost: boolean; shieldBoost: boolean; syrupTriggered: boolean; + stellarBoostedTypes: string[]; /** Have this pokemon's Start events run yet? (Start events run every switch-in) */ isStarted: boolean; @@ -252,6 +253,8 @@ export class Pokemon { abilityOrder: number; canMegaEvo: string | null | undefined; + canMegaEvoX: string | null | undefined; + canMegaEvoY: string | null | undefined; canUltraBurst: string | null | undefined; readonly canGigantamax: string | null; /** @@ -453,6 +456,7 @@ export class Pokemon { this.swordBoost = false; this.shieldBoost = false; this.syrupTriggered = false; + this.stellarBoostedTypes = []; this.isStarted = false; this.duringMove = false; @@ -466,6 +470,8 @@ export class Pokemon { this.abilityOrder = 0; this.canMegaEvo = this.battle.actions.canMegaEvo(this); + this.canMegaEvoX = this.battle.actions.canMegaEvoX?.(this); + this.canMegaEvoY = this.battle.actions.canMegaEvoY?.(this); this.canUltraBurst = this.battle.actions.canUltraBurst(this); this.canGigantamax = this.baseSpecies.canGigantamax || null; this.canTerastallize = this.battle.actions.canTerastallize(this); @@ -783,7 +789,8 @@ export class Pokemon { } if (this.battle.activePerHalf > 1 && !move.tracksTarget) { const isCharging = move.flags['charge'] && !this.volatiles['twoturnmove'] && - !(move.id.startsWith('solarb') && this.battle.field.isWeather(['sunnyday', 'desolateland'])) && + !(move.id.startsWith('solarb') && ['sunnyday', 'desolateland'].includes(this.effectiveWeather())) && + !(move.id === 'electroshot' && ['raindance', 'primordialsea'].includes(this.effectiveWeather())) && !(this.hasItem('powerherb') && move.id !== 'skydrop'); if (!isCharging) { target = this.battle.priorityEvent('RedirectTarget', this, this, move, target); @@ -817,7 +824,10 @@ export class Pokemon { ignoringAbility() { if (this.battle.gen >= 5 && !this.isActive) return true; - if (this.getAbility().isPermanent) return false; + + // Certain Abilities won't activate while Transformed, even if they ordinarily couldn't be suppressed (e.g. Disguise) + if (this.getAbility().flags['notransform'] && this.transformed) return true; + if (this.getAbility().flags['cantsuppress']) return false; if (this.volatiles['gastroacid']) return true; // Check if any active pokemon have the ability Neutralizing Gas @@ -1037,6 +1047,8 @@ export class Pokemon { trapped?: boolean, maybeTrapped?: boolean, canMegaEvo?: boolean, + canMegaEvoX?: boolean, + canMegaEvoY?: boolean, canUltraBurst?: boolean, canZMove?: AnyObject | null, canDynamax?: boolean, @@ -1064,6 +1076,8 @@ export class Pokemon { if (!lockedMove) { if (this.canMegaEvo) data.canMegaEvo = true; + if (this.canMegaEvoX) data.canMegaEvoX = true; + if (this.canMegaEvoY) data.canMegaEvoY = true; if (this.canUltraBurst) data.canUltraBurst = true; const canZMove = this.battle.actions.canZMove(this); if (canZMove) data.canZMove = canZMove; @@ -1197,8 +1211,8 @@ export class Pokemon { const species = pokemon.species; if (pokemon.fainted || this.illusion || pokemon.illusion || (pokemon.volatiles['substitute'] && this.battle.gen >= 5) || (pokemon.transformed && this.battle.gen >= 2) || (this.transformed && this.battle.gen >= 5) || - species.name === 'Eternatus-Eternamax' || (species.baseSpecies === 'Ogerpon' && - (this.terastallized || pokemon.terastallized))) { + species.name === 'Eternatus-Eternamax' || (['Ogerpon', 'Terapagos'].includes(species.baseSpecies) && + (this.terastallized || pokemon.terastallized)) || this.terastallized === 'Stellar') { return false; } @@ -1250,7 +1264,7 @@ export class Pokemon { this.boosts[boostName] = pokemon.boosts[boostName]; } if (this.battle.gen >= 6) { - const volatilesToCopy = ['focusenergy', 'gmaxchistrike', 'laserfocus']; + const volatilesToCopy = ['dragoncheer', 'focusenergy', 'gmaxchistrike', 'laserfocus']; for (const volatile of volatilesToCopy) { if (pokemon.volatiles[volatile]) { this.addVolatile(volatile); @@ -1295,6 +1309,7 @@ export class Pokemon { // Pokemon transformed into Ogerpon cannot Terastallize // restoring their ability to tera after they untransform is handled ELSEWHERE if (this.species.baseSpecies === 'Ogerpon' && this.canTerastallize) this.canTerastallize = false; + if (this.species.baseSpecies === 'Terapagos' && this.canTerastallize) this.canTerastallize = false; return true; } @@ -1345,7 +1360,7 @@ export class Pokemon { * as well as sending all relevant messages sent to the client. */ formeChange( - speciesId: string | Species, source: Effect = this.battle.effect, + speciesId: string | Species, source: Effect | null = this.battle.effect, isPermanent?: boolean, message?: string ) { const rawSpecies = this.battle.dex.species.get(speciesId); @@ -1365,7 +1380,10 @@ export class Pokemon { let details = (this.illusion || this).details; if (this.terastallized) details += `, tera:${this.terastallized}`; this.battle.add('detailschange', this, details); - if (source.effectType === 'Item') { + if (!source) { + // Tera forme + // Ogerpon/Terapagos text goes here + } else if (source.effectType === 'Item') { this.canTerastallize = null; // National Dex behavior if (source.zMove) { this.battle.add('-burst', this, apparentSpecies, species.requiredItem); @@ -1378,10 +1396,7 @@ export class Pokemon { this.battle.add('-primal', this, species.requiredItem); } } else { - // So a Mega Evolution message isn't sent while we're waiting on Ogerpon text - if (source.megaEvolves) { - this.battle.add('-mega', this, apparentSpecies, species.requiredItem); - } + this.battle.add('-mega', this, apparentSpecies, species.requiredItem); this.moveThisTurnResult = true; // Mega Evolution counts as an action for Truant } } else if (source.effectType === 'Status') { @@ -1389,18 +1404,20 @@ export class Pokemon { this.battle.add('-formechange', this, species.name, message); } } else { - if (source.effectType === 'Ability') { + if (source?.effectType === 'Ability') { this.battle.add('-formechange', this, species.name, message, `[from] ability: ${source.name}`); } else { this.battle.add('-formechange', this, this.illusion ? this.illusion.species.name : species.name, message); } } - if (isPermanent && !['disguise', 'iceface'].includes(source.id)) { + if (isPermanent && (!source || !['disguise', 'iceface'].includes(source.id))) { if (this.illusion) { this.ability = ''; // Don't allow Illusion to wear off } - this.setAbility(species.abilities['0'], null, true); - this.baseAbility = this.ability; + // Ogerpon's forme change doesn't override permanent abilities + if (source || !this.getAbility().flags['cantsuppress']) this.setAbility(species.abilities['0'], null, true); + // However, its ability does reset upon switching out + this.baseAbility = toID(species.abilities['0']); } if (this.terastallized) { this.knownType = true; @@ -1453,6 +1470,8 @@ export class Pokemon { if (this.battle.gen === 2) this.lastMoveEncore = null; this.lastMoveUsed = null; this.moveThisTurn = ''; + this.moveLastTurnResult = undefined; + this.moveThisTurnResult = undefined; this.lastDamage = 0; this.attackedBy = []; @@ -1811,9 +1830,9 @@ export class Pokemon { if (typeof ability === 'string') ability = this.battle.dex.abilities.get(ability); const oldAbility = this.ability; if (!isFromFormeChange) { - if (ability.isPermanent || this.getAbility().isPermanent) return false; + if (ability.flags['cantsuppress'] || this.getAbility().flags['cantsuppress']) return false; } - if (!isTransform) { + if (!isFromFormeChange && !isTransform) { const setAbilityEvent: boolean | null = this.battle.runEvent('SetAbility', this, source, this.battle.effect, ability); if (!setAbilityEvent) return setAbilityEvent; } @@ -1981,6 +2000,8 @@ export class Pokemon { */ setType(newType: string | string[], enforce = false) { if (!enforce) { + // No Pokemon should be able to have Stellar as a base type + if (typeof newType === 'string' ? newType === 'Stellar' : newType.includes('Stellar')) return false; // First type of Arceus, Silvally cannot be normally changed if ((this.battle.gen >= 5 && (this.species.num === 493 || this.species.num === 773)) || (this.battle.gen === 4 && this.hasAbility('multitype'))) { @@ -2007,7 +2028,9 @@ export class Pokemon { } getTypes(excludeAdded?: boolean, preterastallized?: boolean): string[] { - if (!preterastallized && this.terastallized) return [this.terastallized]; + if (!preterastallized && this.terastallized && this.terastallized !== 'Stellar') { + return [this.terastallized]; + } const types = this.battle.runEvent('Type', this, null, null, this.types); if (!excludeAdded && this.addedType) return types.concat(this.addedType); if (types.length) return types; @@ -2048,7 +2071,7 @@ export class Pokemon { return !!( this.volatiles['protect'] || this.volatiles['detect'] || this.volatiles['maxguard'] || this.volatiles['kingsshield'] || this.volatiles['spikyshield'] || this.volatiles['banefulbunker'] || - this.volatiles['obstruct'] || this.volatiles['silktrap'] + this.volatiles['obstruct'] || this.volatiles['silktrap'] || this.volatiles['burningbulwark'] ); } @@ -2069,6 +2092,7 @@ export class Pokemon { } runEffectiveness(move: ActiveMove) { + if (this.terastallized && move.type === 'Stellar') return 1; let totalTypeMod = 0; for (const type of this.getTypes()) { let typeMod = this.battle.dex.getEffectiveness(move, type); diff --git a/sim/side.ts b/sim/side.ts index 7fad801869e1..b5144666da6c 100644 --- a/sim/side.ts +++ b/sim/side.ts @@ -36,6 +36,8 @@ export interface ChosenAction { index?: number; // the chosen index in Team Preview side?: Side; // the action's side mega?: boolean | null; // true if megaing or ultra bursting + megax?: boolean | null; // true if megaing x + megay?: boolean | null; // true if megaing y zmove?: string; // if zmoving, the name of the zmove maxMove?: string; // if dynamaxed, the name of the max move terastallize?: string; // if terastallizing, tera type @@ -408,7 +410,7 @@ export class Side { chooseMove( moveText?: string | number, targetLoc = 0, - event: 'mega' | 'zmove' | 'ultra' | 'dynamax' | 'terastallize' | '' = '' + event: 'mega' | 'megax' | 'megay' | 'zmove' | 'ultra' | 'dynamax' | 'terastallize' | '' = '' ) { if (this.requestState !== 'move') { return this.emitChoiceError(`Can't move: You need a ${this.requestState} response`); @@ -591,10 +593,18 @@ export class Side { // Mega evolution const mega = (event === 'mega'); + const megax = (event === 'megax'); + const megay = (event === 'megay'); if (mega && !pokemon.canMegaEvo) { return this.emitChoiceError(`Can't move: ${pokemon.name} can't mega evolve`); } - if (mega && this.choice.mega) { + if (megax && !pokemon.canMegaEvoX) { + return this.emitChoiceError(`Can't move: ${pokemon.name} can't mega evolve X`); + } + if (megay && !pokemon.canMegaEvoY) { + return this.emitChoiceError(`Can't move: ${pokemon.name} can't mega evolve Y`); + } + if ((mega || megax || megay) && this.choice.mega) { return this.emitChoiceError(`Can't move: You can only mega-evolve once per battle`); } const ultra = (event === 'ultra'); @@ -639,6 +649,8 @@ export class Side { targetLoc, moveid, mega: mega || ultra, + megax: megax, + megay: megay, zmove: zMove, maxMove: maxMove ? maxMove.id : undefined, terastallize: terastallize ? pokemon.teraType : undefined, @@ -648,7 +660,7 @@ export class Side { this.choice.cantUndo = this.choice.cantUndo || pokemon.isLastActive(); } - if (mega) this.choice.mega = true; + if (mega || megax || megay) this.choice.mega = true; if (ultra) this.choice.ultra = true; if (zMove) this.choice.zMove = true; if (dynamax) this.choice.dynamax = true; @@ -939,7 +951,7 @@ export class Side { const original = data; const error = () => this.emitChoiceError(`Conflicting arguments for "move": ${original}`); let targetLoc: number | undefined; - let event: 'mega' | 'zmove' | 'ultra' | 'dynamax' | 'terastallize' | '' = ''; + let event: 'mega' | 'megax' | 'megay' | 'zmove' | 'ultra' | 'dynamax' | 'terastallize' | '' = ''; while (true) { // If data ends with a number, treat it as a target location. // We need to special case 'Conversion 2' so it doesn't get @@ -953,6 +965,14 @@ export class Side { if (event) return error(); event = 'mega'; data = data.slice(0, -5); + } else if (data.endsWith(' megax')) { + if (event) return error(); + event = 'megax'; + data = data.slice(0, -6); + } else if (data.endsWith(' megay')) { + if (event) return error(); + event = 'megay'; + data = data.slice(0, -6); } else if (data.endsWith(' zmove')) { if (event) return error(); event = 'zmove'; diff --git a/sim/team-validator.ts b/sim/team-validator.ts index 8d321425da7f..b15f06eef5ec 100644 --- a/sim/team-validator.ts +++ b/sim/team-validator.ts @@ -682,7 +682,7 @@ export class TeamValidator { if (dex.gen === 4 && item.id === 'griseousorb' && species.num !== 487) { problems.push(`${set.name} cannot hold the Griseous Orb.`, `(In Gen 4, only Giratina could hold the Griseous Orb).`); } - if (dex.gen <= 1) { + if (dex.gen <= 1 || dex.currentMod === 'gen7letsgo') { if (item.id) { // no items allowed set.item = ''; @@ -1067,7 +1067,7 @@ export class TeamValidator { const cantBreedNorEvolve = (species.eggGroups[0] === 'Undiscovered' && !species.prevo && !species.nfe); const isLegendary = (cantBreedNorEvolve && !species.tags.includes('Paradox') && ![ - 'Pikachu', 'Unown', 'Dracozolt', 'Arctozolt', 'Dracovish', 'Arctovish', + 'Pikachu', 'Unown', 'Dracozolt', 'Arctozolt', 'Dracovish', 'Arctovish', 'Gouging Fire', 'Raging Bolt', 'Iron Boulder', 'Iron Crown', 'Terapagos', ].includes(species.baseSpecies)) || [ 'Manaphy', 'Cosmog', 'Cosmoem', 'Solgaleo', 'Lunala', ].includes(species.baseSpecies); @@ -1391,7 +1391,7 @@ export class TeamValidator { // father must be male if (father.gender === 'N' || father.gender === 'F') continue; // can't inherit from dex entries with no learnsets - if (!dex.species.getLearnset(father.id)) continue; + if (!dex.species.getLearnsetData(father.id).learnset) continue; // something is clearly wrong if its only possible father is itself // (exceptions: ExtremeSpeed Dragonite, Self-destruct Snorlax) if (pokemonBlacklist.includes(father.id) && !['dragonite', 'snorlax'].includes(father.id)) continue; @@ -1428,8 +1428,7 @@ export class TeamValidator { */ fatherCanLearn(baseSpecies: Species, species: Species, moves: ID[], eggGen: number, pokemonBlacklist: ID[], noRecurse: boolean | undefined) { - let learnset = this.dex.species.getLearnset(species.id); - if (!learnset) return false; + if (!this.dex.species.getLearnsetData(species.id).learnset) return false; if (species.id === 'smeargle') return true; const canBreedWithSmeargle = species.eggGroups.includes('Field'); @@ -1437,12 +1436,10 @@ export class TeamValidator { const allEggSources = new PokemonSources(); allEggSources.sourcesBefore = eggGen; for (const move of moves) { - let curSpecies: Species | null = species; const eggSources = new PokemonSources(); - while (curSpecies) { + for (const {learnset, species: curSpecies} of this.dex.species.getFullLearnset(species.id)) { const eggPokemon = curSpecies.prevo ? curSpecies.id : ''; - learnset = this.dex.species.getLearnset(curSpecies.id); - if (learnset && learnset[move]) { + if (learnset[move]) { for (const moveSource of learnset[move]) { if (eggGen > 8 && parseInt(moveSource.charAt(0)) <= 8) continue; if (parseInt(moveSource.charAt(0)) > eggGen) continue; @@ -1461,7 +1458,6 @@ export class TeamValidator { } } if (eggSources.sourcesBefore === eggGen) break; - curSpecies = this.learnsetParent(curSpecies); } if (eggSources.sourcesBefore === eggGen) continue; @@ -1500,20 +1496,25 @@ export class TeamValidator { const species = dex.species.get(set.species); if (species.name === 'Necrozma-Ultra') { - const whichMoves = (set.moves.includes('sunsteelstrike') ? 1 : 0) + - (set.moves.includes('moongeistbeam') ? 2 : 0); + const whichMoves = (set.moves.map(toID).includes('sunsteelstrike' as ID) ? 1 : 0) + + (set.moves.map(toID).includes('moongeistbeam' as ID) ? 2 : 0); if (item.name !== 'Ultranecrozium Z') { // Necrozma-Ultra transforms from one of two formes, and neither one is the base forme problems.push(`Necrozma-Ultra must start the battle holding Ultranecrozium Z.`); } else if (whichMoves === 1) { set.species = 'Necrozma-Dusk-Mane'; + set.ability = 'Prism Armor'; } else if (whichMoves === 2) { set.species = 'Necrozma-Dawn-Wings'; + set.ability = 'Prism Armor'; } else { problems.push(`Necrozma-Ultra must start the battle as Necrozma-Dusk-Mane or Necrozma-Dawn-Wings holding Ultranecrozium Z. Please specify which Necrozma it should start as.`); } } else if (species.name === 'Zygarde-Complete') { problems.push(`Zygarde-Complete must start the battle as Zygarde or Zygarde-10% with Power Construct. Please specify which Zygarde it should start as.`); + } else if (species.baseSpecies === 'Terapagos') { + set.species = 'Terapagos'; + set.ability = 'Tera Shift'; } else if (species.battleOnly) { if (species.requiredAbility && set.ability !== species.requiredAbility) { // Darmanitan-Zen @@ -1613,6 +1614,19 @@ export class TeamValidator { if (species.baseSpecies === "Greninja" && toID(set.ability) === 'battlebond') { set.species = "Greninja-Bond"; } + + if (species.baseSpecies === "Unown" && dex.gen === 2) { + let resultBinary = ''; + for (const iv of ['atk', 'def', 'spe', 'spa'] as const) { + resultBinary += set.ivs[iv].toString(2).padStart(5, '0').slice(1, 3); + } + const resultDecimal = Math.floor(parseInt(resultBinary, 2) / 10); + const expectedLetter = String.fromCharCode(resultDecimal + 65); + const unownLetter = species.forme || "A"; + if (unownLetter !== expectedLetter) { + problems.push(`Unown has forme ${unownLetter}, but its DVs give it the forme ${expectedLetter}.`); + } + } return problems; } @@ -2232,7 +2246,7 @@ export class TeamValidator { if (dex.gen < 8 || this.format.mod === 'gen8dlc1') return null; if (!pokemonGoData) { // Handles forms and evolutions not obtainable from Pokemon GO - const otherSpecies = this.learnsetParent(species); + const otherSpecies = this.dex.species.learnsetParent(species); // If a Pokemon is somehow not obtainable from Pokemon GO and it must be leveled up to be evolved, // validation for the game should stop because it's more optimal to get the Pokemon outside of the game if (otherSpecies && !species.evoLevel) { @@ -2339,8 +2353,8 @@ export class TeamValidator { /** Returns null if you can learn the move, or a string explaining why you can't learn it */ checkCanLearn( move: Move, - s: Species, - setSources = this.allSources(s), + originalSpecies: Species, + setSources = this.allSources(originalSpecies), set: Partial = {} ): string | null { const dex = this.dex; @@ -2348,12 +2362,10 @@ export class TeamValidator { move = dex.moves.get(move); const moveid = move.id; - const baseSpecies = dex.species.get(s); - let species: Species | null = baseSpecies; + const baseSpecies = dex.species.get(originalSpecies); const format = this.format; const ruleTable = dex.formats.getRuleTable(format); - const alreadyChecked: {[k: string]: boolean} = {}; const level = set.level || 100; let cantLearnReason = null; @@ -2385,227 +2397,211 @@ export class TeamValidator { const canSketchPostGen7Moves = ruleTable.has('sketchpostgen7moves') || this.dex.currentMod === 'gen8bdsp'; let tradebackEligible = false; - while (species?.name && !alreadyChecked[species.id]) { - alreadyChecked[species.id] = true; - if (dex.gen <= 2 && species.gen === 1) tradebackEligible = true; - let learnset = dex.species.getLearnset(species.id); - if (!learnset) { - if ((species.changesFrom || species.baseSpecies) !== species.name) { - // forme without its own learnset - species = dex.species.get(species.changesFrom || species.baseSpecies); - // warning: formes with their own learnset, like Wormadam, should NOT - // inherit from their base forme unless they're freely switchable - continue; - } - if (species.isNonstandard) { - // It's normal for a nonstandard species not to have learnset data + const fullLearnset = dex.species.getFullLearnset(originalSpecies.id); + if (!fullLearnset.length) { + // It's normal for a nonstandard species not to have learnset data - // Formats should replace the `Obtainable Moves` rule if they want to - // allow pokemon without learnsets. - return ` can't learn any moves at all.`; - } - if (species.prevo && dex.species.getLearnset(toID(species.prevo))) { - learnset = dex.species.getLearnset(toID(species.prevo)); - continue; - } - // should never happen - throw new Error(`Species with no learnset data: ${species.id}`); - } - const checkingPrevo = species.baseSpecies !== s.baseSpecies; + // Formats should replace the `Obtainable Moves` rule if they want to + // allow pokemon without learnsets. + return ` can't learn any moves at all.`; + } + + for (const {species, learnset} of fullLearnset) { + if (dex.gen <= 2 && species.gen === 1) tradebackEligible = true; + const checkingPrevo = species.baseSpecies !== originalSpecies.baseSpecies; if (checkingPrevo && !moveSources.size()) { if (!setSources.babyOnly || !species.prevo) { babyOnly = species.id; } } - let sources = learnset[moveid]; + let sources = learnset[moveid] || []; if (moveid === 'sketch') { sketch = true; } else if (learnset['sketch']) { if (move.noSketch || move.isZ || move.isMax) { cantLearnReason = `can't be Sketched.`; - } else if (move.gen > 7 && !canSketchPostGen7Moves) { + } else if (move.gen > 7 && !canSketchPostGen7Moves && + (dex.gen === 8 || + (dex.gen === 9 && ['gen9dlc1', 'gen9predlc'].includes(format.mod)))) { cantLearnReason = `can't be Sketched because it's a Gen ${move.gen} move and Sketch isn't available in Gen ${move.gen}.`; } else { - if (!sources || !moveSources.size()) sketch = true; - sources = learnset['sketch'].concat(sources || []); - } - } - - if (typeof sources === 'string') sources = [sources]; - if (sources) { - for (let learned of sources) { - // Every `learned` represents a single way a pokemon might - // learn a move. This can be handled one of several ways: - // `continue` - // means we can't learn it - // `return null` - // means we can learn it with no restrictions - // (there's a way to just teach any pokemon of this species - // the move in the current gen, like a TM.) - // `moveSources.add(source)` - // means we can learn it only if obtained that exact way described - // in source - // `moveSources.addGen(learnedGen)` - // means we can learn it only if obtained at or before learnedGen - // (i.e. get the pokemon however you want, transfer to that gen, - // teach it, and transfer it to the current gen.) - - const learnedGen = parseInt(learned.charAt(0)); - if (learnedGen < this.minSourceGen) { - if (!cantLearnReason) { - cantLearnReason = `can't be transferred from Gen ${learnedGen} to ${this.minSourceGen}.`; - } - continue; + if (!sources.length || !moveSources.size()) sketch = true; + sources = [...learnset['sketch'], ...sources]; + } + } + + for (let learned of sources) { + // Every `learned` represents a single way a pokemon might + // learn a move. This can be handled one of several ways: + // `continue` + // means we can't learn it + // `return null` + // means we can learn it with no restrictions + // (there's a way to just teach any pokemon of this species + // the move in the current gen, like a TM.) + // `moveSources.add(source)` + // means we can learn it only if obtained that exact way described + // in source + // `moveSources.addGen(learnedGen)` + // means we can learn it only if obtained at or before learnedGen + // (i.e. get the pokemon however you want, transfer to that gen, + // teach it, and transfer it to the current gen.) + + const learnedGen = parseInt(learned.charAt(0)); + if (learnedGen < this.minSourceGen) { + if (!cantLearnReason) { + cantLearnReason = `can't be transferred from Gen ${learnedGen} to ${this.minSourceGen}.`; } - if (noFutureGen && learnedGen > dex.gen) { - if (!cantLearnReason) { - cantLearnReason = `can't be transferred from Gen ${learnedGen} to ${dex.gen}.`; - } - continue; + continue; + } + if (noFutureGen && learnedGen > dex.gen) { + if (!cantLearnReason) { + cantLearnReason = `can't be transferred from Gen ${learnedGen} to ${dex.gen}.`; } + continue; + } + + // redundant + if (learnedGen <= moveSources.sourcesBefore) continue; + + if ( + baseSpecies.evoRegion === 'Alola' && checkingPrevo && learnedGen >= 8 && + (dex.gen < 9 || learned.charAt(1) !== 'E') + ) { + cantLearnReason = `is from a ${species.name} that can't be transferred to USUM to evolve into ${baseSpecies.name}.`; + continue; + } + + const canUseAbilityPatch = dex.gen >= 8 && format.mod !== 'gen8dlc1'; + if ( + learnedGen < 7 && setSources.isHidden && !canUseAbilityPatch && + !dex.mod('gen' + learnedGen).species.get(baseSpecies.name).abilities['H'] + ) { + cantLearnReason = `can only be learned in gens without Hidden Abilities.`; + continue; + } - // redundant - if (learnedGen <= moveSources.sourcesBefore) continue; + const ability = dex.abilities.get(set.ability); + if (dex.gen < 6 && ability.gen > learnedGen && !checkingPrevo) { + // You can evolve a transfered mon to reroll for its new Ability. + cantLearnReason = `is learned in gen ${learnedGen}, but the Ability ${ability.name} did not exist then.`; + continue; + } - if ( - baseSpecies.evoRegion === 'Alola' && checkingPrevo && learnedGen >= 8 && - (dex.gen < 9 || learned.charAt(1) !== 'E') - ) { - cantLearnReason = `is from a ${species.name} that can't be transferred to USUM to evolve into ${baseSpecies.name}.`; + if (!species.isNonstandard) { + // HMs can't be transferred + if (dex.gen >= 4 && learnedGen <= 3 && [ + 'cut', 'fly', 'surf', 'strength', 'flash', 'rocksmash', 'waterfall', 'dive', + ].includes(moveid)) { + cantLearnReason = `can't be transferred from Gen 3 to 4 because it's an HM move.`; continue; } - - const canUseAbilityPatch = dex.gen >= 8 && format.mod !== 'gen8dlc1'; - if ( - learnedGen < 7 && setSources.isHidden && !canUseAbilityPatch && - !dex.mod('gen' + learnedGen).species.get(baseSpecies.name).abilities['H'] - ) { - cantLearnReason = `can only be learned in gens without Hidden Abilities.`; + if (dex.gen >= 5 && learnedGen <= 4 && [ + 'cut', 'fly', 'surf', 'strength', 'rocksmash', 'waterfall', 'rockclimb', + ].includes(moveid)) { + cantLearnReason = `can't be transferred from Gen 4 to 5 because it's an HM move.`; continue; } - - const ability = dex.abilities.get(set.ability); - if (dex.gen < 6 && ability.gen > learnedGen && !checkingPrevo) { - // You can evolve a transfered mon to reroll for its new Ability. - cantLearnReason = `is learned in gen ${learnedGen}, but the Ability ${ability.name} did not exist then.`; + // Defog and Whirlpool can't be transferred together + if (dex.gen >= 5 && ['defog', 'whirlpool'].includes(moveid) && learnedGen <= 4) blockedHM = true; + } + + if (learned.charAt(1) === 'L') { + // special checking for level-up moves + if (level >= parseInt(learned.substr(2)) || learnedGen === 7) { + // we're past the required level to learn it + // (gen 7 level-up moves can be relearnered at any level) + // falls through to LMT check below + } else if (level >= 5 && learnedGen === 3 && species.canHatch) { + // Pomeg Glitch + learned = learnedGen + 'Epomeg'; + } else if ((!species.gender || species.gender === 'F') && + learnedGen >= 2 && species.canHatch && !setSources.isFromPokemonGo) { + // available as egg move + learned = learnedGen + 'Eany'; + // falls through to E check below + } else { + // this move is unavailable, skip it + cantLearnReason = `is learned at level ${parseInt(learned.substr(2))}.`; continue; } + } - if (!species.isNonstandard) { - // HMs can't be transferred - if (dex.gen >= 4 && learnedGen <= 3 && [ - 'cut', 'fly', 'surf', 'strength', 'flash', 'rocksmash', 'waterfall', 'dive', - ].includes(moveid)) { - cantLearnReason = `can't be transferred from Gen 3 to 4 because it's an HM move.`; - continue; - } - if (dex.gen >= 5 && learnedGen <= 4 && [ - 'cut', 'fly', 'surf', 'strength', 'rocksmash', 'waterfall', 'rockclimb', - ].includes(moveid)) { - cantLearnReason = `can't be transferred from Gen 4 to 5 because it's an HM move.`; - continue; + // Gen 8+ egg moves can be taught to any pokemon from any source + if (learnedGen >= 8 && learned.charAt(1) === 'E' && learned.slice(1) !== 'Eany' && + learned.slice(1) !== 'Epomeg' || 'LMTR'.includes(learned.charAt(1))) { + if (learnedGen === dex.gen && learned.charAt(1) !== 'R') { + // current-gen level-up, TM or tutor moves: + // always available + if (!(learnedGen >= 8 && learned.charAt(1) === 'E') && babyOnly) { + if (setSources.isFromPokemonGo && species.evoLevel) { + cantLearnReason = `is from a prevo, which is incompatible with its Pokemon GO origin.`; + continue; + } else { + setSources.babyOnly = babyOnly; + } } - // Defog and Whirlpool can't be transferred together - if (dex.gen >= 5 && ['defog', 'whirlpool'].includes(moveid) && learnedGen <= 4) blockedHM = true; + if (!moveSources.moveEvoCarryCount) return null; } - - if (learned.charAt(1) === 'L') { - // special checking for level-up moves - if (level >= parseInt(learned.substr(2)) || learnedGen === 7) { - // we're past the required level to learn it - // (gen 7 level-up moves can be relearnered at any level) - // falls through to LMT check below - } else if (level >= 5 && learnedGen === 3 && species.canHatch) { - // Pomeg Glitch - learned = learnedGen + 'Epomeg'; - } else if ((!species.gender || species.gender === 'F') && - learnedGen >= 2 && species.canHatch && !setSources.isFromPokemonGo) { - // available as egg move - learned = learnedGen + 'Eany'; - // falls through to E check below - } else { - // this move is unavailable, skip it - cantLearnReason = `is learned at level ${parseInt(learned.substr(2))}.`; - continue; - } + // past-gen level-up, TM, or tutor moves: + // available as long as the source gen was or was before this gen + if (learned.charAt(1) === 'R') { + moveSources.restrictedMove = moveid; } - - // Gen 8+ egg moves can be taught to any pokemon from any source - if (learnedGen >= 8 && learned.charAt(1) === 'E' && learned.slice(1) !== 'Eany' && - learned.slice(1) !== 'Epomeg' || 'LMTR'.includes(learned.charAt(1))) { - if (learnedGen === dex.gen && learned.charAt(1) !== 'R') { - // current-gen level-up, TM or tutor moves: - // always available - if (!(learnedGen >= 8 && learned.charAt(1) === 'E') && babyOnly) { - if (setSources.isFromPokemonGo && species.evoLevel) { - cantLearnReason = `is from a prevo, which is incompatible with its Pokemon GO origin.`; - continue; - } else { - setSources.babyOnly = babyOnly; - } - } - if (!moveSources.moveEvoCarryCount) return null; - } - // past-gen level-up, TM, or tutor moves: - // available as long as the source gen was or was before this gen - if (learned.charAt(1) === 'R') { - moveSources.restrictedMove = moveid; - } - limit1 = false; - moveSources.addGen(learnedGen); - } else if (learned.charAt(1) === 'E') { - // egg moves: - // only if hatched from an egg - let limitedEggMove: ID | null | undefined = undefined; - if (learned.slice(1) === 'Eany') { - if (species.gender === 'F') { - limitedEggMove = move.id; - moveSources.levelUpEggMoves = [move.id]; - } else { - limitedEggMove = null; - } - } else if (learned.slice(1) === 'Epomeg') { - // Pomeg glitched moves have to be from an egg but since they aren't true egg moves, - // there should be no breeding restrictions - moveSources.pomegEggMoves = [move.id]; - } else if (learnedGen < 6) { + limit1 = false; + moveSources.addGen(learnedGen); + } else if (learned.charAt(1) === 'E') { + // egg moves: + // only if hatched from an egg + let limitedEggMove: ID | null | undefined = undefined; + if (learned.slice(1) === 'Eany') { + if (species.gender === 'F') { limitedEggMove = move.id; + moveSources.levelUpEggMoves = [move.id]; + } else { + limitedEggMove = null; } - learned = learnedGen + 'E' + (species.prevo ? species.id : ''); - if (tradebackEligible && learnedGen === 2 && move.gen <= 1) { - // can tradeback - moveSources.add('1ET' + learned.slice(2), limitedEggMove); - } - moveSources.add(learned, limitedEggMove); - } else if (learned.charAt(1) === 'S') { - // event moves: - // only if that was the source - // Event Pokémon: - // Available as long as the past gen can get the Pokémon and then trade it back. - if (tradebackEligible && learnedGen === 2 && move.gen <= 1) { - // can tradeback - moveSources.add('1ST' + learned.slice(2) + ' ' + species.id); - } - moveSources.add(learned + ' ' + species.id); - const eventLearnset = dex.species.getLearnsetData(species.id); - if (eventLearnset.eventData?.[parseInt(learned.charAt(2))].emeraldEventEgg && learnedGen === 3) { - moveSources.pomegEventEgg = learned + ' ' + species.id; - } - } else if (learned.charAt(1) === 'D') { - // DW moves: - // only if that was the source - moveSources.add(learned + species.id); - moveSources.dreamWorldMoveCount++; - } else if (learned.charAt(1) === 'V' && this.minSourceGen < learnedGen) { - // Virtual Console or Let's Go transfer moves: - // only if that was the source - if (learned === '8V' && setSources.isFromPokemonGo && babyOnly && species.evoLevel) { - cantLearnReason = `is from a prevo, which is incompatible with its Pokemon GO origin.`; - continue; - } - moveSources.add(learned); + } else if (learned.slice(1) === 'Epomeg') { + // Pomeg glitched moves have to be from an egg but since they aren't true egg moves, + // there should be no breeding restrictions + moveSources.pomegEggMoves = [move.id]; + } else if (learnedGen < 6) { + limitedEggMove = move.id; + } + learned = learnedGen + 'E' + (species.prevo ? species.id : ''); + if (tradebackEligible && learnedGen === 2 && move.gen <= 1) { + // can tradeback + moveSources.add('1ET' + learned.slice(2), limitedEggMove); + } + moveSources.add(learned, limitedEggMove); + } else if (learned.charAt(1) === 'S') { + // event moves: + // only if that was the source + // Event Pokémon: + // Available as long as the past gen can get the Pokémon and then trade it back. + if (tradebackEligible && learnedGen === 2 && move.gen <= 1) { + // can tradeback + moveSources.add('1ST' + learned.slice(2) + ' ' + species.id); + } + moveSources.add(learned + ' ' + species.id); + const eventLearnset = dex.species.getLearnsetData(species.id); + if (eventLearnset.eventData?.[parseInt(learned.charAt(2))].emeraldEventEgg && learnedGen === 3) { + moveSources.pomegEventEgg = learned + ' ' + species.id; } + } else if (learned.charAt(1) === 'D') { + // DW moves: + // only if that was the source + moveSources.add(learned + species.id); + moveSources.dreamWorldMoveCount++; + } else if (learned.charAt(1) === 'V' && this.minSourceGen < learnedGen) { + // Virtual Console or Let's Go transfer moves: + // only if that was the source + if (learned === '8V' && setSources.isFromPokemonGo && babyOnly && species.evoLevel) { + cantLearnReason = `is from a prevo, which is incompatible with its Pokemon GO origin.`; + continue; + } + moveSources.add(learned); } } if (ruleTable.has('mimicglitch') && species.gen < 5) { @@ -2636,9 +2632,6 @@ export class TeamValidator { moveSources.moveEvoCarryCount = 1; } } - - // also check to see if the mon's prevo or freely switchable formes can learn this move - species = this.learnsetParent(species); } if (limit1 && sketch) { @@ -2660,7 +2653,7 @@ export class TeamValidator { } setSources.restrictiveMoves.push(move.name); - const checkedSpecies = babyOnly ? species : baseSpecies; + const checkedSpecies = babyOnly ? fullLearnset[fullLearnset.length - 1].species : baseSpecies; if (checkedSpecies && setSources.isFromPokemonGo && (setSources.pokemonGoSource === 'purified' || checkedSpecies.id === 'mew')) { // Pokemon that cannot be sent from Pokemon GO to Let's Go can only access Let's Go moves through HOME @@ -2718,31 +2711,6 @@ export class TeamValidator { return null; } - learnsetParent(species: Species) { - // Own Tempo Rockruff and Battle Bond Greninja are special event formes - // that are visually indistinguishable from their base forme but have - // different learnsets. To prevent a leak, we make them show up as their - // base forme, but hardcode their learnsets into Rockruff-Dusk and - // Greninja-Ash - if (['Gastrodon', 'Pumpkaboo', 'Sinistea', 'Tatsugiri'].includes(species.baseSpecies) && species.forme) { - return this.dex.species.get(species.baseSpecies); - } else if (species.name === 'Lycanroc-Dusk') { - return this.dex.species.get('Rockruff-Dusk'); - } else if (species.name === 'Greninja-Bond') { - return null; - } else if (species.prevo) { - // there used to be a check for Hidden Ability here, but apparently it's unnecessary - // Shed Skin Pupitar can definitely evolve into Unnerve Tyranitar - species = this.dex.species.get(species.prevo); - if (species.gen > Math.max(2, this.dex.gen)) return null; - return species; - } else if (species.changesFrom && species.baseSpecies !== 'Kyurem') { - // For Pokemon like Rotom and Necrozma whose movesets are extensions are their base formes - return this.dex.species.get(species.changesFrom); - } - return null; - } - static fillStats(stats: SparseStatsTable | null, fillNum = 0): StatsTable { const filledStats: StatsTable = {hp: fillNum, atk: fillNum, def: fillNum, spa: fillNum, spd: fillNum, spe: fillNum}; if (stats) { diff --git a/sim/teams.ts b/sim/teams.ts index 41eebc38d747..56e5d59fdfa6 100644 --- a/sim/teams.ts +++ b/sim/teams.ts @@ -617,12 +617,13 @@ export const Teams = new class Teams { getGenerator(format: Format | string, seed: PRNG | PRNGSeed | null = null) { let TeamGenerator; + format = Dex.formats.get(format); if (toID(format).includes('gen9computergeneratedteams')) { TeamGenerator = require(Dex.forFormat(format).dataDir + '/cg-teams').default; - } else if (toID(format).includes('gen7randomdoublesbattle')) { - TeamGenerator = require(Dex.forFormat(format).dataDir + '/random-doubles-teams').default; + } else if (toID(format).includes('gen9superstaffbrosultimate')) { + TeamGenerator = require(`../data/mods/gen9ssb/random-teams`).default; } else { - TeamGenerator = require(Dex.forFormat(format).dataDir + '/random-teams').default; + TeamGenerator = require(`../data/random-battles/${format.mod}/teams`).default; } return new TeamGenerator(format, seed); diff --git a/sim/tools/multi-random-runner.ts b/sim/tools/multi-random-runner.ts index 1886f2a0d5b9..a78440321818 100644 --- a/sim/tools/multi-random-runner.ts +++ b/sim/tools/multi-random-runner.ts @@ -21,7 +21,7 @@ export interface MultiRandomRunnerOptions extends RunnerOptions { export class MultiRandomRunner { static readonly FORMATS = [ 'gen8randombattle', 'gen8randomdoublesbattle', 'gen8battlefactory', - 'gen7randombattle', 'gen7randomdoublesbattle', 'gen7battlefactory', + 'gen7randombattle', 'gen7battlefactory', 'gen6randombattle', 'gen6battlefactory', 'gen5randombattle', 'gen4randombattle', diff --git a/sim/tools/runner.ts b/sim/tools/runner.ts index c78a14e4210f..eb6d63ce3234 100644 --- a/sim/tools/runner.ts +++ b/sim/tools/runner.ts @@ -87,7 +87,7 @@ export class Runner { // @ts-ignore - DualStream implements everything relevant from BattleStream. const streams = BattleStreams.getPlayerStreams(battleStream); const spec = {formatid: format, seed: this.prng.seed}; - const is4P = Dex.formats.get(format).gameType === 'multi'; + const is4P = Dex.formats.get(format).playerCount > 2; const p1spec = this.getPlayerSpec("Bot 1", this.p1options); const p2spec = this.getPlayerSpec("Bot 2", this.p2options); let p3spec: typeof p1spec, p4spec: typeof p1spec; diff --git a/test/random-battles/all-gens.js b/test/random-battles/all-gens.js index 8bc1ea0ce124..711bbedfcc58 100644 --- a/test/random-battles/all-gens.js +++ b/test/random-battles/all-gens.js @@ -30,11 +30,11 @@ describe('value rule support (slow)', () => { if (gen === 1 && count !== 1) continue; const format = Dex.formats.get(`${formatID}@@@Max Move Count = ${count}`); // New set format - if ([4, 5, 6, 7, 9].includes(gen)) { + if ([2, 3, 4, 5, 6, 7, 9].includes(gen)) { // Due to frontloading of moveset generation, formats with the new set format do not support // Max Move Counts less than 4 if (count < 4) continue; - const setsJSON = require(`../../dist/data/${gen === 9 ? '' : `mods/gen${gen}/`}random-sets.json`); + const setsJSON = require(`../../dist/data/random-battles/gen${gen}/sets.json`); it(`${format.name} should support Max Move Count = ${count}`, () => { testTeam({format, rounds: 50}, team => { @@ -66,7 +66,7 @@ describe('value rule support (slow)', () => { }); }); } else { - const dataJSON = require(`../../dist/data/mods/gen${gen}/random-data.json`); + const dataJSON = require(`../../dist/data/random-battles/gen${gen}/data.json`); it(`${format.name} should support Max Move Count = ${count}`, () => { testTeam({format, rounds: 50}, team => { @@ -99,7 +99,7 @@ describe('value rule support (slow)', () => { for (const format of Dex.formats.all()) { if (!format.team) continue; - if (Dex.formats.getRuleTable(format).has('adjustleveldown')) continue; // already adjusts level + if (Dex.formats.getRuleTable(format).has('adjustleveldown') || Dex.formats.getRuleTable(format).has('adjustlevel')) continue; // already adjusts level for (const level of [1, 99999]) { it(`${format.name} should support Adjust Level = ${level}`, () => { @@ -114,12 +114,12 @@ describe('value rule support (slow)', () => { }); describe("New set format", () => { - const files = ['../../data/random-sets.json', '../../data/random-doubles-sets.json']; + const files = ['../../data/random-battles/gen9/sets.json', '../../data/random-battles/gen9/doubles-sets.json']; for (const filename of files) { it(`${filename} should have valid set data`, () => { const setsJSON = require(filename); let validRoles = []; - if (filename === '../../data/random-sets.json') { + if (filename === '../../data/random-battles/gen9/sets.json') { validRoles = ["Fast Attacker", "Setup Sweeper", "Wallbreaker", "Tera Blast user", "Bulky Attacker", "Bulky Setup", "Fast Bulky Setup", "Bulky Support", "Fast Support", "AV Pivot"]; } else { @@ -160,6 +160,7 @@ describe("New set format", () => { describe('randomly generated teams should be valid (slow)', () => { for (const format of Dex.formats.all()) { if (!format.team) continue; // format doesn't use randomly generated teams + if (format.mod === 'gen9ssb') continue; // Temporary it(`should generate valid ${format} teams`, function () { this.timeout(0); @@ -177,16 +178,16 @@ describe('randomly generated teams should be valid (slow)', () => { }); describe('Battle Factory and BSS Factory data should be valid (slow)', () => { - for (const filename of ['mods/gen8/bss-factory-sets', 'mods/gen7/bss-factory-sets', 'mods/gen7/factory-sets', 'mods/gen6/factory-sets']) { + for (const filename of ['gen8/bss-factory-sets', 'gen7/bss-factory-sets', 'gen7/factory-sets', 'gen6/factory-sets']) { it(`${filename}.json should contain valid sets`, function () { this.timeout(0); - const setsJSON = require(`../../dist/data/${filename}.json`); - const mod = filename.split('/')[1] || 'gen' + Dex.gen; + const setsJSON = require(`../../dist/data/random-battles/${filename}.json`); + const mod = filename.split('/')[0] || 'gen' + Dex.gen; const genNum = isNaN(mod[3]) ? Dex.gen : mod[3]; for (const type in setsJSON) { const typeTable = filename.includes('bss-factory-sets') ? setsJSON : setsJSON[type]; - const vType = filename === 'bss-factory-sets' ? `battle${genNum === 8 ? 'stadium' : 'spot'}singles` : + const vType = filename.includes('bss-factory-sets') ? `battle${genNum === 8 ? 'stadium' : 'spot'}singles` : type === 'Mono' ? 'monotype' : type.toLowerCase(); for (const species in typeTable) { const speciesData = typeTable[species]; @@ -202,26 +203,26 @@ describe('Battle Factory and BSS Factory data should be valid (slow)', () => { for (const itemName of [].concat(set.item)) { if (!itemName && [].concat(...set.moves).includes("Acrobatics")) continue; - const item = Dex.items.get(itemName); + const item = Dex.forGen(genNum).items.get(itemName); assert(item.exists, `invalid item "${itemName}" of ${species}`); assert.equal(item.name, itemName, `miscapitalized item "${itemName}" of ${species}`); } for (const abilityName of [].concat(set.ability)) { - const ability = Dex.abilities.get(abilityName); + const ability = Dex.forGen(genNum).abilities.get(abilityName); assert(ability.exists, `invalid ability "${abilityName}" of ${species}`); assert.equal(ability.name, abilityName, `miscapitalized ability "${abilityName}" of ${species}`); } for (const natureName of [].concat(set.nature)) { - const nature = Dex.natures.get(natureName); + const nature = Dex.forGen(genNum).natures.get(natureName); assert(nature.exists, `invalid nature "${natureName}" of ${species}`); assert.equal(nature.name, natureName, `miscapitalized nature "${natureName}" of ${species}`); } for (const moveSpec of set.moves) { for (const moveName of [].concat(moveSpec)) { - const move = Dex.moves.get(moveName); + const move = Dex.forGen(genNum).moves.get(moveName); assert(move.exists, `invalid move "${moveName}" of ${species}`); assert.equal(move.name, moveName, `miscapitalized move "${moveName}" ≠ "${move.name}" of ${species}`); assert(validateLearnset(move, set, vType, mod), `illegal move "${moveName}" of ${species}`); diff --git a/test/random-battles/gen2.js b/test/random-battles/gen2.js index 8697e8f7a86e..dbf1547ae643 100644 --- a/test/random-battles/gen2.js +++ b/test/random-battles/gen2.js @@ -3,10 +3,90 @@ */ 'use strict'; -const {testHiddenPower} = require('./tools'); +const assert = require('../assert'); +const {testTeam, validateLearnset} = require('./tools'); describe('[Gen 2] Random Battle (slow)', () => { const options = {format: 'gen2randombattle'}; + const setsJSON = require(`../../dist/data/random-battles/gen2/sets.json`); + const dex = Dex.forFormat(options.format); - it('should prevent double Hidden Power', () => testHiddenPower('scyther', options)); + describe("New set format", () => { + const filename = '../../data/random-battles/gen2/sets.json'; + it(`${filename} should have valid set data`, () => { + const setsJSON = require(filename); + const validRoles = [ + "Fast Attacker", "Setup Sweeper", "Bulky Attacker", "Bulky Setup", "Bulky Support", "Generalist", "Thief user", + ]; + for (const [id, sets] of Object.entries(setsJSON)) { + const species = Dex.species.get(id); + assert(species.exists, `Misspelled species ID: ${id}`); + assert(Array.isArray(sets.sets)); + for (const set of sets.sets) { + assert(validRoles.includes(set.role), `Set for ${species.name} has invalid role: ${set.role}`); + for (const move of set.movepool) { + const dexMove = Dex.moves.get(move); + assert(dexMove.exists, `${species.name} has invalid move: ${move}`); + assert(move === dexMove.id || move.startsWith('hiddenpower'), `${species.name} has misformatted move: ${move}`); + assert(validateLearnset(dexMove, {species}, 'ubers', 'gen2'), `${species.name} can't learn ${move}`); + } + for (let i = 0; i < set.movepool.length - 1; i++) { + assert(set.movepool[i + 1] > set.movepool[i], `${species} movepool should be sorted alphabetically`); + } + if (set.preferredTypes) { + for (const type of set.preferredTypes) { + const dexType = Dex.types.get(type); + assert(dexType.exists, `${species.name} has invalid Preferred Type: ${type}`); + assert.equal(type, dexType.name, `${species.name} has misformatted Preferred Type: ${type}`); + } + for (let i = 0; i < set.preferredTypes.length - 1; i++) { + assert(set.preferredTypes[i + 1] > set.preferredTypes[i], `${species} preferredTypes should be sorted alphabetically`); + } + } + } + } + }); + }); + + it('all Pokemon should have 4 moves, except for Ditto and Unown', function () { + // This test takes more than 2000ms + testTeam({...options, rounds: 100}, team => { + for (const pokemon of team) assert(pokemon.name === 'Ditto' || pokemon.name === 'Unown' || pokemon.moves.length === 4); + }); + }); + + it('all moves on all sets should be obtainable', function () { + const generator = Teams.getGenerator(options.format); + const rounds = 100; + for (const pokemon of Object.keys(setsJSON)) { + const species = dex.species.get(pokemon); + const sets = setsJSON[pokemon]["sets"]; + const types = species.types; + const abilities = new Set(Object.values(species.abilities)); + if (species.unreleasedHidden) abilities.delete(species.abilities.H); + for (const set of sets) { + const role = set.role; + const moves = new Set(set.movepool.map(m => dex.moves.get(m).id)); + const preferredTypes = set.preferredTypes; + let teamDetails = {}; + // Go through all possible teamDetails combinations, if necessary + for (let j = 0; j < rounds; j++) { + const preferredType = preferredTypes ? preferredTypes[j % preferredTypes.length] : ''; + // Generate a moveset for each combination of relevant teamDetails + for (let i = 0; i < 4; i++) { + const rapidSpin = i % 2; + const spikes = Math.floor(i / 2) % 2; + teamDetails = {rapidSpin, spikes}; + // randomMoveset() deletes moves from the movepool, so recreate it every time + const movePool = set.movepool.map(m => dex.moves.get(m).id); + const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, movePool, preferredType, role); + for (const move of moveSet) moves.delete(move); + if (!moves.size) break; + } + if (!moves.size) break; + } + assert(!moves.size, species); + } + } + }); }); diff --git a/test/random-battles/gen3.js b/test/random-battles/gen3.js index 676175112ec5..a49354915f3c 100644 --- a/test/random-battles/gen3.js +++ b/test/random-battles/gen3.js @@ -4,53 +4,83 @@ 'use strict'; const assert = require('../assert'); -const {testSet, testAlwaysHasMove, testHiddenPower, testNotBothMoves} = require('./tools'); +const {testTeam, validateLearnset} = require('./tools'); describe('[Gen 3] Random Battle (slow)', () => { const options = {format: 'gen3randombattle'}; + const setsJSON = require(`../../dist/data/random-battles/gen3/sets.json`); + const dex = Dex.forFormat(options.format); - it('should enforce STAB', () => { - testSet('beautifly', options, set => assert( - set.moves.some(m => m.startsWith('hiddenpower')), - `bad Beautifly set: ${JSON.stringify(set.moves)} has no STAB` - )); - - testSet('lickitung', options, set => assert( - set.moves.includes('return') || set.moves.includes('seismictoss'), - `bad Lickitung set: ${JSON.stringify(set.moves)} has no STAB` - )); - - testAlwaysHasMove('delcatty', options, 'doubleedge'); - }); - - it('should prevent double Hidden Power', () => { - testHiddenPower('kingler', options); - testHiddenPower('moltres', options); - }); - - it('should not give Magneton Sleep Talk without Rest', () => { - testSet('magneton', options, set => { - if (set.moves.includes('sleeptalk')) { - assert(set.moves.includes('rest'), `bad Magneton set: ${JSON.stringify(set.moves)}`); + describe("New set format", () => { + const filename = '../../data/random-battles/gen3/sets.json'; + it(`${filename} should have valid set data`, () => { + const setsJSON = require(filename); + const validRoles = [ + "Fast Attacker", "Setup Sweeper", "Wallbreaker", "Bulky Attacker", + "Bulky Setup", "Staller", "Bulky Support", "Generalist", "Berry Sweeper", + ]; + for (const [id, sets] of Object.entries(setsJSON)) { + const species = Dex.species.get(id); + assert(species.exists, `Misspelled species ID: ${id}`); + assert(Array.isArray(sets.sets)); + for (const set of sets.sets) { + assert(validRoles.includes(set.role), `Set for ${species.name} has invalid role: ${set.role}`); + for (const move of set.movepool) { + const dexMove = Dex.moves.get(move); + assert(dexMove.exists, `${species.name} has invalid move: ${move}`); + assert(move === dexMove.id || move.startsWith('hiddenpower'), `${species.name} has misformatted move: ${move}`); + assert(validateLearnset(dexMove, {species}, 'anythinggoes', 'gen3'), `${species.name} can't learn ${move}`); + } + for (let i = 0; i < set.movepool.length - 1; i++) { + assert(set.movepool[i + 1] > set.movepool[i], `${species} movepool should be sorted alphabetically`); + } + if (set.preferredTypes) { + for (const type of set.preferredTypes) { + const dexType = Dex.types.get(type); + assert(dexType.exists, `${species.name} has invalid Preferred Type: ${type}`); + assert.equal(type, dexType.name, `${species.name} has misformatted Preferred Type: ${type}`); + } + for (let i = 0; i < set.preferredTypes.length - 1; i++) { + assert(set.preferredTypes[i + 1] > set.preferredTypes[i], `${species} preferredTypes should be sorted alphabetically`); + } + } + } } }); }); - it('should give Blissey Soft-Boiled', () => { - testSet('blissey', options, set => { - assert(set.moves.includes('softboiled'), `bad Blissey set: ${JSON.stringify(set.moves)}`); + it('all Pokemon should have 4 moves, except for Ditto and Unown', function () { + // This test takes more than 2000ms + testTeam({...options, rounds: 100}, team => { + for (const pokemon of team) assert(pokemon.name === 'Ditto' || pokemon.name === 'Unown' || pokemon.moves.length === 4); }); }); - it('should not give Registeel Sleep Talk and Protect', () => { - testSet('registeel', options, set => { - if (set.moves.includes('sleeptalk')) { - assert(!set.moves.includes('protect'), `Registeel with Sleep Talk + Protect (${set.moves})`); + it('all moves on all sets should be obtainable', function () { + const generator = Teams.getGenerator(options.format); + const rounds = 100; + for (const pokemon of Object.keys(setsJSON)) { + const species = dex.species.get(pokemon); + const sets = setsJSON[pokemon]["sets"]; + const types = species.types; + const abilities = new Set(Object.values(species.abilities)); + if (species.unreleasedHidden) abilities.delete(species.abilities.H); + for (const set of sets) { + const role = set.role; + const moves = new Set(set.movepool.map(m => dex.moves.get(m).id)); + const preferredTypes = set.preferredTypes; + // Go through all possible teamDetails combinations, if necessary + for (let j = 0; j < rounds; j++) { + // Generate a moveset + // randomMoveset() deletes moves from the movepool, so recreate it every time + const preferredType = preferredTypes ? preferredTypes.join() : ''; + const movePool = set.movepool.map(m => dex.moves.get(m).id); + const moveSet = generator.randomMoveset(types, abilities, {}, species, false, movePool, preferredType, role); + for (const move of moveSet) moves.delete(move); + if (!moves.size) break; + } + assert(!moves.size, species); } - }); - }); - - it('should not give Skarmory Roar + Sleep Talk', () => { - testNotBothMoves('skarmory', options, 'roar', 'sleeptalk'); + } }); }); diff --git a/test/random-battles/gen4.js b/test/random-battles/gen4.js index a6a5833b5640..1612f07033ea 100644 --- a/test/random-battles/gen4.js +++ b/test/random-battles/gen4.js @@ -8,11 +8,11 @@ const {testTeam, testSet, testHiddenPower, validateLearnset} = require('./tools' describe('[Gen 4] Random Battle (slow)', () => { const options = {format: 'gen4randombattle'}; - const setsJSON = require(`../../dist/data/mods/gen4/random-sets.json`); + const setsJSON = require(`../../dist/data/random-battles/gen4/sets.json`); const dex = Dex.forFormat(options.format); describe("New set format", () => { - const filename = '../../data/mods/gen4/random-sets.json'; + const filename = '../../data/random-battles/gen4/sets.json'; it(`${filename} should have valid set data`, () => { const setsJSON = require(filename); const validRoles = [ @@ -75,18 +75,17 @@ describe('[Gen 4] Random Battle (slow)', () => { // Generate a moveset as the lead, teamDetails is always empty for this const preferredType = preferredTypes ? preferredTypes[j % preferredTypes.length] : ''; const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, {}, species, true, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, {}, species, true, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; // Generate a moveset for each combination of relevant teamDetails - for (let i = 0; i < 8; i++) { - const defog = i % 2; + for (let i = 0; i < 4; i++) { + const rapidSpin = i % 2; const stealthRock = Math.floor(i / 2) % 2; - const stickyWeb = Math.floor(i / 4) % 2; - teamDetails = {defog, stealthRock, stickyWeb}; + teamDetails = {rapidSpin, stealthRock}; // randomMoveset() deletes moves from the movepool, so recreate it every time const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; } diff --git a/test/random-battles/gen5.js b/test/random-battles/gen5.js index ebfd13806366..75d6b32fcc61 100644 --- a/test/random-battles/gen5.js +++ b/test/random-battles/gen5.js @@ -8,11 +8,11 @@ const {testTeam, testSet, testHiddenPower, testAlwaysHasMove, validateLearnset} describe('[Gen 5] Random Battle (slow)', () => { const options = {format: 'gen5randombattle'}; - const setsJSON = require(`../../dist/data/mods/gen5/random-sets.json`); + const setsJSON = require(`../../dist/data/random-battles/gen5/sets.json`); const dex = Dex.forFormat(options.format); describe("New set format", () => { - const filename = '../../data/mods/gen5/random-sets.json'; + const filename = '../../data/random-battles/gen5/sets.json'; it(`${filename} should have valid set data`, () => { const setsJSON = require(filename); const validRoles = [ @@ -75,18 +75,17 @@ describe('[Gen 5] Random Battle (slow)', () => { // Generate a moveset as the lead, teamDetails is always empty for this const preferredType = preferredTypes ? preferredTypes[j % preferredTypes.length] : ''; const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, {}, species, true, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, {}, species, true, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; // Generate a moveset for each combination of relevant teamDetails - for (let i = 0; i < 8; i++) { - const defog = i % 2; + for (let i = 0; i < 4; i++) { + const rapidSpin = i % 2; const stealthRock = Math.floor(i / 2) % 2; - const stickyWeb = Math.floor(i / 4) % 2; - teamDetails = {defog, stealthRock, stickyWeb}; + teamDetails = {rapidSpin, stealthRock}; // randomMoveset() deletes moves from the movepool, so recreate it every time const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; } diff --git a/test/random-battles/gen6.js b/test/random-battles/gen6.js index 25524913dba2..2560355163be 100644 --- a/test/random-battles/gen6.js +++ b/test/random-battles/gen6.js @@ -8,11 +8,11 @@ const {testTeam, testNotBothMoves, testSet, testHiddenPower, testAlwaysHasMove, describe('[Gen 6] Random Battle (slow)', () => { const options = {format: 'gen6randombattle'}; - const setsJSON = require(`../../dist/data/mods/gen6/random-sets.json`); + const setsJSON = require(`../../dist/data/random-battles/gen6/sets.json`); const dex = Dex.forFormat(options.format); describe("New set format", () => { - const filename = '../../data/mods/gen6/random-sets.json'; + const filename = '../../data/random-battles/gen6/sets.json'; it(`${filename} should have valid set data`, () => { const setsJSON = require(filename); const validRoles = [ @@ -75,7 +75,7 @@ describe('[Gen 6] Random Battle (slow)', () => { // Generate a moveset as the lead, teamDetails is always empty for this const preferredType = preferredTypes ? preferredTypes[j % preferredTypes.length] : ''; const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, {}, species, true, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, {}, species, true, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; // Generate a moveset for each combination of relevant teamDetails @@ -86,7 +86,7 @@ describe('[Gen 6] Random Battle (slow)', () => { teamDetails = {defog, stealthRock, stickyWeb}; // randomMoveset() deletes moves from the movepool, so recreate it every time const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; } diff --git a/test/random-battles/gen7.js b/test/random-battles/gen7.js index e88bb3aa51f6..eef3342028b3 100644 --- a/test/random-battles/gen7.js +++ b/test/random-battles/gen7.js @@ -8,11 +8,11 @@ const {testTeam, testNotBothMoves, testSet, testHiddenPower, testAlwaysHasMove, describe('[Gen 7] Random Battle (slow)', () => { const options = {format: 'gen7randombattle'}; - const setsJSON = require(`../../dist/data/mods/gen7/random-sets.json`); + const setsJSON = require(`../../dist/data/random-battles/gen7/sets.json`); const dex = Dex.forFormat(options.format); describe("New set format", () => { - const filename = '../../data/mods/gen7/random-sets.json'; + const filename = '../../data/random-battles/gen7/sets.json'; it(`${filename} should have valid set data`, () => { const setsJSON = require(filename); const validRoles = [ @@ -75,7 +75,7 @@ describe('[Gen 7] Random Battle (slow)', () => { // Generate a moveset as the lead, teamDetails is always empty for this const preferredType = preferredTypes ? preferredTypes[j % preferredTypes.length] : ''; const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, {}, species, true, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, {}, species, true, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; // Generate a moveset for each combination of relevant teamDetails @@ -86,7 +86,7 @@ describe('[Gen 7] Random Battle (slow)', () => { teamDetails = {defog, stealthRock, stickyWeb}; // randomMoveset() deletes moves from the movepool, so recreate it every time const movePool = set.movepool.map(m => dex.moves.get(m).id); - const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, false, movePool, preferredType, role); + const moveSet = generator.randomMoveset(types, abilities, teamDetails, species, false, movePool, preferredType, role); for (const move of moveSet) moves.delete(move); if (!moves.size) break; } @@ -135,12 +135,6 @@ describe('[Gen 7] Random Battle (slow)', () => { it('should prevent double Hidden Power', () => testHiddenPower('thundurustherian', options)); - it('should give Meganium STAB', () => { - testSet('meganium', options, set => { - assert(set.moves.includes('gigadrain'), `Meganium: got ${set.moves}`); - }); - }); - it('should never give Xerneas Assault Vest', () => { testSet('xerneas', options, set => assert.notEqual(set.item, 'Assault Vest')); }); @@ -170,19 +164,3 @@ describe('[Gen 7] Random Battle (slow)', () => { }); }); }); - -describe('[Gen 7] Random Doubles Battle (slow)', () => { - const options = {format: 'gen7randomdoublesbattle'}; - - it("shouldn't give Manectric Intimidate before Mega Evolving", () => { - testSet('manectricmega', options, set => { - assert.notEqual(set.ability, 'Intimidate'); - }); - }); - - it("should give Mawile Intimidate before Mega Evolving", () => { - testSet('mawilemega', options, set => { - assert.equal(set.ability, 'Intimidate'); - }); - }); -}); diff --git a/test/random-battles/gen8.js b/test/random-battles/gen8.js index 55cfcd108543..7b6ddd9474bc 100644 --- a/test/random-battles/gen8.js +++ b/test/random-battles/gen8.js @@ -8,7 +8,7 @@ const assert = require('../assert'); describe('[Gen 8] Random Battle (slow)', () => { const options = {format: 'gen8randombattle'}; - const dataJSON = require(`../../dist/data/mods/gen8/random-data.json`); + const dataJSON = require(`../../dist/data/random-battles/gen8/data.json`); const dex = Dex.forFormat(options.format); const generator = Teams.getGenerator(options.format); @@ -258,7 +258,7 @@ describe('[Gen 8] Free-for-All Random Battle (slow)', () => { describe('[Gen 8 BDSP] Random Battle (slow)', () => { const options = {format: 'gen8bdsprandombattle'}; - const dataJSON = require(`../../dist/data/mods/gen8bdsp/random-data.json`); + const dataJSON = require(`../../dist/data/random-battles/gen8bdsp/data.json`); const dex = Dex.forFormat(options.format); const okToHaveChoiceMoves = ['switcheroo', 'trick', 'healingwish']; diff --git a/test/random-battles/gen9.js b/test/random-battles/gen9.js index 5e8c1bb21770..daf5f9467d99 100644 --- a/test/random-battles/gen9.js +++ b/test/random-battles/gen9.js @@ -10,7 +10,7 @@ const Dex = require('./../../dist/sim/dex').Dex; describe('[Gen 9] Random Battle (slow)', () => { const options = {format: 'gen9randombattle'}; - const setsJSON = require(`../../dist/data/random-sets.json`); + const setsJSON = require(`../../dist/data/random-battles/gen9/sets.json`); const dex = Dex.forFormat(options.format); it('all Pokemon should have 4 moves, except for Ditto', function () { @@ -78,7 +78,7 @@ describe('[Gen 9] Monotype Random Battle (slow)', () => { describe('[Gen 9] Random Doubles Battle (slow)', () => { const options = {format: 'gen9randomdoublesbattle'}; - const setsJSON = require(`../../dist/data/random-doubles-sets.json`); + const setsJSON = require(`../../dist/data/random-battles/gen9/doubles-sets.json`); const dex = Dex.forFormat(options.format); it('all Pokemon should have 4 moves, except for Ditto', function () { diff --git a/test/server/ladders.js b/test/server/ladders.js index c3b701ba2105..659ec930e4ff 100644 --- a/test/server/ladders.js +++ b/test/server/ladders.js @@ -125,8 +125,10 @@ describe('Matchmaker', function () { try { room = Rooms.createBattle({ format: FORMATID, - p1: {user: this.p1, team: this.s1.team}, - p2: {user: this.p1, team: this.s2.team}, + players: [ + {user: this.p1, team: this.s1.team}, + {user: this.p1, team: this.s2.team}, + ], rated: 1000, }); } catch {} @@ -144,8 +146,12 @@ describe('Matchmaker', function () { }); it('should prevent battles from starting if the server is in lockdown', function () { - const room = Rooms.createBattle(FORMATID, {p1: this.p1, p2: this.p2, p1team: this.s1.team, p2team: this.s2.team, rated: 1000}); - assert.equal(room, undefined); + const room = Rooms.createBattle({ + format: FORMATID, + players: [{user: this.p1, team: this.s1.team}, {user: this.p2, team: this.s2.team}], + rated: 1000, + }); + assert.equal(room, null); }); }); }); diff --git a/test/server/room-battle.js b/test/server/room-battle.js index ccdc8e03e0a3..c6ca54476550 100644 --- a/test/server/room-battle.js +++ b/test/server/room-battle.js @@ -6,33 +6,34 @@ const {makeUser} = require('../users-utils'); describe('Simulator abstraction layer features', function () { describe('Battle', function () { - describe('player identifiers', function () { - let p1, p2, room; - afterEach(function () { - if (p1) { - p1.disconnectAll(); - p1.destroy(); - } - if (p2) { - p2.disconnectAll(); - p2.destroy(); - } - if (room) room.destroy(); - }); + let p1, p2, room; + afterEach(function () { + if (p1) { + p1.disconnectAll(); + p1.destroy(); + } + if (p2) { + p2.disconnectAll(); + p2.destroy(); + } + if (room) room.destroy(); + }); - it('should not get players out of sync in rated battles on rename', function () { - // Regression test for 47263c8749 - const packedTeam = 'Weavile||lifeorb||swordsdance,knockoff,iceshard,iciclecrash|Jolly|,252,,,4,252|||||'; - p1 = makeUser("MissingNo."); - p2 = makeUser(); - room = Rooms.createBattle({ - format: '', p1: {user: p1, team: packedTeam}, p2: {user: p2, team: packedTeam}, allowRenames: false, - }); - p1.resetName(); - for (const player of room.battle.players) { - assert.equal(player, room.battle.playerTable[toID(player.name)]); - } + it('should not get players out of sync in rated battles on rename', function () { + // Regression test for 47263c8749 + const packedTeam = 'Weavile||lifeorb||swordsdance,knockoff,iceshard,iciclecrash|Jolly|,252,,,4,252|||||'; + p1 = makeUser("MissingNo."); + p2 = makeUser(); + room = Rooms.createBattle({ + format: '', + players: [{user: p1, team: packedTeam}, {user: p2, team: packedTeam}], + allowRenames: false, }); + assert(room.battle); + p1.resetName(); + for (const player of room.battle.players) { + assert.equal(player, room.battle.playerTable[toID(player.name)]); + } }); }); diff --git a/test/server/rooms.js b/test/server/rooms.js index 243361a5f543..163ebcc011f0 100644 --- a/test/server/rooms.js +++ b/test/server/rooms.js @@ -58,8 +58,10 @@ describe('Rooms features', function () { for (const option of options) { room = Rooms.createBattle({ format: 'customgame', - p1: {user: p1, team: packedTeam}, - p2: {user: p2, team: packedTeam}, + players: [ + {user: p1, team: packedTeam}, + {user: p2, team: packedTeam}, + ], ...option, }); assert(room.battle.p1 && room.battle.p2); // Automatically joined @@ -73,8 +75,10 @@ describe('Rooms features', function () { const p2 = makeUser(); room = Rooms.createBattle({ format: 'customgame', - p1: {user: p1, team: packedTeam}, - p2: {user: p2, team: packedTeam}, + players: [ + {user: p1, team: packedTeam}, + {user: p2, team: packedTeam}, + ], rated: false, auth: {}, tour: { @@ -95,14 +99,10 @@ describe('Rooms features', function () { administrator.tempGroup = '~'; room = Rooms.createBattle({ format: 'customgame', - p1: { - user: p1, - team: packedTeam, - }, - p2: { - user: p2, - team: packedTeam, - }, + players: [ + {user: p1, team: packedTeam}, + {user: p2, team: packedTeam}, + ], rated: false, auth: {}, tour: { diff --git a/test/sim/abilities/commander.js b/test/sim/abilities/commander.js index 71d16f54e9b1..9cf3b72af474 100644 --- a/test/sim/abilities/commander.js +++ b/test/sim/abilities/commander.js @@ -21,7 +21,7 @@ describe('Commander', function () { assert.cantMove(() => battle.p2.choose('move swordsdance', 'move sleeptalk')); }); - it(`should not work if either Pokemon is Transformed into Dondozo/Tatsugiri`, function () { + it(`should not work if another Pokemon is Transformed into Dondozo`, function () { battle = common.createBattle({gameType: 'doubles'}, [[ {species: 'wynaut', moves: ['sleeptalk']}, {species: 'dondozo', moves: ['sleeptalk']}, @@ -35,10 +35,26 @@ describe('Commander', function () { assert.false(!!mewDondozo.volatiles['commanded']); }); - it(`should not work if Tatsugiri is Transformed, and should work if Dondozo is Transformed`, function () { + it(`should not work if another Pokemon is Transformed into Tatsugiri`, function () { battle = common.createBattle({gameType: 'doubles'}, [[ {species: 'wynaut', moves: ['sleeptalk']}, {species: 'tatsugiri', ability: 'commander', moves: ['sleeptalk']}, + ], [ + {species: 'roggenrola', moves: ['sleeptalk']}, + {species: 'sunkern', ability: 'commander', moves: ['transform']}, + {species: 'dondozo', moves: ['transform']}, + ]]); + + battle.makeChoices('auto', 'move sleeptalk, move transform 2'); + battle.makeChoices('auto', 'switch 3, move sleeptalk'); + const dondozo = battle.p2.active[0]; + assert.false(!!dondozo.volatiles['commanded'], `Transformed Sunkern into another Tatsugiri should not trigger Commander`); + }); + + it(`should work if Tatsugiri is Transformed into another Pokemon with Commander`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'wynaut', moves: ['sleeptalk']}, + {species: 'sunkern', ability: 'commander', moves: ['sleeptalk']}, ], [ {species: 'roggenrola', moves: ['sleeptalk']}, {species: 'tatsugiri', ability: 'commander', moves: ['transform']}, @@ -48,14 +64,26 @@ describe('Commander', function () { battle.makeChoices('auto', 'move sleeptalk, move transform 2'); battle.makeChoices('auto', 'switch 3, move sleeptalk'); const dondozo = battle.p2.active[0]; - assert.false(!!dondozo.volatiles['commanded'], `Transformed Tatsugiri should not trigger Commander`); + assert(!!dondozo.volatiles['commanded']); + }); + + it(`should work if Dondozo is Transformed`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'wynaut', moves: ['sleeptalk']}, + {species: 'diglett', moves: ['sleeptalk']}, + ], [ + {species: 'dondozo', moves: ['transform']}, + {species: 'roggenrola', moves: ['sleeptalk']}, + {species: 'tatsugiri', ability: 'commander', moves: ['sleeptalk']}, + ]]); - battle.makeChoices('auto', 'move transform 1, switch 3'); + battle.makeChoices('auto', 'move transform 2, move sleeptalk'); battle.makeChoices('auto', 'move sleeptalk, switch 3'); - assert(!!dondozo.volatiles['commanded'], `Transformed Dondozo should trigger Commander`); + const dondozo = battle.p2.active[0]; + assert(!!dondozo.volatiles['commanded']); }); - it.skip(`should cause Tatsugiri to dodge all moves, including moves which normally bypass semi-invulnerability`, function () { + it(`should cause Tatsugiri to dodge all moves, including moves which normally bypass semi-invulnerability`, function () { battle = common.createBattle({gameType: 'doubles'}, [[ {species: 'machamp', ability: 'noguard', moves: ['closecombat']}, {species: 'seviper', moves: ['toxic']}, diff --git a/test/sim/abilities/defiant.js b/test/sim/abilities/defiant.js new file mode 100644 index 000000000000..0010e2609458 --- /dev/null +++ b/test/sim/abilities/defiant.js @@ -0,0 +1,40 @@ +'use strict'; + +const assert = require('./../../assert'); +const common = require('./../../common'); + +let battle; + +describe(`Defiant`, function () { + afterEach(function () { + battle.destroy(); + }); + + it(`should raise the user's attack when lowered by an opponent`, function () { + battle = common.createBattle([[ + {species: 'pawniard', ability: 'defiant', moves: ['sleeptalk', 'tackle']}, + ], [ + {species: 'wynaut', moves: ['faketears', 'firelash', 'silktrap']}, + ]]); + battle.makeChoices('auto', 'move faketears'); + battle.makeChoices('auto', 'move firelash'); + battle.makeChoices('move tackle', 'move silktrap'); + + assert.statStage(battle.p1.active[0], 'atk', 6); + }); + + it(`should not raise the user's attack when lowered by itself or an ally`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'pawniard', ability: 'defiant', moves: ['closecombat', 'sleeptalk']}, + {species: 'wynaut', moves: ['faketears', 'firelash', 'silktrap']}, + ], [ + {species: 'screamtail', moves: ['sleeptalk']}, + {species: 'jigglypuff', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move sleeptalk, move firelash -1', 'auto'); + battle.makeChoices('move closecombat 1, move faketears -1', 'auto'); + battle.makeChoices('move closecombat -2, move silktrap', 'auto'); + + assert.statStage(battle.p1.active[0], 'atk', 0); + }); +}); diff --git a/test/sim/abilities/disguise.js b/test/sim/abilities/disguise.js index d4bc8fea47c9..05f587d7564c 100644 --- a/test/sim/abilities/disguise.js +++ b/test/sim/abilities/disguise.js @@ -99,4 +99,17 @@ describe('Disguise', function () { battle.makeChoices(); assert(battle.log.every(line => !line.startsWith('|-crit'))); }); + + it(`should not work while Transformed`, function () { + battle = common.createBattle([[ + {species: 'Mimikyu', ability: 'disguise', moves: ['transform']}, + ], [ + {species: 'Mimikyu', ability: 'disguise', moves: ['sleeptalk', 'aerialace']}, + ]]); + battle.makeChoices(); + battle.makeChoices('auto', 'move aerialace'); + const transformedMimikyu = battle.p1.active[0]; + assert.species(transformedMimikyu, 'Mimikyu', `Transformed Mimikyu should not have changed to Mimikyu-busted after taking damage`); + assert.false.fullHP(transformedMimikyu); + }); }); diff --git a/test/sim/abilities/iceface.js b/test/sim/abilities/iceface.js index fc5185aa6ffb..d0e4fd6bf7c9 100644 --- a/test/sim/abilities/iceface.js +++ b/test/sim/abilities/iceface.js @@ -24,8 +24,27 @@ describe('Ice Face', function () { assert.hurts(eiscue, () => battle.makeChoices()); }); - it(`should not trigger if the Pokemon was KOed`, function () { - // TODO: Make compatible with gen 9 + it(`should not work while Transformed`, function () { + battle = common.createBattle([[ + {species: 'Eiscue', ability: 'iceface', moves: ['transform']}, + {species: 'Wynaut', moves: ['sleeptalk']}, + ], [ + {species: 'Eiscue', ability: 'iceface', moves: ['sleeptalk', 'aerialace', 'hail']}, + ]]); + battle.makeChoices(); + battle.makeChoices('move aerialace', 'move aerialace'); + const transformedEiscue = battle.p1.active[0]; + assert.species(transformedEiscue, 'Eiscue', `Transformed Eiscue should not have changed to Eiscue-Noice after taking physical damage`); + assert.false.fullHP(transformedEiscue); + + battle.makeChoices('switch 2', 'auto'); + battle.makeChoices('switch 2', 'auto'); + battle.makeChoices('move transform', 'auto'); + battle.makeChoices('move hail', 'auto'); + assert.species(transformedEiscue, 'Eiscue-Noice', `Transformed Eiscue should not have changed to Eiscue after hail was set`); + }); + + it(`should not trigger if the Pokemon was KOed by Max Hailstorm`, function () { battle = common.gen(8).createBattle([[ {species: 'Eiscue', level: 1, ability: 'iceface', moves: ['sleeptalk']}, ], [ diff --git a/test/sim/abilities/mummy.js b/test/sim/abilities/mummy.js index f78f88324e67..cc90defd00dd 100644 --- a/test/sim/abilities/mummy.js +++ b/test/sim/abilities/mummy.js @@ -21,7 +21,7 @@ describe('Mummy', function () { assert.equal(battle.p2.active[0].ability, 'mummy'); }); - it(`should not change isPermanent abilities`, function () { + it(`should not change abilities that can't be suppressed`, function () { battle = common.createBattle([[ {species: 'Cofagrigus', ability: 'mummy', moves: ['sleeptalk']}, ], [ diff --git a/test/sim/abilities/neutralizinggas.js b/test/sim/abilities/neutralizinggas.js index e57b98cd53da..b2e73fe7ef9b 100644 --- a/test/sim/abilities/neutralizinggas.js +++ b/test/sim/abilities/neutralizinggas.js @@ -295,12 +295,42 @@ describe('Neutralizing Gas', function () { {species: 'Wynaut', moves: ['sleeptalk']}, ]]); - battle.makeChoices('move sleeptalk terastallize', 'auto'); + battle.makeChoices('move sleeptalk', 'auto'); battle.makeChoices('auto', 'switch 2'); const porygon = battle.p1.active[0]; assert.statStage(porygon, 'spa', 1); }); + it(`should not reactivate instances of Embody Aspect that had previously activated`, function () { + battle = common.createBattle({gameType: 'freeforall'}, [[ + {species: 'Ogerpon-Hearthflame', ability: 'moldbreaker', item: 'hearthflamemask', moves: ['bellydrum']}, + ], [ + {species: 'Ogerpon-Wellspring', ability: 'waterabsorb', item: 'wellspringmask', moves: ['sleeptalk']}, + ], [ + {species: 'Ogerpon-Cornerstone', ability: 'sturdy', item: 'cornerstonemask', moves: ['sleeptalk']}, + ], [ + {species: 'Cosmog', moves: ['splash', 'teleport']}, + {species: 'Weezing', ability: 'neutralizinggas', moves: ['memento']}, + ]]); + + // only wellspring teras this turn + battle.makeChoices('auto', 'move sleeptalk terastallize', 'auto', 'auto'); + // only hearthflame teras this turn; embody aspect cannot boost its attack any further + battle.makeChoices('move bellydrum terastallize', 'auto', 'auto', 'move teleport'); + // note that cornerstone has not tera'd yet + battle.makeChoices('', '', '', 'switch 2'); + const hearthflame = battle.p1.active[0]; + const wellspring = battle.p2.active[0]; + const cornerstone = battle.p3.active[0]; + assert.statStage(hearthflame, 'atk', 6); + assert.statStage(wellspring, 'spd', 1); + assert.statStage(cornerstone, 'def', 0); + battle.makeChoices('auto', 'auto', 'move sleeptalk terastallize', 'move memento 1'); + assert.statStage(hearthflame, 'atk', 4, `Ogerpon-Hearthflame-Tera's Embody Aspect should not have been reactivated`); + assert.statStage(wellspring, 'spd', 1, `Ogerpon-Wellspring-Tera's Embody Aspect should not have activated twice`); + assert.statStage(cornerstone, 'def', 1, `Ogerpon-Cornerstone-Tera's Embody Aspect should have been activated by Neutalizing Gas ending`); + }); + describe(`Ability reactivation order`, function () { it(`should cause entrance Abilities to reactivate in order of Speed`, function () { battle = common.createBattle({gameType: 'doubles'}, [[ diff --git a/test/sim/abilities/prankster.js b/test/sim/abilities/prankster.js index 26092487b607..3a4113be2ff5 100644 --- a/test/sim/abilities/prankster.js +++ b/test/sim/abilities/prankster.js @@ -72,6 +72,15 @@ describe('Prankster', function () { assert(battle.p2.active[0].volatiles['encore'], `Meowstic should be encored`); assert.fullHP(battle.p1.active[0]); }); + + it('should not leak the ability via hint if the target is immune to the Status move', function () { + battle = common.createBattle([ + [{species: "Sableye", ability: 'prankster', moves: ['willowisp']}], + [{species: "Houndoom", ability: 'pressure', moves: ['willowisp']}], + ]); + battle.makeChoices('move willowisp', 'move willowisp'); + assert.false(battle.log.some(line => line.includes('hint')), `Prankster should not leak the ability via hint`); + }); }); describe('Prankster [Gen 6]', function () { diff --git a/test/sim/abilities/protosynthesis.js b/test/sim/abilities/protosynthesis.js index 905bcf45ba68..4159c47ef895 100644 --- a/test/sim/abilities/protosynthesis.js +++ b/test/sim/abilities/protosynthesis.js @@ -76,4 +76,79 @@ describe('Protosynthesis', function () { const tail = battle.p1.active[0]; assert.equal(tail.volatiles['protosynthesis'].bestStat, 'spd', `Scream Tail's SpD should have been boosted by Protosynthesis in Sun while holding Utility Umbrella`); }); + + it(`should not be deactiviated by weather suppressing abilities`, function () { + battle = common.createBattle([[ + {species: 'Scream Tail', ability: 'protosynthesis', moves: ['splash']}, + ], [ + {species: 'Torkoal', ability: 'drought', moves: ['splash']}, + {species: 'Psyduck', ability: 'cloudnine', moves: ['splash']}, + ]]); + + const tail = battle.p1.active[0]; + battle.makeChoices('move splash', 'switch 2'); + + assert.equal(tail.volatiles['protosynthesis'].bestStat, 'spd', `Scream Tail's SpD should have remained boosted by Protosynthesis in Sun even though a weather supressing ability was activated`); + }); + + it(`should not activate if weather is suppressed`, function () { + battle = common.createBattle([[ + {species: 'Scream Tail', ability: 'protosynthesis', moves: ['splash']}, + ], [ + {species: 'Psyduck', ability: 'cloudnine', moves: ['sunnyday']}, + ]]); + + const tail = battle.p1.active[0]; + battle.makeChoices('move splash', 'move sunnyday'); + + assert.equal(tail.volatiles['protosynthesis'], undefined, `Scream Tail should not have been boosted by Protosynthesis because a weather supressing ability was active when Sun started`); + }); + + it(`should activate when weather supression ends`, function () { + battle = common.createBattle([[ + {species: 'Scream Tail', ability: 'protosynthesis', moves: ['splash']}, + ], [ + {species: 'Psyduck', ability: 'cloudnine', moves: ['sunnyday']}, + {species: 'Lotad', ability: 'swiftswim', moves: ['splash']}, + ]]); + + const tail = battle.p1.active[0]; + battle.makeChoices('move splash', 'move sunnyday'); + battle.makeChoices('move splash', 'switch 2'); + + assert.equal(tail.volatiles['protosynthesis'].bestStat, 'spd', `Scream Tail should have been boosted by Protosynthesis because a weather supressing ability ended while Sun was active`); + }); + + it(`should have its boost nullified by Neutralizing Gas`, function () { + battle = common.createBattle([[ + {species: 'Scream Tail', ability: 'protosynthesis', item: 'boosterenergy', moves: ['luckychant', 'recover']}, + ], [ + {species: 'Weezing', moves: ['venoshock']}, + {species: 'Weezing', ability: 'neutralizinggas', moves: ['venoshock']}, + ]]); + + const tail = battle.p1.active[0]; + battle.makeChoices('move luckychant', 'move venoshock'); + assert.bounded(tail.maxhp - tail.hp, [84, 102]); + battle.makeChoices('auto', 'switch 2'); + battle.makeChoices('move recover', 'move venoshock'); + assert.bounded(tail.maxhp - tail.hp, [110, 132]); + // Ensure that the boost wasn't completely removed + battle.makeChoices('auto', 'switch 2'); + battle.makeChoices('move recover', 'move venoshock'); + assert.bounded(tail.maxhp - tail.hp, [84, 102]); + }); + + it(`should not activate while the user is Transformed`, function () { + battle = common.createBattle([[ + {species: 'Torkoal', ability: 'drought', moves: ['sleeptalk']}, + {species: 'Ditto', ability: 'imposter', moves: ['transform']}, + ], [ + {species: 'Roaring Moon', ability: 'protosynthesis', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices('switch 2', 'auto'); + const dittoMoon = battle.p1.active[0]; + assert(!dittoMoon.volatiles['protosynthesis']); + }); }); diff --git a/test/sim/abilities/rattled.js b/test/sim/abilities/rattled.js new file mode 100644 index 000000000000..011db386af0c --- /dev/null +++ b/test/sim/abilities/rattled.js @@ -0,0 +1,34 @@ +'use strict'; + +const assert = require('./../../assert'); +const common = require('./../../common'); + +let battle; + +describe('Rattled', function () { + afterEach(function () { + battle.destroy(); + }); + + it(`should boost the user's Speed when Intimidated`, function () { + battle = common.createBattle([[ + {species: 'Dunsparce', ability: 'rattled', moves: ['sleeptalk']}, + ], [ + {species: 'Incineroar', ability: 'intimidate', moves: ['sleeptalk']}, + ]]); + + assert.statStage(battle.p1.active[0], 'atk', -1); + assert.statStage(battle.p1.active[0], 'spe', 1); + }); + + it(`should not boost the user's Speed if Intimidate failed to lower attack`, function () { + battle = common.createBattle([[ + {species: 'Dunsparce', item: 'clearamulet', ability: 'rattled', moves: ['sleeptalk']}, + ], [ + {species: 'Incineroar', ability: 'intimidate', moves: ['sleeptalk']}, + ]]); + + assert.statStage(battle.p1.active[0], 'atk', 0); + assert.statStage(battle.p1.active[0], 'spe', 0); + }); +}); diff --git a/test/sim/abilities/terashell.js b/test/sim/abilities/terashell.js new file mode 100644 index 000000000000..ab43a4eb9613 --- /dev/null +++ b/test/sim/abilities/terashell.js @@ -0,0 +1,90 @@ +'use strict'; + +const assert = require('../../assert'); +const common = require('../../common'); + +let battle; + +describe('Tera Shell', function () { + afterEach(() => battle.destroy()); + + it(`should take not very effective damage when it is at full health`, function () { + battle = common.createBattle([ + [{species: 'Terapagos-Terastal', ability: 'terashell', moves: ['sleeptalk']}], + [{species: 'Wynaut', moves: ['wickedblow']}], + ]); + + battle.makeChoices(); + const terapagos = battle.p1.active[0]; + const damage = terapagos.maxhp - terapagos.hp; + assert.bounded(damage, [14, 16], `Tera Shell should yield not very effective damage roll, actual damage taken is ${damage}`); + + battle.makeChoices(); + assert.bounded(terapagos.maxhp - terapagos.hp - damage, [28, 33], `Tera Shell should not reduce damage, because Terapagos-Terastal was not at full HP`); + }); + + // confirmed here: https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9893603 + it(`should not take precedence over immunities`, function () { + battle = common.createBattle([ + [{species: 'Terapagos-Terastal', ability: 'terashell', moves: ['sleeptalk']}], + [{species: 'Wynaut', moves: ['shadowball']}], + ]); + + battle.makeChoices(); + const terapagos = battle.p1.active[0]; + assert.fullHP(terapagos); + }); + + // kinda confirmed here: https://youtu.be/-nerhfXrmCM?si=hLzfrfzVDdfNFMbv&t=314 + // confirmed here: https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9893781 + it('All hits of multi-hit move should be not very effective', function () { + battle = common.createBattle([ + [{species: 'Terapagos-Terastal', ability: 'terashell', moves: ['sleeptalk']}], + [{species: 'Wynaut', moves: ['surgingstrikes']}], + ]); + + battle.makeChoices(); + const terapagos = battle.p1.active[0]; + const damage = terapagos.maxhp - terapagos.hp; + assert.bounded(damage, [15, 18], `Tera Shell should yield not very effective damage for both all hits of multi-hit move, actual damage taken is ${damage}`); + }); + + // confirmed here: https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9893651 + it(`should be suppressed by Gastro Acid`, function () { + battle = common.createBattle([ + [{species: 'Terapagos-Terastal', ability: 'terashell', moves: ['sleeptalk']}], + [{species: 'Wynaut', moves: ['gastroacid', 'wickedblow']}], + ]); + + battle.makeChoices('move sleeptalk', 'move gastroacid'); + battle.makeChoices('move sleeptalk', 'move wickedblow'); + const terapagos = battle.p1.active[0]; + const damage = terapagos.maxhp - terapagos.hp; + assert.bounded(damage, [28, 33], `Tera Shell should not reduce damage, because Tera Shell should be suppressed`); + }); + + it(`should not work if the user's species is not currently Terapagos-Terastal`, function () { + battle = common.createBattle([[ + {species: 'Terapagos', ability: 'terashift', moves: ['transform']}, + ], [ + {species: 'Umbreon', ability: 'terashell', moves: ['flowertrick']}, + ]]); + + battle.makeChoices(); + const terapagos = battle.p1.active[0]; + let damage = terapagos.maxhp - terapagos.hp; + assert.bounded(damage, [51, 60], `Tera Shell should not have activated because current species is not Terapagos`); + + + battle = common.createBattle([[ + {species: 'Espeon', moves: ['transform']}, + ], [ + {species: 'Terapagos', ability: 'terashift', moves: ['flowertrick']}, + ]]); + + battle.makeChoices(); + const espeon = battle.p1.active[0]; + damage = espeon.maxhp - espeon.hp; + assert.bounded(damage, [33, 39], `Tera Shell should have activated because current species is Terapagos`); + }); +}); diff --git a/test/sim/abilities/trace.js b/test/sim/abilities/trace.js index c089f913a385..ad6586ce075b 100644 --- a/test/sim/abilities/trace.js +++ b/test/sim/abilities/trace.js @@ -10,6 +10,38 @@ describe('Trace', function () { battle.destroy(); }); + it(`should copy the opponent's Ability`, function () { + battle = common.createBattle([[ + {species: "Ralts", ability: 'trace', moves: ['sleeptalk']}, + ], [ + {species: "Wynaut", ability: 'shadowtag', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices(); + const ralts = battle.p1.active[0]; + assert.equal(ralts.ability, 'shadowtag'); + }); + + it(`should delay copying the opponent's Ability if the initial Abilities could not be copied by Trace`, function () { + battle = common.createBattle([[ + {species: "Ralts", ability: 'trace', moves: ['sleeptalk']}, + ], [ + {species: "Arceus", ability: 'multitype', moves: ['sleeptalk']}, + {species: "Aegislash", ability: 'stancechange', moves: ['sleeptalk']}, + {species: "Wynaut", ability: 'shadowtag', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices(); + const ralts = battle.p1.active[0]; + assert.equal(ralts.ability, 'trace'); + + battle.makeChoices('auto', 'switch 2'); + assert.equal(ralts.ability, 'trace'); + + battle.makeChoices('auto', 'switch 3'); + assert.equal(ralts.ability, 'shadowtag'); + }); + // see research: https://www.smogon.com/forums/threads/pokemon-sun-moon-battle-mechanics-research.3586701/post-7790209 it(`should interact properly with Ability index 0 'No Ability'`, function () { // Trace stops working if it initially finds 'No Ability' diff --git a/test/sim/data.js b/test/sim/data.js index d37ec2a98edf..d2c5db7bd3b0 100644 --- a/test/sim/data.js +++ b/test/sim/data.js @@ -267,7 +267,7 @@ describe('Dex data', function () { 6: 721, 7: 807, 8: 664, - 9: 587, + 9: 733, }; const formes = { // Gens 1 and 2 have no alternate formes @@ -302,15 +302,18 @@ describe('Dex data', function () { formes[8] = 17 + 5 + 1 + 1 + 1 + 3 + 3 + 7 + 14 + 8 + 1 + 1 + 1 + 2 + 1 + 2 + 2 + 2 + 1 + 1 + 2 + 2 + 1 + (4 + 1 + 1 + 1 + 1 + 2 + (1 + 1)) + (1 + 3 + 4 + 2 + 3 + 1 + 2) - 1; // FIXME Rockruff - // Pikachu (8) + Origin (3) + Therian (4) + Alola (15) + Galar (7) + Paldea (4) + Hisui (16) + - // Rotom (5) + Shaymin (1) + Arceus (17) + Basculin (2) + Meloetta (1) + Greninja (1) + Vivillon (2) + - // Hoopa (1) + Oricorio (3) + Lycanroc (2) + Mimikyu (1) + Magearna (1) + Toxtricity (1) + Antique (2) + - // Eiscue (1) + Indeedee (1) + Cramorant (2) + Morpeko (1) + Crowned (2) + Urshifu (1) + Zarude (1) + - // Calyrex (2) + Oinkologne (1) + Ursaluna (1) + Dudunsparce (1) + Palafin (1) + Maushold (1) + - // Squawkabilly (3) + Gimmighoul (1) + Basculegion (1) + Masterpiece (2) + Ogerpon (7) - formes[9] = 8 + 3 + 4 + 15 + 7 + 4 + 16 + 5 + 1 + 17 + 2 + - 1 + 1 + 2 + 1 + 3 + 2 + 1 + 1 + 1 + 2 + 1 + 1 + 2 + 1 + - 2 + 1 + 1 + 1 + 2 + 1 + 1 + 1 + 1 + 3 + 1 + 1 + 2 + 7; + // Pikachu (8) + Origin (3) + Therian (4) + Alola (16) + Galar (7) + Paldea (4) + Hisui (16) + + // Deoxys (3) + Rotom (5) + Shaymin (1) + Arceus (17) + Basculin (2) + Kyurem (2) + Keldeo (1) + + // Meloetta (1) + Greninja (1) + Vivillon (2) + Meowstic (1) + Hoopa (1) + Oricorio (3) + + // Lycanroc (2) + Minior (1) + Mimikyu (1) + Necrozma (2) + Magearna (1) + Toxtricity (1) + + // Antique (2) + Eiscue (1) + Indeedee (1) + Cramorant (2) + Morpeko (1) + Crowned (2) + + // Urshifu (1) + Zarude (1) + Calyrex (2) + Oinkologne (1) + Ursaluna (1) + Dudunsparce (1) + + // Palafin (1) + Maushold (1) + Squawkabilly (3) + Gimmighoul (1) + Basculegion (1) + + // Masterpiece (2) + Ogerpon (7) + Terapagos (2) + formes[9] = 8 + 3 + 4 + 16 + 7 + 4 + 16 + 3 + 5 + 1 + 17 + + 2 + 2 + 1 + 1 + 1 + 2 + 1 + 1 + 3 + 2 + 1 + 1 + 2 + 1 + + 1 + 2 + 1 + 1 + 2 + 1 + 2 + 1 + 1 + 1 + 2 + 1 + 1 + 1 + + 1 + 3 + 1 + 1 + 2 + 7 + 2; for (const gen of [1, 2, 3, 4, 5, 6, 7, 8, 9]) { it(`Gen ${gen} should have ${species[gen]} species and ${formes[gen]} formes`, () => { diff --git a/test/sim/dex.js b/test/sim/dex.js index ce50a5cffc74..e8c0f3aaef85 100644 --- a/test/sim/dex.js +++ b/test/sim/dex.js @@ -6,14 +6,14 @@ describe('Mod loader', function () { it('should work fine in any order', function () { { const Dex = require('./../../dist/sim/dex').Dex; - assert.equal(Dex.mod('gen2').species.getLearnset('nidoking').bubblebeam.join(','), '1M'); + assert.equal(Dex.mod('gen2').species.getLearnsetData('nidoking').learnset.bubblebeam.join(','), '1M'); assert.equal(Dex.mod('gen2').moves.get('crunch').secondaries[0].boosts.def, undefined); } { const Dex = require('./../../dist/sim/dex').Dex; - Dex.mod('gen2').species.getLearnset('nidoking'); + Dex.mod('gen2').species.getLearnsetData('nidoking'); Dex.mod('gen4').moves.get('crunch'); - assert.equal(Dex.mod('gen2').species.getLearnset('nidoking').bubblebeam.join(','), '1M'); + assert.equal(Dex.mod('gen2').species.getLearnsetData('nidoking').learnset.bubblebeam.join(','), '1M'); assert.equal(Dex.mod('gen2').moves.get('crunch').secondaries[0].boosts.def, undefined); } }); @@ -36,7 +36,8 @@ describe('Dex#getSpecies', function () { }); it('should handle Minior-Meteor formes', function () { - assert(Dex.species.get('Minior-Meteor').isNonstandard); + assert(!Dex.species.get('Minior-Meteor').isNonstandard); + assert(Dex.forGen(8).species.get('Minior-Meteor').isNonstandard); assert(!Dex.forGen(7).species.get('Minior-Meteor').isNonstandard); }); diff --git a/test/sim/items/abilityshield.js b/test/sim/items/abilityshield.js index 5244b0747a3b..bb0082ff8268 100644 --- a/test/sim/items/abilityshield.js +++ b/test/sim/items/abilityshield.js @@ -211,6 +211,17 @@ describe('Ability Shield', function () { assert.equal(battle.p1.active[0].ability, 'libero', `Ditto should copy Libero`); }); + it(`should not prevent forme changes from changing the holder's ability`, function () { + battle = common.createBattle([[ + {species: 'ogerpon', ability: 'defiant', item: 'abilityshield', moves: ['sleeptalk']}, + ], [ + {species: 'scorbunny', ability: 'libero', moves: ['agility']}, + ]]); + + battle.makeChoices('move sleeptalk terastallize', 'auto'); + assert.equal(battle.p1.active[0].ability, 'embodyaspectteal', `Ogerpon's ability should change to Embody Aspect`); + }); + // TODO Add future tests for losing Ability Shield vs Neutralizing Gas/Mold Breaker/Gastro Acid? // // No confirmed research yet for these, but presumably Neutralizing Gas & Mold diff --git a/test/sim/misc/endlessbattleclause.js b/test/sim/misc/endlessbattleclause.js index 3075a33a880c..5bf58477860b 100644 --- a/test/sim/misc/endlessbattleclause.js +++ b/test/sim/misc/endlessbattleclause.js @@ -190,6 +190,17 @@ describe('Endless Battle Clause (slow)', () => { battle.makeChoices('switch 2', 'switch 2'); assert(battle.ended); }); + + it('Skill Swap should remove the user\'s staleness', () => { + battle = common.createBattle({endlessBattleClause: true}, [[ + {species: "Furret", moves: ['skillswap']}, + ], [ + {species: "Ampharos", moves: ['skillswap']}, + ]]); + skipTurns(battle, 100); + for (let i = 0; i < 8; i++) battle.makeChoices(); + assert.false(battle.ended); + }); }); // Endless Battle Clause doesn't take effect for 100 turns, so we artificially skip turns diff --git a/test/sim/misc/ogerpon.js b/test/sim/misc/ogerpon.js new file mode 100644 index 000000000000..21b7deeaeb79 --- /dev/null +++ b/test/sim/misc/ogerpon.js @@ -0,0 +1,23 @@ +'use strict'; + +const assert = require('assert').strict; +const common = require('./../../common'); + +let battle; + +describe(`[Hackmons] Ogerpon`, function () { + // https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9838633 + it(`should keep permanent abilites after Terastallizing until it switches out`, function () { + battle = common.gen(9).createBattle([[ + {species: 'ogerpon', ability: 'multitype', moves: ['sleeptalk']}, + {species: 'shedinja', moves: ['splash']}, + ], [ + {species: 'silicobra', moves: ['stealthrock']}, + ]]); + const ogerpon = battle.p1.active[0]; + battle.makeChoices('move sleeptalk terastallize', 'auto'); + assert.equal(ogerpon.ability, 'multitype', `Ogerpon's ability should not have changed to Embody Aspect`); + battle.makeChoices('switch 2', 'auto'); + assert.equal(ogerpon.ability, 'embodyaspectteal', `Ogerpon's ability should be Embody Aspect after switching out`); + }); +}); diff --git a/test/sim/misc/statuses.js b/test/sim/misc/statuses.js index 1b90c917b686..5caaaa61a536 100644 --- a/test/sim/misc/statuses.js +++ b/test/sim/misc/statuses.js @@ -79,6 +79,15 @@ describe('Paralysis', function () { battle.makeChoices(); assert.equal(battle.p1.active[0].getStat('spe'), 168); // would be 169 if both Choice Scarf and paralysis were chained + + battle = common.createBattle([[ + {species: 'hawlucha', item: 'whiteherb', ability: 'unburden', evs: {spe: 4}, moves: ['closecombat']}, // 273 Speed + ], [ + {species: 'wynaut', moves: ['glare']}, + ]]); + + battle.makeChoices(); + assert.equal(battle.p1.active[0].getStat('spe'), 273); // would be 272 if paralysis was applied first }); it('should reduce speed to 25% of its original value in Gen 6', function () { diff --git a/test/sim/misc/terapagos.js b/test/sim/misc/terapagos.js new file mode 100644 index 000000000000..a1276f21a290 --- /dev/null +++ b/test/sim/misc/terapagos.js @@ -0,0 +1,42 @@ +'use strict'; + +const assert = require('assert').strict; +const common = require('./../../common'); + +let battle; + +describe(`Terapagos`, function () { + afterEach(function () { + battle.destroy(); + }); + + it.skip(`should accept the Terastallization choice, but not Terastallize while Transformed into Terapagos-Terastal`, function () { + battle = common.createBattle([[ + {species: 'ditto', ability: 'imposter', moves: ['sleeptalk']}, + ], [ + {species: 'terapagos', ability: 'terashift', moves: ['sleeptalk'], teraType: 'Stellar'}, + ]]); + + // Currently throws a choice error + battle.makeChoices('move sleeptalk terastallize', 'auto'); + + const ditto = battle.p1.active[0]; + assert.false(!!ditto.terastallized); + }); + + it(`[Hackmons] should not cause Terapagos-Terastal to become Terapagos-Stellar if the user is Transformed`, function () { + battle = common.createBattle([[ + {species: 'terapagos', ability: 'terashift', moves: ['transform'], teraType: 'Stellar'}, + {species: 'pikachu', moves: ['sleeptalk']}, + ], [ + {species: 'silicobra', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices(); + battle.makeChoices('move sleeptalk terastallize', 'auto'); + battle.makeChoices('switch 2', 'auto'); + battle.makeChoices('switch 2', 'auto'); + const terapagos = battle.p1.active[0]; + assert.species(terapagos, 'Terapagos-Terastal'); + }); +}); diff --git a/test/sim/misc/terastellar.js b/test/sim/misc/terastellar.js new file mode 100644 index 000000000000..b6e51e4f95e8 --- /dev/null +++ b/test/sim/misc/terastellar.js @@ -0,0 +1,163 @@ +'use strict'; + +const assert = require('./../../assert'); +const common = require('./../../common'); + +let battle; + +describe("Tera Stellar", function () { + afterEach(function () { + battle.destroy(); + }); + + it(`should increase the damage of non-STAB moves by 1.2x on the first use of that move type`, function () { + battle = common.createBattle([[ + {species: 'Wynaut', ability: 'noguard', moves: ['surf', 'hydropump', 'extrasensory', 'hyperspacehole'], teraType: 'Stellar'}, + ], [ + {species: 'Happiny', ability: 'shellarmor', moves: ['softboiled']}, + ]]); + + const happiny = battle.p2.active[0]; + + battle.makeChoices('move surf terastallize', 'auto'); + let damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [40, 47], `Surf should have ~1.2x damage on its first use`); + + battle.makeChoices('move surf', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [33, 39], `Surf should have regular damage on its second use`); + + battle.makeChoices('move hydropump', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [39, 47], `Hydro Pump should have regular damage, because Water-type was already used`); + + battle.makeChoices('move extrasensory', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [58, 70], `Extrasensory should have 2x damage on its first use`); + + battle.makeChoices('move extrasensory', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [43, 52], `Extrasensory should have 1.5x damage on its second use`); + + battle.makeChoices('move hyperspacehole', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [43, 52], `Hyperspace Hole should have 1.5x damage on its first use, because Psychic-type was already used`); + }); + + it(`should not have the once-per-type restriction when used by Terapagos`, function () { + battle = common.createBattle([[ + {species: 'Terapagos', ability: 'terashift', moves: ['surf', 'hypervoice'], item: 'laggingtail', teraType: 'Stellar'}, + ], [ + {species: 'Chansey', ability: 'shellarmor', moves: ['softboiled']}, + ]]); + + const chansey = battle.p2.active[0]; + + battle.makeChoices('move surf terastallize', 'auto'); + let damage = chansey.maxhp - chansey.hp; + assert.bounded(damage, [94, 110], `Surf should have ~1.2x damage on its first use`); + + battle.makeChoices('move surf', 'auto'); + damage = chansey.maxhp - chansey.hp; + assert.bounded(damage, [94, 110], `Surf should have ~1.2x damage on its second use`); + + battle.makeChoices('move hypervoice', 'auto'); + damage = chansey.maxhp - chansey.hp; + assert.bounded(damage, [156, 184], `Hyper Voice should have 2x damage on its first use`); + + battle.makeChoices('move hypervoice', 'auto'); + damage = chansey.maxhp - chansey.hp; + assert.bounded(damage, [156, 184], `Hyper Voice should have 2x damage on its second use`); + }); + + it(`should not modify the Pokemon's base type for defensive purposes`, function () { + battle = common.createBattle([[ + {species: 'Krookodile', moves: ['sleeptalk'], teraType: 'Stellar'}, + ], [ + {species: 'Tornadus', ability: 'prankster', moves: ['psychic', 'thunderwave', 'leer']}, + ]]); + + const krookodile = battle.p1.active[0]; + + battle.makeChoices('move sleeptalk terastallize', 'move psychic'); + assert.fullHP(krookodile); + + battle.makeChoices('auto', 'move thunderwave'); + assert.equal(krookodile.status, ''); + + battle.makeChoices('auto', 'move thunderwave'); + + battle.makeChoices('auto', 'move leer'); + assert.statStage(krookodile, 'def', 0); + }); + + it(`should only be super-effective against opposing Terastallized targets`, function () { + battle = common.createBattle([[ + {species: 'Krookodile', moves: ['terablast'], teraType: 'Stellar'}, + ], [ + {species: 'Steelix', item: 'weaknesspolicy', moves: ['sleeptalk'], teraType: 'Stellar'}, + ]]); + + const steelix = battle.p2.active[0]; + battle.makeChoices('move terablast terastallize', 'move sleeptalk terastallize'); + assert.statStage(steelix, 'atk', 2); + }); + + it(`should increase the user's stats with Tera Blast if the user has Contrary`, function () { + battle = common.createBattle([[ + {species: 'inkay', ability: 'contrary', moves: ['terablast'], teraType: 'Stellar'}, + ], [ + {species: 'chansey', moves: ['sleeptalk']}, + ]]); + + const inkay = battle.p1.active[0]; + + battle.makeChoices('move terablast terastallize', 'move sleeptalk terastallize'); + assert.statStage(inkay, 'atk', 1); + assert.statStage(inkay, 'spa', 1); + }); + + it(`should not work with Adapatability`, function () { + battle = common.createBattle([[ + {species: 'Wynaut', ability: 'adaptability', moves: ['hyperspacehole', 'terablast'], teraType: 'Stellar'}, + ], [ + {species: 'Happiny', ability: 'shellarmor', moves: ['softboiled']}, + ]]); + + const happiny = battle.p2.active[0]; + + battle.makeChoices('move hyperspacehole terastallize', 'auto'); + let damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [58, 70], `Hyperspace Hole should only have 2x damage on its first use`); + + battle.makeChoices('move hyperspacehole', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [43, 52], `Hyperspace Hole should only have 1.5x damage on its second use`); + + battle.makeChoices('move terablast', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [43, 52], `Tera Blast should only have ~1.2x damage on its first use`); + + battle.makeChoices('move terablast', 'auto'); + damage = happiny.maxhp - happiny.hp; + assert.bounded(damage, [24, 29], `Tera Blast should not have any boosted damage on its second use`); + }); + + it(`should increase the damage of all hits of a multi-hit move`, function () { + battle = common.createBattle([[ + {species: 'Wynaut', moves: ['surgingstrikes', 'flipturn'], teraType: 'Stellar'}, + ], [ + {species: 'Blissey', moves: ['softboiled']}, + ]]); + + const blissey = battle.p2.active[0]; + + battle.makeChoices('move surgingstrikes terastallize', 'auto'); + let damage = blissey.maxhp - blissey.hp; + assert.bounded(damage, [144, 174], `Surging Strikes should have ~1.2x damage on its first use for all 3 hits`); + + battle.makeChoices('move flipturn', 'auto'); + damage = blissey.maxhp - blissey.hp; + assert.bounded(damage, [63, 75], `Flip Turn should have regular damage on its first use, because Water-type was already used`); + }); +}); diff --git a/test/sim/moves/allyswitch.js b/test/sim/moves/allyswitch.js new file mode 100644 index 000000000000..eb65f5080085 --- /dev/null +++ b/test/sim/moves/allyswitch.js @@ -0,0 +1,147 @@ +'use strict'; + +const assert = require('./../../assert'); +const common = require('./../../common'); + +let battle; + +describe(`Ally Switch`, function () { + afterEach(function () { + battle.destroy(); + }); + + it(`should cause the Pokemon to switch sides in a double battle`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'Primeape', moves: ['sleeptalk']}, + {species: 'Wynaut', moves: ['allyswitch']}, + ], [ + {species: 'Dreepy', moves: ['sleeptalk']}, + {species: 'Pichu', moves: ['sleeptalk']}, + ]]); + + let wynaut = battle.p1.active[1]; + assert.species(wynaut, 'Wynaut'); + battle.makeChoices(); + + wynaut = battle.p1.active[0]; + assert.species(wynaut, 'Wynaut'); + }); + + it(`should not work if the user is in the center of a Triple Battle`, function () { + battle = common.gen(6).createBattle({gameType: 'triples'}, [[ + {species: 'Primeape', moves: ['sleeptalk']}, + {species: 'Wynaut', moves: ['allyswitch']}, + {species: 'Shaymin', moves: ['sleeptalk']}, + ], [ + {species: 'Murkrow', moves: ['sleeptalk']}, + {species: 'Pichu', moves: ['sleeptalk']}, + {species: 'Skrelp', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices(); + const wynaut = battle.p1.active[1]; + assert.species(wynaut, 'Wynaut'); + }); + + it(`should swap Pokemon on the edges of a Triple Battle`, function () { + battle = common.gen(6).createBattle({gameType: 'triples'}, [[ + {species: 'Wynaut', moves: ['allyswitch']}, + {species: 'Primeape', moves: ['sleeptalk']}, + {species: 'Shaymin', moves: ['sleeptalk']}, + ], [ + {species: 'Murkrow', moves: ['sleeptalk']}, + {species: 'Pichu', moves: ['sleeptalk']}, + {species: 'Skrelp', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices(); + const wynaut = battle.p1.active[2]; + assert.species(wynaut, 'Wynaut'); + }); + + it(`should not work in formats where you do not control allies`, function () { + battle = common.createBattle([[ + {species: 'Wynaut', moves: ['allyswitch']}, + ], [ + {species: 'Pichu', moves: ['swordsdance']}, + ]]); + + battle.makeChoices(); + assert(battle.log.some(line => line.includes('|-fail|')), `It should fail in singles`); + + battle = common.createBattle({gameType: 'multi'}, [[ + {species: 'Wynaut', moves: ['allyswitch']}, + ], [ + {species: 'Cubone', moves: ['swordsdance']}, + ], [ + {species: 'Marowak', moves: ['swordsdance']}, + ], [ + {species: 'Shaymin', moves: ['swordsdance']}, + ]]); + + battle.makeChoices(); + assert(battle.log.some(line => line.includes('|-fail|')), `It should fail in multis`); + + battle = common.createBattle({gameType: 'freeforall'}, [[ + {species: 'wynaut', moves: ['allyswitch']}, + ], [ + {species: 'scyther', moves: ['swordsdance']}, + ], [ + {species: 'scizor', moves: ['swordsdance']}, + ], [ + {species: 'shaymin', moves: ['swordsdance']}, + ]]); + + battle.makeChoices(); + assert(battle.log.some(line => line.includes('|-fail|')), `It should fail in FFAs`); + }); + + it(`should have a chance to fail when used successively`, function () { + battle = common.createBattle({gameType: 'doubles', forceRandomChance: false}, [[ + {species: 'Primeape', moves: ['sleeptalk']}, + {species: 'Wynaut', moves: ['allyswitch']}, + ], [ + {species: 'Dreepy', moves: ['sleeptalk']}, + {species: 'Pichu', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices(); + battle.makeChoices(); + + const wynaut = battle.p1.active[0]; + assert.species(wynaut, 'Wynaut'); + }); + + it(`[Gen 8] should not have a chance to fail when used successively`, function () { + battle = common.gen(8).createBattle({gameType: 'doubles', forceRandomChance: false}, [[ + {species: 'Primeape', moves: ['sleeptalk']}, + {species: 'Wynaut', moves: ['allyswitch']}, + ], [ + {species: 'Dreepy', moves: ['sleeptalk']}, + {species: 'Pichu', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices(); + battle.makeChoices(); + + const wynaut = battle.p1.active[1]; + assert.species(wynaut, 'Wynaut'); + }); + + it(`should not use the protection counter when determining if the move should fail`, function () { + battle = common.createBattle({gameType: 'doubles', forceRandomChance: false}, [[ + {species: 'Primeape', moves: ['calmmind']}, + {species: 'Wynaut', moves: ['allyswitch', 'protect']}, + ], [ + {species: 'Dreepy', moves: ['calmmind']}, + {species: 'Pichu', moves: ['calmmind']}, + ]]); + + battle.makeChoices('move calmmind, move allyswitch', 'auto'); + battle.makeChoices('move protect, move calmmind', 'auto'); + battle.makeChoices('move allyswitch, move calmmind', 'auto'); + battle.makeChoices('move calmmind, move protect', 'auto'); + + assert(battle.log.every(line => !line.startsWith('|-fail'))); + }); +}); diff --git a/test/sim/moves/burningbulwark.js b/test/sim/moves/burningbulwark.js new file mode 100644 index 000000000000..c6e46609e952 --- /dev/null +++ b/test/sim/moves/burningbulwark.js @@ -0,0 +1,37 @@ +'use strict'; + +const assert = require('../../assert'); +const common = require('../../common'); + +let battle; + +describe('Burning Bulwark', function () { + afterEach(() => battle.destroy()); + + it(`should burn the user of a contact move`, function () { + battle = common.createBattle([ + [{species: "Gallade", ability: 'justified', moves: ['tackle']}], + [{species: "Entei", ability: 'innerfocus', moves: ['burningbulwark']}], + ]); + battle.makeChoices(); + assert.equal(battle.p1.active[0].status, 'brn', 'Gallade should be burned when using contact move'); + }); + + it(`should not burn the user of a contact move if user has protective pads`, function () { + battle = common.createBattle([ + [{species: "Gallade", item: 'protectivepads', ability: 'justified', moves: ['tackle']}], + [{species: "Entei", ability: 'innerfocus', moves: ['burningbulwark']}], + ]); + battle.makeChoices(); + assert.equal(battle.p1.active[0].status, '', 'Gallade should not be burned when using contact move due to protective pads'); + }); + + it(`should not burn the user of a non-contact move`, function () { + battle = common.createBattle([ + [{species: "Ogerpon-Wellspring", ability: 'Water Absorb', moves: ['ivycudgel']}], + [{species: "Entei", ability: 'innerfocus', moves: ['burningbulwark']}], + ]); + battle.makeChoices(); + assert.equal(battle.p1.active[0].status, '', 'Ogerpon-Wellspring should not be burned when using non-contact move'); + }); +}); diff --git a/test/sim/moves/courtchange.js b/test/sim/moves/courtchange.js new file mode 100644 index 000000000000..fc47f74e14ea --- /dev/null +++ b/test/sim/moves/courtchange.js @@ -0,0 +1,58 @@ +'use strict'; + +const assert = require('./../../assert'); +const common = require('./../../common'); + +let battle; + +describe(`Court Change`, function () { + afterEach(function () { + battle.destroy(); + }); + + it(`should swap certain side conditions to the opponent's side and vice versa`, function () { + battle = common.createBattle([[ + {species: 'wynaut', moves: ['sleeptalk', 'stealthrock', 'lightscreen']}, + ], [ + {species: 'cinderace', moves: ['courtchange', 'tailwind', 'safeguard']}, + ]]); + battle.makeChoices('move stealthrock', 'move tailwind'); + battle.makeChoices('move lightscreen', 'move safeguard'); + battle.makeChoices('move sleeptalk', 'move courtchange'); + + assert(!!battle.p1.sideConditions['tailwind']); + assert(!!battle.p1.sideConditions['safeguard']); + assert(!!battle.p1.sideConditions['stealthrock']); + assert(!!battle.p2.sideConditions['lightscreen']); + }); + + it(`should allow Sticky Web to trigger Defiant when set by the Defiant user's team`, function () { + battle = common.createBattle([[ + {species: 'cinderace', moves: ['courtchange', 'stickyweb', 'sleeptalk']}, + {species: 'pawniard', ability: 'defiant', moves: ['sleeptalk']}, + ], [ + {species: 'wynaut', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move stickyweb', 'auto'); + battle.makeChoices('move courtchange', 'auto'); + battle.makeChoices('switch 2', 'auto'); + + assert(!!battle.p1.sideConditions['stickyweb']); + assert.statStage(battle.p1.active[0], 'atk', 2); + }); + + it(`[Gen 8] should not allow Sticky Web to trigger Defiant when set by the Defiant user's team`, function () { + battle = common.gen(8).createBattle([[ + {species: 'cinderace', moves: ['courtchange', 'stickyweb', 'sleeptalk']}, + {species: 'pawniard', ability: 'defiant', moves: ['sleeptalk']}, + ], [ + {species: 'wynaut', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move stickyweb', 'auto'); + battle.makeChoices('move courtchange', 'auto'); + battle.makeChoices('switch 2', 'auto'); + + assert(!!battle.p1.sideConditions['stickyweb']); + assert.statStage(battle.p1.active[0], 'atk', 0); + }); +}); diff --git a/test/sim/moves/doodle.js b/test/sim/moves/doodle.js new file mode 100644 index 000000000000..eae73c314982 --- /dev/null +++ b/test/sim/moves/doodle.js @@ -0,0 +1,52 @@ +'use strict'; + +const assert = require('./../../assert'); +const common = require('./../../common'); + +let battle; + +describe('Doodle', function () { + afterEach(function () { + battle.destroy(); + }); + + it(`should replace the Abilities of the user and its ally with the Ability of its target`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'wynaut', ability: 'shadowtag', moves: ['doodle']}, + {species: 'ironhands', ability: 'quarkdrive', moves: ['sleeptalk']}, + ], [ + {species: 'clefable', ability: 'magicguard', moves: ['sleeptalk']}, + {species: 'mudkip', ability: 'torrent', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move doodle 1, auto', 'auto'); + assert.equal(battle.p1.active[0].ability, 'magicguard'); + assert.equal(battle.p1.active[1].ability, 'magicguard'); + }); + + it(`should fail against certain Abilities`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'wynaut', ability: 'shadowtag', moves: ['doodle']}, + {species: 'ironhands', ability: 'quarkdrive', moves: ['sleeptalk']}, + ], [ + {species: 'fluttermane', ability: 'protosynthesis', moves: ['sleeptalk']}, + {species: 'mudkip', ability: 'torrent', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move doodle 1, auto', 'auto'); + assert.equal(battle.p1.active[0].ability, 'shadowtag'); + assert.equal(battle.p1.active[1].ability, 'quarkdrive'); + }); + + it(`should not fail if only the user has an unreplaceable Ability`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'komala', ability: 'comatose', moves: ['doodle']}, + {species: 'wynaut', ability: 'shadowtag', moves: ['swordsdance']}, + ], [ + {species: 'clefable', ability: 'magicguard', moves: ['swordsdance']}, + {species: 'mudkip', ability: 'torrent', moves: ['swordsdance']}, + ]]); + battle.makeChoices('move doodle 1, auto', 'auto'); + assert.equal(battle.p1.active[0].ability, 'comatose'); + assert.equal(battle.p1.active[1].ability, 'magicguard'); + assert.false(battle.log.some(line => line.includes('|-fail'))); + }); +}); diff --git a/test/sim/moves/dragoncheer.js b/test/sim/moves/dragoncheer.js new file mode 100644 index 000000000000..7996b4ba96f4 --- /dev/null +++ b/test/sim/moves/dragoncheer.js @@ -0,0 +1,109 @@ +'use strict'; + +const assert = require('../../assert'); +const common = require('../../common'); + +let battle; + +/** + * Test setup: + * - Let the Dragon Cheer receiver be the slowest Pokemon on the field. + * - Inspect the critical hit ratio added. Ratio will be 1 + bonusCritRatio. + * + * All tests based on confirmations given here: https://www.smogon.com/forums/threads/scarlet-violet-battle-mechanics-research.3709545/post-9894139 + */ +describe('Dragon Cheer', function () { + afterEach(() => battle.destroy()); + + it('should raise critical hit ratio by 2 stages for dragon types', function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'dragapult', moves: ['dragoncheer']}, + {species: 'kingdra', moves: ['bubble']}, + ], [ + {species: 'dragapult', moves: ['splash']}, + {species: 'dragapult', moves: ['splash']}, + ]]); + + battle.onEvent( + 'ModifyCritRatio', battle.format, -99, + (critRatio) => assert.equal(critRatio, 3) + ); + + battle.makeChoices('auto', 'auto'); + assert(battle.log.some(line => line.startsWith('|-start'))); + }); + + it('should raise critical hit ratio by 1 stage for non-dragon types', function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'dragapult', moves: ['dragoncheer']}, + {species: 'horsea', moves: ['bubble']}, + ], [ + {species: 'dragapult', moves: ['splash']}, + {species: 'dragapult', moves: ['splash']}, + ]]); + + battle.onEvent( + 'ModifyCritRatio', battle.format, -99, + (critRatio) => assert.equal(critRatio, 2) + ); + + battle.makeChoices('auto', 'auto'); + assert(battle.log.some(line => line.startsWith('|-start'))); + }); + + it('should fail if used twice on the same ally', function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'dragapult', moves: ['dragoncheer']}, + {species: 'kingdra', moves: ['bubble']}, + ], [ + {species: 'dragapult', moves: ['splash']}, + {species: 'dragapult', moves: ['splash']}, + ]]); + + battle.makeChoices('auto', 'auto'); + battle.makeChoices('auto', 'auto'); + assert(battle.log.some(line => line.startsWith('|-start'))); // first trigger + assert(battle.log.some(line => line.startsWith('|-fail'))); // second trigger + }); + + it('should not proc throat spray (is not a sound-based move)', function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'dragapult', item: 'throatspray', moves: ['dragoncheer']}, + {species: 'kingdra', moves: ['splash']}, + ], [ + {species: 'dragapult', moves: ['splash']}, + {species: 'dragapult', moves: ['splash']}, + ]]); + + battle.makeChoices('auto', 'auto'); + assert(battle.log.every(line => !line.startsWith('|-activate'))); + }); + + it('should not increase ratio if affected Pokemon turns into a Dragon Type after Dragon Cheer', function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'dragapult', moves: ['dragoncheer', 'splash']}, + {species: 'horsea', moves: ['bubble'], teraType: 'Dragon'}, + ], [ + {species: 'dragapult', moves: ['splash']}, + {species: 'dragapult', moves: ['splash']}, + ]]); + + battle.onEvent( + 'ModifyCritRatio', battle.format, -99, + (critRatio) => assert.equal(critRatio, 2) + ); + + battle.makeChoices('move dragoncheer -2, move bubble', 'auto'); + battle.makeChoices('move splash, move bubble terastallize', 'auto'); + }); + + it('should fail in singles or if no ally exists', function () { + battle = common.createBattle([ + [{species: 'gyarados', moves: ['dragoncheer']}], + [{species: 'dragapult', moves: ['splash']}], + ]); + + battle.makeChoices(); + assert(battle.log.some(line => !line.startsWith('|-fail'))); + }); +}); diff --git a/test/sim/moves/dragondarts.js b/test/sim/moves/dragondarts.js index d98b6d0ee5bb..dda3e76f5e8a 100644 --- a/test/sim/moves/dragondarts.js +++ b/test/sim/moves/dragondarts.js @@ -147,6 +147,7 @@ describe('Dragon Darts', function () { assert.notEqual(battle.p2.active[0].hp, battle.p2.active[0].maxhp); assert.equal(battle.p2.active[1].hp, battle.p2.active[1].maxhp); assert.statStage(battle.p2.active[0], 'def', 2); + // Dragon Darts activates the absorption effect despite hitting Arcanine twice assert.statStage(battle.p2.active[1], 'spe', 1); }); @@ -157,12 +158,12 @@ describe('Dragon Darts', function () { {species: "Ludicolo", ability: "Dancer", moves: ["sleeptalk"]}, ]}); battle.setPlayer('p2', {team: [ - {species: "Arcanine", ability: "Flash Fire", moves: ["sleeptalk"]}, + {species: "Arcanine", ability: "Stamina", moves: ["sleeptalk"]}, {species: "Clefairy", ability: "Ripen", moves: ["sleeptalk"]}, ]}); battle.makeChoices('move dragondarts 2, move sleeptalk', 'move sleeptalk, move sleeptalk'); - assert.notEqual(battle.p2.active[0].hp, battle.p2.active[0].maxhp); + assert.statStage(battle.p2.active[0], 'def', 2); assert.equal(battle.p2.active[1].hp, battle.p2.active[1].maxhp); }); @@ -173,12 +174,12 @@ describe('Dragon Darts', function () { {species: "Ludicolo", ability: "Dancer", moves: ["sleeptalk"]}, ]}); battle.setPlayer('p2', {team: [ - {species: "Arcanine", ability: "Flash Fire", moves: ["sleeptalk"]}, + {species: "Arcanine", ability: "Stamina", moves: ["sleeptalk"]}, {species: "Golurk", ability: "Ripen", moves: ["phantomforce"]}, ]}); battle.makeChoices('move dragondarts 2, move sleeptalk', 'move sleeptalk, move phantomforce 1'); - assert.notEqual(battle.p2.active[0].hp, battle.p2.active[0].maxhp); + assert.statStage(battle.p2.active[0], 'def', 2); assert.equal(battle.p2.active[1].hp, battle.p2.active[1].maxhp); }); @@ -189,17 +190,34 @@ describe('Dragon Darts', function () { {species: "Ludicolo", ability: "Dancer", moves: ["sleeptalk"]}, ]}); battle.setPlayer('p2', {team: [ - {species: "Arcanine", ability: "Flash Fire", moves: ["sleeptalk"]}, + {species: "Arcanine", ability: "Stamina", moves: ["sleeptalk"]}, {species: "Snom", ability: "Ripen", moves: ["sleeptalk"]}, ]}); battle.p2.active[1].faint(); battle.makeChoices('move dragondarts 2, move sleeptalk', 'move sleeptalk, move sleeptalk'); - assert.notEqual(battle.p2.active[0].hp, battle.p2.active[0].maxhp); + assert.statStage(battle.p2.active[0], 'def', 2); assert.equal(battle.p2.active[1].hp, 0); }); + it('should hit one target twice if the other is Dark type and Dragon Darts is Prankster boosted', function () { + battle = common.createBattle({gameType: 'doubles'}); + battle.setPlayer('p1', {team: [ + {species: "Dragapult", ability: "Clear Body", moves: ["sleeptalk", "dragondarts"]}, + {species: "Liepard", ability: "Prankster", moves: ["assist"]}, + ]}); + battle.setPlayer('p2', {team: [ + {species: "Arcanine", ability: "Stamina", moves: ["sleeptalk"]}, + {species: "Spiritomb", ability: "Infiltrator", moves: ["sleeptalk"]}, + ]}); + + battle.makeChoices(); + + assert.statStage(battle.p2.active[0], 'def', 2); + assert.equal(battle.p2.active[1].hp, battle.p2.active[1].maxhp); + }); + it('should fail if both targets are fainted', function () { battle = common.createBattle({gameType: 'doubles'}); battle.setPlayer('p1', {team: [ diff --git a/test/sim/moves/encore.js b/test/sim/moves/encore.js index 280a940769b6..0faaa571cd67 100644 --- a/test/sim/moves/encore.js +++ b/test/sim/moves/encore.js @@ -10,6 +10,55 @@ describe('Encore', function () { battle.destroy(); }); + it(`should cause the target to be forced to repeat its move`, function () { + battle = common.createBattle([[ + {species: 'slowbro', moves: ['tackle', 'irondefense']}, + ], [ + {species: 'whimsicott', moves: ['encore', 'sleeptalk']}, + ]]); + + const whims = battle.p2.active[0]; + battle.makeChoices('move irondefense', 'move sleeptalk'); + battle.makeChoices('move tackle', 'move encore'); + + assert.fullHP(whims); + assert.cantMove(() => battle.choose('p1', 'move tackle')); + }); + + it(`should cause the target to move with its Encored attack at the priority of the originally selected move once`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'regieleki', moves: ['sleeptalk', 'substitute']}, + {species: 'pichu', moves: ['sleeptalk']}, + ], [ + {species: 'whimsicott', ability: 'prankster', moves: ['sleeptalk', 'encore']}, + {species: 'terrakion', moves: ['quickattack', 'headlongrush']}, + ]]); + + const eleki = battle.p1.active[0]; + battle.makeChoices('auto', 'move sleeptalk, move headlongrush 2'); + battle.makeChoices('move substitute', 'move encore -2, move quickattack 1'); + + assert.fainted(eleki, `Encore + Quick Attack being selected gives Headlong Rush priority.`); + }); + + it.skip(`should cause the target to move with its Encored attack at the priority of the originally selected move once and get blocked when appropriate`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'regieleki', moves: ['psychicterrain']}, + {species: 'pichu', moves: ['sleeptalk']}, + ], [ + {species: 'whimsicott', ability: 'prankster', moves: ['sleeptalk', 'encore']}, + {species: 'terrakion', moves: ['quickattack', 'headlongrush']}, + ]]); + + const eleki = battle.p1.active[0]; + battle.makeChoices('auto', 'move sleeptalk, move headlongrush 2'); + battle.makeChoices('auto', 'move encore -2, move quickattack 1'); + assert.false.fainted(eleki, `Psychic Terrain should have prevented the priority Headlong Rush from doing damage.`); + + battle.makeChoices(); + assert.fainted(eleki, `Headlong Rush should no longer be moving with priority.`); + }); + it('should not affect Focus Punch if the the user\'s decision is not changed', function () { battle = common.createBattle({gameType: 'doubles'}, [ [ diff --git a/test/sim/moves/mefirst.js b/test/sim/moves/mefirst.js index 16191034882a..e96192e40886 100644 --- a/test/sim/moves/mefirst.js +++ b/test/sim/moves/mefirst.js @@ -10,7 +10,19 @@ describe(`Me First`, function () { battle.destroy(); }); - it(`Me First should fail to copy recharge turns from moves like Hyper Beam`, function () { + it(`should be selectable even if the user is Taunted or holds Assault Vest`, function () { + battle = common.gen(7).createBattle([[ + {species: 'corphish', moves: ['sleeptalk']}, + {species: 'aerodactyl', item: 'assaultvest', moves: ['mefirst']}, + ], [ + {species: 'wynaut', moves: ['taunt', 'watergun']}, + ]]); + battle.makeChoices('switch 2', 'move taunt'); + battle.makeChoices('move mefirst', 'move watergun'); + assert.false.fullHP(battle.p2.active[0]); + }); + + it(`should not copy recharge turns from moves like Hyper Beam`, function () { battle = common.gen(7).createBattle([[ {species: 'aerodactyl', moves: ['sleeptalk', 'mefirst']}, ], [ diff --git a/test/sim/moves/mightycleave.js b/test/sim/moves/mightycleave.js new file mode 100644 index 000000000000..cd8efaa35bac --- /dev/null +++ b/test/sim/moves/mightycleave.js @@ -0,0 +1,20 @@ +'use strict'; + +const assert = require('../../assert'); +const common = require('../../common'); + +let battle; + +describe('Mighty Cleave', function () { + afterEach(() => battle.destroy()); + + it(`should go through Protect`, function () { + battle = common.createBattle([ + [{species: "Terrakion", ability: 'justified', moves: ['mightycleave']}], + [{species: "Entei", ability: 'innerfocus', moves: ['protect']}], + ]); + battle.makeChoices(); + const damage = battle.p2.active[0].maxhp - battle.p2.active[0].hp; + assert.notEqual(damage, 0, `Entei should have taken damage`); + }); +}); diff --git a/test/sim/moves/ragefist.js b/test/sim/moves/ragefist.js index 59e77adafa6b..a70e6d97e99d 100644 --- a/test/sim/moves/ragefist.js +++ b/test/sim/moves/ragefist.js @@ -98,4 +98,21 @@ describe('Rage Fist', function () { battle.makeChoices('move pollenpuff -2, move bellydrum', 'auto'); assert.equal(annihilape.timesAttacked, 0, `timesAttacked should not have incremented after a not-full HP Pollen Puff`); }); + + it(`should increase BP when hit by Dragon Darts`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'Primeape', moves: ['sleeptalk', 'ragefist']}, + {species: 'Wynaut', moves: ['sleeptalk', 'allyswitch']}, + ], [ + {species: 'Dreepy', moves: ['dragondarts']}, + {species: 'Pichu', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices('auto', 'move dragondarts 1, move sleeptalk'); + const primeape = battle.p1.active[1]; + assert.equal(primeape.timesAttacked, 1, `timesAttacked should have been increased by Dragon Darts targeting the left slot`); + + battle.makeChoices('move sleeptalk, move allyswitch', 'move dragondarts 1, move sleeptalk'); + assert.equal(primeape.timesAttacked, 2, `timesAttacked should have been increased by Dragon Darts targeting the right slot`); + }); }); diff --git a/test/sim/moves/tarshot.js b/test/sim/moves/tarshot.js index 742bf4051aa5..42ce624ff108 100644 --- a/test/sim/moves/tarshot.js +++ b/test/sim/moves/tarshot.js @@ -50,24 +50,41 @@ describe('Tar Shot', function () { assert.bounded(damage, [62, 74]); }); - it('should make the target weaker to fire', function () { - battle = common.createBattle(); - battle.setPlayer('p1', {team: [{species: 'Coalossal', ability: 'steamengine', moves: ['tarshot', 'flamecharge']}]}); - battle.setPlayer('p2', {team: [{species: 'Snorlax', ability: 'thickfat', item: 'occaberry', moves: ['rest']}]}); - battle.makeChoices('move tarshot', 'move rest'); - battle.makeChoices('move flamecharge', 'move rest'); - assert.equal(battle.p2.active[0].item, ''); + it(`should add a Fire-type weakness, not make the target 2x weaker to Fire`, function () { + battle = common.createBattle([[ + {species: 'wynaut', moves: ['tarshot', 'flamecharge']}, + ], [ + {species: 'ferrothorn', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move tarshot', 'auto'); + battle.makeChoices('move flamecharge', 'auto'); + const ferro = battle.p2.active[0]; + const damage = ferro.maxhp - ferro.hp; + assert.bounded(damage, [88, 104]); + }); + + it(`should not remove the Tar Shot status when a Pokemon Terastallizes`, function () { + battle = common.createBattle([[ + {species: 'wynaut', moves: ['tarshot', 'flamecharge']}, + ], [ + {species: 'snorlax', item: 'weaknesspolicy', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move tarshot', 'auto'); + battle.makeChoices('move flamecharge', 'move sleeptalk terastallize'); + const lax = battle.p2.active[0]; + assert.statStage(lax, 'atk', 2, `Weakness Policy should have activated`); }); - it('should not make the target over 2x weaker to fire', function () { - battle = common.createBattle(); - battle.setPlayer('p1', {team: [{species: 'Coalossal', ability: 'steamengine', item: 'occaberry', moves: ['tarshot', 'flamecharge']}]}); - battle.setPlayer('p2', {team: [{species: 'Ferrothorn', ability: 'ironbarbs', moves: ['rest', 'trick']}]}); - battle.makeChoices('move flamecharge', 'move trick'); - assert.notEqual(battle.p1.active[0].hp, 0); - // Ferrothorn now has the Occa Berry, cancelling out Tar Shot - battle.makeChoices('move tarshot', 'move rest'); - battle.makeChoices('move flamecharge', 'move rest'); - assert.notEqual(battle.p1.active[0].hp, 0); + it(`should prevent a Terastallized Pokemon from being afflicted with the Tar Shot status`, function () { + battle = common.createBattle([[ + {species: 'wynaut', moves: ['tarshot', 'flamecharge']}, + ], [ + {species: 'snorlax', item: 'weaknesspolicy', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move tarshot', 'move sleeptalk terastallize'); + battle.makeChoices('move flamecharge', 'auto'); + const lax = battle.p2.active[0]; + assert.statStage(lax, 'atk', 0, `Weakness Policy should not have activated`); + assert.statStage(lax, 'spe', -1, `Snorlax's Speed should have been lowered`); }); }); diff --git a/test/sim/moves/terablast.js b/test/sim/moves/terablast.js new file mode 100644 index 000000000000..9bb48d7384f9 --- /dev/null +++ b/test/sim/moves/terablast.js @@ -0,0 +1,63 @@ +'use strict'; + +const assert = require('./../../assert'); +const common = require('./../../common'); + +describe('Tera Blast', function () { + it(`should be a special attack when base stats are tied`, function () { + const battle = common.createBattle([[ + // Regidrago has equal base attack and special attack stats. + {species: 'regidrago', ability: 'dragonsmaw', moves: ['terablast']}, + ], [ + {species: 'regirock', ability: 'clearbody', moves: ['protect']}, + ]]); + battle.makeChoices('move terablast terastallize', 'move protect'); + + assert.equal(battle.p1.pokemon[0].lastMove.category, 'Special'); + }); + + it(`should be a physical attack when terastallized with higher attack stat`, function () { + const battle = common.createBattle([[ + // Regidrago has equal base attack and special attack stats. + {species: 'regidrago', ability: 'dragonsmaw', moves: ['terablast', 'dragondance']}, + ], [ + {species: 'regirock', ability: 'clearbody', moves: ['protect']}, + ]]); + // Dragon Dance boosts Regidrago's attack stat. + battle.makeChoices('move dragondance', 'move protect'); + battle.makeChoices('move terablast terastallize', 'move protect'); + + assert.equal(battle.p1.pokemon[0].lastMove.category, 'Physical'); + }); + + it(`should be a special attack when not terastallized, even if attack stat is higher`, function () { + const battle = common.createBattle([[ + // Regidrago has equal base attack and special attack stats. + {species: 'regidrago', ability: 'dragonsmaw', moves: ['terablast', 'dragondance']}, + ], [ + {species: 'regirock', ability: 'clearbody', moves: ['protect']}, + ]]); + // Dragon Dance boosts Regidrago's attack stat. + battle.makeChoices('move dragondance', 'move protect'); + // However, Regidrago is not terastallized when using Tera Blast. + battle.makeChoices('move terablast', 'move protect'); + + assert.equal(battle.p1.pokemon[0].lastMove.category, 'Special'); + }); + + // Skipped until https://github.com/smogon/pokemon-showdown/issues/9381 is fixed. + it.skip(`should be a special attack when terastallized even if target ignores stat changes`, function () { + const battle = common.createBattle([[ + // Regidrago has equal base attack and special attack stats. + {species: 'regidrago', ability: 'dragonsmaw', moves: ['terablast', 'dragondance']}, + ], [ + // Dondozo's Unaware should not affect Tera Blast's category. + {species: 'dondozo', ability: 'unaware', moves: ['splash']}, + ]]); + // Dragon Dance boosts Regidrago's attack stat. + battle.makeChoices('move dragondance', 'move splash'); + battle.makeChoices('move terablast terastallize', 'move splash'); + + assert.equal(battle.p1.pokemon[0].lastMove.category, 'Physical'); + }); +}); diff --git a/test/sim/moves/terastarstorm.js b/test/sim/moves/terastarstorm.js new file mode 100644 index 000000000000..b281337c4cfe --- /dev/null +++ b/test/sim/moves/terastarstorm.js @@ -0,0 +1,55 @@ +'use strict'; + +const assert = require('assert').strict; +const common = require('./../../common'); + +let battle; + +describe(`Tera Starstorm`, function () { + afterEach(function () { + battle.destroy(); + }); + + it(`should be a physical attack when terastallized with higher attack stat and the user is Terapagos-Stellar`, function () { + battle = common.createBattle([[ + {species: 'terapagos', evs: {atk: 252}, ability: 'terashift', moves: ['terastarstorm'], teraType: 'Stellar'}, + ], [ + {species: 'regirock', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices('move terastarstorm terastallize', 'auto'); + assert.equal(battle.p1.pokemon[0].lastMove.category, 'Physical'); + }); + + it(`should be a spread move when the user is Terapagos-Stellar`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'terapagos', ability: 'terashift', moves: ['terastarstorm'], teraType: 'Stellar'}, + {species: 'pichu', moves: ['sleeptalk']}, + ], [ + {species: 'regirock', moves: ['sleeptalk']}, + {species: 'registeel', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices('move terastarstorm -2 terastallize, move sleeptalk', 'auto'); + + assert.fullHP(battle.p1.active[1]); + assert.false.fullHP(battle.p2.active[0]); + assert.false.fullHP(battle.p2.active[1]); + }); + + it(`should only get its unique properties while the user is Terapagos-Stellar`, function () { + battle = common.createBattle({gameType: 'doubles'}, [[ + {species: 'incineroar', moves: ['terastarstorm'], teraType: 'Stellar'}, + {species: 'pichu', moves: ['sleeptalk']}, + ], [ + {species: 'mismagius', moves: ['sleeptalk']}, + {species: 'registeel', moves: ['sleeptalk']}, + ]]); + + battle.makeChoices('move terastarstorm 1 terastallize, move sleeptalk', 'auto'); + + assert.fullHP(battle.p2.active[0]); + assert.fullHP(battle.p2.active[1]); + assert.equal(battle.p1.pokemon[0].lastMove.category, 'Special'); + }); +}); diff --git a/test/sim/moves/transform.js b/test/sim/moves/transform.js index 0563c90a1dcd..dc1fa9a451a0 100644 --- a/test/sim/moves/transform.js +++ b/test/sim/moves/transform.js @@ -229,6 +229,16 @@ describe('Transform', function () { assert.false(battle.p1.active[0].transformed); assert.cantMove(() => battle.choose('p1', 'move transform terastallize')); }); + + it(`should not work if the user is Tera Stellar`, function () { + battle = common.createBattle([[ + {species: 'Ditto', ability: 'limber', moves: ['transform'], teraType: 'Stellar'}, + ], [ + {species: 'Wynaut', moves: ['sleeptalk']}, + ]]); + battle.makeChoices('move transform terastallize', 'auto'); + assert.false(battle.p1.active[0].transformed); + }); }); describe('Transform [Gen 5]', function () { diff --git a/test/sim/team-validator/breeding.js b/test/sim/team-validator/breeding.js index 9b87726f2d47..a39178c7d324 100644 --- a/test/sim/team-validator/breeding.js +++ b/test/sim/team-validator/breeding.js @@ -228,4 +228,19 @@ describe('Team Validator', function () { ]; assert.false.legalTeam(team, 'gen7anythinggoes'); }); + + it('should allow egg moves on event formes in Gen 9', function () { + team = [ + {species: 'ursalunabloodmoon', ability: 'mindseye', moves: ['yawn', 'bellydrum'], evs: {hp: 1}}, + {species: 'greninjabond', ability: 'battlebond', moves: ['counter', 'switcheroo'], evs: {hp: 1}}, + ]; + assert.legalTeam(team, 'gen9anythinggoes'); + }); + + it('should not allow egg moves on event formes before Gen 9', function () { + team = [ + {species: 'greninjabond', ability: 'battlebond', moves: ['toxicspikes'], evs: {hp: 1}}, + ]; + assert.false.legalTeam(team, 'gen7anythinggoes'); + }); }); diff --git a/test/sim/team-validator/events.js b/test/sim/team-validator/events.js index e473a8ca3447..e3c1a75d322a 100644 --- a/test/sim/team-validator/events.js +++ b/test/sim/team-validator/events.js @@ -149,4 +149,13 @@ describe('Team Validator', function () { ]; assert.false.legalTeam(team, 'gen7anythinggoes'); }); + + it.skip('should allow evolved Pokemon obtainable from events at lower levels than they could otherwise be obtained', function () { + const team = [ + {species: 'dragonite', ability: 'innerfocus', moves: ['dracometeor'], evs: {hp: 1}, level: 50}, + {species: 'magmar', ability: 'flamebody', moves: ['ember'], evs: {hp: 1}, level: 10}, + {species: 'electivire', ability: 'motordrive', moves: ['quickattack'], evs: {hp: 1}, level: 10}, + ]; + assert.legalTeam(team, 'gen4ou'); + }); }); diff --git a/test/sim/team-validator/formes.js b/test/sim/team-validator/formes.js index 1c5c39126d28..adced61d592b 100644 --- a/test/sim/team-validator/formes.js +++ b/test/sim/team-validator/formes.js @@ -112,4 +112,16 @@ describe('Team Validator', function () { ]; assert.false.legalTeam(team, 'gen9almostanyability'); }); + + it('should validate Unown formes in Gen 2 based on DVs', () => { + team = [ + {species: 'unowng', moves: ['hiddenpower'], ivs: {hp: 12, atk: 20, def: 18, spa: 28, spd: 28, spe: 2}}, + ]; + assert.legalTeam(team, 'gen2ou'); + + team = [ + {species: 'unown', moves: ['hiddenpower'], ivs: {hp: 0, atk: 4, def: 4, spa: 4, spd: 4, spe: 4}}, + ]; + assert.false.legalTeam(team, 'gen2ou'); + }); }); diff --git a/translations/french/main.ts b/translations/french/main.ts index 4dede42a0629..170d96ec11cc 100644 --- a/translations/french/main.ts +++ b/translations/french/main.ts @@ -16,7 +16,7 @@ export const translations: Translations = { "§ Section Leader - They oversee rooms in a particular section": "§ Section Leader - Ils supervisent les rooms d'une section donnée", "% Global Driver - Like Voice, and they can lock users and check for alts": "% Global Driver - Comme ci-dessus, en plus de pouvoir lock certains utilisateurs et vérifier leurs éventuels autres comptes", "@ Global Moderator - The above, and they can globally ban users": "@ Global Moderator - Comme ci-dessus, en plus de pouvoir bannir des utilisateurs du site", - "* Global Bot - Like Moderator, but makes it clear that this user is a bot": "* Global Bot - Mêmes pouvoirs que les Global Moderators, mais sont des bots", + "* Global Bot - An automated account that can use HTML anywhere": "* Global Bot - Un compte automatisé qui peut utiliser le HTML n'importe où", "& Global Administrator - They can do anything, like change what this message says and promote users globally": "& Global Administrator - Ils peuvent tout faire, comme changer ce que ce message affiche", "Room ranks": "Rangs des rooms", @@ -24,7 +24,7 @@ export const translations: Translations = { "+ Voice - They can use ! commands like !groups": "+ Voice - Ils peuvent utiliser les commandes commençant par ! telles que !groups", "% Driver - The above, and they can mute and warn": "% Driver - Comme ci-dessus, en plus de pouvoir mute et warn", "@ Moderator - The above, and they can room ban users": "@ Moderator - Comme ci-dessus, en plus de pouvoir bannir un utilisateur de la room", - "* Bot - Like Moderator, but makes it clear that this user is a bot": "* Bot - Comme les Moderators, mais sont des bots", + "* Bot - An automated account that can mute, warn, and use HTML": "* Bot - Un compte automatisé qui peut mute, warn et utiliser le HTML", "# Room Owner - They are leaders of the room and can almost totally control it": "# Room Owner - Ce sont les chefs de la room et ils peuvent la contrôler quasiment en totalité", "/help OR /h OR /? - Gives you help.": "Te donne de l'aide.", diff --git a/tsconfig.json b/tsconfig.json index 1c921870f551..f0cd522688e5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,6 +15,7 @@ "incremental": true, "allowUnreachableCode": false, "esModuleInterop": true, + "noImplicitOverride": false, "useDefineForClassFields": false }, "types": ["node"], @@ -26,6 +27,7 @@ "./config/*.ts", "./data/*", "./data/text/*", + "./data/random-battles/**/*", "./data/mods/*/*", "./dev-tools/*.ts", "./lib/*.ts",